Backed out changeset 63ec4612926b (bug 1743882) for causing mochitest failures on browser_preferences_usage.js. CLOSED TREE

This commit is contained in:
Iulian Moraru 2021-12-10 03:37:45 +02:00
Родитель 059f34b0db
Коммит e4f169b13e
5 изменённых файлов: 15 добавлений и 185 удалений

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

@ -5451,9 +5451,8 @@ var XULBrowserWindow = {
Services.obs.notifyObservers(
window,
"toggle-screenshot-disable",
(aLocationURI.scheme == "about" &&
!aLocationURI.spec.startsWith("about:reader")) ||
Services.prefs.getBoolPref("extensions.screenshots.disabled")
aLocationURI.scheme == "about" &&
!aLocationURI.spec.startsWith("about:reader")
);
gPermissionPanel.onLocationChange();

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

@ -1981,32 +1981,18 @@ BrowserGlue.prototype = {
// Set up a listener to enable/disable the screenshots extension
// based on its preference.
_monitorScreenshotsPref() {
const SCREENSHOTS_PREF = "extensions.screenshots.disabled";
const COMPONENT_PREF = "screenshots.browser.component.enabled";
const PREF = "extensions.screenshots.disabled";
const ID = "screenshots@mozilla.org";
const _checkScreenshotsPref = async () => {
let addon = await AddonManager.getAddonByID(ID);
let screenshotsDisabled = Services.prefs.getBoolPref(
SCREENSHOTS_PREF,
false
);
let componentEnabled = Services.prefs.getBoolPref(COMPONENT_PREF, false);
if (screenshotsDisabled) {
if (componentEnabled) {
ScreenshotsUtils.uninitialize();
} else {
await addon.disable({ allowSystemAddons: true });
}
} else if (componentEnabled) {
ScreenshotsUtils.initialize();
let disabled = Services.prefs.getBoolPref(PREF, false);
if (disabled) {
await addon.disable({ allowSystemAddons: true });
} else {
await addon.enable({ allowSystemAddons: true });
ScreenshotsUtils.uninitialize();
}
};
Services.prefs.addObserver(SCREENSHOTS_PREF, _checkScreenshotsPref);
Services.prefs.addObserver(COMPONENT_PREF, _checkScreenshotsPref);
Services.prefs.addObserver(PREF, _checkScreenshotsPref);
_checkScreenshotsPref();
},

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

@ -13,9 +13,7 @@ const PanelOffsetX = -33;
const PanelOffsetY = -8;
var ScreenshotsUtils = {
initialized: false,
initialize() {
if (!this.initialized) {
if (
!Services.prefs.getBoolPref(
"screenshots.browser.component.enabled",
@ -26,15 +24,6 @@ var ScreenshotsUtils = {
}
Services.obs.addObserver(this, "menuitem-screenshot");
Services.obs.addObserver(this, "screenshots-take-screenshot");
this.initialized = true;
}
},
uninitialize() {
if (this.initialized) {
Services.obs.removeObserver(this, "menuitem-screenshot");
Services.obs.removeObserver(this, "screenshots-take-screenshot");
this.initialized = false;
}
},
observe(subj, topic, data) {
let { gBrowser } = subj;

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

@ -8,7 +8,6 @@ prefs =
screenshots.browser.component.enabled=true
[browser_screenshots_test_full_page.js]
[browser_screenshots_test_toggle_pref.js]
[browser_screenshots_test_toolbar_button.js]
[browser_screenshots_test_visible.js]

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

@ -1,143 +0,0 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
add_task(async function setPref() {
const COMPONENT_PREF = "screenshots.browser.component.enabled";
await SpecialPowers.pushPrefEnv({
set: [[COMPONENT_PREF, false]],
});
ok(!Services.prefs.getBoolPref(COMPONENT_PREF), "Extension enabled");
});
add_task(async function test_fullpageScreenshot() {
CustomizableUI.addWidgetToArea(
"screenshot-button",
CustomizableUI.AREA_NAVBAR
);
let screenshotBtn = document.getElementById("screenshot-button");
Assert.ok(screenshotBtn, "The screenshots button was added to the nav bar");
await BrowserTestUtils.withNewTab(
{
gBrowser,
url: TEST_PAGE,
},
async browser => {
let helper = new ScreenshotsHelper(browser);
// eslint-disable-next-line mozilla/no-arbitrary-setTimeout
await new Promise(r => setTimeout(r, 700));
helper.triggerUIFromToolbar();
// await new Promise(r => setTimeout(r, 7000));
await SpecialPowers.spawn(
browser,
["#firefox-screenshots-preselection-iframe"],
async function(iframeSelector) {
info(
`in waitForUIContent content function, iframeSelector: ${iframeSelector}`
);
let iframe;
await ContentTaskUtils.waitForCondition(() => {
iframe = content.document.querySelector(iframeSelector);
if (!iframe || !ContentTaskUtils.is_visible(iframe)) {
info("in waitForUIContent, no visible iframe yet");
return false;
}
return true;
});
// wait a frame for the screenshots UI to finish any init
await new content.Promise(res => content.requestAnimationFrame(res));
}
);
helper.triggerUIFromToolbar();
}
);
});
add_task(async function setPref() {
const COMPONENT_PREF = "screenshots.browser.component.enabled";
await SpecialPowers.pushPrefEnv({
set: [[COMPONENT_PREF, true]],
});
ok(Services.prefs.getBoolPref(COMPONENT_PREF), "Extension enabled");
});
add_task(async function test_fullpageScreenshot() {
CustomizableUI.addWidgetToArea(
"screenshot-button",
CustomizableUI.AREA_NAVBAR
);
let screenshotBtn = document.getElementById("screenshot-button");
Assert.ok(screenshotBtn, "The screenshots button was added to the nav bar");
await BrowserTestUtils.withNewTab(
{
gBrowser,
url: TEST_PAGE,
},
async browser => {
let helper = new ScreenshotsHelper(browser);
// click toolbar button so panel shows
helper.triggerUIFromToolbar();
let panel = gBrowser.selectedBrowser.ownerDocument.querySelector(
"#screenshotsPagePanel"
);
await BrowserTestUtils.waitForMutationCondition(
panel,
{ attributes: true },
() => {
return BrowserTestUtils.is_visible(panel);
}
);
ok(BrowserTestUtils.is_visible(panel), "Panel buttons are visible");
helper.triggerUIFromToolbar();
await BrowserTestUtils.waitForMutationCondition(
panel,
{ attributes: true },
() => {
return BrowserTestUtils.is_hidden(panel);
}
);
ok(BrowserTestUtils.is_hidden(panel), "Panel buttons are not visible");
}
);
});
add_task(async function setPref() {
const SCREENSHOTS_PREF = "extensions.screenshots.disabled";
await SpecialPowers.pushPrefEnv({
set: [[SCREENSHOTS_PREF, true]],
});
ok(Services.prefs.getBoolPref(SCREENSHOTS_PREF), "Extension enabled");
});
add_task(async function test_fullpageScreenshot() {
CustomizableUI.addWidgetToArea(
"screenshot-button",
CustomizableUI.AREA_NAVBAR
);
let screenshotBtn = document.getElementById("screenshot-button");
Assert.ok(screenshotBtn, "The screenshots button was added to the nav bar");
await BrowserTestUtils.withNewTab(TEST_PAGE, () => {
Assert.equal(screenshotBtn.disabled, true, "Screenshots button is disable");
});
});
add_task(async function setPref() {
const SCREENSHOTS_PREF = "extensions.screenshots.disabled";
await SpecialPowers.pushPrefEnv({
set: [[SCREENSHOTS_PREF, false]],
});
ok(!Services.prefs.getBoolPref(SCREENSHOTS_PREF), "Extension enabled");
});