Backed out changeset b755386490b9 (bug 1458747) for DevTools failure on devtools/client/shared/test/browser_telemetry_button_eyedropper.js. CLOSED TREE

This commit is contained in:
Dorel Luca 2018-05-03 16:09:22 +03:00
Родитель de0dc7d191
Коммит c5ca455841
23 изменённых файлов: 386 добавлений и 0 удалений

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

@ -0,0 +1,14 @@
/* 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/. */
"use strict";
const { createEnum } = require("devtools/client/shared/enum");
createEnum([
// Update the entire changes state with the new list of changes.
"UPDATE_CHANGES",
], module.exports);

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

@ -0,0 +1,9 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
DevToolsModules(
'index.js',
)

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

@ -0,0 +1,50 @@
/* 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/. */
"use strict";
const { createFactory, createElement } = require("devtools/client/shared/vendor/react");
const { Provider } = require("devtools/client/shared/vendor/react-redux");
const ChangesApp = createFactory(require("./components/ChangesApp"));
const { LocalizationHelper } = require("devtools/shared/l10n");
const INSPECTOR_L10N =
new LocalizationHelper("devtools/client/locales/inspector.properties");
class ChangesView {
constructor(inspector, window) {
this.document = window.document;
this.inspector = inspector;
this.store = inspector.store;
this.init();
}
init() {
if (!this.inspector) {
return;
}
let changesApp = ChangesApp({});
let provider = createElement(Provider, {
id: "changesview",
key: "changesview",
store: this.store,
title: INSPECTOR_L10N.getStr("inspector.sidebar.changesViewTitle")
}, changesApp);
// Expose the provider to let inspector.js use it in setupSidebar.
this.provider = provider;
}
destroy() {
this.document = null;
this.inspector = null;
this.store = null;
}
}
module.exports = ChangesView;

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

@ -0,0 +1,25 @@
/* 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/. */
"use strict";
const { PureComponent } = require("devtools/client/shared/vendor/react");
const dom = require("devtools/client/shared/vendor/react-dom-factories");
const { connect } = require("devtools/client/shared/vendor/react-redux");
class ChangesApp extends PureComponent {
static get propTypes() {
return {};
}
render() {
return dom.div(
{
id: "changes-container",
}
);
}
}
module.exports = connect(state => state)(ChangesApp);

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

@ -0,0 +1,9 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
DevToolsModules(
'ChangesApp.js',
)

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

@ -0,0 +1,15 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
DIRS += [
'actions',
'components',
'reducers',
]
DevToolsModules(
'changes.js',
)

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

@ -0,0 +1,19 @@
/* 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/. */
"use strict";
const INITIAL_CHANGES = [];
let reducers = {
};
module.exports = function(changes = INITIAL_CHANGES, action) {
let reducer = reducers[action.type];
if (!reducer) {
return changes;
}
return reducer(changes, action);
};

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

@ -0,0 +1,7 @@
/* 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/. */
"use strict";
exports.changes = require("./changes");

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

@ -0,0 +1,10 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
DevToolsModules(
'changes.js',
'index.js',
)

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

@ -0,0 +1,14 @@
/* 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/. */
"use strict";
const { createEnum } = require("devtools/client/shared/enum");
createEnum([
// Update the entire events state with the new list of events.
"UPDATE_EVENTS",
], module.exports);

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

@ -0,0 +1,9 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
DevToolsModules(
'index.js',
)

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

@ -0,0 +1,25 @@
/* 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/. */
"use strict";
const { PureComponent } = require("devtools/client/shared/vendor/react");
const dom = require("devtools/client/shared/vendor/react-dom-factories");
const { connect } = require("devtools/client/shared/vendor/react-redux");
class EventsApp extends PureComponent {
static get propTypes() {
return {};
}
render() {
return dom.div(
{
id: "events-container",
}
);
}
}
module.exports = connect(state => state)(EventsApp);

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

@ -0,0 +1,9 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
DevToolsModules(
'EventsApp.js',
)

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

@ -0,0 +1,50 @@
/* 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/. */
"use strict";
const { createFactory, createElement } = require("devtools/client/shared/vendor/react");
const { Provider } = require("devtools/client/shared/vendor/react-redux");
const EventsApp = createFactory(require("./components/EventsApp"));
const { LocalizationHelper } = require("devtools/shared/l10n");
const INSPECTOR_L10N =
new LocalizationHelper("devtools/client/locales/inspector.properties");
class EventsView {
constructor(inspector, window) {
this.document = window.document;
this.inspector = inspector;
this.store = inspector.store;
this.init();
}
init() {
if (!this.inspector) {
return;
}
let eventsApp = EventsApp({});
let provider = createElement(Provider, {
id: "eventsview",
key: "eventsview",
store: this.store,
title: INSPECTOR_L10N.getStr("inspector.sidebar.eventsViewTitle")
}, eventsApp);
// Expose the provider to let inspector.js use it in setupSidebar.
this.provider = provider;
}
destroy() {
this.document = null;
this.inspector = null;
this.store = null;
}
}
module.exports = EventsView;

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

@ -0,0 +1,15 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
DIRS += [
'actions',
'components',
'reducers',
]
DevToolsModules(
'events.js',
)

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

@ -0,0 +1,19 @@
/* 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/. */
"use strict";
const INITIAL_EVENTS = [];
let reducers = {
};
module.exports = function(events = INITIAL_EVENTS, action) {
let reducer = reducers[action.type];
if (!reducer) {
return events;
}
return reducer(events, action);
};

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

@ -0,0 +1,7 @@
/* 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/. */
"use strict";
exports.events = require("./events");

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

@ -0,0 +1,10 @@
# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.
DevToolsModules(
'events.js',
'index.js',
)

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

@ -837,6 +837,58 @@ Inspector.prototype = {
defaultTab == "computedview"); defaultTab == "computedview");
} }
if (Services.prefs.getBoolPref("devtools.changesview.enabled")) {
// Inject a lazy loaded react tab by exposing a fake React object
// with a lazy defined Tab thanks to `panel` being a function
let changesId = "changesview";
let changesTitle = INSPECTOR_L10N.getStr("inspector.sidebar.changesViewTitle");
this.sidebar.addTab(
changesId,
changesTitle,
{
props: {
id: changesId,
title: changesTitle
},
panel: () => {
if (!this.changesview) {
const ChangesView =
this.browserRequire("devtools/client/inspector/changes/changes");
this.changesview = new ChangesView(this, this.panelWin);
}
return this.changesview.provider;
}
},
defaultTab == changesId);
}
if (Services.prefs.getBoolPref("devtools.eventsview.enabled")) {
// Inject a lazy loaded react tab by exposing a fake React object
// with a lazy defined Tab thanks to `panel` being a function
let eventsId = "eventsview";
let eventsTitle = INSPECTOR_L10N.getStr("inspector.sidebar.eventsViewTitle");
this.sidebar.addTab(
eventsId,
eventsTitle,
{
props: {
id: eventsId,
title: eventsTitle
},
panel: () => {
if (!this.eventview) {
const EventsView =
this.browserRequire("devtools/client/inspector/events/events");
this.eventsview = new EventsView(this, this.panelWin);
}
return this.eventsview.provider;
}
},
defaultTab == eventsId);
}
if (this.target.form.animationsActor) { if (this.target.form.animationsActor) {
const animationTitle = const animationTitle =
INSPECTOR_L10N.getStr("inspector.sidebar.animationInspectorTitle"); INSPECTOR_L10N.getStr("inspector.sidebar.animationInspectorTitle");

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

@ -6,8 +6,10 @@ DIRS += [
'animation', 'animation',
'animation-old', 'animation-old',
'boxmodel', 'boxmodel',
'changes',
'components', 'components',
'computed', 'computed',
'events',
'extensions', 'extensions',
'flexbox', 'flexbox',
'fonts', 'fonts',

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

@ -9,6 +9,8 @@
exports.animations = require("devtools/client/inspector/animation/reducers/animations"); exports.animations = require("devtools/client/inspector/animation/reducers/animations");
exports.boxModel = require("devtools/client/inspector/boxmodel/reducers/box-model"); exports.boxModel = require("devtools/client/inspector/boxmodel/reducers/box-model");
exports.changes = require("devtools/client/inspector/changes/reducers/changes");
exports.events = require("devtools/client/inspector/events/reducers/events");
exports.extensionsSidebar = require("devtools/client/inspector/extensions/reducers/sidebar"); exports.extensionsSidebar = require("devtools/client/inspector/extensions/reducers/sidebar");
exports.flexbox = require("devtools/client/inspector/flexbox/reducers/flexbox"); exports.flexbox = require("devtools/client/inspector/flexbox/reducers/flexbox");
exports.fontOptions = require("devtools/client/inspector/fonts/reducers/font-options"); exports.fontOptions = require("devtools/client/inspector/fonts/reducers/font-options");

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

@ -405,6 +405,16 @@ inspector.sidebar.layoutViewTitle2=Layout
# name. Used to promote new/recent panels such as the layout panel. # name. Used to promote new/recent panels such as the layout panel.
inspector.sidebar.newBadge=new! inspector.sidebar.newBadge=new!
# LOCALIZATION NOTE (inspector.sidebar.changesViewTitle):
# This is the title shown in a tab in the side panel of the Inspector panel
# that corresponds to the tool displaying CSS changes.
inspector.sidebar.changesViewTitle=Changes
# LOCALIZATION NOTE (inspector.sidebar.eventsViewTitle):
# This is the title shown in a tab in the side panel of the Inspector panel
# that corresponds to the tool displaying the list of event listeners used in the page.
inspector.sidebar.eventsViewTitle=Events
# LOCALIZATION NOTE (inspector.sidebar.animationInspectorTitle): # LOCALIZATION NOTE (inspector.sidebar.animationInspectorTitle):
# This is the title shown in a tab in the side panel of the Inspector panel # This is the title shown in a tab in the side panel of the Inspector panel
# that corresponds to the tool displaying animations defined in the page. # that corresponds to the tool displaying animations defined in the page.

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

@ -69,6 +69,10 @@ pref("devtools.inspector.showAllAnonymousContent", false);
pref("devtools.inspector.flexboxHighlighter.enabled", false); pref("devtools.inspector.flexboxHighlighter.enabled", false);
// Enable the CSS shapes highlighter // Enable the CSS shapes highlighter
pref("devtools.inspector.shapesHighlighter.enabled", true); pref("devtools.inspector.shapesHighlighter.enabled", true);
// Enable the Changes View
pref("devtools.changesview.enabled", false);
// Enable the Events View
pref("devtools.eventsview.enabled", false);
// Enable the Flexbox Inspector panel // Enable the Flexbox Inspector panel
pref("devtools.flexboxinspector.enabled", false); pref("devtools.flexboxinspector.enabled", false);
// Enable the new Animation Inspector in Nightly only // Enable the new Animation Inspector in Nightly only