Title: [134944] trunk/Source/WebCore
Revision
134944
Author
commit-qu...@webkit.org
Date
2012-11-16 06:38:16 -0800 (Fri, 16 Nov 2012)

Log Message

Web Inspector: Workaround to show shortcuts for panels that hasn't been loaded.
https://bugs.webkit.org/show_bug.cgi?id=102488

Patch by Eugene Klyuchnikov <eustas....@gmail.com> on 2012-11-16
Reviewed by Vsevolod Vlasov.

Panels are lazily loaded / instantiated.
Panel constructors register keyboard shortcuts.

When user open shortcuts screen all panel should be loaded.
Otherwise some shortcuts will be missing.

* inspector/front-end/ShortcutsScreen.js: Added callback invokation.
* inspector/front-end/inspector.js:
Provided callback that loads all panels.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (134943 => 134944)


--- trunk/Source/WebCore/ChangeLog	2012-11-16 14:36:48 UTC (rev 134943)
+++ trunk/Source/WebCore/ChangeLog	2012-11-16 14:38:16 UTC (rev 134944)
@@ -1,3 +1,20 @@
+2012-11-16  Eugene Klyuchnikov  <eustas....@gmail.com>
+
+        Web Inspector: Workaround to show shortcuts for panels that hasn't been loaded.
+        https://bugs.webkit.org/show_bug.cgi?id=102488
+
+        Reviewed by Vsevolod Vlasov.
+
+        Panels are lazily loaded / instantiated.
+        Panel constructors register keyboard shortcuts.
+
+        When user open shortcuts screen all panel should be loaded.
+        Otherwise some shortcuts will be missing.
+
+        * inspector/front-end/ShortcutsScreen.js: Added callback invokation.
+        * inspector/front-end/inspector.js:
+        Provided callback that loads all panels.
+
 2012-11-16  Kentaro Hara  <hara...@chromium.org>
 
         [V8] Remove IsSubType() from CodeGeneratorV8.pm

Modified: trunk/Source/WebCore/inspector/front-end/ShortcutsScreen.js (134943 => 134944)


--- trunk/Source/WebCore/inspector/front-end/ShortcutsScreen.js	2012-11-16 14:36:48 UTC (rev 134943)
+++ trunk/Source/WebCore/inspector/front-end/ShortcutsScreen.js	2012-11-16 14:38:16 UTC (rev 134944)
@@ -31,9 +31,10 @@
 /**
  * @constructor
  */
-WebInspector.ShortcutsScreen = function()
+WebInspector.ShortcutsScreen = function(finishShortcutsRegistrationCallback)
 {
     this._sections = {};
+    this._finishShortcutsRegistrationCallback = finishShortcutsRegistrationCallback;
 }
 
 WebInspector.ShortcutsScreen.prototype = {
@@ -47,6 +48,10 @@
 
     createShortcutsTabView: function()
     {
+        if (this._finishShortcutsRegistrationCallback)
+            this._finishShortcutsRegistrationCallback();
+        delete this._finishShortcutsRegistrationCallback;
+
         var orderedSections = [];
         for (var section in this._sections)
             orderedSections.push(this._sections[section]);

Modified: trunk/Source/WebCore/inspector/front-end/inspector.js (134943 => 134944)


--- trunk/Source/WebCore/inspector/front-end/inspector.js	2012-11-16 14:36:48 UTC (rev 134943)
+++ trunk/Source/WebCore/inspector/front-end/inspector.js	2012-11-16 14:38:16 UTC (rev 134944)
@@ -379,10 +379,11 @@
 
 WebInspector._doLoadedDoneWithCapabilities = function()
 {
-    WebInspector.shortcutsScreen = new WebInspector.ShortcutsScreen();
-    this._registerShortcuts();
+    var panelDescriptors = this._panelDescriptors();
+    WebInspector.shortcutsScreen = new WebInspector.ShortcutsScreen(this._registerShortcuts.bind(this, panelDescriptors));
 
     // set order of some sections explicitly
+    WebInspector.shortcutsScreen.section(WebInspector.UIString("All Panels"));
     WebInspector.shortcutsScreen.section(WebInspector.UIString("Console"));
     WebInspector.shortcutsScreen.section(WebInspector.UIString("Elements Panel"));
 
@@ -447,7 +448,6 @@
 
     this.toolbar = new WebInspector.Toolbar();
     WebInspector.startBatchUpdate();
-    var panelDescriptors = this._panelDescriptors();
     for (var i = 0; i < panelDescriptors.length; ++i)
         WebInspector.inspectorView.addPanel(panelDescriptors[i]);
     WebInspector.endBatchUpdate();
@@ -613,7 +613,7 @@
         InspectorFrontendHost.openInNewTab(resourceURL);
 }
 
-WebInspector._registerShortcuts = function()
+WebInspector._registerShortcuts = function(panelDescriptors)
 {
     var shortcut = WebInspector.KeyboardShortcut;
     var section = WebInspector.shortcutsScreen.section(WebInspector.UIString("All Panels"));
@@ -648,6 +648,9 @@
 
     var goToShortcut = WebInspector.GoToLineDialog.createShortcut();
     section.addKey(goToShortcut.name, WebInspector.UIString("Go to line"));
+
+    for (var i = 0; i < panelDescriptors.length; ++i)
+        panelDescriptors[i].panel();
 }
 
 WebInspector.documentKeyDown = function(event)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to