Web Inspector: AXI: node-link-list should be collapsible
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2016-01-23  Aaron Chu  <arona.chu@gmail.com>
2
3         Web Inspector: AXI: node-link-list should be collapsible
4         https://bugs.webkit.org/show_bug.cgi?id=130911
5         
6         Reviewed by Timothy Hatcher.
7
8         Accessibility Inspector: for a very long children node list, only the first 5 nodes are shown.
9         Remaining nodes are hidden by a "# Moreā€¦" link by which a user can click to reveal the remainder 
10         of the node list.
11
12         * Localizations/en.lproj/localizedStrings.js:
13         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
14         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAccessibility.linkListForNodeIds):
15         * UserInterface/Views/Main.css:
16         (.expand-list-button):
17         (.node-link-list, .node-link-list li:not([hidden])):
18         (.node-link-list, .node-link-list li): Deleted.
19
20 2016-01-22  Joseph Pecoraro  <pecoraro@apple.com>
21
22         Web Inspector: Reduce unnecessary forced layouts in TimelineRuler
23         https://bugs.webkit.org/show_bug.cgi?id=153390
24         <rdar://problem/24312241>
25
26         Reviewed by Timothy Hatcher.
27
28         TimelineRuler's width rarely changes. It should only need to calculate
29         its width when added to the DOM or if the content view containing it
30         has resized and the bounds of the ruler may have changed.
31
32         Switch everything in TimelineRuler to using a cached width, and add
33         an explicit method, resize, to update this width. This eliminated
34         frequent hangs I was seeing while recording timelines.
35
36         * UserInterface/Views/OverviewTimelineView.js:
37         (WebInspector.OverviewTimelineView.prototype.shown):
38         (WebInspector.OverviewTimelineView.prototype.updateLayoutForResize):
39         Resize the ruler when the view is shown or resized.
40
41         * UserInterface/Views/TimelineOverview.js:
42         (WebInspector.TimelineOverview.prototype.shown):
43         (WebInspector.TimelineOverview.prototype.updateLayoutForResize):
44         Resize the ruler when the view is shown or resized.
45
46         * UserInterface/Views/TimelineRecordingContentView.js:
47         (WebInspector.TimelineRecordingContentView.prototype.layout):
48         Inform the current content view of a resize if possible.
49
50         * UserInterface/Views/TimelineRuler.js:
51         (WebInspector.TimelineRuler.prototype.resize):
52         Update the width.
53
54         (WebInspector.TimelineRuler.prototype._recalculate):
55         (WebInspector.TimelineRuler.prototype._needsMarkerLayout):
56         (WebInspector.TimelineRuler.prototype._needsSelectionLayout):
57         (WebInspector.TimelineRuler.prototype._handleMouseMove):
58         (WebInspector.TimelineRuler.prototype._handleSelectionHandleMouseMove):
59         Use cached width.
60
61         * UserInterface/Views/TimelineRecordBar.js:
62         (WebInspector.TimelineRecordBar.createCombinedBars): Deleted.
63         Remove some stale code.
64
65 2016-01-22  Devin Rousso  <dcrousso+webkit@gmail.com>
66
67         Web Inspector: Sidebar's should remember their width's
68         https://bugs.webkit.org/show_bug.cgi?id=153007
69
70         Reviewed by Timothy Hatcher.
71
72         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
73         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.widthDidChange):
74         Now calls superclass function.
75
76         * UserInterface/Views/Sidebar.js:
77         (WebInspector.Sidebar.prototype.set selectedSidebarPanel):
78         Now calls _recalculateWidth with the saved width value of the sidebar as
79         the first parameter.
80
81         (WebInspector.Sidebar.prototype.set collapsed):
82         Now only calls _recalculateWidth if the selected sidebar panel is visible,
83         seeing as if it is hidden the width is irrelevant.
84
85         * UserInterface/Views/SidebarPanel.js:
86         (WebInspector.SidebarPanel):
87         Creates a setting object using the panel's identifier to store the current width.
88
89         (WebInspector.SidebarPanel.prototype.get savedWidth):
90         (WebInspector.SidebarPanel.prototype.widthDidChange):
91         So long as the current width has a value, save it to the setting object.
92
93 2016-01-22  Devin Rousso  <dcrousso+webkit@gmail.com>
94
95         Web Inspector: Class toggle add icon flashes when changing nodes
96         https://bugs.webkit.org/show_bug.cgi?id=153341
97
98         Reviewed by Timothy Hatcher.
99
100         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
101         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._populateClassToggles):
102         Changed the way in which the class toggles are repopulated to prevent the
103         add class icon from being removed and re-added.
104
105 2016-01-21  Nikita Vasilyev  <nvasilyev@apple.com>
106
107         REGRESSION (r195305): Web Inspector: WebInspector.Object can dispatch constructor-level events multiple times
108         https://bugs.webkit.org/show_bug.cgi?id=153269
109         <rdar://problem/24253106>
110
111         Reviewed by Timothy Hatcher.
112
113         Bring back object.hasOwnProperty("_listeners") check.
114
115         * UserInterface/Base/Object.js:
116         (WebInspector.Object.prototype.dispatchEventToListeners.dispatch):
117         (WebInspector.Object.prototype.dispatchEventToListeners):
118         (WebInspector.Object):
119         Check !object._listeners before !object.hasOwnProperty("_listeners")
120         because !object._listeners is more common case thus we can exit earlier
121         most of the time.
122
123 2016-01-21  Devin Rousso  <dcrousso+webkit@gmail.com>
124
125         Web Inspector: Add toggle-able list of classes for each element
126         https://bugs.webkit.org/show_bug.cgi?id=152678
127
128         Reviewed by Timothy Hatcher.
129
130         Adds a button to the CSS sidebar that, when toggled, displays a section
131         directly above it containing all the classes for the selected node that,
132         when toggled, adds or removes the class from the node.
133
134         * Localizations/en.lproj/localizedStrings.js:
135
136         * UserInterface/Protocol/RemoteObject.js:
137         (WebInspector.RemoteObject.prototype.callFunction.mycallback):
138         (WebInspector.RemoteObject.prototype.callFunction):
139         Add extra handling of arguments to allow nicer looking calls by other classes.
140
141         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
142         Changed next-sibling selector (+) to general-sibling selector (~).
143
144         (.sidebar > .panel.details.css-style > .content ~ :matches(.options-container, .class-list-container)):
145         (.sidebar > .panel.details.css-style > .content:not(.supports-new-rule, .has-filter-bar) ~ :matches(.options-container, .class-list-container)):
146         (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
147         (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle.selected):
148         (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle:not(.selected):hover):
149         (.sidebar > .panel.details.css-style > .content ~ .class-list-container):
150         (.sidebar > .panel.details.css-style > .content ~ .class-list-container[hidden]):
151         (.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class):
152         (.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > input[type="checkbox"]):
153         (.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .add-class-icon):
154         (.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .class-name-input):
155         (.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class:not(.active) > .class-name-input):
156         (.sidebar > .panel.details.css-style > .content ~ .class-list-container > *:matches(.new-class, .class-toggle)):
157
158         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
159         (WebInspector.CSSStyleDetailsSidebarPanel):
160         Also changed the few instances of "var" to "let".
161
162         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
163         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.addEventListeners):
164         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._handleNodeAttributeModified):
165         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._handleNodeAttributeRemoved):
166         Adds listeners to the DOMNode specifically listening for changes to the
167         class attribute and repopulates the class toggle list if fired.
168
169         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._classToggleButtonClicked):
170         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._addClassContainerClicked):
171         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._addClassInputKeyPressed):
172         If the Enter key is pressed, add a new class equal to the input value.
173
174         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._addClassInputBlur):
175         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._populateClassToggles):
176         Loops through all the classes, including previously removed ones, for the
177         selected node and creates a toggle for each.
178
179         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._createToggleForClassName.classNameToggleChanged):
180         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._createToggleForClassName):
181         Creates a toggle element for the given className and adds it to the container.
182
183         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.resolvedNode.toggleClass):
184         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass.resolvedNode):
185         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._toggleClass):
186         Uses the Element.classList to toggle the given className on the selected node.
187
188 2016-01-20  Saam barati  <sbarati@apple.com>
189
190         Web Inspector: Hook the sampling profiler into the Timelines UI
191         https://bugs.webkit.org/show_bug.cgi?id=152766
192         <rdar://problem/24066360>
193
194         Reviewed by Joseph Pecoraro.
195
196         The main change in this patch is to swap in the SamplingProfiler
197         in place of the LegacyProfiler. To do this, we've created a data
198         structure called CallingContextTree which aggregates the SamplingProfiler's
199         data into an easy to manage tree. To see how the data structure works,
200         consider the following program:
201         ```
202         function bar() { // run code here for a long time. }
203         function baz() { // run code here for a long time. }
204         function foo() { bar(); baz(); }
205         foo();
206         ```
207         From this program, we will create a tree like this:
208                         (program)
209                             |
210                             |
211                            foo
212                            | |
213                           /   \
214                          /     \
215                         bar     baz
216         
217         From this type of tree, we can easily create a CPUProfile payload
218         object. Because the Timelines UI knows how to interact with the
219         CPUProfile object and display it, we currently map the tree to this object
220         to make it trivially easy to display the SamplingProfiler's data. In the future,
221         we may want to find ways to work directly with the CallingContextTree instead
222         of mapping it into another object.
223
224         * Localizations/en.lproj/localizedStrings.js:
225         * UserInterface/Controllers/TimelineManager.js:
226         * UserInterface/Main.html:
227         * UserInterface/Models/CallingContextTree.js: Added.
228         * UserInterface/Models/ScriptInstrument.js:
229         * UserInterface/Protocol/ScriptProfilerObserver.js:
230         * UserInterface/TestStub.html:
231         * UserInterface/Views/ScriptTimelineView.js:
232
233 2016-01-19  Joseph Pecoraro  <pecoraro@apple.com>
234
235         Web Inspector: Uncaught exception when logging an Error object
236         https://bugs.webkit.org/show_bug.cgi?id=153258
237         <rdar://problem/24249068>
238
239         Reviewed by Timothy Hatcher.
240
241         * UserInterface/Views/ErrorObjectView.js:
242         (WebInspector.ErrorObjectView):
243         Initialize members that are used later for clarity.
244
245         (WebInspector.ErrorObjectView.prototype.collapse):
246         (WebInspector.ErrorObjectView.prototype.expand):
247         This never has a previewView, remove it.
248
249         (WebInspector.ErrorObjectView.prototype.appendTitleSuffix):
250         Add the suffix ("= $1") after the description and before the
251         content tree outline.
252
253 2016-01-19  Nikita Vasilyev  <nvasilyev@apple.com>
254
255         Web Inspector: Subclasses of WebInspector.Object shouldn't overwrite this._listeners
256         https://bugs.webkit.org/show_bug.cgi?id=153268
257         <rdar://problem/24252766>
258
259         Reviewed by Timothy Hatcher.
260
261         * UserInterface/Base/Object.js:
262         (WebInspector.Object.prototype.dispatchEventToListeners):
263         Add a console.assert.
264
265         * UserInterface/Views/BreakpointTreeElement.js:
266         (WebInspector.BreakpointTreeElement):
267         (WebInspector.BreakpointTreeElement.prototype.onattach):
268         (WebInspector.BreakpointTreeElement.prototype.ondetach):
269         * UserInterface/Views/ProbeSetDataGrid.js:
270         (WebInspector.ProbeSetDataGrid):
271         (WebInspector.ProbeSetDataGrid.prototype.closed):
272         * UserInterface/Views/ProbeSetDetailsSection.js:
273         (WebInspector.ProbeSetDetailsSection):
274         (WebInspector.ProbeSetDetailsSection.prototype.closed):
275         Replace all instances of "this._listeners" with "this._listenerSet".
276
277 2016-01-19  Timothy Hatcher  <timothy@apple.com>
278
279         Web Inspector: Add protocol version for iOS 9.3
280         https://bugs.webkit.org/show_bug.cgi?id=153256
281         rdar://problem/24247951
282
283         Reviewed by Joseph Pecoraro.
284
285         * UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js: Added.
286         * Versions/Inspector-iOS-9.3.json: Added.
287
288 2016-01-19  Joseph Pecoraro  <pecoraro@apple.com>
289
290         REGRESSION: Web Inspector: Hovering linkified node references should show node highlight
291         https://bugs.webkit.org/show_bug.cgi?id=153248
292         <rdar://problem/24245518>
293
294         Reviewed by Timothy Hatcher.
295
296         * UserInterface/Base/DOMUtilities.js:
297         Show the complete node highlight details (colors and node info).
298
299 2016-01-19  Nikita Vasilyev  <nvasilyev@apple.com>
300
301         Web Inspector: WebInspector.Object.addEventListener is O(n), make it O(1)
302         https://bugs.webkit.org/show_bug.cgi?id=152422
303         <rdar://problem/24038047>
304
305         Reviewed by Timothy Hatcher.
306
307         Slow addEventListener was the main cause of Console sluggishness[1].
308
309         This patch changes:
310         addEventListener from O(n) to O(1)
311         removeEventListener from O(n) to O(1)
312
313         Now, addEventListener and removeEventListener take <1ms regardless of the
314         number of listeners attached.
315
316         removeEventListener(null, null, thisObject), a special case when all events
317         for thisObject are removed, was improved from O(n^2) to O(n).
318
319         * UserInterface/Base/LinkedList.js: Added.
320         (LinkedList):
321         (LinkedList.prototype.clear):
322         (LinkedList.prototype.get last):
323         (LinkedList.prototype.push):
324         (LinkedList.prototype.remove):
325         (LinkedList.prototype.forEach):
326         (LinkedList.prototype.toArray):
327         (LinkedList.prototype.toJSON):
328         (LinkedListNode):
329         LinkedList ensures O(1) time complexity for push and remove operations.
330
331         * UserInterface/Base/ListMultimap.js: Added.
332         (ListMultimap):
333         (ListMultimap.prototype.get size):
334         (ListMultimap.prototype.add):
335         (ListMultimap.prototype.delete):
336         (ListMultimap.prototype.deleteAll):
337         (ListMultimap.prototype.has):
338         (ListMultimap.prototype.clear):
339         (ListMultimap.prototype.forEach):
340         (ListMultimap.prototype.toArray):
341         (ListMultimap.prototype.toJSON):
342         ListMultimap unsures O(1) time complexity for add, has and delete operations.
343         ListMultimap preserves insertion order by using a LinkedList.
344
345         * UserInterface/Base/Object.js:
346         (WebInspector.Object):
347         (WebInspector.Object.addEventListener):
348         (WebInspector.Object.removeEventListener):
349         (WebInspector.Object.hasEventListeners):
350         (WebInspector.Object.retainedObjectsWithPrototype):
351         (WebInspector.Object.prototype.dispatchEventToListeners):
352         Replace this._listeners[eventType] from array of objects to ListMultimap.
353
354         * UserInterface/Main.html:
355         * UserInterface/Test.html:
356         * UserInterface/TestStub.html:
357
358 2016-01-19  Matt Baker  <mattbaker@apple.com>
359
360         Web Inspector: cleanup TreeOutline class and separate styles from NavigationSidebarPanel
361         https://bugs.webkit.org/show_bug.cgi?id=153146
362         <rdar://problem/24213071>
363
364         Reviewed by Timothy Hatcher.
365
366         This patch consolidates and simplifies the tree outline styles that were previously
367         defined across various classes. A new stylesheet, TreeOutline.css, includes all
368         the styles needed to create a basic TreeOutline.
369
370         In addition, certain tree features which were previously controlled by manually
371         toggling class names have been promoted to properties of TreeOutline:
372          - compact: tree elements have reduced vertical spacing. Used by object trees.
373            The compact and large settings are mutually exclusive.
374          - large: tree elements (and their icons) are large. Used by TimelinesSidebarPanel.
375            Previously there existed a `small` class name which was enabled in every
376            case except TimelineSidebarPanel's Timelines tree. Since it was the rule rather
377            than the exception the class has been removed and is now the default style.
378          - disclosureButtons: control the appearance of disclosure buttons.
379          - customIndent: control use of generated style rules.
380
381         * UserInterface/Main.html:
382         New CSS file.
383
384         * UserInterface/Views/ApplicationCacheFrameTreeElement.js:
385         (WebInspector.ApplicationCacheFrameTreeElement): Deleted.
386         * UserInterface/Views/BreakpointTreeElement.js:
387         (WebInspector.BreakpointTreeElement): Deleted.
388         * UserInterface/Views/CallFrameTreeElement.js:
389         (WebInspector.CallFrameTreeElement): Deleted.
390         * UserInterface/Views/ContentFlowTreeElement.js:
391         (WebInspector.ContentFlowTreeElement): Deleted.
392         Removed call to obsolete TreeOutline.prototype.small setter.
393
394         * UserInterface/Views/DOMTreeOutline.css:
395         (.tree-outline.dom):
396         (.tree-outline.dom li.hovered:not(.selected) .selection):
397         (.tree-outline.dom li .selection):
398         (.tree-outline.dom li.selected .selection):
399         (.tree-outline.dom li.elements-drag-over .selection):
400         (.tree-outline.dom:focus li.selected .selection):
401         (.tree-outline.dom li.selected > span::after):
402         (.tree-outline.dom:focus li.selected > span::after):
403         (.tree-outline.dom ol):
404         (.tree-outline.dom ol.children):
405         (.tree-outline.dom ol.children.expanded):
406         (.tree-outline.dom li):
407         (.tree-outline.dom li.pseudo-class-enabled > .selection::before):
408         (.tree-outline.dom.single-node li):
409         (.tree-outline.dom:focus li.selected):
410         (.tree-outline.dom:focus li.selected.pseudo-class-enabled > .selection::before):
411         (.tree-outline.dom:focus li.selected *):
412         (.tree-outline.dom li.parent):
413         (.tree-outline.dom li .html-tag.close):
414         (.tree-outline.dom li.parent::before):
415         (.tree-outline.dom:focus li.parent.selected::before):
416         (.tree-outline.dom li.parent.expanded::before):
417         (.tree-outline.dom:focus li.parent.expanded.selected::before):
418         (.tree-outline.dom .html-text-node.large):
419         (.tree-outline.dom .html-pseudo-element):
420         (.tree-outline.dom .html-fragment.shadow):
421         (.showing-find-banner .tree-outline.dom .search-highlight):
422         (.dom-tree-outline): Deleted.
423         (.dom-tree-outline li.hovered:not(.selected) .selection): Deleted.
424         (.dom-tree-outline li .selection): Deleted.
425         (.dom-tree-outline li.selected .selection): Deleted.
426         (.dom-tree-outline li.elements-drag-over .selection): Deleted.
427         (.dom-tree-outline:focus li.selected .selection): Deleted.
428         (.dom-tree-outline li.selected > span::after): Deleted.
429         (.dom-tree-outline:focus li.selected > span::after): Deleted.
430         (.dom-tree-outline ol): Deleted.
431         (.dom-tree-outline ol.children): Deleted.
432         (.dom-tree-outline ol.children.expanded): Deleted.
433         (.dom-tree-outline li): Deleted.
434         (.dom-tree-outline li.pseudo-class-enabled > .selection::before): Deleted.
435         (.dom-tree-outline.single-node li): Deleted.
436         (.dom-tree-outline:focus li.selected): Deleted.
437         (.dom-tree-outline:focus li.selected.pseudo-class-enabled > .selection::before): Deleted.
438         (.dom-tree-outline:focus li.selected *): Deleted.
439         (.dom-tree-outline li.parent): Deleted.
440         (.dom-tree-outline li .html-tag.close): Deleted.
441         (.dom-tree-outline li.parent::before): Deleted.
442         (.dom-tree-outline:focus li.parent.selected::before): Deleted.
443         (.dom-tree-outline li.parent.expanded::before): Deleted.
444         (.dom-tree-outline:focus li.parent.expanded.selected::before): Deleted.
445         (.dom-tree-outline .html-text-node.large): Deleted.
446         (.dom-tree-outline .html-pseudo-element): Deleted.
447         (.dom-tree-outline .html-fragment.shadow): Deleted.
448         (.showing-find-banner .dom-tree-outline .search-highlight): Deleted.
449         Updated selectors with new tree outline class names.
450
451         * UserInterface/Views/DOMTreeOutline.js:
452         (WebInspector.DOMTreeOutline):
453         Use default TreeOutline DOM element, and simplify element class name.
454
455         * UserInterface/Views/DatabaseTableTreeElement.js:
456         (WebInspector.DatabaseTableTreeElement): Deleted.
457         * UserInterface/Views/DatabaseTreeElement.js:
458         (WebInspector.DatabaseTreeElement): Deleted.
459         Removed call to obsolete TreeOutline.prototype.small setter.
460
461         * UserInterface/Views/ErrorObjectView.css:
462         (.error-object:not(.expanded) .tree-outline):
463         (.error-object .tree-outline):
464         (.error-object:not(.expanded) .error-object-outline): Deleted.
465         (.error-object-outline): Deleted.
466         Updated selectors with new tree outline class names.
467
468         * UserInterface/Views/ErrorObjectView.js:
469         (WebInspector.ErrorObjectView): Deleted.
470         Removed unused tree outline class name.
471
472         * UserInterface/Views/FolderTreeElement.js:
473         (WebInspector.FolderTreeElement): Deleted.
474         Removed call to obsolete TreeOutline.prototype.small setter.
475
476         * UserInterface/Views/FormattedValue.css:
477         (.formatted-node > .tree-outline.dom):
478         (.formatted-node > .tree-outline.dom ol):
479         (.formatted-node > .tree-outline.dom li):
480         (.formatted-node > .tree-outline.dom li.hovered:not(.selected) .selection):
481         (.formatted-node > .dom-tree-outline): Deleted.
482         (.formatted-node > .dom-tree-outline ol): Deleted.
483         (.formatted-node > .dom-tree-outline li): Deleted.
484         (.formatted-node > .dom-tree-outline li.hovered:not(.selected) .selection): Deleted.
485         Updated selectors with new tree outline class names.
486
487         * UserInterface/Views/GeneralTreeElement.js:
488         (WebInspector.GeneralTreeElement.prototype._updateTitleTooltip):
489         (WebInspector.GeneralTreeElement.prototype.get small): Deleted.
490         (WebInspector.GeneralTreeElement.prototype.set small): Deleted.
491         (WebInspector.GeneralTreeElement.prototype.get twoLine): Deleted.
492         (WebInspector.GeneralTreeElement.prototype.set twoLine): Deleted.
493         Removed properties `small` and `twoLine`. The first is no longer needed as
494         it is now the default tree element style. The second was not being used.
495
496         * UserInterface/Views/IndexedDatabaseObjectStoreIndexTreeElement.js:
497         (WebInspector.IndexedDatabaseObjectStoreIndexTreeElement): Deleted.
498         * UserInterface/Views/IndexedDatabaseObjectStoreTreeElement.js:
499         (WebInspector.IndexedDatabaseObjectStoreTreeElement): Deleted.
500         * UserInterface/Views/IndexedDatabaseTreeElement.js:
501         (WebInspector.IndexedDatabaseTreeElement): Deleted.
502         Removed call to obsolete TreeOutline.prototype.small setter.
503
504         * UserInterface/Views/IssueTreeElement.css:
505         (.navigation-sidebar-panel-content-tree-outline .item.small.issue .icon): Deleted.
506         No longer needed.
507
508         * UserInterface/Views/IssueTreeElement.js:
509         (WebInspector.IssueTreeElement): Deleted.
510         Removed call to obsolete TreeOutline.prototype.small setter.
511
512         * UserInterface/Views/LayoutTimelineView.css:
513         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.layout .item .subtitle):
514         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.layout .item .subtitle): Deleted.
515         Updated selectors with new tree outline class names.
516
517         * UserInterface/Views/LogTreeElement.js:
518         (WebInspector.LogTreeElement): Deleted.
519         Removed call to obsolete TreeOutline.prototype.small setter.
520
521         * UserInterface/Views/NavigationSidebarPanel.css:
522         (.navigation-sidebar-panel-content-tree-outline .children): Deleted.
523         (.navigation-sidebar-panel-content-tree-outline .children.expanded): Deleted.
524         (.navigation-sidebar-panel-content-tree-outline .item): Deleted.
525         (.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons > .children): Deleted.
526         (.navigation-sidebar-panel-content-tree-outline > .children.hide-disclosure-buttons > .children): Deleted.
527         (.navigation-sidebar-panel-content-tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) .icon): Deleted.
528         (.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item.small): Deleted.
529         (.navigation-sidebar-panel-content-tree-outline .item .disclosure-button): Deleted.
530         (.navigation-sidebar-panel-content-tree-outline.hide-disclosure-buttons .item .disclosure-button): Deleted.
531         (.navigation-sidebar-panel-content-tree-outline .item.parent .disclosure-button): Deleted.
532         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button): Deleted.
533         (.navigation-sidebar-panel-content-tree-outline .item.expanded .disclosure-button): Deleted.
534         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button): Deleted.
535         (.navigation-sidebar-panel-content-tree-outline .item .icon): Deleted.
536         (.navigation-sidebar-panel-content-tree-outline .item .status): Deleted.
537         (.navigation-sidebar-panel-content-tree-outline .item .status:empty): Deleted.
538         (.navigation-sidebar-panel-content-tree-outline .item.selected): Deleted.
539         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected): Deleted.
540         (body.window-inactive .navigation-sidebar-panel-content-tree-outline .item.selected): Deleted.
541         (.navigation-sidebar-panel-content-tree-outline .item .titles): Deleted.
542         (.navigation-sidebar-panel-content-tree-outline .item .highlighted): Deleted.
543         (.navigation-sidebar-panel-content-tree-outline .item .titles.no-subtitle): Deleted.
544         (.navigation-sidebar-panel-content-tree-outline .item .title::after): Deleted.
545         (.navigation-sidebar-panel-content-tree-outline .item .subtitle): Deleted.
546         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .subtitle): Deleted.
547         (.navigation-sidebar-panel-content-tree-outline .item .subtitle:empty): Deleted.
548         (.navigation-sidebar-panel-content-tree-outline .item.small): Deleted.
549         (.navigation-sidebar-panel-content-tree-outline .item.small.two-line): Deleted.
550         (.navigation-sidebar-panel-content-tree-outline .item.small .icon): Deleted.
551         (.navigation-sidebar-panel-content-tree-outline .item.small .status): Deleted.
552         (.navigation-sidebar-panel-content-tree-outline .item.small .status .indeterminate-progress-spinner): Deleted.
553         (.navigation-sidebar-panel-content-tree-outline .item.small .titles): Deleted.
554         (.navigation-sidebar-panel-content-tree-outline .item.small.two-line .status): Deleted.
555         (.navigation-sidebar-panel-content-tree-outline .item.small.two-line .titles): Deleted.
556         (.navigation-sidebar-panel-content-tree-outline .item.small.two-line .titles.no-subtitle): Deleted.
557         (.navigation-sidebar-panel-content-tree-outline .item.small .subtitle): Deleted.
558         (.navigation-sidebar-panel-content-tree-outline .item.small.two-line .icon): Deleted.
559         (.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .title::after): Deleted.
560         (.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .subtitle::before): Deleted.
561         Generic tree outline styles removed, cleaned up, and relocated to TreeOutline.css.
562
563         * UserInterface/Views/NavigationSidebarPanel.js:
564         Removed static property HideDisclosureButtonsStyleClassName, which is now
565         encapsulated by TreeOutline.
566         (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
567         Use default TreeOutline DOM element instead of creating it.
568         (WebInspector.NavigationSidebarPanel): Deleted.
569         Remove call to generate style rules.
570         (WebInspector.NavigationSidebarPanel.prototype._generateStyleRulesIfNeeded): Deleted.
571         Moved to TreeOutline.js.
572
573         * UserInterface/Views/NetworkSidebarPanel.css:
574         (.sidebar > .panel.navigation.network.network-grid-content-view-showing .tree-outline.network-grid .item .subtitle):
575         (.sidebar > .panel.navigation.network > .content > .tree-outline):
576         (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .tree-outline):
577         (.sidebar > .panel.navigation.network.network-grid-content-view-showing .navigation-sidebar-panel-content-tree-outline.network-grid .item .subtitle): Deleted.
578         (.sidebar > .panel.navigation.network > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.
579         (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.
580         Updated selectors with new tree outline class names.
581
582         * UserInterface/Views/NetworkSidebarPanel.js:
583         (WebInspector.NetworkSidebarPanel):
584         Disable tree outline disclosure buttons.
585
586         * UserInterface/Views/NetworkTimelineView.css:
587         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.network .item .subtitle):
588         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.network .item .subtitle): Deleted.
589         Updated selectors with new tree outline class names.
590
591         * UserInterface/Views/NetworkTimelineView.js:
592         (WebInspector.NetworkTimelineView):
593         Disable tree outline disclosure buttons.
594
595         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
596         (.object-tree-array-index .index-value .object-tree .tree-outline.object):
597         (.object-tree-array-index .index-value .formatted-node .tree-outline.dom):
598         (.object-tree-array-index .index-value .object-tree .object-tree-outline): Deleted.
599         (.object-tree-array-index .index-value .formatted-node .dom-tree-outline): Deleted.
600         Updated selectors with new tree outline class names.
601
602         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
603         (WebInspector.ObjectTreeBaseTreeElement): Deleted.
604         Removed call to obsolete TreeOutline.prototype.small setter.
605
606         * UserInterface/Views/ObjectTreePropertyTreeElement.css:
607         (.tree-outline .item.object-tree-property):
608         (.item.object-tree-property.prototype-property):
609         (.item.object-tree-property.prototype-property + ol):
610         (.object-tree-property): Deleted.
611         (.object-tree-property > .titles): Deleted.
612         (.object-tree-property > .disclosure-button): Deleted.
613         (.object-tree-property.parent > .disclosure-button): Deleted.
614         (.object-tree-property.parent.expanded > .disclosure-button): Deleted.
615         (.object-tree-property > .icon): Deleted.
616         (.object-tree-property.prototype-property): Deleted.
617         (.object-tree-property.prototype-property + ol): Deleted.
618         Updated selectors with new tree outline class names, removed styles which
619         are now provided by TreeOutline.css.
620
621         * UserInterface/Views/ObjectTreeView.css:
622         (.object-tree .tree-outline.object):
623         (.object-tree.expanded > .tree-outline.object):
624         (.tree-outline.object):
625         (.object-tree.properties-only .tree-outline.object):
626         (.tree-outline.object li):
627         (.tree-outline.object ol):
628         (.tree-outline.object ol.expanded):
629         (.tree-outline.object li .empty-message):
630         (.object-tree .object-tree-outline): Deleted.
631         (.object-tree.expanded > .object-tree-outline): Deleted.
632         (.object-tree-outline): Deleted.
633         (.object-tree.properties-only .object-tree-outline): Deleted.
634         (.object-tree-outline li): Deleted.
635         (.object-tree-outline ol): Deleted.
636         (.object-tree-outline ol.expanded): Deleted.
637         (.object-tree-outline li .empty-message): Deleted.
638         Updated selectors with new tree outline class names.
639
640         * UserInterface/Views/ObjectTreeView.js:
641         (WebInspector.ObjectTreeView):
642         Use default TreeOutline DOM element, and simplify element class name.
643         Enable custom indent (disables generated style rules).
644
645         * UserInterface/Views/ProfileNodeTreeElement.js:
646         (WebInspector.ProfileNodeTreeElement): Deleted.
647         Removed call to obsolete TreeOutline.prototype.small setter.
648
649         * UserInterface/Views/RenderingFrameTimelineView.css:
650         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.rendering-frame .item:not(.paint-record):not(.layout-record) .subtitle):
651         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.rendering-frame .item:not(.paint-record):not(.layout-record) .subtitle): Deleted.
652         Updated selectors with new tree outline class names.
653
654         * UserInterface/Views/ResourceSidebarPanel.js:
655         (WebInspector.ResourceSidebarPanel):
656         Disable tree outline disclosure buttons.
657         (WebInspector.ResourceSidebarPanel.prototype._extraDomainsActivated):
658         Enable tree outline disclosure buttons.
659
660         * UserInterface/Views/ScriptTimelineView.css:
661         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .tree-outline.script .item .subtitle):
662         (.sidebar > .panel.navigation.timeline:not(.timeline-recording-content-view-showing) .tree-outline.script .item .alternate-subtitle):
663         (.tree-outline .item .alternate-subtitle):
664         (.tree-outline:matches(:focus, .force-focus) .item.selected .alternate-subtitle):
665         (.tree-outline .item.small:not(.two-line) .alternate-subtitle::before):
666         (.sidebar > .panel.navigation.timeline.timeline-recording-content-view-showing .navigation-sidebar-panel-content-tree-outline.script .item .subtitle): Deleted.
667         (.sidebar > .panel.navigation.timeline:not(.timeline-recording-content-view-showing) .navigation-sidebar-panel-content-tree-outline.script .item .alternate-subtitle): Deleted.
668         (.navigation-sidebar-panel-content-tree-outline .item .alternate-subtitle): Deleted.
669         (.navigation-sidebar-panel-content-tree-outline:matches(:focus, .force-focus) .item.selected .alternate-subtitle): Deleted.
670         (.navigation-sidebar-panel-content-tree-outline .item.small:not(.two-line) .alternate-subtitle::before): Deleted.
671         Updated selectors with new tree outline class names.
672
673         * UserInterface/Views/SearchResultTreeElement.js:
674         (WebInspector.SearchResultTreeElement): Deleted.
675         * UserInterface/Views/SourceCodeTreeElement.js:
676         (WebInspector.SourceCodeTreeElement): Deleted.
677         * UserInterface/Views/StorageTreeElement.js:
678         (WebInspector.StorageTreeElement): Deleted.
679         Removed call to obsolete TreeOutline.prototype.small setter.
680
681         * UserInterface/Views/TimelineDataGrid.css:
682         (.tree-outline.timeline-data-grid .item:hover):
683         (.tree-outline.timeline-data-grid .item:hover .subtitle):
684         (.timeline-data-grid-tree-outline): Deleted.
685         (.timeline-data-grid-tree-outline .item): Deleted.
686         (.timeline-data-grid-tree-outline .item .status): Deleted.
687         (.timeline-data-grid-tree-outline .item .icon): Deleted.
688         (.timeline-data-grid-tree-outline .item:hover): Deleted.
689         (.timeline-data-grid-tree-outline .item .titles): Deleted.
690         (.timeline-data-grid-tree-outline .item .title::after): Deleted.
691         (.timeline-data-grid-tree-outline .item .subtitle): Deleted.
692         (.timeline-data-grid-tree-outline .item:hover .subtitle): Deleted.
693         (.timeline-data-grid-tree-outline .item .subtitle:empty): Deleted.
694         (.timeline-data-grid-tree-outline .item.small): Deleted.
695         (.timeline-data-grid-tree-outline .item.small .icon): Deleted.
696         (.timeline-data-grid-tree-outline .item.small .status): Deleted.
697         (.timeline-data-grid-tree-outline .item.small .titles): Deleted.
698         (.timeline-data-grid-tree-outline .item.small .subtitle): Deleted.
699         (.timeline-data-grid-tree-outline .item.small:not(.two-line) .title::after): Deleted.
700         (.timeline-data-grid-tree-outline .item.small:not(.two-line) .subtitle::before): Deleted.
701         Updated selectors with new tree outline class names, removed styles which
702         are now provided by TreeOutline.css.
703
704         * UserInterface/Views/TimelineDataGrid.js:
705         (WebInspector.TimelineDataGrid.prototype._createPopoverContent):
706         Use default TreeOutline DOM element, and simplify element class name.
707
708         * UserInterface/Views/TimelineRecordTreeElement.js:
709         (WebInspector.TimelineRecordTreeElement): Deleted.
710         Removed call to obsolete TreeOutline.prototype.small setter.
711
712         * UserInterface/Views/TimelineSidebarPanel.css:
713         (.sidebar > .panel.navigation.timeline > .timelines-content .close-button): Deleted.
714         Removed styles which are now provided by TreeOutline.css.
715
716         * UserInterface/Views/TimelineSidebarPanel.js:
717         (WebInspector.TimelineSidebarPanel):
718         Disable tree outline disclosure buttons, enable large tree style.
719
720         * UserInterface/Views/TimelineView.css:
721         (.panel.navigation.timeline > .content > .tree-outline):
722         (.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .tree-outline):
723         (.panel.navigation.timeline > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.
724         (.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .navigation-sidebar-panel-content-tree-outline): Deleted.
725         Updated selectors with new tree outline class names.
726
727         * UserInterface/Views/TreeOutline.css: Added.
728         (.tree-outline .children):
729         (.tree-outline .children.expanded):
730         (.tree-outline .item):
731         (.tree-outline.compact .item):
732         (.tree-outline.large .item):
733         (.tree-outline.hide-disclosure-buttons > .children):
734         (.tree-outline > .children.hide-disclosure-buttons > .children):
735         (.tree-outline:not(.hide-disclosure-buttons) .item:not(.parent) .icon):
736         (.tree-outline .item .disclosure-button):
737         (.tree-outline.hide-disclosure-buttons .item .disclosure-button):
738         (.tree-outline .item.parent .disclosure-button):
739         (.tree-outline:matches(:focus, .force-focus) .item.selected .disclosure-button):
740         (.tree-outline .item.expanded .disclosure-button):
741         (.tree-outline:matches(:focus, .force-focus) .item.selected.expanded .disclosure-button):
742         (.tree-outline .item .icon):
743         (.tree-outline.compact .item .icon):
744         (.tree-outline.large .item .icon):
745         (.tree-outline .item .status):
746         (.tree-outline.large .item .status):
747         (.tree-outline .item .status:empty):
748         (.tree-outline .item.selected):
749         (.tree-outline:matches(:focus, .force-focus) .item.selected):
750         (body.window-inactive .tree-outline .item.selected):
751         (.tree-outline .item .titles):
752         (.tree-outline.compact .item .titles):
753         (.tree-outline.large .item .titles):
754         (.tree-outline .item .highlighted):
755         (.tree-outline.large .item .titles.no-subtitle):
756         (.tree-outline .item .title::after):
757         (.tree-outline .item .subtitle):
758         (.tree-outline.large .item .subtitle):
759         (.tree-outline:matches(:focus, .force-focus) .item.selected .subtitle):
760         (.tree-outline .item .subtitle:empty):
761         (.tree-outline:not(.large) .item .status .indeterminate-progress-spinner):
762         (.tree-outline .item .subtitle::before):
763         Relocated tree outlines styles from NavigationSidebarPanel.css.
764
765         * UserInterface/Views/TreeOutline.js:
766         (WebInspector.TreeOutline):
767         (WebInspector.TreeOutline.prototype.get compact):
768         (WebInspector.TreeOutline.prototype.set compact):
769         (WebInspector.TreeOutline.prototype.get large):
770         (WebInspector.TreeOutline.prototype.set large):
771         (WebInspector.TreeOutline.prototype.get disclosureButtons):
772         (WebInspector.TreeOutline.prototype.set disclosureButtons):
773         (WebInspector.TreeOutline.prototype.get customIndent):
774         (WebInspector.TreeOutline.prototype.set customIndent):
775         Added properties for tree element appearance and indentation
776         behavior, so clients don't need to manually toggle style classes.
777         (WebInspector.TreeOutline._generateStyleRulesIfNeeded):
778         Relocated from NavigationSidebarPanel.js.
779
780         * UserInterface/Views/TypeTreeElement.js:
781         (WebInspector.TypeTreeElement): Deleted.
782         Removed call to obsolete TreeOutline.prototype.small setter.
783
784         * UserInterface/Views/TypeTreeView.css:
785         (.tree-outline.type):
786         (.tree-outline.type li):
787         (.tree-outline.type ol):
788         (.tree-outline.type ol.expanded):
789         (.tree-outline.type li .empty-message):
790         (.type-tree-outline): Deleted.
791         (.type-tree-outline li): Deleted.
792         (.type-tree-outline ol): Deleted.
793         (.type-tree-outline ol.expanded): Deleted.
794         (.type-tree-outline li .empty-message): Deleted.
795         Updated selectors with new tree outline class names.
796
797         * UserInterface/Views/TypeTreeView.js:
798         (WebInspector.TypeTreeView):
799         Use default TreeOutline DOM element, and simplify element class name.
800
801 2016-01-13  Joseph Pecoraro  <pecoraro@apple.com>
802
803         Web Inspector: Inspector should use the last sourceURL / sourceMappingURL directive
804         https://bugs.webkit.org/show_bug.cgi?id=153072
805         <rdar://problem/24168312>
806
807         Reviewed by Timothy Hatcher.
808
809         * UserInterface/Base/Utilities.js:
810         Prepend instead of append the sourceURL so the provided string
811         can include a sourceURL and override it. Such as manually
812         evaluating a script through the quick console with a sourceURL.
813
814         * UserInterface/Models/SourceMapResource.js:
815         Fix an incorrectly named property.
816
817 2016-01-13  Devin Rousso  <dcrousso+webkit@gmail.com>
818
819         Web Inspector: Add support for the existing GradientEditor in the CSS Rules sidebar
820         https://bugs.webkit.org/show_bug.cgi?id=153004
821
822         Reviewed by Timothy Hatcher.
823
824         Both the Visual sidebar and Resource view have editors for CSS gradient
825         values, but the Rules sidebar instead only adds editors for basic color
826         values. Instead of duplicating the code for gradient swatches, existing
827         code will be used to give this same functionality to the Rules sidebar.
828
829         * Localizations/en.lproj/localizedStrings.js:
830         * UserInterface/Main.html:
831
832         * UserInterface/Models/Gradient.js:
833         (WebInspector.Gradient):
834         (WebInspector.Gradient.fromString):
835         (WebInspector.Gradient.stopsWithComponents):
836         (WebInspector.Gradient.prototype.copy):
837         (WebInspector.Gradient.prototype.toString):
838         Refactored WebInspector.Gradient into its own class.
839
840         (WebInspector.LinearGradient):
841         (WebInspector.LinearGradient.prototype.toString):
842         Now uses WebInspector.Gradient inheritance and methods.
843
844         (WebInspector.RadialGradient):
845         (WebInspector.RadialGradient.prototype.toString):
846         Now uses WebInspector.Gradient inheritance and methods.
847
848         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
849         Use InlineSwatch.css values instead.
850
851         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker): Deleted.
852         (@media (-webkit-max-device-pixel-ratio: 1)): Deleted.
853         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:hover): Deleted.
854         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .cubic-bezier-marker:active): Deleted.
855
856         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
857         (WebInspector.CSSStyleDeclarationTextEditor.prototype.didDismissPopover): Deleted.
858         Removed unused popover member variable.
859
860         (WebInspector.CSSStyleDeclarationTextEditor.prototype._contentChanged):
861         (WebInspector.CSSStyleDeclarationTextEditor.prototype._updateTextMarkers.update):
862         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createInlineSwatches.createSwatch):
863         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createInlineSwatches.update):
864         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createInlineSwatches):
865         Renamed variables for more consistent naming and reimplemented the logic
866         to use the new WebInspector.InlineSwatch methods.  As a result, it was
867         possible to consolidate the 3 different type of swatch functions into a
868         single function.
869
870         (WebInspector.CSSStyleDeclarationTextEditor.prototype._commentProperty.update):
871         (WebInspector.CSSStyleDeclarationTextEditor.prototype._uncommentRange.update):
872         (WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchValueChanged.update):
873         (WebInspector.CSSStyleDeclarationTextEditor.prototype._inlineSwatchValueChanged):
874         (WebInspector.CSSStyleDeclarationTextEditor.prototype._resetContent.update):
875         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.createSwatch): Deleted.
876         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.update): Deleted.
877         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches): Deleted.
878         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createBezierEditors.update): Deleted.
879         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createBezierEditors): Deleted.
880         (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchColorChanged.update): Deleted.
881         (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchColorChanged): Deleted.
882         (WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked.updateCodeMirror.update): Deleted.
883         (WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked.updateCodeMirror): Deleted.
884         (WebInspector.CSSStyleDeclarationTextEditor.prototype._cubicBezierMarkerClicked): Deleted.
885
886         * UserInterface/Views/CodeMirrorTextMarkers.js:
887         (createCodeMirrorColorTextMarkers.matchFunction):
888         Added logic so that if the matched color string is found inside a gradient,
889         it will not have a marker created for it.
890
891         * UserInterface/Views/InlineSwatch.css: Renamed from Source/WebInspectorUI/UserInterface/Views/ColorSwatch.css.
892         Consolidated the various swatch CSS classes into one file.
893
894         (.inline-swatch):
895         (.inline-swatch.bezier):
896         (.inline-swatch.bezier:hover):
897         (.inline-swatch.bezier:active):
898         (@media (-webkit-max-device-pixel-ratio: 1)):
899         (.inline-swatch > span):
900         Ensured that the inner swatch element can not be selected so that the "click"
901         listener on its parent always fires.
902
903         (.inline-swatch:hover > span):
904         (.inline-swatch:active > span):
905         (.inline-swatch.bezier > span):
906
907         * UserInterface/Views/InlineSwatch.js: Renamed from Source/WebInspectorUI/UserInterface/Views/ColorSwatch.js.
908         (WebInspector.InlineSwatch):
909         Now accepts a new first argument to indicate what type of color swatch
910         to create and what functionality it will have.  Currently has options
911         for WebInspector.Color, WebInspector.Gradient, and WebInspector.CubicBezier.
912
913         (WebInspector.InlineSwatch.prototype.get element):
914         (WebInspector.InlineSwatch.prototype.get value):
915         (WebInspector.InlineSwatch.prototype.set value):
916         (WebInspector.InlineSwatch.prototype._fallbackValue):
917         (WebInspector.InlineSwatch.prototype._updateSwatch):
918         (WebInspector.InlineSwatch.prototype._swatchElementClicked):
919         (WebInspector.InlineSwatch.prototype._valueEditorValueDidChange):
920         (WebInspector.InlineSwatch.prototype._handleContextMenuEvent):
921         (WebInspector.InlineSwatch.prototype._getNextValidHEXFormat.hexMatchesCurrentColor):
922         (WebInspector.InlineSwatch.prototype._getNextValidHEXFormat):
923
924         * UserInterface/Views/VisualStyleBackgroundPicker.css:
925         (.visual-style-property-container.background-picker > .visual-style-property-value-container > .inline-swatch.gradient):
926         (.visual-style-property-container.background-picker > .visual-style-property-value-container:not(.gradient-value) > .inline-swatch.gradient):
927         (.visual-style-property-container.background-picker > .visual-style-property-value-container > .inline-swatch.gradient:hover):
928         (.visual-style-property-container.background-picker > .visual-style-property-value-container > .inline-swatch.gradient:active):
929         (.visual-style-property-container.background-picker > .visual-style-property-value-container > .inline-swatch.gradient > span):
930         (.visual-style-property-container.background-picker > .visual-style-property-value-container.gradient-value > .inline-swatch.gradient + .value-input):
931         (.visual-style-property-container.background-picker > .visual-style-property-value-container > .color-swatch): Deleted.
932         (.visual-style-property-container.background-picker > .visual-style-property-value-container:not(.gradient-value) > .color-swatch): Deleted.
933         (.visual-style-property-container.background-picker > .visual-style-property-value-container > .color-swatch:hover): Deleted.
934         (.visual-style-property-container.background-picker > .visual-style-property-value-container > .color-swatch:active): Deleted.
935         (.visual-style-property-container.background-picker > .visual-style-property-value-container > .color-swatch > span): Deleted.
936         (.visual-style-property-container.background-picker > .visual-style-property-value-container.gradient-value > .color-swatch + .value-input): Deleted.
937
938         * UserInterface/Views/VisualStyleBackgroundPicker.js:
939         Removed the specific code for the gradient swatch and moved to using a
940         gradient-type InlineSwatch for gradient values instead.
941
942         (WebInspector.VisualStyleBackgroundPicker):
943         (WebInspector.VisualStyleBackgroundPicker.prototype.set value):
944         (WebInspector.VisualStyleBackgroundPicker.prototype._updateGradient):
945         (WebInspector.VisualStyleBackgroundPicker.prototype._gradientSwatchColorChanged):
946         (WebInspector.VisualStyleBackgroundPicker.prototype._valueInputValueChanged):
947         (WebInspector.VisualStyleBackgroundPicker.prototype._handleKeywordChanged):
948         (WebInspector.VisualStyleBackgroundPicker.prototype._updateGradientSwatch): Deleted.
949         (WebInspector.VisualStyleBackgroundPicker.prototype._gradientSwatchClicked.handleColorPickerToggled): Deleted.
950         (WebInspector.VisualStyleBackgroundPicker.prototype._gradientSwatchClicked): Deleted.
951         (WebInspector.VisualStyleBackgroundPicker.prototype._gradientEditorGradientChanged): Deleted.
952
953         * UserInterface/Views/VisualStyleColorPicker.css:
954         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .inline-swatch.color):
955         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .inline-swatch.color:hover):
956         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .inline-swatch.color:active):
957         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .inline-swatch.color > span):
958         Add override CSS to ensure that the color-type InlineSwatch displays nicely
959         next to the flexbox style Visual sidebar.
960
961         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch): Deleted.
962         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch:hover): Deleted.
963         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch:active): Deleted.
964         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch > span): Deleted.
965         Refactored to only use overriding properties of the basic .inline-swatch values.
966
967         * UserInterface/Views/VisualStyleColorPicker.js:
968         (WebInspector.VisualStyleColorPicker):
969         (WebInspector.VisualStyleColorPicker.prototype._colorSwatchColorChanged):
970         (WebInspector.VisualStyleColorPicker.prototype._updateColorSwatch):
971
972         * UserInterface/Views/VisualStyleTimingEditor.css:
973         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .inline-swatch.bezier):
974         (.visual-style-property-container.timing-editor > .visual-style-property-value-container:not(.bezier-value) > .inline-swatch.bezier):
975         (@media (-webkit-min-device-pixel-ratio: 2)):
976         Add override CSS to ensure that the color-type InlineSwatch displays nicely
977         next to the flexbox style Visual sidebar.
978
979         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor): Deleted.
980         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor:hover): Deleted.
981         (.visual-style-property-container.timing-editor > .visual-style-property-value-container > .bezier-editor:active): Deleted.
982         Refactored to only use overriding properties of the basic .inline-swatch values.
983
984         * UserInterface/Views/VisualStyleTimingEditor.js:
985         Removed the specific code for the cubic-bezier swatch and moved to using a
986         cubic-bezier-type InlineSwatch for gradient values instead.
987
988         (WebInspector.VisualStyleTimingEditor):
989         (WebInspector.VisualStyleTimingEditor.prototype.get bezierValue):
990         (WebInspector.VisualStyleTimingEditor.prototype.set bezierValue):
991         (WebInspector.VisualStyleTimingEditor.prototype._setValue):
992         (WebInspector.VisualStyleTimingEditor.prototype._handleKeywordChanged):
993         (WebInspector.VisualStyleTimingEditor.prototype._bezierSwatchValueChanged):
994         (WebInspector.VisualStyleTimingEditor.prototype._bezierMarkerClicked): Deleted.
995
996 2016-01-12  Matt Baker  <mattbaker@apple.com>
997
998         Web Inspector: Timeline recording controls should use NavigationBar
999         https://bugs.webkit.org/show_bug.cgi?id=152997
1000
1001         Reviewed by Brian Burg.
1002
1003         NavigtaionBar should always be preferred over manually editing the DOM.
1004         Reusing existing button types for the record button and status element lets us
1005         eliminate a bunch of CSS, and will make future changes to the Timelines UI
1006         (such as adding addition recording controls), easier to implement.
1007
1008         * Localizations/en.lproj/localizedStrings.js:
1009         New tooltip strings.
1010
1011         * UserInterface/Views/TimelineSidebarPanel.css:
1012         (.sidebar > .panel.navigation.timeline > .navigation-bar > .item.record-start-stop):
1013         (.sidebar > .panel.navigation.timeline > .navigation-bar > .item.record-start-stop:hover):
1014         (.sidebar > .panel.navigation.timeline > .navigation-bar > .item.record-start-stop:active):
1015         Replaced similar styles used for the record glyph.
1016         (.sidebar > .panel.navigation.timeline > .navigation-bar > .item.record-start-stop *):
1017         Prevent multiple mouseover/mouseout events while hovering the navigation item.
1018         (.sidebar > .panel.navigation.timeline > .navigation-bar > .item.flexible-space):
1019         Replaced similar styles used for the record status element.
1020         (.sidebar > .panel.navigation.timeline > .status-bar): Deleted.
1021         (body.window-inactive .sidebar > .panel.navigation.timeline > .status-bar): Deleted.
1022         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph): Deleted.
1023         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:hover): Deleted.
1024         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph:active): Deleted.
1025         (.sidebar > .panel.navigation.timeline > .status-bar > .record-glyph.recording): Deleted.
1026         (.sidebar > .panel.navigation.timeline > .status-bar > .record-status): Deleted.
1027         (.panel.timeline .navigation-bar.timelines-view): Deleted.
1028         No longer used.
1029
1030         * UserInterface/Views/TimelineSidebarPanel.js:
1031         Removed unused CSS static variables.
1032         (WebInspector.TimelineSidebarPanel):
1033         Create navigation bar, remove status bar DOM elements. Create keyboard shortcut
1034         before the record button, so the shortcut's display name can be used in tooltips.
1035         (WebInspector.TimelineSidebarPanel.prototype._capturingStartedOrStopped):
1036         Update record button state and flexible space (status) text.
1037         (WebInspector.TimelineSidebarPanel.prototype._recordButtonClicked):
1038         Toggle recording state, and update record button state and flexible space (status) text.
1039         (WebInspector.TimelineSidebarPanel.prototype._recordButtonMousedOver):
1040         (WebInspector.TimelineSidebarPanel.prototype._recordButtonMousedOut):
1041         Update flexible space (status) text.
1042         (WebInspector.TimelineSidebarPanel.prototype._updateRecordButton):
1043         (WebInspector.TimelineSidebarPanel.prototype._updateReplayInterfaceVisibility):
1044         (WebInspector.TimelineSidebarPanel.prototype._toggleRecording): Deleted.
1045         (WebInspector.TimelineSidebarPanel.prototype._capturingStarted): Deleted.
1046         (WebInspector.TimelineSidebarPanel.prototype._capturingStopped): Deleted.
1047         (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOver): Deleted.
1048         (WebInspector.TimelineSidebarPanel.prototype._recordGlyphMousedOut): Deleted.
1049         (WebInspector.TimelineSidebarPanel.prototype._recordGlyphClicked): Deleted.
1050         No longer used.
1051
1052 2016-01-12  Matt Baker  <mattbaker@apple.com>
1053
1054         Web Inspector: Move helper methods for getting icons/text to TimelineTabContentView
1055         https://bugs.webkit.org/show_bug.cgi?id=152996
1056
1057         Reviewed by Brian Burg.
1058
1059         In preparation for the Timelines UI redesign, helper methods which existed
1060         in the sidebar panel and timeline tree elements need to be relocated,
1061         since the sidebar won't exist in the new UI.
1062
1063         * UserInterface/Views/TimelineRecordTreeElement.js:
1064         (WebInspector.TimelineRecordTreeElement):
1065         Removed icon/title code, replaced with calls to new helper methods.
1066         Code to create the alternate subtitle was broken out form the rest
1067         of the icon/title code, and kept in the constructor.
1068
1069         * UserInterface/Views/TimelineRecordingContentView.js:
1070         (WebInspector.TimelineRecordingContentView.prototype._instrumentAdded):
1071         Updated calls to helper methods.
1072
1073         * UserInterface/Views/TimelineSidebarPanel.js:
1074         (WebInspector.TimelineSidebarPanel.prototype._instrumentAdded):
1075         (WebInspector.TimelineSidebarPanel.displayNameForTimeline): Deleted.
1076         (WebInspector.TimelineSidebarPanel.iconClassNameForTimeline): Deleted.
1077         Moved to TimelineTabContentView.
1078
1079         * UserInterface/Views/TimelineTabContentView.js:
1080         (WebInspector.TimelineTabContentView.displayNameForTimeline):
1081         (WebInspector.TimelineTabContentView.iconClassNameForTimeline):
1082         Relocated from TimelineSidebarPanel.
1083         (WebInspector.TimelineTabContentView.iconClassNameForRecord):
1084         (WebInspector.TimelineTabContentView.displayNameForRecord):
1085         New helper methods. Previously part of TimelineRecordTreeElement.
1086
1087 2016-01-12  Brian Burg  <bburg@apple.com>
1088
1089         Web Inspector: fix some common misspellings in localized strings
1090         https://bugs.webkit.org/show_bug.cgi?id=153030
1091         <rdar://problem/24153340>
1092
1093         Reviewed by Joseph Pecoraro.
1094
1095         Replace 'occured', 'transfered' with 'occurred' and 'transferred'.
1096
1097         * Localizations/en.lproj/localizedStrings.js:
1098         * UserInterface/Views/DatabaseTableContentView.js:
1099         (WebInspector.DatabaseTableContentView.prototype._queryError):
1100         * UserInterface/Views/NetworkGridContentView.js:
1101         (WebInspector.NetworkGridContentView):
1102         * UserInterface/Views/NetworkTimelineView.js:
1103         (WebInspector.NetworkTimelineView):
1104         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
1105         (WebInspector.ResourceDetailsSidebarPanel):
1106
1107 2016-01-12  Matt Baker  <mattbaker@apple.com>
1108
1109         Web Inspector: Fix DataGrid row disclosure appearance and behavior
1110         https://bugs.webkit.org/show_bug.cgi?id=152991
1111
1112         Reviewed by Brian Burg.
1113
1114         * UserInterface/Views/DataGrid.css:
1115         (.data-grid tr.parent td.disclosure::before):
1116         Ensure triangle is vertically aligned for any row height.
1117         (.data-grid tr:not(.parent) td.disclosure):
1118         Fix indent size.
1119
1120         * UserInterface/Views/DataGrid.js:
1121         (WebInspector.DataGridNode.prototype.createCell):
1122         Added `icon` column property, encapsulate icon element creation.
1123         (WebInspector.DataGridNode.prototype.isEventWithinDisclosureTriangle):
1124         Fix hit test logic by computing left padding.
1125
1126 2016-01-12  Devin Rousso  <dcrousso+webkit@gmail.com>
1127
1128         Web Inspector: REGRESSION (r194879) - Opening views without being previously opened causes an Uncaught Exception
1129         https://bugs.webkit.org/show_bug.cgi?id=153006
1130
1131         Reviewed by Brian Burg.
1132
1133         * UserInterface/Views/MultipleScopeBarItem.js:
1134         (WebInspector.MultipleScopeBarItem.prototype.displaySelectedItem):
1135         If there is no selected item, default to the first item in the list.
1136
1137 2016-01-12  Devin Rousso  <dcrousso+webkit@gmail.com>
1138
1139         Web Inspector: creating a gradient in the Visual sidebar causes a crash
1140         https://bugs.webkit.org/show_bug.cgi?id=153003
1141
1142         Reviewed by Brian Burg.
1143
1144         * UserInterface/Views/VisualStyleBackgroundPicker.js:
1145         (WebInspector.VisualStyleBackgroundPicker.prototype._gradientSwatchClicked):
1146         If a gradient does not already exist when the swatch is clicked, create a basic
1147         gradient using the current type and two "transparent" color stops (a minimum of
1148         two color stops are needed for a valid gradient).
1149
1150 2016-01-11  Devin Rousso  <dcrousso+webkit@gmail.com>
1151
1152         Web Inspector: Storage tab navigation bar should fit on a single line
1153         https://bugs.webkit.org/show_bug.cgi?id=152473
1154
1155         Reviewed by Timothy Hatcher.
1156
1157         The wrapping of the navigation bar on the Storage tab was caused by the
1158         fact that Sidebar.js used a minimum width of 200px, regardless of the
1159         content within the sidebar (unless it had a NavigationBar). Logic has
1160         been added that causes the sidebar to use the selected panel's own
1161         minimum width calculation if it is greater than 200px.
1162
1163         * UserInterface/Views/DebuggerSidebarPanel.js:
1164         (WebInspector.DebuggerSidebarPanel.prototype.get minimumWidth):
1165
1166         * UserInterface/Views/MultipleScopeBarItem.js:
1167         (WebInspector.MultipleScopeBarItem.prototype.set selectedScopeBarItem):
1168         (WebInspector.MultipleScopeBarItem.prototype.displaySelectedItem):
1169         Sets the displayed text to the currently selected item.
1170
1171         (WebInspector.MultipleScopeBarItem.prototype.displayWidestItem):
1172         Sets the displayed text to the widest (pixel wise) item in the select element.
1173
1174         * UserInterface/Views/NavigationBar.js:
1175         (WebInspector.NavigationBar.prototype._calculateMinimumWidth):
1176         Now uses NavigationItem.prototype.get minimumWidth.
1177
1178         * UserInterface/Views/NavitationItem.js:
1179         (WebInspector.NavitationItem.prototype.get minimumWidth):
1180         Returns the element's realOffsetWidth.
1181
1182         * UserInterface/Views/NetworkSidebarPanel.js:
1183         (WebInspector.NetworkSidebarPanel.prototype.get minimumWidth):
1184
1185         * UserInterface/Views/ResourceSidebarPanel.js:
1186         (WebInspector.ResourceSidebarPanel.prototype.get minimumWidth):
1187
1188         * UserInterface/Views/ScopeBar.js:
1189         (WebInspector.ScopeBar):
1190         (WebInspector.ScopeBar.prototype.get minimumWidth):
1191
1192         * UserInterface/Views/Sidebar.js:
1193         (WebInspector.Sidebar.prototype.set selectedSidebarPanel):
1194         (WebInspector.Sidebar.prototype.get minimumWidth):
1195         (WebInspector.Sidebar.prototype.set width):
1196         (WebInspector.Sidebar.prototype.set collapsed):
1197         (WebInspector.Sidebar.prototype._recalculateWidth):
1198         Whenever the sidebar changes (e.g. tab change, sidebar becomes
1199         visible/hidden, etc.), a width recalculation is necessary to ensure
1200         that the navigation bar never wraps.
1201
1202         * UserInterface/Views/SidebarPanel.js:
1203         (WebInspector.SidebarPanel.prototype.get minimumWidth):
1204
1205         * UserInterface/Views/StorageSidebarPanel.js:
1206         (WebInspector.StorageSidebarPanel.prototype.get minimumWidth):
1207
1208         * UserInterface/Views/TimelineSidebarPanel.js:
1209         (WebInspector.TimelineSidebarPanel.prototype.get minimumWidth):
1210
1211 2016-01-11  Devin Rousso  <dcrousso+webkit@gmail.com>
1212
1213         Web Inspector: Make Timelines view also remember sort order
1214         https://bugs.webkit.org/show_bug.cgi?id=152811
1215
1216         Reviewed by Timothy Hatcher.
1217
1218         Changeset r194574 introduced the ability for WebInspector.Setting objects to
1219         be passed to DataGrid instances to save the sort column for that grid. These
1220         changes also add the ability for the sort order to be save as well.
1221
1222         * UserInterface/Views/ApplicationCacheFrameContentView.js:
1223         (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):
1224
1225         * UserInterface/Views/CookieStorageContentView.js:
1226         (WebInspector.CookieStorageContentView.prototype._rebuildTable):
1227
1228         * UserInterface/Views/DOMStorageContentView.js:
1229         (WebInspector.DOMStorageContentView):
1230
1231         * UserInterface/Views/DataGrid.js:
1232         (WebInspector.DataGrid):
1233         (WebInspector.DataGrid.prototype.set sortOrder):
1234         If a WebInspector.Setting object has been given, save the new sort order.
1235
1236         (WebInspector.DataGrid.prototype.set sortOrderSetting):
1237         Saves the given WebInspector.Setting object for modification whenever the user
1238         changes the sort order.
1239
1240         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
1241         (WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection):
1242
1243         * UserInterface/Views/LayoutTimelineView.js:
1244         (WebInspector.LayoutTimelineView):
1245
1246         * UserInterface/Views/NetworkGridContentView.js:
1247         (WebInspector.NetworkGridContentView):
1248
1249         * UserInterface/Views/NetworkTimelineView.js:
1250         (WebInspector.NetworkTimelineView):
1251
1252         * UserInterface/Views/RenderingFrameTimelineView.js:
1253         (WebInspector.RenderingFrameTimelineView):
1254
1255         * UserInterface/Views/ScriptTimelineView.js:
1256         (WebInspector.ScriptTimelineView):
1257
1258 2016-01-11  Johan K. Jensen  <jj@johanjensen.dk>
1259
1260         Web Inspector: Copying JS object output from console shouldn't include trailing '= $n'
1261         https://bugs.webkit.org/show_bug.cgi?id=119347
1262
1263         Reviewed by Joseph Pecoraro.
1264
1265         * UserInterface/Views/ConsoleMessageView.js:
1266         (WebInspector.ConsoleMessageView.prototype.toClipboardString):
1267
1268 2016-01-11  Devin Rousso  <dcrousso+webkit@gmail.com>
1269
1270         Web Inspector: Add basic Content section to Visual Sidebar
1271         https://bugs.webkit.org/show_bug.cgi?id=152972
1272
1273         Reviewed by Timothy Hatcher.
1274
1275         Since the "content" property has so many different types of values, a
1276         simple text input editor should be added to provide some support for
1277         the CSS property until a better, more specialized editor is created.
1278
1279         * Localizations/en.lproj/localizedStrings.js:
1280
1281         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css:
1282         (.visual-style-property-container.comma-separated-keyword-editor):
1283         Moved margin-left to new rule in VisualStylePropertyEditor.css.
1284
1285         * UserInterface/Views/VisualStyleDetailsPanel.js:
1286         (WebInspector.VisualStyleDetailsPanel):
1287         (WebInspector.VisualStyleDetailsPanel.prototype._populateContentSection):
1288         Adds the basic editor under the Text section in a new subsection
1289         called Content.
1290
1291         * UserInterface/Views/VisualStylePropertyEditor.css:
1292         (.visual-style-property-container > *:first-child:matches(.visual-style-property-value-container)):
1293         Adds a left margin to property editors without a title.
1294
1295 2016-01-11  Devin Rousso  <dcrousso+webkit@gmail.com>
1296
1297         Web Inspector: Visual sidebar minor bug fixes
1298         https://bugs.webkit.org/show_bug.cgi?id=152967
1299
1300         Reviewed by Timothy Hatcher.
1301
1302         * UserInterface/Views/VisualStyleDetailsPanel.js:
1303         (WebInspector.VisualStyleDetailsPanel.prototype.refresh):
1304         Only update sections when it is not a significant change, as they are
1305         updated when the selector changes.
1306
1307         (WebInspector.VisualStyleDetailsPanel.prototype._updateProperties):
1308         Only reset links if the refresh is a significant change (node or selected
1309         style changes).
1310
1311         * UserInterface/Views/VisualStyleNumberInputBox.js:
1312         (WebInspector.VisualStyleNumberInputBox):
1313         (WebInspector.VisualStyleNumberInputBox.prototype.get value):
1314         Removed unreachable return.
1315
1316         (WebInspector.VisualStyleNumberInputBox.prototype.set value):
1317         (WebInspector.VisualStyleNumberInputBox.prototype._valueNumberInputKeyDown.adjustValue):
1318         _updatedValues.propertyMissing was changed to _propertyMissing in a
1319         prior patch.
1320
1321 2016-01-11  Joseph Pecoraro  <pecoraro@apple.com>
1322
1323         Web Inspector: Migrate Page Timeline recording to ScriptProfiler
1324         https://bugs.webkit.org/show_bug.cgi?id=152727
1325
1326         Reviewed by Brian Burg.
1327
1328         * UserInterface/Images/TimelineRecordAPI.svg: Added.
1329         * UserInterface/Images/gtk/TimelineRecordAPI.svg: Added.
1330         New [S] image for API initiated script evaluations.
1331         Display matches the existing [S] Script Evaluated.
1332         Colors match the gray [N] Native image colors.
1333
1334         * UserInterface/Models/ScriptInstrument.js:
1335         (WebInspector.ScriptInstrument.prototype.startInstrumentation):
1336         (WebInspector.ScriptInstrument.prototype.stopInstrumentation):
1337         (WebInspector.ScriptInstrument):
1338         Use ScriptProfiler, if available, in Web debuggables.
1339
1340         * UserInterface/Controllers/TimelineManager.js:
1341         (WebInspector.TimelineManager):
1342         (WebInspector.TimelineManager.prototype.capturingStarted):
1343         (WebInspector.TimelineManager.prototype._processRecord):
1344         (WebInspector.TimelineManager.prototype._scriptProfilerTypeToScriptTimelineRecordType):
1345         (WebInspector.TimelineManager.prototype.scriptProfilerTrackingUpdated):
1346         (WebInspector.TimelineManager.prototype.scriptProfilerTrackingCompleted):
1347         (WebInspector.TimelineManager.prototype._mergeScriptProfileRecords.let.nextRecord):
1348         (WebInspector.TimelineManager.prototype._mergeScriptProfileRecords.let.recordContainsRecord):
1349         (WebInspector.TimelineManager.prototype._mergeScriptProfileRecords):
1350         When running a timeline on a web debuggable the frontend receives both
1351         Timeline event records and ScriptProfiler events. Timeline (Web) records
1352         are high level web events like "Script Evaluated", "Event Dispatched",
1353         "Timer Fired". The timestamps for these records should always be wrapping
1354         a ScriptProfiler event and its associated profile data. So, at the end
1355         of a recording we merge ScriptProfiler profile data into the original
1356         Timeline (Web) record.
1357
1358         * UserInterface/Models/ScriptTimelineRecord.js:
1359         (WebInspector.ScriptTimelineRecord.prototype.get profilePayload):
1360         (WebInspector.ScriptTimelineRecord.prototype.set profilePayload):
1361         (WebInspector.ScriptTimelineRecord.prototype.setProfilePayload): Deleted.
1362         Replace method with getter/setter.
1363
1364         (WebInspector.ScriptTimelineRecord.EventType.displayName):
1365         Add a new event type for API records, but share display name with Script Evaluated.
1366
1367         * UserInterface/Views/NavigationSidebarPanel.js:
1368         Fix typo.
1369
1370         * UserInterface/Views/ScriptTimelineView.css:
1371         (.timeline-view.script > .data-grid .eventType-column): Deleted.
1372         There is no "eventType" column in the ScriptTimelineView datagrid, so remove styles.
1373
1374         * UserInterface/Views/TimelineIcons.css:
1375         (.api-record .icon):
1376         * UserInterface/Views/TimelineRecordTreeElement.js:
1377         (WebInspector.TimelineRecordTreeElement):
1378         For API Script Evaluation records use the new icon.
1379
1380 2016-01-10  Joseph Pecoraro  <pecoraro@apple.com>
1381
1382         Web Inspector: Uncaught Exception selecting IndexedDB host folder in Storage tab
1383         https://bugs.webkit.org/show_bug.cgi?id=152943
1384
1385         Reviewed by Brian Burg.
1386
1387         * UserInterface/Views/NavigationSidebarPanel.js:
1388         (WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):
1389         Another type of specialized folder tree element.
1390
1391 2016-01-10  Joseph Pecoraro  <pecoraro@apple.com>
1392
1393         Uncaught Exception: TypeError: undefined is not an object (evaluating 'this._scopeChain[i].object.deprecatedGetAllProperties')
1394         https://bugs.webkit.org/show_bug.cgi?id=152944
1395         <rdar://problem/24119827>
1396
1397         Reviewed by Brian Burg.
1398
1399         * UserInterface/Models/CallFrame.js:
1400         (WebInspector.CallFrame.prototype.collectScopeChainVariableNames):
1401         Missed one place where `object` needed to change to `objects`.
1402         Here the list will always contain a single object, only UI
1403         generated scopes for the sidebar may have multiple objects.
1404
1405 2016-01-10  Johan K. Jensen  <jj@johanjensen.dk>
1406
1407         Web Inspector: Dashboard log message count doesn't include console.time messages
1408         https://bugs.webkit.org/show_bug.cgi?id=151280
1409
1410         Reviewed by Brian Burg.
1411
1412         * UserInterface/Models/DefaultDashboard.js:
1413         (WebInspector.DefaultDashboard.prototype._incrementConsoleMessageType):
1414         Make Info and Debug levels increment the log count.
1415
1416 2016-01-09  Dan Bernstein  <mitz@apple.com>
1417
1418         [Cocoa] Allow overriding the frameworks directory independently of using a staging install path
1419         https://bugs.webkit.org/show_bug.cgi?id=152926
1420
1421         Reviewed by Tim Horton.
1422
1423         Introduce a new build setting, WK_OVERRIDE_FRAMEWORKS_DIR. When not empty, it determines
1424         where the frameworks are installed. Setting USE_STAGING_INSTALL_PATH to YES sets
1425         WK_OVERRIDE_FRAMEWORKS_DIR to $(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari.
1426
1427         Account for the possibility of WK_OVERRIDE_FRAMEWORKS_DIR containing spaces.
1428
1429         * Configurations/Base.xcconfig:
1430         - Replace STAGED_FRAMEWORKS_SEARCH_PATH in FRAMEWORK_SEARCH_PATHS with
1431           WK_OVERRIDE_FRAMEWORKS_DIR and add quotes to account for spaces.
1432         * Configurations/WebInspectorUIFramework.xcconfig:
1433         - Define INSTALL_PATH and PRODUCTION_FRAMEWORKS_DIR based on WK_OVERRIDE_FRAMEWORKS_DIR.
1434
1435 2016-01-08  Joseph Pecoraro  <pecoraro@apple.com>
1436
1437         Web Inspector: Test Resources should not be included in Production builds unless FORCE_TOOL_INSTALL
1438         https://bugs.webkit.org/show_bug.cgi?id=152941
1439         <rdar://problem/24119013>
1440
1441         Reviewed by Dan Bernstein.
1442
1443         * Configurations/Base.xcconfig:
1444         Combine inspector resources in production, but not test resources.
1445
1446         * Configurations/DebugRelease.xcconfig:
1447         Do not combine inspector resources in Release/Debug. Combine test resources.
1448
1449         * Configurations/WebInspectorUIFramework.xcconfig:
1450         Simplify by moving to other config files.
1451
1452         * Scripts/copy-user-interface-resources.pl:
1453         Have FORCE_TOOL_INSTALL combine test resources as well.
1454
1455         * WebInspectorUI.vcxproj/build-webinspectorui.pl:
1456         Only combine test resources in non-Production.
1457
1458 2016-01-08  Joseph Pecoraro  <pecoraro@apple.com>
1459
1460         Web Inspector: Initiated section of Resource Details Sidebar should not display as empty and should update as the list changes
1461         https://bugs.webkit.org/show_bug.cgi?id=152907
1462         <rdar://problem/24109927>
1463
1464         Reviewed by Timothy Hatcher.
1465
1466         * UserInterface/Models/Resource.js:
1467         (WebInspector.Resource.prototype.addInitiatedResource):
1468         Dispatch an event when the list of initiated resources changes.
1469
1470         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
1471         (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
1472         Add/remove event listeners for initiated resources changes to refresh
1473         the related resources section.
1474
1475         (WebInspector.ResourceDetailsSidebarPanel.prototype.refresh):
1476         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL):
1477         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRelatedResourcesSection):
1478         Show/hide the related resources section depending on if we have something or not.
1479
1480 2016-01-08  Joseph Pecoraro  <pecoraro@apple.com>
1481
1482         Web Inspector: Uncaught exception: TypeError: this._initiatorSourceCodeLocation.sourceCode.addInitiatedResource is not a function
1483         https://bugs.webkit.org/show_bug.cgi?id=152905
1484         <rdar://problem/24109809>
1485
1486         Reviewed by Brian Burg.
1487
1488         * UserInterface/Models/Resource.js:
1489         (WebInspector.Resource):
1490         (WebInspector.Resource.prototype.addInitiatedResource):
1491         Only Resource has addInitiatedResource, so only call it if the
1492         SourceCode in the SourceCodeLocation is a Resource.
1493
1494 2016-01-07  Devin Rousso  <dcrousso+webkit@gmail.com>
1495
1496         Web Inspector: Add warnings to section that require specific values of other properties
1497         https://bugs.webkit.org/show_bug.cgi?id=148254
1498
1499         Reviewed by Timothy Hatcher.
1500
1501         Added a function to VisualStylePropertyEditor to allow dependencies to be set which,
1502         whenever the editor is updated or changed, will be checked against the computed styles
1503         of the element to see if all the necessary property values are set.
1504
1505         * Localizations/en.lproj/localizedStrings.js:
1506         * UserInterface/Views/VisualStyleDetailsPanel.js:
1507         (WebInspector.VisualStyleDetailsPanel):
1508         (WebInspector.VisualStyleDetailsPanel.prototype.refresh):
1509         (WebInspector.VisualStyleDetailsPanel.prototype._populatePositionSection):
1510         (WebInspector.VisualStyleDetailsPanel.prototype._populateFlexboxSection):
1511         (WebInspector.VisualStyleDetailsPanel.prototype._populateAlignmentSection):
1512         (WebInspector.VisualStyleDetailsPanel.prototype._populateBorderSection):
1513         (WebInspector.VisualStyleDetailsPanel.prototype._populateOutlineSection):
1514         Added dependencies to relevant property editors.
1515
1516         (WebInspector.VisualStyleDetailsPanel.prototype._prepareForChange): Deleted.
1517         No longer needed as the sidebar panel will refresh whenever triggered.
1518
1519         * UserInterface/Views/VisualStylePropertyEditor.css:
1520         (.visual-style-property-container.layout-reversed > .visual-style-property-title):
1521         (.visual-style-property-container > .visual-style-property-title > .property-reference-info):
1522         (.visual-style-property-container > .visual-style-property-editor-warning):
1523         (.visual-style-property-container.layout-reversed > .visual-style-property-editor-warning):
1524         (.visual-style-property-container > .visual-style-property-editor-warning.missing-dependency):
1525         (.visual-style-property-container > .visual-style-property-value-container):
1526         (.visual-style-property-container.layout-reversed > .visual-style-property-value-container):
1527
1528         * UserInterface/Views/VisualStylePropertyEditor.js:
1529         (WebInspector.VisualStylePropertyEditor):
1530         (WebInspector.VisualStylePropertyEditor.prototype.updateEditorValues):
1531         (WebInspector.VisualStylePropertyEditor.prototype.addDependency):
1532         (WebInspector.VisualStylePropertyEditor.prototype._valueDidChange):
1533         (WebInspector.VisualStylePropertyEditor.prototype._checkDependencies):
1534         Looks at the computed style for the node to see if any dependent properties do not
1535         have one of the required values.
1536
1537         * UserInterface/Views/VisualStyleSelectorSection.js:
1538         (WebInspector.VisualStyleSelectorSection.prototype.update.createSelectorItem):
1539         (WebInspector.VisualStyleSelectorSection.prototype._styleTextReset): Deleted.
1540
1541         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
1542         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
1543
1544 2016-01-07  Devin Rousso  <dcrousso+webkit@gmail.com>
1545
1546         Web Inspector: Allow error items on Exception page to be selected
1547         https://bugs.webkit.org/show_bug.cgi?id=152861
1548
1549         Reviewed by Brian Burg.
1550
1551         * UserInterface/Debug/UncaughtExceptionReporter.css:
1552         (.uncaught-exception-sheet li):
1553         Allowed user-select on text.
1554
1555 2016-01-07  Devin Rousso  <dcrousso+webkit@gmail.com>
1556
1557         Web Inspector: Add border-image properties to Visual sidebar
1558         https://bugs.webkit.org/show_bug.cgi?id=152755
1559
1560         Reviewed by Timothy Hatcher.
1561
1562         * Localizations/en.lproj/localizedStrings.js:
1563         * UserInterface/Main.html:
1564         Switched the order of VisualStyleURLInput and VisualStyleUnitSlider
1565         to be ordered alphabetically.
1566
1567         * UserInterface/Views/VisualStyleBackgroundPicker.js:
1568         (WebInspector.VisualStyleBackgroundPicker.prototype._keywordSelectMouseDown):
1569
1570         * UserInterface/Views/VisualStyleDetailsPanel.css:
1571         (.sidebar > .panel.details.css-style .visual > .details-section .details-section > .content > .group + .group > .row:first-child):
1572         (.sidebar > .panel.details.css-style .visual > .details-section.background .details-section.border .visual-style-property-container.keyword-checkbox.border-image-slice):
1573         Since the checkbox is so small, give it less room.
1574
1575         * UserInterface/Views/VisualStyleDetailsPanel.js:
1576         (WebInspector.VisualStyleDetailsPanel.prototype._populateBorderSection.generateBorderImagePropertyEditors):
1577         The three properties "border-image-width", "border-image-outset", and
1578         "border-image-slice" all have the same syntax, so one function to generate
1579         the layout for all three is much simpler.
1580
1581         (WebInspector.VisualStyleDetailsPanel.prototype._populateBorderSection):
1582         Added the border image properties to a seperate group under Background > Border.
1583
1584         * UserInterface/Views/VisualStyleKeywordPicker.js:
1585         (WebInspector.VisualStyleKeywordPicker.prototype._keywordSelectMouseDown):
1586
1587         * UserInterface/Views/VisualStyleNumberInputBox.js:
1588         (WebInspector.VisualStyleNumberInputBox):
1589         (WebInspector.VisualStyleNumberInputBox.prototype.set units):
1590         Reordered logic to allow a value of ""/null to set the units to the "Number"
1591         value if it is allowed for that editor.
1592
1593         (WebInspector.VisualStyleNumberInputBox.prototype.get synthesizedValue):
1594         Instead of relying upon whether the editor has any units, just check to see if
1595         the selected units are "Number" and, if not, add them to the value.
1596
1597         (WebInspector.VisualStyleNumberInputBox.prototype._unitsElementTextContent):
1598
1599         * UserInterface/Views/VisualStylePropertyCombiner.js:
1600         (WebInspector.VisualStylePropertyCombiner):
1601         Now has another argument that, when true, assumes the combiner has at least 4
1602         numerical values and is of the form (can have units):
1603             property-name: value1 [value2 [value3 [value4 [...]]]];
1604
1605         (WebInspector.VisualStylePropertyCombiner.prototype.get synthesizedValue):
1606         (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText.updateEditor):
1607         (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText.updateCompatibleEditor):
1608         (WebInspector.VisualStylePropertyCombiner.prototype.updateValuesFromText):
1609         If the new argument is true, assigns the existing values in the following way:
1610          - If there is 1 value, assign it to all of the editors.
1611          - If there are 2 values, assign the 1st one to editors 1 and 3 and the 2nd one
1612             to editors 2 and 4.
1613          - If there are 3 values, assign the 1st one to editor 1, the 2nd one to editors
1614             2 and 4, and the 3rd one to editor 3.
1615          - If there are 4 or more values, assign them normally.
1616
1617         * UserInterface/Views/VisualStylePropertyEditor.js:
1618         (WebInspector.VisualStylePropertyEditor.prototype.valueIsSupportedKeyword):
1619         (WebInspector.VisualStylePropertyEditor.prototype._valueIsSupportedAdvancedKeyword):
1620         Removed call to this.value to prevent recursion from VisualStyleNumberInputBox.
1621
1622         (WebInspector.VisualStylePropertyEditor.prototype.valueIsSupportedUnit):
1623         (WebInspector.VisualStylePropertyEditor.prototype._valueIsSupportedAdvancedUnit):
1624         Removed call to this.units to prevent recursion from VisualStyleNumberInputBox.
1625
1626 2016-01-07  Devin Rousso  <dcrousso+webkit@gmail.com>
1627
1628         Web Inspector: Add indicator that element has pseudo-class in DOM tree
1629         https://bugs.webkit.org/show_bug.cgi?id=152680
1630
1631         Reviewed by Timothy Hatcher.
1632
1633         * UserInterface/Views/DOMTreeElement.js:
1634         (WebInspector.DOMTreeElement):
1635         (WebInspector.DOMTreeElement.prototype._nodePseudoClassesDidChange):
1636         Added an event listener to the node for when pseudo-classes change.
1637
1638         * UserInterface/Views/DOMTreeOutline.css:
1639         (.dom-tree-outline li.pseudo-class-enabled > .selection::before):
1640         (.dom-tree-outline:focus li.selected.pseudo-class-enabled > .selection::before):
1641         Used the hover/selected background style element to ensure that the indicator
1642         is always positioned evenly with the first line of the opening tag.
1643
1644         (.dom-tree-outline li.hovered:not(.selected) .selection):
1645         (.dom-tree-outline li .selection):
1646         (.dom-tree-outline li.selected .selection):
1647         (.dom-tree-outline li.elements-drag-over .selection):
1648         Removed "display: none;" (as well as the "block" declarations) to allow
1649         the ::before pseudo-element to display.
1650
1651 2016-01-07  Devin Rousso  <dcrousso+webkit@gmail.com>
1652
1653         Web Inspector: Make creating new rules in the Styles sidebar simpler
1654         https://bugs.webkit.org/show_bug.cgi?id=152726
1655
1656         Reviewed by Timothy Hatcher.
1657
1658         When creating a new rules of any kind, first look to see if it already exists in
1659         another rule that has no properties. If found, focus/select it instead of creating
1660         a new rule. Otherwise, create the new rule like normal.
1661
1662         Also changed the way in which previously-focused sections/tree-items are saved
1663         to rely upon the selector of the new rule and whether the section for that rule
1664         is empty and an inspector rule.
1665
1666         * Localizations/en.lproj/localizedStrings.js:
1667
1668         * UserInterface/Models/CSSStyleDeclaration.js:
1669         (WebInspector.CSSStyleDeclaration.prototype.isInspectorRule):
1670         Returns true if the style is an inspector rule.
1671
1672         (WebInspector.CSSStyleDeclaration.prototype.hasProperties):
1673         Returns true if the style has CSS properties.
1674
1675         * UserInterface/Models/DOMNodeStyles.js:
1676         (WebInspector.DOMNodeStyles.prototype.rulesForSelector.ruleHasSelector):
1677         (WebInspector.DOMNodeStyles.prototype.rulesForSelector):
1678         Returns a list of CSSRule that match the given selector and are not
1679         in media queries.
1680
1681         * UserInterface/Views/BoxModelDetailsSectionRow.js:
1682         (WebInspector.BoxModelDetailsSectionRow.prototype._updateMetrics):
1683
1684         * UserInterface/Views/CSSStyleDeclarationSection.js:
1685         (WebInspector.CSSStyleDeclarationSection.prototype._handleContextMenuEvent):
1686
1687         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1688         (WebInspector.CSSStyleDeclarationTextEditor.prototype.commentAllProperties):
1689
1690         * UserInterface/Views/RulesStyleDetailsPanel.js:
1691         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.appendStyleSection):
1692         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.cssStyleDeclarationSectionEditorFocused):
1693         Now saves the newly focused section as the previously-focused section.
1694
1695         (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionFocusNewInspectorRuleWithSelector):
1696         Renamed from cssStyleDeclarationSectionFocusNextNewInspectorRule. Now needs
1697         a selector argument.
1698
1699         (WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked):
1700         (WebInspector.RulesStyleDetailsPanel.prototype.sectionForStyle):
1701         Returns the first section that has a style with matching selector.
1702
1703         (WebInspector.RulesStyleDetailsPanel.prototype.focusEmptySectionWithStyle):
1704         Finds the section corresponding to the given style and, if empty, focuses it.
1705
1706         (WebInspector.RulesStyleDetailsPanel.prototype.nodeStylesRefreshed):
1707         No longer clears the previously-focused section.
1708
1709         * UserInterface/Views/VisualStyleSelectorSection.js:
1710         (WebInspector.VisualStyleSelectorSection):
1711         (WebInspector.VisualStyleSelectorSection.prototype.update.createSelectorItem):
1712         (WebInspector.VisualStyleSelectorSection.prototype.update):
1713         (WebInspector.VisualStyleSelectorSection.prototype.treeItemForStyle):
1714         Returns the first tree item that has a style with matching selector.
1715
1716         (WebInspector.VisualStyleSelectorSection.prototype.selectEmptyStyleTreeItem):
1717         Finds the tree item corresponding to the given style and, if empty, selects it.
1718
1719         (WebInspector.VisualStyleSelectorSection.prototype._addNewRule):
1720
1721         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
1722         (WebInspector.VisualStyleSelectorTreeItem):
1723         Now requires a delegate object.
1724
1725         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
1726
1727 2016-01-06  Joseph Pecoraro  <pecoraro@apple.com>
1728
1729         Web Inspector: CRASH Attempting to pause on CSP violation not inside of script
1730         https://bugs.webkit.org/show_bug.cgi?id=152825
1731         <rdar://problem/24021276>
1732
1733         Reviewed by Timothy Hatcher.
1734
1735         * UserInterface/Test/TestHarness.js:
1736         (TestHarness.prototype.expectThat):
1737         (TestHarness.prototype.pass):
1738         (TestHarness.prototype.fail):
1739         Add a simple way to output a standard pass/fail message. These are
1740         often nicer than expectThat(true, ...) or assert(false, ...).
1741
1742 2016-01-07  Joseph Pecoraro  <pecoraro@apple.com>
1743
1744         Web Inspector: DOMContentLoaded label in the Timeline tab should be "DOM Content Loaded"
1745         https://bugs.webkit.org/show_bug.cgi?id=152746
1746
1747         Reviewed by Timothy Hatcher.
1748
1749         * Localizations/en.lproj/localizedStrings.js:
1750         * UserInterface/Views/TimelineRuler.js:
1751         (WebInspector.TimelineRuler.prototype.addMarker):
1752
1753 2016-01-06  Joseph Pecoraro  <pecoraro@apple.com>
1754
1755         Web Inspector: Scope chain shows too many scopes for functions (`let` and `var` in the same function are two scopes)
1756         https://bugs.webkit.org/show_bug.cgi?id=152349
1757
1758         Reviewed by Timothy Hatcher.
1759
1760         * Localizations/en.lproj/localizedStrings.js:
1761         New "Closure Variables (%s)" string for including the function name alongside
1762         the closure scope section.
1763
1764         * UserInterface/Models/ScopeChainNode.js:
1765         (WebInspector.ScopeChainNode):
1766         (WebInspector.ScopeChainNode.prototype.get objects):
1767         (WebInspector.ScopeChainNode.prototype.get object): Deleted.
1768         Allow a ScopeChainNode to hold onto multiple RemoteObjects (for multiple JSScopes).
1769
1770         * UserInterface/Controllers/DebuggerManager.js:
1771         (WebInspector.DebuggerManager.prototype._scopeChainNodeFromPayload):
1772         Simplify the legacy case and convert "Local" to "Closure". The UI will now
1773         determine and display "Local" where appropriate in a backwards compatible way.
1774
1775         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
1776         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
1777         Associate ScopeChain nodes with CallFrame frames so that we can better combine
1778         variable sections and better label closure sections.
1779
1780         * UserInterface/Views/ScopeChainDetailsSidebarPanel.css:
1781         (.scope-chain .details-section > .content > .group > .row.properties:not(.empty)):
1782         (.scope-chain .details-section > .content > .group > .row.properties:not(.empty):last-child):
1783         Styles for two object trees property sections next to eachother.
1784
1785 2016-01-06  Devin Rousso  <dcrousso+webkit@gmail.com>
1786
1787         Web Inspector: Add basic Animation section to Visual Sidebar
1788         https://bugs.webkit.org/show_bug.cgi?id=152692
1789
1790         Reviewed by Timothy Hatcher.
1791
1792         Adds a non-autocompleting section to the "Effects" section (renamed from
1793         "Animations") of the Visual sidebar for setting CSS Animation values.
1794
1795         * Scripts/copy-user-interface-resources.pl:
1796         * Localizations/en.lproj/localizedStrings.js:
1797         * UserInterface/Images/AnimationPlayStatePaused.svg: Added.
1798         * UserInterface/Images/AnimationPlayStateRunning.svg: Added.
1799         * UserInterface/Main.html:
1800
1801         * UserInterface/Views/VisualStyleBasicInput.js: Added.
1802         (WebInspector.VisualStyleBasicInput):
1803         (WebInspector.VisualStyleBasicInput.prototype.get value):
1804         (WebInspector.VisualStyleBasicInput.prototype.set value):
1805         (WebInspector.VisualStyleBasicInput.prototype.get synthesizedValue):
1806         (WebInspector.VisualStyleBasicInput.prototype._handleInputElementInput):
1807         Very basic editor that is just an input box with a given placeholder.
1808
1809         * UserInterface/Views/VisualStyleDetailsPanel.js:
1810         (WebInspector.VisualStyleDetailsPanel):
1811         (WebInspector.VisualStyleDetailsPanel.prototype._populateAnimationSection):
1812         Creates the necessary property editors and adds them to their respective rows.
1813
1814 2016-01-06  Devin Rousso  <dcrousso+webkit@gmail.com>
1815
1816         Web Inspector: Add remaining background style properties to Visual sidebar
1817         https://bugs.webkit.org/show_bug.cgi?id=152757
1818
1819         Reviewed by Timothy Hatcher.
1820
1821         * Localizations/en.lproj/localizedStrings.js:
1822
1823         * UserInterface/Views/VisualStyleDetailsPanel.js:
1824         (WebInspector.VisualStyleDetailsPanel.prototype._populateBackgroundStyleSection):
1825         Added background-blend-mode and background-origin property editors.
1826
1827         * UserInterface/Views/VisualStyleSelectorSection.js:
1828         (WebInspector.VisualStyleSelectorSection.prototype._handleMouseOver):
1829         Unrelated error that occurred when the user was hovering over a selector item
1830         before the tree outline was able to create the selected item.
1831
1832 2016-01-05  Joseph Pecoraro  <pecoraro@apple.com>
1833
1834         REGRESSION(r187929): Web Inspector: Forced Layout and Style Recalculation records do not show up in Layout & Rendering timeline DataGrid
1835         https://bugs.webkit.org/show_bug.cgi?id=152747
1836
1837         Reviewed by Timothy Hatcher.
1838
1839         * UserInterface/Views/LayoutTimelineView.js:
1840         (WebInspector.LayoutTimelineView.prototype._layoutTimelineRecordAdded):
1841         We want top-level Layout records. Not necessarily Layout records that are
1842         at the top of all records. Layout events such as style recalculation
1843         and forced layout may be triggered by script and therefore not be at
1844         the top of all records.
1845
1846 2016-01-04  Devin Rousso  <dcrousso+webkit@gmail.com>
1847
1848         Web Inspector: Timelines view doesn't remember how I like to sort things
1849         https://bugs.webkit.org/show_bug.cgi?id=152626
1850
1851         Reviewed by Joseph Pecoraro.
1852
1853         Currently, all instances of DataGrid have their sort column reset with each
1854         open/close of Web Inspector. This doesn't really make sense seeing as we save
1855         the user's settings in many other cases, so the sort method (which column)
1856         should be saved between inspector sessions.
1857
1858         * UserInterface/Views/ApplicationCacheFrameContentView.js:
1859         (WebInspector.ApplicationCacheFrameContentView.prototype._createDataGrid):
1860         * UserInterface/Views/CookieStorageContentView.js:
1861         (WebInspector.CookieStorageContentView.prototype._rebuildTable):
1862         * UserInterface/Views/DOMStorageContentView.js:
1863         (WebInspector.DOMStorageContentView):
1864         * UserInterface/Views/DataGrid.js:
1865         (WebInspector.DataGrid):
1866         (WebInspector.DataGrid.prototype.set sortColumnIdentifier):
1867         Moved the logic for classLists and events to _updateSortedColumn.
1868
1869         (WebInspector.DataGrid.prototype.set sortColumnIdentifierSetting):
1870         Instead of just setting the original sort method when instantiating the DataGrid,
1871         a WebInspector.Setting object is now able to be passed in via this setter
1872         to give the DataGrid access to the stored sort method value.
1873
1874         (WebInspector.DataGrid.prototype._updateSortedColumn):
1875         Updates the classLists and fires events. If a sort column setting object
1876         exists, update its value.
1877
1878         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
1879         (WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection):
1880         * UserInterface/Views/LayoutTimelineView.js:
1881         (WebInspector.LayoutTimelineView):
1882         * UserInterface/Views/NetworkGridContentView.js:
1883         (WebInspector.NetworkGridContentView):
1884         * UserInterface/Views/NetworkTimelineView.js:
1885         (WebInspector.NetworkTimelineView):
1886         * UserInterface/Views/RenderingFrameTimelineView.js:
1887         (WebInspector.RenderingFrameTimelineView):
1888         * UserInterface/Views/ScriptTimelineView.js:
1889         (WebInspector.ScriptTimelineView):
1890
1891 2016-01-04  Devin Rousso  <dcrousso+webkit@gmail.com>
1892
1893         Web Inspector: Add debounce to URL inputs in the Visual sidebar
1894         https://bugs.webkit.org/show_bug.cgi?id=152655
1895
1896         Reviewed by Joseph Pecoraro.
1897
1898         Adding a debounce to url() based Visual sidebar editors will prevent needless
1899         errors from being thrown as the user types, since incomplete URL's will not
1900         be able to be located.
1901
1902         * UserInterface/Base/Utilities.js:
1903         (Function.prototype.debounce):
1904         Prevents the given function from executing more than once in the specified amount of time.
1905
1906         * UserInterface/Views/VisualStyleBackgroundPicker.js:
1907         (WebInspector.VisualStyleBackgroundPicker):
1908
1909         * UserInterface/Views/VisualStyleURLInput.js:
1910         (WebInspector.VisualStyleURLInput):
1911
1912 2016-01-04  Joseph Pecoraro  <pecoraro@apple.com>
1913
1914         Web Inspector: Fix debug context menu string and reload without cache tooltip string
1915         https://bugs.webkit.org/show_bug.cgi?id=152725
1916
1917         Reviewed by Brian Burg.
1918
1919         * UserInterface/Base/Main.js:
1920         (WebInspector.contentLoaded):
1921
1922 2016-01-04  Devin Rousso  <dcrousso+webkit@gmail.com>
1923
1924         Web Inspector: add context menu items to switch CSS color property value syntax between RGB, HSL, etc
1925         https://bugs.webkit.org/show_bug.cgi?id=151918
1926
1927         Reviewed by Timothy Hatcher.
1928
1929         Created a ColorSwatch class to hold all functionality for color swatches,
1930         allowing all context menu and popover events to be centralized.
1931
1932         * Localizations/en.lproj/localizedStrings.js:
1933         * UserInterface/Main.html:
1934
1935         * UserInterface/Models/Color.js:
1936         Changed all 'var' to 'let' and 'nickname' to 'keyword' as per the spec.
1937         Mostly mechanical changes.
1938
1939         (WebInspector.Color.prototype.isKeyword):
1940         Looks at the RGB values of each keyword to see if the current color
1941         matches any of them.
1942
1943         (WebInspector.Color.prototype.canBeSerializedAsShortHEX):
1944         Fixed to account for alpha values, since HEXAlpha is now supported.
1945
1946         * UserInterface/Views/CSSStyleDeclarationTextEditor.css:
1947         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch): Deleted.
1948         (@media (-webkit-max-device-pixel-ratio: 1)): Deleted.
1949         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch > span): Deleted.
1950         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:hover > span): Deleted.
1951         (.css-style-text-editor > .CodeMirror .CodeMirror-lines .color-swatch:active > span): Deleted.
1952
1953         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1954         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches.update):
1955         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
1956         (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchColorChanged.update):
1957         (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchColorChanged):
1958         (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror.update): Deleted.
1959         (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked.updateCodeMirror): Deleted.
1960         (WebInspector.CSSStyleDeclarationTextEditor.prototype._colorSwatchClicked): Deleted.
1961
1962         * UserInterface/Views/ColorSwatch.css: Copied from Source/WebInspectorUI/UserInterface/Views/VisualStyleColorPicker.css.
1963         (.color-swatch):
1964         (@media (-webkit-max-device-pixel-ratio: 1)):
1965         (.color-swatch > span):
1966         (.color-swatch:hover > span):
1967         (.color-swatch:active > span):
1968
1969         * UserInterface/Views/ColorSwatch.js: Added.
1970         (WebInspector.ColorSwatch):
1971         (WebInspector.ColorSwatch.prototype.get element):
1972         (WebInspector.ColorSwatch.prototype.set color):
1973         (WebInspector.ColorSwatch.prototype.get color):
1974         (WebInspector.ColorSwatch.prototype._colorSwatchClicked):
1975         (WebInspector.ColorSwatch.prototype._colorPickerColorDidChange):
1976         (WebInspector.ColorSwatch.prototype._handleContextMenuEvent):
1977         (WebInspector.ColorSwatch.prototype._getNextValidHEXFormat.hexMatchesCurrentColor):
1978         (WebInspector.ColorSwatch.prototype._getNextValidHEXFormat):
1979         Loops through the list of HEX formats to find the first format that is valid
1980         for the current color in the list after the current format.
1981
1982         (WebInspector.ColorSwatch.prototype._updateSwatch):
1983
1984         * UserInterface/Views/VisualStyleColorPicker.css:
1985         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch):
1986         (.visual-style-property-container.input-color-picker > .visual-style-property-value-container > .color-swatch > span):
1987
1988         * UserInterface/Views/VisualStyleColorPicker.js:
1989         (WebInspector.VisualStyleColorPicker):
1990         (WebInspector.VisualStyleColorPicker.prototype._colorSwatchColorChanged):
1991         (WebInspector.VisualStyleColorPicker.prototype._updateColorSwatch):
1992         (WebInspector.VisualStyleColorPicker.prototype._colorSwatchClicked): Deleted.
1993         (WebInspector.VisualStyleColorPicker.prototype._colorPickerColorDidChange): Deleted.
1994
1995 2016-01-04  Joseph Pecoraro  <pecoraro@apple.com>
1996
1997         Web Inspector: Mark last parameter of webkitGetUserMedia as non-optional to match updated IDL
1998         https://bugs.webkit.org/show_bug.cgi?id=152702
1999
2000         Reviewed by Brian Burg.
2001
2002         * UserInterface/Models/NativeFunctionParameters.js:
2003         New IDL, and tests, show that the error callback is non-optional.
2004
2005 2016-01-04  Devin Rousso  <dcrousso+webkit@gmail.com>
2006
2007         Web Inspector: Add context menu items to CSS selectors to auto-generate pseudo selectors
2008         https://bugs.webkit.org/show_bug.cgi?id=152657
2009
2010         Reviewed by Timothy Hatcher.
2011
2012         Instead of having to copy a selector, create a new one, paste it, and then add
2013         a pseudo class or element, a context menu item has been added to automate this
2014         process for the user for each CSS pseudo-selector.
2015
2016         * Localizations/en.lproj/localizedStrings.js:
2017
2018         * UserInterface/Controllers/CSSStyleManager.js:
2019         Added a static object containing the list of CSS pseudo-element names.
2020
2021         * UserInterface/Models/DOMNodeStyles.js:
2022         (WebInspector.DOMNodeStyles.prototype.addRule.completed):
2023         (WebInspector.DOMNodeStyles.prototype.addRule.styleChanged):
2024         (WebInspector.DOMNodeStyles.prototype.addRule.addedRule):
2025         (WebInspector.DOMNodeStyles.prototype.addRule):
2026         Now accepts a second argument for setting the starting text value of the new rule.
2027
2028         * UserInterface/Views/CSSStyleDeclarationSection.js:
2029         (WebInspector.CSSStyleDeclarationSection.prototype._handleSelectorPaste):
2030
2031         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
2032         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleContextMenuEvent):
2033
2034 2016-01-04  Brian Burg  <bburg@apple.com>
2035
2036         Web Inspector: add a DebugUI context menu item for saving inspector protocol traffic to file
2037         https://bugs.webkit.org/show_bug.cgi?id=152671
2038
2039         Reviewed by Timothy Hatcher.
2040
2041         Add a new tracer that captures all messages, and debug context menu
2042         items to control whether to capture protocol traffic and export it.
2043         In later patches, a reciprocal "Import..." context menu item will
2044         allow opening saved protocol traces and viewing them in a debug UI
2045         content view for debugging/visualizing protocol traffic.
2046
2047         * UserInterface/Base/Main.js:
2048         * UserInterface/Debug/CapturingProtocolTracer.js: Copied from Source/WebInspectorUI/UserInterface/Protocol/ProtocolTracer.js.
2049
2050             This tracer saves everything into a flat array. JSON protocol
2051             messages are saved as escaped strings, in case they are not
2052             valid JSON. We want to be able to debug such scenarios.
2053
2054         (WebInspector.CapturingProtocolTracer):
2055         (WebInspector.CapturingProtocolTracer.prototype.get trace):
2056         (WebInspector.CapturingProtocolTracer.prototype.logFrontendException):
2057         (WebInspector.CapturingProtocolTracer.prototype.logProtocolError):
2058         (WebInspector.CapturingProtocolTracer.prototype.logFrontendRequest):
2059         (WebInspector.CapturingProtocolTracer.prototype.logDidHandleResponse):
2060         (WebInspector.CapturingProtocolTracer.prototype.logDidHandleEvent):
2061         (WebInspector.CapturingProtocolTracer.prototype._stringifyMessage):
2062         (WebInspector.CapturingProtocolTracer.prototype._processEntry):
2063
2064         * UserInterface/Debug/ProtocolTrace.js: Added.
2065
2066             This is a dumb container that holds protocol trace data. It will
2067             be responsible for deserializing saved trace files in later work.
2068
2069         (WebInspector.ProtocolTrace):
2070         (WebInspector.ProtocolTrace.prototype.addEntry):
2071         (WebInspector.ProtocolTrace.prototype.get saveData):
2072         * UserInterface/Main.html:
2073         * UserInterface/Protocol/InspectorBackend.js:
2074         (InspectorBackendClass):
2075
2076             Simplify the implementation. Now there are one or two tracers
2077             at any given time. The default tracer handles legacy logging
2078             behavior and always exists. The custom tracer is installed when
2079             the "Capture Protocol Traffic" context menu item is toggled.
2080
2081             Dispatch to the array of active tracers at each trace point.
2082             Tracers now get the actual JSON message instead of a stringified
2083             version passed as an argument.
2084
2085         (InspectorBackendClass.prototype.set dumpInspectorProtocolMessages):
2086         (InspectorBackendClass.prototype.get dumpInspectorProtocolMessages):
2087         (InspectorBackendClass.prototype.set dumpInspectorTimeStats):
2088         (InspectorBackendClass.prototype.set customTracer):
2089         (InspectorBackendClass.prototype.get activeTracers):
2090         (InspectorBackendClass.prototype._startOrStopAutomaticTracing):
2091         (InspectorBackendClass.prototype._sendMessageToBackend):
2092         (InspectorBackendClass.prototype._dispatchResponse):
2093         (InspectorBackendClass.prototype._dispatchEvent):
2094         (InspectorBackendClass.prototype.set activeTracer): Deleted.
2095         (InspectorBackendClass.prototype.get activeTracer): Deleted.
2096         * UserInterface/Protocol/LoggingProtocolTracer.js:
2097         (WebInspector.LoggingProtocolTracer.prototype._processEntry):
2098         (WebInspector.LoggingProtocolTracer):
2099         (WebInspector.LoggingProtocolTracer.prototype.logFrontendRequest):
2100         (WebInspector.LoggingProtocolTracer.prototype.logWillHandleResponse):
2101         (WebInspector.LoggingProtocolTracer.prototype.logDidHandleResponse):
2102         (WebInspector.LoggingProtocolTracer.prototype.logWillHandleEvent):
2103         (WebInspector.LoggingProtocolTracer.prototype.logDidHandleEvent):
2104         * UserInterface/Protocol/ProtocolTracer.js:
2105         (WebInspector.ProtocolTracer.prototype.logFrontendException):
2106         (WebInspector.ProtocolTracer.prototype.logProtocolError):
2107         (WebInspector.ProtocolTracer.prototype.logFrontendRequest):
2108         (WebInspector.ProtocolTracer.prototype.logWillHandleResponse):
2109         (WebInspector.ProtocolTracer.prototype.logDidHandleResponse):
2110         (WebInspector.ProtocolTracer.prototype.logWillHandleEvent):
2111         (WebInspector.ProtocolTracer.prototype.logDidHandleEvent):
2112
2113 2016-01-04  Devin Rousso  <dcrousso+webkit@gmail.com>
2114
2115         Web Inspector: Comma separated values in the Visual sidebar are appended with )
2116         https://bugs.webkit.org/show_bug.cgi?id=152653
2117
2118         Reviewed by Timothy Hatcher.
2119
2120         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
2121         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.set value):
2122         Modified the RexExp used to split the comma separated value to account for strings
2123         with commas inside parenthesis (such as rgba() or hsla()) as well as ones without
2124         commas (such as "arial" and "red").
2125
2126 2016-01-03  Devin Rousso  <dcrousso+webkit@gmail.com>
2127
2128         Web Inspector: Visual sidebar selector section displays inherited section for non-editable rules
2129         https://bugs.webkit.org/show_bug.cgi?id=152659
2130
2131         Reviewed by Brian Burg.
2132
2133         * UserInterface/Views/VisualStyleSelectorSection.js:
2134         (WebInspector.VisualStyleSelectorSection.prototype.update):
2135         Only add a new inherited section header if it will contain at least one inherited rule.
2136
2137 2016-01-02  Devin Rousso  <dcrousso+webkit@gmail.com>
2138
2139         Web Inspector: List all resources that are initiated by the selected resource in the Network tab
2140         https://bugs.webkit.org/show_bug.cgi?id=152647
2141
2142         Reviewed by Timothy Hatcher.
2143
2144         Selecting resources in the Network tab will now display a list of all resources
2145         that the selected resource loaded, allowing for easier understanding of the
2146         relationship between all the resources loaded on a page.
2147
2148         * Localizations/en.lproj/localizedStrings.js:
2149         * UserInterface/Base/Main.js:
2150         Added functions to generate link(s) to Resource instead of SourceCodeLocation.
2151
2152         * UserInterface/Models/Resource.js:
2153         (WebInspector.Resource):
2154         (WebInspector.Resource.prototype.get initiatedResources):
2155         (WebInspector.Resource.prototype.addInitiatedResource):
2156         Each time a resource is added, if it has an initiator, it adds itself to the
2157         initiator's list of initiated resources.
2158
2159         * UserInterface/Views/Main.css:
2160         (.resource-list > .resource-link):
2161         (.resource-list > .resource-link::before):
2162         (.resource-list > .resource-link + .resource-link):
2163         (.resource-link):
2164
2165         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
2166         (WebInspector.ResourceDetailsSidebarPanel):
2167         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL):
2168
2169 2016-01-02  Devin Rousso  <dcrousso+webkit@gmail.com>
2170
2171         Web Inspector: Add list-style properties to Visual Sidebar
2172         https://bugs.webkit.org/show_bug.cgi?id=152631
2173
2174         Reviewed by Timothy Hatcher.
2175
2176         Seeing as lists are very common in web pages across the internet, adding
2177         a section to let users edit the properties unique to lists seems prudent.
2178
2179         * Localizations/en.lproj/localizedStrings.js:
2180         * UserInterface/Images/ListStylePositionInside.svg: Added.
2181         * UserInterface/Images/ListStylePositionOutside.svg: Added.
2182         * UserInterface/Main.html:
2183         Re-added UserInterface/Views/VisualStyleURLInput.js
2184
2185         * UserInterface/Views/VisualStyleDetailsPanel.js:
2186         (WebInspector.VisualStyleDetailsPanel):
2187         (WebInspector.VisualStyleDetailsPanel.prototype._populateListStyleSection):
2188
2189         * UserInterface/Views/VisualStyleKeywordIconList.css:
2190         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon):
2191         Added specified color property to ensure that :active doesn't break the color of the svg.
2192
2193         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon:matches(.computed, .selected)):
2194         (.visual-style-property-container.keyword-icon-list > .visual-style-property-value-container > .keyword-icon-list-container > .keyword-icon.selected):
2195         Changed the background-color and border-color values to match the rest of Web Inspector.
2196
2197         * UserInterface/Views/VisualStyleKeywordIconList.js:
2198         (WebInspector.VisualStyleKeywordIconList):
2199         (WebInspector.VisualStyleKeywordIconList.dashToCapital): Deleted.
2200         (WebInspector.VisualStyleKeywordIconList.createListItem):
2201         The "initial" keyword will also use UserInterface/Images/VisualStyleNone.svg
2202
2203         * UserInterface/Views/VisualStyleURLInput.js: Added.
2204         Previously removed in r192705.
2205
2206 2016-01-02  Alberto Garcia  <berto@igalia.com>
2207
2208         [GTK] webkit 2.3.5 build failure with python 3.3.4
2209         https://bugs.webkit.org/show_bug.cgi?id=128971
2210
2211         Reviewed by Michael Catanzaro.
2212
2213         Make sure that the stdin encoding is 'UTF-8' if using Python 3,
2214         otherwise the build will break.
2215
2216         * Scripts/cssmin.py:
2217
2218 2016-01-01  Devin Rousso  <dcrousso+webkit@gmail.com>
2219
2220         Web Inspector: shadow visual sidebar section can be confused with the box shadow section
2221         https://bugs.webkit.org/show_bug.cgi?id=148107
2222
2223         Reviewed by Brian Burg.
2224
2225         * Localizations/en.lproj/localizedStrings.js:
2226         * UserInterface/Views/VisualStyleDetailsPanel.js:
2227         (WebInspector.VisualStyleDetailsPanel):
2228         Changed title of "Shadow" sub-section in "Background" to "Box Shadow".
2229
2230 2016-01-01  Devin Rousso  <dcrousso+webkit@gmail.com>
2231
2232         Web Inspector: The Computed Styles Properties section shows warning icons and doesn't update if collapsed
2233         https://bugs.webkit.org/show_bug.cgi?id=152609
2234
2235         Reviewed by Brian Burg.
2236
2237         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
2238         (WebInspector.CSSStyleDeclarationTextEditor.prototype._createTextMarkerForPropertyIfNeeded):
2239         If the CodeMirror instance is read-only, don't add any warning icons.
2240
2241         * UserInterface/Views/ComputedStyleDetailsPanel.js:
2242         (WebInspector.ComputedStyleDetailsPanel):
2243         (WebInspector.ComputedStyleDetailsPanel.prototype._handleCollapsedStateChanged):
2244         The properties text editor will now refresh whenever the details section
2245         becomes un-collapsed.
2246
2247         * UserInterface/Views/DetailsSection.js:
2248         (WebInspector.DetailsSection.prototype.set collapsed):
2249         Now fires an event with the current collapsed state as data.
2250
2251 2015-12-31  Matt Baker  <mattbaker@apple.com>
2252
2253         Web Inspector: "No Filter Results" message overlaps Debugger sidebar sections
2254         https://bugs.webkit.org/show_bug.cgi?id=150608
2255
2256         Reviewed by Brian Burg.
2257
2258         * UserInterface/Views/DebuggerSidebarPanel.js:
2259         (WebInspector.DebuggerSidebarPanel.showResourcesWithIssuesOnlyFilterFunction):
2260         Style cleanup.
2261         (WebInspector.DebuggerSidebarPanel):
2262         Add breakpoints tree to the details section before adding Global Breakpoint
2263         elements, since adding them will trigger filtering.
2264         (WebInspector.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
2265         Simplified selection management between the various tree outlines.
2266         (WebInspector.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
2267         Style cleanup.
2268         (WebInspector.DebuggerSidebarPanel.prototype.get hasSelectedElement): Deleted.
2269         Defer to the base class implementation.
2270         (WebInspector.DebuggerSidebarPanel.prototype._treeSelectionDidChange.deselectCallStackContentTreeElements): Deleted.
2271         (WebInspector.DebuggerSidebarPanel.prototype._treeSelectionDidChange.deselectBreakpointContentTreeElements): Deleted.
2272         (WebInspector.DebuggerSidebarPanel.prototype._treeSelectionDidChange.deselectPauseReasonContentTreeElements): Deleted.
2273         These are no longer needed, since the list of visible tree elements list can be used
2274         to manage tree element selection is a more general way.
2275
2276         * UserInterface/Views/NavigationSidebarPanel.css:
2277         Empty content placeholders are now inserted into the DOM as a sibling of the
2278         tree that was filtered. As such, they can be a child of a details section, or
2279         the sidebar's content element.
2280         (.sidebar > .panel.navigation > .content .empty-content-placeholder):
2281         Styles for all empty content placeholders.
2282         (.sidebar > .panel.navigation > .content > .empty-content-placeholder):
2283         Styles for empty content placeholders that fill the sidebar's content element.
2284         (.sidebar > .panel.navigation > .content .message):
2285         Styles for all empty content placeholders.
2286         (.sidebar > .panel.navigation > .empty-content-placeholder): Deleted.
2287         (.sidebar > .panel.navigation > .empty-content-placeholder > .message): Deleted.
2288
2289         * UserInterface/Views/NavigationSidebarPanel.js:
2290         (WebInspector.NavigationSidebarPanel):
2291         Track the tree outline which currently has a selection.
2292         Manage a map of content placeholders
2293         (WebInspector.NavigationSidebarPanel.prototype.set contentTreeOutline):
2294         (WebInspector.NavigationSidebarPanel.prototype.get hasSelectedElement):
2295         Check all visible content trees for a selected element.
2296         (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
2297         (WebInspector.NavigationSidebarPanel.prototype.treeElementForRepresentedObject):
2298         Check all visible content trees for the represented object.
2299         (WebInspector.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
2300         (WebInspector.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder):
2301         (WebInspector.NavigationSidebarPanel.prototype.updateEmptyContentPlaceholder):
2302         No sidebars currently have more than one filterable content tree outline, but in
2303         the future we will want to support this. Empty content placeholder visibility
2304         is now done per tree outline.
2305         (WebInspector.NavigationSidebarPanel.prototype.show):
2306         Focus the tree outline that most recently had the selection, or the
2307         first tree outline in the visible tree list, if it exists.
2308         (WebInspector.NavigationSidebarPanel.prototype._checkForEmptyFilterResults.checkTreeOutlineForEmptyFilterResults):
2309         Tree is considered filtered if no visible filterable tree elements are found.
2310         (WebInspector.NavigationSidebarPanel.prototype._checkForEmptyFilterResults):
2311         Check all visible trees that support filtering.
2312         (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
2313         Support for filtering multiple content trees.
2314         (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
2315         Check if the element's tree outline supports filtering, before applying filters.
2316         (WebInspector.NavigationSidebarPanel.prototype._treeSelectionDidChange):
2317         Update the selected tree outline.
2318         (WebInspector.NavigationSidebarPanel.prototype._createEmptyContentPlaceholderIfNeeded):
2319         Create a new empty content placeholder element for the tree.
2320         (WebInspector.NavigationSidebarPanel.prototype.get contentTreeOutlineElement): Deleted.
2321         No longer used.
2322
2323         * UserInterface/Views/TimelineSidebarPanel.js:
2324         (WebInspector.TimelineSidebarPanel.prototype.get hasSelectedElement): Deleted.
2325         Defer to the base class implementation.
2326
2327 2015-12-29  Devin Rousso  <dcrousso+webkit@gmail.com>
2328
2329         Web Inspector: Styling of invalid selector persists when changing the selected node
2330         https://bugs.webkit.org/show_bug.cgi?id=152456
2331
2332         Reviewed by Brian Burg.
2333
2334         If the user changes the selector of a CSS rule to be invalid (e.g. having
2335         a { or ; character), it is expected that the invalid indicator will be removed
2336         once the user changes nodes or reverts the selector to its previous value.
2337
2338         * Localizations/en.lproj/localizedStrings.js:
2339         * UserInterface/Views/CSSStyleDeclarationSection.css:
2340         (.style-declaration-section > .header > .icon.toggle-able:hover):
2341         (.style-declaration-section > .header > .icon.toggle-able:active):
2342         (.style-declaration-section:not(.invalid-selector) > .header > .icon.toggle-able:hover): Deleted.
2343         Added better :hover and :active styles.
2344
2345         * UserInterface/Views/CSSStyleDeclarationSection.js:
2346         (WebInspector.CSSStyleDeclarationSection):
2347         (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
2348         (WebInspector.CSSStyleDeclarationSection.prototype._handleIconElementClicked):
2349         If the selector is invalid, simply refresh the section to regenerate the
2350         original selector with correct content, specificity, and highlighting.
2351
2352         (WebInspector.CSSStyleDeclarationSection.prototype.get _hasInvalidSelector): Deleted.
2353         Moved the state of the invalid selector to a member
2354         variable instead of a DOM class.
2355
2356         (WebInspector.CSSStyleDeclarationSection.prototype._updateSelectorIcon):
2357         Renamed from _markSelector for clarity.
2358
2359         * UserInterface/Views/VisualStyleSelectorTreeItem.css:
2360         (.item.visual-style-selector-item.selector-invalid > .icon:hover):
2361         (.item.visual-style-selector-item.selector-invalid > .icon:active):
2362         (.item.visual-style-selector-item.selector-invalid > .icon):
2363         Added :hover and :active styles.
2364
2365         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
2366         (WebInspector.VisualStyleSelectorTreeItem):
2367         (WebInspector.VisualStyleSelectorTreeItem.prototype.onattach):
2368         (WebInspector.VisualStyleSelectorTreeItem.prototype._commitSelector):
2369         (WebInspector.VisualStyleSelectorTreeItem.prototype._updateSelectorIcon):
2370         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleIconElementClicked):
2371         (WebInspector.VisualStyleSelectorTreeItem.prototype._selectorChanged): Deleted.
2372         Changed the names of a few functions to provide better
2373         consistency across the classes in the Style sidebar.
2374
2375 2015-12-27  Brian Burg  <bburg@apple.com>
2376
2377         Web Inspector: improve pre-filled bugzilla link on Uncaught Exception reporter sheet
2378         https://bugs.webkit.org/show_bug.cgi?id=152402
2379
2380         Reviewed by Joseph Pecoraro.
2381
2382         Include the UA string, inspected page URL, and a template that includes
2383         steps to reproduce and notes. Other common headings (regression, expected,
2384         results, summary) are omitted because they are unlikely to be known when
2385         an uncaught exception occurs, or are obvious ("shouldn't throw exception").
2386
2387         * UserInterface/Debug/UncaughtExceptionReporter.js:
2388
2389 2015-12-21  Nikita Vasilyev  <nvasilyev@apple.com>
2390
2391         WebInspector: Can't open a new tab: Uncaught Exception: TypeError: this.isNewTabWithTypeAllowed is not a function
2392         https://bugs.webkit.org/show_bug.cgi?id=152471
2393
2394         Reviewed by Timothy Hatcher.
2395
2396         * UserInterface/Base/Main.js:
2397         (WebInspector._updateNewTabButtonState):
2398         Don't use arrow functions because of https://webkit.org/b/152497 "Arrow functions: 'this' isn't lexically bound"
2399
2400 2015-12-21  Nikita Vasilyev  <nvasilyev@apple.com>
2401
2402         Web Inspector: Remove unused WebInspector.Object.removeAllListeners
2403         https://bugs.webkit.org/show_bug.cgi?id=152474
2404
2405         Reviewed by Timothy Hatcher.
2406
2407         * UserInterface/Base/Object.js:
2408         (WebInspector.Object.removeAllListeners): Deleted.
2409         (WebInspector.Object.prototype.removeAllListeners): Deleted.
2410
2411 2015-12-20  Dan Bernstein  <mitz@apple.com>
2412
2413         Remove unused setToolbarHeight
2414         https://bugs.webkit.org/show_bug.cgi?id=152466
2415
2416         Reviewed by Darin Adler.
2417
2418         * UserInterface/Base/Main.js:
2419         (WebInspector.contentLoaded):
2420         * UserInterface/Protocol/InspectorFrontendHostStub.js:
2421         (window.InspectorFrontendHost.WebInspector.InspectorFrontendHostStub.prototype.setToolbarHeight): Deleted.
2422
2423 2015-12-19  Dan Bernstein  <mitz@apple.com>
2424
2425         [Mac] WebKit contains dead source code for OS X Mavericks and earlier
2426         https://bugs.webkit.org/show_bug.cgi?id=152462
2427
2428         Reviewed by Alexey Proskuryakov.
2429
2430         - Removed build setting definitions for OS X 10.9 and earlier, and simplified defintions
2431           that became uniform across all OS X versions as a result:
2432
2433         * Configurations/Base.xcconfig:
2434         * Configurations/DebugRelease.xcconfig:
2435         * Configurations/Version.xcconfig:
2436
2437         * Scripts/copy-user-interface-resources.pl: Removed code to delete Images/Legacy.
2438
2439         * UserInterface/Images/Legacy: Removed this empty directory.
2440
2441 2015-12-18  Matt Baker  <mattbaker@apple.com>
2442
2443         Web Inspector: Make it possible to debug injected scripts when the Debug UI is enabled
2444         https://bugs.webkit.org/show_bug.cgi?id=152445
2445
2446         Reviewed by Joseph Pecoraro.
2447
2448         * UserInterface/Base/Main.js:
2449         Added function to check for debug UI.
2450
2451         * UserInterface/Base/Object.js:
2452         Added notification for debug UI enabled state change.
2453
2454         * UserInterface/Base/Utilities.js:
2455         (isWebInspectorInternalScript):
2456         (isWebInspectorDebugScript):
2457         Added functions to check for internal and debug inspector scripts.
2458
2459         * UserInterface/Controllers/DebuggerManager.js:
2460         (WebInspector.DebuggerManager):
2461         Maintain a list of inspector debug scripts, so that the manager can
2462         add and remove them when the debug UI is enabled/disabled.
2463         (WebInspector.DebuggerManager.prototype.get knownNonResourceScripts):
2464         (WebInspector.DebuggerManager.prototype.reset):
2465         Clear the list of inspector debug scripts.
2466         (WebInspector.DebuggerManager.prototype.debuggerDidPause):
2467         (WebInspector.DebuggerManager.prototype.scriptDidParse):
2468         Skip internal inspector scripts. Debug inspector scripts are tracked,
2469         and an added event is dispatched if the debug UI is enabled.
2470         (WebInspector.DebuggerManager.prototype._debugUIEnabledDidChange):
2471         Dispatch added/removed events for inspector debug scripts.
2472
2473         * UserInterface/Debug/Bootstrap.js:
2474         (WebInspector.runBootstrapOperations):
2475         Expose changes to the debug UI setting to the reset of the UI, by dispatching
2476         a WebInspector.Notification.DebugUIEnabledDidChange event.
2477
2478         * UserInterface/Protocol/RemoteObject.js:
2479         (WebInspector.RemoteObject.prototype.findFunctionSourceCodeLocation):
2480         Only resolve inspector debug source locations when the debug UI is enabled.
2481
2482         * UserInterface/Test/Test.js:
2483         Reimplemented debug UI check for tests. Always returns false.
2484
2485         * UserInterface/Views/DebuggerSidebarPanel.js:
2486         (WebInspector.DebuggerSidebarPanel.prototype._addScript):
2487         Removed check for inspector debug scripts. DebuggerManager filters scripts as needed.
2488         (WebInspector.DebuggerSidebarPanel.prototype._scriptRemoved):
2489         Handle DebuggerManager ScriptRemoved events. Only applies to debug scripts.
2490
2491         * UserInterface/Views/ResourceSidebarPanel.js:
2492         (WebInspector.ResourceSidebarPanel):
2493         (WebInspector.ResourceSidebarPanel.prototype._scriptWasRemoved):
2494         Handle DebuggerManager ScriptRemoved events. Only applies to debug scripts.
2495         (WebInspector.ResourceSidebarPanel.prototype._scriptWasAdded):
2496         Removed check for inspector debug scripts. DebuggerManager filters scripts as needed.
2497
2498 2015-12-17  Joseph Pecoraro  <pecoraro@apple.com>
2499
2500         Web Inspector: Remove "local" scope type from the protocol
2501         https://bugs.webkit.org/show_bug.cgi?id=152409
2502
2503         Reviewed by Timothy Hatcher.
2504
2505         * UserInterface/Controllers/DebuggerManager.js:
2506         (WebInspector.DebuggerManager.prototype._scopeChainNodeFromPayload):
2507
2508 2015-12-17  Joseph Pecoraro  <pecoraro@apple.com>
2509
2510         Web Inspector: CSS warning's fake CallFrame is not creating a valid payload
2511         https://bugs.webkit.org/show_bug.cgi?id=152413
2512
2513         Reviewed by Timothy Hatcher.
2514
2515         * UserInterface/Views/ConsoleMessageView.js:
2516         (WebInspector.ConsoleMessageView.prototype._appendLocationLink):
2517         This attempts to create a CallFrame from a Console.CallFrame payload,
2518         but this was missing the required functionName string parameter.
2519
2520 2015-12-17  Joseph Pecoraro  <pecoraro@apple.com>
2521
2522         Provide a way to distinguish a nested lexical block from a function's lexical block
2523         https://bugs.webkit.org/show_bug.cgi?id=152361
2524
2525         Reviewed by Saam Barati.
2526
2527         * Localizations/en.lproj/localizedStrings.js:
2528         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
2529         (WebInspector.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
2530         New "Block Variables" string.
2531
2532         * UserInterface/Models/ScopeChainNode.js:
2533         New "Block" scope type, and update existing types.
2534
2535         * UserInterface/Controllers/DebuggerManager.js:
2536         (WebInspector.DebuggerManager.prototype._scopeChainNodeFromPayload):
2537         Parse the protocol type to frontend types. Use the protocol generated enum.
2538
2539 2015-12-17  Joseph Pecoraro  <pecoraro@apple.com>
2540
2541         Web Inspector: Improve names in Debugger Call Stack section when paused
2542         https://bugs.webkit.org/show_bug.cgi?id=152398
2543
2544         Reviewed by Brian Burg.
2545
2546         * UserInterface/Controllers/DebuggerManager.js:
2547         (WebInspector.DebuggerManager.prototype.debuggerDidPause):
2548         Use a new fromPayload helper to construct the CallFrame and share code.
2549
2550         * UserInterface/Models/CallFrame.js:
2551         (WebInspector.CallFrame.functionNameFromPayload):
2552         (WebInspector.CallFrame.programCodeFromPayload):
2553         (WebInspector.CallFrame.fromDebuggerPayload):
2554         (WebInspector.CallFrame.fromPayload):
2555         Add a new way to construct a call frame. There are two kinds of
2556         CallFrame payloads in the protocol:
2557         - Debugger.CallFrame, this new path
2558         - Console.CallFrame, the pre-existing path
2559
2560 2015-12-17  Brian Burg  <bburg@apple.com>
2561
2562         Web Inspector: control whether to collect and dump protocol messages using a WebInspector.Setting
2563         https://bugs.webkit.org/show_bug.cgi?id=151635
2564
2565         Reviewed by Joseph Pecoraro.
2566
2567         Follow-up fix to stop double-logging everything.
2568
2569         * UserInterface/Protocol/LoggingProtocolTracer.js:
2570         (WebInspector.LoggingProtocolTracer.prototype._processEntry):
2571
2572 2015-12-17  Joseph Pecoraro  <pecoraro@apple.com>
2573
2574         Web Inspector: Improve console.trace, make it more like console.assert and inline the message
2575         https://bugs.webkit.org/show_bug.cgi?id=152352
2576
2577         Reviewed by Timothy Hatcher.
2578
2579         * Localizations/en.lproj/localizedStrings.js:
2580         New "Trace" related strings.
2581
2582         * UserInterface/Views/ConsoleMessageView.js:
2583         (WebInspector.ConsoleMessageView.prototype.expand):
2584         Since we auto-expand Trace messages for their Call Stack, don't also
2585         auto-expand a single inner object, which may be big and push the
2586         actual stack trace off the screen.
2587         
2588         (WebInspector.ConsoleMessageView.prototype._appendMessageTextAndArguments):
2589         Behave like Assert messages and absorb a message string, and include
2590         extra arguments gracefully.
2591
2592         (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
2593         For expandable messages with simple extra arguments (console.trace with
2594         primitives and backtrace, or console.assert with primitives and backtrace)
2595         we were hiding the inline lossless previews and not showing them as a
2596         bulleted list below. We can just keep the lossless previews inline in the
2597         title, since they were only put there because they are small and lossless.
2598
2599         (WebInspector.ConsoleMessageView.prototype.toClipboardString):
2600         No need to hard code "console.trace()" in the clipboard.
2601
2602         * UserInterface/Views/ConsoleMessageView.css:
2603         (.console-message.expandable.expanded :matches(.console-message-preview, .console-message-preview-divider):not(.inline-lossless)):
2604         (.console-message.expandable.expanded :matches(.console-message-preview, .console-message-preview-divider)): Deleted.
2605         Don't hide the inline lossless preview in the console message title when it is inline-lossless.
2606
2607         * UserInterface/Views/ObjectTreeView.js:
2608         (WebInspector.ObjectTreeView.prototype.expand):
2609         Do not allow expanding a loss-less preview.
2610
2611 2015-12-16  Joseph Pecoraro  <pecoraro@apple.com>
2612
2613         Web Inspector: Add JSContext Script Profiling
2614         https://bugs.webkit.org/show_bug.cgi?id=151899
2615
2616         Reviewed by Brian Burg.
2617
2618         Enable the Timeline tab for JSContext inspection. Currently only
2619         JSContext inspection will use the ScriptProfiler domain, it will
2620         be enabled for Page inspection in a follow-up.
2621
2622         First pass at the UI creates basic ScriptTimelineRecords for
2623         ScriptProfiler events. At the end of recording, when profiles
2624         are downloaded, it attaches profiles to the timeline records
2625         and refreshes the Scripts timeline.
2626
2627         * UserInterface/Base/Main.js:
2628         (WebInspector.loaded):
2629         * UserInterface/Controllers/TimelineManager.js:
2630         (WebInspector.TimelineManager):
2631         (WebInspector.TimelineManager.defaultInstruments):
2632         (WebInspector.TimelineManager.prototype.computeElapsedTime):
2633         (WebInspector.TimelineManager.prototype.scriptProfilerIsTracking):
2634         (WebInspector.TimelineManager.prototype._loadNewRecording):
2635         (WebInspector.TimelineManager.prototype._mainResourceDidChange):
2636         (WebInspector.TimelineManager.prototype._resourceWasAdded):
2637         (WebInspector.TimelineManager.prototype._garbageCollected):
2638         (WebInspector.TimelineManager.prototype._addRecord): Deleted.
2639         * UserInterface/Main.html:
2640         * UserInterface/Models/Instrument.js:
2641         (WebInspector.Instrument.startLegacyTimelineAgent):
2642         * UserInterface/Models/ScriptInstrument.js:
2643         (WebInspector.ScriptInstrument.prototype.startInstrumentation):
2644         (WebInspector.ScriptInstrument.prototype.stopInstrumentation):
2645         (WebInspector.ScriptInstrument):
2646         * UserInterface/Models/ScriptTimelineRecord.js:
2647         (WebInspector.ScriptTimelineRecord.prototype.get profilePayload):
2648         (WebInspector.ScriptTimelineRecord.prototype._initializeProfileFromPayload):
2649         (WebInspector.ScriptTimelineRecord):
2650         (WebInspector.ScriptTimelineRecord.EventType.displayName):
2651         * UserInterface/Models/Timeline.js:
2652         (WebInspector.Timeline.prototype.refresh):
2653         * UserInterface/Models/TimelineRecording.js:
2654         (WebInspector.TimelineRecording.sourceCodeTimelinesSupported):
2655         (WebInspector.TimelineRecording.prototype.timelineForRecordType):
2656         (WebInspector.TimelineRecording.prototype.addRecord):
2657         * UserInterface/Protocol/ScriptProfilerObserver.js: Copied from Source/WebInspectorUI/UserInterface/Models/ScriptInstrument.js.
2658         (WebInspector.ScriptProfilerObserver.prototype.trackingStart):
2659         (WebInspector.ScriptProfilerObserver.prototype.trackingUpdate):
2660         (WebInspector.ScriptProfilerObserver.prototype.trackingComplete):
2661         (WebInspector.ScriptProfilerObserver):
2662         * UserInterface/Views/ScriptTimelineView.js:
2663         (WebInspector.ScriptTimelineView):
2664         (WebInspector.ScriptTimelineView.prototype._processPendingRecords):
2665         (WebInspector.ScriptTimelineView.prototype._scriptTimelineRecordRefreshed):
2666         * UserInterface/Views/TimelineRecordTreeElement.js:
2667         (WebInspector.TimelineRecordTreeElement):
2668         * UserInterface/Views/TimelineTabContentView.js:
2669         (WebInspector.TimelineTabContentView.isTabAllowed):
2670
2671 2015-12-17  Matt Baker  <mattbaker@apple.com>
2672
2673         Web Inspector: REGRESSION (r193913): Popover covers completion suggestions
2674         https://bugs.webkit.org/show_bug.cgi?id=152369
2675
2676         Reviewed by Timothy Hatcher.
2677
2678         * UserInterface/Views/Variables.css:
2679         (:root):
2680         Swap popover and tooltip z-index ordering.
2681
2682 2015-12-16  Joseph Pecoraro  <pecoraro@apple.com>
2683
2684         REGRESSION: Web Inspector: console.dir(...) should force allowing object expansion
2685         https://bugs.webkit.org/show_bug.cgi?id=152328
2686
2687         Reviewed by Timothy Hatcher.
2688
2689         * UserInterface/Views/ConsoleMessageView.js:
2690         (WebInspector.ConsoleMessageView.prototype._formatParameter):
2691         Propogate the force parameter down.
2692
2693 2015-12-16  Joseph Pecoraro  <pecoraro@apple.com>
2694
2695         Web Inspector: Improve copy of console messages with multiple arguments - console.log(obj1, obj2)
2696         https://bugs.webkit.org/show_bug.cgi?id=152330
2697
2698         Reviewed by Timothy Hatcher.
2699
2700         * UserInterface/Views/ConsoleMessageView.js:
2701         (WebInspector.ConsoleMessageView.prototype.toClipboardString):
2702         Copy the inner text of the extra arguments list as well, for
2703         console messages with multiple objects. Rearrange the sections
2704         that, if there is a stack trace it comes at the end after
2705         multiple arguments. If there is no stack trace, include the
2706         location info next to the top line, before multiple arguments.
2707
2708 2015-12-16  Joseph Pecoraro  <pecoraro@apple.com>
2709
2710         Web Inspector: Improve copy of console message containing Array and Map output
2711         https://bugs.webkit.org/show_bug.cgi?id=152329
2712
2713         Reviewed by Timothy Hatcher.
2714
2715         Introduce a real space in the content instead of style specific
2716         margins so the existing copy/paste mechanism (innerText)
2717         will have spaces between index/key and value.
2718
2719         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.css:
2720         (.object-tree-array-index .index-name): Deleted.
2721         * UserInterface/Views/ObjectTreeArrayIndexTreeElement.js:
2722         (WebInspector.ObjectTreeArrayIndexTreeElement.prototype._titleFragment):
2723         (WebInspector.ObjectTreeArrayIndexTreeElement):
2724         * UserInterface/Views/ObjectTreeMapEntryTreeElement.css:
2725         (.object-tree-array-index.object-tree-map-entry > .titles > .title > .index-name): Deleted.
2726         * UserInterface/Views/ObjectTreeMapEntryTreeElement.js:
2727         (WebInspector.ObjectTreeMapEntryTreeElement.prototype.titleFragment):
2728         (WebInspector.ObjectTreeMapEntryTreeElement):
2729         * UserInterface/Views/ObjectTreeSetIndexTreeElement.js:
2730         (WebInspector.ObjectTreeSetIndexTreeElement.prototype._titleFragment):
2731         (WebInspector.ObjectTreeSetIndexTreeElement):
2732
2733 2015-12-16  Joseph Pecoraro  <pecoraro@apple.com>
2734
2735         Web Inspector: Typing object literal in the console causes a parse error
2736         https://bugs.webkit.org/show_bug.cgi?id=141737
2737
2738         Reviewed by Timothy Hatcher.
2739
2740         Provide a convenience in console evaluations for JSON object like input.
2741         If the console input starts with '{' and ends with '}' wrap the input
2742         in parenthesis to force evaluation as an expression.
2743
2744         For example, input "{a:1}" would be convenience wrapped to "({a:1})"
2745         and produce the expected object. This helps avoid the unusual treatment
2746         of "{a:1}" as program containing a labeled statement, which is often
2747         not what the user expects. And in more realistic cases, like "{a:1, b:2}",
2748         produce a SyntaxError.
2749
2750         * UserInterface/Controllers/RuntimeManager.js:
2751         (WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
2752         Detect and convenience wrap the given expression.
2753
2754 2015-12-16  Joseph Pecoraro  <pecoraro@apple.com>
2755
2756         Uncaught Exception View has undefined exception URL
2757         https://bugs.webkit.org/show_bug.cgi?id=152327
2758
2759         Reviewed by Darin Adler.
2760
2761         * UserInterface/Debug/UncaughtExceptionReporter.js:
2762         (handleUncaughtException):
2763         Use ErrorEvent's filename property, not url which is undefined.
2764
2765 2015-12-16  Joseph Pecoraro  <pecoraro@apple.com>
2766
2767         Uncaught Exception: ReferenceError: Can't find variable: resolvedValue
2768         https://bugs.webkit.org/show_bug.cgi?id=152326
2769
2770         Reviewed by Darin Adler.
2771
2772         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
2773         (WebInspector.ObjectTreeBaseTreeElement.prototype._contextMenuHandler):
2774         This identifier is used later on, so assign it here.
2775
2776 2015-12-15  Joseph Pecoraro  <pecoraro@apple.com>
2777
2778         Web Inspector: Localize "global code" and "eval code" strings
2779         https://bugs.webkit.org/show_bug.cgi?id=152313
2780
2781         Reviewed by Timothy Hatcher.
2782
2783         * Localizations/en.lproj/localizedStrings.js:
2784         * UserInterface/Models/CallFrame.js:
2785         (WebInspector.CallFrame.fromPayload):
2786         Localize the strings given to use from the backend.
2787
2788 2015-12-15  Matt Baker  <mattbaker@apple.com>
2789
2790         Web Inspector: Convert Sidebar classes to use View
2791         https://bugs.webkit.org/show_bug.cgi?id=152274
2792
2793         Reviewed by Brian Burg.
2794
2795         Updated Sidebar and SidebarPanel to inherit from View. Mostly mechanical changes.
2796         Once the DetailsSection class family inherits from View (https://webkit.org/b/152269),
2797         directly modifying a sidebar's 'contentView' element will rarely be necessary.
2798
2799         * UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
2800         (WebInspector.ApplicationCacheDetailsSidebarPanel):
2801
2802         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2803         (WebInspector.CSSStyleDetailsSidebarPanel):
2804         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.refresh):
2805         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._switchPanels):
2806         Add/remove panels as subviews of the sidebar.
2807         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._filterDidChange):
2808
2809         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2810         (WebInspector.DOMNodeDetailsSidebarPanel):
2811
2812         * UserInterface/Views/DebuggerSidebarPanel.js:
2813         (WebInspector.DebuggerSidebarPanel):
2814         (WebInspector.DebuggerSidebarPanel.prototype._debuggerDidPause):
2815
2816         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
2817         (WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildLayerInfoSection):
2818         (WebInspector.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection):
2819
2820         * UserInterface/Views/NavigationSidebarPanel.js:
2821         (WebInspector.NavigationSidebarPanel):
2822         (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
2823         (WebInspector.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
2824
2825         * UserInterface/Views/ProbeDetailsSidebarPanel.js:
2826         (WebInspector.ProbeDetailsSidebarPanel.prototype.set inspectedProbeSets):
2827
2828         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
2829         (WebInspector.ResourceDetailsSidebarPanel):
2830         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshURL):
2831         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshImageSizeSection):
2832         (WebInspector.ResourceDetailsSidebarPanel.prototype._refreshRequestDataSection):
2833
2834         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
2835         (WebInspector.ScopeChainDetailsSidebarPanel):
2836         (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh.):
2837         (WebInspector.ScopeChainDetailsSidebarPanel.prototype.refresh):
2838
2839         * UserInterface/Views/SidebarPanel.js:
2840         Inherit from View.
2841         (WebInspector.SidebarPanel):
2842         Replace the content element (the portion of the view excluding navigation
2843         bars, filter bars, etc.) with a View object. A sidebar's content can be a mixture
2844         of unwrapped DOM elements and View objects. For now, the content view's element
2845         will be mutated directly, but once the DetailsSection class family inherits from
2846         the View class the handling of details sections will be simplified.
2847         (WebInspector.SidebarPanel.prototype.get contentView):
2848         (WebInspector.SidebarPanel.prototype.shown):
2849         (WebInspector.SidebarPanel.prototype.hidden):
2850         (WebInspector.SidebarPanel.prototype.get contentElement): Deleted.
2851         Replaced by WebInspector.SidebarPanel.prototype.get contentView.
2852
2853         * UserInterface/Views/StyleDetailsPanel.js:
2854         Inherit from View.
2855         (WebInspector.StyleDetailsPanel):
2856         (WebInspector.StyleDetailsPanel.prototype.get element): Deleted.
2857         Defer to View.element getter.
2858
2859         * UserInterface/Views/TimelineSidebarPanel.js:
2860         (WebInspector.TimelineSidebarPanel.prototype._updateTimelineOverviewHeight):
2861
2862         * UserInterface/Views/VisualStyleDetailsPanel.js:
2863         (WebInspector.VisualStyleDetailsPanel):
2864         (WebInspector.VisualStyleDetailsPanel.prototype._updateSections):
2865
2866 2015-12-14  Joseph Pecoraro  <pecoraro@apple.com>
2867
2868         Web Inspector: Stack traces in console incorrectly show "(anonymous function)" for global code
2869         https://bugs.webkit.org/show_bug.cgi?id=152280
2870
2871         Reviewed by Brian Burg.
2872
2873         * UserInterface/Images/Program.svg: Added.
2874         * UserInterface/Images/gtk/Program.svg: Added.
2875         Copied from TimelineRecordScriptEvaluated.svg.
2876
2877         * UserInterface/Models/CallFrame.js:
2878         (WebInspector.CallFrame):
2879         (WebInspector.CallFrame.prototype.get programCode):
2880         Add a new property to check if this call frame is in program code.
2881
2882         (WebInspector.CallFrame.fromPayload):
2883         Detect different sources of program code (global, eval, module).
2884
2885         * UserInterface/Views/CallFrameIcons.css:
2886         (.program-icon .icon):
2887         * UserInterface/Views/CallFrameView.js:
2888         (WebInspector.CallFrameView.iconClassNameForCallFrame):
2889         Give program code the [S] global script icon like in profiles.
2890
2891 2015-12-14  Joseph Pecoraro  <pecoraro@apple.com>
2892
2893         Web Inspector: Copy message from console with a stack trace does not include source code locations
2894         https://bugs.webkit.org/show_bug.cgi?id=152270
2895
2896         Reviewed by Timothy Hatcher.
2897
2898         * UserInterface/Views/ConsoleMessageView.js:
2899         (WebInspector.ConsoleMessageView.prototype.toClipboardString):
2900         When the the StackTrace was upgraded to a real collection of CallFrame
2901         object's the CallFrame's got real SourceCodeLocation properties.
2902
2903 2015-12-13  Matt Baker  <mattbaker@apple.com>
2904
2905         Web Inspector: Make TimelineOverview's graph container a subview
2906         https://bugs.webkit.org/show_bug.cgi?id=152235
2907
2908         Reviewed by Brian Burg.
2909
2910         * UserInterface/Views/TimelineOverview.js:
2911         (WebInspector.TimelineOverview):
2912         Create graph container subview.
2913         (WebInspector.TimelineOverview.prototype._instrumentAdded):
2914         Add overview to the graph container view.
2915         (WebInspector.TimelineOverview.prototype._instrumentRemoved):
2916         Remove overview from the graph container view.
2917         (WebInspector.TimelineOverview.prototype.layout):
2918         No longer necessary to manually lay out overview graphs.
2919         (WebInspector.TimelineOverview.prototype._needsLayout): Deleted.
2920         Removed dead code.
2921
2922 2015-12-12  Matt Baker  <mattbaker@apple.com>
2923
2924         Web Inspector: CodeMirrorTokenTrackingController handles symbols in class definitions incorrectly
2925         https://bugs.webkit.org/show_bug.cgi?id=152218
2926
2927         Reviewed by Timothy Hatcher.
2928
2929         * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
2930         (WebInspector.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
2931         Stop checking for object literal shorthand property if an open parenthesis is found.
2932         This check became necessary with the introduction of ES6 class syntax.
2933
2934         * UserInterface/Views/CodeMirrorAdditions.js:
2935         Use localState when available, to prevent passing a state that doesn't define a tokenize property.
2936
2937 2015-12-12  Joseph Pecoraro  <pecoraro@apple.com>
2938
2939         REGRESSION (r191613): Web Inspector: Can't type spaces when editing DOM nodes
2940         https://bugs.webkit.org/show_bug.cgi?id=152173
2941
2942         Reviewed by Timothy Hatcher.
2943
2944         * UserInterface/Views/TimelineSidebarPanel.js:
2945         (WebInspector.TimelineSidebarPanel):
2946         Disable the keyboard shortcuts when they are created. They will be
2947         enabled when the panel is shown / hidden. It doesn't really make sense
2948         that these are on the sidebar panel instead of the tab, but things
2949         will be changing in Timelines soon anyways so just fix this now.
2950
2951 2015-12-12  Nikita Vasilyev  <nvasilyev@apple.com>
2952
2953         Web Inspector: "Selected Element" should use sans-serif font, not monospace
2954         https://bugs.webkit.org/show_bug.cgi?id=152212
2955
2956         Reviewed by Timothy Hatcher.
2957
2958         * UserInterface/Views/ConsoleMessageView.css:
2959         (.console-user-command.special-user-log > .console-message-text):
2960
2961 2015-12-11  Nikita Vasilyev  <nvasilyev@apple.com>
2962
2963         Web Inspector: When logging strings, detect stack traces and show them as StackTraceView
2964         https://bugs.webkit.org/show_bug.cgi?id=149790
2965
2966         Reviewed by Timothy Hatcher.
2967
2968         * UserInterface/Models/StackTrace.js:
2969         (WebInspector.StackTrace.isLikelyStackTrace): Added.
2970
2971         * UserInterface/Views/ConsoleMessageView.css:
2972         (.console-message-extra-parameter .stack-trace):
2973         Display stack trace view on the same line as a list bullet point from
2974         console message extra parameter.
2975
2976         * UserInterface/Views/ConsoleMessageView.js:
2977         (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
2978         Don't format with string substitutions for stack traces. E.g. there is
2979         no need to replace %s with the next argument.
2980
2981         (WebInspector.ConsoleMessageView.prototype._isStackTrace): Added.
2982         (WebInspector.ConsoleMessageView.prototype._formatParameterAsString):
2983         Detect stack traces and format them appropriately.
2984
2985 2015-12-10  Nikita Vasilyev  <nvasilyev@apple.com>
2986
2987         Web Inspector: debugger dashboard's switching arrows are positioned too close to the dashboard border
2988         https://bugs.webkit.org/show_bug.cgi?id=151867
2989
2990         Reviewed by Timothy Hatcher.
2991
2992         * UserInterface/Views/DashboardContainerView.css:
2993         (.dashboard-container .advance-arrow):
2994
2995 2015-12-10  Matt Baker  <mattbaker@apple.com>
2996
2997         Web Inspector: debugger popover should have source location link when showing function source
2998         https://bugs.webkit.org/show_bug.cgi?id=151866
2999
3000         Reviewed by Brian Burg.
3001
3002         Added source code location link to function popover header.
3003
3004         * UserInterface/Views/SourceCodeTextEditor.js:
3005         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction.didGetDetails):
3006         Create source code location link from response payload.
3007         (WebInspector.SourceCodeTextEditor.prototype._showPopoverForFunction):
3008
3009 2015-12-10  Nikita Vasilyev  <nvasilyev@apple.com>
3010
3011         Web Inspector: [Meta] Unify z-index values in Inspector's CSS
3012         https://bugs.webkit.org/show_bug.cgi?id=151978
3013
3014         Introduce CSS variables for z-index due to recurring issues with incorrectly overlapping elements.
3015
3016         From now on, all z-index values >= 64 must be defined as variables.
3017         Values below 64 must not.
3018
3019         Reviewed by Timothy Hatcher.
3020
3021         * UserInterface/Views/Variables.css:
3022         (:root):
3023         Introduce z-index variables.
3024
3025         * UserInterface/Debug/UncaughtExceptionReporter.css:
3026         (.sheet-container):
3027         * UserInterface/Views/BoxModelDetailsSectionRow.css:
3028         (.details-section .row.box-model .editing):
3029         * UserInterface/Views/CompletionSuggestionsView.css:
3030         (.completion-suggestions):
3031         * UserInterface/Views/DashboardContainerView.css:
3032         (.dashboard-container .advance-arrow):
3033         * UserInterface/Views/DataGrid.css:
3034         (.data-grid .resizer):
3035         * UserInterface/Views/DetailsSection.css:
3036         (.details-section > .header):
3037         (.details-section .details-section > .header):
3038         * UserInterface/Views/FindBanner.css:
3039         (.find-banner):
3040         (.find-banner > button.segmented:active):
3041         * UserInterface/Views/Main.css:
3042         (#docked-resizer):
3043         (.message-text-view):
3044         (.bouncy-highlight):
3045         * UserInterface/Views/Popover.css:
3046         (.popover):
3047         * UserInterface/Views/Resizer.css:
3048         (.resizer):
3049         (.glass-pane-for-drag):
3050         * UserInterface/Views/TimelineOverview.css:
3051         (.timeline-overview > .scroll-container):
3052         * UserInterface/Views/VisualStyleSelectorSection.css:
3053         (.details-section.visual-style-selector-section > .content > .selectors > .selector-list > .section-divider):
3054
3055 2015-12-09  Matt Baker  <mattbaker@apple.com>
3056
3057         Web Inspector: when a marked-dirty subview is attached to a parent View, dirtyDescendantsCount gets out of sync
3058         https://bugs.webkit.org/show_bug.cgi?id=151876
3059
3060         Reviewed by Brian Burg.
3061
3062         * UserInterface/Base/Main.js:
3063         Use root view singleton instead of creating it explicitly.
3064
3065         * UserInterface/Views/View.js:
3066         (WebInspector.View):
3067         (WebInspector.View.rootView):
3068         Singleton root view access. Lazily create and return a view backed
3069         by the document's body element.
3070         (WebInspector.View.prototype.isDescendantOf):
3071         (WebInspector.View.prototype.insertSubviewBefore):
3072         (WebInspector.View.prototype.removeSubview):
3073         (WebInspector.View.prototype.didMoveToWindow):
3074         Notify the view when it becomes, or is no longer, descended from the root view.
3075         (WebInspector.View.prototype.didMoveToParent):
3076         Notify the view when it's added to, or removed from, a parent view.
3077         (WebInspector.View._scheduleLayoutForView):
3078         (WebInspector.View._cancelScheduledLayoutForView):
3079         (WebInspector.View.prototype.makeRootView): Deleted.
3080         No longer needed.
3081         (WebInspector.View.prototype.didAttach): Deleted.
3082         (WebInspector.View.prototype.didDetach): Deleted.
3083         Replaced by didMoveToParent.
3084
3085 2015-12-09  Brian Burg  <bburg@apple.com>
3086
3087         Web Inspector: control whether to collect and dump protocol messages using a WebInspector.Setting
3088         https://bugs.webkit.org/show_bug.cgi?id=151635
3089
3090         Reviewed by Timothy Hatcher.
3091
3092         When closing and reopening the inspector, the setting for whether
3093         to dump protocol messages should be persisted. Otherwise, enabling
3094         dumping from the debug-only UI will miss the initial flood of
3095         messages that are processed when the Inspector loads initial data.
3096
3097         To support a persistent setting, and build some infrastructure for
3098         more advanced uses of collected protocol messages, this patch adds
3099         a new object to trace protocol events. It gets callbacks for each
3100         and implements the console-dumping functionality previously baked in
3101         to InspectorBackend.
3102
3103         In follow-up patches, other protocol tracers will be added to save
3104         protocol data to disk, marshall it to a higher inspection level,
3105         or provide more fine-grained control over what is logged.
3106
3107         This change moves Setting.js into the Base/ directory,
3108         since it is used by Views, Models, and now Protocol classes.
3109
3110         * UserInterface/Base/Setting.js: Renamed from Source/WebInspectorUI/UserInterface/Models/Setting.js.
3111         (WebInspector.Setting):
3112         (WebInspector.Setting.prototype.get name):
3113         (WebInspector.Setting.prototype.get value):
3114         (WebInspector.Setting.prototype.set value):
3115         * UserInterface/Main.html:
3116         * UserInterface/Protocol/InspectorBackend.js:
3117         (InspectorBackendClass):
3118         (InspectorBackendClass.prototype.set dumpInspectorProtocolMessages):
3119         (InspectorBackendClass.prototype.get dumpInspectorProtocolMessages):
3120
3121             We still want to support the legacy way to enable dumping:
3122             `InspectorBackend.dumpInspectorProtocolMessages = true`. This
3123             is because some tests always use it, and it's easier to set this
3124             flag in a custom Bootstrap.js file than to configure the Setting.
3125
3126         (InspectorBackendClass.prototype.set dumpInspectorTimeStats):
3127         (InspectorBackendClass.prototype.get dumpInspectorTimeStats):
3128
3129             We still want to support the legacy way to enable dumping:
3130             `InspectorBackend.dumpInspectorTimeStats = true`. This is
3131             because MessageDispatcher checks this flag for its logging.
3132
3133         (InspectorBackendClass.prototype.set activeTracer):
3134         (InspectorBackendClass.prototype.get activeTracer):
3135
3136             Set the active tracer, finalizing and removing any active tracer
3137             if one exists. If removing a custom tracer (setting to null), then
3138             re-sync activeTracer with the automatic tracing Setting.
3139
3140         (InspectorBackendClass.prototype.dispatch):
3141         (InspectorBackendClass.prototype._startOrStopAutomaticTracing):
3142
3143             Sync the Setting with activeTracer. If an custom tracer is active,
3144             don't replace it with the automatic logging tracer.
3145
3146         (InspectorBackendClass.prototype._sendCommandToBackendWithCallback):
3147         (InspectorBackendClass.prototype._sendCommandToBackendExpectingPromise):
3148         (InspectorBackendClass.prototype._sendMessageToBackend):
3149         (InspectorBackendClass.prototype._dispatchResponse):
3150         (InspectorBackendClass.prototype._dispatchEvent):
3151         (InspectorBackendClass.prototype._flushPendingScripts):
3152         * UserInterface/Protocol/LoggingProtocolTracer.js: Added.
3153         (WebInspector.LoggingProtocolTracer):
3154         (WebInspector.LoggingProtocolTracer.prototype.set dumpMessagesToConsole):
3155         (WebInspector.LoggingProtocolTracer.prototype.get dumpMessagesToConsole):
3156         (WebInspector.LoggingProtocolTracer.prototype.set dumpTimingDataToConsole):
3157         (WebInspector.LoggingProtocolTracer.prototype.get dumpTimingDataToConsole):
3158         (WebInspector.LoggingProtocolTracer.prototype.logFrontendException):
3159         (WebInspector.LoggingProtocolTracer.prototype.logProtocolError):
3160         (WebInspector.LoggingProtocolTracer.prototype.logFrontendRequest):
3161         (WebInspector.LoggingProtocolTracer.prototype.logWillHandleResponse):
3162         (WebInspector.LoggingProtocolTracer.prototype.logDidHandleResponse):
3163         (WebInspector.LoggingProtocolTracer.prototype.logWillHandleEvent):
3164         (WebInspector.LoggingProtocolTracer.prototype.logDidHandleEvent):
3165         (WebInspector.LoggingProtocolTracer.prototype._processEntry):
3166         * UserInterface/Protocol/ProtocolTracer.js: Added.
3167         (WebInspector.ProtocolTracer.prototype.logStarted):
3168         (WebInspector.ProtocolTracer.prototype.logFrontendException):
3169         (WebInspector.ProtocolTracer.prototype.logProtocolError):
3170         (WebInspector.ProtocolTracer.prototype.logFrontendRequest):
3171         (WebInspector.ProtocolTracer.prototype.logWillHandleResponse):
3172         (WebInspector.ProtocolTracer.prototype.logDidHandleResponse):
3173         (WebInspector.ProtocolTracer.prototype.logWillHandleEvent):
3174         (WebInspector.ProtocolTracer.prototype.logDidHandleEvent):        (WebInspector.ProtocolTracer.prototype.logFinished):
3175         (WebInspector.ProtocolTracer):
3176         * UserInterface/Test.html:
3177
3178 2015-12-09  Brian Burg  <bburg@apple.com>
3179
3180         Web Inspector: zoom with Ctrl +/- doesn't work correctly when inspector is docked
3181         https://bugs.webkit.org/show_bug.cgi?id=152076
3182
3183         Reviewed by Timothy Hatcher.
3184
3185         When computing the new width or height of the inspector, take the zoom level into
3186         account. window.inner{Width,Height} are in document pixels, but we need to specify
3187         device pixels to InspectorFrontendHost.
3188
3189         * UserInterface/Base/Main.js:
3190
3191 2015-12-08  Joseph Pecoraro  <pecoraro@apple.com>
3192
3193         Web Inspector: Workaround arrow function issue in TimelineOverviewGraph.js
3194         https://bugs.webkit.org/show_bug.cgi?id=152031
3195
3196         Reviewed by Timothy Hatcher.
3197
3198         * UserInterface/Views/TimelineOverviewGraph.js:
3199         (WebInspector.TimelineOverviewGraph.prototype._needsSelectedRecordLayout):
3200         Workaround an existing arrow function issue by moving off of arrow functions here.
3201
3202 2015-12-08  Matt Baker  <mattbaker@apple.com>
3203
3204         Web Inspector: Add a hidden property to TreeOutline
3205         https://bugs.webkit.org/show_bug.cgi?id=152014
3206
3207         Reviewed by Timothy Hatcher.
3208
3209         * UserInterface/Views/NavigationSidebarPanel.js:
3210         Removed static property for "hidden" CSS class. No longer used.
3211         (WebInspector.NavigationSidebarPanel.prototype.set contentTreeOutline):
3212         Fixed bug in order of visibleTreeOutlines add/remove.
3213         (WebInspector.NavigationSidebarPanel.prototype.createContentTreeOutline):
3214
3215         * UserInterface/Views/TimelineSidebarPanel.js:
3216         (WebInspector.TimelineSidebarPanel):
3217         (WebInspector.TimelineSidebarPanel.prototype._changeViewMode):
3218
3219         * UserInterface/Views/TreeOutline.js:
3220         (WebInspector.TreeOutline):
3221         (WebInspector.TreeOutline.prototype.get hidden):
3222         (WebInspector.TreeOutline.prototype.set hidden):
3223         Added hidden property, set DOM element hidden attribute.
3224         (WebInspector.TreeElement.prototype.set hidden):
3225         Remove CSS class, set DOM element hidden attribute.
3226         (WebInspector.TreeElement.prototype._attach):
3227         (WebInspector.TreeElement.prototype.expand):
3228
3229 2015-12-08  Matt Baker  <mattbaker@apple.com>
3230
3231         Web Inspector: Global Breakpoints should always be visible
3232         https://bugs.webkit.org/show_bug.cgi?id=151066
3233
3234         Reviewed by Timothy Hatcher.
3235
3236         * UserInterface/Views/DebuggerSidebarPanel.js:
3237         (WebInspector.DebuggerSidebarPanel):
3238         Turn off filtering for Global Breakpoints elements.
3239
3240         * UserInterface/Views/NavigationSidebarPanel.js:
3241         (WebInspector.NavigationSidebarPanel.prototype.suppressFilteringOnTreeElements):
3242         Allow filtering to be turned off for specific tree elements.
3243         (WebInspector.NavigationSidebarPanel.prototype.applyFiltersToTreeElement):
3244         Make element visible if filtering suppressed.
3245         (WebInspector.NavigationSidebarPanel.prototype._checkForEmptyFilterResults):
3246         Visible elements with filtering disabled aren't considered when
3247         showing/hiding the empty content placeholder.
3248
3249 2015-12-07  Brian Burg  <bburg@apple.com>
3250
3251         Web Inspector: Uncaught Exception page should have better styles and handle more error cases
3252         https://bugs.webkit.org/show_bug.cgi?id=151923
3253
3254         Reviewed by Timothy Hatcher.
3255
3256         Restructure the Uncaught Exception reporting page to act more like
3257         a modal sheet. Distinguish between uncaught exceptions before and
3258         after the frontend is initially loaded. If the frontend is loaded,
3259         add a clickable link that dismisses the sheet and ignores the error.
3260         If the inspector finished loading, then only show at most one
3261         exception at a time, since subsequent interactions can cause spurious
3262         errors when the sheet is active.
3263
3264         Split existing code into multiple functions so it's easier to follow.
3265         Add miscellaneous guards against internal corruption and weird cases.
3266
3267         * UserInterface/Base/Main.js:
3268         (WebInspector.contentLoaded): Store the flag on the global object
3269         in case WebInspector becomes shadowed or otherwise unusable.
3270
3271         * UserInterface/Debug/UncaughtExceptionReporter.css: Renamed from Source/WebInspectorUI/UserInterface/Debug/CatchEarlyErrors.css.
3272         (div.sheet-container):
3273         (div.uncaught-exception-sheet):
3274         (div.uncaught-exception-sheet a):
3275         (div.uncaught-exception-sheet a:active):
3276         (div.uncaught-exception-sheet h2):
3277         (div.uncaught-exception-sheet h1 > img):
3278         (div.uncaught-exception-sheet h2 > img):
3279         (div.uncaught-exception-sheet dl):
3280         (div.uncaught-exception-sheet dt):
3281         (div.uncaught-exception-sheet dd):
3282         (div.uncaught-exception-sheet ul):