Bug 1264929 - Make about:debugging pass ESLint's "react/prop-types" rule. r=jdescottes

MozReview-Commit-ID: ABhdvunhR7a
This commit is contained in:
Patrick Pei 2016-11-09 10:02:50 +01:00
Родитель f09afd3bf5
Коммит e6ee3c8395
14 изменённых файлов: 156 добавлений и 14 удалений

Просмотреть файл

@ -6,7 +6,7 @@
"use strict";
const { createFactory, createClass, DOM: dom } =
const { createFactory, createClass, DOM: dom, PropTypes } =
require("devtools/client/shared/vendor/react");
const Services = require("Services");
@ -19,6 +19,11 @@ loader.lazyGetter(this, "TabsPanel",
loader.lazyGetter(this, "WorkersPanel",
() => createFactory(require("./workers/panel")));
loader.lazyRequireGetter(this, "DebuggerClient",
"devtools/shared/client/main", true);
loader.lazyRequireGetter(this, "Telemetry",
"devtools/client/shared/telemetry");
const Strings = Services.strings.createBundle(
"chrome://devtools/locale/aboutdebugging.properties");
@ -44,6 +49,11 @@ const defaultPanelId = "addons";
module.exports = createClass({
displayName: "AboutDebuggingApp",
propTypes: {
client: PropTypes.instanceOf(DebuggerClient).isRequired,
telemetry: PropTypes.instanceOf(Telemetry).isRequired
},
getInitialState() {
return {
selectedPanelId: defaultPanelId

Просмотреть файл

@ -11,7 +11,7 @@ loader.lazyImporter(this, "AddonManager",
"resource://gre/modules/AddonManager.jsm");
const { Cc, Ci } = require("chrome");
const { createFactory, createClass, DOM: dom } =
const { createFactory, createClass, DOM: dom, PropTypes } =
require("devtools/client/shared/vendor/react");
const Services = require("Services");
const AddonsInstallError = createFactory(require("./install-error"));
@ -25,6 +25,10 @@ const MORE_INFO_URL = "https://developer.mozilla.org/docs/Tools" +
module.exports = createClass({
displayName: "AddonsControls",
propTypes: {
debugDisabled: PropTypes.bool
},
getInitialState() {
return {
installError: null,

Просмотреть файл

@ -5,11 +5,15 @@
/* eslint-env browser */
"use strict";
const { createClass, DOM: dom } = require("devtools/client/shared/vendor/react");
const { createClass, DOM: dom, PropTypes } = require("devtools/client/shared/vendor/react");
module.exports = createClass({
displayName: "AddonsInstallError",
propTypes: {
error: PropTypes.string
},
render() {
if (!this.props.error) {
return null;

Просмотреть файл

@ -5,7 +5,7 @@
"use strict";
const { AddonManager } = require("resource://gre/modules/AddonManager.jsm");
const { createFactory, createClass, DOM: dom } =
const { createFactory, createClass, DOM: dom, PropTypes } =
require("devtools/client/shared/vendor/react");
const Services = require("Services");
@ -14,6 +14,9 @@ const AddonTarget = createFactory(require("./target"));
const PanelHeader = createFactory(require("../panel-header"));
const TargetList = createFactory(require("../target-list"));
loader.lazyRequireGetter(this, "DebuggerClient",
"devtools/shared/client/main", true);
const Strings = Services.strings.createBundle(
"chrome://devtools/locale/aboutdebugging.properties");
@ -24,6 +27,11 @@ const REMOTE_ENABLED_PREF = "devtools.debugger.remote-enabled";
module.exports = createClass({
displayName: "AddonsPanel",
propTypes: {
client: PropTypes.instanceOf(DebuggerClient).isRequired,
id: PropTypes.string.isRequired
},
getInitialState() {
return {
extensions: [],
@ -125,6 +133,7 @@ module.exports = createClass({
AddonsControls({ debugDisabled }),
dom.div({ id: "addons" },
TargetList({
id: "extensions",
name,
targets,
client,

Просмотреть файл

@ -6,17 +6,35 @@
"use strict";
const { createClass, DOM: dom } =
const { createClass, DOM: dom, PropTypes } =
require("devtools/client/shared/vendor/react");
const { debugAddon } = require("../../modules/addon");
const Services = require("Services");
loader.lazyImporter(this, "BrowserToolboxProcess",
"resource://devtools/client/framework/ToolboxProcess.jsm");
loader.lazyRequireGetter(this, "DebuggerClient",
"devtools/shared/client/main", true);
const Strings = Services.strings.createBundle(
"chrome://devtools/locale/aboutdebugging.properties");
module.exports = createClass({
displayName: "AddonTarget",
propTypes: {
client: PropTypes.instanceOf(DebuggerClient).isRequired,
debugDisabled: PropTypes.bool,
target: PropTypes.shape({
addonActor: PropTypes.string.isRequired,
addonID: PropTypes.string.isRequired,
icon: PropTypes.string,
name: PropTypes.string.isRequired,
temporarilyInstalled: PropTypes.bool
}).isRequired
},
debug() {
let { target } = this.props;
debugAddon(target.addonID);

Просмотреть файл

@ -4,12 +4,17 @@
"use strict";
const { createClass, DOM: dom } =
const { createClass, DOM: dom, PropTypes } =
require("devtools/client/shared/vendor/react");
module.exports = createClass({
displayName: "PanelHeader",
propTypes: {
id: PropTypes.string.isRequired,
name: PropTypes.string.isRequired
},
render() {
let { name, id } = this.props;

Просмотреть файл

@ -4,12 +4,20 @@
"use strict";
const { createClass, DOM: dom } =
const { createClass, DOM: dom, PropTypes } =
require("devtools/client/shared/vendor/react");
module.exports = createClass({
displayName: "PanelMenuEntry",
propTypes: {
icon: PropTypes.string.isRequired,
id: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
selected: PropTypes.bool,
selectPanel: PropTypes.func.isRequired
},
onClick() {
this.props.selectPanel(this.props.id);
},

Просмотреть файл

@ -4,13 +4,24 @@
"use strict";
const { createClass, createFactory, DOM: dom } =
const { createClass, createFactory, DOM: dom, PropTypes } =
require("devtools/client/shared/vendor/react");
const PanelMenuEntry = createFactory(require("./panel-menu-entry"));
module.exports = createClass({
displayName: "PanelMenu",
propTypes: {
panels: PropTypes.arrayOf(PropTypes.shape({
id: PropTypes.string.isRequired,
name: PropTypes.string.isRequired,
icon: PropTypes.string.isRequired,
component: PropTypes.func.isRequired
})).isRequired,
selectPanel: PropTypes.func.isRequired,
selectedPanelId: PropTypes.string
},
render() {
let { panels, selectedPanelId, selectPanel } = this.props;
let panelLinks = panels.map(({ id, name, icon }) => {

Просмотреть файл

@ -6,7 +6,7 @@
"use strict";
const { createClass, createFactory, DOM: dom } =
const { createClass, createFactory, DOM: dom, PropTypes } =
require("devtools/client/shared/vendor/react");
const Services = require("Services");
@ -14,12 +14,20 @@ const PanelHeader = createFactory(require("../panel-header"));
const TargetList = createFactory(require("../target-list"));
const TabTarget = createFactory(require("./target"));
loader.lazyRequireGetter(this, "DebuggerClient",
"devtools/shared/client/main", true);
const Strings = Services.strings.createBundle(
"chrome://devtools/locale/aboutdebugging.properties");
module.exports = createClass({
displayName: "TabsPanel",
propTypes: {
client: PropTypes.instanceOf(DebuggerClient).isRequired,
id: PropTypes.string.isRequired
},
getInitialState() {
return {
tabs: []

Просмотреть файл

@ -6,7 +6,7 @@
"use strict";
const { createClass, DOM: dom } =
const { createClass, DOM: dom, PropTypes } =
require("devtools/client/shared/vendor/react");
const Services = require("Services");
@ -16,6 +16,15 @@ const Strings = Services.strings.createBundle(
module.exports = createClass({
displayName: "TabTarget",
propTypes: {
target: PropTypes.shape({
icon: PropTypes.string,
outerWindowID: PropTypes.number.isRequired,
title: PropTypes.string,
url: PropTypes.string.isRequired
}).isRequired
},
debug() {
let { target } = this.props;
window.open("about:devtools-toolbox?type=tab&id=" + target.outerWindowID);

Просмотреть файл

@ -4,10 +4,13 @@
"use strict";
const { createClass, DOM: dom } =
const { createClass, DOM: dom, PropTypes } =
require("devtools/client/shared/vendor/react");
const Services = require("Services");
loader.lazyRequireGetter(this, "DebuggerClient",
"devtools/shared/client/main", true);
const Strings = Services.strings.createBundle(
"chrome://devtools/locale/aboutdebugging.properties");
@ -18,6 +21,17 @@ const LocaleCompare = (a, b) => {
module.exports = createClass({
displayName: "TargetList",
propTypes: {
client: PropTypes.instanceOf(DebuggerClient).isRequired,
debugDisabled: PropTypes.bool,
error: PropTypes.node,
id: PropTypes.string.isRequired,
name: PropTypes.string,
sort: PropTypes.bool,
targetClass: PropTypes.func.isRequired,
targets: PropTypes.arrayOf(PropTypes.object).isRequired
},
render() {
let { client, debugDisabled, error, targetClass, targets, sort } = this.props;
if (sort) {

Просмотреть файл

@ -8,7 +8,7 @@ loader.lazyImporter(this, "PrivateBrowsingUtils",
"resource://gre/modules/PrivateBrowsingUtils.jsm");
const { Ci } = require("chrome");
const { createClass, createFactory, DOM: dom } =
const { createClass, createFactory, DOM: dom, PropTypes } =
require("devtools/client/shared/vendor/react");
const { getWorkerForms } = require("../../modules/worker");
const Services = require("Services");
@ -18,6 +18,12 @@ const TargetList = createFactory(require("../target-list"));
const WorkerTarget = createFactory(require("./target"));
const ServiceWorkerTarget = createFactory(require("./service-worker-target"));
loader.lazyImporter(this, "PrivateBrowsingUtils",
"resource://gre/modules/PrivateBrowsingUtils.jsm");
loader.lazyRequireGetter(this, "DebuggerClient",
"devtools/shared/client/main", true);
const Strings = Services.strings.createBundle(
"chrome://devtools/locale/aboutdebugging.properties");
@ -27,6 +33,11 @@ const MORE_INFO_URL = "https://developer.mozilla.org/en-US/docs/Tools/about%3Ade
module.exports = createClass({
displayName: "WorkersPanel",
propTypes: {
client: PropTypes.instanceOf(DebuggerClient).isRequired,
id: PropTypes.string.isRequired
},
getInitialState() {
return {
workers: {

Просмотреть файл

@ -6,17 +6,35 @@
"use strict";
const { createClass, DOM: dom } =
const { createClass, DOM: dom, PropTypes } =
require("devtools/client/shared/vendor/react");
const { debugWorker } = require("../../modules/worker");
const Services = require("Services");
loader.lazyRequireGetter(this, "DebuggerClient",
"devtools/shared/client/main", true);
const Strings = Services.strings.createBundle(
"chrome://devtools/locale/aboutdebugging.properties");
module.exports = createClass({
displayName: "ServiceWorkerTarget",
propTypes: {
client: PropTypes.instanceOf(DebuggerClient).isRequired,
debugDisabled: PropTypes.bool,
target: PropTypes.shape({
active: PropTypes.bool,
icon: PropTypes.string,
name: PropTypes.string.isRequired,
url: PropTypes.string,
scope: PropTypes.string.isRequired,
// registrationActor can be missing in e10s.
registrationActor: PropTypes.string,
workerActor: PropTypes.string
}).isRequired
},
getInitialState() {
return {
pushSubscription: null

Просмотреть файл

@ -6,17 +6,30 @@
"use strict";
const { createClass, DOM: dom } =
const { createClass, DOM: dom, PropTypes } =
require("devtools/client/shared/vendor/react");
const { debugWorker } = require("../../modules/worker");
const Services = require("Services");
loader.lazyRequireGetter(this, "DebuggerClient",
"devtools/shared/client/main", true);
const Strings = Services.strings.createBundle(
"chrome://devtools/locale/aboutdebugging.properties");
module.exports = createClass({
displayName: "WorkerTarget",
propTypes: {
client: PropTypes.instanceOf(DebuggerClient).isRequired,
debugDisabled: PropTypes.bool,
target: PropTypes.shape({
icon: PropTypes.string,
name: PropTypes.string.isRequired,
workerActor: PropTypes.string
}).isRequired
},
debug() {
let { client, target } = this.props;
debugWorker(client, target.workerActor);