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

Side by Side Diff: Source/devtools/front_end/main/AdvancedApp.js

Issue 307623003: [DevTools] Apps implementation. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: rebased Created 6 years, 6 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 unified diff | Download patch
« no previous file with comments | « Source/devtools/front_end/inspector.html ('k') | Source/devtools/front_end/main/App.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 /**
6 * @constructor
7 * @extends {WebInspector.App}
8 */
9 WebInspector.AdvancedApp = function()
10 {
11 WebInspector.App.call(this);
12 };
13
14 WebInspector.AdvancedApp.prototype = {
15 createGlobalStatusBarItems: function()
apavlov 2014/05/29 15:54:04 These apps should certainly go into different modu
16 {
17 this.appendInspectStatusBarItem();
18
19 if (WebInspector.experimentsSettings.responsiveDesign.isEnabled()) {
20 this._toggleResponsiveDesignButton = new WebInspector.StatusBarButto n(WebInspector.UIString("Responsive design mode."), "responsive-design-status-ba r-item");
21 this._toggleResponsiveDesignButton.toggled = WebInspector.settings.r esponsiveDesignMode.get();
22 this._toggleResponsiveDesignButton.addEventListener("click", this._t oggleResponsiveDesign, this);
23 WebInspector.inspectorView.appendToLeftToolbar(this._toggleResponsiv eDesignButton.element);
24 WebInspector.settings.responsiveDesignMode.addChangeListener(this._r esponsiveDesignModeChanged, this);
25 }
26
27 this.appendSettingsStatusBarItem();
28 WebInspector.inspectorView.appendToRightToolbar(/** @type {!Element} */ (WebInspector.dockController.element));
29 },
30
31 _toggleResponsiveDesign: function()
32 {
33 WebInspector.settings.responsiveDesignMode.set(!this._toggleResponsiveDe signButton.toggled);
34 },
35
36 _responsiveDesignModeChanged: function()
37 {
38 this._toggleResponsiveDesignButton.toggled = WebInspector.settings.respo nsiveDesignMode.get();
39 },
40
41 createRootView: function()
42 {
43 var rootView = new WebInspector.RootView();
44
45 this._rootSplitView = new WebInspector.SplitView(false, true, WebInspect or.dockController.canDock() ? "InspectorView.splitViewState" : "InspectorView.du mmySplitViewState", 300, 300);
46 this._rootSplitView.show(rootView.element);
47
48 WebInspector.inspectorView.show(this._rootSplitView.sidebarElement());
49
50 this._inspectedPagePlaceholder = new WebInspector.InspectedPagePlacehold er();
51 this._inspectedPagePlaceholder.addEventListener(WebInspector.InspectedPa gePlaceholder.Events.Update, this._onSetInspectedPageBounds, this);
52 if (WebInspector.experimentsSettings.responsiveDesign.isEnabled()) {
53 var responsiveDesignView = new WebInspector.ResponsiveDesignView(thi s._inspectedPagePlaceholder);
54 responsiveDesignView.show(this._rootSplitView.mainElement());
55 } else
56 this._inspectedPagePlaceholder.show(this._rootSplitView.mainElement( ));
57
58 WebInspector.dockController.addEventListener(WebInspector.DockController .Events.BeforeDockSideChanged, this._onBeforeDockSideChange, this);
59 WebInspector.dockController.addEventListener(WebInspector.DockController .Events.DockSideChanged, this._onDockSideChange, this);
60 WebInspector.dockController.addEventListener(WebInspector.DockController .Events.AfterDockSideChanged, this._onAfterDockSideChange, this);
61 this._onDockSideChange();
62
63 rootView.attachToBody();
64 },
65
66 _onBeforeDockSideChange: function()
67 {
68 this._changingDockSide = true;
69 },
70
71 _onDockSideChange: function()
72 {
73 var dockSide = WebInspector.dockController.dockSide();
74 if (dockSide === WebInspector.DockController.State.Undocked) {
75 this._rootSplitView.toggleResizer(this._rootSplitView.resizerElement (), false);
76 this._rootSplitView.toggleResizer(WebInspector.inspectorView.topResi zerElement(), false);
77 this._rootSplitView.hideMain();
78 return;
79 }
80
81 this._rootSplitView.setVertical(dockSide === WebInspector.DockController .State.DockedToLeft || dockSide === WebInspector.DockController.State.DockedToRi ght);
82 this._rootSplitView.setSecondIsSidebar(dockSide === WebInspector.DockCon troller.State.DockedToRight || dockSide === WebInspector.DockController.State.Do ckedToBottom);
83 this._rootSplitView.toggleResizer(this._rootSplitView.resizerElement(), true);
84 this._rootSplitView.toggleResizer(WebInspector.inspectorView.topResizerE lement(), dockSide === WebInspector.DockController.State.DockedToBottom);
85 this._rootSplitView.showBoth();
86 },
87
88 _onAfterDockSideChange: function()
89 {
90 this._changingDockSide = false;
91 this._inspectedPagePlaceholder.update();
92 },
93
94 _isDocked: function()
95 {
96 return WebInspector.dockController.dockSide() !== WebInspector.DockContr oller.State.Undocked;
97 },
98
99 /**
100 * @param {!WebInspector.Event} event
101 */
102 _onSetInspectedPageBounds: function(event)
103 {
104 if (this._changingDockSide || !this._isDocked())
105 return;
106 var bounds = /** @type {{x: number, y: number, width: number, height: nu mber}} */ (event.data);
107 InspectorFrontendHost.setInspectedPageBounds(bounds);
108 },
109
110 __proto__: WebInspector.App.prototype
111 };
OLDNEW
« no previous file with comments | « Source/devtools/front_end/inspector.html ('k') | Source/devtools/front_end/main/App.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698