Merge mozilla-central to mozilla-inbound

This commit is contained in:
Carsten "Tomcat" Book 2017-08-09 12:27:38 +02:00
Родитель 6618be4e90 c329d562fb
Коммит 769d17f306
561 изменённых файлов: 14537 добавлений и 11548 удалений

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

@ -174,6 +174,7 @@ devtools/client/debugger/test/mochitest/code_worker-source-map.js
devtools/client/framework/test/code_ugly*
devtools/client/inspector/markup/test/events_bundle.js
devtools/client/netmonitor/test/xhr_bundle.js
devtools/client/webconsole/new-console-output/test/mochitest/code_bundle_nosource.js
devtools/server/tests/unit/babel_and_browserify_script_with_source_map.js
devtools/server/tests/unit/setBreakpoint*
devtools/server/tests/unit/sourcemapped.js
@ -339,9 +340,6 @@ toolkit/components/workerloader/tests/moduleF-syntax-error.js
# Tests old non-star function generators
toolkit/modules/tests/xpcshell/test_task.js
# Not yet updated
toolkit/components/url-classifier/**
# External code:
toolkit/components/microformats/test/**
toolkit/components/microformats/microformat-shiv.js

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

@ -0,0 +1,48 @@
/* 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/. */
/**
* Extra features for local development. This file isn't loaded in
* non-local builds.
*/
var DevelopmentHelpers = {
init() {
this.quickRestart = this.quickRestart.bind(this);
this.addRestartShortcut();
},
quickRestart() {
Services.obs.notifyObservers(null, "startupcache-invalidate");
let env = Cc["@mozilla.org/process/environment;1"].
getService(Components.interfaces.nsIEnvironment);
env.set("MOZ_DISABLE_SAFE_MODE_KEY", "1");
Services.startup.quit(Ci.nsIAppStartup.eAttemptQuit | Ci.nsIAppStartup.eRestart);
},
addRestartShortcut() {
let command = document.createElement("command");
command.setAttribute("id", "cmd_quickRestart");
command.addEventListener("command", this.quickRestart, true);
command.setAttribute("oncommand", "void 0;"); // Needed - bug 371900
document.getElementById("mainCommandSet").prepend(command);
let key = document.createElement("key");
key.setAttribute("id", "key_quickRestart");
key.setAttribute("key", "r");
key.setAttribute("modifiers", "accel,alt");
key.setAttribute("command", "cmd_quickRestart");
key.setAttribute("oncommand", "void 0;"); // Needed - bug 371900
document.getElementById("mainKeyset").prepend(key);
let menuitem = document.createElement("menuitem");
menuitem.setAttribute("id", "menu_FileRestartItem");
menuitem.setAttribute("key", "key_quickRestart");
menuitem.setAttribute("label", "Restart (Developer)");
menuitem.addEventListener("command", this.quickRestart, true);
document.getElementById("menu_FilePopup").appendChild(menuitem);
},
};

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

@ -1688,6 +1688,9 @@ var gBrowserInit = {
if (AppConstants.MOZ_DATA_REPORTING)
gDataNotificationInfoBar.init();
if (!AppConstants.MOZILLA_OFFICIAL)
DevelopmentHelpers.init();
requestIdleCallback(() => {
// setup simple gestures support
gGestureSupport.init(true);

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

@ -23,3 +23,7 @@
#ifdef MOZ_DATA_REPORTING
<script type="application/javascript" src="chrome://browser/content/browser-data-submission-info-bar.js"/>
#endif
#ifndef MOZILLA_OFFICIAL
<script type="application/javascript" src="chrome://browser/content/browser-development-helpers.js"/>
#endif

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

@ -19,8 +19,14 @@ var gPage = {
// Add ourselves to the list of pages to receive notifications.
gAllPages.register(this);
// Listen for 'unload' to unregister this page.
addEventListener("unload", this, false);
// Listen for 'unload' to unregister this page. Save a promise that can be
// passed to others to know when to clean up, e.g., background thumbnails.
this.unloadingPromise = new Promise(resolve => {
addEventListener("unload", () => {
resolve();
this._handleUnloadEvent();
});
});
// XXX bug 991111 - Not all click events are correctly triggered when
// listening from xhtml nodes -- in particular middle clicks on sites, so
@ -189,9 +195,6 @@ var gPage = {
case "load":
this.onPageVisibleAndLoaded();
break;
case "unload":
this._handleUnloadEvent();
break;
case "click":
let {button, target} = aEvent;
// Go up ancestors until we find a Site or not

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

@ -168,7 +168,8 @@ Site.prototype = {
*/
captureIfMissing: function Site_captureIfMissing() {
if (!document.hidden && !this.link.imageURI) {
BackgroundPageThumbs.captureIfMissing(this.url);
const {unloadingPromise} = gPage;
BackgroundPageThumbs.captureIfMissing(this.url, {unloadingPromise});
}
},

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

@ -121,6 +121,9 @@ var whitelist = [
// Needed by Normandy
{file: "resource://gre/modules/IndexedDB.jsm"},
// New L10n API that is not yet used in production
{file: "resource://gre/modules/Localization.jsm"},
// Starting from here, files in the whitelist are bugs that need fixing.
// Bug 1339420
{file: "chrome://branding/content/icon128.png"},

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

@ -69,6 +69,9 @@ browser.jar:
content/browser/browser-customization.js (content/browser-customization.js)
content/browser/browser-data-submission-info-bar.js (content/browser-data-submission-info-bar.js)
content/browser/browser-compacttheme.js (content/browser-compacttheme.js)
#ifndef MOZILLA_OFFICIAL
content/browser/browser-development-helpers.js (content/browser-development-helpers.js)
#endif
content/browser/browser-feeds.js (content/browser-feeds.js)
content/browser/browser-fullScreenAndPointerLock.js (content/browser-fullScreenAndPointerLock.js)
content/browser/browser-fullZoom.js (content/browser-fullZoom.js)

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

@ -11,6 +11,7 @@
background-image: url("chrome://branding/content/about-logo.png");
background-repeat: no-repeat;
background-size: 192px auto;
background-position: center 20%;
/* min-width and min-height create room for the logo */
min-width: 210px;
min-height: 210px;

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

@ -309,6 +309,7 @@
label="&alwaysCheckDefault2.label;" accesskey="&alwaysCheckDefault2.accesskey;"/>
<deck id="setDefaultPane">
<hbox align="center" class="indent">
<image class="face-sad"/>
<label id="isNotDefaultLabel" flex="1">&isNotDefault.label;</label>
<button id="setDefaultButton"
class="accessory-button"
@ -316,6 +317,7 @@
preference="pref.general.disable_button.default_browser"/>
</hbox>
<hbox align="center" class="indent">
<image class="face-smile"/>
<label id="isDefaultLabel" flex="1">&isDefault.label;</label>
</hbox>
</deck>
@ -828,6 +830,7 @@
disabled="true"/>
</hbox>
<hbox id="noUpdatesFound" align="center">
<image class="face-smile"/>
<label>&update.noUpdatesFound;</label>
<spacer flex="1"/>
<button label="&update.checkForUpdatesButton.label;"
@ -842,6 +845,7 @@
disabled="true"/>
</hbox>
<hbox id="manualUpdate" align="center">
<image class="face-sad"/>
<label>&update.manual.start;</label><label id="manualLink" class="text-link"/><label>&update.manual.end;</label>
<spacer flex="1"/>
<button label="&update.checkForUpdatesButton.label;"

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

@ -6,4 +6,3 @@ support-files =
[browser_as_load_location.js]
[browser_as_render.js]
[browser_getScreenshots.js]
skip-if=true # issue 2851

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

@ -8,6 +8,7 @@ notification.heartbeat {
background-color: #F1F1F1 !important;
border-bottom: 1px solid #C1C1C1 !important;
height: 40px;
color: #333 !important;
}
@keyframes pulse-onshow {
@ -49,7 +50,6 @@ notification.heartbeat {
}
.messageText.heartbeat {
color: #333 !important;
margin-inline-end: 12px !important; /* The !important is required to override OSX default style. */
margin-inline-start: 0;
text-shadow: none;

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

@ -25,10 +25,6 @@
margin-top: 2px !important;
}
#fxaProfileImage {
-moz-user-focus: normal;
}
menulist.actionsMenu > .menulist-dropmarker {
margin-top: 11px;
margin-bottom: 11px;
@ -38,11 +34,3 @@ textbox + button,
filefield + button {
margin-inline-start: -4px;
}
/**
* Dialog
*/
#dialogTitle {
font-size: 1em;
}

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

@ -19,10 +19,6 @@ prefpane .groupbox-title {
padding-inline-start: 3px;
}
#fxaProfileImage {
-moz-user-focus: normal;
}
textbox + button {
margin-inline-start: -4px;
}
@ -38,16 +34,3 @@ filefield + button {
padding-bottom: 0 !important;
border-bottom: none;
}
#advancedPrefs {
margin-right: 0; /*override margin from normal preferences.css */
margin-left: 0;
}
/**
* Dialog
*/
#dialogTitle {
font-size: 1.1em;
}

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

@ -0,0 +1,9 @@
<!-- 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/. -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
<path fill="#00D3E7" d="M9.94.8a9.01 9.01 0 0 0-9 9.42 1.07 1.07 0 0 0 .13 2.12h.21A9.01 9.01 0 1 0 9.94.8"/>
<path fill="#00A1C1" d="M18.93 10.21v-.4c0-2.4-.93-4.6-2.47-6.2A9.26 9.26 0 0 1 3.72 16.34a9 9 0 0 0 14.85-4l.21-.01c.6 0 1.07-.48 1.07-1.07.01-.54-.4-.99-.92-1.06"/>
<path fill="#323B59" d="M5.47 6.55a.99.99 0 0 0-.99.99v2.22a.99.99 0 1 0 1.98 0V7.54a.99.99 0 0 0-1-.99m8.98 0a.99.99 0 0 0-1 .99v2.22a.99.99 0 1 0 1.98 0V7.54a.99.99 0 0 0-.98-.99m-4.5 5.47a2.27 2.27 0 0 0-2.34 2.13c-.02.23.09.45.27.58.19.14.43.17.64.09 0 0 .47-.17 1.34-.17.91 0 1.55.19 1.56.19a.69.69 0 0 0 .61-.11.67.67 0 0 0 .26-.58 2.27 2.27 0 0 0-2.34-2.13"/>
<path fill="#00A1C1" d="M4.59 7.02c-.36 0-.72-.11-1.03-.32a.318.318 0 1 1 .35-.53 1.25 1.25 0 0 0 1.8-.47.313.313 0 1 1 .56.28 1.88 1.88 0 0 1-1.68 1.04m10.47 0a1.88 1.88 0 0 1-1.68-1.04.313.313 0 1 1 .56-.28 1.24 1.24 0 0 0 1.8.48.32.32 0 0 1 .35.53c-.3.2-.66.3-1.03.3"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.2 KiB

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

@ -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/. -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
<path fill="#FFBF49" d="M9.95.8A9.03 9.03 0 0 0 .92 9.83l.01.4a1.07 1.07 0 0 0 .14 2.13h.21A9.04 9.04 0 1 0 9.95.8"/>
<path fill="#323B59" d="M14.44 6.7c.55 0 1 .44 1 .99V9.9c0 .55-.45.12-1 .12s-.99.42-.99-.12V7.69c0-.55.45-1 1-1"/>
<path fill="#FFA500" d="M13.54 10.46a.31.31 0 0 1-.14-.59 2.36 2.36 0 0 1 2.08-.03.3.3 0 0 1 .14.41.3.3 0 0 1-.41.15 1.75 1.75 0 0 0-1.53.02.28.28 0 0 1-.14.04"/>
<path fill="#323B59" d="M5.46 6.7c.55 0 .99.44.99.99V9.9c0 .55-.44.12-.99.12s-.99.42-.99-.12V7.69c0-.55.45-1 .99-1"/>
<path fill="#FFA500" d="M4.56 10.46a.31.31 0 0 1-.14-.59 2.36 2.36 0 0 1 2.07-.03.3.3 0 0 1 .15.41.3.3 0 0 1-.41.15 1.75 1.75 0 0 0-1.53.02.3.3 0 0 1-.14.04"/>
<path fill="#323B59" d="M16.06 12.42l-.62-.05c-.06.02-.21.06-.45.1-.3.04-.73.15-1.25.2-.51.04-1.12.14-1.76.17-.65.04-1.33.05-2.03.06-.68-.01-1.37-.02-2.02-.07-.65-.03-1.25-.12-1.76-.17-.52-.04-.95-.15-1.25-.2l-.45-.09a30.35 30.35 0 0 0-.7.07.17.17 0 0 0-.04.23l.1.17a7.67 7.67 0 0 0 1.54 1.75c.5.45 1.01.78 1.53 1.06l.41.19c.78-.55 1.68.2 2.64.2.97 0 1.87-.74 2.64-.2.14-.05.28-.1.42-.18a8.34 8.34 0 0 0 3.06-2.82l.1-.18c.02-.02.03-.04.03-.07a.16.16 0 0 0-.14-.17"/>
<path fill="#FFF" d="M6.17 12.66c.51.05 1.12.14 1.76.17.65.05 1.33.06 2.02.07.7-.01 1.38-.02 2.03-.06.65-.04 1.25-.13 1.76-.17.52-.05.95-.15 1.25-.2.24-.04.4-.08.45-.1l-.9-.05-1.53-.06c-1.02-.03-2.04-.03-3.06-.05-1.02.02-2.04.02-3.05.05l-1.53.06-.9.05c.05.02.21.06.45.1.3.04.73.15 1.25.2"/>
<path fill="#FFA500" d="M18.96 10.23v-.4c0-2.42-.94-4.6-2.48-6.22A9.27 9.27 0 0 1 3.72 16.37a9.02 9.02 0 0 0 14.87-4l.22-.01c.6 0 1.08-.48 1.08-1.07 0-.55-.4-1-.93-1.06"/>
<path fill="#FF7664" d="M12.58 15.85h.01c-.77-.55-1.68-.37-2.64-.25-.96-.12-1.87-.3-2.64.25.87.39 1.73.57 2.6.58H10c.86 0 1.73-.2 2.6-.58h-.02"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 2.0 KiB

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

@ -0,0 +1,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/. -->
<svg xmlns="http://www.w3.org/2000/svg" width="80" height="80">
<circle r="40" cx="40" cy="40" fill="#E1E1E6"/>
<path fill="#F5F5F7" d="M70.5 41.2l.02-1.36A30.5 30.5 0 0 0 39.97 9.41 30.5 30.5 0 0 0 9.41 39.84l.02 1.36a3.62 3.62 0 0 0-3.15 3.58c0 2 1.62 3.6 3.63 3.6h.72a30.46 30.46 0 0 0 8.3 13.51l-.04-.02a30.54 30.54 0 0 0 19.72 8.35l.24.01.43.01.51.01h.86l.41-.02h.27c.16-.02.33-.02.5-.03l.12-.01A30.55 30.55 0 0 0 69.3 48.37h.68a3.61 3.61 0 0 0 .51-7.18"/>
<path fill="#C8C8CC" d="M58.53 39.81v-7.18a3.35 3.35 0 1 0-6.7 0v7.27l-.17.08a1.05 1.05 0 0 0 .47 1.98c.17 0 .32-.04.47-.12a5.94 5.94 0 0 1 5.18-.07c.53.25 1.15.03 1.4-.5.25-.52.03-1.14-.5-1.39l-.15-.07zm-30.41 0v-7.18a3.35 3.35 0 1 0-6.7 0v7.27l-.17.08a1.05 1.05 0 0 0 .47 1.98 1 1 0 0 0 .47-.12 5.94 5.94 0 0 1 5.18-.07c.53.25 1.15.03 1.4-.5.25-.52.03-1.14-.5-1.39l-.15-.07zM48.85 60.1l.07.04c.47-.2.93-.38 1.4-.62A28.29 28.29 0 0 0 60.68 50l.37-.58a.58.58 0 0 0 .08-.26.53.53 0 0 0-.47-.57c-.7-.07-1.4-.11-2.1-.15-.2.05-.72.18-1.53.33-1.02.14-2.47.5-4.22.66-1.74.15-3.8.47-5.97.57-2.19.15-4.51.18-6.85.2-2.33-.04-4.67-.07-6.86-.22-2.19-.1-4.22-.41-5.97-.56-1.74-.17-3.21-.51-4.22-.66-.8-.16-1.35-.28-1.53-.33-.72.04-1.42.1-2.14.15a.47.47 0 0 0-.25.1.56.56 0 0 0-.13.75l.38.57a30.15 30.15 0 0 0 5.18 5.91 27.28 27.28 0 0 0 5.18 3.57c.47.25.94.43 1.41.64a3.84 3.84 0 0 1-.01.02l.02.02-.02.01a21.8 21.8 0 0 0 8.79 1.93l.14.02h.03l.13-.02a21.8 21.8 0 0 0 8.8-1.93l-.03-.01c.02 0 .02 0 .03-.02a6.87 6.87 0 0 0-.07-.04z"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.7 KiB

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

@ -0,0 +1,6 @@
<!-- 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/. -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M7 11.5a4.5 4.5 0 1 1 9 0 4.5 4.5 0 0 1-9 0M21.48 10h-2.65a7.45 7.45 0 0 0-1.1-2.64l1.88-1.87a1.5 1.5 0 1 0-2.12-2.12l-1.87 1.87c-.8-.52-1.69-.9-2.65-1.1l.01-.15V1.5a1.5 1.5 0 1 0-3 0V4l.02.14c-.96.2-1.86.58-2.65 1.1L5.5 3.37a1.5 1.5 0 1 0-2.12 2.12l1.87 1.87c-.52.79-.9 1.68-1.1 2.63H1.5a1.5 1.5 0 1 0 0 3h2.64c.2.96.58 1.85 1.1 2.64L3.37 17.5a1.5 1.5 0 1 0 2.12 2.12l1.87-1.87c.79.52 1.68.9 2.63 1.1v2.64a1.5 1.5 0 1 0 3 0v-2.65c.96-.2 1.85-.57 2.64-1.1l1.87 1.88a1.5 1.5 0 0 0 2.12 0 1.5 1.5 0 0 0 0-2.12l-1.87-1.87c.52-.8.9-1.68 1.1-2.64h2.64a1.5 1.5 0 1 0 0-3"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 915 B

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

@ -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/. -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16">
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M8 2a6 6 0 1 0 .01 12.01A6 6 0 0 0 8 2m0 13A7 7 0 0 1 8 1a7 7 0 0 1 0 14"/>
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M8 10.75a1.25 1.25 0 1 0 0 2.5 1.25 1.25 0 0 0 0-2.5m2.82-5.6A2.84 2.84 0 0 0 8 3.13C6.25 3.13 5.12 4.25 5.12 6a.88.88 0 0 0 1.75 0c0-1 .6-1.13 1.13-1.13.64 0 1.03.38 1.13.75.1.39-.08.75-.53 1.01C7.35 7.38 7.09 8.52 7.13 9v.34a.88.88 0 0 0 1.75 0v-.37c0-.05.01-.48.6-.83 1.13-.66 1.65-1.83 1.34-2.98"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 793 B

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

@ -1,47 +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/. -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<style>
use:not(:target) {
display: none;
}
use {
fill: #fbfbfb;
stroke: rgba(0,0,0,0.4);
stroke-width: .5px;
}
use[id$="-native"] {
fill: ThreeDHighlight;
}
</style>
<defs>
<g id="general-shape">
<path d="M18.97,3H5.03C3.914,3,3,3.914,3,5.03v13.94C3,20.086,3.914,21,5.03,21H18.97c1.117,0,2.03-0.914,2.03-2.03 V5.03C21,3.914,20.086,3,18.97,3z M5.35,19.326c-0.404,0-0.731-0.327-0.731-0.731c0-0.404,0.327-0.731,0.731-0.731 c0.404,0,0.731,0.327,0.731,0.731C6.081,19,5.754,19.326,5.35,19.326z M5.35,6.168c-0.403,0-0.731-0.328-0.731-0.731 c0-0.404,0.328-0.731,0.731-0.731c0.403,0,0.731,0.327,0.731,0.731C6.081,5.84,5.753,6.168,5.35,6.168z M15.243,14.035 c0,0.229-0.186,0.416-0.414,0.416c-0.229,0-0.415,0.186-0.415,0.414v3.347c0,0.228-0.185,0.384-0.414,0.384l-4.141,0.03 c-0.227,0-0.414-0.186-0.414-0.414v-3.347c0-0.228-0.185-0.414-0.414-0.414c-0.227,0-0.414-0.187-0.414-0.416V6.582 c0-0.229,0.187-0.414,0.414-0.414h5.798c0.228,0,0.414,0.185,0.414,0.414V14.035z M18.509,19.326c-0.404,0-0.731-0.327-0.731-0.731 c0-0.404,0.327-0.731,0.731-0.731c0.404,0,0.731,0.327,0.731,0.731C19.24,19,18.913,19.326,18.509,19.326z M18.509,6.168 c-0.404,0-0.731-0.328-0.731-0.731c0-0.404,0.327-0.731,0.731-0.731c0.404,0,0.731,0.327,0.731,0.731 C19.24,5.84,18.913,6.168,18.509,6.168z"/>
<path d="M12.757,7.824h-1.657c-0.456,0-0.828,0.373-0.828,0.828v8.282c0,0.456,0.373,0.828,0.828,0.828h1.657 c0.456,0,0.828-0.373,0.828-0.828V8.652C13.586,8.196,13.213,7.824,12.757,7.824z"/>
</g>
<g id="security-shape">
<path d="M18.909,9.783h-0.863V8.086C18.046,4.725,15.339,2,12,2 C8.661,2,5.954,4.725,5.954,8.086v1.697H5.091c-0.955,0-1.728,0.779-1.728,1.739v8.738c0,0.961,0.773,1.74,1.728,1.74h13.818 c0.954,0,1.728-0.779,1.728-1.74v-8.738C20.637,10.562,19.863,9.783,18.909,9.783z M8.545,8.086c0-1.92,1.547-3.478,3.455-3.478 c1.908,0,3.455,1.557,3.455,3.478v1.697h-6.91V8.086z M5.181,16.092l-0.909-1.2v-2.284l2.728,3.483H5.181z M8.818,16.092 l-2.773-3.657h1.727l2.864,3.657H8.818z M12,16.092l-2.773-3.657h1.727l2.864,3.657H12z M15.637,16.092l-2.773-3.657h1.727 l2.864,3.657H15.637z M19.728,16.092h-0.455l-2.773-3.657h1.727l1.501,1.916V16.092z"/>
</g>
<g id="sync-shape">
<path style="fill:#F1F1F1;" d="M3.2,22h3.3h10.8h3.3c0.5,0,0.9-0.4,0.9-0.9V20c0-1-0.5-1.9-1.2-2.5c-2.3-1.8-4.6-2.9-5.1-3.1
c-0.1,0-0.1-0.1-0.1-0.2v-1.6c0.3-0.5,0.4-1,0.5-1.5c0.2,0.1,0.6,0.1,1-1.3c0.3-1.1,0.1-1.5-0.2-1.6c0.9-4.4-1.1-4.5-1.1-4.5
S15,3.1,14.1,2.6c-0.5-0.3-1.3-0.6-2.3-0.5c-0.4,0-0.7,0.1-1,0.2c-0.4,0.1-0.7,0.3-1,0.5C9.4,3.1,9.1,3.3,8.7,3.7
c-0.5,0.5-1,1.2-1.1,2C7.4,6.4,7.4,7.1,7.7,7.9C7.3,7.8,6.9,8,7.3,9.5c0.3,1.1,0.6,1.4,0.8,1.4c0.1,0.6,0.3,1.3,0.7,1.9v1.4
c0,0.1,0,0.1-0.1,0.2c-0.5,0.2-2.8,1.4-5.1,3.1C2.8,18.1,2.3,19,2.3,20v1.1C2.3,21.6,2.7,22,3.2,22"/>
</g>
<g id="search-shape">
<path d="M20.6,19.6l-4.4-4.5c2.4-2.9,2.4-7.1,0.2-10c-2.3-3-6.3-3.9-9.6-2.3c-3.3,1.6-5.1,5.3-4.3,9 c0.8,3.7,4,6.3,7.7,6.3c1.5,0,3-0.4,4.3-1.3l4.5,4.6c0.3,0.3,0.8,0.4,1.2,0.3c0.4-0.1,0.7-0.4,0.9-0.9S20.9,19.9,20.6,19.6z M10.1,16c-3.3,0-6-2.7-6-6.1c0-3.4,2.7-6.1,6-6.1c3.3,0,6,2.7,6,6.1C16.1,13.3,13.4,16,10.1,16z"/>
<path d="M10.1,5.3c-2.5,0-4.6,2.1-4.6,4.7c0,1.2,0.5,2.4,1.4,3.3c0.9,0.9,2,1.4,3.3,1.4c2.5,0,4.6-2.1,4.6-4.7 C14.7,7.4,12.7,5.3,10.1,5.3z M10,7.9c-1,0-1.8,0.8-1.8,1.8c0,0.4-0.3,0.8-0.8,0.8s-0.8-0.4-0.8-0.8c0-1.9,1.5-3.4,3.3-3.4h0 c0.4,0,0.8,0.4,0.8,0.8S10.4,7.9,10,7.9z"/>
</g>
</defs>
<use id="general" href="#general-shape"/>
<use id="general-native" href="#general-shape"/>
<use id="security" href="#security-shape"/>
<use id="security-native" href="#security-shape"/>
<use id="sync" href="#sync-shape"/>
<use id="sync-native" href="#sync-shape"/>
<use id="search" href="#search-shape"/>
<use id="search-native" href="#search-shape"/>
</svg>

До

Ширина:  |  Высота:  |  Размер: 4.1 KiB

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

@ -0,0 +1,6 @@
<!-- 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/. -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
<path fill="#0C0C0D" d="M9.24 16.03v2.73c0 .7-.56 1.24-1.25 1.24-.7 0-1.26-.55-1.26-1.24v-2.73h-.9c-.75 0-1.35-.59-1.35-1.33v-8h11.2v8c0 .74-.6 1.33-1.36 1.33h-.9v2.73c0 .7-.55 1.24-1.25 1.24s-1.26-.55-1.26-1.24v-2.73H9.24zM2.76 6.5c.7 0 1.25.55 1.25 1.24v5.15c0 .7-.56 1.24-1.25 1.24-.7 0-1.26-.55-1.26-1.24V7.73c0-.69.56-1.24 1.26-1.24zm14.64 0c.7 0 1.25.55 1.25 1.24v5.15c0 .7-.55 1.24-1.25 1.24s-1.26-.55-1.26-1.24V7.73c0-.69.56-1.24 1.26-1.24zM6.6 0c.06 0 .12.03.16.1l.9 1.58a6.04 6.04 0 0 1 4.84 0L13.4.1a.18.18 0 0 1 .24-.07c.09.05.12.15.07.24l-.89 1.58a5.04 5.04 0 0 1 2.86 4.43H4.48c0-1.9 1.15-3.56 2.85-4.43L6.45.26a.17.17 0 0 1 .07-.24A.18.18 0 0 1 6.6 0zm.9 3.33c-.26 0-.47.2-.47.46a.47.47 0 0 0 .93 0 .47.47 0 0 0-.47-.46zm5.16 0c-.25 0-.47.2-.47.46a.47.47 0 0 0 .94 0 .47.47 0 0 0-.47-.46z"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 1.1 KiB

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

@ -0,0 +1,6 @@
<!-- 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/. -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20">
<path fill="#0C0C0D" fill-rule="evenodd" d="M16.84 15.03c-.27.63-.59 1.2-.96 1.74-.51.72-.93 1.23-1.25 1.5-.5.46-1.03.7-1.6.71-.41 0-.9-.12-1.48-.35a4.25 4.25 0 0 0-1.6-.36c-.5 0-1.05.12-1.63.36A4.4 4.4 0 0 1 6.9 19c-.55.02-1.1-.22-1.64-.73-.35-.3-.78-.82-1.3-1.56-.56-.78-1.02-1.7-1.38-2.73A10.03 10.03 0 0 1 2 10.7c0-1.2.26-2.25.78-3.12a4.6 4.6 0 0 1 3.86-2.28c.43 0 1 .13 1.71.4.71.26 1.16.4 1.36.4.15 0 .66-.16 1.51-.47.8-.3 1.5-.41 2.05-.37 1.51.13 2.65.72 3.4 1.8a3.8 3.8 0 0 0-2 3.44 4.1 4.1 0 0 0 2.5 3.68c-.1.3-.21.57-.33.84zM13.37 1.36c0 .9-.33 1.74-.98 2.52-.8.92-1.75 1.46-2.79 1.37a3.95 3.95 0 0 1 1.02-2.89c.34-.38.76-.7 1.28-.95.51-.25 1-.39 1.45-.41.02.12.02.24.02.36z"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 970 B

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

@ -19,7 +19,7 @@
width: 100%;
padding: 0;
font: message-box;
color: #0c0c0d;
color: currentColor;
}
#mainPrefPane groupbox,
@ -124,7 +124,6 @@ caption > label {
.category-name {
font-size: 1.45rem;
color: #0c0c0d;
}
.category,
@ -135,10 +134,6 @@ caption > label {
padding-inline-start: 44px;
}
richlistitem[selected='true'] .category-name {
color: #0a84ff;
}
/**
* We want the last category to always have non-0 getBoundingClientRect().bottom
* so we can use the value to figure out the max-height of the list in
@ -150,19 +145,19 @@ richlistitem[selected='true'] .category-name {
}
#category-general > .category-icon {
list-style-image: url("chrome://browser/skin/preferences/in-content-new/icons.svg#general");
list-style-image: url("chrome://browser/skin/preferences/in-content-new/general.svg");
}
#category-search > .category-icon {
list-style-image: url("chrome://browser/skin/preferences/in-content-new/icons.svg#search");
list-style-image: url("chrome://browser/skin/preferences/in-content-new/search.svg");
}
#category-privacy > .category-icon {
list-style-image: url("chrome://browser/skin/preferences/in-content-new/icons.svg#security");
list-style-image: url("chrome://browser/skin/preferences/in-content-new/privacy-security.svg");
}
#category-sync > .category-icon {
list-style-image: url("chrome://browser/skin/preferences/in-content-new/icons.svg#sync");
list-style-image: url("chrome://browser/skin/preferences/in-content-new/sync.svg");
}
@media (max-width: 800px) {
@ -452,10 +447,11 @@ groupbox {
width: 60px;
height: 60px;
border-radius: 50%;
list-style-image: url(chrome://browser/skin/fxa/default-avatar.svg);
list-style-image: url("chrome://browser/skin/preferences/in-content-new/fxa-avatar.svg");
margin-inline-end: 15px;
image-rendering: auto;
border: 1px solid transparent;
-moz-user-focus: normal;
}
#fxaLoginStatus[hasName] #fxaProfileImage {
@ -581,7 +577,7 @@ groupbox {
}
.fxaFirefoxLogo {
list-style-image: url(chrome://browser/skin/fxa/logo.png);
list-style-image: url("chrome://browser/skin/preferences/in-content-new/fxa-avatar.svg");
width: 64px;
height: 64px;
margin-inline-end: 14px;
@ -604,18 +600,18 @@ groupbox {
}
.androidLink {
list-style-image: url("chrome://browser/skin/fxa/android.png");
list-style-image: url("chrome://browser/skin/preferences/in-content-new/logo-android.svg");
}
.iOSLink {
list-style-image: url("chrome://browser/skin/fxa/ios.png");
list-style-image: url("chrome://browser/skin/preferences/in-content-new/logo-ios.svg");
}
.androidLink,
.iOSLink {
vertical-align: bottom;
padding: 0 5px;
height: 28px;
width: 20px;
height: 20px;
vertical-align: text-bottom;
}
#tosPP-small {
@ -623,18 +619,6 @@ groupbox {
margin-bottom: 20px;
}
@media (min-resolution: 1.1dppx) {
.androidLink {
list-style-image: url("chrome://browser/skin/fxa/android@2x.png");
}
.iOSLink {
list-style-image: url("chrome://browser/skin/fxa/ios@2x.png");
}
.fxaFirefoxLogo {
list-style-image: url(chrome://browser/skin/fxa/logo@2x.png);
}
}
#updateDeck > hbox > label {
margin-inline-end: 5px ! important;
}
@ -658,14 +642,15 @@ groupbox {
/* Needs to have enough gap from the bottom to not
get behind the status panel (bug 1357841). */
bottom: 2rem;
background-image: url("chrome://browser/skin/preferences/in-content-new/help.svg");
-moz-context-properties: fill, fill-opacity;
fill: currentColor;
fill-opacity: 0.8;
font-size: 13px;
line-height: 13px;
height: 14px;
line-height: 16px;
background-position: 15px;
padding-inline-start: 35px;
white-space: nowrap;
fill: #0c0c0d;
stroke: #0c0c0d;
}
.help-button:-moz-locale-dir(rtl) {
@ -674,19 +659,29 @@ groupbox {
background-position: right 15px top 0;
}
.help-button:hover {
fill: currentColor;
fill-opacity: 0.9;
}
.help-button:link,
.help-button:visited {
color: #0c0c0d !important;
opacity: 0.8;
color: var(--in-content-category-text);
text-decoration: none;
}
.help-button:hover {
color: #0c0c0d !important;
fill: #0c0c0d !important;
stroke: #0c0c0d !important;
stroke-opacity: 0!important;
opacity: 0.9;
.face-sad {
list-style-image: url("chrome://browser/skin/preferences/in-content-new/face-sad.svg");
width: 20px;
height: 20px;
margin-inline-end: 8px;
}
.face-smile {
list-style-image: url("chrome://browser/skin/preferences/in-content-new/face-smile.svg");
width: 20px;
height: 20px;
margin-inline-end: 8px;
}
.search-container {

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

@ -0,0 +1,6 @@
<!-- 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/. -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M8 6a3 3 0 0 1 6 0v4H8V6zm9 4V6A6 6 0 0 0 5 6v4h-.75C3.01 10 2 11 2 12.25v7.52c0 1.24 1 2.25 2.25 2.25h13.5c1.24 0 2.25-1 2.25-2.25v-7.52C20 11 19 10 17.75 10H17z"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 513 B

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

@ -0,0 +1,6 @@
<!-- 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/. -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M10,15.1c-3.3,0-6-2.7-6-6c0-3.3,2.7-6,6-6c3.3,0,6,2.7,6,6S13.3,15.1,10,15.1L10,15.1 M17.3,14.3 c2.9-4,2-9.7-2.1-12.6s-9.7-2-12.6,2.1C1.6,5.3,1,7.2,1,9.1c0,5,4.1,9,9,9c1.8,0,3.6-0.6,5.2-1.6l6.2,6.2c0.6,0.6,1.5,0.6,2.1,0 c0.6-0.6,0.6-1.5,0-2.1L17.3,14.3L17.3,14.3z"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 613 B

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

@ -0,0 +1,6 @@
<!-- 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/. -->
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
<path fill="context-fill" fill-opacity="context-fill-opacity" d="M20.5 0c-.83 0-1.5.67-1.5 1.5v1.72A10.47 10.47 0 0 0 11.5 0C6.69 0 2.51 3.27 1.34 7.96a1.5 1.5 0 1 0 2.91.73A7.47 7.47 0 0 1 11.5 3c2.37 0 4.54 1.1 5.95 3H14.5a1.5 1.5 0 1 0 0 3h6c.83 0 1.5-.67 1.5-1.5v-6c0-.83-.67-1.5-1.5-1.5m.07 11.22a1.5 1.5 0 0 0-1.82 1.1A7.48 7.48 0 0 1 11.5 18a7.38 7.38 0 0 1-5.95-3H8.5a1.5 1.5 0 1 0 0-3h-6c-.83 0-1.5.67-1.5 1.5v6a1.5 1.5 0 0 0 3 0v-1.72A10.47 10.47 0 0 0 11.5 21c4.81 0 8.99-3.27 10.16-7.96a1.5 1.5 0 0 0-1.1-1.82"/>
</svg>

После

Ширина:  |  Высота:  |  Размер: 807 B

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

@ -72,11 +72,20 @@
skin/classic/browser/panel-icon-magnifier.svg (../shared/panel-icon-magnifier.svg)
#endif
skin/classic/browser/panel-icon-retry.svg (../shared/panel-icon-retry.svg)
skin/classic/browser/preferences/in-content-new/icons.svg (../shared/incontentprefs/icons.svg)
skin/classic/browser/preferences/in-content-new/no-search-results.svg (../shared/incontentprefs/no-search-results.svg)
skin/classic/browser/preferences/in-content-new/face-sad.svg (../shared/incontentprefs/face-sad.svg)
skin/classic/browser/preferences/in-content-new/face-smile.svg (../shared/incontentprefs/face-smile.svg)
skin/classic/browser/preferences/in-content-new/fxa-avatar.svg (../shared/incontentprefs/fxa-avatar.svg)
skin/classic/browser/preferences/in-content-new/general.svg (../shared/incontentprefs/general.svg)
skin/classic/browser/preferences/in-content-new/help.svg (../shared/incontentprefs/help.svg)
skin/classic/browser/preferences/in-content-new/logo-android.svg (../shared/incontentprefs/logo-android.svg)
skin/classic/browser/preferences/in-content-new/logo-ios.svg (../shared/incontentprefs/logo-ios.svg)
skin/classic/browser/preferences/in-content-new/no-search-results.svg (../shared/incontentprefs/no-search-results.svg)
skin/classic/browser/preferences/in-content-new/privacy-security.svg (../shared/incontentprefs/privacy-security.svg)
skin/classic/browser/preferences/in-content-new/search-arrow-indicator.svg (../shared/incontentprefs/search-arrow-indicator.svg)
skin/classic/browser/preferences/in-content-new/search.css (../shared/incontentprefs/search.css)
skin/classic/browser/preferences/in-content-new/search.svg (../shared/incontentprefs/search.svg)
skin/classic/browser/preferences/in-content-new/siteDataSettings.css (../shared/incontentprefs/siteDataSettings.css)
skin/classic/browser/preferences/in-content-new/sync.svg (../shared/incontentprefs/sync.svg)
* skin/classic/browser/preferences/in-content-new/containers.css (../shared/incontentprefs/containers.css)
skin/classic/browser/preferences/in-content/icons.svg (../shared/incontentprefs-old/icons.svg)
skin/classic/browser/preferences/in-content/search.css (../shared/incontentprefs-old/search.css)

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

@ -4,24 +4,6 @@
%include ../../../shared/incontentprefs/preferences.inc.css
@media (-moz-windows-default-theme: 0) {
#category-general > .category-icon {
list-style-image: url("chrome://browser/skin/preferences/in-content-new/icons.svg#general-native");
}
#category-privacy > .category-icon {
list-style-image: url("chrome://browser/skin/preferences/in-content-new/icons.svg#security-native");
}
#category-sync > .category-icon {
list-style-image: url("chrome://browser/skin/preferences/in-content-new/icons.svg#sync-native");
}
#category-search > .category-icon {
list-style-image: url("chrome://browser/skin/preferences/in-content-new/icons.svg#search-native");
}
}
.actionsMenu > .menulist-label-box > .menulist-icon {
margin-inline-end: 9px;
}
@ -30,19 +12,3 @@ textbox + button,
filefield + button {
margin-inline-start: -4px;
}
#advancedPrefs {
padding-bottom: 0; /* override padding from normal preferences.css */
}
#fxaProfileImage {
-moz-user-focus: normal;
}
/**
* Dialog
*/
#dialogTitle {
font-size: 1em;
}

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

@ -26,6 +26,9 @@ leak:GI___strdup
# Bug 1078015 - If the process terminates during a PR_Sleep, LSAN detects a leak
leak:PR_Sleep
# Bug 1363976 - Stylo holds some global data alive forever.
leak:style::gecko::global_style_data
###
### Many leaks only affect some test suites. The suite annotations are not checked.
###

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

@ -328,8 +328,8 @@ CXXFLAGS += $(WARNINGS_AS_ERRORS)
CFLAGS += $(WARNINGS_AS_ERRORS)
endif # ALLOW_COMPILER_WARNINGS
COMPILE_CFLAGS = $(VISIBILITY_FLAGS) $(DEFINES) $(INCLUDES) $(OS_INCLUDES) $(DSO_CFLAGS) $(DSO_PIC_CFLAGS) $(RTL_FLAGS) $(OS_COMPILE_CFLAGS) $(_DEPEND_CFLAGS) $(CFLAGS) $(MOZBUILD_CFLAGS)
COMPILE_CXXFLAGS = $(if $(DISABLE_STL_WRAPPING),,$(STL_FLAGS)) $(VISIBILITY_FLAGS) $(DEFINES) $(INCLUDES) $(OS_INCLUDES) $(DSO_CFLAGS) $(DSO_PIC_CFLAGS) $(RTL_FLAGS) $(OS_COMPILE_CXXFLAGS) $(_DEPEND_CFLAGS) $(CXXFLAGS) $(MOZBUILD_CXXFLAGS)
COMPILE_CFLAGS = $(VISIBILITY_FLAGS) $(DEFINES) $(INCLUDES) $(OS_INCLUDES) $(DSO_CFLAGS) $(DSO_PIC_CFLAGS) $(RTL_FLAGS) $(OS_COMPILE_CFLAGS) $(_DEPEND_CFLAGS) $(CFLAGS) $(MOZBUILD_CFLAGS) $(MK_COMPILE_DEFINES)
COMPILE_CXXFLAGS = $(if $(DISABLE_STL_WRAPPING),,$(STL_FLAGS)) $(VISIBILITY_FLAGS) $(DEFINES) $(INCLUDES) $(OS_INCLUDES) $(DSO_CFLAGS) $(DSO_PIC_CFLAGS) $(RTL_FLAGS) $(OS_COMPILE_CXXFLAGS) $(_DEPEND_CFLAGS) $(CXXFLAGS) $(MOZBUILD_CXXFLAGS) $(MK_COMPILE_DEFINES)
COMPILE_CMFLAGS = $(OS_COMPILE_CMFLAGS) $(MOZBUILD_CMFLAGS)
COMPILE_CMMFLAGS = $(OS_COMPILE_CMMFLAGS) $(MOZBUILD_CMMFLAGS)
ASFLAGS += $(MOZBUILD_ASFLAGS)

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

@ -925,7 +925,7 @@ $(if $(findstring n,$(filter-out --%, $(MAKEFLAGS))),,+)env $(environment_cleane
LIBCLANG_PATH="$(MOZ_LIBCLANG_PATH)" \
CLANG_PATH="$(MOZ_CLANG_PATH)" \
PKG_CONFIG_ALLOW_CROSS=1 \
RUST_BACKTRACE=1 \
RUST_BACKTRACE=full \
MOZ_TOPOBJDIR=$(topobjdir) \
$(2) \
$(CARGO) $(1) $(cargo_build_flags)

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

@ -79,7 +79,7 @@ function* ifTestingSupported() {
}
function waitForMozSetImageElement(panel) {
let deferred = promise.defer();
let deferred = defer();
panel._onMozSetImageElement = deferred.resolve;
return deferred.promise;
}

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

@ -9,6 +9,7 @@ var { require } = Cu.import("resource://devtools/shared/Loader.jsm", {});
var Services = require("Services");
var promise = require("promise");
const defer = require("devtools/shared/defer");
var { gDevTools } = require("devtools/client/framework/devtools");
var { DebuggerClient } = require("devtools/shared/client/main");
var { DebuggerServer } = require("devtools/server/main");
@ -72,7 +73,7 @@ function loadFrameScripts() {
function addTab(aUrl, aWindow) {
info("Adding tab: " + aUrl);
let deferred = promise.defer();
let deferred = defer();
let targetWindow = aWindow || window;
let targetBrowser = targetWindow.gBrowser;
@ -92,7 +93,7 @@ function addTab(aUrl, aWindow) {
function removeTab(aTab, aWindow) {
info("Removing tab.");
let deferred = promise.defer();
let deferred = defer();
let targetWindow = aWindow || window;
let targetBrowser = targetWindow.gBrowser;
let tabContainer = targetBrowser.tabContainer;
@ -148,7 +149,7 @@ function isTestingSupported() {
function once(aTarget, aEventName, aUseCapture = false) {
info("Waiting for event: '" + aEventName + "' on " + aTarget + ".");
let deferred = promise.defer();
let deferred = defer();
for (let [add, remove] of [
["on", "off"], // Use event emitter before DOM events for consistency
@ -169,7 +170,7 @@ function once(aTarget, aEventName, aUseCapture = false) {
}
function waitForTick() {
let deferred = promise.defer();
let deferred = defer();
executeSoon(deferred.resolve);
return deferred.promise;
}
@ -256,7 +257,7 @@ function teardown({target}) {
* in potentially a different process.
*/
function evalInDebuggee(script) {
let deferred = promise.defer();
let deferred = defer();
if (!mm) {
throw new Error("`loadFrameScripts()` must be called when using MessageManager.");
@ -295,7 +296,7 @@ function* waitUntil(predicate, interval = 10) {
if (yield predicate()) {
return Promise.resolve(true);
}
let deferred = Promise.defer();
let deferred = defer();
setTimeout(function () {
waitUntil(predicate).then(() => deferred.resolve(true));
}, interval);

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

@ -1,13 +1,20 @@
var { Cc, Ci } = require("chrome");
var { once } = require("sdk/system/events");
var observerService = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
var observer = {
observe: function () {
debugger;
}
};
once("sdk:loader:destroy", () => observerService.removeObserver(observer, "debuggerAttached"));
observerService.addObserver(observer, "debuggerAttached");
var sdkLoaderDestroyObserver = {
observe: function () {
// Remove all observers on sdk:loader:destroy
observerService.removeObserver(observer, "debuggerAttached");
observerService.removeObserver(sdkLoaderDestroyObserver, "sdk:loader:destroy");
}
};
observerService.addObserver(sdkLoaderDestroyObserver, "sdk:loader:destroy");

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

@ -6,10 +6,9 @@
"use strict";
const { Cu } = require("chrome");
const defer = require("devtools/shared/defer");
const { ObjectClient } = require("devtools/shared/client/main");
const promise = require("promise");
const defer = require("devtools/shared/defer");
const EventEmitter = require("devtools/shared/event-emitter");
const { Task } = require("devtools/shared/task");
@ -42,7 +41,7 @@ DomPanel.prototype = {
return this._opening;
}
let deferred = promise.defer();
let deferred = defer();
this._opening = deferred.promise;
// Local monitoring needs to make the target remote.
@ -82,7 +81,7 @@ DomPanel.prototype = {
return this._destroying;
}
let deferred = promise.defer();
let deferred = defer();
this._destroying = deferred.promise;
this.target.off("navigate", this.onTabNavigated);

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

@ -549,17 +549,42 @@ Toolbox.prototype = {
// Provide a wrapper for the service that reports errors more nicely.
this._sourceMapService = new Proxy(service, {
get: (target, name) => {
if (name === "getOriginalURLs") {
return (urlInfo) => {
return target.getOriginalURLs(urlInfo)
.catch(text => {
let message = L10N.getFormatStr("toolbox.sourceMapFailure",
text, urlInfo.url, urlInfo.sourceMapURL);
this.target.logErrorInPage(message, "source map");
});
};
switch (name) {
case "getOriginalURLs":
return (urlInfo) => {
return target.getOriginalURLs(urlInfo)
.catch(text => {
let message = L10N.getFormatStr("toolbox.sourceMapFailure",
text, urlInfo.url,
urlInfo.sourceMapURL);
this.target.logErrorInPage(message, "source map");
// It's ok to swallow errors here, because a null
// result just means that no source map was found.
return null;
});
};
case "getOriginalSourceText":
return (originalSource) => {
return target.getOriginalSourceText(originalSource)
.catch(text => {
let message = L10N.getFormatStr("toolbox.sourceMapSourceFailure",
text, originalSource.url);
this.target.logErrorInPage(message, "source map");
// Also replace the result with the error text.
// Note that this result has to have the same form
// as whatever the upstream getOriginalSourceText
// returns.
return {
text: message,
contentType: "text/plain",
};
});
};
default:
return target[name];
}
return target[name];
},
});

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

@ -35,7 +35,7 @@ registerCleanupFunction(() => {
function addJsonViewTab(url, timeout = -1) {
info("Adding a new JSON tab with URL: '" + url + "'");
let deferred = promise.defer();
let deferred = defer();
addTab(url).then(tab => {
let browser = tab.linkedBrowser;
@ -151,7 +151,7 @@ function sendString(str, selector) {
}
function waitForTime(delay) {
let deferred = promise.defer();
let deferred = defer();
setTimeout(deferred.resolve, delay);
return deferred.promise;
}

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

@ -184,3 +184,10 @@ toolbox.allToolsButton.tooltip=Select another tool
# The URL that caused DevTools to try to fetch a source map: %2$S
# The URL of the source map itself: %3$S
toolbox.sourceMapFailure=Source map error: %1$S\nResource URL: %2$S\nSource Map URL: %3$S
# LOCALIZATION NOTE (toolbox.sourceMapSourceFailure): This is shown in
# the web console when there is a failure to fetch or parse an
# original source that was mentioned in a source map.
# The text of the error: %1$S
# The URL of the source: %2$S
toolbox.sourceMapSourceFailure=Error while fetching an original source: %1$S\nSource URL: %2$S

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

@ -40,7 +40,7 @@ add_task(function* () {
statusText: "Connected",
type: "plain",
fullMimeType: "text/plain",
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 10),
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 60),
size: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 64),
time: true
});

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

@ -129,7 +129,7 @@ add_task(function* () {
statusText: "OK",
type: "plain",
fullMimeType: "text/plain",
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 73),
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 324),
size: L10N.getFormatStrWithNumbers("networkMenu.sizeKB", 10.73),
time: true
}

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

@ -256,14 +256,14 @@ add_task(function* () {
testContents([0, 0, 0, 0, 0, 0, 0, 0, 1, 0]);
// Test transferred
setFreetextFilter("transferred:0");
testContents([0, 0, 0, 0, 1, 1, 1, 1, 0, 1]);
setFreetextFilter("transferred:200");
testContents([0, 0, 0, 0, 1, 1, 1, 1, 0, 0]);
setFreetextFilter("transferred:1");
testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);
setFreetextFilter("transferred:234");
testContents([1, 0, 1, 0, 0, 0, 0, 0, 0, 1]);
setFreetextFilter("transferred:34");
testContents([0, 0, 1, 1, 0, 0, 0, 0, 0, 0]);
setFreetextFilter("transferred:248");
testContents([0, 0, 1, 1, 0, 0, 0, 0, 0, 1]);
// Test larger-than
setFreetextFilter("larger-than:-1");
@ -288,14 +288,14 @@ add_task(function* () {
setFreetextFilter("transferred-larger-than:-1");
testContents([1, 1, 1, 1, 1, 1, 1, 1, 1, 1]);
setFreetextFilter("transferred-larger-than:0");
testContents([1, 1, 1, 1, 0, 0, 0, 0, 1, 0]);
setFreetextFilter("transferred-larger-than:214");
testContents([1, 1, 1, 1, 0, 0, 0, 0, 1, 1]);
setFreetextFilter("transferred-larger-than:33");
testContents([0, 0, 1, 1, 0, 0, 0, 0, 1, 0]);
setFreetextFilter("transferred-larger-than:247");
testContents([0, 1, 1, 1, 0, 0, 0, 0, 1, 0]);
setFreetextFilter("transferred-larger-than:34");
testContents([0, 0, 0, 0, 0, 0, 0, 0, 1, 0]);
setFreetextFilter("transferred-larger-than:248");
testContents([0, 1, 0, 1, 0, 0, 0, 0, 1, 0]);
setFreetextFilter("transferred-larger-than:10.73k");
testContents([0, 0, 0, 0, 0, 0, 0, 0, 0, 0]);

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

@ -256,7 +256,7 @@ function test() {
let requestItem = getSortedRequests(store.getState()).get(0);
is(requestItem.transferredSize, "12",
is(requestItem.transferredSize, "342",
"The transferredSize data has an incorrect value.");
is(requestItem.contentSize, "12",
"The contentSize data has an incorrect value.");
@ -287,7 +287,7 @@ function test() {
{
type: "plain",
fullMimeType: "text/plain; charset=utf-8",
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 12),
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 342),
size: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 12),
}
);

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

@ -167,7 +167,7 @@ add_task(function* () {
statusText: "Meh",
type: "1",
fullMimeType: "text/1",
transferred: L10N.getStr("networkMenu.sizeUnavailable"),
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 198),
size: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 0),
time: true
});
@ -183,7 +183,7 @@ add_task(function* () {
statusText: "Meh",
type: "2",
fullMimeType: "text/2",
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 19),
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 217),
size: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 19),
time: true
});
@ -199,7 +199,7 @@ add_task(function* () {
statusText: "Meh",
type: "3",
fullMimeType: "text/3",
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 29),
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 227),
size: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 29),
time: true
});
@ -215,7 +215,7 @@ add_task(function* () {
statusText: "Meh",
type: "4",
fullMimeType: "text/4",
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 39),
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 237),
size: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 39),
time: true
});
@ -231,7 +231,7 @@ add_task(function* () {
statusText: "Meh",
type: "5",
fullMimeType: "text/5",
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 49),
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 247),
size: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 49),
time: true
});

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

@ -250,7 +250,7 @@ add_task(function* () {
statusText: "Meh",
type: "1",
fullMimeType: "text/1",
transferred: L10N.getStr("networkMenu.sizeUnavailable"),
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 198),
size: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 0),
time: true
});
@ -264,7 +264,7 @@ add_task(function* () {
statusText: "Meh",
type: "2",
fullMimeType: "text/2",
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 19),
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 217),
size: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 19),
time: true
});
@ -278,7 +278,7 @@ add_task(function* () {
statusText: "Meh",
type: "3",
fullMimeType: "text/3",
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 29),
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 227),
size: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 29),
time: true
});
@ -292,7 +292,7 @@ add_task(function* () {
statusText: "Meh",
type: "4",
fullMimeType: "text/4",
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 39),
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 237),
size: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 39),
time: true
});
@ -306,7 +306,7 @@ add_task(function* () {
statusText: "Meh",
type: "5",
fullMimeType: "text/5",
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 49),
transferred: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 247),
size: L10N.getFormatStrWithNumbers("networkMenu.sizeB", 49),
time: true
});

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

@ -13,7 +13,7 @@ const LineGraphWidget = require("devtools/client/shared/widgets/LineGraphWidget"
const MountainGraphWidget = require("devtools/client/shared/widgets/MountainGraphWidget");
const { CanvasGraphUtils } = require("devtools/client/shared/widgets/Graphs");
const promise = require("promise");
const defer = require("devtools/shared/defer");
const EventEmitter = require("devtools/shared/event-emitter");
const { colorUtils } = require("devtools/shared/css/color");
@ -219,7 +219,7 @@ GraphsController.prototype = {
return;
}
this._rendering = promise.defer();
this._rendering = defer();
for (let graph of (yield this._getEnabled())) {
yield graph.setPerformanceData(recordingData, resolution);
this.emit("rendered", graph.graphName);

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

@ -6,8 +6,8 @@
"use strict";
const { Task } = require("devtools/shared/task");
const defer = require("devtools/shared/defer");
loader.lazyRequireGetter(this, "promise");
loader.lazyRequireGetter(this, "EventEmitter",
"devtools/shared/event-emitter");
@ -32,7 +32,7 @@ PerformancePanel.prototype = {
if (this._opening) {
return this._opening;
}
let deferred = promise.defer();
let deferred = defer();
this._opening = deferred.promise;
this.panelWin.gToolbox = this.toolbox;

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

@ -40,6 +40,7 @@ var RecordingListItem = React.createFactory(require("devtools/client/performance
var Services = require("Services");
var promise = require("promise");
const defer = require("devtools/shared/defer");
var EventEmitter = require("devtools/shared/event-emitter");
var DevToolsUtils = require("devtools/shared/DevToolsUtils");
var flags = require("devtools/shared/flags");
@ -535,7 +536,7 @@ var PerformanceController = {
* @return {Promise}
*/
waitForStateChangeOnRecording: Task.async(function* (recording, expectedState) {
let deferred = promise.defer();
let deferred = defer();
this.on(EVENTS.RECORDING_STATE_CHANGE, function handler(state, model) {
if (state === expectedState && model === recording) {
this.off(EVENTS.RECORDING_STATE_CHANGE, handler);

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

@ -38,7 +38,7 @@ function getUnicodeConverter() {
}
function asyncCopy(data, file) {
let deferred = Promise.defer();
let deferred = defer();
let string = JSON.stringify(data);
let inputStream = getUnicodeConverter().convertToInputStream(string);

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

@ -160,7 +160,7 @@ function getUnicodeConverter() {
}
function asyncCopy(data, file) {
let deferred = Promise.defer();
let deferred = defer();
let string = JSON.stringify(data);
let inputStream = getUnicodeConverter().convertToInputStream(string);

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

@ -124,7 +124,7 @@ function getUnicodeConverter() {
}
function asyncCopy(data, file) {
let deferred = Promise.defer();
let deferred = defer();
let string = JSON.stringify(data);
let inputStream = getUnicodeConverter().convertToInputStream(string);

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

@ -73,7 +73,7 @@ function testWorkerMarkerUI(node) {
*/
function evalInDebuggee(script) {
let { generateUUID } = Cc["@mozilla.org/uuid-generator;1"].getService(Ci.nsIUUIDGenerator);
let deferred = Promise.defer();
let deferred = defer();
if (!mm) {
throw new Error("`loadFrameScripts()` must be called when using MessageManager.");

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

@ -18,7 +18,6 @@ pref("devtools.loader.hotreload", false);
// Developer toolbar preferences
pref("devtools.toolbar.enabled", true);
pref("devtools.toolbar.visible", false);
// Enable DevTools WebIDE by default
pref("devtools.webide.enabled", true);

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

@ -8,6 +8,7 @@
const {Cu} = require("chrome");
const EventEmitter = require("devtools/shared/event-emitter");
const promise = require("promise");
const defer = require("devtools/shared/defer");
function ScratchpadPanel(iframeWindow, toolbox) {
@ -19,7 +20,7 @@ function ScratchpadPanel(iframeWindow, toolbox) {
Scratchpad.target = this.target;
Scratchpad.hideMenu();
let deferred = promise.defer();
let deferred = defer();
this._readyObserver = deferred.promise;
Scratchpad.addObserver({
onReady: function () {

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

@ -52,6 +52,7 @@ const {DevToolsWorker} = require("devtools/shared/worker/worker");
const DevToolsUtils = require("devtools/shared/DevToolsUtils");
const flags = require("devtools/shared/flags");
const promise = require("promise");
const defer = require("devtools/shared/defer");
const Services = require("Services");
const {gDevTools} = require("devtools/client/framework/devtools");
const {Heritage} = require("devtools/client/shared/widgets/view-helpers");
@ -506,7 +507,7 @@ var Scratchpad = {
let evalOptions = { url: this.uniqueName };
return connection.then(({ debuggerClient, webConsoleClient }) => {
let deferred = promise.defer();
let deferred = defer();
webConsoleClient.evaluateJSAsync(aString, aResponse => {
this.debuggerClient = debuggerClient;
@ -549,7 +550,7 @@ var Scratchpad = {
*/
run: function SP_run()
{
let deferred = promise.defer();
let deferred = defer();
let reject = aReason => deferred.reject(aReason);
this.execute().then(([aString, aError, aResult]) => {
@ -576,7 +577,7 @@ var Scratchpad = {
*/
inspect: function SP_inspect()
{
let deferred = promise.defer();
let deferred = defer();
let reject = aReason => deferred.reject(aReason);
this.execute().then(([aString, aError, aResult]) => {
@ -604,7 +605,7 @@ var Scratchpad = {
*/
reloadAndRun: function SP_reloadAndRun()
{
let deferred = promise.defer();
let deferred = defer();
if (this.executionContext !== SCRATCHPAD_CONTEXT_CONTENT) {
console.error(this.strings.
@ -632,7 +633,7 @@ var Scratchpad = {
*/
display: function SP_display()
{
let deferred = promise.defer();
let deferred = defer();
let reject = aReason => deferred.reject(aReason);
this.execute().then(([aString, aError, aResult]) => {
@ -875,7 +876,7 @@ var Scratchpad = {
*/
_writePrimitiveAsComment: function SP__writePrimitiveAsComment(aValue)
{
let deferred = promise.defer();
let deferred = defer();
if (aValue.type == "longString") {
let client = this.webConsoleClient;
@ -934,7 +935,7 @@ var Scratchpad = {
*/
writeAsErrorComment: function SP_writeAsErrorComment(aError)
{
let deferred = promise.defer();
let deferred = defer();
if (VariablesView.isPrimitive({ value: aError.exception })) {
let error = aError.exception;
@ -2111,7 +2112,7 @@ ScratchpadTab.prototype = {
return this._connector;
}
let deferred = promise.defer();
let deferred = defer();
this._connector = deferred.promise;
let connectTimer = setTimeout(() => {
@ -2262,7 +2263,7 @@ ScratchpadSidebar.prototype = {
{
this.show();
let deferred = promise.defer();
let deferred = defer();
let onTabReady = () => {
if (this.variablesView) {

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

@ -53,7 +53,7 @@ function runTests()
let browser = gBrowser.selectedBrowser;
let deferred = promise.defer();
let deferred = defer();
browser.addEventListener("DOMWindowCreated", function () {
browser.contentWindow.addEventListener("foo", function () {
is(browser.contentWindow.document.body.innerHTML, "Modified text",

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

@ -13,6 +13,7 @@ const Services = require("Services");
const DevToolsUtils = require("devtools/shared/DevToolsUtils");
const flags = require("devtools/shared/flags");
const promise = require("promise");
const defer = require("devtools/shared/defer");
var gScratchpadWindow; // Reference to the Scratchpad chrome window object
@ -153,7 +154,7 @@ function createTempFile(aName, aContent, aCallback = function () {})
*/
function runAsyncTests(aScratchpad, aTests)
{
let deferred = promise.defer();
let deferred = defer();
(function runTest() {
if (aTests.length) {

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

@ -9,6 +9,7 @@ const {require} = Cu.import("resource://devtools/shared/Loader.jsm", {});
const {XPCOMUtils} = require("resource://gre/modules/XPCOMUtils.jsm");
const {SideMenuWidget} = require("resource://devtools/client/shared/widgets/SideMenuWidget.jsm");
const promise = require("promise");
const defer = require("devtools/shared/defer");
const Services = require("Services");
const EventEmitter = require("devtools/shared/event-emitter");
const Tooltip = require("devtools/client/shared/widgets/tooltip/Tooltip");
@ -425,7 +426,7 @@ var ShadersEditorsView = {
return this._editorPromises.get(type);
}
let deferred = promise.defer();
let deferred = defer();
this._editorPromises.set(type, deferred.promise);
// Initialize the source editor and store the newly created instance

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

@ -163,7 +163,7 @@ function getBlackBoxCheckbox(aPanel, aIndex) {
}
function once(aTarget, aEvent) {
let deferred = promise.defer();
let deferred = defer();
aTarget.once(aEvent, deferred.resolve);
return deferred.promise;
}

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

@ -9,6 +9,7 @@ var { Task } = require("devtools/shared/task");
var Services = require("Services");
var promise = require("promise");
const defer = require("devtools/shared/defer");
var { gDevTools } = require("devtools/client/framework/devtools");
var { DebuggerClient } = require("devtools/shared/client/main");
var { DebuggerServer } = require("devtools/server/main");
@ -68,7 +69,7 @@ function loadFrameScripts() {
function addTab(aUrl, aWindow) {
info("Adding tab: " + aUrl);
let deferred = promise.defer();
let deferred = defer();
let targetWindow = aWindow || window;
let targetBrowser = targetWindow.gBrowser;
@ -87,7 +88,7 @@ function addTab(aUrl, aWindow) {
function removeTab(aTab, aWindow) {
info("Removing tab.");
let deferred = promise.defer();
let deferred = defer();
let targetWindow = aWindow || window;
let targetBrowser = targetWindow.gBrowser;
let tabContainer = targetBrowser.tabContainer;
@ -128,7 +129,7 @@ function createCanvas() {
function once(aTarget, aEventName, aUseCapture = false) {
info("Waiting for event: '" + aEventName + "' on " + aTarget + ".");
let deferred = promise.defer();
let deferred = defer();
for (let [add, remove] of [
["on", "off"], // Use event emitter before DOM events for consistency
@ -152,7 +153,7 @@ function once(aTarget, aEventName, aUseCapture = false) {
// array of all of the arguments in the handler. These should be consolidated
// into the same function, but many tests will need to be changed.
function onceSpread(aTarget, aEvent) {
let deferred = promise.defer();
let deferred = defer();
aTarget.once(aEvent, (...args) => deferred.resolve(args));
return deferred.promise;
}
@ -160,7 +161,7 @@ function onceSpread(aTarget, aEvent) {
function observe(aNotificationName, aOwnsWeak = false) {
info("Waiting for observer notification: '" + aNotificationName + ".");
let deferred = promise.defer();
let deferred = defer();
Services.obs.addObserver(function onNotification(...aArgs) {
Services.obs.removeObserver(onNotification, aNotificationName);
@ -276,7 +277,7 @@ function teardown(aPanel) {
// `onAdd` function that calls with the entire actors array on program link
function getPrograms(front, count, onAdd) {
let actors = [];
let deferred = promise.defer();
let deferred = defer();
front.on("program-linked", function onLink(actor) {
if (actors.length !== count) {
actors.push(actor);

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

@ -63,6 +63,10 @@
color: var(--string-color);
}
.objectBox-string a, .objectBox-string a:visited {
color: currentColor;
}
.objectBox-function,
.objectBox-stackTrace,
.objectBox-profile {
@ -251,10 +255,14 @@ html[dir="rtl"] .arrow svg,
transform: rotate(0deg);
}
.object-label {
.object-label, .object-label * {
color: var(--theme-highlight-blue);
}
.tree .node .unavailable {
color: var(--theme-content-color3);
}
.lessen {
opacity: 0.6;
}

Разница между файлами не показана из-за своего большого размера Загрузить разницу

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

@ -8,7 +8,6 @@
const { Cc, Ci, Cu, Cr } = require("chrome");
const EventEmitter = require("devtools/shared/event-emitter");
const { WebAudioFront } = require("devtools/shared/fronts/webaudio");
var Promise = require("promise");
function WebAudioEditorPanel(iframeWindow, toolbox) {
this.panelWin = iframeWindow;

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

@ -11,7 +11,6 @@ const {Ci} = require("chrome");
loader.lazyImporter(this, "VariablesView", "resource://devtools/client/shared/widgets/VariablesView.jsm");
loader.lazyImporter(this, "escapeHTML", "resource://devtools/client/shared/widgets/VariablesView.jsm");
loader.lazyRequireGetter(this, "promise");
loader.lazyRequireGetter(this, "gDevTools", "devtools/client/framework/devtools", true);
loader.lazyRequireGetter(this, "TableWidget", "devtools/client/shared/widgets/TableWidget", true);
loader.lazyRequireGetter(this, "ObjectClient", "devtools/shared/client/main", true);
@ -25,6 +24,7 @@ const l10n = require("devtools/client/webconsole/webconsole-l10n");
const nodeConstants = require("devtools/shared/dom-node-constants");
const {PluralForm} = require("devtools/shared/plural-form");
const {extend} = require("devtools/shared/extend");
const defer = require("devtools/shared/defer");
const MAX_STRING_GRIP_LENGTH = 36;
const {ELLIPSIS} = require("devtools/shared/l10n");
@ -1724,7 +1724,7 @@ Messages.ConsoleTable.prototype = extend(Messages.Extended.prototype, {
* null if the arguments are invalid.
*/
_populateTableData: function () {
let deferred = promise.defer();
let deferred = defer();
if (this._arguments.length <= 0) {
return deferred.reject();
@ -3176,7 +3176,7 @@ Widgets.ObjectRenderers.add({
let isAttached = yield this.toolbox.walker.isInDOMTree(this._nodeFront);
if (isAttached) {
let onReady = promise.defer();
let onReady = defer();
this.toolbox.inspector.once("inspector-updated", onReady.resolve);
yield this.toolbox.selection.setNodeFront(this._nodeFront, "console");
yield onReady.promise;

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

@ -11,6 +11,7 @@ var {gDevToolsBrowser} = require("devtools/client/framework/devtools-browser");
var {Tools} = require("devtools/client/definitions");
const { Task } = require("devtools/shared/task");
var promise = require("promise");
const defer = require("devtools/shared/defer");
var Services = require("Services");
loader.lazyRequireGetter(this, "Telemetry", "devtools/client/shared/telemetry");
loader.lazyRequireGetter(this, "WebConsoleFrame", "devtools/client/webconsole/webconsole", true);
@ -173,11 +174,11 @@ HUD_SERVICE.prototype =
return this._browserConsoleDefer.promise;
}
this._browserConsoleDefer = promise.defer();
this._browserConsoleDefer = defer();
function connect()
{
let deferred = promise.defer();
let deferred = defer();
if (!DebuggerServer.initialized) {
DebuggerServer.init();
@ -203,7 +204,7 @@ HUD_SERVICE.prototype =
function openWindow(aTarget)
{
target = aTarget;
let deferred = promise.defer();
let deferred = defer();
// Using the old frontend for now in the browser console. This can be switched to
// Tools.webConsole.url to use whatever is preffed on.
let url = Tools.webConsole.oldWebConsoleURL;
@ -558,7 +559,7 @@ WebConsole.prototype = {
HUDService.consoles.delete(this.hudId);
this._destroyer = promise.defer();
this._destroyer = defer();
// The document may already be removed
if (this.chromeUtilsWindow && this.mainPopupSet) {
@ -678,7 +679,7 @@ BrowserConsole.prototype = extend(WebConsole.prototype, {
this._telemetry.toolClosed("browserconsole");
this._bc_destroyer = promise.defer();
this._bc_destroyer = defer();
let chromeWindow = this.chromeWindow;
this.$destroy().then(() =>

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

@ -8,7 +8,7 @@
const {Utils: WebConsoleUtils} =
require("devtools/client/webconsole/utils");
const promise = require("promise");
const defer = require("devtools/shared/defer");
const Debugger = require("Debugger");
const Services = require("Services");
const {KeyCodes} = require("devtools/client/shared/keycodes");
@ -433,7 +433,7 @@ JSTerm.prototype = {
* Resolves with the message once the result is displayed.
*/
execute: function (executeString, callback) {
let deferred = promise.defer();
let deferred = defer();
let resultCallback;
if (this.hud.NEW_CONSOLE_OUTPUT_ENABLED) {
resultCallback = (msg) => deferred.resolve(msg);
@ -522,7 +522,7 @@ JSTerm.prototype = {
* received.
*/
requestEvaluation: function (str, options = {}) {
let deferred = promise.defer();
let deferred = defer();
function onResult(response) {
if (!response.error) {
@ -626,7 +626,7 @@ JSTerm.prototype = {
let openPromise;
if (options.targetElement) {
let deferred = promise.defer();
let deferred = defer();
openPromise = deferred.promise;
let document = options.targetElement.ownerDocument;
let iframe = document.createElementNS(XHTML_NS, "iframe");
@ -671,7 +671,7 @@ JSTerm.prototype = {
* A promise object for the adding of the new tab.
*/
_addVariablesViewSidebarTab: function () {
let deferred = promise.defer();
let deferred = defer();
let onTabReady = () => {
let window = this.sidebar.getWindowForTab("variablesview");

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

@ -4,6 +4,7 @@
"use strict";
const promise = require("promise");
const defer = require("devtools/shared/defer");
/**
* Map of pending requests. Used mainly by tests to wait
@ -28,7 +29,7 @@ var DataProvider = {
return p;
}
let deferred = promise.defer();
let deferred = defer();
let realMethodName = "get" + method.charAt(0).toUpperCase() +
method.slice(1);

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

@ -2,6 +2,8 @@
tags = devtools
subsuite = devtools
support-files =
code_bundle_nosource.js
code_bundle_nosource.js.map
head.js
test-batching.html
test-console.html
@ -53,6 +55,7 @@ skip-if = (os == 'linux' && bits == 32 && debug) # bug 1328915, disable linux32
[browser_webconsole_observer_notifications.js]
[browser_webconsole_shows_reqs_in_netmonitor.js]
[browser_webconsole_sourcemap_error.js]
[browser_webconsole_sourcemap_nosource.js]
[browser_webconsole_stacktrace_location_debugger_link.js]
[browser_webconsole_stacktrace_location_scratchpad_link.js]
[browser_webconsole_string.js]

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

@ -40,35 +40,3 @@ add_task(function* () {
yield toolbox.selectTool("webconsole");
yield testOpenInDebugger(hud, toolbox, "document.bar");
});
function* testOpenInDebugger(hud, toolbox, text) {
info(`Testing message with text "${text}"`);
let messageNode = yield waitFor(() => findMessage(hud, text));
let frameLinkNode = messageNode.querySelector(".message-location .frame-link");
ok(frameLinkNode, "The message does have a location link");
yield checkClickOnNode(hud, toolbox, frameLinkNode);
}
function* checkClickOnNode(hud, toolbox, frameLinkNode) {
info("checking click on node location");
let url = frameLinkNode.getAttribute("data-url");
ok(url, `source url found ("${url}")`);
let line = frameLinkNode.getAttribute("data-line");
ok(line, `source line found ("${line}")`);
let onSourceInDebuggerOpened = once(hud.ui, "source-in-debugger-opened");
EventUtils.sendMouseEvent({ type: "click" },
frameLinkNode.querySelector(".frame-link-filename"));
yield onSourceInDebuggerOpened;
let dbg = toolbox.getPanel("jsdebugger");
is(
dbg._selectors.getSelectedSource(dbg._getState()).get("url"),
url,
"expected source url"
);
}

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

@ -7,6 +7,7 @@
// Check expanding/collapsing maps and sets in the console.
const TEST_URI = "data:text/html;charset=utf8,<h1>Object Inspector on Maps & Sets</h1>";
const {ELLIPSIS} = require("devtools/shared/l10n");
add_task(async function () {
const hud = await openNewTabAndConsole(TEST_URI);
@ -113,10 +114,10 @@ async function testLargeMap(oi) {
oiNodes = oi.querySelectorAll(".node");
// There are now 8 nodes, the 4 original ones, and the 4 buckets.
is(oiNodes.length, 8, "There is the expected number of nodes in the tree");
is(oiNodes[3].textContent, "[0..99]");
is(oiNodes[4].textContent, "[100..199]");
is(oiNodes[5].textContent, "[200..299]");
is(oiNodes[6].textContent, "[300..331]");
is(oiNodes[3].textContent, `[0${ELLIPSIS}99]`);
is(oiNodes[4].textContent, `[100${ELLIPSIS}199]`);
is(oiNodes[5].textContent, `[200${ELLIPSIS}299]`);
is(oiNodes[6].textContent, `[300${ELLIPSIS}330]`);
}
async function testSet(oi) {
@ -179,7 +180,7 @@ async function testLargeSet(oi) {
oiNodes = oi.querySelectorAll(".node");
// There are now 7 nodes, the 4 original ones, and the 3 buckets.
is(oiNodes.length, 7, "There is the expected number of nodes in the tree");
is(oiNodes[3].textContent, "[0..99]");
is(oiNodes[4].textContent, "[100..199]");
is(oiNodes[5].textContent, "[200..222]");
is(oiNodes[3].textContent, `[0${ELLIPSIS}99]`);
is(oiNodes[4].textContent, `[100${ELLIPSIS}199]`);
is(oiNodes[5].textContent, `[200${ELLIPSIS}221]`);
}

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

@ -0,0 +1,54 @@
/* -*- indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set ft=javascript ts=2 et sw=2 tw=80: */
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
// Test that a missing original source is reported.
const JS_URL = URL_ROOT + "code_bundle_nosource.js";
const PAGE_URL = `data:text/html,
<!doctype html>
<html>
<head>
<meta charset="utf-8"/>
<title>Empty test page to test source map with missing original source</title>
</head>
<body>
<script src="${JS_URL}"></script>
</body>
</html>`;
add_task(function* () {
// Force the new debugger UI, in case this gets uplifted with the old
// debugger still turned on
yield pushPref("devtools.debugger.new-debugger-frontend", true);
yield pushPref("devtools.source-map.client-service.enabled", true);
const hud = yield openNewTabAndConsole(PAGE_URL);
const toolbox = hud.ui.newConsoleOutput.toolbox;
info("Finding \"here\" message and waiting for source map to be applied");
yield waitFor(() => {
let node = findMessage(hud, "here");
if (!node) {
return false;
}
let frameLinkNode = node.querySelector(".message-location .frame-link");
let url = frameLinkNode.getAttribute("data-url");
return url.includes("nosuchfile");
});
yield testOpenInDebugger(hud, toolbox, "here");
info("Selecting the console again");
yield toolbox.selectTool("webconsole");
const node = yield waitFor(() => findMessage(hud, "original source"));
ok(node, "source map error is displayed in web console");
});

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

@ -0,0 +1,93 @@
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, {
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter
/******/ });
/******/ }
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// Original source code for the cross-domain source map test.
// The generated file was made with
// webpack --devtool nosources-source-map code_nosource.js code_bundle_nosource.js
// ... and then the bundle was edited to change the source name.
function f() {
console.log("here");
}
f();
// Avoid script GC.
window.f = f;
/***/ })
/******/ ]);
//# sourceMappingURL=code_bundle_nosource.js.map

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

@ -0,0 +1 @@
{"version":3,"sources":["webpack:///webpack/bootstrap 5f603779212cf1264c9b","nosuchfile.js"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AC7DA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA","file":"code_bundle_nosource.js","sourceRoot":""}

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

@ -0,0 +1,18 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
// Original source code for the cross-domain source map test.
// The generated file was made with
// webpack --devtool nosources-source-map code_nosource.js code_bundle_nosource.js
// ... and then the bundle was edited to change the source name.
"use strict";
function f() {
console.log("here");
}
f();
// Avoid script GC.
window.f = f;

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

@ -4,7 +4,8 @@
* http://creativecommons.org/publicdomain/zero/1.0/ */
/* import-globals-from ../../../../framework/test/shared-head.js */
/* exported WCUL10n, openNewTabAndConsole, waitForMessages, waitFor, findMessage,
openContextMenu, hideContextMenu, loadDocument, waitForNodeMutation */
openContextMenu, hideContextMenu, loadDocument,
waitForNodeMutation, testOpenInDebugger, checkClickOnNode */
"use strict";
@ -203,3 +204,51 @@ function waitForNodeMutation(node, observeConfig = {}) {
observer.observe(node, observeConfig);
});
}
/**
* Search for a given message. When found, simulate a click on the
* message's location, checking to make sure that the debugger opens
* the corresponding URL.
*
* @param {Object} hud
* The webconsole
* @param {Object} toolbox
* The toolbox
* @param {String} text
* The text to search for. This should be contained in the
* message. The searching is done with @see findMessage.
*/
function* testOpenInDebugger(hud, toolbox, text) {
info(`Finding message for open-in-debugger test; text is "${text}"`);
let messageNode = yield waitFor(() => findMessage(hud, text));
let frameLinkNode = messageNode.querySelector(".message-location .frame-link");
ok(frameLinkNode, "The message does have a location link");
yield checkClickOnNode(hud, toolbox, frameLinkNode);
}
/**
* Helper function for testOpenInDebugger.
*/
function* checkClickOnNode(hud, toolbox, frameLinkNode) {
info("checking click on node location");
let url = frameLinkNode.getAttribute("data-url");
ok(url, `source url found ("${url}")`);
let line = frameLinkNode.getAttribute("data-line");
ok(line, `source line found ("${line}")`);
let onSourceInDebuggerOpened = once(hud.ui, "source-in-debugger-opened");
EventUtils.sendMouseEvent({ type: "click" },
frameLinkNode.querySelector(".frame-link-filename"));
yield onSourceInDebuggerOpened;
let dbg = toolbox.getPanel("jsdebugger");
is(
dbg._selectors.getSelectedSource(dbg._getState()).get("url"),
url,
"expected source url"
);
}

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

@ -7,6 +7,7 @@
"use strict";
const promise = require("promise");
const defer = require("devtools/shared/defer");
loader.lazyGetter(this, "HUDService", () => require("devtools/client/webconsole/hudservice"));
loader.lazyGetter(this, "EventEmitter", () => require("devtools/shared/event-emitter"));
@ -45,7 +46,7 @@ WebConsolePanel.prototype = {
let iframe = parentDoc.getElementById("toolbox-panel-iframe-webconsole");
// Make sure the iframe content window is ready.
let deferredIframe = promise.defer();
let deferredIframe = defer();
let win, doc;
if ((win = iframe.contentWindow) &&
(doc = win.document) &&

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

@ -77,7 +77,7 @@ add_task(function* () {
info("expected clipboard value: " + message.url);
let deferred = promise.defer();
let deferred = defer();
waitForClipboard((aData) => {
return aData.trim() == message.url;

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

@ -23,9 +23,9 @@ add_task(function* () {
let hud = yield openConsole();
ok(hud, "Web Console opened");
let tabClosed = promise.defer();
let toolboxDestroyed = promise.defer();
let tabSelected = promise.defer();
let tabClosed = defer();
let toolboxDestroyed = defer();
let tabSelected = defer();
let target = TargetFactory.forTab(gBrowser.selectedTab);
let toolbox = gDevTools.getToolbox(target);
@ -59,7 +59,7 @@ add_task(function* () {
hud = yield HUDService.toggleBrowserConsole();
ok(hud, "Browser Console opened");
let deferred = promise.defer();
let deferred = defer();
Services.obs.addObserver(function onDestroy() {
Services.obs.removeObserver(onDestroy, "web-console-destroyed");

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

@ -200,7 +200,7 @@ function* testCPOWInspection(hud) {
}
function waitForConsole() {
let deferred = promise.defer();
let deferred = defer();
Services.obs.addObserver(function observer(aSubject) {
Services.obs.removeObserver(observer, "web-console-created");

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

@ -67,7 +67,7 @@ function test() {
let viewSource = browserconsole.viewSource;
let URL = null;
let clickPromise = promise.defer();
let clickPromise = defer();
browserconsole.viewSourceInDebugger = (sourceURL) => {
info("browserconsole.viewSourceInDebugger() was invoked: " + sourceURL);
URL = sourceURL;

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

@ -117,7 +117,7 @@ add_task(function* () {
let clickable = consoleErrorMsg.clickableElements[0];
ok(clickable, "clickable object found for console.error");
let deferred = promise.defer();
let deferred = defer();
let onFetch = (aEvent, aVar) => {
// Skip the notification from console.dir variablesview-fetched.

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

@ -50,7 +50,7 @@ add_task(function* testCopy() {
]
];
for (let [source, reference] of samples) {
let deferredResult = promise.defer();
let deferredResult = defer();
SimpleTest.waitForClipboard(
"" + reference,

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

@ -35,7 +35,7 @@ add_task(function* () {
hud.setFilterState("exception", true);
// We need to let the console opening event loop to finish.
let deferred = promise.defer();
let deferred = defer();
executeSoon(() => closeConsole().then(() => deferred.resolve(null)));
yield deferred.promise;

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

@ -32,7 +32,7 @@ function* getVariablesView(hud) {
deferred.resolve(vview._variablesView);
}
let deferred = promise.defer();
let deferred = defer();
// Filter out other messages to ensure ours stays visible.
hud.ui.filterBox.value = "browser_console_hide_jsterm_test";

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

@ -73,7 +73,7 @@ function waitForThreadEvents(aPanel, aEventName, aEventRepeat = 1) {
info("Waiting for thread event: '" + aEventName + "' to fire: " +
aEventRepeat + " time(s).");
let deferred = promise.defer();
let deferred = defer();
let thread = aPanel.panelWin.gThreadClient;
let count = 0;

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

@ -109,7 +109,7 @@ add_task(function* () {
});
function updateServerLoggingListener(hud) {
let deferred = promise.defer();
let deferred = defer();
hud.ui._updateServerLoggingListener(response => {
deferred.resolve(response);
});

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

@ -36,7 +36,7 @@ function test() {
const hud = yield openConsole(tab);
const jsterm = hud.jsterm;
let deferred = promise.defer();
let deferred = defer();
jsterm.once("variablesview-fetched", (_, val) => deferred.resolve(val));
jsterm.execute("inspect(document.querySelectorAll('div'))");

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

@ -83,7 +83,7 @@ function test() {
*/
function* testNotSorted(aObject) {
info("Testing " + aObject);
let deferred = promise.defer();
let deferred = defer();
jsterm.once("variablesview-fetched", (_, aVar) => deferred.resolve(aVar));
jsterm.execute("inspect(" + aObject + ")");
@ -109,7 +109,7 @@ function test() {
*/
function* testSorted(aObject) {
info("Testing " + aObject);
let deferred = promise.defer();
let deferred = defer();
jsterm.once("variablesview-fetched", (_, aVar) => deferred.resolve(aVar));
jsterm.execute("inspect(" + aObject + ")");

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

@ -30,8 +30,8 @@ add_task(function* () {
let {DebuggerController} = panelWin;
let {activeThread} = DebuggerController;
let firstCall = promise.defer();
let frameAdded = promise.defer();
let firstCall = defer();
let frameAdded = defer();
executeSoon(() => {
info("Executing firstCall");
activeThread.addOneTimeListener("framesadded", () => {

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

@ -50,7 +50,7 @@ add_task(function* () {
});
function loadDocument(browser) {
let deferred = promise.defer();
let deferred = defer();
browser.addEventListener("load", function () {
deferred.resolve();

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

@ -79,7 +79,7 @@ add_task(function* () {
});
function execute(hud, str) {
let deferred = promise.defer();
let deferred = defer();
hud.jsterm.execute(str, deferred.resolve);
return deferred.promise;
}

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

@ -34,7 +34,7 @@ add_task(function* () {
});
function execute(hud, str) {
let deferred = promise.defer();
let deferred = defer();
hud.jsterm.execute(str, deferred.resolve);
return deferred.promise;
}

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

@ -31,7 +31,7 @@ add_task(function* () {
});
function testWarningNotPresent(hud) {
let deferred = promise.defer();
let deferred = defer();
is(hud.outputNode.textContent.indexOf("logging API"), -1,
"no warning displayed");
@ -60,7 +60,7 @@ function testWarningNotPresent(hud) {
function testWarningPresent(hud) {
info("wait for the warning to show");
let deferred = promise.defer();
let deferred = defer();
let warning = {
webconsole: hud,

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

@ -52,7 +52,7 @@ add_task(function* () {
});
function pushPrefEnv() {
let deferred = promise.defer();
let deferred = defer();
let options = {"set":
[["security.mixed_content.block_active_content", false],
["security.mixed_content.block_display_content", false]

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

@ -14,7 +14,7 @@ add_task(function* () {
yield loadTab(TEST_URI);
function* autocomplete(term) {
let deferred = promise.defer();
let deferred = defer();
jsterm.setInputValue(term);
jsterm.complete(jsterm.COMPLETE_HINT_ONLY, deferred.resolve);

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

@ -21,7 +21,7 @@ add_task(function* () {
});
function consoleOpened(HUD) {
let deferred = promise.defer();
let deferred = defer();
let jsterm = HUD.jsterm;
let stringToCopy = "foobazbarBug642615";

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

@ -56,7 +56,7 @@ add_task(function* () {
});
function pushPrefEnv() {
let deferred = promise.defer();
let deferred = defer();
let options = {
"set": [
["security.mixed_content.block_active_content", true],
@ -70,7 +70,7 @@ function pushPrefEnv() {
}
function mixedContentOverrideTest2(hud, browser) {
let deferred = promise.defer();
let deferred = defer();
let {gIdentityHandler} = browser.ownerGlobal;
ok(gIdentityHandler._identityBox.classList.contains("mixedActiveBlocked"),
"Mixed Active Content state appeared on identity box");

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

@ -19,7 +19,7 @@ add_task(function* () {
});
function testClosingAfterCompletion(hud, browser) {
let deferred = promise.defer();
let deferred = defer();
let errorWhileClosing = false;
function errorListener() {

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

@ -31,7 +31,7 @@ add_task(function* () {
});
var consoleOpened = Task.async(function* (hud) {
let deferred = promise.defer();
let deferred = defer();
HUD = hud;
info("web console opened");
@ -146,7 +146,7 @@ var consoleOpened = Task.async(function* (hud) {
});
function popupHideAfterTab() {
let deferred = promise.defer();
let deferred = defer();
// At this point the completion suggestion should be accepted.
ok(!popup.isOpen, "popup is not open");
@ -198,7 +198,7 @@ function popupHideAfterTab() {
}
function testReturnKey() {
let deferred = promise.defer();
let deferred = defer();
popup.once("popup-opened", function onShown() {
ok(popup.isOpen, "popup is open");
@ -250,7 +250,7 @@ function testReturnKey() {
}
function* dontShowArrayNumbers() {
let deferred = promise.defer();
let deferred = defer();
info("dontShowArrayNumbers");
yield ContentTask.spawn(gBrowser.selectedBrowser, {}, function* () {
@ -286,7 +286,7 @@ function* dontShowArrayNumbers() {
}
function testReturnWithNoSelection() {
let deferred = promise.defer();
let deferred = defer();
info("test pressing return with open popup, but no selection, see bug 873250");
@ -325,7 +325,7 @@ function popupHideAfterReturnWithNoSelection() {
function testCompletionInText() {
info("test that completion works inside text, see bug 812618");
let deferred = promise.defer();
let deferred = defer();
popup.once("popup-opened", function onShown() {
ok(popup.isOpen, "popup is open");

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

@ -16,7 +16,7 @@ add_task(function* () {
});
function consoleOpened(HUD) {
let deferred = promise.defer();
let deferred = defer();
let items = [
{label: "item0", value: "value0"},

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

@ -24,7 +24,7 @@ add_task(function* () {
function consoleOpened(hud) {
HUD = hud;
let deferred = promise.defer();
let deferred = defer();
// See bugs 574036, 586386 and 587617.
outputNode = HUD.outputNode;
@ -77,7 +77,7 @@ function consoleOpened(hud) {
// Test that the context menu "Copy" (which has a different code path) works
// properly as well.
function testContextMenuCopy() {
let deferred = promise.defer();
let deferred = defer();
let contextMenuId = HUD.ui.outputWrapper.getAttribute("context");
let contextMenu = HUD.ui.document.getElementById(contextMenuId);

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше