fune/browser/components/extensions/parent/ext-devtools-inspectedWindow.js
Kris Maglione 202290f6bb Bug 1451215: Run codespell on code. r=aswan
MozReview-Commit-ID: HIilZTKcQUY

--HG--
extra : rebase_source : 48ba4b4ac06f6d146ce81050da6c60b6f7c3fbfc
extra : amend_source : cba3e4c100a57889851eaaffff3696d1285655ea
2018-04-03 22:22:07 -07:00

54 lines
1.8 KiB
JavaScript

/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set sts=2 sw=2 et tw=80: */
"use strict";
var {
SpreadArgs,
} = ExtensionCommon;
this.devtools_inspectedWindow = class extends ExtensionAPI {
getAPI(context) {
// Lazily retrieved inspectedWindow actor front per child context.
let waitForInspectedWindowFront;
// TODO - Bug 1448878: retrieve a more detailed callerInfo object,
// like the filename and lineNumber of the actual extension called
// in the child process.
const callerInfo = {
addonId: context.extension.id,
url: context.extension.baseURI.spec,
};
return {
devtools: {
inspectedWindow: {
async eval(expression, options) {
if (!waitForInspectedWindowFront) {
waitForInspectedWindowFront = getInspectedWindowFront(context);
}
const front = await waitForInspectedWindowFront;
const evalOptions = Object.assign({}, options, getToolboxEvalOptions(context));
const evalResult = await front.eval(callerInfo, expression, evalOptions);
// TODO(rpl): check for additional undocumented behaviors on chrome
// (e.g. if we should also print error to the console or set lastError?).
return new SpreadArgs([evalResult.value, evalResult.exceptionInfo]);
},
async reload(options) {
const {ignoreCache, userAgent, injectedScript} = options || {};
if (!waitForInspectedWindowFront) {
waitForInspectedWindowFront = getInspectedWindowFront(context);
}
const front = await waitForInspectedWindowFront;
front.reload(callerInfo, {ignoreCache, userAgent, injectedScript});
},
},
},
};
}
};