+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
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);
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 = {};
_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);
},
/**
* @param {WebInspector.UISourceCode} uiSourceCode
* @return {WebInspector.SourceFrame}
*/
- _showSourceFrame: function(uiSourceCode)
+ _showFile: function(uiSourceCode)
{
var sourceFrame = this._sourceFramesByUISourceCode.get(uiSourceCode) || this._createSourceFrame(uiSourceCode);
return null;
this._fileSelector.revealUISourceCode(uiSourceCode);
- return this._showSourceFrame(uiSourceCode);
+ return this._showFile(uiSourceCode);
},
requestVisibleScriptOutline: function()
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)
WebInspector.ScriptsPanel.FileSelector = function() { }
WebInspector.ScriptsPanel.FileSelector.Events = {
- ScriptSelected: "ScriptSelected",
+ FileSelected: "FileSelected",
ReleasedFocusAfterSelection: "ReleasedFocusAfterSelection"
}
*/
WebInspector.ScriptsPanel.EditorContainer = function() { }
+WebInspector.ScriptsPanel.EditorContainer.Events = {
+ FileSelected: "FileSelected"
+}
+
WebInspector.ScriptsPanel.EditorContainer.prototype = {
/**
* @type {WebInspector.SourceFrame}
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()
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);
},
/**
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);
}
}
}
-
WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.__proto__ = WebInspector.Object.prototype;
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();
},
/**
+ * @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
return "tab_" + (WebInspector.TabbedEditorContainer._tabId++);
}
}
+
+WebInspector.TabbedEditorContainer.prototype.__proto__ = WebInspector.Object.prototype;
\ No newline at end of file