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