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