gecko-dev/mobile/android/actors/LoadURIDelegateChild.sys.mjs

45 строки
1.3 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/. */
import { GeckoViewActorChild } from "resource://gre/modules/GeckoViewActorChild.sys.mjs";
const lazy = {};
ChromeUtils.defineESModuleGetters(lazy, {
LoadURIDelegate: "resource://gre/modules/LoadURIDelegate.sys.mjs",
});
// Implements nsILoadURIDelegate.
export class LoadURIDelegateChild extends GeckoViewActorChild {
// nsILoadURIDelegate.
handleLoadError(aUri, aError, aErrorModule) {
debug`handleLoadError: uri=${aUri && aUri.spec}
displaySpec=${aUri && aUri.displaySpec}
error=${aError}`;
if (aUri && lazy.LoadURIDelegate.isSafeBrowsingError(aError)) {
const message = {
type: "GeckoView:ContentBlocked",
uri: aUri.spec,
error: aError,
};
this.eventDispatcher.sendRequest(message);
}
return lazy.LoadURIDelegate.handleLoadError(
this.contentWindow,
this.eventDispatcher,
aUri,
aError,
aErrorModule
);
}
}
LoadURIDelegateChild.prototype.QueryInterface = ChromeUtils.generateQI([
"nsILoadURIDelegate",
]);
const { debug, warn } = LoadURIDelegateChild.initLogging("LoadURIDelegate");