/* 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");