15ad592c458b97ce4ffdccfcad86078aa9477b0f
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2015-04-24  Timothy Hatcher  <timothy@apple.com>
2
3         Web Inspector: Switch over to a tab based UI
4         https://bugs.webkit.org/show_bug.cgi?id=144154
5
6         Reviewed by Joseph Pecoraro.
7
8         * UserInterface/Base/Main.js:
9         (WebInspector.loaded):
10         (WebInspector.contentLoaded):
11         (WebInspector._tabContentViewForType):
12         (WebInspector._rememberOpenTabs):
13         (WebInspector._windowResized):
14         (WebInspector._tabBrowserSizeDidChange):
15         (WebInspector._quickConsoleDidResize):
16         (WebInspector._sidebarWidthDidChange):
17         (WebInspector._tabBrowserSelectedTabContentViewDidChange):
18         (WebInspector._inspectModeStateChanged):
19         (WebInspector._focusedContentView):
20         * UserInterface/Main.html:
21         * UserInterface/Views/Main.css:
22         (#tab-browser):
23
24 2015-04-23  Timothy Hatcher  <timothy@apple.com>
25
26         Web Inspector: Remove Main.js code we don't need for Tabs
27         https://bugs.webkit.org/show_bug.cgi?id=144126
28
29         Reviewed by Joseph Pecoraro.
30
31         * UserInterface/Base/Main.js:
32         (WebInspector.loaded):
33         (WebInspector.contentLoaded):
34
35 2015-04-23  Timothy Hatcher  <timothy@apple.com>
36
37         Web Inspector: Change more places that changed WebInspector.navigationSidebar.selectedSidebarPanel to tabs
38         https://bugs.webkit.org/show_bug.cgi?id=144125
39
40         Reviewed by Joseph Pecoraro.
41
42         * UserInterface/Base/Main.js:
43         (WebInspector.loaded):
44         (WebInspector.toggleDetailsSidebar):
45         (WebInspector.tabContentViewClassForRepresentedObject):
46         (WebInspector._updateModifierKeys):
47         (WebInspector._consoleResizerMouseDown.dockedResizerDragEnd):
48         (WebInspector._consoleResizerMouseDown):
49         (WebInspector.linkifyURLAsNode):
50         (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
51         * UserInterface/Protocol/InspectorFrontendAPI.js:
52         (InspectorFrontendAPI.setTimelineProfilingEnabled):
53         (InspectorFrontendAPI.showConsole):
54         (InspectorFrontendAPI.showResources):
55         * UserInterface/Protocol/InspectorObserver.js:
56         (WebInspector.InspectorObserver.prototype.inspect):
57         * UserInterface/Views/DebuggerTabContentView.js:
58         (WebInspector.DebuggerTabContentView.prototype.canShowRepresentedObject):
59         (WebInspector.DebuggerTabContentView.prototype.revealAndSelectBreakpoint):
60         * UserInterface/Views/DefaultDashboardView.js:
61         (WebInspector.DefaultDashboardView):
62         (WebInspector.DefaultDashboardView.prototype._resourcesWasClicked):
63         * UserInterface/Views/SourceCodeTextEditor.js:
64         (WebInspector.SourceCodeTextEditor.prototype.textEditorGutterContextMenu.revealInSidebar):
65         * UserInterface/Views/TabBrowser.js:
66         (WebInspector.TabBrowser.bestTabContentViewForClass):
67
68 2015-04-23  Timothy Hatcher  <timothy@apple.com>
69
70         Web Inspector: Make Console work in a tab world
71         https://bugs.webkit.org/show_bug.cgi?id=144112
72
73         Reviewed by Joseph Pecoraro.
74
75         * UserInterface/Base/Main.js:
76         (WebInspector.contentLoaded):
77         (WebInspector.isShowingConsoleTab):
78         (WebInspector.UIString):
79         (WebInspector.toggleNavigationSidebar):
80         (WebInspector.toggleDetailsSidebar):
81         (WebInspector.tabContentViewClassForRepresentedObject):
82         (WebInspector.linkifyStringAsFragment):
83         * UserInterface/Images/Console.svg: Added.
84         * UserInterface/Protocol/InspectorFrontendAPI.js:
85         (InspectorFrontendAPI.showConsole):
86         * UserInterface/Views/ConsoleTabContentView.js: Added.
87         (WebInspector.ConsoleTabContentView):
88         (WebInspector.ConsoleTabContentView.prototype.shown):
89         (WebInspector.ConsoleTabContentView.prototype.showRepresentedObject):
90         (WebInspector.ConsoleTabContentView.prototype.canShowRepresentedObject):
91         (WebInspector.ConsoleTabContentView.prototype.get supportsSplitContentBrowser):
92         * UserInterface/Views/DefaultDashboardView.js:
93         (WebInspector.DefaultDashboardView.prototype._consoleItemWasClicked):
94         * UserInterface/Views/LogContentView.js:
95         (WebInspector.LogContentView):
96         (WebInspector.LogContentView.prototype.get navigationItems):
97         (WebInspector.LogContentView.prototype.shown):
98         (WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
99         (WebInspector.LogContentView.prototype._showConsoleTab):
100         * UserInterface/Views/LogIcon.css:
101         (.log-icon .icon):
102         * UserInterface/Views/Main.css:
103         (#split-content-browser .hierarchical-path-component.log-icon .icon):
104         (#split-content-browser .hierarchical-path-component.log-icon .title):
105         (#split-content-browser .hierarchical-path-component.log-icon select):
106
107 2015-04-23  Timothy Hatcher  <timothy@apple.com>
108
109         Web Inspector: Make showing a content view work in the tab world
110         https://bugs.webkit.org/show_bug.cgi?id=144110
111
112         Reviewed by Joseph Pecoraro.
113
114         * UserInterface/Base/Main.js:
115         (WebInspector.loaded):
116         (WebInspector.hideSplitConsole):
117         (WebInspector.showSourceCodeLocation):
118         (WebInspector.showOriginalUnformattedSourceCodeLocation):
119         (WebInspector.showOriginalOrFormattedSourceCodeLocation):
120         (WebInspector.showOriginalOrFormattedSourceCodeTextRange):
121         (WebInspector.showResourceRequest):
122         (WebInspector.debuggerToggleBreakpoints):
123         (WebInspector.debuggerPauseResumeToggle):
124         (WebInspector.debuggerStepOver):
125         (WebInspector.debuggerStepInto):
126         (WebInspector.debuggerStepOut):
127         (WebInspector._focusChanged):
128         (WebInspector._mouseWasClicked):
129         (WebInspector._dragOver):
130         (WebInspector._captureDidStart):
131         (WebInspector._debuggerDidPause):
132         (WebInspector._debuggerDidResume):
133         (WebInspector._frameWasAdded):
134         (WebInspector._undock):
135         (WebInspector._updateDockNavigationItems):
136         * UserInterface/Models/Breakpoint.js:
137         (WebInspector.Breakpoint.prototype.appendContextMenuItems.revealOriginalSourceCodeLocation):
138         (WebInspector.Breakpoint.prototype.appendContextMenuItems):
139         * UserInterface/Protocol/InspectorFrontendAPI.js:
140         (InspectorFrontendAPI.showMainResourceForFrame):
141         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
142         (WebInspector.CSSStyleDeclarationTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
143         * UserInterface/Views/ComputedStyleDetailsPanel.js:
144         (WebInspector.ComputedStyleDetailsPanel.prototype._goToRegionFlowArrowWasClicked):
145         (WebInspector.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked):
146         (WebInspector.ComputedStyleDetailsPanel):
147         * UserInterface/Views/ContentBrowser.js:
148         (WebInspector.ContentBrowser.prototype.updateHierarchicalPathForCurrentContentView):
149         * UserInterface/Views/ContentView.js:
150         (WebInspector.ContentView):
151         * UserInterface/Views/DOMTreeContentView.js:
152         (WebInspector.DOMTreeContentView.prototype.restoreFromCookie):
153         * UserInterface/Views/DOMTreeDataGridNode.js:
154         (WebInspector.DOMTreeDataGridNode.prototype._goToArrowWasClicked):
155         * UserInterface/Views/DebuggerSidebarPanel.js:
156         (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
157         (WebInspector.DebuggerSidebarPanel.prototype._addTreeElementForSourceCodeToContentTreeOutline):
158         (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
159         (WebInspector.DebuggerSidebarPanel.prototype._addIssue):
160         (WebInspector.DebuggerSidebarPanel.prototype._handleIssueAdded):
161         * UserInterface/Views/LayerTreeDataGridNode.js:
162         (WebInspector.LayerTreeDataGridNode.prototype._goToArrowWasClicked):
163         * UserInterface/Views/LayoutTimelineView.js:
164         (WebInspector.LayoutTimelineView.prototype._treeElementSelected):
165         * UserInterface/Views/NavigationSidebarPanel.js:
166         (WebInspector.NavigationSidebarPanel.prototype.get contentBrowser):
167         (WebInspector.NavigationSidebarPanel.prototype.set contentBrowser):
168         (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
169         * UserInterface/Views/NetworkTimelineView.js:
170         (WebInspector.NetworkTimelineView.prototype._treeElementSelected):
171         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
172         (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
173         (WebInspector.ObjectTreeBaseTreeElement):
174         * UserInterface/Views/OverviewTimelineView.js:
175         (WebInspector.OverviewTimelineView.prototype._treeElementSelected):
176         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
177         (WebInspector.ResourceDetailsSidebarPanel.prototype._goToRequestDataClicked):
178         * UserInterface/Views/ResourceSidebarPanel.js:
179         (WebInspector.ResourceSidebarPanel):
180         (WebInspector.ResourceSidebarPanel.prototype.showDefaultContentView):
181         (WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
182         (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange.delayedWork):
183         (WebInspector.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
184         (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
185         (WebInspector.ResourceSidebarPanel.prototype._storageCleared):
186         * UserInterface/Views/ResourceTimelineDataGridNode.js:
187         (WebInspector.ResourceTimelineDataGridNode.prototype._goToResource):
188         * UserInterface/Views/ScriptTimelineView.js:
189         (WebInspector.ScriptTimelineView.prototype._treeElementSelected):
190         * UserInterface/Views/SourceCodeTextEditor.js:
191         (WebInspector.SourceCodeTextEditor.prototype.tokenTrackingControllerHighlightedRangeWasClicked):
192         * UserInterface/Views/TimelineDataGrid.js:
193         (WebInspector.TimelineDataGrid.prototype._popoverCallStackTreeElementSelected):
194         * UserInterface/Views/TimelineSidebarPanel.js:
195         (WebInspector.TimelineSidebarPanel):
196         (WebInspector.TimelineSidebarPanel.prototype.shown):
197         (WebInspector.TimelineSidebarPanel.showTimelineViewForTimeline):
198
199 2015-04-22  Timothy Hatcher  <timothy@apple.com>
200
201         Web Inspector: Make debugger keyboard shortcuts global
202         https://bugs.webkit.org/show_bug.cgi?id=144068
203
204         We wont always have a DebuggerSidebarPanel to listen for the shortcuts.
205
206         Reviewed by Joseph Pecoraro.
207
208         * UserInterface/Base/Main.js:
209         (WebInspector.contentLoaded):
210         (WebInspector.showSourceCodeForFrame):
211         (WebInspector.showSourceCode):
212         * UserInterface/Controllers/DebuggerManager.js:
213         (WebInspector.DebuggerManager.prototype.pause):
214         * UserInterface/Views/DebuggerSidebarPanel.js:
215         (WebInspector.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
216         (WebInspector.DebuggerSidebarPanel.prototype._debuggerDidResume):
217         (WebInspector.DebuggerSidebarPanel.prototype._handleIssueAdded):
218         (WebInspector.DebuggerSidebarPanel.prototype._handleIssuesCleared):
219         (WebInspector.DebuggerSidebarPanel):
220
221 2015-04-22  Timothy Hatcher  <timothy@apple.com>
222
223         Web Inspector: Remove Reload and Download Web Archive buttons from FrameTreeElement
224         https://bugs.webkit.org/show_bug.cgi?id=144064
225
226         The will be global toolbar items soon.
227
228         Reviewed by Joseph Pecoraro.
229
230         * UserInterface/Views/FrameTreeElement.js:
231         * UserInterface/Views/ResourceTreeElement.js:
232         (WebInspector.ResourceTreeElement.prototype._updateStatus):
233
234 2015-04-22  Timothy Hatcher  <timothy@apple.com>
235
236         Web Inspector: Remove time and weight from the dashboard
237         https://bugs.webkit.org/show_bug.cgi?id=144063
238
239         These two items were the odd ones out since they are only available
240         when recording a timeline. We will need the toolbar space soon, so make
241         this lets us make the dashboard skinnier.
242
243         This also removes the exception catching in DashboardContainerView. It doesn't really
244         help us and it makes debugging an exception harder.
245
246         Reviewed by Joseph Pecoraro.
247
248         * UserInterface/Views/DashboardContainerView.css:
249         (.toolbar .dashboard-container):
250         * UserInterface/Views/DashboardContainerView.js:
251         (WebInspector.DashboardContainerView.prototype._dashboardViewForRepresentedObject):
252         * UserInterface/Views/DefaultDashboardView.css:
253         (body.web .toolbar.collapsed .dashboard.default > .item.resourcesCount):
254         (body.javascript .toolbar .dashboard.default > .item.resourcesCount):
255         * UserInterface/Views/DefaultDashboardView.js:
256         (WebInspector.DefaultDashboardView):
257         (WebInspector.DefaultDashboardView.prototype._updateDisplay):
258
259 2015-04-22  Timothy Hatcher  <timothy@apple.com>
260
261         Web Inspector: Remove sidebar panel shortcut and image
262         https://bugs.webkit.org/show_bug.cgi?id=144061
263
264         Sidebar panels no longer need a keyboard shortcut or a toolbar image.
265
266         Reviewed by Joseph Pecoraro.
267
268         * UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
269         (WebInspector.ApplicationCacheDetailsSidebarPanel):
270         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
271         (WebInspector.CSSStyleDetailsSidebarPanel):
272         * UserInterface/Views/DOMDetailsSidebarPanel.js:
273         (WebInspector.DOMDetailsSidebarPanel):
274         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
275         (WebInspector.DOMNodeDetailsSidebarPanel):
276         * UserInterface/Views/DebuggerSidebarPanel.js:
277         * UserInterface/Views/DetailsSidebarPanel.js:
278         (WebInspector.DetailsSidebarPanel):
279         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
280         (WebInspector.LayerTreeDetailsSidebarPanel):
281         * UserInterface/Views/NavigationSidebarPanel.js:
282         (WebInspector.NavigationSidebarPanel):
283         (WebInspector.NavigationSidebarPanel.prototype.restoreStateFromCookie):
284         (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
285         (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
286         (WebInspector.NavigationSidebarPanel.prototype.show):
287         (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
288         * UserInterface/Views/ProbeDetailsSidebarPanel.js:
289         (WebInspector.ProbeDetailsSidebarPanel):
290         * UserInterface/Views/RenderingFrameDetailsSidebarPanel.js:
291         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
292         (WebInspector.ResourceDetailsSidebarPanel):
293         * UserInterface/Views/ResourceSidebarPanel.js:
294         (WebInspector.ResourceSidebarPanel):
295         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
296         (WebInspector.ScopeChainDetailsSidebarPanel):
297         * UserInterface/Views/SidebarPanel.js:
298         (WebInspector.SidebarPanel):
299         (WebInspector.SidebarPanel.prototype.added):
300         (WebInspector.SidebarPanel.prototype.removed):
301         (WebInspector.SidebarPanel.prototype.visibilityDidChange):
302         * UserInterface/Views/TimelineSidebarPanel.js:
303         (WebInspector.TimelineSidebarPanel):
304         (WebInspector.TimelineSidebarPanel.prototype.showTimelineViewForTimeline):
305
306 2015-04-22  Timothy Hatcher  <timothy@apple.com>
307
308         Web Inspector: Remove allowedNavigationSidebarPanels, it isn't needed
309         https://bugs.webkit.org/show_bug.cgi?id=144056
310
311         Reviewed by Joseph Pecoraro.
312
313         * UserInterface/Views/ApplicationCacheFrameContentView.js:
314         * UserInterface/Views/ContentView.js:
315         * UserInterface/Views/CookieStorageContentView.js:
316         * UserInterface/Views/DOMStorageContentView.js:
317         * UserInterface/Views/DOMTreeContentView.js:
318         * UserInterface/Views/DatabaseContentView.js:
319         * UserInterface/Views/DatabaseTableContentView.js:
320         * UserInterface/Views/FontResourceContentView.js:
321         * UserInterface/Views/FrameDOMTreeContentView.js:
322         * UserInterface/Views/LogContentView.js:
323         * UserInterface/Views/ResourceClusterContentView.js:
324         * UserInterface/Views/TimelineRecordingContentView.js:
325
326 2015-04-22  Timothy Hatcher  <timothy@apple.com>
327
328         Web Inspector: Support passing extra arguments to ContentViews during construction
329         https://bugs.webkit.org/show_bug.cgi?id=144055
330
331         This allows us to pass the TimelineSidebarPanel to Timeline views since in the future
332         there could be multiple timeline sidebars, one per tab. So the global instance will
333         be going away.
334
335         This also removes the exception catching in ContentViewContainer. It doesn't really
336         help us and it makes debugging an exception harder.
337
338         Reviewed by Joseph Pecoraro.
339
340         * UserInterface/Views/ContentBrowser.js:
341         (WebInspector.ContentBrowser.prototype.showContentViewForRepresentedObject):
342         (WebInspector.ContentBrowser.prototype.contentViewForRepresentedObject):
343         * UserInterface/Views/ContentView.js:
344         (WebInspector.ContentView):
345         * UserInterface/Views/ContentViewContainer.js:
346         (WebInspector.ContentViewContainer.prototype.contentViewForRepresentedObject):
347         (WebInspector.ContentViewContainer.prototype.showContentViewForRepresentedObject):
348         * UserInterface/Views/LayoutTimelineView.js:
349         (WebInspector.LayoutTimelineView.prototype._dataGridFiltersDidChange):
350         (WebInspector.LayoutTimelineView.prototype._treeElementSelected):
351         (WebInspector.LayoutTimelineView.prototype._closeStatusButtonClicked):
352         * UserInterface/Views/NetworkTimelineView.js:
353         (WebInspector.NetworkTimelineView.prototype._dataGridFiltersDidChange):
354         (WebInspector.NetworkTimelineView.prototype._treeElementSelected):
355         (WebInspector.NetworkTimelineView.prototype._closeStatusButtonClicked):
356         * UserInterface/Views/OverviewTimelineView.js:
357         (WebInspector.OverviewTimelineView.prototype._treeElementSelected):
358         (WebInspector.OverviewTimelineView.prototype._closeStatusButtonClicked):
359         * UserInterface/Views/RenderingFrameTimelineView.js:
360         (WebInspector.RenderingFrameTimelineView):
361         * UserInterface/Views/ScriptTimelineView.js:
362         (WebInspector.ScriptTimelineView):
363         (WebInspector.ScriptTimelineView.prototype._dataGridFiltersDidChange):
364         (WebInspector.ScriptTimelineView.prototype._treeElementSelected):
365         (WebInspector.ScriptTimelineView.prototype._closeStatusButtonClicked):
366         * UserInterface/Views/TimelineRecordingContentView.js:
367         (WebInspector.TimelineRecordingContentView):
368         (WebInspector.TimelineRecordingContentView.prototype._currentContentViewDidChange):
369         (WebInspector.TimelineRecordingContentView.prototype._contentViewSelectionPathComponentDidChange):
370         (WebInspector.TimelineRecordingContentView.prototype._updateTimes):
371         (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
372         * UserInterface/Views/TimelineSidebarPanel.js:
373         * UserInterface/Views/TimelineView.js:
374         (WebInspector.TimelineView):
375         (WebInspector.TimelineView.prototype.get timelineSidebarPanel):
376
377 2015-04-18  Timothy Hatcher  <timothy@apple.com>
378
379         Web Inspector: Disable global keyboard shortcuts for background tabs
380         https://bugs.webkit.org/show_bug.cgi?id=143918
381
382         Reviewed by Joseph Pecoraro.
383
384         * UserInterface/Views/ContentBrowser.js:
385         (WebInspector.ContentBrowser):
386         (WebInspector.ContentBrowser.prototype.shown): Added.
387         (WebInspector.ContentBrowser.prototype.hidden): Added.
388         Disable shortcuts on the browser and find banner.
389
390         * UserInterface/Views/ContentBrowserTabContentView.js:
391         (WebInspector.ContentBrowserTabContentView.prototype.shown): Added.
392         (WebInspector.ContentBrowserTabContentView.prototype.hidden): Added.
393         Tell the content browser we were shown or hidden.
394
395         * UserInterface/Views/FindBanner.js:
396         (WebInspector.FindBanner):
397         (WebInspector.FindBanner.prototype.show):
398         (WebInspector.FindBanner.prototype.enableKeyboardShortcuts): Added.
399         (WebInspector.FindBanner.prototype.disableKeyboardShortcuts): Added.
400         Support disabling or enabling the keyboard shortcuts.
401
402 2015-04-17  Timothy Hatcher  <timothy@apple.com>
403
404         Web Inspector: Add TabBrowser and TabContentView
405         https://bugs.webkit.org/show_bug.cgi?id=143886
406
407         Reviewed by Joseph Pecoraro.
408
409         * UserInterface/Images/Debugger.svg: Added.
410         * UserInterface/Images/Elements.svg: Added.
411         * UserInterface/Images/Gear.svg: Added.
412         * UserInterface/Images/NewTabPlus.svg: Added.
413         * UserInterface/Images/Resources.svg:
414         * UserInterface/Images/Timeline.svg: Added.
415         * UserInterface/Images/ToggleLeftSidebar.svg: Added.
416         * UserInterface/Images/ToggleRightSidebar.svg: Added.
417
418         * UserInterface/Views/ContentBrowserTabContentView.css: Added.
419         (.content-browser.tab.content-view > .content-browser):
420
421         * UserInterface/Views/ContentBrowserTabContentView.js: Added.
422         (WebInspector.ContentBrowserTabContentView):
423         (WebInspector.ContentBrowserTabContentView.prototype.get contentBrowser):
424         (WebInspector.ContentBrowserTabContentView.prototype.shown):
425         (WebInspector.ContentBrowserTabContentView.prototype.hidden):
426         (WebInspector.ContentBrowserTabContentView.prototype.closed):
427         (WebInspector.ContentBrowserTabContentView.prototype.updateLayout):
428         (WebInspector.ContentBrowserTabContentView.prototype.get managesDetailsSidebarPanels):
429         (WebInspector.ContentBrowserTabContentView.prototype.showDetailsSidebarPanels):
430         (WebInspector.ContentBrowserTabContentView.prototype.contentBrowserTreeElementForRepresentedObject):
431         (WebInspector.ContentBrowserTabContentView.prototype._navigationSidebarCollapsedStateDidChange):
432         (WebInspector.ContentBrowserTabContentView.prototype._detailsSidebarCollapsedStateDidChange):
433         (WebInspector.ContentBrowserTabContentView.prototype._detailsSidebarPanelSelected):
434         (WebInspector.ContentBrowserTabContentView.prototype._contentBrowserRepresentedObjectsDidChange):
435         (WebInspector.ContentBrowserTabContentView.prototype._contentBrowserCurrentContentViewDidChange):
436         (WebInspector.ContentBrowserTabContentView.prototype._revealAndSelectRepresentedObjectInNavigationSidebar):
437
438         * UserInterface/Views/DebuggerTabContentView.js: Added.
439         (WebInspector.DebuggerTabContentView):
440
441         * UserInterface/Views/ElementsTabContentView.js: Added.
442         (WebInspector.ElementsTabContentView):
443         (WebInspector.ElementsTabContentView.prototype._mainFrameDidChange):
444
445         * UserInterface/Views/ResourcesTabContentView.js: Added.
446         (WebInspector.ResourcesTabContentView):
447
448         * UserInterface/Views/SettingsTabContentView.js: Added.
449         (WebInspector.SettingsTabContentView):
450
451         * UserInterface/Views/TabBrowser.css: Added.
452         (.tab-browser):
453         (.tab-browser > .tab-bar):
454         (.tab-browser > .content-view-container):
455         (.tab-browser > .tab-bar + .content-view-container):
456
457         * UserInterface/Views/TabBrowser.js: Added.
458         (WebInspector.TabBrowser):
459         (WebInspector.TabBrowser.prototype.get tabBar):
460         (WebInspector.TabBrowser.prototype.get navigationSidebar):
461         (WebInspector.TabBrowser.prototype.get detailsSidebar):
462         (WebInspector.TabBrowser.prototype.get selectedTabContentView):
463         (WebInspector.TabBrowser.prototype.updateLayout):
464         (WebInspector.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
465         (WebInspector.TabBrowser.prototype.addTabForContentView):
466         (WebInspector.TabBrowser.prototype.showTabForContentView):
467         (WebInspector.TabBrowser.prototype.closeTabForContentView):
468         (WebInspector.TabBrowser.prototype._tabBarItemSelected):
469         (WebInspector.TabBrowser.prototype._sidebarPanelSelected):
470         (WebInspector.TabBrowser.prototype._sidebarCollapsedStateDidChange):
471         (WebInspector.TabBrowser.prototype._showNavigationSidebarPanelForTabContentView):
472         (WebInspector.TabBrowser.prototype._showDetailsSidebarPanelsForTabContentView):
473
474         * UserInterface/Views/TabContentView.js: Added.
475         (WebInspector.TabContentView):
476         (WebInspector.TabContentView.prototype.get parentTabBrowser):
477         (WebInspector.TabContentView.prototype.set parentTabBrowser):
478         (WebInspector.TabContentView.prototype.get tabBarItem):
479         (WebInspector.TabContentView.prototype.get managesDetailsSidebarPanels):
480         (WebInspector.TabContentView.prototype.showDetailsSidebarPanels):
481         (WebInspector.TabContentView.prototype.canShowRepresentedObject):
482         (WebInspector.TabContentView.prototype.get navigationSidebarPanel):
483         (WebInspector.TabContentView.prototype.get navigationSidebarCollapsedSetting):
484         (WebInspector.TabContentView.prototype.get detailsSidebarPanels):
485         (WebInspector.TabContentView.prototype.get detailsSidebarCollapsedSetting):
486         (WebInspector.TabContentView.prototype.get detailsSidebarSelectedPanelSetting):
487
488         * UserInterface/Views/TimelineTabContentView.js: Added.
489         (WebInspector.TimelineTabContentView):
490
491 2015-04-06  Timothy Hatcher  <timothy@apple.com>
492
493         Web Inspector: Add a WebInspector.TabBar class
494         https://bugs.webkit.org/show_bug.cgi?id=143442
495
496         Reviewed by Joseph Pecoraro.
497
498         * UserInterface/Main.html:
499         Added new files.
500
501         * UserInterface/Protocol/InspectorFrontendHostStub.js:
502         (window.Symbol):
503         (WebInspector.InspectorFrontendHostStub.prototype.showContextMenu):
504         Added some stubs needed to work standalone.
505
506         * UserInterface/Views/TabBar.css: Added.
507         (.tab-bar):
508         (body.window-inactive .tab-bar):
509         (.tab-bar > .top-border):
510         (body.window-inactive .tab-bar > .top-border):
511         (.tab-bar > .item):
512         (.tab-bar > :nth-child(n + 2 of .item)):
513         (.tab-bar > .item.pinned):
514         (.tab-bar > .item.selected):
515         (.tab-bar > .item.new-tab-button:hover):
516         (.tab-bar:not(.animating) > .item:not(.selected):hover + .item):
517         (body.window-inactive .tab-bar > .item):
518         (body.window-inactive .tab-bar > .item.selected):
519         (.tab-bar > .item > .close):
520         (body:not(.window-inactive) .tab-bar:not(.single-tab) > .item:hover > .close):
521         (.tab-bar.single-tab > .item > .close):
522         (.tab-bar > .item > .close:hover):
523         (.tab-bar > .item > .close:active):
524         (.tab-bar > .item > .flex-space):
525         (.tab-bar > .item > .flex-space:last-child):
526         (.tab-bar > .item > .icon):
527         (.tab-bar > .item.selected > .icon):
528         (.tab-bar > .item.new-tab-button:hover > .icon):
529         (.tab-bar > .item > .title):
530         (.tab-bar > .item > .title > .content):
531         (.tab-bar:not(.animating) > .item:not(.selected):hover > .title):
532         (.tab-bar > .item.selected > .title):
533         (.tab-bar.collapsed > .item):
534         (.tab-bar.collapsed > .item > .flex-space):
535         (.tab-bar.collapsed > .item > .close):
536         (.tab-bar.hide-titles > .item > .title):
537         (.tab-bar.hide-titles > .item.selected:hover > .icon):
538         (.tab-bar.hide-titles > .item.selected:hover > .close):
539         (.tab-bar.static-layout):
540         (.tab-bar.static-layout > .item):
541         (.tab-bar.animating.closing-tab > .item):
542         (.tab-bar.animating:matches(.expanding-tabs, .inserting-tab) > .item):
543         (.tab-bar.animating.inserting-tab > .item.being-inserted):
544         (.tab-bar.animating.closing-tab > .item.selected):
545         (body.window-inactive .tab-bar.animating.closing-tab > .item.selected):
546         (.tab-bar.dragging-tab > .item.selected):
547
548         * UserInterface/Views/TabBar.js: Added.
549         (WebInspector.TabBar):
550         (WebInspector.TabBar.prototype.get newTabItem):
551         (WebInspector.TabBar.prototype.set newTabItem):
552         (WebInspector.TabBar.prototype.addTabBarItem):
553         (WebInspector.TabBar.prototype.insertTabBarItem.animateTabs):
554         (WebInspector.TabBar.prototype.insertTabBarItem.removeStyles):
555         (WebInspector.TabBar.prototype.insertTabBarItem):
556         (WebInspector.TabBar.prototype.insertTabBarItem.set else):
557         (WebInspector.TabBar.prototype.insertTabBarItem.set this):
558         (WebInspector.TabBar.animateTabs.get if):
559         (WebInspector.TabBar.animateTabs):
560         (WebInspector.TabBar.removeStyles):
561         (WebInspector.TabBar.prototype.insertTabBarItem):
562         (WebInspector.TabBar.prototype.updateLayoutSoon.update):
563         (WebInspector.TabBar.prototype.updateLayoutSoon):
564         (WebInspector.TabBar.prototype.updateLayout):
565         (WebInspector.TabBar.prototype.get selectedTabBarItem):
566         (WebInspector.TabBar.prototype.set selectedTabBarItem):
567         (WebInspector.TabBar.prototype.get tabBarItems):
568         (WebInspector.TabBar.prototype.get element):
569         (WebInspector.TabBar.prototype._findTabBarItem):
570         (WebInspector.TabBar.prototype._hasMoreThanOneNormalTab):
571         (WebInspector.TabBar.prototype._recordTabBarItemSizesAndPositions):
572         (WebInspector.TabBar.prototype._clearTabBarItemSizesAndPositions):
573         (WebInspector.TabBar.prototype._finishExpandingTabsAfterClose.):
574         (WebInspector.TabBar.prototype._finishExpandingTabsAfterClose):
575         (WebInspector.TabBar.prototype._handleMouseDown):
576         (WebInspector.TabBar.prototype._handleMouseMoved):
577         (WebInspector.TabBar.prototype._handleMouseUp):
578         (WebInspector.TabBar.prototype._handleMouseLeave):
579         (WebInspector.TabBar.prototype._handleNewTabMouseEnter):
580
581         * UserInterface/Views/TabBarItem.js: Added.
582         (WebInspector.TabBarItem):
583         (WebInspector.TabBarItem.prototype.get identifier):
584         (WebInspector.TabBarItem.prototype.get element):
585         (WebInspector.TabBarItem.prototype.get parentTabBar):
586         (WebInspector.TabBarItem.prototype.set parentTabBar):
587         (WebInspector.TabBarItem.prototype.get selected):
588         (WebInspector.TabBarItem.prototype.set selected):
589         (WebInspector.TabBarItem.prototype.get pinned):
590         (WebInspector.TabBarItem.prototype.get image):
591         (WebInspector.TabBarItem.prototype.set image):
592         (WebInspector.TabBarItem.prototype.get title):
593         (WebInspector.TabBarItem.prototype.set title):
594         (WebInspector.TabBarItem.prototype.updateLayout):
595
596 2015-04-25  Timothy Hatcher  <timothy@apple.com>
597
598         Web Inspector: Make closing ContentViews more leak proof
599         https://bugs.webkit.org/show_bug.cgi?id=144200
600
601         Remove all listeners on the target objects in close that match the this object.
602         This makes things more foolproof when something changes or a new listener is
603         added to the same object. TimelineRecordingContentView also had a leak where
604         TimelineManager and DebuggerManager listeners were not being removed.
605
606         Reviewed by Joseph Pecoraro.
607
608         * UserInterface/Views/ApplicationCacheFrameContentView.js:
609         (WebInspector.ApplicationCacheFrameContentView.prototype.closed):
610         * UserInterface/Views/ClusterContentView.js:
611         (WebInspector.ClusterContentView.prototype.closed):
612         * UserInterface/Views/ContentFlowDOMTreeContentView.js:
613         (WebInspector.ContentFlowDOMTreeContentView.prototype.closed):
614         * UserInterface/Views/FrameDOMTreeContentView.js:
615         (WebInspector.FrameDOMTreeContentView.prototype.closed):
616         * UserInterface/Views/ResourceContentView.js:
617         (WebInspector.ResourceContentView.prototype.closed):
618         * UserInterface/Views/TextResourceContentView.js:
619         (WebInspector.TextResourceContentView.prototype.closed):
620         * UserInterface/Views/TimelineRecordingContentView.js:
621         (WebInspector.TimelineRecordingContentView.prototype.closed):
622
623 2015-04-25  Timothy Hatcher  <timothy@apple.com>
624
625         Web Inspector: Make closing ContentViews more leak proof
626         https://bugs.webkit.org/show_bug.cgi?id=144200
627
628         Remove all listeners on the target objects in close that match the this object.
629         This makes things more foolproof when something changes or a new listener is
630         added to the same object. TimelineRecordingContentView also had a leak where
631         TimelineManager and DebuggerManager listeners were not being removed.
632
633         Reviewed by Darin Adler.
634
635         * UserInterface/Views/ApplicationCacheFrameContentView.js:
636         (WebInspector.ApplicationCacheFrameContentView.prototype.closed):
637         * UserInterface/Views/ClusterContentView.js:
638         (WebInspector.ClusterContentView.prototype.closed):
639         * UserInterface/Views/ContentFlowDOMTreeContentView.js:
640         (WebInspector.ContentFlowDOMTreeContentView.prototype.closed):
641         * UserInterface/Views/FrameDOMTreeContentView.js:
642         (WebInspector.FrameDOMTreeContentView.prototype.closed):
643         * UserInterface/Views/ResourceContentView.js:
644         (WebInspector.ResourceContentView.prototype.closed):
645         * UserInterface/Views/TextResourceContentView.js:
646         (WebInspector.TextResourceContentView.prototype.closed):
647         * UserInterface/Views/TimelineRecordingContentView.js:
648         (WebInspector.TimelineRecordingContentView.prototype.closed):
649
650 2015-04-25  Tobias Reiss  <tobi+webkit@basecode.de>
651
652         Web Inspector: assertion failure when editing inline styles
653         https://bugs.webkit.org/show_bug.cgi?id=143939
654
655         Reviewed by Timothy Hatcher.
656
657         Prevent "_updateResourceContent" from being called on inline style changes.
658         Introduce a flag that marks a CSSStyleSheet as a representation of an
659         "ElementCSSInlineStyle" (DOM Level 2 spec) and return early.
660
661         * UserInterface/Controllers/CSSStyleManager.js:
662         (WebInspector.CSSStyleManager.prototype.styleSheetChanged):
663         * UserInterface/Models/CSSStyleSheet.js:
664         (WebInspector.CSSStyleSheet):
665         (WebInspector.CSSStyleSheet.isInlineStyle):
666         (WebInspector.CSSStyleSheet.prototype.markAsInlineStyle):
667         * UserInterface/Models/DOMNodeStyles.js:
668         (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
669
670 2015-04-24  Timothy Hatcher  <timothy@apple.com>
671
672         REGRESSION: Web Inspector: Start Timeline Recording in Develop menu broken
673         https://bugs.webkit.org/show_bug.cgi?id=144150
674
675         Reviewed by Brian Burg.
676
677         * UserInterface/Protocol/InspectorFrontendAPI.js:
678         (InspectorFrontendAPI.setTimelineProfilingEnabled): Change !== to === when
679         checking enabled to isCapturing().
680
681 2015-04-23  Brian J. Burg  <burg@cs.washington.edu>
682
683         Web Inspector: run a customizable bootstrap function after the UI has fully loaded
684         https://bugs.webkit.org/show_bug.cgi?id=144124
685
686         Reviewed by Joseph Pecoraro.
687
688         It can be really annoying to click through the Inspector UI dozens of times to debug one
689         interaction or iterate on a specific widget.
690
691         This patch adds a blank "bootstrap" function that can be used to hard-wire commands to
692         automate repetitive UI state setup. The function is run immediately after the inspector loads.
693         Setup commands can be shared as bug report reproduction steps.
694
695         * UserInterface/Base/Bootstrap.js: Added.
696         (WebInspector.runBootstrapOperations): Added.
697         * UserInterface/Base/Main.js:
698         (WebInspector.contentLoaded): Bootstrap after setting up everything and restoring view state from cookie.
699         * UserInterface/Main.html:
700
701 2015-04-23  Joseph Pecoraro  <pecoraro@apple.com>
702
703         Web Inspector: Adopt Object.assign and improve its display in Console
704         https://bugs.webkit.org/show_bug.cgi?id=144135
705
706         Reviewed by Darin Adler.
707
708         * UserInterface/Models/NativeFunctionParameters.js:
709
710 2015-04-23  Timothy Hatcher  <timothy@apple.com>
711
712         Web Inspector: DebuggerSidebarPanel's _callStackContentTreeOutline should suppress filtering
713         https://bugs.webkit.org/show_bug.cgi?id=144114
714
715         Reviewed by Joseph Pecoraro.
716
717         * UserInterface/Views/DebuggerSidebarPanel.js:
718         (WebInspector.DebuggerSidebarPanel):
719
720 2015-04-23  Timothy Hatcher  <timothy@apple.com>
721
722         Web Inspector: Fix layering issues with ApplicationCacheFrameTreeElement
723         https://bugs.webkit.org/show_bug.cgi?id=144113
724
725         Reviewed by Joseph Pecoraro.
726
727         * UserInterface/Views/ApplicationCacheFrameTreeElement.js:
728         (WebInspector.ApplicationCacheFrameTreeElement.prototype.updateTitles):
729         (WebInspector.ApplicationCacheFrameTreeElement):
730
731 2015-04-22  Matt Baker  <mattbaker@apple.com>
732
733         Web Inspector: clicking Timelines tree view nodes should not change the current content view
734         https://bugs.webkit.org/show_bug.cgi?id=132202
735
736         Reviewed by Brian Burg.
737
738         TimelineSidebarPanel now prevents timeline views from switching to another content view while the content
739         browser is showing the TimelineRecordingContentView. Code responsible for creating and updating the tree
740         element close button, which was duplicated in multiple derived TimelineView classes, has been moved to the
741         TimelineView base class.
742
743         * UserInterface/Views/LayoutTimelineView.js:
744         Updated name of location column, which was broken in a recent patch.
745         (WebInspector.LayoutTimelineView.prototype.treeElementDeselected):
746         (WebInspector.LayoutTimelineView.prototype.treeElementSelected):
747         Added overrides of new base class methods to handle view-specific highlight logic.
748         (WebInspector.LayoutTimelineView.prototype._treeElementDeselected): Deleted.
749         (WebInspector.LayoutTimelineView.prototype._treeElementSelected): Deleted.
750         (WebInspector.LayoutTimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
751         (WebInspector.LayoutTimelineView.prototype._closeStatusButtonClicked): Deleted.
752         Removed tree element close button logic.
753
754         * UserInterface/Views/NetworkTimelineView.js:
755         (WebInspector.NetworkTimelineView.prototype.showContentViewForTreeElement):
756         (WebInspector.NetworkTimelineView.prototype.treeElementSelected):
757         Added overrides of new base class methods.
758         (WebInspector.NetworkTimelineView.prototype._treeElementDeselected): Deleted.
759         (WebInspector.NetworkTimelineView.prototype._treeElementSelected): Deleted.
760         Removed tree element close button logic.
761
762         * UserInterface/Views/RenderingFrameTimelineView.js:
763         (WebInspector.RenderingFrameTimelineView.prototype.showContentViewForTreeElement):
764         (WebInspector.RenderingFrameTimelineView.prototype.treeElementSelected):
765         Added overrides of new base class methods.
766
767         * UserInterface/Views/ResourceTimelineDataGridNode.js:
768         (WebInspector.ResourceTimelineDataGridNode.prototype.get data):
769         (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):
770         Removed unused Name column and added "go to" button to the Domain column to show the selected resource.
771
772         * UserInterface/Views/ScriptTimelineView.js:
773         (WebInspector.ScriptTimelineView):
774         (WebInspector.ScriptTimelineView.prototype.showContentViewForTreeElement):
775         (WebInspector.ScriptTimelineView.prototype.treeElementSelected):
776         Added overrides of new base class methods.
777         (WebInspector.ScriptTimelineView.prototype._dataGridNodeSelected):
778         (WebInspector.ScriptTimelineView.prototype._treeElementDeselected): Deleted.
779         (WebInspector.ScriptTimelineView.prototype._treeElementSelected): Deleted.
780         (WebInspector.ScriptTimelineView.prototype._updateTreeElementWithCloseButton): Deleted.
781         (WebInspector.ScriptTimelineView.prototype._closeStatusButtonClicked): Deleted.
782         Removed tree element close button logic.
783
784         * UserInterface/Views/TimelineSidebarPanel.js:
785         (WebInspector.TimelineSidebarPanel.showTimelineViewForTimeline.this._timelineTreeElementMap.get select):
786         Prevent navigating to a different content view when showing the TimelineRecordingContentView.
787
788         * UserInterface/Views/TimelineView.js:
789         (WebInspector.TimelineView):
790         (WebInspector.TimelineView.prototype.showContentViewForTreeElement):
791         (WebInspector.TimelineView.prototype.treeElementDeselected):
792         (WebInspector.TimelineView.prototype.treeElementSelected):
793         Tree element selection handlers are now protected methods, which derived classes may override as needed.
794         (WebInspector.TimelineView.prototype.needsLayout):
795         (WebInspector.TimelineView.prototype._closeStatusButtonClicked):
796         (WebInspector.TimelineView.prototype._updateTreeElementWithCloseButton):
797         Encapsulated logic related to close button creation and behavior.
798
799 2015-04-22  Timothy Hatcher  <timothy@apple.com>
800
801         Web Inspector: Remove an unused index argument from Sidebar.removeSidebarPanel
802         https://bugs.webkit.org/show_bug.cgi?id=144054
803
804         Reviewed by Darin Adler.
805
806         * UserInterface/Views/Sidebar.js:
807
808 2015-04-22  Timothy Hatcher  <timothy@apple.com>
809
810         Web Inspector: Fix an exception preventing switching timelines
811         https://bugs.webkit.org/show_bug.cgi?id=144053
812
813         Reviewed by Darin Adler.
814
815         * UserInterface/Views/TreeOutline.js:
816         (WebInspector.TreeElement.prototype.select): Store treeOutline in a local so
817         we have a reference to it when we go to reset processingSelectionChange.
818         The calls to onselect was removing the tree element from the outline, causing
819         "delete this.treeOutline.processingSelectionChange" to throw an exception.
820         This patch changes the delete to a set to false for good measure too.
821
822 2015-04-21  Joseph Pecoraro  <pecoraro@apple.com>
823
824         Web Inspector: Use String.prototype.startsWith in more places
825         https://bugs.webkit.org/show_bug.cgi?id=144025
826
827         Reviewed by Timothy Hatcher.
828
829         * UserInterface/Models/Gradient.js:
830         * UserInterface/Views/DebuggerSidebarPanel.js:
831         (WebInspector.DebuggerSidebarPanel.prototype._scriptAdded):
832         * UserInterface/Views/ResourceSidebarPanel.js:
833         (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
834
835 2015-04-21  Nikita Vasilyev  <nvasilyev@apple.com>
836
837         Web Inspector: Make formatted nodes more consistent with formatted objects
838         https://bugs.webkit.org/show_bug.cgi?id=142159
839
840         Reviewed by Timothy Hatcher.
841
842         * UserInterface/Views/DOMTreeOutline.css:
843         (.dom-tree-outline ol):
844         Keep indentation exactly two spaces of Menlo.
845
846         (.dom-tree-outline li):
847         (.dom-tree-outline li.parent):
848         (.dom-tree-outline li .html-tag.close):
849         (.dom-tree-outline li.parent::before):
850         (.dom-tree-outline:focus li.parent.selected::before):
851         (.dom-tree-outline li.parent.expanded::before):
852         (.dom-tree-outline:focus li.parent.expanded.selected::before):
853         * UserInterface/Views/FormattedValue.css:
854         (.formatted-node > .dom-tree-outline ol):
855         Keep indentation exactly two spaces of Menlo.
856
857         * UserInterface/Views/ObjectTreePropertyTreeElement.css:
858         (.object-tree-property > .disclosure-button):
859         Disclosure triangle is 13 by 13 pixels. Having it in the middle of 16 by 16
860         pixels block makes it look bloory on non-retina screen, because:
861         (16 - 13) / 2 = 1.5px. Replacing 16 with 15 fixes the problem.
862
863         * UserInterface/Views/ObjectTreeView.css:
864         (.object-tree:not(.lossless-preview) > :matches(.title, .object-preview)):
865
866 2015-04-20  Joseph Pecoraro  <pecoraro@apple.com>
867
868         Web Inspector: Unify PrettyPrinting Tool and UserInterface resources
869         https://bugs.webkit.org/show_bug.cgi?id=143969
870
871         Reviewed by Timothy Hatcher.
872
873         Have the PrettyPrinting tool just use the CodeMirror and WebInspector
874         resources from the relative UserInterface directory. This avoids
875         having duplicate resources in the tree which offered few advantages.
876
877         * Scripts/update-pretty-printer.rb: Removed.
878         * Tools/PrettyPrinting/CodeMirrorFormatters.js: Removed.
879         * Tools/PrettyPrinting/Formatter.js: Removed.
880         * Tools/PrettyPrinting/FormatterContentBuilder.js: Removed.
881         * Tools/PrettyPrinting/codemirror.css: Removed.
882         * Tools/PrettyPrinting/codemirror.js: Removed.
883         * Tools/PrettyPrinting/css.js: Removed.
884         * Tools/PrettyPrinting/index.html:
885         * Tools/PrettyPrinting/javascript.js: Removed.
886
887         * UserInterface/Views/CodeMirrorFormatters.js:
888         Fix style issues.
889
890 2015-04-20  Joseph Pecoraro  <pecoraro@apple.com>
891
892         Web Inspector: Improve Support for WeakSet in Console
893         https://bugs.webkit.org/show_bug.cgi?id=143951
894
895         Reviewed by Darin Adler.
896
897         * UserInterface/Models/NativeFunctionParameters.js:
898         WeakSet has the same APIs and parameters as Set for the functions it implements.
899
900         * UserInterface/Protocol/RemoteObject.js:
901         (WebInspector.RemoteObject.prototype.isCollectionType):
902         (WebInspector.RemoteObject.prototype.isWeakCollection):
903         (WebInspector.RemoteObject.prototype.getCollectionEntries):
904         (WebInspector.RemoteObject.prototype._weakCollectionObjectGroup):
905         WeakSet is a weak collection.
906
907         * UserInterface/Models/ObjectPreview.js:
908         (WebInspector.ObjectPreview.prototype.hasSize):
909         * UserInterface/Views/ConsoleMessageView.js:
910         (WebInspector.ConsoleMessageView.prototype._formatParameter):
911         * UserInterface/Views/FormattedValue.css:
912         (.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap, .formatted-weakset):
913         (:matches(.formatted-array, .formatted-map, .formatted-set, .formatted-weakmap, .formatted-weakset) > .size):
914         (.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap): Deleted.
915         (:matches(.formatted-array, .formatted-map, .formatted-set, .formatted-weakmap) > .size): Deleted.
916         * UserInterface/Views/FormattedValue.js:
917         (WebInspector.FormattedValue.createElementForTypesAndValue):
918         Treat a WeakSet like a set in more places.
919
920 2015-04-18  Nikita Vasilyev  <nvasilyev@apple.com>
921
922         Web Inspector: Pass multiple arguments to classList.add and classList.remove
923         https://bugs.webkit.org/show_bug.cgi?id=143914
924
925         classList.add and classList.remove can accept multiple arguments, use that.
926
927         Reviewed by Timothy Hatcher.
928
929         * UserInterface/Base/Main.js:
930         (WebInspector.updateDockedState):
931         * UserInterface/Views/DOMTreeDataGrid.js:
932         (WebInspector.DOMTreeDataGrid):
933         * UserInterface/Views/DOMTreeOutline.js:
934         (WebInspector.DOMTreeOutline):
935         * UserInterface/Views/DataGrid.js:
936         (WebInspector.DataGridNode.prototype.set hasChildren):
937         * UserInterface/Views/DatabaseContentView.js:
938         (WebInspector.DatabaseContentView):
939         * UserInterface/Views/DetailsSection.js:
940         (WebInspector.DetailsSection):
941         * UserInterface/Views/DetailsSectionPropertiesRow.js:
942         (WebInspector.DetailsSectionPropertiesRow):
943         * UserInterface/Views/GeneralTreeElement.js:
944         (WebInspector.GeneralTreeElement.prototype.set classNames):
945         * UserInterface/Views/NavigationItem.js:
946         (WebInspector.NavigationItem):
947         * UserInterface/Views/ResourceContentView.js:
948         (WebInspector.ResourceContentView):
949         * UserInterface/Views/ResourceTimelineDataGridNode.js:
950         (WebInspector.ResourceTimelineDataGridNode.prototype.createCellContent):
951         * UserInterface/Views/Sidebar.js:
952         (WebInspector.Sidebar):
953         * UserInterface/Views/SidebarPanel.js:
954         (WebInspector.SidebarPanel):
955         * UserInterface/Views/SourceCodeTextEditor.js:
956         * UserInterface/Views/TextEditor.js:
957         (WebInspector.TextEditor):
958         * UserInterface/Views/TimelineRuler.js:
959
960 2015-04-18  Nikita Vasilyev  <nvasilyev@apple.com>
961
962         Web Inspector: Make prototype pill’s background semi-transparent
963         https://bugs.webkit.org/show_bug.cgi?id=143928
964
965         Reviewed by Timothy Hatcher.
966
967         * UserInterface/Views/ObjectTreePropertyTreeElement.css:
968         (.object-tree-property.prototype-property):
969
970         (.object-tree-property.prototype-property:hover, .object-tree-property.prototype-property:focus):
971         Slightly highlight the prototype pill when hovering over.
972
973 2015-04-17  Jono Wells  <jonowells@apple.com>
974
975         Web Inspector: All sans-serif font family rules should be set the same way.
976         https://bugs.webkit.org/show_bug.cgi?id=143909
977
978         Reviewed by Timothy Hatcher.
979
980         Update styles so that all uses of sans-serif font use -webkit-system-font consistently.
981
982         * UserInterface/Views/DefaultDashboardView.css:
983         (body.mac-platform.legacy .toolbar .dashboard.default > .item):
984         * UserInterface/Views/ObjectTreePropertyTreeElement.css:
985         (.object-tree-property .prototype-name):
986         * UserInterface/Views/ObjectTreeView.css:
987         (.object-tree-outline li .empty-message):
988         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
989         (.timeline-overview-graph.rendering-frame > .divider > .label):
990
991 2015-04-17  Timothy Hatcher  <timothy@apple.com>
992
993         Web Inspector: Have better inactive window color for pixel borders
994         https://bugs.webkit.org/show_bug.cgi?id=143888
995
996         Reviewed by Joseph Pecoraro.
997
998         * UserInterface/Views/FindBanner.css:
999         (body.window-inactive .find-banner):
1000         * UserInterface/Views/Main.css:
1001         (body.window-inactive.docked.bottom):
1002         (body.window-inactive.docked.right):
1003         (body.window-inactive #split-content-browser):
1004         * UserInterface/Views/NavigationBar.css:
1005         (body.window-inactive .navigation-bar):
1006         * UserInterface/Views/QuickConsole.css:
1007         (body.window-inactive .quick-console):
1008         (.quick-console.showing-log):
1009         * UserInterface/Views/Sidebar.css:
1010         (body.window-inactive .sidebar.left):
1011         (body.window-inactive .sidebar.right):
1012
1013 2015-04-17  Joseph Pecoraro  <pecoraro@apple.com>
1014
1015         Web Inspector: Unexpected background at top of console when rubber-banding with selection
1016         https://bugs.webkit.org/show_bug.cgi?id=140710
1017
1018         Reviewed by Timothy Hatcher.
1019
1020         * UserInterface/Views/LogContentView.css:
1021         (.console-messages):
1022         Remove the focus ring on the console's log view, only visible when rubber-banding.
1023
1024 2015-04-16  Jono Wells  <jonowells@apple.com>
1025
1026         Web Inspector: Breakpoint icons should not get pushed off of debugger sidebar due to long resource names
1027         https://bugs.webkit.org/show_bug.cgi?id=142714
1028
1029         Reviewed by Timothy Hatcher.
1030
1031         Modify the styles for content and group containers inside the debugger sidebar panel's detail sections
1032         such that the rules "display: table" and "display: table-row-group" no longer apply. This will make
1033         the file names which use the rule "text-overflow: ellipsis" truncate as expected.
1034
1035         * UserInterface/Views/DebuggerSidebarPanel.css:
1036         (.sidebar > .panel.navigation.debugger .details-section > .content):
1037         (.sidebar > .panel.navigation.debugger .details-section.collapsed > .content):
1038         (.sidebar > .panel.navigation.debugger .details-section > .content > .group):
1039         (.sidebar > .panel.navigation.debugger .details-section.scripts):
1040         (.sidebar > .panel.navigation.debugger .details-section.scripts .header):
1041         (.sidebar > .panel.navigation.debugger .details-section.scripts.collapsed > .content):
1042
1043 2015-04-16  Joseph Pecoraro  <pecoraro@apple.com>
1044
1045         Web Inspector: Should include "Log Value" context menu item in Preview and Collapsed ObjectTree
1046         https://bugs.webkit.org/show_bug.cgi?id=143845
1047
1048         Reviewed by Timothy Hatcher.
1049
1050         Give previews the same "Log Value" context menu so that if you just log
1051         a bunch of objects to the console you can quickly turn that entire object
1052         into a $n reference in the console to interact with.
1053
1054         * UserInterface/Views/ObjectPreviewView.js:
1055         (WebInspector.ObjectPreviewView.prototype.setOriginatingObjectInfo):
1056         (WebInspector.ObjectPreviewView.prototype._contextMenuHandler):
1057         Provide API to refer to a RemoteObject and optional PropertyPath
1058         that can be used to give the preview a "Log Value" context menu.
1059
1060         * UserInterface/Views/ConsoleMessageView.js:
1061         (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
1062         Include the RemoteObject without a path for a preview context menu.
1063
1064         * UserInterface/Views/ObjectTreeView.js:
1065         (WebInspector.ObjectTreeView):
1066         Include the RemoteObject with a path if we knew it for a preview context menu.
1067
1068         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
1069         (WebInspector.ObjectTreeBaseTreeElement.prototype.createGetterElement):
1070         The context menu can never be empty, since we always added at least one item above.
1071
1072
1073 2015-04-16  Joseph Pecoraro  <pecoraro@apple.com>
1074
1075         Web Inspector: "Log Value" of a value inside of an array, does not log the innermost value
1076         https://bugs.webkit.org/show_bug.cgi?id=143793
1077
1078         Reviewed by Brian Burg.
1079
1080         Context menu handlers were being handled in the capturing event phase, so
1081         the outer most handler, instead of the inner most handler, was getting
1082         first access. Change this so the events happen in the bubbling phase.
1083
1084         DOM Nodes may appear inside of Object Trees, for instance when shown
1085         in a collection like an array or set. In an effort to standardize on
1086         "inner most" behavior, change the DOMTreeOutline context handler
1087         to also be in bubbling.
1088
1089         In the rare instances where a node object is in the console but
1090         not displayed in an outline (console.dir(node)), then include a
1091         Copy as HTML context menu like you would expect in a DOM tree.
1092
1093         * UserInterface/Views/DOMTreeOutline.js:
1094         (WebInspector.DOMTreeOutline):
1095         * UserInterface/Views/GeneralTreeElement.js:
1096         (WebInspector.GeneralTreeElement.prototype.onattach):
1097         (WebInspector.GeneralTreeElement.prototype.ondetach):
1098         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
1099         (WebInspector.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
1100         (WebInspector.ObjectTreeBaseTreeElement):
1101
1102 2015-04-16  Joseph Pecoraro  <pecoraro@apple.com>
1103
1104         Web Inspector: Allow toggling the edibility of a DOMTreeOutline
1105         https://bugs.webkit.org/show_bug.cgi?id=143814
1106
1107         Reviewed by Brian Burg.
1108
1109         By default a DOMTreeOutline will not be editable, but it will
1110         provide a setter to enable editability for DOMTreeContentViews.
1111
1112         * UserInterface/Views/DOMTreeContentView.js:
1113         (WebInspector.DOMTreeContentView):
1114         Content Views always have editable DOM trees.
1115
1116         * UserInterface/Views/DOMTreeElement.js:
1117         (WebInspector.DOMTreeElement.prototype.get editable):
1118         (WebInspector.DOMTreeElement.prototype.onattach):
1119         (WebInspector.DOMTreeElement.prototype.ondelete):
1120         (WebInspector.DOMTreeElement.prototype.onenter):
1121         (WebInspector.DOMTreeElement.prototype.ondblclick):
1122         (WebInspector.DOMTreeElement.prototype._populateTagContextMenu):
1123         (WebInspector.DOMTreeElement.prototype._populateTextContextMenu):
1124         (WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
1125         (WebInspector.DOMTreeElement.prototype._startEditing):
1126         Do not provide editability options for shadow DOM or non-editable DOM tree.
1127
1128         * UserInterface/Views/DOMTreeOutline.js:
1129         (WebInspector.DOMTreeOutline):
1130         (WebInspector.DOMTreeOutline.prototype.get editable):
1131         (WebInspector.DOMTreeOutline.prototype.set editable):
1132         New state.
1133
1134         * UserInterface/Views/FormattedValue.css:
1135         (.formatted-node > .dom-tree-outline li):
1136         Nodes inside object trees were showing text selection when you right
1137         clicked them. Normal selection is not possible. So force no selection.
1138
1139 2015-04-16  Joseph Pecoraro  <pecoraro@apple.com>
1140
1141         Web Inspector: Give DOM Nodes a Context Menu to Log Element to the console
1142         https://bugs.webkit.org/show_bug.cgi?id=143813
1143
1144         Reviewed by Brian Burg.
1145
1146         Always give DOM Nodes a "Log Element" context menu to log it to the console.
1147         This will give a $n reference, and is a convenient alternative to $0 or
1148         the now removed $1-$9.
1149
1150         * Localizations/en.lproj/localizedStrings.js:
1151         New "Log Element" and "Selected Element" strings.
1152
1153         * UserInterface/Views/DOMTreeOutline.js:
1154         (WebInspector.DOMTreeOutline):
1155         (WebInspector.DOMTreeOutline.prototype._contextMenuEventFired):
1156         (WebInspector.DOMTreeOutline.prototype._updateModifiedNodes):
1157         (WebInspector.DOMTreeOutline.prototype._populateContextMenu.revealElement):
1158         (WebInspector.DOMTreeOutline.prototype._populateContextMenu.logElement):
1159         (WebInspector.DOMTreeOutline.prototype._populateContextMenu):
1160         Always include the "Log Element" context menu/
1161
1162         * UserInterface/Views/FormattedValue.js:
1163         (WebInspector.FormattedValue.createElementForNode):
1164         This uses all the defaults.
1165
1166         * UserInterface/Views/DOMTreeContentView.js:
1167         (WebInspector.DOMTreeContentView):
1168         This enables all the extra behavior.
1169
1170 2015-04-16  Joseph Pecoraro  <pecoraro@apple.com>
1171
1172         Web Inspector: Remove unnecessary intermediate object from DOMTreeOutline
1173         https://bugs.webkit.org/show_bug.cgi?id=143811
1174
1175         Reviewed by Brian Burg.
1176
1177         * UserInterface/Views/DOMTreeOutline.js:
1178         (WebInspector.DOMTreeOutline):
1179         (WebInspector.DOMTreeOutline.prototype._selectedNodeChanged):
1180         (WebInspector.DOMTreeOutline.prototype.addEventListener): Deleted.
1181         (WebInspector.DOMTreeOutline.prototype.removeEventListener): Deleted.
1182         This object used to be used to handle event dispatching, but
1183         TreeOutlines themselves are now WebInspector.Objects so we
1184         can remove the intermediary.
1185
1186 2015-04-15  Joseph Pecoraro  <pecoraro@apple.com>
1187
1188         Web Inspector: InspectorTest frontend console methods redirected to the frontend are wrong
1189         https://bugs.webkit.org/show_bug.cgi?id=143801
1190
1191         Reviewed by Brian Burg.
1192
1193         * UserInterface/Base/Test.js:
1194         (InspectorTest.evaluateInPage):
1195         Properly if check for the existence of an agent.
1196
1197         (global):
1198         Properly hook up console redirect handlers so they
1199         will output the right type and arguments strings.
1200
1201 2015-04-15  Joseph Pecoraro  <pecoraro@apple.com>
1202
1203         Web Inspector: Handle all possible Console message Source types in IssueMessage
1204         https://bugs.webkit.org/show_bug.cgi?id=143803
1205
1206         Reviewed by Brian Burg.
1207
1208         * UserInterface/Models/IssueMessage.js:
1209         (WebInspector.IssueMessage):
1210         Update the switch to handle all possible console message sources.
1211         "wml" was legacy and no longer supported.
1212
1213 2015-04-14  Joseph Pecoraro  <pecoraro@apple.com>
1214
1215         Web Inspector: Uncaught exception in JSContext inspector when opening
1216         https://bugs.webkit.org/show_bug.cgi?id=143741
1217
1218         Reviewed by Timothy Hatcher.
1219
1220         * UserInterface/Controllers/TimelineManager.js:
1221         (WebInspector.TimelineManager.shouldShowViewForTimeline):
1222         (WebInspector.TimelineManager.prototype._loadNewRecording):
1223         Before using TimelineAgent, check for its existence first. It may
1224         not exist in JSContext inspection.
1225
1226 2015-04-14  Nikita Vasilyev  <nvasilyev@apple.com>
1227
1228         Web Inspector: Align array's indices and set's bullet points under the property icon
1229         https://bugs.webkit.org/show_bug.cgi?id=143698
1230
1231         Reviewed by Timothy Hatcher.
1232
1233         * UserInterface/Views/ObjectTreeMapEntryTreeElement.css:
1234         (.object-tree-array-index.object-tree-map-entry > .titles > .title > .index-name):
1235         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
1236         (.object-tree-array-index .index-name):
1237         Right align array's and set's indices.
1238
1239         (.object-tree-map-entry):
1240         Overwrite left property from .object-tree-array-index.
1241
1242         (.object-tree-property + ol .object-tree-map-entry):
1243         Overwrite left property from .object-tree-property + ol .object-tree-array-index.
1244
1245 2015-04-13  Joseph Pecoraro  <pecoraro@apple.com>
1246
1247         Web Inspector: Expanding window.navigator.mimeTypes in ObjectTree shows no native properties
1248         https://bugs.webkit.org/show_bug.cgi?id=143690
1249
1250         Reviewed by Timothy Hatcher.
1251
1252         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
1253         (WebInspector.ObjectTreePropertyTreeElement):
1254         Fix a typo that resulted in hiding properties of native objects
1255         in the Properties section of an Object Tree.
1256
1257 2015-04-13  Joseph Pecoraro  <pecoraro@apple.com>
1258
1259         Web Inspector: Remove unnecessary 3 second delay when archiving page
1260         https://bugs.webkit.org/show_bug.cgi?id=143688
1261
1262         Reviewed by Timothy Hatcher.
1263
1264         * UserInterface/Base/Main.js:
1265         (WebInspector.archiveMainFrame):
1266         The delay is unnecessary and was probably just debugging code.
1267
1268 2015-04-11  Matt Baker  <mattbaker@apple.com>
1269
1270         Web Inspector: Hide Frames Timeline if the backend doesn't support it
1271         https://bugs.webkit.org/show_bug.cgi?id=142800
1272
1273         Reviewed by Timothy Hatcher.
1274
1275         Fallback to showing the layout timeline if the backend doesn't support the rendering frames timeline.
1276
1277         * UserInterface/Controllers/TimelineManager.js:
1278         (WebInspector.TimelineManager.shouldShowViewForTimeline):
1279         (WebInspector.TimelineManager.prototype._loadNewRecording):
1280         Added iOS 8 compatibility check for RenderingFrame timeline record type.
1281
1282         * UserInterface/Views/LayoutTimelineDataGridNode.js:
1283         (WebInspector.LayoutTimelineDataGridNode.prototype.get data):
1284         Restored fields used by Layout timeline view.
1285
1286         * UserInterface/Views/LayoutTimelineView.js:
1287         Updated to be compatible with both RenderingFrame and Layout timeline views.
1288
1289 2015-04-11  Jono Wells  <jonowells@apple.com>
1290
1291         Web Inspector: Debugger sidebar should show errors underneath scripts
1292         https://bugs.webkit.org/show_bug.cgi?id=143464
1293
1294         Reviewed by Timothy Hatcher.
1295
1296         Add a new tree element called IssueTreeElement. This shows warnings and errors in the debugger sidebar. These
1297         can be clicked to jump to the line of source code for which the error was thrown. BreakpointTreeElement and
1298         IssueTreeElement now inherit from DebuggerTreeElement to support any needed commonalities among the interfaces
1299         of elements in the debugger sidebar panel.
1300
1301         * Localizations/en.lproj/localizedStrings.js: Updated.
1302         * UserInterface/Main.html: Add new files.
1303
1304         * UserInterface/Models/IssueMessage.js:
1305         (WebInspector.IssueMessage):
1306         (WebInspector.IssueMessage.prototype.get source):
1307         (WebInspector.IssueMessage.prototype.get lineNumber):
1308         (WebInspector.IssueMessage.prototype.get columnNumber):
1309         (WebInspector.IssueMessage.prototype.get displayLineNumber):
1310         (WebInspector.IssueMessage.prototype.get displayColumnNumber):
1311         (WebInspector.IssueMessage.prototype.get sourceCodeLocation):
1312         (WebInspector.IssueMessage.prototype.saveIdentityToCookie):
1313         (WebInspector.IssueMessage.prototype._sourceCodeLocationDisplayLocationChanged):
1314         Convert to use a backing SourceCodeLocation. Expand API.
1315
1316         * UserInterface/Views/BreakpointTreeElement.js: Inherits now from DebuggerTreeElement.
1317
1318         * UserInterface/Views/DebuggerSidebarPanel.js:
1319         (WebInspector.DebuggerSidebarPanel.showResourcesWithBreakpointsOnlyFilterFunction):
1320         (WebInspector.DebuggerSidebarPanel.showResourcesWithIssuesOnlyFilterFunction):
1321         (WebInspector.DebuggerSidebarPanel):
1322         (WebInspector.DebuggerSidebarPanel.prototype._addBreakpoint):
1323         (WebInspector.DebuggerSidebarPanel.prototype._breakpointRemoved):
1324         (WebInspector.DebuggerSidebarPanel.prototype._handleDebuggerObjectDisplayLocationDidChange):
1325         (WebInspector.DebuggerSidebarPanel.prototype._removeDebuggerTreeElement):
1326         (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
1327         (WebInspector.DebuggerSidebarPanel.prototype._compareDebuggerTreeElements):
1328         (WebInspector.DebuggerSidebarPanel.prototype._addDebuggerObject):
1329         (WebInspector.DebuggerSidebarPanel.prototype._addIssue):
1330         (WebInspector.DebuggerSidebarPanel.prototype._handleIssueAdded):
1331         (WebInspector.DebuggerSidebarPanel.prototype._handleIssuesCleared):
1332         (WebInspector.DebuggerSidebarPanel.prototype._breakpointDisplayLocationDidChange): Deleted.
1333         (WebInspector.DebuggerSidebarPanel.prototype._removeBreakpointTreeElement): Deleted.
1334         (WebInspector.DebuggerSidebarPanel.prototype._compareBreakpointTreeElements): Deleted.
1335         Add IssueTreeElements to the sidebar whenever a warning or error corresponding to a line of code is found.
1336         Add a filter function and button to filter down to just these. Ensure issue and breakpoint elements can be
1337         properly compared.
1338
1339         * UserInterface/Views/DebuggerTreeElement.js: Added.
1340         (WebInspector.DebuggerTreeElement):
1341         (WebInspector.DebuggerTreeElement.prototype.get debuggerObject):
1342
1343         * UserInterface/Views/IssueTreeElement.css: Added.
1344         (.issue .icon):
1345         (.issue.error .icon):
1346         (.navigation-sidebar-panel-content-tree-outline .item.small.issue .icon):
1347
1348         * UserInterface/Views/IssueTreeElement.js: Added.
1349         (WebInspector.IssueTreeElement):
1350         (WebInspector.IssueTreeElement.prototype.get issueMessage):
1351         (WebInspector.IssueTreeElement.prototype._updateTitles):
1352
1353 2015-04-11  Matt Baker  <mattbaker@apple.com>
1354
1355         Web Inspector: create content view and details sidebar for Frames timeline
1356         https://bugs.webkit.org/show_bug.cgi?id=143533
1357
1358         Reviewed by Timothy Hatcher.
1359
1360         Added new Rendering Frames timeline content view and details sidebar, and added minor visual tweeks to the
1361         timeline graph such as ensuring 60 FPS budget line is always visible, and large combined frames are split
1362         up once they reach a maximum pixel width.
1363
1364         * Localizations/en.lproj/localizedStrings.js:
1365         New UI strings.
1366
1367         * UserInterface/Base/Main.js:
1368         (WebInspector.contentLoaded):
1369         Support for new details sidebar panel.
1370
1371         * UserInterface/Controllers/TimelineManager.js:
1372         (WebInspector.TimelineManager.shouldShowViewForTimeline):
1373         (WebInspector.TimelineManager.prototype._processRecord):
1374         (WebInspector.TimelineManager.prototype._loadNewRecording):
1375         Layout timeline is no longer added to timeline graphs, skip Rendering Frame records that have no child events.
1376
1377         * UserInterface/Images/NavigationItemDoughnutChart.svg: Added.
1378         * UserInterface/Images/TimelineRecordRenderingFrame.svg: Added.
1379         New artwork.
1380
1381         * UserInterface/Main.html:
1382         * UserInterface/Test.html:
1383         New files.
1384
1385         * UserInterface/Models/RenderingFrameTimelineRecord.js: Renamed from Source/WebInspectorUI/UserInterface/Models/RunLoopTimelineRecord.js.
1386         (WebInspector.RenderingFrameTimelineRecord):
1387         (WebInspector.RenderingFrameTimelineRecord.resetFrameNumber):
1388         (WebInspector.RenderingFrameTimelineRecord.prototype.get frameNumber):
1389         (WebInspector.RenderingFrameTimelineRecord.prototype.get children):
1390         (WebInspector.RenderingFrameTimelineRecord.prototype.get durationRemainder):
1391         (WebInspector.RenderingFrameTimelineRecord.prototype.durationForRecords.get var):
1392         Added frame numbering and improved the accuracy of sub-frame duratation calculation.
1393         Refactoring: RunLoop prefix changed to RenderingFrame.
1394
1395         * UserInterface/Models/Timeline.js:
1396         (WebInspector.Timeline):
1397         (WebInspector.Timeline.create):
1398         (WebInspector.Timeline.prototype.get recording):
1399         (WebInspector.Timeline.prototype.get displayName):
1400         (WebInspector.Timeline.prototype.get iconClassName):
1401         Added up-pointer to parent recording.
1402
1403         * UserInterface/Models/TimelineRecord.js:
1404         Refactoring: RunLoop prefix changed to RenderingFrame.
1405         
1406         * UserInterface/Models/TimelineRecording.js:
1407         (WebInspector.TimelineRecording.prototype.reset):
1408         Support for new timeline type.
1409
1410         * UserInterface/Views/ChartDetailsSectionLegendRow.js: Added.
1411         (WebInspector.ChartDetailsSectionLegendRow):
1412         New details section row type for chart legend items.
1413
1414         * UserInterface/Views/ChartDetailsSectionRow.css: Added.
1415         (.details-section .row.chart):
1416         (.details-section .row.chart canvas):
1417         (.details-section .row.chart.empty canvas):
1418         (.details-section > .content > .group > .row.legend-item > .label > .color-swatch):
1419         * UserInterface/Views/ChartDetailsSectionRow.js: Added.
1420         (WebInspector.ChartDetailsSectionRow):
1421         (WebInspector.ChartDetailsSectionRow.prototype.get legendGroup):
1422         (WebInspector.ChartDetailsSectionRow.prototype.set innerLabel):
1423         (WebInspector.ChartDetailsSectionRow.prototype.addChartValue):
1424         (WebInspector.ChartDetailsSectionRow.prototype.clearChart):
1425         (WebInspector.ChartDetailsSectionRow.prototype._refresh.drawSlice):
1426         (WebInspector.ChartDetailsSectionRow.prototype._refresh):
1427         New details section row type for pie/doughnut charts.
1428
1429         * UserInterface/Views/ContentView.js:
1430         (WebInspector.ContentView):
1431         Support for new timeline view type.
1432
1433         * UserInterface/Views/LayoutTimelineDataGridNode.js:
1434         (WebInspector.LayoutTimelineDataGridNode.prototype.get data):
1435         (WebInspector.LayoutTimelineDataGridNode.prototype.createCellContent):
1436         Updated for use in rendering frame timeline view.
1437
1438         * UserInterface/Views/LayoutTimelineView.js:
1439         (WebInspector.LayoutTimelineView.prototype._layoutTimelineRecordAdded):
1440         Removed references to old RunLoop objects.
1441
1442         * UserInterface/Views/RenderingFrameDetailsSidebarPanel.js: Added.
1443         (WebInspector.RenderingFrameDetailsSidebarPanel.formatChartValue):
1444         (WebInspector.RenderingFrameDetailsSidebarPanel):
1445         (WebInspector.RenderingFrameDetailsSidebarPanel.prototype.inspect):
1446         (WebInspector.RenderingFrameDetailsSidebarPanel.prototype.updateRangeSelection):
1447         (WebInspector.RenderingFrameDetailsSidebarPanel.prototype.get renderingFrameTimeline):
1448         (WebInspector.RenderingFrameDetailsSidebarPanel.prototype.set renderingFrameTimeline):
1449         (WebInspector.RenderingFrameDetailsSidebarPanel.prototype.refresh.durationForRecordType):
1450         (WebInspector.RenderingFrameDetailsSidebarPanel.prototype.refresh):
1451         (WebInspector.RenderingFrameDetailsSidebarPanel.prototype._resetAll):
1452         (WebInspector.RenderingFrameDetailsSidebarPanel.prototype._recordAdded):
1453         (WebInspector.RenderingFrameDetailsSidebarPanel.prototype._timelineReset):
1454         (WebInspector.RenderingFrameDetailsSidebarPanel.prototype._getSelectedRecords):
1455         New sidebar panel for showing time breakdown for current frame selection.
1456
1457         * UserInterface/Views/RenderingFrameTimelineDataGridNode.js: Added.
1458         (WebInspector.RenderingFrameTimelineDataGridNode):
1459         (WebInspector.RenderingFrameTimelineDataGridNode.prototype.get record):
1460         (WebInspector.RenderingFrameTimelineDataGridNode.prototype.get records):
1461         (WebInspector.RenderingFrameTimelineDataGridNode.prototype.get data):
1462         (WebInspector.RenderingFrameTimelineDataGridNode.prototype.createCellContent):
1463         New data grid row type.
1464
1465         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css: Renamed from Source/WebInspectorUI/UserInterface/Views/RunLoopTimelineOverviewGraph.css.
1466         (.timeline-overview-graph.rendering-frame > .divider):
1467         (.timeline-overview-graph.rendering-frame > .divider > .label):
1468         * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js: Renamed from Source/WebInspectorUI/UserInterface/Views/RunLoopTimelineOverviewGraph.js.
1469         (WebInspector.RenderingFrameTimelineOverviewGraph):
1470         (WebInspector.RenderingFrameTimelineOverviewGraph.prototype.get graphHeightSeconds):
1471         (WebInspector.RenderingFrameTimelineOverviewGraph.prototype.updateLayout.createFrame):
1472         (WebInspector.RenderingFrameTimelineOverviewGraph.prototype._updateDividers.createDividerAtPosition.get if):
1473         * UserInterface/Views/RenderingFrameTimelineView.css: Renamed from Source/WebInspectorUI/UserInterface/Views/RunLoopTimelineOverviewGraph.css.
1474         (.timeline-view.rendering-frame > .data-grid):
1475         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item .subtitle):
1476         Visual tweeks.
1477         Refactoring: RunLoop prefix changed to RenderingFrame.
1478
1479         * UserInterface/Views/RenderingFrameTimelineView.js: Added.
1480         (WebInspector.RenderingFrameTimelineView):
1481         (WebInspector.RenderingFrameTimelineView.prototype.get navigationSidebarTreeOutlineLabel):
1482         (WebInspector.RenderingFrameTimelineView.prototype.shown):
1483         (WebInspector.RenderingFrameTimelineView.prototype.hidden):
1484         (WebInspector.RenderingFrameTimelineView.prototype.updateLayout):
1485         (WebInspector.RenderingFrameTimelineView.prototype.get selectionPathComponents):
1486         (WebInspector.RenderingFrameTimelineView.prototype.filterDidChange):
1487         (WebInspector.RenderingFrameTimelineView.prototype.matchTreeElementAgainstCustomFilters):
1488         (WebInspector.RenderingFrameTimelineView.prototype.reset):
1489         (WebInspector.RenderingFrameTimelineView.prototype.treeElementPathComponentSelected):
1490         (WebInspector.RenderingFrameTimelineView.prototype.dataGridNodeForTreeElement):
1491         (WebInspector.RenderingFrameTimelineView.prototype._processPendingRecords):
1492         (WebInspector.RenderingFrameTimelineView.prototype._renderingFrameTimelineRecordAdded):
1493         (WebInspector.RenderingFrameTimelineView.prototype._dataGridNodeSelected):
1494         New content view type.
1495
1496         * UserInterface/Views/TimelineIcons.css:
1497         (.rendering-frame-icon .icon):
1498         (.rendering-frame-icon.large .icon):
1499         (.rendering-frame-record .icon):
1500         (.runloop-record .icon):
1501         (.runloop-icon .icon): Deleted.
1502         (.runloop-icon.large .icon): Deleted.
1503         Refactoring: runloop prefix changed to rendering-frame.
1504
1505         * UserInterface/Views/TimelineOverview.js:
1506         (WebInspector.TimelineOverview.prototype._timelineRemoved):
1507         Support for timelines without associated views.
1508
1509         * UserInterface/Views/TimelineOverviewGraph.js:
1510         (WebInspector.TimelineOverviewGraph):
1511         Refactoring: RunLoop prefix changed to RenderingFrame.
1512
1513         * UserInterface/Views/TimelineRecordFrame.css:
1514         (.timeline-record-frame):
1515         (.timeline-record-frame > .frame):
1516         * UserInterface/Views/TimelineRecordFrame.js:
1517         (WebInspector.TimelineRecordFrame.createCombinedFrames):
1518         Visual tweeks, splitting up large combined frames.
1519
1520         * UserInterface/Views/TimelineRecordTreeElement.js:
1521         (WebInspector.TimelineRecordTreeElement):
1522         Refactoring: runloop prefix changed to rendering-frame.
1523
1524         * UserInterface/Views/TimelineRecordingContentView.js:
1525         (WebInspector.TimelineRecordingContentView.prototype._timelineRemoved):
1526         (WebInspector.TimelineRecordingContentView.prototype._timelineCountChanged):
1527         (WebInspector.TimelineRecordingContentView.prototype._timeRangeSelectionChanged):
1528         Added support for new details sidebar and timelines without associated views.
1529
1530         * UserInterface/Views/TimelineSidebarPanel.js:
1531         (WebInspector.TimelineSidebarPanel._timelineAdded.set this):
1532         Support for timelines without associated views.
1533         Refactoring: runloop prefix changed to rendering-frame.
1534
1535         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
1536         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
1537         New files.
1538
1539 2015-04-11  Nikita Vasilyev  <nvasilyev@apple.com>
1540
1541         Web Inspector: Use semi-transparent map item dividers
1542         https://bugs.webkit.org/show_bug.cgi?id=143630
1543
1544         Reviewed by Timothy Hatcher.
1545
1546         * UserInterface/Views/ObjectTreeMapEntryTreeElement.css:
1547         (.object-tree-map-entry.key:not(:first-child)):
1548         (.object-tree-map-entry.key): Deleted.
1549         (.object-tree-map-entry.key:first-of-type): Deleted.
1550         Use one selector instead of two.
1551
1552 2015-04-11  Nikita Vasilyev  <nvasilyev@apple.com>
1553
1554         Web Inspector: Objects are vertically misaligned by 1px
1555         https://bugs.webkit.org/show_bug.cgi?id=143629
1556
1557         Reviewed by Timothy Hatcher.
1558
1559         * UserInterface/Views/FormattedValue.css:
1560         (.formatted-object, .formatted-node, .formatted-error, .formatted-map, .formatted-set, .formatted-weakmap):
1561
1562 2015-04-10  Joseph Pecoraro  <pecoraro@apple.com>
1563
1564         Web Inspector: Fix Console Message Toggle
1565
1566         Unreviewed. Correct a post-review comment fix that went too far.
1567
1568         * UserInterface/Views/ConsoleMessageView.js:
1569         (WebInspector.ConsoleMessageView.prototype.set expandable):
1570         The handler needed to be bound to the object.
1571
1572 2015-04-10  Joseph Pecoraro  <pecoraro@apple.com>
1573
1574         Web Inspector: Fix Console Filter Search, Uncaught Exception
1575
1576         Rubber-stamped by Timothy Hatcher.
1577
1578         * UserInterface/Views/LogContentView.js:
1579         (WebInspector.LogContentView.prototype._performSearch):
1580         This regressed with recent refactoring. Fix up the property and class names.
1581
1582 2015-04-10  Joseph Pecoraro  <pecoraro@apple.com>
1583
1584         Web Inspector: Improve Console Message Formatting
1585         https://bugs.webkit.org/show_bug.cgi?id=143623
1586
1587         Reviewed by Timothy Hatcher.
1588
1589         * Localizations/en.lproj/localizedStrings.js:
1590         * UserInterface/Main.html:
1591         Misc.
1592
1593         * UserInterface/Views/ConsoleMessageView.css: Added.
1594         (.console-message.expandable .console-top-level-message::before):
1595         (.console-message.expandable.expanded .console-top-level-message::before):
1596         (.console-message.expandable.expanded :matches(.console-message-preview, .console-message-preview-divider)):
1597         (.console-message-preview-divider):
1598         (.console-message-enclosed):
1599         (.console-message .console-message-stack-trace-container):
1600         (.console-message.expandable.expanded .console-message-stack-trace-container):
1601         (.console-message .console-message-stack-trace-container > li):
1602         (.console-message .console-message-extra-parameters-container > li::before):
1603         New styles for the new ConsoleMessageView children.
1604         Handle console message expansion, a list of extra parameters
1605         and a potential list of stack frames.
1606
1607         (.console-message, .console-user-command):
1608         (.console-message .repeat-count):
1609         (.console-message-text):
1610         (.console-message-text > span):
1611         (.console-error-level):
1612         (.console-error-level .console-message-text):
1613         (.console-debug-level .console-message-text):
1614         (.console-warning-level):
1615         (.console-warning-level .console-message-text):
1616         (.console-user-command .console-message):
1617         (.console-error-level::before):
1618         (.console-warning-level::before):
1619         (.console-user-command::before):
1620         (.console-debug-level::before):
1621         (:matches(.console-warning-level, .console-error-level, .console-log-level).console-message):
1622         (:matches(.console-warning-level, .console-error-level, .console-log-level)::before):
1623         (.console-user-command > .console-message-text):
1624         (.console-message-url):
1625         (.console-saved-variable):
1626         (.console-user-command-result):
1627         (.console-user-command-result.console-log-level::before):
1628         Moved from LogContentView.css to here where it is more appropriate
1629         since ConsoleMessageView added them.
1630
1631         * UserInterface/Views/ConsoleMessageView.js:
1632         (WebInspector.ConsoleMessageView):
1633         (WebInspector.ConsoleMessageView.prototype.get expandable):
1634         (WebInspector.ConsoleMessageView.set expandable.this._boundExpandClickHandler):
1635         (WebInspector.ConsoleMessageView.prototype.set expandable):
1636         (WebInspector.ConsoleMessageView.prototype.expand):
1637         (WebInspector.ConsoleMessageView.prototype.collapse):
1638         (WebInspector.ConsoleMessageView.prototype.toggle):
1639         Provide high level constructs for making a ConsoleMessageView
1640         expandable, and APIs to expand/collapse.
1641
1642         (WebInspector.ConsoleMessageView.prototype._appendExtraParameters):
1643         Add and style the new list of extra parameters.
1644
1645         (WebInspector.ConsoleMessageView.prototype._appendStackTrace):
1646         Add and style the new list stack frames.
1647
1648         (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
1649         (WebInspector.ConsoleMessageView.prototype._shouldConsiderObjectLossless):
1650         Handling the top level message text line for all the different cases.
1651
1652         * UserInterface/Views/DOMTreeElement.js:
1653         (WebInspector.DOMTreeElement.prototype._startEditingTarget):
1654         (WebInspector.DOMTreeElement.prototype._populateTagContextMenu):
1655         * UserInterface/Views/DOMTreeOutline.css:
1656         (.dom-tree-outline .add-attribute): Deleted.
1657         CSS class .add-attribute was not used. Remove all references.
1658         
1659         (.webkit-html-fragment.shadow):
1660         Moved from LogContentView.css to a more appropriate place.
1661         
1662         * UserInterface/Views/FormattedValue.js:
1663         (WebInspector.FormattedValue.createObjectPreviewOrFormattedValueForRemoteObject):
1664         Helper to create a preview or a formatted value for a given object.
1665
1666         * UserInterface/Views/LogContentView.js:
1667         (WebInspector.LogContentView):
1668         (WebInspector.LogContentView.prototype._updateMessagesSelection):
1669         (WebInspector.LogContentView.prototype._leftArrowWasPressed):
1670         (WebInspector.LogContentView.prototype._rightArrowWasPressed):
1671         (WebInspector.LogContentView.prototype._rightArrowWasPressed.else.outlineTitle.treeElement.onexpand): Deleted.
1672         (WebInspector.LogContentView.prototype._propertiesSectionDidUpdateContent): Deleted.
1673         Lots of this code no longer makes sense. Delete some and put FIXMEs
1674         where it makes sense to re-add back useful features.
1675
1676         * UserInterface/Views/ObjectPreviewView.css:
1677         (.object-preview > .size):
1678         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
1679         (.object-tree-array-index .index-value .object-tree): Deleted.
1680         * UserInterface/Views/ObjectTreeView.css:
1681         (.object-tree):
1682         Tweak styles. Opacity instead of a specific gray to better work
1683         with other colors. Always make objects be inline-block.
1684
1685         * UserInterface/Views/LogContentView.css:
1686         (.console-error-level + .console-item):
1687         (.console-warning-level + .console-item):
1688         (.console-item::before):
1689         (.console-user-command-result): Deleted.
1690         (.console-user-command-result.console-log-level::before): Deleted.
1691         (.console-message, .console-user-command): Deleted.
1692         (.console-message .repeat-count): Deleted.
1693         (.console-message-text): Deleted.
1694         (.console-message-text > span): Deleted.
1695         (.console-error-level): Deleted.
1696         (.console-error-level .section .header .title): Deleted.
1697         (.console-debug-level .console-message-text): Deleted.
1698         (.console-debug-level::before): Deleted.
1699         (.console-error-level::before): Deleted.
1700         (.console-warning-level): Deleted.
1701         (.console-warning-level .console-message-text): Deleted.
1702         (.console-warning-level::before): Deleted.
1703         (.console-user-command .console-message): Deleted.
1704         (.console-user-command::before): Deleted.
1705         (:matches(.console-warning-level, .console-error-level, .console-log-level).console-message): Deleted.
1706         (:matches(.console-warning-level, .console-error-level, .console-log-level)::before): Deleted.
1707         (.console-user-command > .console-message-text): Deleted.
1708         (.console-saved-variable): Deleted.
1709         (.console-message-url): Deleted.
1710         (.console-group-messages .section): Deleted.
1711         (.console-group-messages .section .header): Deleted.
1712         (.console-group-messages .section .header::before): Deleted.
1713         (.console-group-messages .section .header .title): Deleted.
1714         (.console-group-messages .section .properties li .info): Deleted.
1715         (.console-group-messages .outline-disclosure): Deleted.
1716         (.console-group-messages .outline-disclosure > ol): Deleted.
1717         (.console-group-messages .outline-disclosure li .selection): Deleted.
1718         (.console-group-messages .add-attribute): Deleted.
1719         (.error-message): Deleted.
1720         (.auto-complete-text, .editing .auto-complete-text): Deleted.
1721         (.outline-disclosure li.hovered:not(.selected) .selection): Deleted.
1722         (.outline-disclosure li.highlighted .highlight): Deleted.
1723         (.outline-disclosure li.selected.highlighted .highlight): Deleted.
1724         (.outline-disclosure li .selection): Deleted.
1725         (.outline-disclosure li.selected .selection): Deleted.
1726         (.outline-disclosure li.elements-drag-over .selection): Deleted.
1727         (.outline-disclosure ol:focus li.selected .selection): Deleted.
1728         (.outline-disclosure ol.search-match-not-found li.selected .selection): Deleted.
1729         (.outline-disclosure > ol): Deleted.
1730         (.outline-disclosure, .outline-disclosure ol): Deleted.
1731         (.outline-disclosure li): Deleted.
1732         (.outline-disclosure .expanded li): Deleted.
1733         (.outline-disclosure > li.parent): Deleted.
1734         (.outline-disclosure li .webkit-html-tag.close): Deleted.
1735         (.outline-disclosure > li.parent::before): Deleted.
1736         (.outline-disclosure li.parent.expanded::before): Deleted.
1737         (.outline-disclosure ol.children): Deleted.
1738         (.outline-disclosure ol.children.expanded): Deleted.
1739         (.webkit-html-fragment.shadow): Deleted.
1740         Delete now unused styles and move other styles to more appropriate places.
1741
1742 2015-04-09  Joseph Pecoraro  <pecoraro@apple.com>
1743
1744         Web Inspector: Uncaught exception using console.table with filter argument
1745         https://bugs.webkit.org/show_bug.cgi?id=143579
1746
1747         Reviewed by Timothy Hatcher.
1748
1749         * UserInterface/Views/ConsoleMessageView.js:
1750         (WebInspector.ConsoleMessageView.prototype._userProvidedColumnNames):
1751         Reordering in the refactoring would have already converted this argument
1752         to a RemoteObject. Assert that here instead of trying to convert.
1753
1754 2015-04-09  Joseph Pecoraro  <pecoraro@apple.com>
1755
1756         Web Inspector: ObjectTree Property Path tooltip has a few issues
1757         https://bugs.webkit.org/show_bug.cgi?id=143587
1758
1759         Reviewed by Timothy Hatcher.
1760
1761         * UserInterface/Models/PropertyPath.js:
1762         (WebInspector.PropertyPath.prototype.appendSymbolProperty):
1763         (WebInspector.PropertyPath.prototype.appendPropertyDescriptor):
1764         Handle Symbol properties. They are treated as an impossible path
1765         because we cannot guarentee a reference to the Symbol right now.
1766
1767         * UserInterface/Views/ConsoleMessageView.js:
1768         (WebInspector.ConsoleMessageView.prototype._rootPropertyPathForObject):
1769         The savedResultIndex is on message.
1770
1771         * UserInterface/Views/ObjectTreeMapEntryTreeElement.js:
1772         (WebInspector.ObjectTreeMapEntryTreeElement):
1773         (WebInspector.ObjectTreeMapKeyTreeElement):
1774         (WebInspector.ObjectTreeMapValueTreeElement):
1775         In order for "key" to be available setup the mainTitle after
1776         the call to the base's constructor.
1777
1778 2015-04-08  Joseph Pecoraro  <pecoraro@apple.com>
1779
1780         Web Inspector: Simplify Legacy Tips support
1781         https://bugs.webkit.org/show_bug.cgi?id=143551
1782
1783         Reviewed by Timothy Hatcher.
1784
1785         * UserInterface/Models/ConsoleMessage.js:
1786         * UserInterface/Protocol/ConsoleObserver.js:
1787         (WebInspector.ConsoleObserver.prototype.messageAdded):
1788         * UserInterface/Views/ConsoleMessageView.js:
1789         (WebInspector.ConsoleMessageView):
1790         (WebInspector.ConsoleMessageView.prototype._levelString):
1791         * UserInterface/Views/LogContentView.js:
1792         (WebInspector.LogContentView.prototype._filterMessageElements):
1793
1794 2015-04-08  Joseph Pecoraro  <pecoraro@apple.com>
1795
1796         Unreviewed Test Fix after r182579. Add missing include.
1797
1798         * UserInterface/Test.html:
1799         Missing file was causing inspector/page/main-frame-resource.html to fail.
1800
1801 2015-04-08  Joseph Pecoraro  <pecoraro@apple.com>
1802
1803         Web Inspector: Split ConsoleMessageImpl into the View and the Model
1804         https://bugs.webkit.org/show_bug.cgi?id=142599
1805
1806         Reviewed by Timothy Hatcher.
1807
1808         * UserInterface/Models/ConsoleMessage.js: Added.
1809         (WebInspector.ConsoleMessage):
1810         (WebInspector.ConsoleMessage.prototype.get source):
1811         (WebInspector.ConsoleMessage.prototype.get level):
1812         (WebInspector.ConsoleMessage.prototype.get messageText):
1813         (WebInspector.ConsoleMessage.prototype.get type):
1814         (WebInspector.ConsoleMessage.prototype.get url):
1815         (WebInspector.ConsoleMessage.prototype.get line):
1816         (WebInspector.ConsoleMessage.prototype.get column):
1817         (WebInspector.ConsoleMessage.prototype.get repeatCount):
1818         (WebInspector.ConsoleMessage.prototype.get parameters):
1819         (WebInspector.ConsoleMessage.prototype.get stackTrace):
1820         (WebInspector.ConsoleMessage.prototype.get request):
1821         New readonly model object for console messages.
1822
1823         * UserInterface/Main.html:
1824         * UserInterface/Test.html:
1825         * UserInterface/Base/Test.js:
1826         (WebInspector.loaded):
1827         Load the new files in the main / test page.
1828
1829         * UserInterface/Views/LegacyConsoleMessage.js: Removed.
1830         * UserInterface/Views/LegacyConsoleMessageImpl.js: Removed.
1831         Remove Legacy versions.
1832
1833         * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
1834         * UserInterface/Controllers/JavaScriptLogViewController.js:
1835         (WebInspector.JavaScriptLogViewController):
1836         (WebInspector.JavaScriptLogViewController.prototype.startNewSession):
1837         (WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult.saveResultCallback):
1838         (WebInspector.JavaScriptLogViewController.prototype.appendImmediateExecutionWithResult):
1839         (WebInspector.JavaScriptLogViewController.prototype.appendConsoleMessage):
1840         (WebInspector.JavaScriptLogViewController.prototype.updatePreviousMessageRepeatCount):
1841         (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted.printResult):
1842         (WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
1843         (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessageView):
1844         (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage): Deleted.
1845         Update LogViewController to create ConsoleMessageViews from ConsoleMessages when applicable.
1846         Also clarify when we have a view versus model object.
1847
1848         * UserInterface/Protocol/ConsoleObserver.js:
1849         (WebInspector.ConsoleObserver.prototype.messageAdded):
1850         * UserInterface/Controllers/LogManager.js:
1851         (WebInspector.LogManager.prototype.messageWasAdded):
1852         (WebInspector.LogManager.prototype.messagesCleared):
1853         (WebInspector.LogManager.prototype._mainResourceDidChange):
1854         Create model objects and issue events for the model objects.
1855
1856         * UserInterface/Models/DefaultDashboard.js:
1857         (WebInspector.DefaultDashboard.prototype._consoleMessageAdded):
1858         (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
1859         Update now that the event gives us a model object.
1860
1861         * UserInterface/Views/ConsoleMessageView.js: Added.
1862         (WebInspector.ConsoleMessageView):
1863         (WebInspector.ConsoleMessageView.prototype.get element):
1864         (WebInspector.ConsoleMessageView.prototype.get message):
1865         (WebInspector.ConsoleMessageView.prototype.get repeatCount):
1866         (WebInspector.ConsoleMessageView.prototype.set repeatCount):
1867         (WebInspector.ConsoleMessageView.prototype.toClipboardString):
1868         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
1869         (WebInspector.ConsoleMessageView.prototype._appendSavedResultIndex):
1870         (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
1871         (WebInspector.ConsoleMessageView.prototype._appendParameters):
1872         (WebInspector.ConsoleMessageView.prototype._appendStackTrace):
1873         (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
1874         (WebInspector.ConsoleMessageView.prototype._formatParameter):
1875         (WebInspector.ConsoleMessageView.prototype._formatParameterAsValue):
1876         (WebInspector.ConsoleMessageView.prototype._formatParameterAsString):
1877         (WebInspector.ConsoleMessageView.prototype._formatParameterAsNode):
1878         (WebInspector.ConsoleMessageView.prototype._formatParameterAsObject):
1879         (WebInspector.ConsoleMessageView.prototype._formatParameterAsArray):
1880         (WebInspector.ConsoleMessageView.prototype._rootPropertyPathForObject):
1881         (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.parameterFormatter):
1882         (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.stringFormatter):
1883         (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.floatFormatter):
1884         (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.integerFormatter):
1885         (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.styleFormatter):
1886         (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.isWhitelistedProperty):
1887         (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString.append):
1888         (WebInspector.ConsoleMessageView.prototype._formatWithSubstitutionString):
1889         (WebInspector.ConsoleMessageView.prototype._shouldShowStackTrace):
1890         (WebInspector.ConsoleMessageView.prototype._shouldHideURL):
1891         (WebInspector.ConsoleMessageView.prototype._firstNonNativeCallFrame):
1892         (WebInspector.ConsoleMessageView.prototype._linkifyLocation):
1893         (WebInspector.ConsoleMessageView.prototype._linkifyCallFrame):
1894         (WebInspector.ConsoleMessageView.prototype._userProvidedColumnNames):
1895         (WebInspector.ConsoleMessageView.prototype._formatParameterAsTable):
1896         (WebInspector.ConsoleMessageView.prototype._levelString):
1897         (WebInspector.ConsoleMessageView.prototype._enforcesClipboardPrefixString):
1898         (WebInspector.ConsoleMessageView.prototype._clipboardPrefixString):
1899         New View class for a ConsoleMessage. This is a near direct port of the old code
1900         to a view class that has a root element.
1901
1902         * UserInterface/Models/ConsoleCommandResultMessage.js: Renamed from Source/WebInspectorUI/UserInterface/Views/ConsoleCommandResult.js.
1903         (WebInspector.ConsoleCommandResultMessage):
1904         (WebInspector.ConsoleCommandResultMessage.clearMaximumSavedResultIndex):
1905         (WebInspector.ConsoleCommandResultMessage.prototype.get savedResultIndex):
1906         Rename, as this is a ConsoleMessage subclass with a specific type for console evaluation results.
1907
1908         * UserInterface/Views/ConsoleCommandView.js: Renamed from Source/WebInspectorUI/UserInterface/Views/ConsoleCommand.js.
1909         (WebInspector.ConsoleCommandView):
1910         (WebInspector.ConsoleCommandView.prototype.get element):
1911         (WebInspector.ConsoleCommandView.prototype.get commandText):
1912         (WebInspector.ConsoleCommandView.prototype.get message):
1913         (WebInspector.ConsoleCommandView.prototype.toClipboardString):
1914         * UserInterface/Views/ConsoleGroup.js:
1915         (WebInspector.ConsoleGroup):
1916         (WebInspector.ConsoleGroup.prototype.get parentGroup):
1917         (WebInspector.ConsoleGroup.prototype.render):
1918         (WebInspector.ConsoleGroup.prototype.addMessageView):
1919         (WebInspector.ConsoleGroup.prototype.append):
1920         (WebInspector.ConsoleGroup.prototype._titleMouseDown):
1921         (WebInspector.ConsoleGroup.prototype.addMessage): Deleted.
1922         (WebInspector.ConsoleGroup.prototype._titleClicked): Deleted.
1923         * UserInterface/Views/ConsoleSession.js:
1924         (WebInspector.ConsoleSession):
1925         (WebInspector.ConsoleSession.prototype.addMessageView):
1926         (WebInspector.ConsoleSession.prototype.append):
1927         (WebInspector.ConsoleSession.prototype.addMessage): Deleted.
1928         (WebInspector.ConsoleSession.prototype.hasMessages): Deleted.
1929         Convert to classes, and clarify these deal with View objects.
1930
1931         * UserInterface/Views/LogContentView.css:
1932         (.console-message .repeat-count):
1933         (.console-message .bubble): Deleted.
1934         Better class name for the repeat count element.
1935
1936         * UserInterface/Views/LogContentView.js:
1937         (WebInspector.LogContentView.prototype.didAppendConsoleMessageView):
1938         (WebInspector.LogContentView.prototype._formatMessagesAsData):
1939         (WebInspector.LogContentView.prototype._messageAdded):
1940         (WebInspector.LogContentView.prototype._updateMessagesSelection):
1941         (WebInspector.LogContentView.prototype._selectAllMessages):
1942         (WebInspector.LogContentView.prototype._allMessageElements):
1943         (WebInspector.LogContentView.prototype._unfilteredMessageElements):
1944         (WebInspector.LogContentView.prototype._visibleMessageElements):
1945         (WebInspector.LogContentView.prototype._scopeBarSelectionDidChange):
1946         (WebInspector.LogContentView.prototype._filterMessageElements):
1947         (WebInspector.LogContentView.prototype._upArrowWasPressed):
1948         (WebInspector.LogContentView.prototype._downArrowWasPressed):
1949         (WebInspector.LogContentView.prototype._previousMessage):
1950         (WebInspector.LogContentView.prototype._nextMessage):
1951         (WebInspector.LogContentView.prototype._performSearch):
1952         (WebInspector.LogContentView.prototype._highlightRanges):
1953         (WebInspector.LogContentView.prototype._reappendProvisionalMessages):
1954         (WebInspector.LogContentView.prototype.didAppendConsoleMessage): Deleted.
1955         (WebInspector.LogContentView.prototype._allMessages): Deleted.
1956         (WebInspector.LogContentView.prototype._unfilteredMessages): Deleted.
1957         (WebInspector.LogContentView.prototype._visibleMessages): Deleted.
1958         (WebInspector.LogContentView.prototype._filterMessages): Deleted.
1959         Rename lots of things to make it clear when we are dealing with
1960         elements, model objects, or view objects. This class is still heavily
1961         dealing with elements, and needs to be cleaned up later.
1962
1963 2015-04-08  Joseph Pecoraro  <pecoraro@apple.com>
1964
1965         Fix uncaught exception seen in Inspector.
1966
1967         Reviewed by Timothy Hatcher.
1968
1969         * UserInterface/Views/TreeOutline.js:
1970         (WebInspector.TreeOutline.prototype.removeChild):
1971         Add a null check. Everywhere else null checks this member variable
1972         which may not exist yet, this case was missing the check.
1973
1974 2015-04-08  Tobias Reiss  <tobi+webkit@basecode.de>
1975
1976         Web Inspector: Regression: Showing of color swatches no longer works in Details Sidebar
1977         https://bugs.webkit.org/show_bug.cgi?id=143539
1978
1979         Reviewed by Timothy Hatcher.
1980
1981         Fix a regression where due to an ESLint error the whole line instead of just
1982         the variable declaration was removed.
1983
1984         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1985         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.update):
1986         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
1987
1988 2015-04-07  Joseph Pecoraro  <pecoraro@apple.com>
1989
1990         Web Inspector: ES6: Show Symbol properties on Objects
1991         https://bugs.webkit.org/show_bug.cgi?id=141279
1992
1993         Reviewed by Timothy Hatcher.
1994
1995         * Localizations/en.lproj/localizedStrings.js:
1996         * UserInterface/Models/PropertyDescriptor.js:
1997         (WebInspector.PropertyDescriptor.get symbol):
1998
1999         * UserInterface/Protocol/RemoteObject.js:
2000         (WebInspector.RemoteObject.wrappedCallback):
2001         Update new PropertyDescriptor call site.
2002
2003         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
2004         (WebInspector.ObjectTreeBaseTreeElement._logSymbolProperty):
2005         Provide a context menu for rows with Symbol properties to log
2006         the Symbol property, and therefore get a reference to it.
2007
2008         * UserInterface/Views/ObjectTreeView.js:
2009         (WebInspector.ObjectTreeView.comparePropertyDescriptors):
2010         Better handle symbol properties in sorting.
2011
2012         * UserInterface/Views/TypePropertiesSection.js:
2013         (WebInspector.TypePropertiesSection.PropertyComparator):
2014         Return better value when values are equal.
2015
2016 2015-04-07  Timothy Hatcher  <timothy@apple.com>
2017
2018         Web Inspector: HierarchicalPathNavigationItem's additionalClassNames should be _additionalClassNames
2019         https://bugs.webkit.org/show_bug.cgi?id=143487
2020
2021         Reviewed by Joseph Pecoraro.
2022
2023         * UserInterface/Views/HierarchicalPathNavigationItem.js:
2024         (WebInspector.HierarchicalPathNavigationItem.prototype.get _additionalClassNames):
2025
2026 2015-04-05  Joseph Pecoraro  <pecoraro@apple.com>
2027
2028         Web Inspector: Add String/Array "includes" parameter display string
2029         https://bugs.webkit.org/show_bug.cgi?id=143434
2030
2031         Reviewed by Darin Adler.
2032
2033         * UserInterface/Models/NativeFunctionParameters.js:
2034
2035 2015-04-05  Joseph Pecoraro  <pecoraro@apple.com>
2036
2037         Web Inspector: Regression: Map instances don't expand
2038         https://bugs.webkit.org/show_bug.cgi?id=143428
2039
2040         Reviewed by Brian Burg.
2041
2042         Fix uses of "this" in super() calls. Also fix a style name
2043         that no longer exists and was intended to be inlined.
2044
2045         * UserInterface/Views/IndexedDatabaseObjectStoreTreeElement.js:
2046         (WebInspector.IndexedDatabaseObjectStoreTreeElement):
2047         * UserInterface/Views/IndexedDatabaseTreeElement.js:
2048         (WebInspector.IndexedDatabaseTreeElement):
2049         * UserInterface/Views/ObjectTreeMapEntryTreeElement.js:
2050         (WebInspector.ObjectTreeMapEntryTreeElement):
2051
2052 2015-04-05  Nikita Vasilyev  <nvasilyev@apple.com>
2053
2054         Web Inspector: ObjectTree array index hints are clipped when shown in popover
2055         https://bugs.webkit.org/show_bug.cgi?id=143309
2056
2057         Reviewed by Brian Burg.
2058
2059         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
2060         (.object-tree-array-index .index-name):
2061         Add left margin that equals the width of the expand/collapse icon.
2062
2063 2015-03-31  Nikita Vasilyev  <nvasilyev@apple.com>
2064
2065         Web Inspector: console.error(object) has double disclosure triangles
2066         https://bugs.webkit.org/show_bug.cgi?id=142069
2067
2068         Use inline-block instead of "float: left" or "position: absolute" to
2069         make layout more predictable and easier to understand.
2070
2071         Reviewed by Timothy Hatcher.
2072
2073         * UserInterface/Views/LogContentView.css:
2074         (.outline-disclosure, .outline-disclosure ol):
2075         (.outline-disclosure > li.parent):
2076         (.outline-disclosure > li.parent::before):
2077         (.outline-disclosure li.parent): Deleted.
2078         (.outline-disclosure li.parent::before): Deleted.
2079         * UserInterface/Views/ObjectTreePropertyTreeElement.css:
2080         (.object-tree-property > .titles):
2081         (.object-tree-property > .disclosure-button):
2082         (.object-tree-property > .icon):
2083         * UserInterface/Views/ObjectTreeView.css:
2084         (.object-tree > :matches(.title, .object-preview)::before):
2085         (.object-tree:not(.lossless-preview) > :matches(.title, .object-preview)):
2086
2087 2015-03-31  Jono Wells  <jonowells@apple.com>
2088
2089         Web Inspector: REGRESSION: Filtering no longer works
2090         https://bugs.webkit.org/show_bug.cgi?id=143099
2091
2092         Reviewed by Brian Burg.
2093
2094         Add a check for an empty array of filter functions and return true in this case to ensure text
2095         and timeline filters work correctly.
2096
2097         * UserInterface/Views/NavigationSidebarPanel.js:
2098         (WebInspector.NavigationSidebarPanel.prototype.matchTreeElementAgainstFilterFunctions):
2099
2100 2015-03-31  Commit Queue  <commit-queue@webkit.org>
2101
2102         Unreviewed, rolling out r182186.
2103         https://bugs.webkit.org/show_bug.cgi?id=143270
2104
2105         it crashes all the WebGL tests on the Debug bots (Requested by
2106         dino on #webkit).
2107
2108         Reverted changeset:
2109
2110         "Web Inspector: add 2D/WebGL canvas instrumentation
2111         infrastructure"
2112         https://bugs.webkit.org/show_bug.cgi?id=137278
2113         http://trac.webkit.org/changeset/182186
2114
2115 2015-03-31  Matt Baker  <mattbaker@apple.com>
2116
2117         Web Inspector: add 2D/WebGL canvas instrumentation infrastructure
2118         https://bugs.webkit.org/show_bug.cgi?id=137278
2119
2120         Reviewed by Timothy Hatcher.
2121
2122         Added models, views, and controller classes for 2D and WebGL canvas inspection. Each canvas is shown in the
2123         Resources navigation sidebar under its parent frame. Shader programs are displayed as child nodes of
2124         their respective canvas. Canvases will get an associated content view and details sidebar in a later patch
2125         (see https://bugs.webkit.org/show_bug.cgi?id=138941).
2126
2127         Shader programs will get an associated content view for editing shader source in a later patch (see
2128         https://bugs.webkit.org/show_bug.cgi?id=138593). Individual shaders are not shown in the Resource navigation
2129         sidebar, and at this time there are no plans to instrument shaders that aren't attached to a program.
2130
2131         * Localizations/en.lproj/localizedStrings.js:
2132         * UserInterface/Base/Main.js:
2133         (WebInspector.loaded):
2134         (WebInspector.sidebarPanelForRepresentedObject):
2135         * UserInterface/Base/Test.js:
2136         (WebInspector.loaded):
2137         * UserInterface/Main.html:
2138         * UserInterface/Test.html:
2139         Updated for new canvas/shader program types.
2140
2141         * UserInterface/Controllers/CanvasManager.js: Added.
2142         (WebInspector.CanvasManager):
2143         (WebInspector.CanvasManager.prototype.canvasesForFrame):
2144         (WebInspector.CanvasManager.prototype.canvasAdded.set this):
2145         (WebInspector.CanvasManager.prototype.canvasAdded):
2146         (WebInspector.CanvasManager.prototype.canvasRemoved):
2147         (WebInspector.CanvasManager.programDeleted.get console):
2148         (WebInspector.CanvasManager.prototype.programCreated.get console):
2149         (WebInspector.CanvasManager.prototype.programCreated):
2150         (WebInspector.CanvasManager.prototype._mainResourceDidChange):
2151         Frontend controller for canvases and their shader programs.
2152
2153         * UserInterface/Images/Canvas.svg: Added.
2154         * UserInterface/Images/DocumentGL.png: Added.
2155         * UserInterface/Images/DocumentGL@2x.png: Added.
2156         New art for canvas and shader program tree elements.
2157
2158         * UserInterface/Models/Canvas.js: Added.
2159         (WebInspector.Canvas):
2160         (WebInspector.Canvas.prototype.set fromPayload):
2161         (WebInspector.Canvas.displayNameForContextType):
2162         (WebInspector.Canvas.resetUniqueDisplayNameNumbers):
2163         (WebInspector.Canvas.prototype.get id):
2164         (WebInspector.Canvas.prototype.get parentFrame):
2165         (WebInspector.Canvas.prototype.get name):
2166         (WebInspector.Canvas.prototype.get cssCanvas):
2167         (WebInspector.Canvas.prototype.get contextType):
2168         (WebInspector.Canvas.prototype.get contextAttributes):
2169         (WebInspector.Canvas.prototype.get programs):
2170         (WebInspector.Canvas.prototype.get displayName):
2171         (WebInspector.Canvas.programForId):
2172         (WebInspector.Canvas.get programWasCreated.set this):
2173         (WebInspector.Canvas.prototype.get programWasCreated):
2174         (WebInspector.Canvas.prototype.programWasDeleted):
2175         (WebInspector.Canvas.prototype.saveIdentityToCookie):
2176         Model for DOM or CSS canvas (2D or WebGL).
2177
2178         * UserInterface/Models/ShaderProgram.js: Added.
2179         (WebInspector.ShaderProgram):
2180         (WebInspector.ShaderProgram.prototype.get id):
2181         (WebInspector.ShaderProgram.prototype.get canvas):
2182         (WebInspector.ShaderProgram.prototype.get displayName):
2183         (WebInspector.ShaderProgram.prototype.saveIdentityToCookie):
2184         (WebInspector.ShaderProgram.prototype.updateCanvas):
2185         * UserInterface/Models/WebGLContextAttributes.js: Added.
2186         (WebInspector.WebGLContextAttributes):
2187         (WebInspector.WebGLContextAttributes.fromPayload):
2188         (WebInspector.WebGLContextAttributes.prototype.get alpha):
2189         (WebInspector.WebGLContextAttributes.prototype.get depth):
2190         (WebInspector.WebGLContextAttributes.prototype.get stencil):
2191         (WebInspector.WebGLContextAttributes.prototype.get antialias):
2192         (WebInspector.WebGLContextAttributes.prototype.get premultipliedAlpha):
2193         (WebInspector.WebGLContextAttributes.prototype.get preserveDrawingBuffer):
2194         Model for WebGL canvas context attributes.
2195
2196         * UserInterface/Protocol/CanvasObserver.js: Added.
2197         (WebInspector.CanvasObserver.prototype.canvasAdded):
2198         (WebInspector.CanvasObserver.prototype.canvasRemoved):
2199         (WebInspector.CanvasObserver.prototype.programCreated):
2200         (WebInspector.CanvasObserver.prototype.programDeleted):
2201         (WebInspector.CanvasObserver):
2202         Model for WebGL canvas shader program.
2203
2204         * UserInterface/Views/CanvasTreeElement.js: Added.
2205         (WebInspector.CanvasTreeElement.validateRepresentedObject):
2206         (WebInspector.CanvasTreeElement.countChildren):
2207         (WebInspector.CanvasTreeElement):
2208         (WebInspector.CanvasTreeElement.prototype.onexpand):
2209         (WebInspector.CanvasTreeElement.prototype.oncollapse):
2210         (WebInspector.CanvasTreeElement.prototype.onpopulate):
2211         (WebInspector.CanvasTreeElement.prototype._programWasCreated):
2212         (WebInspector.CanvasTreeElement.prototype._programWasDeleted):
2213         Folderized tree element for canvases and their child objects (shader programs).
2214
2215         * UserInterface/Views/FrameTreeElement.js:
2216         (WebInspector.FrameTreeElement.prototype.onattach):
2217         (WebInspector.FrameTreeElement.prototype.ondetach):
2218         (WebInspector.FrameTreeElement.prototype.onpopulate):
2219         (WebInspector.FrameTreeElement.prototype._canvasesAvailable):
2220         (WebInspector.FrameTreeElement.prototype._canvasWasAdded):
2221         (WebInspector.FrameTreeElement.prototype._canvasWasRemoved):
2222         Updated to support canvas tree elements.
2223
2224         * UserInterface/Views/ResourceIcons.css:
2225         (.canvas-icon .icon):
2226         (.shader-program-icon .icon):
2227         Styles for new canvas and shader program icons.
2228
2229         * UserInterface/Views/ResourceSidebarPanel.js:
2230         (WebInspector.ResourceSidebarPanel.prototype._treeElementSelected):
2231         Updated for new tree element types.
2232
2233         * UserInterface/Views/ShaderProgramTreeElement.js: Added.
2234         (WebInspector.ShaderProgramTreeElement):
2235         Tree element for shader programs. Shown as children of CanvasTreeElement.
2236
2237         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
2238         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
2239
2240 2015-03-30  Joseph Pecoraro  <pecoraro@apple.com>
2241
2242         Web Inspector: Regression: null shouldn't be expandable in object outline
2243         https://bugs.webkit.org/show_bug.cgi?id=143209
2244
2245         Reviewed by Mark Lam.
2246
2247         * UserInterface/Views/FormattedValue.js:
2248         (WebInspector.FormattedValue.createObjectTreeOrFormattedValueForRemoteObject):
2249         When creating an object tree or formatted value, choose just a formatted value
2250         for "null", since it does not have properties.
2251
2252 2015-03-30  Tobias Reiss  <tobi+webkit@basecode.de>
2253
2254         Web Inspector: Add more ESLint rules that reflect the current state of the code base
2255         https://bugs.webkit.org/show_bug.cgi?id=143212
2256
2257         Reviewed by Timothy Hatcher.
2258
2259         * .eslintrc:
2260         Define some utilities as globals.
2261         Replace "no-comma-dangle" with "comma-dangle". "no-comma-dangle" is deprecated and does not trigger in ESLint v.0.17.1
2262         Set "new-cap" to 0 due to the usage of "WebInspector.UIString".
2263         Disable "no-redeclare" for now and enable it back as soon as block scoped `let` is used.
2264         Disable "dot-notation", "no-shadow" and "no-use-before-define" due to a lot of hits.
2265         Disable "no-inner-declarations" as this is a common pattern to save memory.
2266         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
2267         * UserInterface/Models/SourceCodeLocation.js:
2268         It's not necessary to initialize x to undefined.
2269         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2270         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
2271         * UserInterface/Views/TextEditor.js:
2272         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
2273         Remove unused variable x.
2274         * UserInterface/Views/ObjectTreeMapEntryTreeElement.js:
2275         * UserInterface/Models/PropertyPath.js:
2276         * UserInterface/Views/RadioButtonNavigationItem.js:
2277         * UserInterface/Views/ReplayDashboardView.js:
2278         * UserInterface/Models/ScriptSyntaxTree.js:
2279         * UserInterface/Views/SourceCodeTextEditor.js:
2280         * UserInterface/Views/SourceCodeTreeElement.js:
2281         Remove trailing and unexpected whitespace.
2282         * UserInterface/Views/ProbeSetDataGrid.js:
2283         * UserInterface/Views/TimelineRuler.js:
2284         Add missing semicolon.
2285         * UserInterface/Views/TimelineDataGrid.js:
2286         * UserInterface/Views/TimelineRecordFrame.js:
2287         Add missing var statement.
2288         * UserInterface/Views/TypeTokenView.js:
2289         Remove unnecessary `bind`.
2290
2291 2015-03-28  Saam Barati  <saambarati1@gmail.com>
2292
2293         Web Inspector: ES6: Better support for Symbol types in Type Profiler
2294         https://bugs.webkit.org/show_bug.cgi?id=141257
2295
2296         Reviewed by Joseph Pecoraro.
2297
2298         The Web Inspector's visualization of JSC's type profiler
2299         should have support for the Symbol type.
2300
2301         * UserInterface/Models/TypeSet.js:
2302         (WebInspector.TypeSet):
2303         (WebInspector.TypeSet.prototype.get primitiveTypeNames):
2304         * UserInterface/Views/TypeTokenView.css:
2305         TypeTokenView will display Symbol type tokens using the same color that 
2306         Symbol values are displayed as formatted values.
2307
2308         (.type-token-symbol):
2309         * UserInterface/Views/TypeTokenView.js:
2310         (WebInspector.TypeTokenView.prototype._displayTypeName):
2311         (WebInspector.TypeTokenView):
2312
2313 2015-03-28  Joseph Pecoraro  <pecoraro@apple.com>
2314
2315         Web Inspector: Adopt Array.prototype.includes and String.prototype.includes
2316         https://bugs.webkit.org/show_bug.cgi?id=143176
2317
2318         Reviewed by Timothy Hatcher.
2319
2320         * UserInterface/Base/Utilities.js:
2321         Remove our custom implementations of Array/String contains functions.
2322
2323         * UserInterface/Base/Main.js:
2324         (WebInspector._updateContentViewForCurrentNavigationSidebar):
2325         (WebInspector._contentBrowserCurrentContentViewDidChange):
2326         * UserInterface/Controllers/CodeMirrorCompletionController.js:
2327         (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions.):
2328         (WebInspector.CodeMirrorCompletionController.prototype._generateJavaScriptCompletions):
2329         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
2330         (WebInspector.CodeMirrorTokenTrackingController.prototype._updateHoveredTokenInfo):
2331         (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
2332         * UserInterface/Controllers/FrameResourceManager.js:
2333         (WebInspector.FrameResourceManager.prototype._extraDomainsActivated):
2334         (WebInspector.FrameResourceManager):
2335         * UserInterface/Controllers/LayerTreeManager.js:
2336         (WebInspector.LayerTreeManager.prototype.layerTreeMutations):
2337         * UserInterface/Controllers/StorageManager.js:
2338         (WebInspector.StorageManager.prototype._extraDomainsActivated):
2339         (WebInspector.StorageManager):
2340         * UserInterface/Models/Branch.js:
2341         (WebInspector.Branch.prototype.addRevision):
2342         * UserInterface/Models/CSSKeywordCompletions.js:
2343         (WebInspector.CSSKeywordCompletions.forProperty):
2344         * UserInterface/Models/CSSRule.js:
2345         (WebInspector.CSSRule.prototype.get matchedSelectors):
2346         * UserInterface/Models/CSSStyleDeclaration.js:
2347         * UserInterface/Models/Color.js:
2348         (WebInspector.Color.fromString):
2349         * UserInterface/Models/DOMNode.js:
2350         * UserInterface/Models/DOMNodeStyles.js:
2351         (WebInspector.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
2352         * UserInterface/Views/CSSStyleDeclarationSection.js:
2353         (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
2354         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2355         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._updatePseudoClassCheckboxes):
2356         (WebInspector.CSSStyleDetailsSidebarPanel):
2357         * UserInterface/Views/ContentBrowser.js:
2358         (WebInspector.ContentBrowser.prototype._updateContentViewSelectionPathNavigationItem):
2359         * UserInterface/Views/DOMTreeElement.js:
2360         * UserInterface/Views/DebuggerSidebarPanel.js:
2361         (WebInspector.DebuggerSidebarPanel.prototype._resourceAdded):
2362         * UserInterface/Views/GeneralTreeElement.js:
2363         (WebInspector.GeneralTreeElement.prototype.addClassName):
2364         (WebInspector.GeneralTreeElement.prototype.removeClassName):
2365         * UserInterface/Views/LegacyConsoleMessageImpl.js:
2366         (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsTable):
2367         * UserInterface/Views/LogContentView.js:
2368         (WebInspector.LogContentView.prototype._updateMessagesSelection):
2369         * UserInterface/Views/NavigationBar.js:
2370         (WebInspector.NavigationBar.prototype._findNavigationItem):
2371         * UserInterface/Views/Sidebar.js:
2372         (WebInspector.Sidebar.prototype.findSidebarPanel):
2373         Replace contains with includes where appropriate.
2374
2375 2015-03-28  Joseph Pecoraro  <pecoraro@apple.com>
2376
2377         Web Inspector: Tweak node styles in ObjectTreeView
2378         https://bugs.webkit.org/show_bug.cgi?id=143179
2379
2380         Reviewed by Timothy Hatcher.
2381
2382         * UserInterface/Views/LogContentView.css:
2383         (.console-group-messages .outline-disclosure.single-node li):
2384         * UserInterface/Views/DOMTreeOutline.css:
2385         (.dom-tree-outline.single-node li):
2386         This style makes sense as a generic DOMTreeOutline style.
2387
2388         * UserInterface/Views/FormattedValue.css:
2389         (.formatted-node > .dom-tree-outline):
2390         (.formatted-node > .dom-tree-outline ol):
2391         (.formatted-node > .dom-tree-outline li.hovered:not(.selected) .selection):
2392         Style for nodes in ObjectTreeView.
2393
2394         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
2395         (.object-tree-array-index .index-value .formatted-node .dom-tree-outline):
2396         Styles for node in Array value.
2397
2398         * UserInterface/Views/FormattedValue.js:
2399         (WebInspector.FormattedValue.createElementForNode):
2400         Address the FIXME.
2401
2402 2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>
2403
2404         Web Inspector: TypeProfiler doesn't work on files with ES6 Class Syntax
2405         https://bugs.webkit.org/show_bug.cgi?id=143169
2406
2407         Reviewed by Timothy Hatcher.
2408
2409         * UserInterface/Models/ScriptSyntaxTree.js:
2410         (WebInspector.ScriptSyntaxTree.prototype._recurse):
2411         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
2412         (WebInspector.ScriptSyntaxTree):
2413         Add basic support for Esprima's ES6 Class/Method/Spread nodes.
2414         There are more ES6 features that should be covered, but this
2415         covers all the features we use in Web Inspector source, so
2416         Type Profiling can work with our own source.
2417
2418         Treat Methods like getters / setters right now because their
2419         syntax is very similiar to getters/setters. There is a bug
2420         handling generic ES6 cleanup to better name things.
2421
2422 2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>
2423
2424         Web Inspector: Uncaught TDZ Exception with Type Profiler
2425         https://bugs.webkit.org/show_bug.cgi?id=143167
2426
2427         Reviewed by Timothy Hatcher.
2428
2429         * UserInterface/Views/TypePropertiesSection.js:
2430         (WebInspector.TypePropertyTreeElement):
2431         Avoid TDZ issue by not using "this" before "super".
2432
2433         * UserInterface/Models/ScriptSyntaxTree.js:
2434         (WebInspector.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
2435         (WebInspector.ScriptSyntaxTree):
2436         Better handle unsupported node types by returning null and avoiding an exception.
2437
2438         * UserInterface/Views/SourceCodeTextEditor.js:
2439         Fix an issue I saw once where the sourceCode was a Script itself.
2440
2441 2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>
2442
2443         Web Inspector: Uncaught exception while debugging, after performSearch callback line does not exists
2444         https://bugs.webkit.org/show_bug.cgi?id=143172
2445
2446         Reviewed by Timothy Hatcher.
2447
2448         * UserInterface/Views/SourceCodeTextEditor.js:
2449         (WebInspector.SourceCodeTextEditor.prototype.customPerformSearch.searchResultCallback):
2450         (WebInspector.SourceCodeTextEditor.prototype.customPerformSearch):
2451         Gracefully handle if the line does not exist.
2452
2453 2015-03-27  Ryosuke Niwa  <rniwa@webkit.org>
2454
2455         ES6 Classes: Runtime error in JIT'd class calling super() with arguments and superclass has default constructor
2456         https://bugs.webkit.org/show_bug.cgi?id=142862
2457
2458         Reviewed by Benjamin Poulain.
2459
2460         Removed the workaround for the bug since it has been fixed by r181993.
2461
2462         * UserInterface/Base/Object.js:
2463         * UserInterface/Models/DebuggerDashboard.js:
2464         * UserInterface/Models/NetworkTimeline.js:
2465         * UserInterface/Models/ReplayDashboard.js:
2466         * UserInterface/Models/Revision.js:
2467
2468 2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>
2469
2470         Web Inspector: Add Setter Icon for ObjectTreeView
2471         https://bugs.webkit.org/show_bug.cgi?id=143129
2472
2473         Reviewed by Timothy Hatcher.
2474
2475         * UserInterface/Images/Pencil.svg: Added.
2476         New icon used to indicate setter properties.
2477
2478         * Localizations/en.lproj/localizedStrings.js:
2479         Remove "Read only" and replace with "Setter".
2480
2481         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.js:
2482         (WebInspector.ObjectTreeArrayIndexTreeElement.prototype._titleFragment):
2483         (WebInspector.ObjectTreeArrayIndexTreeElement):
2484         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
2485         (WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePropertyStyle):
2486         (WebInspector.ObjectTreePropertyTreeElement.prototype._createTitleAPIStyle):
2487         Update cases that created setter / getter elements.
2488         
2489         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
2490         (WebInspector.ObjectTreeBaseTreeElement.prototype.createGetterElement):
2491         (WebInspector.ObjectTreeBaseTreeElement.prototype.createInteractiveGetterElement): Deleted.
2492         * UserInterface/Views/ObjectTreePropertyTreeElement.css:
2493         (.object-tree-property :matches(.getter, .setter)):
2494         (.object-tree-property .spacer):
2495         (.object-tree-property .getter):
2496         (.object-tree-property .setter):
2497         (.object-tree-property .getter + .setter):
2498         New setter element and styles. Setters are always non-interactable right now.
2499
2500 2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>
2501
2502         Web Inspector: Uncaught Exceptions with Context Menus
2503         https://bugs.webkit.org/show_bug.cgi?id=143162
2504
2505         Reviewed by Timothy Hatcher.
2506
2507         * UserInterface/Protocol/InspectorFrontendAPI.js:
2508         (InspectorFrontendAPI.contextMenuCleared):
2509
2510 2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>
2511
2512         Web Inspector: Disable editing in Metrics section while it is not working
2513         https://bugs.webkit.org/show_bug.cgi?id=143165
2514
2515         Reviewed by Timothy Hatcher.
2516
2517         * UserInterface/Views/BoxModelDetailsSectionRow.js:
2518         (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics.createElement):
2519         (WebInspector.BoxModelDetailsSectionRow.prototype._applyUserInput):
2520         Disable double click to edit while it is not working. The value setter
2521         and add methods no longer exist.
2522
2523 2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>
2524
2525         Web Inspector: Uncaught Exceptions evaluating code while paused
2526         https://bugs.webkit.org/show_bug.cgi?id=143163
2527
2528         Reviewed by Timothy Hatcher.
2529
2530         * UserInterface/Models/CallFrame.js:
2531         (WebInspector.CallFrame.prototype.collectScopeChainVariableNames):
2532         We define a property named "valueForCaseInsensitiveKey" on Object.prototype
2533         that is readonly. So we should avoid Object.prototype when building our
2534         result list. This should probably move to a Map object eventually.
2535
2536 2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>
2537
2538         Web Inspector: Remove unused testing properties
2539         https://bugs.webkit.org/show_bug.cgi?id=143156
2540
2541         Reviewed by Timothy Hatcher.
2542
2543         * UserInterface/Views/LegacyConsoleMessageImpl.js:
2544         (WebInspector.LegacyConsoleMessageImpl.prototype._formatMessage):
2545         * UserInterface/Views/Section.js:
2546         (WebInspector.Section.prototype.get subtitleAsTextForTest): Deleted.
2547
2548 2015-03-27  Joseph Pecoraro  <pecoraro@apple.com>
2549
2550         Web Inspector: Uncaught Exception: TypeError: Attempted to assign to readonly - DOMNodeDetailsSidebarPanel.js
2551         https://bugs.webkit.org/show_bug.cgi?id=143139
2552
2553         Reviewed by Timothy Hatcher.
2554
2555         DataGridNodes do not have a selectable setter. TreeElements do.
2556         DataGridNodes are always selectable. Match current behavior by
2557         removing all instances of attempting to set the selectability
2558         which would, under strict mode, result in an error.
2559
2560         * UserInterface/Views/ApplicationCacheFrameContentView.js:
2561         (WebInspector.ApplicationCacheFrameContentView.prototype._populateDataGrid):
2562         * UserInterface/Views/CookieStorageContentView.js:
2563         (WebInspector.CookieStorageContentView.prototype._rebuildTable):
2564         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2565         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._createAttributesDataGrid):
2566         (WebInspector.DOMNodeDetailsSidebarPanel):
2567         * UserInterface/Views/DOMStorageContentView.js:
2568         (WebInspector.DOMStorageContentView.prototype.reset):
2569         * UserInterface/Views/DataGrid.js:
2570
2571 2015-03-26  Timothy Hatcher  <timothy@apple.com>
2572
2573         Web Inspector: Convert more misc View classes to ES6
2574         https://bugs.webkit.org/show_bug.cgi?id=143128
2575
2576         Reviewed by Joseph Pecoraro.
2577
2578         * UserInterface/Views/CompletionSuggestionsView.js:
2579         * UserInterface/Views/ComputedStyleDetailsPanel.js:
2580         * UserInterface/Views/DashboardContainerView.js:
2581         * UserInterface/Views/DashboardView.js:
2582         * UserInterface/Views/DebuggerDashboardView.js:
2583         * UserInterface/Views/DefaultDashboardView.js:
2584         * UserInterface/Views/FilterBarButton.js:
2585         * UserInterface/Views/MetricsStyleDetailsPanel.js:
2586         * UserInterface/Views/ObjectPreviewView.js:
2587         * UserInterface/Views/ObjectTreeView.js:
2588         * UserInterface/Views/QuickConsole.js:
2589         * UserInterface/Views/ReplayDashboardView.js:
2590         * UserInterface/Views/RulesStyleDetailsPanel.js:
2591         * UserInterface/Views/StyleDetailsPanel.js:
2592         Converted to ES6 classes.
2593
2594 2015-03-26  Timothy Hatcher  <timothy@apple.com>
2595
2596         Web Inspector: Convert TextEditor classes to ES6
2597         https://bugs.webkit.org/show_bug.cgi?id=143127
2598
2599         Reviewed by Joseph Pecoraro.
2600
2601         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2602         Removed a comment about const, we can't use it in strict mode / classes.
2603
2604         * UserInterface/Views/SourceCodeTextEditor.js:
2605         * UserInterface/Views/TextEditor.js:
2606         Converted to ES6 classes.
2607
2608 2015-03-26  Nikita Vasilyev  <nvasilyev@apple.com>
2609
2610         Web Inspector: clicking on console record while REPL is focused does not select a new record
2611         https://bugs.webkit.org/show_bug.cgi?id=142171
2612
2613         Reviewed by Timothy Hatcher.
2614
2615         * UserInterface/Views/LogContentView.js:
2616         (WebInspector.LogContentView.prototype._mousedown):
2617
2618 2015-03-26  Andres Gomez  <agomez@igalia.com>
2619
2620         [GTK] Web Inspector: New Images for Console Types
2621         https://bugs.webkit.org/show_bug.cgi?id=142301
2622
2623         Reviewed by Joseph Pecoraro.
2624
2625         Add more free icons and for the Web Inspector in GTK+.
2626
2627         * UserInterface/Images/gtk/Eye.svg: Added.
2628         * UserInterface/Images/gtk/Frames.png: Added.
2629         * UserInterface/Images/gtk/Frames@2x.png: Added.
2630         * UserInterface/Images/gtk/FramesLarge.png: Added.
2631         * UserInterface/Images/gtk/FramesLarge@2x.png: Added.
2632         * UserInterface/Images/gtk/Reload.svg:
2633         * UserInterface/Images/gtk/ReloadFull.svg: Added.
2634         * UserInterface/Images/gtk/TypeBoolean.svg: Added.
2635         * UserInterface/Images/gtk/TypeNull.svg: Added.
2636         * UserInterface/Images/gtk/TypeNumber.svg: Added.
2637         * UserInterface/Images/gtk/TypeObject.svg: Added.
2638         * UserInterface/Images/gtk/TypeRegex.svg: Added.
2639         * UserInterface/Images/gtk/TypeString.svg: Added.
2640         * UserInterface/Images/gtk/TypeSymbol.svg: Added.
2641         * UserInterface/Images/gtk/TypeUndefined.svg: Added.
2642
2643 2015-03-26  Joseph Pecoraro  <pecoraro@apple.com>
2644
2645         Web Inspector: ES6: Provide a better view for Classes in the console
2646         https://bugs.webkit.org/show_bug.cgi?id=142999
2647
2648         Reviewed by Timothy Hatcher.
2649
2650         * UserInterface/Protocol/RemoteObject.js:
2651         (WebInspector.RemoteObject):
2652         (WebInspector.RemoteObject.fromPrimitiveValue):
2653         (WebInspector.RemoteObject.fromPayload):
2654         (WebInspector.RemoteObject.prototype.get classPrototype):
2655         (WebInspector.RemoteObject.prototype.isClass):
2656         Update our RemoteObject model object for the new subtype
2657         and its unique properties.
2658
2659         * UserInterface/Views/FormattedValue.js:
2660         (WebInspector.FormattedValue.createElementForTypesAndValue):
2661         (WebInspector.FormattedValue.createObjectTreeOrFormattedValueForRemoteObject):
2662         Better handle "class", as it is a new function subtype.
2663
2664         * UserInterface/Views/LegacyConsoleMessageImpl.js:
2665         (WebInspector.LegacyConsoleMessageImpl):
2666         (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsObject):
2667         Format a "class" with ObjectTreeView.
2668
2669         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.js:
2670         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
2671         * UserInterface/Views/ObjectTreePropertyTreeElement.css:
2672         (.object-tree-property .getter.disabled):
2673         (.object-tree-property .getter:not(.disabled):hover):
2674         (.object-tree-property .getter:hover): Deleted.
2675         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
2676         In ClassAPI mode, you cannot invoke a getter since we don't have
2677         an instance to invoke it on. So disable interactivity with getters.
2678
2679         * UserInterface/Views/ObjectTreeView.js:
2680         (WebInspector.ObjectTreeView):
2681         Update the modes to include an API mode for instances and classes.
2682
2683         (WebInspector.ObjectTreeView.defaultModeForObject):
2684         * UserInterface/Views/SourceCodeTextEditor.js:
2685         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
2686         Simplify ObjectTree construction to automatically determine mode based
2687         on the RemoteObject that was provided.
2688
2689         * Localizations/en.lproj/localizedStrings.js:
2690         "Getter" tooltip.
2691
2692 2015-03-26  Timothy Hatcher  <timothy@apple.com>
2693
2694         Web Inspector: Convert TreeElement classes to ES6
2695         https://bugs.webkit.org/show_bug.cgi?id=143111
2696
2697         Reviewed by Joseph Pecoraro.
2698
2699         * UserInterface/Views/ApplicationCacheFrameTreeElement.js:
2700         * UserInterface/Views/ApplicationCacheManifestTreeElement.js:
2701         * UserInterface/Views/BreakpointTreeElement.js:
2702         * UserInterface/Views/CallFrameTreeElement.js:
2703         * UserInterface/Views/ContentFlowTreeElement.js:
2704         * UserInterface/Views/CookieStorageTreeElement.js:
2705         * UserInterface/Views/DOMStorageTreeElement.js:
2706         * UserInterface/Views/DOMTreeElement.js:
2707         * UserInterface/Views/DOMTreeOutline.js:
2708         * UserInterface/Views/DatabaseHostTreeElement.js:
2709         * UserInterface/Views/DatabaseTableTreeElement.js:
2710         * UserInterface/Views/DatabaseTreeElement.js:
2711         * UserInterface/Views/FolderTreeElement.js:
2712         * UserInterface/Views/FolderizedTreeElement.js:
2713         * UserInterface/Views/FrameTreeElement.js:
2714         * UserInterface/Views/GeneralTreeElement.js:
2715         * UserInterface/Views/IndexedDatabaseHostTreeElement.js:
2716         * UserInterface/Views/IndexedDatabaseObjectStoreIndexTreeElement.js:
2717         * UserInterface/Views/IndexedDatabaseObjectStoreTreeElement.js:
2718         * UserInterface/Views/IndexedDatabaseTreeElement.js:
2719         * UserInterface/Views/LegacyConsoleMessageImpl.js:
2720         * UserInterface/Views/LogTreeElement.js:
2721         * UserInterface/Views/NavigationSidebarPanel.js:
2722         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.js:
2723         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
2724         * UserInterface/Views/ObjectTreeMapEntryTreeElement.js:
2725         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
2726         * UserInterface/Views/ObjectTreeSetIndexTreeElement.js:
2727         * UserInterface/Views/ObjectTreeView.js:
2728         * UserInterface/Views/ProfileNodeTreeElement.js:
2729         * UserInterface/Views/PropertiesSection.js:
2730         * UserInterface/Views/ResourceTreeElement.js:
2731         * UserInterface/Views/ScriptTreeElement.js:
2732         * UserInterface/Views/SearchResultTreeElement.js:
2733         * UserInterface/Views/SourceCodeTimelineTreeElement.js:
2734         * UserInterface/Views/SourceCodeTreeElement.js:
2735         * UserInterface/Views/SourceMapResourceTreeElement.js:
2736         * UserInterface/Views/StorageTreeElement.js:
2737         * UserInterface/Views/TimelineDataGrid.js:
2738         * UserInterface/Views/TimelineRecordTreeElement.js:
2739         * UserInterface/Views/TreeElementStatusButton.js:
2740         * UserInterface/Views/TreeOutline.js:
2741         * UserInterface/Views/TreeOutlineDataGridSynchronizer.js:
2742         * UserInterface/Views/TypePropertiesSection.js:
2743         Converted to ES6 classes where possible.
2744
2745 2015-03-26  Timothy Hatcher  <timothy@apple.com>
2746
2747         Web Inspector: Convert sidebar classes to ES6
2748         https://bugs.webkit.org/show_bug.cgi?id=143108
2749
2750         Reviewed by Joseph Pecoraro.
2751
2752         * UserInterface/Models/KeyboardShortcut.js:
2753         (WebInspector.KeyboardShortcut._handleKeyDown): Continue if callback is null.
2754         (WebInspector.KeyboardShortcut.prototype.set callback): Added.
2755
2756         * UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
2757         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2758         * UserInterface/Views/DOMDetailsSidebarPanel.js:
2759         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2760         * UserInterface/Views/DebuggerSidebarPanel.js:
2761         * UserInterface/Views/DetailsSidebarPanel.js:
2762         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
2763         * UserInterface/Views/NavigationSidebarPanel.js:
2764         * UserInterface/Views/ProbeDetailsSidebarPanel.js:
2765         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
2766         * UserInterface/Views/ResourceSidebarPanel.js:
2767         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
2768         * UserInterface/Views/Sidebar.js:
2769         * UserInterface/Views/SidebarPanel.js:
2770         * UserInterface/Views/TimelineSidebarPanel.js:
2771         Converted to ES6 classes.
2772
2773 2015-03-26  Timothy Hatcher  <timothy@apple.com>
2774
2775         Web Inspector: Convert some View classes to ES6 classes
2776         https://bugs.webkit.org/show_bug.cgi?id=143107
2777
2778         Reviewed by Joseph Pecoraro.
2779
2780         * UserInterface/Protocol/InspectorBackend.js:
2781         * UserInterface/Protocol/InspectorFrontendAPI.js:
2782         (InspectorFrontendAPI.contextMenuItemSelected): Updated to the right function path.
2783         * UserInterface/Views/BoxModelDetailsSectionRow.js:
2784         * UserInterface/Views/BreakpointActionView.js:
2785         * UserInterface/Views/CodeMirrorAdditions.js:
2786         * UserInterface/Views/ColorPicker.js:
2787         * UserInterface/Views/ColorWheel.js:
2788         * UserInterface/Views/ContextMenu.js:
2789         * UserInterface/Views/DOMTreeElementPathComponent.js:
2790         * UserInterface/Views/DetailsSection.js:
2791         * UserInterface/Views/DetailsSectionDataGridRow.js:
2792         * UserInterface/Views/DetailsSectionGroup.js:
2793         * UserInterface/Views/DetailsSectionPropertiesRow.js:
2794         * UserInterface/Views/DetailsSectionRow.js:
2795         * UserInterface/Views/DetailsSectionSimpleRow.js:
2796         * UserInterface/Views/DetailsSectionTextRow.js:
2797         * UserInterface/Views/EditingSupport.js:
2798         * UserInterface/Views/EventListenerSection.js:
2799         * UserInterface/Views/EventListenerSectionGroup.js:
2800         * UserInterface/Views/FilterBar.js:
2801         * UserInterface/Views/FindBanner.js:
2802         * UserInterface/Views/GeneralTreeElementPathComponent.js:
2803         * UserInterface/Views/GoToLineDialog.js:
2804         * UserInterface/Views/GradientSlider.js:
2805         * UserInterface/Views/HierarchicalPathComponent.js:
2806         * UserInterface/Views/HierarchicalPathNavigationItem.js:
2807         * UserInterface/Views/HoverMenu.js:
2808         * UserInterface/Views/Popover.js:
2809         * UserInterface/Views/ProbeSetDetailsSection.js:
2810         * UserInterface/Views/ResourceTimelineDataGridNodePathComponent.js:
2811         * UserInterface/Views/SearchBar.js:
2812         * UserInterface/Views/Slider.js:
2813         Converted to ES6 classes.
2814
2815 2015-03-26  Timothy Hatcher  <timothy@apple.com>
2816
2817         Web Inspector: Convert Base and Protocol files to ES6 classes
2818         https://bugs.webkit.org/show_bug.cgi?id=143106
2819
2820         Reviewed by Joseph Pecoraro.
2821
2822         * UserInterface/Base/EventListener.js:
2823         * UserInterface/Base/EventListenerSet.js:
2824         * UserInterface/Protocol/ApplicationCacheObserver.js:
2825         * UserInterface/Protocol/CSSObserver.js:
2826         * UserInterface/Protocol/ConsoleObserver.js:
2827         * UserInterface/Protocol/DOMObserver.js:
2828         * UserInterface/Protocol/DOMStorageObserver.js:
2829         * UserInterface/Protocol/DatabaseObserver.js:
2830         * UserInterface/Protocol/DebuggerObserver.js:
2831         * UserInterface/Protocol/InspectorBackend.js:
2832         * UserInterface/Protocol/InspectorObserver.js:
2833         * UserInterface/Protocol/LayerTreeObserver.js:
2834         * UserInterface/Protocol/MessageDispatcher.js:
2835         * UserInterface/Protocol/NetworkObserver.js:
2836         * UserInterface/Protocol/PageObserver.js:
2837         * UserInterface/Protocol/RemoteObject.js:
2838         * UserInterface/Protocol/ReplayObserver.js:
2839         * UserInterface/Protocol/RuntimeObserver.js:
2840         * UserInterface/Protocol/TimelineObserver.js:
2841         Converted to ES6 classes where possible.
2842
2843 2015-03-25  Tobias Reiss  <tobi+webkit@basecode.de>
2844
2845         Web Inspector: Add ESLint "Disallow Undeclared Variables" rule and enable ES6 env
2846         https://bugs.webkit.org/show_bug.cgi?id=143062
2847
2848         Reviewed by Joseph Pecoraro.
2849
2850         ESLint: Add support for es6 environment and "no-undef" rule which disallows
2851         use of undeclared variables unless mentioned in a /*global */ block.
2852
2853         * .eslintrc:
2854
2855 2015-03-25  Nikita Vasilyev  <nvasilyev@apple.com>
2856
2857         Web Inspector: console.table with source code location look poor
2858         https://bugs.webkit.org/show_bug.cgi?id=142068
2859
2860         Reviewed by Timothy Hatcher.
2861
2862         * UserInterface/Views/LegacyConsoleMessageImpl.js:
2863         (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsTable):
2864         Remove dataGridContainer as it is an unnecessary span element.
2865         * UserInterface/Views/LogContentView.css:
2866         (.console-messages .data-grid):
2867
2868 2015-03-24  Joseph Pecoraro  <pecoraro@apple.com>
2869
2870         Web Inspector: IndexedDB / Databases ContentViews should have refresh button
2871         https://bugs.webkit.org/show_bug.cgi?id=142996
2872
2873         Reviewed by Timothy Hatcher.
2874
2875         * Localizations/en.lproj/localizedStrings.js:
2876         Remove unused strings.
2877
2878         * UserInterface/Images/ReloadFull.svg: Added.
2879         This is the same as Reload.svg but adjusted to fill the viewbox edge to edge.
2880         The only change is to the viewbox.
2881
2882         * UserInterface/Protocol/RemoteObject.js:
2883         (WebInspector.RemoteObject.prototype.release):
2884         Some clients would call release not knowing if this was an object or not.
2885         Act gracefully in the case that this was not an object that needs a
2886         remote release.
2887
2888         * UserInterface/Views/DatabaseTableContentView.js:
2889         (WebInspector.DatabaseTableContentView):
2890         (WebInspector.DatabaseTableContentView.prototype.get navigationItems):
2891         (WebInspector.DatabaseTableContentView.prototype._queryError):
2892         (WebInspector.DatabaseTableContentView.prototype._refreshButtonClicked):
2893         * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
2894         (WebInspector.IndexedDatabaseObjectStoreContentView):
2895         (WebInspector.IndexedDatabaseObjectStoreContentView.prototype.get navigationItems):
2896         (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._fetchMoreData):
2897         (WebInspector.IndexedDatabaseObjectStoreContentView.prototype._refreshButtonClicked):
2898         Give the storage content views a refresh button to reload the content.
2899
2900 2015-03-24  Joseph Pecoraro  <pecoraro@apple.com>
2901
2902         Setter should have a single formal parameter, Getter no parameters
2903         https://bugs.webkit.org/show_bug.cgi?id=142903
2904
2905         Reviewed by Geoffrey Garen.
2906
2907         * UserInterface/Views/GradientSlider.js:
2908         (WebInspector.GradientSliderKnob.prototype.get wellColor):
2909         Fix a getter that was incorrectly taking a parameter.
2910
2911 2015-03-24  Tobias Reiss  <tobi+webkit@basecode.de>
2912
2913         Web Inspector: REGRESSION (r179286): ReferenceError: Can't find variable: selector
2914         https://bugs.webkit.org/show_bug.cgi?id=143022
2915
2916         Reviewed by Timothy Hatcher.
2917
2918         Fix a regression where a missing variable statement causes a ReferenceError.
2919
2920         * UserInterface/Models/DOMNodeStyles.js:
2921
2922 2015-03-24  Tobias Reiss  <tobi+webkit@basecode.de>
2923
2924         Web Inspector: Adopt ES6 Class Syntax for CSSStyleDeclarationTextEditor
2925         https://bugs.webkit.org/show_bug.cgi?id=143019
2926
2927         Reviewed by Timothy Hatcher.
2928
2929         - Convert CSSStyleDeclarationTextEditor to use class syntax
2930         - Convert constructor functions to constructor methods
2931         - Convert "constructor.method" to class static methods where possible
2932         - Convert all methods to method syntax, eliminate commas between methods
2933         - Convert all superclass calls in classes to use "super"
2934         - Removed FIXME from WebInspector.Object subclasses, added calls to super.
2935         - Fixed strict mode issues now that classes enforce strict mode (see below).
2936
2937         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2938         Many function declarations modified.
2939
2940 2015-03-24  Joseph Pecoraro  <pecoraro@apple.com>
2941
2942         Web Inspector: Workaround issue causing uncaught exception in Inspector
2943         https://bugs.webkit.org/show_bug.cgi?id=143015
2944
2945         Reviewed by Timothy Hatcher.
2946
2947         Workaround <https://webkit.org/b/143012> and avoid early returning in constructors.
2948
2949         * UserInterface/Controllers/ReplayManager.js:
2950         (WebInspector.ReplayManager.class.ReplayManager):
2951
2952 2015-03-06  Brian J. Burg  <burg@cs.washington.edu>
2953
2954         Web Inspector: unify resizer implementations used by DataGrid and Sidebar
2955         https://bugs.webkit.org/show_bug.cgi?id=142407
2956
2957         Reviewed by Timothy Hatcher.
2958
2959         Both of these implementations do the same thing slightly differently. Unify the code
2960         and use the "glass pane" technique to preserve cursor while dragging over links or text.
2961
2962         This patch implements vertical and horizontal rule orientations. Further refactorings
2963         to use this class may need to add "Indeterminate" orientation to support moving the inspector
2964         window by its fake toolbar element.
2965
2966         * UserInterface/Main.html:
2967         * UserInterface/Views/DataGrid.css:
2968         (.data-grid .resizer):
2969         (.data-grid-resizer): Deleted.
2970         * UserInterface/Views/DataGrid.js: Store Resizer instances rather than resizer elements.
2971         Use symbols to secretly store neighbor column ids on the resizer objects. Stop using
2972         WebInspector.elementDragStart, as I would like to deprecate it in favor of Resizer instances.
2973
2974         (WebInspector.DataGrid):
2975         (WebInspector.DataGrid.prototype._positionResizerElements):
2976         (WebInspector.DataGrid.prototype.resizerDragStarted):
2977         (WebInspector.DataGrid.prototype.resizerDragging):
2978         (WebInspector.DataGrid.prototype.resizerDragEnded):
2979         (WebInspector.DataGrid.prototype._startResizerDragging): Deleted.
2980         (WebInspector.DataGrid.prototype._resizerDragging): Deleted.
2981         (WebInspector.DataGrid.prototype._endResizerDragging): Deleted.
2982         * UserInterface/Views/Resizer.css:
2983         (.resizer):
2984         (.resizer.vertical-rule):
2985         (.resizer.horizontal-rule):
2986         (.glass-pane-for-drag):
2987         * UserInterface/Views/Resizer.js: Added.
2988         (WebInspector.Resizer):
2989         (WebInspector.Resizer.prototype.get element):
2990         (WebInspector.Resizer.prototype.get orientation):
2991         (WebInspector.Resizer.prototype.get initialPosition):
2992         (WebInspector.Resizer.prototype._currentPosition):
2993         (WebInspector.Resizer.prototype._resizerMouseDown):
2994         (WebInspector.Resizer.prototype._resizerMouseMoved):
2995         (WebInspector.Resizer.prototype._resizerMouseUp):
2996         * UserInterface/Views/Sidebar.css:
2997         (.sidebar > .resizer): Deleted.
2998         * UserInterface/Views/Sidebar.js:
2999         (WebInspector.Sidebar):
3000         (WebInspector.Sidebar.prototype.resizerDragStarted):
3001         (WebInspector.Sidebar.prototype.resizerDragging):
3002         (WebInspector.Sidebar.prototype.resizerDragEnded):
3003         (WebInspector.Sidebar.prototype._navigationItemSelected):
3004         (WebInspector.Sidebar.prototype._resizerMouseDown): Deleted.
3005         (WebInspector.Sidebar.prototype._resizerMouseMoved): Deleted.
3006         (WebInspector.Sidebar.prototype._resizerMouseUp): Deleted.
3007
3008 2015-03-17  Jono Wells  <jonowells@apple.com>
3009
3010         Web Inspector: Debugger sidebar should have a filter button for breakpoints
3011         https://bugs.webkit.org/show_bug.cgi?id=142779
3012
3013         Reviewed by Timothy Hatcher.
3014
3015         Add the infrastructure for activation filter buttons that can appear next to the text filters at the bottom
3016         of any navigation sidebar panel. These filter bar buttons have defined within them a function that returns
3017         a boolean value that indicates whether the input, typically a tree element, should be filtered or not.
3018
3019         This infrastructure is then used to create a filter for the debugger sidebar that, when applied, only shows
3020         scripts that have breakpoints set on them.
3021
3022         * Localizations/en.lproj/localizedStrings.js: Updated.
3023         * UserInterface/Main.html: Files added.
3024
3025         * UserInterface/Views/DebuggerSidebarPanel.js:
3026         (WebInspector.DebuggerSidebarPanel.showResourcesWithChildrenOnlyFilterFunction):
3027         (WebInspector.DebuggerSidebarPanel):
3028         (WebInspector.DebuggerSidebarPanel.prototype._addBreakpoint): Drive-by fix.
3029         Add filter button to filter bar.
3030
3031         * UserInterface/Views/FilterBar.css:
3032         (.filter-bar > .navigation-bar > .item):
3033         Style filter button.
3034
3035         * UserInterface/Views/FilterBar.js:
3036         (WebInspector.FilterBar):
3037         (WebInspector.FilterBar.prototype.get filters):
3038         (WebInspector.FilterBar.prototype.set filters):
3039         (WebInspector.FilterBar.prototype.hasActiveFilters):
3040         (WebInspector.FilterBar.prototype._handleFilterChanged):
3041         (WebInspector.FilterBar.prototype._inputFieldChanged): Deleted.
3042         Create space for filter bar buttons and set up event handlers to deal with them.
3043
3044         * UserInterface/Views/FilterBarButton.js: Copied from Source/WebInspectorUI/UserInterface/Views/FilterBar.css.
3045         (WebInspector.FilterBarButton):
3046         (WebInspector.FilterBarButton.prototype.get filterFunction):
3047         (WebInspector.FilterBarButton.prototype.toggle):
3048         Create class for a filter bar button that stores a filter function.
3049
3050         * UserInterface/Views/NavigationSidebarPanel.js:
3051         (WebInspector.NavigationSidebarPanel):
3052         (WebInspector.NavigationSidebarPanel.prototype.matchTreeElementAgainstFilterFunctions):
3053         (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
3054         (WebInspector.NavigationSidebarPanel.prototype._filterDidChange):
3055         (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
3056         (WebInspector.NavigationSidebarPanel.prototype._textFilterDidChange): Deleted.
3057         Add functionality to support button filters and process their corresponding functions correctly when filtering.
3058
3059 2015-03-22  Matt Baker  <mattbaker@apple.com>
3060
3061         Web Inspector: Adopt ES6 Class Syntax for all Controller Objects
3062         https://bugs.webkit.org/show_bug.cgi?id=142890
3063
3064         Reviewed by Joseph Pecoraro.
3065
3066         - Convert all UserInterface/Controllers objects to classes
3067         - Convert constructor functions to constructor methods
3068         - Convert "constructor.method" to class static methods where possible
3069         - Convert all methods to method syntax, eliminate commas between methods
3070         - Convert all superclass calls in classes to use "super"
3071         - Removed FIXME from WebInspector.Object subclasses, added calls to super.
3072         - Fixed strict mode issues now that classes enforce strict mode (see below).
3073
3074         * Tools/PrettyPrinting/Formatter.js:
3075         * Tools/PrettyPrinting/FormatterContentBuilder.js:
3076         Updated to match corresponding files in UserInterface/Controllers.
3077
3078         * UserInterface/Controllers/*.js:
3079         Many files modified mostly mechanically (regex find-replace).
3080
3081         * UserInterface/Controllers/CodeMirrorCompletionController.js:
3082         * UserInterface/Controllers/FormatterContentBuilder.js:
3083         Replaced const usage with var. Use of const is prohibited in strict mode, which is implicit within a class.
3084
3085         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
3086         * UserInterface/Controllers/DOMTreeManager.js:
3087         Moved function declarations out of if statements. Strict mode does not allow function declarations in a lexically nested statement.
3088
3089 2015-03-20  Nikita Vasilyev  <nvasilyev@apple.com>
3090
3091         Web Inspector: Fast typing lags in the Styles sidebar or Console
3092         https://bugs.webkit.org/show_bug.cgi?id=142919
3093
3094         Asynchronous autocomplete causes a race condition in CodeMirror,
3095         which results in skipped characters in while typing. Completing immediately
3096         fixes the issues.
3097
3098         Reviewed by Timothy Hatcher.
3099
3100         * UserInterface/Controllers/CodeMirrorCompletionController.js:
3101         (WebInspector.CodeMirrorCompletionController.prototype.hideCompletions):
3102         (WebInspector.CodeMirrorCompletionController.prototype._completeAtCurrentPosition):
3103         (WebInspector.CodeMirrorCompletionController.prototype.):
3104
3105 2015-03-19  Joseph Pecoraro  <pecoraro@apple.com>
3106
3107         Web Inspector: Adopt ES6 Class Syntax for all Model Objects
3108         https://bugs.webkit.org/show_bug.cgi?id=142858
3109
3110         Reviewed by Timothy Hatcher.
3111
3112           - Convert WebInspector.Object to a class
3113           - Convert all UserInterface/Models objects to classes
3114           - Convert constructor functions to constructor methods
3115           - Convert "constructor.method" to class static methods where possible
3116           - Convert all methods to method syntax, eliminate commas between methods
3117           - Convert all superclass calls in classes to use "super"
3118           - Workaround <https://webkit.org/b/142862> and add empty constructors
3119           - Added "deprecated" prefix to addConstructorFunctions, since it is not needed with classes
3120           - Added many missing calls to super in constructors
3121           - Added FIXME to WebInspector.Object subclasses not yet moved to classes.
3122           - Cleaned up SourceMap global properties, moved to constructor instead of prototype
3123           - Cleaned up Timeline factory constructor to static "create" factory method
3124           - Fixed any style issues noticed in the mass edit
3125           - Fixed strict mode issues now that classes enforce strict mode
3126               - RunLoopTimelineRecord.js was missing a `var` for a local variable
3127               - "const" is not allowed, converted to "var"
3128               - "arguments.callee" is not allowed in strict mode
3129
3130         * UserInterface/**/*.js:
3131         Many files modified mostly mechanically.
3132
3133 2015-03-19  Jono Wells  <jonowells@apple.com>
3134
3135         Web Inspector: Debugger sidebar header should say "Scripts" instead of "Breakpoints", appear only on pause
3136         https://bugs.webkit.org/show_bug.cgi?id=142847
3137
3138         Reviewed by Timothy Hatcher.
3139
3140         Add a `paused` class on the debugger sidebar panel. Use that class to adjust the sidebar styles so that, when
3141         the debugger is not paused: there is no header for the scripts section, there is no border beneath the scripts
3142         section, and the scripts section cannot be collapsed (which could be done while the debugger is paused). The
3143         header has changed to say "Scripts" instead of "Breakpoints" when it is showing.
3144
3145         * UserInterface/Views/DebuggerSidebarPanel.css:
3146         (.sidebar > .panel.navigation.debugger .details-section.scripts):
3147         (.sidebar > .panel.navigation.debugger .details-section.scripts .header):
3148         (.sidebar > .panel.navigation.debugger .details-section.scripts.collapsed > .content):
3149         (.sidebar > .panel.navigation.debugger.paused .details-section.scripts):
3150         (.sidebar > .panel.navigation.debugger.paused .details-section.scripts .header):
3151         (.sidebar > .panel.navigation.debugger.paused .details-section.scripts.collapsed > .content):
3152         Adjust styles to hide header and border.
3153
3154         * UserInterface/Views/DebuggerSidebarPanel.js:
3155         (WebInspector.DebuggerSidebarPanel):
3156         (WebInspector.DebuggerSidebarPanel.prototype._debuggerDidPause):
3157         (WebInspector.DebuggerSidebarPanel.prototype._debuggerDidResume):
3158         Add a `paused` class to the debugger sidebar when it is paused.
3159
3160 2015-03-19  Jono Wells  <jonowells@apple.com>
3161
3162         Web Inspector: FilterBar for debugger sidebar hides breakpoints for displayed resources
3163         https://bugs.webkit.org/show_bug.cgi?id=142777
3164
3165         Reviewed by Brian Burg.
3166
3167         Typing into the text input on the filter bar for the debugger sidebar no longer incorrectly hides the
3168         breakpoints for scripts that match the text input.
3169
3170         * UserInterface/Views/BreakpointTreeElement.js:
3171         (WebInspector.BreakpointTreeElement.prototype.get filterableData): Added.
3172
3173 2015-03-18  Joseph Pecoraro  <pecoraro@apple.com>
3174
3175         Web Inspector: Replace last use of ObjectPropertiesSection with ObjectTreeView
3176         https://bugs.webkit.org/show_bug.cgi?id=142834
3177
3178         Reviewed by Timothy Hatcher.
3179
3180         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
3181         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshProperties):
3182         Use properties only ObjectTreeView instead of ObjectPropertiesSection.
3183         This doesn't fix the functionality issues, but fixes the appearance.
3184
3185         * UserInterface/Views/DetailsSection.css:
3186         (.details-section > .content > .group:first-child > .row.simple:first-child > *): Deleted.
3187         (body.mac-platform.legacy .details-section > .content > .group:first-child > .row.simple:first-child > *): Deleted.
3188         (.details-section > .content > .group > .row.properties:not(.empty)): Deleted.
3189         (body.mac-platform.legacy .details-section > .content > .group > .row.properties:not(.empty)): Deleted.
3190         Re-add back the small padding at the top of sections. This actually
3191         broke padding in a few sections (Event Listeners) at the expense
3192         of eliminating a few pixels of whitespace at the top of other sections.
3193         We should focus on addressing the extra whitespace separately.
3194
3195         * UserInterface/Main.html:
3196         * UserInterface/Views/ObjectPropertiesSection.js: Removed.
3197         * UserInterface/Views/TypePropertiesSection.js:
3198         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
3199         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
3200         Remove new unused class.
3201
3202 2015-03-18  Joseph Pecoraro  <pecoraro@apple.com>
3203
3204         Web Inspector: Debugger Popovers and Probes should use FormattedValue/ObjectTreeView instead of Custom/ObjectPropertiesSection
3205         https://bugs.webkit.org/show_bug.cgi?id=142830
3206
3207         Reviewed by Timothy Hatcher.
3208
3209         * UserInterface/Views/ProbeSetDataGrid.css:
3210         (.details-section.probe-set .data-grid .object-tree > :matches(.title, .object-preview)::before):
3211         Another line-height fix for object tree disclosure triangles.
3212
3213         * UserInterface/Views/ProbeSetDataGridNode.js:
3214         (WebInspector.ProbeSetDataGridNode.prototype.createCellContent):
3215         Create an ObjectTree / FormattedValue for the RemoteObject.
3216
3217         * UserInterface/Views/SourceCodeTextEditor.css:
3218         (.popover .debugger-popover-content > .title):
3219         (.popover .debugger-popover-content > .body):
3220         (.popover .debugger-popover-content.function > .body):
3221         Be more specific and don't accidentally style ".title" within the body.
3222
3223         * UserInterface/Views/SourceCodeTextEditor.js:
3224         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForObject):
3225         Show a properties only ObjectTree instead of an ObjectPropertiesSection.
3226
3227         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForString): Deleted.
3228         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForRegExp): Deleted.
3229         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForNumber): Deleted.
3230         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForBoolean): Deleted.
3231         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForNull): Deleted.
3232         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForUndefined): Deleted.
3233         (WebInspector.SourceCodeTextEditor.prototype._showPopoverWithFormattedValue):
3234         Reduce most of these to a single popover for formatted values.
3235
3236 2015-03-18  Joseph Pecoraro  <pecoraro@apple.com>
3237
3238         Web Inspector: Scopes sidebar should use new ObjectTreeView and not ObjectPropertiesSection
3239         https://bugs.webkit.org/show_bug.cgi?id=142808
3240
3241         Reviewed by Timothy Hatcher.
3242
3243         * UserInterface/Models/PropertyPath.js:
3244         (WebInspector.PropertyPath):
3245         (WebInspector.PropertyPath.emptyPropertyPathForScope):
3246         Allow a special property empty path for "Scopes". This way for a
3247         "<scopeObject>.property" we can show just the tooltip "property".
3248
3249         * UserInterface/Views/ObjectTreeView.css:
3250         (.object-tree.properties-only > :matches(.title, .object-preview)):
3251         (.object-tree.properties-only .object-tree-outline):
3252         (.object-tree.properties-only .object-tree-property .property-name):
3253         Tweak styles for only properties view, which won't have a top-level
3254         preview and doesn't fade out enumerable properties.
3255
3256         * UserInterface/Views/ObjectTreeView.js:
3257         (WebInspector.ObjectTreeView.prototype.get treeOutline):
3258         Access the TreeOutline.
3259
3260         (WebInspector.ObjectTreeView.prototype.showOnlyProperties):
3261         Properties only view modifies the display slightly.
3262
3263         (WebInspector.ObjectTreeView.prototype.appendExtraPropertyDescriptor):
3264         (WebInspector.ObjectTreeView.prototype._updateProperties):
3265         Allow the client to add its own property descriptors to display
3266         as a property in this ObjectTreeView.
3267
3268         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
3269         (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh):
3270         Switch to using an ObjectTreeView.
3271
3272         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._propertyPathIdentifierForTreeElement):
3273         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeAddHandler):
3274         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeExpandHandler):
3275         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._objectTreeCollapseHandler):
3276         Keep track of what properties were expanded so we can auto-expand
3277         them again when the sidebar refreshes.
3278
3279         * UserInterface/Main.html:
3280         * UserInterface/Views/ScopeVariableTreeElement.js: Removed.
3281         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
3282         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
3283         Remove the now unused ScopeVariableTreeElement.js.
3284
3285 2015-03-17  Joseph Pecoraro  <pecoraro@apple.com>
3286
3287         Web Inspector: Debugger Sidebar Icons Misaligned
3288         https://bugs.webkit.org/show_bug.cgi?id=142654
3289
3290         Reviewed by Timothy Hatcher.
3291
3292         The debugger sidebar content was accidentally 1px too small. The
3293         TreeOutline being inside of a .detail-section was getting a smaller
3294         font-size. We should just have the normal font-size for the
3295         debugger navigation sidebar. This matches the Resources sidebar
3296         in the TreeOutline, and icons line up better.
3297
3298         * UserInterface/Views/DebuggerSidebarPanel.css:
3299         (.sidebar > .panel.navigation.debugger .details-section):
3300
3301 2015-03-17  Tobias Reiss  <tobi+webkit@basecode.de>
3302
3303         Web Inspector: Removal of multiline completion hint broken in Details sidebar
3304         https://bugs.webkit.org/show_bug.cgi?id=142796
3305
3306         Reviewed by Joseph Pecoraro.
3307
3308         Prioritize CodeMirrorCompletionController over CSSStyleDeclarationTextEditor.
3309         Both classes control the current CodeMirror instance of the Details Sidebar.
3310         This change prevents possible race conditions during complete or delete-complete phases,
3311         especially during operations on multiple styles in one line.
3312
3313         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
3314         (WebInspector.CSSStyleDeclarationTextEditor):
3315
3316 2015-03-17  Matt Baker  <mattbaker@apple.com>
3317
3318         Web Inspector: Show rendering frames (and FPS) in Layout and Rendering timeline
3319         https://bugs.webkit.org/show_bug.cgi?id=142029
3320
3321         Reviewed by Timothy Hatcher.
3322
3323         Add UI for showing runloop records and their child records as a frame histogram,
3324         with the recording time on the x-axis and the frame duration on the y-axis. Each frame
3325         is comprised of colored regions representing the time spent in various activities (script,
3326         layout, etc).
3327
3328         Eventually the Frames timeline will replace the Layout & Rendering timeline. Until the views
3329         for the new timeline are finalized the Layout & Rendering timeline will remain in place.
3330
3331         * Localizations/en.lproj/localizedStrings.js:
3332         * UserInterface/Main.html:
3333         New string and files.
3334
3335         * UserInterface/Controllers/TimelineManager.js:
3336         (WebInspector.TimelineManager.prototype.eventRecorded):
3337         (WebInspector.TimelineManager.prototype.pageDidLoad):
3338         (WebInspector.TimelineManager.prototype._processNestedRecords):
3339         (WebInspector.TimelineManager.prototype._processRecord):
3340         (WebInspector.TimelineManager.prototype._processEvent):
3341         (WebInspector.TimelineManager.prototype._loadNewRecording):
3342         (WebInspector.TimelineManager.prototype.eventRecorded.processRecord): Deleted.
3343         Added support for new runloop record type and nested record handling.
3344
3345         * UserInterface/Images/Frames.png: Added.
3346         * UserInterface/Images/Frames@2x.png: Added.
3347         * UserInterface/Images/FramesLarge.png: Added.
3348         * UserInterface/Images/FramesLarge@2x.png: Added.
3349         New images for runloop timeline overview graph and runloop tree records.
3350
3351         * UserInterface/Models/RunLoopTimelineRecord.js: Added.
3352         (WebInspector.RunLoopTimelineRecord):
3353         (WebInspector.RunLoopTimelineRecord.prototype.get children):
3354         (WebInspector.RunLoopTimelineRecord.prototype.get durationRemainder):
3355         (WebInspector.RunLoopTimelineRecord.prototype.durationForRecords.get var):
3356         Extends TimelineRecord to add child records and subframe duration details.
3357
3358         * UserInterface/Models/Timeline.js:
3359         (WebInspector.Timeline.prototype.get displayName):
3360         (WebInspector.Timeline.prototype.get iconClassName):
3361         New UI strings and icons.
3362
3363         * UserInterface/Models/TimelineRecord.js:
3364         * UserInterface/Views/ContentView.js:
3365         (WebInspector.ContentView):
3366         * UserInterface/Views/LayoutTimelineView.js:
3367         (WebInspector.LayoutTimelineView.prototype._layoutTimelineRecordAdded):
3368         * UserInterface/Views/TimelineRecordTreeElement.js:
3369         (WebInspector.TimelineRecordTreeElement):
3370         Added support for new runloop record type.
3371
3372         * UserInterface/Views/RunLoopTimelineOverviewGraph.css: Added.
3373         (.timeline-overview-graph.runloop > .divider):
3374         (.timeline-overview-graph.runloop > .divider > span):
3375         New styles for runloop timeline graph.
3376
3377         * UserInterface/Views/RunLoopTimelineOverviewGraph.js: Added.
3378         (WebInspector.RunLoopTimelineOverviewGraph):
3379         (WebInspector.RunLoopTimelineOverviewGraph.prototype.updateLayout.createFrame):
3380         (WebInspector.RunLoopTimelineOverviewGraph.prototype.get graphHeightSeconds.this):
3381         (WebInspector.RunLoopTimelineOverviewGraph.prototype.get graphHeightSeconds):
3382         (WebInspector.RunLoopTimelineOverviewGraph.prototype._updateDividers.createDividerAtPosition.get if):
3383         New overview graph for displaying TimelineRecordFrames and horizontal frame budget dividers.
3384
3385         * UserInterface/Views/TimelineIcons.css:
3386         (.runloop-icon .icon):
3387         (.runloop-icon.large .icon):
3388         (.runloop-record .icon):
3389         * UserInterface/Views/TimelineSidebarPanel.js:
3390         New runloop icon styles.
3391
3392         * UserInterface/Views/TimelineOverviewGraph.js:
3393         (WebInspector.TimelineOverviewGraph):
3394         Updated factory to support creation of the new overview graph.
3395
3396         * UserInterface/Views/TimelineRecordFrame.css: Added.
3397         (.timeline-record-frame):
3398         (.timeline-record-frame > .frame):
3399         (.timeline-record-frame > .dropped):
3400         (.timeline-record-frame > .frame > .duration):
3401         (.timeline-record-frame > .frame > .duration:first-child):
3402         (.timeline-record-frame > .frame > .duration:last-child):
3403         (.timeline-record-frame > .frame > .duration.timeline-record-type-network):
3404         (.timeline-record-frame > .frame > .duration.timeline-record-type-layout):
3405         (.timeline-record-frame > .frame > .duration.timeline-record-type-script):
3406         New styles for frame bars in the runloop timeline graph.
3407
3408         * UserInterface/Views/TimelineRecordFrame.js: Added.
3409         (WebInspector.TimelineRecordFrame):
3410         (WebInspector.TimelineRecordFrame.createCombinedFrames):
3411         (WebInspector.TimelineRecordFrame.prototype.get element):
3412         (WebInspector.TimelineRecordFrame.prototype.get duration):
3413         (WebInspector.TimelineRecordFrame.prototype.get records):
3414         (WebInspector.TimelineRecordFrame.prototype.set records):
3415         (WebInspector.TimelineRecordFrame.prototype._updateChildElements.createDurationElement):
3416         New view representing a single frame within the runloop overview graph.
3417
3418         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
3419         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
3420         New files.
3421
3422 2015-03-16  Joseph Pecoraro  <pecoraro@apple.com>
3423
3424         Web Inspector: Add more DOM Native Function parameter strings
3425         https://bugs.webkit.org/show_bug.cgi?id=142760
3426
3427         Reviewed by Timothy Hatcher.
3428
3429         * UserInterface/Models/NativeFunctionParameters.js:
3430         Add native parameter strings generated and hand modified
3431         for DOM built-in classes.
3432
3433         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
3434         For native constructors "FooConstructor" the description is just
3435         the name of the Constructor not the function string.
3436
3437 2015-03-16  Joseph Pecoraro  <pecoraro@apple.com>
3438
3439         Web Inspector: Object Previews in Indexed DB tables
3440         https://bugs.webkit.org/show_bug.cgi?id=140813
3441
3442         Reviewed by Timothy Hatcher.
3443
3444         * UserInterface/Views/FormattedValue.js:
3445         (WebInspector.FormattedValue.createObjectTreeOrFormattedValueForRemoteObject):
3446         Add a boolean param for ObjectTree construction if it should force allowing object expansion.
3447
3448         * UserInterface/Views/IndexedDatabaseEntryDataGridNode.js:
3449         (WebInspector.IndexedDatabaseEntryDataGridNode.prototype.createCellContent):
3450         Switch to creating an ObjectTree or FormattedValue.
3451
3452         * UserInterface/Views/IndexedDatabaseObjectStoreContentView.css:
3453         (.content-view.indexed-database-object-store > .data-grid tr.selected):
3454         Change row selection color to match the console's lighter blue instead of dark blue.
3455
3456         (.content-view.indexed-database-object-store > .data-grid .object-tree > :matches(.title, .object-preview)::before):
3457         Adjust object tree disclosure triangle placement for larger line heights.
3458
3459         (.content-view.indexed-database-object-store > .data-grid td .section .header): Deleted.
3460         (.content-view.indexed-database-object-store > .data-grid td .section .header::before): Deleted.
3461         (.content-view.indexed-database-object-store > .data-grid td .section .header .title): Deleted.
3462         (.content-view.indexed-database-object-store > .data-grid:focus tr.selected td .section .header::before): Deleted.
3463         (.content-view.indexed-database-object-store > .data-grid:focus tr.selected td .section.expanded .header::before): Deleted.
3464         (.content-view.indexed-database-object-store > .data-grid:focus tr.selected td .properties-tree li.parent::before): Deleted.
3465         (.content-view.indexed-database-object-store > .data-grid:focus tr.selected td .properties-tree li.parent.expanded::before): Deleted.
3466         (.content-view.indexed-database-object-store > .data-grid:focus tr.selected td .properties-tree li *): Deleted.
3467         Remove now unnecessary styles.
3468
3469         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
3470         (.object-tree .object-tree-array-index > .icon):
3471         Increase the specificity to override ".data-grid td .icon" styles.
3472
3473 2015-03-16  Joseph Pecoraro  <pecoraro@apple.com>
3474
3475         Web Inspector: Better Console Previews for Arrays / Small Objects
3476         https://bugs.webkit.org/show_bug.cgi?id=142322
3477
3478         Reviewed by Timothy Hatcher.
3479
3480         * UserInterface/Views/ObjectPreviewView.js:
3481         If there is a sub-preview, show the sub-preview.
3482
3483         * UserInterface/Views/ObjectTreeView.js:
3484         (WebInspector.ObjectTreeView):
3485         For an ObjectTree that is not a root (e.g. one inside of
3486         an array/set/map property tree element) allow it to be
3487         expanded even if the preview is lossless.
3488
3489 2015-03-16  Nikita Vasilyev  <nvasilyev@apple.com>
3490
3491         Web Inspector: Rename ConsoleMessage and ConsoleMessageImpl to LegacyConsoleMessage and LegacyConsoleMessageImpl respectively
3492         https://bugs.webkit.org/show_bug.cgi?id=142712
3493
3494         As a first step of ConsoleMessage refactoring (https://bugs.webkit.org/show_bug.cgi?id=142599):
3495
3496           - Rename WebInspector.ConsoleMessage class to WebInspector.LegacyConsoleMessage
3497           - Rename WebInspector.ConsoleMessageImpl class to WebInspector.LegacyConsoleMessageImpl
3498           - Rename ConsoleMessage.js file to LegacyConsoleMessage.js
3499           - Rename ConsoleMessageImpl file to LegacyConsoleMessageImpl.js
3500
3501         Reviewed by Joseph Pecoraro.
3502
3503         * UserInterface/Controllers/JavaScriptLogViewController.js:
3504         (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage):
3505         * UserInterface/Controllers/LogManager.js:
3506         (WebInspector.LogManager.prototype.messageWasAdded):
3507         * UserInterface/Main.html:
3508         * UserInterface/Models/DefaultDashboard.js:
3509         (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
3510         * UserInterface/Views/ConsoleCommandResult.js:
3511         (WebInspector.ConsoleCommandResult):
3512         (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
3513         * UserInterface/Views/ConsoleGroup.js:
3514         (WebInspector.ConsoleGroup.prototype.render):
3515         * UserInterface/Views/LegacyConsoleMessage.js: Renamed from Source/WebInspectorUI/UserInterface/Views/ConsoleMessage.js.
3516         (WebInspector.LegacyConsoleMessage):
3517         (WebInspector.LegacyConsoleMessage.prototype.isErrorOrWarning):
3518         (WebInspector.LegacyConsoleMessage.prototype.updateRepeatCount):
3519         (WebInspector.LegacyConsoleMessage.prototype.clone):
3520         (WebInspector.LegacyConsoleMessage.create):
3521         * UserInterface/Views/LegacyConsoleMessageImpl.js: Renamed from Source/WebInspectorUI/UserInterface/Views/ConsoleMessageImpl.js.
3522         (WebInspector.LegacyConsoleMessageImpl):
3523         (WebInspector.LegacyConsoleMessageImpl.prototype._formatMessage):
3524         (WebInspector.LegacyConsoleMessageImpl.prototype._shouldDumpStackTrace):
3525         (WebInspector.LegacyConsoleMessageImpl.prototype._shouldHideURL):
3526         (WebInspector.LegacyConsoleMessageImpl.prototype._firstNonNativeCallFrame):
3527         (WebInspector.LegacyConsoleMessageImpl.prototype.get message):
3528         (WebInspector.LegacyConsoleMessageImpl.prototype.get formattedMessage):
3529         (WebInspector.LegacyConsoleMessageImpl.prototype._linkifyLocation):
3530         (WebInspector.LegacyConsoleMessageImpl.prototype._linkifyCallFrame):
3531         (WebInspector.LegacyConsoleMessageImpl.prototype.isErrorOrWarning):
3532         (WebInspector.LegacyConsoleMessageImpl.prototype._format):
3533         (WebInspector.LegacyConsoleMessageImpl.prototype._isExpandable):
3534         (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameter):
3535         (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsValue):
3536         (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsObject):
3537         (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsString):
3538         (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsNode):
3539         (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsArray):
3540         (WebInspector.LegacyConsoleMessageImpl.prototype._rootPropertyPathForObject):
3541         (WebInspector.LegacyConsoleMessageImpl.prototype._userProvidedColumnNames):
3542         (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsTable):
3543         (WebInspector.LegacyConsoleMessageImpl.prototype.):
3544         (WebInspector.LegacyConsoleMessageImpl.prototype.stringFormatter):
3545         (WebInspector.LegacyConsoleMessageImpl.prototype.floatFormatter):
3546         (WebInspector.LegacyConsoleMessageImpl.prototype.integerFormatter):
3547         (WebInspector.LegacyConsoleMessageImpl.prototype.styleFormatter):
3548         (WebInspector.LegacyConsoleMessageImpl.prototype.isWhitelistedProperty):
3549         (WebInspector.LegacyConsoleMessageImpl.prototype.append):
3550         (WebInspector.LegacyConsoleMessageImpl.prototype._formatWithSubstitutionString):
3551         (WebInspector.LegacyConsoleMessageImpl.prototype.decorateMessageElement):
3552         (WebInspector.LegacyConsoleMessageImpl.prototype.toMessageElement):
3553         (WebInspector.LegacyConsoleMessageImpl.prototype._populateStackTraceTreeElement):
3554         (WebInspector.LegacyConsoleMessageImpl.prototype.updateRepeatCount):
3555         (WebInspector.LegacyConsoleMessageImpl.prototype.toString):
3556         (WebInspector.LegacyConsoleMessageImpl.prototype.get text):
3557         (WebInspector.LegacyConsoleMessageImpl.prototype.isEqual):
3558         (WebInspector.LegacyConsoleMessageImpl.prototype.get stackTrace):
3559         (WebInspector.LegacyConsoleMessageImpl.prototype.clone):
3560         (WebInspector.LegacyConsoleMessageImpl.prototype.get levelString):
3561         (WebInspector.LegacyConsoleMessageImpl.prototype.get clipboardPrefixString):
3562         (WebInspector.LegacyConsoleMessageImpl.prototype.toClipboardString):
3563         * UserInterface/Views/LogContentView.js:
3564         (WebInspector.LogContentView.prototype.didAppendConsoleMessage):
3565         (WebInspector.LogContentView.prototype._messageAdded):
3566         (WebInspector.LogContentView.prototype._filterMessages):
3567         (WebInspector.LogContentView.prototype._reappendProvisionalMessages):
3568         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
3569         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
3570
3571 2015-03-16  Commit Queue  <commit-queue@webkit.org>
3572
3573         Unreviewed, rolling out r181517.
3574         https://bugs.webkit.org/show_bug.cgi?id=142718
3575
3576         This patch broke GTK+ build (Requested by NVI on #webkit).
3577
3578         Reverted changeset:
3579
3580         "Web Inspector: Rename ConsoleMessage and ConsoleMessageImpl
3581         to LegacyConsoleMessage and LegacyConsoleMessageImpl
3582         respectively"
3583         https://bugs.webkit.org/show_bug.cgi?id=142712
3584         http://trac.webkit.org/changeset/181517
3585
3586 2015-03-15  Nikita Vasilyev  <nvasilyev@apple.com>
3587
3588         Web Inspector: Console Scrolls Unexpectedly when Clicking inside un-selected Expanding Object
3589         https://bugs.webkit.org/show_bug.cgi?id=142655
3590
3591         Don't scroll when selection change is triggered by clicking, e.g.
3592         only scroll on arrow up and down key press events.
3593
3594         Reviewed by Joseph Pecoraro.
3595
3596         * UserInterface/Views/LogContentView.js:
3597         (WebInspector.LogContentView.prototype._mousemove):
3598         (WebInspector.LogContentView.prototype._updateMessagesSelection):
3599         (WebInspector.LogContentView.prototype._upArrowWasPressed):
3600         (WebInspector.LogContentView.prototype._downArrowWasPressed):
3601
3602 2015-03-15  Nikita Vasilyev  <nvasilyev@apple.com>
3603
3604         Web Inspector: Rename ConsoleMessage and ConsoleMessageImpl to LegacyConsoleMessage and LegacyConsoleMessageImpl respectively
3605         https://bugs.webkit.org/show_bug.cgi?id=142712
3606
3607         As a first step of ConsoleMessage refactoring (https://bugs.webkit.org/show_bug.cgi?id=142599):
3608
3609           - Rename WebInspector.ConsoleMessage class to WebInspector.LegacyConsoleMessage
3610           - Rename WebInspector.ConsoleMessageImpl class to WebInspector.LegacyConsoleMessageImpl
3611           - Rename ConsoleMessage.js file to LegacyConsoleMessage.js
3612           - Rename ConsoleMessageImpl file to LegacyConsoleMessageImpl.js
3613
3614         Reviewed by Joseph Pecoraro.
3615
3616         * UserInterface/Controllers/JavaScriptLogViewController.js:
3617         (WebInspector.JavaScriptLogViewController.prototype._appendConsoleMessage):
3618         * UserInterface/Controllers/LogManager.js:
3619         (WebInspector.LogManager.prototype.messageWasAdded):
3620         * UserInterface/Main.html:
3621         * UserInterface/Models/DefaultDashboard.js:
3622         (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
3623         * UserInterface/Views/ConsoleCommandResult.js:
3624         (WebInspector.ConsoleCommandResult):
3625         (WebInspector.ConsoleCommandResult.prototype.toMessageElement):
3626         * UserInterface/Views/ConsoleGroup.js:
3627         (WebInspector.ConsoleGroup.prototype.render):
3628         * UserInterface/Views/LegacyConsoleMessage.js: Renamed from Source/WebInspectorUI/UserInterface/Views/ConsoleMessage.js.
3629         (WebInspector.LegacyConsoleMessage):
3630         (WebInspector.LegacyConsoleMessage.prototype.isErrorOrWarning):
3631         (WebInspector.LegacyConsoleMessage.prototype.updateRepeatCount):
3632         (WebInspector.LegacyConsoleMessage.prototype.clone):
3633         (WebInspector.LegacyConsoleMessage.create):
3634         * UserInterface/Views/LegacyConsoleMessageImpl.js: Renamed from Source/WebInspectorUI/UserInterface/Views/ConsoleMessageImpl.js.
3635         (WebInspector.LegacyConsoleMessageImpl):
3636         (WebInspector.LegacyConsoleMessageImpl.prototype._formatMessage):
3637         (WebInspector.LegacyConsoleMessageImpl.prototype._shouldDumpStackTrace):
3638         (WebInspector.LegacyConsoleMessageImpl.prototype._shouldHideURL):
3639         (WebInspector.LegacyConsoleMessageImpl.prototype._firstNonNativeCallFrame):
3640         (WebInspector.LegacyConsoleMessageImpl.prototype.get message):
3641         (WebInspector.LegacyConsoleMessageImpl.prototype.get formattedMessage):
3642         (WebInspector.LegacyConsoleMessageImpl.prototype._linkifyLocation):
3643         (WebInspector.LegacyConsoleMessageImpl.prototype._linkifyCallFrame):
3644         (WebInspector.LegacyConsoleMessageImpl.prototype.isErrorOrWarning):
3645         (WebInspector.LegacyConsoleMessageImpl.prototype._format):
3646         (WebInspector.LegacyConsoleMessageImpl.prototype._isExpandable):
3647         (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameter):
3648         (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsValue):
3649         (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsObject):
3650         (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsString):
3651         (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsNode):
3652         (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsArray):
3653         (WebInspector.LegacyConsoleMessageImpl.prototype._rootPropertyPathForObject):
3654         (WebInspector.LegacyConsoleMessageImpl.prototype._userProvidedColumnNames):
3655         (WebInspector.LegacyConsoleMessageImpl.prototype._formatParameterAsTable):
3656         (WebInspector.LegacyConsoleMessageImpl.prototype.):
3657         (WebInspector.LegacyConsoleMessageImpl.prototype.stringFormatter):
3658         (WebInspector.LegacyConsoleMessageImpl.prototype.floatFormatter):
3659         (WebInspector.LegacyConsoleMessageImpl.prototype.integerFormatter):
3660         (WebInspector.LegacyConsoleMessageImpl.prototype.styleFormatter):
3661         (WebInspector.LegacyConsoleMessageImpl.prototype.isWhitelistedProperty):
3662         (WebInspector.LegacyConsoleMessageImpl.prototype.append):
3663         (WebInspector.LegacyConsoleMessageImpl.prototype._formatWithSubstitutionString):
3664         (WebInspector.LegacyConsoleMessageImpl.prototype.decorateMessageElement):
3665         (WebInspector.LegacyConsoleMessageImpl.prototype.toMessageElement):
3666         (WebInspector.LegacyConsoleMessageImpl.prototype._populateStackTraceTreeElement):
3667         (WebInspector.LegacyConsoleMessageImpl.prototype.updateRepeatCount):
3668         (WebInspector.LegacyConsoleMessageImpl.prototype.toString):
3669         (WebInspector.LegacyConsoleMessageImpl.prototype.get text):
3670         (WebInspector.LegacyConsoleMessageImpl.prototype.isEqual):
3671         (WebInspector.LegacyConsoleMessageImpl.prototype.get stackTrace):
3672         (WebInspector.LegacyConsoleMessageImpl.prototype.clone):
3673         (WebInspector.LegacyConsoleMessageImpl.prototype.get levelString):
3674         (WebInspector.LegacyConsoleMessageImpl.prototype.get clipboardPrefixString):
3675         (WebInspector.LegacyConsoleMessageImpl.prototype.toClipboardString):
3676         * UserInterface/Views/LogContentView.js:
3677         (WebInspector.LogContentView.prototype.didAppendConsoleMessage):
3678         (WebInspector.LogContentView.prototype._messageAdded):
3679         (WebInspector.LogContentView.prototype._filterMessages):
3680         (WebInspector.LogContentView.prototype._reappendProvisionalMessages):
3681         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
3682         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
3683
3684 2015-03-12  Jono Wells  <jonowells@apple.com>
3685
3686         Web Inspector: Debugger sidebar should group global breakpoints together
3687         https://bugs.webkit.org/show_bug.cgi?id=142607
3688
3689         Reviewed by Timothy Hatcher.
3690
3691         Update the DebuggerSidebarPanel class to hold global breakpoints such as "All Exceptions" in one container. This
3692         will be the place future such breakpoints are added.
3693
3694         * Localizations/en.lproj/localizedStrings.js: Added string.
3695         * UserInterface/Main.html: Small rearrangement.
3696
3697         * UserInterface/Views/DebuggerSidebarPanel.js: Change how exception breaking options are displayed.
3698         (WebInspector.DebuggerSidebarPanel):
3699         (WebInspector.DebuggerSidebarPanel.prototype._treeElementSelected):
3700         (WebInspector.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements):
3701
3702         * UserInterface/Views/FolderTreeElement.js: Support additional classes for icons.
3703         * UserInterface/Views/ResourceSidebarPanel.js: Change call to FolderTreeElement constructor.
3704
3705 2015-03-12  Joseph Pecoraro  <pecoraro@apple.com>
3706
3707         Web Inspector: Console Errors during provisional document loads get lost with "Clear Log on Reload"
3708         https://bugs.webkit.org/show_bug.cgi?id=142603
3709
3710         Reviewed by Timothy Hatcher.
3711
3712         * UserInterface/Views/LogContentView.js:
3713         (WebInspector.LogContentView.prototype._messageAdded):
3714         (WebInspector.LogContentView.prototype._provisionalLoadStarted):
3715         Detect a provisional load has started to start save messages that come in at this time.
3716
3717         (WebInspector.LogContentView.prototype._sessionStarted):
3718         Reappend provisional load messages if we auto-cleared.
3719
3720         (WebInspector.LogContentView.prototype._reappendProvisionalMessages):
3721         (WebInspector.LogContentView.prototype._clearProvisionalState):
3722         Helpers for dealing with the provisional loading state.
3723
3724 2015-03-11  Joseph Pecoraro  <pecoraro@apple.com>
3725
3726         Web Inspector: CSS parser errors in the console should include column numbers
3727         https://bugs.webkit.org/show_bug.cgi?id=114313
3728
3729         Reviewed by Darin Adler.
3730
3731         * UserInterface/Views/ConsoleMessageImpl.js:
3732         (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
3733         Column numbers in console messages are also 1 based and should be adjusted.
3734
3735 2015-03-11  Commit Queue  <commit-queue@webkit.org>
3736
3737         Unreviewed, rolling out r181367.
3738         https://bugs.webkit.org/show_bug.cgi?id=142581
3739
3740         Caused crashes on the debug bots (Requested by cdumez on
3741         #webkit).
3742
3743         Reverted changeset:
3744
3745         "Web Inspector: CSS parser errors in the console should
3746         include column numbers"
3747         https://bugs.webkit.org/show_bug.cgi?id=114313
3748         http://trac.webkit.org/changeset/181367
3749
3750 2015-03-11  Joseph Pecoraro  <pecoraro@apple.com>
3751
3752         Web Inspector: Reload after Global Search results in empty Resources Sidebar.
3753         https://bugs.webkit.org/show_bug.cgi?id=142572
3754
3755         Reviewed by Timothy Hatcher.
3756
3757         If you reload when the search content tree outline is showing, break out
3758         to show the resource tree outline.
3759
3760         * UserInterface/Views/ResourceSidebarPanel.js:
3761         (WebInspector.ResourceSidebarPanel.prototype._showResourcesContentTreeOutline):
3762         (WebInspector.ResourceSidebarPanel.prototype._showSearchContentTreeOutline):
3763
3764 2015-03-11  Joseph Pecoraro  <pecoraro@apple.com>
3765
3766         Web Inspector: SearchResultTreeElement.representedObject is missing a saveIdentityToCookie implementation
3767         https://bugs.webkit.org/show_bug.cgi?id=134698
3768
3769         Reviewed by Timothy Hatcher.
3770
3771         This will restore selection of a global search tree element if you
3772         close and reopen the inspector in such a case.
3773
3774         * UserInterface/Models/DOMSearchMatchObject.js:
3775         (WebInspector.DOMSearchMatchObject.prototype.get resource):
3776         (WebInspector.DOMSearchMatchObject.titleForDOMNode):
3777         Cookie has the resource URL, DOM Node title, and text range.
3778
3779         * UserInterface/Models/SourceCodeSearchMatchObject.js:
3780         (WebInspector.SourceCodeSearchMatchObject.prototype.get sourceCodeTextRange):
3781         Cookie has the source code URL and text range.
3782
3783 2015-03-10  Joseph Pecoraro  <pecoraro@apple.com>
3784
3785         Web Inspector: CSS parser errors in the console should include column numbers
3786         https://bugs.webkit.org/show_bug.cgi?id=114313
3787
3788         Reviewed by Benjamin Poulain.
3789
3790         * UserInterface/Views/ConsoleMessageImpl.js:
3791         (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
3792         Column numbers in console messages are also 1 based and should be adjusted.
3793
3794 2015-03-10  Joseph Pecoraro  <pecoraro@apple.com>
3795
3796         Web Inspector: console.error output broken, does not produce ObjectTree
3797         https://bugs.webkit.org/show_bug.cgi?id=142554
3798
3799         Reviewed by Timothy Hatcher.
3800
3801         * UserInterface/Models/IssueMessage.js:
3802         (WebInspector.IssueMessage):
3803         * UserInterface/Protocol/ConsoleObserver.js:
3804         (WebInspector.ConsoleObserver.prototype.messageAdded):
3805
3806 2015-03-10  Saam Barati  <saambarati1@gmail.com>
3807
3808         Web Inspector: Destructuring function parameters should show type information
3809         https://bugs.webkit.org/show_bug.cgi?id=142233
3810
3811         Reviewed by Joseph Pecoraro.
3812
3813         JSC supports a function's formal parameter being a destructuring pattern, 
3814         and so should the type profiler in the Inspector. This was just an oversight 
3815         not to have this in bug 141215.
3816
3817         This patch also does a bit of refactoring to not have duplicate code
3818         that traverses AST nodes in TypeTokenAnnotator and ScriptSyntaxTree.
3819         Before, both of these classes were responsible for traversing the AST
3820         in an identical way, this is bad. Now, ScriptSyntaxTree contains the
3821         canonical implementation of how the AST should be traversed and which
3822         AST nodes should be collected for type profiling. ScriptSyntaxTree will
3823         pass this information back to TypeTokenAnnotator.
3824
3825         * UserInterface/Controllers/TypeTokenAnnotator.js:
3826         (WebInspector.TypeTokenAnnotator.prototype._insertTypeToken):
3827         (WebInspector.TypeTokenAnnotator.prototype._insertTypeTokensForEachNode): Deleted.
3828         * UserInterface/Models/ScriptSyntaxTree.js:
3829         (WebInspector.ScriptSyntaxTree.prototype.):
3830         (WebInspector.ScriptSyntaxTree.prototype.updateTypes):
3831         (WebInspector.ScriptSyntaxTree.prototype._gatherIdentifiersInDeclaration):
3832         (WebInspector.ScriptSyntaxTree.prototype.gatherIdentifiersInVariableDeclaration): Deleted.
3833
3834 2015-03-09  Joseph Pecoraro  <pecoraro@apple.com>
3835
3836         Web Inspector: Inline Error / Warning message for Issues
3837         https://bugs.webkit.org/show_bug.cgi?id=142520
3838
3839         Reviewed by Timothy Hatcher.
3840
3841         * Localizations/en.lproj/localizedStrings.js:
3842         * UserInterface/Main.html:
3843         New strings and new files.
3844
3845         * UserInterface/Controllers/IssueManager.js:
3846         (WebInspector.IssueManager.prototype.issueWasAdded):
3847         * UserInterface/Models/IssueMessage.js:
3848         (WebInspector.IssueMessage):
3849         (WebInspector.IssueMessage.prototype.get columnNumber):
3850         * UserInterface/Protocol/ConsoleObserver.js:
3851         (WebInspector.ConsoleObserver.prototype.messageAdded):
3852         Correctly pass the column number into IssueMessage.
3853
3854         * UserInterface/Models/LineWidget.js:
3855         (WebInspector.LineWidget):
3856         (WebInspector.LineWidget.prototype.get codeMirrorLineWidget):
3857         (WebInspector.LineWidget.prototype.get widgetElement):
3858         Create a new Model class for a LineWidget. The root element
3859         should never change, but its children can be updated.
3860
3861         * UserInterface/Views/SourceCodeTextEditor.css:
3862         (.source-code.text-editor .CodeMirror-linewidget):
3863         Override styles so that widgets can overlap line content.
3864
3865         (.source-code.text-editor >