#[repr(C)]pub struct IDBFactory {
reflector_: Reflector,
connections: DomRefCell<HashMapTracedValues<DBName, HashMapTracedValues<Uuid, Dom<IDBOpenDBRequest>>>>,
indexeddb_transactions: DomRefCell<HashMapTracedValues<DBName, Vec<Dom<IDBTransaction>>>>,
callback: DomRefCell<Option<GenericCallback<ConnectionMsg>>>,
}Fields§
§reflector_: Reflector§connections: DomRefCell<HashMapTracedValues<DBName, HashMapTracedValues<Uuid, Dom<IDBOpenDBRequest>>>>https://www.w3.org/TR/IndexedDB-2/#connection The connections opened through this factory. We store the open request, which contains the connection. TODO: remove when we are sure they are not needed anymore.
indexeddb_transactions: DomRefCell<HashMapTracedValues<DBName, Vec<Dom<IDBTransaction>>>>https://www.w3.org/TR/IndexedDB-3/#transaction Active transactions associated with this factory’s global.
callback: DomRefCell<Option<GenericCallback<ConnectionMsg>>>Implementations§
Source§impl IDBFactory
impl IDBFactory
fn __assert_parent_type(&self)
Source§impl IDBFactory
impl IDBFactory
pub fn new_inherited() -> IDBFactory
pub(crate) fn register_indexeddb_transaction(&self, txn: &IDBTransaction)
pub(crate) fn unregister_indexeddb_transaction(&self, txn: &IDBTransaction)
pub(crate) fn cleanup_indexeddb_transactions(&self) -> bool
pub(crate) fn maybe_commit_txn(&self, db_name: &str, txn_serial: u64)
Sourcepub(crate) fn clear_open_request_transaction_for_txn(
&self,
transaction: &IDBTransaction,
)
pub(crate) fn clear_open_request_transaction_for_txn( &self, transaction: &IDBTransaction, )
https://w3c.github.io/IndexedDB/#dom-idbrequest-transaction Clear IDBOpenDBRequest.transaction once the upgrade transaction is finished.
pub fn new(global: &GlobalScope, can_gc: CanGc) -> DomRoot<IDBFactory>
Sourcefn get_or_setup_callback(&self) -> GenericCallback<ConnectionMsg>
fn get_or_setup_callback(&self) -> GenericCallback<ConnectionMsg>
Setup the callback to the backend service, if this hasn’t been done already.
fn get_request( &self, name: String, request_id: &Uuid, ) -> Option<DomRoot<IDBOpenDBRequest>>
Sourcefn handle_connection_message(&self, response: ConnectionMsg, can_gc: CanGc)
fn handle_connection_message(&self, response: ConnectionMsg, can_gc: CanGc)
https://w3c.github.io/IndexedDB/#open-a-database-connection The steps that continue on the script-thread. This covers interacting with the current open request, as well as with other open connections preventing the request from making progress.
Sourcefn dispatch_error(
&self,
name: String,
request_id: Uuid,
dom_exception: Error,
can_gc: CanGc,
)
fn dispatch_error( &self, name: String, request_id: Uuid, dom_exception: Error, can_gc: CanGc, )
https://w3c.github.io/IndexedDB/#dom-idbfactory-open The error dispatching part from within a task part.
Sourcefn open_database(
&self,
name: DOMString,
version: Option<u64>,
request: &IDBOpenDBRequest,
) -> Result<(), ()>
fn open_database( &self, name: DOMString, version: Option<u64>, request: &IDBOpenDBRequest, ) -> Result<(), ()>
pub(crate) fn abort_pending_upgrades(&self)
Trait Implementations§
Source§impl DomObject for IDBFactory
impl DomObject for IDBFactory
type ReflectorType = ()
Source§fn reflector(&self) -> &Reflector<Self::ReflectorType>
fn reflector(&self) -> &Reflector<Self::ReflectorType>
Source§impl DomObjectWrap<DomTypeHolder> for IDBFactory
impl DomObjectWrap<DomTypeHolder> for IDBFactory
Source§const WRAP: unsafe fn(&mut JSContext, &GlobalScope, Option<HandleObject<'_>>, Box<Self>) -> Root<Dom<Self>> = {script_bindings::codegen::GenericBindings::IDBFactoryBinding::Wrap::<dom::bindings::codegen::DomTypeHolder::DomTypeHolder> as for<'a, 'b, 'c> unsafe fn(&'a mut js::context::JSContext, &'b dom::globalscope::GlobalScope, std::option::Option<js::rust::Handle<'c, *mut js::jsapi::JSObject>>, std::boxed::Box<dom::indexeddb::idbfactory::IDBFactory>) -> script_bindings::root::Root<script_bindings::root::Dom<dom::indexeddb::idbfactory::IDBFactory>>}
const WRAP: unsafe fn(&mut JSContext, &GlobalScope, Option<HandleObject<'_>>, Box<Self>) -> Root<Dom<Self>> = {script_bindings::codegen::GenericBindings::IDBFactoryBinding::Wrap::<dom::bindings::codegen::DomTypeHolder::DomTypeHolder> as for<'a, 'b, 'c> unsafe fn(&'a mut js::context::JSContext, &'b dom::globalscope::GlobalScope, std::option::Option<js::rust::Handle<'c, *mut js::jsapi::JSObject>>, std::boxed::Box<dom::indexeddb::idbfactory::IDBFactory>) -> script_bindings::root::Root<script_bindings::root::Dom<dom::indexeddb::idbfactory::IDBFactory>>}
Source§impl Drop for IDBFactory
impl Drop for IDBFactory
Source§impl HasParent for IDBFactory
impl HasParent for IDBFactory
Source§impl IDBFactoryMethods<DomTypeHolder> for IDBFactory
impl IDBFactoryMethods<DomTypeHolder> for IDBFactory
Source§fn Open(
&self,
name: DOMString,
version: Option<u64>,
) -> Fallible<DomRoot<IDBOpenDBRequest>>
fn Open( &self, name: DOMString, version: Option<u64>, ) -> Fallible<DomRoot<IDBOpenDBRequest>>
Source§fn DeleteDatabase(&self, name: DOMString) -> Fallible<DomRoot<IDBOpenDBRequest>>
fn DeleteDatabase(&self, name: DOMString) -> Fallible<DomRoot<IDBOpenDBRequest>>
Source§fn Cmp(
&self,
cx: &mut JSContext,
first: HandleValue<'_>,
second: HandleValue<'_>,
) -> Fallible<i16>
fn Cmp( &self, cx: &mut JSContext, first: HandleValue<'_>, second: HandleValue<'_>, ) -> Fallible<i16>
Source§impl IDLInterface for IDBFactory
impl IDLInterface for IDBFactory
Source§impl MallocSizeOf for IDBFactory
impl MallocSizeOf for IDBFactory
Source§fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
fn size_of(&self, ops: &mut MallocSizeOfOps) -> usize
Source§impl MutDomObject for IDBFactory
impl MutDomObject for IDBFactory
Source§impl PartialEq for IDBFactory
impl PartialEq for IDBFactory
Source§impl ToJSValConvertible for IDBFactory
impl ToJSValConvertible for IDBFactory
Source§unsafe fn to_jsval(&self, cx: *mut JSContext, rval: MutableHandleValue<'_>)
unsafe fn to_jsval(&self, cx: *mut JSContext, rval: MutableHandleValue<'_>)
self to a JSVal. JSAPI failure causes a panic.Source§fn safe_to_jsval(&self, cx: &mut JSContext, rval: MutableHandle<'_, Value>)
fn safe_to_jsval(&self, cx: &mut JSContext, rval: MutableHandle<'_, Value>)
self to a JSVal. JSAPI failure causes a panic.impl Eq for IDBFactory
Auto Trait Implementations§
impl !Freeze for IDBFactory
impl !RefUnwindSafe for IDBFactory
impl !Send for IDBFactory
impl !Sync for IDBFactory
impl Unpin for IDBFactory
impl !UnwindSafe for IDBFactory
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<D, T> DomGlobalGeneric<D> for T
impl<D, T> DomGlobalGeneric<D> for T
Source§fn global_(&self, realm: InRealm<'_>) -> Root<Dom<<D as DomTypes>::GlobalScope>>where
Self: Sized,
fn global_(&self, realm: InRealm<'_>) -> Root<Dom<<D as DomTypes>::GlobalScope>>where
Self: Sized,
GlobalScope] of the realm that the DomObject was created in. If this
object is a Node, this will be different from it’s owning Document if adopted by. For
Nodes it’s almost always better to use NodeTraits::owning_global.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Filterable for T
impl<T> Filterable for T
Source§fn filterable(
self,
filter_name: &'static str,
) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
fn filterable( self, filter_name: &'static str, ) -> RequestFilterDataProvider<T, fn(DataRequest<'_>) -> bool>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more