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