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