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

Side by Side Diff: Source/devtools/front_end/main/Main.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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. 2 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
3 * Copyright (C) 2007 Matt Lilek (pewtermoose@gmail.com). 3 * Copyright (C) 2007 Matt Lilek (pewtermoose@gmail.com).
4 * Copyright (C) 2009 Joseph Pecoraro 4 * Copyright (C) 2009 Joseph Pecoraro
5 * 5 *
6 * Redistribution and use in source and binary forms, with or without 6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions 7 * modification, are permitted provided that the following conditions
8 * are met: 8 * are met:
9 * 9 *
10 * 1. Redistributions of source code must retain the above copyright 10 * 1. Redistributions of source code must retain the above copyright
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
56 } else { 56 } else {
57 configuration = ["components", "main", "elements", "network", "sourc es", "timeline", "profiler", "resources", "audits", "console", "source_frame", " extensions", "settings", "search"]; 57 configuration = ["components", "main", "elements", "network", "sourc es", "timeline", "profiler", "resources", "audits", "console", "source_frame", " extensions", "settings", "search"];
58 if (WebInspector.experimentsSettings.layersPanel.isEnabled()) 58 if (WebInspector.experimentsSettings.layersPanel.isEnabled())
59 configuration.push("layers"); 59 configuration.push("layers");
60 if (WebInspector.experimentsSettings.devicesPanel.isEnabled()) 60 if (WebInspector.experimentsSettings.devicesPanel.isEnabled())
61 configuration.push("devices"); 61 configuration.push("devices");
62 } 62 }
63 WebInspector.moduleManager.registerModules(configuration); 63 WebInspector.moduleManager.registerModules(configuration);
64 }, 64 },
65 65
66 _createGlobalStatusBarItems: function()
67 {
68 if (WebInspector.inspectElementModeController)
69 WebInspector.inspectorView.appendToLeftToolbar(WebInspector.inspectE lementModeController.toggleSearchButton.element);
70
71 if (WebInspector.experimentsSettings.responsiveDesign.isEnabled() && Web Inspector.dockController.canDock()) {
72 this._toggleResponsiveDesignButton = new WebInspector.StatusBarButto n(WebInspector.UIString("Responsive design mode."), "responsive-design-status-ba r-item");
73 this._toggleResponsiveDesignButton.toggled = WebInspector.settings.r esponsiveDesignMode.get();
74 this._toggleResponsiveDesignButton.addEventListener("click", this._t oggleResponsiveDesign, this);
75 WebInspector.inspectorView.appendToLeftToolbar(this._toggleResponsiv eDesignButton.element);
76 WebInspector.settings.responsiveDesignMode.addChangeListener(this._r esponsiveDesignModeChanged, this);
77 }
78
79 WebInspector.inspectorView.appendToRightToolbar(WebInspector.settingsCon troller.statusBarItem);
80 if (WebInspector.dockController.element)
81 WebInspector.inspectorView.appendToRightToolbar(WebInspector.dockCon troller.element);
82
83 if (this._screencastController)
84 WebInspector.inspectorView.appendToRightToolbar(this._screencastCont roller.statusBarItem());
85 },
86
87 _toggleResponsiveDesign: function()
88 {
89 WebInspector.settings.responsiveDesignMode.set(!this._toggleResponsiveDe signButton.toggled);
90 },
91
92 _responsiveDesignModeChanged: function()
93 {
94 this._toggleResponsiveDesignButton.toggled = WebInspector.settings.respo nsiveDesignMode.get();
95 },
96
97 _createRootView: function()
98 {
99 var rootView = new WebInspector.RootView();
100
101 this._rootSplitView = new WebInspector.SplitView(false, true, WebInspect or.dockController.canDock() ? "InspectorView.splitViewState" : "InspectorView.du mmySplitViewState", 300, 300);
102 this._rootSplitView.show(rootView.element);
103
104 WebInspector.inspectorView.show(this._rootSplitView.sidebarElement());
105
106 var inspectedPagePlaceholder = new WebInspector.InspectedPagePlaceholder ();
107 if (WebInspector.dockController.canDock() && WebInspector.experimentsSet tings.responsiveDesign.isEnabled()) {
108 this._responsiveDesignView = new WebInspector.ResponsiveDesignView(i nspectedPagePlaceholder);
109 this._responsiveDesignView.show(this._rootSplitView.mainElement());
110 } else
111 inspectedPagePlaceholder.show(this._rootSplitView.mainElement());
112
113 WebInspector.dockController.addEventListener(WebInspector.DockController .Events.DockSideChanged, this._updateRootSplitViewOnDockSideChange, this);
114 this._updateRootSplitViewOnDockSideChange();
115
116 rootView.attachToBody();
117 },
118
119 _updateRootSplitViewOnDockSideChange: function()
120 {
121 var dockSide = WebInspector.dockController.dockSide();
122 if (dockSide === WebInspector.DockController.State.Undocked) {
123 this._rootSplitView.toggleResizer(this._rootSplitView.resizerElement (), false);
124 this._rootSplitView.toggleResizer(WebInspector.inspectorView.topResi zerElement(), false);
125 this._rootSplitView.hideMain();
126 return;
127 }
128
129 this._rootSplitView.setVertical(dockSide === WebInspector.DockController .State.DockedToLeft || dockSide === WebInspector.DockController.State.DockedToRi ght);
130 this._rootSplitView.setSecondIsSidebar(dockSide === WebInspector.DockCon troller.State.DockedToRight || dockSide === WebInspector.DockController.State.Do ckedToBottom);
131 this._rootSplitView.toggleResizer(this._rootSplitView.resizerElement(), true);
132 this._rootSplitView.toggleResizer(WebInspector.inspectorView.topResizerE lement(), dockSide === WebInspector.DockController.State.DockedToBottom);
133 this._rootSplitView.showBoth();
134 },
135
136 _calculateWorkerInspectorTitle: function() 66 _calculateWorkerInspectorTitle: function()
137 { 67 {
138 var expression = "location.href"; 68 var expression = "location.href";
139 if (WebInspector.queryParam("isSharedWorker")) 69 if (WebInspector.queryParam("isSharedWorker"))
140 expression += " + (this.name ? ' (' + this.name + ')' : '')"; 70 expression += " + (this.name ? ' (' + this.name + ')' : '')";
141 RuntimeAgent.invoke_evaluate({expression:expression, doNotPauseOnExcepti onsAndMuteConsole:true, returnByValue: true}, evalCallback); 71 RuntimeAgent.invoke_evaluate({expression:expression, doNotPauseOnExcepti onsAndMuteConsole:true, returnByValue: true}, evalCallback);
142 72
143 /** 73 /**
144 * @param {?Protocol.Error} error 74 * @param {?Protocol.Error} error
145 * @param {!RuntimeAgent.RemoteObject} result 75 * @param {!RuntimeAgent.RemoteObject} result
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
218 { 148 {
219 if (!InspectorFrontendHost.sendMessageToEmbedder) { 149 if (!InspectorFrontendHost.sendMessageToEmbedder) {
220 var helpScreen = new WebInspector.HelpScreen(WebInspector.UIString(" Incompatible Chrome version")); 150 var helpScreen = new WebInspector.HelpScreen(WebInspector.UIString(" Incompatible Chrome version"));
221 var p = helpScreen.contentElement.createChild("p", "help-section"); 151 var p = helpScreen.contentElement.createChild("p", "help-section");
222 p.textContent = WebInspector.UIString("Please upgrade to a newer Chr ome version (you might need a Dev or Canary build)."); 152 p.textContent = WebInspector.UIString("Please upgrade to a newer Chr ome version (you might need a Dev or Canary build).");
223 helpScreen.showModal(); 153 helpScreen.showModal();
224 return; 154 return;
225 } 155 }
226 156
227 InspectorBackend.loadFromJSONIfNeeded("../protocol.json"); 157 InspectorBackend.loadFromJSONIfNeeded("../protocol.json");
228 WebInspector.dockController = new WebInspector.DockController(!!WebInspe ctor.queryParam("can_dock"));
229 158
230 var onConnectionReady = this._doLoadedDone.bind(this); 159 var onConnectionReady = this._doLoadedDone.bind(this);
231 160
232 var workerId = WebInspector.queryParam("dedicatedWorkerId"); 161 var workerId = WebInspector.queryParam("dedicatedWorkerId");
233 if (workerId) { 162 if (workerId) {
234 new WebInspector.ExternalWorkerConnection(workerId, onConnectionRead y); 163 new WebInspector.ExternalWorkerConnection(workerId, onConnectionRead y);
235 return; 164 return;
236 } 165 }
237 166
238 var ws; 167 var ws;
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
292 new WebInspector.NetworkUISourceCodeProvider(WebInspector.networkWorkspa ceBinding, WebInspector.workspace); 221 new WebInspector.NetworkUISourceCodeProvider(WebInspector.networkWorkspa ceBinding, WebInspector.workspace);
293 new WebInspector.PresentationConsoleMessageHelper(WebInspector.workspace ); 222 new WebInspector.PresentationConsoleMessageHelper(WebInspector.workspace );
294 WebInspector.fileSystemWorkspaceBinding = new WebInspector.FileSystemWor kspaceBinding(WebInspector.isolatedFileSystemManager, WebInspector.workspace); 223 WebInspector.fileSystemWorkspaceBinding = new WebInspector.FileSystemWor kspaceBinding(WebInspector.isolatedFileSystemManager, WebInspector.workspace);
295 WebInspector.breakpointManager = new WebInspector.BreakpointManager(WebI nspector.settings.breakpoints, WebInspector.workspace, WebInspector.targetManage r); 224 WebInspector.breakpointManager = new WebInspector.BreakpointManager(WebI nspector.settings.breakpoints, WebInspector.workspace, WebInspector.targetManage r);
296 WebInspector.scriptSnippetModel = new WebInspector.ScriptSnippetModel(We bInspector.workspace); 225 WebInspector.scriptSnippetModel = new WebInspector.ScriptSnippetModel(We bInspector.workspace);
297 this._executionContextSelector = new WebInspector.ExecutionContextSelect or(); 226 this._executionContextSelector = new WebInspector.ExecutionContextSelect or();
298 }, 227 },
299 228
300 _doLoadedDoneWithCapabilities: function(mainTarget) 229 _doLoadedDoneWithCapabilities: function(mainTarget)
301 { 230 {
231 WebInspector.dockController = new WebInspector.DockController(!!WebInspe ctor.queryParam("can_dock"));
232
233 if (mainTarget.canScreencast)
234 WebInspector.app = new WebInspector.ScreencastApp();
235 else if (WebInspector.dockController.canDock())
236 WebInspector.app = new WebInspector.AdvancedApp();
237 else
238 WebInspector.app = new WebInspector.SimpleApp();
239
240 WebInspector.dockController.initialize();
241
302 new WebInspector.VersionController().updateVersion(); 242 new WebInspector.VersionController().updateVersion();
303 WebInspector.shortcutsScreen = new WebInspector.ShortcutsScreen(); 243 WebInspector.shortcutsScreen = new WebInspector.ShortcutsScreen();
304 this._registerShortcuts(); 244 this._registerShortcuts();
305 245
306 // set order of some sections explicitly 246 // set order of some sections explicitly
307 WebInspector.shortcutsScreen.section(WebInspector.UIString("Console")); 247 WebInspector.shortcutsScreen.section(WebInspector.UIString("Console"));
308 WebInspector.shortcutsScreen.section(WebInspector.UIString("Elements Pan el")); 248 WebInspector.shortcutsScreen.section(WebInspector.UIString("Elements Pan el"));
309 WebInspector.ShortcutsScreen.registerShortcuts(); 249 WebInspector.ShortcutsScreen.registerShortcuts();
310 250
311 if (WebInspector.experimentsSettings.workersInMainWindow.isEnabled()) 251 if (WebInspector.experimentsSettings.workersInMainWindow.isEnabled())
312 new WebInspector.WorkerTargetManager(mainTarget, WebInspector.target Manager); 252 new WebInspector.WorkerTargetManager(mainTarget, WebInspector.target Manager);
313 253
314 WebInspector.console.addEventListener(WebInspector.ConsoleModel.Events.C onsoleCleared, this._resetErrorAndWarningCounts, this); 254 WebInspector.console.addEventListener(WebInspector.ConsoleModel.Events.C onsoleCleared, this._resetErrorAndWarningCounts, this);
315 WebInspector.console.addEventListener(WebInspector.ConsoleModel.Events.M essageAdded, this._updateErrorAndWarningCounts, this); 255 WebInspector.console.addEventListener(WebInspector.ConsoleModel.Events.M essageAdded, this._updateErrorAndWarningCounts, this);
316 256
317 WebInspector.debuggerModel.addEventListener(WebInspector.DebuggerModel.E vents.DebuggerPaused, this._debuggerPaused, this); 257 WebInspector.debuggerModel.addEventListener(WebInspector.DebuggerModel.E vents.DebuggerPaused, this._debuggerPaused, this);
318 258
319 WebInspector.zoomManager = new WebInspector.ZoomManager();
320
321 WebInspector.inspectorFrontendEventSink = new WebInspector.InspectorFron tendEventSink(); 259 WebInspector.inspectorFrontendEventSink = new WebInspector.InspectorFron tendEventSink();
322 InspectorBackend.registerInspectorDispatcher(this); 260 InspectorBackend.registerInspectorDispatcher(this);
323 261
324 if (Capabilities.isMainFrontend) { 262 if (Capabilities.isMainFrontend) {
325 WebInspector.inspectElementModeController = new WebInspector.Inspect ElementModeController(); 263 WebInspector.inspectElementModeController = new WebInspector.Inspect ElementModeController();
326 WebInspector.workerFrontendManager = new WebInspector.WorkerFrontend Manager(); 264 WebInspector.workerFrontendManager = new WebInspector.WorkerFrontend Manager();
327 } else { 265 } else {
328 mainTarget.workerManager.addEventListener(WebInspector.WorkerManager .Events.WorkerDisconnected, onWorkerDisconnected); 266 mainTarget.workerManager.addEventListener(WebInspector.WorkerManager .Events.WorkerDisconnected, onWorkerDisconnected);
329 } 267 }
330 268
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 new WebInspector.CSSStyleSheetMapping(WebInspector.cssModel, WebInspecto r.workspace, WebInspector.networkWorkspaceBinding); 302 new WebInspector.CSSStyleSheetMapping(WebInspector.cssModel, WebInspecto r.workspace, WebInspector.networkWorkspaceBinding);
365 303
366 // Create settings before loading modules. 304 // Create settings before loading modules.
367 WebInspector.settings.initializeBackendSettings(); 305 WebInspector.settings.initializeBackendSettings();
368 306
369 this._registerModules(); 307 this._registerModules();
370 WebInspector.actionRegistry = new WebInspector.ActionRegistry(); 308 WebInspector.actionRegistry = new WebInspector.ActionRegistry();
371 WebInspector.shortcutRegistry = new WebInspector.ShortcutRegistry(WebIns pector.actionRegistry); 309 WebInspector.shortcutRegistry = new WebInspector.ShortcutRegistry(WebIns pector.actionRegistry);
372 this._registerForwardedShortcuts(); 310 this._registerForwardedShortcuts();
373 311
312 WebInspector.zoomManager = new WebInspector.ZoomManager();
374 WebInspector.inspectorView = new WebInspector.InspectorView(); 313 WebInspector.inspectorView = new WebInspector.InspectorView();
375 314 WebInspector.app.createRootView();
376 // Screencast controller creates a root view itself. 315 WebInspector.app.createGlobalStatusBarItems();
377 if (mainTarget.canScreencast)
378 this._screencastController = new WebInspector.ScreencastController() ;
379 else
380 this._createRootView();
381 this._createGlobalStatusBarItems();
382 316
383 this._addMainEventListeners(document); 317 this._addMainEventListeners(document);
384 318
385 function onResize() 319 function onResize()
386 { 320 {
387 if (WebInspector.settingsController) 321 if (WebInspector.settingsController)
388 WebInspector.settingsController.resize(); 322 WebInspector.settingsController.resize();
389 } 323 }
390 window.addEventListener("resize", onResize, true); 324 window.addEventListener("resize", onResize, true);
391 325
392 var errorWarningCount = document.getElementById("error-warning-count"); 326 var errorWarningCount = document.getElementById("error-warning-count");
393 327
394 function showConsole() 328 function showConsole()
395 { 329 {
396 WebInspector.console.show(); 330 WebInspector.console.show();
397 } 331 }
398 errorWarningCount.addEventListener("click", showConsole, false); 332 errorWarningCount.addEventListener("click", showConsole, false);
399 this._updateErrorAndWarningCounts(); 333 this._updateErrorAndWarningCounts();
400 334
401 WebInspector.extensionServerProxy.setFrontendReady(); 335 WebInspector.extensionServerProxy.setFrontendReady();
402 336
403 InspectorAgent.enable(inspectorAgentEnableCallback.bind(this)); 337 InspectorAgent.enable(inspectorAgentEnableCallback);
404 338
405 /**
406 * @this {WebInspector.Main}
407 */
408 function inspectorAgentEnableCallback() 339 function inspectorAgentEnableCallback()
409 { 340 {
410 WebInspector.inspectorView.showInitialPanel(); 341 WebInspector.app.presentUI();
411
412 WebInspector.overridesSupport.applyInitialOverrides();
413 if (WebInspector.overridesSupport.hasActiveOverrides())
414 WebInspector.inspectorView.showViewInDrawer("emulation", true);
415
416 if (this._screencastController)
417 this._screencastController.initialize();
418 } 342 }
419 343
420 this._loadCompletedForWorkers(); 344 this._loadCompletedForWorkers();
421 InspectorFrontendAPI.loadCompleted(); 345 InspectorFrontendAPI.loadCompleted();
422 WebInspector.notifications.dispatchEventToListeners(WebInspector.Notific ationService.Events.InspectorLoaded); 346 WebInspector.notifications.dispatchEventToListeners(WebInspector.Notific ationService.Events.InspectorLoaded);
423 }, 347 },
424 348
425 _registerForwardedShortcuts: function() 349 _registerForwardedShortcuts: function()
426 { 350 {
427 /** @const */ var forwardedActions = ["main.reload", "main.hard-reload"] ; 351 /** @const */ var forwardedActions = ["main.reload", "main.hard-reload"] ;
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after
834 758
835 WebInspector.__defineGetter__("inspectedPageURL", function() 759 WebInspector.__defineGetter__("inspectedPageURL", function()
836 { 760 {
837 return WebInspector.resourceTreeModel.inspectedPageURL(); 761 return WebInspector.resourceTreeModel.inspectedPageURL();
838 }); 762 });
839 763
840 WebInspector.panel = function(name) 764 WebInspector.panel = function(name)
841 { 765 {
842 return WebInspector.inspectorView.panel(name); 766 return WebInspector.inspectorView.panel(name);
843 } 767 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698