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