Web Inspector: provide way for ShaderPrograms to be enabled/disabled
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2017-08-22  Devin Rousso  <webkit@devinrousso.com>
2
3         Web Inspector: provide way for ShaderPrograms to be enabled/disabled
4         https://bugs.webkit.org/show_bug.cgi?id=175400
5
6         Reviewed by Matt Baker.
7
8         Adds a status element to ShaderProgramTreeElement that, when clicked, will toggle the
9         disabled state of the corresponding ShaderProgram. Disabled shader programs will not draw
10         anything to the context.
11
12         * Localizations/en.lproj/localizedStrings.js:
13         * UserInterface/Main.html:
14
15         * UserInterface/Models/ShaderProgram.js:
16         (WI.ShaderProgram):
17         (WI.ShaderProgram.prototype.get disabled):
18         (WI.ShaderProgram.prototype.toggleDisabled):
19
20         * UserInterface/Views/ShaderProgramTreeElement.js:
21         (WI.ShaderProgramTreeElement):
22         (WI.ShaderProgramTreeElement.prototype.selectOnMouseDown):
23         (WI.ShaderProgramTreeElement.prototype._disabledImageElementClicked):
24         * UserInterface/Views/ShaderProgramTreeElement.css: Added.
25         (.item.shader-program .status > img):
26         (.item.shader-program:not(:hover, .selected, .disabled) .status > img):
27         (.tree-outline:matches(:focus, .force-focus) .item.shader-program.selected .status > img):
28         (.item.shader-program.disabled > *):
29
30 2017-08-21  Devin Rousso  <webkit@devinrousso.com>
31
32         Web Inspector: Can't copy text from "View variable value" popover in Styles sidebar
33         https://bugs.webkit.org/show_bug.cgi?id=175758
34
35         Reviewed by Matt Baker.
36
37         * UserInterface/Views/InlineSwatch.js:
38         (WI.InlineSwatch.prototype._swatchElementClicked):
39         Change CodeMirror readOnly from "nocursor" to true. The former prevents the editor from
40         being focused during selection, therefore preventing the content from being copied.
41
42 2017-08-17  Matt Baker  <mattbaker@apple.com>
43
44         Web Inspector: create better icon for Canvas Path navigation item
45         https://bugs.webkit.org/show_bug.cgi?id=175274
46
47         Reviewed by Joseph Pecoraro.
48
49         * UserInterface/Images/Path.svg: Added.
50         * UserInterface/Views/RecordingContentView.js:
51         (WI.RecordingContentView):
52
53 2017-08-17  Nikita Vasilyev  <nvasilyev@apple.com>
54
55         Web Inspector: Styles: replace "Enter Class Name" with "Add New Class"
56         https://bugs.webkit.org/show_bug.cgi?id=175686
57
58         Reviewed by Matt Baker.
59
60         "Enter Class Name" isn't very descriptive. It doesn't suggest what's going to happen after you enter a class name.
61
62         * Localizations/en.lproj/localizedStrings.js:
63         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
64         (WI.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
65
66 2017-08-17  Ross Kirsling  <ross.kirsling@sony.com>
67
68         Web Inspector: Ensure three.js gets minified properly for production builds.
69         https://bugs.webkit.org/show_bug.cgi?id=175452
70
71         Reviewed by Brian Burg.
72
73         * Scripts/copy-user-interface-resources.pl:
74
75 2017-08-14  Simon Fraser  <simon.fraser@apple.com>
76
77         Remove Proximity Events and related code
78         https://bugs.webkit.org/show_bug.cgi?id=175545
79
80         Reviewed by Daniel Bates.
81
82         No platform enables Proximity Events, so remove code inside ENABLE(PROXIMITY_EVENTS)
83         and other related code.
84
85         * UserInterface/Models/ScriptTimelineRecord.js:
86         (WI.ScriptTimelineRecord.EventType.displayName):
87
88 2017-08-14  Matt Baker  <mattbaker@apple.com>
89
90         Web Inspector: Remove text-shadow and gradient backgrounds
91         https://bugs.webkit.org/show_bug.cgi?id=175430
92
93         Reviewed by Brian Burg.
94
95         Inspector should more closely match flat system look. Remove text-shadow
96         embossing and replace linear gradients in popover backgrounds and selected
97         tree item background color.
98
99         * UserInterface/Views/CSSStyleDetailsSidebarPanel.css:
100         (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label):
101         * UserInterface/Views/CompletionSuggestionsView.css:
102         (.completion-suggestions-container:not(:active) > .item.selected,):
103         * UserInterface/Views/DebuggerDashboardView.css:
104         (.toolbar .dashboard.debugger):
105         * UserInterface/Views/HierarchicalPathComponent.css:
106         (.hierarchical-path-component > .title):
107         * UserInterface/Views/Main.css:
108         (.bouncy-highlight):
109         * UserInterface/Views/NavigationSidebarPanel.css:
110         (.sidebar > .panel.navigation > .content .empty-content-placeholder > .message):
111         * UserInterface/Views/Popover.js:
112         (WI.Popover.prototype._drawBackground):
113         * UserInterface/Views/RecordingTraceDetailsSidebarPanel.css:
114         (.sidebar > .details.recording-trace > .content > .no-trace-data > .message):
115         * UserInterface/Views/RulesStyleDetailsPanel.css:
116         (.sidebar > .panel.details.css-style .rules .label):
117         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules.filter-non-matching > .no-filter-results > .no-filter-results-message):
118         (@media (-webkit-min-device-pixel-ratio: 2)): Deleted.
119         (.sidebar > .panel.details.css-style > .content.filter-in-progress > .rules .label.filter-matching-label,): Deleted.
120         * UserInterface/Views/RulesStyleSpreadsheetDetailsPanel.css:
121         (.style-spreadsheet .inherited):
122         * UserInterface/Views/TimelineDataGrid.css:
123         (.tree-outline.timeline-data-grid .item:hover):
124         * UserInterface/Views/TimelineDataGrid.js:
125         (WI.TimelineDataGrid.prototype._createPopoverContent):
126         * UserInterface/Views/Variables.css:
127         (:root):
128
129 2017-08-11  Nikita Vasilyev  <nvasilyev@apple.com>
130
131         Web Inspector: Clicking on suggestion hint should apply it, not dismiss
132         https://bugs.webkit.org/show_bug.cgi?id=175409
133
134         Reviewed by Matt Baker.
135
136         Make clicking on the suggestion hint apply the completion, and place the text caret after it.
137
138         * UserInterface/Controllers/CodeMirrorCompletionController.js:
139         (WI.CodeMirrorCompletionController.prototype._createCompletionHintMarker):
140
141 2017-08-11  Nikita Vasilyev  <nvasilyev@apple.com>
142
143         Web Inspector: Styles: Update the filter icon to match Xcode
144         https://bugs.webkit.org/show_bug.cgi?id=175458
145         <rdar://problem/33838660>
146
147         Reviewed by Matt Baker.
148
149         * UserInterface/Images/FilterFieldGlyph.svg:
150         Half-pixel transform is necessary for a cleaner rasterisation.
151
152         * UserInterface/Views/FilterBar.css:
153         (.filter-bar > input[type="search"]::-webkit-search-decoration):        
154         (.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter):
155         ::-webkit-search-decoration is a flexbox item. Remove `vertical-align: bottom`,
156         since it didn't do anything for it.
157
158         * UserInterface/Views/DOMNodeDetailsSidebarPanel.css:
159         * UserInterface/Views/FilterBar.js:
160         (WI.FilterBar):        
161         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
162         (WI.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
163         * UserInterface/Views/DebuggerSidebarPanel.js:
164         * UserInterface/Views/LogContentView.js:
165         (WI.LogContentView):
166         * UserInterface/Views/NetworkSidebarPanel.js:
167         (WI.NetworkSidebarPanel):
168         * UserInterface/Views/RecordingNavigationSidebarPanel.js:
169         (WI.RecordingNavigationSidebarPanel):
170         * UserInterface/Views/ResourceSidebarPanel.js:
171         (WI.ResourceSidebarPanel):
172         * UserInterface/Views/SearchSidebarPanel.js:
173         (WI.SearchSidebarPanel):
174         * UserInterface/Views/StorageSidebarPanel.js:
175         (WI.StorageSidebarPanel):
176         * UserInterface/Views/TimelineRecordingContentView.js:
177         (WI.TimelineRecordingContentView):
178         * Localizations/en.lproj/localizedStrings.js:        
179         Replace placeholder text for all filter fields with "Filter".
180
181 2017-08-10  Ross Kirsling  <ross.kirsling@sony.com>
182
183         Web Inspector: Add three.js in preparation for layer visualization.
184         https://bugs.webkit.org/show_bug.cgi?id=174798
185
186         Reviewed by Brian Burg.
187
188         * UserInterface/External/three.js/LICENSE: Added.
189         * UserInterface/External/three.js/OrbitControls.js: Added.
190         * UserInterface/External/three.js/three.js: Added.
191
192 2017-08-09  Nikita Vasilyev  <nvasilyev@apple.com>
193
194         Web Inspector: Styles: Add pre-populated data to spreadsheet-style view
195         https://bugs.webkit.org/show_bug.cgi?id=174838
196         <rdar://problem/33523220>
197
198         Reviewed by Matt Baker.
199
200         This patch adds static content to the experimental RulesStyleSpreadsheetDetailsPanel.
201         The static content will be replaced with actual data in the follow up patches.
202
203         * UserInterface/Main.html:
204         * UserInterface/Views/RulesStyleSpreadsheetDetailsPanel.css: Added.
205         (.style-spreadsheet .style-rule):
206         (.style-spreadsheet .selector-line):
207         (.style-spreadsheet .selector):
208         (.style-spreadsheet :matches(.selector .matched, .selector:focus)):
209         (.style-spreadsheet .name):
210         (.style-spreadsheet .value):
211         (.style-spreadsheet :matches(.selector, .name, .value)):
212         (.style-spreadsheet :matches(.selector, .name, .value):focus):
213         (.style-spreadsheet .selector-inline):
214         (.style-spreadsheet .property):
215         (.style-spreadsheet .property-disabled,):
216         (.style-spreadsheet .property-disabled :matches(.name, .value)):
217         (.style-spreadsheet .styles-source):
218         (.style-spreadsheet :matches(a, .node-link)):
219         (.style-spreadsheet :matches(a, .node-link):hover):
220         (.style-spreadsheet .inherited):
221         (.style-spreadsheet .declarations):
222         (.style-spreadsheet input[type="checkbox"]):
223         (.style-spreadsheet input[type="checkbox"]:not(:checked)):
224         (.style-spreadsheet .declarations:hover input[type="checkbox"]):
225         * UserInterface/Views/RulesStyleSpreadsheetDetailsPanel.js:
226
227 2017-08-08  Devin Rousso  <drousso@apple.com>
228
229         Web Inspector: Canvas: support editing WebGL shaders
230         https://bugs.webkit.org/show_bug.cgi?id=124211
231         <rdar://problem/15448958>
232
233         Reviewed by Matt Baker.
234
235         * UserInterface/Models/ShaderProgram.js:
236         (WI.ShaderProgram.prototype.updateVertexShader):
237         (WI.ShaderProgram.prototype.updateFragmentShader):
238         (WI.ShaderProgram.prototype._updateShader):
239
240         * UserInterface/Views/ShaderProgramContentView.js:
241         (WI.ShaderProgramContentView):
242         (WI.ShaderProgramContentView.prototype._contentDidChange):
243
244 2017-08-07  Devin Rousso  <drousso@apple.com>
245
246         Web Inspector: Preview Canvas path when viewing a recording
247         https://bugs.webkit.org/show_bug.cgi?id=174967
248
249         Reviewed by Brian Burg.
250
251         * Localizations/en.lproj/localizedStrings.js:
252         * UserInterface/Base/Setting.js:
253
254         * UserInterface/Views/RecordingContentView.js:
255         (WI.RecordingContentView):
256         (WI.RecordingContentView.supportsCanvasPathDebugging):
257         (WI.RecordingContentView.prototype.get navigationItems):
258         (WI.RecordingContentView.prototype.shown):
259         (WI.RecordingContentView.prototype._generateContentCanvas2D):
260         (WI.RecordingContentView.prototype._actionModifiesPath):
261         (WI.RecordingContentView.prototype._updateCanvasPath):
262         (WI.RecordingContentView.prototype._showPathButtonClicked):
263         Show each segment of the current path as an overlay when the setting is enabled.
264         Drive-by: fix forgotten function rename.
265
266         * UserInterface/Views/RecordingContentView.css:
267         (.content-view:not(.tab).recording canvas.path):
268
269         * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
270         (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
271         Show the currentX/currentY in the current state.
272
273         * UserInterface/Models/RecordingAction.js:
274         (WI.RecordingAction.isFunctionForType):
275         (WI.RecordingAction.prototype.swizzle):
276         Use Sets for better performance.
277
278 2017-08-04  Devin Rousso  <drousso@apple.com>
279
280         Web Inspector: add source view for WebGL shader programs
281         https://bugs.webkit.org/show_bug.cgi?id=138593
282         <rdar://problem/18936194>
283
284         Reviewed by Matt Baker.
285
286         Shader programs are now listed in the Resources sidebar as items within the owner Canvas
287         context. When selected, the shown content view has two editors, one for the Vertex shader
288         and one for the Fragment shader. These editors use CodeMirror's "clike" mode for GLSL syntax.
289
290         * Localizations/en.lproj/localizedStrings.js:
291         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
292         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
293         * UserInterface/Main.html:
294
295         * UserInterface/Controllers/CanvasManager.js:
296         (WI.CanvasManager):
297         (WI.CanvasManager.prototype.canvasRemoved):
298         (WI.CanvasManager.prototype.programCreated):
299         (WI.CanvasManager.prototype.programDeleted):
300         (WI.CanvasManager.prototype._mainResourceDidChange):
301
302         * UserInterface/Models/Collection.js:
303         * UserInterface/Models/Canvas.js:
304         (WI.Canvas.prototype.get shaderProgramCollection)
305
306         * UserInterface/Models/ShaderProgram.js:
307         (WI.ShaderProgram.prototype.requestVertexShaderSource):
308         (WI.ShaderProgram.prototype.requestFragmentShaderSource):
309         (WI.ShaderProgram.prototype._requestShaderSource):
310
311         * UserInterface/Views/CanvasTreeElement.js:
312         (WI.CanvasTreeElement):
313         (WI.CanvasTreeElement.prototype.onattach):
314         (WI.CanvasTreeElement.prototype.ondetach):
315         (WI.CanvasTreeElement.prototype.onpopulate):
316         (WI.CanvasTreeElement.prototype._shaderProgramAdded):
317         (WI.CanvasTreeElement.prototype._shaderProgramRemoved):
318
319         * UserInterface/Views/ShaderProgramTreeElement.js: Added.
320         (WI.ShaderProgramTreeElement):
321
322         * UserInterface/Views/ShaderProgramContentView.js: Added.
323         (WI.ShaderProgramContentView):
324         (WI.ShaderProgramContentView.prototype.shown):
325         (WI.ShaderProgramContentView.prototype.hidden):
326         (WI.ShaderProgramContentView.prototype.closed):
327         (WI.ShaderProgramContentView.prototype.get supportsSave):
328         (WI.ShaderProgramContentView.prototype.get saveData):
329         (WI.ShaderProgramContentView.prototype.get supportsSearch):
330         (WI.ShaderProgramContentView.prototype.get numberOfSearchResults):
331         (WI.ShaderProgramContentView.prototype.get hasPerformedSearch):
332         (WI.ShaderProgramContentView.prototype.set automaticallyRevealFirstSearchResult):
333         (WI.ShaderProgramContentView.prototype.performSearch):
334         (WI.ShaderProgramContentView.prototype.searchCleared):
335         (WI.ShaderProgramContentView.prototype.searchQueryWithSelection):
336         (WI.ShaderProgramContentView.prototype.revealPreviousSearchResult):
337         (WI.ShaderProgramContentView.prototype.revealNextSearchResult):
338         (WI.ShaderProgramContentView.prototype.revealPosition):
339         (WI.ShaderProgramContentView.prototype._editorFocused):
340         (WI.ShaderProgramContentView.prototype._numberOfSearchResultsDidChange):
341         * UserInterface/Views/ShaderProgramContentView.css: Added.
342         (.content-view.shader-program > .text-editor.shader):
343         (body[dir=ltr] .content-view.shader-program > .text-editor.shader.vertex,):
344         (body[dir=ltr] .content-view.shader-program > .text-editor.shader.fragment,):
345         (body[dir=ltr] .content-view.shader-program > .text-editor.shader + .text-editor.shader):
346         (body[dir=rtl] .content-view.shader-program > .text-editor.shader + .text-editor.shader):
347         (.content-view.shader-program > .text-editor.shader > .type-title):
348         (.content-view.shader-program > .text-editor.shader > .CodeMirror):
349
350         * UserInterface/Images/DocumentGL.png: Added.
351         * UserInterface/Images/DocumentGL@2x.png: Added.
352         * UserInterface/Views/ResourceIcons.css:
353         (.shader-program .icon):
354
355         * UserInterface/Base/Main.js:
356         * UserInterface/Views/ContentView.js:
357         (WI.ContentView.createFromRepresentedObject):
358         (WI.ContentView.isViewable):
359         * UserInterface/Views/ResourceSidebarPanel.js:
360         (WI.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
361         (WI.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
362         (WI.ResourceSidebarPanel.prototype._treeSelectionDidChange):
363         * UserInterface/Views/ResourcesTabContentView.js:
364         (WI.ResourcesTabContentView.prototype.canShowRepresentedObject):
365         Plumbing for displaying ShaderProgram content.
366
367         * UserInterface/Views/TextEditor.js:
368         (WebInspector.TextEditor):
369         (WebInspector.TextEditor.prototype._editorFocused):
370
371         * Scripts/update-codemirror-resources.rb:
372         * UserInterface/External/CodeMirror/clike.js: Added.
373         Add C-like mode for highlighting GLSL.
374
375 2017-08-03  Joseph Pecoraro  <pecoraro@apple.com>
376
377         JSContext Inspector: Scripts sometimes do not show in resources tab
378         https://bugs.webkit.org/show_bug.cgi?id=175153
379         <rdar://problem/33708683>
380
381         Reviewed by Matt Baker.
382
383         * UserInterface/Views/ResourceSidebarPanel.js:
384         (WI.ResourceSidebarPanel.prototype.initialLayout):
385         When the ResourceSidebar is lazily created, be sure to add any scripts
386         to the sidebar that are not backed by Resources.
387
388         (WI.ResourceSidebarPanel.prototype._scriptWasAdded):
389         (WI.ResourceSidebarPanel.prototype._addScript):
390         Extract so it can be used outside of an event handler.
391
392 2017-08-03  Devin Rousso  <drousso@apple.com>
393
394         Web Inspector: add button to open Inspector^2
395         https://bugs.webkit.org/show_bug.cgi?id=175108
396
397         Reviewed by Brian Burg.
398
399         * UserInterface/Debug/Bootstrap.js:
400         (updateDebugUI):
401         (WI.runBootstrapOperations):
402
403         * UserInterface/Views/ButtonToolbarItem.js:
404         (WI.ButtonToolbarItem):
405         (WI.ButtonToolbarItem.prototype.get label): Deleted.
406         (WI.ButtonToolbarItem.prototype.set label): Deleted.
407         * UserInterface/Views/ButtonToolbarItem.css:
408         (.toolbar .item.button):
409         (.toolbar .item.button:not(.disabled):active):
410         (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated)):
411         (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated)):
412         (.toolbar .item.button > .glyph):
413         (.toolbar .item.button:not(.disabled):active > .glyph): Deleted.
414         (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated) > .glyph): Deleted.
415         (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated) > .glyph): Deleted.
416         (.toolbar .item.button > .label): Deleted.
417         * UserInterface/Views/ActivateButtonToolbarItem.js:
418         (WI.ActivateButtonToolbarItem):
419         (WI.ActivateButtonToolbarItem.prototype.get label): Deleted.
420         (WI.ActivateButtonToolbarItem.prototype.set label): Deleted.
421         * UserInterface/Base/Main.js:
422         (WI.contentLoaded):
423         Remove unused `label` parameter from Toolbar objects.
424
425 2017-08-03  Matt Baker  <mattbaker@apple.com>
426
427         Web Inspector: Instrument WebGLProgram created/deleted
428         https://bugs.webkit.org/show_bug.cgi?id=175059
429
430         Reviewed by Devin Rousso.
431
432         This patch adds frontend support for shader program instrumentation.
433         The frontend creates a ShaderProgram model object for each WebGLProgram.
434         Since only canvases with a WebGL context have programs, the Canvas model
435         object does not contain any logic specific to programs. CanvasManager
436         dispatches program added/removed events, and the parent Canvas can be
437         accessed from ShaderProgram but not the other way around.
438
439         * UserInterface/Controllers/CanvasManager.js:
440         (WI.CanvasManager):
441         (WI.CanvasManager.prototype.get shaderPrograms):
442         (WI.CanvasManager.prototype.canvasRemoved):
443         (WI.CanvasManager.prototype.programCreated):
444         (WI.CanvasManager.prototype.programDeleted):
445         (WI.CanvasManager.prototype._mainResourceDidChange):
446         (WI.CanvasManager.prototype._dispatchShaderProgramRemoved):
447
448         * UserInterface/Main.html:
449
450         * UserInterface/Models/Canvas.js:
451         (WI.Canvas.prototype.nextShaderProgramDisplayNumber):
452         (WI.Canvas):
453
454         * UserInterface/Models/ShaderProgram.js: Added.
455         (WI.ShaderProgram):
456         (WI.ShaderProgram.prototype.get identifier):
457         (WI.ShaderProgram.prototype.get canvas):
458         (WI.ShaderProgram.prototype.get displayName):
459
460         * UserInterface/Protocol/CanvasObserver.js:
461         (WI.CanvasObserver.prototype.programCreated):
462         (WI.CanvasObserver.prototype.programDeleted):
463         (WI.CanvasObserver):
464
465         * UserInterface/Test.html:
466
467 2017-08-03  Joseph Pecoraro  <pecoraro@apple.com>
468
469         JSContext Inspector: Recording tab should not be available in New Tab picker
470         https://bugs.webkit.org/show_bug.cgi?id=175155
471
472         Reviewed by Brian Burg.
473
474         * UserInterface/Views/RecordingTabContentView.js:
475         (WI.RecordingTabContentView.isTabAllowed):
476         Only allow the Recording Tab if we have a CanvasAgent.
477
478 2017-08-02  Devin Rousso  <drousso@apple.com>
479
480         Web Inspector: add stack trace information for each RecordingAction
481         https://bugs.webkit.org/show_bug.cgi?id=174663
482
483         Reviewed by Joseph Pecoraro.
484
485         * Localizations/en.lproj/localizedStrings.js:
486         * UserInterface/Main.html:
487
488         * UserInterface/Models/Recording.js:
489         (WI.Recording.prototype.swizzle):
490         Add Array type for swizzling array values.
491
492         * UserInterface/Models/RecordingAction.js:
493         (WI.RecordingAction):
494         (WI.RecordingAction.fromPayload):
495         (WI.RecordingAction.prototype.get trace):
496         (WI.RecordingAction.prototype.swizzle):
497         (WI.RecordingAction.prototype.toJSON):
498
499         * UserInterface/Views/RecordingTraceDetailsSidebarPanel.js: Added.
500         (WI.RecordingTraceDetailsSidebarPanel):
501         (WI.RecordingTraceDetailsSidebarPanel.disallowInstanceForClass):
502         (WI.RecordingTraceDetailsSidebarPanel.prototype.inspect):
503         (WI.RecordingTraceDetailsSidebarPanel.prototype.set recording):
504         (WI.RecordingTraceDetailsSidebarPanel.prototype.updateActionIndex):
505         * UserInterface/Views/RecordingTraceDetailsSidebarPanel.css: Added.
506         (.sidebar > .panel.details.recording-trace > .content > .call-frame):
507         (.sidebar > .details.recording-trace > .content > .no-trace-data):
508         (.sidebar > .details.recording-trace > .content > .no-trace-data > .message):
509
510         * UserInterface/Views/RecordingTabContentView.js:
511         (WI.RecordingTabContentView):
512
513         * UserInterface/Views/RecordingActionTreeElement.js:
514         (WI.RecordingActionTreeElement.prototype.populateContextMenu):
515
516         * UserInterface/Views/CallFrameView.css:
517         (.call-frame):
518         (body[dir=ltr] .call-frame .icon):
519         (body[dir=rtl] .call-frame .icon):
520         Apply the same trailing margin for CallFrameView icons as TreeElement.
521
522 2017-08-02  Devin Rousso  <drousso@apple.com>
523
524         Web Inspector: add TreeElement virtualization for the Recording tab
525         https://bugs.webkit.org/show_bug.cgi?id=174968
526
527         Reviewed by Joseph Pecoraro.
528
529         * UserInterface/Views/RecordingNavigationSidebarPanel.js:
530         (WI.RecordingNavigationSidebarPanel):
531
532         * UserInterface/Views/TreeOutline.js:
533         (WI.TreeOutline):
534         (WI.TreeOutline.prototype.get virtualized):
535         (WI.TreeOutline.prototype.registerScrollVirtualizer):
536         (WI.TreeOutline.prototype.updateVirtualizedElements.walk):
537         (WI.TreeOutline.prototype.updateVirtualizedElements):
538         Add spacer elements before and after the TreeOutline element that will size to ensure that
539         the TreeOutline node still takes up the same amount of space after some of the TreeElements
540         are removed. Whenever the scroll of the container view changes, recalculate the visible area
541         and add/remove TreeElements based on whether they would be in that. This is only possible if
542         every TreeElement has the same vertical height, which is given when setting up the scroll
543         listener on the container view.
544
545         * UserInterface/Views/TreeElement.js:
546         (WI.TreeElement.prototype.set hidden):
547         (WI.TreeElement.prototype._attach):
548         (WI.TreeElement.prototype.collapse):
549         (WI.TreeElement.prototype.expand):
550         (WI.TreeElement.prototype.reveal):
551         If the TreeOutline is being virtualized, don't add each TreeElement's node to the DOM. They
552         will be added at the end of the frame (via setTimeout) if they are within the visible + padding
553         area of the TreeOutline.
554
555 2017-08-01  Devin Rousso  <drousso@apple.com>
556
557         Web Inspector: simplify WebInspector with WI
558         https://bugs.webkit.org/show_bug.cgi?id=175058
559
560         Reviewed by Joseph Pecoraro.
561
562         * .eslintrc:
563
564         * Tools/PrettyPrinting/FormatterDebug.js:
565         * Tools/PrettyPrinting/index.html:
566
567         * UserInterface/Main.html:
568         * UserInterface/Test.html:
569
570         * UserInterface/Base/*.js:
571         * UserInterface/Controllers/*.js:
572         * UserInterface/Debug/*.js:
573         * UserInterface/Models/*.js:
574         * UserInterface/Protocol/*.js:
575         * UserInterface/Proxies/*.js:
576         * UserInterface/Test/*.js:
577         * UserInterface/Views/*.js:
578
579 2017-08-01  Devin Rousso  <drousso@apple.com>
580
581         Web Inspector: create Recording tab for displaying recordings
582         https://bugs.webkit.org/show_bug.cgi?id=174484
583
584         Reviewed by Joseph Pecoraro.
585
586         * Localizations/en.lproj/localizedStrings.js:
587         * UserInterface/Main.html:
588         * UserInterface/Test.html:
589
590         * UserInterface/Controllers/CanvasManager.js:
591         (WebInspector.CanvasManager.prototype.recordingFinished):
592         * UserInterface/Models/Canvas.js:
593         (WebInspector.Canvas.prototype.toggleRecording):
594
595         * UserInterface/Models/Recording.js:
596         (WebInspector.Recording):
597         (WebInspector.Recording.synthesizeError):
598         (WebInspector.Recording.prototype.get actions):
599         (WebInspector.Recording.prototype.get source):
600         (WebInspector.Recording.prototype.set source):
601         (WebInspector.Recording.prototype.swizzle):
602
603         * UserInterface/Models/RecordingAction.js:
604         (WebInspector.RecordingAction):
605         (WebInspector.RecordingAction.isFunctionForType):
606         (WebInspector.RecordingAction.get name):
607         (WebInspector.RecordingAction.get parameters):
608         (WebInspector.RecordingAction.prototype.get valid):
609         (WebInspector.RecordingAction.prototype.set valid):
610         (WebInspector.RecordingAction.get isFunction):
611         (WebInspector.RecordingAction.get isGetter):
612         (WebInspector.RecordingAction.get isVisual):
613         (WebInspector.RecordingAction.get stateModifiers):
614         (WebInspector.RecordingAction.prototype.swizzle):
615         (WebInspector.RecordingAction.prototype.parameterSwizzleTypeForTypeAtIndex):
616
617         * UserInterface/Models/RecordingInitialStateAction.js: Added.
618         (WebInspector.RecordingInitialStateAction):
619
620         * UserInterface/Views/RecordingTabContentView.js: Added.
621         (WebInspector.RecordingTabContentView):
622         (WebInspector.RecordingTabContentView.tabInfo):
623         (WebInspector.RecordingTabContentView.prototype.get type):
624         (WebInspector.RecordingTabContentView.prototype.canShowRepresentedObject):
625         (WebInspector.RecordingTabContentView.prototype.showRepresentedObject):
626         (WebInspector.RecordingTabContentView.prototype.restoreStateFromCookie):
627         (WebInspector.RecordingTabContentView.prototype.saveStateToCookie):
628         (WebInspector.RecordingTabContentView.prototype.closed):
629         (WebInspector.RecordingTabContentView.prototype._updateActionIndex):
630         (WebInspector.RecordingTabContentView.prototype._scrubberNavigationItemValueChanged):
631         (WebInspector.RecordingTabContentView.prototype._navigationSidebarImport):
632         (WebInspector.RecordingTabContentView.prototype._navigationSidebarTreeOutlineSelectionChanged):
633
634         * UserInterface/Views/RecordingContentView.js: Added.
635         (WebInspector.RecordingContentView):
636         (WebInspector.RecordingContentView.prototype.get navigationItems):
637         (WebInspector.RecordingContentView.prototype.updateActionIndex):
638         (WebInspector.RecordingContentView.prototype.shown):
639         (WebInspector.RecordingContentView.prototype.get supplementalRepresentedObjects):
640         (WebInspector.RecordingContentView.prototype._generateContentCanvas2D):
641         (WebInspector.RecordingContentView.prototype._applyAction):
642         (WebInspector.RecordingContentView.prototype._updateImageGrid):
643         (WebInspector.RecordingContentView.prototype._showGridButtonClicked):
644         * UserInterface/Views/RecordingContentView.css: Copied from Source/WebInspectorUI/UserInterface/Views/CanvasContentView.css.
645         (.content-view:not(.tab).recording):
646         (.content-view:not(.tab).recording > .preview-container):
647         (.content-view:not(.tab).recording canvas):
648
649         * UserInterface/Views/RecordingNavigationSidebarPanel.js: Added.
650         (WebInspector.RecordingNavigationSidebarPanel):
651         (WebInspector.RecordingNavigationSidebarPanel.disallowInstanceForClass):
652         (WebInspector.RecordingNavigationSidebarPanel.prototype.set recording):
653         (WebInspector.RecordingNavigationSidebarPanel.prototype.updateActionIndex):
654         (WebInspector.RecordingNavigationSidebarPanel.prototype.initialLayout):
655         (WebInspector.RecordingNavigationSidebarPanel.prototype._importNavigationItemClicked):
656         (WebInspector.RecordingNavigationSidebarPanel.prototype._exportNavigationItemClicked):
657         * UserInterface/Views/RecordingNavigationSidebarPanel.css: Added.
658         (.sidebar > .panel.navigation.recording > :matches(.content, .empty-content-placeholder)):
659         (.sidebar > .panel.navigation.recording > .content > .tree-outline):
660         (.sidebar > .panel.navigation.recording > .content > .tree-outline > .item.parent:not(.action, .selected).expanded):
661         (.sidebar > .panel.navigation.recording > .content > .tree-outline .item.action:not(.initial-state)::before):
662         (body[dir=ltr] .sidebar > .panel.navigation.recording > .content > .tree-outline .item.action:not(.initial-state)::before):
663         (body[dir=rtl] .sidebar > .panel.navigation.recording > .content > .tree-outline .item.action:not(.initial-state)::before):
664         (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="2"] .item.action:not(.initial-state)::before):
665         (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="3"] .item.action:not(.initial-state)::before):
666         (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="4"] .item.action:not(.initial-state)::before):
667         (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="5"] .item.action:not(.initial-state)::before):
668         (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="6"] .item.action:not(.initial-state)::before):
669         (.sidebar > .panel.navigation.recording > .content > .tree-outline[data-indent="7"] .item.action:not(.initial-state)::before):
670         (.sidebar > .panel.navigation.recording > .content .action > .icon):
671         (.sidebar > .panel.navigation.recording > .content .action.function > .icon):
672         (.sidebar > .panel.navigation.recording > .content .action.attribute.getter > .icon):
673         (.sidebar > .panel.navigation.recording > .content .tree-outline:matches(:focus, .force-focus) .action.attribute.getter.selected > .icon):
674         (.sidebar > .panel.navigation.recording > .content .action.attribute.boolean > .icon):
675         (.sidebar > .panel.navigation.recording > .content .action.attribute.number > .icon):
676         (.sidebar > .panel.navigation.recording > .content .action.attribute.object > .icon):
677         (.sidebar > .panel.navigation.recording > .content .action.attribute.string > .icon):
678         (.sidebar > .panel.navigation.recording > .content > .tree-outline > .item.parent:not(.action) > .icon):
679         (.sidebar > .panel.navigation.recording > .content .action:matches(.invalid, .missing) > .icon):
680         (body[dir=ltr] .sidebar > .panel.navigation.recording > .content .action:not(.initial-state) > .icon):
681         (body[dir=rtl] .sidebar > .panel.navigation.recording > .content .action:not(.initial-state) > .icon):
682         (.sidebar > .panel.navigation.recording > .content .action.visual:not(.selected, .invalid)):
683         (.sidebar > .panel.navigation.recording > .content .action:not(.selected, .initial-state) > .titles .parameter.swizzled):
684         (.sidebar > .panel.navigation.recording > .content .action.invalid:not(.selected, .initial-state) > .titles .name,):
685
686         * UserInterface/Views/RecordingStateDetailsSidebarPanel.js: Added.
687         (WebInspector.RecordingStateDetailsSidebarPanel):
688         (WebInspector.RecordingStateDetailsSidebarPanel.disallowInstanceForClass):
689         (WebInspector.RecordingStateDetailsSidebarPanel.prototype.inspect):
690         (WebInspector.RecordingStateDetailsSidebarPanel.prototype.set recording):
691         (WebInspector.RecordingStateDetailsSidebarPanel.prototype.updateActionIndex):
692         (WebInspector.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
693         * UserInterface/Views/RecordingStateDetailsSidebarPanel.css: Added.
694         (.sidebar > .panel.details.recording-state > .content > .data-grid):
695         (.sidebar > .panel.details.recording-state > .content > .data-grid tr.modified):
696         (.sidebar > .panel.details.recording-state > .content > .data-grid tr:not(.selected).non-standard):
697         (.sidebar > .panel.details.recording-state > .content > .data-grid tr:not(.selected) .unavailable):
698
699         * UserInterface/Views/RecordingActionTreeElement.js: Added.
700         (WebInspector.RecordingActionTreeElement):
701         (WebInspector.RecordingActionTreeElement._generateDOM):
702         (WebInspector.RecordingActionTreeElement.prototype.get index):
703         (WebInspector.RecordingActionTreeElement.get filterableData):
704         (WebInspector.RecordingActionTreeElement.prototype.get filterableData):
705         (WebInspector.RecordingActionTreeElement.prototype.onattach):
706         (WebInspector.RecordingActionTreeElement.prototype.populateContextMenu):
707
708         * UserInterface/Base/Main.js:
709         (WebInspector.contentLoaded):
710         (WebInspector.instanceForClass):
711
712         * UserInterface/Base/FileUtilites.js: Added.
713         (WebInspector.saveDataToFile): Moved from UserInterface/Base/Main.js
714         (WebInspector.loadDataFromFile):
715
716         * UserInterface/Views/ButtonNavigationItem.js:
717         (WebInspector.ButtonNavigationItem.prototype._mouseClicked):
718         Send the native event as part of the data.
719
720         * UserInterface/Views/CanvasContentView.js:
721         (WebInspector.CanvasContentView):
722         (WebInspector.CanvasContentView.prototype.get navigationItems):
723         (WebInspector.CanvasContentView.prototype.initialLayout):
724         (WebInspector.CanvasContentView.prototype.closed):
725         (WebInspector.CanvasContentView.prototype._toggleRecording):
726         (WebInspector.CanvasContentView.prototype._recordingFinished):
727         * UserInterface/Views/CanvasContentView.css:
728         (.content-view.canvas):
729
730         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
731         (WebInspector.CanvasDetailsSidebarPanel.prototype.inspect):
732
733         * UserInterface/Views/ContentBrowser.js:
734         (WebInspector.ContentBrowser):
735         (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems):
736         * UserInterface/Views/ContentBrowserTabContentView.js:
737         (WebInspector.ContentBrowserTabContentView):
738         * UserInterface/Views/ContentView.js:
739         (WebInspector.ContentView.createFromRepresentedObject):
740         (WebInspector.ContentView.isViewable):
741         * UserInterface/Views/ScrubberNavigationItem.js: Added.
742         (WebInspector.ScrubberNavigationItem):
743         (WebInspector.ScrubberNavigationItem.prototype.get value):
744         (WebInspector.ScrubberNavigationItem.prototype.set value):
745         (WebInspector.ScrubberNavigationItem.prototype.get min):
746         (WebInspector.ScrubberNavigationItem.prototype.set min):
747         (WebInspector.ScrubberNavigationItem.prototype.get max):
748         (WebInspector.ScrubberNavigationItem.prototype.set max):
749         (WebInspector.ScrubberNavigationItem.prototype.set disabled):
750         (WebInspector.ScrubberNavigationItem.prototype.get additionalClassNames):
751         (WebInspector.ScrubberNavigationItem.prototype._sliderChanged):
752         * UserInterface/Views/ScrubberNavigationItem.css: Added.
753         (.navigation-bar .item.scrubber):
754         (.navigation-bar .item.scrubber > input):
755         (.navigation-bar .item.scrubber > input[disabled]):
756         Allow the flexible space to be replaced with a navigation item at construction.
757
758         * UserInterface/Views/DataGridNode.js:
759         (WebInspector.DataGridNode):
760         (WebInspector.DataGridNode.prototype.get element):
761         Allow a list of CSS classes to be added to the node's element.
762
763         * UserInterface/Views/SettingsTabContentView.js:
764         (WebInspector.SettingsTabContentView.prototype.initialLayout):
765         (WebInspector.SettingsTabContentView.prototype._createExperimentalSettingsView.listenForChange):
766         (WebInspector.SettingsTabContentView.prototype._createExperimentalSettingsView):
767         (WebInspector.SettingsTabContentView.prototype._createDebugSettingsView):
768         Move experimental settings to their own panel.
769
770         * UserInterface/Views/TabContentView.js:
771         (WebInspector.TabContentView.prototype.get navigationSidebarPanel):
772         Save the NavigationSidebarPanel after it's constructed.
773
774         * UserInterface/Base/Utilities.js:
775         (Number.countDigits):
776
777         * UserInterface/Images/Recording.svg: Added.
778         * UserInterface/Images/RenderingFrame.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/TimelineRecordRenderingFrame.svg.
779         * UserInterface/Images/gtk/RenderingFrame.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/gtk/TimelineRecordRenderingFrame.svg.
780         * UserInterface/Views/TimelineIcons.css:
781         (.rendering-frame-record .icon):
782
783         * UserInterface/Views/DOMTreeOutline.css:
784         (@keyframes node-state-changed):
785         * UserInterface/Views/Main.css:
786         (:matches(img, canvas).show-grid):
787         (img.show-grid): Deleted.
788         * UserInterface/Views/NavigationBar.css:
789         (.navigation-bar):
790         * UserInterface/Views/NetworkSidebarPanel.css:
791         (.sidebar > .panel.navigation.network.network-grid-content-view-showing > .content > .tree-outline):
792         * UserInterface/Views/TimelineTabContentView.css:
793         (.timeline.tab.content-view .navigation-bar > .item.radio):
794         * UserInterface/Views/TimelineView.css:
795         (.panel.navigation.timeline.timeline-recording-content-view-showing > .content > .tree-outline):
796         * UserInterface/Views/Variables.css:
797         (:root):
798         Create CSS variables for the DOM modification flash color and the color striping.
799
800 2017-07-28  Devin Rousso  <drousso@apple.com>
801
802         Web Inspector: Cleanup unused/invalid parameters for TreeElements
803         https://bugs.webkit.org/show_bug.cgi?id=173987
804
805         Reviewed by Brian Burg.
806
807         * UserInterface/Views/TreeElement.js:
808         * UserInterface/Views/GeneralTreeElement.js:
809
810         * UserInterface/Views/ApplicationCacheFrameTreeElement.js:
811         * UserInterface/Views/BreakpointTreeElement.js:
812         * UserInterface/Views/CSSStyleSheetTreeElement.js:
813         * UserInterface/Views/CallFrameTreeElement.js:
814         * UserInterface/Views/ContentFlowTreeElement.js:
815         * UserInterface/Views/DOMNodeTreeElement.js:
816         * UserInterface/Views/DatabaseTableTreeElement.js:
817         * UserInterface/Views/DatabaseTreeElement.js:
818         * UserInterface/Views/FolderTreeElement.js:
819         * UserInterface/Views/FolderizedTreeElement.js:
820         * UserInterface/Views/FrameTreeElement.js:
821         * UserInterface/Views/IndexedDatabaseObjectStoreIndexTreeElement.js:
822         * UserInterface/Views/IndexedDatabaseObjectStoreTreeElement.js:
823         * UserInterface/Views/IndexedDatabaseTreeElement.js:
824         * UserInterface/Views/IssueTreeElement.js:
825         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
826         * UserInterface/Views/ProfileNodeTreeElement.js:
827         * UserInterface/Views/ResourceTreeElement.js:
828         * UserInterface/Views/ScriptTreeElement.js:
829         * UserInterface/Views/SearchResultTreeElement.js:
830         * UserInterface/Views/SourceCodeTreeElement.js:
831         * UserInterface/Views/SourceMapResourceTreeElement.js:
832         * UserInterface/Views/StorageTreeElement.js:
833         * UserInterface/Views/TimelineRecordTreeElement.js:
834         * UserInterface/Views/TypeTreeElement.js:
835
836 2017-07-26  Devin Rousso  <drousso@apple.com>
837
838         Uncaught Exception: undefined is not an object (evaluating 'this._memoryRow.value = Number.bytesToString(this._canvas.memoryCost)')
839         https://bugs.webkit.org/show_bug.cgi?id=174823
840
841         Reviewed by Joseph Pecoraro.
842
843         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
844         (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshIdentitySection):
845         (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshSourceSection):
846         (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshAttributesSection):
847         (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshCSSCanvasSection):
848         (WebInspector.CanvasDetailsSidebarPanel.prototype._formatMemoryRow):
849         Early return if the view has not called initialLayout, as the rows might not have been
850         constructed yet.
851
852         * UserInterface/Views/View.js:
853         (WebInspector.View.prototype.get didInitialLayout): Added.
854
855 2017-07-26  Devin Rousso  <drousso@apple.com>
856
857         Web Inspector: create protocol for recording Canvas contexts
858         https://bugs.webkit.org/show_bug.cgi?id=174481
859
860         Reviewed by Joseph Pecoraro.
861
862         Create model objects that effectively mirror the protocol objects sent for Canvas recordings.
863
864         * .eslintrc:
865         * UserInterface/Main.html:
866         * UserInterface/Test.html:
867
868         * UserInterface/Controllers/CanvasManager.js:
869         (WebInspector.CanvasManager.prototype.recordingFinished):
870         * UserInterface/Protocol/CanvasObserver.js:
871         (WebInspector.CanvasObserver.prototype.recordingFinished):
872
873         * UserInterface/Models/Recording.js: Added.
874         (WebInspector.Recording):
875         (WebInspector.Recording.fromPayload):
876         (WebInspector.Recording.prototype.get type):
877         (WebInspector.Recording.prototype.get initialState):
878         (WebInspector.Recording.prototype.get frames):
879         (WebInspector.Recording.prototype.get data):
880         (WebInspector.Recording.prototype.toJSON):
881
882         * UserInterface/Models/RecordingAction.js: Added.
883         (WebInspector.RecordingAction):
884         (WebInspector.RecordingAction.fromPayload):
885         (WebInspector.RecordingAction.prototype.get name):
886         (WebInspector.RecordingAction.prototype.get parameters):
887         (WebInspector.RecordingAction.prototype.toJSON):
888
889         * UserInterface/Models/RecordingFrame.js: Added.
890         (WebInspector.RecordingFrame):
891         (WebInspector.RecordingFrame.fromPayload):
892         (WebInspector.RecordingFrame.prototype.get actions):
893         (WebInspector.RecordingFrame.prototype.get incomplete):
894         (WebInspector.RecordingFrame.prototype.toJSON):
895
896 2017-07-26  Brian Burg  <bburg@apple.com>
897
898         Remove WEB_TIMING feature flag
899         https://bugs.webkit.org/show_bug.cgi?id=174795
900
901         Reviewed by Alex Christensen.
902
903         Remove fallback for ports that lack WEB_TIMING.
904
905         * UserInterface/Base/Utilities.js:
906         (timestamp): Deleted.
907         * UserInterface/Protocol/Connection.js:
908         (InspectorBackend.Connection.prototype._dispatchResponse):
909         (InspectorBackend.Connection.prototype._dispatchEvent):
910         (InspectorBackend.Connection.prototype._sendCommandToBackendWithCallback):
911         (InspectorBackend.Connection.prototype._sendCommandToBackendExpectingPromise):
912         * UserInterface/Protocol/MessageDispatcher.js:
913         (WebInspector.dispatchNextQueuedMessageFromBackend):
914
915 2017-07-25  Joseph Pecoraro  <pecoraro@apple.com>
916
917         Web Inspector: Don't output "No message" for multi-value logs like console.log(x, y)
918         https://bugs.webkit.org/show_bug.cgi?id=174842
919
920         Reviewed by Matt Baker.
921
922         * Localizations/en.lproj/localizedStrings.js:
923         Removed "No message".
924
925         * UserInterface/Views/ConsoleMessageView.js:
926         (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
927         Track whether or not outputting the next parameter will need a divider
928         in front of it or not.
929
930 2017-07-25  Joseph Pecoraro  <pecoraro@apple.com>
931
932         Web Inspector: Fix warnings about console.assert lines without semicolons
933         https://bugs.webkit.org/show_bug.cgi?id=174840
934
935         Reviewed by Brian Burg.
936
937         * UserInterface/Views/SettingsTabContentView.js:
938         (WebInspector.SettingsTabContentView.prototype.set selectedSettingsView):
939         (WebInspector.SettingsTabContentView.prototype.setSettingsViewVisible):
940         Add semicolon to assert lines so they can be stripped in optimized builds.
941
942 2017-07-25  Joseph Pecoraro  <pecoraro@apple.com>
943
944         Web Inspector: Inline multiple console log values if they are simple
945         https://bugs.webkit.org/show_bug.cgi?id=174746
946         <rdar://problem/33469376>
947
948         Reviewed by Matt Baker.
949
950         * UserInterface/Models/IssueMessage.js:
951         * UserInterface/Protocol/RemoteObject.js:
952         (WebInspector.RemoteObject.type): Deleted.
953         Remove this as it isn't as useful as directly checking the type.
954
955         * UserInterface/Views/ConsoleMessageView.js:
956         (WebInspector.ConsoleMessageView.prototype._appendExtraParameters):
957         (WebInspector.ConsoleMessageView.prototype._appendFormattedArguments):
958         (WebInspector.ConsoleMessageView.prototype._hasSimpleDisplay):
959         (WebInspector.ConsoleMessageView.prototype._isStackTrace):
960         For leading primitive/simple values, display them inline on the console message.
961
962         * UserInterface/Views/FormattedValue.js:
963         (WebInspector.FormattedValue.hasSimpleDisplay):
964         Provide a helper to determine if a formatted value will be simple.
965
966 2017-07-25  Nikita Vasilyev  <nvasilyev@apple.com>
967
968         Web Inspector: Styles: Add a switch for Spreadsheet model style editor to experimental settings
969         https://bugs.webkit.org/show_bug.cgi?id=174741
970         <rdar://problem/33467954>
971
972         Reviewed by Brian Burg.
973
974         Show a blank panel when Spreadsheet Style Editor is enabled.
975
976         * UserInterface/Base/Setting.js:
977         * UserInterface/Main.html:
978         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
979         (WebInspector.CSSStyleDetailsSidebarPanel):
980         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.computedStyleDetailsPanelShowProperty):
981         * UserInterface/Views/RulesStyleSpreadsheetDetailsPanel.js: Added.
982         (WebInspector.RulesStyleSpreadsheetDetailsPanel):
983         (WebInspector.RulesStyleSpreadsheetDetailsPanel.prototype.filterDidChange):
984         (WebInspector.RulesStyleSpreadsheetDetailsPanel.prototype.scrollToSectionAndHighlightProperty):
985
986         * UserInterface/Views/SettingsTabContentView.css:
987         (.content-view.settings > .settings-view > .container.hidden):
988         (.content-view.settings > .settings-view > .container-centered):
989         (.content-view.settings > .settings-view > .container button):
990         * UserInterface/Views/SettingsTabContentView.js:
991         (WebInspector.SettingsTabContentView.prototype._createDebugSettingsView):
992         * UserInterface/Views/SettingsView.js:
993         (WebInspector.SettingsView.prototype.addCenteredContainer):
994         (WebInspector.SettingsView):
995         Show "Reload Web Inspector" button when Spreadsheet Style Editor setting is modified.
996
997 2017-07-25  Devin Rousso  <drousso@apple.com>
998
999         Web Inspector: add context menu item for taking a screenshot of a node
1000         https://bugs.webkit.org/show_bug.cgi?id=174754
1001
1002         Reviewed by Brian Burg.
1003
1004         * Localizations/en.lproj/localizedStrings.js:
1005         * UserInterface/Views/ContextMenuUtilities.js:
1006         (WebInspector.appendContextMenuItemsForDOMNode):
1007         Add "Capture Element Screenshot " context menu item that opens a save dialog with a picture of the node.
1008
1009         * UserInterface/Base/Main.js:
1010         (WebInspector.saveDataToFile):
1011         Allow the saveData to specify whether the contained content is base64Encoded, instead of
1012         having to go through a Blob to save base64 data.
1013
1014         * UserInterface/Base/Utilities.js:
1015         Add Number.pad to add leading zeros up to a certain width.
1016
1017         Drive-by: fix failing test for Number.constrain.
1018
1019         * UserInterface/Models/DOMNode.js:
1020         (WebInspector.DOMNode.prototype.scrollIntoView.resolvedNode.scrollIntoView): Added.
1021         (WebInspector.DOMNode.prototype.scrollIntoView.resolvedNode): Added.
1022         (WebInspector.DOMNode.prototype.scrollIntoView): Added.
1023         * UserInterface/Views/DOMTreeElement.js:
1024         (WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
1025         (WebInspector.DOMTreeElement.prototype._scrollIntoView.resolvedNode.scrollIntoView): Deleted.
1026         (WebInspector.DOMTreeElement.prototype._scrollIntoView.resolvedNode): Deleted.
1027         (WebInspector.DOMTreeElement.prototype._scrollIntoView): Deleted.
1028         * UserInterface/Views/DOMTreeOutline.js:
1029         (WebInspector.DOMTreeOutline.prototype.populateContextMenu):
1030         Drive-by: move "Scroll Into View" context menu command to WebInspector.appendContextMenuItemsForDOMNode
1031         so that it can be triggered from more places than just the DOM tree.
1032
1033 2017-07-24  Nikita Vasilyev  <me@elv1s.ru>
1034
1035         Web Inspector: Settings: Some controls overlay settings header
1036         https://bugs.webkit.org/show_bug.cgi?id=174804
1037
1038         Reviewed by Matt Baker.
1039
1040         * UserInterface/Views/SettingsTabContentView.css:
1041         (.content-view.settings .navigation-bar):
1042
1043 2017-07-24  Matt Baker  <mattbaker@apple.com>
1044
1045         Web Inspector: should only show Canvases in resource type filter if debug setting enabled
1046         https://bugs.webkit.org/show_bug.cgi?id=174765
1047         <rdar://problem/33479009>
1048
1049         Reviewed by Devin Rousso.
1050
1051         * UserInterface/Views/ResourceSidebarPanel.js:
1052         (WebInspector.ResourceSidebarPanel):
1053
1054 2017-07-21  Joseph Pecoraro  <pecoraro@apple.com>
1055
1056         Web Inspector: inspect(aFunction) should jump to function definition
1057         https://bugs.webkit.org/show_bug.cgi?id=149344
1058         <rdar://problem/11563607>
1059
1060         Reviewed by Matt Baker.
1061
1062         * UserInterface/Protocol/InspectorObserver.js:
1063         (WebInspector.InspectorObserver.prototype.inspect):
1064         If we receive a function remote object jump to its location if available.
1065
1066 2017-07-21  Joseph Pecoraro  <pecoraro@apple.com>
1067
1068         Web Inspector: Avoid subclassing WebInspector.Object if we do not need to
1069         https://bugs.webkit.org/show_bug.cgi?id=174703
1070
1071         Reviewed by Brian Burg.
1072
1073         * UserInterface/Models/LogObject.js:
1074         (WebInspector.LogObject):
1075         (WebInspector.LogObject.prototype.get startDate): Deleted.
1076         Remove unused startDate property as well.
1077
1078         * UserInterface/Base/YieldableTask.js:
1079         * UserInterface/Debug/ProtocolTrace.js:
1080         * UserInterface/Models/AnalyzerMessage.js:
1081         * UserInterface/Models/ApplicationCacheFrame.js:
1082         * UserInterface/Models/ApplicationCacheManifest.js:
1083         * UserInterface/Models/BackForwardEntry.js:
1084         * UserInterface/Models/Branch.js:
1085         * UserInterface/Models/BreakpointAction.js:
1086         * UserInterface/Models/CSSMedia.js:
1087         * UserInterface/Models/CSSSelector.js:
1088         * UserInterface/Models/CallFrame.js:
1089         * UserInterface/Models/CallingContextTree.js:
1090         * UserInterface/Models/CallingContextTreeNode.js:
1091         * UserInterface/Models/CollectionEntry.js:
1092         * UserInterface/Models/CollectionEntryPreview.js:
1093         * UserInterface/Models/ConsoleMessage.js:
1094         * UserInterface/Models/DOMSearchMatchObject.js:
1095         * UserInterface/Models/DatabaseObject.js:
1096         * UserInterface/Models/DatabaseTableObject.js:
1097         * UserInterface/Models/DebuggerDashboard.js:
1098         * UserInterface/Models/DebuggerData.js:
1099         * UserInterface/Models/ExecutionContext.js:
1100         * UserInterface/Models/ExecutionContextList.js:
1101         * UserInterface/Models/GarbageCollection.js:
1102         * UserInterface/Models/HeapSnapshotRootPath.js:
1103         * UserInterface/Models/IndexedDatabase.js:
1104         * UserInterface/Models/IndexedDatabaseObjectStore.js:
1105         * UserInterface/Models/IndexedDatabaseObjectStoreIndex.js:
1106         * UserInterface/Models/Instrument.js:
1107         * UserInterface/Models/KeyboardShortcut.js:
1108         * UserInterface/Models/LineWidget.js:
1109         * UserInterface/Models/MemoryCategory.js:
1110         * UserInterface/Models/MemoryPressureEvent.js:
1111         * UserInterface/Models/ObjectPreview.js:
1112         * UserInterface/Models/Probe.js:
1113         * UserInterface/Models/ProbeSetDataFrame.js:
1114         * UserInterface/Models/Profile.js:
1115         * UserInterface/Models/ProfileNode.js:
1116         * UserInterface/Models/ProfileNodeCall.js:
1117         * UserInterface/Models/PropertyDescriptor.js:
1118         * UserInterface/Models/PropertyPath.js:
1119         * UserInterface/Models/PropertyPreview.js:
1120         * UserInterface/Models/ResourceQueryMatch.js:
1121         * UserInterface/Models/ResourceQueryResult.js:
1122         * UserInterface/Models/ResourceTimingData.js:
1123         * UserInterface/Models/Revision.js:
1124         * UserInterface/Models/ScopeChainNode.js:
1125         * UserInterface/Models/ScriptSyntaxTree.js:
1126         * UserInterface/Models/SourceCodePosition.js:
1127         * UserInterface/Models/SourceCodeSearchMatchObject.js:
1128         * UserInterface/Models/SourceMap.js:
1129         * UserInterface/Models/StackTrace.js:
1130         * UserInterface/Models/StructureDescription.js:
1131         * UserInterface/Models/TextMarker.js:
1132         * UserInterface/Models/TextRange.js:
1133         * UserInterface/Models/TimelineRange.js:
1134         * UserInterface/Models/TypeDescription.js:
1135         * UserInterface/Models/TypeSet.js:
1136         * UserInterface/Protocol/ProtocolTracer.js:
1137         * UserInterface/Proxies/FormatterWorkerProxy.js:
1138         * UserInterface/Proxies/HeapSnapshotDiffProxy.js:
1139         * UserInterface/Proxies/HeapSnapshotWorkerProxy.js:
1140         * UserInterface/Test/TestSuite.js:
1141
1142 2017-07-19  Chris Dumez  <cdumez@apple.com>
1143
1144         Drop SQLException type
1145         https://bugs.webkit.org/show_bug.cgi?id=174665
1146
1147         Reviewed by Sam Weinig.
1148
1149         Use SQLError instead of SQLException, this is what the script should really
1150         use here since it is checking the code of an SQLError.
1151
1152         * .eslintrc:
1153         * UserInterface/Models/DatabaseObject.js:
1154         (WebInspector.DatabaseObject.prototype.executeSQL.queryCallback):
1155         (WebInspector.DatabaseObject.prototype.executeSQL):
1156         (WebInspector.DatabaseObject):
1157
1158 2017-07-18  Andy Estes  <aestes@apple.com>
1159
1160         [Xcode] Enable CLANG_WARN_RANGE_LOOP_ANALYSIS
1161         https://bugs.webkit.org/show_bug.cgi?id=174631
1162
1163         Reviewed by Tim Horton.
1164
1165         * Configurations/Base.xcconfig:
1166
1167 2017-07-18  Andy Estes  <aestes@apple.com>
1168
1169         [Xcode] Enable CLANG_WARN_OBJC_LITERAL_CONVERSION
1170         https://bugs.webkit.org/show_bug.cgi?id=174631
1171
1172         Reviewed by Sam Weinig.
1173
1174         * Configurations/Base.xcconfig:
1175
1176 2017-07-18  Brian Burg  <bburg@apple.com>
1177
1178         Web Inspector: adjust wording of "clear when page {navigates -> loads}"
1179         https://bugs.webkit.org/show_bug.cgi?id=174589
1180         <rdar://problem/32797981>
1181
1182         Reviewed by Joseph Pecoraro.
1183
1184         * Localizations/en.lproj/localizedStrings.js:
1185         * UserInterface/Views/SettingsTabContentView.js:
1186         (WebInspector.SettingsTabContentView.prototype._createGeneralSettingsView):
1187
1188 2017-07-18  Andy Estes  <aestes@apple.com>
1189
1190         [Xcode] Enable CLANG_WARN_NON_LITERAL_NULL_CONVERSION
1191         https://bugs.webkit.org/show_bug.cgi?id=174631
1192
1193         Reviewed by Dan Bernstein.
1194
1195         * Configurations/Base.xcconfig:
1196
1197 2017-07-18  Andy Estes  <aestes@apple.com>
1198
1199         [Xcode] Enable CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING
1200         https://bugs.webkit.org/show_bug.cgi?id=174631
1201
1202         Reviewed by Darin Adler.
1203
1204         * Configurations/Base.xcconfig:
1205
1206 2017-07-13  Joseph Pecoraro  <pecoraro@apple.com>
1207
1208         Web Inspector: Remove unused and untested Page domain commands
1209         https://bugs.webkit.org/show_bug.cgi?id=174429
1210
1211         Reviewed by Timothy Hatcher.
1212
1213         * UserInterface/Protocol/Legacy/10.0/InspectorBackendCommands.js:
1214         * UserInterface/Protocol/Legacy/10.3/InspectorBackendCommands.js:
1215         * UserInterface/Protocol/Legacy/11.0/InspectorBackendCommands.js:
1216         * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
1217         * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
1218         * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
1219         * UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js:
1220         * Versions/Inspector-iOS-10.0.json:
1221         * Versions/Inspector-iOS-10.3.json:
1222         * Versions/Inspector-iOS-11.0.json:
1223         * Versions/Inspector-iOS-7.0.json:
1224         * Versions/Inspector-iOS-8.0.json:
1225         * Versions/Inspector-iOS-9.0.json:
1226         * Versions/Inspector-iOS-9.3.json:
1227
1228 2017-07-11  Joseph Pecoraro  <pecoraro@apple.com>
1229
1230         Web Inspector: Correct a typo in the .eslintrc
1231         https://bugs.webkit.org/show_bug.cgi?id=174389
1232
1233         Reviewed by Matt Baker.
1234
1235         * .eslintrc:
1236
1237 2017-07-11  Joseph Pecoraro  <pecoraro@apple.com>
1238
1239         Web Inspector: Node Sidebar - Improve wording for Potential Custom Element lacking a Custom definition
1240         https://bugs.webkit.org/show_bug.cgi?id=174346
1241
1242         Reviewed by Matt Baker.
1243
1244         * Localizations/en.lproj/localizedStrings.js:
1245         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
1246         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._customElementState):
1247         The text "Waiting to be upgraded" is poor. Any non-standard element with dashes
1248         in the name is considered custom, but does not need to be upgraded. Lets use
1249         different wording to indicate that it is detected as custom, and lacks a
1250         specific Custom Element definition.
1251
1252 2017-07-10  Devin Rousso  <drousso@apple.com>
1253
1254         Web Inspector: Highlight matching CSS canvas clients when hovering contexts in the Resources tab
1255         https://bugs.webkit.org/show_bug.cgi?id=174279
1256
1257         Reviewed by Matt Baker.
1258
1259         * UserInterface/Controllers/DOMTreeManager.js:
1260         (WebInspector.DOMTreeManager.prototype.highlightDOMNodeList):
1261         (WebInspector.DOMTreeManager.prototype.highlightSelector):
1262         * UserInterface/Views/CanvasTreeElement.js:
1263         (WebInspector.CanvasTreeElement.prototype._handleMouseOver):
1264
1265 2017-07-03  Brian Burg  <bburg@apple.com>
1266
1267         Web Replay: remove some unused code
1268         https://bugs.webkit.org/show_bug.cgi?id=173903
1269
1270         Rubber-stamped by Joseph Pecoraro.
1271
1272         * .eslintrc:
1273         * UserInterface/Base/Main.js:
1274         (WebInspector.loaded):
1275         * UserInterface/Controllers/DashboardManager.js:
1276         (WebInspector.DashboardManager):
1277         * UserInterface/Controllers/ReplayManager.js: Removed.
1278         * UserInterface/Images/ReplayPauseButton.svg: Removed.
1279         * UserInterface/Images/ReplayPlayButton.svg: Removed.
1280         * UserInterface/Images/ReplayRecordingButton.svg: Removed.
1281         * UserInterface/Images/gtk/ReplayPauseButton.svg: Removed.
1282         * UserInterface/Images/gtk/ReplayPlayButton.svg: Removed.
1283         * UserInterface/Images/gtk/ReplayRecordingButton.svg: Removed.
1284         * UserInterface/Main.html:
1285         * UserInterface/Models/ReplayDashboard.js: Removed.
1286         * UserInterface/Models/ReplaySession.js: Removed.
1287         * UserInterface/Models/ReplaySessionSegment.js: Removed.
1288         * UserInterface/Protocol/ReplayObserver.js: Removed.
1289         * UserInterface/Test.html:
1290         * UserInterface/Test/Test.js:
1291         (WebInspector.loaded):
1292         * UserInterface/Views/DashboardView.js:
1293         (WebInspector.DashboardView.create):
1294         * UserInterface/Views/ReplayDashboardView.css: Removed.
1295         * UserInterface/Views/ReplayDashboardView.js: Removed.
1296         * UserInterface/Views/TimelineRecordingContentView.js:
1297         (WebInspector.TimelineRecordingContentView.prototype._debuggerPaused):
1298         (WebInspector.TimelineRecordingContentView.prototype._debuggerResumed):
1299
1300 2017-07-07  Devin Rousso  <drousso@apple.com>
1301
1302         Web Inspector: Resources are sometimes missing from the tree outline right before folderizing
1303         https://bugs.webkit.org/show_bug.cgi?id=174277
1304
1305         Reviewed by Joseph Pecoraro.
1306
1307         * UserInterface/Views/TreeElement.js:
1308         (WebInspector.TreeElement.prototype.expand):
1309
1310 2017-07-07  Devin Rousso  <drousso@apple.com>
1311
1312         Web Inspector: REGRESSION(r217258): WebSocket resource tree elements don't show the connection status
1313         https://bugs.webkit.org/show_bug.cgi?id=174274
1314
1315         Reviewed by Brian Burg.
1316
1317         * UserInterface/Views/FrameTreeElement.js:
1318         (WebInspector.FrameTreeElement):
1319         * UserInterface/Views/ResourceTreeElement.js:
1320         (WebInspector.ResourceTreeElement.prototype.populateContextMenu):
1321         * UserInterface/Views/WebSocketResourceTreeElement.js:
1322         (WebInspector.WebSocketResourceTreeElement.prototype.populateContextMenu):
1323         Move "Log WebSocket" context menu item to WebSocketResourceTreeElement.
1324
1325 2017-07-07  Devin Rousso  <drousso@apple.com>
1326
1327         Web Inspector: Show all elements currently using a given CSS Canvas
1328         https://bugs.webkit.org/show_bug.cgi?id=173965
1329
1330         Reviewed by Joseph Pecoraro.
1331
1332         * UserInterface/Controllers/CanvasManager.js:
1333         (WebInspector.CanvasManager.prototype.cssCanvasClientNodesChanged):
1334         * UserInterface/Models/Canvas.js:
1335         (WebInspector.Canvas.prototype.requestCSSCanvasClientNodes):
1336         (WebInspector.Canvas.prototype.cssCanvasClientNodesChanged):
1337         * UserInterface/Protocol/CanvasObserver.js:
1338         (WebInspector.CanvasObserver.prototype.cssCanvasClientNodesChanged):
1339
1340         * Localizations/en.lproj/localizedStrings.js:
1341         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
1342         (WebInspector.CanvasDetailsSidebarPanel):
1343         (WebInspector.CanvasDetailsSidebarPanel.prototype.set canvas):
1344         (WebInspector.CanvasDetailsSidebarPanel.prototype.initialLayout):
1345         (WebInspector.CanvasDetailsSidebarPanel.prototype.layout):
1346         (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshCSSCanvasSection):
1347         (WebInspector.CanvasDetailsSidebarPanel.prototype._formatMemoryRow):
1348         Add CSS section for CSS canvases. Currently displays a list of node links, each of which is
1349         using the selected canvas via -webkit-canvas.
1350
1351         * UserInterface/Main.html:
1352         * UserInterface/Views/CanvasDetailsSidebarPanel.css: Added.
1353         (.sidebar > .panel.details.canvas .details-section > .content .row.simple > .value > .node-link):
1354
1355         * UserInterface/Controllers/DOMTreeManager.js:
1356         (WebInspector.DOMTreeManager.prototype.ensureDocument):
1357         * UserInterface/Models/Canvas.js:
1358         (WebInspector.Canvas.prototype.requestNode):
1359         * UserInterface/Views/SearchSidebarPanel.js:
1360         (WebInspector.SearchSidebarPanel.prototype.performSearch):
1361         Add convenience function that will call DOMAgent.getDocument with an empty function. Should
1362         be used when it is necessary that the document has been sent to the frontend, but the
1363         document node itself is not needed.
1364
1365 2017-07-07  Joseph Pecoraro  <pecoraro@apple.com>
1366
1367         Web Inspector: Clean up some unnecessary constructors
1368         https://bugs.webkit.org/show_bug.cgi?id=174236
1369
1370         Reviewed by Brian Burg.
1371
1372         * UserInterface/Controllers/CodeMirrorBezierEditingController.js:
1373         * UserInterface/Controllers/CodeMirrorColorEditingController.js:
1374         * UserInterface/Controllers/CodeMirrorGradientEditingController.js:
1375         * UserInterface/Views/DividerNavigationItem.js:
1376         * UserInterface/Views/FlexibleSpaceNavigationItem.js:
1377         * UserInterface/Views/IdleTreeElement.js:
1378
1379 2017-07-06  Devin Rousso  <drousso@apple.com>
1380
1381         Web Inspector: Highlight matching canvas element when hovering contexts in the Resources tab
1382         https://bugs.webkit.org/show_bug.cgi?id=174209
1383
1384         Reviewed by Joseph Pecoraro.
1385
1386         * UserInterface/Views/CanvasTreeElement.js:
1387         (WebInspector.CanvasTreeElement.prototype.onattach):
1388         (WebInspector.CanvasTreeElement.prototype._handleMouseOver):
1389         (WebInspector.CanvasTreeElement.prototype._handleMouseOut):
1390
1391 2017-07-06  Joseph Pecoraro  <pecoraro@apple.com>
1392
1393         Web Inspector: Add another Protocol Version
1394         https://bugs.webkit.org/show_bug.cgi?id=174193
1395         <rdar://problem/33150053>
1396
1397         Reviewed by Brian Burg.
1398
1399         * UserInterface/Protocol/Legacy/11.0/InspectorBackendCommands.js: Added.
1400         * Versions/Inspector-iOS-11.0.json: Added.
1401
1402 2017-07-05  Devin Rousso  <drousso@apple.com>
1403
1404         Web Inspector: Group Inspector Style Sheets as part of the Stylesheets folder
1405         https://bugs.webkit.org/show_bug.cgi?id=173435
1406
1407         Reviewed by Joseph Pecoraro.
1408
1409         * UserInterface/Views/ResourceSidebarPanel.js:
1410         (WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
1411         Add special case for CSSStyleSheetTreeElement.
1412
1413 2017-07-05  Devin Rousso  <drousso@apple.com>
1414
1415         Web Inspector: Split Canvas.svg into icons for 2D and 3D
1416         https://bugs.webkit.org/show_bug.cgi?id=174057
1417
1418         Reviewed by Matt Baker.
1419
1420         * UserInterface/Images/Canvas2D.svg: Added.
1421         * UserInterface/Images/Canvas3D.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/Canvas.svg.
1422         * UserInterface/Views/ResourceIcons.css:
1423         (.canvas.canvas-2d .icon):
1424         (.canvas:matches(.webgl, .webgl2, .webgpu) .icon):
1425         (.canvas .icon): Deleted.
1426
1427 2017-07-05  Devin Rousso  <drousso@apple.com>
1428
1429         Web Inspector: Allow users to log any tracked canvas context
1430         https://bugs.webkit.org/show_bug.cgi?id=173397
1431         <rdar://problem/33111581>
1432
1433         Reviewed by Joseph Pecoraro.
1434
1435         * Localizations/en.lproj/localizedStrings.js:
1436         * UserInterface/Protocol/RemoteObject.js:
1437         (WebInspector.RemoteObject.resolveCanvasContext):
1438         * UserInterface/Views/CanvasTreeElement.js:
1439         (WebInspector.CanvasTreeElement.prototype.populateContextMenu):
1440
1441 2017-07-03  Devin Rousso  <drousso@apple.com>
1442
1443         Web Inspector: Support listing WebGL2 and WebGPU contexts
1444         https://bugs.webkit.org/show_bug.cgi?id=173396
1445
1446         Reviewed by Joseph Pecoraro.
1447
1448         * UserInterface/Models/Canvas.js:
1449         (WebInspector.Canvas.fromPayload):
1450         (WebInspector.Canvas.displayNameForContextType):
1451
1452 2017-07-01  Dan Bernstein  <mitz@apple.com>
1453
1454         [macOS] Remove code only needed when building for OS X Yosemite
1455         https://bugs.webkit.org/show_bug.cgi?id=174067
1456
1457         Reviewed by Tim Horton.
1458
1459         * Configurations/Base.xcconfig:
1460         * Configurations/DebugRelease.xcconfig:
1461         * Configurations/Version.xcconfig:
1462
1463 2017-06-30  Joseph Pecoraro  <pecoraro@apple.com>
1464
1465         Web Inspector: Type token background color in debugger looks poor
1466         https://bugs.webkit.org/show_bug.cgi?id=174063
1467
1468         Reviewed by Devin Rousso.
1469
1470         * UserInterface/Views/TextEditor.css:
1471         CodeMirror widgets do not get range styles like our (.execution-range-highlight).
1472         Make a best effort to carry over the styles to widgets. It isn't perfect, but it
1473         covers all common situations unless a selection ends inside the widget. The
1474         ultimate solution would be to get the expected range styles.
1475
1476 2017-06-30  Joseph Pecoraro  <pecoraro@apple.com>
1477
1478         Web Inspector: Initial search is sometimes performed twice, produces duplicate results
1479         https://bugs.webkit.org/show_bug.cgi?id=174047
1480
1481         Reviewed by Devin Rousso.
1482
1483         * UserInterface/Views/SearchTabContentView.js:
1484         (WebInspector.SearchTabContentView.prototype.performSearch):
1485         The initial layout of the tab content view was setting state to force a search
1486         which may happen after a delay, however the global search field was causing
1487         its own search to happen. We can clear the flag when a search is being performed
1488         to prevent duplicating the search.
1489
1490 2017-06-30  Devin Rousso  <drousso@apple.com>
1491
1492         Web Inspector: Add small delay before showing the progress spinner when loading resources
1493         https://bugs.webkit.org/show_bug.cgi?id=173437
1494
1495         Reviewed by Joseph Pecoraro.
1496
1497         * UserInterface/Views/ResourceContentView.js:
1498         (WebInspector.ResourceContentView):
1499         (WebInspector.ResourceContentView.prototype.removeLoadingIndicator): Added.
1500         (WebInspector.ResourceContentView.prototype._contentError):
1501         (WebInspector.ResourceContentView.prototype._hasContent):
1502         Delay the creation of the spinner for 100ms.  If the content is available before then, just
1503         clear the timeout and the spinner will never be created/shown.
1504
1505         We measured an average of 35ms to load and display images with slow cases being around 55ms.
1506         100ms was chosen for the timeout to give some room to allow for abnormally slow loading
1507         while not being too long as to be outright noticable.
1508
1509         * UserInterface/Views/FontResourceContentView.js:
1510         (WebInspector.FontResourceContentView.prototype.contentAvailable):
1511         * UserInterface/Views/ImageResourceContentView.js:
1512         (WebInspector.ImageResourceContentView.prototype.contentAvailable):
1513         * UserInterface/Views/TextResourceContentView.js:
1514         (WebInspector.TextResourceContentView.prototype._contentWillPopulate):
1515         Calls the new protected function removeLoadingIndicator to ensure that the spinner (and any
1516         other element) is removed.
1517
1518         This is necessary because TextResourceContentView effectively has two phases of loading its
1519         content: getting the content and formatting it for display.  The first follows the same path
1520         as the other ResourceContentView subclasses, the second waits for the ContentWillPopulate
1521         event on SourceCodeTextEditor before it actually adds the content as a subview.  In this
1522         case, the spinner should only be removed right before the content is actually added, not
1523         once it's ready.
1524
1525 2017-06-30  Commit Queue  <commit-queue@webkit.org>
1526
1527         Unreviewed, rolling out r218983.
1528         https://bugs.webkit.org/show_bug.cgi?id=174042
1529
1530         Broke Debugger Call Stack TreeOutline (Requested by drousso on
1531         #webkit).
1532
1533         Reverted changeset:
1534
1535         "Web Inspector: Remove unnecessary hasChildren from
1536         TreeOutline"
1537         https://bugs.webkit.org/show_bug.cgi?id=173986
1538         http://trac.webkit.org/changeset/218983
1539
1540 2017-06-30  Devin Rousso  <drousso@apple.com>
1541
1542         Web Inspector: Default string comparisons to treat numeric characters as numbers
1543         https://bugs.webkit.org/show_bug.cgi?id=173984
1544
1545         Reviewed by Joseph Pecoraro.
1546
1547         * UserInterface/Base/Utilities.js:
1548         (String.prototype.extendedLocaleCompare):
1549         * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
1550         (WebInspector.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.receivedPropertyNames.compare):
1551         * UserInterface/Controllers/ResourceQueryController.js:
1552         (WebInspector.ResourceQueryController.prototype.executeQuery):
1553         * UserInterface/Views/ApplicationCacheFrameContentView.js:
1554         (WebInspector.ApplicationCacheFrameContentView.prototype._sortDataGrid.localeCompare):
1555         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
1556         (WebInspector.CSSStyleDeclarationTextEditor.prototype._iterateOverProperties):
1557         * UserInterface/Views/CookieStorageContentView.js:
1558         (WebInspector.CookieStorageContentView.prototype._sortDataGrid.localeCompare):
1559         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
1560         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAttributes):
1561         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.generateGroupsByNode):
1562         * UserInterface/Views/DOMStorageContentView.js:
1563         (WebInspector.DOMStorageContentView.prototype._sortDataGrid.comparator):
1564         * UserInterface/Views/DebuggerSidebarPanel.js:
1565         (WebInspector.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements):
1566         * UserInterface/Views/FolderizedTreeElement.js:
1567         (WebInspector.FolderizedTreeElement.prototype._compareTreeElementsByMainTitle):
1568         * UserInterface/Views/HeapSnapshotDataGridTree.js:
1569         (WebInspector.HeapSnapshotDataGridTree.buildSortComparator):
1570         * UserInterface/Views/NetworkTimelineView.js:
1571         (WebInspector.NetworkTimelineView.prototype.dataGridSortComparator):
1572         * UserInterface/Views/NewTabContentView.js:
1573         (WebInspector.NewTabContentView.prototype._updateShownTabs):
1574         * UserInterface/Views/OverviewTimelineView.js:
1575         (WebInspector.OverviewTimelineView.prototype._compareDataGridNodesByStartTime):
1576         * UserInterface/Views/ProbeDetailsSidebarPanel.js:
1577         (WebInspector.ProbeDetailsSidebarPanel.prototype.inspect):
1578         * UserInterface/Views/QuickConsole.js:
1579         (WebInspector.QuickConsole.prototype._compareExecutionContextPathComponents):
1580         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
1581         (WebInspector.ResourceDetailsSidebarPanel.prototype._createNameValueDataGrid.sortDataGrid.comparator):
1582         * UserInterface/Views/ResourceSidebarPanel.js:
1583         (WebInspector.ResourceSidebarPanel.prototype._compareTreeElements):
1584         * UserInterface/Views/ResourceTreeElement.js:
1585         (WebInspector.ResourceTreeElement.compareResourceTreeElements):
1586         (WebInspector.ResourceTreeElement.compareFolderAndResourceTreeElements):
1587         * UserInterface/Views/ScriptDetailsTimelineView.js:
1588         (WebInspector.ScriptDetailsTimelineView.prototype.dataGridSortComparator):
1589         * UserInterface/Views/StorageSidebarPanel.js:
1590         (WebInspector.StorageSidebarPanel.prototype._compareTreeElements):
1591         * UserInterface/Views/TimelineDataGrid.js:
1592         (WebInspector.TimelineDataGrid.prototype._sortComparator):
1593
1594 2017-06-29  Devin Rousso  <drousso@apple.com>
1595
1596         Web Inspector: Provide a way for creating a new tab but not making it immediately selected
1597         https://bugs.webkit.org/show_bug.cgi?id=173983
1598
1599         Reviewed by Joseph Pecoraro.
1600
1601         * UserInterface/Views/TabBar.js:
1602         (WebInspector.TabBar):
1603         (WebInspector.TabBar.prototype.addTabBarItem):
1604         (WebInspector.TabBar.prototype.insertTabBarItem):
1605         (WebInspector.TabBar.prototype.removeTabBarItem):
1606         (WebInspector.TabBar.prototype._handleClick):
1607         (WebInspector.TabBar.prototype._handleNewTabClick):
1608         * UserInterface/Views/TabBrowser.js:
1609         (WebInspector.TabBrowser.prototype.addTabForContentView):
1610         (WebInspector.TabBrowser.prototype.showTabForContentView):
1611         (WebInspector.TabBrowser.prototype.closeTabForContentView):
1612         * UserInterface/Base/Main.js:
1613         (WebInspector.contentLoaded):
1614         (WebInspector._openDefaultTab):
1615         (WebInspector._tryToRestorePendingTabs):
1616         (WebInspector.showNewTabTab):
1617         (WebInspector.createNewTabWithType):
1618         Add `options` dictionaries instead of optional parameters.
1619
1620         (WebInspector.tabContentViewClassForRepresentedObject):
1621         Drive-by fix: remove incorrect placement of WebInspector.Collection check. This function
1622         determines TabContentView classes, not ContentView.
1623
1624 2017-06-29  Devin Rousso  <drousso@apple.com>
1625
1626         Web Inspector: Remove unnecessary hasChildren from TreeOutline
1627         https://bugs.webkit.org/show_bug.cgi?id=173986
1628
1629         Reviewed by Joseph Pecoraro.
1630
1631         * UserInterface/Views/TreeOutline.js:
1632         (WebInspector.TreeOutline):
1633         (WebInspector.TreeOutline.prototype.appendChild):
1634         (WebInspector.TreeOutline.prototype.insertChild):
1635         (WebInspector.TreeOutline.prototype.removeChildAtIndex):
1636         (WebInspector.TreeOutline.prototype.removeChild):
1637         (WebInspector.TreeOutline.prototype.get selectedTreeElementIndex):
1638
1639         * UserInterface/Views/NavigationSidebarPanel.js:
1640         (WebInspector.NavigationSidebarPanel.prototype._checkOutlinesForPendingViewStateCookie):
1641         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js:
1642         (WebInspector.VisualStyleCommaSeparatedKeywordEditor.prototype.get value):
1643
1644 2017-06-29  Devin Rousso  <drousso@apple.com>
1645
1646         Web Inspector: Cleanup unused/invalid parameters for SidebarPanels
1647         https://bugs.webkit.org/show_bug.cgi?id=173985
1648
1649         Reviewed by Joseph Pecoraro.
1650
1651         * UserInterface/Views/SidebarPanel.js:
1652         * UserInterface/Views/NavigationSidebarPanel.js:
1653         * UserInterface/Views/NavigationSidebarPanel.css:
1654         (.sidebar > .panel.navigation > .overflow-shadow.top): Deleted.
1655         * UserInterface/Views/DetailsSidebarPanel.js:
1656
1657         * UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
1658         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
1659         * UserInterface/Views/DOMDetailsSidebarPanel.js:
1660         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
1661         * UserInterface/Views/IndexedDatabaseDetailsSidebarPanel.js:
1662         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
1663         * UserInterface/Views/ProbeDetailsSidebarPanel.js:
1664         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
1665         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
1666         * UserInterface/Views/StorageSidebarPanel.js:
1667
1668 2017-06-29  Devin Rousso  <drousso@apple.com>
1669
1670         Web Inspector: Create a single -webkit-canvas for use inside popovers
1671         https://bugs.webkit.org/show_bug.cgi?id=173820
1672
1673         Reviewed by Matt Baker.
1674
1675         * UserInterface/Views/Popover.css:
1676         (.popover):
1677         * UserInterface/Views/Popover.js:
1678         (WebInspector.Popover):
1679         (WebInspector.Popover.prototype._drawBackground):
1680
1681 2017-06-28  Devin Rousso  <drousso@apple.com>
1682
1683         Web Inspector: Instrument active pixel memory used by canvases
1684         https://bugs.webkit.org/show_bug.cgi?id=173087
1685         <rdar://problem/32719261>
1686
1687         Reviewed by Joseph Pecoraro.
1688
1689         * .eslintrc:
1690         * UserInterface/Controllers/CanvasManager.js:
1691         (WebInspector.CanvasManager.prototype.canvasMemoryChanged):
1692         * UserInterface/Models/Canvas.js:
1693         (WebInspector.Canvas.fromPayload):
1694         (WebInspector.Canvas.prototype.get memoryCost):
1695         (WebInspector.Canvas.prototype.set memoryCost):
1696         * UserInterface/Protocol/CanvasObserver.js:
1697         (WebInspector.CanvasObserver.prototype.canvasMemoryChanged):
1698         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
1699         (WebInspector.CanvasDetailsSidebarPanel.prototype.initialLayout):
1700         (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshIdentitySection):
1701         (WebInspector.CanvasDetailsSidebarPanel.prototype._formatMemoryRow):
1702         (WebInspector.CanvasDetailsSidebarPanel.prototype._canvasMemoryChanged):
1703
1704         * Localizations/en.lproj/localizedStrings.js:
1705         * UserInterface/Base/Utilities.js:
1706         (Number.bytesToString.value):
1707         Add support for gigabyte numbers.
1708
1709 2017-06-27  Joseph Pecoraro  <pecoraro@apple.com>
1710
1711         Web Inspector: Remove unused Inspector domain events
1712         https://bugs.webkit.org/show_bug.cgi?id=173905
1713
1714         Reviewed by Matt Baker.
1715
1716         * UserInterface/Protocol/InspectorObserver.js:
1717         (WebInspector.InspectorObserver.prototype.detached): Deleted.
1718
1719         * UserInterface/Protocol/Legacy/10.0/InspectorBackendCommands.js:
1720         * UserInterface/Protocol/Legacy/10.3/InspectorBackendCommands.js:
1721         * UserInterface/Protocol/Legacy/7.0/InspectorBackendCommands.js:
1722         * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
1723         * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
1724         * UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js:
1725         * Versions/Inspector-iOS-10.0.json:
1726         * Versions/Inspector-iOS-10.3.json:
1727         * Versions/Inspector-iOS-7.0.json:
1728         * Versions/Inspector-iOS-8.0.json:
1729         * Versions/Inspector-iOS-9.0.json:
1730         * Versions/Inspector-iOS-9.3.json:
1731         Remove from legacy backends as well since they did not send it.
1732
1733 2017-06-27  Matt Baker  <mattbaker@apple.com>
1734
1735         Web Inspector: no discoverable way to dismiss the split console
1736         https://bugs.webkit.org/show_bug.cgi?id=167034
1737         <rdar://problem/30023436>
1738
1739         Reviewed by Devin Rousso.
1740
1741         This patch adds an Xcode-style toggle button to the left of the
1742         split console navigation bar. Additionally, the split console code
1743         has been broken out into it's own class to reduce the clutter in
1744         Main.js/css, and simplify future console maintenance.
1745
1746         * Localizations/en.lproj/localizedStrings.js:
1747
1748         * UserInterface/Base/Main.js:
1749         (WebInspector.loaded):
1750         Replace the "split" ContentBrowser with a new ConsoleDrawer class,
1751         which encapsulates the drawer height setting and resize behavior.
1752         (WebInspector.contentLoaded):
1753         The console drawer manages its own height.
1754
1755         * UserInterface/Images/HideConsoleDrawer.svg: Added.
1756         * UserInterface/Images/ShowConsoleDrawer.svg: Added.
1757         Console drawer toggle button images. Styled after corresponding Xcode button.
1758
1759         * UserInterface/Main.html:
1760
1761         * UserInterface/Views/ConsoleDrawer.css: Added.
1762         Moved old #split-content-browser styles over from Main.css.
1763         (.console-drawer):
1764         (.console-drawer > .navigation-bar):
1765         (.console-drawer > .navigation-bar > .item.button:not(.clear-log)):
1766         Make button spacing less cramped.
1767         (.console-drawer > .navigation-bar > .item:not(.flexible-space)):
1768         (.console-drawer > .navigation-bar > :matches(.item.button, .log-scope-bar)):
1769         (.console-drawer > .navigation-bar > .item > .glyph,):
1770
1771         * UserInterface/Views/ConsoleDrawer.js: Added.
1772         New class responsible for console drawer expand / collapse and resizer
1773         dragging, which was previously part of Main.js. The console drawer toolbar
1774         now has a toggle button, debugging controls, and a call frames path item.
1775         The "Show Console Tab" button has been removed.
1776
1777         (WebInspector.ConsoleDrawer):
1778         (WebInspector.ConsoleDrawer.prototype.get collapsed):
1779         (WebInspector.ConsoleDrawer.prototype.set collapsed):
1780         (WebInspector.ConsoleDrawer.prototype.get height):
1781         (WebInspector.ConsoleDrawer.prototype.shown):
1782         (WebInspector.ConsoleDrawer.prototype.layout):
1783         (WebInspector.ConsoleDrawer.prototype._consoleResizerMouseDown.dockedResizerDrag):
1784         (WebInspector.ConsoleDrawer.prototype._consoleResizerMouseDown.dockedResizerDragEnd):
1785         (WebInspector.ConsoleDrawer.prototype._consoleResizerMouseDown):
1786         (WebInspector.ConsoleDrawer.prototype._restoreDrawerHeight):
1787         (WebInspector.ConsoleDrawer.prototype._updateDrawerHeight):
1788         (WebInspector.ConsoleDrawer.prototype._selectedTabContentViewDidChange):
1789         When switching to a tab that doesn't support showing the console drawer,
1790         hide it without altering the collapsed state.
1791
1792         * UserInterface/Views/LogContentView.js:
1793         (WebInspector.LogContentView.prototype.get navigationItems):
1794
1795         * UserInterface/Views/Main.css:
1796         Renamed #split-content-browser to #console-drawer, and moved related
1797         styles to ConsoleDrawer.css.
1798
1799         (#split-content-browser): Deleted.
1800         (#split-content-browser > .navigation-bar): Deleted.
1801         (#split-content-browser > .navigation-bar :matches(.find-banner, .find-banner + .divider)): Deleted.
1802         (#split-content-browser > .navigation-bar .item): Deleted.
1803         (#split-content-browser > .navigation-bar .item:not(.flexible-space)): Deleted.
1804         (#split-content-browser .hierarchical-path-component.log-icon .icon): Deleted.
1805         (#split-content-browser .hierarchical-path-component.log-icon .title): Deleted.
1806         (#split-content-browser .hierarchical-path-component.log-icon select): Deleted.
1807         (#split-content-browser > .navigation-bar > :matches(.hierarchical-path, .log-scope-bar)): Deleted.
1808         (#split-content-browser > .navigation-bar > .log-scope-bar > li): Deleted.
1809
1810         * UserInterface/Views/QuickConsole.js:
1811         (WebInspector.QuickConsole):
1812         (WebInspector.QuickConsole.prototype._toggleOrFocus):
1813         (WebInspector.QuickConsole.prototype._updateStyles):
1814         Update top border style in response to change in selected TabBrowser
1815         tab or the console drawer collapsed state.
1816
1817         (WebInspector.QuickConsole.prototype.consoleLogVisibilityChanged): Deleted.
1818         (WebInspector.QuickConsole.prototype.set keyboardShortcutDisabled): Deleted.
1819
1820 2017-06-24  Joseph Pecoraro  <pecoraro@apple.com>
1821
1822         Remove Reflect.enumerate
1823         https://bugs.webkit.org/show_bug.cgi?id=173806
1824
1825         Reviewed by Yusuke Suzuki.
1826
1827         * UserInterface/Models/NativeFunctionParameters.js:
1828
1829 2017-06-23  Joseph Pecoraro  <pecoraro@apple.com>
1830
1831         Web Inspector: Script Timeline bubbles sometimes appear to miss large events
1832         https://bugs.webkit.org/show_bug.cgi?id=173746
1833         <rdar://problem/32950808>
1834
1835         Reviewed by Brian Burg.
1836
1837         * UserInterface/Models/Timeline.js:
1838         (WebInspector.Timeline.prototype.addRecord):
1839         (WebInspector.Timeline.prototype._tryInsertInSortedOrder):
1840         The list of records is assumed to be sorted by the code that draws bubbles
1841         however the order in which we receive them may not be sorted. Make a quick
1842         effort to sort recent records so that as we are drawing the timeline it is
1843         more accurate.
1844
1845 2017-06-23  Brian Burg  <bburg@apple.com>
1846
1847         Web Inspector: RTL: flip all go-to-arrow instances
1848         https://bugs.webkit.org/show_bug.cgi?id=173794
1849         <rdar://problem/32221912>
1850
1851         Reviewed by Joseph Pecoraro.
1852
1853         Move the flipping transform so it applies to all go-to arrows.
1854
1855         * UserInterface/Views/DataGrid.css:
1856         (body[dir=rtl] .data-grid td .go-to-arrow):
1857         * UserInterface/Views/Main.css:
1858         (body[dir=rtl] .go-to-arrow):
1859
1860 2017-06-22  Joseph Pecoraro  <pecoraro@apple.com>
1861
1862         Web Inspector: Pausing with a deep call stack can be very slow, avoid eagerly generating object previews
1863         https://bugs.webkit.org/show_bug.cgi?id=173698
1864
1865         Reviewed by Matt Baker.
1866
1867         Introduce RemoteObject.prototype.updatePreview which can be used to update
1868         the preview of a RemoteObject with a current view for the object. Currently
1869         we only use this to fetch the preview that we did not have for the `thisObject`
1870         in the scope chain sidebar. However this could be used generically to update
1871         a RemoteObject's preview (ObjectPreview) at any time.
1872
1873         * UserInterface/Protocol/RemoteObject.js:
1874         (WebInspector.RemoteObject.prototype.canLoadPreview):
1875         (WebInspector.RemoteObject.prototype.updatePreview):
1876         Allow a RemoteObject to update its preview property. Since this only makes
1877         sense on certain Object values include a helper to know when it is appropriate
1878         to fetch a preview.
1879
1880         * UserInterface/Views/ObjectTreePropertyTreeElement.js:
1881         (WebInspector.ObjectTreePropertyTreeElement.prototype._createTitlePropertyStyle):
1882         (WebInspector.ObjectTreePropertyTreeElement.prototype._loadPreviewLazilyIfNeeded):
1883         If the object being shown in the sidebar does not have a preview but can load a
1884         preview then attempt to load it lazily. This is the case for the `thisObject`
1885         which is injected into an ObjectTree in the scope chain sidebar.
1886
1887 2017-06-22  Fujii Hironori  <Hironori.Fujii@sony.com>
1888
1889         [GTK] Web Inspector: Add icon for Canvas.svg
1890         https://bugs.webkit.org/show_bug.cgi?id=173580
1891
1892         Reviewed by Carlos Garcia Campos.
1893
1894         * UserInterface/Images/gtk/Canvas.svg: Added.
1895
1896 2017-06-21  Fujii Hironori  <Hironori.Fujii@sony.com>
1897
1898         [GTK] Web Inspector: Add NavigationItemCheckers.svg
1899         https://bugs.webkit.org/show_bug.cgi?id=173692
1900
1901         Reviewed by Carlos Garcia Campos.
1902
1903         * UserInterface/Images/gtk/NavigationItemCheckers.svg: Added.
1904
1905 2017-06-20  Devin Rousso  <drousso@apple.com>
1906
1907         Web Inspector: change the selected ScopeBarItem on mousedown instead of click
1908         https://bugs.webkit.org/show_bug.cgi?id=173586
1909
1910         Reviewed by Matt Baker.
1911
1912         Both the Tab bar and Sidebar navigation bar switch the active item on "mousedown" instead of
1913         on "click". ScopeBarItem should follow this pattern, as it is faster and keeps consistency.
1914
1915         * UserInterface/Views/MultipleScopeBarItem.js:
1916         (WebInspector.MultipleScopeBarItem):
1917         (WebInspector.MultipleScopeBarItem.prototype._handleMouseDown):
1918         (WebInspector.MultipleScopeBarItem.prototype._clicked): Deleted.
1919         * UserInterface/Views/ScopeBarItem.js:
1920         (WebInspector.ScopeBarItem):
1921         (WebInspector.ScopeBarItem.prototype._handleMouseDown):
1922         (WebInspector.ScopeBarItem.prototype._clicked): Deleted.
1923
1924 2017-06-20  Devin Rousso  <drousso@apple.com>
1925
1926         Web Inspector: Send context attributes for tracked canvases
1927         https://bugs.webkit.org/show_bug.cgi?id=173327
1928
1929         Reviewed by Joseph Pecoraro.
1930
1931         * UserInterface/Models/Canvas.js:
1932         (WebInspector.Canvas.fromPayload):
1933         (WebInspector.Canvas.prototype.get contextAttributes):
1934         * UserInterface/Views/CanvasDetailsSidebarPanel.js:
1935         (WebInspector.CanvasDetailsSidebarPanel.prototype.initialLayout):
1936         (WebInspector.CanvasDetailsSidebarPanel.prototype.layout):
1937         (WebInspector.CanvasDetailsSidebarPanel.prototype.sizeDidChange):
1938         (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshAttributesSection):
1939
1940         * UserInterface/Views/DataGridNode.js:
1941         (WebInspector.DataGridNode.prototype.createCellContent):
1942         Instead of checking if the value of the cell is falsy, check that the key exists in the data.
1943         This allows values like `false` to be displayed.
1944
1945 2017-06-19  Devin Rousso  <drousso@apple.com>
1946
1947         Web Inspector: create canvas content view and details sidebar panel
1948         https://bugs.webkit.org/show_bug.cgi?id=138941
1949         <rdar://problem/19051672>
1950
1951         Reviewed by Joseph Pecoraro.
1952
1953         * UserInterface/Models/Canvas.js:
1954         (WebInspector.Canvas):
1955         (WebInspector.Canvas.fromPayload):
1956         (WebInspector.Canvas.prototype.get displayName):
1957         (WebInspector.Canvas.requestNode): Added.
1958         (WebInspector.Canvas.prototype.requestContent): Added.
1959         (WebInspector.Canvas.prototype.saveIdentityToCookie):
1960
1961         * UserInterface/Controllers/CanvasManager.js:
1962         (WebInspector.CanvasManager.prototype.canvasAdded):
1963         (WebInspector.CanvasManager.prototype.canvasRemoved):
1964         * UserInterface/Models/Collection.js:
1965         * UserInterface/Models/Frame.js:
1966         (WebInspector.Frame):
1967         (WebInspector.Frame.prototype.get canvasCollection):
1968         (WebInspector.Frame.prototype.commitProvisionalLoad):
1969         Create a Collection for Canvas in each Frame, and modify it when canvas events are fired.
1970
1971         * UserInterface/Views/CanvasContentView.css: Added.
1972         (.content-view.canvas > .preview):
1973         (.content-view.canvas > .preview > img):
1974         * UserInterface/Views/CanvasContentView.js: Added.
1975         (WebInspector.CanvasContentView):
1976         (WebInspector.CanvasContentView.prototype.get navigationItems):
1977         (WebInspector.CanvasContentView.prototype.shown):
1978         (WebInspector.CanvasContentView.prototype.hidden):
1979         (WebInspector.CanvasContentView.prototype._showPreview):
1980         (WebInspector.CanvasContentView.prototype._updateImageGrid):
1981         (WebInspector.CanvasContentView.prototype._showGridButtonClicked):
1982         * UserInterface/Views/CanvasDetailsSidebarPanel.js: Added.
1983         (WebInspector.CanvasDetailsSidebarPanel):
1984         (WebInspector.CanvasDetailsSidebarPanel.prototype.inspect):
1985         (WebInspector.CanvasDetailsSidebarPanel.prototype.get canvas):
1986         (WebInspector.CanvasDetailsSidebarPanel.prototype.set canvas):
1987         (WebInspector.CanvasDetailsSidebarPanel.prototype.initialLayout):
1988         (WebInspector.CanvasDetailsSidebarPanel.prototype.layout):
1989         (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshIdentitySection):
1990         (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshSourceSection.this._canvas.requestNode.):
1991         (WebInspector.CanvasDetailsSidebarPanel.prototype._refreshSourceSection):
1992         * UserInterface/Views/CanvasTreeElement.js: Added.
1993         (WebInspector.CanvasTreeElement):
1994
1995         * UserInterface/Views/FrameTreeElement.js:
1996         (WebInspector.FrameTreeElement.prototype.onattach):
1997         (WebInspector.FrameTreeElement.prototype.ondetach):
1998         (WebInspector.FrameTreeElement.prototype.onpopulate):
1999         (WebInspector.FrameTreeElement.prototype._canvasWasAdded):
2000         (WebInspector.FrameTreeElement.prototype._canvasWasRemoved):
2001         (WebInspector.FrameTreeElement):
2002         * UserInterface/Base/Main.js:
2003         * UserInterface/Views/ContentView.js:
2004         (WebInspector.ContentView.createFromRepresentedObject):
2005         (WebInspector.ContentView.isViewable):
2006         * UserInterface/Views/ResourceSidebarPanel.js:
2007         (WebInspector.ResourceSidebarPanel):
2008         (WebInspector.ResourceSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
2009         (WebInspector.ResourceSidebarPanel.prototype._treeSelectionDidChange):
2010         * UserInterface/Views/ResourcesTabContentView.js:
2011         (WebInspector.ResourcesTabContentView):
2012         (WebInspector.ResourcesTabContentView.prototype.canShowRepresentedObject):
2013         Show Canvas objects and tie them to the correct ContentView and TreeElement subclasses.
2014
2015         * Localizations/en.lproj/localizedStrings.js:
2016         * UserInterface/Main.html:
2017         * UserInterface/Images/Canvas.svg: Added.
2018         * UserInterface/Views/ResourceIcons.css:
2019         (.canvas .icon):
2020         Added new files/rules/strings related to Canvas UI.
2021
2022         * UserInterface/Views/SettingsTabContentView.css:
2023         (.content-view.settings .navigation-bar):
2024
2025         * UserInterface/Base/Setting.js:
2026         * UserInterface/Views/SettingsTabContentView.js:
2027         (WebInspector.SettingsTabContentView.prototype.initialLayout):
2028         (WebInspector.SettingsTabContentView.prototype._createGeneralSettingsView):
2029         (WebInspector.SettingsTabContentView.prototype._createDebugSettingsView):
2030         Add an experimental settings toggle in the Debug view for showing canvas contexts.
2031
2032         * UserInterface/Views/FolderizedTreeElement.js:
2033         (WebInspector.FolderizedTreeElement.prototype._compareTreeElementsByMainTitle):
2034         Drive-by fix: ensure that sorting also includes numbers, so that 1 < 2 < 10.
2035
2036         * UserInterface/Views/ImageResourceContentView.js:
2037         (WebInspector.ImageResourceContentView.prototype.shown):
2038         (WebInspector.ImageResourceContentView.prototype.hidden):
2039         (WebInspector.ImageResourceContentView.prototype._updateImageGrid):
2040         (WebInspector.ImageResourceContentView.prototype._showGridButtonClicked):
2041         (WebInspector.ImageResourceContentView):
2042         Drive-by fix: change the activated state of the Show Grid navigation item if it changes
2043         in another view.
2044
2045 2017-06-19  Devin Rousso  <drousso@apple.com>
2046
2047         Web Inspector: Unify contextmenu items for all node links/previews
2048         https://bugs.webkit.org/show_bug.cgi?id=173187
2049
2050         Reviewed by Joseph Pecoraro.
2051
2052         * Localizations/en.lproj/localizedStrings.js:
2053         * UserInterface/Views/ContextMenuUtilities.js:
2054         (WebInspector.appendContextMenuItemsForDOMNode.didGetFunctionDetails): Added.
2055         (WebInspector.appendContextMenuItemsForDOMNode.didGetProperty): Added.
2056         (WebInspector.appendContextMenuItemsForDOMNode.didResolveNode): Added.
2057         (WebInspector.appendContextMenuItemsForDOMNode): Added.
2058         * UserInterface/Views/DOMTreeElement.js:
2059         (WebInspector.DOMTreeElement.prototype._populateTagContextMenu):
2060         (WebInspector.DOMTreeElement.prototype._populateNodeContextMenu):
2061         (WebInspector.DOMTreeElement.prototype._showCustomElementDefinition): Deleted.
2062         * UserInterface/Views/DOMTreeOutline.js:
2063         (WebInspector.DOMTreeOutline.prototype.populateContextMenu):
2064         (WebInspector.DOMTreeOutline.prototype._populateContextMenu.revealElement): Deleted.
2065         (WebInspector.DOMTreeOutline.prototype._populateContextMenu.logElement): Deleted.
2066         (WebInspector.DOMTreeOutline.prototype._populateContextMenu): Deleted.
2067         * UserInterface/Views/RulesStyleDetailsPanel.js:
2068         (WebInspector.RulesStyleDetailsPanel.prototype.refresh.insertMediaOrInheritanceLabel):
2069         Unify common DOM node context menu actions into a single helper function.
2070
2071         * UserInterface/Base/DOMUtilities.js:
2072         (WebInspector.linkifyNodeReference):
2073         (WebInspector.linkifyNodeReferenceElement):
2074         Rework parameters to use options dictionary.
2075
2076 2017-06-16  Matt Baker  <mattbaker@apple.com>
2077
2078         Web Inspector: Instrument 2D/WebGL canvas contexts in the backend
2079         https://bugs.webkit.org/show_bug.cgi?id=172623
2080         <rdar://problem/32415986>
2081
2082         Reviewed by Devin Rousso and Joseph Pecoraro.
2083
2084         * UserInterface/Base/Main.js:
2085         (WebInspector.loaded):
2086
2087         * UserInterface/Controllers/CanvasManager.js: Added.
2088         New frontend manager for the Canvas domain.
2089         (WebInspector.CanvasManager):
2090         (WebInspector.CanvasManager.prototype.get canvases):
2091         (WebInspector.CanvasManager.prototype.canvasAdded):
2092         (WebInspector.CanvasManager.prototype.canvasRemoved):
2093         (WebInspector.CanvasManager.prototype._mainResourceDidChange):
2094
2095         * UserInterface/Main.html:
2096         New files.
2097
2098         * UserInterface/Models/Canvas.js: Added.
2099         (WebInspector.Canvas):
2100         (WebInspector.Canvas.fromPayload):
2101         (WebInspector.Canvas.displayNameForContextType):
2102         Get displayable text "2D" or "WebGL" based on context type.
2103         (WebInspector.Canvas.resetUniqueDisplayNameNumbers):
2104         Called by CanvasManager when canvases are cleared.
2105         (WebInspector.Canvas.prototype.get identifier):
2106         (WebInspector.Canvas.prototype.get contextType):
2107         (WebInspector.Canvas.prototype.get frame):
2108         (WebInspector.Canvas.prototype.get cssCanvasName):
2109         For CSS canvases, the identifier passed to getCSSCanvasContext.
2110         (WebInspector.Canvas.prototype.get displayName):
2111         Get displayable canvas name. The name depends on how the canvas was
2112         created, and the information available:
2113           - getCSSCanvasContext: "CSS Canvas <identifier>"
2114           - getContext: "Canvas #<DOM id attribute value>"
2115           - Otherwise: "Canvas 1", "Canvas 2", ...
2116
2117         (WebInspector.Canvas.saveIdentityToCookie):
2118
2119         * UserInterface/Protocol/CanvasObserver.js: Added.
2120         (WebInspector.CanvasObserver.prototype.canvasAdded):
2121         (WebInspector.CanvasObserver.prototype.canvasRemoved):
2122         (WebInspector.CanvasObserver):
2123
2124         * UserInterface/Test.html:
2125         * UserInterface/Test/Test.js:
2126         (WebInspector.loaded):
2127
2128 2017-06-16  Matt Lewis  <jlewis3@apple.com>
2129
2130         Unreviewed, rolling out r218376.
2131
2132         The patch cause multiple Layout Test Crashes.
2133
2134         Reverted changeset:
2135
2136         "Web Inspector: Instrument 2D/WebGL canvas contexts in the
2137         backend"
2138         https://bugs.webkit.org/show_bug.cgi?id=172623
2139         http://trac.webkit.org/changeset/218376
2140
2141 2017-06-15  Matt Baker  <mattbaker@apple.com>
2142
2143         Web Inspector: Instrument 2D/WebGL canvas contexts in the backend
2144         https://bugs.webkit.org/show_bug.cgi?id=172623
2145         <rdar://problem/32415986>
2146
2147         Reviewed by Devin Rousso.
2148
2149         * UserInterface/Base/Main.js:
2150         (WebInspector.loaded):
2151
2152         * UserInterface/Controllers/CanvasManager.js: Added.
2153         New frontend manager for the Canvas domain.
2154         (WebInspector.CanvasManager):
2155         (WebInspector.CanvasManager.prototype.get canvases):
2156         (WebInspector.CanvasManager.prototype.canvasAdded):
2157         (WebInspector.CanvasManager.prototype.canvasRemoved):
2158         (WebInspector.CanvasManager.prototype._mainResourceDidChange):
2159
2160         * UserInterface/Main.html:
2161         New files.
2162
2163         * UserInterface/Models/Canvas.js: Added.
2164         (WebInspector.Canvas):
2165         (WebInspector.Canvas.fromPayload):
2166         (WebInspector.Canvas.displayNameForContextType):
2167         Get displayable text "2D" or "WebGL" based on context type.
2168         (WebInspector.Canvas.resetUniqueDisplayNameNumbers):
2169         Called by CanvasManager when canvases are cleared.
2170         (WebInspector.Canvas.prototype.get identifier):
2171         (WebInspector.Canvas.prototype.get contextType):
2172         (WebInspector.Canvas.prototype.get frame):
2173         (WebInspector.Canvas.prototype.get cssCanvasName):
2174         For CSS canvases, the identifier passed to getCSSCanvasContext.
2175         (WebInspector.Canvas.prototype.get displayName):
2176         Get displayable canvas name. The name depends on how the canvas was
2177         created, and the information available:
2178           - getCSSCanvasContext: "CSS Canvas <identifier>"
2179           - getContext: "Canvas #<DOM id attribute value>"
2180           - Otherwise: "Canvas 1", "Canvas 2", ...
2181
2182         (WebInspector.Canvas.saveIdentityToCookie):
2183
2184         * UserInterface/Protocol/CanvasObserver.js: Added.
2185         (WebInspector.CanvasObserver.prototype.canvasAdded):
2186         (WebInspector.CanvasObserver.prototype.canvasRemoved):
2187         (WebInspector.CanvasObserver):
2188
2189         * UserInterface/Test.html:
2190         * UserInterface/Test/Test.js:
2191         (WebInspector.loaded):
2192
2193 2017-06-15  Joseph Pecoraro  <pecoraro@apple.com>
2194
2195         Web Inspector: Search highlight doesn't show up in resources when paused
2196         https://bugs.webkit.org/show_bug.cgi?id=173438
2197         <rdar://problem/32800114>
2198
2199         Reviewed by Matt Baker.
2200
2201         * UserInterface/Views/TextEditor.js:
2202         (WebInspector.TextEditor.prototype.revealPosition.revealAndHighlightLine):
2203         Previously we were bailing if executionLineNumber was NaN, which means that when
2204         we were paused we were incorrectly disabling highlights in any resource that does
2205         not have the active callframe. Relax this and make it match the intended behavior
2206         of only disabling highlights if the highlight line matches the execution line.
2207
2208 2017-06-15  Joseph Pecoraro  <pecoraro@apple.com>
2209
2210         Uncaught Exception: TypeError: null is not an object (evaluating 'this.contentBrowser.contentViewForRepresentedObject')
2211         https://bugs.webkit.org/show_bug.cgi?id=173425
2212         <rdar://problem/32744172>
2213
2214         Reviewed by Devin Rousso.
2215
2216         * UserInterface/Views/ContentBrowserTabContentView.js:
2217         (WebInspector.ContentBrowserTabContentView.prototype.shown):
2218         Reorder slightly so the NavigationSidebar has its ContentBrowser set
2219         before anyone tries to restore views in the sidebar.
2220
2221         * UserInterface/Views/DebuggerSidebarPanel.js:
2222         (WebInspector.DebuggerSidebarPanel.prototype.showDefaultContentView):
2223         Try to select a script/resource content view instead of nothing.
2224
2225         (WebInspector.DebuggerSidebarPanel.prototype.saveStateToCookie):
2226         When a resource is selected, save it using the normal path.
2227
2228         * UserInterface/Views/NetworkSidebarPanel.js:
2229         (WebInspector.NetworkSidebarPanel.prototype.canShowDifferentContentView):
2230         Remove a reference to an unused / stale member variable.
2231
2232 2017-06-14  Nikita Vasilyev  <nvasilyev@apple.com>
2233
2234         Web Inspector: Pretty print / type info / code coverage buttons disappear after switching tabs
2235         https://bugs.webkit.org/show_bug.cgi?id=162515
2236         <rdar://problem/28455322>
2237
2238         Reviewed by Joseph Pecoraro.
2239
2240         Each ContentView owns a list of NavigationItems. When the ContentView moves across
2241         Tabs (ContentBrowsers) it removes its NavigationItems from the old Tab's NavigationBar
2242         and adds them to the new Tab's NavigationBar. When switching back to the original tab
2243         the ContentView is restored, but its NavigationItems are not carried back.
2244
2245         * UserInterface/Views/ContentBrowser.js:
2246         (WebInspector.ContentBrowser.prototype._updateContentViewNavigationItems):
2247         Add a forceUpdate parameter that is needed when navigationItems are unchanged but navigationBar is
2248         different.
2249
2250         (WebInspector.ContentBrowser.prototype._removeAllNavigationItems):
2251         Remove navigation items even when their navigationBar is no longer a current navigationBar,
2252         e.g. a navigationBar of the previous tab.
2253
2254         (WebInspector.ContentBrowser.prototype._contentViewNavigationItemsDidChange):
2255         * UserInterface/Views/ContentViewContainer.js:
2256         (WebInspector.ContentViewContainer.prototype._takeOwnershipOfContentView):
2257
2258 2017-06-14  Devin Rousso  <drousso@apple.com>
2259
2260         Web Inspector: REGRESSION: SVG files and favicon don't display properly
2261         https://bugs.webkit.org/show_bug.cgi?id=173389
2262         <rdar://problem/32774281>
2263
2264         Reviewed by Joseph Pecoraro.
2265
2266         * UserInterface/Views/ImageResourceContentView.css:
2267         (.content-view.resource.image img):
2268         Don't set a `min-width` as it has odd interactions with flexbox.
2269
2270 2017-06-13  Nikita Vasilyev  <nvasilyev@apple.com>
2271
2272         Web Inspector: Console: Message icons overlay source location
2273         https://bugs.webkit.org/show_bug.cgi?id=173291
2274
2275         Reviewed by Matt Baker.
2276
2277         * UserInterface/Views/ConsoleMessageView.css:
2278         (.console-message-location.call-frame):
2279         This should be a safe change since a method name and a source link already have
2280         max-width set to 20vw and 30vw respectively.
2281
2282 2017-06-13  Nikita Vasilyev  <nvasilyev@apple.com>
2283
2284         Web Inspector: Don't use -webkit-user-modify CSS property
2285         https://bugs.webkit.org/show_bug.cgi?id=173232
2286
2287         Reviewed by Devin Rousso.
2288
2289         Replace -webkit-user-modify CSS property with contentEditable HTML attribute.
2290
2291         * UserInterface/Views/Editing.css:
2292         (.editing):
2293         * UserInterface/Views/EditingSupport.js:
2294         (cleanUpAfterEditing):
2295         * UserInterface/Views/VisualStyleSelectorTreeItem.css:
2296         (.item.visual-style-selector-item:not(.dom-element-icon).editable > .titles > .title):
2297         * UserInterface/Views/VisualStyleSelectorTreeItem.js:
2298         (WebInspector.VisualStyleSelectorTreeItem.prototype.ondeselect):
2299         (WebInspector.VisualStyleSelectorTreeItem.prototype._handleMainTitleMouseDown):
2300         (WebInspector.VisualStyleSelectorTreeItem.prototype._commitSelector):
2301
2302 2017-06-13  Sam Weinig  <sam@webkit.org>
2303
2304         Rename JSDOMWindowShell to JSDOMWindowProxy to match the HTML5 spec.
2305         https://bugs.webkit.org/show_bug.cgi?id=80733
2306
2307         Reviewed by Chris Dumez.
2308
2309         * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
2310         (HeapSnapshot.prototype._isNodeGlobalObject):
2311
2312 2017-06-12  Devin Rousso  <drousso@apple.com>
2313
2314         Web Inspector: Add grid to images to clarify transparency and image size
2315         https://bugs.webkit.org/show_bug.cgi?id=173184
2316
2317         Reviewed by Matt Baker.
2318
2319         * Localizations/en.lproj/localizedStrings.js:
2320
2321         * UserInterface/Base/Setting.js:
2322         Add setting for controlling the image grid.
2323
2324         * UserInterface/Images/NavigationItemCheckers.svg: Added.
2325
2326         * UserInterface/Views/ImageResourceContentView.css:
2327         (.content-view.resource.image):
2328         (.content-view.resource.image img):
2329         Replace the border spacing around the image with padding on the container.  This is required
2330         because a border will extend the area that is effected by `background-image`, meaning that
2331         the checkerboard would appear in that area as well, giving misleading information as to the
2332         size of the image.
2333
2334         * UserInterface/Views/ImageResourceContentView.js:
2335         (WebInspector.ImageResourceContentView):
2336         (WebInspector.ImageResourceContentView.prototype.get navigationItems): Added.
2337         (WebInspector.ImageResourceContentView.prototype.contentAvailable):
2338         (WebInspector.ImageResourceContentView.prototype.shown): Added.
2339         (WebInspector.ImageResourceContentView.prototype._toggleImageGrid): Added.
2340         (WebInspector.ImageResourceContentView.prototype._showGridButtonClicked): Added.
2341         (WebInspector.ImageResourceContentView.prototype.get imageElement): Deleted.
2342         Apply the CSS class for showing the grid when the added navigation item is activated.
2343
2344         * UserInterface/Views/Main.css:
2345         (img.show-grid):
2346         Generates a checkerboard pattern via `background-image` using the following process:
2347          - four `linear-gradients` are drawn, one in each corner
2348          - each draws one half of a 20x20 square, specified by `background-size`
2349          - they are then repositioned using `background-position` so that the two halfs align
2350             +------+      \--2
2351             |1 /\ 2|      |\ |
2352             | /  \ |  =>  | \|
2353             |/    \|  =>  4--\
2354             |\    /|  =>      1--/
2355             | \  / |  =>      | /|
2356             |4 \/ 3|          |/ |
2357             +------+          /--3
2358
2359 2017-06-10  Dan Bernstein  <mitz@apple.com>
2360
2361         Reverted r218056 because it made the IDE reindex constantly.
2362
2363         * Configurations/DebugRelease.xcconfig:
2364
2365 2017-06-10  Dan Bernstein  <mitz@apple.com>
2366
2367         [Xcode] With Xcode 9 developer beta, everything rebuilds when switching between command-line and IDE
2368         https://bugs.webkit.org/show_bug.cgi?id=173223
2369
2370         Reviewed by Sam Weinig.
2371
2372         The rebuilds were happening due to a difference in the compiler options that the IDE and
2373         xcodebuild were specifying. Only the IDE was passing the -index-store-path option. To make
2374         xcodebuild pass that option, too, set CLANG_INDEX_STORE_ENABLE to YES if it is unset, and
2375         specify an appropriate path in CLANG_INDEX_STORE_PATH.
2376
2377         * Configurations/DebugRelease.xcconfig:
2378
2379 2017-06-10  Devin Rousso  <drousso@apple.com>
2380
2381         Web Inspector: REGRESSION(r217749): Event listeners are removed even if they haven't been added
2382         https://bugs.webkit.org/show_bug.cgi?id=173185
2383
2384         Reviewed by Joseph Pecoraro.
2385
2386         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
2387         (WebInspector.ResourceDetailsSidebarPanel):
2388         (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
2389         (WebInspector.ResourceDetailsSidebarPanel.prototype._applyResourceEventListeners):
2390         Maintain a member variable flag such that event listeners are only removed if it is true.
2391         It is only set to true once the event listeners are added.
2392
2393 2017-06-09  Devin Rousso  <drousso@apple.com>
2394
2395         Web Inspector: REGRESSION(r217258): Misspelled variable names
2396         https://bugs.webkit.org/show_bug.cgi?id=173189
2397
2398         Reviewed by Joseph Pecoraro.
2399
2400         * UserInterface/Base/Main.js:
2401         (WebInspector.tabContentViewClassForRepresentedObject):
2402         * UserInterface/Views/ResourceIcons.css:
2403         (.large :matches(.resource-icon.resource-type-stylesheet, .stylesheet-icon) .icon):
2404         (.large .resource-icon.resource-type-stylesheet .icon): Deleted.
2405
2406 2017-06-09  Joseph Pecoraro  <pecoraro@apple.com>
2407
2408         Web Inspector: Web inspector does not show non-shadow children of an element with a shadow root (e.g. <video>)
2409         https://bugs.webkit.org/show_bug.cgi?id=173121
2410         <rdar://problem/30948943>
2411
2412         Reviewed by Matt Baker.
2413
2414         * UserInterface/Models/DOMNode.js:
2415         (WebInspector.DOMNode):
2416         Only populate _children when we have both the shadowRoots and
2417         actual children payloads. Backends always send shadowRoots but
2418         only send children when requested. So if we have shadowRoots
2419         but expect actual children, don't populate _children until we
2420         request the child nodes.
2421
2422 2017-06-07  Carlos Garcia Campos  <cgarcia@igalia.com>
2423
2424         Remove legacy INSPECTOR_SERVER implementation
2425         https://bugs.webkit.org/show_bug.cgi?id=172966
2426
2427         Reviewed by Žan Doberšek.
2428
2429         Remove InspectorFrontendHostStub and thr web sockets initialization.
2430
2431         * UserInterface/Base/InspectorFrontendHostStub.js: Removed.
2432         * UserInterface/Base/Main.js:
2433         (WebInspector.loaded):
2434         * UserInterface/Main.html:
2435         * UserInterface/Test.html:
2436         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
2437         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
2438
2439 2017-06-07  Devin Rousso  <drousso@apple.com>
2440
2441         Web Inspector: Add ContextMenu item to log WebSocket object to console
2442         https://bugs.webkit.org/show_bug.cgi?id=172878
2443
2444         Reviewed by Joseph Pecoraro.
2445
2446         * Localizations/en.lproj/localizedStrings.js:
2447
2448         * UserInterface/Protocol/RemoteObject.js:
2449         (WebInspector.RemoteObject.resolveWebSocket):
2450
2451         * UserInterface/Views/ResourceTreeElement.js:
2452         (WebInspector.ResourceTreeElement.prototype.populateContextMenu):
2453
2454 2017-06-07  Devin Rousso  <drousso@apple.com>
2455
2456         Web Inspector: Allow user to choose stylesheet when creating new rules
2457         https://bugs.webkit.org/show_bug.cgi?id=172487
2458
2459         Reviewed by Joseph Pecoraro.
2460
2461         * Localizations/en.lproj/localizedStrings.js:
2462         * UserInterface/Models/DOMNodeStyles.js:
2463         (WebInspector.DOMNodeStyles.prototype.addRule.inspectorStyleSheetAvailable):
2464         (WebInspector.DOMNodeStyles.prototype.addRule):
2465         * UserInterface/Views/CSSStyleDetailsSidebarPanel.js:
2466         (WebInspector.CSSStyleDetailsSidebarPanel.prototype.initialLayout):
2467         (WebInspector.CSSStyleDetailsSidebarPanel.prototype._newRuleButtonContextMenu):
2468         * UserInterface/Views/RulesStyleDetailsPanel.js:
2469         (WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonClicked):
2470         (WebInspector.RulesStyleDetailsPanel.prototype.newRuleButtonContextMenu):
2471         * UserInterface/Views/VisualStyleSelectorSection.js:
2472         (WebInspector.VisualStyleSelectorSection):
2473         (WebInspector.VisualStyleSelectorSection.prototype._addNewRuleContextMenu):
2474         (WebInspector.VisualStyleSelectorSection.prototype._addNewRule): Renamed _addNewRuleClick.
2475
2476 2017-06-06  Joseph Pecoraro  <pecoraro@apple.com>
2477
2478         Unreviewed rollout r217807. Caused a test to crash.
2479
2480         * UserInterface/Proxies/HeapSnapshotNodeProxy.js:
2481         (WebInspector.HeapSnapshotNodeProxy):
2482         (WebInspector.HeapSnapshotNodeProxy.deserialize):
2483         * UserInterface/Views/HeapSnapshotClassDataGridNode.js:
2484         (WebInspector.HeapSnapshotClassDataGridNode.prototype.createCellContent):
2485         * UserInterface/Views/HeapSnapshotClusterContentView.js:
2486         (WebInspector.HeapSnapshotClusterContentView.iconStyleClassNameForClassName):
2487         * UserInterface/Views/HeapSnapshotDataGridTree.js:
2488         (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.populateTopLevel):
2489         * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
2490         (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent):
2491         (WebInspector.HeapSnapshotInstanceDataGridNode.prototype._mouseoverHandler.appendPathRow):
2492         * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
2493         (HeapSnapshot):
2494         (HeapSnapshot.updateCategoriesAndMetadata):
2495         (HeapSnapshot.prototype.serializeNode):
2496         (HeapSnapshot.prototype._gcRootPathes.visitNode):
2497         (HeapSnapshot.prototype._gcRootPathes):
2498
2499 2017-06-05  Joseph Pecoraro  <pecoraro@apple.com>
2500
2501         Web Inspector: Improve ES6 Class instances in Heap Snapshot instances view
2502         https://bugs.webkit.org/show_bug.cgi?id=172848
2503         <rdar://problem/25709212>
2504
2505         Reviewed by Saam Barati.
2506
2507         * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
2508         (HeapSnapshot):
2509         Support the new snapshot version. The only thing that changes are the
2510         node flags, and its actually completely compatible with version 1.
2511
2512         (HeapSnapshot.updateCategoriesAndMetadata):
2513         List the count of object type instances in each class category.
2514
2515         (HeapSnapshot.prototype.serializeNode):
2516         Include whether or not the node is an object type.
2517
2518         * UserInterface/Proxies/HeapSnapshotNodeProxy.js:
2519         (WebInspector.HeapSnapshotNodeProxy):
2520         (WebInspector.HeapSnapshotNodeProxy.deserialize):
2521         Add a new Node isObjectType property based on the new data.
2522
2523         * UserInterface/Views/HeapSnapshotClassDataGridNode.js:
2524         (WebInspector.HeapSnapshotClassDataGridNode.prototype.createCellContent):
2525         * UserInterface/Views/HeapSnapshotClusterContentView.js:
2526         (WebInspector.HeapSnapshotClusterContentView.iconStyleClassNameForClassName):
2527         If a class contains 50% or more object type instances then it as such
2528         instead of defaulting to native.
2529
2530         * UserInterface/Views/HeapSnapshotDataGridTree.js:
2531         (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.populateTopLevel):
2532         * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
2533         (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent):
2534         We can be more specific than the default if the individual instance is
2535         known to be an object type.
2536
2537 2017-06-02  Devin Rousso  <drousso@apple.com>
2538
2539         Web Inspector: Don't create NavigationSidebarPanel classes until they are needed by a Tab
2540         https://bugs.webkit.org/show_bug.cgi?id=172621
2541
2542         Reviewed by Timothy Hatcher.
2543
2544         * UserInterface/Views/ContentBrowserTabContentView.js:
2545         (WebInspector.ContentBrowserTabContentView):
2546         (WebInspector.ContentBrowserTabContentView.prototype.shown):
2547         * UserInterface/Views/TabContentView.js:
2548         (WebInspector.TabContentView):
2549         (WebInspector.TabContentView.prototype.get navigationSidebarPanel):
2550
2551         * UserInterface/Views/NetworkTabContentView.js:
2552         (WebInspector.NetworkTabContentView.prototype.canShowRepresentedObject):
2553         * UserInterface/Views/SearchTabContentView.js:
2554         (WebInspector.SearchTabContentView.prototype.canShowRepresentedObject):
2555         Use public getter for navigationSidebarPanel.
2556
2557         * UserInterface/Views/ResourceSidebarPanel.js:
2558         (WebInspector.ResourceSidebarPanel):
2559         (WebInspector.ResourceSidebarPanel.prototype.initialLayout): Added.
2560         Load information about the current frame once the sidebar panel is displayed.
2561
2562 2017-06-02  Devin Rousso  <drousso@apple.com>
2563
2564         Web Inspector: Use initialLayout for DetailsSidebarPanel classes
2565         https://bugs.webkit.org/show_bug.cgi?id=172381
2566
2567         Reviewed by Timothy Hatcher.
2568
2569         * UserInterface/Views/ApplicationCacheDetailsSidebarPanel.js:
2570         (WebInspector.ApplicationCacheDetailsSidebarPanel):
2571         (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.initialLayout): Added.
2572         (WebInspector.ApplicationCacheDetailsSidebarPanel.prototype.layout):
2573         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2574         (WebInspector.DOMNodeDetailsSidebarPanel):
2575         (WebInspector.DOMNodeDetailsSidebarPanel.prototype.initialLayout): Added.
2576         (WebInspector.DOMNodeDetailsSidebarPanel.prototype.layout):
2577         * UserInterface/Views/IndexedDatabaseDetailsSidebarPanel.js:
2578         (WebInspector.IndexedDatabaseDetailsSidebarPanel):
2579         (WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype.initialLayout): Added.
2580         (WebInspector.IndexedDatabaseDetailsSidebarPanel.prototype.layout):
2581         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
2582         (WebInspector.LayerTreeDetailsSidebarPanel):
2583         (WebInspector.LayerTreeDetailsSidebarPanel.prototype.initialLayout): Added.
2584         (WebInspector.LayerTreeDetailsSidebarPanel.prototype.layout):
2585         * UserInterface/Views/ProbeDetailsSidebarPanel.js:
2586         (WebInspector.ProbeDetailsSidebarPanel):
2587         (WebInspector.ProbeDetailsSidebarPanel.prototype.initialLayout): Added.
2588         * UserInterface/Views/ResourceDetailsSidebarPanel.js:
2589         (WebInspector.ResourceDetailsSidebarPanel):
2590         (WebInspector.ResourceDetailsSidebarPanel.prototype.set resource):
2591         (WebInspector.ResourceDetailsSidebarPanel.prototype.initialLayout): Added.
2592         (WebInspector.ResourceDetailsSidebarPanel.prototype.layout):
2593         (WebInspector.ResourceDetailsSidebarPanel.prototype._applyResourceEventListeners):
2594
2595 2017-06-02  Devin Rousso  <drousso@apple.com>
2596
2597         Web Inspector: The CodeMirror instance in the ConsolePrompt does't need to be refreshed each time it is shown
2598         https://bugs.webkit.org/show_bug.cgi?id=172608
2599
2600         Reviewed by Timothy Hatcher.
2601
2602         * UserInterface/Views/ConsolePrompt.js:
2603         (WebInspector.ConsolePrompt.prototype.shown): Deleted.
2604         * UserInterface/Views/DatabaseContentView.js:
2605         (WebInspector.DatabaseContentView.prototype.shown): Deleted.
2606         * UserInterface/Views/QuickConsole.js:
2607         (WebInspector.QuickConsole):
2608
2609 2017-06-02  Devin Rousso  <drousso@apple.com>
2610
2611         Web Inspector: Attributes table in Node Details Sidebar should have editable keys and values
2612         https://bugs.webkit.org/show_bug.cgi?id=167076
2613         <rdar://problem/30033629>
2614
2615         Reviewed by Timothy Hatcher.
2616
2617         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
2618         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._refreshAttributes):
2619         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._attributeNodeValueChanged):
2620         (WebInspector.DOMNodeDetailsSidebarPanel.prototype._createAttributesDataGrid): Deleted.
2621         Rework creation of the attributes DataGrid so that it is only created once and cleared for
2622         new content. Nodes in the DataGrid are now EditableDataGridNode instances so that attribute
2623         names and values can be changed from within the sidebar. The DataGrid is also sorted based
2624         on attribute name, to make finding attributes easier.
2625
2626         * UserInterface/Views/DataGrid.css:
2627         (.data-grid tr.editable .cell-content > input):
2628         (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input):
2629
2630         * UserInterface/Views/DetailsSection.css:
2631         (.details-section > .content .data-grid tr:not(.editable) td.value-column):
2632         (.details-section > .content .data-grid tr:not(.editable) td.value-column > div):
2633         (.details-section > .content .data-grid td.value-column): Deleted.
2634         (.details-section > .content .data-grid td.value-column > div): Deleted.
2635
2636         * UserInterface/Main.html:
2637         * UserInterface/Views/EditableDataGridNode.js: Added.
2638         (WebInspector.EditableDataGridNode):
2639         (WebInspector.EditableDataGridNode.prototype.get element):
2640         (WebInspector.EditableDataGridNode.prototype.createCellContent):
2641         (WebInspector.EditableDataGridNode.prototype._handleKeyPress):
2642         (WebInspector.EditableDataGridNode.prototype._handleBlur):
2643         (WebInspector.EditableDataGridNode.prototype._notifyInputElementValueChanged):
2644         Special type of DataGridNode that wraps the content of each cell in an <input>.
2645
2646 2017-06-02  Devin Rousso  <drousso@apple.com>
2647
2648         Web Inspector: Existing query in Search tab doesn't perform search on reload
2649         https://bugs.webkit.org/show_bug.cgi?id=172663
2650
2651         Reviewed by Timothy Hatcher.
2652
2653         * Localizations/en.lproj/localizedStrings.js:
2654
2655         * UserInterface/Views/SearchSidebarPanel.css:
2656         (.sidebar > .panel.navigation.search.changed > .banner):
2657         (.sidebar > .panel.navigation.search.changed > .banner > a):
2658         (.sidebar > .panel.navigation.search.changed > :matches(.content, .empty-content-placeholder)):
2659
2660         * UserInterface/Views/SearchSidebarPanel.js:
2661         (WebInspector.SearchSidebarPanel.prototype.performSearch.resourcesCallback):
2662         (WebInspector.SearchSidebarPanel.prototype._mainResourceDidChange):
2663         (WebInspector.SearchSidebarPanel.prototype._contentChanged):
2664         Listen for any "resource added" event, and show the content changed banner when one occurs.
2665
2666 2017-06-02  Devin Rousso  <drousso@apple.com>
2667
2668         Web Inspector: Should see active Web Sockets when opening Web Inspector
2669         https://bugs.webkit.org/show_bug.cgi?id=172312
2670
2671         Reviewed by Joseph Pecoraro.
2672
2673         * UserInterface/Controllers/FrameResourceManager.js:
2674         (WebInspector.FrameResourceManager.prototype.webSocketHandshakeResponseReceived):
2675         (WebInspector.FrameResourceManager.prototype.initialize): Removed.
2676         Rework order of agent enable calls to ensure that the main frame is initialized before any
2677         websocket events are dispatched.
2678
2679         * UserInterface/Models/WebSocketResource.js:
2680         (WebInspector.WebSocketResource.ReadyState):
2681         Change symbol strings in enum for better printing in tests.
2682
2683 2017-06-01  Ryan Haddad  <ryanhaddad@apple.com>
2684
2685         Unreviewed, rolling out r217691.
2686
2687         This change broke the Windows build.
2688
2689         Reverted changeset:
2690
2691         "Web Inspector: Should see active Web Sockets when opening Web
2692         Inspector"
2693         https://bugs.webkit.org/show_bug.cgi?id=172312
2694         http://trac.webkit.org/changeset/217691
2695
2696 2017-06-01  Devin Rousso  <drousso@apple.com>
2697
2698         Web Inspector: Should see active Web Sockets when opening Web Inspector
2699         https://bugs.webkit.org/show_bug.cgi?id=172312
2700
2701         Reviewed by Joseph Pecoraro.
2702
2703         * UserInterface/Controllers/FrameResourceManager.js:
2704         (WebInspector.FrameResourceManager.prototype.webSocketHandshakeResponseReceived):
2705         (WebInspector.FrameResourceManager.prototype.initialize): Removed.
2706         Rework order of agent enable calls to ensure that the main frame is initialized before any
2707         websocket events are dispatched.
2708
2709         * UserInterface/Models/WebSocketResource.js:
2710         (WebInspector.WebSocketResource.ReadyState):
2711         Change symbol strings in enum for better printing in tests.
2712
2713 2017-06-01  Nikita Vasilyev  <nvasilyev@apple.com>
2714
2715         Web Inspector: Web Sockets: Unable to inspect a WebSocket that receives >50 messages per second
2716         https://bugs.webkit.org/show_bug.cgi?id=171904
2717         <rdar://problem/32095863>
2718
2719         Reviewed by Matt Baker.
2720
2721         Every size increase of a resource causes a sidebar item to be re-attached to the DOM. Sending or
2722         receiving a WebSocket message causes a size increase. When size increase happens too frequently,
2723         the go-to arrow starts to flicker and becomes unclickable. This patch makes sure a sidebar item gets
2724         re-attached only when its position (index) changes.
2725
2726         * UserInterface/Views/NetworkSidebarPanel.js:
2727         Add the go-to arrow and close buttons when treeElement.status is a spinner element.
2728
2729         (WebInspector.NetworkSidebarPanel.prototype.treeElementAddedOrChanged):
2730         * UserInterface/Views/ResourceTreeElement.js:
2731         (WebInspector.ResourceTreeElement.prototype._updateStatus):
2732         Setting status to "" removes the go-to arrow and close buttons in the Network tab.
2733         Only set status to "" to remove the spinner.
2734
2735         * UserInterface/Views/TimelineDataGrid.js:
2736         (WebInspector.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
2737         * UserInterface/Views/TreeOutline.js:
2738         (WebInspector.TreeOutline.prototype.reattachIfIndexChanged): Added.
2739
2740 2017-05-31  Devin Rousso  <drousso@apple.com>
2741
2742         Web Inspector: Add Debug view to Settings tab for debug settings and experimental features
2743         https://bugs.webkit.org/show_bug.cgi?id=172477
2744
2745         Reviewed by Joseph Pecoraro.
2746
2747         * UserInterface/Base/Setting.js:
2748         Add three new settings:
2749          - autoLogProtocolMessages
2750          - autoLogTimeStats
2751          - enableUncaughtExceptionReporter
2752
2753         * UserInterface/Debug/Bootstrap.js:
2754         (WebInspector.runBootstrapOperations):
2755         Update toolbar item state when editor in Settings tab is changed.
2756
2757         * UserInterface/Debug/UncaughtExceptionReporter.js:
2758         (handleUncaughtExceptionRecord):
2759         Return if the setting controlling the uncaught exception reporter is disabled.
2760
2761         * UserInterface/Protocol/InspectorBackend.js:
2762         (InspectorBackendClass):
2763         (InspectorBackendClass.prototype.set dumpInspectorProtocolMessages):
2764         (InspectorBackendClass.prototype.get dumpInspectorProtocolMessages):
2765         (InspectorBackendClass.prototype.set dumpInspectorTimeStats):
2766         (InspectorBackendClass.prototype.get dumpInspectorTimeStats):
2767         Replace member variables and private Setting objects with items on WebInspector.settings.
2768
2769         * UserInterface/Main.html:
2770         * UserInterface/Views/GeneralSettingsView.js: Removed.
2771         Consolidated into SettingsTabContentView.
2772
2773         * UserInterface/Views/SettingsTabContentView.js:
2774         (WebInspector.SettingsTabContentView):
2775         (WebInspector.SettingsTabContentView.prototype.initialLayout):
2776         (WebInspector.SettingsTabContentView.prototype._createGeneralSettingsView):
2777         (WebInspector.SettingsTabContentView.prototype._createDebugSettingsView):
2778         (WebInspector.SettingsTabContentView.prototype._updateDebugSettingsViewVisibility):
2779
2780         * UserInterface/Views/SettingsView.js:
2781         (WebInspector.SettingsView.prototype.addGroupWithCustomSetting):
2782
2783 2017-05-31  Fujii Hironori  <Hironori.Fujii@sony.com>
2784
2785         [GTK] Web Inspector: BackForwardArrows.svg is not shown
2786         https://bugs.webkit.org/show_bug.cgi?id=172741
2787
2788         Reviewed by Carlos Garcia Campos.
2789
2790         * UserInterface/Images/gtk/BackForwardArrows.svg: Renamed id names to match with Apple's images.
2791
2792 2017-05-30  Joseph Pecoraro  <pecoraro@apple.com>
2793
2794         Web Inspector: images dragged from Inspector to Desktop are named "Unknown.png"
2795         https://bugs.webkit.org/show_bug.cgi?id=141515
2796         <rdar://problem/9251308>
2797
2798         Reviewed by Wenson Hsieh.
2799
2800         * UserInterface/Views/ImageResourceContentView.js:
2801         (WebInspector.ImageResourceContentView.prototype.contentAvailable):
2802         Set a non-standard "filename" attribute to provide a suggested filename
2803         for this <img> containing data: or blob: content.
2804
2805 2017-05-30  Fujii Hironori  <Hironori.Fujii@sony.com>
2806
2807         [GTK] Web Inspector: Add DOM breakpoint image for GTK+
2808         https://bugs.webkit.org/show_bug.cgi?id=169326
2809
2810         Reviewed by Carlos Garcia Campos.
2811
2812         * UserInterface/Images/gtk/DOMBreakpoint.svg: Added.
2813
2814 2017-05-28  Dan Bernstein  <mitz@apple.com>
2815
2816         [Xcode] ALWAYS_SEARCH_USER_PATHS is set to YES
2817         https://bugs.webkit.org/show_bug.cgi?id=172691
2818
2819         Reviewed by Tim Horton.
2820
2821         * Configurations/Base.xcconfig: Set ALWAYS_SEARCH_USER_PATHS to NO.
2822
2823 2017-05-26  Devin Rousso  <drousso@apple.com>
2824
2825         Web Inspector: Reloading the page after switching from the Resource tab switches back
2826         https://bugs.webkit.org/show_bug.cgi?id=172622
2827
2828         Reviewed by Joseph Pecoraro.
2829
2830         * UserInterface/Views/DebuggerSidebarPanel.js:
2831         (WebInspector.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
2832         * UserInterface/Views/ResourceSidebarPanel.js:
2833         (WebInspector.ResourceSidebarPanel.prototype._treeSelectionDidChange):
2834         * UserInterface/Views/SearchSidebarPanel.js:
2835         (WebInspector.SearchSidebarPanel.prototype._treeSelectionDidChange):
2836         Don't show the newly selected tree element's represented object if the sidebar is not visible.
2837
2838 2017-05-26  Devin Rousso  <drousso@apple.com>
2839
2840         Web Inspector: New Tab contents have extra vertical spacing when wrapped
2841         https://bugs.webkit.org/show_bug.cgi?id=172530
2842
2843         Reviewed by Joseph Pecoraro.
2844
2845         * UserInterface/Views/NewTabContentView.css:
2846         (.new-tab.tab.content-view):
2847
2848 2017-05-26  Fujii Hironori  <Hironori.Fujii@sony.com>
2849
2850         [GTK] Web Inspector: Add new GTK+ icons for Web Sockets
2851         https://bugs.webkit.org/show_bug.cgi?id=172296
2852
2853         Reviewed by Carlos Garcia Campos.
2854
2855         Add more free icons for the Web Inspector of GTK+ port.
2856
2857         * UserInterface/Images/gtk/WebSocket.png: Added.
2858         * UserInterface/Images/gtk/WebSocket@2x.png: Added.
2859         * UserInterface/Images/gtk/WebSocketLarge.png: Added.
2860         * UserInterface/Images/gtk/WebSocketLarge@2x.png: Added.
2861         * UserInterface/Views/ResourceIcons.css:
2862         (.resource-icon.resource-type-websocket .icon):
2863         (.large .resource-icon.resource-type-websocket .icon):
2864         (body:matches(.mac-platform, .windows-platform) .resource-icon.resource-type-websocket .icon): Deleted.
2865         (body:matches(.mac-platform, .windows-platform) .large .resource-icon.resource-type-websocket .icon): Deleted.
2866
2867 2017-05-25  Devin Rousso  <drousso@apple.com>
2868
2869         Web Inspector: Don't create DetailsSidebarPanel classes until they are needed by a Tab
2870         https://bugs.webkit.org/show_bug.cgi?id=172393
2871
2872         Reviewed by Joseph Pecoraro.
2873
2874         * UserInterface/Base/Main.js:
2875         (WebInspector.contentLoaded):
2876         Remove global instantiation of all DetailsSidebarPanel objects.
2877
2878         (WebInspector.instanceForClass):
2879         Utility function for creating and accessing an instance of a given class.
2880
2881         * UserInterface/Views/ContentBrowserTabContentView.js:
2882         (WebInspector.ContentBrowserTabContentView):
2883         * UserInterface/Views/DebuggerTabContentView.js:
2884         (WebInspector.DebuggerTabContentView):
2885         (WebInspector.DebuggerTabContentView.prototype.showDetailsSidebarPanels):
2886         * UserInterface/Views/ElementsTabContentView.js:
2887         (WebInspector.ElementsTabContentView):
2888         * UserInterface/Views/NetworkTabContentView.js:
2889         (WebInspector.NetworkTabContentView):
2890         * UserInterface/Views/ResourcesTabContentView.js:
2891         (WebInspector.ResourcesTabContentView):
2892         * UserInterface/Views/SearchTabContentView.js:
2893         (WebInspector.SearchTabContentView):
2894         * UserInterface/Views/StorageTabContentView.js:
2895         (WebInspector.StorageTabContentView):
2896         * UserInterface/Views/TabContentView.js:
2897         (WebInspector.TabContentView):
2898         (WebInspector.TabContentView.prototype.get detailsSidebarPanels):
2899         * UserInterface/Views/TimelineTabContentView.js:
2900         (WebInspector.TimelineTabContentView):
2901         Now accepts an array of DetailsSidebarPanel classes that are all instantiated when they are
2902         about to be added to the DetailsSidebar.
2903
2904 2017-05-25  Devin Rousso  <drousso@apple.com>
2905
2906         Web Inspector: Changing the width of a Sidebar when it's collapsed shouldn't trigger a layout
2907         https://bugs.webkit.org/show_bug.cgi?id=172606
2908
2909         Reviewed by Matt Baker.
2910
2911         * UserInterface/Views/Sidebar.js:
2912         (WebInspector.Sidebar.prototype._recalculateWidth):
2913
2914 2017-05-25  Fujii Hironori  <Hironori.Fujii@sony.com>
2915
2916         [GTK] Web Inspector: Add ListStylePositionInside.svg and ListStylePositionOutside.svg
2917         https://bugs.webkit.org/show_bug.cgi?id=172574
2918
2919         Reviewed by Michael Catanzaro.
2920
2921         Add more free icons for the Web Inspector of GTK+ port.
2922
2923         * UserInterface/Images/gtk/ListStylePositionInside.svg: Added.
2924         * UserInterface/Images/gtk/ListStylePositionOutside.svg: Added.
2925
2926 2017-05-25  Fujii Hironori  <Hironori.Fujii@sony.com>
2927
2928         [GTK] Web Inspector: Add new icons AnimationPlayStatePaused.svg and AnimationPlayStateRunning.svg
2929         https://bugs.webkit.org/show_bug.cgi?id=172579
2930
2931         Reviewed by Michael Catanzaro.
2932
2933         Add more free icons for the Web Inspector of GTK+ port.
2934
2935         * UserInterface/Images/gtk/AnimationPlayStatePaused.svg: Added.
2936         * UserInterface/Images/gtk/AnimationPlayStateRunning.svg: Added.
2937
2938 2017-05-24  Fujii Hironori  <Hironori.Fujii@sony.com>
2939
2940         [GTK] Web Inspector: Add new GTK+ icons for garbage collect and clean buttons in Console
2941         https://bugs.webkit.org/show_bug.cgi?id=167356
2942
2943         Reviewed by Michael Catanzaro.
2944
2945         * UserInterface/Images/gtk/NavigationItemClear.svg: Aligned for 16x16 dimension.
2946         * UserInterface/Images/gtk/NavigationItemGarbageCollect.svg: Added.
2947         * UserInterface/Views/LogContentView.js:
2948         (WebInspector.LogContentView): Removed the Clear image dimension's conditional expression.
2949         * UserInterface/Views/NetworkGridContentView.js:
2950         (WebInspector.NetworkGridContentView): Ditto.
2951         * UserInterface/Views/TimelineRecordingContentView.js:
2952         (WebInspector.TimelineRecordingContentView): Ditto.
2953
2954 2017-05-24  Devin Rousso  <drousso@apple.com>
2955
2956         Web Inspector: Don't load the active recording until a Timeline view needs to be shown
2957         https://bugs.webkit.org/show_bug.cgi?id=172467
2958
2959         Reviewed by Joseph Pecoraro.
2960
2961         * UserInterface/Views/TimelineTabContentView.js:
2962         (WebInspector.TimelineTabContentView):
2963         (WebInspector.TimelineTabContentView.prototype.restoreFromCookie):
2964         (WebInspector.TimelineTabContentView.prototype._showTimelineViewForType):
2965         Move the call to `_recordingLoaded` to when a timeline view needs to be shown and only if
2966         `_displayedRecording` isn't already set. This delays the creation of the content view for
2967         the recording to right before it needs to be displayed.
2968
2969
2970 2017-05-23  Matt Baker  <mattbaker@apple.com>
2971
2972         Web Inspector: content views are not restored on reload if its tree element is filtered out
2973         https://bugs.webkit.org/show_bug.cgi?id=165744
2974         <rdar://problem/27461323>
2975
2976         Reviewed by Devin Rousso.
2977
2978         By default, NavigationSidebar should get the selected represented object
2979         from its content browser, instead of relying on the tree selection. This
2980         allows a filtered tree selection to persist across page loads.
2981
2982         * UserInterface/Views/NavigationSidebarPanel.js:
2983         (WebInspector.NavigationSidebarPanel.prototype.get currentRepresentedObject):
2984         (WebInspector.NavigationSidebarPanel.prototype.saveStateToCookie):
2985         Get the represented object from the content browser instead of relying
2986         on the tree selection (which can be filtered out).
2987
2988         (WebInspector.NavigationSidebarPanel.prototype._updateFilter):
2989         (WebInspector.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
2990         (WebInspector.NavigationSidebarPanel.prototype._treeElementWasFiltered):
2991         Reselect the represented object's tree element when it is shown due
2992         to a change in the filter state.
2993
2994         (WebInspector.NavigationSidebarPanel.prototype.get hasSelectedElement): Deleted.
2995         Not used.
2996         (WebInspector.NavigationSidebarPanel.prototype.representedObjectWasFiltered): Deleted.
2997         Not used. Replaced by _treeElementWasFiltered.
2998
2999 2017-05-23  Matt Baker  <mattbaker@apple.com>
3000
3001         Web Inspector: Cannot delete a disabled XHR breakpoint
3002         https://bugs.webkit.org/show_bug.cgi?id=171971
3003         <rdar://problem/32129527>
3004
3005         Reviewed by Devin Rousso.
3006
3007         * UserInterface/Controllers/DOMDebuggerManager.js:
3008         (WebInspector.DOMDebuggerManager.prototype.removeXHRBreakpoint):
3009         Dispatch XHRBreakpointRemoved event before removing the breakpoint from
3010         the backend. A disabled breakpoint will have already been removed, and
3011         an enabled breakpoint that fails to get removed from the backend should
3012         be removed from the frontend, to prevent it being resolved in the future.
3013         Drive-by fix: remove spurious dispatch of DOMBreakpointRemoved event.
3014
3015         (WebInspector.DOMDebuggerManager.prototype._detachXHRBreakpoint): Deleted.
3016         Merged with removeXHRBreakpoint to simplify implementation.
3017
3018 2017-05-23  Devin Rousso  <drousso@apple.com>
3019
3020         Web Inspector: use initialLayout for NetworkSidebarPanel
3021         https://bugs.webkit.org/show_bug.cgi?id=172470
3022
3023         Reviewed by Joseph Pecoraro.
3024
3025         * UserInterface/Views/NetworkSidebarPanel.js:
3026         (WebInspector.NetworkSidebarPanel):
3027         (WebInspector.NetworkSidebarPanel.prototype.showDefaultContentView):
3028         (WebInspector.NetworkSidebarPanel.prototype.initialLayout):
3029         Don't create NetworkGridContentView until right before it is shown.
3030
3031 2017-05-23  Fujii Hironori  <Hironori.Fujii@sony.com>
3032
3033         [GTK] Web Inspector: Add a new icon DockLeft.svg
3034         https://bugs.webkit.org/show_bug.cgi?id=172492
3035
3036         Reviewed by Carlos Garcia Campos.
3037
3038         * UserInterface/Images/gtk/DockLeft.svg: Added.
3039
3040 2017-05-23  Fujii Hironori  <Hironori.Fujii@sony.com>
3041
3042         [GTK] Web Inspector: Add a new icon CSSVariable.svg
3043         https://bugs.webkit.org/show_bug.cgi?id=172491
3044
3045         Reviewed by Carlos Garcia Campos.
3046
3047         * UserInterface/Images/gtk/CSSVariable.svg: Added.
3048
3049 2017-05-22  Devin Rousso  <drousso@apple.com>
3050
3051         Web Inspector: Changes are not applied in CSS sidebar when switching to Resources tab without blurring editor
3052         https://bugs.webkit.org/show_bug.cgi?id=172388
3053
3054         Reviewed by Joseph Pecoraro.
3055
3056         * UserInterface/Views/CSSStyleDeclarationSection.js:
3057         (WebInspector.CSSStyleDeclarationSection.prototype.refreshEditor):
3058         * UserInterface/Views/RulesStyleDetailsPanel.js:
3059         (WebInspector.RulesStyleDetailsPanel.prototype.cssStyleDeclarationSectionEditorFocused):
3060         (WebInspector.RulesStyleDetailsPanel.prototype.shown):
3061         When showing the StyleDetailsPanel, if there is an active editor, which is now saved each
3062         time one becomes focused, force an update of that editor's content.
3063
3064 2017-05-22  Joseph Pecoraro  <pecoraro@apple.com>
3065
3066         Web Inspector: New Tab contents not centered vertically
3067         https://bugs.webkit.org/show_bug.cgi?id=172486
3068
3069         Reviewed by Devin Rousso.
3070
3071         * UserInterface/Views/NewTabContentView.css:
3072         (.new-tab.tab.content-view):
3073         Use align-items instead of align-content.
3074
3075 2017-05-22  Devin Rousso  <drousso@apple.com>
3076
3077         Web Inspector: New CSS Rules should go into a new Stylesheet Resource that can be viewed/edited/saved
3078         https://bugs.webkit.org/show_bug.cgi?id=138810
3079
3080         Reviewed by Joseph Pecoraro.
3081
3082         * Localizations/en.lproj/localizedStrings.js:
3083
3084         * UserInterface/Controllers/CSSStyleManager.js:
3085         (WebInspector.CSSStyleManager):
3086         (WebInspector.CSSStyleManager.prototype.preferredInspectorStyleSheetForFrame):
3087         (WebInspector.CSSStyleManager.prototype._updateResourceContent.fetchedStyleSheetContent):
3088         Manually dispatch a change event for modifications to CSSStyleSheet objects since they are
3089         not covered by the listener for Resource changes.
3090
3091         * UserInterface/Main.html:
3092         Include WebInspector.CSSStyleSheetTreeElement.
3093
3094         * UserInterface/Models/Collection.js:
3095         (WebInspector.Collection.TypeVerifier):
3096         * UserInterface/Models/ResourceCollection.js:
3097         (WebInspector.ResourceCollection.TypeVerifier.Stylesheet):
3098         Add TypeVerifier for CSSStyleSheet.
3099
3100         * UserInterface/Models/DOMNodeStyles.js:
3101         (WebInspector.DOMNodeStyles.prototype._parseRulePayload):
3102         Manually create a SourceCodeLocation object for Inspector Style Sheets.
3103
3104         * UserInterface/Views/CSSStyleSheetTreeElement.js: Added.
3105         (WebInspector.CSSStyleSheetTreeElement):
3106
3107         * UserInterface/Views/ResourceIcons.css:
3108         (:matches(.resource-icon.resource-type-stylesheet, .stylessheet-icon) .icon):
3109
3110         * UserInterface/Views/FrameTreeElement.js:
3111         (WebInspector.FrameTreeElement.forwardingConstructor):
3112         (WebInspector.FrameTreeElement):
3113         (WebInspector.FrameTreeElement.prototype.onattach):
3114         (WebInspector.FrameTreeElement.prototype.ondetach):
3115         (WebInspector.FrameTreeElement.prototype.onpopulate):
3116         (WebInspector.FrameTreeElement.prototype._styleSheetAdded):
3117         * UserInterface/Views/ResourceSidebarPanel.js:
3118         (WebInspector.ResourceSidebarPanel):
3119         (WebInspector.ResourceSidebarPanel.prototype._styleSheetAdded):
3120         (WebInspector.ResourceSidebarPanel.prototype._treeSelectionDidChange):
3121         Listen for the creation of CSSStyleSheet objects and add them to the sidebar if they are an
3122         Inspector Style Sheet.  Regular style sheets are added via their respective resources.
3123
3124         * UserInterface/Views/NavigationSidebarPanel.js:
3125         (WebInspector.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):
3126         Prevent CSSStyleSheetTreeElement instances from attempting to save state to a cookie.
3127
3128         * UserInterface/Base/Main.js:
3129         (WebInspector.tabContentViewClassForRepresentedObject):
3130         (WebInspector.createSourceCodeLocationLink):
3131         * UserInterface/Views/ContentView.js:
3132         (WebInspector.ContentView.createFromRepresentedObject):
3133         (WebInspector.ContentView.isViewable):
3134         * UserInterface/Views/CSSStyleDeclarationSection.js:
3135         (WebInspector.CSSStyleDeclarationSection.prototype.refresh):
3136         * UserInterface/Views/ResourcesTabContentView.js:
3137         (WebInspector.ResourcesTabContentView.prototype.canShowRepresentedObject):
3138         * UserInterface/Views/ResourceContentView.js:
3139         (WebInspector.ResourceContentView):
3140         * UserInterface/Views/SourceCodeTextEditor.js:
3141         (WebInspector.SourceCodeTextEditor.prototype._prepareEditorForInitialContent):
3142         (WebInspector.SourceCodeTextEditor.prototype._looselyMatchesSourceCodeLocation):
3143         (WebInspector.SourceCodeTextEditor.prototype._matchesSourceCodeLocation):
3144         * UserInterface/Views/TextResourceContentView.js:
3145         (WebInspector.TextResourceContentView):
3146         (WebInspector.TextResourceContentView.prototype.get supportsSave):
3147         (WebInspector.TextResourceContentView.prototype.get saveData):
3148         (WebInspector.TextResourceContentView.prototype._contentWillPopulate):
3149         (WebInspector.TextResourceContentView.prototype._shouldBeEditable):
3150         Support editing and saving an Inspector Style Sheet via its CSSStyleSheet object.
3151
3152 2017-05-22  Brian Burg  <bburg@apple.com>
3153
3154         Web Inspector: webkit reload policy should match default behavior
3155         https://bugs.webkit.org/show_bug.cgi?id=171385
3156         <rdar://problem/31871515>
3157
3158         Reviewed by Joseph Pecoraro.
3159
3160         * UserInterface/Base/Main.js:
3161         Use PageAgent.reload.invoke to make the reload options more explicit.
3162
3163         * UserInterface/Test/FrontendTestHarness.js:
3164         (FrontendTestHarness.prototype.reloadPage):
3165         Convert this method to take an options dictionary rather than positional
3166         boolean arguments. Update call sites to pass correct options.
3167
3168         When running tests, we want to revalidate unexpired resources, as there
3169         does not seem to be another reliable way to trigger revalidated cached
3170         resources from a Web Inspector layout test. Make this behavior the default.
3171
3172 2017-05-22  Simon Fraser  <simon.fraser@apple.com>
3173
3174         Support transform-box to switch sizing box in SVG
3175         https://bugs.webkit.org/show_bug.cgi?id=145783
3176
3177         Reviewed by Dean Jackson.
3178
3179         Add transform-box to the list of autocompletions.
3180
3181         * UserInterface/External/CodeMirror/css.js:
3182
3183 2017-05-22  Brian Burg  <bburg@apple.com>
3184
3185         Web Inspector: RTL: In Timelines > JavaScript & Events, digits for sample count are not localized
3186         https://bugs.webkit.org/show_bug.cgi?id=171819
3187
3188         Reviewed by Matt Baker.
3189
3190         * UserInterface/Views/ScriptTimelineDataGridNode.js:
3191         (WebInspector.ScriptTimelineDataGridNode.prototype.createCellContent):
3192
3193 2017-05-22  Nikita Vasilyev  <nvasilyev@apple.com>
3194
3195         Web Inspector: RTL: Text in autocomplete popover should be aligned left
3196         https://bugs.webkit.org/show_bug.cgi?id=171998
3197
3198         Reviewed by Brian Burg.
3199
3200         Autocomplete popover is only used for CSS and JavaScript, and
3201         these should always be shown as LTR text.
3202
3203         * UserInterface/Views/CompletionSuggestionsView.css:
3204         (.completion-suggestions):
3205
3206 2017-05-22  Fujii Hironori  <Hironori.Fujii@sony.com>
3207
3208         [GTK] Web Inspector: Add active call frame indicator image
3209         https://bugs.webkit.org/show_bug.cgi?id=161987
3210         <rdar://problem/28307419>
3211
3212         Reviewed by Carlos Garcia Campos.
3213
3214         Add a free icon for the Web Inspector of GTK port.
3215
3216         * UserInterface/Images/gtk/ActiveCallFrame.svg: Added.
3217
3218 2017-05-19  Devin Rousso  <drousso@apple.com>
3219
3220         Web Inspector: Use initialLayout for Settings tab
3221         https://bugs.webkit.org/show_bug.cgi?id=172304
3222
3223         Reviewed by Matt Baker.
3224
3225         * UserInterface/Views/GeneralSettingsView.js:
3226         (WebInspector.GeneralSettingsView.prototype.initialLayout):
3227         Move listener for zoom factor to only update that editor.
3228
3229         * UserInterface/Views/SettingsTabContentView.js:
3230         (WebInspector.SettingsTabContentView):
3231         (WebInspector.SettingsTabContentView.prototype.initialLayout): Added.
3232         It is not necessary to create the UI for editing settings until the Settings tab is shown.
3233         Use initialLayout to ensure UI gets created exactly once, after the tab is selected.
3234
3235 2017-05-18  Devin Rousso  <drousso@apple.com>
3236
3237         REGRESSION (r?): Web Inspector: Shift-click on color square in Styles sidebar should not select text
3238         https://bugs.webkit.org/show_bug.cgi?id=171902
3239
3240         Reviewed by Matt Baker.
3241
3242         * UserInterface/Views/CSSStyleDeclarationTextEditor.js:
3243         (WebInspector.CSSStyleDeclarationTextEditor.prototype._handleMouseUp):
3244         Do not attempt to select text if the element being clicked is a bookmark (such as a swatch).
3245
3246 2017-05-18  Joseph Pecoraro  <pecoraro@apple.com>
3247
3248         Web Inspector: Web Socket Document Icon
3249         https://bugs.webkit.org/show_bug.cgi?id=170023
3250
3251         Reviewed by Matt Baker.
3252
3253         Icons made by Jon Davis.
3254
3255         * UserInterface/Images/WebSocket.png: Added.
3256         * UserInterface/Images/WebSocket@2x.png: Added.
3257         * UserInterface/Images/WebSocketLarge.png: Added.
3258         * UserInterface/Images/WebSocketLarge@2x.png: Added.
3259         New icons for Web Socket resources.
3260
3261         * UserInterface/Views/ResourceIcons.css:
3262         (body:matches(.mac-platform, .windows-platform) .resource-icon.resource-type-websocket .icon):
3263         (body:matches(.mac-platform, .windows-platform) .large .resource-icon.resource-type-websocket .icon):
3264         Use the icon.
3265
3266 2017-05-18  Fujii Hironori  <Hironori.Fujii@sony.com>
3267
3268         Web Inspector: [GTK] Adopt currentColor for mask SVG images
3269         https://bugs.webkit.org/show_bug.cgi?id=150603
3270
3271         Reviewed by Carlos Garcia Campos.
3272
3273         * UserInterface/Images/gtk/Circle.svg:
3274         * UserInterface/Images/gtk/ClearBoth.svg:
3275         * UserInterface/Images/gtk/ClearLeft.svg:
3276         * UserInterface/Images/gtk/ClearRight.svg:
3277         * UserInterface/Images/gtk/Close.svg:
3278         * UserInterface/Images/gtk/CloseLarge.svg:
3279         * UserInterface/Images/gtk/Console.svg:
3280         * UserInterface/Images/gtk/Debugger.svg:
3281         * UserInterface/Images/gtk/DockBottom.svg:
3282         * UserInterface/Images/gtk/DockRight.svg:
3283         * UserInterface/Images/gtk/DownloadArrow.svg:
3284         * UserInterface/Images/gtk/Elements.svg:
3285         * UserInterface/Images/gtk/Errors.svg:
3286         * UserInterface/Images/gtk/Eye.svg:
3287         * UserInterface/Images/gtk/FloatLeft.svg:
3288         * UserInterface/Images/gtk/FloatRight.svg:
3289         * UserInterface/Images/gtk/FontStyleItalic.svg:
3290         * UserInterface/Images/gtk/FontStyleNormal.svg:
3291         * UserInterface/Images/gtk/Gear.svg:
3292         * UserInterface/Images/gtk/Issues.svg:
3293         * UserInterface/Images/gtk/Logs.svg:
3294         * UserInterface/Images/gtk/Minus.svg:
3295         * UserInterface/Images/gtk/NavigationItemClear.svg:
3296         * UserInterface/Images/gtk/NavigationItemTrash.svg:
3297         * UserInterface/Images/gtk/Network.svg:
3298         * UserInterface/Images/gtk/NewTab.svg:
3299         * UserInterface/Images/gtk/NewTabPlus.svg:
3300         * UserInterface/Images/gtk/Pause.svg:
3301         * UserInterface/Images/gtk/Pencil.svg:
3302         * UserInterface/Images/gtk/Plus13.svg:
3303         * UserInterface/Images/gtk/Plus15.svg:
3304         * UserInterface/Images/gtk/ReloadFull.svg:
3305         * UserInterface/Images/gtk/ReloadToolbar.svg:
3306         * UserInterface/Images/gtk/Resources.svg:
3307         * UserInterface/Images/gtk/Search.svg:
3308         * UserInterface/Images/gtk/SearchResults.svg:
3309         * UserInterface/Images/gtk/SplitToggleUp.svg:
3310         * UserInterface/Images/gtk/StepInto.svg:
3311         * UserInterface/Images/gtk/StepOut.svg:
3312         * UserInterface/Images/gtk/StepOver.svg:
3313         * UserInterface/Images/gtk/Stop.svg:
3314         * UserInterface/Images/gtk/Storage.svg:
3315         * UserInterface/Images/gtk/TextAlignCenter.svg:
3316         * UserInterface/Images/gtk/TextAlignJustify.svg:
3317         * UserInterface/Images/gtk/TextAlignLeft.svg:
3318         * UserInterface/Images/gtk/TextAlignRight.svg:
3319         * UserInterface/Images/gtk/TextDecorationLineThrough.svg:
3320         * UserInterface/Images/gtk/TextDecorationOverline.svg:
3321         * UserInterface/Images/gtk/TextDecorationUnderline.svg:
3322         * UserInterface/Images/gtk/TextTransformCapitalize.svg:
3323         * UserInterface/Images/gtk/TextTransformLowercase.svg:
3324         * UserInterface/Images/gtk/TextTransformUppercase.svg:
3325         * UserInterface/Images/gtk/Time.svg:
3326         * UserInterface/Images/gtk/Timeline.svg:
3327         * UserInterface/Images/gtk/Undock.svg:
3328         * UserInterface/Images/gtk/VisualStyleNone.svg:
3329         * UserInterface/Images/gtk/VisualStylePropertyLinked.svg:
3330         * UserInterface/Images/gtk/VisualStylePropertyUnlinked.svg:
3331         * UserInterface/Images/gtk/Weight.svg:
3332
3333 2017-05-15  Fujii Hironori  <Hironori.Fujii@sony.com>
3334
3335         [GTK] Web Inspector: Add new GTK+ icons for Search icon of Quick Open dialog
3336         https://bugs.webkit.org/show_bug.cgi?id=172110
3337
3338         Reviewed by Michael Catanzaro.
3339
3340         Add a free icon for the Web Inspector in GTK+.
3341
3342         * UserInterface/Images/gtk/Search.svg: Added.
3343
3344 2017-05-15  Fujii Hironori  <Hironori.Fujii@sony.com>
3345
3346         [GTK] Web Inspector: Add new GTK+ icons for Worker Scripts / Web Sockets
3347         https://bugs.webkit.org/show_bug.cgi?id=164138
3348
3349         Reviewed by Michael Catanzaro.
3350
3351         Add more free icons for the Web Inspector in GTK+.
3352
3353         * UserInterface/Images/gtk/WorkerScript.png: Added.
3354         * UserInterface/Images/gtk/WorkerScript@2x.png: Added.
3355         * UserInterface/Images/gtk/WorkerScriptLarge.png: Added.
3356         * UserInterface/Images/gtk/WorkerScriptLarge@2x.png: Added.
3357         * UserInterface/Views/ResourceIcons.css:
3358         (.script.worker-icon .icon):
3359         (.large .script.worker-icon .icon):
3360         (body:matches(.mac-platform, .windows-platform) .script.worker-icon .icon): Deleted.
3361         (body:matches(.mac-platform, .windows-platform) .large .script.worker-icon .icon): Deleted.
3362
3363 2017-05-11  Nikita Vasilyev  <nvasilyev@apple.com>
3364
3365         Web Inspector: RTL: "Elements > Styles - Rules" rule and media query headers should be left aligned
3366         https://bugs.webkit.org/show_bug.cgi?id=171954
3367         <rdar://problem/31961976>
3368
3369         Reviewed by Matt Baker.
3370
3371         * UserInterface/Views/CSSStyleDeclarationSection.css:
3372         (.style-declaration-section > .header):