WebWorkerNote: Difference between revisions

Jump to navigation Jump to search
Line 205: Line 205:
};
};


JSObject*
WorkerPrivate::CreateGlobalScope(JSContext* aCx)
{
  AssertIsOnWorkerThread();
  nsRefPtr<WorkerGlobalScope> globalScope;
  if (IsSharedWorker()) {
    globalScope = new SharedWorkerGlobalScope(this, SharedWorkerName());
  } else if (IsServiceWorker()) {
    globalScope = new ServiceWorkerGlobalScope(this, SharedWorkerName());
  } else {
    globalScope = new DedicatedWorkerGlobalScope(this);
  }
  JS::Rooted<JSObject*> global(aCx, globalScope->WrapGlobalObject(aCx));
  NS_ENSURE_TRUE(global, nullptr);
  JSAutoCompartment ac(aCx, global);
  if (!RegisterBindings(aCx, global)) {
    return nullptr;
  }
  mScope = globalScope.forget();
  JS_FireOnNewGlobalObject(aCx, global);
  return global;
}


</source>
</source>


=Shared Worker=
=Shared Worker=
Confirmed users
770

edits

Navigation menu