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