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