Changeset 145533 in webkit
- Timestamp:
- Mar 12, 2013 5:29:03 AM (11 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r145522 r145533 1 2013-03-12 Vsevolod Vlasov <vsevik@chromium.org> 2 3 Web Inspector: SourceFrames are leaking on reload. 4 https://bugs.webkit.org/show_bug.cgi?id=111961 5 6 Reviewed by Alexander Pavlov. 7 8 * inspector/debugger/breakpoint-manager-listeners-count-expected.txt: Added. 9 * inspector/debugger/breakpoint-manager-listeners-count.html: Added. 10 1 11 2013-03-12 Krzysztof Czech <k.czech@samsung.com> 2 12 -
trunk/Source/WebCore/ChangeLog
r145531 r145533 1 2013-03-12 Vsevolod Vlasov <vsevik@chromium.org> 2 3 Web Inspector: SourceFrames are leaking on reload. 4 https://bugs.webkit.org/show_bug.cgi?id=111961 5 6 Reviewed by Alexander Pavlov. 7 8 Added dispose method on UISourceCodeFrame. 9 Scripts panel now calls dispose when SourceFrame is removed and JavaScriptSourceFrame 10 could remove breakpoint manager listeners in it. 11 TabbedEditorContainer does not call viewForFile other than in appendFileTab methods to 12 avoid recreating SourceFrame for uiSourceCode when it was already removed. 13 14 Test: inspector/debugger/breakpoint-manager-listeners-count.html 15 16 * inspector/front-end/JavaScriptSourceFrame.js: 17 (WebInspector.JavaScriptSourceFrame.prototype.dispose): 18 * inspector/front-end/ScriptsPanel.js: 19 * inspector/front-end/TabbedEditorContainer.js: 20 (WebInspector.TabbedEditorContainer.prototype._addScrollAndSelectionListeners): 21 (WebInspector.TabbedEditorContainer.prototype._removeScrollAndSelectionListeners): 22 (WebInspector.TabbedEditorContainer.prototype._tabClosed): 23 * inspector/front-end/UISourceCodeFrame.js: 24 (WebInspector.UISourceCodeFrame.prototype.dispose): 25 1 26 2013-03-12 Alexander Pavlov <apavlov@chromium.org> 2 27 -
trunk/Source/WebCore/inspector/front-end/JavaScriptSourceFrame.js
r144598 r145533 587 587 }, 588 588 589 dispose: function() 590 { 591 this._breakpointManager.removeEventListener(WebInspector.BreakpointManager.Events.BreakpointAdded, this._breakpointAdded, this); 592 this._breakpointManager.removeEventListener(WebInspector.BreakpointManager.Events.BreakpointRemoved, this._breakpointRemoved, this); 593 WebInspector.UISourceCodeFrame.prototype.dispose.call(this); 594 }, 595 589 596 __proto__: WebInspector.UISourceCodeFrame.prototype 590 597 } -
trunk/Source/WebCore/inspector/front-end/ScriptsPanel.js
r145220 r145533 494 494 return; 495 495 this._sourceFramesByUISourceCode.remove(uiSourceCode); 496 sourceFrame.d etach();496 sourceFrame.dispose(); 497 497 }, 498 498 -
trunk/Source/WebCore/inspector/front-end/TabbedEditorContainer.js
r145220 r145533 111 111 _addScrollAndSelectionListeners: function() 112 112 { 113 console.assert(this._currentFile);114 var sourceFrame = this._delegate.viewForFile(this._currentFile);115 sourceFrame.addEventListener(WebInspector.SourceFrame.Events.ScrollChanged, this._scrollChanged, this);116 sourceFrame.addEventListener(WebInspector.SourceFrame.Events.SelectionChanged, this._selectionChanged, this);113 if (!this._currentView) 114 return; 115 this._currentView.addEventListener(WebInspector.SourceFrame.Events.ScrollChanged, this._scrollChanged, this); 116 this._currentView.addEventListener(WebInspector.SourceFrame.Events.SelectionChanged, this._selectionChanged, this); 117 117 }, 118 118 119 119 _removeScrollAndSelectionListeners: function() 120 120 { 121 if (!this._currentFile) 122 return; 123 var sourceFrame = this._delegate.viewForFile(this._currentFile); 124 sourceFrame.removeEventListener(WebInspector.SourceFrame.Events.ScrollChanged, this._scrollChanged, this); 125 sourceFrame.removeEventListener(WebInspector.SourceFrame.Events.SelectionChanged, this._selectionChanged, this); 121 if (!this._currentView) 122 return; 123 this._currentView.removeEventListener(WebInspector.SourceFrame.Events.ScrollChanged, this._scrollChanged, this); 124 this._currentView.removeEventListener(WebInspector.SourceFrame.Events.SelectionChanged, this._selectionChanged, this); 126 125 }, 127 126 … … 157 156 this._editorSelectedByUserAction(); 158 157 158 this._currentView = this.visibleView; 159 159 this._addScrollAndSelectionListeners(); 160 160 … … 309 309 if (this._currentFile === uiSourceCode) { 310 310 this._removeScrollAndSelectionListeners(); 311 delete this._currentView; 311 312 delete this._currentFile; 312 313 } -
trunk/Source/WebCore/inspector/front-end/UISourceCodeFrame.js
r144598 r145533 157 157 }, 158 158 159 dispose: function() 160 { 161 this.detach(); 162 }, 163 159 164 __proto__: WebInspector.SourceFrame.prototype 160 165 }
Note: See TracChangeset
for help on using the changeset viewer.