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