gecko-dev/browser/actors/SubframeCrashChild.jsm
Victor Porof 55d8d8e0e0 Bug 1561435 - Format browser/actors/, a=automatic-formatting
# ignore-this-changeset

Differential Revision: https://phabricator.services.mozilla.com/D36040

--HG--
extra : source : 4aa9ae9a72e81f48229df25173d42d52490d2f5b
2019-07-05 09:46:28 +02:00

31 lines
1.1 KiB
JavaScript

/* vim: set ts=2 sw=2 sts=2 et tw=80: */
/* 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 = ["SubframeCrashChild"];
let { Services } = ChromeUtils.import("resource://gre/modules/Services.jsm");
class SubframeCrashChild extends JSWindowActorChild {
receiveMessage(message) {
if (message.name == "SubframeCrashed") {
this.onSubframeCrashed(message.data.id);
}
}
onSubframeCrashed(browsingContextId) {
let bc = BrowsingContext.get(browsingContextId);
let iframe = bc.embedderElement;
let uri = Services.io.newURI(iframe.src);
iframe.removeAttribute("fission");
iframe.removeAttribute("src");
// Passing a null remoteType is currently how we tell the iframe to run
// in the same process as the embedder.
iframe.changeRemoteness({ remoteType: null });
let docShell = iframe.frameLoader.docShell;
docShell.displayLoadError(Cr.NS_ERROR_FRAME_CRASHED, uri, null);
}
}