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