|
@@ -0,0 +1,564 @@
|
|
|
+# HG changeset patch
|
|
|
+# User J. Ryan Stinnett <jryans@gmail.com>
|
|
|
+# Date 1527118236 18000
|
|
|
+# Node ID 73d696f9e675f144e6284f0f6517f04f88612ba5
|
|
|
+# Parent b49efc8e82635a1e20031f51f297d6ed18d1bcd3
|
|
|
+Bug 1463924 - Remove Dev. Edition promo doorhanger. r=nchevobbe
|
|
|
+
|
|
|
+MozReview-Commit-ID: LIg6o35CvD2
|
|
|
+
|
|
|
+diff --git a/devtools/client/framework/dev-edition-promo/dev-edition-logo.png b/devtools/client/framework/dev-edition-promo/dev-edition-logo.png
|
|
|
+deleted file mode 100644
|
|
|
+index 4b90768d2d172703a185da55bf3ab9e619ca6a63..0000000000000000000000000000000000000000
|
|
|
+GIT binary patch
|
|
|
+literal 0
|
|
|
+Hc$@<O00001
|
|
|
+
|
|
|
+diff --git a/devtools/client/framework/dev-edition-promo/dev-edition-promo.css b/devtools/client/framework/dev-edition-promo/dev-edition-promo.css
|
|
|
+deleted file mode 100644
|
|
|
+--- a/devtools/client/framework/dev-edition-promo/dev-edition-promo.css
|
|
|
++++ /dev/null
|
|
|
+@@ -1,94 +0,0 @@
|
|
|
+-/* 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/. */
|
|
|
+-
|
|
|
+-window {
|
|
|
+- -moz-appearance: none;
|
|
|
+- background-color: transparent;
|
|
|
+-}
|
|
|
+-
|
|
|
+-#doorhanger-container {
|
|
|
+- width: 450px;
|
|
|
+-}
|
|
|
+-
|
|
|
+-#top-panel {
|
|
|
+- padding: 20px;
|
|
|
+- background: #343c45; /* toolbars */
|
|
|
+- color: #8fa1b2; /* body text */
|
|
|
+-/*
|
|
|
+- * Sloppy preprocessing since UNIX_BUT_NOT_MAC is only defined
|
|
|
+- * in `browser/app/profile/firefox.js`, which this file cannot
|
|
|
+- * depend on. Must style font-size to target linux.
|
|
|
+- */
|
|
|
+-%ifdef XP_UNIX
|
|
|
+-%ifndef XP_MACOSX
|
|
|
+- font-size: 13px;
|
|
|
+-%else
|
|
|
+- font-size: 15px;
|
|
|
+-%endif
|
|
|
+-%else
|
|
|
+- font-size: 15px;
|
|
|
+-%endif
|
|
|
+- line-height: 19px;
|
|
|
+- min-height: 100px;
|
|
|
+-}
|
|
|
+-
|
|
|
+-#top-panel h1 {
|
|
|
+- font-weight: bold;
|
|
|
+- font-family: Open Sans, sans-serif;
|
|
|
+- font-size: 1.1em;
|
|
|
+-}
|
|
|
+-
|
|
|
+-#top-panel p {
|
|
|
+- font-family: Open Sans, sans-serif;
|
|
|
+- font-size: 0.9em;
|
|
|
+- width: 300px;
|
|
|
+- display: block;
|
|
|
+- margin: 5px 0px 0px 0px;
|
|
|
+-}
|
|
|
+-
|
|
|
+-#icon {
|
|
|
+- background-image: url("chrome://devtools/content/framework/dev-edition-promo/dev-edition-logo.png");
|
|
|
+- background-size: 64px 64px;
|
|
|
+- background-repeat: no-repeat;
|
|
|
+- width: 64px;
|
|
|
+- height: 64px;
|
|
|
+- margin-right: 20px;
|
|
|
+-}
|
|
|
+-
|
|
|
+-#lower-panel {
|
|
|
+- padding: 20px;
|
|
|
+- background-color: #252c33; /* tab toolbars */
|
|
|
+- min-height: 75px;
|
|
|
+- border-top: 1px solid #292e33; /* text high contrast (light) */
|
|
|
+-}
|
|
|
+-
|
|
|
+-#button-container {
|
|
|
+- margin: auto 20px;
|
|
|
+-}
|
|
|
+-
|
|
|
+-#button-container button {
|
|
|
+- font: message-box !important;
|
|
|
+- font-size: 16px !important;
|
|
|
+- cursor: pointer;
|
|
|
+- width: 125px;
|
|
|
+- opacity: 1;
|
|
|
+- position: static;
|
|
|
+- -moz-appearance: none;
|
|
|
+- border-radius: 5px;
|
|
|
+- height: 30px;
|
|
|
+- width: 450px;
|
|
|
+- /* Override embossed borders on Windows/Linux */
|
|
|
+- border: none;
|
|
|
+-}
|
|
|
+-
|
|
|
+-#close {
|
|
|
+- background-color: transparent;
|
|
|
+- color: #8fa1b2; /* body text */
|
|
|
+-}
|
|
|
+-
|
|
|
+-#go {
|
|
|
+- margin-left: 100px;
|
|
|
+- background-color: #70bf53; /* green */
|
|
|
+- color: #f5f7fa; /* selection text color */
|
|
|
+-}
|
|
|
+diff --git a/devtools/client/framework/dev-edition-promo/dev-edition-promo.xul b/devtools/client/framework/dev-edition-promo/dev-edition-promo.xul
|
|
|
+deleted file mode 100644
|
|
|
+--- a/devtools/client/framework/dev-edition-promo/dev-edition-promo.xul
|
|
|
++++ /dev/null
|
|
|
+@@ -1,36 +0,0 @@
|
|
|
+-<?xml version="1.0" encoding="utf-8"?>
|
|
|
+-<!-- 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/. -->
|
|
|
+-<!DOCTYPE window [
|
|
|
+-<!ENTITY % toolboxDTD SYSTEM "chrome://devtools/locale/toolbox.dtd" >
|
|
|
+- %toolboxDTD;
|
|
|
+-]>
|
|
|
+-<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>
|
|
|
+-<?xml-stylesheet rel="stylesheet" href="chrome://devtools/content/framework/dev-edition-promo/dev-edition-promo.css" type="text/css"?>
|
|
|
+-
|
|
|
+-<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="dev-edition-promo">
|
|
|
+- <vbox id="doorhanger-container">
|
|
|
+- <hbox flex="1" id="top-panel">
|
|
|
+- <image id="icon" />
|
|
|
+- <vbox id="info">
|
|
|
+- <h1>Using Developer Tools in your browser?</h1>
|
|
|
+- <p>Download Firefox Developer Edition, our first browser made just for you.</p>
|
|
|
+- </vbox>
|
|
|
+- </hbox>
|
|
|
+- <hbox id="lower-panel" flex="1">
|
|
|
+- <hbox id="button-container" flex="1">
|
|
|
+- <button id="close"
|
|
|
+- flex="1"
|
|
|
+- standalone="true"
|
|
|
+- label="No thanks">
|
|
|
+- </button>
|
|
|
+- <button id="go"
|
|
|
+- flex="1"
|
|
|
+- standalone="true"
|
|
|
+- label="Learn more »">
|
|
|
+- </button>
|
|
|
+- </hbox>
|
|
|
+- </hbox>
|
|
|
+- </vbox>
|
|
|
+-</window>
|
|
|
+diff --git a/devtools/client/framework/toolbox.js b/devtools/client/framework/toolbox.js
|
|
|
+--- a/devtools/client/framework/toolbox.js
|
|
|
++++ b/devtools/client/framework/toolbox.js
|
|
|
+@@ -40,18 +40,16 @@ const L10N = new LocalizationHelper("dev
|
|
|
+ loader.lazyRequireGetter(this, "getHighlighterUtils",
|
|
|
+ "devtools/client/framework/toolbox-highlighter-utils", true);
|
|
|
+ loader.lazyRequireGetter(this, "Selection",
|
|
|
+ "devtools/client/framework/selection", true);
|
|
|
+ loader.lazyRequireGetter(this, "InspectorFront",
|
|
|
+ "devtools/shared/fronts/inspector", true);
|
|
|
+ loader.lazyRequireGetter(this, "flags",
|
|
|
+ "devtools/shared/flags");
|
|
|
+-loader.lazyRequireGetter(this, "showDoorhanger",
|
|
|
+- "devtools/client/shared/doorhanger", true);
|
|
|
+ loader.lazyRequireGetter(this, "createPerformanceFront",
|
|
|
+ "devtools/shared/fronts/performance", true);
|
|
|
+ loader.lazyRequireGetter(this, "system",
|
|
|
+ "devtools/shared/system");
|
|
|
+ loader.lazyRequireGetter(this, "getPreferenceFront",
|
|
|
+ "devtools/shared/fronts/preference", true);
|
|
|
+ loader.lazyRequireGetter(this, "KeyShortcuts",
|
|
|
+ "devtools/client/shared/key-shortcuts");
|
|
|
+@@ -132,17 +130,16 @@ function Toolbox(target, selectedTool, h
|
|
|
+ this._highlighterReady = this._highlighterReady.bind(this);
|
|
|
+ this._highlighterHidden = this._highlighterHidden.bind(this);
|
|
|
+ this._applyCacheSettings = this._applyCacheSettings.bind(this);
|
|
|
+ this._applyServiceWorkersTestingSettings =
|
|
|
+ this._applyServiceWorkersTestingSettings.bind(this);
|
|
|
+ this._saveSplitConsoleHeight = this._saveSplitConsoleHeight.bind(this);
|
|
|
+ this._onFocus = this._onFocus.bind(this);
|
|
|
+ this._onBrowserMessage = this._onBrowserMessage.bind(this);
|
|
|
+- this._showDevEditionPromo = this._showDevEditionPromo.bind(this);
|
|
|
+ this._updateTextBoxMenuItems = this._updateTextBoxMenuItems.bind(this);
|
|
|
+ this._onBottomHostMinimized = this._onBottomHostMinimized.bind(this);
|
|
|
+ this._onBottomHostMaximized = this._onBottomHostMaximized.bind(this);
|
|
|
+ this._onToolSelectWhileMinimized = this._onToolSelectWhileMinimized.bind(this);
|
|
|
+ this._onPerformanceFrontEvent = this._onPerformanceFrontEvent.bind(this);
|
|
|
+ this._onBottomHostWillChange = this._onBottomHostWillChange.bind(this);
|
|
|
+ this._toggleMinimizeMode = this._toggleMinimizeMode.bind(this);
|
|
|
+ this._onToolbarFocus = this._onToolbarFocus.bind(this);
|
|
|
+@@ -174,18 +171,16 @@ function Toolbox(target, selectedTool, h
|
|
|
+ this._target.on("navigate", this._refreshHostTitle);
|
|
|
+ this._target.on("frame-update", this._updateFrames);
|
|
|
+ this._target.on("inspect-object", this._onInspectObject);
|
|
|
+
|
|
|
+ this.on("host-changed", this._refreshHostTitle);
|
|
|
+ this.on("select", this._refreshHostTitle);
|
|
|
+ this.on("select", this._updatePickerButton);
|
|
|
+
|
|
|
+- this.on("ready", this._showDevEditionPromo);
|
|
|
+-
|
|
|
+ gDevTools.on("tool-registered", this._toolRegistered);
|
|
|
+ gDevTools.on("tool-unregistered", this._toolUnregistered);
|
|
|
+
|
|
|
+ this.on("picker-started", this._onPickerStarted);
|
|
|
+ this.on("picker-stopped", this._onPickerStopped);
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Get text direction for the current locale direction.
|
|
|
+@@ -2669,17 +2664,16 @@ Toolbox.prototype = {
|
|
|
+
|
|
|
+ this._target.off("inspect-object", this._onInspectObject);
|
|
|
+ this._target.off("will-navigate", this._onWillNavigate);
|
|
|
+ this._target.off("navigate", this._refreshHostTitle);
|
|
|
+ this._target.off("frame-update", this._updateFrames);
|
|
|
+ this.off("select", this._refreshHostTitle);
|
|
|
+ this.off("select", this._updatePickerButton);
|
|
|
+ this.off("host-changed", this._refreshHostTitle);
|
|
|
+- this.off("ready", this._showDevEditionPromo);
|
|
|
+
|
|
|
+ gDevTools.off("tool-registered", this._toolRegistered);
|
|
|
+ gDevTools.off("tool-unregistered", this._toolUnregistered);
|
|
|
+
|
|
|
+ Services.prefs.removeObserver("devtools.cache.disabled", this._applyCacheSettings);
|
|
|
+ Services.prefs.removeObserver("devtools.serviceWorkers.testing.enabled",
|
|
|
+ this._applyServiceWorkersTestingSettings);
|
|
|
+
|
|
|
+@@ -2840,28 +2834,16 @@ Toolbox.prototype = {
|
|
|
+ this.emit("highlighter-ready");
|
|
|
+ },
|
|
|
+
|
|
|
+ _highlighterHidden: function() {
|
|
|
+ this.emit("highlighter-hide");
|
|
|
+ },
|
|
|
+
|
|
|
+ /**
|
|
|
+- * For displaying the promotional Doorhanger on first opening of
|
|
|
+- * the developer tools, promoting the Developer Edition.
|
|
|
+- */
|
|
|
+- _showDevEditionPromo: function() {
|
|
|
+- // Do not display in browser toolbox
|
|
|
+- if (this.target.chrome) {
|
|
|
+- return;
|
|
|
+- }
|
|
|
+- showDoorhanger({ window: this.win, type: "deveditionpromo" });
|
|
|
+- },
|
|
|
+-
|
|
|
+- /**
|
|
|
+ * Enable / disable necessary textbox menu items using globalOverlay.js.
|
|
|
+ */
|
|
|
+ _updateTextBoxMenuItems: function() {
|
|
|
+ let window = this.win;
|
|
|
+ ["cmd_undo", "cmd_delete", "cmd_cut",
|
|
|
+ "cmd_copy", "cmd_paste", "cmd_selectAll"].forEach(window.goUpdateCommand);
|
|
|
+ },
|
|
|
+
|
|
|
+diff --git a/devtools/client/jar.mn b/devtools/client/jar.mn
|
|
|
+--- a/devtools/client/jar.mn
|
|
|
++++ b/devtools/client/jar.mn
|
|
|
+@@ -82,19 +82,16 @@ devtools.jar:
|
|
|
+ content/commandline/commandlinetooltip.xhtml (commandline/commandlinetooltip.xhtml)
|
|
|
+ content/framework/toolbox-window.xul (framework/toolbox-window.xul)
|
|
|
+ content/framework/toolbox-options.xhtml (framework/toolbox-options.xhtml)
|
|
|
+ content/framework/toolbox.xul (framework/toolbox.xul)
|
|
|
+ content/framework/toolbox-init.js (framework/toolbox-init.js)
|
|
|
+ content/framework/options-panel.css (framework/options-panel.css)
|
|
|
+ content/framework/toolbox-process-window.xul (framework/toolbox-process-window.xul)
|
|
|
+ content/framework/toolbox-process-window.js (framework/toolbox-process-window.js)
|
|
|
+- content/framework/dev-edition-promo/dev-edition-promo.xul (framework/dev-edition-promo/dev-edition-promo.xul)
|
|
|
+-* content/framework/dev-edition-promo/dev-edition-promo.css (framework/dev-edition-promo/dev-edition-promo.css)
|
|
|
+- content/framework/dev-edition-promo/dev-edition-logo.png (framework/dev-edition-promo/dev-edition-logo.png)
|
|
|
+ content/inspector/inspector.xhtml (inspector/inspector.xhtml)
|
|
|
+ content/framework/connect/connect.xhtml (framework/connect/connect.xhtml)
|
|
|
+ content/framework/connect/connect.css (framework/connect/connect.css)
|
|
|
+ content/framework/connect/connect.js (framework/connect/connect.js)
|
|
|
+ content/shared/widgets/graphs-frame.xhtml (shared/widgets/graphs-frame.xhtml)
|
|
|
+ content/shared/widgets/cubic-bezier.css (shared/widgets/cubic-bezier.css)
|
|
|
+ content/shared/widgets/filter-widget.css (shared/widgets/filter-widget.css)
|
|
|
+ content/shared/widgets/color-widget.css (shared/widgets/color-widget.css)
|
|
|
+diff --git a/devtools/client/preferences/devtools.js b/devtools/client/preferences/devtools.js
|
|
|
+--- a/devtools/client/preferences/devtools.js
|
|
|
++++ b/devtools/client/preferences/devtools.js
|
|
|
+@@ -1,23 +1,12 @@
|
|
|
+ /* 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/. */
|
|
|
+
|
|
|
+-// Developer edition promo preferences
|
|
|
+-pref("devtools.devedition.promo.shown", false);
|
|
|
+-pref("devtools.devedition.promo.url", "https://www.mozilla.org/firefox/developer/?utm_source=firefox-dev-tools&utm_medium=firefox-browser&utm_content=betadoorhanger");
|
|
|
+-
|
|
|
+-// Only potentially show in beta release
|
|
|
+-#if MOZ_UPDATE_CHANNEL == beta
|
|
|
+- pref("devtools.devedition.promo.enabled", true);
|
|
|
+-#else
|
|
|
+- pref("devtools.devedition.promo.enabled", false);
|
|
|
+-#endif
|
|
|
+-
|
|
|
+ // Developer toolbar preferences
|
|
|
+ pref("devtools.toolbar.enabled", true);
|
|
|
+
|
|
|
+ // Toolbox preferences
|
|
|
+ pref("devtools.toolbox.footer.height", 250);
|
|
|
+ pref("devtools.toolbox.sidebar.width", 500);
|
|
|
+ pref("devtools.toolbox.host", "bottom");
|
|
|
+ pref("devtools.toolbox.previousHost", "side");
|
|
|
+diff --git a/devtools/client/shared/doorhanger.js b/devtools/client/shared/doorhanger.js
|
|
|
+deleted file mode 100644
|
|
|
+--- a/devtools/client/shared/doorhanger.js
|
|
|
++++ /dev/null
|
|
|
+@@ -1,155 +0,0 @@
|
|
|
+-/* 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 Services = require("Services");
|
|
|
+-const { DOMHelpers } = require("resource://devtools/client/shared/DOMHelpers.jsm");
|
|
|
+-
|
|
|
+-const XULNS = "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul";
|
|
|
+-const DEV_EDITION_PROMO_URL = "chrome://devtools/content/framework/dev-edition-promo/dev-edition-promo.xul";
|
|
|
+-const DEV_EDITION_PROMO_ENABLED_PREF = "devtools.devedition.promo.enabled";
|
|
|
+-const DEV_EDITION_PROMO_SHOWN_PREF = "devtools.devedition.promo.shown";
|
|
|
+-const DEV_EDITION_PROMO_URL_PREF = "devtools.devedition.promo.url";
|
|
|
+-
|
|
|
+-/**
|
|
|
+- * Only show Dev Edition promo if it's enabled (beta channel),
|
|
|
+- * if it has not been shown before, and it's a locale build
|
|
|
+- * for `en-US`
|
|
|
+- */
|
|
|
+-function shouldDevEditionPromoShow() {
|
|
|
+- return Services.prefs.getBoolPref(DEV_EDITION_PROMO_ENABLED_PREF) &&
|
|
|
+- !Services.prefs.getBoolPref(DEV_EDITION_PROMO_SHOWN_PREF) &&
|
|
|
+- Services.locale.getAppLocaleAsLangTag() === "en-US";
|
|
|
+-}
|
|
|
+-
|
|
|
+-var TYPES = {
|
|
|
+- // The Developer Edition promo doorhanger, called by
|
|
|
+- // opening the toolbox, browser console or responsive design mode
|
|
|
+- // in Beta releases. Only displayed once per profile.
|
|
|
+- deveditionpromo: {
|
|
|
+- predicate: shouldDevEditionPromoShow,
|
|
|
+- success: () => {
|
|
|
+- return Services.prefs.setBoolPref(DEV_EDITION_PROMO_SHOWN_PREF, true);
|
|
|
+- },
|
|
|
+- action: () => {
|
|
|
+- let url = Services.prefs.getCharPref(DEV_EDITION_PROMO_URL_PREF);
|
|
|
+- getGBrowser().selectedTab = getGBrowser().addTab(url);
|
|
|
+- },
|
|
|
+- url: DEV_EDITION_PROMO_URL
|
|
|
+- }
|
|
|
+-};
|
|
|
+-
|
|
|
+-var panelAttrs = {
|
|
|
+- orient: "vertical",
|
|
|
+- hidden: "false",
|
|
|
+- consumeoutsideclicks: "true",
|
|
|
+- noautofocus: "true",
|
|
|
+- align: "start",
|
|
|
+- role: "alert"
|
|
|
+-};
|
|
|
+-
|
|
|
+-/**
|
|
|
+- * Helper to call a doorhanger, defined in `TYPES`, with defined conditions,
|
|
|
+- * success handlers and loads its own XUL in a frame. Takes an object with
|
|
|
+- * several properties:
|
|
|
+- *
|
|
|
+- * @param {XULWindow} window
|
|
|
+- * The window that should house the doorhanger.
|
|
|
+- * @param {String} type
|
|
|
+- * The type of doorhanger to be displayed is, using the `TYPES`
|
|
|
+- * definition.
|
|
|
+- * @param {String} selector
|
|
|
+- * The selector that the doorhanger should be appended to within
|
|
|
+- * `window`. Defaults to a XUL Document's `window` element.
|
|
|
+- */
|
|
|
+-exports.showDoorhanger = async function({ window, type, anchor }) {
|
|
|
+- let { predicate, success, url, action } = TYPES[type];
|
|
|
+- // Abort if predicate fails
|
|
|
+- if (!predicate()) {
|
|
|
+- return;
|
|
|
+- }
|
|
|
+-
|
|
|
+- // Call success function to set preferences/cleanup immediately,
|
|
|
+- // so if triggered multiple times, only happens once (Windows/Linux)
|
|
|
+- success();
|
|
|
+-
|
|
|
+- // Wait 200ms to prevent flickering where the popup is displayed
|
|
|
+- // before the underlying window (Windows 7, 64bit)
|
|
|
+- await wait(200);
|
|
|
+-
|
|
|
+- let document = window.document;
|
|
|
+-
|
|
|
+- let panel = document.createElementNS(XULNS, "panel");
|
|
|
+- let frame = document.createElementNS(XULNS, "iframe");
|
|
|
+- let parentEl = document.querySelector("window");
|
|
|
+-
|
|
|
+- frame.setAttribute("src", url);
|
|
|
+- let close = () => parentEl.removeChild(panel);
|
|
|
+-
|
|
|
+- setDoorhangerStyle(panel, frame);
|
|
|
+-
|
|
|
+- panel.appendChild(frame);
|
|
|
+- parentEl.appendChild(panel);
|
|
|
+-
|
|
|
+- await onFrameLoad(frame);
|
|
|
+-
|
|
|
+- panel.openPopup(anchor);
|
|
|
+-
|
|
|
+- let closeBtn = frame.contentDocument.querySelector("#close");
|
|
|
+- if (closeBtn) {
|
|
|
+- closeBtn.addEventListener("click", close);
|
|
|
+- }
|
|
|
+-
|
|
|
+- let goBtn = frame.contentDocument.querySelector("#go");
|
|
|
+- if (goBtn) {
|
|
|
+- goBtn.addEventListener("click", () => {
|
|
|
+- if (action) {
|
|
|
+- action();
|
|
|
+- }
|
|
|
+- close();
|
|
|
+- });
|
|
|
+- }
|
|
|
+-};
|
|
|
+-
|
|
|
+-function setDoorhangerStyle(panel, frame) {
|
|
|
+- Object.keys(panelAttrs).forEach(prop => {
|
|
|
+- return panel.setAttribute(prop, panelAttrs[prop]);
|
|
|
+- });
|
|
|
+- panel.style.margin = "20px";
|
|
|
+- panel.style.borderRadius = "5px";
|
|
|
+- panel.style.border = "none";
|
|
|
+- panel.style.MozAppearance = "none";
|
|
|
+- panel.style.backgroundColor = "transparent";
|
|
|
+-
|
|
|
+- frame.style.borderRadius = "5px";
|
|
|
+- frame.setAttribute("flex", "1");
|
|
|
+- frame.setAttribute("width", "450");
|
|
|
+- frame.setAttribute("height", "179");
|
|
|
+-}
|
|
|
+-
|
|
|
+-function onFrameLoad(frame) {
|
|
|
+- return new Promise((resolve, reject) => {
|
|
|
+- if (frame.contentWindow) {
|
|
|
+- let domHelper = new DOMHelpers(frame.contentWindow);
|
|
|
+- domHelper.onceDOMReady(resolve);
|
|
|
+- } else {
|
|
|
+- let callback = () => {
|
|
|
+- frame.removeEventListener("DOMContentLoaded", callback);
|
|
|
+- resolve();
|
|
|
+- };
|
|
|
+- frame.addEventListener("DOMContentLoaded", callback);
|
|
|
+- }
|
|
|
+- });
|
|
|
+-}
|
|
|
+-
|
|
|
+-function getGBrowser() {
|
|
|
+- return Services.wm.getMostRecentWindow("navigator:browser").gBrowser;
|
|
|
+-}
|
|
|
+-
|
|
|
+-function wait(n) {
|
|
|
+- return new Promise((resolve, reject) => {
|
|
|
+- setTimeout(resolve, n);
|
|
|
+- });
|
|
|
+-}
|
|
|
+diff --git a/devtools/client/shared/moz.build b/devtools/client/shared/moz.build
|
|
|
+--- a/devtools/client/shared/moz.build
|
|
|
++++ b/devtools/client/shared/moz.build
|
|
|
+@@ -24,17 +24,16 @@ DevToolsModules(
|
|
|
+ 'autocomplete-popup.js',
|
|
|
+ 'browser-loader.js',
|
|
|
+ 'css-angle.js',
|
|
|
+ 'curl.js',
|
|
|
+ 'demangle.js',
|
|
|
+ 'developer-toolbar.js',
|
|
|
+ 'devices.js',
|
|
|
+ 'DOMHelpers.jsm',
|
|
|
+- 'doorhanger.js',
|
|
|
+ 'enum.js',
|
|
|
+ 'file-saver.js',
|
|
|
+ 'getjson.js',
|
|
|
+ 'inplace-editor.js',
|
|
|
+ 'key-shortcuts.js',
|
|
|
+ 'keycodes.js',
|
|
|
+ 'natural-sort.js',
|
|
|
+ 'network-throttling-profiles.js',
|
|
|
+diff --git a/devtools/client/webconsole/hudservice.js b/devtools/client/webconsole/hudservice.js
|
|
|
+--- a/devtools/client/webconsole/hudservice.js
|
|
|
++++ b/devtools/client/webconsole/hudservice.js
|
|
|
+@@ -11,17 +11,16 @@ loader.lazyRequireGetter(this, "TargetFa
|
|
|
+ loader.lazyRequireGetter(this, "gDevToolsBrowser", "devtools/client/framework/devtools-browser", true);
|
|
|
+ loader.lazyRequireGetter(this, "Tools", "devtools/client/definitions", true);
|
|
|
+ loader.lazyRequireGetter(this, "Telemetry", "devtools/client/shared/telemetry");
|
|
|
+ loader.lazyRequireGetter(this, "WebConsoleFrame", "devtools/client/webconsole/webconsole", true);
|
|
|
+ loader.lazyRequireGetter(this, "NewWebConsoleFrame", "devtools/client/webconsole/new-webconsole", true);
|
|
|
+ loader.lazyRequireGetter(this, "gDevTools", "devtools/client/framework/devtools", true);
|
|
|
+ loader.lazyRequireGetter(this, "DebuggerServer", "devtools/server/main", true);
|
|
|
+ loader.lazyRequireGetter(this, "DebuggerClient", "devtools/shared/client/debugger-client", true);
|
|
|
+-loader.lazyRequireGetter(this, "showDoorhanger", "devtools/client/shared/doorhanger", true);
|
|
|
+ loader.lazyRequireGetter(this, "viewSource", "devtools/client/shared/view-source");
|
|
|
+ loader.lazyRequireGetter(this, "l10n", "devtools/client/webconsole/webconsole-l10n");
|
|
|
+ const BC_WINDOW_FEATURES = "chrome,titlebar,toolbar,centerscreen,resizable,dialog=no";
|
|
|
+
|
|
|
+ // The preference prefix for all of the Browser Console filters.
|
|
|
+ const BC_FILTER_PREFS_PREFIX = "devtools.browserconsole.filter.";
|
|
|
+
|
|
|
+ var gHudId = 0;
|
|
|
+@@ -604,28 +603,21 @@ BrowserConsole.prototype = extend(WebCon
|
|
|
+
|
|
|
+ this.ui._filterPrefsPrefix = BC_FILTER_PREFS_PREFIX;
|
|
|
+
|
|
|
+ let window = this.iframeWindow;
|
|
|
+
|
|
|
+ // Make sure that the closing of the Browser Console window destroys this
|
|
|
+ // instance.
|
|
|
+ window.addEventListener("unload", () => {
|
|
|
+- window.removeEventListener("focus", onFocus);
|
|
|
+ this.destroy();
|
|
|
+ }, {once: true});
|
|
|
+
|
|
|
+ this._telemetry.toolOpened("browserconsole");
|
|
|
+
|
|
|
+- // Create an onFocus handler just to display the dev edition promo.
|
|
|
+- // This is to prevent race conditions in some environments.
|
|
|
+- // Hook to display promotional Developer Edition doorhanger. Only displayed once.
|
|
|
+- let onFocus = () => showDoorhanger({ window, type: "deveditionpromo" });
|
|
|
+- window.addEventListener("focus", onFocus);
|
|
|
+-
|
|
|
+ this._bcInit = this.$init();
|
|
|
+ return this._bcInit;
|
|
|
+ },
|
|
|
+
|
|
|
+ $destroy: WebConsole.prototype.destroy,
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Destroy the object.
|
|
|
+diff --git a/testing/profiles/common/user.js b/testing/profiles/common/user.js
|
|
|
+--- a/testing/profiles/common/user.js
|
|
|
++++ b/testing/profiles/common/user.js
|
|
|
+@@ -25,17 +25,16 @@ user_pref("browser.shell.checkDefaultBro
|
|
|
+ user_pref("shell.checkDefaultClient", false);
|
|
|
+ user_pref("browser.warnOnQuit", false);
|
|
|
+ user_pref("accessibility.typeaheadfind.autostart", false);
|
|
|
+ user_pref("findbar.highlightAll", false);
|
|
|
+ user_pref("findbar.modalHighlight", false);
|
|
|
+ user_pref("javascript.options.showInConsole", true);
|
|
|
+ user_pref("devtools.browsertoolbox.panel", "jsdebugger");
|
|
|
+ user_pref("devtools.debugger.remote-port", 6023);
|
|
|
+-user_pref("devtools.devedition.promo.enabled", false);
|
|
|
+ user_pref("devtools.chrome.enabled", false);
|
|
|
+ user_pref("devtools.debugger.remote-enabled", false);
|
|
|
+ user_pref("devtools.debugger.prompt-connection", true);
|
|
|
+ user_pref("browser.EULA.override", true);
|
|
|
+ user_pref("gfx.color_management.force_srgb", true);
|
|
|
+ user_pref("gfx.logging.level", 1);
|
|
|
+ user_pref("network.manage-offline-status", false);
|
|
|
+ // Disable speculative connections so they aren't reported as leaking when they're hanging around.
|