Web Inspector: Support for JavaScript BigInt
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
1 2019-07-17  Olivier Blin  <olivier.blin@softathome.com>
2
3         Web Inspector: application/xml content not shown
4         https://bugs.webkit.org/show_bug.cgi?id=199861
5
6         Reviewed by Devin Rousso.
7
8         application/xml content from XHR requests was not shown in the
9         inspector, an error message was displayed instead.
10
11         application/xml content should be treated as text, since
12         application/xml is the standard mimetype for XML content.
13         Apache serves XML content with the application/xml mimetype by
14         default.
15
16         * UserInterface/Base/MIMETypeUtilities.js:
17         (WI.fileExtensionForMIMEType):
18         Report "xml" extension for "application/xml" mimetype.
19         (WI.shouldTreatMIMETypeAsText):
20         Treat XML files as text.
21
22 2019-07-16  Nikita Vasilyev  <nvasilyev@apple.com>
23
24         Web Inspector: Changes panel should be strictly LTR
25         https://bugs.webkit.org/show_bug.cgi?id=199767
26
27         Reviewed by Joseph Pecoraro.
28
29         Changes panel is primarily CSS code and CSS is strictly LTR.
30
31         * UserInterface/Views/ChangesDetailsSidebarPanel.js:
32         (WI.ChangesDetailsSidebarPanel):
33
34 2019-07-15  Youenn Fablet  <youenn@apple.com>
35
36         Enable a debug WebRTC mode without any encryption
37         https://bugs.webkit.org/show_bug.cgi?id=199177
38         <rdar://problem/52074986>
39
40         Reviewed by Eric Carlson.
41
42         * Localizations/en.lproj/localizedStrings.js:
43         * UserInterface/Base/Main.js:
44
45 2019-07-15  Greg Doolittle <gr3g@apple.com>
46
47         Web Inspector: AXI: Audit: Typos in Accessibility audits
48         https://bugs.webkit.org/show_bug.cgi?id=199716
49         <rdar://problem/52721711>
50
51         Reviewed by Devin Rousso.
52
53         * UserInterface/Controllers/AuditManager.js:
54
55 2019-07-15  Devin Rousso  <drousso@apple.com>
56
57         Web Inspector: Device Settings: update Safari user agent from 12.2 to 13.0
58         https://bugs.webkit.org/show_bug.cgi?id=199758
59
60         Reviewed by Maciej Stachowiak.
61
62         * UserInterface/Base/Main.js:
63         (WI._handleDeviceSettingsToolbarButtonClicked):
64
65 2019-07-12  Nikita Vasilyev  <nvasilyev@apple.com>
66
67         Web Inspector: Changes: dismissing a blank property makes style rule to show in Changes panel
68         https://bugs.webkit.org/show_bug.cgi?id=199760
69
70         Reviewed by Devin Rousso.
71
72         * UserInterface/Models/CSSProperty.js:
73         (WI.CSSProperty.prototype._updateOwnerStyleText):
74         Call updatePropertiesModifiedState even when _updateOwnerStyleText returns early.
75
76 2019-07-12  Devin Rousso  <drousso@apple.com>
77
78         Web Inspector: Elements: always show all navigation bar items, but disable those that wouldn't work
79         https://bugs.webkit.org/show_bug.cgi?id=199594
80
81         Reviewed by Ross Kirsling.
82
83         Reorder the navigation items of the Elements tab (left to right):
84          - Show rulers
85          - Force print media styles
86          - Force Dark Appearance / Force Light Appearance
87          - Show compositing borders
88          - Enable paint flashing
89          - Show shadow DOM nodes
90         This way, "related" (e.g. print styles and dark/light appearance both relate to CSS media)
91         toggles are grouped closer together.
92
93         * UserInterface/Views/DOMTreeContentView.js:
94         (WI.DOMTreeContentView):
95         (WI.DOMTreeContentView.prototype.get navigationItems):
96         (WI.DOMTreeContentView.prototype._defaultAppearanceDidChange):
97         (WI.DOMTreeContentView.prototype._toggleAppearance):
98
99         * Localizations/en.lproj/localizedStrings.js:
100
101 2019-07-11  Devin Rousso  <drousso@apple.com>
102
103         Web Inspector: Layers: Uncaught Exception: Request with id = 2 failed. {"code":-32601,"message":"'Page' domain was not found","data":[{"code":-32601,"message":"'Page' domain was not found"}]}
104         https://bugs.webkit.org/show_bug.cgi?id=199555
105
106         Reviewed by Joseph Pecoraro.
107
108         Use modern inspected target support checking, and defer agent commands until a target is
109         available.
110
111         * UserInterface/Views/Layers3DContentView.js:
112         (WI.Layers3DContentView):
113         (WI.Layers3DContentView.prototype._showPaintRectsSettingChanged):
114         (WI.Layers3DContentView.prototype._updateCompositingBordersButtonState):
115         (WI.Layers3DContentView.prototype._toggleCompositingBorders):
116
117         * UserInterface/Views/DOMTreeContentView.js:
118         (WI.DOMTreeContentView):
119         (WI.DOMTreeContentView.prototype._toggleCompositingBorders):
120         (WI.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings):
121         (WI.DOMTreeContentView.prototype._showPaintRectsSettingChanged):
122         (WI.DOMTreeContentView.prototype._showPrintStylesChanged):
123         (WI.DOMTreeContentView.prototype._showRulersChanged):
124         Drive-by: apply the same changes to the Elements tab for when the Layers tab isn't enabled.
125
126 2019-07-09  Devin Rousso  <drousso@apple.com>
127
128         Web Inspector: Canvas: replace WTF::Vector with std::initializer_list in CallTracer to avoid dynamic allocations
129         https://bugs.webkit.org/show_bug.cgi?id=199611
130
131         Reviewed by Joseph Pecoraro.
132
133         * UserInterface/Models/Recording.js:
134         (WI.Recording.prototype.async swizzle):
135         Drive-by: handle the situation where a parameter is an array of deduplicated strings, which
136                   would otherwise be treated as an array of numbers.
137
138 2019-07-09  Joseph Pecoraro  <pecoraro@apple.com>
139
140         Web Inspector: Add another Protocol Version (iOS 13.0)
141         https://bugs.webkit.org/show_bug.cgi?id=199631
142         <rdar://problem/47538193>
143
144         Reviewed by Devin Rousso.
145
146         * UserInterface/Protocol/Legacy/13.0/InspectorBackendCommands.js: Added.
147         * Versions/Inspector-iOS-13.0.json: Added.
148
149 2019-07-08  Devin Rousso  <drousso@apple.com>
150
151         Web Inspector: Debugger: special breakpoints and event targets should be sorted into separate "areas"
152         https://bugs.webkit.org/show_bug.cgi?id=199554
153
154         Reviewed by Joseph Pecoraro.
155
156         Move the special All Requests breakpoint down to be right above all other URL breakpoints.
157         Move the `window` object tree element below other DOM node tree elements.
158
159         * UserInterface/Views/DebuggerSidebarPanel.js:
160         (WI.DebuggerSidebarPanel.prototype._addTreeElement):
161         * UserInterface/Views/SourcesNavigationSidebarPanel.js:
162         (WI.SourcesNavigationSidebarPanel.prototype._insertDebuggerTreeElement):
163
164 2019-07-08  Devin Rousso  <drousso@apple.com>
165
166         Web Inspector: DOM Debugger: there should be different icons for each type of DOM breakpoint
167         https://bugs.webkit.org/show_bug.cgi?id=199552
168
169         Reviewed by Joseph Pecoraro.
170
171         [S] for Subtree Modified
172         [A] for Attribute Modified
173         [R] for Node Removed
174
175         * UserInterface/Views/DOMBreakpointTreeElement.js:
176         (WI.DOMBreakpointTreeElement):
177         * UserInterface/Views/DOMBreakpointTreeElement.css: Added.
178         (.breakpoint.dom.breakpoint-for-subtree-modified:not(.breakpoint-paused-icon) .icon):
179         (.breakpoint.dom.breakpoint-for-attribute-modified:not(.breakpoint-paused-icon) .icon):
180         (.breakpoint.dom.breakpoint-for-node-removed:not(.breakpoint-paused-icon) .icon):
181
182         * UserInterface/Main.html:
183         * UserInterface/Images/DOMBreakpointAttributeModified.svg: Added.
184         * UserInterface/Images/DOMBreakpointNodeRemoved.svg: Added.
185         * UserInterface/Images/DOMBreakpointSubtreeModified.svg: Added.
186
187 2019-07-08  Devin Rousso  <drousso@apple.com>
188
189         Uncaught Exception: Unexpected enum value: CPU
190         https://bugs.webkit.org/show_bug.cgi?id=199564
191
192         Reviewed by Joseph Pecoraro.
193
194         * UserInterface/Controllers/TimelineManager.js:
195         (WI.TimelineManager.prototype._updateAutoCaptureInstruments):
196         Filter the list of auto-capture instruments based on what's actually supported, instead of
197         directly using the saved list from the `WI.Setting`.
198
199 2019-07-08  Devin Rousso  <drousso@apple.com>
200
201         Enabling the Layers tab hides the paint flashing button
202         https://bugs.webkit.org/show_bug.cgi?id=199549
203
204         Reviewed by Joseph Pecoraro.
205
206         Still show the Compositing Borders and Paint Flashing navigation items in the Elements tab
207         even when the Layers tab is enabled (just like the Layers details sidebar).
208
209         * UserInterface/Views/DOMTreeContentView.js:
210         (WI.DOMTreeContentView.prototype.get navigationItems):
211         (WI.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings):
212
213 2019-07-08  Devin Rousso  <drousso@apple.com>
214
215         Web Inspector: REGRESSION: Elements: pasting in the Styles sidebar adds a text node to the DOM tree
216         https://bugs.webkit.org/show_bug.cgi?id=199588
217
218         Reviewed by Joseph Pecoraro.
219
220         * UserInterface/Base/Main.js:
221         (WI._paste):
222         Bail if `event.defaultPrevented`, as that means that something else has handled (and likely
223         overrode) this event.
224
225 2019-07-08  Devin Rousso  <drousso@apple.com>
226
227         Web Inspector: the "x" in the Exception icon overlaps the border
228         https://bugs.webkit.org/show_bug.cgi?id=199553
229
230         Reviewed by Joseph Pecoraro.
231
232         * UserInterface/Images/Exception.svg:
233         * UserInterface/Images/Function.svg:
234         * UserInterface/Images/TailDeletedFunction.svg:
235
236 2019-07-08  Devin Rousso  <drousso@apple.com>
237
238         Web Inspector: Debugger: there should be a different icon for URL breakpoints
239         https://bugs.webkit.org/show_bug.cgi?id=199550
240
241         Reviewed by Joseph Pecoraro.
242
243         Use the same (down|up) arrow icon for the Network Tab and the Network timeline.
244
245         * UserInterface/Views/URLBreakpointTreeElement.js:
246         (WI.URLBreakpointTreeElement):
247         * UserInterface/Views/URLBreakpointTreeElement.css:
248         (.breakpoint.url:not(.breakpoint-paused-icon) .icon): Added.
249
250         * UserInterface/Views/DebuggerSidebarPanel.js:
251         (WI.DebuggerSidebarPanel.prototype._addBreakpoint):
252         * UserInterface/Views/SourcesNavigationSidebarPanel.js:
253         (WI.SourcesNavigationSidebarPanel.prototype._addBreakpoint):
254
255         * UserInterface/Images/URLBreakpoint.svg: Added.
256
257 2019-07-08  Devin Rousso  <drousso@apple.com>
258
259         Web Inspector: Timelines: CPU: the Duration string isn't localized
260         https://bugs.webkit.org/show_bug.cgi?id=199582
261         <rdar://problem/51698165>
262
263         Reviewed by Joseph Pecoraro.
264
265         * UserInterface/Views/CPUTimelineView.js:
266         (WI.CPUTimelineView.prototype._layoutEnergyChart):
267
268         * Localizations/en.lproj/localizedStrings.js:
269
270 2019-07-06  Nikita Vasilyev  <nvasilyev@apple.com>
271
272         Web Inspector: Styles: unbalanced quotes and parenthesis aren't displayed as property closed after editing values
273         https://bugs.webkit.org/show_bug.cgi?id=199090
274         <rdar://problem/51965431>
275
276         Reviewed by Devin Rousso.
277
278         `}` gets added by WI.tokenizeCSSValue (called by SpreadsheetStyleProperty.prototype._renderValue)
279         when it encounters unbalanced quotes. Fix unbalanced quotes by re-rendering the value from the model,
280         not the DOM content.
281
282         * UserInterface/Views/SpreadsheetStyleProperty.js:
283         (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
284         For consistency, render property name from the model as well.
285
286 2019-07-05  Devin Rousso  <drousso@apple.com>
287
288         Web Inspector: current call frame indicator not visible in dark mode
289         https://bugs.webkit.org/show_bug.cgi?id=199047
290         <rdar://problem/51922895>
291
292         Reviewed by Timothy Hatcher.
293
294         * UserInterface/Views/CallFrameTreeElement.css:
295         (.tree-outline .item.call-frame .status > .status-image):
296         (.tree-outline .item.call-frame.selected .status > .status-image):
297         Replace the CSS variables used for `fill` with their actual color value (in `light` mode),
298         as the semantic "name" of the variable doesn't really match its usage. As an example, the
299         current call frame shouldn't rely on the value of `--border-color`, as it's not a "border".
300
301 2019-07-05  Matt Baker  <mattbaker@apple.com>
302
303         Web Inspector: Elements: use a CSS transition when showing/hiding DOM breakpoint gutter
304         https://bugs.webkit.org/show_bug.cgi?id=199411
305
306         Reviewed by Devin Rousso.
307
308         * UserInterface/Views/DOMTreeContentView.css:
309         (.content-view.dom-tree .tree-outline.dom):
310
311 2019-07-02  Devin Rousso  <drousso@apple.com>
312
313         Web Inspector: Elements: allow nodes to be copied and pasted
314         https://bugs.webkit.org/show_bug.cgi?id=199182
315
316         Reviewed by Matt Baker.
317
318         Copy is already supported, so there's nothing that needs to be done there.
319
320         Pasting is as simple as calling `insertAdjacentHTML("afterend", ...)` on the selected node.
321
322         * UserInterface/Base/Main.js:
323         (WI.contentLoaded):
324         (WI._paste): Added.
325
326         * UserInterface/Views/DOMTreeContentView.js:
327         (WI.DOMTreeContentView.prototype.handlePasteEvent): Added.
328
329 2019-07-02  Devin Rousso  <drousso@apple.com>
330
331         Web Inspector: DOM Debugger: descendant breakpoints should be able to be enabled/disabled/deleted from a collapsed parent
332         https://bugs.webkit.org/show_bug.cgi?id=199332
333
334         Reviewed by Matt Baker.
335
336         * UserInterface/Controllers/DOMDebuggerManager.js:
337         (WI.DOMDebuggerManager.prototype.get domBreakpoints):
338         (WI.DOMDebuggerManager.prototype.domBreakpointsForNode):
339         (WI.DOMDebuggerManager.prototype.domBreakpointsInSubtree): Added.
340         (WI.DOMDebuggerManager.prototype.removeDOMBreakpoint):
341         (WI.DOMDebuggerManager.prototype._detachDOMBreakpoint):
342         (WI.DOMDebuggerManager.prototype._detachBreakpointsForFrame):
343         (WI.DOMDebuggerManager.prototype._speculativelyResolveDOMBreakpointsForURL):
344         (WI.DOMDebuggerManager.prototype._resolveDOMBreakpoint):
345         Provide a way of getting a "summary" array of `DOMBreakpoint`s for all descendant nodes.
346         Rework the data structure for holding `DOMBreakpoint`s to use a `Multimap` so no duplicates
347         can be added (it uses a `Set` instead of an `Array`).
348
349         * UserInterface/Views/DOMTreeElement.js:
350         (WI.DOMTreeElement):
351         (WI.DOMTreeElement.prototype.get hasBreakpoint):
352         (WI.DOMTreeElement.prototype.set breakpointStatus):
353         (WI.DOMTreeElement.prototype.bindRevealDescendantBreakpointsMenuItemHandler): Added.
354         (WI.DOMTreeElement.prototype._subtreeBreakpointChanged): Added.
355         (WI.DOMTreeElement.prototype._updateBreakpointStatus):
356         (WI.DOMTreeElement.prototype._statusImageContextmenu):
357         (WI.DOMTreeElement.prototype.subtreeBreakpointCountDidChange): Deleted.
358         * UserInterface/Views/DOMTreeOutline.js:
359         (WI.DOMTreeOutline.prototype.populateContextMenu):
360         * UserInterface/Views/ContextMenuUtilities.js:
361         (WI.appendContextMenuItemsForDOMNode):
362         (WI.appendContextMenuItemsForDOMNodeBreakpoints):
363         Keep track of the actual descendant `DOMNodeTreeElement` that have breakpoints, rather than
364         just a count, so that the "Reveal Descendant Breakpoints" action is able to access them.
365         Change "Reveal Descendant Breakpoints" to reveal and select all descendant breakpoints
366         instead of just the first one.
367         Drive-by: don't remove specific (event) listener breakpoints when invoking the
368                   "Delete Descendant Breakpoints" action, as that's not obvious from the UI.
369
370         * UserInterface/Controllers/BreakpointPopoverController.js:
371         (WI.BreakpointPopoverController.prototype.appendContextMenuItems):
372         * UserInterface/Views/DOMBreakpointTreeElement.js:
373         (WI.DOMBreakpointTreeElement.prototype.populateContextMenu):
374         * UserInterface/Views/DOMNodeTreeElement.js:
375         (WI.DOMNodeTreeElement.prototype.populateContextMenu):
376         * UserInterface/Views/EventBreakpointTreeElement.js:
377         (WI.EventBreakpointTreeElement.prototype.populateContextMenu):
378         * UserInterface/Views/URLBreakpointTreeElement.js:
379         (WI.URLBreakpointTreeElement.prototype.populateContextMenu):
380         Remove the separator before "Delete Breakpoint" so all breakpoint actions are in the same section.
381
382         * Localizations/en.lproj/localizedStrings.js:
383         * UserInterface/Base/Multimap.js:
384         (Multimap.prototype.get size): Added.
385
386 2019-07-02  Matt Baker  <mattbaker@apple.com>
387
388         REGRESSION (r238563): Web Inspector: Selection is erratic when holding Up/Down on Network Table
389         https://bugs.webkit.org/show_bug.cgi?id=193841
390         <rdar://problem/47559124>
391
392         Reviewed by Devin Rousso.
393
394         Selecting and revealing a row after reloading Table data, but before the
395         layout that populates visible rows, could cause the Table to always be
396         scrolled so that the revealed row is first.
397
398         This patch fixes `revealRow` by calculating the position of the row being
399         revealed in the absence of its DOM element, so that the Table is only
400         scrolled when necessary.
401
402         * UserInterface/Views/Table.js:
403         (WI.Table.prototype.revealRow):
404         (WI.Table.prototype._resizeColumnsAndFiller):
405         Drive-by fix: use realOffsetWidth for consistency.
406         (WI.Table.prototype._updateVisibleRows):
407         (WI.Table.prototype._calculateOffsetHeight):
408         (WI.Table.prototype._calculateScrollTop):
409
410 2019-07-02  Devin Rousso  <drousso@apple.com>
411
412         Web Inspector: Debug: "Reset Web Inspector" should also clear the saved window size and attachment side
413         https://bugs.webkit.org/show_bug.cgi?id=198956
414
415         Reviewed by Matt Baker.
416
417         * UserInterface/Base/Main.js:
418         (WI.reset): Added.
419
420         * UserInterface/Views/SettingsTabContentView.js:
421         (WI.SettingsTabContentView.prototype._createDebugSettingsView):
422
423 2019-07-02  Devin Rousso  <drousso@apple.com>
424
425         Web Inspector: Audit: missing demo audits for WebInspectorAudit functions
426         https://bugs.webkit.org/show_bug.cgi?id=198719
427
428         Reviewed by Matt Baker.
429
430         Other than the LayoutTests, there's no way to see an example of the functionality of many of
431         the exposed `WebInspectorAudit` functions. There should be a demo audit for every exposed
432         function so they're more discoverable.
433
434         * UserInterface/Controllers/AuditManager.js:
435         (WI.AuditManager.prototype._addDefaultTests):
436         (WI.AuditManager.prototype._addDefaultTests.removeWhitespace): Added.
437         Move all demo audit test functions to be actual JavaScript functions, which are then
438         stringified and stripped of unnecessary white-space.
439
440         * Localizations/en.lproj/localizedStrings.js:
441
442 2019-07-01  Devin Rousso  <drousso@apple.com>
443
444         Web Inspector: REGRESSION(r245498): Timelines: CPU: discontinuities are filled in by the next record
445         https://bugs.webkit.org/show_bug.cgi?id=198927
446
447         Reviewed by Matt Baker.
448
449         * UserInterface/Controllers/TimelineManager.js:
450         (WI.TimelineManager.prototype.capturingStarted):
451         (WI.TimelineManager.prototype.capturingStopped):
452         * UserInterface/Models/TimelineRecording.js:
453         (WI.TimelineRecording):
454         (WI.TimelineRecording.prototype.start):
455         (WI.TimelineRecording.prototype.capturingStarted): Added.
456         (WI.TimelineRecording.prototype.capturingStopped): Added.
457         (WI.TimelineRecording.prototype.reset):
458         (WI.TimelineRecording.prototype.addRecord):
459         (WI.TimelineRecording.prototype.discontinuitiesInTimeRange):
460         (WI.TimelineRecording.prototype.addDiscontinuity): Deleted.
461         Notify the `TimelineRecording` when capturing has started/stopped.
462         Adjust the first record after a discontinuity to have it's `startTime` match the `endTime`
463         of the most recent discontinuity.
464
465         * UserInterface/Models/Timeline.js:
466         (WI.Timeline.prototype.addRecord):
467         * UserInterface/Models/CPUTimeline.js:
468         (WI.CPUTimeline.prototype.addRecord):
469         * UserInterface/Models/CPUTimelineRecord.js:
470         (WI.CPUTimelineRecord.prototype.adjustStartTime): Added.
471         (WI.CPUTimelineRecord.prototype.adjustStartTimeToLastRecord): Deleted.
472         * UserInterface/Models/MemoryTimeline.js:
473         (WI.MemoryTimeline.prototype.addRecord):
474         * UserInterface/Models/MemoryTimelineRecord.js:
475         (WI.MemoryTimelineRecord.prototype.adjustStartTime): Added.
476         (WI.MemoryTimelineRecord.prototype.adjustStartTimeToLastRecord): Deleted.
477         * UserInterface/Models/NetworkTimeline.js:
478         (WI.NetworkTimeline.prototype.addRecord):
479
480         * UserInterface/Views/CPUTimelineView.js:
481         (WI.CPUTimelineView.prototype.layout):
482         * UserInterface/Views/MemoryTimelineOverviewGraph.js:
483         (WI.MemoryTimelineOverviewGraph.prototype.layout):
484         * UserInterface/Views/MemoryTimelineView.js:
485         (WI.MemoryTimelineView.prototype.layout):
486         Include discontinuities that exactly match the start/end time of the record immediately
487         before/after the discontinuity.
488
489         * UserInterface/Views/TimelineRecordingContentView.js:
490         (WI.TimelineRecordingContentView):
491         (WI.TimelineRecordingContentView.prototype._handleTimelineCapturingStateChanged):
492         (WI.TimelineRecordingContentView.prototype._recordingReset):
493         Move the logic for handling discontinuity start/end times to the `TimelineRecording`.
494
495         * UserInterface/Base/Utilities.js:
496
497 2019-06-29  Nikita Vasilyev  <nvasilyev@apple.com>
498
499         Web Inspector: Remove trailing white-space
500         https://bugs.webkit.org/show_bug.cgi?id=199346
501
502         Reviewed by Matt Baker.
503
504         * UserInterface/Controllers/NetworkManager.js:
505         (WI.NetworkManager.prototype._initiatorCallFramesFromPayload):
506         * UserInterface/Images/Import.svg:
507         * UserInterface/Views/CanvasOverviewContentView.css:
508         (.navigation-bar > .item.canvas-recording-auto-capture > label > input):
509         * UserInterface/Views/DataGrid.css:
510         (.data-grid .resizer):
511         * UserInterface/Views/DatabaseContentView.css:
512         (.storage-view):
513         * UserInterface/Views/GoToLineDialog.css:
514         (@media (prefers-color-scheme: dark)):
515         * UserInterface/Views/GradientSlider.css:
516         (.gradient-slider > .add-area):
517         (.gradient-slider-knob > :matches(img, div)):
518         * UserInterface/Views/ResourceDetailsSection.css:
519         * UserInterface/Views/ScrubberNavigationItem.css:
520         (.navigation-bar .item.scrubber > input[disabled]):
521         * UserInterface/Views/SourceCodeTextEditor.css:
522         (.popover .expandable):
523         * UserInterface/Views/TimelineRecordBar.css:
524         (.timeline-record-bar.timeline-record-type-script.garbage-collected > .segment,):
525         * UserInterface/Workers/HeapSnapshot/HeapSnapshotWorker.js:
526         (HeapSnapshotWorker.prototype.createSnapshot):
527
528 2019-06-29  Nikita Vasilyev  <nvasilyev@apple.com>
529
530         Remove duplicate "Private" section and fix white space
531
532         Unreviewed code style fix.
533
534         * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
535         (WI.SpreadsheetRulesStyleDetailsPanel.prototype.layout):
536
537 2019-06-27  Beth Dakin  <bdakin@apple.com>
538
539         Upstream use of MACCATALYST
540         https://bugs.webkit.org/show_bug.cgi?id=199245
541         rdar://problem/51687723
542
543         Reviewed by Tim Horton.
544
545         * Configurations/Base.xcconfig:
546         * Configurations/SDKVariant.xcconfig:
547
548 2019-06-27  Devin Rousso  <drousso@apple.com>
549
550         Web Inspector: throw an error if console.count/console.countReset is called with an object that throws an error from toString
551         https://bugs.webkit.org/show_bug.cgi?id=199252
552
553         Reviewed by Joseph Pecoraro.
554
555         Add entries for `console.countReset` and `console.timeLog`.
556
557         Rename `title` to `label` for `console.time`, `console.timeLog`, and `console.timeEnd` to
558         better match the spec.
559
560         * UserInterface/Models/NativeFunctionParameters.js:
561
562 2019-06-26  Joseph Pecoraro  <pecoraro@apple.com>
563
564         Web Inspector: Update legacy backend commands after enum name change
565         https://bugs.webkit.org/show_bug.cgi?id=199250
566
567         Reviewed by Devin Rousso.
568
569         * UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js:
570         * UserInterface/Protocol/Legacy/12.0/InspectorBackendCommands.js:
571         * UserInterface/Protocol/Legacy/12.2/InspectorBackendCommands.js:
572
573 2019-06-26  Devin Rousso  <drousso@apple.com>
574
575         Web Inspector: REGRESSION: Elements: the forced pseudo-class indicator isn't visible when hovering
576         https://bugs.webkit.org/show_bug.cgi?id=199166
577
578         Reviewed by Matt Baker.
579
580         Make the pseudo-class indicator into its own element instead of being a `::before`.
581
582         * UserInterface/Views/DOMTreeElement.js:
583         (WI.DOMTreeElement):
584         (WI.DOMTreeElement.prototype.updateSelectionArea):
585         (WI.DOMTreeElement.prototype.updateTitle):
586         (WI.DOMTreeElement.prototype._updatePseudoClassIndicator): Added.
587         (WI.DOMTreeElement.prototype.get pseudoClassesEnabled): Deleted.
588         (WI.DOMTreeElement.prototype._nodePseudoClassesDidChange): Deleted.
589
590         * UserInterface/Views/DOMTreeOutline.css:
591         (.tree-outline.dom):
592         (.tree-outline.dom li .pseudo-class-indicator): Added.
593         (body[dir=ltr] .tree-outline.dom li .pseudo-class-indicator): Added.
594         (body[dir=rtl] .tree-outline.dom li .pseudo-class-indicator): Added.
595         (.tree-outline.dom:focus li.selected .pseudo-class-indicator): Added.
596         (.tree-outline.dom li.pseudo-class-enabled > .selection-area::before): Deleted.
597         (body[dir=ltr] .tree-outline.dom li.pseudo-class-enabled > .selection-area::before): Deleted.
598         (body[dir=rtl] .tree-outline.dom li.pseudo-class-enabled > .selection-area::before): Deleted.
599         (.tree-outline.dom:focus li.selected.pseudo-class-enabled > .selection-area::before): Deleted.
600
601         * UserInterface/Views/FormattedValue.css:
602         (.formatted-node > .tree-outline.dom):
603         Adjust the indent of any `DOMTreeOutline` so there's more room for the pseudo-class
604         indicator, such as in the Console.
605
606 2019-06-25  Matt Baker  <mattbaker@apple.com>
607
608         Web Inspector: Elements: show shadow DOM by default
609         https://bugs.webkit.org/show_bug.cgi?id=199128
610
611         Reviewed by Devin Rousso.
612
613         * UserInterface/Base/Setting.js:
614
615         * UserInterface/Test/Test.js:
616         (WI.loaded):
617         Overriding the default value isn't necessary since the default is now true.
618
619 2019-06-25  Nikita Vasilyev  <nvasilyev@apple.com>
620
621         REGRESSION(r246621): Web Inspector: Styles: property may get removed when editing after deleting value
622         https://bugs.webkit.org/show_bug.cgi?id=199143
623         <rdar://problem/52042815>
624
625         Reviewed by Matt Baker.
626
627         r246621 affected when WI.CSSStyleDeclaration.Event.PropertiesChanged event is fired, which caused
628         SpreadsheetCSSStyleDeclarationEditor to possibly enter a state when `focused` property is
629         incorrectly set to false.
630
631         * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
632         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved): Removed.
633         (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyWillRemove): Added.
634         Renamed from "removed" to "willRemove" since we need to call it before the property DOM element
635         is detached from the document.
636
637         * UserInterface/Views/SpreadsheetStyleProperty.js:
638         (WI.SpreadsheetStyleProperty.prototype.remove):
639         Don't set focused to false when the removed property wasn't focused.
640         This code need to exist because removing focused element from the DOM doesn't trigger blur event.
641
642 2019-06-25  Joseph Pecoraro  <pecoraro@apple.com>
643
644         Web Inspector: Implement console.timeLog
645         https://bugs.webkit.org/show_bug.cgi?id=199184
646
647         Reviewed by Devin Rousso.
648
649         * UserInterface/Views/ConsoleMessageView.js:
650         (WI.ConsoleMessageView.prototype._appendMessageTextAndArguments):
651         Time messages (like timeLog) do not include their messageText
652         in their parameters list. So to behave more like normal logs
653         build a parameter list that includes it at the front.
654
655 2019-06-23  Matt Baker  <mattbaker@apple.com>
656
657         Web Inspector: REGRESSION (r246684): Dark Mode: dashboard buttons should have no background
658         https://bugs.webkit.org/show_bug.cgi?id=199136
659         <rdar://problem/52035798>
660
661         Reviewed by Joseph Pecoraro.
662
663         * UserInterface/Views/DefaultDashboardView.css:
664         (@media (prefers-color-scheme: dark)):
665         (.toolbar .dashboard .item.button,):
666
667 2019-06-23  Nikita Vasilyev  <nvasilyev@apple.com>
668
669         Web Inspector: Styles: show green highlight for newly added properties only when name and value are present
670         https://bugs.webkit.org/show_bug.cgi?id=199131
671
672         Reviewed by Matt Baker.
673
674         * UserInterface/Views/SpreadsheetStyleProperty.js:
675         (WI.SpreadsheetStyleProperty.prototype.updateStatus):
676
677 2019-06-22  Nikita Vasilyev  <nvasilyev@apple.com>
678
679         REGRESSION(r241980): Web Inspector: Styles: Pressing Tab/Enter on last property no longer focuses on selector on next rule
680         https://bugs.webkit.org/show_bug.cgi?id=199125
681         <rdar://problem/52011182>
682
683         Reviewed by Matt Baker.
684
685         Since SpreadsheetSelectorField's focus handler was removed in r241980, focusing on the selector element
686         doesn't start editing it.
687
688         * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
689         (WI.SpreadsheetCSSStyleDeclarationSection.prototype.startEditingRuleSelector):
690
691 2019-06-22  Nikita Vasilyev  <nvasilyev@apple.com>
692
693         Web Inspector: Styles: unbalanced quotes and parenthesis aren't displayed as property closed after editing values
694         https://bugs.webkit.org/show_bug.cgi?id=199090
695         <rdar://problem/51965431>
696
697         Reviewed by Matt Baker.
698
699         * UserInterface/Views/SpreadsheetStyleProperty.js:
700         (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBlur):
701         Unbalanced quotes and parenthesis are fixed inside of CSSProperty's rawValue setter.
702         Render the value from the model, not the view.
703
704 2019-06-21  Matt Baker  <mattbaker@apple.com>
705
706         Web Inspector: remove unused DataGrid style .force-focus
707         https://bugs.webkit.org/show_bug.cgi?id=199112
708         <rdar://problem/51993412>
709
710         Reviewed by Timothy Hatcher.
711
712         * UserInterface/Views/HeapAllocationsTimelineView.css:
713         (.timeline-view.heap-allocations > .data-grid:not(:focus) tr.selected.invalid):
714         (.timeline-view.heap-allocations > .data-grid:not(:focus, .force-focus) tr.selected.invalid): Deleted.
715
716         * UserInterface/Views/ResourceTreeElement.css:
717         (.item.resource.resource-type-websocket:not(.selected) .status .ready-state.open,):
718         (.item.resource.resource-type-websocket:not(.selected) .status .ready-state.connecting,):
719         Missed in https://bugs.webkit.org/show_bug.cgi?id=190480.
720
721 2019-06-21  Matt Baker  <mattbaker@apple.com>
722
723         Web Inspector: remove .legacy-mac/.latest-mac CSS classes, standardize on .latest-mac UI
724         https://bugs.webkit.org/show_bug.cgi?id=199109
725         <rdar://problem/51991129>
726
727         Reviewed by Timothy Hatcher.
728
729         Drop legacy macOS version support from Web Inspector UI.
730
731         * UserInterface/Base/Main.js:
732
733         * UserInterface/Views/DefaultDashboardView.css:
734         (@media (prefers-color-scheme: dark)):
735         (body.latest-mac .toolbar .dashboard .item.button): Deleted.
736
737         * UserInterface/Views/Toolbar.css:
738         (.toolbar):
739         (.toolbar .item.button,):
740         (.toolbar .search-bar > input[type="search"]):
741         (.toolbar .search-bar > input[type="search"]:focus):
742         (@media (-webkit-min-device-pixel-ratio: 2)):
743         (.toolbar .item.button:active):
744         (body.window-inactive .toolbar .item.button,):
745         (@media (prefers-color-scheme: dark)):
746         (.toolbar .search-bar > input[type="search"]::placeholder):
747         (body.window-inactive .toolbar .search-bar > input[type="search"]::placeholder):
748         (body.window-inactive .toolbar .search-bar > input[type="search"]::-webkit-search-results-button):
749         (.toolbar .dashboard-container):
750         (body .toolbar): Deleted.
751         (body.legacy-mac .toolbar .item.button,): Deleted.
752         (body.legacy-mac .toolbar .search-bar > input[type="search"]): Deleted.
753         (body.legacy-mac .toolbar .search-bar > input[type="search"]:focus): Deleted.
754         (body.legacy-mac .toolbar .item.button:active): Deleted.
755         (body.window-inactive.legacy-mac .toolbar .item.button,): Deleted.
756         (body.latest-mac .toolbar .item.button,): Deleted.
757         (body.latest-mac .toolbar .search-bar > input[type="search"]): Deleted.
758         (body.latest-mac .toolbar .search-bar > input[type="search"]:focus): Deleted.
759         (body.latest-mac .toolbar .item.button:active): Deleted.
760         (body.latest-mac.window-inactive .toolbar .item.button,): Deleted.
761         (body.latest-mac .toolbar .search-bar > input[type="search"]::placeholder): Deleted.
762         (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::placeholder): Deleted.
763         (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::-webkit-search-results-button): Deleted.
764         (body.latest-mac .toolbar .dashboard-container): Deleted.
765
766 2019-06-20  Matt Baker  <mattbaker@apple.com>
767
768         Web Inspector: rename shadowRootPushed parameter to match protocol
769         https://bugs.webkit.org/show_bug.cgi?id=199098
770
771         Reviewed by Devin Rousso.
772
773         * UserInterface/Protocol/DOMObserver.js:
774         (WI.DOMObserver.prototype.shadowRootPushed):
775
776 2019-06-20  Devin Rousso  <drousso@apple.com>
777
778         Web Inspector: Error "null is not an object (evaluating 'syntaxTree.containersOfPosition')" when setting a breakpoint
779         https://bugs.webkit.org/show_bug.cgi?id=199082
780
781         Reviewed by Matt Baker.
782
783         * UserInterface/Views/SourceCodeTextEditor.js:
784         (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
785         The script syntax tree may be fetched even if the resource hasn't finished parsing (or had
786         a syntax error), so it's possible for it to be `null`.
787
788 2019-06-20  Devin Rousso  <drousso@apple.com>
789
790         Web Inspector: Dark Mode: inactive tab bar item should get darker on hover
791         https://bugs.webkit.org/show_bug.cgi?id=199022
792
793         Reviewed by Darin Adler.
794
795         * UserInterface/Views/TabBar.css:
796         (.tab-bar:not(.animating) > .item:not(.selected, .disabled):hover):
797         (@media not (prefers-color-scheme: dark) .tab-bar:not(.animating) > .item:not(.selected, .disabled):hover > .icon):
798         (@media (prefers-color-scheme: dark) .tab-bar):
799         (@media (prefers-color-scheme: dark) .tab-bar > .item):
800         (@media (prefers-color-scheme: dark) .tab-bar > .item:not(.disabled).selected):
801         (@media (prefers-color-scheme: dark) .tab-bar:not(.animating) > .item:not(.selected):hover):
802         (@media (prefers-color-scheme: dark) body.window-inactive .tab-bar):
803         (@media (prefers-color-scheme: dark) body.window-inactive .tab-bar > .item):
804         (@media (prefers-color-scheme: dark) body.window-inactive .tab-bar > .item.selected):
805
806         * UserInterface/Views/Toolbar.css:
807         (@media (prefers-color-scheme: dark) body .toolbar):
808
809 2019-06-20  Devin Rousso  <drousso@apple.com>
810
811         Web Inspector: Debugger: setting a breakpoint on a non-JavaScript line should immediately show as unresolved
812         https://bugs.webkit.org/show_bug.cgi?id=199033
813
814         Reviewed by Matt Baker.
815
816         Remove the `shouldSpeculativelyResolve` parameter, as it was resolving breakpoints even in
817         the case that there were no resolved locations for the given breakpoint.
818
819         In the case that there are resolved locations, the breakpoint would've already been resolved
820         by the time that `shouldSpeculativelyResolve` would've taken effect, so it's unnecessary.
821
822         This parameter was only used when setting a breakpoint from a `SourceCodeTextEditor` gutter.
823
824         * UserInterface/Controllers/DebuggerManager.js:
825         (WI.DebuggerManager.prototype.addBreakpoint):
826         (WI.DebuggerManager.prototype._setBreakpoint):
827         (WI.DebuggerManager.prototype._setBreakpoint.didSetBreakpoint):
828
829         * UserInterface/Views/SourceCodeTextEditor.js:
830         (WI.SourceCodeTextEditor.prototype.textEditorBreakpointAdded):
831
832 2019-06-20  Devin Rousso  <drousso@apple.com>
833
834         Web Inspector: Edit -> Tag doesn't do anything for html, head, and body elements
835         https://bugs.webkit.org/show_bug.cgi?id=199052
836         <rdar://problem/51923906>
837
838         Reviewed by Matt Baker.
839
840         * UserInterface/Views/DOMTreeElement.js:
841         (WI.DOMTreeElement.prototype.populateDOMNodeContextMenu):
842          - Don't show an "Edit > Tag" for <html>, <head>, and <body> nodes
843          - Disable any "Edit" submenu item if it's target is already being edited
844          - Prevent "Add" submenu items from being shown for text nodes
845
846 2019-06-19  Devin Rousso  <drousso@apple.com>
847
848         Web Inspector: REGRESSION: Debugger: current call frame indicator isn't vertically centered
849         https://bugs.webkit.org/show_bug.cgi?id=199015
850
851         Reviewed by Matt Baker.
852
853         * UserInterface/Views/CallFrameTreeElement.css:
854         (.tree-outline .item.call-frame .status):
855
856 2019-06-19  Nikita Vasilyev  <nvasilyev@apple.com>
857
858         REGRESSION(r240946): Web Inspector: Styles: Pasting multiple properties has issues
859         https://bugs.webkit.org/show_bug.cgi?id=198505
860         <rdar://problem/51374780>
861
862         Reviewed by Matt Baker.
863
864         Since r240946, setting WI.CSSStyleDeclaration.prototype.text updates the text immediately.
865         When WI.CSSStyleDeclaration.prototype.update gets called after setting text, it exits early
866         without firing WI.CSSStyleDeclaration.Event.PropertiesChanged.
867
868         * UserInterface/Models/CSSStyleDeclaration.js:
869         (WI.CSSStyleDeclaration):
870         (WI.CSSStyleDeclaration.prototype.set text):
871
872 2019-06-19  Matt Baker  <mattbaker@apple.com>
873
874         Web Inspector: Remove unused _pendingFilter from NetworkTableContentView
875         https://bugs.webkit.org/show_bug.cgi?id=199026
876
877         Reviewed by Devin Rousso.
878
879         This flag is no longer set as of https://trac.webkit.org/changeset/225895.
880
881         * UserInterface/Views/NetworkTableContentView.js:
882         (WI.NetworkTableContentView):
883         (WI.NetworkTableContentView.prototype._processPendingEntries):
884
885 2019-06-19  Devin Rousso  <drousso@apple.com>
886
887         Web Inspector: Uncaught Exception: TypeError: undefined is not an object (evaluating 'sourceCodePosition.lineNumber')
888         https://bugs.webkit.org/show_bug.cgi?id=199019
889
890         Reviewed by Matt Baker.
891
892         * UserInterface/Base/Main.js:
893         (WI.linkifyLocation):
894
895 2019-06-19  Zhifei Fang  <zhifei_fang@apple.com>
896
897         Correct the error object link color in dark mode.
898         https://bugs.webkit.org/show_bug.cgi?id=198033
899
900         Reviewed by Devin Rousso.
901
902         * UserInterface/Views/ErrorObjectView.css:
903         (@media (prefers-dark-interface)):
904         (.error-object-link-container):
905
906 2019-06-18  Devin Rousso  <drousso@apple.com>
907
908         Web Inspector: Network: detail view shouldn't stay open when the related entry is removed
909         https://bugs.webkit.org/show_bug.cgi?id=198951
910
911         Reviewed by Joseph Pecoraro.
912
913         * UserInterface/Views/NetworkTableContentView.js:
914         (WI.NetworkTableContentView.prototype._mainResourceDidChange):
915         Hide the detail view if the main resource changes and we aren't preserving the log.
916
917         * UserInterface/Views/Table.js:
918         (WI.Table.prototype.reloadVisibleColumnCells):
919         Only attempt to populate cells for rows that the `_dataSource` actually has. Without this,
920         the `_delegate` may be asked to populate a cell for a row it doesn't have, which would error.
921
922 2019-06-18  Devin Rousso  <drousso@apple.com>
923
924         Web Inspector: parseQueryParameters fails to successfully parse query parameter values that contain "="
925         https://bugs.webkit.org/show_bug.cgi?id=198971
926         <rdar://problem/51852782>
927
928         Reviewed by Joseph Pecoraro.
929
930         * UserInterface/Base/URLUtilities.js:
931         (parseQueryString):
932
933 2019-06-18  Devin Rousso  <drousso@apple.com>
934
935         Web Inspector: REGRESSION: Heap: subsequent snapshots taken manually don't appear in the list
936         https://bugs.webkit.org/show_bug.cgi?id=198941
937
938         Reviewed by Joseph Pecoraro.
939
940         Since heap snapshot records can be added at any time, including when not actively recording,
941         when the "Entire Recording" range is selected, make sure to set the `filterEndTime` to be an
942         effectively infinite number so that records added later aren't filtered out.
943
944         This isn't done for other timeline views as they may have graphs that don't expect to render
945         from time 0 till infinity, not to mention being unable to add records when not recording.
946
947         * UserInterface/Views/TimelineRecordingContentView.js:
948         (WI.TimelineRecordingContentView.prototype._updateTimelineViewTimes):
949
950 2019-06-18  Devin Rousso  <drousso@apple.com>
951
952         Web Inspector: REGRESSION: Canvas: cannot select saved recordings
953         https://bugs.webkit.org/show_bug.cgi?id=198953
954
955         Reviewed by Joseph Pecoraro.
956
957         * UserInterface/Views/TreeElement.js:
958         (WI.TreeElement.treeElementToggled):
959         Don't early return if the `TreeElement` isn't `selectable` as the owner `TreeOutline` may
960         want to dispatch an event that it was clicked.
961
962 2019-06-18  Devin Rousso  <drousso@apple.com>
963
964         Web Inspector: Canvas: the initial state should be selected when processing a new/imported recording if the navigation sidebar is collapsed
965         https://bugs.webkit.org/show_bug.cgi?id=198952
966
967         Reviewed by Joseph Pecoraro.
968
969         Prevent any content from being generated until `initialLayout` is called, as otherwise it's
970         possible for the `CanvasNavigationSidebar` to update the current action index before the
971         preview element has been created, which would throw an error.
972
973         * UserInterface/Views/RecordingContentView.js:
974         (WI.RecordingContentView.prototype.updateActionIndex):
975         (WI.RecordingContentView.prototype.initialLayout):
976         (WI.RecordingContentView.prototype._updateSliderValue):
977         (WI.RecordingContentView.prototype._handleRecordingProcessedAction):
978         Drive-by: update the slider max each time the selected action index is changed.
979
980 2019-06-18  Devin Rousso  <drousso@apple.com>
981
982         Web Inspector: Canvas: imported recordings aren't selectable from the overview if there are no canvases in the page
983         https://bugs.webkit.org/show_bug.cgi?id=198955
984
985         Reviewed by Joseph Pecoraro.
986
987         * UserInterface/Views/CanvasOverviewContentView.js:
988         (WI.CanvasOverviewContentView.prototype._addSavedRecording):
989         Hide the content placeholder when a recording is imported. It won't be shown again because
990         the `subviews` list will never be empty, as there's no way to remove an imported recording.
991
992         * UserInterface/Views/CollectionContentView.js:
993         (WI.CollectionContentView.prototype.addContentViewForItem):
994         (WI.CollectionContentView.prototype.removeContentViewForItem):
995         (WI.CollectionContentView.prototype.showContentPlaceholder): Added.
996         (WI.CollectionContentView.prototype.hideContentPlaceholder): Added.
997         (WI.CollectionContentView.prototype.initialLayout):
998         (WI.CollectionContentView.prototype._selectItem):
999         (WI.CollectionContentView.prototype._showContentPlaceholder): Deleted.
1000         (WI.CollectionContentView.prototype._hideContentPlaceholder): Deleted.
1001         Make `showContentPlaceholder`/`hideContentPlaceholder` protected for any subclasses to call.
1002
1003 2019-06-17  Matt Baker  <mattbaker@apple.com>
1004
1005         Web Inspector: Elements: remove ellipses from "Break on" context menu item title
1006         https://bugs.webkit.org/show_bug.cgi?id=198944
1007
1008         Reviewed by Devin Rousso.
1009
1010         Update context menu title to comply with Apple HI guidelines.
1011
1012         * Localizations/en.lproj/localizedStrings.js:
1013         * UserInterface/Views/ContextMenuUtilities.js:
1014
1015 2019-06-17  Devin Rousso  <drousso@apple.com>
1016
1017         Web Inspector: Debugger: adding a DOM/Event/URL breakpoint should enable breakpoints
1018         https://bugs.webkit.org/show_bug.cgi?id=198932
1019
1020         Reviewed by Matt Baker.
1021
1022         Match the behavior of JavaScript breakpoints, which enable breakpoints globally when a new
1023         breakpoint is set or an existing breakpoint is enabled.
1024
1025         This avoids the situation where setting a DOM breakpoint or a specific event listener
1026         breakpoint appears to not "work" because breakpoints are globally disabled. There is no
1027         "breakpoints disabled" banner in the Elements tab, so the user could be completely unaware
1028         of this, and therefore be confused as to why these breakpoints aren't being hit.
1029
1030         * UserInterface/Controllers/DOMManager.js:
1031         (WI.DOMManager.prototype._updateEventBreakpoint):
1032
1033         * UserInterface/Controllers/DOMDebuggerManager.js:
1034         (WI.DOMDebuggerManager.prototype._updateDOMBreakpoint):
1035         (WI.DOMDebuggerManager.prototype._updateEventBreakpoint):
1036         (WI.DOMDebuggerManager.prototype._updateURLBreakpoint):
1037
1038 2019-06-17  Devin Rousso  <drousso@apple.com>
1039
1040         Web Inspector: Sources: remove extra space above Breakpoints section when breakpoints are disabled
1041         https://bugs.webkit.org/show_bug.cgi?id=198933
1042
1043         Reviewed by Matt Baker.
1044
1045         * UserInterface/Views/DebuggerSidebarPanel.css:
1046         (.sidebar > .panel.navigation.debugger .warning-banner):
1047         * UserInterface/Views/SourcesNavigationSidebarPanel.css:
1048         (.sidebar > .panel.navigation.sources > .content > .warning-banner):
1049
1050 2019-06-17  Devin Rousso  <drousso@apple.com>
1051
1052         Web Inspector: Settings: split the General panel into sub panels so it's less crowded
1053         https://bugs.webkit.org/show_bug.cgi?id=198803
1054
1055         Reviewed by Timothy Hatcher.
1056
1057         * UserInterface/Views/SettingsTabContentView.js:
1058         (WI.SettingsTabContentView.prototype.initialLayout):
1059         (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
1060         Many of the settings in General only affect a specific part of Web Inspector, and therefore
1061         aren't really "general".
1062
1063         (WI.SettingsTabContentView.prototype._createElementsSettingsView): Added.
1064          - Element Selection
1065          - CSS Changes
1066
1067         (WI.SettingsTabContentView.prototype._createSourcesSettingsView): Added.
1068          - Debugger
1069          - Source Maps
1070
1071         (WI.SettingsTabContentView.prototype._createConsoleSettingsView): Added.
1072          - Traces (renamed from "Console")
1073          - WebRTC Logging
1074          - Media Logging
1075          - MSE Logging
1076
1077         * Localizations/en.lproj/localizedStrings.js:
1078
1079 2019-06-17  Devin Rousso  <drousso@apple.com>
1080
1081         Web Inspector: Sources: the Inspector Style Sheet is missing when grouped by path
1082         https://bugs.webkit.org/show_bug.cgi?id=198860
1083
1084         Reviewed by Timothy Hatcher.
1085
1086         * UserInterface/Controllers/CSSManager.js:
1087         (WI.CSSManager.prototype.get styleSheets):
1088         (WI.CSSManager.prototype.inspectorStyleSheetsForFrame):
1089         (WI.CSSManager.prototype.preferredInspectorStyleSheetForFrame):
1090         (WI.CSSManager.prototype._inspectorStyleSheetsForFrame): Deleted.
1091         Expose a way to fetch all inspector stylesheets for a given frame.
1092         Make sure to associate inspector stylesheets with their frame.
1093
1094         * UserInterface/Views/SourcesNavigationSidebarPanel.js:
1095         (WI.SourcesNavigationSidebarPanel.prototype._compareTreeElements):
1096         (WI.SourcesNavigationSidebarPanel.prototype._addResourcesRecursivelyForFrame):
1097         (WI.SourcesNavigationSidebarPanel.prototype._handleCSSStyleSheetAdded):
1098         Add paths for inspector stylesheet creation/fetching when grouping by path.
1099         Sort inspector stylesheets as the first item of an origin/frame when grouping by path.
1100
1101 2019-06-17  Jamal Nasser  <jamaln@mail.com>
1102
1103         Web Inspector: Go To Line dialog is white when in Dark Mode
1104         https://bugs.webkit.org/show_bug.cgi?id=198596
1105
1106         Reviewed by Timothy Hatcher.
1107
1108         * UserInterface/Views/GoToLineDialog.css:
1109         (@media (prefers-color-scheme: dark)):
1110         (.go-to-line-dialog):
1111         (.go-to-line-dialog > div > input):
1112         (.go-to-line-dialog > div > input::placeholder):
1113         (.go-to-line-dialog > div::before):
1114
1115 2019-06-17  Devin Rousso  <drousso@apple.com>
1116
1117         Web Inspector: Sources: searching doesn't use the case sensitive or regex global settings
1118         https://bugs.webkit.org/show_bug.cgi?id=198897
1119
1120         Reviewed by Joseph Pecoraro.
1121
1122         * UserInterface/Views/SourceCodeTextEditor.js:
1123         (WI.SourceCodeTextEditor.prototype.customPerformSearch):
1124
1125 2019-06-13  Devin Rousso  <drousso@apple.com>
1126
1127         Web Inspector: REGRESSION(r246178): extra spaces added in at-rules when formatting CSS
1128         https://bugs.webkit.org/show_bug.cgi?id=198806
1129
1130         Reviewed by Joseph Pecoraro.
1131
1132         * UserInterface/Workers/Formatter/CSSFormatter.js:
1133         (CSSFormatter.prototype._format):
1134         Add more specific tests for at-rules, and add/remove whitespace depending on the type of
1135         at-rule (e.g. `@supports` vs `@media`), as well as where the scanner is in the parameters of
1136         the at at-rule (e.g. `@supports |` vs `@media (|`).
1137
1138         * UserInterface/Workers/Formatter/FormatterContentBuilder.js:
1139         (FormatterContentBuilder):
1140         (FormatterContentBuilder.prototype.get lastToken): Added.
1141         (FormatterContentBuilder.prototype.get currentLine):
1142         (FormatterContentBuilder.prototype.removeLastNewline):
1143         (FormatterContentBuilder.prototype.removeLastWhitespace):
1144         (FormatterContentBuilder.prototype._popFormattedContent):
1145         (FormatterContentBuilder.prototype._append):
1146         Update `lastTokenWasNewline` and `lastTokenWasWhitespace` when removing newlines/whitespace.
1147         Memoize the `currentLine` so it's less expensive to re-fetch.
1148
1149 2019-06-13  Devin Rousso  <drousso@apple.com>
1150
1151         Web Inspector: Settings: indent type and size settings aren't respected everywhere
1152         https://bugs.webkit.org/show_bug.cgi?id=198804
1153
1154         Reviewed by Timothy Hatcher.
1155
1156         * UserInterface/Views/CodeMirrorEditor.js:
1157         (WI.CodeMirrorEditor.create):
1158         When creating a `CodeMirror` instance, default to using the global `Setting`s as the options.
1159         If an override is specified in `options`, it will take precedence and the `CodeMirror` will
1160         ignore any changes to the `Setting` as well.
1161
1162         * UserInterface/Views/TextEditor.js:
1163         (WI.TextEditor):
1164         (WI.TextEditor.prototype.close): Deleted.
1165
1166         * UserInterface/Views/AuditTestCaseContentView.js:
1167         (WI.AuditTestCaseContentView.prototype.layout):
1168         * UserInterface/Views/BreakpointActionView.js:
1169         (WI.BreakpointActionView.prototype._updateBody):
1170         * UserInterface/Views/ConsolePrompt.js:
1171         (WI.ConsolePrompt):
1172         * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
1173         (WI.ScopeChainDetailsSidebarPanel.prototype._addWatchExpressionButtonClicked):
1174         Remove overrides that aren't necessary for `CodeMirror` to fit in the container element:
1175          - `showWhitespaceCharacters`
1176          - `indentWithTabs`
1177          - `indentUnit`
1178
1179         * UserInterface/Views/SourceCodeTextEditor.js:
1180         (WI.SourceCodeTextEditor.prototype.close):
1181         * UserInterface/Views/ShaderProgramContentView.js:
1182         (WI.ShaderProgramContentView.prototype.closed): Deleted.
1183         * UserInterface/Views/TextContentView.js:
1184         (WI.TextContentView.prototype.closed): Deleted.
1185         * UserInterface/Views/TextResourceContentView.js:
1186         (WI.TextResourceContentView.prototype.closed):
1187         Delete the logic for removing event listeners from global `Setting`, as it didn't work
1188         anyways, since none of the event listeners were added using a `thisObject`.
1189
1190 2019-06-13  Devin Rousso  <drousso@apple.com>
1191
1192         Web Inspector: Settings: sticky header disappears when over scrolling
1193         https://bugs.webkit.org/show_bug.cgi?id=198833
1194
1195         Reviewed by Joseph Pecoraro.
1196
1197         * UserInterface/Views/SettingsTabContentView.css:
1198         (.content-view.settings .navigation-bar):
1199         (.content-view.settings > .settings-view): Added.
1200         (.content-view.settings): Deleted.
1201
1202 2019-06-10  Devin Rousso  <drousso@apple.com>
1203
1204         Web Inspector: Timelines: imported recordings do not have JavaScript call trees
1205         https://bugs.webkit.org/show_bug.cgi?id=197490
1206         <rdar://problem/50589158>
1207
1208         Reviewed by Joseph Pecoraro.
1209
1210         * UserInterface/Models/TimelineRecording.js:
1211         (WI.TimelineRecording.prototype.initializeCallingContextTrees):
1212         Make sure to actually save the provided stack traces and samples in the export data.
1213
1214         * UserInterface/Models/ScriptTimelineRecord.js:
1215         (WI.ScriptTimelineRecord.fromJSON):
1216         (WI.ScriptTimelineRecord.prototype.toJSON):
1217         Drive-by: include `extraDetails`, which contains useful information like "default prevented".
1218
1219 2019-06-10  Nikita Vasilyev  <nvasilyev@apple.com>
1220
1221         REGRESSION(r244268): Web Inspector: Styles: navigating from Computed to Styles doesn't work
1222         https://bugs.webkit.org/show_bug.cgi?id=198508
1223         <rdar://problem/51375503>
1224
1225         Reviewed by Matt Baker.
1226
1227         It didn't work because the detached sidebar panel tried to access its parent view (this.parentSidebar).
1228
1229         * UserInterface/Views/ComputedStyleDetailsSidebarPanel.js:
1230         (WI.ComputedStyleDetailsSidebarPanel.prototype.computedStyleDetailsPanelShowProperty): Added.
1231         (WI.ComputedStyleDetailsSidebarPanel):
1232         * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
1233         (WI.GeneralStyleDetailsSidebarPanel.prototype.computedStyleDetailsPanelShowProperty): Deleted.
1234         Move computedStyleDetailsPanelShowProperty to ComputedStyleDetailsSidebarPanel since it's the only
1235         panel where it's needed.
1236
1237 2019-06-10  Alexey Shvayka  <shvaikalesh@gmail.com>
1238
1239         Web Inspector: "Copy Path to Property" doesn't work with multiline keys
1240         https://bugs.webkit.org/show_bug.cgi?id=198691
1241
1242         Reviewed by Matt Baker.
1243
1244         Correctly escape line terminators to prevent doubleQuotedString from returning malformed strings.
1245
1246         * UserInterface/Base/Utilities.js: Use JSON.stringify.
1247
1248 2019-06-10  Devin Rousso  <drousso@apple.com>
1249
1250         Web Inspector: REGRESSION(r246025): prototypes in object previews are visible even when setting `showOnlyJSON`
1251         https://bugs.webkit.org/show_bug.cgi?id=198721
1252
1253         Reviewed by Joseph Pecoraro.
1254
1255         * UserInterface/Views/ObjectTreeView.css:
1256         (.object-tree.properties-only.json-only .object-tree-property.prototype-property): Added.
1257         (.object-tree.properties-only.json-only .object-tree-property .prototype-property): Deleted.
1258
1259 2019-06-07  Nikita Vasilyev  <nvasilyev@apple.com>
1260
1261         Web Inspector: longhand CSS properties overridden by shorthands miss strikethrough
1262         https://bugs.webkit.org/show_bug.cgi?id=198629
1263         <rdar://problem/51504160>
1264
1265         Reviewed by Devin Rousso.
1266
1267         Longhand CSS properties (e.g. "font-size") overriden by shorthands (e.g. "font") now have strikethroughs.
1268
1269         * UserInterface/Models/CSSProperty.js:
1270         (WI.CSSProperty.prototype.set overridingProperty):
1271         (WI.CSSProperty):
1272
1273         * UserInterface/Models/DOMNodeStyles.js:
1274         (WI.DOMNodeStyles.prototype._updateStyleCascade):
1275         Call _associateRelatedProperties before _markOverriddenProperties because
1276         _associateRelatedProperties sets relatedShorthandProperty property, which
1277         is now used by _markOverriddenProperties.
1278
1279         (WI.DOMNodeStyles.prototype._markOverriddenProperties.isOverriddenBy):
1280         (WI.DOMNodeStyles.prototype._markOverriddenProperties):
1281
1282 2019-06-06  Devin Rousso  <drousso@apple.com>
1283
1284         Web Inspector: Timelines: remove always disabled details sidebar navigation item
1285         https://bugs.webkit.org/show_bug.cgi?id=198393
1286
1287         Reviewed by Timothy Hatcher.
1288
1289         * UserInterface/Views/TimelineTabContentView.js:
1290         (WI.TimelineTabContentView):
1291
1292 2019-06-06  Devin Rousso  <drousso@apple.com>
1293
1294         Web Inspector: REGRESSION(r245833): Timelines: CPU: JavaScript label is missing and JavaScript section of pie chart is black
1295         https://bugs.webkit.org/show_bug.cgi?id=198627
1296
1297         Reviewed by Joseph Pecoraro.
1298
1299         * UserInterface/Views/CPUTimelineView.js:
1300         (WI.CPUTimelineView.displayNameForSampleType):
1301         * UserInterface/Views/CPUTimelineView.css:
1302         (.timeline-view.cpu > .content > .overview .legend > .row > .swatch.sample-type-javascript):
1303         (.timeline-view.cpu .circle-chart > svg > path.segment.sample-type-javascript): Added.
1304         (.timeline-view.cpu .circle-chart > svg > path.segment.sample-type-script): Deleted.
1305         * UserInterface/Views/CPUUsageCombinedView.css:
1306         (.cpu-usage-combined-view > .graph > .range-chart .sample-type-javascript): Added.
1307         (.cpu-usage-combined-view > .graph > .range-chart .sample-type-script): Deleted.
1308         Use the enum string added in r245833 (`sample-type-javascript`) instead of what was there
1309         before (`sample-type-script`).
1310
1311         * UserInterface/Views/Variables.css:
1312         (:root):
1313         Rename `--cpu-script-*` to `--cpu-javascript-*`.
1314
1315 2019-06-06  Devin Rousso  <drousso@apple.com>
1316
1317         Web Inspector: Formatter: pretty-print CSS using a Worker
1318         https://bugs.webkit.org/show_bug.cgi?id=197829
1319         <rdar://problem/36891532>
1320
1321         Reviewed by Timothy Hatcher.
1322
1323         * UserInterface/Proxies/FormatterWorkerProxy.js:
1324         (WI.FormatterWorkerProxy.prototype.formatCSS): Added.
1325         * UserInterface/Workers/Formatter/FormatterWorker.js:
1326         (FormatterWorker.prototype.formatCSS): Added.
1327         * UserInterface/Workers/Formatter/CSSFormatter.js: Added.
1328         (CSSFormatter):
1329         (CSSFormatter.prototype.get success):
1330         (CSSFormatter.prototype.get formattedText):
1331         (CSSFormatter.prototype.get sourceMapData):
1332         (CSSFormatter.prototype._format):
1333
1334         * UserInterface/Workers/Formatter/FormatterContentBuilder.js:
1335         (FormatterContentBuilder.prototype.get currentLine): Added.
1336
1337         * UserInterface/Views/TextEditor.js:
1338         (WI.TextEditor.prototype._canUseFormatterWorker):
1339         (WI.TextEditor.prototype._startWorkerPrettyPrint):
1340
1341         * .eslintrc:
1342
1343 2019-06-06  Devin Rousso  <drousso@apple.com>
1344
1345         Web Inspector: Elements: print/rulers/compositing/paint navigation items shouldn't be visible if the inspected target doesn't have a PageAgent
1346         https://bugs.webkit.org/show_bug.cgi?id=198410
1347
1348         Reviewed by Timothy Hatcher.
1349
1350         * UserInterface/Views/DOMTreeContentView.js:
1351         (WI.DOMTreeContentView):
1352         (WI.DOMTreeContentView.prototype.get navigationItems):
1353         (WI.DOMTreeContentView.prototype._showRulersChanged):
1354
1355 == Rolled over to ChangeLog-2019-06-05 ==