Bug 1281451 - Propose an Add-ons Debugging doc page on MDN from about:debugging.
MozReview-Commit-ID: HOMAhCRxRa5
--- a/devtools/client/aboutdebugging/aboutdebugging.css
+++ b/devtools/client/aboutdebugging/aboutdebugging.css
@@ -101,16 +101,20 @@ button {
margin-left: 8px;
}
.addons-controls {
display: flex;
flex-direction: row;
}
+.addons-debugging-info {
+ margin: 5px 4px 5px 0px;
+}
+
.addons-install-error {
background-color: #f3b0b0;
padding: 5px 10px;
margin: 5px 4px 5px 0px;
}
.service-worker-disabled .warning,
.addons-install-error .warning {
--- a/devtools/client/aboutdebugging/components/addons/controls.js
+++ b/devtools/client/aboutdebugging/components/addons/controls.js
@@ -83,11 +83,17 @@ module.exports = createClass({
Strings.GetStringFromName("moreInfo")),
")"
),
dom.button({
id: "load-addon-from-file",
onClick: this.loadAddonFromFile,
}, Strings.GetStringFromName("loadTemporaryAddon"))
),
+ dom.div({ className: "addons-debugging-info" },
+ dom.a({
+ target: "_blank",
+ href: Strings.GetStringFromName("addonDebuggingHelp.link"),
+ }, Strings.GetStringFromName("addonDebuggingHelp.text"))
+ ),
AddonsInstallError({ error: this.state.installError }));
}
});
--- a/devtools/client/aboutdebugging/test/browser_addons_toggle_debug.js
+++ b/devtools/client/aboutdebugging/test/browser_addons_toggle_debug.js
@@ -21,16 +21,28 @@ add_task(function* () {
let { tab, document } = yield openAboutDebugging("addons");
yield waitForInitialAddonList(document);
info("Install a test addon.");
yield installAddon(document, "addons/unpacked/install.rdf", ADDON_NAME,
"test-devtools");
+ info("Check the Addon Debugging help section is visible.");
+ let addonDebuggingHelp = document.querySelector(".addons-debugging-info");
+ ok(addonDebuggingHelp, "Addon Debugging help section should exist.");
+ let addonDebuggingHelpLink = [
+ ...document.querySelectorAll(".addons-debugging-info a"),
+ ];
+ is(addonDebuggingHelpLink.length, 1, "The expected number of links should exist.");
+ ok(addonDebuggingHelpLink.every((link) => {
+ return link.getAttribute("href").includes("https://developer.mozilla.org") &&
+ link.getAttribute("target") == "_blank";
+ }), "All the addon debugging help links open an MDN page in a new tab.");
+
let addonDebugCheckbox = document.querySelector("#enable-addon-debugging");
ok(!addonDebugCheckbox.checked, "Addons debugging should be disabled.");
info("Check all debug buttons are disabled.");
let debugButtons = [...document.querySelectorAll("#addons .debug-button")];
ok(debugButtons.every(b => b.disabled), "Debug buttons should be disabled");
info("Click on 'Enable addons debugging' checkbox.");
--- a/devtools/client/locales/en-US/aboutdebugging.properties
+++ b/devtools/client/locales/en-US/aboutdebugging.properties
@@ -7,16 +7,18 @@ push = Push
start = Start
scope = Scope
unregister = unregister
addons = Add-ons
addonDebugging.label = Enable add-on debugging
addonDebugging.tooltip = Turning this on will allow you to debug add-ons and various other parts of the browser chrome
+addonDebuggingHelp.text = Learn more about how to debug add-ons
+addonDebuggingHelp.link = https://developer.mozilla.org/en-US/Add-ons/Debugging
moreInfo = more info
loadTemporaryAddon = Load Temporary Add-on
extensions = Extensions
selectAddonFromFile2 = Select Manifest File or Package (.xpi)
reload = Reload
reloadDisabledTooltip = Only temporarily installed add-ons can be reloaded
workers = Workers