diff options
Diffstat (limited to '')
-rw-r--r-- | browser/actors/BrowserTabParent.sys.mjs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/browser/actors/BrowserTabParent.sys.mjs b/browser/actors/BrowserTabParent.sys.mjs new file mode 100644 index 0000000000..6915fea8e9 --- /dev/null +++ b/browser/actors/BrowserTabParent.sys.mjs @@ -0,0 +1,32 @@ +/* This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ + +const { BrowserWindowTracker } = ChromeUtils.import( + "resource:///modules/BrowserWindowTracker.jsm" +); + +export class BrowserTabParent extends JSWindowActorParent { + receiveMessage(message) { + let browsingContext = this.manager.browsingContext; + let browser = browsingContext.embedderElement; + if (!browser) { + return; // Can happen sometimes if browser is being destroyed + } + + let gBrowser = browser.ownerGlobal.gBrowser; + + switch (message.name) { + case "Browser:WindowCreated": { + gBrowser.announceWindowCreated(browser, message.data.userContextId); + BrowserWindowTracker.windowCreated(browser); + break; + } + + case "Browser:FirstPaint": { + browser.ownerGlobal.gBrowserInit._firstContentWindowPaintDeferred.resolve(); + break; + } + } + } +} |