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

Unified Diff: Source/devtools/front_end/components/DockController.js

Issue 283063003: DevTools: Implement extension-based status bar buttons (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Updated patch 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/components/DockController.js
diff --git a/Source/devtools/front_end/components/DockController.js b/Source/devtools/front_end/components/DockController.js
index 89903d2c940d4c23842bf939e9faec3165701734..8910c8e2f6120f3368f4fda32a3fd8583cc66ed6 100644
--- a/Source/devtools/front_end/components/DockController.js
+++ b/Source/devtools/front_end/components/DockController.js
@@ -44,19 +44,6 @@ WebInspector.DockController = function(canDock)
WebInspector.settings.currentDockState = WebInspector.settings.createSetting("currentDockState", "");
WebInspector.settings.lastDockState = WebInspector.settings.createSetting("lastDockState", "");
- var states = [WebInspector.DockController.State.DockedToBottom, WebInspector.DockController.State.Undocked, WebInspector.DockController.State.DockedToRight];
- var titles = [WebInspector.UIString("Dock to main window."), WebInspector.UIString("Undock into separate window."), WebInspector.UIString("Dock to main window.")];
- if (WebInspector.experimentsSettings.dockToLeft.isEnabled()) {
- states.push(WebInspector.DockController.State.DockedToLeft);
- titles.push(WebInspector.UIString("Dock to main window."));
- }
- this._dockToggleButton = new WebInspector.StatusBarStatesSettingButton(
- "dock-status-bar-item",
- states,
- titles,
- WebInspector.settings.currentDockState,
- WebInspector.settings.lastDockState,
- this._dockSideChanged.bind(this));
}
WebInspector.DockController.State = {
@@ -76,20 +63,6 @@ WebInspector.DockController.Events = {
}
WebInspector.DockController.prototype = {
- initialize: function()
- {
- if (this._canDock)
- this._dockToggleButton.toggleInitialState();
- },
-
- /**
- * @return {?Element}
- */
- get element()
- {
- return this._canDock ? this._dockToggleButton.element : null;
- },
-
/**
* @return {string}
*/
@@ -169,6 +142,44 @@ WebInspector.DockController.prototype = {
}
/**
+ * @constructor
+ * @implements {WebInspector.StatusBarButton.Provider}
+ */
+WebInspector.DockController.ButtonProvider = function()
+{
+}
+
+WebInspector.DockController.ButtonProvider.prototype = {
+ /**
+ * @return {?WebInspector.StatusBarButton}
+ */
+ button: function()
+ {
+ if (!WebInspector.dockController.canDock())
+ return null;
+
+ if (!this._dockToggleButton) {
+ var states = [WebInspector.DockController.State.DockedToBottom, WebInspector.DockController.State.Undocked, WebInspector.DockController.State.DockedToRight];
+ var titles = [WebInspector.UIString("Dock to main window."), WebInspector.UIString("Undock into separate window."), WebInspector.UIString("Dock to main window.")];
+ if (WebInspector.experimentsSettings.dockToLeft.isEnabled()) {
+ states.push(WebInspector.DockController.State.DockedToLeft);
+ titles.push(WebInspector.UIString("Dock to main window."));
+ }
+
+ this._dockToggleButton = new WebInspector.StatusBarStatesSettingButton(
+ "dock-status-bar-item",
+ states,
+ titles,
+ WebInspector.settings.currentDockState,
+ WebInspector.settings.lastDockState,
+ WebInspector.dockController._dockSideChanged.bind(WebInspector.dockController));
+ this._dockToggleButton.toggleInitialState();
+ }
+ return this._dockToggleButton;
+ }
+}
+
+/**
* @type {!WebInspector.DockController}
*/
WebInspector.dockController;

Powered by Google App Engine
This is Rietveld 408576698