mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-16 14:55:47 +00:00
Backed out changeset 63ec4612926b (bug 1743882) for causing mochitest failures on browser_preferences_usage.js. CLOSED TREE
This commit is contained in:
parent
059f34b0db
commit
e4f169b13e
@ -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,28 +13,17 @@ const PanelOffsetX = -33;
|
||||
const PanelOffsetY = -8;
|
||||
|
||||
var ScreenshotsUtils = {
|
||||
initialized: false,
|
||||
initialize() {
|
||||
if (!this.initialized) {
|
||||
if (
|
||||
!Services.prefs.getBoolPref(
|
||||
"screenshots.browser.component.enabled",
|
||||
false
|
||||
)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
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;
|
||||
if (
|
||||
!Services.prefs.getBoolPref(
|
||||
"screenshots.browser.component.enabled",
|
||||
false
|
||||
)
|
||||
) {
|
||||
return;
|
||||
}
|
||||
Services.obs.addObserver(this, "menuitem-screenshot");
|
||||
Services.obs.addObserver(this, "screenshots-take-screenshot");
|
||||
},
|
||||
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");
|
||||
});
|
Loading…
Reference in New Issue
Block a user