Web Inspector: Switching tabs in TabbedEditorContainer should reveal selected script...
authorvsevik@chromium.org <vsevik@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 19 Jan 2012 18:57:00 +0000 (18:57 +0000)
committervsevik@chromium.org <vsevik@chromium.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 19 Jan 2012 18:57:00 +0000 (18:57 +0000)
https://bugs.webkit.org/show_bug.cgi?id=76636

Reviewed by Pavel Feldman.

Renamed FileSelector's ScriptSelected event into FileSelected, added EditorSelected
event to EditorContainer.
Renamed _showSourceFrame into _showFile.
Made _uiSourceCodeRemoved reuse _removeSourceFrame.

* inspector/front-end/ScriptsNavigator.js:
(WebInspector.ScriptsNavigator.prototype.scriptSelected):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
(WebInspector.ScriptsPanel.prototype._showAndRevealInFileSelector):
(WebInspector.ScriptsPanel.prototype._editorSelected):
(WebInspector.ScriptsPanel.prototype._fileSelected):
(WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack):
(WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward):
(WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):
* inspector/front-end/TabbedEditorContainer.js:
(WebInspector.TabbedEditorContainer):
(WebInspector.TabbedEditorContainer.prototype._tabSelected):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@105427 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/inspector/front-end/ScriptsNavigator.js
Source/WebCore/inspector/front-end/ScriptsPanel.js
Source/WebCore/inspector/front-end/TabbedEditorContainer.js

index f2e9d30..5bdafb4 100755 (executable)
@@ -1,3 +1,29 @@
+2012-01-19  Vsevolod Vlasov  <vsevik@chromium.org>
+
+        Web Inspector: Switching tabs in TabbedEditorContainer should reveal selected script in navigator.
+        https://bugs.webkit.org/show_bug.cgi?id=76636
+
+        Reviewed by Pavel Feldman.
+
+        Renamed FileSelector's ScriptSelected event into FileSelected, added EditorSelected
+        event to EditorContainer.
+        Renamed _showSourceFrame into _showFile.
+        Made _uiSourceCodeRemoved reuse _removeSourceFrame.
+
+        * inspector/front-end/ScriptsNavigator.js:
+        (WebInspector.ScriptsNavigator.prototype.scriptSelected):
+        * inspector/front-end/ScriptsPanel.js:
+        (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
+        (WebInspector.ScriptsPanel.prototype._showAndRevealInFileSelector):
+        (WebInspector.ScriptsPanel.prototype._editorSelected):
+        (WebInspector.ScriptsPanel.prototype._fileSelected):
+        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack):
+        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward):
+        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):
+        * inspector/front-end/TabbedEditorContainer.js:
+        (WebInspector.TabbedEditorContainer):
+        (WebInspector.TabbedEditorContainer.prototype._tabSelected):
+
 2012-01-19  Mihnea Ovidenie  <mihnea@adobe.com>
 
         [CSSRegions]Add support for background-color in region styling
index b07d0cd..09b9f73 100644 (file)
@@ -170,7 +170,7 @@ WebInspector.ScriptsNavigator.prototype = {
     scriptSelected: function(uiSourceCode)
     {
         this._lastSelectedUISourceCode = uiSourceCode;
-        this.dispatchEventToListeners(WebInspector.ScriptsPanel.FileSelector.Events.ScriptSelected, uiSourceCode);
+        this.dispatchEventToListeners(WebInspector.ScriptsPanel.FileSelector.Events.FileSelected, uiSourceCode);
     },
     
     /**
index d5c3249..a067cbd 100644 (file)
@@ -70,7 +70,6 @@ WebInspector.ScriptsPanel = function(presentationModel)
         this.editorView.show(this.splitView.mainElement);
 
         this._fileSelector = new WebInspector.ScriptsNavigator(this._presentationModel);
-        this._fileSelector.addEventListener(WebInspector.ScriptsPanel.FileSelector.Events.ScriptSelected, this._scriptSelected, this)
 
         this._fileSelector.show(this.editorView.sidebarElement);
 
@@ -83,13 +82,15 @@ WebInspector.ScriptsPanel = function(presentationModel)
         this._editorContainer.show(this.editorView.mainElement);
     } else {
         this._fileSelector = new WebInspector.ScriptsPanel.ComboBoxFileSelector(this._presentationModel);
-        this._fileSelector.addEventListener(WebInspector.ScriptsPanel.FileSelector.Events.ScriptSelected, this._scriptSelected, this);
-        this._fileSelector.addEventListener(WebInspector.ScriptsPanel.FileSelector.Events.ReleasedFocusAfterSelection, this._fileSelectorReleasedFocus, this);
         this._fileSelector.show(this.splitView.mainElement);
 
         this._editorContainer = new WebInspector.ScriptsPanel.SingleFileEditorContainer();
         this._editorContainer.show(this.splitView.mainElement);
     }
+    this._fileSelector.addEventListener(WebInspector.ScriptsPanel.FileSelector.Events.FileSelected, this._fileSelected, this);
+    this._fileSelector.addEventListener(WebInspector.ScriptsPanel.FileSelector.Events.ReleasedFocusAfterSelection, this._fileSelectorReleasedFocus, this);
+    this._editorContainer.addEventListener(WebInspector.ScriptsPanel.EditorContainer.Events.EditorSelected, this._editorSelected, this);
+
     this.splitView.mainElement.appendChild(this.debugSidebarResizeWidgetElement);
 
     this.sidebarPanes = {};
@@ -270,11 +271,7 @@ WebInspector.ScriptsPanel.prototype = {
     _uiSourceCodeRemoved: function(event)
     {
         var uiSourceCode = /** @type {WebInspector.UISourceCode} */ event.data;
-
-        if (this._sourceFramesByUISourceCode.get(uiSourceCode)) {
-            this._sourceFramesByUISourceCode.get(uiSourceCode).detach();
-            this._sourceFramesByUISourceCode.remove(uiSourceCode);
-        }
+        this._removeSourceFrame(uiSourceCode);
     },
 
     /**
@@ -484,7 +481,7 @@ WebInspector.ScriptsPanel.prototype = {
      * @param {WebInspector.UISourceCode} uiSourceCode
      * @return {WebInspector.SourceFrame}
      */
-    _showSourceFrame: function(uiSourceCode)
+    _showFile: function(uiSourceCode)
     {
         var sourceFrame = this._sourceFramesByUISourceCode.get(uiSourceCode) || this._createSourceFrame(uiSourceCode);
 
@@ -507,7 +504,7 @@ WebInspector.ScriptsPanel.prototype = {
             return null;
         
         this._fileSelector.revealUISourceCode(uiSourceCode);
-        return this._showSourceFrame(uiSourceCode);
+        return this._showFile(uiSourceCode);
     },
 
     requestVisibleScriptOutline: function()
@@ -658,10 +655,16 @@ WebInspector.ScriptsPanel.prototype = {
         this._updateExecutionLine(this._presentationModel.executionLineLocation);
     },
 
-    _scriptSelected: function(event)
+    _editorSelected: function(event)
+    {
+        var sourceFrame = /** @type {WebInspector.SourceFrame} */ event.data;
+        this._fileSelector.revealUISourceCode(sourceFrame._uiSourceCode);
+    },
+
+    _fileSelected: function(event)
     {
         var uiSourceCode = /** @type {WebInspector.UISourceCode} */ event.data;
-        this._showSourceFrame(uiSourceCode);
+        this._showFile(uiSourceCode);
     },
 
     _fileSelectorReleasedFocus: function(event)
@@ -1035,7 +1038,7 @@ WebInspector.ScriptsPanel.prototype.__proto__ = WebInspector.Panel.prototype;
 WebInspector.ScriptsPanel.FileSelector = function() { }
 
 WebInspector.ScriptsPanel.FileSelector.Events = {
-    ScriptSelected: "ScriptSelected",
+    FileSelected: "FileSelected",
     ReleasedFocusAfterSelection: "ReleasedFocusAfterSelection"
 }
 
@@ -1084,6 +1087,10 @@ WebInspector.ScriptsPanel.FileSelector.prototype = {
  */
 WebInspector.ScriptsPanel.EditorContainer = function() { }
 
+WebInspector.ScriptsPanel.EditorContainer.Events = {
+    FileSelected: "FileSelected"
+}
+
 WebInspector.ScriptsPanel.EditorContainer.prototype = {
     /**
      * @type {WebInspector.SourceFrame}
@@ -1440,7 +1447,7 @@ WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype = {
 
         var uiSourceCode = this._backForwardList[--this._currentBackForwardIndex];
         this._innerRevealUISourceCode(uiSourceCode, false);
-        this.dispatchEventToListeners(WebInspector.ScriptsPanel.FileSelector.Events.ScriptSelected, uiSourceCode);
+        this.dispatchEventToListeners(WebInspector.ScriptsPanel.FileSelector.Events.FileSelected, uiSourceCode);
     },
 
     _goForward: function()
@@ -1452,7 +1459,7 @@ WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype = {
 
         var uiSourceCode = this._backForwardList[++this._currentBackForwardIndex];
         this._innerRevealUISourceCode(uiSourceCode, false);
-        this.dispatchEventToListeners(WebInspector.ScriptsPanel.FileSelector.Events.ScriptSelected, uiSourceCode);
+        this.dispatchEventToListeners(WebInspector.ScriptsPanel.FileSelector.Events.FileSelected, uiSourceCode);
     },
 
     /**
@@ -1465,7 +1472,7 @@ WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype = {
 
         var uiSourceCode = this._filesSelectElement[this._filesSelectElement.selectedIndex]._uiSourceCode;
         this._innerRevealUISourceCode(uiSourceCode, true);
-        this.dispatchEventToListeners(WebInspector.ScriptsPanel.FileSelector.Events.ScriptSelected, uiSourceCode);
+        this.dispatchEventToListeners(WebInspector.ScriptsPanel.FileSelector.Events.FileSelected, uiSourceCode);
         if (focusSource)
             this.dispatchEventToListeners(WebInspector.ScriptsPanel.FileSelector.Events.ReleasedFocusAfterSelection, uiSourceCode);
     }
@@ -1560,5 +1567,4 @@ WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype = {
     }
 }
 
-
 WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.__proto__ = WebInspector.Object.prototype;
index 486453a..e81e3bf 100644 (file)
@@ -37,6 +37,7 @@ WebInspector.TabbedEditorContainer = function()
     this._tabbedPane.element.id = "scripts-editor-container-tabbed-pane";
 
     this._tabbedPane.addEventListener(WebInspector.TabbedPane.EventTypes.TabClosed, this._tabClosed, this);
+    this._tabbedPane.addEventListener(WebInspector.TabbedPane.EventTypes.TabSelected, this._tabSelected, this);
 
     this._titles = new Map();
     this._tooltips = new Map();
@@ -112,6 +113,15 @@ WebInspector.TabbedEditorContainer.prototype = {
     },
 
     /**
+     * @param {WebInspector.Event} event
+     */
+    _tabSelected: function(event)
+    {
+        var sourceFrame = /** @type {WebInspector.UISourceCode} */ event.data.view;
+        this.dispatchEventToListeners(WebInspector.ScriptsPanel.EditorContainer.Events.EditorSelected, sourceFrame);
+    },
+
+    /**
      * @param {WebInspector.SourceFrame} oldSourceFrame
      * @param {string} title
      * @param {WebInspector.SourceFrame} sourceFrame
@@ -200,3 +210,5 @@ WebInspector.TabbedEditorContainer.prototype = {
         return "tab_" + (WebInspector.TabbedEditorContainer._tabId++);
     }
 }
+
+WebInspector.TabbedEditorContainer.prototype.__proto__ = WebInspector.Object.prototype;
\ No newline at end of file