Web Inspector: REGRESSION: no context menu items work when context menu clicking...
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
index be7e506..27f0f8d 100644 (file)
+2019-07-24  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: REGRESSION: no context menu items work when context menu clicking on "Add Breakpoint"
+        https://bugs.webkit.org/show_bug.cgi?id=199953
+
+        Reviewed by Joseph Pecoraro.
+
+        * UserInterface/Views/ContextMenuUtilities.js:
+        (WI.addMouseDownContextMenuHandlers): Added.
+        Create a helper function for managing elements that show a context menu on "mousedown".
+
+        * UserInterface/Base/SearchUtilities.js:
+        (WI.SearchUtilities.createSettingsButton):
+        * UserInterface/Views/CanvasContentView.js:
+        (WI.CanvasContentView.prototype.initialLayout):
+        (WI.CanvasContentView.prototype._populateCanvasElementButtonContextMenu): Added.
+        (WI.CanvasContentView.prototype._populateViewShaderButtonContextMenu): Added.
+        (WI.CanvasContentView.prototype._populateViewRecordingButtonContextMenu): Added.
+        (WI.CanvasContentView.prototype._handleCanvasElementButtonMouseDown): Deleted.
+        (WI.CanvasContentView.prototype._handleViewShaderButtonMouseDown): Deleted.
+        (WI.CanvasContentView.prototype._handleViewRecordingButtonMouseDown): Deleted.
+        * UserInterface/Views/DebuggerSidebarPanel.js:
+        (WI.DebuggerSidebarPanel):
+        (WI.DebuggerSidebarPanel.prototype._populateCreateBreakpointContextMenu): Added.
+        (WI.DebuggerSidebarPanel.prototype._handleCreateBreakpointMouseDown): Deleted.
+        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
+        (WI.SourcesNavigationSidebarPanel):
+        (WI.SourcesNavigationSidebarPanel.prototype._populateResourceGroupingModeContextMenu): Added.
+        (WI.SourcesNavigationSidebarPanel.prototype._populateCreateBreakpointContextMenu): Added.
+        (WI.SourcesNavigationSidebarPanel.prototype._handleResourceGroupingModeMouseDown): Deleted.
+        (WI.SourcesNavigationSidebarPanel.prototype._handleCreateBreakpointMouseDown): Deleted.
+
+        * UserInterface/Views/TabBar.js:
+        (WI.TabBar):
+        (WI.TabBar.prototype._handleTabPickerTabContextMenu): Deleted.
+        * UserInterface/Views/LegacyTabBar.js:
+        (WI.LegacyTabBar):
+        (WI.LegacyTabBar.prototype._handleTabPickerTabContextMenu): Deleted.
+        Remove the "contextmenu" handler on the tab picker, as that's already used by the entire
+        tab bar to show/hide tabs.
+
+2019-07-24  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: print the target of `console.screenshot` last so the target is the closest item to the image
+        https://bugs.webkit.org/show_bug.cgi?id=199308
+
+        Reviewed by Joseph Pecoraro.
+
+        * UserInterface/Views/ConsoleMessageView.js:
+        (WI.ConsoleMessageView.prototype.render):
+        (WI.ConsoleMessageView.prototype._appendMessageTextAndArguments):
+        (WI.ConsoleMessageView.prototype._handleContextMenu):
+        * UserInterface/Views/ConsoleMessageView.css:
+        (.console-image > .console-message-body > :matches(hr, img)): Added.
+        (.console-image > .console-message-body > hr): Added.
+        (.console-image > .console-message-body > img): Added.
+        (.console-log-level.console-image::before): Added.
+        (.console-message-body > .console-image): Deleted.
+        (.console-log-level.console-image-container::before): Deleted.
+        Allow `ConsoleMessage.MessageType.Image` to be an `ConsoleMessage.MessageLevel.Error`, and
+        print the message (and extra parameters) in that case.
+        Drive-by: reorganize the switch-case so all paths have the same `default` case.
+
+        * Localizations/en.lproj/localizedStrings.js:
+
+2019-07-23  Nikita Vasilyev  <nvasilyev@apple.com>
+
+        Web Inspector: Styles: Command-X should cut selected properties
+        https://bugs.webkit.org/show_bug.cgi?id=199341
+
+        Reviewed by Devin Rousso.
+
+        Implement cutting of selected CSS properties in the style editor.
+        Unify cutting and copying logic wherever possible.
+
+        * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
+        (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.initialLayout):
+        (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.placeTextCaretInFocusedProperty): Added.
+        Cut/copy events could only fire on SpreadsheetCSSStyleDeclarationEditor element if it
+        has selection inside of it. Placing text caret at the beginning of the focused property
+        ensures that.
+
+        (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyCopy): Deleted.
+        (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._handleKeyDown):
+        (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._copySelectedProperties): Added.
+        (WI.SpreadsheetCSSStyleDeclarationEditor.prototype._removeSelectedProperties): Added.
+        * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
+        (WI.SpreadsheetCSSStyleDeclarationSection.prototype._stopSelection):
+        * UserInterface/Views/SpreadsheetStyleProperty.js:
+        Remove old copying logic.
+
+2019-07-23  Nikita Vasilyev  <nvasilyev@apple.com>
+
+        Web Inspector: Display "Resource has no content" for about:blank iframes instead of an error
+        https://bugs.webkit.org/show_bug.cgi?id=198029
+
+        Reviewed by Devin Rousso.
+
+        Display "about:blank" in the middle of the content view when selecting "about:blank" resources.
+        Previoulsly, we showed a misleading "An error occurred trying to load the resource" error
+        message.
+
+        * UserInterface/Models/CSSStyleSheet.js:
+        (WI.CSSStyleSheet.prototype.requestContentFromBackend):
+        * UserInterface/Models/Resource.js:
+        (WI.Resource.prototype.requestContentFromBackend):
+        * UserInterface/Models/Script.js:
+        (WI.Script.prototype.requestContentFromBackend):
+        * UserInterface/Models/SourceCode.js:
+        (WI.SourceCode.generateSpecialContentForURL):
+        (WI.SourceCode.prototype._processContent):
+        (WI.SourceCode):
+        * UserInterface/Views/ResourceContentView.js:
+        (WI.ResourceContentView.prototype._contentAvailable):
+
+        * UserInterface/Views/SourceCodeTextEditor.js:
+        (WI.SourceCodeTextEditor.prototype._contentAvailable):
+        (WI.SourceCodeTextEditor.prototype._showMessage):
+        * UserInterface/Views/TextResourceContentView.js:
+        (WI.TextResourceContentView.prototype._contentDidPopulate):
+        Display empty text editor when it has no content instead of "Resource has no content" message.
+
+2019-07-22  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Uncaught Exception: Breakpoint at specified location already exists.
+        https://bugs.webkit.org/show_bug.cgi?id=197034
+        <rdar://problem/50049004>
+
+        Reviewed by Joseph Pecoraro.
+
+        When "adjusting" a `WI.Breakpoint` (e.g. removing and then re-adding with a different
+        configuration), make sure to only re-add the `WI.Breakpoint` to the `WI.Target` it was just
+        removed from, rather to all `WI.targets`.
+
+        Since we iterate over `WI.targets` in both `WI.DebuggerManager.prototype._setBreakpoint` and
+        `WI.DebuggerManager.prototype._removeBreakpoint`, we ended up iterating `WI.targets` twice.
+
+        Each time the `WI.Breakpoint` is removed from a `WI.Target`, pass the `WI.Target` to the
+        `callback` given to `WI.DebuggerManager.prototype._removeBreakpoint`, so that the eventual
+        call to `WI.DebuggerManager.prototype._setBreakpoint` can reuse it as the `specificTarget`,
+        instead of iterating `WI.targets` (meaning we only iterate it once).
+
+        * UserInterface/Controllers/DebuggerManager.js:
+        (WI.DebuggerManager.prototype.addBreakpoint):
+        (WI.DebuggerManager.prototype._removeBreakpoint.didRemoveBreakpoint):
+        (WI.DebuggerManager.prototype._breakpointDisplayLocationDidChange):
+        (WI.DebuggerManager.prototype._breakpointEditablePropertyDidChange):
+
+2019-07-22  Devin Rousso  <drousso@apple.com>
+
+        Localization: change fps to FPS
+        <rdar://problem/53342508>
+
+        Rubber-stamped by Joseph Pecoraro.
+
+        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
+        (WI.RenderingFrameTimelineOverviewGraph.prototype._updateDividers.createDividerAtPosition):
+
+        * Localizations/en.lproj/localizedStrings.js:
+
+2019-07-19  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Issues toggling multiple breakpoints on one line
+        https://bugs.webkit.org/show_bug.cgi?id=199918
+
+        Reviewed by Joseph Pecoraro.
+
+        * UserInterface/Views/SourceCodeTextEditor.js:
+        (WI.SourceCodeTextEditor):
+        (WI.SourceCodeTextEditor.prototype.close):
+        (WI.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
+        (WI.SourceCodeTextEditor.prototype.textEditorUpdatedFormatting):
+        (WI.SourceCodeTextEditor.prototype._handleFormatterDidChange): Added.
+        Listen for `WI.SourceCode.Event.FormatterDidChange` events as there may be multiple content
+        views for the same `WI.SourceCode`. Previously, if there were, only the active one would
+        properly update it's "line -> column -> breakpoint" mapping, causing an error to be thrown
+        when the non-active content views tried to retrieve the breakpoint for the new line/column.
+
+2019-07-17  Olivier Blin  <olivier.blin@softathome.com>
+
+        Web Inspector: application/xml content not shown
+        https://bugs.webkit.org/show_bug.cgi?id=199861
+
+        Reviewed by Devin Rousso.
+
+        application/xml content from XHR requests was not shown in the
+        inspector, an error message was displayed instead.
+
+        application/xml content should be treated as text, since
+        application/xml is the standard mimetype for XML content.
+        Apache serves XML content with the application/xml mimetype by
+        default.
+
+        * UserInterface/Base/MIMETypeUtilities.js:
+        (WI.fileExtensionForMIMEType):
+        Report "xml" extension for "application/xml" mimetype.
+        (WI.shouldTreatMIMETypeAsText):
+        Treat XML files as text.
+
+2019-07-16  Nikita Vasilyev  <nvasilyev@apple.com>
+
+        Web Inspector: Changes panel should be strictly LTR
+        https://bugs.webkit.org/show_bug.cgi?id=199767
+
+        Reviewed by Joseph Pecoraro.
+
+        Changes panel is primarily CSS code and CSS is strictly LTR.
+
+        * UserInterface/Views/ChangesDetailsSidebarPanel.js:
+        (WI.ChangesDetailsSidebarPanel):
+
+2019-07-15  Youenn Fablet  <youenn@apple.com>
+
+        Enable a debug WebRTC mode without any encryption
+        https://bugs.webkit.org/show_bug.cgi?id=199177
+        <rdar://problem/52074986>
+
+        Reviewed by Eric Carlson.
+
+        * Localizations/en.lproj/localizedStrings.js:
+        * UserInterface/Base/Main.js:
+
+2019-07-15  Greg Doolittle <gr3g@apple.com>
+
+        Web Inspector: AXI: Audit: Typos in Accessibility audits
+        https://bugs.webkit.org/show_bug.cgi?id=199716
+        <rdar://problem/52721711>
+
+        Reviewed by Devin Rousso.
+
+        * UserInterface/Controllers/AuditManager.js:
+
+2019-07-15  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Device Settings: update Safari user agent from 12.2 to 13.0
+        https://bugs.webkit.org/show_bug.cgi?id=199758
+
+        Reviewed by Maciej Stachowiak.
+
+        * UserInterface/Base/Main.js:
+        (WI._handleDeviceSettingsToolbarButtonClicked):
+
+2019-07-12  Nikita Vasilyev  <nvasilyev@apple.com>
+
+        Web Inspector: Changes: dismissing a blank property makes style rule to show in Changes panel
+        https://bugs.webkit.org/show_bug.cgi?id=199760
+
+        Reviewed by Devin Rousso.
+
+        * UserInterface/Models/CSSProperty.js:
+        (WI.CSSProperty.prototype._updateOwnerStyleText):
+        Call updatePropertiesModifiedState even when _updateOwnerStyleText returns early.
+
+2019-07-12  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Elements: always show all navigation bar items, but disable those that wouldn't work
+        https://bugs.webkit.org/show_bug.cgi?id=199594
+
+        Reviewed by Ross Kirsling.
+
+        Reorder the navigation items of the Elements tab (left to right):
+         - Show rulers
+         - Force print media styles
+         - Force Dark Appearance / Force Light Appearance
+         - Show compositing borders
+         - Enable paint flashing
+         - Show shadow DOM nodes
+        This way, "related" (e.g. print styles and dark/light appearance both relate to CSS media)
+        toggles are grouped closer together.
+
+        * UserInterface/Views/DOMTreeContentView.js:
+        (WI.DOMTreeContentView):
+        (WI.DOMTreeContentView.prototype.get navigationItems):
+        (WI.DOMTreeContentView.prototype._defaultAppearanceDidChange):
+        (WI.DOMTreeContentView.prototype._toggleAppearance):
+
+        * Localizations/en.lproj/localizedStrings.js:
+
+2019-07-11  Devin Rousso  <drousso@apple.com>
+
+        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"}]}
+        https://bugs.webkit.org/show_bug.cgi?id=199555
+
+        Reviewed by Joseph Pecoraro.
+
+        Use modern inspected target support checking, and defer agent commands until a target is
+        available.
+
+        * UserInterface/Views/Layers3DContentView.js:
+        (WI.Layers3DContentView):
+        (WI.Layers3DContentView.prototype._showPaintRectsSettingChanged):
+        (WI.Layers3DContentView.prototype._updateCompositingBordersButtonState):
+        (WI.Layers3DContentView.prototype._toggleCompositingBorders):
+
+        * UserInterface/Views/DOMTreeContentView.js:
+        (WI.DOMTreeContentView):
+        (WI.DOMTreeContentView.prototype._toggleCompositingBorders):
+        (WI.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings):
+        (WI.DOMTreeContentView.prototype._showPaintRectsSettingChanged):
+        (WI.DOMTreeContentView.prototype._showPrintStylesChanged):
+        (WI.DOMTreeContentView.prototype._showRulersChanged):
+        Drive-by: apply the same changes to the Elements tab for when the Layers tab isn't enabled.
+
+2019-07-09  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Canvas: replace WTF::Vector with std::initializer_list in CallTracer to avoid dynamic allocations
+        https://bugs.webkit.org/show_bug.cgi?id=199611
+
+        Reviewed by Joseph Pecoraro.
+
+        * UserInterface/Models/Recording.js:
+        (WI.Recording.prototype.async swizzle):
+        Drive-by: handle the situation where a parameter is an array of deduplicated strings, which
+                  would otherwise be treated as an array of numbers.
+
+2019-07-09  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Web Inspector: Add another Protocol Version (iOS 13.0)
+        https://bugs.webkit.org/show_bug.cgi?id=199631
+        <rdar://problem/47538193>
+
+        Reviewed by Devin Rousso.
+
+        * UserInterface/Protocol/Legacy/13.0/InspectorBackendCommands.js: Added.
+        * Versions/Inspector-iOS-13.0.json: Added.
+
+2019-07-08  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Debugger: special breakpoints and event targets should be sorted into separate "areas"
+        https://bugs.webkit.org/show_bug.cgi?id=199554
+
+        Reviewed by Joseph Pecoraro.
+
+        Move the special All Requests breakpoint down to be right above all other URL breakpoints.
+        Move the `window` object tree element below other DOM node tree elements.
+
+        * UserInterface/Views/DebuggerSidebarPanel.js:
+        (WI.DebuggerSidebarPanel.prototype._addTreeElement):
+        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
+        (WI.SourcesNavigationSidebarPanel.prototype._insertDebuggerTreeElement):
+
+2019-07-08  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: DOM Debugger: there should be different icons for each type of DOM breakpoint
+        https://bugs.webkit.org/show_bug.cgi?id=199552
+
+        Reviewed by Joseph Pecoraro.
+
+        [S] for Subtree Modified
+        [A] for Attribute Modified
+        [R] for Node Removed
+
+        * UserInterface/Views/DOMBreakpointTreeElement.js:
+        (WI.DOMBreakpointTreeElement):
+        * UserInterface/Views/DOMBreakpointTreeElement.css: Added.
+        (.breakpoint.dom.breakpoint-for-subtree-modified:not(.breakpoint-paused-icon) .icon):
+        (.breakpoint.dom.breakpoint-for-attribute-modified:not(.breakpoint-paused-icon) .icon):
+        (.breakpoint.dom.breakpoint-for-node-removed:not(.breakpoint-paused-icon) .icon):
+
+        * UserInterface/Main.html:
+        * UserInterface/Images/DOMBreakpointAttributeModified.svg: Added.
+        * UserInterface/Images/DOMBreakpointNodeRemoved.svg: Added.
+        * UserInterface/Images/DOMBreakpointSubtreeModified.svg: Added.
+
+2019-07-08  Devin Rousso  <drousso@apple.com>
+
+        Uncaught Exception: Unexpected enum value: CPU
+        https://bugs.webkit.org/show_bug.cgi?id=199564
+
+        Reviewed by Joseph Pecoraro.
+
+        * UserInterface/Controllers/TimelineManager.js:
+        (WI.TimelineManager.prototype._updateAutoCaptureInstruments):
+        Filter the list of auto-capture instruments based on what's actually supported, instead of
+        directly using the saved list from the `WI.Setting`.
+
+2019-07-08  Devin Rousso  <drousso@apple.com>
+
+        Enabling the Layers tab hides the paint flashing button
+        https://bugs.webkit.org/show_bug.cgi?id=199549
+
+        Reviewed by Joseph Pecoraro.
+
+        Still show the Compositing Borders and Paint Flashing navigation items in the Elements tab
+        even when the Layers tab is enabled (just like the Layers details sidebar).
+
+        * UserInterface/Views/DOMTreeContentView.js:
+        (WI.DOMTreeContentView.prototype.get navigationItems):
+        (WI.DOMTreeContentView.prototype._updateCompositingBordersButtonToMatchPageSettings):
+
+2019-07-08  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: REGRESSION: Elements: pasting in the Styles sidebar adds a text node to the DOM tree
+        https://bugs.webkit.org/show_bug.cgi?id=199588
+
+        Reviewed by Joseph Pecoraro.
+
+        * UserInterface/Base/Main.js:
+        (WI._paste):
+        Bail if `event.defaultPrevented`, as that means that something else has handled (and likely
+        overrode) this event.
+
+2019-07-08  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: the "x" in the Exception icon overlaps the border
+        https://bugs.webkit.org/show_bug.cgi?id=199553
+
+        Reviewed by Joseph Pecoraro.
+
+        * UserInterface/Images/Exception.svg:
+        * UserInterface/Images/Function.svg:
+        * UserInterface/Images/TailDeletedFunction.svg:
+
+2019-07-08  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Debugger: there should be a different icon for URL breakpoints
+        https://bugs.webkit.org/show_bug.cgi?id=199550
+
+        Reviewed by Joseph Pecoraro.
+
+        Use the same (down|up) arrow icon for the Network Tab and the Network timeline.
+
+        * UserInterface/Views/URLBreakpointTreeElement.js:
+        (WI.URLBreakpointTreeElement):
+        * UserInterface/Views/URLBreakpointTreeElement.css:
+        (.breakpoint.url:not(.breakpoint-paused-icon) .icon): Added.
+
+        * UserInterface/Views/DebuggerSidebarPanel.js:
+        (WI.DebuggerSidebarPanel.prototype._addBreakpoint):
+        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
+        (WI.SourcesNavigationSidebarPanel.prototype._addBreakpoint):
+
+        * UserInterface/Images/URLBreakpoint.svg: Added.
+
+2019-07-08  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Timelines: CPU: the Duration string isn't localized
+        https://bugs.webkit.org/show_bug.cgi?id=199582
+        <rdar://problem/51698165>
+
+        Reviewed by Joseph Pecoraro.
+
+        * UserInterface/Views/CPUTimelineView.js:
+        (WI.CPUTimelineView.prototype._layoutEnergyChart):
+
+        * Localizations/en.lproj/localizedStrings.js:
+
+2019-07-06  Nikita Vasilyev  <nvasilyev@apple.com>
+
+        Web Inspector: Styles: unbalanced quotes and parenthesis aren't displayed as property closed after editing values
+        https://bugs.webkit.org/show_bug.cgi?id=199090
+        <rdar://problem/51965431>
+
+        Reviewed by Devin Rousso.
+
+        `}` gets added by WI.tokenizeCSSValue (called by SpreadsheetStyleProperty.prototype._renderValue)
+        when it encounters unbalanced quotes. Fix unbalanced quotes by re-rendering the value from the model,
+        not the DOM content.
+
+        * UserInterface/Views/SpreadsheetStyleProperty.js:
+        (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidCommit):
+        For consistency, render property name from the model as well.
+
+2019-07-05  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: current call frame indicator not visible in dark mode
+        https://bugs.webkit.org/show_bug.cgi?id=199047
+        <rdar://problem/51922895>
+
+        Reviewed by Timothy Hatcher.
+
+        * UserInterface/Views/CallFrameTreeElement.css:
+        (.tree-outline .item.call-frame .status > .status-image):
+        (.tree-outline .item.call-frame.selected .status > .status-image):
+        Replace the CSS variables used for `fill` with their actual color value (in `light` mode),
+        as the semantic "name" of the variable doesn't really match its usage. As an example, the
+        current call frame shouldn't rely on the value of `--border-color`, as it's not a "border".
+
+2019-07-05  Matt Baker  <mattbaker@apple.com>
+
+        Web Inspector: Elements: use a CSS transition when showing/hiding DOM breakpoint gutter
+        https://bugs.webkit.org/show_bug.cgi?id=199411
+
+        Reviewed by Devin Rousso.
+
+        * UserInterface/Views/DOMTreeContentView.css:
+        (.content-view.dom-tree .tree-outline.dom):
+
+2019-07-02  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Elements: allow nodes to be copied and pasted
+        https://bugs.webkit.org/show_bug.cgi?id=199182
+
+        Reviewed by Matt Baker.
+
+        Copy is already supported, so there's nothing that needs to be done there.
+
+        Pasting is as simple as calling `insertAdjacentHTML("afterend", ...)` on the selected node.
+
+        * UserInterface/Base/Main.js:
+        (WI.contentLoaded):
+        (WI._paste): Added.
+
+        * UserInterface/Views/DOMTreeContentView.js:
+        (WI.DOMTreeContentView.prototype.handlePasteEvent): Added.
+
+2019-07-02  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: DOM Debugger: descendant breakpoints should be able to be enabled/disabled/deleted from a collapsed parent
+        https://bugs.webkit.org/show_bug.cgi?id=199332
+
+        Reviewed by Matt Baker.
+
+        * UserInterface/Controllers/DOMDebuggerManager.js:
+        (WI.DOMDebuggerManager.prototype.get domBreakpoints):
+        (WI.DOMDebuggerManager.prototype.domBreakpointsForNode):
+        (WI.DOMDebuggerManager.prototype.domBreakpointsInSubtree): Added.
+        (WI.DOMDebuggerManager.prototype.removeDOMBreakpoint):
+        (WI.DOMDebuggerManager.prototype._detachDOMBreakpoint):
+        (WI.DOMDebuggerManager.prototype._detachBreakpointsForFrame):
+        (WI.DOMDebuggerManager.prototype._speculativelyResolveDOMBreakpointsForURL):
+        (WI.DOMDebuggerManager.prototype._resolveDOMBreakpoint):
+        Provide a way of getting a "summary" array of `DOMBreakpoint`s for all descendant nodes.
+        Rework the data structure for holding `DOMBreakpoint`s to use a `Multimap` so no duplicates
+        can be added (it uses a `Set` instead of an `Array`).
+
+        * UserInterface/Views/DOMTreeElement.js:
+        (WI.DOMTreeElement):
+        (WI.DOMTreeElement.prototype.get hasBreakpoint):
+        (WI.DOMTreeElement.prototype.set breakpointStatus):
+        (WI.DOMTreeElement.prototype.bindRevealDescendantBreakpointsMenuItemHandler): Added.
+        (WI.DOMTreeElement.prototype._subtreeBreakpointChanged): Added.
+        (WI.DOMTreeElement.prototype._updateBreakpointStatus):
+        (WI.DOMTreeElement.prototype._statusImageContextmenu):
+        (WI.DOMTreeElement.prototype.subtreeBreakpointCountDidChange): Deleted.
+        * UserInterface/Views/DOMTreeOutline.js:
+        (WI.DOMTreeOutline.prototype.populateContextMenu):
+        * UserInterface/Views/ContextMenuUtilities.js:
+        (WI.appendContextMenuItemsForDOMNode):
+        (WI.appendContextMenuItemsForDOMNodeBreakpoints):
+        Keep track of the actual descendant `DOMNodeTreeElement` that have breakpoints, rather than
+        just a count, so that the "Reveal Descendant Breakpoints" action is able to access them.
+        Change "Reveal Descendant Breakpoints" to reveal and select all descendant breakpoints
+        instead of just the first one.
+        Drive-by: don't remove specific (event) listener breakpoints when invoking the
+                  "Delete Descendant Breakpoints" action, as that's not obvious from the UI.
+
+        * UserInterface/Controllers/BreakpointPopoverController.js:
+        (WI.BreakpointPopoverController.prototype.appendContextMenuItems):
+        * UserInterface/Views/DOMBreakpointTreeElement.js:
+        (WI.DOMBreakpointTreeElement.prototype.populateContextMenu):
+        * UserInterface/Views/DOMNodeTreeElement.js:
+        (WI.DOMNodeTreeElement.prototype.populateContextMenu):
+        * UserInterface/Views/EventBreakpointTreeElement.js:
+        (WI.EventBreakpointTreeElement.prototype.populateContextMenu):
+        * UserInterface/Views/URLBreakpointTreeElement.js:
+        (WI.URLBreakpointTreeElement.prototype.populateContextMenu):
+        Remove the separator before "Delete Breakpoint" so all breakpoint actions are in the same section.
+
+        * Localizations/en.lproj/localizedStrings.js:
+        * UserInterface/Base/Multimap.js:
+        (Multimap.prototype.get size): Added.
+
+2019-07-02  Matt Baker  <mattbaker@apple.com>
+
+        REGRESSION (r238563): Web Inspector: Selection is erratic when holding Up/Down on Network Table
+        https://bugs.webkit.org/show_bug.cgi?id=193841
+        <rdar://problem/47559124>
+
+        Reviewed by Devin Rousso.
+
+        Selecting and revealing a row after reloading Table data, but before the
+        layout that populates visible rows, could cause the Table to always be
+        scrolled so that the revealed row is first.
+
+        This patch fixes `revealRow` by calculating the position of the row being
+        revealed in the absence of its DOM element, so that the Table is only
+        scrolled when necessary.
+
+        * UserInterface/Views/Table.js:
+        (WI.Table.prototype.revealRow):
+        (WI.Table.prototype._resizeColumnsAndFiller):
+        Drive-by fix: use realOffsetWidth for consistency.
+        (WI.Table.prototype._updateVisibleRows):
+        (WI.Table.prototype._calculateOffsetHeight):
+        (WI.Table.prototype._calculateScrollTop):
+
+2019-07-02  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Debug: "Reset Web Inspector" should also clear the saved window size and attachment side
+        https://bugs.webkit.org/show_bug.cgi?id=198956
+
+        Reviewed by Matt Baker.
+
+        * UserInterface/Base/Main.js:
+        (WI.reset): Added.
+
+        * UserInterface/Views/SettingsTabContentView.js:
+        (WI.SettingsTabContentView.prototype._createDebugSettingsView):
+
+2019-07-02  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Audit: missing demo audits for WebInspectorAudit functions
+        https://bugs.webkit.org/show_bug.cgi?id=198719
+
+        Reviewed by Matt Baker.
+
+        Other than the LayoutTests, there's no way to see an example of the functionality of many of
+        the exposed `WebInspectorAudit` functions. There should be a demo audit for every exposed
+        function so they're more discoverable.
+
+        * UserInterface/Controllers/AuditManager.js:
+        (WI.AuditManager.prototype._addDefaultTests):
+        (WI.AuditManager.prototype._addDefaultTests.removeWhitespace): Added.
+        Move all demo audit test functions to be actual JavaScript functions, which are then
+        stringified and stripped of unnecessary white-space.
+
+        * Localizations/en.lproj/localizedStrings.js:
+
+2019-07-01  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: REGRESSION(r245498): Timelines: CPU: discontinuities are filled in by the next record
+        https://bugs.webkit.org/show_bug.cgi?id=198927
+
+        Reviewed by Matt Baker.
+
+        * UserInterface/Controllers/TimelineManager.js:
+        (WI.TimelineManager.prototype.capturingStarted):
+        (WI.TimelineManager.prototype.capturingStopped):
+        * UserInterface/Models/TimelineRecording.js:
+        (WI.TimelineRecording):
+        (WI.TimelineRecording.prototype.start):
+        (WI.TimelineRecording.prototype.capturingStarted): Added.
+        (WI.TimelineRecording.prototype.capturingStopped): Added.
+        (WI.TimelineRecording.prototype.reset):
+        (WI.TimelineRecording.prototype.addRecord):
+        (WI.TimelineRecording.prototype.discontinuitiesInTimeRange):
+        (WI.TimelineRecording.prototype.addDiscontinuity): Deleted.
+        Notify the `TimelineRecording` when capturing has started/stopped.
+        Adjust the first record after a discontinuity to have it's `startTime` match the `endTime`
+        of the most recent discontinuity.
+
+        * UserInterface/Models/Timeline.js:
+        (WI.Timeline.prototype.addRecord):
+        * UserInterface/Models/CPUTimeline.js:
+        (WI.CPUTimeline.prototype.addRecord):
+        * UserInterface/Models/CPUTimelineRecord.js:
+        (WI.CPUTimelineRecord.prototype.adjustStartTime): Added.
+        (WI.CPUTimelineRecord.prototype.adjustStartTimeToLastRecord): Deleted.
+        * UserInterface/Models/MemoryTimeline.js:
+        (WI.MemoryTimeline.prototype.addRecord):
+        * UserInterface/Models/MemoryTimelineRecord.js:
+        (WI.MemoryTimelineRecord.prototype.adjustStartTime): Added.
+        (WI.MemoryTimelineRecord.prototype.adjustStartTimeToLastRecord): Deleted.
+        * UserInterface/Models/NetworkTimeline.js:
+        (WI.NetworkTimeline.prototype.addRecord):
+
+        * UserInterface/Views/CPUTimelineView.js:
+        (WI.CPUTimelineView.prototype.layout):
+        * UserInterface/Views/MemoryTimelineOverviewGraph.js:
+        (WI.MemoryTimelineOverviewGraph.prototype.layout):
+        * UserInterface/Views/MemoryTimelineView.js:
+        (WI.MemoryTimelineView.prototype.layout):
+        Include discontinuities that exactly match the start/end time of the record immediately
+        before/after the discontinuity.
+
+        * UserInterface/Views/TimelineRecordingContentView.js:
+        (WI.TimelineRecordingContentView):
+        (WI.TimelineRecordingContentView.prototype._handleTimelineCapturingStateChanged):
+        (WI.TimelineRecordingContentView.prototype._recordingReset):
+        Move the logic for handling discontinuity start/end times to the `TimelineRecording`.
+
+        * UserInterface/Base/Utilities.js:
+
+2019-06-29  Nikita Vasilyev  <nvasilyev@apple.com>
+
+        Web Inspector: Remove trailing white-space
+        https://bugs.webkit.org/show_bug.cgi?id=199346
+
+        Reviewed by Matt Baker.
+
+        * UserInterface/Controllers/NetworkManager.js:
+        (WI.NetworkManager.prototype._initiatorCallFramesFromPayload):
+        * UserInterface/Images/Import.svg:
+        * UserInterface/Views/CanvasOverviewContentView.css:
+        (.navigation-bar > .item.canvas-recording-auto-capture > label > input):
+        * UserInterface/Views/DataGrid.css:
+        (.data-grid .resizer):
+        * UserInterface/Views/DatabaseContentView.css:
+        (.storage-view):
+        * UserInterface/Views/GoToLineDialog.css:
+        (@media (prefers-color-scheme: dark)):
+        * UserInterface/Views/GradientSlider.css:
+        (.gradient-slider > .add-area):
+        (.gradient-slider-knob > :matches(img, div)):
+        * UserInterface/Views/ResourceDetailsSection.css:
+        * UserInterface/Views/ScrubberNavigationItem.css:
+        (.navigation-bar .item.scrubber > input[disabled]):
+        * UserInterface/Views/SourceCodeTextEditor.css:
+        (.popover .expandable):
+        * UserInterface/Views/TimelineRecordBar.css:
+        (.timeline-record-bar.timeline-record-type-script.garbage-collected > .segment,):
+        * UserInterface/Workers/HeapSnapshot/HeapSnapshotWorker.js:
+        (HeapSnapshotWorker.prototype.createSnapshot):
+
+2019-06-29  Nikita Vasilyev  <nvasilyev@apple.com>
+
+        Remove duplicate "Private" section and fix white space
+
+        Unreviewed code style fix.
+
+        * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
+        (WI.SpreadsheetRulesStyleDetailsPanel.prototype.layout):
+
+2019-06-27  Beth Dakin  <bdakin@apple.com>
+
+        Upstream use of MACCATALYST
+        https://bugs.webkit.org/show_bug.cgi?id=199245
+        rdar://problem/51687723
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig:
+        * Configurations/SDKVariant.xcconfig:
+
+2019-06-27  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: throw an error if console.count/console.countReset is called with an object that throws an error from toString
+        https://bugs.webkit.org/show_bug.cgi?id=199252
+
+        Reviewed by Joseph Pecoraro.
+
+        Add entries for `console.countReset` and `console.timeLog`.
+
+        Rename `title` to `label` for `console.time`, `console.timeLog`, and `console.timeEnd` to
+        better match the spec.
+
+        * UserInterface/Models/NativeFunctionParameters.js:
+
+2019-06-26  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Web Inspector: Update legacy backend commands after enum name change
+        https://bugs.webkit.org/show_bug.cgi?id=199250
+
+        Reviewed by Devin Rousso.
+
+        * UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js:
+        * UserInterface/Protocol/Legacy/12.0/InspectorBackendCommands.js:
+        * UserInterface/Protocol/Legacy/12.2/InspectorBackendCommands.js:
+
+2019-06-26  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: REGRESSION: Elements: the forced pseudo-class indicator isn't visible when hovering
+        https://bugs.webkit.org/show_bug.cgi?id=199166
+
+        Reviewed by Matt Baker.
+
+        Make the pseudo-class indicator into its own element instead of being a `::before`.
+
+        * UserInterface/Views/DOMTreeElement.js:
+        (WI.DOMTreeElement):
+        (WI.DOMTreeElement.prototype.updateSelectionArea):
+        (WI.DOMTreeElement.prototype.updateTitle):
+        (WI.DOMTreeElement.prototype._updatePseudoClassIndicator): Added.
+        (WI.DOMTreeElement.prototype.get pseudoClassesEnabled): Deleted.
+        (WI.DOMTreeElement.prototype._nodePseudoClassesDidChange): Deleted.
+
+        * UserInterface/Views/DOMTreeOutline.css:
+        (.tree-outline.dom):
+        (.tree-outline.dom li .pseudo-class-indicator): Added.
+        (body[dir=ltr] .tree-outline.dom li .pseudo-class-indicator): Added.
+        (body[dir=rtl] .tree-outline.dom li .pseudo-class-indicator): Added.
+        (.tree-outline.dom:focus li.selected .pseudo-class-indicator): Added.
+        (.tree-outline.dom li.pseudo-class-enabled > .selection-area::before): Deleted.
+        (body[dir=ltr] .tree-outline.dom li.pseudo-class-enabled > .selection-area::before): Deleted.
+        (body[dir=rtl] .tree-outline.dom li.pseudo-class-enabled > .selection-area::before): Deleted.
+        (.tree-outline.dom:focus li.selected.pseudo-class-enabled > .selection-area::before): Deleted.
+
+        * UserInterface/Views/FormattedValue.css:
+        (.formatted-node > .tree-outline.dom):
+        Adjust the indent of any `DOMTreeOutline` so there's more room for the pseudo-class
+        indicator, such as in the Console.
+
+2019-06-25  Matt Baker  <mattbaker@apple.com>
+
+        Web Inspector: Elements: show shadow DOM by default
+        https://bugs.webkit.org/show_bug.cgi?id=199128
+
+        Reviewed by Devin Rousso.
+
+        * UserInterface/Base/Setting.js:
+
+        * UserInterface/Test/Test.js:
+        (WI.loaded):
+        Overriding the default value isn't necessary since the default is now true.
+
+2019-06-25  Nikita Vasilyev  <nvasilyev@apple.com>
+
+        REGRESSION(r246621): Web Inspector: Styles: property may get removed when editing after deleting value
+        https://bugs.webkit.org/show_bug.cgi?id=199143
+        <rdar://problem/52042815>
+
+        Reviewed by Matt Baker.
+
+        r246621 affected when WI.CSSStyleDeclaration.Event.PropertiesChanged event is fired, which caused
+        SpreadsheetCSSStyleDeclarationEditor to possibly enter a state when `focused` property is
+        incorrectly set to false.
+
+        * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
+        (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyRemoved): Removed.
+        (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertyWillRemove): Added.
+        Renamed from "removed" to "willRemove" since we need to call it before the property DOM element
+        is detached from the document.
+
+        * UserInterface/Views/SpreadsheetStyleProperty.js:
+        (WI.SpreadsheetStyleProperty.prototype.remove):
+        Don't set focused to false when the removed property wasn't focused.
+        This code need to exist because removing focused element from the DOM doesn't trigger blur event.
+
+2019-06-25  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Web Inspector: Implement console.timeLog
+        https://bugs.webkit.org/show_bug.cgi?id=199184
+
+        Reviewed by Devin Rousso.
+
+        * UserInterface/Views/ConsoleMessageView.js:
+        (WI.ConsoleMessageView.prototype._appendMessageTextAndArguments):
+        Time messages (like timeLog) do not include their messageText
+        in their parameters list. So to behave more like normal logs
+        build a parameter list that includes it at the front.
+
+2019-06-23  Matt Baker  <mattbaker@apple.com>
+
+        Web Inspector: REGRESSION (r246684): Dark Mode: dashboard buttons should have no background
+        https://bugs.webkit.org/show_bug.cgi?id=199136
+        <rdar://problem/52035798>
+
+        Reviewed by Joseph Pecoraro.
+
+        * UserInterface/Views/DefaultDashboardView.css:
+        (@media (prefers-color-scheme: dark)):
+        (.toolbar .dashboard .item.button,):
+
+2019-06-23  Nikita Vasilyev  <nvasilyev@apple.com>
+
+        Web Inspector: Styles: show green highlight for newly added properties only when name and value are present
+        https://bugs.webkit.org/show_bug.cgi?id=199131
+
+        Reviewed by Matt Baker.
+
+        * UserInterface/Views/SpreadsheetStyleProperty.js:
+        (WI.SpreadsheetStyleProperty.prototype.updateStatus):
+
+2019-06-22  Nikita Vasilyev  <nvasilyev@apple.com>
+
+        REGRESSION(r241980): Web Inspector: Styles: Pressing Tab/Enter on last property no longer focuses on selector on next rule
+        https://bugs.webkit.org/show_bug.cgi?id=199125
+        <rdar://problem/52011182>
+
+        Reviewed by Matt Baker.
+
+        Since SpreadsheetSelectorField's focus handler was removed in r241980, focusing on the selector element
+        doesn't start editing it.
+
+        * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
+        (WI.SpreadsheetCSSStyleDeclarationSection.prototype.startEditingRuleSelector):
+
+2019-06-22  Nikita Vasilyev  <nvasilyev@apple.com>
+
+        Web Inspector: Styles: unbalanced quotes and parenthesis aren't displayed as property closed after editing values
+        https://bugs.webkit.org/show_bug.cgi?id=199090
+        <rdar://problem/51965431>
+
+        Reviewed by Matt Baker.
+
+        * UserInterface/Views/SpreadsheetStyleProperty.js:
+        (WI.SpreadsheetStyleProperty.prototype.spreadsheetTextFieldDidBlur):
+        Unbalanced quotes and parenthesis are fixed inside of CSSProperty's rawValue setter.
+        Render the value from the model, not the view.
+
+2019-06-21  Matt Baker  <mattbaker@apple.com>
+
+        Web Inspector: remove unused DataGrid style .force-focus
+        https://bugs.webkit.org/show_bug.cgi?id=199112
+        <rdar://problem/51993412>
+
+        Reviewed by Timothy Hatcher.
+
+        * UserInterface/Views/HeapAllocationsTimelineView.css:
+        (.timeline-view.heap-allocations > .data-grid:not(:focus) tr.selected.invalid):
+        (.timeline-view.heap-allocations > .data-grid:not(:focus, .force-focus) tr.selected.invalid): Deleted.
+
+        * UserInterface/Views/ResourceTreeElement.css:
+        (.item.resource.resource-type-websocket:not(.selected) .status .ready-state.open,):
+        (.item.resource.resource-type-websocket:not(.selected) .status .ready-state.connecting,):
+        Missed in https://bugs.webkit.org/show_bug.cgi?id=190480.
+
+2019-06-21  Matt Baker  <mattbaker@apple.com>
+
+        Web Inspector: remove .legacy-mac/.latest-mac CSS classes, standardize on .latest-mac UI
+        https://bugs.webkit.org/show_bug.cgi?id=199109
+        <rdar://problem/51991129>
+
+        Reviewed by Timothy Hatcher.
+
+        Drop legacy macOS version support from Web Inspector UI.
+
+        * UserInterface/Base/Main.js:
+
+        * UserInterface/Views/DefaultDashboardView.css:
+        (@media (prefers-color-scheme: dark)):
+        (body.latest-mac .toolbar .dashboard .item.button): Deleted.
+
+        * UserInterface/Views/Toolbar.css:
+        (.toolbar):
+        (.toolbar .item.button,):
+        (.toolbar .search-bar > input[type="search"]):
+        (.toolbar .search-bar > input[type="search"]:focus):
+        (@media (-webkit-min-device-pixel-ratio: 2)):
+        (.toolbar .item.button:active):
+        (body.window-inactive .toolbar .item.button,):
+        (@media (prefers-color-scheme: dark)):
+        (.toolbar .search-bar > input[type="search"]::placeholder):
+        (body.window-inactive .toolbar .search-bar > input[type="search"]::placeholder):
+        (body.window-inactive .toolbar .search-bar > input[type="search"]::-webkit-search-results-button):
+        (.toolbar .dashboard-container):
+        (body .toolbar): Deleted.
+        (body.legacy-mac .toolbar .item.button,): Deleted.
+        (body.legacy-mac .toolbar .search-bar > input[type="search"]): Deleted.
+        (body.legacy-mac .toolbar .search-bar > input[type="search"]:focus): Deleted.
+        (body.legacy-mac .toolbar .item.button:active): Deleted.
+        (body.window-inactive.legacy-mac .toolbar .item.button,): Deleted.
+        (body.latest-mac .toolbar .item.button,): Deleted.
+        (body.latest-mac .toolbar .search-bar > input[type="search"]): Deleted.
+        (body.latest-mac .toolbar .search-bar > input[type="search"]:focus): Deleted.
+        (body.latest-mac .toolbar .item.button:active): Deleted.
+        (body.latest-mac.window-inactive .toolbar .item.button,): Deleted.
+        (body.latest-mac .toolbar .search-bar > input[type="search"]::placeholder): Deleted.
+        (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::placeholder): Deleted.
+        (body.latest-mac.window-inactive .toolbar .search-bar > input[type="search"]::-webkit-search-results-button): Deleted.
+        (body.latest-mac .toolbar .dashboard-container): Deleted.
+
+2019-06-20  Matt Baker  <mattbaker@apple.com>
+
+        Web Inspector: rename shadowRootPushed parameter to match protocol
+        https://bugs.webkit.org/show_bug.cgi?id=199098
+
+        Reviewed by Devin Rousso.
+
+        * UserInterface/Protocol/DOMObserver.js:
+        (WI.DOMObserver.prototype.shadowRootPushed):
+
+2019-06-20  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Error "null is not an object (evaluating 'syntaxTree.containersOfPosition')" when setting a breakpoint
+        https://bugs.webkit.org/show_bug.cgi?id=199082
+
+        Reviewed by Matt Baker.
+
+        * UserInterface/Views/SourceCodeTextEditor.js:
+        (WI.SourceCodeTextEditor.prototype.textEditorExecutionHighlightRange):
+        The script syntax tree may be fetched even if the resource hasn't finished parsing (or had
+        a syntax error), so it's possible for it to be `null`.
+
+2019-06-20  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Dark Mode: inactive tab bar item should get darker on hover
+        https://bugs.webkit.org/show_bug.cgi?id=199022
+
+        Reviewed by Darin Adler.
+
+        * UserInterface/Views/TabBar.css:
+        (.tab-bar:not(.animating) > .item:not(.selected, .disabled):hover):
+        (@media not (prefers-color-scheme: dark) .tab-bar:not(.animating) > .item:not(.selected, .disabled):hover > .icon):
+        (@media (prefers-color-scheme: dark) .tab-bar):
+        (@media (prefers-color-scheme: dark) .tab-bar > .item):
+        (@media (prefers-color-scheme: dark) .tab-bar > .item:not(.disabled).selected):
+        (@media (prefers-color-scheme: dark) .tab-bar:not(.animating) > .item:not(.selected):hover):
+        (@media (prefers-color-scheme: dark) body.window-inactive .tab-bar):
+        (@media (prefers-color-scheme: dark) body.window-inactive .tab-bar > .item):
+        (@media (prefers-color-scheme: dark) body.window-inactive .tab-bar > .item.selected):
+
+        * UserInterface/Views/Toolbar.css:
+        (@media (prefers-color-scheme: dark) body .toolbar):
+
+2019-06-20  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Debugger: setting a breakpoint on a non-JavaScript line should immediately show as unresolved
+        https://bugs.webkit.org/show_bug.cgi?id=199033
+
+        Reviewed by Matt Baker.
+
+        Remove the `shouldSpeculativelyResolve` parameter, as it was resolving breakpoints even in
+        the case that there were no resolved locations for the given breakpoint.
+
+        In the case that there are resolved locations, the breakpoint would've already been resolved
+        by the time that `shouldSpeculativelyResolve` would've taken effect, so it's unnecessary.
+
+        This parameter was only used when setting a breakpoint from a `SourceCodeTextEditor` gutter.
+
+        * UserInterface/Controllers/DebuggerManager.js:
+        (WI.DebuggerManager.prototype.addBreakpoint):
+        (WI.DebuggerManager.prototype._setBreakpoint):
+        (WI.DebuggerManager.prototype._setBreakpoint.didSetBreakpoint):
+
+        * UserInterface/Views/SourceCodeTextEditor.js:
+        (WI.SourceCodeTextEditor.prototype.textEditorBreakpointAdded):
+
+2019-06-20  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Edit -> Tag doesn't do anything for html, head, and body elements
+        https://bugs.webkit.org/show_bug.cgi?id=199052
+        <rdar://problem/51923906>
+
+        Reviewed by Matt Baker.
+
+        * UserInterface/Views/DOMTreeElement.js:
+        (WI.DOMTreeElement.prototype.populateDOMNodeContextMenu):
+         - Don't show an "Edit > Tag" for <html>, <head>, and <body> nodes
+         - Disable any "Edit" submenu item if it's target is already being edited
+         - Prevent "Add" submenu items from being shown for text nodes
+
+2019-06-19  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: REGRESSION: Debugger: current call frame indicator isn't vertically centered
+        https://bugs.webkit.org/show_bug.cgi?id=199015
+
+        Reviewed by Matt Baker.
+
+        * UserInterface/Views/CallFrameTreeElement.css:
+        (.tree-outline .item.call-frame .status):
+
+2019-06-19  Nikita Vasilyev  <nvasilyev@apple.com>
+
+        REGRESSION(r240946): Web Inspector: Styles: Pasting multiple properties has issues
+        https://bugs.webkit.org/show_bug.cgi?id=198505
+        <rdar://problem/51374780>
+
+        Reviewed by Matt Baker.
+
+        Since r240946, setting WI.CSSStyleDeclaration.prototype.text updates the text immediately.
+        When WI.CSSStyleDeclaration.prototype.update gets called after setting text, it exits early
+        without firing WI.CSSStyleDeclaration.Event.PropertiesChanged.
+
+        * UserInterface/Models/CSSStyleDeclaration.js:
+        (WI.CSSStyleDeclaration):
+        (WI.CSSStyleDeclaration.prototype.set text):
+
+2019-06-19  Matt Baker  <mattbaker@apple.com>
+
+        Web Inspector: Remove unused _pendingFilter from NetworkTableContentView
+        https://bugs.webkit.org/show_bug.cgi?id=199026
+
+        Reviewed by Devin Rousso.
+
+        This flag is no longer set as of https://trac.webkit.org/changeset/225895.
+
+        * UserInterface/Views/NetworkTableContentView.js:
+        (WI.NetworkTableContentView):
+        (WI.NetworkTableContentView.prototype._processPendingEntries):
+
+2019-06-19  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Uncaught Exception: TypeError: undefined is not an object (evaluating 'sourceCodePosition.lineNumber')
+        https://bugs.webkit.org/show_bug.cgi?id=199019
+
+        Reviewed by Matt Baker.
+
+        * UserInterface/Base/Main.js:
+        (WI.linkifyLocation):
+
+2019-06-19  Zhifei Fang  <zhifei_fang@apple.com>
+
+        Correct the error object link color in dark mode.
+        https://bugs.webkit.org/show_bug.cgi?id=198033
+
+        Reviewed by Devin Rousso.
+
+        * UserInterface/Views/ErrorObjectView.css:
+        (@media (prefers-dark-interface)):
+        (.error-object-link-container):
+
+2019-06-18  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Network: detail view shouldn't stay open when the related entry is removed
+        https://bugs.webkit.org/show_bug.cgi?id=198951
+
+        Reviewed by Joseph Pecoraro.
+
+        * UserInterface/Views/NetworkTableContentView.js:
+        (WI.NetworkTableContentView.prototype._mainResourceDidChange):
+        Hide the detail view if the main resource changes and we aren't preserving the log.
+
+        * UserInterface/Views/Table.js:
+        (WI.Table.prototype.reloadVisibleColumnCells):
+        Only attempt to populate cells for rows that the `_dataSource` actually has. Without this,
+        the `_delegate` may be asked to populate a cell for a row it doesn't have, which would error.
+
+2019-06-18  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: parseQueryParameters fails to successfully parse query parameter values that contain "="
+        https://bugs.webkit.org/show_bug.cgi?id=198971
+        <rdar://problem/51852782>
+
+        Reviewed by Joseph Pecoraro.
+
+        * UserInterface/Base/URLUtilities.js:
+        (parseQueryString):
+
+2019-06-18  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: REGRESSION: Heap: subsequent snapshots taken manually don't appear in the list
+        https://bugs.webkit.org/show_bug.cgi?id=198941
+
+        Reviewed by Joseph Pecoraro.
+
+        Since heap snapshot records can be added at any time, including when not actively recording,
+        when the "Entire Recording" range is selected, make sure to set the `filterEndTime` to be an
+        effectively infinite number so that records added later aren't filtered out.
+
+        This isn't done for other timeline views as they may have graphs that don't expect to render
+        from time 0 till infinity, not to mention being unable to add records when not recording.
+
+        * UserInterface/Views/TimelineRecordingContentView.js:
+        (WI.TimelineRecordingContentView.prototype._updateTimelineViewTimes):
+
+2019-06-18  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: REGRESSION: Canvas: cannot select saved recordings
+        https://bugs.webkit.org/show_bug.cgi?id=198953
+
+        Reviewed by Joseph Pecoraro.
+
+        * UserInterface/Views/TreeElement.js:
+        (WI.TreeElement.treeElementToggled):
+        Don't early return if the `TreeElement` isn't `selectable` as the owner `TreeOutline` may
+        want to dispatch an event that it was clicked.
+
+2019-06-18  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Canvas: the initial state should be selected when processing a new/imported recording if the navigation sidebar is collapsed
+        https://bugs.webkit.org/show_bug.cgi?id=198952
+
+        Reviewed by Joseph Pecoraro.
+
+        Prevent any content from being generated until `initialLayout` is called, as otherwise it's
+        possible for the `CanvasNavigationSidebar` to update the current action index before the
+        preview element has been created, which would throw an error.
+
+        * UserInterface/Views/RecordingContentView.js:
+        (WI.RecordingContentView.prototype.updateActionIndex):
+        (WI.RecordingContentView.prototype.initialLayout):
+        (WI.RecordingContentView.prototype._updateSliderValue):
+        (WI.RecordingContentView.prototype._handleRecordingProcessedAction):
+        Drive-by: update the slider max each time the selected action index is changed.
+
+2019-06-18  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Canvas: imported recordings aren't selectable from the overview if there are no canvases in the page
+        https://bugs.webkit.org/show_bug.cgi?id=198955
+
+        Reviewed by Joseph Pecoraro.
+
+        * UserInterface/Views/CanvasOverviewContentView.js:
+        (WI.CanvasOverviewContentView.prototype._addSavedRecording):
+        Hide the content placeholder when a recording is imported. It won't be shown again because
+        the `subviews` list will never be empty, as there's no way to remove an imported recording.
+
+        * UserInterface/Views/CollectionContentView.js:
+        (WI.CollectionContentView.prototype.addContentViewForItem):
+        (WI.CollectionContentView.prototype.removeContentViewForItem):
+        (WI.CollectionContentView.prototype.showContentPlaceholder): Added.
+        (WI.CollectionContentView.prototype.hideContentPlaceholder): Added.
+        (WI.CollectionContentView.prototype.initialLayout):
+        (WI.CollectionContentView.prototype._selectItem):
+        (WI.CollectionContentView.prototype._showContentPlaceholder): Deleted.
+        (WI.CollectionContentView.prototype._hideContentPlaceholder): Deleted.
+        Make `showContentPlaceholder`/`hideContentPlaceholder` protected for any subclasses to call.
+
+2019-06-17  Matt Baker  <mattbaker@apple.com>
+
+        Web Inspector: Elements: remove ellipses from "Break on" context menu item title
+        https://bugs.webkit.org/show_bug.cgi?id=198944
+
+        Reviewed by Devin Rousso.
+
+        Update context menu title to comply with Apple HI guidelines.
+
+        * Localizations/en.lproj/localizedStrings.js:
+        * UserInterface/Views/ContextMenuUtilities.js:
+
+2019-06-17  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Debugger: adding a DOM/Event/URL breakpoint should enable breakpoints
+        https://bugs.webkit.org/show_bug.cgi?id=198932
+
+        Reviewed by Matt Baker.
+
+        Match the behavior of JavaScript breakpoints, which enable breakpoints globally when a new
+        breakpoint is set or an existing breakpoint is enabled.
+
+        This avoids the situation where setting a DOM breakpoint or a specific event listener
+        breakpoint appears to not "work" because breakpoints are globally disabled. There is no
+        "breakpoints disabled" banner in the Elements tab, so the user could be completely unaware
+        of this, and therefore be confused as to why these breakpoints aren't being hit.
+
+        * UserInterface/Controllers/DOMManager.js:
+        (WI.DOMManager.prototype._updateEventBreakpoint):
+
+        * UserInterface/Controllers/DOMDebuggerManager.js:
+        (WI.DOMDebuggerManager.prototype._updateDOMBreakpoint):
+        (WI.DOMDebuggerManager.prototype._updateEventBreakpoint):
+        (WI.DOMDebuggerManager.prototype._updateURLBreakpoint):
+
+2019-06-17  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Sources: remove extra space above Breakpoints section when breakpoints are disabled
+        https://bugs.webkit.org/show_bug.cgi?id=198933
+
+        Reviewed by Matt Baker.
+
+        * UserInterface/Views/DebuggerSidebarPanel.css:
+        (.sidebar > .panel.navigation.debugger .warning-banner):
+        * UserInterface/Views/SourcesNavigationSidebarPanel.css:
+        (.sidebar > .panel.navigation.sources > .content > .warning-banner):
+
+2019-06-17  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Settings: split the General panel into sub panels so it's less crowded
+        https://bugs.webkit.org/show_bug.cgi?id=198803
+
+        Reviewed by Timothy Hatcher.
+
+        * UserInterface/Views/SettingsTabContentView.js:
+        (WI.SettingsTabContentView.prototype.initialLayout):
+        (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
+        Many of the settings in General only affect a specific part of Web Inspector, and therefore
+        aren't really "general".
+
+        (WI.SettingsTabContentView.prototype._createElementsSettingsView): Added.
+         - Element Selection
+         - CSS Changes
+
+        (WI.SettingsTabContentView.prototype._createSourcesSettingsView): Added.
+         - Debugger
+         - Source Maps
+
+        (WI.SettingsTabContentView.prototype._createConsoleSettingsView): Added.
+         - Traces (renamed from "Console")
+         - WebRTC Logging
+         - Media Logging
+         - MSE Logging
+
+        * Localizations/en.lproj/localizedStrings.js:
+
+2019-06-17  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Sources: the Inspector Style Sheet is missing when grouped by path
+        https://bugs.webkit.org/show_bug.cgi?id=198860
+
+        Reviewed by Timothy Hatcher.
+
+        * UserInterface/Controllers/CSSManager.js:
+        (WI.CSSManager.prototype.get styleSheets):
+        (WI.CSSManager.prototype.inspectorStyleSheetsForFrame):
+        (WI.CSSManager.prototype.preferredInspectorStyleSheetForFrame):
+        (WI.CSSManager.prototype._inspectorStyleSheetsForFrame): Deleted.
+        Expose a way to fetch all inspector stylesheets for a given frame.
+        Make sure to associate inspector stylesheets with their frame.
+
+        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
+        (WI.SourcesNavigationSidebarPanel.prototype._compareTreeElements):
+        (WI.SourcesNavigationSidebarPanel.prototype._addResourcesRecursivelyForFrame):
+        (WI.SourcesNavigationSidebarPanel.prototype._handleCSSStyleSheetAdded):
+        Add paths for inspector stylesheet creation/fetching when grouping by path.
+        Sort inspector stylesheets as the first item of an origin/frame when grouping by path.
+
+2019-06-17  Jamal Nasser  <jamaln@mail.com>
+
+        Web Inspector: Go To Line dialog is white when in Dark Mode
+        https://bugs.webkit.org/show_bug.cgi?id=198596
+
+        Reviewed by Timothy Hatcher.
+
+        * UserInterface/Views/GoToLineDialog.css:
+        (@media (prefers-color-scheme: dark)):
+        (.go-to-line-dialog):
+        (.go-to-line-dialog > div > input):
+        (.go-to-line-dialog > div > input::placeholder):
+        (.go-to-line-dialog > div::before):
+
 2019-06-17  Devin Rousso  <drousso@apple.com>
 
         Web Inspector: Sources: searching doesn't use the case sensitive or regex global settings