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