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