Bug 1250002 - part2: about:debugging switch to browserLoader;r=ochameau

MozReview-Commit-ID: G4O19TOTWOy

--HG--
extra : rebase_source : 444aa09b859bd2ef04856dc0db4ca52bc05e7906
This commit is contained in:
Julian Descottes 2016-02-23 02:00:51 +01:00
parent 535caf34e2
commit b84da33d51
10 changed files with 65 additions and 82 deletions

View File

@ -2,18 +2,17 @@
* 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/. */
/* global React */
/* eslint-env browser */
"use strict";
loader.lazyRequireGetter(this, "React",
"devtools/client/shared/vendor/react");
loader.lazyRequireGetter(this, "AddonsTab",
"devtools/client/aboutdebugging/components/addons-tab", true);
loader.lazyRequireGetter(this, "TabMenu",
"devtools/client/aboutdebugging/components/tab-menu", true);
loader.lazyRequireGetter(this, "WorkersTab",
"devtools/client/aboutdebugging/components/workers-tab", true);
const Services = require("Services");
const React = require("devtools/client/shared/vendor/react");
const { TabMenu } = require("./tab-menu");
loader.lazyRequireGetter(this, "AddonsTab", "./components/addons-tab", true);
loader.lazyRequireGetter(this, "WorkersTab", "./components/workers-tab", true);
const Strings = Services.strings.createBundle(
"chrome://devtools/locale/aboutdebugging.properties");
@ -38,13 +37,13 @@ exports.AboutDebuggingApp = React.createClass({
},
componentDidMount() {
this.props.window.addEventListener("hashchange", this.onHashChange);
window.addEventListener("hashchange", this.onHashChange);
this.onHashChange();
this.props.telemetry.toolOpened("aboutdebugging");
},
componentWillUnmount() {
this.props.window.removeEventListener("hashchange", this.onHashChange);
window.removeEventListener("hashchange", this.onHashChange);
this.props.telemetry.toolClosed("aboutdebugging");
this.props.telemetry.destroy();
},
@ -65,7 +64,7 @@ exports.AboutDebuggingApp = React.createClass({
},
onHashChange() {
let tabId = this.props.window.location.hash.substr(1);
let tabId = window.location.hash.substr(1);
let isValid = tabs.some(t => t.id == tabId);
if (isValid) {
@ -78,7 +77,6 @@ exports.AboutDebuggingApp = React.createClass({
},
selectTab(tabId) {
let win = this.props.window;
win.location.hash = "#" + tabId;
window.location.hash = "#" + tabId;
}
});

View File

@ -2,18 +2,18 @@
* 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/. */
/* global React */
/* eslint-env browser */
"use strict";
loader.lazyRequireGetter(this, "Ci", "chrome", true);
loader.lazyRequireGetter(this, "Cc", "chrome", true);
loader.lazyRequireGetter(this, "React", "devtools/client/shared/vendor/react");
loader.lazyRequireGetter(this, "Services");
loader.lazyImporter(this, "AddonManager",
"resource://gre/modules/AddonManager.jsm");
const { Cc, Ci } = require("chrome");
const Services = require("Services");
const React = require("devtools/client/shared/vendor/react");
const Strings = Services.strings.createBundle(
"chrome://devtools/locale/aboutdebugging.properties");
@ -58,11 +58,9 @@ exports.AddonsControls = React.createClass({
Services.prefs.setBoolPref("devtools.debugger.remote-enabled", enabled);
},
loadAddonFromFile(event) {
let win = event.target.ownerDocument.defaultView;
loadAddonFromFile() {
let fp = Cc["@mozilla.org/filepicker;1"].createInstance(Ci.nsIFilePicker);
fp.init(win,
fp.init(window,
Strings.GetStringFromName("selectAddonFromFile"),
Ci.nsIFilePicker.modeOpen);
let res = fp.show();
@ -78,7 +76,7 @@ exports.AddonsControls = React.createClass({
try {
AddonManager.installTemporaryAddon(file);
} catch (e) {
win.alert("Error while installing the addon:\n" + e.message + "\n");
window.alert("Error while installing the addon:\n" + e.message + "\n");
throw e;
}
},

View File

@ -2,22 +2,17 @@
* 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/. */
/* global AddonManager, React */
/* global React */
"use strict";
loader.lazyRequireGetter(this, "React",
"devtools/client/shared/vendor/react");
loader.lazyRequireGetter(this, "TargetList",
"devtools/client/aboutdebugging/components/target-list", true);
loader.lazyRequireGetter(this, "TabHeader",
"devtools/client/aboutdebugging/components/tab-header", true);
loader.lazyRequireGetter(this, "AddonsControls",
"devtools/client/aboutdebugging/components/addons-controls", true);
loader.lazyRequireGetter(this, "Services");
const { AddonManager } = require("resource://gre/modules/AddonManager.jsm");
const Services = require("Services");
loader.lazyImporter(this, "AddonManager",
"resource://gre/modules/AddonManager.jsm");
const React = require("devtools/client/shared/vendor/react");
const { AddonsControls } = require("./addons-controls");
const { TabHeader } = require("./tab-header");
const { TargetList } = require("./target-list");
const ExtensionIcon = "chrome://mozapps/skin/extensions/extensionGeneric.svg";
const Strings = Services.strings.createBundle(

View File

@ -2,12 +2,9 @@
* 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/. */
/* global React */
"use strict";
loader.lazyRequireGetter(this, "React",
"devtools/client/shared/vendor/react");
const React = require("devtools/client/shared/vendor/react");
exports.TabHeader = React.createClass({
displayName: "TabHeader",

View File

@ -2,12 +2,9 @@
* 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/. */
/* global React */
"use strict";
loader.lazyRequireGetter(this, "React",
"devtools/client/shared/vendor/react");
const React = require("devtools/client/shared/vendor/react");
exports.TabMenuEntry = React.createClass({
displayName: "TabMenuEntry",

View File

@ -6,10 +6,8 @@
"use strict";
loader.lazyRequireGetter(this, "React",
"devtools/client/shared/vendor/react");
loader.lazyRequireGetter(this, "TabMenuEntry",
"devtools/client/aboutdebugging/components/tab-menu-entry", true);
const React = require("devtools/client/shared/vendor/react");
const { TabMenuEntry } = require("./tab-menu-entry");
exports.TabMenu = React.createClass({
displayName: "TabMenu",

View File

@ -6,14 +6,14 @@
"use strict";
loader.lazyRequireGetter(this, "React",
"devtools/client/shared/vendor/react");
loader.lazyRequireGetter(this, "Target",
"devtools/client/aboutdebugging/components/target", true);
loader.lazyRequireGetter(this, "Services");
const Services = require("Services");
const React = require("devtools/client/shared/vendor/react");
const { Target } = require("./target");
const Strings = Services.strings.createBundle(
"chrome://devtools/locale/aboutdebugging.properties");
const LocaleCompare = (a, b) => {
return a.name.toLowerCase().localeCompare(b.name.toLowerCase());
};

View File

@ -2,23 +2,22 @@
* 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/. */
/* global alert, BrowserToolboxProcess, gDevTools, React, TargetFactory,
Toolbox */
/* eslint-env browser */
"use strict";
loader.lazyRequireGetter(this, "React",
"devtools/client/shared/vendor/react");
loader.lazyRequireGetter(this, "TargetFactory",
"devtools/client/framework/target", true);
"devtools/client/framework/target", true);
loader.lazyRequireGetter(this, "gDevTools",
"devtools/client/framework/devtools", true);
loader.lazyRequireGetter(this, "Toolbox",
"devtools/client/framework/toolbox", true);
loader.lazyRequireGetter(this, "Services");
"devtools/client/framework/toolbox", true);
loader.lazyImporter(this, "BrowserToolboxProcess",
"resource://devtools/client/framework/ToolboxProcess.jsm");
loader.lazyRequireGetter(this, "gDevTools",
"devtools/client/framework/devtools", true);
"resource://devtools/client/framework/ToolboxProcess.jsm");
const Services = require("Services");
const React = require("devtools/client/shared/vendor/react");
const Strings = Services.strings.createBundle(
"chrome://devtools/locale/aboutdebugging.properties");
@ -67,7 +66,7 @@ exports.Target = React.createClass({
this.openWorkerToolbox(target.workerActor);
break;
default:
alert("Not implemented yet!");
window.alert("Not implemented yet!");
break;
}
},

View File

@ -2,21 +2,15 @@
* 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/. */
/* global React */
"use strict";
loader.lazyRequireGetter(this, "Ci",
"chrome", true);
loader.lazyRequireGetter(this, "React",
"devtools/client/shared/vendor/react");
loader.lazyRequireGetter(this, "TargetList",
"devtools/client/aboutdebugging/components/target-list", true);
loader.lazyRequireGetter(this, "TabHeader",
"devtools/client/aboutdebugging/components/tab-header", true);
loader.lazyRequireGetter(this, "Services");
const { Ci } = require("chrome");
const { Task } = require("resource://gre/modules/Task.jsm");
const Services = require("Services");
loader.lazyImporter(this, "Task", "resource://gre/modules/Task.jsm");
const React = require("devtools/client/shared/vendor/react");
const { TargetList } = require("./target-list");
const { TabHeader } = require("./tab-header");
const Strings = Services.strings.createBundle(
"chrome://devtools/locale/aboutdebugging.properties");

View File

@ -3,7 +3,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* eslint-env browser */
/* global DebuggerClient, DebuggerServer, React */
/* global DebuggerClient, DebuggerServer */
"use strict";
@ -16,8 +16,14 @@ loader.lazyRequireGetter(this, "DebuggerServer",
"devtools/server/main", true);
loader.lazyRequireGetter(this, "Telemetry",
"devtools/client/shared/telemetry");
loader.lazyRequireGetter(this, "AboutDebuggingApp",
"devtools/client/aboutdebugging/components/aboutdebugging", true);
const { BrowserLoader } = Components.utils.import(
"resource://devtools/client/shared/browser-loader.js", {});
const { require } =
BrowserLoader("resource://devtools/client/aboutdebugging/", window);
const React = require("devtools/client/shared/vendor/react");
const { AboutDebuggingApp } = require("./components/aboutdebugging");
var AboutDebugging = {
init() {
@ -31,8 +37,9 @@ var AboutDebugging = {
this.client.connect().then(() => {
let client = this.client;
let telemetry = new Telemetry();
React.render(React.createElement(AboutDebuggingApp,
{ client, telemetry, window }), document.querySelector("#body"));
let app = React.createElement(AboutDebuggingApp, { client, telemetry });
React.render(app, document.querySelector("#body"));
});
},