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