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