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