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