forked from mirrors/gecko-dev
48 lines
1.4 KiB
JavaScript
48 lines
1.4 KiB
JavaScript
/* 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/. */
|
|
"use strict";
|
|
|
|
var EXPORTED_SYMBOLS = ["BrowserTabParent"];
|
|
|
|
const { BrowserWindowTracker } = ChromeUtils.import(
|
|
"resource:///modules/BrowserWindowTracker.jsm"
|
|
);
|
|
|
|
class BrowserTabParent extends JSWindowActorParent {
|
|
receiveMessage(message) {
|
|
let browser = this.manager.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;
|
|
}
|
|
|
|
case "Browser:LoadURI": {
|
|
gBrowser.ownerGlobal.RedirectLoad(browser, message.data);
|
|
break;
|
|
}
|
|
|
|
case "PointerLock:Entered": {
|
|
browser.ownerGlobal.PointerLock.entered(message.data.originNoSuffix);
|
|
break;
|
|
}
|
|
|
|
case "PointerLock:Exited":
|
|
browser.ownerGlobal.PointerLock.exited();
|
|
break;
|
|
}
|
|
}
|
|
}
|