Merge autoland to central, a=merge
MozReview-Commit-ID: EGoWUCpbeu6
No files matched your search
@@ -119,7 +119,7 @@ var gEMEHandler = {
|
||||
});
|
||||
}
|
||||
|
||||
let iconURL = "chrome://browser/skin/drm-icon.svg#chains-black";
|
||||
let iconURL = "chrome://browser/skin/drm-icon.svg";
|
||||
|
||||
// Do a little dance to get rich content into the notification:
|
||||
let fragment = document.createDocumentFragment();
|
||||
|
||||
@@ -503,10 +503,9 @@ toolbar:not(#TabsToolbar) > #personal-bookmarks {
|
||||
|
||||
/* ::::: location bar & search bar ::::: */
|
||||
|
||||
#urlbar-container {
|
||||
min-width: 50ch;
|
||||
}
|
||||
|
||||
/* url bar min-width is defined further down, together with the maximum size
|
||||
* of the identity icon block, for different window sizes.
|
||||
*/
|
||||
#search-container {
|
||||
min-width: 25ch;
|
||||
}
|
||||
@@ -685,41 +684,69 @@ html|input.urlbar-input[textoverflow]:not([focused]) {
|
||||
-moz-user-focus: ignore;
|
||||
}
|
||||
|
||||
|
||||
/* We leave 49ch plus whatever space the download button will need when it
|
||||
* appears. Normally this should be 16px for the icon, plus 2 * 2px padding
|
||||
* plus the toolbarbutton-inner-padding. We're adding 4px to ensure things
|
||||
* like rounding on hidpi don't accidentally result in the button going
|
||||
* into overflow.
|
||||
*/
|
||||
#urlbar-container {
|
||||
min-width: calc(49ch + 24px + 2 * var(--toolbarbutton-inner-padding));
|
||||
}
|
||||
|
||||
#nav-bar[hasdownloads] #urlbar-container {
|
||||
min-width: 49ch;
|
||||
}
|
||||
|
||||
#identity-icon-labels {
|
||||
max-width: 18em;
|
||||
max-width: 17em;
|
||||
}
|
||||
@media (max-width: 700px) {
|
||||
#urlbar-container {
|
||||
min-width: 45ch;
|
||||
min-width: calc(44ch + 24px + 2 * var(--toolbarbutton-inner-padding));
|
||||
}
|
||||
#identity-icon-labels {
|
||||
max-width: 70px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 600px) {
|
||||
#urlbar-container {
|
||||
min-width: 40ch;
|
||||
#nav-bar[hasdownloads] #urlbar-container {
|
||||
min-width: 44ch;
|
||||
}
|
||||
|
||||
#identity-icon-labels {
|
||||
max-width: 60px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 500px) {
|
||||
@media (max-width: 600px) {
|
||||
#urlbar-container {
|
||||
min-width: 35ch;
|
||||
min-width: calc(39ch + 24px + 2 * var(--toolbarbutton-inner-padding));
|
||||
}
|
||||
#nav-bar[hasdownloads] #urlbar-container {
|
||||
min-width: 39ch;
|
||||
}
|
||||
#identity-icon-labels {
|
||||
max-width: 50px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 400px) {
|
||||
@media (max-width: 500px) {
|
||||
#urlbar-container {
|
||||
min-width: 28ch;
|
||||
min-width: calc(34ch + 24px + 2 * var(--toolbarbutton-inner-padding));
|
||||
}
|
||||
#nav-bar[hasdownloads] #urlbar-container {
|
||||
min-width: 34ch;
|
||||
}
|
||||
#identity-icon-labels {
|
||||
max-width: 40px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 400px) {
|
||||
#urlbar-container {
|
||||
min-width: calc(27ch + 24px + 2 * var(--toolbarbutton-inner-padding));
|
||||
}
|
||||
#nav-bar[hasdownloads] #urlbar-container {
|
||||
min-width: 27ch;
|
||||
}
|
||||
#identity-icon-labels {
|
||||
max-width: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
#identity-icon-country-label {
|
||||
direction: ltr;
|
||||
@@ -1062,20 +1089,7 @@ notification[value="translation"] {
|
||||
}
|
||||
|
||||
/*** Visibility of downloads indicator controls ***/
|
||||
|
||||
/* Bug 924050: If we've loaded the indicator, for now we hide it in the menu panel,
|
||||
and just show the icon. This is a hack to side-step very weird layout bugs that
|
||||
seem to be caused by the indicator stack interacting with the menu panel. */
|
||||
#downloads-button[indicator]:not([cui-areatype="menu-panel"]) > .toolbarbutton-badge-stack > image.toolbarbutton-icon,
|
||||
#downloads-button[indicator][cui-areatype="menu-panel"] > #downloads-indicator-anchor {
|
||||
display: none;
|
||||
}
|
||||
|
||||
toolbarpaletteitem[place="palette"] > #downloads-button[indicator] > .toolbarbutton-badge-stack > image.toolbarbutton-icon {
|
||||
display: -moz-box;
|
||||
}
|
||||
|
||||
toolbarpaletteitem[place="palette"] > #downloads-button[indicator] > #downloads-indicator-anchor {
|
||||
#downloads-button[indicator] > .toolbarbutton-badge-stack > image.toolbarbutton-icon {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
||||
@@ -673,7 +673,7 @@ var gPopupBlockerObserver = {
|
||||
|
||||
const priority = notificationBox.PRIORITY_WARNING_MEDIUM;
|
||||
notificationBox.appendNotification(message, "popup-blocked",
|
||||
"chrome://browser/skin/Info.png",
|
||||
"chrome://browser/skin/notification-icons/popup.svg",
|
||||
priority, buttons);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -903,17 +903,18 @@
|
||||
</toolbaritem>
|
||||
|
||||
<!-- This is a placeholder for the Downloads Indicator. It is visible
|
||||
during the customization of the toolbar, in the palette, and before
|
||||
the Downloads Indicator overlay is loaded. -->
|
||||
before the Downloads Indicator overlay is loaded. -->
|
||||
<toolbarbutton id="downloads-button"
|
||||
hidden="true"
|
||||
class="toolbarbutton-1 chromeclass-toolbar-additional badged-button"
|
||||
skipintoolbarset="true"
|
||||
overflows="false"
|
||||
key="key_openDownloads"
|
||||
oncommand="DownloadsIndicatorView.onCommand(event);"
|
||||
ondrop="DownloadsIndicatorView.onDrop(event);"
|
||||
ondragover="DownloadsIndicatorView.onDragOver(event);"
|
||||
ondragenter="DownloadsIndicatorView.onDragOver(event);"
|
||||
label="&downloads.label;"
|
||||
removable="true"
|
||||
cui-areatype="toolbar"
|
||||
tooltip="dynamic-shortcut-tooltip"/>
|
||||
|
||||
|
||||
@@ -5382,7 +5382,7 @@
|
||||
}];
|
||||
|
||||
notificationBox.appendNotification(message, "refresh-blocked",
|
||||
"chrome://browser/skin/Info.png",
|
||||
"chrome://browser/skin/notification-icons/popup.svg",
|
||||
notificationBox.PRIORITY_INFO_MEDIUM,
|
||||
buttons);
|
||||
}
|
||||
|
||||
@@ -74,7 +74,7 @@ async function expectFocusOnF6(backward, expectedDocument, expectedElement, onCo
|
||||
}
|
||||
|
||||
is(fm.focusedWindow.document.documentElement.id, expectedDocument, desc + " document matches");
|
||||
is(fm.focusedElement, expectedElement, desc + " element matches");
|
||||
is(fm.focusedElement, expectedElement, desc + " element matches (wanted: " + expectedElement.id + " got: " + fm.focusedElement.id + ")");
|
||||
|
||||
if (onContent) {
|
||||
window.messageManager.removeMessageListener("BrowserTest:FocusChanged", focusChangedListener);
|
||||
@@ -171,15 +171,32 @@ add_task(async function() {
|
||||
});
|
||||
|
||||
// Navigate when the downloads panel is open
|
||||
add_task(async function() {
|
||||
add_task(async function test_download_focus() {
|
||||
await pushPrefs(["accessibility.tabfocus", 7]);
|
||||
|
||||
let testTargetFile = FileUtils.getFile("TmpD", ["dm-ui-test.file"]);
|
||||
testTargetFile.createUnique(Ci.nsIFile.NORMAL_FILE_TYPE, FileUtils.PERMS_FILE);
|
||||
registerCleanupFunction(() => testTargetFile.remove(false));
|
||||
let downloadsList = await Downloads.getList(Downloads.PUBLIC);
|
||||
let download = {
|
||||
source: "http://www.example.com/test-download.txt",
|
||||
target: testTargetFile.path,
|
||||
succeeded: true,
|
||||
startTime: new Date(),
|
||||
};
|
||||
await downloadsList.add(await Downloads.createDownload(download));
|
||||
|
||||
await BrowserTestUtils.waitForCondition(() => {
|
||||
let btn = document.getElementById("downloads-button");
|
||||
return !btn.hidden && btn.getBoundingClientRect().width > 0;
|
||||
});
|
||||
|
||||
let popupShownPromise = BrowserTestUtils.waitForEvent(document, "popupshown", true);
|
||||
EventUtils.synthesizeMouseAtCenter(document.getElementById("downloads-button"), { });
|
||||
await popupShownPromise;
|
||||
|
||||
gURLBar.focus();
|
||||
await expectFocusOnF6(false, "main-window", document.getElementById("downloadsHistory"),
|
||||
await expectFocusOnF6(false, "main-window", document.getElementById("downloadsListBox"),
|
||||
false, "focus with downloads panel open panel");
|
||||
await expectFocusOnF6(false, "html1", "html1",
|
||||
true, "focus with downloads panel open");
|
||||
@@ -189,7 +206,7 @@ add_task(async function() {
|
||||
// Now go backwards
|
||||
await expectFocusOnF6(true, "html1", "html1",
|
||||
true, "back focus with downloads panel open");
|
||||
await expectFocusOnF6(true, "main-window", document.getElementById("downloadsHistory"),
|
||||
await expectFocusOnF6(true, "main-window", document.getElementById("downloadsListBox"),
|
||||
false, "back focus with downloads panel open");
|
||||
await expectFocusOnF6(true, "main-window", gURLBar.inputField,
|
||||
false, "back focus downloads panel open urlbar");
|
||||
|
||||
@@ -47,6 +47,10 @@ const whitelist = [
|
||||
file: "chrome://browser/skin/arrow-left.svg",
|
||||
platforms: ["linux", "win", "macosx"],
|
||||
},
|
||||
{
|
||||
file: "chrome://browser/skin/fxa/sync-illustration.svg",
|
||||
platforms: ["linux", "win", "macosx"],
|
||||
},
|
||||
{
|
||||
file: "chrome://browser/skin/tabbrowser/tab-overflow-indicator.png",
|
||||
platforms: ["linux", "win", "macosx"],
|
||||
|
||||
@@ -9,8 +9,8 @@ const DRAG_WORD = "Firefox";
|
||||
add_task(async function checkDragURL() {
|
||||
await BrowserTestUtils.withNewTab(TEST_URL, function(browser) {
|
||||
// Have to use something other than the URL bar as a source, so picking the
|
||||
// downloads button somewhat arbitrarily:
|
||||
EventUtils.synthesizeDrop(document.getElementById("downloads-button"), gURLBar,
|
||||
// home button somewhat arbitrarily:
|
||||
EventUtils.synthesizeDrop(document.getElementById("home-button"), gURLBar,
|
||||
[[{type: "text/plain", data: DRAG_URL}]], "copy", window);
|
||||
is(gURLBar.value, TEST_URL, "URL bar value should not have changed");
|
||||
is(gBrowser.selectedBrowser.userTypedValue, null, "Stored URL bar value should not have changed");
|
||||
@@ -19,7 +19,7 @@ add_task(async function checkDragURL() {
|
||||
|
||||
add_task(async function checkDragForbiddenURL() {
|
||||
await BrowserTestUtils.withNewTab(TEST_URL, function(browser) {
|
||||
EventUtils.synthesizeDrop(document.getElementById("downloads-button"), gURLBar,
|
||||
EventUtils.synthesizeDrop(document.getElementById("home-button"), gURLBar,
|
||||
[[{type: "text/plain", data: DRAG_FORBIDDEN_URL}]], "copy", window);
|
||||
isnot(gURLBar.value, DRAG_FORBIDDEN_URL, "Shouldn't be allowed to drop forbidden URL on URL bar");
|
||||
});
|
||||
@@ -27,11 +27,11 @@ add_task(async function checkDragForbiddenURL() {
|
||||
|
||||
add_task(async function checkDragText() {
|
||||
await BrowserTestUtils.withNewTab(TEST_URL, function(browser) {
|
||||
EventUtils.synthesizeDrop(document.getElementById("downloads-button"), gURLBar,
|
||||
EventUtils.synthesizeDrop(document.getElementById("home-button"), gURLBar,
|
||||
[[{type: "text/plain", data: DRAG_TEXT}]], "copy", window);
|
||||
is(gURLBar.value, DRAG_TEXT, "Dragging normal text should replace the URL bar value");
|
||||
|
||||
EventUtils.synthesizeDrop(document.getElementById("downloads-button"), gURLBar,
|
||||
EventUtils.synthesizeDrop(document.getElementById("home-button"), gURLBar,
|
||||
[[{type: "text/plain", data: DRAG_WORD}]], "copy", window);
|
||||
is(gURLBar.value, DRAG_WORD, "Dragging a single word should replace the URL bar value");
|
||||
});
|
||||
|
||||
@@ -57,7 +57,7 @@ const kSubviewEvents = [
|
||||
* The current version. We can use this to auto-add new default widgets as necessary.
|
||||
* (would be const but isn't because of testing purposes)
|
||||
*/
|
||||
var kVersion = 10;
|
||||
var kVersion = 11;
|
||||
|
||||
/**
|
||||
* Buttons removed from built-ins by version they were removed. kVersion must be
|
||||
@@ -177,7 +177,7 @@ var CustomizableUIInternal = {
|
||||
this.addListener(this);
|
||||
this._defineBuiltInWidgets();
|
||||
this.loadSavedState();
|
||||
this._introduceNewBuiltinWidgets();
|
||||
this._updateForNewVersion();
|
||||
this._markObsoleteBuiltinButtonsSeen();
|
||||
|
||||
this.registerArea(CustomizableUI.AREA_FIXED_OVERFLOW_PANEL, {
|
||||
@@ -195,7 +195,6 @@ var CustomizableUIInternal = {
|
||||
"urlbar-container",
|
||||
"search-container",
|
||||
"spring",
|
||||
"downloads-button",
|
||||
"library-button",
|
||||
"sidebar-button",
|
||||
];
|
||||
@@ -263,7 +262,7 @@ var CustomizableUIInternal = {
|
||||
}
|
||||
},
|
||||
|
||||
_introduceNewBuiltinWidgets() {
|
||||
_updateForNewVersion() {
|
||||
// We should still enter even if gSavedState.currentVersion >= kVersion
|
||||
// because the per-widget pref facility is independent of versioning.
|
||||
if (!gSavedState) {
|
||||
@@ -416,6 +415,15 @@ var CustomizableUIInternal = {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (currentVersion < 11 && gSavedState && gSavedState.placements) {
|
||||
for (let placements of Object.values(gSavedState.placements)) {
|
||||
if (placements.includes("downloads-button")) {
|
||||
placements.splice(placements.indexOf("downloads-button"), 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
|
||||
@@ -166,7 +166,7 @@
|
||||
<hbox id="PanelUI-remotetabs-tabsdisabledpane" pack="center" flex="1">
|
||||
<vbox class="PanelUI-remotetabs-instruction-box" align="center">
|
||||
<hbox pack="center">
|
||||
<image class="fxaSyncIllustration"/>
|
||||
<html:img class="fxaSyncIllustration" src="chrome://browser/skin/fxa/sync-illustration.svg"/>
|
||||
</hbox>
|
||||
<label class="PanelUI-remotetabs-instruction-label">&appMenuRemoteTabs.tabsnotsyncing.label;</label>
|
||||
<hbox pack="center">
|
||||
@@ -184,7 +184,7 @@
|
||||
<hbox id="PanelUI-remotetabs-nodevicespane" pack="center" flex="1">
|
||||
<vbox class="PanelUI-remotetabs-instruction-box">
|
||||
<hbox pack="center">
|
||||
<image class="fxaSyncIllustration"/>
|
||||
<html:img class="fxaSyncIllustration" src="chrome://browser/skin/fxa/sync-illustration.svg"/>
|
||||
</hbox>
|
||||
<label class="PanelUI-remotetabs-instruction-title">&appMenuRemoteTabs.noclients.title;</label>
|
||||
<label class="PanelUI-remotetabs-instruction-label">&appMenuRemoteTabs.noclients.subtitle;</label>
|
||||
@@ -202,7 +202,7 @@
|
||||
align="center"
|
||||
class="PanelUI-remotetabs-instruction-box"
|
||||
observes="sync-setup-state">
|
||||
<image class="fxaSyncIllustration"/>
|
||||
<html:img class="fxaSyncIllustration" src="chrome://browser/skin/fxa/sync-illustration.svg"/>
|
||||
<label class="PanelUI-remotetabs-instruction-label">&appMenuRemoteTabs.notsignedin.label;</label>
|
||||
<toolbarbutton class="PanelUI-remotetabs-prefs-button"
|
||||
label="&appMenuRemoteTabs.signin.label;"
|
||||
@@ -216,7 +216,7 @@
|
||||
align="center"
|
||||
class="PanelUI-remotetabs-instruction-box"
|
||||
observes="sync-reauth-state">
|
||||
<image class="fxaSyncIllustration"/>
|
||||
<html:img class="fxaSyncIllustration" src="chrome://browser/skin/fxa/sync-illustration.svg"/>
|
||||
<label class="PanelUI-remotetabs-instruction-label">&appMenuRemoteTabs.notsignedin.label;</label>
|
||||
<toolbarbutton class="PanelUI-remotetabs-prefs-button"
|
||||
label="&appMenuRemoteTabs.signin.label;"
|
||||
|
||||
@@ -19,7 +19,7 @@ function test() {
|
||||
"All future placements should be dealt with by now.");
|
||||
|
||||
let {CustomizableUIInternal, gFuturePlacements, gPalette} = CustomizableUIBSPass;
|
||||
CustomizableUIInternal._introduceNewBuiltinWidgets();
|
||||
CustomizableUIInternal._updateForNewVersion();
|
||||
is(gFuturePlacements.size, 0,
|
||||
"No change to future placements initially.");
|
||||
|
||||
@@ -67,7 +67,7 @@ function test() {
|
||||
}
|
||||
|
||||
// Then call the re-init routine so we re-add the builtin widgets
|
||||
CustomizableUIInternal._introduceNewBuiltinWidgets();
|
||||
CustomizableUIInternal._updateForNewVersion();
|
||||
is(gFuturePlacements.size, 1,
|
||||
"Should have 1 more future placement");
|
||||
let haveNavbarPlacements = gFuturePlacements.has(CustomizableUI.AREA_NAVBAR);
|
||||
@@ -106,7 +106,7 @@ function test() {
|
||||
"PanelUI-contents": ["panic-button", "edit-controls"],
|
||||
},
|
||||
};
|
||||
CustomizableUIInternal._introduceNewBuiltinWidgets();
|
||||
CustomizableUIInternal._updateForNewVersion();
|
||||
let navbarPlacements = CustomizableUIBSPass.gSavedState.placements["nav-bar"];
|
||||
let springs = navbarPlacements.filter(id => id.includes("spring"));
|
||||
is(springs.length, 2, "Should have 2 toolbarsprings in placements now");
|
||||
|
||||
@@ -17,7 +17,7 @@ function test() {
|
||||
CustomizableUIInternal.saveState();
|
||||
CustomizableUIInternal.loadSavedState();
|
||||
|
||||
CustomizableUIInternal._introduceNewBuiltinWidgets();
|
||||
CustomizableUIInternal._updateForNewVersion();
|
||||
is(gFuturePlacements.size, 0,
|
||||
"No change to future placements initially.");
|
||||
|
||||
@@ -44,7 +44,7 @@ function test() {
|
||||
|
||||
let savedPlacements = CustomizableUIBSPass.gSavedState.placements[CustomizableUI.AREA_NAVBAR];
|
||||
// Then call the re-init routine so we re-add the builtin widgets
|
||||
CustomizableUIInternal._introduceNewBuiltinWidgets();
|
||||
CustomizableUIInternal._updateForNewVersion();
|
||||
is(gFuturePlacements.size, 1,
|
||||
"Should have 1 more future placement");
|
||||
let futureNavbarPlacements = gFuturePlacements.get(CustomizableUI.AREA_NAVBAR);
|
||||
|
||||
@@ -16,16 +16,16 @@ add_task(async function() {
|
||||
skippedItem.setAttribute("skipintoolbarset", "true");
|
||||
skippedItem.setAttribute("removable", "true");
|
||||
navbar.customizationTarget.appendChild(skippedItem);
|
||||
let downloadsButton = document.getElementById("downloads-button");
|
||||
let libraryButton = document.getElementById("library-button");
|
||||
await startCustomizing();
|
||||
ok(CustomizableUI.inDefaultState, "Should still be in default state");
|
||||
simulateItemDrag(skippedItem, downloadsButton);
|
||||
simulateItemDrag(skippedItem, libraryButton);
|
||||
ok(CustomizableUI.inDefaultState, "Should still be in default state");
|
||||
let skippedItemWrapper = skippedItem.parentNode;
|
||||
is(skippedItemWrapper.nextSibling && skippedItemWrapper.nextSibling.id,
|
||||
downloadsButton.parentNode.id, "Should be next to downloads button");
|
||||
simulateItemDrag(downloadsButton, skippedItem);
|
||||
let downloadWrapper = downloadsButton.parentNode;
|
||||
libraryButton.parentNode.id, "Should be next to downloads button");
|
||||
simulateItemDrag(libraryButton, skippedItem);
|
||||
let downloadWrapper = libraryButton.parentNode;
|
||||
is(downloadWrapper.nextSibling && downloadWrapper.nextSibling.id,
|
||||
skippedItem.parentNode.id, "Should be next to skipintoolbarset item");
|
||||
ok(CustomizableUI.inDefaultState, "Should still be in default state");
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
add_task(async function() {
|
||||
await startCustomizing();
|
||||
let devButton = document.getElementById("developer-button");
|
||||
let downloadsButton = document.getElementById("downloads-button");
|
||||
let libraryButton = document.getElementById("library-button");
|
||||
let searchBox = document.getElementById("search-container");
|
||||
let palette = document.getElementById("customization-palette");
|
||||
ok(devButton && downloadsButton && searchBox && palette, "Stuff should exist");
|
||||
simulateItemDrag(devButton, downloadsButton);
|
||||
ok(devButton && libraryButton && searchBox && palette, "Stuff should exist");
|
||||
simulateItemDrag(devButton, libraryButton);
|
||||
simulateItemDrag(searchBox, palette);
|
||||
await gCustomizeMode.reset();
|
||||
ok(CustomizableUI.inDefaultState, "Should be back in default state");
|
||||
|
||||
@@ -10,11 +10,11 @@ const kTestToolbarId = "test-empty-drag";
|
||||
add_task(async function() {
|
||||
await createToolbarWithPlacements(kTestToolbarId, []);
|
||||
await startCustomizing();
|
||||
let downloadButton = document.getElementById("downloads-button");
|
||||
let libraryButton = document.getElementById("library-button");
|
||||
let customToolbar = document.getElementById(kTestToolbarId);
|
||||
simulateItemDrag(downloadButton, customToolbar);
|
||||
assertAreaPlacements(kTestToolbarId, ["downloads-button"]);
|
||||
ok(downloadButton.parentNode && downloadButton.parentNode.parentNode == customToolbar,
|
||||
simulateItemDrag(libraryButton, customToolbar);
|
||||
assertAreaPlacements(kTestToolbarId, ["library-button"]);
|
||||
ok(libraryButton.parentNode && libraryButton.parentNode.parentNode == customToolbar,
|
||||
"Button should really be in toolbar");
|
||||
await endCustomizing();
|
||||
removeCustomToolbars();
|
||||
|
||||
@@ -44,12 +44,12 @@ add_task(async function() {
|
||||
// Drag an item and drop it onto the nav-bar customization target, but
|
||||
// not over a particular item.
|
||||
await startCustomizing();
|
||||
let downloadsButton = document.getElementById("downloads-button");
|
||||
simulateItemDrag(downloadsButton, navbar.customizationTarget);
|
||||
let homeButton = document.getElementById("home-button");
|
||||
simulateItemDrag(homeButton, navbar.customizationTarget);
|
||||
|
||||
await endCustomizing();
|
||||
|
||||
is(downloadsButton.previousSibling.id, lastVisible.id,
|
||||
is(homeButton.previousSibling.id, lastVisible.id,
|
||||
"The downloads button should be placed after the last visible item.");
|
||||
|
||||
await resetCustomization();
|
||||
|
||||
@@ -43,28 +43,3 @@ add_task(async function check_developer_subview_in_overflow() {
|
||||
expectedPanel.hidePopup();
|
||||
await Promise.resolve(); // wait for popup to hide fully.
|
||||
});
|
||||
|
||||
/**
|
||||
* This checks that non-subview-compatible items still work correctly.
|
||||
* Ideally we should make the downloads panel and bookmarks/library item
|
||||
* proper subview items, then this test can go away, and potentially we can
|
||||
* simplify some of the subview anchoring code.
|
||||
*/
|
||||
add_task(async function check_downloads_panel_in_overflow() {
|
||||
let navbar = document.getElementById(CustomizableUI.AREA_NAVBAR);
|
||||
ok(navbar.hasAttribute("overflowing"), "Should still be overflowing");
|
||||
let chevron = document.getElementById("nav-bar-overflow-button");
|
||||
let shownPanelPromise = promisePanelElementShown(window, kOverflowPanel);
|
||||
chevron.click();
|
||||
await shownPanelPromise;
|
||||
|
||||
let button = document.getElementById("downloads-button");
|
||||
button.click();
|
||||
await waitForCondition(() => {
|
||||
let panel = document.getElementById("downloadsPanel");
|
||||
return panel && panel.state != "closed";
|
||||
});
|
||||
let downloadsPanel = document.getElementById("downloadsPanel");
|
||||
isnot(downloadsPanel.state, "closed", "Should be attempting to show the downloads panel.");
|
||||
downloadsPanel.hidePopup();
|
||||
});
|
||||
@@ -42,7 +42,6 @@ XPCOMUtils.defineLazyModuleGetters(this, {
|
||||
PluralForm: "resource://gre/modules/PluralForm.jsm",
|
||||
AppConstants: "resource://gre/modules/AppConstants.jsm",
|
||||
AppMenuNotifications: "resource://gre/modules/AppMenuNotifications.jsm",
|
||||
CustomizableUI: "resource:///modules/CustomizableUI.jsm",
|
||||
DownloadHistory: "resource://gre/modules/DownloadHistory.jsm",
|
||||
Downloads: "resource://gre/modules/Downloads.jsm",
|
||||
DownloadUIHelper: "resource://gre/modules/DownloadUIHelper.jsm",
|
||||
@@ -1161,17 +1160,6 @@ DownloadsIndicatorDataCtor.prototype = {
|
||||
|
||||
this._refreshProperties();
|
||||
|
||||
let widgetGroup = CustomizableUI.getWidget("downloads-button");
|
||||
let inMenu = widgetGroup.areaType == CustomizableUI.TYPE_MENU_PANEL;
|
||||
if (inMenu) {
|
||||
if (this._attention == DownloadsCommon.ATTENTION_NONE) {
|
||||
AppMenuNotifications.removeNotification(/^download-/);
|
||||
} else {
|
||||
let badgeClass = "download-" + this._attention;
|
||||
AppMenuNotifications.showBadgeOnlyNotification(badgeClass);
|
||||
}
|
||||
}
|
||||
|
||||
this._views.forEach(this._updateView, this);
|
||||
},
|
||||
|
||||
|
||||
@@ -176,13 +176,6 @@ richlistitem.download button {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/*** Downloads panel ***/
|
||||
|
||||
#downloadsPanel[hasdownloads] #emptyDownloads,
|
||||
#downloadsPanel:not([hasdownloads]) #downloadsListBox {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/*** Downloads panel multiview (main view and blocked-downloads subview) ***/
|
||||
|
||||
/* Hide all the usual buttons. */
|
||||
|
||||
@@ -702,12 +702,8 @@ var DownloadsView = {
|
||||
let count = this._downloads.length;
|
||||
let hiddenCount = count - this.kItemCountLimit;
|
||||
|
||||
if (count > 0) {
|
||||
DownloadsCommon.log("Setting the panel's hasdownloads attribute to true.");
|
||||
DownloadsPanel.panel.setAttribute("hasdownloads", "true");
|
||||
} else {
|
||||
DownloadsCommon.log("Removing the panel's hasdownloads attribute.");
|
||||
DownloadsPanel.panel.removeAttribute("hasdownloads");
|
||||
if (count <= 0) {
|
||||
DownloadsButton.hide();
|
||||
}
|
||||
|
||||
// If we've got some hidden downloads, we should activate the
|
||||
|
||||
@@ -117,9 +117,6 @@
|
||||
onmouseout="DownloadsView.onDownloadMouseOut(event);"
|
||||
oncontextmenu="DownloadsView.onDownloadContextMenu(event);"
|
||||
ondragstart="DownloadsView.onDownloadDragStart(event);"/>
|
||||
<description id="emptyDownloads"
|
||||
mousethrough="always"
|
||||
value="&downloadsPanelEmpty.label;"/>
|
||||
</vbox>
|
||||
<vbox id="downloadsFooter"
|
||||
class="downloadsPanelFooter">
|
||||
|
||||
@@ -108,35 +108,14 @@ const DownloadsButton = {
|
||||
|
||||
indicator.open = this._anchorRequested;
|
||||
|
||||
let widget = CustomizableUI.getWidget("downloads-button")
|
||||
.forWindow(window);
|
||||
// Determine if the indicator is located on an invisible toolbar.
|
||||
if (!isElementVisible(indicator.parentNode) && !widget.overflowed) {
|
||||
return null;
|
||||
}
|
||||
// Determine if the indicator is located on an invisible toolbar.
|
||||
if (!window.toolbar.visible) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return DownloadsIndicatorView.indicatorAnchor;
|
||||
},
|
||||
|
||||
/**
|
||||
* Checks whether the indicator is, or will soon be visible in the browser
|
||||
* window.
|
||||
*
|
||||
* @param aCallback
|
||||
* Called once the indicator overlay has loaded. Gets a boolean
|
||||
* argument representing the indicator visibility.
|
||||
*/
|
||||
checkIsVisible(aCallback) {
|
||||
DownloadsOverlayLoader.ensureOverlayLoaded(this.kIndicatorOverlay, () => {
|
||||
if (!this._placeholder) {
|
||||
aCallback(false);
|
||||
} else {
|
||||
let element = DownloadsIndicatorView.indicator || this._placeholder;
|
||||
aCallback(isElementVisible(element.parentNode));
|
||||
}
|
||||
});
|
||||
},
|
||||
|
||||
/**
|
||||
* Indicates whether we should try and show the indicator temporarily as an
|
||||
* anchor for the panel, even if the indicator would be hidden by default.
|
||||
@@ -164,6 +143,36 @@ const DownloadsButton = {
|
||||
});
|
||||
},
|
||||
|
||||
unhideAndPlace() {
|
||||
if (this._placeholder.hasAttribute("hidden")) {
|
||||
this._navBar.setAttribute("hasdownloads", "true");
|
||||
this._placeholder.removeAttribute("hidden");
|
||||
let insertionPoint = document.getElementById("urlbar-container");
|
||||
while (insertionPoint && insertionPoint.nextElementSibling) {
|
||||
let next = insertionPoint.nextElementSibling;
|
||||
if (!next.hidden &&
|
||||
(next.nodeName == "toolbarspring" ||
|
||||
next.id == "downloads-button" || /* also have to ignore ourselves... */
|
||||
next.id == "search-container" ||
|
||||
next.id == "urlbar-search-splitter")) {
|
||||
insertionPoint = next;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (insertionPoint && insertionPoint.nextElementSibling != this._placeholder &&
|
||||
insertionPoint.nextElementSibling != this._placeholder.nextElementSibling) {
|
||||
insertionPoint.insertAdjacentElement("afterend", this._placeholder);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
hide() {
|
||||
DownloadsPanel.hidePanel();
|
||||
this._navBar.removeAttribute("hasdownloads");
|
||||
this._placeholder.setAttribute("hidden", "true");
|
||||
},
|
||||
|
||||
/**
|
||||
* Allows the temporary anchor to be hidden.
|
||||
*/
|
||||
@@ -252,12 +261,6 @@ const DownloadsIndicatorView = {
|
||||
return;
|
||||
}
|
||||
|
||||
// If we don't have a _placeholder, there's no chance that the overlay
|
||||
// will load correctly: bail (and don't set _operational to true!)
|
||||
if (!DownloadsButton._placeholder) {
|
||||
return;
|
||||
}
|
||||
|
||||
DownloadsOverlayLoader.ensureOverlayLoaded(
|
||||
DownloadsButton.kIndicatorOverlay,
|
||||
() => {
|
||||
@@ -339,21 +342,7 @@ const DownloadsIndicatorView = {
|
||||
return;
|
||||
}
|
||||
|
||||
let anchor = DownloadsButton._placeholder;
|
||||
let widgetGroup = CustomizableUI.getWidget("downloads-button");
|
||||
let widget = widgetGroup.forWindow(window);
|
||||
if (widget.overflowed || widgetGroup.areaType == CustomizableUI.TYPE_MENU_PANEL) {
|
||||
if (anchor && this._isAncestorPanelOpen(anchor)) {
|
||||
// If the containing panel is open, don't do anything, because the
|
||||
// notification would appear under the open panel. See
|
||||
// https://bugzilla.mozilla.org/show_bug.cgi?id=984023
|
||||
return;
|
||||
}
|
||||
|
||||
// Otherwise, try to use the anchor of the panel:
|
||||
anchor = widget.anchor;
|
||||
}
|
||||
if (!anchor || !isElementVisible(anchor.parentNode)) {
|
||||
if (!window.toolbar.visible) {
|
||||
// Our container isn't visible, so can't show the animation:
|
||||
return;
|
||||
}
|
||||
@@ -365,6 +354,7 @@ const DownloadsIndicatorView = {
|
||||
// container.
|
||||
// Note: no notifier animation for download finished in Photon
|
||||
let notifier = this.notifier;
|
||||
let anchor = DownloadsButton._placeholder;
|
||||
|
||||
if (aType == "start") {
|
||||
// Show the notifier before measuring for size/placement. Being hidden by default
|
||||
@@ -423,7 +413,9 @@ const DownloadsIndicatorView = {
|
||||
this._hasDownloads = aValue;
|
||||
|
||||
// If there is at least one download, ensure that the view elements are
|
||||
// operational
|
||||
if (aValue) {
|
||||
DownloadsButton.unhideAndPlace();
|
||||
this._ensureOperational();
|
||||
}
|
||||
}
|
||||
@@ -445,7 +437,6 @@ const DownloadsIndicatorView = {
|
||||
|
||||
if (this._percentComplete !== aValue) {
|
||||
this._percentComplete = aValue;
|
||||
this._refreshAttention();
|
||||
|
||||
if (this._percentComplete >= 0) {
|
||||
this.indicator.setAttribute("progress", "true");
|
||||
@@ -471,29 +462,14 @@ const DownloadsIndicatorView = {
|
||||
}
|
||||
if (this._attention != aValue) {
|
||||
this._attention = aValue;
|
||||
this._refreshAttention();
|
||||
if (this._attention == DownloadsCommon.ATTENTION_NONE) {
|
||||
this.indicator.removeAttribute("attention");
|
||||
} else {
|
||||
this.indicator.setAttribute("attention", this._attention);
|
||||
}
|
||||
}
|
||||
return this._attention;
|
||||
},
|
||||
|
||||
_refreshAttention() {
|
||||
// Check if the downloads button is in the menu panel, to determine which
|
||||
// button needs to get a badge.
|
||||
let widgetGroup = CustomizableUI.getWidget("downloads-button");
|
||||
let inMenu = widgetGroup.areaType == CustomizableUI.TYPE_MENU_PANEL;
|
||||
|
||||
// For arrow-Styled indicator, suppress success attention if we have
|
||||
// progress in toolbar
|
||||
let suppressAttention = !inMenu &&
|
||||
this._attention == DownloadsCommon.ATTENTION_SUCCESS &&
|
||||
this._percentComplete >= 0;
|
||||
|
||||
if (suppressAttention || this._attention == DownloadsCommon.ATTENTION_NONE) {
|
||||
this.indicator.removeAttribute("attention");
|
||||
} else {
|
||||
this.indicator.setAttribute("attention", this._attention);
|
||||
}
|
||||
},
|
||||
_attention: DownloadsCommon.ATTENTION_NONE,
|
||||
|
||||
// User interface event functions
|
||||
@@ -504,14 +480,7 @@ const DownloadsIndicatorView = {
|
||||
},
|
||||
|
||||
onCommand(aEvent) {
|
||||
// If the downloads button is in the menu panel, open the Library
|
||||
let widgetGroup = CustomizableUI.getWidget("downloads-button");
|
||||
if (widgetGroup.areaType == CustomizableUI.TYPE_MENU_PANEL) {
|
||||
DownloadsPanel.showDownloadsHistory();
|
||||
} else {
|
||||
DownloadsPanel.showPanel();
|
||||
}
|
||||
|
||||
DownloadsPanel.showPanel();
|
||||
aEvent.stopPropagation();
|
||||
},
|
||||
|
||||
@@ -563,11 +532,6 @@ const DownloadsIndicatorView = {
|
||||
},
|
||||
|
||||
get indicatorAnchor() {
|
||||
let widget = CustomizableUI.getWidget("downloads-button")
|
||||
.forWindow(window);
|
||||
if (widget.overflowed) {
|
||||
return widget.anchor;
|
||||
}
|
||||
return document.getElementById("downloads-indicator-anchor");
|
||||
},
|
||||
|
||||
|
||||
@@ -4,8 +4,6 @@ support-files = head.js
|
||||
[browser_basic_functionality.js]
|
||||
[browser_first_download_panel.js]
|
||||
skip-if = os == "linux" # Bug 949434
|
||||
[browser_overflow_anchor.js]
|
||||
skip-if = os == "linux" # Bug 952422
|
||||
[browser_confirm_unblock_download.js]
|
||||
[browser_iframe_gone_mid_download.js]
|
||||
[browser_indicatorDrop.js]
|
||||
|
||||
@@ -10,16 +10,23 @@
|
||||
*/
|
||||
add_task(async function test_height_reduced_after_removal() {
|
||||
await task_addDownloads([
|
||||
{ state: DownloadsCommon.DOWNLOAD_PAUSED },
|
||||
{ state: DownloadsCommon.DOWNLOAD_FINISHED },
|
||||
]);
|
||||
|
||||
await BrowserTestUtils.waitForCondition(() => {
|
||||
let btn = document.getElementById("downloads-button");
|
||||
return !btn.hidden && btn.getBoundingClientRect().width > 0;
|
||||
});
|
||||
|
||||
await task_openPanel();
|
||||
let panel = document.getElementById("downloadsPanel");
|
||||
let heightBeforeRemoval = panel.getBoundingClientRect().height;
|
||||
|
||||
// We want to close the panel before we remove the download from the list.
|
||||
// We want to close the panel before we remove a download from the list.
|
||||
DownloadsPanel.hidePanel();
|
||||
await task_resetState();
|
||||
let publicList = await Downloads.getList(Downloads.PUBLIC);
|
||||
await publicList.removeFinished();
|
||||
|
||||
await task_openPanel();
|
||||
let heightAfterRemoval = panel.getBoundingClientRect().height;
|
||||
|
||||
@@ -32,7 +32,9 @@ add_task(async function test_first_download_panel() {
|
||||
// time a download is started.
|
||||
DownloadsCommon.getData(window).panelHasShownBefore = false;
|
||||
|
||||
info("waiting for panel open");
|
||||
let promise = promisePanelOpened();
|
||||
await task_addDownloads([{state: DownloadsCommon.DOWNLOAD_DOWNLOADING}]);
|
||||
DownloadsCommon.getData(window)._notifyDownloadEvent("start");
|
||||
await promise;
|
||||
|
||||
|
||||
@@ -1,114 +0,0 @@
|
||||
/* Any copyright is dedicated to the Public Domain.
|
||||
http://creativecommons.org/publicdomain/zero/1.0/ */
|
||||
|
||||
registerCleanupFunction(async function() {
|
||||
// Clean up when the test finishes.
|
||||
await task_resetState();
|
||||
});
|
||||
|
||||
/**
|
||||
* Make sure the downloads button and indicator overflows into the nav-bar
|
||||
* chevron properly, and then when those buttons are clicked in the overflow
|
||||
* panel that the downloads panel anchors to the chevron.
|
||||
*/
|
||||
add_task(async function test_overflow_anchor() {
|
||||
// Ensure that state is reset in case previous tests didn't finish.
|
||||
await task_resetState();
|
||||
|
||||
// Record the original width of the window so we can put it back when
|
||||
// this test finishes.
|
||||
let oldWidth = window.outerWidth;
|
||||
|
||||
// The downloads button should not be overflowed to begin with.
|
||||
let button = CustomizableUI.getWidget("downloads-button")
|
||||
.forWindow(window);
|
||||
ok(!button.overflowed, "Downloads button should not be overflowed.");
|
||||
|
||||
// Hack - we lock the size of the default flex-y items in the nav-bar,
|
||||
// namely, the URL and search inputs. That way we can resize the
|
||||
// window without worrying about them flexing.
|
||||
const kFlexyItems = ["urlbar-container", "search-container"];
|
||||
registerCleanupFunction(() => unlockWidth(kFlexyItems));
|
||||
lockWidth(kFlexyItems);
|
||||
|
||||
// Resize the window to half of its original size. That should
|
||||
// be enough to overflow the downloads button.
|
||||
window.resizeTo(oldWidth / 2, window.outerHeight);
|
||||
await waitForOverflowed(button, true);
|
||||
|
||||
let promise = promisePanelOpened();
|
||||
button.node.doCommand();
|
||||
await promise;
|
||||
|
||||
let panel = DownloadsPanel.panel;
|
||||
let chevron = document.getElementById("nav-bar-overflow-button");
|
||||
is(panel.anchorNode, chevron, "Panel should be anchored to the chevron.");
|
||||
|
||||
DownloadsPanel.hidePanel();
|
||||
|
||||
// Unlock the widths on the flex-y items.
|
||||
unlockWidth(kFlexyItems);
|
||||
|
||||
// Put the window back to its original dimensions.
|
||||
window.resizeTo(oldWidth, window.outerHeight);
|
||||
|
||||
// The downloads button should eventually be un-overflowed.
|
||||
await waitForOverflowed(button, false);
|
||||
|
||||
// Now try opening the panel again.
|
||||
promise = promisePanelOpened();
|
||||
button.node.doCommand();
|
||||
await promise;
|
||||
|
||||
is(panel.anchorNode.id, "downloads-indicator-anchor");
|
||||
|
||||
DownloadsPanel.hidePanel();
|
||||
});
|
||||
|
||||
/**
|
||||
* For some node IDs, finds the nodes and sets their min-width's to their
|
||||
* current width, preventing them from flex-shrinking.
|
||||
*
|
||||
* @param aItemIDs an array of item IDs to set min-width on.
|
||||
*/
|
||||
function lockWidth(aItemIDs) {
|
||||
for (let itemID of aItemIDs) {
|
||||
let item = document.getElementById(itemID);
|
||||
let curWidth = item.getBoundingClientRect().width + "px";
|
||||
item.style.minWidth = curWidth;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Clears the min-width's set on a set of IDs by lockWidth.
|
||||
*
|
||||
* @param aItemIDs an array of ItemIDs to remove min-width on.
|
||||
*/
|
||||
function unlockWidth(aItemIDs) {
|
||||
for (let itemID of aItemIDs) {
|
||||
let item = document.getElementById(itemID);
|
||||
item.style.minWidth = "";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Waits for a node to enter or exit the overflowed state.
|
||||
*
|
||||
* @param aItem the node to wait for.
|
||||
* @param aIsOverflowed if we're waiting for the item to be overflowed.
|
||||
*/
|
||||
function waitForOverflowed(aItem, aIsOverflowed) {
|
||||
if (aItem.overflowed == aIsOverflowed) {
|
||||
return Promise.resolve();
|
||||
}
|
||||
|
||||
return new Promise(resolve => {
|
||||
let observer = new MutationObserver(function(aMutations) {
|
||||
if (aItem.overflowed == aIsOverflowed) {
|
||||
observer.disconnect();
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
observer.observe(aItem.node, {attributes: true});
|
||||
});
|
||||
}
|
||||
@@ -73,7 +73,6 @@ skip-if = (os == 'win' && !debug) # bug 1352668
|
||||
[browser_ext_devtools_page.js]
|
||||
[browser_ext_devtools_panel.js]
|
||||
[browser_ext_devtools_panels_elements.js]
|
||||
skip-if = true # bug 1382487
|
||||
[browser_ext_geckoProfiler_symbolicate.js]
|
||||
[browser_ext_getViews.js]
|
||||
[browser_ext_identity_indication.js]
|
||||
|
||||
@@ -11,7 +11,8 @@ add_task(async function test_devtools_panels_elements_onSelectionChanged() {
|
||||
let tab = await BrowserTestUtils.openNewForegroundTab(gBrowser, "http://mochi.test:8888/");
|
||||
|
||||
function devtools_page() {
|
||||
let doTabReload = true;
|
||||
let isReloading = false;
|
||||
let collectedEvalResults = [];
|
||||
|
||||
browser.devtools.panels.elements.onSelectionChanged.addListener(async () => {
|
||||
const [
|
||||
@@ -23,13 +24,35 @@ add_task(async function test_devtools_panels_elements_onSelectionChanged() {
|
||||
JSON.stringify(exceptionInfo));
|
||||
}
|
||||
|
||||
browser.test.sendMessage("devtools_eval_result", evalResult);
|
||||
collectedEvalResults.push(evalResult);
|
||||
|
||||
if (doTabReload) {
|
||||
// Force a reload to test that the expected onSelectionChanged events are sent
|
||||
// while the page is navigating and once it has been fully reloaded.
|
||||
doTabReload = false;
|
||||
await browser.devtools.inspectedWindow.eval("window.location.reload();");
|
||||
// The eval results that are happening during the reload are going to
|
||||
// be retrieved all at once using the "collected_devttols_eval_results:request".
|
||||
if (!isReloading) {
|
||||
browser.test.sendMessage("devtools_eval_result", evalResult);
|
||||
}
|
||||
});
|
||||
|
||||
browser.test.onMessage.addListener(msg => {
|
||||
switch (msg) {
|
||||
case "inspectedWindow_reload": {
|
||||
// Force a reload to test that the expected onSelectionChanged events are sent
|
||||
// while the page is navigating and once it has been fully reloaded.
|
||||
isReloading = true;
|
||||
collectedEvalResults = [];
|
||||
browser.devtools.inspectedWindow.eval("window.location.reload();");
|
||||
break;
|
||||
}
|
||||
|
||||
case "collected_devtools_eval_results:request": {
|
||||
browser.test.sendMessage("collected_devtools_eval_results:reply",
|
||||
collectedEvalResults);
|
||||
break;
|
||||
}
|
||||
|
||||
default: {
|
||||
browser.test.fail(`Received unexpected test.onMesssage: ${msg}`);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -63,23 +86,32 @@ add_task(async function test_devtools_panels_elements_onSelectionChanged() {
|
||||
|
||||
await extension.awaitMessage("devtools_page_loaded");
|
||||
|
||||
toolbox.selectTool("inspector");
|
||||
await toolbox.selectTool("inspector");
|
||||
|
||||
const inspector = toolbox.getPanel("inspector");
|
||||
|
||||
const evalResult = await extension.awaitMessage("devtools_eval_result");
|
||||
|
||||
is(evalResult, "BODY", "Got the expected onSelectionChanged once the inspector is selected");
|
||||
|
||||
const evalResultNavigating = await extension.awaitMessage("devtools_eval_result");
|
||||
// Reload the inspected tab and wait for the inspector markup view to have been
|
||||
// fully reloaded.
|
||||
const onceMarkupReloaded = inspector.once("markuploaded");
|
||||
extension.sendMessage("inspectedWindow_reload");
|
||||
await onceMarkupReloaded;
|
||||
|
||||
is(evalResultNavigating, undefined, "Got the expected onSelectionChanged once the tab is navigating");
|
||||
// Retrieve the first and last collected eval result (the first is related to the
|
||||
// page navigating away, the last one is related to the updated inspector markup view
|
||||
// fully reloaded and the selection updated).
|
||||
extension.sendMessage("collected_devtools_eval_results:request");
|
||||
const collectedEvalResults = await extension.awaitMessage("collected_devtools_eval_results:reply");
|
||||
const evalResultNavigating = collectedEvalResults.shift();
|
||||
const evalResultOnceMarkupReloaded = collectedEvalResults.pop();
|
||||
|
||||
const evalResultNavigated = await extension.awaitMessage("devtools_eval_result");
|
||||
is(evalResultNavigating, undefined,
|
||||
"Got the expected onSelectionChanged once the tab is navigating");
|
||||
|
||||
is(evalResultNavigated, undefined, "Got the expected onSelectionChanged once the tab navigated");
|
||||
|
||||
const evalResultReloaded = await extension.awaitMessage("devtools_eval_result");
|
||||
|
||||
is(evalResultReloaded, "BODY",
|
||||
is(evalResultOnceMarkupReloaded, "BODY",
|
||||
"Got the expected onSelectionChanged once the tab has been completely reloaded");
|
||||
|
||||
await gDevTools.closeToolbox(target);
|
||||
|
||||
@@ -1,11 +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" width="16" height="16" viewBox="0 0 16 16">
|
||||
<g fill="context-fill">
|
||||
<path d="M7.28 5h1.47A.25.25 0 0 0 9 4.75V.984a.984.984 0 0 0-1.97 0V4.75a.25.25 0 0 0 .25.25z"/>
|
||||
<path d="M13.5 2H11a1 1 0 0 0 0 2h2.5a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5H5a1 1 0 0 0 0-2H2.5A2.5 2.5 0 0 0 0 4.5v7A2.5 2.5 0 0 0 2.5 14h11a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 13.5 2z"/>
|
||||
<rect x="3" y="6" width="4" height="4" rx=".577" ry=".577"/>
|
||||
<path d="M9.5 7h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0 0 1zM9.5 8a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1z"/>
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M7.28 5h1.47A.25.25 0 0 0 9 4.75V.984a.984.984 0 0 0-1.97 0V4.75a.25.25 0 0 0 .25.25z"/>
|
||||
<path d="M13.5 2H11a1 1 0 0 0 0 2h2.5a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-.5.5h-11a.5.5 0 0 1-.5-.5v-7a.5.5 0 0 1 .5-.5H5a1 1 0 0 0 0-2H2.5A2.5 2.5 0 0 0 0 4.5v7A2.5 2.5 0 0 0 2.5 14h11a2.5 2.5 0 0 0 2.5-2.5v-7A2.5 2.5 0 0 0 13.5 2z"/>
|
||||
<rect x="3" y="6" width="4" height="4" rx=".577" ry=".577"/>
|
||||
<path d="M9.5 7h3a.5.5 0 0 0 0-1h-3a.5.5 0 0 0 0 1zM9.5 8a.5.5 0 0 0 0 1h2a.5.5 0 0 0 0-1z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 834 B After Width: | Height: | Size: 829 B |
@@ -1,8 +1,6 @@
|
||||
<?xml version="1.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/. -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" fill="context-fill">
|
||||
<path d="M11.5,8.3h.1l9-1a.8.8,0,0,0-.2-1.5l-9,1a.8.8,0,0,0,.1,1.5Zm2.4,13.5a.3.3,0,0,0,.1.2h.9a.3.3,0,0,0,.1-.2,1.8,1.8,0,0,0-.5-1.1A1.8,1.8,0,0,0,13.9,21.7ZM11.5,6.3h.1l8-1a.7.7,0,0,0,.7-.8.7.7,0,0,0-.3-.5A4.4,4.4,0,0,0,16,1c-3,0-4,3-4,3h5.5l-6,.8a.7.7,0,0,0,.1,1.5ZM17,21.8c0,.1,0,.3.5.3h.4a.4.4,0,0,0,.1-.3,1.8,1.8,0,0,0-.4-1A1.9,1.9,0,0,0,17,21.8Zm5.3-8.9-1.1-2.2a1,1,0,0,0-.9-.6H13.8l6.8-.8a.8.8,0,0,0-.2-1.5l-9,1a.8.8,0,0,0-.7.8.7.7,0,0,0,.4.6l-.4.5L9.7,12.8C8.5,15,6,17,6,21.5A9.6,9.6,0,0,0,16,31a9.6,9.6,0,0,0,10-9.5C26,17,23.5,15,22.3,12.8Zm0,7.7a.5.5,0,0,1-.6,0,3.8,3.8,0,0,0-2.2-.8l-1.1.3a2.7,2.7,0,0,1,.6,1.6,1.4,1.4,0,0,1-.4,1,1.6,1.6,0,0,1-1.1.4A1.3,1.3,0,0,1,16,21.8a2.8,2.8,0,0,1,.8-1.8,1.8,1.8,0,0,0-1.7,0,2.8,2.8,0,0,1,.7,1.7,1.3,1.3,0,0,1-.4.9,1.5,1.5,0,0,1-1,.4,1.8,1.8,0,0,1-1.2-.4,1.3,1.3,0,0,1-.4-1,2.7,2.7,0,0,1,.7-1.7,2.5,2.5,0,0,0-1.2-.3,3.8,3.8,0,0,0-2.1.7.5.5,0,0,1-.7-.6l4.6-8.5a.5.5,0,1,1,.9.5l-3.9,7.2,1.2-.2a3.6,3.6,0,0,1,2,.6,2.8,2.8,0,0,1,3.3,0,3.5,3.5,0,0,1,1.9-.5l1.3.2L17,11.8a.5.5,0,1,1,.9-.5l4.5,8.6A.5.5,0,0,1,22.3,20.6Z"/>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M8 0C4.3 0 2 2.107 2 5.5c0 2.372 2.065 4.268 3 5V14c0 1.476 1.616 2 3 2s3-.524 3-2v-3.5c.935-.736 3-2.632 3-5C14 2.107 11.7 0 8 0zm1 12H7v-1h2zm-1 2a3.086 3.086 0 0 1-1-.172V13h2v.828A3.047 3.047 0 0 1 8 14zm1.445-4.832A1 1 0 0 0 9 10H7a1 1 0 0 0-.444-.831C5.845 8.691 4 7.1 4 5.5 4 2.607 6.175 2 8 2s4 .607 4 3.5c0 1.6-1.845 3.191-2.555 3.668z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 698 B |
@@ -63,6 +63,10 @@ DEFINES += -DMOZ_D3DCOMPILER_VISTA_DLL=$(MOZ_D3DCOMPILER_VISTA_DLL)
|
||||
endif
|
||||
endif
|
||||
|
||||
ifdef MOZ_ENABLE_SKIA_PDF
|
||||
DEFINES += -DMOZ_ENABLE_SKIA_PDF=$(MOZ_ENABLE_SKIA_PDF)
|
||||
endif
|
||||
|
||||
DEFINES += -DMOZ_CHILD_PROCESS_NAME=$(MOZ_CHILD_PROCESS_NAME)
|
||||
|
||||
# Set MSVC dlls version to package, if any.
|
||||
|
||||
@@ -605,6 +605,10 @@
|
||||
#endif
|
||||
#endif # MOZ_ANGLE_RENDERER
|
||||
|
||||
#if defined(XP_WIN) && defined(MOZ_ENABLE_SKIA_PDF)
|
||||
@BINPATH@/pdfium.dll
|
||||
#endif
|
||||
|
||||
; [Browser Chrome Files]
|
||||
@RESPATH@/browser/chrome.manifest
|
||||
@RESPATH@/browser/chrome/browser@JAREXT@
|
||||
|
||||
@@ -28,6 +28,8 @@
|
||||
|
||||
!define FileMainEXE "@[email protected]"
|
||||
!define WindowClass "FirefoxMessageWindow"
|
||||
!define MainWindowClass "MozillaWindowClass"
|
||||
!define DialogWindowClass "MozillaDialogClass"
|
||||
!define DDEApplication "Firefox"
|
||||
!define AppRegName "Firefox"
|
||||
|
||||
|
||||
@@ -47,7 +47,6 @@ Var CanWriteToInstallDir
|
||||
Var HasRequiredSpaceAvailable
|
||||
Var IsDownloadFinished
|
||||
Var DownloadSizeBytes
|
||||
Var HalfOfDownload
|
||||
Var DownloadReset
|
||||
Var ExistingTopDir
|
||||
Var SpaceAvailableBytes
|
||||
@@ -55,10 +54,8 @@ Var InitialInstallDir
|
||||
Var HandleDownload
|
||||
Var CanSetAsDefault
|
||||
Var InstallCounterStep
|
||||
Var InstallStepSize
|
||||
Var InstallTotalSteps
|
||||
Var ProgressCompleted
|
||||
Var ProgressTotal
|
||||
|
||||
Var ExitCode
|
||||
Var FirefoxLaunchCode
|
||||
@@ -94,6 +91,7 @@ Var PreviousInstallArch
|
||||
Var ProfileCleanupPromptType
|
||||
Var ProfileCleanupHeaderString
|
||||
Var ProfileCleanupButtonString
|
||||
Var AppLaunchWaitTickCount
|
||||
|
||||
; Uncomment the following to prevent pinging the metrics server when testing
|
||||
; the stub installer
|
||||
@@ -159,33 +157,33 @@ Var ProfileCleanupButtonString
|
||||
; Interval for the install timer
|
||||
!define InstallIntervalMS 100
|
||||
|
||||
; The first step for the install progress bar. By starting with a large step
|
||||
; immediate feedback is given to the user.
|
||||
!define InstallProgressFirstStep 20
|
||||
|
||||
; The finish step size to quickly increment the progress bar after the
|
||||
; installation has finished.
|
||||
!define InstallProgressFinishStep 40
|
||||
|
||||
; Number of steps for the install progress.
|
||||
; This might not be enough when installing on a slow network drive so it will
|
||||
; fallback to downloading the full installer if it reaches this number. The size
|
||||
; of the install progress step is increased when the full installer finishes
|
||||
; instead of waiting.
|
||||
; fallback to downloading the full installer if it reaches this number.
|
||||
|
||||
; Approximately 150 seconds with a 100 millisecond timer and a first step of 20
|
||||
; as defined by InstallProgressFirstStep.
|
||||
!define /math InstallCleanTotalSteps ${InstallProgressFirstStep} + 1500
|
||||
; Approximately 150 seconds with a 100 millisecond timer.
|
||||
!define InstallCleanTotalSteps 1500
|
||||
|
||||
; Approximately 165 seconds (minus 0.2 seconds for each file that is removed)
|
||||
; with a 100 millisecond timer and a first step of 20 as defined by
|
||||
; InstallProgressFirstStep .
|
||||
!define /math InstallPaveOverTotalSteps ${InstallProgressFirstStep} + 1800
|
||||
; Approximately 165 seconds with a 100 millisecond timer.
|
||||
!define InstallPaveOverTotalSteps 1650
|
||||
|
||||
; Blurb duty cycle
|
||||
!define BlurbDisplayMS 19500
|
||||
!define BlurbBlankMS 500
|
||||
|
||||
; Interval between checks for the application window and progress bar updates.
|
||||
!define AppLaunchWaitIntervalMS 100
|
||||
|
||||
; Total time to wait for the application to start before just exiting.
|
||||
!define AppLaunchWaitTimeoutMS 10000
|
||||
|
||||
; Maximum value of the download/install/launch progress bar, and the end values
|
||||
; for each individual stage.
|
||||
!define PROGRESS_BAR_TOTAL_STEPS 500
|
||||
!define PROGRESS_BAR_DOWNLOAD_END_STEP 300
|
||||
!define PROGRESS_BAR_INSTALL_END_STEP 475
|
||||
!define PROGRESS_BAR_APP_LAUNCH_END_STEP 500
|
||||
|
||||
; Amount of physical memory required for the 64-bit build to be selected (2 GB).
|
||||
; Machines with this or less RAM get the 32-bit build, even with a 64-bit OS.
|
||||
!define RAM_NEEDED_FOR_64BIT 0x80000000
|
||||
@@ -548,7 +546,6 @@ Function .onUserAbort
|
||||
${NSD_KillTimer} OnDownload
|
||||
${NSD_KillTimer} CheckInstall
|
||||
${NSD_KillTimer} FinishInstall
|
||||
${NSD_KillTimer} FinishProgressBar
|
||||
${NSD_KillTimer} DisplayDownloadError
|
||||
${NSD_KillTimer} NextBlurb
|
||||
${NSD_KillTimer} ClearBlurb
|
||||
@@ -889,17 +886,7 @@ FunctionEnd
|
||||
|
||||
Function SetProgressBars
|
||||
SendMessage $Progressbar ${PBM_SETPOS} $ProgressCompleted 0
|
||||
${ITBL3SetProgressValue} "$ProgressCompleted" "$ProgressTotal"
|
||||
FunctionEnd
|
||||
|
||||
Function RemoveFileProgressCallback
|
||||
IntOp $InstallCounterStep $InstallCounterStep + 2
|
||||
System::Int64Op $ProgressCompleted + $InstallStepSize
|
||||
Pop $ProgressCompleted
|
||||
Call SetProgressBars
|
||||
System::Int64Op $ProgressCompleted + $InstallStepSize
|
||||
Pop $ProgressCompleted
|
||||
Call SetProgressBars
|
||||
${ITBL3SetProgressValue} "$ProgressCompleted" "${PROGRESS_BAR_TOTAL_STEPS}"
|
||||
FunctionEnd
|
||||
|
||||
Function NextBlurb
|
||||
@@ -1005,16 +992,10 @@ Function OnDownload
|
||||
${EndIf}
|
||||
|
||||
StrCpy $DownloadSizeBytes "$4"
|
||||
System::Int64Op $4 / 2
|
||||
Pop $HalfOfDownload
|
||||
System::Int64Op $HalfOfDownload / $InstallTotalSteps
|
||||
Pop $InstallStepSize
|
||||
SendMessage $Progressbar ${PBM_SETMARQUEE} 0 0 ; start=1|stop=0 interval(ms)=+N
|
||||
${RemoveStyle} $Progressbar ${PBS_MARQUEE}
|
||||
System::Int64Op $HalfOfDownload + $DownloadSizeBytes
|
||||
Pop $ProgressTotal
|
||||
StrCpy $ProgressCompleted 0
|
||||
SendMessage $Progressbar ${PBM_SETRANGE32} $ProgressCompleted $ProgressTotal
|
||||
SendMessage $Progressbar ${PBM_SETRANGE32} $ProgressCompleted ${PROGRESS_BAR_TOTAL_STEPS}
|
||||
${EndIf}
|
||||
|
||||
; Don't update the status until after the download starts
|
||||
@@ -1042,10 +1023,6 @@ Function OnDownload
|
||||
${If} $2 == 0
|
||||
${NSD_KillTimer} OnDownload
|
||||
StrCpy $IsDownloadFinished "true"
|
||||
; The first step of the install progress bar is determined by the
|
||||
; InstallProgressFirstStep define and provides the user with immediate
|
||||
; feedback.
|
||||
StrCpy $InstallCounterStep "${InstallProgressFirstStep}"
|
||||
System::Call "kernel32::GetTickCount()l .s"
|
||||
Pop $EndDownloadPhaseTickCount
|
||||
|
||||
@@ -1070,13 +1047,9 @@ Function OnDownload
|
||||
|
||||
; Update the progress bars first in the UI change so they take affect
|
||||
; before other UI changes.
|
||||
StrCpy $ProgressCompleted "$DownloadSizeBytes"
|
||||
Call SetProgressBars
|
||||
System::Int64Op $InstallStepSize * ${InstallProgressFirstStep}
|
||||
Pop $R9
|
||||
System::Int64Op $ProgressCompleted + $R9
|
||||
Pop $ProgressCompleted
|
||||
StrCpy $ProgressCompleted "${PROGRESS_BAR_DOWNLOAD_END_STEP}"
|
||||
Call SetProgressBars
|
||||
|
||||
; Disable the Cancel button during the install
|
||||
GetDlgItem $5 $HWNDPARENT 2
|
||||
EnableWindow $5 0
|
||||
@@ -1155,8 +1128,7 @@ Function OnDownload
|
||||
${GetShortcutsLogPath} $0
|
||||
Delete "$0"
|
||||
|
||||
GetFunctionAddress $0 RemoveFileProgressCallback
|
||||
${RemovePrecompleteEntries} $0
|
||||
${RemovePrecompleteEntries} "false"
|
||||
|
||||
; Delete the install.log and let the full installer create it. When the
|
||||
; installer closes it we can detect that it has completed.
|
||||
@@ -1174,19 +1146,21 @@ Function OnDownload
|
||||
Exec "$\"$PLUGINSDIR\download.exe$\" /INI=$PLUGINSDIR\${CONFIG_INI}"
|
||||
${NSD_CreateTimer} CheckInstall ${InstallIntervalMS}
|
||||
${Else}
|
||||
${If} $HalfOfDownload != "true"
|
||||
${AndIf} $3 > $HalfOfDownload
|
||||
StrCpy $HalfOfDownload "true"
|
||||
${EndIf}
|
||||
StrCpy $DownloadedBytes "$3"
|
||||
StrCpy $ProgressCompleted "$DownloadedBytes"
|
||||
System::Int64Op $DownloadedBytes * ${PROGRESS_BAR_DOWNLOAD_END_STEP}
|
||||
Pop $ProgressCompleted
|
||||
System::Int64Op $ProgressCompleted / $DownloadSizeBytes
|
||||
Pop $ProgressCompleted
|
||||
Call SetProgressBars
|
||||
${EndIf}
|
||||
${EndIf}
|
||||
FunctionEnd
|
||||
|
||||
Function SendPing
|
||||
${NSD_KillTimer} NextBlurb
|
||||
${NSD_KillTimer} ClearBlurb
|
||||
HideWindow
|
||||
|
||||
${If} $CheckboxSendPing == 1
|
||||
; Get the tick count for the completion of all phases.
|
||||
System::Call "kernel32::GetTickCount()l .s"
|
||||
@@ -1462,8 +1436,7 @@ Function CheckInstall
|
||||
Return
|
||||
${EndIf}
|
||||
|
||||
System::Int64Op $ProgressCompleted + $InstallStepSize
|
||||
Pop $ProgressCompleted
|
||||
IntOp $ProgressCompleted $ProgressCompleted + 1
|
||||
Call SetProgressBars
|
||||
|
||||
${If} ${FileExists} "$INSTDIR\install.log"
|
||||
@@ -1486,31 +1459,13 @@ Function CheckInstall
|
||||
Delete "$PLUGINSDIR\${CONFIG_INI}"
|
||||
System::Call "kernel32::GetTickCount()l .s"
|
||||
Pop $EndInstallPhaseTickCount
|
||||
System::Int64Op $InstallStepSize * ${InstallProgressFinishStep}
|
||||
Pop $InstallStepSize
|
||||
${NSD_CreateTimer} FinishInstall ${InstallIntervalMS}
|
||||
Call FinishInstall
|
||||
${EndUnless}
|
||||
${EndIf}
|
||||
FunctionEnd
|
||||
|
||||
Function FinishInstall
|
||||
; The full installer has completed but the progress bar still needs to finish
|
||||
; so increase the size of the step.
|
||||
IntOp $InstallCounterStep $InstallCounterStep + ${InstallProgressFinishStep}
|
||||
${If} $InstallTotalSteps < $InstallCounterStep
|
||||
StrCpy $InstallCounterStep "$InstallTotalSteps"
|
||||
${EndIf}
|
||||
|
||||
${If} $InstallTotalSteps != $InstallCounterStep
|
||||
System::Int64Op $ProgressCompleted + $InstallStepSize
|
||||
Pop $ProgressCompleted
|
||||
Call SetProgressBars
|
||||
Return
|
||||
${EndIf}
|
||||
|
||||
${NSD_KillTimer} FinishInstall
|
||||
|
||||
StrCpy $ProgressCompleted "$ProgressTotal"
|
||||
StrCpy $ProgressCompleted "${PROGRESS_BAR_INSTALL_END_STEP}"
|
||||
Call SetProgressBars
|
||||
|
||||
${If} ${FileExists} "$INSTDIR\${FileMainEXE}.moz-upgrade"
|
||||
@@ -1520,24 +1475,8 @@ Function FinishInstall
|
||||
|
||||
StrCpy $ExitCode "${ERR_SUCCESS}"
|
||||
|
||||
StrCpy $InstallCounterStep 0
|
||||
${NSD_CreateTimer} FinishProgressBar ${InstallIntervalMS}
|
||||
FunctionEnd
|
||||
|
||||
Function FinishProgressBar
|
||||
IntOp $InstallCounterStep $InstallCounterStep + 1
|
||||
|
||||
${If} $InstallCounterStep < 10
|
||||
Return
|
||||
${EndIf}
|
||||
|
||||
${NSD_KillTimer} FinishProgressBar
|
||||
${NSD_KillTimer} NextBlurb
|
||||
${NSD_KillTimer} ClearBlurb
|
||||
|
||||
Call CopyPostSigningData
|
||||
Call LaunchApp
|
||||
Call SendPing
|
||||
FunctionEnd
|
||||
|
||||
Function RelativeGotoPage
|
||||
@@ -1656,6 +1595,9 @@ Function LaunchApp
|
||||
GetFunctionAddress $0 LaunchAppFromElevatedProcess
|
||||
UAC::ExecCodeSegment $0
|
||||
${EndIf}
|
||||
|
||||
StrCpy $AppLaunchWaitTickCount 0
|
||||
${NSD_CreateTimer} WaitForAppLaunch ${AppLaunchWaitIntervalMS}
|
||||
FunctionEnd
|
||||
|
||||
Function LaunchAppFromElevatedProcess
|
||||
@@ -1668,6 +1610,33 @@ Function LaunchAppFromElevatedProcess
|
||||
${EndIf}
|
||||
FunctionEnd
|
||||
|
||||
Function WaitForAppLaunch
|
||||
FindWindow $0 "${MainWindowClass}"
|
||||
FindWindow $1 "${DialogWindowClass}"
|
||||
${If} $0 <> 0
|
||||
${OrIf} $1 <> 0
|
||||
${NSD_KillTimer} WaitForAppLaunch
|
||||
StrCpy $ProgressCompleted "${PROGRESS_BAR_APP_LAUNCH_END_STEP}"
|
||||
Call SetProgressBars
|
||||
Call SendPing
|
||||
Return
|
||||
${EndIf}
|
||||
|
||||
IntOp $AppLaunchWaitTickCount $AppLaunchWaitTickCount + 1
|
||||
IntOp $0 $AppLaunchWaitTickCount * ${AppLaunchWaitIntervalMS}
|
||||
${If} $0 >= ${AppLaunchWaitTimeoutMS}
|
||||
; We've waited an unreasonably long time, so just exit.
|
||||
${NSD_KillTimer} WaitForAppLaunch
|
||||
Call SendPing
|
||||
Return
|
||||
${EndIf}
|
||||
|
||||
${If} $ProgressCompleted < ${PROGRESS_BAR_APP_LAUNCH_END_STEP}
|
||||
IntOp $ProgressCompleted $ProgressCompleted + 1
|
||||
Call SetProgressBars
|
||||
${EndIf}
|
||||
FunctionEnd
|
||||
|
||||
Function CopyPostSigningData
|
||||
${LineRead} "$EXEDIR\postSigningData" "1" $PostSigningData
|
||||
${If} ${Errors}
|
||||
|
||||
@@ -149,11 +149,6 @@
|
||||
-->
|
||||
<!ENTITY downloadsListEmpty.label "There are no downloads.">
|
||||
|
||||
<!-- LOCALIZATION NOTE (downloadsPanelEmpty.label):
|
||||
This string is shown when there are no items in the Downloads Panel.
|
||||
-->
|
||||
<!ENTITY downloadsPanelEmpty.label "No downloads for this session.">
|
||||
|
||||
<!-- LOCALIZATION NOTE (downloadsListNoMatch.label):
|
||||
This string is shown when some search terms are specified, but there are no
|
||||
results in the Downloads view.
|
||||
|
||||
|
Before Width: | Height: | Size: 767 B |
@@ -573,11 +573,6 @@ html|span.ac-emphasize-text-url {
|
||||
border-top: 1px solid GrayText;
|
||||
}
|
||||
|
||||
/* Popup blocker button */
|
||||
#page-report-button {
|
||||
list-style-image: url("chrome://browser/skin/Info.png");
|
||||
}
|
||||
|
||||
/* Bookmarking panel */
|
||||
#editBookmarkPanelStarIcon {
|
||||
list-style-image: url("chrome://browser/skin/places/starred48.png");
|
||||
@@ -726,8 +721,6 @@ html|span.ac-emphasize-text-url {
|
||||
%include ../shared/ctrlTab.inc.css
|
||||
%include ../shared/plugin-doorhanger.inc.css
|
||||
|
||||
%include downloads/indicator.css
|
||||
|
||||
.gcli-panel {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
|
Before Width: | Height: | Size: 898 B |
@@ -1,5 +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/. */
|
||||
|
||||
%include ../../shared/downloads/indicator.inc.css
|
||||
@@ -11,7 +11,6 @@ browser.jar:
|
||||
* skin/classic/browser/syncedtabs/sidebar.css (syncedtabs/sidebar.css)
|
||||
* skin/classic/browser/browser.css
|
||||
* skin/classic/browser/compacttheme.css
|
||||
skin/classic/browser/Info.png
|
||||
skin/classic/browser/menuPanel-customize.png
|
||||
skin/classic/browser/[email protected]
|
||||
skin/classic/browser/menuPanel-exit.png
|
||||
@@ -33,15 +32,14 @@ browser.jar:
|
||||
* skin/classic/browser/controlcenter/panel.css (controlcenter/panel.css)
|
||||
* skin/classic/browser/customizableui/panelUI.css (customizableui/panelUI.css)
|
||||
* skin/classic/browser/downloads/allDownloadsViewOverlay.css (downloads/allDownloadsViewOverlay.css)
|
||||
skin/classic/browser/downloads/download-glow-menuPanel.png (downloads/download-glow-menuPanel.png)
|
||||
* skin/classic/browser/downloads/downloads.css (downloads/downloads.css)
|
||||
skin/classic/browser/feeds/feedIcon.png (feeds/feedIcon.png)
|
||||
skin/classic/browser/feeds/feedIcon16.png (feeds/feedIcon16.png)
|
||||
skin/classic/browser/feeds/subscribe.css (feeds/subscribe.css)
|
||||
* skin/classic/browser/newtab/newTab.css (newtab/newTab.css)
|
||||
* skin/classic/browser/notification-icons/geo-blocked.svg (notification-icons/geo-blocked.svg)
|
||||
skin/classic/browser/notification-icons/geo-blocked.svg (notification-icons/geo-blocked.svg)
|
||||
skin/classic/browser/notification-icons/geo-detailed.svg (notification-icons/geo-detailed.svg)
|
||||
* skin/classic/browser/notification-icons/geo.svg (notification-icons/geo.svg)
|
||||
skin/classic/browser/notification-icons/geo.svg (notification-icons/geo.svg)
|
||||
skin/classic/browser/places/allBookmarks.png (places/allBookmarks.png)
|
||||
skin/classic/browser/places/bookmarksMenu.png (places/bookmarksMenu.png)
|
||||
skin/classic/browser/places/bookmarksToolbar.png (places/bookmarksToolbar.png)
|
||||
|
||||
@@ -1,12 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
<defs>
|
||||
#include ../../shared/notification-icons/clip-path.inc.svg
|
||||
#include geo-icon.inc.svg
|
||||
</defs>
|
||||
<use clip-path="url(#blocked-clipPath)" href="#geo-linux-icon"/>
|
||||
#include ../../shared/notification-icons/strikeout.inc.svg
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M12.7 6.3a4.953 4.953 0 0 1 .2.7H12l-1 1a1 1 0 0 0 1 1h.9A5.015 5.015 0 0 1 9 12.9V12a1 1 0 0 0-1-1l-1 1v.9a4.953 4.953 0 0 1-.7-.2l-1.512 1.512a6.989 6.989 0 0 0 9.425-9.425zm2.007-5.007a1 1 0 0 0-1.414 0L12.184 2.4A6.986 6.986 0 0 0 2.4 12.184l-1.107 1.109a1 1 0 1 0 1.414 1.414l12-12a1 1 0 0 0 0-1.414zM3.1 9H4a1 1 0 0 0 0-2h-.9A5.015 5.015 0 0 1 7 3.1V4a1 1 0 0 0 2 0v-.9a4.955 4.955 0 0 1 1.747.738l-6.908 6.909A4.957 4.957 0 0 1 3.1 9z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 594 B After Width: | Height: | Size: 795 B |
@@ -1 +0,0 @@
|
||||
<path id="geo-linux-icon" d="m 2,15.9 a 14,14 0 1 1 0,0.2 z m 4,2.1 a 10,10 0 0 0 8,8 l 0,-4 4,0 0,4 a 10,10 0 0 0 8,-8 l -4,0 0,-4 4,0 a 10,10 0 0 0 -8,-8 l 0,4 -4,0 0,-4 a 10,10 0 0 0 -8,8 l 4,0 0,4 z"/>
|
||||
@@ -1,7 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
#include geo-icon.inc.svg
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M8 1a7 7 0 1 0 7 7 7.008 7.008 0 0 0-7-7zm1 11.9V12a1 1 0 0 0-2 0v.9A5.015 5.015 0 0 1 3.1 9H4a1 1 0 0 0 0-2h-.9A5.015 5.015 0 0 1 7 3.1V4a1 1 0 0 0 2 0v-.9A5.015 5.015 0 0 1 12.9 7H12a1 1 0 0 0 0 2h.9A5.015 5.015 0 0 1 9 12.9z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 390 B After Width: | Height: | Size: 581 B |
|
Before Width: | Height: | Size: 614 B |
@@ -564,29 +564,6 @@ html|span.ac-emphasize-text-url {
|
||||
margin-bottom: -26px;
|
||||
}
|
||||
|
||||
/* POPUP BLOCKER BUTTON */
|
||||
#page-report-button {
|
||||
list-style-image: url("chrome://browser/skin/urlbar-popup-blocked.png");
|
||||
-moz-image-region: rect(0, 16px, 16px, 0);
|
||||
}
|
||||
|
||||
#page-report-button:hover:active,
|
||||
#page-report-button[open="true"] {
|
||||
-moz-image-region: rect(0, 32px, 16px, 16px);
|
||||
}
|
||||
|
||||
@media (min-resolution: 2dppx) {
|
||||
#page-report-button {
|
||||
list-style-image: url("chrome://browser/skin/[email protected]");
|
||||
-moz-image-region: rect(0, 32px, 32px, 0);
|
||||
}
|
||||
|
||||
#page-report-button:hover:active,
|
||||
#page-report-button[open="true"] {
|
||||
-moz-image-region: rect(0, 64px, 32px, 32px);
|
||||
}
|
||||
}
|
||||
|
||||
/* BOOKMARKING PANEL */
|
||||
#editBookmarkPanelStarIcon {
|
||||
list-style-image: url("chrome://browser/skin/places/starred48.png");
|
||||
@@ -1260,8 +1237,6 @@ html|*.addon-webext-perm-list {
|
||||
%include ../shared/ctrlTab.inc.css
|
||||
%include ../shared/plugin-doorhanger.inc.css
|
||||
|
||||
%include downloads/indicator.css
|
||||
|
||||
/* On mac, the popup notification contents are indented by default and so
|
||||
the default closebutton margins from notification.css require adjustment */
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |
@@ -1,12 +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/. */
|
||||
|
||||
%include ../../shared/downloads/indicator.inc.css
|
||||
|
||||
|
||||
@media (min-resolution: 2dppx) {
|
||||
#downloads-button[cui-areatype="menu-panel"][attention="success"] {
|
||||
list-style-image: url("chrome://browser/skin/downloads/[email protected]");
|
||||
}
|
||||
}
|
||||
@@ -10,7 +10,6 @@ browser.jar:
|
||||
* skin/classic/browser/syncedtabs/sidebar.css (syncedtabs/sidebar.css)
|
||||
* skin/classic/browser/browser.css
|
||||
* skin/classic/browser/compacttheme.css
|
||||
skin/classic/browser/Info.png
|
||||
skin/classic/browser/subtle-pattern.png
|
||||
skin/classic/browser/menu-back.png
|
||||
skin/classic/browser/menu-forward.png
|
||||
@@ -38,20 +37,10 @@ browser.jar:
|
||||
skin/classic/browser/slowStartup-16.png
|
||||
skin/classic/browser/toolbarbutton-dropmarker.png
|
||||
skin/classic/browser/[email protected]
|
||||
skin/classic/browser/urlbar-popup-blocked.png
|
||||
skin/classic/browser/[email protected]
|
||||
skin/classic/browser/webRTC-sharingDevice-menubar.png
|
||||
skin/classic/browser/[email protected]
|
||||
skin/classic/browser/webRTC-sharingMicrophone-menubar.png
|
||||
skin/classic/browser/[email protected]
|
||||
skin/classic/browser/webRTC-sharingScreen-menubar.png
|
||||
skin/classic/browser/[email protected]
|
||||
skin/classic/browser/webRTC-indicator.css
|
||||
* skin/classic/browser/controlcenter/panel.css (controlcenter/panel.css)
|
||||
* skin/classic/browser/customizableui/panelUI.css (customizableui/panelUI.css)
|
||||
* skin/classic/browser/downloads/allDownloadsViewOverlay.css (downloads/allDownloadsViewOverlay.css)
|
||||
skin/classic/browser/downloads/download-glow-menuPanel.png (downloads/download-glow-menuPanel.png)
|
||||
skin/classic/browser/downloads/[email protected] (downloads/[email protected])
|
||||
* skin/classic/browser/downloads/downloads.css (downloads/downloads.css)
|
||||
skin/classic/browser/feeds/subscribe.css (feeds/subscribe.css)
|
||||
skin/classic/browser/feeds/feedIcon.png (feeds/feedIcon.png)
|
||||
@@ -60,8 +49,8 @@ browser.jar:
|
||||
skin/classic/browser/setDesktopBackground.css
|
||||
skin/classic/browser/monitor.png
|
||||
skin/classic/browser/monitor_16-10.png
|
||||
* skin/classic/browser/notification-icons/geo-blocked.svg (notification-icons/geo-blocked.svg)
|
||||
* skin/classic/browser/notification-icons/geo.svg (notification-icons/geo.svg)
|
||||
skin/classic/browser/notification-icons/geo-blocked.svg (notification-icons/geo-blocked.svg)
|
||||
skin/classic/browser/notification-icons/geo.svg (notification-icons/geo.svg)
|
||||
skin/classic/browser/places/allBookmarks.png (places/allBookmarks.png)
|
||||
* skin/classic/browser/places/places.css (places/places.css)
|
||||
skin/classic/browser/places/organizer.css (places/organizer.css)
|
||||
|
||||
@@ -1,12 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
<defs>
|
||||
#include ../../shared/notification-icons/clip-path.inc.svg
|
||||
#include geo-icon.inc.svg
|
||||
</defs>
|
||||
<use clip-path="url(#blocked-clipPath)" href="#geo-osx-icon"/>
|
||||
#include ../../shared/notification-icons/strikeout.inc.svg
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M8 16l3.75-8.75L8 11v5zm6.707-14.707a1 1 0 0 0-1.414 0l-1.768 1.768L0 8h6.586l-5.293 5.293a1 1 0 1 0 1.414 1.414l12-12a1 1 0 0 0 0-1.414z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 592 B After Width: | Height: | Size: 491 B |
@@ -1 +0,0 @@
|
||||
<path id="geo-osx-icon" d="m 0,16 16,0 0,16 12,-28 z"/>
|
||||
@@ -1,7 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
#include geo-icon.inc.svg
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M0 8l14-6-6 14V8z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 390 B After Width: | Height: | Size: 371 B |
|
Before Width: | Height: | Size: 758 B |
|
Before Width: | Height: | Size: 769 B |
@@ -2,30 +2,23 @@
|
||||
* 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/. */
|
||||
|
||||
#webRTC-sharingCamera-menu,
|
||||
#webRTC-sharingMicrophone-menu,
|
||||
#webRTC-sharingScreen-menu {
|
||||
-moz-context-properties: fill;
|
||||
fill: currentColor;
|
||||
}
|
||||
|
||||
#webRTC-sharingCamera-menu {
|
||||
list-style-image: url("chrome://browser/skin/webRTC-sharingDevice-menubar.png");
|
||||
list-style-image: url("chrome://browser/skin/notification-icons/camera.svg");
|
||||
}
|
||||
|
||||
#webRTC-sharingMicrophone-menu {
|
||||
list-style-image: url("chrome://browser/skin/webRTC-sharingMicrophone-menubar.png");
|
||||
list-style-image: url("chrome://browser/skin/notification-icons/microphone.svg");
|
||||
}
|
||||
|
||||
#webRTC-sharingScreen-menu {
|
||||
list-style-image: url("chrome://browser/skin/webRTC-sharingScreen-menubar.png");
|
||||
}
|
||||
|
||||
@media (min-resolution: 2dppx) {
|
||||
#webRTC-sharingCamera-menu {
|
||||
list-style-image: url("chrome://browser/skin/[email protected]");
|
||||
}
|
||||
|
||||
#webRTC-sharingMicrophone-menu {
|
||||
list-style-image: url("chrome://browser/skin/[email protected]");
|
||||
}
|
||||
|
||||
#webRTC-sharingScreen-menu {
|
||||
list-style-image: url("chrome://browser/skin/[email protected]");
|
||||
}
|
||||
list-style-image: url("chrome://browser/skin/notification-icons/screen.svg");
|
||||
}
|
||||
|
||||
#webRTC-sharingCamera-menu > menupopup,
|
||||
|
||||
|
Before Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 1.7 KiB |
@@ -16,6 +16,8 @@
|
||||
}
|
||||
%endif
|
||||
|
||||
%include downloads/indicator.inc.css
|
||||
|
||||
/* Toolbar / content area border */
|
||||
|
||||
#navigator-toolbox::after {
|
||||
|
||||
@@ -110,15 +110,6 @@ toolbar[brighttext] .toolbarbutton-1 {
|
||||
color: #30e60b;
|
||||
}
|
||||
|
||||
#identity-icon:-moz-lwtheme-brighttext,
|
||||
#tracking-protection-icon:-moz-lwtheme-brighttext,
|
||||
#connection-icon:-moz-lwtheme-brighttext,
|
||||
.notification-anchor-icon:-moz-lwtheme-brighttext,
|
||||
#blocked-permissions-container > .blocked-permission-icon:-moz-lwtheme-brighttext,
|
||||
#extension-icon:-moz-lwtheme-brighttext {
|
||||
fill: rgba(255,255,255,.7);
|
||||
}
|
||||
|
||||
#urlbar-zoom-button:-moz-lwtheme-brighttext:hover {
|
||||
background-color: rgba(255,255,255,.2);
|
||||
}
|
||||
|
||||
@@ -47,5 +47,7 @@
|
||||
}
|
||||
|
||||
#context-media-eme-learnmore {
|
||||
list-style-image: url("chrome://browser/skin/drm-icon.svg#chains");
|
||||
list-style-image: url("chrome://browser/skin/drm-icon.svg");
|
||||
-moz-context-properties: fill;
|
||||
fill: currentColor;
|
||||
}
|
||||
@@ -936,7 +936,6 @@ toolbaritem[cui-areatype="menu-panel"][sdkstylewidget="true"]:not(.panel-wide-it
|
||||
.fxaSyncIllustration {
|
||||
width: 180px;
|
||||
height: var(--panel-ui-sync-illustration-height);
|
||||
list-style-image: url(chrome://browser/skin/fxa/sync-illustration.svg);
|
||||
-moz-context-properties: fill;
|
||||
fill: #cdcdcd;
|
||||
}
|
||||
|
||||
@@ -4,10 +4,6 @@
|
||||
|
||||
/*** Status and progress indicator ***/
|
||||
|
||||
#downloads-button {
|
||||
--downloads-indicator-image: url("chrome://browser/skin/downloads/download-icons.svg#arrow-with-bar");
|
||||
}
|
||||
|
||||
#downloads-indicator-anchor {
|
||||
min-width: 16px;
|
||||
min-height: 16px;
|
||||
@@ -29,11 +25,6 @@
|
||||
background: url("chrome://browser/skin/downloads/download-icons.svg#progress-bar-bg") center no-repeat;
|
||||
}
|
||||
|
||||
#downloads-button[attention="success"] {
|
||||
list-style-image: url("chrome://browser/skin/downloads/download-glow-menuPanel.png");
|
||||
-moz-image-region: auto;
|
||||
}
|
||||
|
||||
#downloads-indicator-icon {
|
||||
-moz-context-properties: fill;
|
||||
background-image: url("chrome://browser/skin/downloads/download-icons.svg#arrow");
|
||||
|
||||
@@ -1,38 +1,8 @@
|
||||
<?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" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 16 16">
|
||||
<style>
|
||||
#chains {
|
||||
fill: url(#baseGradient);
|
||||
}
|
||||
#chains-pressed {
|
||||
fill: url(#pressedGradient);
|
||||
}
|
||||
#chains-black {
|
||||
fill: #000;
|
||||
}
|
||||
use:not(:target) {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
<defs>
|
||||
<linearGradient id="baseGradient" gradientUnits="userSpaceOnUse" x1="8" x2="8" y1="16" y2="0">
|
||||
<stop offset="0" style="stop-color: #808080"/>
|
||||
<stop offset="1" style="stop-color: #999"/>
|
||||
</linearGradient>
|
||||
<linearGradient id="pressedGradient" gradientUnits="userSpaceOnUse" x1="8" x2="8" y1="16" y2="0">
|
||||
<stop offset="0" style="stop-color: #4d4d4d"/>
|
||||
<stop offset="1" style="stop-color: #808080"/>
|
||||
</linearGradient>
|
||||
<g id="path">
|
||||
<path d="M7.058,9.72c-0.245,0.245-0.62,0.27-0.834,0.056C6.01,9.562,6.035,9.186,6.28,8.942l0.218-0.218 c-0.245-0.245-0.645-0.245-0.89,0L4.496,9.836c-0.245,0.245-0.245,0.645,0,0.89l0.779,0.779c0.245,0.245,0.645,0.245,0.89,0 l1.112-1.112c0.245-0.245,0.245-0.645,0-0.89L7.058,9.72z"/>
|
||||
<path d="M10.726,4.496c-0.245-0.245-0.645-0.245-0.89,0L8.723,5.608c-0.245,0.245-0.245,0.645,0,0.89 L8.95,6.272c0.245-0.245,0.62-0.27,0.834-0.056s0.189,0.59-0.056,0.834L9.502,7.277c0.245,0.245,0.645,0.245,0.89,0l1.112-1.112 c0.245-0.245,0.245-0.645,0-0.89L10.726,4.496z"/>
|
||||
<path d="M8,0C3.582,0,0,3.582,0,8s3.582,8,8,8s8-3.582,8-8S12.418,0,8,0z M12.527,6.81l-1.489,1.489 c-0.631,0.631-1.663,0.631-2.293,0L8.612,8.167L8.167,8.612l0.133,0.133c0.631,0.631,0.631,1.663,0,2.293L6.81,12.527 c-0.631,0.631-1.663,0.631-2.293,0l-1.044-1.044c-0.631-0.631-0.631-1.663,0-2.293l1.489-1.489c0.631-0.631,1.663-0.631,2.293,0 l0.133,0.133l0.445-0.445L7.701,7.255c-0.631-0.631-0.631-1.663,0-2.293L9.19,3.473c0.631-0.631,1.663-0.631,2.293,0l1.044,1.044 C13.158,5.148,13.158,6.18,12.527,6.81z"/>
|
||||
</g>
|
||||
</defs>
|
||||
<use xlink:href="#path" id="chains"/>
|
||||
<use xlink:href="#path" id="chains-pressed"/>
|
||||
<use xlink:href="#path" id="chains-black"/>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M7.058,9.72c-0.245,0.245-0.62,0.27-0.834,0.056C6.01,9.562,6.035,9.186,6.28,8.942l0.218-0.218 c-0.245-0.245-0.645-0.245-0.89,0L4.496,9.836c-0.245,0.245-0.245,0.645,0,0.89l0.779,0.779c0.245,0.245,0.645,0.245,0.89,0 l1.112-1.112c0.245-0.245,0.245-0.645,0-0.89L7.058,9.72z"/>
|
||||
<path d="M10.726,4.496c-0.245-0.245-0.645-0.245-0.89,0L8.723,5.608c-0.245,0.245-0.245,0.645,0,0.89 L8.95,6.272c0.245-0.245,0.62-0.27,0.834-0.056s0.189,0.59-0.056,0.834L9.502,7.277c0.245,0.245,0.645,0.245,0.89,0l1.112-1.112 c0.245-0.245,0.245-0.645,0-0.89L10.726,4.496z"/>
|
||||
<path d="M8,0C3.582,0,0,3.582,0,8s3.582,8,8,8s8-3.582,8-8S12.418,0,8,0z M12.527,6.81l-1.489,1.489 c-0.631,0.631-1.663,0.631-2.293,0L8.612,8.167L8.167,8.612l0.133,0.133c0.631,0.631,0.631,1.663,0,2.293L6.81,12.527 c-0.631,0.631-1.663,0.631-2.293,0l-1.044-1.044c-0.631-0.631-0.631-1.663,0-2.293l1.489-1.489c0.631-0.631,1.663-0.631,2.293,0 l0.133,0.133l0.445-0.445L7.701,7.255c-0.631-0.631-0.631-1.663,0-2.293L9.19,3.473c0.631-0.631,1.663-0.631,2.293,0l1.044,1.044 C13.158,5.148,13.158,6.18,12.527,6.81z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.4 KiB |
@@ -23,7 +23,7 @@
|
||||
margin-inline-end: 8px;
|
||||
padding: 0;
|
||||
padding-block-end: 8px;
|
||||
border-block-end: 1px solid var(--in-content-header-border-color);
|
||||
border-block-end: 1px solid var(--in-content-box-border-color);
|
||||
}
|
||||
|
||||
#containersView richlistitem:last-of-type {
|
||||
|
||||
@@ -465,7 +465,7 @@ description > html|a {
|
||||
}
|
||||
|
||||
.separator {
|
||||
border-bottom: 1px solid var(--in-content-header-border-color);
|
||||
border-bottom: 1px solid var(--in-content-box-border-color);
|
||||
}
|
||||
|
||||
.fxaAccountBox {
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
margin-inline-end: 8px;
|
||||
padding: 0;
|
||||
padding-block-end: 8px;
|
||||
border-block-end: 1px solid var(--in-content-header-border-color);
|
||||
border-block-end: 1px solid var(--in-content-box-border-color);
|
||||
}
|
||||
|
||||
#containersView richlistitem:last-of-type {
|
||||
|
||||
@@ -545,7 +545,7 @@ separator.thin:not([orient="vertical"]) {
|
||||
}
|
||||
|
||||
.separator {
|
||||
border-bottom: 1px solid var(--in-content-header-border-color);
|
||||
border-bottom: 1px solid var(--in-content-box-border-color);
|
||||
}
|
||||
|
||||
#fxaGroup {
|
||||
|
||||
@@ -56,27 +56,27 @@
|
||||
skin/classic/browser/identity-icon-notice.svg (../shared/identity-block/identity-icon-notice.svg)
|
||||
skin/classic/browser/info.svg (../shared/info.svg)
|
||||
|
||||
* skin/classic/browser/notification-icons/camera-blocked.svg (../shared/notification-icons/camera-blocked.svg)
|
||||
* skin/classic/browser/notification-icons/camera.svg (../shared/notification-icons/camera.svg)
|
||||
skin/classic/browser/notification-icons/camera-blocked.svg (../shared/notification-icons/camera-blocked.svg)
|
||||
skin/classic/browser/notification-icons/camera.svg (../shared/notification-icons/camera.svg)
|
||||
skin/classic/browser/notification-icons/default-info.svg (../shared/notification-icons/default-info.svg)
|
||||
* skin/classic/browser/notification-icons/desktop-notification-blocked.svg (../shared/notification-icons/desktop-notification-blocked.svg)
|
||||
* skin/classic/browser/notification-icons/desktop-notification.svg (../shared/notification-icons/desktop-notification.svg)
|
||||
skin/classic/browser/notification-icons/desktop-notification-blocked.svg (../shared/notification-icons/desktop-notification-blocked.svg)
|
||||
skin/classic/browser/notification-icons/desktop-notification.svg (../shared/notification-icons/desktop-notification.svg)
|
||||
skin/classic/browser/notification-icons/focus-tab-by-prompt.svg (../shared/notification-icons/focus-tab-by-prompt.svg)
|
||||
* skin/classic/browser/notification-icons/indexedDB-blocked.svg (../shared/notification-icons/indexedDB-blocked.svg)
|
||||
* skin/classic/browser/notification-icons/indexedDB.svg (../shared/notification-icons/indexedDB.svg)
|
||||
skin/classic/browser/notification-icons/indexedDB-blocked.svg (../shared/notification-icons/indexedDB-blocked.svg)
|
||||
skin/classic/browser/notification-icons/indexedDB.svg (../shared/notification-icons/indexedDB.svg)
|
||||
skin/classic/browser/notification-icons/login-detailed.svg (../shared/notification-icons/login-detailed.svg)
|
||||
skin/classic/browser/notification-icons/login.svg (../shared/notification-icons/login.svg)
|
||||
* skin/classic/browser/notification-icons/microphone-blocked.svg (../shared/notification-icons/microphone-blocked.svg)
|
||||
skin/classic/browser/notification-icons/microphone-blocked.svg (../shared/notification-icons/microphone-blocked.svg)
|
||||
skin/classic/browser/notification-icons/microphone-detailed.svg (../shared/notification-icons/microphone-detailed.svg)
|
||||
* skin/classic/browser/notification-icons/microphone.svg (../shared/notification-icons/microphone.svg)
|
||||
* skin/classic/browser/notification-icons/persistent-storage-blocked.svg (../shared/notification-icons/persistent-storage-blocked.svg)
|
||||
* skin/classic/browser/notification-icons/persistent-storage.svg (../shared/notification-icons/persistent-storage.svg)
|
||||
skin/classic/browser/notification-icons/microphone.svg (../shared/notification-icons/microphone.svg)
|
||||
skin/classic/browser/notification-icons/persistent-storage-blocked.svg (../shared/notification-icons/persistent-storage-blocked.svg)
|
||||
skin/classic/browser/notification-icons/persistent-storage.svg (../shared/notification-icons/persistent-storage.svg)
|
||||
skin/classic/browser/notification-icons/plugin-badge.svg (../shared/notification-icons/plugin-badge.svg)
|
||||
* skin/classic/browser/notification-icons/plugin-blocked.svg (../shared/notification-icons/plugin-blocked.svg)
|
||||
* skin/classic/browser/notification-icons/plugin.svg (../shared/notification-icons/plugin.svg)
|
||||
skin/classic/browser/notification-icons/plugin-blocked.svg (../shared/notification-icons/plugin-blocked.svg)
|
||||
skin/classic/browser/notification-icons/plugin.svg (../shared/notification-icons/plugin.svg)
|
||||
skin/classic/browser/notification-icons/popup.svg (../shared/notification-icons/popup.svg)
|
||||
* skin/classic/browser/notification-icons/screen-blocked.svg (../shared/notification-icons/screen-blocked.svg)
|
||||
* skin/classic/browser/notification-icons/screen.svg (../shared/notification-icons/screen.svg)
|
||||
skin/classic/browser/notification-icons/screen-blocked.svg (../shared/notification-icons/screen-blocked.svg)
|
||||
skin/classic/browser/notification-icons/screen.svg (../shared/notification-icons/screen.svg)
|
||||
skin/classic/browser/notification-icons/update.svg (../shared/notification-icons/update.svg)
|
||||
|
||||
skin/classic/browser/tracking-protection-16.svg (../shared/identity-block/tracking-protection-16.svg)
|
||||
|
||||
@@ -154,11 +154,7 @@ html|*#webRTC-previewVideo {
|
||||
|
||||
.popup-notification-icon[popupid="drmContentPlaying"],
|
||||
.drm-icon {
|
||||
list-style-image: url("chrome://browser/skin/drm-icon.svg#chains");
|
||||
}
|
||||
|
||||
.drm-icon:hover:active {
|
||||
list-style-image: url("chrome://browser/skin/drm-icon.svg#chains-pressed");
|
||||
list-style-image: url("chrome://browser/skin/drm-icon.svg");
|
||||
}
|
||||
|
||||
#eme-notification-icon[firstplay=true] {
|
||||
|
||||
@@ -1,12 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
<defs>
|
||||
#include clip-path.inc.svg
|
||||
#include camera-icon.inc.svg
|
||||
</defs>
|
||||
<use clip-path="url(#blocked-clipPath)" href="#camera-icon"/>
|
||||
#include strikeout.inc.svg
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M9.7 13a1.345 1.345 0 0 0 1.3-1.389V9.552l3.037 2.648a1.007 1.007 0 0 0 .963.285V4l-9 9zm5.007-11.707a1 1 0 0 0-1.414 0l-2.452 2.452A1.284 1.284 0 0 0 9.7 3H2.3A1.345 1.345 0 0 0 1 4.389v7.222a1.4 1.4 0 0 0 .731 1.244l-.438.438a1 1 0 1 0 1.414 1.414l12-12a1 1 0 0 0 0-1.414z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 530 B After Width: | Height: | Size: 628 B |
@@ -1 +0,0 @@
|
||||
<path id="camera-icon" d="m 2,23 a 3,3 0 0 0 3,3 l 14,0 a 3,3 0 0 0 3,-3 l 0,-4 6,5.5 c 0.5,0.5 1,0.7 2,0.5 l 0,-18 c -1,-0.2 -1.5,0 -2,0.5 l -6,5.5 0,-4 a 3,3 0 0 0 -3,-3 l -14,0 a 3,3 0 0 0 -3,3 z"/>
|
||||
@@ -1,7 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
#include camera-icon.inc.svg
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M14.037 3.828L11 6.479v-2.09A1.345 1.345 0 0 0 9.7 3H2.3A1.345 1.345 0 0 0 1 4.389v7.222A1.345 1.345 0 0 0 2.3 13h7.4a1.345 1.345 0 0 0 1.3-1.389V9.552l3.037 2.648a1.007 1.007 0 0 0 .963.285V3.542a1.007 1.007 0 0 0-.963.286z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 393 B After Width: | Height: | Size: 578 B |
@@ -1,3 +0,0 @@
|
||||
<clipPath id="blocked-clipPath">
|
||||
<path d="m 0,0 0,31 31,-31 z m 6,32 26,0 0,-26 z"/>
|
||||
</clipPath>
|
||||
@@ -1,16 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
<defs>
|
||||
<mask id="i-mask" fill-opacity="1">
|
||||
<rect fill="white" width="32" height="32"/>
|
||||
<circle fill="black" cx="16" cy="9" r="2.5"/>
|
||||
<rect fill="black" x="14" y="14" width="4" height="10" rx="2" ry="2"/>
|
||||
</mask>
|
||||
</defs>
|
||||
<g>
|
||||
<circle cx="16" cy="16" r="14" mask="url(#i-mask)"/>
|
||||
</g>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path fill-rule="evenodd" d="M8 1a7 7 0 1 1-7 7 7 7 0 0 1 7-7zm0 3a1 1 0 1 1-1 1 1 1 0 0 1 1-1zm0 3a1 1 0 0 1 1 1v3a1 1 0 0 1-2 0V8a1 1 0 0 1 1-1z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 684 B After Width: | Height: | Size: 491 B |
@@ -1,12 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
<defs>
|
||||
#include clip-path.inc.svg
|
||||
#include desktop-notification-icon.inc.svg
|
||||
</defs>
|
||||
<use clip-path="url(#blocked-clipPath)" href="#desktop-notification-icon"/>
|
||||
#include strikeout.inc.svg
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M15.961 3.039L14 5v4.577a.423.423 0 0 1-.423.423H12a1 1 0 0 0-1 1v1.194l-1.491-1.827a.978.978 0 0 0-.558-.318L7 12h1.26l2.966 3.633A1 1 0 0 0 13 15v-3h.577A2.426 2.426 0 0 0 16 9.577V3.423a2.4 2.4 0 0 0-.039-.384zm-1.254-1.746A1.013 1.013 0 0 0 14 1H2.423A2.426 2.426 0 0 0 0 3.423v6.154A2.426 2.426 0 0 0 2.423 12h.163l-1.293 1.293a1 1 0 1 0 1.414 1.414l12-12a1 1 0 0 0 0-1.414zM2.423 10A.423.423 0 0 1 2 9.577V3.423A.423.423 0 0 1 2.423 3h9.163l-2 2H4.5a.5.5 0 0 0 0 1h4.086l-1 1H4.5a.5.5 0 0 0 0 1h2.086l-2 2z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 558 B After Width: | Height: | Size: 866 B |
@@ -1 +0,0 @@
|
||||
<path id="desktop-notification-icon" d="m 2,20 a 4,4 0 0 0 4,4 l 13,0 7,7 0,-7 a 4,4 0 0 0 4,-4 l 0,-12 a 4,4 0 0 0 -4,-4 l -20,0 a 4,4 0 0 0 -4,4 z m 5,-2 a 1,1 0 1 1 0,-2 l 10,0 a 1,1 0 1 1 0,2 z m 0,-4 a 1,1 0 1 1 0,-2 l 14,0 a 1,1 0 1 1 0,2 z m 0,-4 a 1,1 0 1 1 0,-2 l 18,0 a 1,1 0 1 1 0,2 z"/>
|
||||
@@ -1,7 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
#include desktop-notification-icon.inc.svg
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M13.577 1H2.423A2.426 2.426 0 0 0 0 3.423v6.154A2.426 2.426 0 0 0 2.423 12H8.26l2.966 3.633A1 1 0 0 0 13 15v-3h.577A2.426 2.426 0 0 0 16 9.577V3.423A2.426 2.426 0 0 0 13.577 1zM14 9.577a.423.423 0 0 1-.423.423H12a1 1 0 0 0-1 1v1.194l-1.491-1.827A1 1 0 0 0 8.734 10H2.423A.423.423 0 0 1 2 9.577V3.423A.423.423 0 0 1 2.423 3h11.154a.423.423 0 0 1 .423.423z"/>
|
||||
<path d="M11.5 5h-7a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1zm0 2h-7a.5.5 0 0 0 0 1h7a.5.5 0 0 0 0-1z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 407 B After Width: | Height: | Size: 806 B |
@@ -1,12 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
<defs>
|
||||
#include clip-path.inc.svg
|
||||
#include indexedDB-icon.inc.svg
|
||||
</defs>
|
||||
<use clip-path="url(#blocked-clipPath)" href="#indexedDB-icon"/>
|
||||
#include strikeout.inc.svg
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M10.293 11.293L9 12.586V10l-2 2v.586l-.293-.293-1.414 1.414 2 2a1 1 0 0 0 1.414 0l3-3a1 1 0 0 0-1.414-1.414zM13 8h-1a1 1 0 0 0 0 2h2a1 1 0 0 0 1-1V4l-2 2zm1.707-6.707A1.016 1.016 0 0 0 14 1H2a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h2a1 1 0 0 0 0-2H3V3h8.586L1.293 13.293a1 1 0 1 0 1.414 1.414l12-12a1 1 0 0 0 0-1.414z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 536 B After Width: | Height: | Size: 661 B |
@@ -1 +0,0 @@
|
||||
<path id="indexedDB-icon" d="m 2,24 a 4,4 0 0 0 4,4 l 2,0 0,-4 -2,0 0,-16 20,0 0,16 -2,0 0,4 2,0 a 4,4 0 0 0 4,-4 l 0,-16 a 4,4 0 0 0 -4,-4 l -20,0 a 4,4 0 0 0 -4,4 z m 8,-2 6,7 6,-7 -4,0 0,-8 -4,0 0,8 z"/>
|
||||
@@ -1,7 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
#include indexedDB-icon.inc.svg
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M14 1H2a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h2a1 1 0 0 0 0-2H3V3h10v5h-1a1 1 0 0 0 0 2h2a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1z"/>
|
||||
<path d="M10.293 11.293L9 12.586V8a1 1 0 0 0-2 0v4.586l-1.293-1.293a1 1 0 0 0-1.414 1.414l3 3a1 1 0 0 0 1.414 0l3-3a1 1 0 0 0-1.414-1.414z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 396 B After Width: | Height: | Size: 610 B |
@@ -1,7 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
<path d="m 2,26 0,4 6,0 0,-2 2,0 0,-2 1,0 0,-1 2,0 0,-3 2,0 2.5,-2.5 1.5,1.5 3,-3 a 8,8 0 1 0 -8,-8 l -3,3 2,2 z m 20,-18.1 a 2,2 0 1 1 0,0.2 z"/>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M10.992 1a4.009 4.009 0 0 0-4.009 4.008c0 .1.022.187.028.282-.059.05-.119.087-.178.143L5.667 6.6a.366.366 0 0 0 0 .467A1.878 1.878 0 0 0 6 7.5.353.353 0 0 1 6 8l-5 5v1.767a.229.229 0 0 0 .233.233H3.77a.229.229 0 0 0 .23-.233v-.778h.75a.227.227 0 0 0 .233-.228v-.768H5.2s.28 0 .28-.235V12.5h.779s.233-.1.233-.244v-1.271h.855l1.12-1.118H8.7l.467.467c.233.233.233.233.365.233a.437.437 0 0 0 .275-.127l.993-1.273c.034-.053.054-.107.084-.161.036 0 .07.011.107.011a4.008 4.008 0 1 0 0-8.017zM12.5 4.489a1 1 0 1 1 1-1 1 1 0 0 1-1 1z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 513 B After Width: | Height: | Size: 879 B |
@@ -1,12 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
<defs>
|
||||
#include clip-path.inc.svg
|
||||
#include microphone-icon.inc.svg
|
||||
</defs>
|
||||
<use clip-path="url(#blocked-clipPath)" href="#microphone-icon"/>
|
||||
#include strikeout.inc.svg
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M11 8v1a3 3 0 0 1-3 3 2.958 2.958 0 0 1-.859-.141l-.775.775a4.012 4.012 0 0 0 .634.224V14H5.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1H9v-1.142A4 4 0 0 0 12 9V7.5a.5.5 0 0 0-.146-.354zm3.707-6.707a1 1 0 0 0-1.414 0L10 4.586V3a2 2 0 1 0-4 0v5.586l-.945.945A2.856 2.856 0 0 1 5 9V7.5a.5.5 0 0 0-1 0V9a3.843 3.843 0 0 0 .248 1.338l-2.955 2.955a1 1 0 1 0 1.414 1.414l12-12a1 1 0 0 0 0-1.414z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 538 B After Width: | Height: | Size: 732 B |
@@ -1 +0,0 @@
|
||||
<path id="microphone-icon" d="m 8,14 0,4 a 8,8 0 0 0 6,7.7 l 0,2.3 -2,0 a 2,2 0 0 0 -2,2 l 12,0 a 2,2 0 0 0 -2,-2 l -2,0 0,-2.3 a 8,8 0 0 0 6,-7.7 l 0,-4 -2,0 0,4 a 6,6 0 0 1 -12,0 l 0,-4 z m 4,4 a 4,4 0 0 0 8,0 l 0,-12 a 4,4 0 0 0 -8,0 z"/>
|
||||
@@ -1,7 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
#include microphone-icon.inc.svg
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M8 11a2 2 0 0 0 2-2V3a2 2 0 1 0-4 0v6a2 2 0 0 0 2 2z"/>
|
||||
<path d="M12 9V7.5a.5.5 0 0 0-1 0V9a3 3 0 0 1-6 0V7.5a.5.5 0 0 0-1 0V9a4 4 0 0 0 3 3.858V14H5.5a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1H9v-1.142A4 4 0 0 0 12 9z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 397 B After Width: | Height: | Size: 564 B |
@@ -1,12 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
<defs>
|
||||
#include clip-path.inc.svg
|
||||
#include persistent-storage-icon.inc.svg
|
||||
</defs>
|
||||
<use clip-path="url(#blocked-clipPath)" href="#persistent-storage-icon"/>
|
||||
#include strikeout.inc.svg
|
||||
<svg width="32" height="32" fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M4 24.172V23.1c0-1.1.9-2 2-2h1.072l2.1-2.1H6c-.7 0-1.4.2-2 .5V6.2C4 4.4 5.3 3 7 3h18c.056 0 .112.002.167.005l1.42-1.42c.78-.78 2.046-.78 2.827 0 .78.782.78 2.048 0 2.83l-24 24c-.78.78-2.047.78-2.828 0-.78-.782-.78-2.048 0-2.83L4 24.173zM7.828 29l7.9-7.9H26c1.1 0 2 .9 2 2V27c0 1.1-.9 2-2 2H7.828zM28 8.828V19.5c-.6-.3-1.3-.5-2-.5h-8.172L28 8.828zM24.1 27c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2z" fill-rule="nonzero"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 554 B After Width: | Height: | Size: 772 B |
@@ -1 +0,0 @@
|
||||
<path id="persistent-storage-icon" d="M26 21.1H6c-1.1 0-2 .9-2 2V27c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2v-3.9c0-1.1-.9-2-2-2zM24.1 27c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zM25 3H7C5.3 3 4 4.4 4 6.2v13.3c.6-.3 1.3-.5 2-.5h20c.7 0 1.4.2 2 .5V6.2C28 4.4 26.7 3 25 3z"/>
|
||||
@@ -1,7 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
#include persistent-storage-icon.inc.svg
|
||||
<svg fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg" width="32" height="32">
|
||||
<path d="M26 21.1H6c-1.1 0-2 .9-2 2V27c0 1.1.9 2 2 2h20c1.1 0 2-.9 2-2v-3.9c0-1.1-.9-2-2-2zM24.1 27c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zM25 3H7C5.3 3 4 4.4 4 6.2v13.3c.6-.3 1.3-.5 2-.5h20c.7 0 1.4.2 2 .5V6.2C28 4.4 26.7 3 25 3z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 405 B After Width: | Height: | Size: 579 B |
@@ -1,12 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
<defs>
|
||||
#include clip-path.inc.svg
|
||||
#include plugin-icon.inc.svg
|
||||
</defs>
|
||||
<use clip-path="url(#blocked-clipPath)" href="#plugin-icon"/>
|
||||
#include strikeout.inc.svg
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M3 3h3a1 1 0 0 0 0-2H3a1 1 0 0 0 0 2zm11.707 1.293L5 14h9a1 1 0 0 0 1-1V5a1 1 0 0 0-.293-.707z"/>
|
||||
<path d="M14.707 1.293a.986.986 0 0 0-1.207-.139A.973.973 0 0 0 13 1h-3a1 1 0 0 0 0 2h1.586l-1 1H2a1 1 0 0 0-1 1v8a.971.971 0 0 0 .154.5.986.986 0 0 0 .139 1.205 1 1 0 0 0 1.414 0l12-12a1 1 0 0 0 0-1.412z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 530 B After Width: | Height: | Size: 658 B |
@@ -1 +0,0 @@
|
||||
<path id="plugin-icon" d="m 2,26 a 2,2 0 0 0 2,2 l 24,0 a 2,2 0 0 0 2,-2 l 0,-16 a 2,2 0 0 0 -2,-2 l -24,0 a 2,2 0 0 0 -2,2 z m 2,-20 10,0 0,-2 a 2,2 0 0 0 -2,-2 l -6,0 a 2,2 0 0 0 -2,2 z m 14,0 10,0 0,-2 a 2,2 0 0 0 -2,-2 l -6,0 a 2,2 0 0 0 -2,2 z"/>
|
||||
@@ -1,7 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
#include plugin-icon.inc.svg
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<rect x="1" y="4" width="14" height="10" rx="1" ry="1"/>
|
||||
<path d="M6 1H3a1 1 0 0 0 0 2h3a1 1 0 0 0 0-2zm7 0h-3a1 1 0 0 0 0 2h3a1 1 0 0 0 0-2z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 393 B After Width: | Height: | Size: 488 B |
@@ -1,7 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
<path d="m 2,24 a 4,4 0 0 0 4,4 l 8,0 a 10,10 0 0 1 -2,-4 l -4,0 a 2,2 0 0 1 -2,-2 l 0,-12 18,0 0,2 a 10,10 0 0 1 4,2 l 0,-8 a 4,4 0 0 0 -4,-4 l -18,0 a 4,4 0 0 0 -4,4 z m 12,-2.1 a 8,8 0 1 1 0,0.2 m 10.7,-4.3 a 5,5 0 0 0 -6.9,6.9 z m -5.4,8.4 a 5,5 0 0 0 6.9,-6.9 z"/>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M12 8a4 4 0 1 0 4 4 4 4 0 0 0-4-4zm0 1a2.975 2.975 0 0 1 1.733.56L9.56 13.733A2.991 2.991 0 0 1 12 9zm0 6a2.975 2.975 0 0 1-1.733-.56l4.173-4.173A2.991 2.991 0 0 1 12 15z"/>
|
||||
<path d="M13 1H3a3 3 0 0 0-3 3v8a3 3 0 0 0 3 3h3a1 1 0 0 0 0-2H3a1 1 0 0 1-1-1V6h12a1 1 0 0 0 2 0V4a3 3 0 0 0-3-3zM2 5V4a1 1 0 0 1 1-1h10a1 1 0 0 1 1 1v1z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 636 B After Width: | Height: | Size: 684 B |
@@ -1,12 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
<defs>
|
||||
#include clip-path.inc.svg
|
||||
#include screen-icon.inc.svg
|
||||
</defs>
|
||||
<use clip-path="url(#blocked-clipPath)" href="#screen-icon"/>
|
||||
#include strikeout.inc.svg
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M4 10a1 1 0 0 0 0-2H2V3h6v1a1 1 0 0 0 2 0V2a1 1 0 0 0-1-1H1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1zm11-4h-2l-2 2h3v5H8v-2l-2 2v1a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1z"/>
|
||||
<path d="M14.707 1.293a1 1 0 0 0-1.414 0L8.586 6H7a1 1 0 0 0-1 1v1.586l-4.707 4.707a1 1 0 1 0 1.414 1.414l12-12a1 1 0 0 0 0-1.414z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 530 B After Width: | Height: | Size: 656 B |
@@ -1 +0,0 @@
|
||||
<path id="screen-icon" d="m 2,18 a 2,2 0 0 0 2,2 l 2,0 0,-6 a 4,4 0 0 1 4,-4 l 14,0 0,-6 a 2,2 0 0 0 -2,-2 l -18,0 a 2,2 0 0 0 -2,2 z m 6,10 a 2,2 0 0 0 2,2 l 18,0 a 2,2 0 0 0 2,-2 l 0,-14 a 2,2 0 0 0 -2,-2 l -18,0 a 2,2 0 0 0 -2,2 z"/>
|
||||
@@ -1,7 +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 fill="context-fill" fill-opacity="context-fill-opacity" xmlns="http://www.w3.org/2000/svg"
|
||||
width="32" height="32" viewBox="0 0 32 32">
|
||||
#include screen-icon.inc.svg
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="context-fill" fill-opacity="context-fill-opacity">
|
||||
<path d="M15 6H7a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1zm-1 7H8V8h6z"/>
|
||||
<path d="M4 8H2V3h6v1a1 1 0 0 0 2 0V2a1 1 0 0 0-1-1H1a1 1 0 0 0-1 1v7a1 1 0 0 0 1 1h3a1 1 0 0 0 0-2z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 393 B After Width: | Height: | Size: 542 B |
@@ -1 +0,0 @@
|
||||
<path id="strikeout" d="m 2,28 2,2 26,-26 -2,-2 z"/>
|
||||
@@ -233,6 +233,12 @@
|
||||
fill-opacity: 1;
|
||||
}
|
||||
|
||||
/* Blocked popup icon */
|
||||
|
||||
#page-report-button {
|
||||
list-style-image: url(chrome://browser/skin/notification-icons/popup.svg);
|
||||
}
|
||||
|
||||
/* Zoom button */
|
||||
|
||||
#urlbar-zoom-button {
|
||||
|
||||