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