Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1871)

Unified Diff: Source/devtools/front_end/main/Main.js

Issue 283063003: DevTools: Implement extension-based status bar buttons (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix setting-based buttons initialization logic Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: Source/devtools/front_end/main/Main.js
diff --git a/Source/devtools/front_end/main/Main.js b/Source/devtools/front_end/main/Main.js
index a42ea6ffc4887245c2c27ec687966bee13a657aa..4836961bd9198fe1c67edcc2a12890e6184ecf1f 100644
--- a/Source/devtools/front_end/main/Main.js
+++ b/Source/devtools/front_end/main/Main.js
@@ -63,6 +63,39 @@ WebInspector.Main.prototype = {
WebInspector.moduleManager.registerModules(configuration);
},
+ _createGlobalStatusBarItems: function()
+ {
+ var extensions = WebInspector.moduleManager.extensions(WebInspector.StatusBarButton.Provider);
+ extensions.forEach(function(extension) {
+ var button;
+ switch (extension.descriptor()["location"]) {
+ case "toolbar-left":
+ button = createButton(extension);
+ if (button)
+ WebInspector.inspectorView.appendToLeftToolbar(button.element);
+ break;
+ case "toolbar-right":
+ button = createButton(extension);
+ if (button)
+ WebInspector.inspectorView.appendToRightToolbar(button.element);
+ break;
+ }
+ if (button && extension.descriptor()["actionId"]) {
+ button.addEventListener("click", function() {
+ WebInspector.actionRegistry.execute(extension.descriptor()["actionId"]);
+ });
+ }
+ });
+
+ function createButton(extension)
+ {
+ var descriptor = extension.descriptor();
+ if (descriptor.className)
+ return extension.instance().button();
+ return new WebInspector.StatusBarButton(WebInspector.UIString(descriptor["title"]), descriptor["elementClass"]);
+ }
+ },
+
_calculateWorkerInspectorTitle: function()
{
var expression = "location.href";
@@ -284,8 +317,6 @@ WebInspector.Main.prototype = {
screen.showModal();
}
- WebInspector.settingsController = new WebInspector.SettingsController();
-
WebInspector.domBreakpointsSidebarPane = new WebInspector.DOMBreakpointsSidebarPane();
var autoselectPanel = WebInspector.UIString("a panel chosen automatically");
@@ -313,17 +344,10 @@ WebInspector.Main.prototype = {
WebInspector.zoomManager = new WebInspector.ZoomManager();
WebInspector.inspectorView = new WebInspector.InspectorView();
WebInspector.app.createRootView();
- WebInspector.app.createGlobalStatusBarItems();
+ this._createGlobalStatusBarItems();
this._addMainEventListeners(document);
- function onResize()
- {
- if (WebInspector.settingsController)
- WebInspector.settingsController.resize();
- }
- window.addEventListener("resize", onResize, true);
-
var errorWarningCount = document.getElementById("error-warning-count");
function showConsole()

Powered by Google App Engine
This is Rietveld 408576698