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