Web Inspector: Canvas Tab: grayed out Record button in navigator is nearly invisible
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2018-10-09  Devin Rousso  <drousso@apple.com>
2
3         Web Inspector: Canvas Tab: grayed out Record button in navigator is nearly invisible
4         https://bugs.webkit.org/show_bug.cgi?id=190365
5         <rdar://problem/45097739>
6
7         Reviewed by Brian Burg.
8
9         * UserInterface/Views/CanvasSidebarPanel.css:
10         (@media (prefers-dark-interface)): Added.
11         (.sidebar > .panel.navigation.canvas > .navigation-bar > .item.record-start-stop.disabled): Added.
12
13 2018-10-09  Devin Rousso  <drousso@apple.com>
14
15         Web Inspector: REGRESSION: fix canvas test failures after r236952 and r236954
16         https://bugs.webkit.org/show_bug.cgi?id=190403
17
18         Reviewed by Joseph Pecoraro.
19
20         * UserInterface/Controllers/CanvasManager.js:
21         (WI.CanvasManager.prototype._removeCanvas):
22         Clear the `shaderProgramCollection` when a `WI.Canvas` is removed so that a remove event is
23         fired for each `WI.ShaderProgram`.
24
25 2018-10-08  Justin Fan  <justin_fan@apple.com>
26
27         WebGPU: Rename old WebGPU prototype to WebMetal
28         https://bugs.webkit.org/show_bug.cgi?id=190325
29         <rdar://problem/44990443>
30
31         Reviewed by Dean Jackson.
32
33         Rename WebGPU prototype files to WebMetal in preparation for implementing the new (Oct 2018) WebGPU interface.
34         For WebInspector, add WebMetal to valid enums for canvas types.
35
36         * UserInterface/Models/Canvas.js:
37         (WI.Canvas.fromPayload):
38         (WI.Canvas.displayNameForContextType):
39
40 2018-10-08  Devin Rousso  <drousso@apple.com>
41
42         Web Inspector: Dark Mode: canvas recording glyph is black on gray
43         https://bugs.webkit.org/show_bug.cgi?id=190367
44         <rdar://problem/45099304>
45
46         Reviewed by Joseph Pecoraro.
47
48         * UserInterface/Views/CanvasOverviewContentView.css:
49         (.content-view.canvas-overview .content-view.canvas > footer .view-recording): Added.
50         (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before): Deleted.
51
52 2018-10-08  Devin Rousso  <drousso@apple.com>
53
54         Web Inspector: allow multiple canvases to be recorded at the same time
55         https://bugs.webkit.org/show_bug.cgi?id=190305
56
57         Reviewed by Brian Burg.
58
59         Moved the logic for maintaining whether a canvas is actively recording from
60         `WI.CanvasManager` to `WI.Canvas`, meaning that each canvas can now record independently of
61         every other canvas in the page. If multiple recordings are all finished simultaneously, only
62         show the first one to be recieved by the frontend.
63
64         * UserInterface/Controllers/CanvasManager.js:
65         (WI.CanvasManager):
66         (WI.CanvasManager.prototype.recordingProgress):
67         (WI.CanvasManager.prototype.recordingFinished):
68         (WI.CanvasManager.prototype.programCreated):
69         (WI.CanvasManager.prototype.programDeleted):
70         (WI.CanvasManager.prototype._removeCanvas):
71         (WI.CanvasManager.prototype._mainResourceDidChange):
72         (WI.CanvasManager.prototype.get recordingCanvas): Deleted.
73         (WI.CanvasManager.prototype.startRecording): Deleted.
74         (WI.CanvasManager.prototype.stopRecording): Deleted.
75         (WI.CanvasManager.prototype._dispatchShaderProgramRemoved): Deleted.
76
77         * UserInterface/Models/Canvas.js:
78         (WI.Canvas.prototype.get recordingFrameCount): Added.
79         (WI.Canvas.prototype.get recordingBufferUsed): Added.
80         (WI.Canvas.prototype.get recordingActive): Added.
81         (WI.Canvas.prototype.get isRecording): Deleted.
82         (WI.Canvas.prototype.startRecording): Added.
83         (WI.Canvas.prototype.stopRecording): Added.
84         (WI.Canvas.prototype.recordingProgress): Added.
85         (WI.Canvas.prototype.recordingFinished): Added.
86
87         * UserInterface/Views/CanvasTabContentView.js:
88         (WI.CanvasTabContentView.prototype.attached):
89         (WI.CanvasTabContentView.prototype.detached):
90         (WI.CanvasTabContentView.prototype._recordingImportedOrStopped):
91         (WI.CanvasTabContentView.prototype._handleSpace):
92         (WI.CanvasTabContentView):
93
94         * UserInterface/Views/CanvasOverviewContentView.css:
95         (.content-view.canvas-overview .content-view.canvas.recording-active): Added.
96         (.content-view.canvas-overview .content-view.canvas.recording-active > header): Added.
97         (.content-view.canvas-overview .content-view.canvas.recording-active > header > .titles > .title): Added.
98         (.content-view.canvas-overview .content-view.canvas.recording-active > header > .titles > .subtitle): Added.
99         (.content-view.canvas-overview .content-view.canvas.recording-active > header > .navigation-bar > .item): Added.
100         (.content-view.canvas-overview .content-view.canvas:matches(:hover, .recording-active) > header > .navigation-bar): Added.
101         (.content-view.canvas-overview .content-view.canvas:not(.recording-active) > header > .navigation-bar > .item.record-start-stop.disabled): Added.
102         (.content-view.canvas-overview .content-view.canvas:not(.recording-active) > header > .navigation-bar > .item.record-start-stop:not(.disabled):hover): Added.
103         (.content-view.canvas-overview .content-view.canvas:not(.recording-active) > header > .navigation-bar > .item.record-start-stop:not(.disabled):active): Added.
104         (.content-view.canvas-overview .content-view.canvas.recording-active > .progress-vie): Added.
105         (.content-view.canvas-overview .content-view.canvas.recording-active > .preview): Added.
106         (.content-view.canvas-overview .content-view.canvas.recording-active): Added.
107         (.content-view.canvas-overview .content-view.canvas.recording-active > header): Added.
108         (.content-view.canvas-overview .content-view.canvas.recording-active > header > .titles > .subtitle): Added.
109         (.content-view.canvas-overview .content-view.canvas.is-recording): Deleted.
110         (.content-view.canvas-overview .content-view.canvas.is-recording > header): Deleted.
111         (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .title): Deleted.
112         (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle): Deleted.
113         (.content-view.canvas-overview .content-view.canvas.is-recording > header > .navigation-bar > .item): Deleted.
114         (.content-view.canvas-overview .content-view.canvas:matches(:hover, .is-recording) > header > .navigation-bar): Deleted.
115         (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop.disabled): Deleted.
116         (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop:not(.disabled):hover): Deleted.
117         (.content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop:not(.disabled):active): Deleted.
118         (.content-view.canvas-overview .content-view.canvas.is-recording > .progress-vie): Deleted.
119         (.content-view.canvas-overview .content-view.canvas.is-recording > .preview): Deleted.
120         (.content-view.canvas-overview .content-view.canvas.is-recording): Deleted.
121         (.content-view.canvas-overview .content-view.canvas.is-recording > header): Deleted.
122         (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle): Deleted.
123
124         * UserInterface/Views/CanvasContentView.js:
125         (WI.CanvasContentView.prototype.attached):
126         (WI.CanvasContentView.prototype.detached):
127         (WI.CanvasContentView.prototype._toggleRecording):
128         (WI.CanvasContentView.prototype._recordingProgress):
129         (WI.CanvasContentView.prototype._recordingStopped):
130         (WI.CanvasContentView.prototype._shaderProgramAdded):
131         (WI.CanvasContentView.prototype._shaderProgramRemoved):
132         (WI.CanvasContentView.prototype._updateRecordNavigationItem):
133         (WI.CanvasContentView.prototype._updateProgressView):
134
135         * UserInterface/Views/CanvasSidebarPanel.js:
136         (WI.CanvasSidebarPanel):
137         (WI.CanvasSidebarPanel.prototype.set canvas):
138         (WI.CanvasSidebarPanel.prototype._toggleRecording):
139         (WI.CanvasSidebarPanel.prototype._updateRecordNavigationItem):
140
141         * UserInterface/Views/CanvasTreeElement.js:
142         (WI.CanvasTreeElement):
143         (WI.CanvasTreeElement.prototype._updateStatus):
144
145 2018-10-08  Devin Rousso  <drousso@apple.com>
146
147         Web Inspector: replace Range.svg icon
148         https://bugs.webkit.org/show_bug.cgi?id=190372
149
150         Reviewed by Joseph Pecoraro.
151
152         * UserInterface/Images/Range.svg:
153         * UserInterface/Images/RangeLarge.svg: Added.
154
155         * UserInterface/Models/Resource.js:
156         (WI.Resource.classNameForResource): Added.
157         Create a static function for specializing the `className` of `WI.Resource` objects.
158
159         * UserInterface/Views/NetworkTableContentView.js:
160         (WI.NetworkTableContentView.prototype._populateNameCell):
161
162         * UserInterface/Views/ResourceTreeElement.js:
163         (WI.ResourceTreeElement):
164
165         * UserInterface/Views/ResourceIcons.css:
166         (.resource-icon.resource-type-ping .icon, .resource-icon.resource-type-beacon .icon, .large .resource-icon.resource-type-ping .icon, .large .resource-icon.resource-type-beacon .icon):
167         (.resource-icon.resource-type-range .icon):
168         (.large .resource-icon.resource-type-range .icon): Added.
169         Drive-by: added `.large` versions of `ping` and `beacon` icons for the
170         `WI.OpenResourceDialog` elements.
171
172 2018-10-08  Devin Rousso  <drousso@apple.com>
173
174         Web Inspector: group media network entries by the node that triggered the request
175         https://bugs.webkit.org/show_bug.cgi?id=189606
176         <rdar://problem/44438527>
177
178         Reviewed by Brian Burg.
179
180         Introduces a `WI.NavigationItem` for changing whether network entries are grouped by the
181         node that initiated the load (if applicable). When grouped by node, a tree-like layout of
182         the table cells (including expand/collapse) is used for resources that share the same
183         initiator node. The values for the node's cell are based on it's initated resources.
184
185         * Localizations/en.lproj/localizedStrings.js:
186         * UserInterface/Base/Setting.js:
187
188         * UserInterface/Controllers/DOMManager.js:
189         (WI.DOMManager):
190         (WI.DOMManager.prototype._mainResourceDidChange): Added.
191         Whenever the frame navigates, re-request the document so that `NetworkAgent` is able to send
192         valid `nodeId` for each request's `initiatorNode`. This means that the document should
193         always be available.
194
195         * UserInterface/Views/NetworkTableContentView.js:
196         (WI.NetworkTableContentView):
197         (WI.NetworkTableContentView.prototype.get filterNavigationItems):
198         (WI.NetworkTableContentView.prototype.closed):
199         (WI.NetworkTableContentView.prototype.reset):
200         (WI.NetworkTableContentView.prototype.tableSortChanged):
201         (WI.NetworkTableContentView.prototype.tableSelectedRowChanged):
202         (WI.NetworkTableContentView.prototype.tablePopulateCell):
203         (WI.NetworkTableContentView.prototype._populateNameCell.createIconElement): Added.
204         (WI.NetworkTableContentView.prototype._populateNameCell):
205         (WI.NetworkTableContentView.prototype._populateDomainCell.createIconAndText): Added.
206         (WI.NetworkTableContentView.prototype._populateDomainCell):
207         (WI.NetworkTableContentView.prototype._populateInitiatorCell):
208         (WI.NetworkTableContentView.prototype._populateTransferSizeCell):
209         (WI.NetworkTableContentView.prototype._generateSortComparator):
210         (WI.NetworkTableContentView.prototype._processPendingEntries):
211         (WI.NetworkTableContentView.prototype._updateEntryForResource.updateExistingEntry): Added.
212         (WI.NetworkTableContentView.prototype._updateEntryForResource):
213         (WI.NetworkTableContentView.prototype._insertResourceAndReloadTable):
214         (WI.NetworkTableContentView.prototype._entryForDOMNode): Added.
215         (WI.NetworkTableContentView.prototype._tryLinkResourceToDOMNode): Added.
216         (WI.NetworkTableContentView.prototype._uniqueValuesForDOMNodeEntry): Added.
217         (WI.NetworkTableContentView.prototype._updateFilteredEntries):
218         (WI.NetworkTableContentView.prototype._handleGroupByDOMNodeCheckedDidChange): Added.
219         * UserInterface/Views/NetworkTableContentView.css:
220         (.network-table .cell.dom-node.name .icon): Added.
221         (.network-table .cell.dom-node.name .disclosure): Added.
222         (body[dir=rtl] .network-table .cell.dom-node.name .disclosure): Added.
223         (.network-table:focus li.selected .cell.dom-node.name .disclosure): Added.
224         (.network-table .cell.dom-node.name .disclosure.expanded): Added.
225         (.network-table:focus li.selected .cell.node.name .disclosure.expanded): Added.
226         (.network-table .cell.grouped-by-node.name): Added.
227         (body[dir=ltr] .network-table .cell.grouped-by-node.name): Added.
228         (body[dir=rtl] .network-table .cell.grouped-by-node.name): Added.
229         (.network-table li:not(.selected) .cell:matches(.cache-type, .multiple)): Added.
230         (.network-table li.selected .cell.domain > .lock): Added.
231         (.network-table .cache-type): Deleted.
232         When two resources are added that share the same `initiatorNode`, insert a node entry into
233         the `WI.Table` before the first resource entry for that node (based on the current sort).
234         This node entry is added after the resource entries are filtered, so they won't appear in
235         the default entries list.
236
237         * UserInterface/Models/Resource.js:
238         (WI.Resource):
239         (WI.Resource.prototype.initiatorNode): Added.
240         (WI.Resource.prototype.requestedByteRange): Added.
241         * UserInterface/Controllers/NetworkManager.js:
242         (WI.NetworkManager.prototype.resourceRequestWillBeSent):
243         (WI.NetworkManager.prototype.resourceRequestWasServedFromMemoryCache):
244         (WI.NetworkManager.prototype._initiatorNodeFromPayload): Added.
245
246         * UserInterface/Images/Range.svg: Added.
247         * UserInterface/Views/ResourceIcons.css:
248         (.resource-icon.resource-type-range .icon): Added.
249
250 2018-10-08  Devin Rousso  <drousso@apple.com>
251
252         Web Inspector: clicking initiator link in Network Tab table doesn't automatically switch to Preview section
253         https://bugs.webkit.org/show_bug.cgi?id=190286
254
255         Reviewed by Brian Burg.
256
257         * UserInterface/Views/NetworkResourceDetailView.js:
258         (WI.NetworkResourceDetailView.prototype.shown):
259         (WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem):
260
261 2018-10-08  Devin Rousso  <drousso@apple.com>
262
263         Web Inspector: be more specific as to what types of WI.Collection are allowed for the Resources tab
264         https://bugs.webkit.org/show_bug.cgi?id=190304
265
266         Reviewed by Brian Burg.
267
268         * UserInterface/Base/Main.js:
269         (WI.tabContentViewClassForRepresentedObject):
270         * UserInterface/Views/ResourcesTabContentView.js:
271         (WI.ResourcesTabContentView.prototype.canShowRepresentedObject):
272
273 2018-10-08  Devin Rousso  <drousso@apple.com>
274
275         Web Inspector: Open Resource Dialog should show path to resource (to disambiguate resources with same name)
276         https://bugs.webkit.org/show_bug.cgi?id=178153
277         <rdar://problem/34925686>
278
279         Reviewed by Brian Burg.
280
281         * UserInterface/Views/OpenResourceDialog.js:
282         (WI.OpenResourceDialog.prototype._populateResourceTreeOutline):
283         * UserInterface/Views/OpenResourceDialog.css:
284         (.open-resource-dialog .tree-outline.large .item .titles[data-path]): Added.
285         (.open-resource-dialog .tree-outline.large .item .titles[data-path]::after): Added.
286         (.open-resource-dialog .tree-outline.large .item .titles .title): Added.
287         (.open-resource-dialog .tree-outline.large .item .titles .subtitle): Added.
288         (.open-resource-dialog .tree-outline.large .item .titles): Deleted.
289
290 2018-10-05  Devin Rousso  <drousso@apple.com>
291
292         Web Inspector: add WebVTT MIME/file type mappings to the frontend
293         https://bugs.webkit.org/show_bug.cgi?id=190288
294
295         Reviewed by Brian Burg.
296
297         * UserInterface/Base/MIMETypeUtilities.js:
298         (WI.mimeTypeForFileExtension):
299         (WI.fileExtensionForMIMEType):
300
301         * UserInterface/Views/NetworkTableContentView.js:
302         (WI.NetworkTableContentView.displayNameForResource):
303         Also attempt to use the mime-type-to-extension when the `WI.Resource` is of type `Other`.
304
305 2018-10-05  Devin Rousso  <drousso@apple.com>
306
307         Web Inspector: refactor constructor of WI.Resource
308         https://bugs.webkit.org/show_bug.cgi?id=190318
309
310         Reviewed by Joseph Pecoraro.
311
312         Reworked constructor of `WI.Resource` to use an optional object for any non-essential arguments.
313
314         Drive-by: moved some simple getters to the top of the class to save space.
315
316         * UserInterface/Models/Resource.js:
317         (WI.Resource):
318
319         * UserInterface/Models/SourceMapResource.js:
320         (WI.SourceMapResource):
321
322         * UserInterface/Models/WebSocketResource.js:
323         (WI.WebSocketResource):
324
325         * UserInterface/Controllers/NetworkManager.js:
326         (WI.NetworkManager.prototype.frameDidNavigate):
327         (WI.NetworkManager.prototype.resourceRequestWillBeSent):
328         (WI.NetworkManager.prototype.webSocketWillSendHandshakeRequest):
329         (WI.NetworkManager.prototype.resourceRequestWasServedFromMemoryCache):
330         (WI.NetworkManager.prototype.resourceRequestDidReceiveResponse):
331         (WI.NetworkManager.prototype._addNewResourceToFrameOrTarget):
332         (WI.NetworkManager.prototype._createFrame):
333         (WI.NetworkManager.prototype._createResource):
334
335 2018-10-05  Devin Rousso  <drousso@apple.com>
336
337         Web Inspector: use iframe's name attribute for FrameTreeElement
338         https://bugs.webkit.org/show_bug.cgi?id=190275
339
340         Reviewed by Joseph Pecoraro.
341
342         * UserInterface/Views/FrameTreeElement.js:
343         (WI.FrameTreeElement.prototype.get mainTitleText): Added.
344
345         * UserInterface/Views/ResourceTreeElement.js:
346         (WI.ResourceTreeElement.prototype.get mainTitleText): Added.
347         (WI.ResourceTreeElement.prototype._updateTitles):
348         Provide a way for subclasses to override what is used for the `mainTitle`.
349
350         * UserInterface/Views/QuickConsole.js:
351         (WI.QuickConsole.prototype._createExecutionContextPathComponentFromFrame):
352         Update the execution context picker to match what `WI.FrameTreeElement`s show.
353
354 2018-10-04  Matt Baker  <mattbaker@apple.com>
355
356         Web Inspector: REGRESSION (r236766): Storage tab no longer updates after main frame navigation
357         https://bugs.webkit.org/show_bug.cgi?id=190298
358
359         Reviewed by Joseph Pecoraro.
360
361         Handle Cleared events from storage managers separately, so that successive
362         events during page load does not cause the Storage tab to destroy newly
363         created tree elements.
364
365         * UserInterface/Views/StorageSidebarPanel.js:
366         (WI.StorageSidebarPanel):
367         (WI.StorageSidebarPanel.prototype._closeContentViewForTreeElement):
368         (WI.StorageSidebarPanel.prototype._domStorageCleared):
369         (WI.StorageSidebarPanel.prototype._applicationCacheCleared):
370         (WI.StorageSidebarPanel.prototype._indexedDatabaseCleared):
371         (WI.StorageSidebarPanel.prototype._databaseCleared):
372         (WI.StorageSidebarPanel.prototype._storageCleared): Deleted.
373
374 2018-10-04  Matt Baker  <mattbaker@apple.com>
375
376         Web Inspector: Table should support multiple selection and Cmd-click behavior
377         https://bugs.webkit.org/show_bug.cgi?id=189705
378         <rdar://problem/44571170>
379
380         Reviewed by Devin Rousso.
381
382         Add multiple row selection to Table, with new methods for programmatic
383         selection (deselectRow, deselectAll), and Command-click support for
384         selecting/deselecting Table rows.
385
386         * UserInterface/Base/IndexSet.js: Added.
387         (WI.IndexSet):
388         (WI.IndexSet.prototype.get size):
389         (WI.IndexSet.prototype.get firstIndex):
390         (WI.IndexSet.prototype.get lastIndex):
391         (WI.IndexSet.prototype.add):
392         (WI.IndexSet.prototype.delete):
393         (WI.IndexSet.prototype.has):
394         (WI.IndexSet.prototype.clear):
395         (WI.IndexSet.prototype.indexGreaterThan):
396         (WI.IndexSet.prototype.indexLessThan):
397         (WI.IndexSet.prototype.Symbol.iterator):
398         (WI.IndexSet.prototype._indexClosestTo):
399         (WI.IndexSet.prototype._validateIndex):
400         Helper container for managing an ordered sequence of unique positive
401         integers, with set semantics, backed by a sorted array. Used by Table,
402         and eventually by TreeOutline.
403
404         * UserInterface/Main.html:
405         * UserInterface/Test.html:
406         * UserInterface/Test/Test.js:
407         New files and stubs to make Table layout tests possible.
408
409         * UserInterface/Views/NetworkTableContentView.js:
410         (WI.NetworkTableContentView.prototype.reset):
411         (WI.NetworkTableContentView.prototype.showRepresentedObject):
412         (WI.NetworkTableContentView.prototype.networkResourceDetailViewClose):
413         (WI.NetworkTableContentView.prototype.tableSelectionDidChange):
414         (WI.NetworkTableContentView.prototype._restoreSelectedRow):
415         (WI.NetworkTableContentView.prototype.tableSelectedRowChanged): Deleted.
416         Replace uses of `clearSelectedRow` with `deselectAll`, and updated
417         selection changed delegate.
418
419         * UserInterface/Views/Table.css:
420         (.table > .data-container > .data-list > li):
421         (.table > .data-container > .data-list > li.selected):
422         (@media (prefers-dark-interface)):
423         (.table,): Deleted.
424         Removed styles that are no longer needed after https://webkit.org/b/189766,
425         and provide a visual separation between adjacent selected rows.
426
427         * UserInterface/Views/Table.js:
428         (WI.Table):
429         (WI.Table.prototype.get selectedRows):
430         (WI.Table.prototype.get allowsMultipleSelection):
431         (WI.Table.prototype.set allowsMultipleSelection):
432         (WI.Table.prototype.reloadData):
433         (WI.Table.prototype.selectRow):
434         (WI.Table.prototype.deselectRow):
435         (WI.Table.prototype.deselectAll):
436         (WI.Table.prototype._getOrCreateRow):
437         (WI.Table.prototype._handleMouseDown):
438         (WI.Table.prototype._deselectAllAndSelect):
439         (WI.Table.prototype._isRowSelected):
440         (WI.Table.prototype._notifySelectionDidChange):
441         (WI.Table.prototype.clearSelectedRow): Deleted.
442         Table now tracks selected rows using an IndexSet. selectRow accepts an
443         optional parameter, `extendSelection`, for adding rows to the selection.
444         _selectedRowIndex is now used to track the most recently selected row.
445         This will be the only selected row unless multiple selection is enabled,
446         in which case it is the row that has the "focus", for purposes of selecting
447         a new row using the up or down arrow keys.
448
449 2018-10-04  Devin Rousso  <drousso@apple.com>
450
451         Web Inspector: REGRESSION(r236540): Uncaught Exception: TypeError: pauseReasonBreakpointTreeElement.removeStatusImage is not a function.
452         https://bugs.webkit.org/show_bug.cgi?id=190230
453
454         Reviewed by Matt Baker.
455
456         * UserInterface/Views/DebuggerSidebarPanel.js:
457         (WI.DebuggerSidebarPanel._removeBreakpoint):
458         Leverage existing `status` getter/setter for creating/removing the breakpoint icon element.
459
460         * UserInterface/Views/BreakpointTreeElement.js:
461         (WI.BreakpointTreeElement):
462         (WI.BreakpointTreeElement.prototype.populateContextMenu):
463         (WI.BreakpointTreeElement.prototype._updateStatus):
464         (WI.BreakpointTreeElement.prototype.removeStatusImage): Deleted.
465
466         * UserInterface/Views/DOMBreakpointTreeElement.js:
467         (WI.DOMBreakpointTreeElement):
468         (WI.DOMBreakpointTreeElement.prototype.onattach):
469         (WI.DOMBreakpointTreeElement.prototype.ondetach):
470         (WI.DOMBreakpointTreeElement.prototype._updateStatus):
471
472         * UserInterface/Views/EventBreakpointTreeElement.js:
473         (WI.EventBreakpointTreeElement):
474         (WI.EventBreakpointTreeElement.prototype.onattach):
475         (WI.EventBreakpointTreeElement.prototype.ondetach):
476         (WI.EventBreakpointTreeElement.prototype._updateStatus):
477
478         * UserInterface/Views/XHRBreakpointTreeElement.js:
479         (WI.XHRBreakpointTreeElement):
480         (WI.XHRBreakpointTreeElement.prototype.onattach):
481         (WI.XHRBreakpointTreeElement.prototype.ondetach):
482         (WI.XHRBreakpointTreeElement.prototype._updateStatus):
483
484 2018-10-04  Dan Bernstein  <mitz@apple.com>
485
486         WebInspectorUI part of [Xcode] Update some build settings as recommended by Xcode 10
487         https://bugs.webkit.org/show_bug.cgi?id=190250
488
489         Reviewed by Andy Estes.
490
491         * Configurations/Base.xcconfig: Enabled CLANG_WARN_COMMA, CLANG_WARN_INFINITE_RECURSION,
492           CLANG_WARN_SUSPICIOUS_MOVE, CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS, and
493           CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF.
494
495         * WebInspectorUI.xcodeproj/project.pbxproj: Let Xcode update LastUpgradeCheck.
496
497 2018-10-04  Devin Rousso  <drousso@apple.com>
498
499         Web Inspector: merge ProbeManager into DebuggerManager
500         https://bugs.webkit.org/show_bug.cgi?id=190225
501
502         Reviewed by Joseph Pecoraro.
503
504         * UserInterface/Main.html:
505         * UserInterface/Base/Main.js:
506         (WI.loaded):
507         * UserInterface/Test.html:
508         * UserInterface/Test/Test.js:
509         (WI.loaded):
510
511         * UserInterface/Controllers/DebuggerManager.js:
512         (WI.DebuggerManager.prototype.get probeSets): Added.
513         (WI.DebuggerManager.prototype.probeForIdentifier): Added.
514         (WI.DebuggerManager.prototype.addBreakpoint):
515         (WI.DebuggerManager.prototype.removeBreakpoint):
516         (WI.DebuggerManager.prototype.didSampleProbe): Added.
517         (WI.DebuggerManager.prototype._handleBreakpointActionsDidChange): Added.
518         (WI.DebuggerManager.prototype._addProbesForBreakpoint): Added.
519         (WI.DebuggerManager.prototype._removeProbesForBreakpoint): Added.
520         (WI.DebuggerManager.prototype._updateProbesForBreakpoint): Added.
521         (WI.DebuggerManager.prototype._probeSetForBreakpoint): Added.
522         * UserInterface/Controllers/ProbeManager.js: Removed.
523
524         * UserInterface/Protocol/DebuggerObserver.js:
525         (WI.DebuggerObserver.prototype.didSampleProbe):
526
527         * UserInterface/Controllers/TimelineManager.js:
528         (WI.TimelineManager.prototype._processRecord):
529
530         * UserInterface/Views/BreakpointTreeElement.js:
531         (WI.BreakpointTreeElement.prototype.onattach):
532
533         * UserInterface/Views/ProbeDetailsSidebarPanel.js:
534         (WI.ProbeDetailsSidebarPanel.prototype.closed):
535         (WI.ProbeDetailsSidebarPanel.prototype.initialLayout):
536
537         * UserInterface/Views/TextResourceContentView.js:
538         (WI.TextResourceContentView):
539         (WI.TextResourceContentView.prototype.get supplementalRepresentedObjects):
540         (WI.TextResourceContentView.prototype.closed):
541
542 2018-10-04  Devin Rousso  <drousso@apple.com>
543
544         Web Inspector: some files not listed in OpenResourceDialog
545         https://bugs.webkit.org/show_bug.cgi?id=190272
546
547         Reviewed by Joseph Pecoraro.
548
549         * UserInterface/Controllers/ResourceQueryController.js:
550         (WI.ResourceQueryController.prototype._findQueryMatches):
551         Allow the `searchIndex` to go past the end of the `searchString` to allow for backtracking
552         if the last character of `searchString` is not found in `query`.
553
554 2018-10-04  Devin Rousso  <drousso@apple.com>
555
556         Web Inspector: REGRESSION(r236783): Uncaught Exception: Can't find variable: sourceMapURL
557         https://bugs.webkit.org/show_bug.cgi?id=190276
558
559         Reviewed by Joseph Pecoraro.
560
561         * UserInterface/Controllers/NetworkManager.js:
562         (WI.NetworkManager.prototype._sourceMapLoadAndParseFailed):
563
564 2018-10-02  Devin Rousso  <drousso@apple.com>
565
566         Web Inspector: merge SourceMapManager into NetworkManager
567         https://bugs.webkit.org/show_bug.cgi?id=190224
568
569         Reviewed by Joseph Pecoraro.
570
571         * UserInterface/Main.html:
572         * UserInterface/Base/Main.js:
573         (WI.loaded):
574         * UserInterface/Test.html:
575         * UserInterface/Test/Test.js:
576         (WI.loaded):
577
578         * UserInterface/Controllers/NetworkManager.js:
579         (WI.NetworkManager):
580         (WI.NetworkManager.prototype.downloadSourceMap): Added.
581         (WI.NetworkManager.prototype.resourceRequestWasServedFromMemoryCache):
582         (WI.NetworkManager.prototype.resourceRequestDidFinishLoading):
583         (WI.NetworkManager.prototype._createResource):
584         (WI.NetworkManager.prototype._loadAndParseSourceMap): Added.
585         (WI.NetworkManager.prototype._sourceMapLoadAndParseFailed): Added.
586         (WI.NetworkManager.prototype._sourceMapLoadAndParseSucceeded): Added.
587         (WI.NetworkManager.prototype._handleFrameMainResourceDidChange): Added.
588         * UserInterface/Controllers/SourceMapManager.js: Removed.
589
590         * UserInterface/Models/Script.js:
591         (WI.Script):
592
593         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
594         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
595
596 2018-10-02  Nikita Vasilyev  <nvasilyev@apple.com>
597
598         Web Inspector: Styles: start editing property name/value on mouseup instead of mousedown
599         https://bugs.webkit.org/show_bug.cgi?id=190114
600         <rdar://problem/44891030>
601
602         Reviewed by Matt Baker.
603
604         This change only affects the experimental multiple properties selection.
605
606         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
607         (WI.SpreadsheetCSSStyleDeclarationSection):
608         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
609         (.multiple-properties-selection .spreadsheet-style-declaration-editor :matches(.name, .value):not(.editing)):
610         Without this code, the focus outline flickers on click (after mousedown but before mouseup event).
611
612         * UserInterface/Views/SpreadsheetTextField.js:
613         (WI.SpreadsheetTextField):
614         (WI.SpreadsheetTextField.prototype._handleMouseUp):
615
616 2018-10-02  Devin Rousso  <drousso@apple.com>
617
618         Web Inspector: prevent layer events from firing until the layer information is re-requested
619         https://bugs.webkit.org/show_bug.cgi?id=190159
620
621         Reviewed by Joseph Pecoraro.
622
623         * UserInterface/Controllers/LayerTreeManager.js:
624         (WI.LayerTreeManager):
625         (WI.LayerTreeManager.prototype.get supported):
626         Remove `supported` member variable in favor of re-evaluating its value.
627
628         * UserInterface/Protocol/LayerTreeObserver.js:
629         (WI.LayerTreeObserver.prototype.layerTreeDidChange):
630
631 2018-10-02  Devin Rousso  <drousso@apple.com>
632
633         Web Inspector: REGRESSION(r236766): WI.IssueManager no longer exists
634         https://bugs.webkit.org/show_bug.cgi?id=190226
635
636         Reviewed by Joseph Pecoraro.
637
638         * UserInterface/Controllers/ConsoleManager.js:
639         (WI.ConsoleManager.prototype.issuesForSourceCode):
640
641 2018-10-02  Devin Rousso  <drousso@apple.com>
642
643         Web Inspector: rename frontend managers to be more consistent with backend agents
644         https://bugs.webkit.org/show_bug.cgi?id=190160
645
646         Reviewed by Joseph Pecoraro.
647
648         * UserInterface/Test.html:
649         * UserInterface/Test/Test.js:
650         * UserInterface/Main.html:
651         * UserInterface/Base/Main.js:
652         * UserInterface/Base/DOMUtilities.js:
653         * UserInterface/Controllers/ApplicationCacheManager.js:
654         * UserInterface/Controllers/CSSManager.js: Renamed from Source/WebInspectorUI/UserInterface/Controllers/CSSStyleManager.js.
655         * UserInterface/Controllers/ConsoleManager.js: Renamed from Source/WebInspectorUI/UserInterface/Controllers/LogManager.js.
656         * UserInterface/Controllers/DOMDebuggerManager.js:
657         * UserInterface/Controllers/DOMManager.js: Renamed from Source/WebInspectorUI/UserInterface/Controllers/DOMTreeManager.js.
658         * UserInterface/Controllers/DOMStorageManager.js: Renamed from Source/WebInspectorUI/UserInterface/Controllers/StorageManager.js.
659         * UserInterface/Controllers/DashboardManager.js: Removed.
660         * UserInterface/Controllers/DatabaseManager.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DOMStorageManager.js.
661         * UserInterface/Controllers/HARBuilder.js:
662         * UserInterface/Controllers/IndexedDBManager.js: Copied from Source/WebInspectorUI/UserInterface/Controllers/DOMStorageManager.js.
663         * UserInterface/Controllers/IssueManager.js: Removed.
664         * UserInterface/Controllers/JavaScriptLogViewController.js:
665         * UserInterface/Controllers/NetworkManager.js: Renamed from Source/WebInspectorUI/UserInterface/Controllers/FrameResourceManager.js.
666         * UserInterface/Controllers/SourceMapManager.js:
667         * UserInterface/Controllers/TimelineManager.js:
668         * UserInterface/Debug/UncaughtExceptionReporter.js:
669         * UserInterface/Models/CSSProperty.js:
670         * UserInterface/Models/CSSSelector.js:
671         * UserInterface/Models/CallFrame.js:
672         * UserInterface/Models/Canvas.js:
673         * UserInterface/Models/ConsoleMessage.js:
674         * UserInterface/Models/DOMBreakpoint.js:
675         * UserInterface/Models/DOMNode.js:
676         * UserInterface/Models/DOMNodeStyles.js:
677         * UserInterface/Models/DOMTree.js:
678         * UserInterface/Models/DefaultDashboard.js:
679         * UserInterface/Models/Script.js:
680         * UserInterface/Models/ScriptTimelineRecord.js:
681         * UserInterface/Models/SourceMapResource.js:
682         * UserInterface/Models/TimelineRecording.js:
683         * UserInterface/Protocol/CSSObserver.js:
684         * UserInterface/Protocol/ConsoleObserver.js:
685         * UserInterface/Protocol/DOMObserver.js:
686         * UserInterface/Protocol/DOMStorageObserver.js:
687         * UserInterface/Protocol/DatabaseObserver.js:
688         * UserInterface/Protocol/InspectorFrontendAPI.js:
689         * UserInterface/Protocol/InspectorObserver.js:
690         * UserInterface/Protocol/MainTarget.js:
691         * UserInterface/Protocol/NetworkObserver.js:
692         * UserInterface/Protocol/PageObserver.js:
693         * UserInterface/Protocol/RemoteObject.js:
694         * UserInterface/Protocol/RuntimeObserver.js:
695         * UserInterface/Protocol/WorkerTarget.js:
696         * UserInterface/Views/BoxModelDetailsSectionRow.js:
697         * UserInterface/Views/CanvasOverviewContentView.js:
698         * UserInterface/Views/CanvasTreeElement.js:
699         * UserInterface/Views/ContentView.js:
700         * UserInterface/Views/ContextMenuUtilities.js:
701         * UserInterface/Views/CookieStorageContentView.js:
702         * UserInterface/Views/DOMDetailsSidebarPanel.js:
703         * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
704         * UserInterface/Views/DOMNodeTreeElement.js:
705         * UserInterface/Views/DOMTreeContentView.js:
706         * UserInterface/Views/DOMTreeDataGrid.js:
707         * UserInterface/Views/DOMTreeElement.js:
708         * UserInterface/Views/DOMTreeElementPathComponent.js:
709         * UserInterface/Views/DOMTreeOutline.js:
710         * UserInterface/Views/DOMTreeUpdater.js:
711         * UserInterface/Views/DebuggerSidebarPanel.js:
712         * UserInterface/Views/ElementsTabContentView.js:
713         * UserInterface/Views/EventBreakpointPopover.js:
714         * UserInterface/Views/EventBreakpointTreeElement.js:
715         * UserInterface/Views/EventListenerSectionGroup.js:
716         * UserInterface/Views/FormattedValue.js:
717         * UserInterface/Views/FrameTreeElement.js:
718         * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
719         * UserInterface/Views/IndexedDatabaseObjectStoreContentView.js:
720         * UserInterface/Views/LayerDetailsSidebarPanel.js:
721         * UserInterface/Views/LayerTreeDataGridNode.js:
722         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
723         * UserInterface/Views/Layers3DContentView.js:
724         * UserInterface/Views/LogContentView.js:
725         * UserInterface/Views/NetworkTableContentView.js:
726         * UserInterface/Views/ObjectTreeBaseTreeElement.js:
727         * UserInterface/Views/ObjectTreeView.js:
728         * UserInterface/Views/OpenResourceDialog.js:
729         * UserInterface/Views/ResourceSidebarPanel.js:
730         * UserInterface/Views/SearchSidebarPanel.js:
731         * UserInterface/Views/SettingsTabContentView.js:
732         * UserInterface/Views/SourceCodeTextEditor.js:
733         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
734         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
735         * UserInterface/Views/StorageSidebarPanel.js:
736         * UserInterface/Views/StyleDetailsPanel.js:
737         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
738         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
739
740 2018-10-02  Devin Rousso  <drousso@apple.com>
741
742         Web Inspector: Canvas: replace constant numbers with their associated name on WebGL contexts
743         https://bugs.webkit.org/show_bug.cgi?id=190026
744
745         Reviewed by Joseph Pecoraro.
746
747         * UserInterface/Models/RecordingAction.js:
748         (WI.RecordingAction.constantNameForParameter): Added.
749         (WI.RecordingAction.prototype.getColorParameters):
750         (WI.RecordingAction.prototype.getImageParameters):
751         Drive-by: add additional swatches to color/image arguments for WebGL actions.
752
753         * UserInterface/Views/CanvasSidebarPanel.js:
754         (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
755         Drive-by: ensure that the `WI.RecordingContentView` is showing before applying the action.
756
757         * UserInterface/Views/RecordingActionTreeElement.js:
758         (WI.RecordingActionTreeElement._generateDOM.createParameterElement):
759         (WI.RecordingActionTreeElement._generateDOM):
760         * UserInterface/Views/RecordingActionTreeElement.css:
761         (.item.action > .titles .parameter.constant): Added.
762
763 2018-10-01  Joseph Pecoraro  <pecoraro@apple.com>
764
765         Web Inspector: Fix a typo for execution context identifier
766         https://bugs.webkit.org/show_bug.cgi?id=190185
767
768         Reviewed by Matt Baker.
769
770         * UserInterface/Protocol/MainTarget.js:
771         (WI.MainTarget):
772         * UserInterface/Protocol/WorkerTarget.js:
773         (WI.WorkerTarget):
774
775 2018-10-01  Devin Rousso  <drousso@apple.com>
776
777         Web Inspector: remove analyzer manager
778         https://bugs.webkit.org/show_bug.cgi?id=190162
779
780         Reviewed by Joseph Pecoraro.
781
782         * UserInterface/Main.html:
783         * UserInterface/Base/Main.js:
784         (WI.loaded):
785
786         * UserInterface/Controllers/AnalyzerManager.js: Removed.
787         * UserInterface/Models/AnalyzerMessage.js: Removed.
788
789         * Scripts/copy-user-interface-resources.pl:
790         * UserInterface/External/ESLint/LICENSE: Removed.
791         * UserInterface/External/ESLint/eslint.js: Removed.
792
793 2018-10-01  Nikita Vasilyev  <nvasilyev@apple.com>
794
795         Web Inspector: Styles: add an experimental setting for multi-property selection
796         https://bugs.webkit.org/show_bug.cgi?id=190053
797         <rdar://problem/44842787>
798
799         Reviewed by Matt Baker.
800
801         This patch only adds a setting. It doesn't change property selection behavior.
802
803         * Localizations/en.lproj/localizedStrings.js:
804         * UserInterface/Base/Setting.js:
805         * UserInterface/Views/SettingsTabContentView.js:
806         (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
807
808 2018-10-01  Nikita Vasilyev  <nvasilyev@apple.com>
809
810         Web Inspector: Dark Mode: use the same CSS variables for dark and light modes
811         https://bugs.webkit.org/show_bug.cgi?id=189766
812         <rdar://problem/44619650>
813
814         Use --text-color and --background-color CSS variables for both dark and light modes.
815
816         Reviewed by Matt Baker.
817
818         * UserInterface/Views/BreakpointPopoverController.css:
819         (.popover .edit-breakpoint-popover-content > label.toggle):
820         Color of the label matches the color of the popover, no need to specify it.
821
822         (.edit-breakpoint-popover-condition):
823         (@media (prefers-dark-interface)):
824         (.popover .edit-breakpoint-popover-content > table > tr > th):
825         * UserInterface/Views/CompletionSuggestionsView.css:
826         (.completion-suggestions-container > .item):
827         (@media (prefers-dark-interface)):
828         (.completion-suggestions):
829         * UserInterface/Views/ComputedStyleDetailsPanel.css:
830         (.details-section:matches(.computed-style-properties, .computed-style-box-model):not(.collapsed) > :matches(.header, .content)):
831         (.computed-style-properties .property:hover .go-to-arrow):
832         (@media (prefers-dark-interface)): Deleted.
833         (.computed-style-properties.details-section): Deleted.
834         (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)): Deleted.
835         * UserInterface/Views/DOMTreeOutline.css:
836         (.tree-outline.dom):
837         (@media (prefers-dark-interface)):
838         * UserInterface/Views/DataGrid.css:
839         (.data-grid th):
840         (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input):
841         (@media (prefers-dark-interface)):
842         * UserInterface/Views/GeneralStyleDetailsSidebarPanel.css:
843         (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
844         (@media (prefers-dark-interface)):
845         (.sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule):
846         * UserInterface/Views/InlineSwatch.css:
847         (.inline-swatch):
848         (.inline-swatch-variable-popover .CodeMirror pre):
849         (@media (prefers-dark-interface)): Deleted.
850         * UserInterface/Views/NetworkResourceDetailView.css:
851         (.network-resource-detail):
852         (.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected):
853         (@media (prefers-dark-interface)):
854         (.resource-headers .value): Deleted.
855         Move this rule to ResourceHeadersContentView.css.
856
857         * UserInterface/Views/ObjectPreviewView.css:
858         (.object-preview):
859         (@media (prefers-dark-interface)):
860         (.object-preview .name):
861         * UserInterface/Views/ObjectTreeView.css:
862         (.object-tree):
863         (.object-tree-property :matches(.formatted-string, .formatted-regexp)):
864         (@media (prefers-dark-interface)): Deleted.
865         (.object-tree,): Deleted.
866
867         (.object-preview .name): Deleted.
868         (.object-preview > .size): Deleted.
869         Move these rules to ObjectPreviewView.css.
870
871         * UserInterface/Views/QuickConsole.css:
872         (.quick-console):
873         (@media (prefers-dark-interface)):
874         * UserInterface/Views/ResourceHeadersContentView.css:
875         (.resource-headers .value):
876         (.resource-headers.showing-find-banner .search-highlight):
877         (@media (prefers-dark-interface)): Deleted.
878         * UserInterface/Views/ResourceTimingBreakdownView.css:
879         (.resource-timing-breakdown > table > tr.header:not(.total-row) > td):
880         (@media (prefers-dark-interface)):
881         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
882         (.spreadsheet-style-declaration-editor .property:not(.disabled) .value):
883         (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
884         (@media (prefers-dark-interface)):
885         (.spreadsheet-style-declaration-editor .property.has-warning .warning):
886         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
887         (.spreadsheet-css-declaration .media-label):
888         (.spreadsheet-css-declaration .selector:focus,):
889         (@media (prefers-dark-interface)):
890         (.spreadsheet-css-declaration .origin .go-to-link,):
891         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:
892         (.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link:hover):
893         (@media (prefers-dark-interface)):
894         (.sidebar > .panel.details.css-style > .content > .rules .section-header):
895         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
896         (.cm-s-default,):
897         (@media (prefers-dark-interface)):
898         (.syntax-highlighted,): Deleted.
899         * UserInterface/Views/Table.css:
900         (.table):
901         (.table > .header):
902         * UserInterface/Views/TimelineOverview.css:
903         (.timeline-overview > .navigation-bar.timelines):
904         (@media (prefers-dark-interface)):
905         * UserInterface/Views/TimelineRecordingContentView.css:
906         (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple):
907         (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows):
908         (.content-view.timeline-recording > .content-browser .recording-progress > .status > .indeterminate-progress-spinner):
909         (@media (prefers-dark-interface)): Deleted.
910         * UserInterface/Views/Variables.css:
911         (:root):
912         (@media (prefers-dark-interface)):
913         * UserInterface/Views/XHRBreakpointPopover.css:
914         (.popover .xhr-breakpoint-content > .editor-wrapper > .editor):
915         (@media (prefers-dark-interface)):
916
917 2018-09-28  Andy Estes  <aestes@apple.com>
918
919         REGRESSION (r236091): CSSKeywordCompletions.js has "checkout" instead of "check-out" as a value for -apple-pay-button-type
920         https://bugs.webkit.org/show_bug.cgi?id=190096
921
922         Reviewed by Ryosuke Niwa.
923
924         I changed "checkout" to "check-out" in r235754, but it somehow got flipped back to "checkout" in r236091.
925
926         * UserInterface/Models/CSSKeywordCompletions.js:
927
928 2018-09-28  Andy Estes  <aestes@apple.com>
929
930         [Apple Pay] Remove the "in-store" button type
931         https://bugs.webkit.org/show_bug.cgi?id=190079
932
933         Reviewed by Tim Horton.
934
935         * UserInterface/Models/CSSKeywordCompletions.js:
936
937 2018-09-28  Devin Rousso  <drousso@apple.com>
938
939         Web Inspector: image resources without content are still shown when the Images folder is selected
940         https://bugs.webkit.org/show_bug.cgi?id=190072
941
942         Reviewed by Matt Baker.
943
944         * UserInterface/Views/ResourceContentView.js:
945         (WI.ResourceContentView.prototype.showGenericNoContentMessage):
946         Treat paths that result in a "Resource has no content" message as a "content error".
947
948 2018-09-26  Devin Rousso  <drousso@apple.com>
949
950         Web Inspector: Hide DOM and XHR breakpoint sections when they are empty
951         https://bugs.webkit.org/show_bug.cgi?id=182406
952         <rdar://problem/37131512>
953
954         Reviewed by Joseph Pecoraro.
955
956         Combine all breakpoint sections (e.g. DOM, XHR, and Event) into the main "Breakpoints"
957         section, including all the various "+" buttons for creating different types of breakpoints.
958
959         Global breakpoints (except "All Exceptions" and "Uncaught Exceptions") are now deletable,
960         and can be re-added via the "+" button of the "Breakpoints" section. Deletable global
961         breakpoints (e.g. "Assertion Failures" and "All Requests") are able to remain visible while
962         disabled, and will only be hidden when the user specifically deletes them.
963
964         * Localizations/en.lproj/localizedStrings.js:
965         * UserInterface/Base/Setting.js:
966         * UserInterface/Main.html:
967
968         * UserInterface/Controllers/DOMBreakpointTreeController.js: Removed.
969         * UserInterface/Controllers/EventBreakpointTreeController.js: Removed.
970         * UserInterface/Controllers/XHRBreakpointTreeController.js: Removed.
971
972         * UserInterface/Controllers/DebuggerManager.js:
973         (WI.DebuggerManager.prototype.get uncaughtExceptionsBreakpoint): Added.
974         (WI.DebuggerManager.prototype.get assertionFailuresBreakpoint): Added.
975         (WI.DebuggerManager.prototype.isBreakpointRemovable):
976         (WI.DebuggerManager.prototype.isBreakpointSpecial): Added.
977         (WI.DebuggerManager.prototype.isBreakpointEditable):
978         (WI.DebuggerManager.prototype.addBreakpoint):
979         (WI.DebuggerManager.prototype.removeBreakpoint):
980         (WI.DebuggerManager.prototype.initializeTarget):
981         (WI.DebuggerManager.prototype._breakpointDisabledStateDidChange):
982         (WI.DebuggerManager.prototype._updateBreakOnExceptionsState):
983         (WI.DebuggerManager.prototype.get allUncaughtExceptionsBreakpoint): Deleted.
984         (WI.DebuggerManager.prototype.get assertionsBreakpoint): Deleted.
985         * UserInterface/Controllers/DOMDebuggerManager.js:
986         (WI.DOMDebuggerManager.prototype.isBreakpointSpecial): Added.
987         (WI.DOMDebuggerManager.prototype.addDOMBreakpoint):
988         (WI.DOMDebuggerManager.prototype.removeDOMBreakpoint):
989         (WI.DOMDebuggerManager.prototype.addEventBreakpoint):
990         (WI.DOMDebuggerManager.prototype.removeEventBreakpoint):
991         (WI.DOMDebuggerManager.prototype.addXHRBreakpoint):
992         (WI.DOMDebuggerManager.prototype.removeXHRBreakpoint):
993         (WI.DOMDebuggerManager.prototype.isBreakpointRemovable): Deleted.
994         Always fire add/remove events, including for special breakpoints, so that any listeners will
995         be able to adjust accordingly. Even though special breakpoints don't get stored in the lists
996         held by each manager, we are still able to enable/disable them, and that should be reported.
997
998         * UserInterface/Views/DebuggerSidebarPanel.js:
999         (WI.DebuggerSidebarPanel):
1000         (WI.DebuggerSidebarPanel.prototype.closed):
1001         (WI.DebuggerSidebarPanel.prototype.saveStateToCookie):
1002         (WI.DebuggerSidebarPanel.prototype.restoreStateFromCookie.revealAndSelect):
1003         (WI.DebuggerSidebarPanel.prototype.restoreStateFromCookie):
1004         (WI.DebuggerSidebarPanel.prototype.willDismissPopover):
1005         (WI.DebuggerSidebarPanel.prototype._addBreakpoint):
1006         (WI.DebuggerSidebarPanel.prototype._removeBreakpoint): Added.
1007         (WI.DebuggerSidebarPanel.prototype._addTreeElementForSourceCodeToTreeOutline):
1008         (WI.DebuggerSidebarPanel.prototype._mainResourceDidChange):
1009         (WI.DebuggerSidebarPanel.prototype._breakpointRemoved):
1010         (WI.DebuggerSidebarPanel.prototype._removeDebuggerTreeElement):
1011         (WI.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
1012         (WI.DebuggerSidebarPanel.prototype._addTreeElement.comparator): Added.
1013         (WI.DebuggerSidebarPanel.prototype._addTreeElement): Added.
1014         (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
1015         (WI.DebuggerSidebarPanel.prototype._domBreakpointResolvedStateDidChange): Added.
1016         (WI.DebuggerSidebarPanel.prototype._handleBreakpointElementAddedOrRemoved): Added.
1017         (WI.DebuggerSidebarPanel.prototype._handleCreateBreakpointClicked): Added.
1018         (WI.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements.isSpecialBreakpoint): Deleted.
1019         (WI.DebuggerSidebarPanel.prototype._compareTopLevelTreeElements): Deleted.
1020         (WI.DebuggerSidebarPanel.prototype._domBreakpointAddedOrRemoved): Deleted.
1021         (WI.DebuggerSidebarPanel.prototype._eventBreakpointAddedOrRemoved): Deleted.
1022         (WI.DebuggerSidebarPanel.prototype._addEventBreakpointButtonClicked): Deleted.
1023         (WI.DebuggerSidebarPanel.prototype._addXHRBreakpointButtonClicked): Deleted.
1024         * UserInterface/Views/DebuggerSidebarPanel.css:
1025         (.sidebar > .panel.navigation.debugger .details-section.dom-breakpoints .item.dom-node .titles): Deleted.
1026         (.sidebar > .panel.navigation.debugger .details-section.dom-breakpoints .item.dom-node .icon): Deleted.
1027         (.sidebar > .panel.navigation.debugger .details-section.dom-breakpoints .item.dom-node:not(:hover, .selected) .status .go-to-arrow): Deleted.
1028         (.sidebar > .panel.navigation.debugger .details-section.xhr-breakpoints .item.breakpoint .subtitle): Deleted.
1029         Unify the logic for adding/removing breakpoints of all types.
1030
1031         * UserInterface/Views/BreakpointTreeElement.js:
1032         (WI.BreakpointTreeElement):
1033         (WI.BreakpointTreeElement.prototype.ondelete):
1034         * UserInterface/Views/DOMBreakpointTreeElement.js:
1035         (WI.DOMBreakpointTreeElement):
1036         (WI.DOMBreakpointTreeElement.prototype.ondelete):
1037         * UserInterface/Views/DOMNodeTreeElement.js:
1038         (WI.DOMNodeTreeElement):
1039         (WI.DOMNodeTreeElement.prototype.ondelete):
1040         (WI.DOMNodeTreeElement.prototype.populateContextMenu):
1041         * UserInterface/Views/EventBreakpointTreeElement.js:
1042         (WI.EventBreakpointTreeElement):
1043         (WI.EventBreakpointTreeElement.prototype.ondelete):
1044         (WI.EventBreakpointTreeElement.prototype.populateContextMenu):
1045         * UserInterface/Views/XHRBreakpointTreeElement.js:
1046         (WI.XHRBreakpointTreeElement):
1047         (WI.XHRBreakpointTreeElement.prototype.ondelete):
1048         (WI.XHRBreakpointTreeElement.prototype.populateContextMenu):
1049         * UserInterface/Views/XHRBreakpointTreeElement.css: Added.
1050         (.breakpoint.xhr .subtitle):
1051         Add/remove checks for whether the associated breakpoint can be deleted.
1052
1053         * UserInterface/Views/DOMNodeTreeElement.css: Added.
1054         (.tree-outline .item.dom-node .titles):
1055         (.tree-outline .item.dom-node .icon):
1056         (.tree-outline .item.dom-node:not(:hover, .selected) .status .go-to-arrow):
1057
1058         * UserInterface/Views/ContextMenuUtilities.js:
1059         (WI.appendContextMenuItemsForDOMNode):
1060         (WI.appendContextMenuItemsForDOMNodeBreakpoints): Added.
1061         * UserInterface/Views/DOMTreeElement.js:
1062         (WI.DOMTreeElement.prototype._statusImageContextmenu):
1063
1064         * UserInterface/Views/XHRBreakpointPopover.js:
1065         (WI.XHRBreakpointPopover):
1066         (WI.XHRBreakpointPopover.prototype.get breakpoint): Added.
1067         (WI.XHRBreakpointPopover.prototype.show):
1068         (WI.XHRBreakpointPopover.prototype.dismiss): Added.
1069         (WI.XHRBreakpointPopover.prototype._createEditor):
1070         (WI.XHRBreakpointPopover.prototype._updateEditor):
1071         (WI.XHRBreakpointPopover.prototype.get result): Deleted.
1072         (WI.XHRBreakpointPopover.prototype.get type): Deleted.
1073         (WI.XHRBreakpointPopover.prototype.get value): Deleted.
1074         Drive-by: remove the erroneous usage of `WI.InputPopover.Result`.
1075
1076 2018-09-26  Devin Rousso  <drousso@apple.com>
1077
1078         Web Inspector: determine hasVisibleEffect for each RecordingAction as it's processed
1079         https://bugs.webkit.org/show_bug.cgi?id=189860
1080
1081         Reviewed by Joseph Pecoraro.
1082
1083         * Localizations/en.lproj/localizedStrings.js:
1084         * UserInterface/Base/Setting.js:
1085         * UserInterface/Base/Utilities.js:
1086
1087         * UserInterface/Models/RecordingAction.js:
1088         (WI.RecordingAction.prototype.process.getContent):
1089         (WI.RecordingAction.prototype.process):
1090
1091         * UserInterface/Views/RecordingActionTreeElement.js:
1092         (WI.RecordingActionTreeElement.prototype.onattach):
1093
1094         * UserInterface/Views/SettingsTabContentView.js:
1095         (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
1096
1097         * UserInterface/Views/RecordingContentView.js:
1098         (WI.RecordingContentView.prototype._updateImageGrid):
1099         Drive-by: don't attempt to show the image grid if we haven't called initialized yet.
1100
1101         * UserInterface/Views/CanvasSidebarPanel.js:
1102         (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
1103         Drive-by: ensure that the `WI.RecordingContentView` is showing before applying the action.
1104
1105 2018-09-26  Nikita Vasilyev  <nvasilyev@apple.com>
1106
1107         Web Inspector: Dark Mode: new watch expression popover has light background
1108         https://bugs.webkit.org/show_bug.cgi?id=190013
1109         <rdar://problem/44810000>
1110
1111         Reviewed by Matt Baker.
1112
1113         Make the background dark to match the CodeMirror editor background.
1114
1115         * UserInterface/Views/ScopeChainDetailsSidebarPanel.css:
1116         (@media (prefers-dark-interface)):
1117         (.watch-expression-editor):
1118
1119 2018-09-21  Nikita Vasilyev  <nvasilyev@apple.com>
1120
1121         REGRESSION(r236237): Web Inspector: DarkMode: white background in Elements and Timelines
1122         https://bugs.webkit.org/show_bug.cgi?id=189852
1123
1124         Reviewed by Joseph Pecoraro.
1125
1126         * UserInterface/Views/Main.css:
1127         (body):
1128         (#main):
1129
1130 2018-09-21  Brian Burg  <bburg@apple.com>
1131
1132         Web Inspector: remove unnecessary WI.Platform.version checks
1133         https://bugs.webkit.org/show_bug.cgi?id=189845
1134
1135         Reviewed by Matt Baker.
1136
1137         * UserInterface/Base/Platform.js:
1138         (osVersionMatch): Add name for macOS Mojave.
1139
1140         * UserInterface/Base/Main.js:
1141         * UserInterface/Views/Popover.js:
1142         Remove old logic that's no longer needed.
1143
1144 2018-09-21  Devin Rousso  <drousso@apple.com>
1145
1146         Web Inspector: remove setting for Sources tab
1147         https://bugs.webkit.org/show_bug.cgi?id=189817
1148
1149         Reviewed by Joseph Pecoraro.
1150
1151         * Localizations/en.lproj/localizedStrings.js:
1152         * UserInterface/Base/Setting.js:
1153         * UserInterface/Main.html:
1154         * UserInterface/Base/Main.js:
1155         (WI.contentLoaded):
1156         (WI._debuggerDidPause):
1157         (WI.isShowingSourcesTab): Removed.
1158         (WI.showSourcesTab): Removed.
1159
1160         * UserInterface/Views/SourcesSidebarPanel.css: Removed.
1161         * UserInterface/Views/SourcesSidebarPanel.js: Removed.
1162         * UserInterface/Views/SourcesTabContentView.js: Removed.
1163
1164         * UserInterface/Views/ContextMenuUtilities.js:
1165         (WI.appendContextMenuItemsForURL):
1166
1167         * UserInterface/Views/SettingsTabContentView.js:
1168         (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
1169
1170         * UserInterface/Views/SourceCodeTextEditor.js:
1171         (WI.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
1172
1173 2018-09-20  Simon Fraser  <simon.fraser@apple.com>
1174
1175         Make "overflow: overlay" a synonym for "overflow: auto"
1176         https://bugs.webkit.org/show_bug.cgi?id=189811
1177
1178         Reviewed by Zalan Bujtas.
1179         
1180         Remove "overlay" from the overflow values.
1181
1182         * UserInterface/Models/CSSKeywordCompletions.js:
1183         * UserInterface/Views/VisualStyleDetailsPanel.js:
1184         (WI.VisualStyleDetailsPanel.prototype._populateDisplaySection):
1185
1186 2018-09-21  Devin Rousso  <drousso@apple.com>
1187
1188         Web Inspector: hide Accessibility Audit Tab setting
1189         https://bugs.webkit.org/show_bug.cgi?id=189816
1190
1191         Reviewed by Joseph Pecoraro.
1192
1193         Considering that this tab doesn't exist, there's no reason to have a setting/UI for it.
1194
1195         * UserInterface/Base/Setting.js:
1196         * UserInterface/Views/SettingsTabContentView.js:
1197         (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
1198
1199 2018-09-21  Devin Rousso  <drousso@apple.com>
1200
1201         Web Inspector: remove Legacy Style Editor
1202         https://bugs.webkit.org/show_bug.cgi?id=189808
1203
1204         Reviewed by Joseph Pecoraro.
1205
1206         The Legacy Style Editor has been hidden behind an "experimental" setting for almost a year.
1207         It's time that we remove it, especially since the new Style Editor is at a similar, if not
1208         more advanced, state.
1209
1210         * .eslintrc:
1211         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj:
1212         * WebInspectorUI.vcxproj/WebInspectorUI.vcxproj.filters:
1213         * Localizations/en.lproj/localizedStrings.js:
1214         * Tools/PrettyPrinting/index.html:
1215         * UserInterface/Main.html:
1216         * UserInterface/Test.html:
1217         * UserInterface/Base/Setting.js:
1218
1219         * UserInterface/Base/TextUtilities.js: Removed.
1220         * UserInterface/Base/Utilities.js:
1221
1222         * UserInterface/Views/RulesStyleDetailsPanel.css: Removed.
1223         * UserInterface/Views/RulesStyleDetailsPanel.js: Removed.
1224         * UserInterface/Views/CSSStyleDeclarationSection.css: Removed.
1225         * UserInterface/Views/CSSStyleDeclarationSection.js: Removed.
1226         * UserInterface/Views/CSSStyleDeclarationTextEditor.css: Removed.
1227         * UserInterface/Views/CSSStyleDeclarationTextEditor.js: Removed.
1228
1229         * UserInterface/Models/CSSProperty.js:
1230         (WI.CSSProperty.prototype.get text):
1231         (WI.CSSProperty.prototype.get synthesizedText): Deleted.
1232
1233         * UserInterface/Models/CSSStyleDeclaration.js:
1234         (WI.CSSStyleDeclaration):
1235         (WI.CSSStyleDeclaration.prototype.set text):
1236         (WI.CSSStyleDeclaration.prototype.resetText): Deleted.
1237         (WI.CSSStyleDeclaration.prototype.get modified): Deleted.
1238         (WI.CSSStyleDeclaration.prototype.generateCSSRuleString): Deleted.
1239         (WI.CSSStyleDeclaration.prototype.isInspectorRule): Deleted.
1240
1241         * UserInterface/Models/CSSSelector.js:
1242         (WI.CSSSelector.prototype.isGreaterThan): Deleted.
1243
1244         * UserInterface/Models/CSSRule.js:
1245         (WI.CSSRule.prototype.update):
1246         (WI.CSSRule.prototype.get matchedSelectors): Deleted.
1247         (WI.CSSRule.prototype.get matchedSelectorText): Deleted.
1248         (WI.CSSRule.prototype.hasMatchedPseudoElementSelector): Deleted.
1249         (WI.CSSRule.prototype.get mediaText): Deleted.
1250         (WI.CSSRule.prototype.get mostSpecificSelector): Deleted.
1251         (WI.CSSRule.prototype.selectorIsGreater): Deleted.
1252         (WI.CSSRule.prototype._determineMostSpecificSelector): Deleted.
1253
1254         * UserInterface/Models/DOMNodeStyles.js:
1255         (WI.DOMNodeStyles.prototype.changeRule.changeCompleted): Deleted.
1256         (WI.DOMNodeStyles.prototype.changeRule.styleChanged): Deleted.
1257         (WI.DOMNodeStyles.prototype.changeRule.changeText): Deleted.
1258         (WI.DOMNodeStyles.prototype.changeRule.ruleSelectorChanged): Deleted.
1259         (WI.DOMNodeStyles.prototype.changeRule): Deleted.
1260
1261         * UserInterface/Models/CSSCompletions.js:
1262         (WI.CSSCompletions.prototype.isValidPropertyName):
1263         (WI.CSSCompletions):
1264         (WI.CSSCompletions.prototype.keySet): Deleted.
1265         (WI.CSSCompletions.prototype.propertyRequiresWebkitPrefix): Deleted.
1266         (WI.CSSCompletions.prototype.getClosestPropertyName): Deleted.
1267
1268         * UserInterface/Views/ComputedStyleDetailsPanel.js:
1269         (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorStartEditingAdjacentRule): Deleted.
1270
1271         * UserInterface/Views/RulesStyleDetailsSidebarPanel.js:
1272         (WI.RulesStyleDetailsSidebarPanel):
1273
1274         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
1275         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyFocusMoved):
1276
1277         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
1278         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorStartEditingRuleSelector): Added.
1279         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.cssStyleDeclarationTextEditorStartEditingRuleSelector): Deleted.
1280
1281         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
1282         (WI.SpreadsheetRulesStyleDetailsPanel):
1283         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:
1284         (.sidebar > .panel.details.css-style .rules): Added.
1285         (.sidebar > .panel.details.css-style > .content > .rules .section-header): Added.
1286         (.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link): Added.
1287         (.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link:hover): Added.
1288         (.sidebar > .panel.details.css-style > .content > .rules > .message-text-view): Added.
1289         (.sidebar > .panel.details.css-style > .content > .rules:not(.filter-non-matching) > .message-text-view): Added.
1290         (@media (prefers-dark-interface)):
1291         (.sidebar > .panel.details.css-style > .content > .rules .section-header): Added.
1292         (.sidebar > .panel.details.css-style > .content > .rules .section-header .node-link:hover): Added.
1293         (.spreadsheet-style-panel .section-header): Deleted.
1294         (.spreadsheet-style-panel .section-header .node-link): Deleted.
1295         (.spreadsheet-style-panel .section-header .node-link:hover): Deleted.
1296         (.spreadsheet-style-panel .section-header): Deleted.
1297         (.spreadsheet-style-panel .section-header .node-link:hover): Deleted.
1298
1299         * UserInterface/Views/CodeMirrorAdditions.js:
1300         (extendedCSSRuleStartState): Removed.
1301         * UserInterface/Views/CodeMirrorFormatters.js:
1302         Remove "css-rule" CodeMirror mode.
1303
1304         * UserInterface/Views/CodeMirrorTextMarkers.js:
1305         (createCodeMirrorVariableTextMarkers): Deleted.
1306
1307         * UserInterface/Views/SettingsTabContentView.js:
1308         (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
1309
1310 2018-09-21  Mike Gorse  <mgorse@suse.com>
1311
1312         Build tools should work when the /usr/bin/python is python3
1313         https://bugs.webkit.org/show_bug.cgi?id=156674
1314
1315         Reviewed by Michael Catanzaro.
1316
1317         * Scripts/copy-user-interface-resources.pl: Use $PYTHON if set
1318         in the environment.
1319
1320 2018-09-20  Devin Rousso  <drousso@apple.com>
1321
1322         Web Inspector: remove Visual Style CSS details sidebar panel
1323         https://bugs.webkit.org/show_bug.cgi?id=189807
1324
1325         Reviewed by Joseph Pecoraro.
1326
1327         The Visual Style CSS details sidebar panel has been hidden behind an "experimental" setting
1328         for almost a year.  It's time that we remove it.
1329
1330         * Localizations/en.lproj/localizedStrings.js:
1331         * UserInterface/Base/Setting.js:
1332         * UserInterface/Main.html:
1333
1334         * UserInterface/Views/ElementsTabContentView.js:
1335         (WI.ElementsTabContentView):
1336         * UserInterface/Views/SettingsTabContentView.js:
1337         (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
1338
1339         * UserInterface/Images/AnimationPlayStatePaused.svg: Removed.
1340         * UserInterface/Images/AnimationPlayStateRunning.svg: Removed.
1341         * UserInterface/Images/ClearBoth.svg: Removed.
1342         * UserInterface/Images/ClearLeft.svg: Removed.
1343         * UserInterface/Images/ClearRight.svg: Removed.
1344         * UserInterface/Images/FloatLeft.svg: Removed.
1345         * UserInterface/Images/FloatRight.svg: Removed.
1346         * UserInterface/Images/FontStyleItalic.svg: Removed.
1347         * UserInterface/Images/FontStyleNormal.svg: Removed.
1348         * UserInterface/Images/ListStylePositionInside.svg: Removed.
1349         * UserInterface/Images/ListStylePositionOutside.svg: Removed.
1350         * UserInterface/Images/TextAlignCenter.svg: Removed.
1351         * UserInterface/Images/TextAlignJustify.svg: Removed.
1352         * UserInterface/Images/TextAlignLeft.svg: Removed.
1353         * UserInterface/Images/TextAlignRight.svg: Removed.
1354         * UserInterface/Images/TextDecorationLineThrough.svg: Removed.
1355         * UserInterface/Images/TextDecorationOverline.svg: Removed.
1356         * UserInterface/Images/TextDecorationUnderline.svg: Removed.
1357         * UserInterface/Images/TextTransformCapitalize.svg: Removed.
1358         * UserInterface/Images/TextTransformLowercase.svg: Removed.
1359         * UserInterface/Images/TextTransformUppercase.svg: Removed.
1360         * UserInterface/Images/VisualStyleNone.svg: Removed.
1361         * UserInterface/Images/VisualStylePropertyLinked.svg: Removed.
1362         * UserInterface/Images/VisualStylePropertyUnlinked.svg: Removed.
1363
1364         * UserInterface/Views/VisualStyleBackgroundPicker.css: Removed.
1365         * UserInterface/Views/VisualStyleBackgroundPicker.js: Removed.
1366         * UserInterface/Views/VisualStyleBasicInput.js: Removed.
1367         * UserInterface/Views/VisualStyleColorPicker.css: Removed.
1368         * UserInterface/Views/VisualStyleColorPicker.js: Removed.
1369         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.css: Removed.
1370         * UserInterface/Views/VisualStyleCommaSeparatedKeywordEditor.js: Removed.
1371         * UserInterface/Views/VisualStyleDetailsPanel.css: Removed.
1372         * UserInterface/Views/VisualStyleDetailsPanel.js: Removed.
1373         * UserInterface/Views/VisualStyleDetailsSidebarPanel.js: Removed.
1374         * UserInterface/Views/VisualStyleFontFamilyListEditor.js: Removed.
1375         * UserInterface/Views/VisualStyleFontFamilyTreeElement.js: Removed.
1376         * UserInterface/Views/VisualStyleKeywordCheckbox.css: Removed.
1377         * UserInterface/Views/VisualStyleKeywordCheckbox.js: Removed.
1378         * UserInterface/Views/VisualStyleKeywordIconList.css: Removed.
1379         * UserInterface/Views/VisualStyleKeywordIconList.js: Removed.
1380         * UserInterface/Views/VisualStyleKeywordPicker.js: Removed.
1381         * UserInterface/Views/VisualStyleNumberInputBox.css: Removed.
1382         * UserInterface/Views/VisualStyleNumberInputBox.js: Removed.
1383         * UserInterface/Views/VisualStylePropertyCombiner.js: Removed.
1384         * UserInterface/Views/VisualStylePropertyEditor.css: Removed.
1385         * UserInterface/Views/VisualStylePropertyEditor.js: Removed.
1386         * UserInterface/Views/VisualStylePropertyEditorLink.css: Removed.
1387         * UserInterface/Views/VisualStylePropertyEditorLink.js: Removed.
1388         * UserInterface/Views/VisualStylePropertyNameInput.js: Removed.
1389         * UserInterface/Views/VisualStyleRelativeNumberSlider.css: Removed.
1390         * UserInterface/Views/VisualStyleRelativeNumberSlider.js: Removed.
1391         * UserInterface/Views/VisualStyleSelectorSection.css: Removed.
1392         * UserInterface/Views/VisualStyleSelectorSection.js: Removed.
1393         * UserInterface/Views/VisualStyleSelectorTreeItem.css: Removed.
1394         * UserInterface/Views/VisualStyleSelectorTreeItem.js: Removed.
1395         * UserInterface/Views/VisualStyleTabbedPropertiesRow.css: Removed.
1396         * UserInterface/Views/VisualStyleTabbedPropertiesRow.js: Removed.
1397         * UserInterface/Views/VisualStyleTimingEditor.css: Removed.
1398         * UserInterface/Views/VisualStyleTimingEditor.js: Removed.
1399         * UserInterface/Views/VisualStyleURLInput.js: Removed.
1400         * UserInterface/Views/VisualStyleUnitSlider.css: Removed.
1401         * UserInterface/Views/VisualStyleUnitSlider.js: Removed.
1402
1403         * UserInterface/Controllers/VisualStyleCompletionsController.js: Removed.
1404
1405 2018-09-20  Devin Rousso  <drousso@apple.com>
1406
1407         Web Inspector: Styles Redesign: rework Computed panel to use Spreadsheet classes
1408         https://bugs.webkit.org/show_bug.cgi?id=183627
1409
1410         Reviewed by Joseph Pecoraro.
1411
1412         * UserInterface/Views/ComputedStyleDetailsPanel.js:
1413         (WI.ComputedStyleDetailsPanel):
1414         (WI.ComputedStyleDetailsPanel.prototype.refresh):
1415         (WI.ComputedStyleDetailsPanel.prototype.applyFilter):
1416         (WI.ComputedStyleDetailsPanel.prototype.spreadsheetCSSStyleDeclarationEditorShowProperty):
1417         (WI.ComputedStyleDetailsPanel.prototype.initialLayout):
1418         (WI.ComputedStyleDetailsPanel.prototype.filterDidChange):
1419         (WI.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged):
1420         (WI.ComputedStyleDetailsPanel.prototype._handlePropertiesSectionCollapsedStateChanged):
1421         (WI.ComputedStyleDetailsPanel.prototype._handleVariablesSectionCollapsedStateChanged):
1422         (WI.ComputedStyleDetailsPanel.prototype._handleEditorFilterApplied):
1423         (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty.delegateShowProperty): Deleted.
1424         (WI.ComputedStyleDetailsPanel.prototype.cssStyleDeclarationTextEditorShowProperty): Deleted.
1425         Replace CSSStyleDeclarationTextEditor with SpreadsheetCSSStyleDeclarationEditor.
1426
1427         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
1428         (WI.SpreadsheetCSSStyleDeclarationEditor):
1429         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
1430         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
1431         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set showsImplicitProperties):
1432         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set alwaysShowPropertyNames):
1433         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set propertyVisibilityMode):
1434         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set hideFilterNonMatchingProperties):
1435         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.set sortPropertiesByName): Added.
1436         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get propertiesToRender):
1437         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.highlightProperty):
1438         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.applyFilter):
1439         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyShowProperty):
1440         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._updateStyleLock):
1441         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.get _propertiesToRender): Deleted.
1442         Create setters for the "special" functionality required by the Computed panel and tie them
1443         into the logic that determines what properties are rendered.
1444
1445         * UserInterface/Views/SpreadsheetStyleProperty.js:
1446         (WI.SpreadsheetStyleProperty.prototype._update):
1447         Create go-to arrow if the property has a shorthand version or a source code location.
1448
1449         * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
1450         (WI.GeneralStyleDetailsSidebarPanel.prototype.initialLayout):
1451         Don't reapply the filter after refreshing, as the current panel will handle applying it.
1452
1453         * UserInterface/Views/ComputedStyleDetailsPanel.css:
1454         (.details-section:matches(.computed-style-properties, .computed-style-box-model):not(.collapsed) > :matches(.header, .content)):
1455         (.computed-style-properties .property .go-to-arrow):
1456         (.computed-style-properties .property:hover .go-to-arrow):
1457         (.computed-style-properties.details-section): Deleted.
1458         (.details-section > .content > .group > .row .CodeMirror-code pre .go-to-arrow): Deleted.
1459         (.details-section > .content > .group > .row .CodeMirror-code pre:hover .go-to-arrow): Deleted.
1460         (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)): Deleted.
1461         * UserInterface/Views/DetailsSection.css:
1462         (.details-section.computed-style-properties:not(.collapsed) > .header): Deleted.
1463         Consolidate Computed panel styles to it's respective CSS file.
1464
1465         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
1466         (.spreadsheet-style-declaration-editor):
1467         (.spreadsheet-style-declaration-editor .property:matches(.implicit, .not-inherited) .content > *):
1468         (.spreadsheet-style-declaration-editor .property.not-inherited .content > *): Deleted.
1469         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
1470         (.spreadsheet-css-declaration):
1471         * UserInterface/Views/Variables.css:
1472         (:root):
1473         Move `css-declaration` padding variables so they can be used by SpreadsheetCSSStyleDeclarationEditor
1474         without a parent SpreadsheetCSSStyleDeclarationSection.
1475
1476         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:
1477         (.style-spreadsheet .style-rule): Deleted.
1478         (.style-spreadsheet .selector-line): Deleted.
1479         (.style-spreadsheet .selector): Deleted.
1480         (.style-spreadsheet :matches(.selector .matched, .selector:focus)): Deleted.
1481         (.style-spreadsheet .name): Deleted.
1482         (.style-spreadsheet .value): Deleted.
1483         (.style-spreadsheet :matches(.selector, .name, .value)): Deleted.
1484         (.style-spreadsheet :matches(.selector, .name, .value):focus): Deleted.
1485         (.style-spreadsheet .selector-inline): Deleted.
1486         (.style-spreadsheet .property): Deleted.
1487         (.style-spreadsheet .property-disabled,): Deleted.
1488         (.style-spreadsheet .property-disabled :matches(.name, .value)): Deleted.
1489         (.style-spreadsheet .styles-source): Deleted.
1490         (.style-spreadsheet :matches(a, .node-link)): Deleted.
1491         (.style-spreadsheet :matches(a, .node-link):hover): Deleted.
1492         (.style-spreadsheet .declarations): Deleted.
1493         (.style-spreadsheet input[type="checkbox"]): Deleted.
1494         (.style-spreadsheet input[type="checkbox"]:not(:checked)): Deleted.
1495         (.style-spreadsheet .declarations:hover input[type="checkbox"]): Deleted.
1496         Drive-by fix: remove styles that don't apply to anything.
1497
1498 2018-09-19  Nikita Vasilyev  <nvasilyev@apple.com>
1499
1500         Web Inspector: move DarkMode.css rules into appropriate CSS files
1501         https://bugs.webkit.org/show_bug.cgi?id=189673
1502
1503         Reviewed by Matt Baker.
1504
1505         * UserInterface/Main.html:
1506         * UserInterface/Views/BezierEditor.css:
1507         (@media (prefers-dark-interface)):
1508         (.bezier-editor > .bezier-preview-timing):
1509         (.bezier-editor > .bezier-container .bezier-curve):
1510         (.bezier-editor > .bezier-container .linear-curve):
1511         (.bezier-editor > .bezier-preview):
1512         (.bezier-editor > .bezier-preview > div):
1513         (.bezier-editor > .bezier-container .control-handle):
1514         (.bezier-editor > .bezier-container .control-line):
1515         * UserInterface/Views/BreakpointActionView.css:
1516         (@media (prefers-dark-interface)):
1517         (.breakpoint-action-block-body):
1518         (.breakpoint-action-block-body > .description):
1519         (.breakpoint-action-append-button,):
1520         (.breakpoint-action-eval-editor):
1521         * UserInterface/Views/BreakpointPopoverController.css:
1522         (@media (prefers-dark-interface)):
1523         (.popover .edit-breakpoint-popover-content > label.toggle):
1524         (.popover .edit-breakpoint-popover-content > table > tr > th):
1525         (.edit-breakpoint-popover-condition):
1526         * UserInterface/Views/ButtonNavigationItem.css:
1527         (@media (prefers-dark-interface)):
1528         (.navigation-bar .item.button):
1529         * UserInterface/Views/ButtonToolbarItem.css:
1530         (@media (prefers-dark-interface)):
1531         (.toolbar .item.button):
1532         (.toolbar .item.button:not(.disabled):active):
1533         (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated)):
1534         (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated)):
1535         * UserInterface/Views/CallFrameView.css:
1536         (@media (prefers-dark-interface)):
1537         (.call-frame .subtitle,):
1538         (.call-frame:hover .subtitle .source-link,):
1539         (.call-frame .separator):
1540         * UserInterface/Views/CanvasContentView.css:
1541         (@media (prefers-dark-interface)):
1542         (.content-view.canvas:not(.tab)):
1543         * UserInterface/Views/CanvasOverviewContentView.css:
1544         (@media (prefers-dark-interface)):
1545         (.content-view.canvas-overview):
1546         (.content-view.canvas-overview .content-view.canvas):
1547         (.content-view.canvas-overview .content-view.canvas.is-recording):
1548         (.content-view.canvas-overview .content-view.canvas.is-recording > header):
1549         (.content-view.canvas-overview .content-view.canvas > header > .titles > .title):
1550         (.content-view.canvas-overview .content-view.canvas > header > .titles > .subtitle,):
1551         (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before):
1552         (.content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle):
1553         * UserInterface/Views/CanvasTabContentView.css:
1554         (@media (prefers-dark-interface)):
1555         (.content-view.tab.canvas .navigation-bar > .item .canvas-overview .icon):
1556         (.content-view.tab.canvas .navigation-bar > .item .canvas.canvas-2d .icon,):
1557         (.content-view.canvas > .preview > img,):
1558         * UserInterface/Views/CodeMirrorOverrides.css:
1559         (@media (prefers-dark-interface)):
1560         (.CodeMirror-cursor):
1561         (.CodeMirror .CodeMirror-gutters):
1562         (.cm-s-default .cm-link):
1563         (.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket):
1564         * UserInterface/Views/CompletionSuggestionsView.css:
1565         (@media (prefers-dark-interface)):
1566         (.completion-suggestions):
1567         (.completion-suggestions-container > .item):
1568         * UserInterface/Views/ComputedStyleDetailsPanel.css:
1569         (@media (prefers-dark-interface)):
1570         (.computed-style-properties.details-section):
1571         (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)):
1572         * UserInterface/Views/ConsoleMessageView.css:
1573         (@media (prefers-dark-interface)):
1574         (.console-message .syntax-highlighted):
1575         (.console-warning-level .console-message-text):
1576         (.console-error-level .console-message-text):
1577         (.console-user-command > .console-message-text):
1578         (.console-message .repeat-count):
1579         * UserInterface/Views/ConsolePrompt.css:
1580         (@media (prefers-dark-interface)):
1581         (.console-prompt):
1582         * UserInterface/Views/DOMNodeDetailsSidebarPanel.css:
1583         (@media (prefers-dark-interface)):
1584         (.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter:hover):
1585         * UserInterface/Views/DOMTreeOutline.css:
1586         (@media (prefers-dark-interface)):
1587         (.tree-outline.dom):
1588         (.tree-outline.dom li.elements-drag-over .selection-area):
1589         (.tree-outline.dom li.selected .selection-area):
1590         (.tree-outline.dom:focus li.selected .selection-area):
1591         (.tree-outline.dom li.selected + ol.children.expanded):
1592         (.tree-outline.dom .shadow):
1593         (.tree-outline.dom li.parent.shadow + ol.children.expanded,):
1594         (.showing-find-banner .tree-outline.dom .search-highlight):
1595         * UserInterface/Views/DarkMode.css: Removed.
1596         * UserInterface/Views/DataGrid.css:
1597         (@media (prefers-dark-interface)):
1598         (.data-grid th):
1599         (.data-grid td .subtitle):
1600         (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
1601         (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input):
1602         (.data-grid tr.editable .cell-content > input):
1603         (.data-grid td.spanning):
1604         * UserInterface/Views/DebuggerDashboardView.css:
1605         (@media (prefers-dark-interface)):
1606         (.toolbar .dashboard.debugger):
1607         (.dashboard.debugger .navigation-bar .item.button > .glyph):
1608         (.dashboard.debugger > .location .function-name):
1609         (.dashboard.debugger > .location .go-to-link):
1610         (.dashboard.debugger > .divider):
1611         * UserInterface/Views/DefaultDashboardView.css:
1612         (@media (prefers-dark-interface)):
1613         (.toolbar .dashboard.default > .item > div):
1614         (.toolbar .dashboard.default > .item.enabled > div):
1615         (.toolbar .dashboard.default > .item.enabled:hover):
1616         (.toolbar .dashboard.default > .item.enabled:hover > div):
1617         (.toolbar .dashboard.default > .resourcesCount > img,):
1618         (body.latest-mac .toolbar .dashboard .item.button):
1619         (.dashboard-container .advance-arrow):
1620         * UserInterface/Views/DetailsSection.css:
1621         (@media (prefers-dark-interface)):
1622         (.details-section > .header):
1623         (.details-section > .header > label):
1624         (.details-section .details-section,):
1625         (.details-section .details-section:not(.collapsed) > .header):
1626         (.details-section > .content > .group > .row.simple > .label):
1627         (.details-section > .content > .group:nth-child(even)):
1628         (.details-section > .content > .group > .row:matches(.empty, .text)):
1629         * UserInterface/Views/DividerNavigationItem.css:
1630         (@media (prefers-dark-interface)):
1631         (.navigation-bar .item.divider):
1632         * UserInterface/Views/Editing.css:
1633         (@media (prefers-dark-interface)):
1634         (.editing):
1635         (.editing, .editing *):
1636         * UserInterface/Views/FindBanner.css:
1637         (@media (prefers-dark-interface)):
1638         (.find-banner > input[type="search"]):
1639         (.find-banner.console-find-banner > input[type=search]:not(:placeholder-shown)):
1640         * UserInterface/Views/FontResourceContentView.css:
1641         (@media (prefers-dark-interface)):
1642         (.content-view.resource.font .preview > .line):
1643         (.content-view.resource.font .metric.top):
1644         (.content-view.resource.font .metric.baseline):
1645         (.content-view.resource.font .metric.middle):
1646         (.content-view.resource.font .metric.xheight):
1647         (.content-view.resource.font .metric.bottom):
1648         * UserInterface/Views/FormattedValue.css:
1649         (@media (prefers-dark-interface)):
1650         (.formatted-object,):
1651         (.formatted-null,):
1652         * UserInterface/Views/GeneralStyleDetailsSidebarPanel.css:
1653         (@media (prefers-dark-interface)):
1654         (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label):
1655         (.sidebar > .panel.details.css-style > .content ~ .options-container > .new-rule):
1656         (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
1657         * UserInterface/Views/HoverMenu.css:
1658         (@media (prefers-dark-interface)):
1659         (.hover-menu > svg > :matches(path, rect)):
1660         * UserInterface/Views/ImageResourceContentView.css:
1661         (@media (prefers-dark-interface)):
1662         (.content-view.resource.image):
1663         * UserInterface/Views/InlineSwatch.css:
1664         (@media (prefers-dark-interface)):
1665         (.inline-swatch):
1666         * UserInterface/Views/LogContentView.css:
1667         (@media (prefers-dark-interface)):
1668         (.console-messages):
1669         (.console-item):
1670         (.console-messages:focus .console-item.selected):
1671         (.console-messages:focus .console-item.selected + .console-item):
1672         (.console-session:first-of-type .console-session-header):
1673         (.console-session:not(:first-of-type) .console-session-header):
1674         (.console-messages a):
1675         (.console-messages a:hover):
1676         (.console-messages:focus .console-item.selected::after):
1677         (.console-error-level):
1678         (.console-error-level:not(.filtered-out, .filtered-out-by-search), .console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
1679         (.console-warning-level):
1680         (.console-warning-level:not(.filtered-out, .filtered-out-by-search), .console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
1681         (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted):
1682         (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
1683         * UserInterface/Views/Main.css:
1684         (#main):
1685         (@media (prefers-dark-interface)):
1686         (.go-to-arrow):
1687         (.resource-link,):
1688         (.expand-list-button):
1689         (:matches(img, canvas).show-grid):
1690         * UserInterface/Views/NetworkResourceDetailView.css:
1691         (@media (prefers-dark-interface)):
1692         (.network-resource-detail):
1693         (.network-resource-detail .item.close > .glyph):
1694         (.network .network-resource-detail .navigation-bar .item.radio.button.text-only.selected):
1695         (.resource-headers .value):
1696         * UserInterface/Views/NetworkTableContentView.css:
1697         (@media (prefers-dark-interface)):
1698         (.network-table .cell.domain > .lock):
1699         * UserInterface/Views/NewTabContentView.css:
1700         (@media (prefers-dark-interface)):
1701         (.new-tab.tab.content-view):
1702         * UserInterface/Views/ObjectTreePropertyTreeElement.css:
1703         (@media (prefers-dark-interface)):
1704         (.object-tree-property .getter,):
1705         (.item.object-tree-property.prototype-property):
1706         (.object-tree-property.prototype-property:hover,):
1707         (.object-tree-property .value.error):
1708         * UserInterface/Views/ObjectTreeView.css:
1709         (@media (prefers-dark-interface)):
1710         (.object-tree,):
1711         (.object-preview .name):
1712         (.object-preview > .size):
1713         * UserInterface/Views/OpenResourceDialog.css:
1714         (@media (prefers-dark-interface)):
1715         (.open-resource-dialog):
1716         (.open-resource-dialog > .field > input):
1717         (.open-resource-dialog > .field > input::placeholder):
1718         (.open-resource-dialog > .tree-outline .item.selected):
1719         (.open-resource-dialog > .field::before):
1720         * UserInterface/Views/ProgressView.css:
1721         (@media (prefers-dark-interface)):
1722         (.progress-view > .titles > .title):
1723         (.progress-view > .titles > .subtitle):
1724         (.indeterminate-progress-spinner):
1725         * UserInterface/Views/QuickConsole.css:
1726         (@media (prefers-dark-interface)):
1727         (.quick-console):
1728         (.CodeMirror .jump-to-symbol-highlight,):
1729         (.quick-console.showing-log):
1730         * UserInterface/Views/RecordingActionTreeElement.css:
1731         (@media (prefers-dark-interface)):
1732         (.item.action:not(.initial-state)::before):
1733         (.tree-outline .item.action.visual:not(.selected, .invalid)):
1734         (.item.action:not(.initial-state) > .icon):
1735         (.tree-outline:not(.hide-disclosure-buttons) .item.action:not(.initial-state, .parent) > .icon):
1736         * UserInterface/Views/RecordingContentView.css:
1737         (@media (prefers-dark-interface)):
1738         (.content-view:not(.tab).recording):
1739         (.content-view:not(.tab).recording > header > .slider-container):
1740         (.content-view:not(.tab).recording > header > .slider-container > input[type=range]):
1741         * UserInterface/Views/RecordingStateDetailsSidebarPanel.css:
1742         (@media (prefers-dark-interface)):
1743         (.sidebar > .panel.details.recording-state > .content > .data-grid tr.modified):
1744         * UserInterface/Views/ResourceHeadersContentView.css:
1745         (@media (prefers-dark-interface)):
1746         (.resource-headers .value):
1747         * UserInterface/Views/ResourceSizesContentView.css:
1748         (@media (prefers-dark-interface)):
1749         (.resource-sizes > .content .label):
1750         * UserInterface/Views/ResourceTimingBreakdownView.css:
1751         (@media (prefers-dark-interface)):
1752         (.popover.waterfall-popover):
1753         (.resource-timing-breakdown > table > tr.header:not(.total-row) > td):
1754         (.resource-timing-breakdown > table > tr > td.label,):
1755         (.resource-timing-breakdown > table hr):
1756         * UserInterface/Views/ScopeBar.css:
1757         (@media (prefers-dark-interface)):
1758         (.scope-bar > li):
1759         * UserInterface/Views/SearchBar.css:
1760         (@media (prefers-dark-interface)):
1761         (:matches(.search-bar, .filter-bar) > input[type="search"],):
1762         (:matches(.search-bar, .filter-bar) > input[type="search"]::placeholder):
1763         (:matches(.search-bar, .filter-bar) > input[type="search"]:focus):
1764         * UserInterface/Views/SearchSidebarPanel.css:
1765         (@media all):
1766         * UserInterface/Views/SettingsTabContentView.css:
1767         (@media (prefers-dark-interface)):
1768         (.content-view.settings .navigation-bar):
1769         (.content-view.settings .navigation-bar .item.radio.button.text-only.selected):
1770         * UserInterface/Views/ShaderProgramContentView.css:
1771         (@media (prefers-dark-interface)):
1772         (.content-view.shader-program > .text-editor.shader):
1773         (.content-view.shader-program > .text-editor.shader > .type-title):
1774         * UserInterface/Views/ShaderProgramTreeElement.css:
1775         (@media (prefers-dark-interface)):
1776         (.item.shader-program .status > img):
1777         * UserInterface/Views/SourceCodeTextEditor.css:
1778         (@media (prefers-dark-interface)):
1779         (.source-code.text-editor > .CodeMirror .error):
1780         (.source-code.text-editor > .CodeMirror .warning):
1781         (.source-code.text-editor > .CodeMirror .issue-widget):
1782         (.source-code.text-editor > .CodeMirror .issue-widget.warning,):
1783         (.source-code.text-editor > .CodeMirror .issue-widget.error,):
1784         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
1785         (@media (prefers-dark-interface)):
1786         (.spreadsheet-style-declaration-editor .property:not(.disabled) .value):
1787         (.spreadsheet-style-declaration-editor :matches(.name, .value).editing):
1788         (.spreadsheet-style-declaration-editor .property.has-warning):
1789         (.spreadsheet-style-declaration-editor .property.has-warning .warning):
1790         (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
1791         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
1792         (@media (prefers-dark-interface)):
1793         (.spreadsheet-css-declaration):
1794         (.spreadsheet-css-declaration.locked):
1795         (.spreadsheet-css-declaration .selector.style-attribute):
1796         (.spreadsheet-css-declaration .selector:focus,):
1797         (.spreadsheet-css-declaration.locked .origin::after):
1798         (.spreadsheet-css-declaration .origin .go-to-link,):
1799         (.spreadsheet-css-declaration .media-label):
1800         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:
1801         (@media (prefers-dark-interface)):
1802         (.spreadsheet-style-panel .section-header):
1803         (.spreadsheet-style-panel .section-header .node-link:hover):
1804         * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
1805         (@media (prefers-dark-interface)):
1806         (.syntax-highlighted,):
1807         (.cm-s-default,):
1808         (.cm-s-default .cm-attribute):
1809         (.cm-s-default .cm-m-xml.cm-attribute,):
1810         (.cm-s-default .cm-meta):
1811         (.cm-s-default .cm-variable-3):
1812         (.cm-s-default .cm-builtin):
1813         * UserInterface/Views/TabBar.css:
1814         (@media (prefers-dark-interface)):
1815         (.tab-bar):
1816         (.tab-bar > .item):
1817         (.tab-bar > .item > .title):
1818         (.tab-bar > .item:not(.disabled).selected):
1819         (.tab-bar:not(.animating) > .item:not(.selected):hover):
1820         (.tab-bar > .item > .close,):
1821         (body.window-inactive .tab-bar):
1822         (body.window-inactive .tab-bar > .item):
1823         (body.window-inactive .tab-bar > .item.selected):
1824         (body.window-inactive .tab-bar > .item > .title):
1825         * UserInterface/Views/Table.css:
1826         (@media (prefers-dark-interface)):
1827         (.table,):
1828         (.table > .header > .sortable:active):
1829         (.table > .header > :matches(.sort-ascending, .sort-descending)):
1830         (.table > .header > :matches(.sort-ascending, .sort-descending)::after):
1831         * UserInterface/Views/TextEditor.css:
1832         (@media (prefers-dark-interface)):
1833         (.text-editor > .CodeMirror .execution-line):
1834         (.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),):
1835         * UserInterface/Views/TimelineDataGrid.css:
1836         (@media (prefers-dark-interface)):
1837         (.data-grid th:matches(.sort-ascending, .sort-descending)):
1838         * UserInterface/Views/TimelineIcons.css:
1839         (@media (prefers-dark-interface)):
1840         (.time-icon .icon):
1841         * UserInterface/Views/TimelineOverview.css:
1842         (@media (prefers-dark-interface)):
1843         (.timeline-overview > .navigation-bar.timelines):
1844         (.timeline-overview:not(.frames) > .graphs-container > .timeline-overview-graph:nth-child(even)):
1845         (.timeline-overview.edit-instruments > .tree-outline.timelines .item:not(:first-child),):
1846         * UserInterface/Views/TimelineRecordingContentView.css:
1847         (@media (prefers-dark-interface)):
1848         (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple):
1849         (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows):
1850         * UserInterface/Views/Toolbar.css:
1851         (@media (prefers-dark-interface)):
1852         (body .toolbar):
1853         (body.window-inactive .toolbar):
1854         (body.latest-mac .toolbar .item.button,):
1855         (body.latest-mac .toolbar .search-bar > input[type="search"]):
1856         (body.latest-mac .toolbar .search-bar > input[type="search"]:focus):
1857         (body.latest-mac .toolbar .search-bar > input[type="search"]::placeholder):
1858         (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::placeholder):
1859         (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::-webkit-search-results-button):
1860         (body.latest-mac .toolbar .dashboard-container):
1861         (body.latest-mac .toolbar .item.button:active):
1862         (body.latest-mac.window-inactive .toolbar .item.button,):
1863         * UserInterface/Views/TreeOutline.css:
1864         (@media (prefers-dark-interface)):
1865         (.tree-outline .item .subtitle):
1866         * UserInterface/Views/Variables.css:
1867         (@media (prefers-dark-interface)):
1868         (:root):
1869         (body.window-inactive):
1870         (body.window-inactive *):
1871         * UserInterface/Views/WebSocketContentView.css:
1872         (@media (prefers-dark-interface)):
1873         (.web-socket.content-view .data-grid table.data tr.revealed):
1874         (.web-socket.content-view .data-grid.variable-height-rows table.data tr.outgoing):
1875         (.web-socket.content-view .data-grid.variable-height-rows table.data tr.non-text-frame):
1876         * UserInterface/Views/XHRBreakpointPopover.css:
1877         (@media (prefers-dark-interface)):
1878         (.popover .xhr-breakpoint-content > .editor-wrapper > .editor):
1879
1880 2018-09-17  Devin Rousso  <drousso@apple.com>
1881
1882         Web Inspector: generate CSSKeywordCompletions from backend values
1883         https://bugs.webkit.org/show_bug.cgi?id=189041
1884
1885         Reviewed by Joseph Pecoraro.
1886
1887         Moves the longhands map to `WI.CSSKeywordCompletions` for more global access. Creates an
1888         aliases map to support completions on aliases with the same values as the non-alias name.
1889         Removes all keyword-only properties from `WI.CSSKeywordCompletions._propertyKeywordMap` as
1890         they are now generated by the backend (kept for compatibility).
1891
1892         * UserInterface/Models/CSSCompletions.js:
1893         (WI.CSSCompletions):
1894         (WI.CSSCompletions.requestCSSCompletions.propertyNamesCallback):
1895         (WI.CSSCompletions.prototype.isShorthandPropertyName):
1896
1897         * UserInterface/Models/CSSKeywordCompletions.js:
1898         (WI.CSSKeywordCompletions.forProperty.addKeywordsForName): Added.
1899         (WI.CSSKeywordCompletions.forProperty):
1900         (WI.CSSKeywordCompletions.addCustomCompletions):
1901
1902         * UserInterface/Models/CSSProperty.js:
1903         (WI.CSSProperty.isInheritedPropertyName):
1904
1905 2018-09-15  Devin Rousso  <drousso@apple.com>
1906
1907         Web Inspector: REGRESSION: breakpoint context menu appears twice in DOM tree
1908         https://bugs.webkit.org/show_bug.cgi?id=189308
1909
1910         Reviewed by Joseph Pecoraro.
1911
1912         * UserInterface/Controllers/DOMBreakpointTreeController.js:
1913         (WI.DOMBreakpointTreeController.appendBreakpointContextMenuItems):
1914         Set a symbol on the `contextMenu` to ensure that the same items are not added twice.
1915
1916 2018-09-14  Joseph Pecoraro  <pecoraro@apple.com>
1917
1918         Web Inspector: Source View doesn't scroll to show line when breakpoint is hit inside of <script> in HTML resource
1919         https://bugs.webkit.org/show_bug.cgi?id=189638
1920         <rdar://problem/43359278>
1921
1922         Reviewed by Matt Baker.
1923
1924         Pausing in Document resources on page load have special considerations where we
1925         may not receive their full content immediately, so we may synthesize inline script
1926         content for the resource until we have full content. Unfortunately, when we get
1927         full content and update the TextEditor we were losing the revealed position and
1928         other editor information. This change specifically targets those cases, by
1929         re-applying editor state when updating such a resource from partial to full content.
1930
1931         * UserInterface/Views/SourceCodeTextEditor.js:
1932         (WI.SourceCodeTextEditor.prototype._contentAvailable):
1933         Signal to the editor that when updating the content it should carry
1934         over editor state. Only do this if we had partial content before.
1935
1936         * UserInterface/Views/TextEditor.js:
1937         (WI.TextEditor):
1938         (WI.TextEditor.prototype.set repeatReveal):
1939         Provide a way to signal we should restore state when update the content.
1940
1941         (WI.TextEditor.set string.update):
1942         (WI.TextEditor.prototype.set string):
1943         When repeatReveal was enabled, restore editor state such as the
1944         revealed location and text selection.
1945
1946 2018-09-14  Devin Rousso  <webkit@devinrousso.com>
1947
1948         Web Inspector: Record actions performed on ImageBitmapRenderingContext
1949         https://bugs.webkit.org/show_bug.cgi?id=181341
1950
1951         Reviewed by Joseph Pecoraro.
1952
1953         * UserInterface/Models/Recording.js:
1954         (WI.Recording.fromPayload):
1955         (WI.Recording.prototype.createContext):
1956
1957         * UserInterface/Models/RecordingAction.js:
1958         (WI.RecordingAction._prototypeForType):
1959         (WI.RecordingAction.prototype.getImageParameters):
1960
1961         * UserInterface/Views/RecordingActionTreeElement.js:
1962         (WI.RecordingActionTreeElement._classNameForAction.classNameForActionName):
1963
1964         * UserInterface/Views/RecordingContentView.js:
1965         (WI.RecordingContentView):
1966         (WI.RecordingContentView.prototype.get navigationItems):
1967         (WI.RecordingContentView.prototype.updateActionIndex):
1968         (WI.RecordingContentView.prototype.shown):
1969         (WI.RecordingContentView.prototype.hidden):
1970         (WI.RecordingContentView.prototype._generateContentFromSnapshot): Renamed.
1971         (WI.RecordingContentView.prototype._updateImageGrid):
1972         (WI.RecordingContentView.prototype._generateContentCanvasWebGL): Deleted.
1973
1974         * UserInterface/Views/CanvasContentView.js:
1975         (WI.CanvasContentView):
1976
1977 2018-09-13  Jamal Nasser  <jamaln@mail.com>
1978
1979         Web Inspector: Dark Mode: bezier curve editor should be updated
1980         https://bugs.webkit.org/show_bug.cgi?id=187657
1981
1982         Reviewed by Matt Baker.
1983
1984         * UserInterface/Views/DarkMode.css:
1985         (@media (prefers-dark-interface)):
1986         (.bezier-editor > .bezier-preview-timing):
1987         (.bezier-editor > .bezier-container .bezier-curve):
1988         (.bezier-editor > .bezier-container .linear-curve):
1989         (.bezier-editor > .bezier-preview):
1990         (.bezier-editor > .bezier-preview > div):
1991         (.bezier-editor > .bezier-container .control-handle):
1992         (.bezier-editor > .bezier-container .control-line):
1993
1994 2018-09-13  Matt Baker  <mattbaker@apple.com>
1995
1996         Web Inspector: Timelines: clicking a row in Script > Events grid triggers Location popover when column is hidden
1997         https://bugs.webkit.org/show_bug.cgi?id=189603
1998         <rdar://problem/44431403>
1999
2000         Reviewed by Joseph Pecoraro.
2001
2002         TimelineDataGrid controls showing/hiding the call frame popover, with subclasses
2003         overriding callFramePopoverAnchorElement to position it. This patch adds
2004         another overridable base class method, shouldShowCallFramePopover, which subclasses
2005         can use to block the popover when the Location column is hidden.
2006
2007         * UserInterface/Views/DataGrid.js:
2008         (WI.DataGrid.prototype.layout):
2009         (WI.DataGrid.prototype._positionResizerElements):
2010         (WI.DataGrid.prototype._isColumnVisible): Deleted.
2011
2012         * UserInterface/Views/LayoutTimelineDataGrid.js:
2013         (WI.LayoutTimelineDataGrid.prototype.shouldShowCallFramePopover):
2014         (WI.LayoutTimelineDataGrid):
2015
2016         * UserInterface/Views/ScriptTimelineDataGrid.js:
2017         (WI.ScriptTimelineDataGrid.prototype.shouldShowCallFramePopover):
2018         (WI.ScriptTimelineDataGrid):
2019
2020         * UserInterface/Views/TimelineDataGrid.js:
2021         (WI.TimelineDataGrid.prototype.shouldShowCallFramePopover):
2022         (WI.TimelineDataGrid.prototype._dataGridSelectedNodeChanged):
2023
2024 2018-09-13  Joseph Pecoraro  <pecoraro@apple.com>
2025
2026         Web Inspector: Opening inspector with a selected element might immediately scroll that element off screen in the DOM Tree outline
2027         https://bugs.webkit.org/show_bug.cgi?id=189569
2028         <rdar://problem/44397098>
2029
2030         Reviewed by Devin Rousso.
2031
2032         * UserInterface/Views/DOMTreeContentView.js:
2033         (WI.DOMTreeContentView.prototype.layout):
2034         Re-select the selected DOM node in the DOM Tree when the view resizes.
2035         Typically this can happen if the sidebar opens/closes/resizes, in which
2036         case we will want the selected DOM node to stay in view even if the DOM
2037         tree starts wrapping earlier content.
2038
2039 2018-09-12  Joseph Pecoraro  <pecoraro@apple.com>
2040
2041         Web Inspector: fix test case failures in js-isLikelyStackTrace.html
2042         https://bugs.webkit.org/show_bug.cgi?id=180664
2043
2044         Reviewed by Devin Rousso.
2045
2046         * UserInterface/Models/StackTrace.js:
2047         (WI.StackTrace.isLikelyStackTrace):
2048         In a quick benchmark 50% of the time was rebuilding the same complex regular
2049         expression over and over again. Instead just build the regex once and reset
2050         it before each use.
2051
2052 2018-09-12  Devin Rousso  <drousso@apple.com>
2053
2054         Web Inspector: imported recordings are unable to be viewed after navigation
2055         https://bugs.webkit.org/show_bug.cgi?id=189208
2056
2057         Reviewed by Joseph Pecoraro.
2058
2059         Move the "Imported Recordings" folder to the top level (instead of under "Overview") so that
2060         it is selectable when there are no canvases but there is an imported recording.
2061
2062         * UserInterface/Controllers/CanvasManager.js:
2063         (WI.CanvasManager.prototype._removeCanvas):
2064         Null out the `source` of each `WI.Recording` for the removed `WI.Canvas`.
2065
2066         * UserInterface/Views/CanvasTabContentView.js:
2067         (WI.CanvasTabContentView):
2068         (WI.CanvasTabContentView.prototype._removeCanvas):
2069         Add each `WI.Recording`for the removed `WI.Canvas` to the "Imported Recordings" folder.
2070
2071         * UserInterface/Views/CanvasContentView.js:
2072         (WI.CanvasContentView.prototype.refresh):
2073         (WI.CanvasContentView.prototype.initialLayout):
2074         (WI.CanvasContentView.prototype._showError):
2075         Drive-by: don't recreate the error preview element if it already exists.
2076
2077         * UserInterface/Views/CanvasSidebarPanel.js:
2078         (WI.CanvasSidebarPanel.prototype.updateRepresentedObjects): Added.
2079         (WI.CanvasSidebarPanel.prototype.shown):
2080         (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange): Deleted.
2081
2082 2018-09-11  Joseph Pecoraro  <pecoraro@apple.com>
2083
2084         Web Inspector: Fix typo "vritualized"
2085         https://bugs.webkit.org/show_bug.cgi?id=189511
2086
2087         Reviewed by Devin Rousso.
2088
2089         * UserInterface/Views/TreeOutline.js:
2090         (WI.TreeOutline):
2091         (WI.TreeOutline.prototype.registerScrollVirtualizer):
2092         (WI.TreeOutline.prototype.updateVirtualizedElements):
2093
2094 2018-09-10  Joseph Pecoraro  <pecoraro@apple.com>
2095
2096         Web Inspector: Address some ESLint warnings
2097         https://bugs.webkit.org/show_bug.cgi?id=188824
2098
2099         Reviewed by Matt Baker.
2100
2101         * .eslintrc:
2102         * UserInterface/Base/Platform.js:
2103         * UserInterface/Controllers/AuditManager.js:
2104         * UserInterface/Controllers/BasicBlockAnnotator.js:
2105         * UserInterface/Controllers/CallFrameTreeController.js:
2106         * UserInterface/Controllers/HARBuilder.js:
2107         * UserInterface/Models/AuditReport.js:
2108         * UserInterface/Models/AuditResult.js:
2109         * UserInterface/Models/AuditTestCase.js:
2110         * UserInterface/Models/AuditTestSuite.js:
2111         * UserInterface/Models/Cookie.js:
2112         * UserInterface/Models/SourceCodePosition.js:
2113         * UserInterface/Test/FrontendTestHarness.js:
2114         * UserInterface/Test/TestSuite.js:
2115         * UserInterface/Views/CanvasContentView.js:
2116         * UserInterface/Views/CollectionContentView.js:
2117         * UserInterface/Views/ContentBrowser.js:
2118         * UserInterface/Views/CookieStorageContentView.js:
2119         * UserInterface/Views/DataGrid.js:
2120         * UserInterface/Views/DatabaseTableContentView.js:
2121         * UserInterface/Views/FindBanner.js:
2122         * UserInterface/Views/JSONResourceContentView.js:
2123         * UserInterface/Views/LogContentView.js:
2124         * UserInterface/Views/ResourceSidebarPanel.js:
2125         * UserInterface/Views/SourceCodeTextEditor.js:
2126         * UserInterface/Views/SpreadsheetTextField.js:
2127         * UserInterface/Workers/Formatter/FormatterUtilities.js:
2128
2129 2018-09-06  Andy Estes  <aestes@apple.com>
2130
2131         [Apple Pay] Rename the -apple-pay-button-type value "checkout" to "check-out"
2132         https://bugs.webkit.org/show_bug.cgi?id=189366
2133         <rdar://problem/44193218>
2134
2135         Reviewed by Sam Weinig.
2136
2137         * UserInterface/Models/CSSKeywordCompletions.js:
2138
2139 2018-08-31  Jamal Nasser  <xnasser@outlook.com>
2140
2141         Added a CSS rule to DarkMode.css to fix color on sidebar toggle.
2142         <https://webkit.org/b/189139>
2143
2144         Reviewed by Matt Baker.
2145
2146         * UserInterface/Views/DarkMode.css:
2147         (@media (prefers-dark-interface)):
2148         (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
2149
2150 2018-08-29  David Kilzer  <ddkilzer@apple.com>
2151
2152         Remove empty directories from from svn.webkit.org repository
2153         <https://webkit.org/b/189081>
2154
2155         * WebInspectorUI.esproj: Removed.
2156
2157 2018-08-28  Devin Rousso  <drousso@apple.com>
2158
2159         console.log() shows (anonymous function) instead of the passed string when a certain format is used
2160         https://bugs.webkit.org/show_bug.cgi?id=188946
2161         <rdar://problem/43756428>
2162
2163         Reviewed by Brian Burg.
2164
2165         Stack trace URLs are much more likely to follow the following format:
2166
2167             <protocol>://<path>:<line>:<column>
2168
2169         Modify the test regexp to always require that a protocol exists and to check that there are
2170         no ":" inside the protocol or path. Additionally, stack traces usually have more than one
2171         frame, so return false if there isn't more than one line.
2172
2173         * UserInterface/Models/StackTrace.js:
2174         (WI.StackTrace.isLikelyStackTrace):
2175
2176 2018-08-28  Devin Rousso  <drousso@apple.com>
2177
2178         Web Inspector: REGRESSION: CanvasSidebarPanel is empty for imported recordings
2179         https://bugs.webkit.org/show_bug.cgi?id=189061
2180
2181         Reviewed by Brian Burg.
2182
2183         When recordings are imported, they don't have an associated `WI.Canvas`, meaning that the
2184         `WI.Recording` is never added to the canvas' `WI.RecordingCollection`. Previously, the
2185         canvas sidebar relied upon the `ItemAdded` event to update the recording `WI.ScopeBar`.
2186         Since the imported recording isn't ever added to the collection, this is never fired.
2187
2188         This patch moves the function call that updates the `WI.ScopeBar` to a more universal path,
2189         ensuring that no matter how a `WI.Recording` is set for the sidebar, it will be shown.
2190
2191         * UserInterface/Views/CanvasSidebarPanel.js:
2192         (WI.CanvasSidebarPanel.prototype.set recording):
2193         (WI.CanvasSidebarPanel.prototype._recordingAdded):
2194         (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
2195
2196 2018-08-28  Devin Rousso  <drousso@apple.com>
2197
2198         Web Inspector: Search bar is too narrow in some localizations
2199         https://bugs.webkit.org/show_bug.cgi?id=189060
2200         <rdar://problem/43006369>
2201
2202         Reviewed by Brian Burg.
2203
2204         * UserInterface/Views/Toolbar.css:
2205         (.toolbar .search-bar):
2206
2207 2018-08-27  Keith Rollin  <krollin@apple.com>
2208
2209         Unreviewed build fix -- disable LTO for production builds
2210
2211         * Configurations/Base.xcconfig:
2212
2213 2018-08-27  Andy Estes  <aestes@apple.com>
2214
2215         Teach Web Inspector how to complete keywords for -apple-pay-button-style and -apple-pay-button-type
2216         https://bugs.webkit.org/show_bug.cgi?id=189001
2217
2218         Reviewed by Devin Rousso.
2219
2220         * UserInterface/Models/CSSKeywordCompletions.js:
2221
2222 2018-08-27  Devin Rousso  <drousso@apple.com>
2223
2224         Web Inspector: when scrolling a virtualized TreeOutline, only update the DOM periodically
2225         https://bugs.webkit.org/show_bug.cgi?id=188960
2226
2227         Reviewed by Brian Burg.
2228
2229         After each `updateVirtualizedElements` call, remember the `WI.TreeElement` that is located
2230         halfway within the visible list. When handling each "scroll", only regenerate the
2231         `WI.TreeOutline` DOM if the user has scrolled `extraRows` distance.
2232
2233         * UserInterface/Views/TreeOutline.js:
2234         (WI.TreeOutline):
2235         (WI.TreeOutline.prototype.registerScrollVirtualizer):
2236         (WI.TreeOutline.prototype.updateVirtualizedElements):
2237         (WI.TreeOutline.prototype._calculateVirtualizedValues): Added.
2238
2239 2018-08-27  Devin Rousso  <drousso@apple.com>
2240
2241         Web Inspector: provide autocompletion for event breakpoints
2242         https://bugs.webkit.org/show_bug.cgi?id=188717
2243
2244         Reviewed by Brian Burg.
2245
2246         * UserInterface/Controllers/DOMTreeManager.js:
2247         (WI.DOMTreeManager):
2248         (WI.DOMTreeManager.prototype.getSupportedEventNames): Added.
2249
2250         * UserInterface/Views/EventBreakpointPopover.js:
2251         (WI.EventBreakpointPopover):
2252         (WI.EventBreakpointPopover.prototype.show):
2253         (WI.EventBreakpointPopover.prototype.dismiss): Added.
2254         (WI.EventBreakpointPopover.prototype.completionSuggestionsClickedCompletion): Added.
2255         (WI.EventBreakpointPopover.prototype._presentOverTargetElement):
2256         (WI.EventBreakpointPopover.prototype._showSuggestionsView): Added.
2257
2258 2018-08-27  Keith Rollin  <krollin@apple.com>
2259
2260         Build system support for LTO
2261         https://bugs.webkit.org/show_bug.cgi?id=187785
2262         <rdar://problem/42353132>
2263
2264         Reviewed by Dan Bernstein.
2265
2266         Update Base.xcconfig and DebugRelease.xcconfig to optionally enable
2267         LTO.
2268
2269         * Configurations/Base.xcconfig:
2270         * Configurations/DebugRelease.xcconfig:
2271
2272 2018-08-27  Devin Rousso  <drousso@apple.com>
2273
2274         Web Inspector: REGRESSION: virtualized TreeOutline is empty when filtering
2275         https://bugs.webkit.org/show_bug.cgi?id=188959
2276
2277         Reviewed by Brian Burg.
2278
2279         * UserInterface/Views/TreeElement.js:
2280         (WI.TreeElement.prototype.set hidden):
2281         Only set `focusedTreeElement` if the `WI.TreeElement` is selected and not hidden. There is
2282         no reason to focus a hidden or unselected `WI.TreeElement`.
2283
2284 2018-08-23  Devin Rousso  <drousso@apple.com>
2285
2286         Web Inspector: Color picker: can't enter decimal numbers for opacity
2287         https://bugs.webkit.org/show_bug.cgi?id=187026
2288         <rdar://problem/41446500>
2289
2290         Reviewed by Brian Burg.
2291
2292         After every "input" event, we update the `color` value of the `WI.ColorPicker` based on a
2293         generated string using the values of the various <input>. The issue with this approach is
2294         that adding a decimal point (e.g. "0.") would still be construed as 0, meaning that the
2295         color wouldn't change and would instead be reset back to it's old value. This patch adds an
2296         early return if the newly generated color has the same value as the current color, thereby
2297         meaning that the `color` wouldn't change when changing from "0" to "0.".
2298
2299         * UserInterface/Views/ColorPicker.js:
2300         (WI.ColorPicker):
2301         (WI.ColorPicker.createColorInput):
2302         (WI.ColorPicker.prototype._handleColorInputInput):
2303
2304 2018-08-23  Simon Fraser  <simon.fraser@apple.com>
2305
2306         Add support for dumping GC heap snapshots, and a viewer
2307         https://bugs.webkit.org/show_bug.cgi?id=186416
2308
2309         Reviewed by Joseph Pecoraro.
2310
2311         Make a way to dump information about the GC heap that is useful for looking for leaked
2312         or abandoned objects. This dump is obtained (on Apple platforms) via:
2313             notifyutil -p com.apple.WebKit.dumpGCHeap
2314         which writes a JSON file to /tmp which can then be loaded into the viewer in Tools/GCHeapInspector.
2315
2316         This leverages the heap snapshot used by Web Inspector, adding an alternate format for
2317         the snapshot JSON that adds additional data about objects and why they are GC roots.
2318
2319         The generated bindings code is changed to include the output root reason from isReachableFromOpaqueRoots(),
2320         and to implement heapSnapshot() which provides the address of the wrapped object. A new IDL attribute,
2321         CustomHeapSnapshot, is used to allow custom heapSnapshot() implementations for classes like JSDocument
2322         that need to decorate the heap snapshot cell data with things like the document URL.
2323
2324         GCController registers a notifyutil callback which gathers the debug heap snapshot, and dumps it
2325         to a file in /tmp. The file path is printed out to the system log.
2326
2327         * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
2328         (HeapSnapshot):
2329
2330 2018-08-23  Brian Burg  <bburg@apple.com>
2331
2332         Web Inspector: fix typos in some compositing reasons
2333         https://bugs.webkit.org/show_bug.cgi?id=188905
2334         <rdar://problem/43624825>
2335
2336         Reviewed by Simon Fraser.
2337
2338         * Localizations/en.lproj/localizedStrings.js:
2339         * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
2340         (WI.LayerTreeDetailsSidebarPanel.prototype._populateListOfCompositingReasons):
2341         (WI.LayerTreeDetailsSidebarPanel):
2342         * UserInterface/Views/Layers3DContentView.js:
2343         (WI.Layers3DContentView.prototype._updateReasonsList):
2344         (WI.Layers3DContentView):
2345
2346 2018-08-23  Devin Rousso  <drousso@apple.com>
2347
2348         Web Inspector: support breakpoints for timers and animation-frame events
2349         https://bugs.webkit.org/show_bug.cgi?id=188778
2350
2351         Reviewed by Brian Burg.
2352
2353         Add a `type` to `WI.EventBreakpoint` that matches `DOMDebugger.EventBreakpointType`:
2354          - `AnimationFrame` for `requestAnimationFrame`
2355          - `Listener` for any named DOM Event
2356          - `Timer` for `setTimeout` and `setInterval`
2357
2358         Modified `WI.EventBreakpointPopover` to provide ways for selecting these other types, which
2359         is then passed to `WI.DOMDebuggerManager`, which now calls through to the newly added
2360         `DOMDebugger.removeEventBreakpoint` and `DOMDebugger.setEventBreakpoint` that sets
2361         breakpoints for all event types.
2362
2363         * Localizations/en.lproj/localizedStrings.js:
2364         * UserInterface/Images/EventBreakpointAnimationFrame.svg: Added.
2365         * UserInterface/Images/EventBreakpointListener.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/EventBreakpoint.svg.
2366         * UserInterface/Images/EventBreakpointTimer.svg: Added.
2367
2368         * UserInterface/Controllers/DOMDebuggerManager.js:
2369         (WI.DOMDebuggerManager.supportsEventBreakpoints): Added.
2370         (WI.DOMDebuggerManager.prototype.eventBreakpointForTypeAndEventName): Added.
2371         (WI.DOMDebuggerManager.prototype.addEventBreakpoint):
2372         (WI.DOMDebuggerManager.prototype.removeEventBreakpoint.breakpointRemoved): Added.
2373         (WI.DOMDebuggerManager.prototype.removeEventBreakpoint):
2374         (WI.DOMDebuggerManager.prototype._updateEventBreakpoint):
2375         (WI.DOMDebuggerManager.prototype.eventBreakpointForEventName): Deleted.
2376
2377         * UserInterface/Controllers/DOMTreeManager.js:
2378         (WI.DOMTreeManager.prototype.setBreakpointForEventListener):
2379
2380         * UserInterface/Controllers/DebuggerManager.js:
2381         (WI.DebuggerManager.prototype._pauseReasonFromPayload):
2382
2383         * UserInterface/Models/EventBreakpoint.js:
2384         (WI.EventBreakpoint):
2385         (WI.EventBreakpoint.fromPayload):
2386         (WI.EventBreakpoint.prototype.get type): Added.
2387         (WI.EventBreakpoint.prototype.get serializableInfo):
2388         (WI.EventBreakpoint.prototype.saveIdentityToCookie):
2389
2390         * UserInterface/Views/DebuggerSidebarPanel.js:
2391         (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
2392         (WI.DebuggerSidebarPanel.prototype.willDismissPopover):
2393
2394         * UserInterface/Views/EventBreakpointPopover.js:
2395         (WI.EventBreakpointPopover):
2396         (WI.EventBreakpointPopover.prototype.get breakpoint): Added.
2397         (WI.EventBreakpointPopover.prototype.show):
2398         (WI.EventBreakpointPopover.prototype.show.createOption): Added.
2399         (WI.EventBreakpointPopover.prototype.dismiss): Added.
2400         (WI.EventBreakpointPopover.prototype._presentOverTargetElement):
2401         (WI.EventBreakpointPopover.prototype._handleTypeSelectChange): Added.
2402         (WI.EventBreakpointPopover.prototype.get result): Deleted.
2403         (WI.EventBreakpointPopover.prototype.get value): Deleted.
2404         * UserInterface/Views/EventBreakpointPopover.css:
2405         (.popover .event-breakpoint-content > .event-type): Added.
2406         (.popover .event-breakpoint-content > input): Deleted.
2407
2408         * UserInterface/Views/EventBreakpointTreeElement.js:
2409         (WI.EventBreakpointTreeElement):
2410         * UserInterface/Views/EventBreakpointTreeElement.css:
2411         (.breakpoint.event.animation-frame:not(.breakpoint-paused-icon) .icon): Added.
2412         (.breakpoint.event.listener:not(.breakpoint-paused-icon) .icon): Added.
2413         (.breakpoint.event.timer:not(.breakpoint-paused-icon) .icon): Added.
2414         (.breakpoint.event:not(.breakpoint-paused-icon) .icon): Deleted.
2415
2416 2018-08-23  Devin Rousso  <drousso@apple.com>
2417
2418         Web Inspector: `console.inspect(sessionStorage)` first time does not show Session Storage content view if Storage tab was previously unvisited
2419         https://bugs.webkit.org/show_bug.cgi?id=188801
2420
2421         Reviewed by Matt Baker.
2422
2423         * UserInterface/Base/Main.js:
2424         (WI.tabContentViewClassForRepresentedObject):
2425         (WI._storageWasInspected):
2426         Since the `WI.StorageSidebarPanel` is not created until the `WI.StorageTabContentView` is
2427         created, the `WI.StorageManager.Event.DOMStorageObjectWasInspected` and
2428         `WI.StorageManager.Event.DatabaseWasInspected` events do not reach the sidebar. We should
2429         follow what `WI._domNodeWasInspected` does and additionally call `WI.showRepresentedObject`
2430         on the inspected object.
2431
2432 2018-08-23  Devin Rousso  <drousso@apple.com>
2433
2434         Web Inspector: REGRESSION: InspectorStyleSheet not visible in the resources sidebar
2435         https://bugs.webkit.org/show_bug.cgi?id=188819
2436         <rdar://problem/43579039>
2437
2438         Reviewed by Brian Burg.
2439
2440         * UserInterface/Models/ResourceCollection.js:
2441         (WI.ResourceCollection.prototype.objectIsRequiredType):
2442
2443 2018-08-23  Joseph Pecoraro  <pecoraro@apple.com>
2444
2445         JSContext Inspector: Scripts not showing up in Resources tab
2446         https://bugs.webkit.org/show_bug.cgi?id=188814
2447         <rdar://problem/43576117>
2448
2449         Reviewed by Brian Burg.
2450
2451         * UserInterface/Views/ResourceSidebarPanel.js:
2452         (WI.ResourceSidebarPanel.prototype._addScript):
2453         This path shouldn't apply to JSContext inspection which will
2454         never have a pageTarget and but doesn't have a mainResource.
2455
2456 2018-08-22  Devin Rousso  <drousso@apple.com>
2457
2458         Web Inspector: cannot delete multiple event breakpoints by repeatedly hitting delete
2459         https://bugs.webkit.org/show_bug.cgi?id=188803
2460         <rdar://problem/43572838>
2461
2462         Reviewed by Matt Baker.
2463
2464         * UserInterface/Views/DebuggerSidebarPanel.js:
2465         (WI.DebuggerSidebarPanel.prototype._domBreakpointAddedOrRemoved):
2466         (WI.DebuggerSidebarPanel.prototype._eventBreakpointAddedOrRemoved):
2467
2468 2018-08-22  Carlos Garcia Campos  <cgarcia@igalia.com>
2469
2470         Unreviewed. Do not include TreeOutlineDataGridSynchronizer.js in inspector main.
2471
2472         The script was removed in r235151.
2473
2474         * UserInterface/Main.html:
2475
2476 2018-08-21  Matt Baker  <mattbaker@apple.com>
2477
2478         Web Inspector: Remove TreeOutlineDataGridSynchronizer
2479         https://bugs.webkit.org/show_bug.cgi?id=188449
2480         <rdar://problem/43107980>
2481
2482         Reviewed by Devin Rousso.
2483
2484         * UserInterface/Views/HeapAllocationsTimelineView.js:
2485         (WI.HeapAllocationsTimelineView.prototype.layout):
2486         * UserInterface/Views/LayoutTimelineView.js:
2487         (WI.LayoutTimelineView.prototype._processPendingRecords):
2488         * UserInterface/Views/NetworkTimelineView.js:
2489         (WI.NetworkTimelineView.prototype._processPendingRecords):
2490         * UserInterface/Views/RenderingFrameTimelineView.js:
2491         (WI.RenderingFrameTimelineView.prototype._processPendingRecords):
2492         (WI.RenderingFrameTimelineView.prototype.dataGridNodeForTreeElement): Deleted.
2493         * UserInterface/Views/ScriptDetailsTimelineView.js:
2494         (WI.ScriptDetailsTimelineView.prototype._processPendingRecords):
2495         * UserInterface/Views/TimelineDataGrid.js:
2496         (WI.TimelineDataGrid):
2497         (WI.TimelineDataGrid.prototype.reset):
2498         (WI.TimelineDataGrid.prototype.shown):
2499         (WI.TimelineDataGrid.prototype.addRowInSortOrder):
2500         (WI.TimelineDataGrid.prototype._refreshDirtyDataGridNodes):
2501         (WI.TimelineDataGrid.prototype._sort):
2502         (WI.TimelineDataGrid.prototype.treeElementForDataGridNode): Deleted.
2503         (WI.TimelineDataGrid.prototype.dataGridNodeForTreeElement): Deleted.
2504         * UserInterface/Views/TreeOutlineDataGridSynchronizer.js: Removed.
2505
2506 2018-08-21  Joseph Pecoraro  <pecoraro@apple.com>
2507
2508         Web Inspector: ⌘G does not while find banner is focused
2509         https://bugs.webkit.org/show_bug.cgi?id=188815
2510         <rdar://problem/43577158>
2511
2512         Reviewed by Matt Baker.
2513
2514         * UserInterface/Base/Main.js:
2515         Allow an <input> element to be the current focus element, which is what will
2516         our global KeyboardShortcut handlers will interact with. Also make sure
2517         that showing the find banner for the first time still focuses it.
2518
2519 2018-08-21  Devin Rousso  <drousso@apple.com>
2520
2521         Web Inspector: REGRESSION(r235095): duplicate actions existing in WI.CanvasSidebarPanel
2522         https://bugs.webkit.org/show_bug.cgi?id=188808
2523
2524         Reviewed by Joseph Pecoraro.
2525
2526         * UserInterface/Views/CanvasSidebarPanel.js:
2527         (WI.CanvasSidebarPanel.prototype._recordingChanged):
2528         Check that the `WI.RecordingAction` is not already represented in the `WI.TreeOutline`
2529         before adding it.
2530
2531         * UserInterface/Views/CanvasSidebarPanel.css:
2532         (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle > progress):
2533         Drive-by: vertically center the <progress> shown for `WI.RecordingFrame` during processing.
2534
2535 2018-08-21  Devin Rousso  <drousso@apple.com>
2536
2537         Web Inspector: Canvas: provide default icon for all actions
2538         https://bugs.webkit.org/show_bug.cgi?id=188807
2539
2540         Reviewed by Matt Baker.
2541
2542         * UserInterface/Views/RecordingActionTreeElement.css:
2543         (.item.action > .icon):
2544         (.item.action.initial-state > .icon): Deleted.
2545
2546 2018-08-21  Joseph Pecoraro  <pecoraro@apple.com>
2547
2548         Web Inspector: Rulers.svg is missing
2549         https://bugs.webkit.org/show_bug.cgi?id=188806
2550         <rdar://problem/43574273>
2551
2552         Reviewed by Devin Rousso.
2553
2554         * UserInterface/Images/Rulers.svg: Added.
2555
2556 2018-08-20  Devin Rousso  <drousso@apple.com>
2557
2558         Web Inspector: allow breakpoints to be set for specific event listeners
2559         https://bugs.webkit.org/show_bug.cgi?id=183138
2560
2561         Reviewed by Joseph Pecoraro.
2562
2563         * Localizations/en.lproj/localizedStrings.js:
2564
2565         * UserInterface/Models/EventBreakpoint.js:
2566         (WI.EventBreakpoint):
2567         (WI.EventBreakpoint.fromPayload): Added.
2568         (WI.EventBreakpoint.prototype.get eventListener): Added.
2569
2570         * UserInterface/Controllers/DOMDebuggerManager.js:
2571         (WI.DOMDebuggerManager):
2572
2573         * UserInterface/Controllers/DOMTreeManager.js:
2574         (WI.DOMTreeManager):
2575         (WI.DOMTreeManager.prototype.get eventBreakpoints): Added.
2576         (WI.DOMTreeManager.prototype._setDocument):
2577         (WI.DOMTreeManager.prototype.setEventListenerDisabled):
2578         (WI.DOMTreeManager.prototype.setBreakpointForEventListener): Added.
2579         (WI.DOMTreeManager.prototype.removeBreakpointForEventListener): Added.
2580         (WI.DOMTreeManager.prototype.breakpointForEventListenerId): Added.
2581
2582         * UserInterface/Controllers/EventBreakpointTreeController.js:
2583         (WI.EventBreakpointTreeController):
2584
2585         * UserInterface/Views/DebuggerSidebarPanel.js:
2586         (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
2587
2588         * UserInterface/Views/EventListenerSectionGroup.js:
2589         (WI.EventListenerSectionGroup):
2590         (WI.EventListenerSectionGroup.prototype._createDisabledToggleRow):
2591         (WI.EventListenerSectionGroup.prototype._createBreakpointToggleRow): Added.
2592
2593         * UserInterface/Views/EventBreakpointTreeElement.js:
2594         (WI.EventBreakpointTreeElement):
2595         (WI.EventBreakpointTreeElement.prototype.ondelete):
2596         (WI.EventBreakpointTreeElement.prototype.populateContextMenu):
2597         (WI.EventBreakpointTreeElement.prototype._toggleBreakpoint):
2598
2599 2018-08-20  Devin Rousso  <drousso@apple.com>
2600
2601         Web Inspector: Canvas tab: allow recording processing to be stopped midway
2602         https://bugs.webkit.org/show_bug.cgi?id=185152
2603
2604         Reviewed by Joseph Pecoraro.
2605
2606         Previously, `WI.Recording` used a `WI.YieldableTask` to process every action in such a way
2607         as to not block the UI. The downside to this approach was that it used a message view to
2608         indicate the progress of this process, and prevented the user from viewing the `WI.Recording`
2609         until that process was completed.
2610
2611         This patch changes `WI.Recording` to instead use `async/await` and fire events whenever a
2612         `WI.RecordingAction` (and `WI.RecordingFrame`) finished processing, allowing it to be added
2613         to the recording `WI.TreeOutline` and selected by the user. Additionally, a pause/resume
2614         button is added to the `WI.CanvasSidebarPanel` so the user has greater control over what
2615         how much of the `WI.Recording` they want to process.
2616
2617         * Localizations/en.lproj/localizedStrings.js:
2618
2619         * UserInterface/Base/Utilities.js:
2620         (Promise.delay)
2621         Utility function for promisifying `setTimeout`.
2622
2623         * UserInterface/Models/Recording.js:
2624         (WI.Recording):
2625         (WI.Recording.prototype.get processing): Added.
2626         (WI.Recording.prototype.get ready): Added.
2627         (WI.Recording.prototype.startProcessing): Added.
2628         (WI.Recording.prototype.stopProcessing): Added.
2629         (WI.Recording.prototype.async._process): Added.
2630         (WI.Recording.prototype.process): Deleted.
2631         (WI.Recording.prototype.async.yieldableTaskWillProcessItem): Deleted.
2632         (WI.Recording.prototype.async.yieldableTaskDidFinish): Deleted.
2633
2634         * UserInterface/Models/RecordingAction.js:
2635         (WI.RecordingAction):
2636         (WI.RecordingAction.prototype.get ready): Added.
2637         (WI.RecordingAction.prototype.async.swizzle):
2638         (WI.RecordingAction.prototype.apply):
2639
2640         * UserInterface/Models/RecordingInitialStateAction.js:
2641         (WI.RecordingInitialStateAction):
2642
2643         * UserInterface/Views/CanvasSidebarPanel.js:
2644         (WI.CanvasSidebarPanel):
2645         (WI.CanvasSidebarPanel.prototype.set recording):
2646         (WI.CanvasSidebarPanel.prototype.set action):
2647         (WI.CanvasSidebarPanel.prototype._recordingAdded):
2648         (WI.CanvasSidebarPanel.prototype._recordingRemoved):
2649         (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
2650         (WI.CanvasSidebarPanel.prototype._treeOutlineSelectionDidChange):
2651         (WI.CanvasSidebarPanel.prototype._recordingChanged):
2652         (WI.CanvasSidebarPanel.prototype._recordingChanged.createPauseButton): Added.
2653         (WI.CanvasSidebarPanel.prototype._recordingChanged.createResumeButton): Added.
2654         (WI.CanvasSidebarPanel.prototype._createRecordingFrameTreeElement): Added.
2655         (WI.CanvasSidebarPanel.prototype._createRecordingActionTreeElement): Added.
2656         (WI.CanvasSidebarPanel.prototype._handleRecordingProcessedAction): Added.
2657         (WI.CanvasSidebarPanel.prototype._handleRecordingStartProcessingFrame): Added.
2658         * UserInterface/Views/CanvasSidebarPanel.css:
2659         (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle > progress): Added.
2660         (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline:matches(:focus, .force-focus) .item.processing.selected .subtitle > progress): Added.
2661         (.sidebar > .panel.navigation.canvas > .content > .recording-content > .tree-outline .item.processing .subtitle::before): Added.
2662         (.sidebar > .panel.navigation.canvas > .content > .recording-content > .recording-processing-options): Added.
2663         (.sidebar > .panel.navigation.canvas > .content > .recording-content > .recording-processing-options > .indeterminate-progress-spinner): Added.
2664         (.sidebar > .panel.navigation.canvas > .content > .recording-content > .indeterminate-progress-spinner): Deleted.
2665
2666         * UserInterface/Views/RecordingContentView.js:
2667         (WI.RecordingContentView):
2668         (WI.RecordingContentView.prototype.updateActionIndex):
2669         (WI.RecordingContentView.prototype.initialLayout):
2670         (WI.RecordingContentView.prototype._updateCanvasPath):
2671         (WI.RecordingContentView.prototype._handleRecordingProcessedAction): Added.
2672         (WI.RecordingContentView.prototype._updateProcessProgress): Deleted.
2673         (WI.RecordingContentView.prototype._handleRecordingProcessedActionSwizzle): Deleted.
2674         (WI.RecordingContentView.prototype._handleRecordingProcessedActionApply): Deleted.
2675         * UserInterface/Views/RecordingContentView.css:
2676         (.content-view:not(.tab).recording > header > .slider-container > .slider-value): Added.
2677
2678         * UserInterface/Views/FolderTreeElement.js:
2679         (WI.FolderTreeElement):
2680
2681         * UserInterface/Views/GeneralTreeElement.js:
2682         (WI.GeneralTreeElement.prototype.get statusElement): Added.
2683         (WI.GeneralTreeElement.prototype._updateTitleElements):
2684
2685         * UserInterface/Views/RecordingContentView.js:
2686         (WI.CanvasContentView.prototype._handleViewShaderButtonClicked):
2687         (WI.CanvasContentView.prototype._handleViewRecordingButtonClicked):
2688         Drive-by: `WI.Collection` doesn't have a `values()` accessor for the underlying `Set`.
2689
2690         * UserInterface/Views/RecordingNavigationSidebarPanel.css: Removed.
2691         * UserInterface/Views/RecordingNavigationSidebarPanel.js: Removed.
2692         These files are no longer used since they were "merged" into `WI.CanvasSidebarPanel`.
2693
2694 2018-08-20  Devin Rousso  <webkit@devinrousso.com>
2695
2696         Web Inspector: Canvas tab: create icons for recordings/shaders in the preview tile
2697         https://bugs.webkit.org/show_bug.cgi?id=183650
2698
2699         Reviewed by Joseph Pecoraro.
2700
2701         * Localizations/en.lproj/localizedStrings.js:
2702
2703         * UserInterface/Views/CanvasContentView.js:
2704         (WI.CanvasContentView):
2705         (WI.CanvasContentView.prototype.initialLayout):
2706         (WI.CanvasContentView.prototype.attached):
2707         (WI.CanvasContentView.prototype._recordingStopped):
2708         (WI.CanvasContentView.prototype._shaderProgramAdded):
2709         (WI.CanvasContentView.prototype._shaderProgramRemoved):
2710         (WI.CanvasContentView.prototype._updateViewRelatedItems):
2711         (WI.CanvasContentView.prototype._handleViewShaderButtonClicked):
2712         (WI.CanvasContentView.prototype._handleViewRecordingButtonClicked):
2713         (WI.CanvasContentView.prototype._addRecording): Deleted.
2714         (WI.CanvasContentView.prototype._handleRecordingSelectElementChange): Deleted.
2715         * UserInterface/Views/CanvasOverviewContentView.css:
2716         (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items):
2717         (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > :matches(.view-shader, .view-recording)):
2718         (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > img + img):
2719         (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > .view-shader):
2720         (.content-view.canvas-overview .content-view.canvas > footer > .view-related-items > .view-recording):
2721         (.content-view.canvas-overview .content-view.canvas > footer > .recordings): Deleted.
2722         (.content-view.canvas-overview .content-view.canvas > footer > .recordings::before): Deleted.
2723         (.content-view.canvas-overview .content-view.canvas > footer > .recordings > select): Deleted.
2724         (.content-view.canvas-overview .content-view.canvas > footer .recordings > select:focus): Deleted.
2725         Create two image buttons in the bottom left corner of each canvas tile that appear when the
2726         canvas has associated shaders and/or recordings. Clicking each image button will function
2727         similar to path components, in that if there is only one shader/recording, it is immediately
2728         selected, whereas if there are multiple a dropdown is shown.
2729
2730         * UserInterface/Views/CanvasSidebarPanel.js:
2731         (WI.CanvasSidebarPanel.prototype._currentRepresentedObjectsDidChange):
2732         (WI.CanvasSidebarPanel.prototype._recordingChanged):
2733         Drive-by: ensure that the selected recording action is properly updated when first loading a
2734         recording and when scrubbing through one.
2735
2736 2018-08-16  Devin Rousso  <drousso@apple.com>
2737
2738         Web Inspector: support breakpoints for arbitrary event names
2739         https://bugs.webkit.org/show_bug.cgi?id=183118
2740
2741         Reviewed by Joseph Pecoraro.
2742
2743         Create UI for setting breakpoints on event names. Ties into renamed DOMDebugger commands,
2744         specifically `setEventBreakpoint` and `removeEventBreakpoint`, that will pause execution if
2745         any DOM event is fired that matches any previously registered breakpoints.
2746
2747         Event breakpoints are distinguished by name, and they currently apply globally, meaning
2748         that only one breakpoint per event name can be registered.
2749
2750         Event breakpoints are created in the Debugger tab in a new "Event Breakpoints" section in
2751         the Navigation sidebar. A new type of popover, EventBreakpointPopover, is used, but right
2752         now all it contains is a basic text input for the event name. Similarly, a new TreeElement
2753         subclass, EventBreakpointTreeElement, is used when showing the list of event listener
2754         breakpoints, but all it shows now is the event name.
2755
2756         The majority of the logic in this patch was derived from XHR breakpoints.
2757
2758         * Localizations/en.lproj/localizedStrings.js:
2759         * UserInterface/Main.html:
2760         * UserInterface/Test.html:
2761         * UserInterface/Images/EventBreakpoint.svg: Added.
2762
2763         * UserInterface/Models/EventBreakpoint.js: Added.
2764         (WI.EventBreakpoint):
2765         (WI.EventBreakpoint.prototype.get eventName):
2766         (WI.EventBreakpoint.prototype.get disabled):
2767         (WI.EventBreakpoint.prototype.set disabled):
2768         (WI.EventBreakpoint.prototype.get serializableInfo):
2769         (WI.EventBreakpoint.prototype.saveIdentityToCookie):
2770
2771         * UserInterface/Controllers/DOMDebuggerManager.js:
2772         (WI.DOMDebuggerManager):
2773         (WI.DOMDebuggerManager.prototype.get eventBreakpoints): Added.
2774         (WI.DOMDebuggerManager.prototype.eventBreakpointForEventName): Added.
2775         (WI.DOMDebuggerManager.prototype.addEventBreakpoint): Added.
2776         (WI.DOMDebuggerManager.prototype.removeEventBreakpoint): Added.
2777         (WI.DOMDebuggerManager.prototype._speculativelyResolveBreakpoints):
2778         (WI.DOMDebuggerManager.prototype._updateEventBreakpoint.breakpointUpdated): Added.
2779         (WI.DOMDebuggerManager.prototype._updateEventBreakpoint): Added.
2780         (WI.DOMDebuggerManager.prototype._resolveEventBreakpoint): Added.
2781         (WI.DOMDebuggerManager.prototype._saveEventBreakpoints): Added.
2782         (WI.DOMDebuggerManager.prototype._eventBreakpointDisabledStateDidChange): Added.
2783
2784         * UserInterface/Controllers/DebuggerManager.js:
2785         (WI.DebuggerManager.prototype._pauseReasonFromPayload):
2786
2787         * UserInterface/Controllers/EventBreakpointTreeController.js: Added.
2788         (WI.EventBreakpointTreeController):
2789         (WI.EventBreakpointTreeController.prototype.revealAndSelect):
2790         (WI.EventBreakpointTreeController.prototype._eventBreakpointAdded):
2791         (WI.EventBreakpointTreeController.prototype._eventBreakpointRemoved):
2792         (WI.EventBreakpointTreeController.prototype._addTreeElement):
2793
2794         * UserInterface/Views/DebuggerSidebarPanel.js:
2795         (WI.DebuggerSidebarPanel):
2796         (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
2797         (WI.DebuggerSidebarPanel.prototype._eventBreakpointAddedOrRemoved): Added.
2798         (WI.DebuggerSidebarPanel.prototype._addEventBreakpointButtonClicked): Added.
2799         (WI.DebuggerSidebarPanel.prototype.willDismissPopover):
2800
2801         * UserInterface/Views/EventBreakpointTreeElement.js: Added.
2802         (WI.EventBreakpointTreeElement):
2803         (WI.EventBreakpointTreeElement.prototype.onattach):
2804         (WI.EventBreakpointTreeElement.prototype.ondetach):
2805         (WI.EventBreakpointTreeElement.prototype.ondelete):
2806         (WI.EventBreakpointTreeElement.prototype.onenter):
2807         (WI.EventBreakpointTreeElement.prototype.onspace):
2808         (WI.EventBreakpointTreeElement.prototype.populateContextMenu):
2809         (WI.EventBreakpointTreeElement.prototype._statusImageElementClicked):
2810         (WI.EventBreakpointTreeElement.prototype._statusImageElementFocused):
2811         (WI.EventBreakpointTreeElement.prototype._statusImageElementMouseDown):
2812         (WI.EventBreakpointTreeElement.prototype._toggleBreakpoint):
2813         (WI.EventBreakpointTreeElement.prototype._updateStatus):
2814         * UserInterface/Views/EventBreakpointTreeElement.css: Added.
2815         (.breakpoint.event-listener:not(.breakpoint-paused-icon) .icon):
2816
2817         * UserInterface/Views/EventBreakpointPopover.js: Added.
2818         (WI.EventBreakpointPopover):
2819         (WI.EventBreakpointPopover.prototype.get result):
2820         (WI.EventBreakpointPopover.prototype.get value):
2821         (WI.EventBreakpointPopover.prototype.show):
2822         (WI.EventBreakpointPopover.prototype._presentOverTargetElement):
2823         * UserInterface/Views/EventBreakpointPopover.css: Added.
2824         (.popover .event-listener-breakpoint-content):
2825         (.popover .event-listener-breakpoint-content > input):
2826
2827         * UserInterface/Views/NavigationSidebarPanel.js:
2828         (WI.NavigationSidebarPanel.prototype._isTreeElementWithoutRepresentedObject):
2829
2830 2018-08-16  Joseph Pecoraro  <pecoraro@apple.com>
2831
2832         Web Inspector: Show Initiator information in Network Table
2833         https://bugs.webkit.org/show_bug.cgi?id=188590
2834         <rdar://problem/43305488>
2835
2836         Reviewed by Matt Baker.
2837
2838         * UserInterface/Views/NetworkResourceDetailView.js:
2839         (WI.NetworkResourceDetailView):
2840         (WI.NetworkResourceDetailView.prototype.shown):
2841         (WI.NetworkResourceDetailView.prototype.willShowWithCookie):
2842         (WI.NetworkResourceDetailView.prototype._showContentViewForNavigationItem):
2843         When a ResourceDetailView gets shown, it may also want to show its initial content view
2844         with a cookie as the cookie may contain position highlight information.
2845
2846         * UserInterface/Views/NetworkTableContentView.js:
2847         (WI.NetworkTableContentView):
2848         (WI.NetworkTableContentView.prototype._showResourceDetailView):
2849         (WI.NetworkTableContentView.prototype.showRepresentedObject):
2850         When showing a represented object, pass the cookie information on to the detail
2851         view's so that it may include the cookie when showing the final content view.
2852
2853         (WI.NetworkTableContentView.prototype.tablePopulateCell):
2854         (WI.NetworkTableContentView.prototype._populateInitiatorCell):
2855         (WI.NetworkTableContentView.prototype.initialLayout):
2856         New initiator column contains a source code link to the call site.
2857
2858         (WI.NetworkTableContentView.prototype._generateSortComparator):
2859         (WI.NetworkTableContentView.prototype._entryForResource):
2860         Entry data for the initiator is a display string that can be sorted easily.
2861
2862 2018-08-16  Joseph Pecoraro  <pecoraro@apple.com>
2863
2864         LayoutTest inspector/worker/debugger-pause.html sometimes times out
2865         https://bugs.webkit.org/show_bug.cgi?id=188580
2866
2867         Reviewed by Matt Baker.
2868
2869         * UserInterface/Protocol/Target.js:
2870         (WI.Target.prototype.get mainResource):
2871         (WI.Target.prototype.set mainResource):
2872         Dispatch an event when the Main Resource is set.
2873
2874 2018-08-15  Aditya Keerthi  <akeerthi@apple.com>
2875
2876         [Datalist] Add button to TextFieldInputs with a datalist
2877         https://bugs.webkit.org/show_bug.cgi?id=187741
2878
2879         Reviewed by Tim Horton.
2880
2881         Add keyword completion for 'list-button'.
2882
2883         * UserInterface/External/CodeMirror/css.js:
2884         * UserInterface/Models/CSSKeywordCompletions.js:
2885
2886 2018-08-15  Devin Rousso  <drousso@apple.com>
2887
2888         Web Inspector: REGRESSION(r?): the probe sidebar doesn't show up when adding probes
2889         https://bugs.webkit.org/show_bug.cgi?id=188594
2890
2891         Reviewed by Brian Burg.
2892
2893         * UserInterface/Views/ProbeDetailsSidebarPanel.js:
2894         (WI.ProbeDetailsSidebarPanel.prototype.set inspectedProbeSets):
2895         (WI.ProbeDetailsSidebarPanel.prototype.initialLayout):
2896         Add checks to ensure that DOM elements for each probe section exist before trying to
2897         add/remove them from the sidebar. This can happen if probes are inspected before the sidebar
2898         is shown for the first time.
2899
2900         * UserInterface/Views/ProbeSetDataGrid.js:
2901         (WI.ProbeSetDataGrid):
2902         (WI.ProbeSetDataGrid.columnIdentifierForProbe): Added.
2903         (WI.ProbeSetDataGrid.prototype._setupProbe):
2904         (WI.ProbeSetDataGrid.prototype._teardownProbe):
2905         (WI.ProbeSetDataGrid.prototype._probeExpressionChanged):
2906         * UserInterface/Views/ProbeSetDataGridNode.js:
2907         (WI.ProbeSetDataGridNode.prototype.set frame):
2908         Provide better column identifiers for each probe's `WI.DataGrid`. It's possible for the
2909         numeric probe ID value to be stringified when passing it into the constructor of
2910         `WI.DataGrid`, which will not match the original numeric value on later retrieval.
2911
2912 2018-08-14  Matt Baker  <mattbaker@apple.com>
2913
2914         Web Inspector: Table should not center rows when scrolling them into view
2915         https://bugs.webkit.org/show_bug.cgi?id=188593
2916         <rdar://problem/43311660>
2917
2918         Reviewed by Devin Rousso.
2919
2920         * UserInterface/Views/Table.js:
2921         (WI.Table.prototype._handleKeyDown):
2922
2923 2018-08-13  Matt Baker  <mattbaker@apple.com>
2924
2925         Web Inspector: Table should handle row selection instead of the table delegate
2926         https://bugs.webkit.org/show_bug.cgi?id=188534
2927         <rdar://problem/43253335>
2928
2929         Reviewed by Joseph Pecoraro.
2930
2931         Row selection should be implemented by Table, rather than its delegate.
2932
2933         * UserInterface/Views/NetworkTableContentView.js:
2934         (WI.NetworkTableContentView.prototype.tableShouldSelectRow):
2935         (WI.NetworkTableContentView.prototype.tableCellMouseDown): Deleted.
2936         Prevent selection unless the clicked cell belongs to the name column.
2937
2938         * UserInterface/Views/ResourceCookiesContentView.js:
2939         (WI.ResourceCookiesContentView.prototype.tableShouldSelectRow):
2940         Always prevent selection.
2941
2942         * UserInterface/Views/Table.js:
2943         (WI.Table):
2944         (WI.Table.prototype._handleMouseDown):
2945
2946 2018-08-12  Aditya Keerthi  <akeerthi@apple.com>
2947
2948         [macOS] Color wells should appear pressed when presenting a color picker
2949         https://bugs.webkit.org/show_bug.cgi?id=188477
2950
2951         Reviewed by Tim Horton.
2952
2953         Add keyword completion for 'color-well'.
2954
2955         * UserInterface/External/CodeMirror/css.js:
2956         * UserInterface/Models/CSSKeywordCompletions.js:
2957
2958 2018-08-09  Nikita Vasilyev  <nvasilyev@apple.com>
2959
2960         Web Inspector: Dark Mode: SourceCodeTextEditor error/warning text widget is too light
2961         https://bugs.webkit.org/show_bug.cgi?id=188126
2962         <rdar://problem/42674963>
2963
2964         Reviewed by Matt Baker.
2965
2966         * UserInterface/Views/DarkMode.css:
2967         (@media (prefers-dark-interface)):
2968         (.source-code.text-editor > .CodeMirror .issue-widget.warning,): Added.
2969         (.source-code.text-editor > .CodeMirror .issue-widget.error,): Added.
2970
2971 2018-08-07  Joseph Pecoraro  <pecoraro@apple.com>
2972
2973         Web Inspector: Add another Protocol Version (iOS 12)
2974         https://bugs.webkit.org/show_bug.cgi?id=188359
2975         <rdar://problem/42981364>
2976
2977         Reviewed by Brian Burg.
2978
2979         * UserInterface/Protocol/Legacy/12.0/InspectorBackendCommands.js: Added.
2980         * Versions/Inspector-iOS-12.0.json: Added.
2981
2982 2018-08-06  Joseph Pecoraro  <pecoraro@apple.com>
2983
2984         Web Inspector: Global search sometimes returns duplicate results for a resource
2985         https://bugs.webkit.org/show_bug.cgi?id=188270
2986         <rdar://problem/42867498>
2987
2988         Reviewed by Brian Burg.
2989
2990         * UserInterface/Views/SearchSidebarPanel.js:
2991         (WI.SearchSidebarPanel.prototype.performSearch.resourcesCallback):
2992         Avoid duplicate search results in the frontend. We should also fix the backend
2993         but a frontend fix will also be desired for backends that have the issue.
2994
2995 2018-08-03  Alex Christensen  <achristensen@webkit.org>
2996
2997         Fix spelling of "overridden"
2998         https://bugs.webkit.org/show_bug.cgi?id=188315
2999
3000         Reviewed by Darin Adler.
3001
3002         * UserInterface/Views/ContentBrowserTabContentView.js:
3003         (WI.ContentBrowserTabContentView.prototype.treeElementForRepresentedObject):
3004         * UserInterface/Views/GeneralTreeElement.js:
3005         (WI.GeneralTreeElement.prototype.ondetach):
3006         * UserInterface/Views/NavigationBar.js:
3007         (WI.NavigationBar.prototype.get sizesToFit):
3008         * UserInterface/Views/NavigationSidebarPanel.js:
3009         (WI.NavigationSidebarPanel.prototype.shouldFilterPopulate):
3010         * UserInterface/Views/TextEditor.js:
3011         (WI.TextEditor.prototype.canBeFormatted):
3012         * UserInterface/Views/TreeElement.js:
3013         (WI.TreeElement.prototype.onpopulate):
3014
3015 2018-08-01  Nikita Vasilyev  <nvasilyev@apple.com>
3016
3017         Web Inspector: Dark Mode: SourceCodeTextEditor thread indicator widget is too light
3018         https://bugs.webkit.org/show_bug.cgi?id=188119
3019         <rdar://problem/42670811>
3020
3021         Reviewed by Matt Baker.
3022
3023         Make the background of the thread indicator widget darker.
3024
3025         Reduce the number of HTML elements and simplify CSS by removing the HTML element that drew an arrow and using clip-path on inline widgets instead.
3026
3027         * UserInterface/Views/DarkMode.css:
3028         (@media (prefers-dark-interface)):
3029         (.text-editor > .CodeMirror .execution-line):
3030         (.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),):
3031         * UserInterface/Views/SourceCodeTextEditor.css:
3032         (.source-code.text-editor .CodeMirror-linewidget):
3033         (.source-code.text-editor > .CodeMirror .line-indicator-widget.inline):
3034         (@media (prefers-dark-interface)):
3035         (.source-code.text-editor > .CodeMirror .thread-widget.inline):
3036         * UserInterface/Views/SourceCodeTextEditor.js:
3037         (WI.SourceCodeTextEditor.prototype._updateThreadIndicatorWidget):
3038         (WI.SourceCodeTextEditor.prototype._updateIssueWidgetForIssues):
3039         * UserInterface/Views/TextEditor.css:
3040         (@media (prefers-dark-interface)):
3041         (.text-editor > .CodeMirror .execution-line.primary .CodeMirror-linenumber::after):
3042         * UserInterface/Views/Variables.css:
3043         (:root):
3044
3045 2018-08-01  Nikita Vasilyev  <nvasilyev@apple.com>
3046
3047         Web Inspector: Dark Mode: disabled breakpoints banner is too light
3048         https://bugs.webkit.org/show_bug.cgi?id=188120
3049         <rdar://problem/42671348>
3050
3051         Reviewed by Matt Baker.
3052
3053         * UserInterface/Views/DebuggerSidebarPanel.css:
3054         (@media (prefers-dark-interface)):
3055         (.sidebar > .panel.navigation.debugger .warning-banner):
3056
3057 2018-07-31  Joseph Pecoraro  <pecoraro@apple.com>
3058
3059         Web Inspector: Include a full URL tooltip when hovering the name in the Network Tab
3060         https://bugs.webkit.org/show_bug.cgi?id=188199
3061
3062         Reviewed by Matt Baker.
3063
3064         * UserInterface/Views/NetworkTableContentView.js:
3065         (WI.NetworkTableContentView.prototype._populateNameCell):
3066         Give a tooltip to the entire cell since the entire cell has interactivity.
3067
3068 2018-07-30  Nikita Vasilyev  <nvasilyev@apple.com>
3069
3070         Web Inspector: Dark Mode: Search sidebar panel text field has a white background
3071         https://bugs.webkit.org/show_bug.cgi?id=188128
3072         <rdar://problem/42678270>
3073
3074         Reviewed by Matt Baker.
3075
3076         Make the search bar in Search tab match the style of the filter bar.
3077
3078         * UserInterface/Views/DarkMode.css:
3079         (@media (prefers-dark-interface)):
3080         (:matches(.search-bar, .filter-bar) > input[type="search"],):
3081         (:matches(.search-bar, .filter-bar) > input[type="search"]::placeholder):
3082         (:matches(.search-bar, .filter-bar) > input[type="search"]:focus):
3083         (.filter-bar > input[type="search"]): Deleted.
3084         (.filter-bar > input[type="search"]::placeholder): Deleted.
3085         (.filter-bar > input[type="search"]:focus): Deleted.
3086
3087 2018-07-26  Ryan Haddad  <ryanhaddad@apple.com>
3088
3089         Unreviewed, rolling out r234281.
3090
3091         Broke internal builds.
3092
3093         Reverted changeset:
3094
3095         "[Datalist] Add button to TextFieldInputs with a datalist"
3096         https://bugs.webkit.org/show_bug.cgi?id=187741
3097         https://trac.webkit.org/changeset/234281
3098
3099 2018-07-26  Aditya Keerthi  <akeerthi@apple.com>
3100
3101         [Datalist] Add button to TextFieldInputs with a datalist
3102         https://bugs.webkit.org/show_bug.cgi?id=187741
3103
3104         Reviewed by Tim Horton.
3105
3106         Add keyword completion for 'list-button'.
3107
3108         * UserInterface/External/CodeMirror/css.js:
3109         * UserInterface/Models/CSSKeywordCompletions.js:
3110
3111 2018-07-25  Nikita Vasilyev  <nvasilyev@apple.com>
3112
3113         Web Inspector: Dark Mode: Breakpoint editor in JS debugger has inconsistent background
3114         https://bugs.webkit.org/show_bug.cgi?id=188026
3115
3116         Reviewed by Matt Baker.
3117
3118         * UserInterface/Views/DarkMode.css:
3119         (@media (prefers-dark-interface)):
3120         (.edit-breakpoint-popover-condition):
3121         (.breakpoint-action-eval-editor):
3122
3123 2018-07-22  Nikita Vasilyev  <nvasilyev@apple.com>
3124
3125         Web Inspector: Dark Mode: remove odd-looking top border
3126         https://bugs.webkit.org/show_bug.cgi?id=187885
3127
3128         Reviewed by Matt Baker.
3129
3130         This border doesn't exist in the light mode, and it shouldn't be in the dark mode either.
3131
3132         * UserInterface/Views/DarkMode.css:
3133         (@media (prefers-dark-interface)):
3134         (body .toolbar):
3135
3136 2018-07-20  Nikita Vasilyev  <nvasilyev@apple.com>
3137
3138         Web Inspector: Dark Mode: Layers tab background should be dark
3139         https://bugs.webkit.org/show_bug.cgi?id=187660
3140         <rdar://problem/42179616>
3141
3142         Reviewed by Brian Burg.
3143
3144         * UserInterface/Views/Layers3DContentView.js:
3145         (WI.Layers3DContentView.prototype.initialLayout):
3146         * UserInterface/Views/Variables.css:
3147         (:root):
3148
3149 2018-07-19  Ross Kirsling  <ross.kirsling@sony.com>
3150
3151         Web Inspector: Layers visualization shouldn't select on mousedown
3152         https://bugs.webkit.org/show_bug.cgi?id=187488
3153
3154         Reviewed by Matt Baker.
3155
3156         * UserInterface/Views/Layers3DContentView.js:
3157         (WI.Layers3DContentView):
3158         (WI.Layers3DContentView.prototype.initialLayout):
3159         (WI.Layers3DContentView.prototype._canvasMouseDown):
3160         (WI.Layers3DContentView.prototype._canvasMouseUp):
3161         Don't update selection on mousedown, update on mouseup!
3162         Specifically, only update when mousedown & mouseup targets are the same and mousemove hasn't been triggered.
3163
3164 2018-07-19  Nikita Vasilyev  <nvasilyev@apple.com>
3165
3166         Web Inspector: Dark Mode: poor contrast for Search Tab's "the page's content has changed" message
3167         https://bugs.webkit.org/show_bug.cgi?id=187792
3168
3169         Reviewed by Brian Burg.
3170
3171         * UserInterface/Views/DarkMode.css:
3172         (@media (prefers-dark-interface)):
3173         (:root):
3174         Make the background color slightly more yellow and less red. This slightly dicreases the contrast
3175         but makes the text look less like an error.
3176
3177         * UserInterface/Views/SearchSidebarPanel.css:
3178         (@media (prefers-dark-interface)):
3179         (.sidebar > .panel.navigation.search.changed > .banner):
3180
3181 2018-07-18  Matt Baker  <mattbaker@apple.com>
3182
3183         Web Inspector: REGRESSION(r232591): CodeMirrorEditor should not use a RegExp lineSeparator option
3184         https://bugs.webkit.org/show_bug.cgi?id=187772
3185         <rdar://problem/42331640>
3186
3187         Reviewed by Joseph Pecoraro.
3188
3189         * UserInterface/Views/CodeMirrorEditor.js:
3190         (WI.CodeMirrorEditor.create):
3191         (WI.CodeMirrorEditor):
3192         CodeMirror should be left to auto-detect line separators. By default
3193         it detects \n, \r\n, and \r. By specifying a regular expression we
3194         merely cause problems when CodeMirror uses the supplied lineSeparator
3195         when joining its array of lines together.
3196
3197         * UserInterface/Views/TextEditor.js:
3198         (WI.TextEditor.set string.update):
3199         (WI.TextEditor.prototype.set string):
3200         This assertion was only true when we forced "\n" line endings everywhere.
3201         It no longer holds for source text with "\r\n" (Windows-style) line endings.
3202
3203 2018-07-16  Matt Baker  <mattbaker@apple.com>
3204
3205         Web Inspector: Fix execution highlighting after r233820
3206         https://bugs.webkit.org/show_bug.cgi?id=187703
3207         <rdar://problem/42246167>
3208
3209         Reviewed by Joseph Pecoraro.
3210
3211         * UserInterface/Views/SourceCodeTextEditor.js:
3212         (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
3213         * UserInterface/Views/TextEditor.js:
3214         (WI.TextEditor.prototype.currentPositionToOriginalPosition):
3215         (WI.TextEditor.prototype._updateExecutionRangeHighlight):
3216
3217 2018-07-16  Aaron Chu  <aaron_chu@apple.com>
3218
3219         AX: Audit Tab should have an Audit Manager
3220         https://bugs.webkit.org/show_bug.cgi?id=184071
3221         <rdar://problem/38946364>
3222
3223         Reviewed by Brian Burg.
3224
3225         This implements the AuditManager for the audit feature. This patch revolves
3226         around building out an AuditManager that facilitates an audit. The AuditManager
3227         is responsible for managing and storing AuditReports and AuditTestSuites. It is
3228         also tasked to decide how to run a test -- whether as a test case or as a test
3229         suite. This patch also includes 4 models with which the AuditManager works to
3230         perform an audit and to generate a report. These models include AuditTestCase,
3231         which as a collection is stored inside an AuditTestSuite; and AuditResult,
3232         which, as a collection is stored inside an AuditReport.
3233
3234         * UserInterface/Controllers/AuditManager.js: Added.
3235         (WI.AuditManager):
3236         (WI.AuditManager.prototype.get testSuites):
3237         (WI.AuditManager.prototype.get reports):
3238         (WI.AuditManager.prototype.async.runAuditTestByRepresentedObject):
3239         (WI.AuditManager.prototype.reportForId):
3240         (WI.AuditManager.prototype.removeAllReports):
3241         (WI.AuditManager.prototype.async._runTestCase):
3242         * UserInterface/Main.html:
3243         * UserInterface/Models/AuditReport.js: Added.
3244         (WI.AuditReport):
3245         (WI.AuditReport.prototype.get representedTestCases):
3246         (WI.AuditReport.prototype.get representedTestSuite):
3247         (WI.AuditReport.prototype.get resultsData):
3248         (WI.AuditReport.prototype.get isWritable):
3249         (WI.AuditReport.prototype.get failedCount):
3250         (WI.AuditReport.prototype.addResult):
3251         (WI.AuditReport.prototype.close):
3252         * UserInterface/Models/AuditResult.js: Added.
3253         (WI.AuditResult):
3254         (WI.AuditResult.prototype.get testResult):
3255         (WI.AuditResult.prototype.get name):
3256         (WI.AuditResult.prototype.get logLevel):
3257         (WI.AuditResult.prototype.get failed):
3258         * UserInterface/Models/AuditTestCase.js: Added.
3259         (WI.AuditTestCase.prototype.get id):
3260         (WI.AuditTestCase.prototype.get name):
3261         (WI.AuditTestCase.prototype.get suite):
3262         (WI.AuditTestCase.prototype.get test):
3263         (WI.AuditTestCase.prototype.get setup):
3264         (WI.AuditTestCase.prototype.get tearDown):
3265         (WI.AuditTestCase.prototype.get errorDetails):
3266         (WI.AuditTestCase):
3267         * UserInterface/Models/AuditTestSuite.js: Added.
3268         (WI.AuditTestSuite):
3269         (WI.AuditTestSuite.testCaseDescriptors):
3270         (WI.AuditTestSuite.prototype.get id):
3271         (WI.AuditTestSuite.prototype.get name):
3272         (WI.AuditTestSuite.prototype.get testCases):
3273         (WI.AuditTestSuite.prototype._buildTestCasesFromDescriptors):
3274         * UserInterface/Test.html:
3275
3276 2018-07-16  Nikita Vasilyev  <nvasilyev@apple.com>
3277
3278         Web Inspector: Dark Mode: Console filter field buttons should be darker
3279         https://bugs.webkit.org/show_bug.cgi?id=187626
3280         <rdar://problem/42142744>
3281
3282         Reviewed by Brian Burg.
3283
3284         * UserInterface/Views/FindBanner.css:
3285         (@media (prefers-dark-interface)):
3286         (.find-banner > button.segmented):
3287         (.find-banner > button.segmented > .glyph):
3288
3289 2018-07-16  Nikita Vasilyev  <nvasilyev@apple.com>
3290
3291         Web Inspector: Dark Mode: selected item background color is too light
3292         https://bugs.webkit.org/show_bug.cgi?id=187691
3293         <rdar://problem/42225308>
3294
3295         Reviewed by Brian Burg.
3296
3297         * UserInterface/Views/DarkMode.css:
3298         (@media (prefers-dark-interface)):
3299         (:root):
3300         (.tree-outline.dom li.elements-drag-over .selection-area):
3301         (.tree-outline.dom:focus li.selected .selection-area):
3302
3303 2018-07-14  Kocsen Chung  <kocsen_chung@apple.com>
3304
3305         Ensure WebKit stack is ad-hoc signed
3306         https://bugs.webkit.org/show_bug.cgi?id=187667
3307
3308         Reviewed by Alexey Proskuryakov.
3309
3310         * Configurations/Base.xcconfig:
3311
3312 2018-07-13  Matt Baker  <mattbaker@apple.com>
3313
3314         Web Inspector: REGRESSION (r195723): Improve support for resources with '\r' and '\r\n' line endings
3315         https://bugs.webkit.org/show_bug.cgi?id=186453
3316         <rdar://problem/39689180>
3317
3318         Reviewed by Joseph Pecoraro.
3319
3320         Now that the frontend no longer uses offsets from the original source
3321         file to calculate positions within CodeMirror, it is possible to support
3322         resources with '\r' and '\r\n' line endings in the editor.
3323
3324         * UserInterface/Views/CodeMirrorEditor.js:
3325         (WI.CodeMirrorEditor.create):
3326         (WI.CodeMirrorEditor):
3327
3328 2018-07-13  Matt Baker  <mattbaker@apple.com>
3329
3330         Web Inspector: Basic blocks highlighting should use line/column locations instead of offsets
3331         https://bugs.webkit.org/show_bug.cgi?id=187613
3332         <rdar://problem/42131808>
3333
3334         Reviewed by Joseph Pecoraro.
3335
3336         * UserInterface/Controllers/BasicBlockAnnotator.js:
3337         Basic blocks sent from the backend include offsets into the original
3338         file, rather than line/column locations. In order to translate to positions
3339         within CodeMirror, we need to calculate the original line and column
3340         for each block.
3341
3342         (WI.BasicBlockAnnotator.prototype.insertAnnotations):
3343         (WI.BasicBlockAnnotator.prototype._calculateBasicBlockPositions.offsetToPosition):
3344         (WI.BasicBlockAnnotator.prototype._calculateBasicBlockPositions):
3345         (WI.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges.):
3346         (WI.BasicBlockAnnotator.prototype._annotateBasicBlockExecutionRanges):
3347         (WI.BasicBlockAnnotator.prototype._highlightTextForBasicBlock):
3348
3349         * UserInterface/Models/SourceCodePosition.js:
3350         (WI.SourceCodePosition.prototype.offsetColumn):
3351
3352         * UserInterface/Views/TextEditor.js:
3353         (WI.TextEditor.prototype.getTextInRange):
3354         (WI.TextEditor.prototype.addStyleToTextRange):
3355         Better encapsulation for CodeMirror positions.
3356
3357         * UserInterface/Workers/Formatter/FormatterUtilities.js:
3358         (get if):
3359         Update String.prototype.lineEndings to support additional line separators.
3360
3361 2018-07-13  Matt Baker  <mattbaker@apple.com>
3362
3363         Web Inspector: Execution highlighting in the frontend should be line/column-based
3364         https://bugs.webkit.org/show_bug.cgi?id=187532
3365         <rdar://problem/42035580>
3366
3367         Reviewed by Joseph Pecoraro.
3368
3369         Source code offsets from Esprima should not be used to calculate ranges
3370         in CodeMirror for expression highlighting.
3371
3372         This also fixes a long standing bug when adjusting for the starting
3373         position of an inline script. Previously the start offset from the script
3374         TextRange was used for this purpose, but the value is often incorrect (see
3375         https://bugs.webkit.org/show_bug.cgi?id=187532#c5). By using the starting
3376         line/column instead, we avoid the problem.
3377
3378         * UserInterface/Models/ScriptSyntaxTree.js:
3379         (WI.ScriptSyntaxTree.prototype.containersOfPosition):
3380         (WI.ScriptSyntaxTree.prototype.containersOfOffset): Deleted.
3381
3382         * UserInterface/Models/SourceCodePosition.js:
3383         (WI.SourceCodePosition.prototype.offsetColumn):
3384
3385         * UserInterface/Views/SourceCodeTextEditor.js:
3386         (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.toInlineScriptPosition):
3387         (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.fromInlineScriptPosition):
3388         (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
3389         (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange.convertRangeOffsetsToSourceCodeOffsets): Deleted.
3390
3391         * UserInterface/Views/TextEditor.js:
3392         (WI.TextEditor.prototype._updateExecutionRangeHighlight):
3393
3394 2018-07-13  Matt Baker  <mattbaker@apple.com>
3395
3396         Web Inspector: SourceCodePosition.js missing from Test.html
3397         https://bugs.webkit.org/show_bug.cgi?id=187644
3398
3399         Reviewed by Brian Burg.
3400
3401         * UserInterface/Test.html:
3402
3403 2018-07-12  Matt Baker  <mattbaker@apple.com>
3404
3405         Web Inspector: Type token positioning should use line/column locations from Esprima instead of offsets
3406         https://bugs.webkit.org/show_bug.cgi?id=187612
3407         <rdar://problem/42131910>
3408
3409         Reviewed by Joseph Pecoraro.
3410
3411         * UserInterface/Controllers/TypeTokenAnnotator.js:
3412         (WI.TypeTokenAnnotator.prototype.insertAnnotations):
3413         (WI.TypeTokenAnnotator.prototype._insertTypeToken):
3414         (WI.TypeTokenAnnotator.prototype._insertToken):
3415         Use line/column locations, instead of offsets, from the AST when calculating
3416         token positions for CodeMirror. Once in CodeMirror's string space, we
3417         can safely convert to/from offsets.
3418
3419         * UserInterface/Models/ScriptSyntaxTree.js:
3420         Retrieve line/column locations for AST nodes, in addition to offsets.
3421         Offsets into the original file are still needed for getting type information
3422         from the profiler in the backend.
3423
3424         (WI.ScriptSyntaxTree):
3425         (WI.ScriptSyntaxTree.prototype.filterByRange):
3426         Filter by positions, which can be safely used from CodeMirror, instead of offsets.
3427
3428         (WI.ScriptSyntaxTree.prototype._createInternalSyntaxTree):
3429         (WI.ScriptSyntaxTree.prototype.filterByRange.filterForNodesInRange): Deleted.
3430
3431         * UserInterface/Models/SourceCodePosition.js:
3432         Add convenience methods for comparing line/column positions, and for
3433         converting to the format expected by CodeMirror. SourceCodePosition could
3434         be made to interoperate with CodeMirror by exposing properties `line`
3435         and `ch`, but making the conversion explicit improves code readability.
3436
3437         (WI.SourceCodePosition.prototype.equals):
3438         (WI.SourceCodePosition.prototype.isBefore):
3439         (WI.SourceCodePosition.prototype.isAfter):
3440         (WI.SourceCodePosition.prototype.isWithin):
3441         (WI.SourceCodePosition.prototype.toCodeMirror):
3442         (WI.SourceCodePosition):
3443
3444         * UserInterface/Views/TextEditor.js:
3445         (WI.TextEditor.prototype.visibleRangePositions):
3446         (WI.TextEditor.prototype.originalPositionToCurrentPosition):
3447         (WI.TextEditor.prototype.currentOffsetToCurrentPosition):
3448         (WI.TextEditor.prototype.currentPositionToCurrentOffset):
3449         (WI.TextEditor.prototype.setInlineWidget):
3450
3451 2018-07-10  Fujii Hironori  <Hironori.Fujii@sony.com>
3452
3453         REGRESSION(r229932) Use of uninitialized value in subroutine entry at copy-user-interface-resources.pl
3454         https://bugs.webkit.org/show_bug.cgi?id=187511
3455
3456         Reviewed by Brian Burg.
3457
3458         copy-user-interface-resources.pl output warning messages unless
3459         BUILT_PRODUCTS_DIR and BUILT_PRODUCTS_DIR env vars are defined.
3460
3461         * Scripts/copy-user-interface-resources.pl:
3462         (webInspectorUIAdditionsDir): Added. Return UNDEF if
3463         BUILT_PRODUCTS_DIR and SDKROOT env vars aren't defined.
3464         (combineOrStripResourcesForWebKitAdditions): Check
3465         $webInspectorUIAdditionsDir is defined.
3466
3467 2018-07-10  Ross Kirsling  <rkirsling@gmail.com>
3468
3469         Web Inspector: Layers inspector should allow control-dragging to pan the 3D render
3470         https://bugs.webkit.org/show_bug.cgi?id=185109
3471
3472         Reviewed by Matt Baker.
3473
3474         Addressed in the three.js repo itself (https://github.com/mrdoob/three.js/pull/13972),
3475         so this patch simply updates three.js and its OrbitControls module.
3476
3477         * UserInterface/External/three.js/LICENSE:
3478         * UserInterface/External/three.js/three.js:
3479         Update to r94.
3480
3481         * UserInterface/External/three.js/OrbitControls.js:
3482         Update to latest.
3483
3484         * UserInterface/Views/Layers3DContentView.js:
3485         (WI.Layers3DContentView.prototype.initialLayout):
3486         (WI.Layers3DContentView.prototype._restrictPan):
3487         Adapt to recent changes in three.js.
3488
3489 2018-07-10  Matt Baker  <mattbaker@apple.com>
3490
3491         Web Inspector: Remove unused NavigationSidebarPanel.treeElementAddedOrChanged
3492         https://bugs.webkit.org/show_bug.cgi?id=187508
3493
3494         Reviewed by Joseph Pecoraro.
3495
3496         * UserInterface/Views/NavigationSidebarPanel.js:
3497         (WI.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
3498         (WI.NavigationSidebarPanel.prototype.treeElementAddedOrChanged): Deleted.
3499
3500 2018-07-10  Matt Baker  <mattbaker@apple.com>
3501
3502         Web Inspector: REGRESSION (r217505): Debugger content view doesn't update when left sidebar is collapsed
3503         https://bugs.webkit.org/show_bug.cgi?id=187482
3504         <rdar://problem/41989190>
3505
3506         Reviewed by Brian Burg.
3507
3508         Subclasses of NavigationSidebarPanel must process tree selection changes
3509         even when collapsed. Sidebar panels perform critical controller tasks
3510         for their tabs, such as updating the view when pausing in the debugger,
3511         and when the hierarchical path component selection changes.
3512
3513         * UserInterface/Views/DebuggerSidebarPanel.js:
3514         (WI.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
3515         * UserInterface/Views/ResourceSidebarPanel.js:
3516         (WI.ResourceSidebarPanel.prototype._treeSelectionDidChange):
3517         * UserInterface/Views/SearchSidebarPanel.js:
3518         (WI.SearchSidebarPanel.prototype._treeSelectionDidChange):
3519         * UserInterface/Views/SourcesSidebarPanel.js:
3520         (WI.SourcesSidebarPanel.prototype._treeSelectionDidChange):
3521         * UserInterface/Views/StorageSidebarPanel.js:
3522         (WI.StorageSidebarPanel._treeSelectionDidChange):
3523
3524 2018-07-09  Brian Burg  <bburg@apple.com>
3525
3526         REGRESSION: Web Inspector no longer pauses in internal injected scripts like WDFindNodes.js
3527         https://bugs.webkit.org/show_bug.cgi?id=187350
3528         <rdar://problem/41728249>
3529
3530         Reviewed by Matt Baker.
3531
3532         * UserInterface/Base/Setting.js: Add a new setting to allow pausing in internal scripts.
3533         * UserInterface/Controllers/DebuggerManager.js: Listen to the setting change and toggle
3534         the backend setting accordingly. The default is to not break into internal scripts.
3535
3536         * UserInterface/Views/SettingsTabContentView.js:
3537         (WI.SettingsTabContentView.prototype._createDebugSettingsView):
3538         Expose the new setting in the Debug settings panel.
3539
3540 2018-07-06  Nikita Vasilyev  <nvasilyev@apple.com>
3541
3542         Web Inspector: Dark Mode: resource search field has white text on white background
3543         https://bugs.webkit.org/show_bug.cgi?id=187423
3544
3545         Reviewed by Timothy Hatcher.
3546
3547         Match the colors of sidebar filter fields.
3548
3549         * UserInterface/Views/DarkMode.css:
3550         (@media (prefers-dark-interface)):
3551         (.find-banner > input[type="search"]):
3552
3553 2018-07-04  Tim Horton  <timothy_horton@apple.com>
3554
3555         Introduce PLATFORM(IOSMAC)
3556         https://bugs.webkit.org/show_bug.cgi?id=187315
3557
3558         Reviewed by Dan Bernstein.
3559
3560         * Configurations/Base.xcconfig:
3561
3562 2018-06-28  Matt Baker  <mattbaker@apple.com>
3563
3564         Web Inspector: REGRESSION (r213000): copy from Search results content view broken
3565         https://bugs.webkit.org/show_bug.cgi?id=187020
3566         <rdar://problem/40928766>
3567
3568         Reviewed by Timothy Hatcher.
3569
3570         Since WI._copy listens for a copy event from the document, it is called
3571         after CodeMirror handles the event and sets clipboard data. If WI._copy
3572         finds a custom copy handler to call, that handler can determine whether
3573         to overwrite the current clipboard data, or leave it alone.
3574
3575         SearchTabContentView's handleCopyEvent method should return early if the
3576         content tree outline doesn't have the focus. This prevents the selection
3577         in the TextEditor from being overwritten, without any special knowledge of
3578         the content browser's current view.
3579
3580         * UserInterface/Views/SearchTabContentView.js:
3581         (WI.SearchTabContentView.prototype.handleCopyEvent):
3582
3583 2018-06-25  Nikita Vasilyev  <nvasilyev@apple.com>
3584
3585         Web Inspector: Dark Mode: Box Model section should have dark background
3586         https://bugs.webkit.org/show_bug.cgi?id=186976
3587
3588         Reviewed by Brian Burg.
3589
3590         Replace all instances of black text on white background with the default text and background colors.
3591
3592         * UserInterface/Views/BoxModelDetailsSectionRow.css:
3593         (@media (prefers-dark-interface)):
3594         (.details-section .row.box-model):
3595         (.details-section .row.box-model .label):
3596         (.details-section .row.box-model :matches(.position, .margin, .border, .padding, .content)):
3597         (.details-section .row.box-model:not(.hovered) :matches(.margin, .border, .padding, .content),):
3598         (.details-section .row.box-model .margin):
3599         (.details-section .row.box-model .border):
3600
3601 2018-06-25  Nikita Vasilyev  <nvasilyev@apple.com>
3602
3603         Web Inspector: Dark Mode: color outline is too dark
3604         https://bugs.webkit.org/show_bug.cgi?id=186975
3605
3606         Reviewed by Brian Burg.
3607
3608         Make the outline lighter than the background.
3609
3610         * UserInterface/Views/DarkMode.css:
3611         (@media (prefers-dark-interface)):
3612         (.hover-menu > svg > :matches(path, rect)):
3613
3614 2018-06-25  Nikita Vasilyev  <nvasilyev@apple.com>
3615
3616         Web Inspector: Dark Mode: Media query names are unreadable
3617         https://bugs.webkit.org/show_bug.cgi?id=186974
3618
3619         Reviewed by Brian Burg.
3620
3621         Change media query names from dark blue to light blue.
3622
3623         * UserInterface/Views/DarkMode.css:
3624         (@media (prefers-dark-interface)):
3625         (.CodeMirror .CodeMirror-lines .CodeMirror-matchingbracket):
3626         (.cm-s-default .cm-attribute):
3627
3628 2018-06-25  Nikita Vasilyev  <nvasilyev@apple.com>
3629
3630         Web Inspector: Dark Mode: Network headers colors are too dim
3631         https://bugs.webkit.org/show_bug.cgi?id=186985
3632
3633         Reviewed by Brian Burg.
3634
3635         Increasing the luminance of network header colors by increasing lightness and brightness.
3636
3637         * UserInterface/Views/DarkMode.css:
3638         (@media (prefers-dark-interface)):
3639         (:root):
3640
3641 2018-06-25  Nikita Vasilyev  <nvasilyev@apple.com>
3642
3643         Web Inspector: Dark Mode: Font guideline colors are too bright
3644         https://bugs.webkit.org/show_bug.cgi?id=186986
3645
3646         Reviewed by Brian Burg.
3647
3648         Make the guidelines less distractive from the font glyphs.
3649
3650         * UserInterface/Views/DarkMode.css:
3651         (@media (prefers-dark-interface)):
3652         (.content-view.resource.font .preview > .line):
3653         (.content-view.resource.font .metric.top):
3654         (.content-view.resource.font .metric.baseline):
3655         (.content-view.resource.font .metric.middle):
3656         (.content-view.resource.font .metric.xheight):
3657         (.content-view.resource.font .metric.bottom):
3658
3659 2018-06-20  Daniel Bates  <dabates@apple.com>
3660
3661         Web Inspector: All non-Same-Site cookies are marked as Same-Site Strict in Storage tab
3662         https://bugs.webkit.org/show_bug.cgi?id=186867
3663         <rdar://problem/41175424>
3664
3665         Reviewed by Matt Baker.
3666
3667         Fixes an issue where cookies that do not have a Same-Site policy would be marked up as Same-
3668         Site Strict in Web Inspector's cookie storage content view (under the storage tab).
3669
3670         * UserInterface/Views/CookieStorageContentView.js:
3671         (WI.CookieStorageContentView.prototype._rebuildTable): Only compute the display name if
3672         we cookie.sameSite is non-null and is not WI.Cookie.SameSiteType.None. Moreover, remove
3673         an extraneous call to WI.Cookie.parseSameSiteAttributeValue() as cookie.SameSite represents
3674         the already parsed value (one of the WI.Cookie.SameSiteType-scoped values).
3675
3676 2018-06-18  Brian Burg  <bburg@apple.com>
3677
3678         Web Inspector: TypeError: Array.prototype.sort passed bad value in NetworkTableContentView _updateSortAndFilteredEntries
3679         https://bugs.webkit.org/show_bug.cgi?id=186787
3680         <rdar://problem/41175680>
3681
3682         Reviewed by Timothy Hatcher.
3683
3684         * UserInterface/Views/NetworkTableContentView.js:
3685         (WI.NetworkTableContentView.prototype._updateSortAndFilteredEntries):
3686
3687 2018-06-13  Nikita Vasilyev  <nvasilyev@apple.com>
3688
3689         Web Inspector: open source Dark Mode
3690         https://bugs.webkit.org/show_bug.cgi?id=186606
3691
3692         Reviewed by Timothy Hatcher.
3693
3694         The dark mode is currently only available on macOS Mojave via prefers-dark-interface CSS media query.
3695
3696         * UserInterface/Main.html:
3697         * UserInterface/Views/DarkMode.css: Added.
3698         (@media (prefers-dark-interface)):
3699         (:root):
3700         (body.window-inactive):
3701         (body.window-inactive *):
3702         (#main):
3703         (.tree-outline.dom li.selected .selection-area):
3704         (.tab-bar > .item > .icon):
3705         (.go-to-arrow):
3706         (.resource-link,):
3707         (.expand-list-button):
3708         (:matches(img, canvas).show-grid):
3709         (.formatted-object,):
3710         (.formatted-null,):
3711         (.editing):
3712         (.editing, .editing *):
3713         (.text-editor > .CodeMirror .execution-line):
3714         (.text-editor > .CodeMirror .execution-range-highlight:not(.CodeMirror-selectedtext),):
3715         (.details-section > .header):
3716         (.details-section > .header > label):
3717         (.details-section .details-section,):
3718         (.details-section .details-section:not(.collapsed) > .header):
3719         (.details-section > .content > .group > .row.simple > .label):
3720         (.details-section > .content > .group:nth-child(even)):
3721         (.details-section > .content > .group > .row:matches(.empty, .text)):
3722         (.data-grid th):
3723         (.data-grid td .subtitle):
3724         (.data-grid:matches(:focus, .force-focus) tr.selected td .subtitle):
3725         (body:not(.window-inactive, .window-docked-inactive) .data-grid:matches(:focus, .force-focus) tr.editable.selected .cell-content > input):
3726         (.data-grid tr.editable .cell-content > input):
3727         (.data-grid td.spanning):
3728         (.object-tree,):
3729         (.object-preview .name):
3730         (.object-preview > .size):
3731         (.tab-bar):
3732         (.tab-bar > .item):
3733         (.tab-bar > .item > .title):
3734         (.tab-bar > .item:not(.disabled).selected):
3735         (.tab-bar:not(.animating) > .item:not(.selected):hover):
3736         (.tab-bar > .item > .close):
3737         (body.window-inactive .tab-bar):
3738         (body.window-inactive .tab-bar > .item):
3739         (body.window-inactive .tab-bar > .item.selected):
3740         (body.window-inactive .tab-bar > .item > .title):
3741         (body .toolbar):
3742         (body.window-inactive .toolbar):
3743         (body.latest-mac .toolbar .item.button,):
3744         (body.latest-mac .toolbar .search-bar > input[type="search"]):
3745         (body.latest-mac .toolbar .search-bar > input[type="search"]:focus):
3746         (body.latest-mac .toolbar .search-bar > input[type="search"]::placeholder):
3747         (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::placeholder):
3748         (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::-webkit-search-results-button):
3749         (body.latest-mac .toolbar .dashboard-container):
3750         (body.latest-mac .toolbar .item.button:active):
3751         (body.latest-mac.window-inactive .toolbar .item.button,):
3752         (.navigation-bar .item.divider):
3753         (.toolbar .item.button):
3754         (.toolbar .item.button:not(.disabled):active):
3755         (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated)):
3756         (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated)):
3757         (.toolbar .dashboard.default > .item > div):
3758         (.toolbar .dashboard.default > .item.enabled > div):
3759         (.toolbar .dashboard.default > .item.enabled:hover):
3760         (.toolbar .dashboard.default > .item.enabled:hover > div):
3761         (.toolbar .dashboard.default > .resourcesCount > img,):
3762         (body.latest-mac .toolbar .dashboard .item.button):
3763         (.dashboard-container .advance-arrow):
3764         (.toolbar .dashboard.debugger):
3765         (.dashboard.debugger .navigation-bar .item.button > .glyph):
3766         (.dashboard.debugger > .location .function-name):
3767         (.dashboard.debugger > .location .go-to-link):
3768         (.dashboard.debugger > .divider):
3769         (.popover .edit-breakpoint-popover-content > label.toggle):
3770         (.popover .edit-breakpoint-popover-content > table > tr > th):
3771         (.breakpoint-action-block-body):
3772         (.breakpoint-action-block-body > .description):
3773         (.breakpoint-action-append-button,):
3774         (.popover .xhr-breakpoint-content > .editor-wrapper > .editor):
3775         (.navigation-bar .item.button):
3776         (.spreadsheet-style-declaration-editor .property:not(.disabled) .value):
3777         (.spreadsheet-css-declaration):
3778         (.spreadsheet-css-declaration .selector:focus,):
3779         (.spreadsheet-css-declaration.locked .origin::after):
3780         (.spreadsheet-css-declaration .origin .go-to-link,):
3781         (.spreadsheet-style-declaration-editor :matches(.name, .value).editing):
3782         (.spreadsheet-style-declaration-editor .property.has-warning):
3783         (.spreadsheet-style-declaration-editor .property.has-warning .warning):
3784         (.spreadsheet-css-declaration .media-label):
3785         (.quick-console):
3786         (.syntax-highlighted,):
3787         (.cm-s-default,):
3788         (.CodeMirror .jump-to-symbol-highlight,):
3789         (.console-prompt):
3790         (.completion-suggestions):
3791         (.completion-suggestions-container > .item):
3792         (.CodeMirror-cursor):
3793         (.CodeMirror .CodeMirror-gutters):
3794         (.cm-s-default .cm-link):
3795         (.cm-s-default .cm-m-xml.cm-attribute,):
3796         (.cm-s-default .cm-meta):
3797         (.cm-s-default .cm-variable-3):
3798         (.cm-s-default .cm-builtin):
3799         (.tree-outline .item .subtitle):
3800         (.object-tree-property .getter,):
3801         (.item.object-tree-property.prototype-property):
3802         (.object-tree-property.prototype-property:hover,):
3803         (.object-tree-property .value.error):
3804         (.tree-outline.dom):
3805         (.tree-outline.dom li.selected + ol.children.expanded):
3806         (.tree-outline.dom .shadow):
3807         (.tree-outline.dom li.parent.shadow + ol.children.expanded,):
3808         (.showing-find-banner .tree-outline.dom .search-highlight):
3809         (.sidebar > .panel.dom-node-details .details-section.dom-node-event-listeners > .header > .filter:hover):
3810         (.sidebar > .panel.details.css-style > .content > .pseudo-classes > .group > label):
3811         (.spreadsheet-css-declaration.locked):
3812         (.spreadsheet-css-declaration .selector.style-attribute):
3813         (.spreadsheet-style-declaration-editor .property:matches(.invalid-name, .other-vendor, .overridden):not(.disabled) .content > *):
3814         (.inline-swatch):
3815         (.spreadsheet-style-panel .section-header):
3816         (.spreadsheet-style-panel .section-header .node-link:hover):
3817         (.computed-style-properties.details-section):
3818         (.details-section.style-box-model:not(.collapsed) > :matches(.header, .content)):
3819         (.table,):
3820         (.table > .header > .sortable:active):
3821         (.table > .header > :matches(.sort-ascending, .sort-descending)):
3822         (.table > .header > :matches(.sort-ascending, .sort-descending)::after):
3823         (.scope-bar > li):
3824         (.timeline-overview > .navigation-bar.timelines):
3825         (.timeline-overview:not(.frames) > .graphs-container > .timeline-overview-graph:nth-child(even)):
3826         (.timeline-overview.edit-instruments > .tree-outline.timelines .item:not(:first-child),):
3827         (.time-icon .icon):
3828         (.data-grid th:matches(.sort-ascending, .sort-descending)):
3829         (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple):
3830         (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows):
3831         (.content-view.settings .navigation-bar):
3832         (.content-view.settings .navigation-bar .item.radio.button.text-only.selected):
3833         (.new-tab.tab.content-view):
3834         (.filter-bar > input[type="search"]):
3835         (.filter-bar > input[type="search"]::placeholder):
3836         (.filter-bar > input[type="search"]:focus):
3837         (.content-view.resource.image):
3838         (.console-messages):
3839         (.console-item):
3840         (.console-messages:focus .console-item.selected):
3841         (.console-messages:focus .console-item.selected + .console-item):
3842         (.console-session:first-of-type .console-session-header):
3843         (.console-session:not(:first-of-type) .console-session-header):
3844         (.console-messages a):
3845         (.console-messages a:hover):
3846         (.console-messages:focus .console-item.selected::after):
3847         (.console-error-level):
3848         (.console-error-level:not(.filtered-out, .filtered-out-by-search), .console-error-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
3849         (.console-warning-level):
3850         (.console-warning-level:not(.filtered-out, .filtered-out-by-search), .console-warning-level:not(.filtered-out, .filtered-out-by-search) + .console-item):
3851         (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted):
3852         (.search-in-progress .console-item:not(.filtered-out-by-search) .highlighted.selected):
3853         (.source-code.text-editor > .CodeMirror .error):
3854         (.source-code.text-editor > .CodeMirror .warning):
3855         (.source-code.text-editor > .CodeMirror .issue-widget):
3856         (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning):
3857         (.source-code.text-editor > .CodeMirror .issue-widget.inline.warning > .arrow):
3858         (.source-code.text-editor > .CodeMirror .issue-widget.inline.error):
3859         (.source-code.text-editor > .CodeMirror .issue-widget.inline.error > .arrow):
3860         (.console-message .syntax-highlighted):