Bug 1281451 - Propose an Add-ons Debugging doc page on MDN from about:debugging. draft
authorLuca Greco <lgreco@mozilla.com>
Tue, 21 Jun 2016 19:13:19 +0200
changeset 382026 774537244ef9291dbe8b828ea6b4846addf927eb
parent 380348 ecd3562339dcd51a604e82efbcb347de8b823aee
child 524072 6a998a970547caf603078a7d7154873fd7824b83
push id21596
push userluca.greco@alcacoop.it
push dateTue, 28 Jun 2016 17:52:59 +0000
bugs1281451
milestone50.0a1
Bug 1281451 - Propose an Add-ons Debugging doc page on MDN from about:debugging. MozReview-Commit-ID: HOMAhCRxRa5
devtools/client/aboutdebugging/aboutdebugging.css
devtools/client/aboutdebugging/components/addons/controls.js
devtools/client/aboutdebugging/test/browser_addons_toggle_debug.js
devtools/client/locales/en-US/aboutdebugging.properties
--- 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