createDomService function

  1. @Injectable.new()
DomService createDomService(
  1. @Optional.new() @SkipSelf.new() DomService? service,
  2. @Optional.new() Disposer? disposer,
  3. NgZone zone,
  4. Window window,
)

Implementation

@Injectable()
DomService createDomService(@Optional() @SkipSelf() DomService? service,
    @Optional() Disposer? disposer, NgZone zone, Window window) {
  // If DomService was bound higher up the tree use that instance. This allows
  // an application to override the service at root.
  if (service != null) return service;

  if (_singletonService != null) {
    return _singletonService!;
  }

  _singletonService = DomService(zone, window);

  createDomServiceWebdriverTestability(_singletonService).register();

  disposer?.addFunction(() {
    _singletonService = null;
  });

  return _singletonService!;
}