#include "third_party/blink/renderer/modules/indexeddb/idb_open_db_request.h"
#include <memory>
#include <optional>
#include <utility>
#include "base/metrics/histogram_macros.h"
#include "third_party/blink/renderer/core/dom/dom_exception.h"
#include "third_party/blink/renderer/core/execution_context/execution_context.h"
#include "third_party/blink/renderer/core/probe/core_probes.h"
#include "third_party/blink/renderer/modules/indexeddb/idb_database.h"
#include "third_party/blink/renderer/modules/indexeddb/idb_version_change_event.h"
#include "third_party/blink/renderer/platform/heap/garbage_collected.h"
#include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h"
namespace blink {
IDBOpenDBRequest::IDBOpenDBRequest(
ScriptState* script_state,
mojo::PendingAssociatedReceiver<mojom::blink::IDBDatabaseCallbacks>
callbacks_receiver,
IDBTransaction::TransactionMojoRemote transaction_remote,
int64_t transaction_id,
int64_t version,
IDBRequest::AsyncTraceState metrics,
mojo::PendingRemote<mojom::blink::ObservedFeature> connection_lifetime)
: … { … }
IDBOpenDBRequest::~IDBOpenDBRequest() = default;
void IDBOpenDBRequest::Trace(Visitor* visitor) const { … }
void IDBOpenDBRequest::ContextDestroyed() { … }
std::unique_ptr<IDBFactoryClient> IDBOpenDBRequest::CreateFactoryClient() { … }
void IDBOpenDBRequest::FactoryClientDestroyed(
IDBFactoryClient* factory_client) { … }
const AtomicString& IDBOpenDBRequest::InterfaceName() const { … }
void IDBOpenDBRequest::OnBlocked(int64_t old_version) { … }
void IDBOpenDBRequest::OnUpgradeNeeded(
int64_t old_version,
mojo::PendingAssociatedRemote<mojom::blink::IDBDatabase> pending_database,
scoped_refptr<base::SingleThreadTaskRunner> task_runner,
const IDBDatabaseMetadata& metadata,
mojom::blink::IDBDataLoss data_loss,
String data_loss_message) { … }
void IDBOpenDBRequest::OnOpenDBSuccess(
mojo::PendingAssociatedRemote<mojom::blink::IDBDatabase> pending_database,
scoped_refptr<base::SingleThreadTaskRunner> task_runner,
const IDBDatabaseMetadata& metadata) { … }
void IDBOpenDBRequest::OnDeleteDBSuccess(int64_t old_version) { … }
void IDBOpenDBRequest::OnDBFactoryError(DOMException* error) { … }
bool IDBOpenDBRequest::CanStillSendResult() const { … }
DispatchEventResult IDBOpenDBRequest::DispatchEventInternal(Event& event) { … }
}