Index: devtools.js |
=================================================================== |
--- a/devtools.js |
+++ b/devtools.js |
@@ -14,46 +14,52 @@ |
* You should have received a copy of the GNU General Public License |
* along with Adblock Plus. If not, see <http://www.gnu.org/licenses/>. |
*/ |
"use strict"; |
let panelWindow = null; |
-chrome.runtime.sendMessage( |
- { |
- type: "prefs.get", |
- key: "show_devtools_panel" |
- }, |
- enabled => |
- { |
- if (enabled) |
+// Versions of Firefox before 54 do not support the devtools.panels API; on |
+// these platforms, even when the option is enabled, we cannot show the |
+// devtools panel. |
+if ("panels" in chrome.devtools) |
+{ |
+ chrome.runtime.sendMessage( |
{ |
- chrome.devtools.panels.create( |
- "Adblock Plus", |
- "icons/detailed/abp-48.png", |
- "devtools-panel.html", |
- panel => |
- { |
- panel.onShown.addListener(window => |
+ type: "prefs.get", |
+ key: "show_devtools_panel" |
+ }, |
+ enabled => |
+ { |
+ if (enabled) |
+ { |
+ chrome.devtools.panels.create( |
+ "Adblock Plus", |
+ "icons/detailed/abp-48.png", |
+ "devtools-panel.html", |
+ panel => |
{ |
- panelWindow = window; |
- }); |
+ panel.onShown.addListener(window => |
+ { |
+ panelWindow = window; |
+ }); |
- panel.onHidden.addListener(window => |
- { |
- panelWindow = null; |
- }); |
+ panel.onHidden.addListener(window => |
+ { |
+ panelWindow = null; |
+ }); |
- if (panel.onSearch) |
- { |
- panel.onSearch.addListener((eventName, queryString) => |
+ if (panel.onSearch) |
{ |
- if (panelWindow) |
- panelWindow.postMessage({type: eventName, queryString}, "*"); |
- }); |
+ panel.onSearch.addListener((eventName, queryString) => |
+ { |
+ if (panelWindow) |
+ panelWindow.postMessage({type: eventName, queryString}, "*"); |
+ }); |
+ } |
} |
- } |
- ); |
+ ); |
+ } |
} |
- } |
-); |
+ ); |
+} |