Skip to content

ServiceWorkerGlobalScope ​

class ServiceWorkerGlobalScope extends WorkerGlobalScope

Annotations: @Native.new("ServiceWorkerGlobalScope")

Inheritance

Object → EventTarget → WorkerGlobalScope → ServiceWorkerGlobalScope

Properties ​

addressSpace no setter inherited ​

String? get addressSpace

Inherited from WorkerGlobalScope.

Implementation
dart
String? get addressSpace native;

caches no setter inherited ​

CacheStorage? get caches

Inherited from WorkerGlobalScope.

Implementation
dart
CacheStorage? get caches native;

clients no setter ​

Clients? get clients
Implementation
dart
Clients? get clients native;

crypto no setter inherited ​

Crypto? get crypto

Inherited from WorkerGlobalScope.

Implementation
dart
Crypto? get crypto native;

hashCode no setter inherited ​

int get hashCode

Inherited from Interceptor.

Implementation
dart
int get hashCode => Primitives.objectHashCode(this);

indexedDB no setter inherited ​

IdbFactory? get indexedDB

Inherited from WorkerGlobalScope.

Implementation
dart
IdbFactory? get indexedDB native;

isSecureContext no setter inherited ​

bool? get isSecureContext

Inherited from WorkerGlobalScope.

Implementation
dart
bool? get isSecureContext native;

location no setter inherited ​

_WorkerLocation get location

Inherited from WorkerGlobalScope.

Implementation
dart
_WorkerLocation get location native;

navigator no setter inherited ​

_WorkerNavigator get navigator

Inherited from WorkerGlobalScope.

Implementation
dart
_WorkerNavigator get navigator native;

on no setter inherited ​

Events get on

This is an ease-of-use accessor for event streams which should only be used when an explicit accessor is not available.

Inherited from EventTarget.

Implementation
dart
Events get on => new Events(this);

onActivate no setter ​

Stream<Event> get onActivate
Implementation
dart
Stream<Event> get onActivate => activateEvent.forTarget(this);

onError no setter inherited ​

Stream<Event> get onError

Stream of error events handled by this WorkerGlobalScope.

Inherited from WorkerGlobalScope.

Implementation
dart
Stream<Event> get onError => errorEvent.forTarget(this);

onFetch no setter ​

Stream<Event> get onFetch
Implementation
dart
Stream<Event> get onFetch => fetchEvent.forTarget(this);

onForeignfetch no setter ​

Stream<ForeignFetchEvent> get onForeignfetch
Implementation
dart
Stream<ForeignFetchEvent> get onForeignfetch =>
    foreignfetchEvent.forTarget(this);

onInstall no setter ​

Stream<Event> get onInstall
Implementation
dart
Stream<Event> get onInstall => installEvent.forTarget(this);

onMessage no setter ​

Stream<MessageEvent> get onMessage
Implementation
dart
Stream<MessageEvent> get onMessage => messageEvent.forTarget(this);

origin no setter inherited ​

String? get origin

Inherited from WorkerGlobalScope.

Implementation
dart
String? get origin native;

performance no setter inherited ​

WorkerPerformance? get performance

Inherited from WorkerGlobalScope.

Implementation
dart
WorkerPerformance? get performance native;

registration no setter ​

ServiceWorkerRegistration? get registration
Implementation
dart
ServiceWorkerRegistration? get registration native;

runtimeType no setter inherited ​

Type get runtimeType

Inherited from Interceptor.

Implementation
dart
Type get runtimeType =>
    getRuntimeTypeOfInterceptorNotArray(getInterceptor(this), this);

self no setter inherited ​

Inherited from WorkerGlobalScope.

Implementation
dart
WorkerGlobalScope get self native;

Methods ​

addEventListener() inherited ​

void addEventListener(
  String type,
  (dynamic Function(Event event))? listener, [
  bool? useCapture,
])

Inherited from EventTarget.

Implementation
dart
void addEventListener(
  String type,
  EventListener? listener, [
  bool? useCapture,
]) {
  &#47;&#47; TODO(leafp): This check is avoid a bug in our dispatch code when
  &#47;&#47; listener is null.  The browser treats this call as a no-op in this
  &#47;&#47; case, so it's fine to short-circuit it, but we should not have to.
  if (listener != null) {
    _addEventListener(type, listener, useCapture);
  }
}

atob() inherited ​

String atob(String atob)

Inherited from WorkerGlobalScope.

Implementation
dart
String atob(String atob) native;

btoa() inherited ​

String btoa(String btoa)

Inherited from WorkerGlobalScope.

Implementation
dart
String btoa(String btoa) native;

dispatchEvent() inherited ​

bool dispatchEvent(Event event)

Inherited from EventTarget.

Implementation
dart
bool dispatchEvent(Event event) native;

fetch() inherited ​

Future<dynamic> fetch(dynamic input, [Map<dynamic, dynamic>? init])

Inherited from WorkerGlobalScope.

Implementation
dart
Future fetch(&#47;*RequestInfo*&#47; input, [Map? init]) {
  var init_dict = null;
  if (init != null) {
    init_dict = convertDartToNative_Dictionary(init);
  }
  return promiseToFuture(
    JS("creates:_Response;", "#.fetch(#, #)", this, input, init_dict),
  );
}

importScripts() inherited ​

void importScripts(String urls)

Inherited from WorkerGlobalScope.

Implementation
dart
void importScripts(String urls) native;

noSuchMethod() inherited ​

dynamic noSuchMethod(Invocation invocation)

Invoked when a nonexistent method or property is accessed.

A dynamic member invocation can attempt to call a member which doesn't exist on the receiving object. Example:

dart
dynamic object = 1;
object.add(42); // Statically allowed, run-time error

This invalid code will invoke the noSuchMethod method of the integer 1 with an Invocation representing the .add(42) call and arguments (which then throws).

Classes can override noSuchMethod to provide custom behavior for such invalid dynamic invocations.

A class with a non-default noSuchMethod invocation can also omit implementations for members of its interface. Example:

dart
class MockList<T> implements List<T> {
  noSuchMethod(Invocation invocation) {
    log(invocation);
    super.noSuchMethod(invocation); // Will throw.
  }
}
void main() {
  MockList().add(42);
}

This code has no compile-time warnings or errors even though the MockList class has no concrete implementation of any of the List interface methods. Calls to List methods are forwarded to noSuchMethod, so this code will log an invocation similar to Invocation.method(#add, [42]) and then throw.

If a value is returned from noSuchMethod, it becomes the result of the original invocation. If the value is not of a type that can be returned by the original invocation, a type error occurs at the invocation.

The default behavior is to throw a NoSuchMethodError.

Inherited from Interceptor.

Implementation
dart
dynamic noSuchMethod(Invocation invocation) {
  throw NoSuchMethodError.withInvocation(this, invocation);
}

removeEventListener() inherited ​

void removeEventListener(
  String type,
  (dynamic Function(Event event))? listener, [
  bool? useCapture,
])

Inherited from EventTarget.

Implementation
dart
void removeEventListener(
  String type,
  EventListener? listener, [
  bool? useCapture,
]) {
  &#47;&#47; TODO(leafp): This check is avoid a bug in our dispatch code when
  &#47;&#47; listener is null.  The browser treats this call as a no-op in this
  &#47;&#47; case, so it's fine to short-circuit it, but we should not have to.
  if (listener != null) {
    _removeEventListener(type, listener, useCapture);
  }
}

skipWaiting() ​

Future<dynamic> skipWaiting()
Implementation
dart
Future skipWaiting() => promiseToFuture(JS("", "#.skipWaiting()", this));

toString() inherited ​

String toString()

A string representation of this object.

Some classes have a default textual representation, often paired with a static parse function (like int.parse). These classes will provide the textual representation as their string representation.

Other classes have no meaningful textual representation that a program will care about. Such classes will typically override toString to provide useful information when inspecting the object, mainly for debugging or logging.

Inherited from Interceptor.

Implementation
dart
String toString() => Primitives.objectToHumanReadableString(this);

Operators ​

operator ==() inherited ​

bool operator ==(Object other)

The equality operator.

The default behavior for all Objects is to return true if and only if this object and other are the same object.

Override this method to specify a different equality relation on a class. The overriding method must still be an equivalence relation. That is, it must be:

  • Total: It must return a boolean for all arguments. It should never throw.

  • Reflexive: For all objects o, o == o must be true.

  • Symmetric: For all objects o1 and o2, o1 == o2 and o2 == o1 must either both be true, or both be false.

  • Transitive: For all objects o1, o2, and o3, if o1 == o2 and o2 == o3 are true, then o1 == o3 must be true.

The method should also be consistent over time, so whether two objects are equal should only change if at least one of the objects was modified.

If a subclass overrides the equality operator, it should override the hashCode method as well to maintain consistency.

Inherited from Interceptor.

Implementation
dart
bool operator ==(Object other) => identical(this, other);

Static Properties ​

instance no setter ​

Implementation
dart
static ServiceWorkerGlobalScope get instance {
  return _workerSelf as ServiceWorkerGlobalScope;
}

Constants ​

activateEvent ​

const EventStreamProvider<Event> activateEvent
Implementation
dart
static const EventStreamProvider<Event> activateEvent =
    const EventStreamProvider<Event>('activate');

fetchEvent ​

const EventStreamProvider<Event> fetchEvent
Implementation
dart
static const EventStreamProvider<Event> fetchEvent =
    const EventStreamProvider<Event>('fetch');

foreignfetchEvent ​

const EventStreamProvider<ForeignFetchEvent> foreignfetchEvent
Implementation
dart
static const EventStreamProvider<ForeignFetchEvent> foreignfetchEvent =
    const EventStreamProvider<ForeignFetchEvent>('foreignfetch');

installEvent ​

const EventStreamProvider<Event> installEvent
Implementation
dart
static const EventStreamProvider<Event> installEvent =
    const EventStreamProvider<Event>('install');

messageEvent ​

const EventStreamProvider<MessageEvent> messageEvent
Implementation
dart
static const EventStreamProvider<MessageEvent> messageEvent =
    const EventStreamProvider<MessageEvent>('message');