mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 787961 - Remove mDocument from WorkerPrivate, r=bent
--HG-- extra : rebase_source : 6f2560f658e365b89bb602d498b082cf84bdaef9
This commit is contained in:
parent
d31ab32b8a
commit
ed667ac966
@ -1892,8 +1892,7 @@ WorkerPrivateParent<Derived>::WorkerPrivateParent(
|
||||
nsCOMPtr<nsPIDOMWindow>& aWindow,
|
||||
nsCOMPtr<nsIScriptContext>& aScriptContext,
|
||||
nsCOMPtr<nsIURI>& aBaseURI,
|
||||
nsCOMPtr<nsIPrincipal>& aPrincipal,
|
||||
nsCOMPtr<nsIDocument>& aDocument)
|
||||
nsCOMPtr<nsIPrincipal>& aPrincipal)
|
||||
: EventTarget(aParent ? aCx : NULL), mMutex("WorkerPrivateParent Mutex"),
|
||||
mCondVar(mMutex, "WorkerPrivateParent CondVar"),
|
||||
mJSObject(aObject), mParent(aParent), mParentJSContext(aParentJSContext),
|
||||
@ -1914,7 +1913,6 @@ WorkerPrivateParent<Derived>::WorkerPrivateParent(
|
||||
mScriptNotify = do_QueryInterface(mScriptContext);
|
||||
mBaseURI.swap(aBaseURI);
|
||||
mPrincipal.swap(aPrincipal);
|
||||
mDocument.swap(aDocument);
|
||||
|
||||
if (aParent) {
|
||||
aParent->AssertIsOnWorkerThread();
|
||||
@ -2221,7 +2219,6 @@ WorkerPrivateParent<Derived>::ForgetMainThreadObjects(
|
||||
SwapToISupportsArray(mBaseURI, aDoomed);
|
||||
SwapToISupportsArray(mScriptURI, aDoomed);
|
||||
SwapToISupportsArray(mPrincipal, aDoomed);
|
||||
SwapToISupportsArray(mDocument, aDoomed);
|
||||
|
||||
mMainThreadObjectsForgotten = true;
|
||||
}
|
||||
@ -2278,7 +2275,8 @@ uint64_t
|
||||
WorkerPrivateParent<Derived>::GetInnerWindowId()
|
||||
{
|
||||
AssertIsOnMainThread();
|
||||
return mDocument ? mDocument->InnerWindowID() : 0;
|
||||
NS_ASSERTION(!mWindow || mWindow->IsInnerWindow(), "Outer window?");
|
||||
return mWindow ? mWindow->WindowID() : 0;
|
||||
}
|
||||
|
||||
template <class Derived>
|
||||
@ -2454,12 +2452,11 @@ WorkerPrivate::WorkerPrivate(JSContext* aCx, JSObject* aObject,
|
||||
nsCOMPtr<nsPIDOMWindow>& aWindow,
|
||||
nsCOMPtr<nsIScriptContext>& aParentScriptContext,
|
||||
nsCOMPtr<nsIURI>& aBaseURI,
|
||||
nsCOMPtr<nsIPrincipal>& aPrincipal,
|
||||
nsCOMPtr<nsIDocument>& aDocument)
|
||||
nsCOMPtr<nsIPrincipal>& aPrincipal)
|
||||
: WorkerPrivateParent<WorkerPrivate>(aCx, aObject, aParent, aParentJSContext,
|
||||
aScriptURL, aIsChromeWorker, aDomain,
|
||||
aWindow, aParentScriptContext, aBaseURI,
|
||||
aPrincipal, aDocument),
|
||||
aPrincipal),
|
||||
mJSContext(nullptr), mErrorHandlerRecursionCount(0), mNextTimeoutId(1),
|
||||
mStatus(Pending), mSuspended(false), mTimerRunning(false),
|
||||
mRunningExpiredTimeouts(false), mCloseHandlerStarted(false),
|
||||
@ -2648,7 +2645,7 @@ WorkerPrivate::Create(JSContext* aCx, JSObject* aObj, WorkerPrivate* aParent,
|
||||
nsRefPtr<WorkerPrivate> worker =
|
||||
new WorkerPrivate(aCx, aObj, aParent, parentContext, scriptURL,
|
||||
aIsChromeWorker, domain, window, scriptContext, baseURI,
|
||||
principal, document);
|
||||
principal);
|
||||
|
||||
worker->SetIsDOMBinding();
|
||||
worker->SetWrapper(aObj);
|
||||
|
@ -11,6 +11,7 @@
|
||||
#include "nsIRunnable.h"
|
||||
#include "nsIThread.h"
|
||||
#include "nsIThreadInternal.h"
|
||||
#include "nsPIDOMWindow.h"
|
||||
|
||||
#include "jsapi.h"
|
||||
#include "mozilla/CondVar.h"
|
||||
@ -181,7 +182,6 @@ private:
|
||||
nsCOMPtr<nsIURI> mBaseURI;
|
||||
nsCOMPtr<nsIURI> mScriptURI;
|
||||
nsCOMPtr<nsIPrincipal> mPrincipal;
|
||||
nsCOMPtr<nsIDocument> mDocument;
|
||||
|
||||
// Only used for top level workers.
|
||||
nsTArray<nsRefPtr<WorkerRunnable> > mQueuedRunnables;
|
||||
@ -204,8 +204,7 @@ protected:
|
||||
nsCOMPtr<nsPIDOMWindow>& aWindow,
|
||||
nsCOMPtr<nsIScriptContext>& aScriptContext,
|
||||
nsCOMPtr<nsIURI>& aBaseURI,
|
||||
nsCOMPtr<nsIPrincipal>& aPrincipal,
|
||||
nsCOMPtr<nsIDocument>& aDocument);
|
||||
nsCOMPtr<nsIPrincipal>& aPrincipal);
|
||||
|
||||
~WorkerPrivateParent();
|
||||
|
||||
@ -426,14 +425,7 @@ public:
|
||||
GetDocument() const
|
||||
{
|
||||
AssertIsOnMainThread();
|
||||
return mDocument;
|
||||
}
|
||||
|
||||
void
|
||||
SetDocument(nsIDocument* aDocument)
|
||||
{
|
||||
AssertIsOnMainThread();
|
||||
mDocument = aDocument;
|
||||
return mWindow ? mWindow->GetExtantDoc() : nullptr;
|
||||
}
|
||||
|
||||
nsPIDOMWindow*
|
||||
@ -727,8 +719,7 @@ private:
|
||||
bool aIsChromeWorker, const nsACString& aDomain,
|
||||
nsCOMPtr<nsPIDOMWindow>& aWindow,
|
||||
nsCOMPtr<nsIScriptContext>& aScriptContext,
|
||||
nsCOMPtr<nsIURI>& aBaseURI, nsCOMPtr<nsIPrincipal>& aPrincipal,
|
||||
nsCOMPtr<nsIDocument>& aDocument);
|
||||
nsCOMPtr<nsIURI>& aBaseURI, nsCOMPtr<nsIPrincipal>& aPrincipal);
|
||||
|
||||
bool
|
||||
Dispatch(WorkerRunnable* aEvent, EventQueue* aQueue);
|
||||
|
Loading…
Reference in New Issue
Block a user