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