Web Inspector: REGRESSION: no context menu items work when context menu clicking...
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
index 9cae2b1..27f0f8d 100644 (file)
-2019-06-03  Devin Rousso  <drousso@apple.com>
+2019-07-24  Devin Rousso  <drousso@apple.com>
 
-        Web Inspector: remove RemoteObject.prototype.getPropertyDescriptorsAsObject
-        https://bugs.webkit.org/show_bug.cgi?id=198395
-
-        Reviewed by Matt Baker.
-
-        When calling `RemoteObject.prototype.getPropertyDescriptorsAsObject`, if one of the returned
-        property descriptors is named `__proto__`, it will replace the `__proto__` of the plain
-        object created for that function with the `WI.PropertyDescriptor` itself, altering the
-        prototype chain.
-
-        * UserInterface/Protocol/RemoteObject.js:
-        (WI.RemoteObject.prototype.getPropertyDescriptorsAsObject): Deleted.
-        * UserInterface/Models/AuditTestCase.js:
-        (WI.AuditTestCase.prototype.async run.async parseResponse.async resultArrayForEach):
-        * UserInterface/Views/ErrorObjectView.js:
-        (WI.ErrorObjectView.prototype.update):
-
-2019-06-02  Matt Baker  <mattbaker@apple.com>
-
-        Web Inspector: Debugger: sidebar should always reveal active call frame when hitting a breakpoint
-        https://bugs.webkit.org/show_bug.cgi?id=198228
-        <rdar://problem/46719447>
-
-        Reviewed by Devin Rousso.
-
-        Reveal the active call frame TreeElement when call frames change. Refreshing
-        the current target's ThreadTreeElement children is insufficient, since
-        the sidebar panel content may have been scrolled.
-
-        This patch also introduces a workaround to prevent the DetailsSection header
-        element, which has sticky positioning, from covering a revealed TreeElement.
-        This can be the case when the TreeElement being revealed is at the topmost edge
-        of the scrolled content element.
-
-        * UserInterface/Base/Utilities.js:
-
-        * UserInterface/Views/DebuggerSidebarPanel.js:
-        (WI.DebuggerSidebarPanel.prototype.createContentTreeOutline):
-        (WI.DebuggerSidebarPanel.prototype._debuggerCallFramesDidChange):
-
-        * UserInterface/Views/DetailsSection.js:
-        (WI.DetailsSection.prototype.get element):
-        (WI.DetailsSection.prototype.get headerElement):
-        (WI.DetailsSection.prototype.get identifier):
-
-        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
-        (WI.SourcesNavigationSidebarPanel.prototype.createContentTreeOutline):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerCallFramesDidChange):
-
-        * UserInterface/Views/TreeElement.js:
-        (WI.TreeElement.prototype.reveal):
-        * UserInterface/Views/TreeOutline.js:
-
-2019-06-02  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: propagate whether to show prototype information to subobject views
-        https://bugs.webkit.org/show_bug.cgi?id=194929
-
-        Reviewed by Matt Baker.
-
-        Add a way to mark the `ObjectTreeView` as holding a JSON value, which extends
-        `showOnlyProperties` to also hide the prototype of all held values (e.g. children).
-
-        * UserInterface/Views/ObjectTreeView.js:
-        (WI.ObjectTreeView.prototype.showOnlyJSON): Added.
-        * UserInterface/Views/ObjectTreeView.css:
-        (.object-tree.properties-only.json-only .object-tree-property .prototype-property): Added.
-
-        * UserInterface/Views/AuditTestCaseContentView.js:
-        (WI.AuditTestCaseContentView.prototype.layout):
-        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
-        (WI.DOMNodeDetailsSidebarPanel.prototype._refreshAssociatedData):
-        * UserInterface/Views/JSONResourceContentView.css:
-        (.content-view.resource.json .object-tree .prototype-property): Deleted.
-        * UserInterface/Views/JSONResourceContentView.js:
-        (WI.JSONResourceContentView.prototype.contentAvailable):
-
-2019-05-31  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: CSS Changes: modifications aren't shared for rules that match multiple elements
-        https://bugs.webkit.org/show_bug.cgi?id=195264
-        <rdar://problem/48550023>
-
-        Reviewed by Devin Rousso.
-
-        This patch fixes several cases when the diff was incorrect.
-
-        1. Perform diff based on CSSProperty content (name, value, and enabled property) instead
-           of strict equality of CSSProperty instances.
-
-        2. Copy all initial CSSProperty instances of CSSStyleDeclaration on 1st edit.
-           This removes the need to update `properties` on every single edit.
-
-        3. Do full diff to display modified property markers (green background) in Rules panel.
-           This fixes a few cases when the markers were inaccurate. E.g. a newly added property
-           matches removed property - no need to show the green background.
-
-        * UserInterface/Base/Utilities.js:
-        (Array.diffArrays):
-        Allow repeating items in the arrays.
-
-        * UserInterface/Controllers/CSSManager.js:
-        (WI.CSSManager.prototype.getModifiedStyle):
-        (WI.CSSManager.prototype.removeModifiedStyle):
-        * UserInterface/Models/CSSProperty.js:
-        (WI.CSSProperty):
-        (WI.CSSProperty.prototype.get modified):
-        (WI.CSSProperty.prototype.set modified):
-        (WI.CSSProperty.prototype.equals):
-        (WI.CSSProperty.prototype.clone):
-        (WI.CSSProperty.prototype._updateOwnerStyleText):
-        (WI.CSSProperty.prototype._markModified):
-        * UserInterface/Models/CSSStyleDeclaration.js:
-        (WI.CSSStyleDeclaration.prototype.markModified):
-        (WI.CSSStyleDeclaration.prototype.updatePropertiesModifiedState):
-        * UserInterface/Views/ChangesDetailsSidebarPanel.js:
-        (WI.ChangesDetailsSidebarPanel.prototype._createRuleElement):
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
-        (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.layout):
-        * UserInterface/Views/SpreadsheetStyleProperty.js:
-
-2019-05-31  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Timelines: CPU: gray (?) and (x) should be white
-        https://bugs.webkit.org/show_bug.cgi?id=198394
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/Variables.css:
-        (@media (prefers-color-scheme: dark)):
-        Remove the dark mode override for `--gray-foreground-color`, as the default `white` is a
-        better contrast.
-
-2019-05-30  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Audit: there should be a default test for WebInspectorAudit.Resources functionality
-        https://bugs.webkit.org/show_bug.cgi?id=196710
-        <rdar://problem/49712348>
+        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.
 
-        Previously, there was no way to return data from Audit that wasn't a DOM node, a DOM
-        attribute (which wasn't "shown" anywhere, as it would highlight that attribute on any
-        returned DOM nodes), or an error string.
-
-        In order for Audits to be more flexible with the types of things they test, there needs to
-        be a way for other types of data to be sent back and displayed in the Audit tab.
-
-        This patch makes it so that an Audit result can now contain other keys/values that are all
-        expected to be JSON serializable. It will take all of the non-"special" (e.g. "domNodes" or
-        "errors") keys/values and display them as object trees. This way, any JSON serializable data
-        can be sent with the result and be displayed in the Audit tab.
-
-        * UserInterface/Models/AuditTestBase.js:
-        (WI.AuditTestBase.prototype.async setup):
-        (WI.AuditTestBase.prototype.clearResult):
-        * UserInterface/Models/AuditTestGroup.js:
-        (WI.AuditTestCase.prototype.clearResult):
-        (WI.AuditTestCase.prototype._updateResult):
-        * UserInterface/Models/AuditTestCase.js:
-        (WI.AuditTestCase.prototype.async run):
-        (WI.AuditTestCase.prototype.async run.async parseResponse):
-        (WI.AuditTestCase.prototype.async run.async parseResponse.checkResultProperty):
-        (WI.AuditTestCase.prototype.async run.async parseResponse.checkResultProperty.addErrorForValueType):
-        (WI.AuditTestCase.prototype.async run.async parseResponse.async resultArrayForEach):
-        (WI.AuditTestCase.prototype.async run.async parseResponse.inspectedPage_stringify): Added.
-        Rename `ResultCleared` to `ResultChanged` so that it can (semantically) be used whenever a
-        new result is set in addition to when an existing one is cleared. This is needed so that
-        `AuditTestCaseContentView` will refresh each time the result changes, instead of only in the
-        first `layout()` after the last result was cleared.
-
-        * UserInterface/Models/AuditTestCaseResult.js:
-        (WI.AuditTestCaseResult.async fromPayload):
-        (WI.AuditTestCaseResult.prototype.toJSON):
-        Drive-by: fix the check for optional `data` values to still warn if the value is `null`.
-
-        * UserInterface/Controllers/AuditManager.js:
-        (WI.AuditManager.prototype._addDefaultTests):
-        Add a default test "Demo Audit > Result Data > data-custom" as an example how to write an
-        Audit that returns custom data, as well as how that custom data is shown in the Audit tab.
-
-        * UserInterface/Views/AuditTestContentView.js:
-        (WI.AuditTestContentView.prototype.shown):
-        (WI.AuditTestContentView.prototype.handleResultChanged): Added.
-        * UserInterface/Views/AuditTestCaseContentView.js:
-        (WI.AuditTestCaseContentView):
-        (WI.AuditTestCaseContentView.prototype.layout):
-        (WI.AuditTestCaseContentView.prototype.handleResultChanged): Added.
-        Preserve the UI for each section across `layout()`s, so that expand/collapse states aren't
-        reset each time the user changes the selected Audit.
-
-        * UserInterface/Views/AuditTestCaseContentView.css:
-        (.content-view.audit-test-case > section table > tr > td + td): Added.
-        Drive-by: ensure that the "index" table column is never larger than it needs to be.
-
-        * UserInterface/Views/AuditTreeElement.js:
-        (WI.AuditTreeElement.prototype.onattach):
-        (WI.AuditTreeElement.prototype._handleTestResultChanged): Added.
-        (WI.AuditTreeElement.prototype._handleTestResultCleared): Deleted.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-05-28  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Timelines: spacing around pie chart is different between CPU and Memory
-        https://bugs.webkit.org/show_bug.cgi?id=198299
-
-        Reviewed by Matt Baker.
-
-        "Style Resolution" is a much longer string than any of the legend strings in the Memory
-        timeline, and causes the CPU timeline legend to shift as a result.
-
-        Rename "Script" to "JavaScript" and "Style Resolution" to "Styles" so that the strings are
-        roughly the same length between the CPU and Memory timelines, meaning that they will appear
-        in the same spot with similar sizing.
-
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView.displayNameForSampleType):
-        (WI.CPUTimelineView.prototype.initialLayout):
-        (WI.CPUTimelineView.prototype._computeStatisticsData):
-        Drive-by: remove the `WI` prefix from all `CPUTimelineView.SampleType` since it's within the
-        same class.
-
-        * UserInterface/Views/CPUTimelineView.css:
-        (.timeline-view.cpu > .content > .overview .legend > .row > .swatch.sample-type-javascript): Added.
-        (.timeline-view.cpu > .content > .overview .legend > .row > .swatch.sample-type-script): Deleted.
-        Drive-by: move the `.overview` rules lower to be in the same area as the `.overview *` rules.
-
-        * UserInterface/Views/MemoryTimelineView.css:
-        (.timeline-view.memory > .content > .overview):
-        Drive-by: remove duplicate CSS rule.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-05-28  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Provide UIString descriptions to improve localizations
-        https://bugs.webkit.org/show_bug.cgi?id=195132
-        <rdar://problem/48457817>
-
-        Reviewed by Devin Rousso.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Base/LoadLocalizedStrings.js:
-        (WI.UIString):
-        (WI.repeatedUIString.timelineRecordLayout):
-        (WI.repeatedUIString.timelineRecordPaint):
-        (WI.repeatedUIString.timelineRecordComposite):
-        (WI.repeatedUIString.allExceptions):
-        (WI.repeatedUIString.uncaughtExceptions):
-        (WI.repeatedUIString.assertionFailures):
-        (WI.repeatedUIString.allRequests):
-        (WI.repeatedUIString.fetch):
-        (WI.repeatedUIString.revealInDOMTree):
-        * UserInterface/Models/LayoutTimelineRecord.js:
-        (WI.LayoutTimelineRecord.displayNameForEventType):
-        * UserInterface/Models/RenderingFrameTimelineRecord.js:
-        (WI.RenderingFrameTimelineRecord.displayNameForTaskType):
-        * UserInterface/Models/Resource.js:
-        (WI.Resource.displayNameForType):
-        * UserInterface/Views/AuditTestGroupContentView.js:
-        (WI.AuditTestGroupContentView.prototype.layout):
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView.displayNameForSampleType):
         * UserInterface/Views/ContextMenuUtilities.js:
-        * UserInterface/Views/DOMBreakpointTreeElement.js:
-        (WI.DOMBreakpointTreeElement.displayNameForType):
-        * UserInterface/Views/DOMNodeTreeElement.js:
-        (WI.DOMNodeTreeElement.prototype.populateContextMenu):
-        (WI.DOMNodeTreeElement):
-        * UserInterface/Views/DOMTreeElement.js:
-        (WI.DOMTreeElement.prototype.populateDOMNodeContextMenu):
+        (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.prototype._addBreakpoint):
-        (WI.DebuggerSidebarPanel.prototype._handleCreateBreakpointMouseDown):
         (WI.DebuggerSidebarPanel):
-        * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
-        (WI.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection):
-        * UserInterface/Views/NetworkTableContentView.js:
-        (WI.NetworkTableContentView.shortDisplayNameForResourceType):
-        (WI.NetworkTableContentView.prototype.initialLayout):
+        (WI.DebuggerSidebarPanel.prototype._populateCreateBreakpointContextMenu): Added.
+        (WI.DebuggerSidebarPanel.prototype._handleCreateBreakpointMouseDown): Deleted.
         * UserInterface/Views/SourcesNavigationSidebarPanel.js:
-        (WI.SourcesNavigationSidebarPanel.prototype._addBreakpoint):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleCreateBreakpointMouseDown):
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
-        (WI.SpreadsheetCSSStyleDeclarationSection.prototype._renderSelector):
-        * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
-        (WI.SpreadsheetRulesStyleDetailsPanel.prototype.layout):
-
-2019-05-24  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Overlay: don't show setting for showing rulers/guides during element selection if it's not supported
-        https://bugs.webkit.org/show_bug.cgi?id=198221
-
-        Reviewed by Joseph Pecoraro.
+        (WI.SourcesNavigationSidebarPanel):
+        (WI.SourcesNavigationSidebarPanel.prototype._populateResourceGroupingModeContextMenu): Added.
+        (WI.SourcesNavigationSidebarPanel.prototype._populateCreateBreakpointContextMenu): Added.
+        (WI.SourcesNavigationSidebarPanel.prototype._handleResourceGroupingModeMouseDown): Deleted.
+        (WI.SourcesNavigationSidebarPanel.prototype._handleCreateBreakpointMouseDown): Deleted.
 
-        * UserInterface/Views/SettingsTabContentView.js:
-        (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
+        * 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-05-23  Devin Rousso  <drousso@apple.com>
+2019-07-24  Devin Rousso  <drousso@apple.com>
 
-        Web Inspector: prevent stripping `console.assert` if it's used inside a string
-        https://bugs.webkit.org/show_bug.cgi?id=198207
+        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.
 
-        * Scripts/remove-console-asserts.pl:
-        (removeConsoleAssertsInFile):
-
-2019-05-23  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Overlay: rulers/guides should be shown whenever element selection is enabled
-        https://bugs.webkit.org/show_bug.cgi?id=198088
-
-        Reviewed by Timothy Hatcher.
-
-        When trying to "measure" the absolute position (to the viewport) or relative position (to
-        another element) of a given element, often the easiest way is to enable Element Selection
-        and Show Rulers at the same time.
-
-        This can have the undesired "side-effect" of having the rulers be always present, even when
-        not highlighting any nodes.
-
-        The ideal functionality is to allow the rulers/guides to be shown when element selection is
-        active and a node is hovered, regardless of whether "Show Rulers" is enabled.
-
-        * UserInterface/Base/Setting.js:
-        * UserInterface/Views/SettingsTabContentView.js:
-        (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
-        Add a setting for controlling whether rulers/guides are shown during element selection.
-
-        * UserInterface/Controllers/DOMManager.js:
-        (WI.DOMManager.prototype.set inspectModeEnabled):
-        Pass the setting value as an optional parameter when calling `DOM.setInspectModeEnabled`.
+        * 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-05-23  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r245665.
-        https://bugs.webkit.org/show_bug.cgi?id=198203
+2019-07-23  Nikita Vasilyev  <nvasilyev@apple.com>
 
-        Inspector appears blank, again. (Requested by NVI on #webkit).
-
-        Reverted changeset:
-
-        "Web Inspector: Provide UIString descriptions to improve
-        localizations"
-        https://bugs.webkit.org/show_bug.cgi?id=195132
-        https://trac.webkit.org/changeset/245665
-
-2019-05-23  Matt Baker  <mattbaker@apple.com>
-
-        Web Inspector: Remove unused CSS class "offset-sections"
-        https://bugs.webkit.org/show_bug.cgi?id=198194
-        <rdar://problem/51080111>
+        Web Inspector: Styles: Command-X should cut selected properties
+        https://bugs.webkit.org/show_bug.cgi?id=199341
 
         Reviewed by Devin Rousso.
 
-        * UserInterface/Views/DebuggerSidebarPanel.js:
-        * UserInterface/Views/StyleDetailsPanel.js:
-        (WI.StyleDetailsPanel):
-
-2019-05-23  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: clicking a source link should never open the Network tab
-        https://bugs.webkit.org/show_bug.cgi?id=197951
-
-        Reviewed by Timothy Hatcher.
-
-        The preview panel in the Network tab is really meant to be just that; a preview.
-
-        Opening resources in the preview panel is not a great experience, as the Network tab doesn't
-        have as much of the information one would expect when viewing a resource (namely the
-        Resource details sidebar panel).
-
-        Navigating within the Network tab also completely wipes out the current "state" of what
-        you're looking at (e.g. which panel), which could be unexpected.
-
-        The only way this could happen previously was if the Resources/Debugger/Sources tabs had
-        never been active at any point in the past. Selecting one of those tabs and then clicking on
-        an initiator link in the Network tab would re-select that other tab.
-
-        * UserInterface/Base/Main.js:
-        (WI.dialogWasDismissedWithRepresentedObject):
-
-        * UserInterface/Views/ResourceHeadersContentView.js:
-        (WI.ResourceHeadersContentView.prototype._refreshSummarySection):
+        Implement cutting of selected CSS properties in the style editor.
+        Unify cutting and copying logic wherever possible.
 
-2019-05-22  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Provide UIString descriptions to improve localizations
-        https://bugs.webkit.org/show_bug.cgi?id=195132
-        <rdar://problem/48457817>
-
-        Reviewed by Devin Rousso.
+        * 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.
 
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Base/LoadLocalizedStrings.js:
-        (WI.UIString):
-        (WI.repeatedUIString.timelineRecordLayout):
-        (WI.repeatedUIString.timelineRecordPaint):
-        (WI.repeatedUIString.timelineRecordComposite):
-        (WI.repeatedUIString.allExceptions):
-        (WI.repeatedUIString.uncaughtExceptions):
-        (WI.repeatedUIString.assertionFailures):
-        (WI.repeatedUIString.allRequests):
-        (WI.repeatedUIString.fetch):
-        (WI.repeatedUIString.revealInDOMTree):
-        * UserInterface/Models/LayoutTimelineRecord.js:
-        (WI.LayoutTimelineRecord.displayNameForEventType):
-        * UserInterface/Models/RenderingFrameTimelineRecord.js:
-        (WI.RenderingFrameTimelineRecord.displayNameForTaskType):
-        * UserInterface/Models/Resource.js:
-        (WI.Resource.displayNameForType):
-        * UserInterface/Views/AuditTestGroupContentView.js:
-        (WI.AuditTestGroupContentView.prototype.layout):
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView.displayNameForSampleType):
-        * UserInterface/Views/ContextMenuUtilities.js:
-        * UserInterface/Views/DOMBreakpointTreeElement.js:
-        (WI.DOMBreakpointTreeElement.displayNameForType):
-        * UserInterface/Views/DOMNodeTreeElement.js:
-        (WI.DOMNodeTreeElement.prototype.populateContextMenu):
-        (WI.DOMNodeTreeElement):
-        * UserInterface/Views/DOMTreeElement.js:
-        (WI.DOMTreeElement.prototype.populateDOMNodeContextMenu):
-        * UserInterface/Views/DebuggerSidebarPanel.js:
-        (WI.DebuggerSidebarPanel.prototype._addBreakpoint):
-        (WI.DebuggerSidebarPanel.prototype._handleCreateBreakpointMouseDown):
-        (WI.DebuggerSidebarPanel):
-        * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
-        (WI.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection):
-        * UserInterface/Views/NetworkTableContentView.js:
-        (WI.NetworkTableContentView.shortDisplayNameForResourceType):
-        (WI.NetworkTableContentView.prototype.initialLayout):
-        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
-        (WI.SourcesNavigationSidebarPanel.prototype._addBreakpoint):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleCreateBreakpointMouseDown):
+        (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._renderSelector):
-        * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
-        (WI.SpreadsheetRulesStyleDetailsPanel.prototype.layout):
-
-2019-05-22  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: provide a debug setting button to reset all settings for easier testing/presentation
-        https://bugs.webkit.org/show_bug.cgi?id=195777
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Base/Setting.js:
-        (WI.Setting.reset): Added.
-
-        * UserInterface/Views/SettingsTabContentView.js:
-        (WI.SettingsTabContentView.prototype._createDebugSettingsView):
+        (WI.SpreadsheetCSSStyleDeclarationSection.prototype._stopSelection):
+        * UserInterface/Views/SpreadsheetStyleProperty.js:
+        Remove old copying logic.
 
-2019-05-20  Devin Rousso  <drousso@apple.com>
+2019-07-23  Nikita Vasilyev  <nvasilyev@apple.com>
 
-        Web Inspector: Storage tab crashes easily when adding new local/session storage entries.
-        https://bugs.webkit.org/show_bug.cgi?id=198004
+        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 Ross Kirsling.
+        Reviewed by Devin Rousso.
 
-        * UserInterface/Views/DataGrid.js:
-        (WI.DataGrid.prototype._startEditingNodeAtColumnIndex):
-        Force a layout in the case that a new `PlaceholderDataGridNode` was added to the end of the
-        `DataGrid` as part of the `editCallback`. Web Inspector won't crash without this, but it
-        won't properly select/focus the next row when tabbing from the last column to the next row.
+        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.
 
-        (WI.DataGrid.prototype._editingCommitted):
-        Save the new value of the column before removing the editing styles, as that refreshes the
-        `DataGridNode`. If the new value isn't saved, the old value is used during the refresh.
+        * 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):
 
-        (WI.DataGrid.prototype._keyDown):
-        Drive-by: use `get element` instead of using the member variable directly, as the underlying
-        value might not have been initialized yet.
+        * 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-05-19  Nikita Vasilyev  <nvasilyev@apple.com>
+2019-07-22  Devin Rousso  <drousso@apple.com>
 
-        Web Inspector: Decrease spacing before and after tooltip paragraphs
-        https://bugs.webkit.org/show_bug.cgi?id=198024
+        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.
 
-        * UserInterface/Views/Popover.css:
-        (.popover p): Added.
-        (.popover p + p): Added.
+        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`.
 
-2019-05-17  Devin Rousso  <drousso@apple.com>
+        Since we iterate over `WI.targets` in both `WI.DebuggerManager.prototype._setBreakpoint` and
+        `WI.DebuggerManager.prototype._removeBreakpoint`, we ended up iterating `WI.targets` twice.
 
-        Web Inspector: Timelines: CPU/memory timeline bars sometimes don't draw correctly and jump around on scrolling
-        https://bugs.webkit.org/show_bug.cgi?id=197440
-        <rdar://problem/46886315>
+        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).
 
-        Reviewed by Joseph Pecoraro.
-
-        When drawing the Memory/CPU graphs, we need to know about the record immediately before/after
-        what's overlapping the visible range so that the graph correctly slopes off the screen.
-
-        * UserInterface/Models/Timeline.js:
-        (WI.Timeline.prototype.recordsInTimeRange):
-        (WI.Timeline.prototype.recordsOverlappingTimeRange): Deleted.
-        Merge `recordsOverlappingTimeRange` into `recordsInTimeRange` by accepting an options object
-        that determines whether to include the record before/after the first/last record that are
-        at all overlapping the range.
+        * UserInterface/Controllers/DebuggerManager.js:
+        (WI.DebuggerManager.prototype.addBreakpoint):
+        (WI.DebuggerManager.prototype._removeBreakpoint.didRemoveBreakpoint):
+        (WI.DebuggerManager.prototype._breakpointDisplayLocationDidChange):
+        (WI.DebuggerManager.prototype._breakpointEditablePropertyDidChange):
 
-        * UserInterface/Models/CPUTimelineRecord.js:
-        (WI.CPUTimelineRecord):
-        (WI.CPUTimelineRecord.get samplingRatePerSecond): Added.
-        (WI.CPUTimelineRecord.prototype.adjustStartTimeToLastRecord): Added.
-        * UserInterface/Models/MemoryTimelineRecord.js:
-        (WI.MemoryTimelineRecord):
-        (WI.MemoryTimelineRecord.get samplingRatePerSecond): Added.
-        (WI.MemoryTimelineRecord.prototype.adjustStartTimeToLastRecord): Added.
-        Adjust the `startTime` of the record by the sampling rate (which is 500ms).
+2019-07-22  Devin Rousso  <drousso@apple.com>
 
-        * UserInterface/Models/CPUTimeline.js: Added.
-        (WI.CPUTimeline.prototype.addRecord):
-        * UserInterface/Models/MemoryTimeline.js:
-        (WI.MemoryTimeline.prototype.addRecord): Added.
-        Adjust the `startTime` of the new record to be equal to the `endTime` of the last record.
+        Localization: change fps to FPS
+        <rdar://problem/53342508>
 
-        * UserInterface/Views/TimelineOverview.js:
-        (WI.TimelineOverview.prototype._recordSelected):
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView.prototype.layout):
-        (WI.CPUTimelineView.prototype._computeStatisticsData):
-        (WI.CPUTimelineView.prototype._attemptSelectIndicatatorTimelineRecord):
-        * UserInterface/Views/CPUTimelineOverviewGraph.js:
-        (WI.CPUTimelineOverviewGraph.prototype.layout):
-        (WI.CPUTimelineOverviewGraph.prototype._handleChartClick):
-        (WI.CPUTimelineOverviewGraph.prototype.get samplingRatePerSecond): Deleted.
-        (WI.CPUTimelineOverviewGraph.prototype.layout.yScaleForRecord): Deleted.
+        Rubber-stamped by Joseph Pecoraro.
 
-        * UserInterface/Views/MemoryTimelineView.js:
-        (WI.MemoryTimelineView.prototype.layout):
-        * UserInterface/Views/MemoryTimelineOverviewGraph.js:
-        (WI.MemoryTimelineOverviewGraph.prototype.layout):
+        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.js:
+        (WI.RenderingFrameTimelineOverviewGraph.prototype._updateDividers.createDividerAtPosition):
 
-        * UserInterface/Main.html:
-        * UserInterface/Test.html:
+        * Localizations/en.lproj/localizedStrings.js:
 
-2019-05-17  Devin Rousso  <drousso@apple.com>
+2019-07-19  Devin Rousso  <drousso@apple.com>
 
-        Web Inspector: Audit: make it easier to jump to any returned DOM node in the Elements tab
-        https://bugs.webkit.org/show_bug.cgi?id=197470
-        <rdar://problem/50466774>
+        Web Inspector: Issues toggling multiple breakpoints on one line
+        https://bugs.webkit.org/show_bug.cgi?id=199918
 
         Reviewed by Joseph Pecoraro.
 
-        Right now, the only way to jump to the Elements tab for any DOM nodes returned by an audit
-        is to context menu and "Reveal in DOM Tree". Providing a more visible/discoverable way to
-        jump to the Elements tab will help developers diagnose issues easier.
-
-        * UserInterface/Views/AuditTestCaseContentView.js:
-        (WI.AuditTestCaseContentView.prototype.layout):
-        * UserInterface/Views/AuditTestCaseContentView.css:
-        (.content-view.audit-test-case > section table):
-
-        * UserInterface/Views/DOMTreeElement.js:
-        (WI.DOMTreeElement):
-        (WI.DOMTreeElement.prototype.set showGoToArrow): Added.
-        (WI.DOMTreeElement.prototype._buildTagDOM):
-        (WI.DOMTreeElement.prototype._nodeTitleInfo):
-        Provide a way to insert a go-to arrow right after the:
-         - open tag, if the close tag is rendered on a separate line
-         - close tag, if the close tag is rendered on the same line
-
-        * UserInterface/Views/DOMTreeOutline.js:
-        (WI.DOMTreeOutline):
-        Allow `DOMTreeOutline` to be non-selectable.
-
-        * UserInterface/Views/DOMTreeOutline.css:
-        (.tree-outline.dom:not(.non-selectable):focus li:matches(.selected, .hovered) .selection-area): Added.
-        (.tree-outline.dom:not(.non-selectable) li.hovered:not(.selected) .selection-area): Added.
-        (.tree-outline.dom li .html-tag ~ .go-to-arrow): Added.
-        (.tree-outline.dom li:not(.hovered) .html-tag ~ .go-to-arrow): Added.
-        (.tree-outline.dom:focus li:matches(.selected, .hovered) .selection-area): Deleted.
-        (.tree-outline.dom li.hovered:not(.selected) .selection-area): Deleted.
-        Ensure that hovering a non-selectable node doesn't change the background color.
-
-2019-05-17  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Elements: context menu items in DOM tree should work when not clicking directly on the node representation
-        https://bugs.webkit.org/show_bug.cgi?id=197541
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/DOMTreeElement.js:
-        (WI.DOMTreeElement.prototype.populateDOMNodeContextMenu): Added.
-        (WI.DOMTreeElement.prototype._populateTagContextMenu): Deleted.
-        (WI.DOMTreeElement.prototype._populateTextContextMenu): Deleted.
-        (WI.DOMTreeElement.prototype._populateNodeContextMenu): Deleted.
-        * UserInterface/Views/DOMTreeOutline.js:
-        (WI.DOMTreeOutline.prototype.populateContextMenu):
-        * UserInterface/Views/ContextMenuUtilities.js:
-        (WI.appendContextMenuItemsForDOMNode):
-
-2019-05-17  Joonghun Park  <pjh0718@gmail.com>
-
-        Implement CSS `display: flow-root` (modern clearfix)
-        https://bugs.webkit.org/show_bug.cgi?id=165603
-
-        Reviewed by Zalan Bujtas.
-
-        This change follows https://drafts.csswg.org/css-display-3/#valdef-display-flow-root as below.
-
-        'display: flow-root' generates a block container box, and lays out its contents using flow layout.
-        It always establishes a new block formatting context for its contents.
-
-        * UserInterface/External/CodeMirror/css.js:
-
-2019-05-17  Ross Kirsling  <ross.kirsling@sony.com>
-
-        REGRESSION(r244350): Web Inspector: Storage tab data grids aren't editable.
-        https://bugs.webkit.org/show_bug.cgi?id=198003
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/DOMStorageContentView.js:
-        (WI.DOMStorageContentView):
-        Fix typo.
+        * 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-05-17  Jamal Nasser  <jamaln@mail.com>
+2019-07-17  Olivier Blin  <olivier.blin@softathome.com>
 
-        Web Inspector: Dark Mode: Fix colors in network table waterfall container
-        https://bugs.webkit.org/show_bug.cgi?id=197955
+        Web Inspector: application/xml content not shown
+        https://bugs.webkit.org/show_bug.cgi?id=199861
 
         Reviewed by Devin Rousso.
 
-        * UserInterface/Views/NetworkTableContentView.css:
-        (.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-event):
-        (.network-table :not(.header) .cell.waterfall .waterfall-container > .dom-activity):
-        (.network-table :not(.header) .cell.waterfall .waterfall-container > .area.dom-fullscreen):
+        application/xml content from XHR requests was not shown in the
+        inspector, an error message was displayed instead.
 
-2019-05-09  Devin Rousso  <drousso@apple.com>
+        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.
 
-        Web Inspector: Uncaught Exception: null is not an object (evaluating 'resource.parentFrame.securityOrigin')
-        https://bugs.webkit.org/show_bug.cgi?id=196572
-        <rdar://problem/49578338>
+        * UserInterface/Base/MIMETypeUtilities.js:
+        (WI.fileExtensionForMIMEType):
+        Report "xml" extension for "application/xml" mimetype.
+        (WI.shouldTreatMIMETypeAsText):
+        Treat XML files as text.
 
-        Reviewed by Timothy Hatcher.
+2019-07-16  Nikita Vasilyev  <nvasilyev@apple.com>
 
-        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
-        (WI.SourcesNavigationSidebarPanel.prototype._addResource):
+        Web Inspector: Changes panel should be strictly LTR
+        https://bugs.webkit.org/show_bug.cgi?id=199767
 
-2019-05-09  Devin Rousso  <drousso@apple.com>
+        Reviewed by Joseph Pecoraro.
 
-        Web Inspector: REGRESSION: unable to expand/collapse non-selectable WI.TreeOutline
-        https://bugs.webkit.org/show_bug.cgi?id=197591
+        Changes panel is primarily CSS code and CSS is strictly LTR.
 
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/TreeElement.js:
-        (WI.TreeElement.treeElementToggled):
-
-2019-05-09  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Uncaught Exception: null is not an object (evaluating 'url.startsWith')
-        https://bugs.webkit.org/show_bug.cgi?id=196662
-        <rdar://problem/49659633>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/ConsoleMessageView.js:
-        (WI.ConsoleMessageView.prototype._appendLocationLink):
-        (WI.ConsoleMessageView.prototype._linkifyLocation): Deleted.
-
-        * UserInterface/Base/Main.js:
-        (WI.linkifyLocation):
-        (WI.linkifySourceCode): Added.
-        Split the logic into two functions, as there's no need to re-fetch the `SourceCode` from a
-        given url if you already have the `SourceCode` in the caller.
-
-2019-05-08  Ryan Haddad  <ryanhaddad@apple.com>
-
-        Unreviewed, rolling out r244952.
-
-        Caused inspector to appear blank.
-
-        Reverted changeset:
-
-        "Web Inspector: Provide UIString descriptions to improve
-        localizations"
-        https://bugs.webkit.org/show_bug.cgi?id=195132
-        https://trac.webkit.org/changeset/244952
-
-2019-05-04  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Provide UIString descriptions to improve localizations
-        https://bugs.webkit.org/show_bug.cgi?id=195132
-        <rdar://problem/48457817>
-
-        Reviewed by Devin Rousso.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Base/LoadLocalizedStrings.js:
-        (WI.UIString):
-        (WI.repeatedUIString.timelineRecordLayout):
-        (WI.repeatedUIString.timelineRecordPaint):
-        (WI.repeatedUIString.timelineRecordComposite):
-        (WI.repeatedUIString.allExceptions):
-        (WI.repeatedUIString.uncaughtExceptions):
-        (WI.repeatedUIString.assertionFailures):
-        (WI.repeatedUIString.allRequests):
-        (WI.repeatedUIString.fetch):
-        (WI.repeatedUIString.revealInDOMTree):
-        * UserInterface/Models/LayoutTimelineRecord.js:
-        (WI.LayoutTimelineRecord.displayNameForEventType):
-        * UserInterface/Models/RenderingFrameTimelineRecord.js:
-        (WI.RenderingFrameTimelineRecord.displayNameForTaskType):
-        * UserInterface/Models/Resource.js:
-        (WI.Resource.displayNameForType):
-        * UserInterface/Views/AuditTestGroupContentView.js:
-        (WI.AuditTestGroupContentView.prototype.layout):
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView.displayNameForSampleType):
-        * UserInterface/Views/ContextMenuUtilities.js:
-        * UserInterface/Views/DOMBreakpointTreeElement.js:
-        (WI.DOMBreakpointTreeElement.displayNameForType):
-        * UserInterface/Views/DOMNodeTreeElement.js:
-        (WI.DOMNodeTreeElement.prototype.populateContextMenu):
-        (WI.DOMNodeTreeElement):
-        * UserInterface/Views/DOMTreeElement.js:
-        (WI.DOMTreeElement.prototype._populateTagContextMenu):
-        (WI.DOMTreeElement.prototype._populateNodeContextMenu):
-        * UserInterface/Views/DebuggerSidebarPanel.js:
-        (WI.DebuggerSidebarPanel.prototype._addBreakpoint):
-        (WI.DebuggerSidebarPanel.prototype._handleCreateBreakpointMouseDown):
-        (WI.DebuggerSidebarPanel):
-        * UserInterface/Views/LayerTreeDetailsSidebarPanel.js:
-        (WI.LayerTreeDetailsSidebarPanel.prototype._buildDataGridSection):
-        * UserInterface/Views/NetworkTableContentView.js:
-        (WI.NetworkTableContentView.shortDisplayNameForResourceType):
-        (WI.NetworkTableContentView.prototype.initialLayout):
-        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
-        (WI.SourcesNavigationSidebarPanel.prototype._addBreakpoint):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleCreateBreakpointMouseDown):
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
-        (WI.SpreadsheetCSSStyleDeclarationSection.prototype._renderSelector):
-        * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
-        (WI.SpreadsheetRulesStyleDetailsPanel.prototype.layout):
-
-2019-05-04  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Styles: use the same green color for modified properties as in Changes panel
-        https://bugs.webkit.org/show_bug.cgi?id=197538
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/ChangesDetailsSidebarPanel.css:
-        (.changes-panel .css-property-line.added):
-        (.changes-panel .css-property-line.removed):
-        (.changes-panel .css-property-line.added::before):
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
-        (.spreadsheet-style-declaration-editor .property.modified):
-        (.spreadsheet-style-declaration-editor .property.modified:not(.selected)):
-        (@media (prefers-color-scheme: dark)):
-        * UserInterface/Views/Variables.css:
-        (:root):
-        (@media (prefers-color-scheme: dark)):
-
-2019-05-03  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: DOM: dragging a node to the console should log the node
-        https://bugs.webkit.org/show_bug.cgi?id=197330
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/DOMTreeOutline.js:
-        (WI.DOMTreeOutline.prototype._ondragstart):
-        * UserInterface/Views/LogContentView.js:
-        (WI.LogContentView):
-        (WI.LogContentView.prototype._handleDragOver): Added.
-        (WI.LogContentView.prototype._handleDrop): Added.
-        * UserInterface/Views/QuickConsole.js:
-        (WI.QuickConsole):
-        (WI.QuickConsole.prototype._handleDragOver): Added.
-        (WI.QuickConsole.prototype._handleDrop): Added.
-
-        * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
-        Drive-by: update the format to be more unique.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-05-03  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: DOM: rename "low power" to "display composited"
-        https://bugs.webkit.org/show_bug.cgi?id=197296
-
-        Reviewed by Joseph Pecoraro.
-
-        Removed specific ChangeLog entries since it is almost entirely mechanical changes.
-
-        * UserInterface/Protocol/DOMObserver.js:
-        * UserInterface/Controllers/DOMManager.js:
-        * UserInterface/Controllers/TimelineManager.js:
-        * UserInterface/Models/DOMNode.js:
-        * UserInterface/Models/MediaInstrument.js:
-        * UserInterface/Models/MediaTimelineRecord.js:
-        * UserInterface/Models/TimelineRecording.js:
-        * UserInterface/Views/DOMEventsBreakdownView.js:
-        * UserInterface/Views/DOMEventsBreakdownView.css:
-        * UserInterface/Views/NetworkTableContentView.js:
-        * UserInterface/Views/NetworkTableContentView.css:
-        * UserInterface/Views/TimelineIcons.css:
-        * UserInterface/Views/TimelineTabContentView.js:
-        * UserInterface/Images/PowerEfficientPlaybackStateChanged.svg: Added.
-        * UserInterface/Images/LowPower.svg: Removed.
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-05-03  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Record actions performed on WebGL2RenderingContext
-        https://bugs.webkit.org/show_bug.cgi?id=176008
-        <rdar://problem/34213884>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Models/Recording.js:
-        (WI.Recording.fromPayload):
-        (WI.Recording.displayNameForSwizzleType):
-        (WI.Recording.prototype.async swizzle):
-        (WI.Recording.prototype.createContext):
-
-        * UserInterface/Models/RecordingAction.js:
-        (WI.RecordingAction.constantNameForParameter):
-        (WI.RecordingAction._prototypeForType):
-        (WI.RecordingAction.prototype.async swizzle):
-        Treat all actions with a snapshot as being a "visible" action.
-
-        * UserInterface/Views/CanvasTabContentView.css:
-        (.content-view.tab.canvas .navigation-bar > .item .canvas:matches(.webgl, .webgl2, .webgpu, .webmetal) .icon): Added.
-        (.content-view.tab.canvas .navigation-bar > .item .canvas.webgl): Deleted.
-        * UserInterface/Views/CanvasContentView.js:
-        (WI.CanvasContentView.prototype.initialLayout):
-        * UserInterface/Views/CanvasSidebarPanel.js:
-        (WI.CanvasSidebarPanel.prototype.shown):
-        (WI.CanvasSidebarPanel.prototype._canvasChanged):
-        (WI.CanvasSidebarPanel.prototype._updateRecordNavigationItem):
-
-        * UserInterface/Views/RecordingContentView.js:
-        (WI.RecordingContentView):
-        (WI.RecordingContentView.prototype.get navigationItems):
-        (WI.RecordingContentView.prototype.shown):
-        (WI.RecordingContentView.prototype.initialLayout):
-        * UserInterface/Views/RecordingActionTreeElement.js:
-        (WI.RecordingActionTreeElement._generateDOM.createParameterElement):
-
-2019-05-02  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Dark Mode: borders between section should be lighter than background
-        https://bugs.webkit.org/show_bug.cgi?id=197551
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/DetailsSection.css:
-        (.details-section .details-section):
-
-2019-04-29  Alex Christensen  <achristensen@webkit.org>
-
-        <rdar://problem/50299396> Fix internal High Sierra build
-        https://bugs.webkit.org/show_bug.cgi?id=197388
-
-        * Configurations/Base.xcconfig:
-
-2019-04-26  Jessie Berlin  <jberlin@webkit.org>
-
-        Add new mac target numbers
-        https://bugs.webkit.org/show_bug.cgi?id=197313
-
-        Reviewed by Alex Christensen.
-
-        * Configurations/Version.xcconfig:
-
-2019-04-25  Alex Christensen  <achristensen@webkit.org>
-
-        Start using C++17
-        https://bugs.webkit.org/show_bug.cgi?id=197131
-
-        Reviewed by Darin Adler.
-
-        * Configurations/Base.xcconfig:
-
-2019-04-24  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Styles: don't start property selection when pressing right mouse button
-        https://bugs.webkit.org/show_bug.cgi?id=197242
-        <rdar://problem/50180380>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
-        (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
-
-2019-04-24  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Network: importing a HAR with an active detail view shows no content
-        https://bugs.webkit.org/show_bug.cgi?id=197223
-
-        Reviewed by Timothy Hatcher.
-
-        When hiding the detail view, we force a `layout` of the Network table, which causes the
-        cached row count to be set to `0`, which prevents the `reloadDataAddedToEndOnly` from
-        rendering anything since the `WI.Table` thinks it has no rows.
-
-        Given that all of the users of `WI.Table` are backed by an array, we don't need to cache the
-        number of rows since `.length` is an extremely cheap operation. In turn, this guarantees
-        that we are always rendering with an accurate value.
-
-        * UserInterface/Views/Table.js:
-        (WI.Table):
-        (WI.Table.prototype.get numberOfRows):
-        (WI.Table.prototype.reloadData):
-        (WI.Table.prototype._removeRows):
-
-2019-04-23  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: REGRESSION(r238168): Network: preserve log doesn't show main frame main resource changes
-        https://bugs.webkit.org/show_bug.cgi?id=197220
-        <rdar://problem/49960464>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/NetworkTableContentView.js:
-        (WI.NetworkTableContentView.prototype.reset):
-        (WI.NetworkTableContentView.prototype._addCollection):
-        (WI.NetworkTableContentView.prototype._resetCollection): Added.
-        (WI.NetworkTableContentView.prototype._changeCollection):
-        (WI.NetworkTableContentView.prototype._mainResourceDidChange):
-        We want to add the frame's main resource in the case that it's the main frame, but we also
-        want to clear the main collection of data (e.g. if viewing an imported HAR).
-        Drive-by: `_groupByDOMNodeNavigationItem` was renamed in a previous patch.
-
-2019-04-23  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Network: support drag/drop for importing
-        https://bugs.webkit.org/show_bug.cgi?id=197221
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/NetworkTabContentView.js:
-        (WI.NetworkTabContentView.prototype.async.handleFileDrop): Added.
-        * UserInterface/Views/NetworkTableContentView.js:
-        (WI.NetworkTableContentView.prototype.processHAR): Added.
-        (WI.NetworkTableContentView.prototype._importHAR):
-
-        * UserInterface/Base/FileUtilities.js:
-        (WI.FileUtilities.async readText):
-        Only `await` if the result is a `Promise`.
-
-2019-04-23  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Uncaught Exception: null is not an object (evaluating 'this.ownerDocument.frameIdentifier')
-        https://bugs.webkit.org/show_bug.cgi?id=196420
-        <rdar://problem/49444205>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Models/DOMNode.js:
-        (WI.DOMNode):
-        (WI.DOMNode.prototype.get frame): Added.
-        (WI.DOMNode.prototype.get frameIdentifier): Deleted.
-        Modify the existing `frameId` to represent the owner frame of the node, rather than the
-        frame it holds (in the case of an `<iframe>`).
-
-        * UserInterface/Controllers/DOMDebuggerManager.js:
-        (WI.DOMDebuggerManager.prototype.domBreakpointsForNode):
-        (WI.DOMDebuggerManager.prototype._detachDOMBreakpoint):
-        (WI.DOMDebuggerManager.prototype._resolveDOMBreakpoint):
-        (WI.DOMDebuggerManager.prototype._nodeInserted):
-        (WI.DOMDebuggerManager.prototype._nodeRemoved):
-        * UserInterface/Views/DOMTreeElement.js:
-        (WI.DOMTreeElement.prototype._populateTagContextMenu):
-        (WI.DOMTreeElement.prototype._buildAttributeDOM):
-        * UserInterface/Views/QuickConsole.js:
-        (WI.QuickConsole.prototype._selectExecutionContext):
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
-        (WI.SpreadsheetCSSStyleDeclarationSection.prototype._highlightNodesWithSelector):
-
-2019-04-23  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Canvas: no obvious way of switching to the overview when viewing an imported recording
-        https://bugs.webkit.org/show_bug.cgi?id=197178
-        <rdar://problem/50106641>
-
-        Reviewed by Timothy Hatcher.
-
-        Expand the idea of "imported" recordings to include "saved" recordings, ones whose
-        underlying <canvas> was destroyed.
-
-        * UserInterface/Views/CanvasTabContentView.js:
-        (WI.CanvasTabContentView):
-        (WI.CanvasTabContentView.prototype.attached):
-        (WI.CanvasTabContentView.prototype._removeCanvas):
-        (WI.CanvasTabContentView.prototype._addRecording):
-        (WI.CanvasTabContentView.prototype._handleRecordingSavedOrStopped): Added.
-        (WI.CanvasTabContentView.prototype.initialLayout): Deleted.
-        (WI.CanvasTabContentView.prototype._recordingImportedOrStopped): Deleted.
-        Make the "Saved Recordings" folder a child of the "Overview" so that the "Overview" path
-        component is always visible/clickable.
-
-        * UserInterface/Views/CanvasOverviewContentView.js:
-        (WI.CanvasOverviewContentView):
-        (WI.CanvasOverviewContentView.prototype.contentViewAdded):
-        (WI.CanvasOverviewContentView.prototype.attached):
-        (WI.CanvasOverviewContentView.prototype.detached):
-        (WI.CanvasOverviewContentView.prototype._addSavedRecording): Added.
-        (WI.CanvasOverviewContentView.prototype._handleRecordingSaved): Added.
-        (WI.CanvasOverviewContentView.prototype._handleSavedRecordingClicked): Added.
-        * UserInterface/Views/CanvasOverviewContentView.css:
-        (.content-view.canvas-overview .content-view.canvas.saved-recordings): Added.
-        (.content-view.canvas-overview .content-view.canvas.saved-recordings .tree-outline): Added.
-        (.content-view.canvas-overview .content-view.canvas.saved-recordings .tree-outline > .item.recording > .icon): Added.
-        Add a card for "Saved Recordings" that mimics the style of regular canvas cards.
-
-        * UserInterface/Controllers/CanvasManager.js:
-        (WI.CanvasManager):
-        (WI.CanvasManager.prototype.get savedRecordings): Added.
-        (WI.CanvasManager.prototype.async processJSON):
-        (WI.CanvasManager.prototype.disable):
-        (WI.CanvasManager.prototype._removeCanvas):
-        (WI.CanvasManager.prototype.get importedRecordings): Deleted.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-04-22  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: REGRESSION: Sources: auto-continue breakpoint triangle is incorrectly positioned
-        https://bugs.webkit.org/show_bug.cgi?id=197179
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/BreakpointTreeElement.css:
-        (.item.breakpoint .status): Added.
-        (.item.breakpoint .status > .status-image.auto-continue::after):
-
-2019-04-19  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Timelines: CPU: remove extra border under last section
-        https://bugs.webkit.org/show_bug.cgi?id=197120
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/CPUTimelineView.css:
-        (.timeline-view.cpu > .content > .overview):
-        (.timeline-view.cpu > .content > .overview:not(:last-child)): Added.
-
-2019-04-19  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Timelines: adjust default Media timeline column widths
-        https://bugs.webkit.org/show_bug.cgi?id=197114
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/MediaTimelineView.js:
-        (WI.MediaTimelineView):
-
-2019-04-18  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: REGRESSION (r244155): pressing down expands folders in trees
-        https://bugs.webkit.org/show_bug.cgi?id=197051
-        <rdar://problem/50006414>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/TreeOutline.js:
-        (WI.TreeOutline.prototype.selectionControllerPreviousSelectableItem):
-        (WI.TreeOutline.prototype.selectionControllerNextSelectableItem):
-        Skip hidden items when traversing the tree.
-
-        * UserInterface/Views/DOMTreeOutline.js:
-        (WI.DOMTreeOutline.prototype.ondelete):
-        Reveal all items about to be deleted so that the above change won't skip any siblings.
-
-2019-04-18  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Canvas: enable WebGL2 for inspector page
-        https://bugs.webkit.org/show_bug.cgi?id=196932
-        <rdar://problem/49916213>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Models/RecordingAction.js:
-        (WI.RecordingAction._prototypeForType):
-        (WI.RecordingAction.prototype.process.getContent):
-        Add additional checks for `ImageBitmapRenderingContext` and `WebGLRenderingContext`.
-
-2019-04-17  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Navigating to resource sometimes shows different resource
-        https://bugs.webkit.org/show_bug.cgi?id=195978
-        <rdar://problem/49043191>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/NavigationSidebarPanel.js:
-        (WI.NavigationSidebarPanel.prototype.cancelRestoringState):
-        Reset _pendingViewStateCookie so _checkElementsForPendingViewStateCookie could exit early.
-
-        * UserInterface/Views/ResourceSidebarPanel.js:
-        (WI.ResourceSidebarPanel.prototype.initialLayout):
-        (WI.ResourceSidebarPanel.prototype._mainFrameMainResourceDidChange):
-        (WI.ResourceSidebarPanel.prototype._createMainFrameTreeElement):
-        Don't try to change content view on initialLayout.
-
-2019-04-17  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: CPU Usage Timeline - Include # of Network Requests in the Statistics section
-        https://bugs.webkit.org/show_bug.cgi?id=197039
-        <rdar://problem/49996299>
-
-        Reviewed by Timothy Hatcher.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView.prototype.initialLayout):
-        (WI.CPUTimelineView.prototype._computeStatisticsData):
-        (WI.CPUTimelineView.prototype._clearStatistics):
-        Add the number of network requests started in the selected range.
-
-2019-04-17  Timothy Hatcher  <timothy@apple.com>
-
-        Rename `supported-color-schemes` to `color-scheme`.
-        https://bugs.webkit.org/show_bug.cgi?id=197016
-        rdar://problem/49980259
-
-        Reviewed by Simon Fraser.
-
-        * UserInterface/Views/Main.css:
-        (:root):
-
-2019-04-17  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Canvas: imported recordings aren't processed when the navigation sidebar is collapsed
-        https://bugs.webkit.org/show_bug.cgi?id=196921
-        <rdar://problem/49910815>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/RecordingContentView.js:
-        (WI.RecordingContentView.prototype.initialLayout):
-
-2019-04-17  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Extension scripts with parse errors do not show up in Web Inspector
-        https://bugs.webkit.org/show_bug.cgi?id=196996
-        <rdar://problem/47054804>
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Controllers/DebuggerManager.js:
-        (WI.DebuggerManager.prototype.scriptDidFail):
-        Create a LocalScript that can be linked to but ignore it
-        if we already have a Resource for the URL.
-
-        * UserInterface/Protocol/DebuggerObserver.js:
-        (WI.DebuggerObserver.prototype.scriptFailedToParse):
-        Let DebuggerManager potentially create a script for this.
-
-        * UserInterface/Models/Script.js:
-        (WI.Script):
-        Local scripts provide a null id and id is not required below.
-
-2019-04-16  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Worker imported scripts not showing up in Open Quickly dialog if inspector open after workers exist
-        https://bugs.webkit.org/show_bug.cgi?id=196986
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/OpenResourceDialog.js:
-        (WI.OpenResourceDialog.prototype._addScriptsForTarget):
-        We were unnecessary skipping Scripts that do not have a sourceURL but do
-        have a URL, which ends up being Worker populated scripts.
-
-2019-04-16  Joseph Pecoraro  <pecoraro@apple.com>
-
-        REGRESSION(r238168) Web Inspector: <iframe src=...> request does not show up in Network Tab
-        https://bugs.webkit.org/show_bug.cgi?id=193505
-        <rdar://problem/47325957>
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/NetworkTableContentView.js:
-        (WI.NetworkTableContentView):
-        (WI.NetworkTableContentView.prototype._handleFrameWasAdded):
-        Handle new frames by adding the frame's main resource.
-
-2019-04-16  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Uncaught Exception: TypeError: null is not an object (evaluating 'this._contentViewContainer.currentContentView.selectionPathComponents')
-        https://bugs.webkit.org/show_bug.cgi?id=196936
-        <rdar://problem/49917789>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/HeapAllocationsTimelineView.js:
-        (WI.HeapAllocationsTimelineView.prototype.showHeapSnapshotTimelineRecord):
-        (WI.HeapAllocationsTimelineView.prototype.get navigationItems):
-        (WI.HeapAllocationsTimelineView.prototype.get selectionPathComponents):
-        Drive-by: when selecting a record, force it to be visible before selecting it, as otherwise
-        the selection events won't be fired.
-
-        * UserInterface/Views/HeapAllocationsTimelineOverviewGraph.js:
-        (WI.HeapAllocationsTimelineOverviewGraph.prototype.layout):
-        Drive-by: ensure that clicking on a [S] heap snapshot record icon actually selects the record.
-
-2019-04-16  Devin Rousso  <drousso@apple.com>
-
-        Unprefix -webkit-sticky
-        https://bugs.webkit.org/show_bug.cgi?id=196962
-        <rdar://problem/40903458>
-
-        Reviewed by Simon Fraser.
-
-        Replace all `-webkit-sticky` with `sticky`.
-
-        * UserInterface/Models/CSSKeywordCompletions.js:
-        * UserInterface/Views/AuditTestCaseContentView.css:
-        (.content-view-container > .content-view.audit-test-case > header):
-        * UserInterface/Views/AuditTestGroupContentView.css:
-        (.content-view.audit-test-group.contains-test-case > header):
-        * UserInterface/Views/ChangesDetailsSidebarPanel.css:
-        (.changes-panel .resource-section > .header):
-        * UserInterface/Views/DetailsSection.css:
-        (.details-section > .header):
-        * UserInterface/Views/NetworkDetailView.css:
-        (.network-detail .navigation-bar):
-        * UserInterface/Views/SettingsTabContentView.css:
-        (.content-view.settings .navigation-bar):
-        * UserInterface/Views/Table.css:
-        (.table > .header):
-
-2019-04-16  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: remove unused WI.DOMTreeDataGrid
-        https://bugs.webkit.org/show_bug.cgi?id=196958
-        <rdar://problem/49931383>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/DOMTreeDataGrid.css: Removed.
-        * UserInterface/Views/DOMTreeDataGrid.js: Removed.
-        * UserInterface/Views/DOMTreeDataGridNode.js: Removed.
-        * UserInterface/Main.html:
-
-2019-04-16  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Storage: values truncated in Local/Session table
-        https://bugs.webkit.org/show_bug.cgi?id=178318
-        <rdar://problem/34998581>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/DataGrid.js:
-        (WI.DataGrid):
-        (WI.DataGrid.prototype._copyTextForDataGridNode):
-        * UserInterface/Views/TimelineDataGrid.js:
-        (WI.TimelineDataGrid):
-        Refactor `WI.DataGrid` constructor to allow for more optional arguments.
-        Introduce a new optional argument `copyCallback` that can be used to override the text that
-        would be copied for any `WI.DataGridNode` in any column.
-
-        * UserInterface/Views/DOMStorageContentView.js:
-        (WI.DOMStorageContentView):
-        (WI.DOMStorageContentView.prototype.itemAdded):
-        (WI.DOMStorageContentView.prototype.itemUpdated):
-        (WI.DOMStorageContentView.prototype._populate):
-        (WI.DOMStorageContentView.prototype._dataGridCopy): Added.
-        Save the full non-truncated value as part of the `WI.DataGridNode`'s `data`. When copying,
-        use the full non-truncated value instead of what was shown in the DOM.
-
-2019-04-15  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: DOM Nodes should not show $0 when selected in Console area
-        https://bugs.webkit.org/show_bug.cgi?id=196953
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/DOMTreeContentView.js:
-        (WI.DOMTreeContentView):
-        Enable showing the last selected element.
-
-        * UserInterface/Views/DOMTreeOutline.js:
-        Make parameters explicit. Drop "selectable" which was always true.
-        And add a new option for adding a class name.
-
-        * UserInterface/Views/DOMTreeOutline.css:
-        (.tree-outline.dom.show-last-selected li.last-selected > span::after):
-        (.tree-outline.dom.show-last-selected:focus li.last-selected > span::after):
-        Only show the "= $0" for a DOM tree that has enabled showing the last selected element.
-
-        * UserInterface/Views/FormattedValue.css:
-        (.formatted-node > .tree-outline.dom li.selected .selection-area):
-        Don't show the selection-area for a console formatted node.
-
-2019-04-15  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: update sheet rect whenever inspector window size changes
-        https://bugs.webkit.org/show_bug.cgi?id=196942
-        <rdar://problem/49920241>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Base/Main.js:
-        (WI.contentLoaded):
-        (WI._windowResized):
-        (WI._updateSheetRect): Added.
-
-2019-04-15  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Unreviewed, fix typo in a comment.
-
-        * UserInterface/Views/SearchSidebarPanel.js:
-        (WI.SearchSidebarPanel.prototype.performSearch):
-
-2019-04-15  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Heap: don't use recursion when calculating root paths
-        https://bugs.webkit.org/show_bug.cgi?id=196890
-        <rdar://problem/49870751>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
-        (HeapSnapshot.prototype.shortestGCRootPath):
-        (HeapSnapshot.prototype._determineGCRootPaths):
-        (HeapSnapshot.prototype._gcRootPathes.visitNode): Deleted.
-        (HeapSnapshot.prototype._gcRootPathes): Deleted.
-
-2019-04-15  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: SameSite parsing should be stricter
-        https://bugs.webkit.org/show_bug.cgi?id=196927
-        <rdar://problem/42291601>
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Models/Cookie.js:
-        (WI.Cookie.parseSameSiteAttributeValue):
-
-2019-04-15  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: CPU Usage Timeline - Energy impact popover flickers
-        https://bugs.webkit.org/show_bug.cgi?id=196931
-        <rdar://problem/49569122>
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView.prototype.initialLayout):
-
-2019-04-15  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: REGRESSION(r244268): Canvas: navigation sidebar no longer appears
-        https://bugs.webkit.org/show_bug.cgi?id=196920
-        <rdar://problem/49910618>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/ContentBrowserTabContentView.js:
-        (WI.ContentBrowserTabContentView.prototype.showNavigationSidebarPanel):
-        Now that we no longer call `addSubview` when adding a sidebar panel, we can't check to see
-        if `parentSidebar` has been set, as that is just an alias for `parentView`.
-
-2019-04-15  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: DOMDebugger: move breakpoint storage to use `WI.ObjectStore`
-        https://bugs.webkit.org/show_bug.cgi?id=196231
-        <rdar://problem/49236864>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Controllers/DOMDebuggerManager.js:
-        (WI.DOMDebuggerManager):
-        (WI.DOMDebuggerManager.prototype.addDOMBreakpoint):
-        (WI.DOMDebuggerManager.prototype.removeDOMBreakpoint):
-        (WI.DOMDebuggerManager.prototype.removeDOMBreakpointsForNode):
-        (WI.DOMDebuggerManager.prototype.addEventBreakpoint):
-        (WI.DOMDebuggerManager.prototype.removeEventBreakpoint):
-        (WI.DOMDebuggerManager.prototype.addURLBreakpoint):
-        (WI.DOMDebuggerManager.prototype.removeURLBreakpoint):
-        (WI.DOMDebuggerManager.prototype._handleDOMBreakpointDisabledStateChanged):
-        (WI.DOMDebuggerManager.prototype._handleEventBreakpointDisabledStateChanged):
-        (WI.DOMDebuggerManager.prototype._handleURLBreakpointDisabledStateChanged):
-        (WI.DOMDebuggerManager.prototype._saveDOMBreakpoints): Deleted.
-        (WI.DOMDebuggerManager.prototype._saveEventBreakpoints): Deleted.
-        (WI.DOMDebuggerManager.prototype._saveURLBreakpoints): Deleted.
-
-        * UserInterface/Models/DOMBreakpoint.js:
-        (WI.DOMBreakpoint.prototype.saveIdentityToCookie):
-        (WI.DOMBreakpoint.prototype.toJSON): Added.
-        (WI.DOMBreakpoint.prototype.get serializableInfo): Deleted.
-        * UserInterface/Models/EventBreakpoint.js:
-        (WI.EventBreakpoint.prototype.saveIdentityToCookie):
-        (WI.EventBreakpoint.prototype.toJSON): Added.
-        (WI.EventBreakpoint.prototype.get serializableInfo): Deleted.
-        * UserInterface/Models/URLBreakpoint.js:
-        (WI.URLBreakpoint.prototype.saveIdentityToCookie):
-        (WI.URLBreakpoint.prototype.toJSON): Added.
-        (WI.URLBreakpoint.prototype.get serializableInfo): Deleted.
-        Replace `get serializableInfo` with `toJSON` as required by `WI.ObjectStore`.
-
-        * UserInterface/Base/ObjectStore.js:
-        (WI.ObjectStore._open):
-        Increment version.
-
-2019-04-15  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: drag/drop over the sidebar should load an imported file in Canvas/Audit tab
-        https://bugs.webkit.org/show_bug.cgi?id=196873
-        <rdar://problem/49858190>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Base/Main.js:
-        (WI.contentLoaded):
-        (WI._handleDragOver): Added.
-        (WI._handleDrop): Added.
-        (WI._dragOver): Deleted.
-        * UserInterface/Views/AuditTabContentView.js:
-        (WI.AuditTabContentView):
-        (WI.AuditTabContentView.prototype.async handleFileDrop): Added.
-        (WI.AuditTabContentView.prototype._handleDragOver): Deleted.
-        (WI.AuditTabContentView.prototype._handleDrop): Deleted.
-        * UserInterface/Views/CanvasTabContentView.js:
-        (WI.CanvasTabContentView):
-        (WI.CanvasTabContentView.prototype.async handleFileDrop): Added.
-        (WI.CanvasTabContentView.prototype._handleDragOver): Deleted.
-        (WI.CanvasTabContentView.prototype._handleDrop): Deleted.
-        * UserInterface/Views/TimelineTabContentView.js:
-        (WI.TimelineTabContentView.prototype.async handleFileDrop): Added.
-        Check whether the current tab is able to handle a file drop, and if so, don't prevent the
-        drag from occuring. This now allows the user to drop anywhere on the Web Inspector area to
-        import files, so long as the relevant tab is currently selected.
-
-        * UserInterface/Controllers/CanvasManager.js:
-        (WI.CanvasManager.prototype.async processJSON): Added.
-        (WI.CanvasManager.prototype.processJSON): Deleted.
-        * UserInterface/Controllers/TimelineManager.js:
-        (WI.TimelineManager.prototype.async processJSON): Added.
-        (WI.TimelineManager.prototype.processJSON): Deleted.
-        Make `async` to match other `processJSON` functions.
-
-2019-04-15  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Heap: logging an object from a snapshot shouldn't use the "special" style if the object is reachable
-        https://bugs.webkit.org/show_bug.cgi?id=196889
-        <rdar://problem/49870693>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
-        (WI.HeapSnapshotInstanceDataGridNode.logHeapSnapshotNode):
-
-2019-04-15  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Debugger: deleting a special breakpoint should disable it
-        https://bugs.webkit.org/show_bug.cgi?id=196737
-        <rdar://problem/49740680>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/BreakpointTreeElement.js:
-        (WI.BreakpointTreeElement.prototype.ondelete):
-
-2019-04-15  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Uncaught Exception: null is not an object (evaluating 'this.selectedTreeElement.reveal')
-        https://bugs.webkit.org/show_bug.cgi?id=196804
-        <rdar://problem/49800708>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/DOMTreeOutline.js:
-        (WI.DOMTreeOutline.prototype.update):
-
-2019-04-15  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Uncaught Exception: Can't find variable: WebGL2RenderingContext
-        https://bugs.webkit.org/show_bug.cgi?id=196874
-        <rdar://problem/49858912>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Models/Recording.js:
-        (WI.Recording.prototype.createContext):
-
-        * UserInterface/Models/RecordingAction.js:
-        (WI.RecordingAction.prototype.process.getContent):
-
-2019-04-15  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: sidebar panels shouldn't be added as subviews unless visible
-        https://bugs.webkit.org/show_bug.cgi?id=196888
-        <rdar://problem/49870659>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/Sidebar.js:
-        (WI.Sidebar.prototype.insertSidebarPanel):
-        (WI.Sidebar.prototype.removeSidebarPanel):
-        (WI.Sidebar.prototype.set selectedSidebarPanel):
-
-2019-04-15  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Elements: event listener change events should only be fired for the selected node and it's ancestors
-        https://bugs.webkit.org/show_bug.cgi?id=196887
-        <rdar://problem/49870627>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Models/DOMNode.js:
-        (WI.DOMNode.prototype.getEventListeners):
-
-2019-04-15  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: replace all uses of `this` with `WI` in Main.js/Test.js
-        https://bugs.webkit.org/show_bug.cgi?id=196795
-        <rdar://problem/49796618>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Base/Main.js:
-        * UserInterface/Test/Test.js:
-
-2019-04-15  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: REGRESSION: Heap: snapshots taken manually don't appear in the list
-        https://bugs.webkit.org/show_bug.cgi?id=196900
-        <rdar://problem/49880278>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/HeapAllocationsTimelineView.js:
-        (WI.HeapAllocationsTimelineView):
-        (WI.HeapAllocationsTimelineView.prototype.layout):
-        (WI.HeapAllocationsTimelineView.prototype._importButtonNavigationItemClicked):
-        (WI.HeapAllocationsTimelineView.prototype._takeHeapSnapshotClicked):
-        Drive-by: only show heap snapshots for the selected range.
-
-        * UserInterface/Views/TimelineView.js:
-        * UserInterface/Views/TimelineRecordingContentView.js:
-        (WI.TimelineRecordingContentView):
-        (WI.TimelineRecordingContentView.prototype._handleTimelineViewNeedsEntireSelectedRange): Added.
-        Drive-by: taking (or importing) a heap snapshot should select the entire range so that the
-        new record will appear in the list of heap snapshots.
-
-2019-04-15  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: REGRESSION (r244157): Timelines: ruler size appears wrong on first layout
-        https://bugs.webkit.org/show_bug.cgi?id=196901
-        <rdar://problem/49880539>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/View.js:
-        (WI.View.prototype._layoutSubtree):
-        Ensure that the forced override of the layout reason during the initial layout doesn't
-        affect subviews.
-
-        * UserInterface/Views/ConsoleDrawer.js:
-        (WI.ConsoleDrawer.prototype.sizeDidChange): Added.
-        (WI.ConsoleDrawer.prototype.layout): Deleted.
-        * UserInterface/Views/ConsolePrompt.js:
-        (WI.ConsolePrompt.prototype.sizeDidChange): Added.
-        (WI.ConsolePrompt.prototype.layout): Deleted.
-        * UserInterface/Views/DOMTreeContentView.js:
-        (WI.DOMTreeContentView.prototype.sizeDidChange): Added.
-        (WI.DOMTreeContentView.prototype.layout):
-        * UserInterface/Views/NavigationBar.js:
-        (WI.NavigationBar.prototype.sizeDidChange): Added.
-        (WI.NavigationBar.prototype.layout):
-        (WI.NavigationBar.prototype._updateContent): Added.
-        (WI.NavigationBar.prototype._updateContent.forceItemHidden): Added.
-        (WI.NavigationBar.prototype._updateContent.isDivider): Added.
-        (WI.NavigationBar.prototype._updateContent.calculateVisibleItemWidth): Added.
-        (WI.NavigationBar.prototype.layout.forceItemHidden): Deleted.
-        (WI.NavigationBar.prototype.layout.isDivider): Deleted.
-        (WI.NavigationBar.prototype.layout.calculateVisibleItemWidth): Deleted.
-        * UserInterface/Views/TabBrowser.js:
-        (WI.TabBrowser.prototype.sizeDidChange): Added.
-        (WI.TabBrowser.prototype.layout): Deleted.
-        Move logic in `layout` to `sizeDidChange` where applicable.
-
-2019-04-11  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: REGRESSION(r244195): Timelines: unable to take heap snapshot
-        https://bugs.webkit.org/show_bug.cgi?id=196832
-        <rdar://problem/49828862>
-
-        Reviewed by Simon Fraser.
-
-        * UserInterface/Controllers/TimelineManager.js:
-        (WI.TimelineManager.prototype.heapSnapshotAdded):
-        (WI.TimelineManager.prototype._addRecord):
-        Heap snapshots can be taken outside of a timeline recording, so remove the early return (and
-        assertion) that checks for an active recording before adding the heap snapshot record.
-
-2019-04-11  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Timelines: can't reliably stop/start a recording
-        https://bugs.webkit.org/show_bug.cgi?id=196778
-        <rdar://problem/47606798>
-
-        Reviewed by Timothy Hatcher.
-
-        Rather than have a binary state of capturing/not-capturing, we should use a four state:
-         1. inactive (when the backend has stopped capturing)
-         2. starting (when the frontend requests capturing to start)
-         3. active (when the backend has started capturing)
-         4. stopping (when the frontend requests capturing to stop)
-
-        Capturing is considered "on" when not in an "inactive" state. Prevent the frontend from
-        starting/stopping capturing unless we're in a "stable" ("inactive" or "active") state, not a
-        "transition" ("starting" or "stopping") state.
-
-        One "side effect" of this change is that since the capturing is considered active until the
-        backend has stopped capturing, we will continue to process records in the frontend even if
-        the frontend has requested to stop capturing. <https://webkit.org/b/152904>
-
-        * UserInterface/Controllers/TimelineManager.js:
-        (WI.TimelineManager):
-        (WI.TimelineManager.prototype.get capturingState): Added.
-        (WI.TimelineManager.prototype.reset):
-        (WI.TimelineManager.prototype.get activeRecording):
-        (WI.TimelineManager.prototype.set autoCaptureOnPageLoad):
-        (WI.TimelineManager.prototype.isCapturing):
-        (WI.TimelineManager.prototype.startCapturing):
-        (WI.TimelineManager.prototype.stopCapturing):
-        (WI.TimelineManager.prototype.processJSON):
-        (WI.TimelineManager.prototype.capturingStarted):
-        (WI.TimelineManager.prototype.capturingStopped):
-        (WI.TimelineManager.prototype.autoCaptureStarted):
-        (WI.TimelineManager.prototype.eventRecorded):
-        (WI.TimelineManager.prototype.pageDOMContentLoadedEventFired):
-        (WI.TimelineManager.prototype.pageLoadEventFired):
-        (WI.TimelineManager.prototype.cpuProfilerTrackingUpdated):
-        (WI.TimelineManager.prototype.cpuProfilerTrackingCompleted):
-        (WI.TimelineManager.prototype.memoryTrackingUpdated):
-        (WI.TimelineManager.prototype.memoryTrackingCompleted):
-        (WI.TimelineManager.prototype.heapTrackingStarted):
-        (WI.TimelineManager.prototype.heapTrackingCompleted):
-        (WI.TimelineManager.prototype.heapSnapshotAdded):
-        (WI.TimelineManager.prototype._updateCapturingState): Added.
-        (WI.TimelineManager.prototype._processRecord):
-        (WI.TimelineManager.prototype._processEvent):
-        (WI.TimelineManager.prototype._loadNewRecording):
-        (WI.TimelineManager.prototype._addRecord):
-        (WI.TimelineManager.prototype._attemptAutoCapturingForFrame):
-        (WI.TimelineManager.prototype._legacyAttemptStartAutoCapturingForFrame):
-        (WI.TimelineManager.prototype._stopAutoRecordingSoon):
-        (WI.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout):
-        (WI.TimelineManager.prototype._resourceWasAdded):
-        (WI.TimelineManager.prototype._garbageCollected):
-        (WI.TimelineManager.prototype._memoryPressure):
-        (WI.TimelineManager.prototype._handleTimelinesAutoStopSettingChanged):
-        (WI.TimelineManager.prototype.scriptProfilerTrackingCompleted):
-        (WI.TimelineManager.prototype._handleDOMNodeDidFireEvent):
-        (WI.TimelineManager.prototype._handleDOMNodeLowPowerChanged):
-        (WI.TimelineManager.prototype.unloadRecording): Deleted.
-        (WI.TimelineManager.prototype.programmaticCaptureStarted): Deleted.
-        (WI.TimelineManager.prototype.programmaticCaptureStopped): Deleted.
-        (WI.TimelineManager.prototype.scriptProfilerProgrammaticCaptureStarted): Deleted.
-        (WI.TimelineManager.prototype.scriptProfilerProgrammaticCaptureStopped): Deleted.
-
-        * UserInterface/Protocol/ScriptProfilerObserver.js:
-        (WI.ScriptProfilerObserver.prototype.trackingComplete):
-        (WI.ScriptProfilerObserver.prototype.programmaticCaptureStarted):
-        (WI.ScriptProfilerObserver.prototype.programmaticCaptureStopped):
-        * UserInterface/Protocol/TimelineObserver.js:
-        (WI.TimelineObserver.prototype.programmaticCaptureStarted):
-        (WI.TimelineObserver.prototype.programmaticCaptureStopped):
-        It is possible to determine when programmatic capturing starts/stops in the frontend based
-        on the state when the backend causes the state to change, such as if the state is "inactive"
-        when the frontend is told that the backend has started capturing.
-
-        * UserInterface/Protocol/CPUProfilerObserver.js:
-        (WI.CPUProfilerObserver.prototype.trackingComplete):
-        * UserInterface/Protocol/MemoryObserver.js:
-        (WI.MemoryObserver.prototype.trackingComplete):
-        Send an end timestamp to match other instruments.
-
-        * UserInterface/Controllers/DebuggerManager.js:
-        (WI.DebuggerManager):
-        (WI.DebuggerManager.prototype._handleTimelineCapturingStateChanged): Added.
-        (WI.DebuggerManager.prototype._timelineCapturingWillStart): Deleted.
-        (WI.DebuggerManager.prototype._timelineCapturingStopped): Deleted.
-        * UserInterface/Models/DefaultDashboard.js:
-        (WI.DefaultDashboard):
-        (WI.DefaultDashboard.prototype._handleTimelineCapturingStateChanged): Added.
-        (WI.DefaultDashboard.prototype._capturingStopped): Deleted.
-        * UserInterface/Views/DebuggerSidebarPanel.js:
-        (WI.DebuggerSidebarPanel):
-        (WI.DebuggerSidebarPanel.prototype._handleTimelineCapturingStateChanged): Added.
-        (WI.DebuggerSidebarPanel.prototype._timelineCapturingWillStart): Deleted.
-        (WI.DebuggerSidebarPanel.prototype._timelineCapturingStopped): Deleted.
-        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
-        (WI.SourcesNavigationSidebarPanel):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleTimelineCapturingStateChanged): Added.
-        (WI.SourcesNavigationSidebarPanel.prototype._handleTimelineCapturingWillStart): Deleted.
-        (WI.SourcesNavigationSidebarPanel.prototype._handleTimelineCapturingStopped): Deleted.
-        * UserInterface/Views/TimelineOverview.js:
-        (WI.TimelineOverview):
-        (WI.TimelineOverview.prototype._handleTimelineCapturingStateChanged): Added.
-        (WI.TimelineOverview.prototype._capturingStarted): Deleted.
-        (WI.TimelineOverview.prototype._capturingStopped): Deleted.
-        * UserInterface/Views/TimelineRecordingContentView.js:
-        (WI.TimelineRecordingContentView):
-        (WI.TimelineRecordingContentView.prototype._handleTimelineCapturingStateChanged): Added.
-        (WI.TimelineRecordingContentView.prototype._recordingUnloaded):
-        (WI.TimelineRecordingContentView.prototype._capturingStarted): Deleted.
-        (WI.TimelineRecordingContentView.prototype._capturingStopped): Deleted.
-        * UserInterface/Views/TimelineTabContentView.js:
-        (WI.TimelineTabContentView):
-        (WI.TimelineTabContentView.prototype._handleTimelineCapturingStateChanged): Added.
-        (WI.TimelineTabContentView.prototype._capturingStartedOrStopped): Deleted.
-        Use the new single event for all Timelines capture state changes.
-        Prevent the record button from being clicked when capturing is in a transition state.
-
-2019-04-11  Truitt Savell  <tsavell@apple.com>
-
-        Unreviewed, rolling out r244158.
-
-        Casued 8 inspector/timeline/ test failures.
-
-        Reverted changeset:
-
-        "Web Inspector: Timelines: can't reliably stop/start a
-        recording"
-        https://bugs.webkit.org/show_bug.cgi?id=196778
-        https://trac.webkit.org/changeset/244158
-
-2019-04-10  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: save sheet should be anchored underneath the tab bar when detached
-        https://bugs.webkit.org/show_bug.cgi?id=196722
-        <rdar://problem/49613280>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Base/Main.js:
-        (WI.contentLoaded):
-
-2019-04-10  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Timelines: can't reliably stop/start a recording
-        https://bugs.webkit.org/show_bug.cgi?id=196778
-        <rdar://problem/47606798>
-
-        Reviewed by Timothy Hatcher.
-
-        Rather than have a binary state of capturing/not-capturing, we should use a four state:
-         1. inactive (when the backend has stopped capturing)
-         2. starting (when the frontend requests capturing to start)
-         3. active (when the backend has started capturing)
-         4. stopping (when the frontend requests capturing to stop)
-
-        Capturing is considered "on" when not in an "inactive" state. Prevent the frontend from
-        starting/stopping capturing unless we're in a "stable" ("inactive" or "active") state, not a
-        "transition" ("starting" or "stopping") state.
-
-        One "side effect" of this change is that since the capturing is considered active until the
-        backend has stopped capturing, we will continue to process records in the frontend even if
-        the frontend has requested to stop capturing. <https://webkit.org/b/152904>
-
-        * UserInterface/Controllers/TimelineManager.js:
-        (WI.TimelineManager):
-        (WI.TimelineManager.prototype.get capturingState): Added.
-        (WI.TimelineManager.prototype.reset):
-        (WI.TimelineManager.prototype.get activeRecording):
-        (WI.TimelineManager.prototype.set autoCaptureOnPageLoad):
-        (WI.TimelineManager.prototype.isCapturing):
-        (WI.TimelineManager.prototype.startCapturing):
-        (WI.TimelineManager.prototype.stopCapturing):
-        (WI.TimelineManager.prototype.processJSON):
-        (WI.TimelineManager.prototype.capturingStarted):
-        (WI.TimelineManager.prototype.capturingStopped):
-        (WI.TimelineManager.prototype.autoCaptureStarted):
-        (WI.TimelineManager.prototype.eventRecorded):
-        (WI.TimelineManager.prototype.pageDOMContentLoadedEventFired):
-        (WI.TimelineManager.prototype.pageLoadEventFired):
-        (WI.TimelineManager.prototype.cpuProfilerTrackingUpdated):
-        (WI.TimelineManager.prototype.cpuProfilerTrackingCompleted):
-        (WI.TimelineManager.prototype.memoryTrackingUpdated):
-        (WI.TimelineManager.prototype.memoryTrackingCompleted):
-        (WI.TimelineManager.prototype.heapTrackingStarted):
-        (WI.TimelineManager.prototype.heapTrackingCompleted):
-        (WI.TimelineManager.prototype.heapSnapshotAdded):
-        (WI.TimelineManager.prototype._updateCapturingState): Added.
-        (WI.TimelineManager.prototype._processRecord):
-        (WI.TimelineManager.prototype._processEvent):
-        (WI.TimelineManager.prototype._loadNewRecording):
-        (WI.TimelineManager.prototype._addRecord):
-        (WI.TimelineManager.prototype._attemptAutoCapturingForFrame):
-        (WI.TimelineManager.prototype._legacyAttemptStartAutoCapturingForFrame):
-        (WI.TimelineManager.prototype._stopAutoRecordingSoon):
-        (WI.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout):
-        (WI.TimelineManager.prototype._mainResourceDidChange):
-        (WI.TimelineManager.prototype._resourceWasAdded):
-        (WI.TimelineManager.prototype._garbageCollected):
-        (WI.TimelineManager.prototype._memoryPressure):
-        (WI.TimelineManager.prototype._handleTimelinesAutoStopSettingChanged):
-        (WI.TimelineManager.prototype.scriptProfilerTrackingCompleted):
-        (WI.TimelineManager.prototype._handleDOMNodeDidFireEvent):
-        (WI.TimelineManager.prototype._handleDOMNodeLowPowerChanged):
-        (WI.TimelineManager.prototype.unloadRecording): Deleted.
-        (WI.TimelineManager.prototype.programmaticCaptureStarted): Deleted.
-        (WI.TimelineManager.prototype.programmaticCaptureStopped): Deleted.
-        (WI.TimelineManager.prototype.scriptProfilerProgrammaticCaptureStarted): Deleted.
-        (WI.TimelineManager.prototype.scriptProfilerProgrammaticCaptureStopped): Deleted.
-
-        * UserInterface/Protocol/ScriptProfilerObserver.js:
-        (WI.ScriptProfilerObserver.prototype.trackingComplete):
-        (WI.ScriptProfilerObserver.prototype.programmaticCaptureStarted):
-        (WI.ScriptProfilerObserver.prototype.programmaticCaptureStopped):
-        * UserInterface/Protocol/TimelineObserver.js:
-        (WI.TimelineObserver.prototype.programmaticCaptureStarted):
-        (WI.TimelineObserver.prototype.programmaticCaptureStopped):
-        It is possible to determine when programmatic capturing starts/stops in the frontend based
-        on the state when the backend causes the state to change, such as if the state is "inactive"
-        when the frontend is told that the backend has started capturing.
-
-        * UserInterface/Protocol/CPUProfilerObserver.js:
-        (WI.CPUProfilerObserver.prototype.trackingComplete):
-        * UserInterface/Protocol/MemoryObserver.js:
-        (WI.MemoryObserver.prototype.trackingComplete):
-        Send an end timestamp to match other instruments.
-
-        * UserInterface/Controllers/DebuggerManager.js:
-        (WI.DebuggerManager):
-        (WI.DebuggerManager.prototype._handleTimelineCapturingStateChanged): Added.
-        (WI.DebuggerManager.prototype._timelineCapturingWillStart): Deleted.
-        (WI.DebuggerManager.prototype._timelineCapturingStopped): Deleted.
-        * UserInterface/Models/DefaultDashboard.js:
-        (WI.DefaultDashboard):
-        (WI.DefaultDashboard.prototype._handleTimelineCapturingStateChanged): Added.
-        (WI.DefaultDashboard.prototype._capturingStopped): Deleted.
-        * UserInterface/Views/DebuggerSidebarPanel.js:
-        (WI.DebuggerSidebarPanel):
-        (WI.DebuggerSidebarPanel.prototype._handleTimelineCapturingStateChanged): Added.
-        (WI.DebuggerSidebarPanel.prototype._timelineCapturingWillStart): Deleted.
-        (WI.DebuggerSidebarPanel.prototype._timelineCapturingStopped): Deleted.
-        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
-        (WI.SourcesNavigationSidebarPanel):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleTimelineCapturingStateChanged): Added.
-        (WI.SourcesNavigationSidebarPanel.prototype._handleTimelineCapturingWillStart): Deleted.
-        (WI.SourcesNavigationSidebarPanel.prototype._handleTimelineCapturingStopped): Deleted.
-        * UserInterface/Views/TimelineOverview.js:
-        (WI.TimelineOverview):
-        (WI.TimelineOverview.prototype._handleTimelineCapturingStateChanged): Added.
-        (WI.TimelineOverview.prototype._capturingStarted): Deleted.
-        (WI.TimelineOverview.prototype._capturingStopped): Deleted.
-        * UserInterface/Views/TimelineRecordingContentView.js:
-        (WI.TimelineRecordingContentView):
-        (WI.TimelineRecordingContentView.prototype._handleTimelineCapturingStateChanged): Added.
-        (WI.TimelineRecordingContentView.prototype._recordingUnloaded):
-        (WI.TimelineRecordingContentView.prototype._capturingStarted): Deleted.
-        (WI.TimelineRecordingContentView.prototype._capturingStopped): Deleted.
-        * UserInterface/Views/TimelineTabContentView.js:
-        (WI.TimelineTabContentView):
-        (WI.TimelineTabContentView.prototype._handleTimelineCapturingStateChanged): Added.
-        (WI.TimelineTabContentView.prototype._capturingStartedOrStopped): Deleted.
-        Use the new single event for all Timelines capture state changes.
-        Prevent the record button from being clicked when capturing is in a transition state.
-
-2019-04-10  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: REGRESSION: Audit: result UI shown on first open if an audit was previously selected
-        https://bugs.webkit.org/show_bug.cgi?id=196723
-        <rdar://problem/49722252>
-
-        Reviewed by Timothy Hatcher.
-
-        When opening Web Inspector for the first time, we will trigger resize `layout`s on the main
-        content area as Web Inspector is resized to it's old window size.
-
-        Rather than treating this layout as a `View.LayoutReason.Resize`, we should treat the
-        first `layout` (e.g. `initialLayout`) as a `View.LayoutReason.Dirty` instead, as there was
-        previously no content.
-
-        * UserInterface/Views/View.js:
-        (WI.View.prototype._layoutSubtree):
-        (WI.View.prototype._setLayoutReason):
-
-        * UserInterface/Views/AuditTestContentView.js:
-        (WI.AuditTestContentView):
-        Drive-by: ensure that this class is not instantiated directly.
-
-2019-04-10  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Debugger: current call frame indicator is indented when there is more than one thread
-        https://bugs.webkit.org/show_bug.cgi?id=196580
-        <rdar://problem/49582138>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/CallFrameTreeElement.css:
-        (.tree-outline .item.call-frame .status):
-        (.tree-outline.single-thread .item.call-frame .status): Added.
-
-2019-04-10  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: REGRESSION (r238602): Elements: deleting the last child of a collapsed parent selects the parent's next sibling
-        https://bugs.webkit.org/show_bug.cgi?id=192711
-        <rdar://problem/46738990>
-
-        Reviewed by Timothy Hatcher.
-
-        Original patch by Matt Baker <mattbaker@apple.com>.
-
-        * UserInterface/Controllers/SelectionController.js:
-        (WI.SelectionController.prototype.removeSelectedItems):
-        When looking for a new item to select, start with the item preceding the
-        selection, instead of the item following the selection. This matches
-        pre-multiple selection behavior, as well as Mail and Xcode.
-
-        * UserInterface/Views/DOMTreeElement.js:
-        (WI.DOMTreeElement.prototype.onexpand):
-        Drive-by fix: when a hidden node is selected, its selection area is drawn
-        with a height of 0px. Update the selection area once the hidden node's
-        parent is expanded. AFAIK, this has always been broken.
-
-        * UserInterface/Views/DOMTreeOutline.js:
-        (WI.DOMTreeOutline.prototype.ondelete):
-        After a delete the `SelectionController` may have chosen a child of a
-        collapsed parent as the new selected item. If the item isn't the closing tag (e.g. after
-        deleting the last child), reveal it.
-
-        (WI.DOMTreeOutline.prototype.selectionControllerPreviousSelectableItem):
-
-        * UserInterface/Views/TreeElement.js:
-        (WI.TreeElement.prototype.get previousSelectableSibling): Added.
-        (WI.TreeElement.prototype.get nextSelectableSibling): Added.
-
-        * UserInterface/Views/TreeOutline.js:
-        (WI.TreeOutline.prototype.selectionControllerPreviousSelectableItem):
-        (WI.TreeOutline.prototype.selectionControllerNextSelectableItem):
-        Set `skipUnrevealed` to false, so that children of collapsed parent nodes
-        are considered when looking for an item to selected after a delete. Hidden `TreeElement`s
-        are still ignored as they aren't `selectable`.
-
-2019-04-10  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Elements tab: multiple selection lost after navigating to another tab
-        https://bugs.webkit.org/show_bug.cgi?id=192681
-        <rdar://problem/46709392>
-
-        Reviewed by Timothy Hatcher.
-
-        Orginal patch by Matt Baker <mattbaker@apple.com>.
-
-        * UserInterface/Controllers/SelectionController.js:
-        (WI.SelectionController.prototype.selectItem):
-        Simplify internal logic by removing an early return.
-
-        (WI.SelectionController.prototype.selectItems): Added.
-        (WI.SelectionController.prototype.selectAll):
-        Provide a means to select multiple items in a single operation.
-        If `_lastSelectedItem` is not in the items to select, the last
-        item being selected will become the last selected item.
-
-        (WI.SelectionController.prototype._deselectAllAndSelect):
-        Drive-by fix: correct a logic error. If no items are selected, the item
-        passed as an argument should still become selected.
-
-        * UserInterface/Views/TreeOutline.js:
-        (WI.TreeOutline.prototype.selectTreeElements): Added.
-
-        * UserInterface/Views/DOMTreeElement.js:
-        (WI.DOMTreeElement):
-        (WI.DOMTreeElement.prototype.get closeTagTreeElement): Added.
-        (WI.DOMTreeElement.prototype._updateChildren):
-        Make the close tag `TreeElement` available from the open tag `TreeElement`.
-
-        * UserInterface/Views/DOMTreeOutline.js:
-        (WI.DOMTreeOutline.prototype.update):
-        Restore selected `TreeElement`s after updating.
-
-        * UserInterface/Base/Utilities.js:
-        * UserInterface/Test.html:
-
-2019-04-08  Matt Baker  <mattbaker@apple.com>
-
-        Web Inspector: Elements tab: Classes toggle should use accent color on hover
-        https://bugs.webkit.org/show_bug.cgi?id=196266
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/GeneralStyleDetailsSidebarPanel.css:
-        (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle):
-        (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle::before):
-        (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle:matches(.selected, :hover)):
-        (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle:matches(.selected, :hover)::before):
-        (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle:not(.selected):hover::before):
-        (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle.selected:active::before):
-        (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle.selected): Deleted.
-        (.sidebar > .panel.details.css-style > .content ~ .options-container > .toggle-class-toggle:not(.selected):hover): Deleted.
-
-2019-04-08  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: REGRESSION: Audit: default audits aren't added when an existing audit is present
-        https://bugs.webkit.org/show_bug.cgi?id=196663
-        <rdar://problem/49660757>
-
-        Reviewed by Timothy Hatcher.
-
-        Rather than have a button that allows the user to re-add the default audits, prevent them
-        from being deletable in the first place. "Deleting" a default audit will instead mark it as
-        disabled (and beep if it is already disabled).
-
-        * UserInterface/Controllers/AuditManager.js:
-        (WI.AuditManager.prototype.loadStoredTests):
-        (WI.AuditManager.prototype.removeTest):
-        (WI.AuditManager.prototype._addDefaultTests): Added.
-        (WI.AuditManager.prototype.addDefaultTestsIfNeeded): Deleted.
-
-        * UserInterface/Views/AuditNavigationSidebarPanel.js:
-        (WI.AuditNavigationSidebarPanel.prototype._addTest):
-        (WI.AuditNavigationSidebarPanel.prototype._updateStartStopButtonNavigationItemState):
-        (WI.AuditNavigationSidebarPanel.prototype._updateNoAuditsPlaceholder):
-        (WI.AuditNavigationSidebarPanel.prototype._handleAuditTestRemoved):
-        * UserInterface/Views/AuditNavigationSidebarPanel.css:
-        (.sidebar > .panel.navigation.audit.has-results > .content > .message-text-view.no-enabled-audits): Added.
-        (.sidebar > .panel.navigation.audit.has-results:not(.has-tests) > .content > .message-text-view): Deleted.
-        (.sidebar > .panel.navigation.audit.has-results:not(.has-tests) > .content > .message-text-view > .message): Deleted.
-        (.sidebar > .panel.navigation.audit.has-results:not(.has-tests) > .content > .message-text-view > button): Deleted.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-04-06  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        REGRESSION(r237196): Web Inspector: Computed panel shouldn't update when it isn't visible
-        https://bugs.webkit.org/show_bug.cgi?id=196667
-        <rdar://problem/49664912>
-
-        Reviewed by Timothy Hatcher.
-
-        Explicitly define `hidden` and `shown` methods instead of relying on SidebarPanel's `visible` getter.
-
-        * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
-        (WI.GeneralStyleDetailsSidebarPanel.prototype.visibilityDidChange): Deleted.
-        (WI.GeneralStyleDetailsSidebarPanel.prototype.hidden): Added.
-        (WI.GeneralStyleDetailsSidebarPanel.prototype.shown): Added.
-
-2019-04-05  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: TestSuite test cases should have their own timeout to ensure tests fail with output instead of timeout by test runner
-        https://bugs.webkit.org/show_bug.cgi?id=162814
-        <rdar://problem/28574102>
-
-        Reviewed by Brian Burg.
-
-        A 10s timer is started for every test case added to an async suite. The timer is cleared
-        when the test finishes, but if the timer fires, the test is forcibly ended with an error.
-
-        This timer can be configured by setting a `timeout` value when adding the test case. Values
-        are expected to be in milliseconds. The value `-1` will prevent a timer from being set.
-
-        This change also relaxes the expectation that any individual test case failure will stop the
-        rest of the suite from running. Since timers are set per test case, it is possible to
-        recover from a "bad" test case to still run the remaining test cases.
-
-        NOTE: there may be unexpected behaviour if a test times out, as the timer doesn't actually
-        stop the execution of the test, so it may still run and log information, which may appear
-        "out of nowhere" in the middle of other tests.
-
-        * UserInterface/Test/TestSuite.js:
-        (TestSuite.prototype.get passCount):
-        (AsyncTestSuite.prototype.runTestCases):
-        (SyncTestSuite.prototype.runTestCases):
-
-2019-04-03  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Single click on links in non-read-only TextEditors should not follow links
-        https://bugs.webkit.org/show_bug.cgi?id=123364
-        <rdar://problem/15323913>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Base/Main.js:
-        (WI._updateModifierKeys):
-        Add classes to the body whenever alt, shift, or ctrl are pressed.
-
-        * UserInterface/Views/CodeMirrorEditor.js:
-        (WI.CodeMirrorEditor.create):
-        Add a `read-only` class if the `CodeMirror` is readonly.
-
-        * UserInterface/Views/SyntaxHighlightingDefaultTheme.css:
-        (.cm-s-default .cm-link,):
-        (.read-only.cm-s-default .cm-link:hover,):
-        (.cm-s-default .cm-link:hover,): Deleted.
-
-        * UserInterface/Views/TextEditor.js:
-        (WI.TextEditor.prototype.set readOnly):
-        (WI.TextEditor.prototype._openClickedLinks):
-
-2019-04-03  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        Remove support for -apple-trailing-word
-        https://bugs.webkit.org/show_bug.cgi?id=196525
-
-        Reviewed by Zalan Bujtas.
-
-        This CSS property is nonstandard and not used.
-
-        * UserInterface/Models/CSSKeywordCompletions.js:
-
-2019-04-03  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Uncaught Exception: TypeError: this._computedStyleSection.focus is not a function. (In 'this._computedStyleSection.focus()', 'this._computedStyleSection.focus' is undefined)
-        https://bugs.webkit.org/show_bug.cgi?id=192108
-        <rdar://problem/46685392>
-
-        Reviewed by Devin Rousso.
-
-        This patch fixes the uncaught exception. Tabbing to and from "Properties" section continues
-        working the same way as before the patch.
-
-        * UserInterface/Views/ComputedStyleDetailsPanel.js:
-        (WI.ComputedStyleDetailsPanel.prototype.focusFirstSection): Deleted.
-        (WI.ComputedStyleDetailsPanel.prototype.focusLastSection): Deleted.
-
-2019-04-02  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Elements: DOM breakpoint icon should stroke when hovering selection area
-        https://bugs.webkit.org/show_bug.cgi?id=196516
-        <rdar://problem/49540494>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/DOMTreeContentView.css:
-        (body:not(.window-inactive) .content-view.dom-tree .tree-outline.dom:focus li:matches(.selected, .hovered) .status-image.breakpoint,): Added.
-        (body:not(.window-inactive) .content-view.dom-tree .tree-outline.dom:focus li:matches(.selected, .hovered) .status-image.breakpoint.subtree): Added.
-        (body:not(.window-inactive) .content-view.dom-tree .tree-outline.dom:focus li:matches(.selected, :hover) .status-image.breakpoint): Deleted.
-        (body:not(.window-inactive) .content-view.dom-tree .tree-outline.dom:focus li:matches(.selected, :hover) .status-image.breakpoint.subtree): Deleted.
-
-2019-04-01  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Debugger: modernize serialization of breakpoints and the maps that hold them
-        https://bugs.webkit.org/show_bug.cgi?id=196230
-        <rdar://problem/49236485>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Controllers/DebuggerManager.js:
-        (WI.DebuggerManager):
-        (WI.DebuggerManager.prototype.breakpointsForSourceCode):
-        (WI.DebuggerManager.prototype.addBreakpoint):
-        (WI.DebuggerManager.prototype.removeBreakpoint):
-        (WI.DebuggerManager.prototype._setBreakpoint):
-        (WI.DebuggerManager.prototype._setBreakpoint.didSetBreakpoint):
-
-        * UserInterface/Models/Breakpoint.js:
-        (WI.Breakpoint):
-        (WI.Breakpoint.fromJSON): Added.
-        (WI.Breakpoint.prototype.toJSON):
-        (WI.Breakpoint.prototype.set resolved):
-        (WI.Breakpoint.prototype.recreateAction):
-        (WI.Breakpoint.prototype.saveIdentityToCookie):
-        (WI.Breakpoint.prototype._isSpecial): Added.
-        (WI.Breakpoint.set resolved.isSpecialBreakpoint): Deleted.
-        (WI.Breakpoint.serializeOptions): Deleted.
-
-        * UserInterface/Models/BreakpointAction.js:
-        (WI.BreakpointAction):
-        (WI.BreakpointAction.fromJSON): Added.
-        (WI.BreakpointAction.prototype.toProtocol): Added.
-
-        * UserInterface/Views/DebuggerSidebarPanel.js:
-        (WI.DebuggerSidebarPanel.prototype._addBreakpointsForSourceCode):
-
-        * UserInterface/Views/SourceCodeTextEditor.js:
-        (WI.SourceCodeTextEditor.prototype._prepareEditorForInitialContent):
-        (WI.SourceCodeTextEditor.prototype._breakpointsEnabledDidChange):
-
-2019-04-01  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: DOMDebugger: disabling a breakpoint for a specific event listener removes it from the UI
-        https://bugs.webkit.org/show_bug.cgi?id=196453
-        <rdar://problem/49489318>
-
-        Reviewed by Joseph Pecoraro.
-
-        Allow breakpoints for specific event listeners to be disabled, rather than immeditately
-        removing/deleting them when they are about to become disabled. This preserves the existing
-        functionality, but now allows for the tree element to stay in the UI in a disabled state.
-
-        * UserInterface/Controllers/DOMManager.js:
-        (WI.DOMManager):
-        (WI.DOMManager.prototype.setBreakpointForEventListener):
-        (WI.DOMManager.prototype.removeBreakpointForEventListener):
-        (WI.DOMManager.prototype.removeEventListenerBreakpointsForNode): Added.
-        (WI.DOMManager.prototype._updateEventBreakpoint): Added.
-        (WI.DOMManager.prototype._handleEventBreakpointDisabledStateChanged): Added.
-
-        * UserInterface/Controllers/DOMDebuggerManager.js:
-        (WI.DOMDebuggerManager.prototype._handleEventBreakpointDisabledStateChanged):
-
-        * UserInterface/Views/EventBreakpointTreeElement.js:
-        (WI.EventBreakpointTreeElement.prototype.populateContextMenu):
-        (WI.EventBreakpointTreeElement.prototype._toggleBreakpoint):
-
-        * UserInterface/Views/ContextMenuUtilities.js:
-        (WI.appendContextMenuItemsForDOMNodeBreakpoints):
-
-        * UserInterface/Views/DOMNodeTreeElement.js:
-        (WI.DOMNodeTreeElement.prototype.ondelete):
-
-2019-04-01  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Canvas: auto-record after page load sometimes shows the wrong UI
-        https://bugs.webkit.org/show_bug.cgi?id=196320
-        <rdar://problem/49356686>
-
-        Reviewed by Joseph Pecoraro.
-
-        It was previously possible that the timing of a recording being started and the preview
-        image being loaded would not always be in the same order.
-
-        Utilize the existing `View.prototype.layout` mechanics to ensure that updates are coalesced
-        and that the changes are always applied in a particular order.
-
-        * UserInterface/Views/CanvasContentView.js:
-        (WI.CanvasContentView):
-        (WI.CanvasContentView.prototype.refreshPreview): Added.
-        (WI.CanvasContentView.prototype.initialLayout):
-        (WI.CanvasContentView.prototype.layout):
-        (WI.CanvasContentView.prototype.shown):
-        (WI.CanvasContentView.prototype.attached):
-        (WI.CanvasContentView.prototype._refreshPixelSize):
-        (WI.CanvasContentView.prototype.refresh): Deleted.
-        (WI.CanvasContentView.prototype._recordingStarted): Deleted.
-        (WI.CanvasContentView.prototype._recordingProgress): Deleted.
-        (WI.CanvasContentView.prototype._recordingStopped): Deleted.
-        (WI.CanvasContentView.prototype._shaderProgramAdded): Deleted.
-        (WI.CanvasContentView.prototype._shaderProgramRemoved): Deleted.
-
-        * UserInterface/Views/CanvasOverviewContentView.js:
-        (WI.CanvasOverviewContentView.prototype._refreshPreviews):
-
-2019-04-01  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Canvas: add compatibility support for WebMetal
-        https://bugs.webkit.org/show_bug.cgi?id=196412
-        <rdar://problem/49439417>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Models/Canvas.js:
-        (WI.Canvas.fromPayload):
-        (WI.Canvas.displayNameForContextType):
-        * UserInterface/Protocol/Legacy/12.2/InspectorBackendCommands.js:
-        * Versions/Inspector-iOS-12.2.json:
-
-2019-04-01  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: "Copy as HTML" appears twice when showing a context menu for a logged node
-        https://bugs.webkit.org/show_bug.cgi?id=196271
-        <rdar://problem/49290676>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/ObjectTreeBaseTreeElement.js:
-        (WI.ObjectTreeBaseTreeElement.prototype._appendMenusItemsForObject):
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-04-01  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Debugger: breakpoints don't populate in inspector2 on first load
-        https://bugs.webkit.org/show_bug.cgi?id=196063
-        <rdar://problem/49097787>
-
-        Reviewed by Joseph Pecoraro.
-
-        In the case that a breakpoint becomes resolved after the resource has finished loaded, there
-        won't be an already existing `TreeElement` for the breakpoint to replace.
-
-        This can realistically only happen if the IndexedDB lookup is super slow, or the resource is
-        extremely fast (e.g. a `data` url).
-
-        * UserInterface/Views/DebuggerSidebarPanel.js:
-        (WI.DebuggerSidebarPanel.prototype._handleDebuggerObjectDisplayLocationDidChange):
-        (WI.DebuggerSidebarPanel.prototype._addDebuggerObject): Deleted.
-
-        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
-        (WI.SourcesNavigationSidebarPanel.prototype._addBreakpoint):
-        (WI.SourcesNavigationSidebarPanel.prototype._addBreakpointsForSourceCode):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerObjectDisplayLocationDidChange):
-
-2019-04-01  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: CPU Usage Timeline - Adjust Energy Impact Threshholds
-        https://bugs.webkit.org/show_bug.cgi?id=196421
-        <rdar://problem/49125703>
-
-        Reviewed by Devin Rousso.
-
-        - Low - Keep Below 3% to continue to encourage idle pages stay below 3%
-          Might want to reduce to 2.5 or 2 after fixing bug 196419.
-
-        - High - Make Above 30% instead of 50% to encourage long running interactivity to stay below 30%
-          Depends on interaction, but sustained (1-2min) at 30%+ will certainly impact battery.
-
-        - Very High - Make above 100% instead of 150%
-          CPU Usage spikes around page load and is quite often still under 100% despite many threads.
-          Drop this a bit as we dropped High down.
-
-        Reduce the size of the Medium section, and increase the High section
-        Having 70% of the chart be "Medium" is just too much Medium, and
-        we've now made it more possible to be in the High range.
-
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView.prototype.get mediumEnergyThreshold):
-        (WI.CPUTimelineView.prototype.get highEnergyThreshold):
-        (WI.CPUTimelineView.prototype.get lowEnergyGraphBoundary):
-        (WI.CPUTimelineView.prototype.get mediumEnergyGraphBoundary):
-        (WI.CPUTimelineView.prototype.get highEnergyGraphBoundary):
-        (WI.CPUTimelineView.prototype.initialLayout):
-        (WI.CPUTimelineView.prototype.layout.bestThreadLayoutMax):
-        (WI.CPUTimelineView.prototype._layoutEnergyChart):
-
-2019-03-29  Myles C. Maxfield  <mmaxfield@apple.com>
-
-        Delete WebMetal implementation in favor of WebGPU
-        https://bugs.webkit.org/show_bug.cgi?id=195418
-
-        Reviewed by Dean Jackson.
-
-        * UserInterface/Models/Canvas.js:
-        (WI.Canvas.fromPayload):
-        (WI.Canvas.displayNameForContextType):
-        * UserInterface/Protocol/Legacy/12.2/InspectorBackendCommands.js:
-        * Versions/Inspector-iOS-12.2.json:
-
-2019-03-29  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Storage: some cookie column headers are not localized
-        https://bugs.webkit.org/show_bug.cgi?id=196406
-        <rdar://problem/48467422>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/CookieStorageContentView.js:
-        (WI.CookieStorageContentView.prototype.initialLayout):
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-03-28  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Show Resource Initiator in Network Tab detail views
-        https://bugs.webkit.org/show_bug.cgi?id=196316
-        <rdar://problem/49352679>
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Controllers/NetworkManager.js:
-        (WI.NetworkManager.prototype.resourceRequestWillBeSent):
-        (WI.NetworkManager.prototype.resourceRequestWasServedFromMemoryCache):
-        (WI.NetworkManager.prototype._initiatorCallFramesFromPayload):
-        Initialize call frames from the initiator payload.
-
-        * UserInterface/Models/Resource.js:
-        (WI.Resource.prototype.get initiatorCallFrames):
-        Initialization and accessor.
-
-        * UserInterface/Views/CallFrameTreeElement.js:
-        (WI.CallFrameTreeElement):
-        Selecting a native element won't do anything so just don't allow selection.
-
-        * UserInterface/Views/ResourceHeadersContentView.css:
-        (.resource-headers .go-to-link):
-        (.resource-headers .call-stack):
-        (.resource-headers .call-stack:hover):
-        (@media (prefers-color-scheme: dark)):
-        * UserInterface/Views/ResourceHeadersContentView.js:
-        (WI.ResourceHeadersContentView):
-        (WI.ResourceHeadersContentView.prototype.hidden):
-        (WI.ResourceHeadersContentView.prototype._refreshSummarySection):
-        Add an "Initiator" line in the summary with a way to view the whole
-        initiator backtrace if one exists.
-
-2019-03-26  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Sources: fix typo in CSS selector to always show add breakpoint button
-        https://bugs.webkit.org/show_bug.cgi?id=196241
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/SourcesNavigationSidebarPanel.css:
-        (.sidebar > .panel.navigation.sources > .content > .details-section:matches(.paused-reason, .breakpoints).collapsed > .header > .options,):
-        (.sidebar > .panel.navigation.sources > .content > .details-section:matches(.paused-reason, .breakpoins).collapsed > .header > .options,): Deleted.
-
-2019-03-25  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Page Weight indicator clears on pages with zero length resources (macrumors.com)
-        https://bugs.webkit.org/show_bug.cgi?id=196170
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Models/DefaultDashboard.js:
-        (WI.DefaultDashboard.prototype._resourceSizeDidChange):
-        Catch NaN earlier.
-
-        * UserInterface/Models/Resource.js:
-        (WI.Resource.prototype.updateWithMetrics):
-        When we receive exact metrics transition the estimated size to zero,
-        since we won't receive any more updates for the resource.
-
-2019-03-24  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Canvas: WebGL action icon shouldn't invert when selected
-        https://bugs.webkit.org/show_bug.cgi?id=196135
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/RecordingActionTreeElement.js:
-        (WI.RecordingActionTreeElement._classNameForAction):
-        (WI.RecordingActionTreeElement._classNameForAction.classNameForActionName): Deleted.
-        Remove unnecessary logging and memoization.
-
-        * UserInterface/Views/RecordingActionTreeElement.css:
-        (.tree-outline:focus .item.recording-action.selected:not(.invalid, .initial-state, .has-context-replacer, .name-unknown) > .icon): Added.
-        (@media (prefers-color-scheme: dark)):
-        (.item.recording-action:not(.invalid, .initial-state, .has-context-replacer, .name-unknown) > .icon): Added.
-        (.tree-outline:focus .item.recording-action.selected:not(.invalid, .initial-state, .has-context-replacer) > .icon): Deleted.
-        (.item.recording-action.has-context-replacer > .icon): Deleted.
-        (.item.recording-action:not(.invalid, .initial-state, .has-context-replacer) > .icon): Deleted.
-        Simplify styles between light and dark mode.
-
-2019-03-24  Simon Welsh  <simon@welsh-au.com>
-
-        Web Inspector: testCellRoleForRequiredChidren accessibility audit checks for rows in cells
-        https://bugs.webkit.org/show_bug.cgi?id=195988
-
-        Reviewed by Timothy Hatcher.
-
-        The audit now checks that rows contain cells, allowing any of the four
-        cell-based roles.
-
-        * UserInterface/Controllers/AuditManager.js:
-        (WI.AuditManager.prototype.addDefaultTestsIfNeeded):
-        (WI.AuditManager):
-        (WI.AuditManager.prototype.addDefaultTestsIfNeeded.const.testCellRoleForRequiredChidren): Deleted.
-
-2019-03-24  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Canvas: missing icons for WebGL2 contexts
-        https://bugs.webkit.org/show_bug.cgi?id=196136
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/CanvasSidebarPanel.css:
-        (.sidebar > .panel.navigation.canvas > .navigation-bar > .item.record-start-stop.disabled > .glyph): Added.
-        (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas:matches(.canvas-2d, .bitmaprenderer) .icon): Added.
-        (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas:matches(.webgl, .webgl2, .webgpu, .webmetal) .icon): Added.
-        (@media (prefers-color-scheme: dark)):
-        (.sidebar > .panel.navigation.canvas > .navigation-bar > .item.record-start-stop.disabled): Deleted.
-        (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.canvas.canvas-2d .icon): Deleted.
-        (.sidebar > .panel.navigation.canvas > .content > .tree-outline .item.casnvas.webgl .icon): Deleted.
-        Use the 2D icon for BitmapRenderer and the 3D icon for WebGL2, WebMetals, and WebGPU.
-        Drive-by: the start/stop button text was too dark when disabled in dark mode.
-
-        * UserInterface/Models/Canvas.js:
-        Drive-by: "gpu" => "webgpu", to match the protocol string.
-
-2019-03-22  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Sources: "Reveal in Resources Tab" still shown when Sources tab is enabled
-        https://bugs.webkit.org/show_bug.cgi?id=196134
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/RecordingActionTreeElement.js:
-        (WI.RecordingActionTreeElement.prototype.populateContextMenu):
-        Drive-by: find the first call frame that has a source code location, rather than naively
-        always using the top call frame.
-
-        * UserInterface/Views/SearchResultTreeElement.js:
-        (WI.SearchResultTreeElement.prototype.populateContextMenu):
-
-2019-03-22  Keith Rollin  <krollin@apple.com>
-
-        Enable ThinLTO support in Production builds
-        https://bugs.webkit.org/show_bug.cgi?id=190758
-        <rdar://problem/45413233>
-
-        Reviewed by Daniel Bates.
-
-        Enable building with Thin LTO in Production when using Xcode 10.2 or
-        later. This change results in a 1.45% progression in PLT5. Full
-        Production build times increase about 2-3%. Incremental build times
-        are more severely affected, and so LTO is not enabled for local
-        engineering builds.
-
-        LTO is enabled only on macOS for now, until rdar://problem/49013399,
-        which affects ARM builds, is fixed.
-
-        To change the LTO setting when building locally:
-
-        - If building with `make`, specify WK_LTO_MODE={none,thin,full} on the
-          command line.
-        - If building with `build-webkit`, specify --lto-mode={none,thin,full}
-          on the command line.
-        - If building with `build-root`, specify --lto={none,thin,full} on the
-          command line.
-        - If building with Xcode, create a LocalOverrides.xcconfig file at the
-          top level of your repository directory (if needed) and define
-          WK_LTO_MODE to full, thin, or none.
-
-        * Configurations/Base.xcconfig:
-
-2019-03-21  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Timelines - Cannot export on about:blank - suggested filename containing a colon silently fails
-        https://bugs.webkit.org/show_bug.cgi?id=196109
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Base/FileUtilities.js:
-        (WI.FileUtilities.sanitizeFilename):
-        (WI.FileUtilities.inspectorURLForFilename):
-        New utility functions.
-
-        * UserInterface/Test.html:
-        Include FileUtilities.
-
-        * UserInterface/Base/Main.js:
-        * UserInterface/Controllers/AuditManager.js:
-        (WI.AuditManager.prototype.export):
-        * UserInterface/Debug/ProtocolTrace.js:
-        (WI.ProtocolTrace.prototype.get saveData):
-        (WI.ProtocolTrace):
-        * UserInterface/Views/ConsoleMessageView.js:
-        (WI.ConsoleMessageView.prototype._handleContextMenu):
-        (WI.ConsoleMessageView):
-        * UserInterface/Views/ContextMenuUtilities.js:
-        * UserInterface/Views/HeapSnapshotContentView.js:
-        (WI.HeapSnapshotContentView.prototype._exportSnapshot):
-        * UserInterface/Views/LogContentView.js:
-        (WI.LogContentView.prototype.get saveData):
-        (WI.LogContentView.prototype._handleContextMenuEvent):
-        * UserInterface/Views/NetworkTableContentView.js:
-        (WI.NetworkTableContentView.prototype._exportHAR):
-        * UserInterface/Views/RecordingContentView.js:
-        (WI.RecordingContentView.prototype._exportRecording):
-        (WI.RecordingContentView.prototype._exportReduction):
-        * UserInterface/Views/ScriptContentView.js:
-        (WI.ScriptContentView.prototype.get saveData):
-        * UserInterface/Views/ShaderProgramContentView.js:
-        (WI.ShaderProgramContentView.prototype.get saveData):
-        * UserInterface/Views/TextContentView.js:
-        (WI.TextContentView.prototype.get saveData):
-        * UserInterface/Views/TextResourceContentView.js:
-        (WI.TextResourceContentView.prototype.get saveData):
-        * UserInterface/Views/TimelineRecordingContentView.js:
-        (WI.TimelineRecordingContentView.prototype._exportTimelineRecording):
-        Update "web-inspector:///" URL building code to use the utility.
-
-2019-03-21  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Use CSS variables for text color in Computed panel
-        https://bugs.webkit.org/show_bug.cgi?id=196117
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/ComputedStyleSection.css:
-        (.computed-style-section):
-        (.computed-style-section .computed-property-item .property-trace-item .selector):
-        (.computed-style-section .computed-property-item .go-to-link):
-
-2019-03-21  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Timelines: flatten the overview to show all records, one per line
-        https://bugs.webkit.org/show_bug.cgi?id=191901
-        <rdar://problem/46423618>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/OverviewTimelineView.js:
-        (WI.OverviewTimelineView):
-        (WI.OverviewTimelineView.prototype.closed):
-        (WI.OverviewTimelineView.prototype.get navigationItems): Added.
-        (WI.OverviewTimelineView.prototype.reset):
-        (WI.OverviewTimelineView.prototype.layout):
-        (WI.OverviewTimelineView.prototype.get _relevantTimelines): Added.
-        (WI.OverviewTimelineView.prototype.get _shouldGroupBySourceCode): Added.
-        (WI.OverviewTimelineView.prototype._loadExistingRecords): Added.
-        (WI.OverviewTimelineView.prototype._insertDataGridNode):
-        (WI.OverviewTimelineView.prototype._addResourceToDataGridIfNeeded):
-        (WI.OverviewTimelineView.prototype._addSourceCodeTimeline):
-        (WI.OverviewTimelineView.prototype._processPendingRepresentedObjects):
-        (WI.OverviewTimelineView.prototype._handleGroupBySourceCodeSettingChanged): Added.
-        (WI.OverviewTimelineView.prototype._handleGroupBySourceCodeNavigationItemCheckedDidChange): Added.
-        (WI.OverviewTimelineView.prototype._handleTimelineRecordAdded): Added.
-        (WI.OverviewTimelineView.prototype._sourceCodeTimelineAdded):
-        (WI.OverviewTimelineView.prototype._networkTimelineRecordAdded): Deleted.
-        Listen for new records on all timelines. Add each record as a new line. Since each timeline
-        has different data to display, only show the "name" and "graph" for all records.
-
-        * UserInterface/Views/TimelineRecordingContentView.js:
-        (WI.TimelineRecordingContentView):
-        (WI.TimelineRecordingContentView.prototype._currentContentViewDidChange):
-        (WI.TimelineRecordingContentView.prototype._updateImportedView): Deleted.
-        When viewing the overview of an imported recording, show the non-grouped overview.
-
-        * UserInterface/Models/TimelineRecording.js:
-        (WI.TimelineRecording.prototype.addRecord):
-        (WI.TimelineRecording.prototype._keyForRecord):
-        Drive-by: show Media timeline events under the owner frame's resource when grouped.
-
-        * UserInterface/Views/TimelineRecordBar.css:
-        (.timeline-record-bar.timeline-record-type-script.garbage-collected > .segment, .timeline-record-bar.timeline-record-type-heap-allocations > .segment): Added.
-        (.timeline-record-bar.timeline-record-type-script.garbage-collected > .segment): Deleted.
-
-        * UserInterface/Base/Setting.js:
-        Add setting for controlling the Timeline overview grouping.
-
-        * UserInterface/Main.html:
-        * UserInterface/Views/SourceCodeTimelineTreeElement.js: Removed.
-        * UserInterface/Views/TimelineRecordingImportedView.js: Removed.
-        * UserInterface/Views/TimelineRecordingImportedView.css: Removed.
-        Remove unused files.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-03-21  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Sources: the name of the file should not be used as a folder
-        https://bugs.webkit.org/show_bug.cgi?id=196064
-        <rdar://problem/49097710>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/GeneralTreeElement.js:
-        (WI.GeneralTreeElement.prototype.createFoldersAsNeededForSubpath):
-
-        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
-        (WI.SourcesNavigationSidebarPanel.prototype._addResource):
-        Drive-by: sort resources in each folder by name when grouping by path.
-
-2019-03-20  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Canvas: rework how Canvas.enable/Canvas.disable is used so that events are not sent when the Canvas tab isn't enabled
-        https://bugs.webkit.org/show_bug.cgi?id=195828
-        <rdar://problem/48941756>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Controllers/CanvasManager.js:
-        (WI.CanvasManager):
-        (WI.CanvasManager.prototype.initializeTarget):
-        (WI.CanvasManager.prototype.enable): Added.
-        (WI.CanvasManager.prototype.disable): Added.
-
-        * UserInterface/Views/CanvasTabContentView.js:
-        (WI.CanvasTabContentView):
-        (WI.CanvasTabContentView.prototype.closed): Added.
-
-        * UserInterface/Base/Test.js:
-        (WI.contentLoaded):
-
-2019-03-20  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Sources: collapsing a section doesn't shrink the space used by that section
-        https://bugs.webkit.org/show_bug.cgi?id=196045
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
-        (WI.SourcesNavigationSidebarPanel):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerPaused):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerResumed):
-        * UserInterface/Views/SourcesNavigationSidebarPanel.css:
-        (.sidebar > .panel.navigation.sources > .content > .details-section):
-        (.sidebar > .panel.navigation.sources > .content > .details-section:matches(.paused-reason, .breakpoins).collapsed > .header > .options,):
-        (.sidebar > .panel.navigation.sources > .content > .details-section.collapsed > .content):
-        (.sidebar > .panel.navigation.sources > .content > .details-section.breakpoints > .header > .options .create-breakpoint):
-        (.sidebar > .panel.navigation.sources > .content > .details-section:matches(.pause-reason, .call-stack, .breakpoints) > .content,):
-        (.sidebar > .panel.navigation.sources > .content > .details-section:matches(.call-stack, .breakpoints) > .content):
-        (.sidebar > .panel.navigation.sources > .content > .details-section:matches(.call-stack, .breakpoints):not(.collapsed) > .content):
-        (.sidebar > .panel.navigation.sources > .content > .details-section.call-stack):
-        (.sidebar > .panel.navigation.sources > .content > .details-section.breakpoints):
-        (.sidebar > .panel.navigation.sources > .content > .details-section.breakpoints .create-breakpoint):
-        (.sidebar > .panel.navigation.sources > .content > .pause-reason):
-        (.sidebar > .panel.navigation.sources > .content > .details-section:matches(.call-stack, .breakpoints):not(.collapsed) > .content,):
-        (.sidebar > .panel.navigation.sources > .content > .details-section.breakpoints .tree-outline .item.event-target-window .icon):
-        (.sidebar > .panel.navigation.sources > .content .details-section): Deleted.
-        (.sidebar > .panel.navigation.sources > .content .details-section:matches(.paused-reason, .breakpoins).collapsed > .header > .options,): Deleted.
-        (.sidebar > .panel.navigation.sources > .content .details-section.collapsed > .content): Deleted.
-        (.sidebar > .panel.navigation.sources > .content .details-section.breakpoints > .header > .options .create-breakpoint): Deleted.
-        (.sidebar > .panel.navigation.sources > .content > :matches(.pause-reason-container, .call-stack-container, .breakpoints-container)): Deleted.
-        (.sidebar > .panel.navigation.sources > .content > .call-stack-container): Deleted.
-        (.sidebar > .panel.navigation.sources > .content > .breakpoints-container): Deleted.
-        (.sidebar > .panel.navigation.sources > .content > .breakpoints-container .create-breakpoint): Deleted.
-        (.sidebar > .panel.navigation.sources > .content > .resources-container): Deleted.
-        (.sidebar > .panel.navigation.sources > .content > .pause-reason-container): Deleted.
-        (.sidebar > .panel.navigation.sources > .content > :matches(.call-stack-container, .breakpoints-container, .resources-container)): Deleted.
-        (.sidebar > .panel.navigation.sources > .content > .breakpoints .tree-outline .item.event-target-window .icon): Deleted.
-         - Apply the overflow scrolling to the content element of each `WI.DetailsSection`.
-         - Ensure that there is a maximum height for each section.
-         - When `.collapsed`, don't try to grow/shrink the section based on its contents.
-
-        * UserInterface/Views/CallFrameTreeElement.css:
-        (.tree-outline .item.call-frame):
-        (.tree-outline .item.call-frame .status):
-        Make the container of the active call frame status indicator relatively positioned so that
-        the active call frame status indicator will follow the container when scrolling.
-
-2019-03-20  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Timeline should show when events preventDefault() was called on an event or not
-        https://bugs.webkit.org/show_bug.cgi?id=176824
-        <rdar://problem/34290931>
-
-        Reviewed by Timothy Hatcher.
-
-        Original patch by Joseph Pecoraro <pecoraro@apple.com>.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        New string.
-
-        * UserInterface/Controllers/TimelineManager.js:
-        (WI.TimelineManager.prototype._processRecord):
-        Include the whole data object as extra details.
-
-        * UserInterface/Models/ScriptTimelineRecord.js:
-        (WI.ScriptTimelineRecord):
-        (WI.ScriptTimelineRecord.prototype.get eventType):
-        Wholesale copy of the extra data instead of just a single property.
-
-        * UserInterface/Views/ScriptDetailsTimelineView.js:
-        (WI.ScriptDetailsTimelineView):
-        Give the name column more initial space, there is still extra space
-        after this adjustment but name is comfortably larger (and the most
-        likely to be expanded).
-
-        * UserInterface/Views/ScriptTimelineDataGridNode.js:
-        (WI.ScriptTimelineDataGridNode.prototype.get subtitle):
-        Include "default prevented" as the event's subtitle if it was prevented.
-
-2019-03-20  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Styles Redesign: Editing selector should not hide the rule
-        https://bugs.webkit.org/show_bug.cgi?id=178489
-        <rdar://problem/35062434>
-
-        Reviewed by Timothy Hatcher.
-
-        Extracts the selector payload parsing logic inside `WI.DOMNodeStyles` into static functions
-        so that when the user changes the selector of a `WI.CSSRule`, it's able to process and
-        update itself with the new selector. This is mainly useful in the case where the `WI.CSSRule`
-        no longer applies to the selected node (meaning it won't be part of that node's
-        `WI.DOMNodeStyles`) in that it allows the `WI.SpreadsheetCSSStyleDeclarationSection` to
-        display the new selector text and the owner `WI.SpreadsheetRulesStyleDetailsPanel` to keep
-        that section visible even though it isn't applicable to the current node anymore.
-
-        * UserInterface/Models/DOMNodeStyles.js:
-        (WI.DOMNodeStyles):
-        (WI.DOMNodeStyles.parseSelectorListPayload): Added.
-        (WI.DOMNodeStyles.createSourceCodeLocation): Added.
-        (WI.DOMNodeStyles.prototype.refresh):
-        (WI.DOMNodeStyles.prototype.refresh.fetchedMatchedStyles):
-        (WI.DOMNodeStyles.prototype.refresh.fetchedInlineStyles):
-        (WI.DOMNodeStyles.prototype.refresh.fetchedComputedStyle):
-        (WI.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
-        (WI.DOMNodeStyles.prototype._parseRulePayload):
-        (WI.DOMNodeStyles.prototype._styleSheetContentDidChange):
-        (WI.DOMNodeStyles.prototype.refresh.parseRuleMatchArrayPayload): Deleted.
-        (WI.DOMNodeStyles.prototype._createSourceCodeLocation): Deleted.
-        (WI.DOMNodeStyles.prototype._parseSelectorListPayload): Deleted.
-        Keep track of all `WI.CSSRule` and `WI.CSSStyleDeclaration` that have ever been associated
-        with this object, so that if a rule's selector is changed to no longer match, and then is
-        changed back to match again, we are able to update that rule instead of creating a new one.
-
-        * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
-        (WI.SpreadsheetRulesStyleDetailsPanel.prototype.layout):
-        (WI.SpreadsheetRulesStyleDetailsPanel.prototype._handleSectionFilterApplied):
-        (WI.SpreadsheetRulesStyleDetailsPanel.prototype._handleSectionSelectorWillChange): Added.
-        Attempt to preserve the position of any sections that are changed and no longer apply to the
-        current node.
-
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
-        (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetSelectorFieldDidChange):
-        (WI.SpreadsheetCSSStyleDeclarationSection.prototype._renderSelector):
-        Drive-by: remove unused CSS classes.
-
-        * UserInterface/Models/CSSRule.js:
-        (WI.CSSRule.prototype.update):
-        (WI.CSSRule.prototype._selectorResolved):
-        Drive-by: remove unused event.
-
-        * UserInterface/Base/Multimap.js:
-        (Multimap.prototype.has): Added.
-        (Multimap.prototype.sets): Added.
-        (Multimap.prototype.copy): Added.
-
-2019-03-20  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: no way to filter out all console messages or all evaluations/results
-        https://bugs.webkit.org/show_bug.cgi?id=167035
-        <rdar://problem/30023523>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/LogContentView.js:
-        (WI.LogContentView):
-        (WI.LogContentView.prototype.didAppendConsoleMessageView):
-        (WI.LogContentView.prototype._markScopeBarItemUnread):
-        (WI.LogContentView.prototype._markScopeBarItemForMessageLevelUnread): Added.
-        (WI.LogContentView.prototype._previousMessageRepeatCountUpdated):
-        (WI.LogContentView.prototype._messageSourceBarSelectionDidChange):
-        (WI.LogContentView.prototype._scopeBarSelectionDidChange):
-        (WI.LogContentView.prototype._filterMessageElements):
-        (WI.LogContentView.prototype.performSearch):
-        * UserInterface/Views/LogContentView.css:
-        (.log-scope-bar > li.unread.evaluations::before): Added.
-
-        * UserInterface/Views/ConsoleCommandView.js:
-        (WI.ConsoleCommandView):
-        Drive-by: remove unnecessary super-class extends.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-03-20  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Styles: enabledProperties don't get invalidated after removing property
-        https://bugs.webkit.org/show_bug.cgi?id=196038
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Models/CSSStyleDeclaration.js:
-        (WI.CSSStyleDeclaration.prototype.shiftPropertiesAfter):
-
-2019-03-20  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: DOM: include window as part of any event listener chain
-        https://bugs.webkit.org/show_bug.cgi?id=195730
-        <rdar://problem/48916872>
-
-        Reviewed by Timothy Hatcher.
-
-        Allow non-nodes (e.g. `window`) to be listed as the target of an event listener.
-        Add support for the same concept when showing breakpoint details after pausing on a specific
-        event listener in the Debugger/Sources navigation sidebar.
-
-        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
-        (WI.DOMNodeDetailsSidebarPanel.prototype.initialLayout):
-        (WI.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.generateGroupsByEvent):
-        (WI.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.generateGroupsByTarget): Added.
-        (WI.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.eventListenersCallback):
-        (WI.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners):
-        (WI.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.generateGroupsByNode): Deleted.
-
-        * UserInterface/Views/EventListenerSectionGroup.js:
-        (WI.EventListenerSectionGroup.prototype._targetTextOrLink): Added.
-        (WI.EventListenerSectionGroup.prototype._nodeTextOrLink): Deleted.
-
-        * UserInterface/Views/DebuggerSidebarPanel.js:
-        (WI.DebuggerSidebarPanel.prototype._addBreakpoint):
-        (WI.DebuggerSidebarPanel.prototype._breakpointTreeOutlineDeleteTreeElement):
-        (WI.DebuggerSidebarPanel.prototype._treeSelectionDidChange):
-        (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
-        * UserInterface/Views/DebuggerSidebarPanel.css:
-        (.sidebar > .panel.navigation.debugger > .content > .breakpoints .tree-outline .item.event-target-window .icon): Added.
-
-        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
-        (WI.SourcesNavigationSidebarPanel):
-        (WI.SourcesNavigationSidebarPanel.prototype._addBreakpoint):
-        (WI.SourcesNavigationSidebarPanel.prototype._updatePauseReasonSection):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleTreeSelectionDidChange):
-        * UserInterface/Views/SourcesNavigationSidebarPanel.css:
-        (.sidebar > .panel.navigation.sources > .content > .breakpoints .tree-outline .item.event-target-window .icon): Added.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-03-20  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Debugger: virtualize the list of variables in the Scope sidebar
-        https://bugs.webkit.org/show_bug.cgi?id=192648
-        <rdar://problem/46800949>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/ScopeChainDetailsSidebarPanel.js:
-        (WI.ScopeChainDetailsSidebarPanel.prototype._generateCallFramesSection):
-
-        * UserInterface/Views/TreeElement.js:
-        (WI.TreeElement.prototype.set hidden):
-        (WI.TreeElement.prototype._attach):
-        (WI.TreeElement.prototype._detach):
-        (WI.TreeElement.prototype.collapse):
-        (WI.TreeElement.prototype.expand):
-        Move `updateVirtualizedElements` calls to the owner `WI.TreeOutline` to ensure that they get
-        called. Make the remaining calls use rAF debouncing to better coalesce updates.
-
-        * UserInterface/Views/TreeOutline.js:
-        (WI.TreeOutline.prototype._rememberTreeElement):
-        (WI.TreeOutline.prototype._forgetTreeElement):
-        (WI.TreeOutline.prototype.registerScrollVirtualizer):
-        (WI.TreeOutline.prototype._updateVirtualizedElements.calculateOffsetFromContainer): Added.
-        (WI.TreeOutline.prototype._updateVirtualizedElements):
-        (WI.TreeOutline.prototype._calculateVirtualizedValues): Deleted.
-        Calculate the `WI.TreeOutline`'s top offset within the scroll container so that it will only
-        update when it's within the visual area.
-
-        * UserInterface/Views/Utilities.js:
-        (Array.prototype.remove):
-        Return whether the item was actually removed from the array.
-
-2019-03-20  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Timelines - Export fails for MediaTimelineRecords with originator DOM Node - Cannot serialize cyclic structure
-        https://bugs.webkit.org/show_bug.cgi?id=196027
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Models/MediaTimelineRecord.js:
-        (WI.MediaTimelineRecord.prototype.toJSON):
-        Remove the originator since that is a WI.DOMNode and cannot
-        be JSON serialized.
-
-2019-03-20  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Debugger: move breakpoint storage to use `WI.ObjectStore`
-        https://bugs.webkit.org/show_bug.cgi?id=192719
-        <rdar://problem/46746857>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Controllers/DebuggerManager.js:
-        (WI.DebuggerManager):
-        (WI.DebuggerManager.prototype.addBreakpoint):
-        (WI.DebuggerManager.prototype.removeBreakpoint):
-        (WI.DebuggerManager.prototype._debuggerBreakpointOptions):
-        (WI.DebuggerManager.prototype._setBreakpoint.didSetBreakpoint):
-        (WI.DebuggerManager.prototype._setBreakpoint):
-        (WI.DebuggerManager.prototype._breakpointDisabledStateDidChange):
-        (WI.DebuggerManager.prototype._breakpointEditablePropertyDidChange):
-        (WI.DebuggerManager.prototype._saveBreakpoints): Deleted.
-
-        * UserInterface/Models/Breakpoint.js:
-        (WI.Breakpoint.prototype.saveIdentityToCookie):
-        (WI.Breakpoint.prototype.serializeOptions): Added.
-        (WI.Breakpoint.prototype.toJSON): Added.
-        (WI.Breakpoint.prototype.get options): Deleted.
-        (WI.Breakpoint.prototype.get info): Deleted.
-        (WI.Breakpoint.prototype._serializableActions): Deleted.
-        * UserInterface/Models/BreakpointAction.js:
-        (WI.BreakpointAction.prototype.toJSON): Added.
-        (WI.BreakpointAction.prototype.get info): Deleted.
-
-        * UserInterface/Base/ObjectStore.js:
-        (WI.ObjectStore.async reset): Added.
-        (WI.ObjectStore._open):
-        (WI.ObjectStore.prototype.get keyPath): Added.
-        (WI.ObjectStore.prototype.async.getAll):
-        (WI.ObjectStore.prototype.async.put): Added.
-        (WI.ObjectStore.prototype.async.putObject): Added.
-        (WI.ObjectStore.prototype.async.add): Deleted.
-        (WI.ObjectStore.prototype.async.addObject): Deleted.
-        Replace `add` with `put` so that if a key already exists, it is overridden.
-
-        * UserInterface/Controllers/AuditManager.js:
-        (WI.AuditManager.prototype.set editing):
-        (WI.AuditManager.prototype.async processJSON):
-
-        * UserInterface/Controllers/BreakpointPopoverController.js:
-        (WI.BreakpointPopoverController.prototype._popoverActionsAddActionButtonClicked):
-        Inline some `WI.Breakpoint` static values.
-
-2019-03-20  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Sources: disabled breakpoints banner should be sticky
-        https://bugs.webkit.org/show_bug.cgi?id=195104
-        <rdar://problem/48442259>
-
-        Reviewed by Timothy Hatcher.
-
-        Allow each of the individual sections to be scrolled separately from the entire sidebar.
-
-        Leverage CSS variables set via JavaScript to be able to calculate the maximum height of each
-        `WI.TreeOutline` section based on the number of items.
-
-        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
-        (WI.SourcesNavigationSidebarPanel):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleCallStackElementAddedOrRemoved): Added.
-        (WI.SourcesNavigationSidebarPanel.prototype._handleBreakpointElementAddedOrRemoved):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerPaused):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerResumed):
-        * UserInterface/Views/SourcesNavigationSidebarPanel.css:
-        (.sidebar > .panel.navigation.sources > .content):
-        (.sidebar > .panel.navigation.sources > .content .details-section): Added.
-        (.sidebar > .panel.navigation.sources > .content .details-section.paused-reason.collapsed > .header > .options,): Added.
-        (.sidebar > .panel.navigation.sources > .content .details-section.collapsed > .content): Added.
-        (.sidebar > .panel.navigation.sources > .content > :matches(.pause-reason-container, .call-stack-container, .breakpoints-container)): Added.
-        (.sidebar > .panel.navigation.sources > .content > .call-stack-container): Added.
-        (.sidebar > .panel.navigation.sources > .content > .breakpoints-container): Added.
-        (.sidebar > .panel.navigation.sources > .content > .breakpoints-container .create-breakpoint): Added.
-        (.sidebar > .panel.navigation.sources > .content > .resources-container): Added.
-        (.sidebar > .panel.navigation.sources > .content .tree-outline.single-thread): Added.
-        (.sidebar > .panel.navigation.sources > .content .tree-outline.single-thread > .item.thread): Added.
-        (@media (min-height: 600px) .sidebar > .panel.navigation.sources > .content): Added.
-        (@media (min-height: 600px) .sidebar > .panel.navigation.sources > .content > .pause-reason-container): Added.
-        (@media (min-height: 600px) .sidebar > .panel.navigation.sources > .content > :matches(.call-stack-container, .breakpoints-container, .resources-container)): Added.
-        (.sidebar > .panel.navigation.sources > .content > .details-section): Deleted.
-        (.sidebar > .panel.navigation.sources > .content > .details-section.paused-reason.collapsed > .header > .options,): Deleted.
-        (.sidebar > .panel.navigation.sources > .content > .details-section.collapsed > .content): Deleted.
-        (.sidebar > .panel.navigation.sources > .content > .details-section.breakpoints > .header > .options .create-breakpoint): Deleted.
-        (.sidebar > .panel.navigation.sources > .content > .tree-outline.single-thread): Deleted.
-        (.sidebar > .panel.navigation.sources > .content > .tree-outline.single-thread > .item.thread): Deleted.
-        (.sidebar > .panel.navigation.sources > .content > .resources): Deleted.
-
-2019-03-20  Devin Rousso  <drousso@apple.com>
-
-        "Reveal in Layers Tab" context menu option should not be available if the Layers Tab has not been enabled
-        https://bugs.webkit.org/show_bug.cgi?id=196009
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/ContextMenuUtilities.js:
-        (WI.appendContextMenuItemsForDOMNode):
-
-2019-03-20  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Console: add a setting for controlling auto-expansion of Trace messages
-        https://bugs.webkit.org/show_bug.cgi?id=195690
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/ConsoleMessageView.js:
-        (WI.ConsoleMessageView.prototype._appendStackTrace):
-
-        * UserInterface/Base/Setting.js:
-        * UserInterface/Views/SettingsTabContentView.js:
-        (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-03-20  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: DOM: selecting a node in a different frame should automatically switch the console prompt's execution context
-        https://bugs.webkit.org/show_bug.cgi?id=195805
-        <rdar://problem/48930866>
-
-        Reviewed by Timothy Hatcher.
-
-        Add an "Auto" execution context item that is selected by default and will update the
-        selected execution context whenever the inspected node changes. It will also display the
-        preferred name for whatever execution context is currently active.
-
-        * UserInterface/Views/QuickConsole.js:
-        (WI.QuickConsole):
-        (WI.QuickConsole.prototype.initializeMainExecutionContextPathComponent):
-        (WI.QuickConsole.prototype._preferredNameForFrame): Added.
-        (WI.QuickConsole.prototype._selectExecutionContext): Added.
-        (WI.QuickConsole.prototype._executionContextPathComponentsToDisplay):
-        (WI.QuickConsole.prototype._rebuildExecutionContextPathComponents):
-        (WI.QuickConsole.prototype._framePageExecutionContextsChanged):
-        (WI.QuickConsole.prototype._frameExecutionContextsCleared):
-        (WI.QuickConsole.prototype._activeExecutionContextChanged):
-        (WI.QuickConsole.prototype._createExecutionContextPathComponent):
-        (WI.QuickConsole.prototype._insertOtherExecutionContextPathComponent):
-        (WI.QuickConsole.prototype._removeOtherExecutionContextPathComponent):
-        (WI.QuickConsole.prototype._insertExecutionContextPathComponentForFrame):
-        (WI.QuickConsole.prototype._removeExecutionContextPathComponentForFrame):
-        (WI.QuickConsole.prototype._targetRemoved):
-        (WI.QuickConsole.prototype._pathComponentSelected):
-        (WI.QuickConsole.prototype._handleInspectedNodeChanged): Added.
-        (WI.QuickConsole.prototype.get selectedExecutionContext): Deleted.
-        (WI.QuickConsole.prototype.set selectedExecutionContext): Deleted.
-        (WI.QuickConsole.prototype._createExecutionContextPathComponentFromFrame): Deleted.
-        * UserInterface/Views/QuickConsole.css:
-        (.quick-console > .navigation-bar > .hierarchical-path:not(.automatic-execution-context)): Added.
-        (.quick-console > .navigation-bar > .hierarchical-path:not(.automatic-execution-context) .execution-context): Added.
-        (.quick-console > .navigation-bar > .hierarchical-path:not(.automatic-execution-context) .execution-context .selector-arrows): Added.
-        (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context): Deleted.
-        (.quick-console > .navigation-bar > .hierarchical-path.non-default-execution-context .execution-context .selector-arrows): Deleted.
-
-        * UserInterface/Controllers/DOMManager.js:
-        (WI.DOMManager.prototype.get inspectedNode): Added.
-        (WI.DOMManager.prototype.setInspectedNode):
-        Broadcast when the inspected node changes.
-
-        * UserInterface/Views/NavigationBar.js:
-        (WI.NavigationBar.prototype.layout):
-        When `sizesToFit` is enabled, don't force any items to be hidden.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-03-20  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: refactor WI.TimelineDataGridNode and its subclasses to unify the API surface
-        https://bugs.webkit.org/show_bug.cgi?id=195959
-        <rdar://problem/49028896>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/TimelineDataGridNode.js:
-        (WI.TimelineDataGridNode.prototype.get records):
-        (WI.TimelineDataGridNode.prototype.get data):
-        (WI.TimelineDataGridNode.prototype.refresh):
-
-        * UserInterface/Views/HeapAllocationsTimelineDataGridNode.js:
-        (WI.HeapAllocationsTimelineDataGridNode):
-        (WI.HeapAllocationsTimelineDataGridNode.prototype.get heapSnapshot): Added.
-        (WI.HeapAllocationsTimelineDataGridNode.prototype.get data):
-        (WI.HeapAllocationsTimelineDataGridNode.prototype.createCellContent):
-        (WI.HeapAllocationsTimelineDataGridNode.prototype.createCells):
-        (WI.HeapAllocationsTimelineDataGridNode.prototype._handleHeapSnapshotCollectedNodes):
-        (WI.HeapAllocationsTimelineDataGridNode.prototype._handleHeapSnapshotInvalidated):
-        (WI.HeapAllocationsTimelineDataGridNode.prototype.get record): Deleted.
-        (WI.HeapAllocationsTimelineDataGridNode.prototype.updateTimestamp): Deleted.
-        (WI.HeapAllocationsTimelineDataGridNode.prototype._heapSnapshotCollectedNodes): Deleted.
-        (WI.HeapAllocationsTimelineDataGridNode.prototype._heapSnapshotInvalidated): Deleted.
-
-        * UserInterface/Views/LayoutTimelineDataGridNode.js:
-        (WI.LayoutTimelineDataGridNode):
-        (WI.LayoutTimelineDataGridNode.prototype.get data):
-        (WI.LayoutTimelineDataGridNode.prototype.createCellContent):
-        (WI.LayoutTimelineDataGridNode.prototype.get records): Deleted.
-
-        * UserInterface/Views/MediaTimelineDataGridNode.js:
-        (WI.MediaTimelineDataGridNode):
-        (WI.MediaTimelineDataGridNode.prototype.get records): Deleted.
-
-        * UserInterface/Views/ProfileNodeDataGridNode.js:
-        (WI.ProfileNodeDataGridNode):
-        (WI.ProfileNodeDataGridNode.prototype.get profileNode):
-        (WI.ProfileNodeDataGridNode.prototype.get data):
-        (WI.ProfileNodeDataGridNode.prototype.createCellContent):
-        (WI.ProfileNodeDataGridNode.prototype._populate):
-        (WI.ProfileNodeDataGridNode.prototype.get records): Deleted.
-        (WI.ProfileNodeDataGridNode.prototype.get baseStartTime): Deleted.
-        (WI.ProfileNodeDataGridNode.prototype.get rangeStartTime): Deleted.
-        (WI.ProfileNodeDataGridNode.prototype.get rangeEndTime): Deleted.
-        (WI.ProfileNodeDataGridNode.prototype.updateRangeTimes): Deleted.
-        (WI.ProfileNodeDataGridNode.prototype.refresh): Deleted.
-
-        * UserInterface/Views/RenderingFrameTimelineDataGridNode.js:
-        (WI.RenderingFrameTimelineDataGridNode):
-        (WI.RenderingFrameTimelineDataGridNode.prototype.get data):
-        (WI.RenderingFrameTimelineDataGridNode.prototype.createCellContent):
-        (WI.RenderingFrameTimelineDataGridNode.prototype.get records): Deleted.
-
-        * UserInterface/Views/ResourceTimelineDataGridNode.js:
-        (WI.ResourceTimelineDataGridNode):
-        (WI.ResourceTimelineDataGridNode.prototype.get resource):
-        (WI.ResourceTimelineDataGridNode.prototype.get data):
-        (WI.ResourceTimelineDataGridNode.prototype.createCellContent):
-        (WI.ResourceTimelineDataGridNode.prototype.appendContextMenuItems):
-        (WI.ResourceTimelineDataGridNode.prototype.filterableDataForColumn):
-        (WI.ResourceTimelineDataGridNode.prototype._createNameCellDocumentFragment):
-        (WI.ResourceTimelineDataGridNode.prototype._cachedCellContent):
-        (WI.ResourceTimelineDataGridNode.prototype._timelineRecordUpdated):
-        (WI.ResourceTimelineDataGridNode.prototype._dataGridNodeGoToArrowClicked):
-        (WI.ResourceTimelineDataGridNode.prototype._updateStatus):
-        (WI.ResourceTimelineDataGridNode.prototype._mouseoverRecordBar.else.let.graphDataSource.get startTime):
-        (WI.ResourceTimelineDataGridNode.prototype._mouseoverRecordBar.else.let.graphDataSource.get currentTime):
-        (WI.ResourceTimelineDataGridNode.prototype._mouseoverRecordBar.else.let.graphDataSource.get endTime):
-        (WI.ResourceTimelineDataGridNode.prototype._mouseoverRecordBar.else.let.graphDataSource.get _extraTimePadding):
-        (WI.ResourceTimelineDataGridNode.prototype._mouseoverRecordBar):
-        (WI.ResourceTimelineDataGridNode.prototype.get records): Deleted.
-
-        * UserInterface/Views/ResourceTimingPopoverDataGridNode.js:
-        (WI.ResourceTimingPopoverDataGridNode):
-        (WI.ResourceTimingPopoverDataGridNode.prototype.get records): Deleted.
-
-        * UserInterface/Views/ScriptTimelineDataGridNode.js:
-        (WI.ScriptTimelineDataGridNode.prototype.get data):
-        (WI.ScriptTimelineDataGridNode.prototype.get subtitle):
-        (WI.ScriptTimelineDataGridNode.prototype.createCellContent):
-        (WI.ScriptTimelineDataGridNode.prototype.get records): Deleted.
-        (WI.ScriptTimelineDataGridNode.prototype.get baseStartTime): Deleted.
-        (WI.ScriptTimelineDataGridNode.prototype.get rangeStartTime): Deleted.
-        (WI.ScriptTimelineDataGridNode.prototype.get rangeEndTime): Deleted.
-        (WI.ScriptTimelineDataGridNode.prototype.updateRangeTimes): Deleted.
-
-        * UserInterface/Views/SourceCodeTimelineTimelineDataGridNode.js:
-        (WI.SourceCodeTimelineTimelineDataGridNode.prototype.get data):
-
-        * UserInterface/Views/HeapAllocationsTimelineView.js:
-        (WI.HeapAllocationsTimelineView):
-        (WI.HeapAllocationsTimelineView.prototype.layout):
-        (WI.HeapAllocationsTimelineView.prototype.reset):
-        * UserInterface/Views/LayoutTimelineView.js:
-        (WI.LayoutTimelineView.prototype._processPendingRecords):
-        * UserInterface/Views/MediaTimelineView.js:
-        (WI.MediaTimelineView.prototype._processPendingRecords):
-        * UserInterface/Views/NetworkTimelineView.js:
-        (WI.NetworkTimelineView.prototype._processPendingRecords):
-        * UserInterface/Views/OverviewTimelineView.js:
-        (WI.OverviewTimelineView.prototype._addResourceToDataGridIfNeeded):
-        (WI.OverviewTimelineView.prototype._addSourceCodeTimeline):
-        * UserInterface/Views/RenderingFrameTimelineView.js:
-        (WI.RenderingFrameTimelineView.prototype._processPendingRecords):
-        * UserInterface/Views/ScriptDetailsTimelineView.js:
-        (WI.ScriptDetailsTimelineView.prototype.layout):
-        (WI.ScriptDetailsTimelineView.prototype._processPendingRecords):
-        Update Timeline `WI.DataGrid` views to use the new constructor format.
-
-        * UserInterface/Views/ResourceTimelineDataGridNode.css:
-        (.resource-timing-popover-content .data-grid td.graph-column):
-        Drive-by: add extra padding before/after resource timing bars shown when hovering.
-
-2019-03-20  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: changes to CSS resources only take affect once editing stops
-        https://bugs.webkit.org/show_bug.cgi?id=195774
-        <rdar://problem/48905413>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Controllers/CSSManager.js:
-        (WI.CSSManager.prototype._resourceContentDidChange.applyStyleSheetChanges.styleSheetFound):
-        (WI.CSSManager.prototype._resourceContentDidChange):
-        (WI.CSSManager.prototype._updateResourceContent.fetchedStyleSheetContent):
-        (WI.CSSManager.prototype._updateResourceContent):
-        Use a `Throttler` instead of a 500ms debounce.
-
-2019-03-20  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Search: allow DOM searches to be case sensitive
-        https://bugs.webkit.org/show_bug.cgi?id=194673
-        <rdar://problem/48087577>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/SearchSidebarPanel.js:
-        (WI.SearchSidebarPanel.prototype.performSearch):
-
-        * UserInterface/Views/DOMTreeContentView.js:
-        (WI.DOMTreeContentView.prototype.performSearch.contextNodesReady):
-
-        * UserInterface/Controllers/DOMManager.js:
-        (WI.DOMManager.prototype.performSearch.callback): Deleted.
-        (WI.DOMManager.prototype.performSearch): Deleted.
-        (WI.DOMManager.prototype.searchResult.mycallback): Deleted.
-        (WI.DOMManager.prototype.searchResult): Deleted.
-        (WI.DOMManager.prototype.cancelSearch): Deleted.
-        Drive-by: remove unused code.
-
-2019-03-19  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Sources: provide option to group by path
-        https://bugs.webkit.org/show_bug.cgi?id=195203
-        <rdar://problem/27340680>
-
-        Reviewed by Timothy Hatcher.
-
-        Create top-level folders for each origin and nest all resources (in a folder chain) underneath.
-
-        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
-        (WI.SourcesNavigationSidebarPanel):
-        (WI.SourcesNavigationSidebarPanel.prototype.closed):
-        (WI.SourcesNavigationSidebarPanel.prototype.treeElementForRepresentedObject.searchTreeOutline): Added.
-        (WI.SourcesNavigationSidebarPanel.prototype.treeElementForRepresentedObject):
-        (WI.SourcesNavigationSidebarPanel.prototype._compareTreeElements):
-        (WI.SourcesNavigationSidebarPanel.prototype._updateMainFrameTreeElement):
-        (WI.SourcesNavigationSidebarPanel.prototype._addResource):
-        (WI.SourcesNavigationSidebarPanel.prototype._addScript):
-        (WI.SourcesNavigationSidebarPanel.prototype._addWorkerTargetWithMainResource):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleResourceGroupingModeMouseDown.addOption): Added.
-        (WI.SourcesNavigationSidebarPanel.prototype._handleResourceGroupingModeMouseDown): Added.
-        (WI.SourcesNavigationSidebarPanel.prototype._handleTreeSelectionDidChange):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleResourceGroupingModeChanged):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleFrameMainResourceDidChange):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleMainFrameDidChange):
-        * UserInterface/Views/SourcesNavigationSidebarPanel.css:
-        (.sidebar > .panel.navigation.sources > .content):
-        (.sidebar > .panel.navigation.sources > .content > .details-section.paused-reason.collapsed > .header > .options,):
-        (.sidebar > .panel.navigation.sources > .content > .details-section.breakpoints > .header > .options .create-breakpoint): Added.
-        (.sidebar > .panel.navigation.sources > .content > .resources): Added.
-        (.sidebar > .panel.navigation.sources > .content .tree-outline.single-thread): Added.
-        (.sidebar > .panel.navigation.sources > .content .tree-outline.single-thread > .item.thread): Added.
-        (.sidebar > .panel.navigation.sources > .content > .details-section.scripts:not(.collapsed)): Deleted.
-        (.sidebar > .panel.navigation.sources > .content > .tree-outline.single-thread): Deleted.
-        (.sidebar > .panel.navigation.sources > .content > .tree-outline.single-thread > .item.thread): Deleted.
-        Drive-by: fix "No Filter Results" message view to not overlap eachother.
-        Drive-by: try to be more smart about what tree we focus when selecting a represented object.
-
-        * UserInterface/Views/ResourceTreeElement.js:
-        (WI.ResourceTreeElement):
-        (WI.ResourceTreeElement.prototype.get mainTitleText):
-        (WI.ResourceTreeElement.prototype._updateTitles):
-        * UserInterface/Base/URLUtilities.js:
-        (WI.displayNameForURL):
-        Provide a way for the display name to use a directory "/" instead of the last path component.
-        This is needed in cases where the loaded resource is an implicit "index.*".
-
-        * UserInterface/Views/GeneralTreeElement.js:
-        (WI.GeneralTreeElement.prototype.createFoldersAsNeededForSubpath): Added.
-        * UserInterface/Views/SourceCodeTreeElement.js:
-        (WI.SourceCodeTreeElement.prototype.createFoldersAsNeededForSubpath): Deleted.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Models/Resource.js:
-
-        * UserInterface/Views/DetailsSection.css:
-        (.details-section > .header .go-to-arrow):
-        Drive-by: vertically center go-to-arrow.
-
-        * UserInterface/Protocol/InspectorFrontendAPI.js:
-        (InspectorFrontendAPI.contextMenuItemSelected):
-
-        * UserInterface/Base/Setting.js:
-        * UserInterface/Views/NetworkTableContentView.js:
-        (WI.NetworkTableContentView):
-        (WI.NetworkTableContentView.prototype.get filterNavigationItems):
-        (WI.NetworkTableContentView.prototype._populateNameCell):
-        (WI.NetworkTableContentView.prototype._generateSortComparator):
-        (WI.NetworkTableContentView.prototype._insertResourceAndReloadTable):
-        (WI.NetworkTableContentView.prototype._updateFilteredEntries):
-        (WI.NetworkTableContentView.prototype._handleGroupMediaRequestsByDOMNodeCheckedDidChange): Added.
-        (WI.NetworkTableContentView.prototype._handleGroupByDOMNodeCheckedDidChange): Deleted.
-        Rename the `groupByNode` setting to be more specific.
-
-2019-03-19  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: CPU Usage Timeline - the right edge of each column should align with a CPU measurement
-        https://bugs.webkit.org/show_bug.cgi?id=195789
-        <rdar://problem/48915271>
-
-        Reviewed by Joseph Pecoraro.
-
-        Right now, each column is rendered such that the middle of the column is aligned with the
-        time of the CPU measurement. This could potentially be misleading, as the width/position of
-        the bar implies that there was a period of time after the actual time of the CPU measurement
-        that should be "attributed" to that same CPU measurement.
-
-           1      2      3
-               _______
-               [  *  ]
-               [  *  ]_______
-               [  *  ][  *  ]
-        _______[  *  ][  *  ]
-        [  *  ][  *  ][  *  ]
-        [__*__][__*__][__*__]
-         A   B  C   D  E   F
-
-        In this example, one might "attribute" any work done at time B to record 1, when in reality,
-        it should be "attributed" to record 2, since the CPU measurement had already been taken by
-        the time B was captured, meaning that the work for B hadn't yet been done and could
-        therefore not have affected the CPU measurement for record 1.
-
-        We should be rendering the columns such that the CPU measurement aligns with the trailing
-        edge of the column, so that all of the work that could be "attributed" to a given CPU
-        measurement comes before it.
-
-          1      2      3
-            _______       ___
-            [    *]       [
-            [    *]_______[
-            [    *][    *][
-        ____[    *][    *][
-          *][    *][    *][
-        __*][____*][____*][__
-         A   B  C   D  E   F
-
-                NOTE: this "rendering" isn't exactly accurate, as the `*` should overlap the `]`.
-
-        Legend:
-         - `[     ]` represents a column for a CPU measurement
-         - `*` represents the time when the measurement actually takes place
-
-        * UserInterface/Views/CPUTimelineOverviewGraph.js:
-        (WI.CPUTimelineOverviewGraph.prototype.layout):
-        (WI.CPUTimelineOverviewGraph.prototype._handleChartClick):
-        * UserInterface/Views/TimelineOverview.js:
-        (WI.TimelineOverview.prototype._recordSelected):
-
-2019-03-19  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Provide $event in the console when paused on an event listener
-        https://bugs.webkit.org/show_bug.cgi?id=188672
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
-        (WI.JavaScriptRuntimeCompletionProvider.prototype.completionControllerCompletionsNeeded.receivedPropertyNames):
-
-2019-03-19  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: DOM: "Capture Screenshot" should only be shown if the node is attached
-        https://bugs.webkit.org/show_bug.cgi?id=195793
-        <rdar://problem/48916594>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Models/DOMNode.js:
-        (WI.DOMNode.prototype.get attached): Added.
-
-        * UserInterface/Views/ContextMenuUtilities.js:
-        (WI.appendContextMenuItemsForDOMNode):
-        * UserInterface/Views/DOMTreeElement.js:
-        (WI.DOMTreeElement.prototype._populateTagContextMenu):
-
-2019-03-18  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: HAR Extension for `serverIPAddress` port number
-        https://bugs.webkit.org/show_bug.cgi?id=195695
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Controllers/HARBuilder.js:
-        (WI.HARBuilder.entry):
-        (WI.HARBuilder.port):
-        * UserInterface/Models/LocalResource.js:
-        (WI.LocalResource.fromHAREntry):
-
-2019-03-16  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Changes: style attribute changes aren't being tracked
-        https://bugs.webkit.org/show_bug.cgi?id=193859
-        <rdar://problem/47568977>
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Controllers/CSSManager.js:
-        (WI.CSSManager):
-        (WI.CSSManager.prototype.get modifiedStyles):
-        (WI.CSSManager.prototype.addModifiedStyle):
-        (WI.CSSManager.prototype._mainResourceDidChange):
-        (WI.CSSManager.prototype.get modifiedCSSRules): Deleted.
-        (WI.CSSManager.prototype.addModifiedCSSRule): Deleted.
-        (WI.CSSManager.prototype.removeModifiedCSSRule): Deleted.
-        * UserInterface/Models/CSSRule.js:
-        (WI.CSSRule.prototype.get stringId): Deleted.
-        (WI.CSSRule.prototype.markModified): Deleted.
-        * UserInterface/Models/CSSStyleDeclaration.js:
-        (WI.CSSStyleDeclaration.prototype.get stringId):
-        (WI.CSSStyleDeclaration.prototype.markModified):
-        Inline styles weren't tracked because they didn't have owner rules.
-        Track style declarations instead of CSS rules.
-
-        * UserInterface/Views/ChangesDetailsSidebarPanel.css:
-        (.sidebar > .panel.changes-panel .css-rule):
-        (.sidebar > .panel.changes-panel .css-rule + .css-rule):
-        (.changes-panel .selector.style-attribute):
-        (.changes-panel .selector:not(.style-attribute)):
-        (.changes-panel .css-property-line > .property):
-        (.changes-panel .css-property-line.unchanged): Deleted.
-        Drive-by: use text-color-secondary for unchanged properties instead of altering opacity.
-
-        * UserInterface/Views/ChangesDetailsSidebarPanel.js:
-        (WI.ChangesDetailsSidebarPanel.prototype.layout):
-        (WI.ChangesDetailsSidebarPanel.prototype._createRuleElement):
-        For an inline style declaration, instead of showing a CSS source file location show an appropriate selector for its DOM node.
-
-2019-03-15  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: HAR Extension for Resource Priority
-        https://bugs.webkit.org/show_bug.cgi?id=195693
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Controllers/HARBuilder.js:
-        (WI.HARBuilder.entry):
-        (WI.HARBuilder.priority):
-        (WI.HARBuilder.networkPriorityFromHARPriority):
-        Include priority custom extension.
-
-        * UserInterface/Models/LocalResource.js:
-        (WI.LocalResource.fromHAREntry):
-        Import priority.
-
-2019-03-15  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: CPU Usage Timeline - Give long thread names a tooltip if they could be ellipsized
-        https://bugs.webkit.org/show_bug.cgi?id=195314
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/CPUUsageView.js:
-        (WI.CPUUsageView):
-
-2019-03-15  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: CPU Usage Timeline - Reduce the intensity of the orange overlay color in dark mode
-        https://bugs.webkit.org/show_bug.cgi?id=195772
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/Variables.css:
-        (@media (prefers-color-scheme: dark)):
-        (:root):
-
-2019-03-15  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Timelines - Import / Export Timeline Recordings
-        https://bugs.webkit.org/show_bug.cgi?id=195709
-        <rdar://problem/23188921>
-
-        Reviewed by Devin Rousso.
-
-        Timeline exporting saves TimelineRecording and TimelineOverview state.
-        The TimelineRecording includes all kinds of model objects, such as
-        records, markers, memory pressure events, etc. It also includes raw
-        protocol data, such as script profiler samples. TimelineOverview
-        includes some of the view state to restore, such as the selected
-        time range, zoom level, and selected timeline.
-
-        Timeline importing constructs a new TimelineRecording by replaying
-        the records, markers, and other events, as well as re-initializing
-        more state. To finally display the imported recording, the content
-        view will immediately initialize start/current/end times and the
-        overview will restore the view state.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        New strings.
-
-        * UserInterface/Controllers/TimelineManager.js:
-        (WI.TimelineManager.synthesizeImportError):
-        (WI.TimelineManager.prototype.importRecording):
-        Import API.
-
-        (WI.TimelineManager.prototype.scriptProfilerTrackingCompleted):
-        Initialize the samples on the recording via a different path
-        so that the data can be saved for exporting.
-
-        * UserInterface/Models/TimelineRecording.js:
-        (WI.TimelineRecording):
-        (WI.TimelineRecording.import):
-        (WI.TimelineRecording.prototype.exportData):
-        (WI.TimelineRecording.prototype.get capturing):
-        (WI.TimelineRecording.prototype.get imported):
-        (WI.TimelineRecording.prototype.unloaded):
-        (WI.TimelineRecording.prototype.reset):
-        (WI.TimelineRecording.prototype.addEventMarker):
-        (WI.TimelineRecording.prototype.addRecord):
-        (WI.TimelineRecording.prototype.addMemoryPressureEvent):
-        (WI.TimelineRecording.prototype.initializeCallingContextTrees):
-        (WI.TimelineRecording.prototype.canExport):
-        Save data at the TimelineRecording level that can be used for export.
-        We only allow exporting a TimelineRecording that has started/stopped
-        at least once and is not currently capturing.
-
-        * UserInterface/Views/TimelineRecordingContentView.js:
-        (WI.TimelineRecordingContentView):
-        (WI.TimelineRecordingContentView.prototype.get navigationItems):
-        (WI.TimelineRecordingContentView.prototype.get supportsSave):
-        (WI.TimelineRecordingContentView.prototype.get saveData):
-        (WI.TimelineRecordingContentView.prototype.shown):
-        (WI.TimelineRecordingContentView.prototype._capturingStarted):
-        (WI.TimelineRecordingContentView.prototype._capturingStopped):
-        (WI.TimelineRecordingContentView.prototype._initializeImportedRecording):
-        (WI.TimelineRecordingContentView.prototype._exportTimelineRecording):
-        (WI.TimelineRecordingContentView.prototype._importButtonNavigationItemClicked):
-        (WI.TimelineRecordingContentView.prototype._recordingReset):
-        Add Import and Export buttons in the Timeline navigation bar.
-
-        * UserInterface/Views/TimelineOverview.js:
-        (WI.TimelineOverview):
-        (WI.TimelineOverview.prototype.exportData):
-        (WI.TimelineOverview.prototype._instrumentAdded):
-        (WI.TimelineOverview.prototype._recordingImported):
-        When importing a recording update the TimelineOverview state
-        soon afterwards.
-
-        * UserInterface/Models/CPUTimelineRecord.js:
-        (WI.CPUTimelineRecord.fromJSON):
-        (WI.CPUTimelineRecord.prototype.toJSON):
-        * UserInterface/Models/GarbageCollection.js:
-        (WI.GarbageCollection.fromJSON):
-        (WI.GarbageCollection.prototype.toJSON):
-        * UserInterface/Models/Geometry.js:
-        (WI.Quad.fromJSON):
-        (WI.Quad.prototype.toJSON):
-        * UserInterface/Models/HeapAllocationsTimelineRecord.js:
-        (WI.HeapAllocationsTimelineRecord.fromJSON):
-        (WI.HeapAllocationsTimelineRecord.prototype.toJSON):
-        * UserInterface/Models/LayoutTimelineRecord.js:
-        (WI.LayoutTimelineRecord.fromJSON):
-        (WI.LayoutTimelineRecord.prototype.toJSON):
-        * UserInterface/Models/MediaTimelineRecord.js:
-        (WI.MediaTimelineRecord.fromJSON):
-        (WI.MediaTimelineRecord.prototype.toJSON):
-        * UserInterface/Models/MemoryPressureEvent.js:
-        (WI.MemoryPressureEvent.fromJSON):
-        (WI.MemoryPressureEvent.prototype.toJSON):
-        * UserInterface/Models/MemoryTimelineRecord.js:
-        (WI.MemoryTimelineRecord):
-        (WI.MemoryTimelineRecord.fromJSON):
-        (WI.MemoryTimelineRecord.prototype.toJSON):
-        * UserInterface/Models/RenderingFrameTimelineRecord.js:
-        (WI.RenderingFrameTimelineRecord.fromJSON):
-        (WI.RenderingFrameTimelineRecord.prototype.toJSON):
-        * UserInterface/Models/ResourceTimelineRecord.js:
-        (WI.ResourceTimelineRecord.fromJSON):
-        (WI.ResourceTimelineRecord.prototype.toJSON):
-        * UserInterface/Models/ScriptTimelineRecord.js:
-        (WI.ScriptTimelineRecord.fromJSON):
-        (WI.ScriptTimelineRecord.prototype.toJSON):
-        * UserInterface/Models/TimelineMarker.js:
-        (WI.TimelineMarker.fromJSON):
-        (WI.TimelineMarker.prototype.toJSON):
-        (WI.TimelineMarker.prototype.get type):
-        (WI.TimelineMarker.prototype.get details):
-        (WI.TimelineMarker.prototype.set time):
-        (WI.TimelineMarker):
-        * UserInterface/Models/TimelineRecord.js:
-        (WI.TimelineRecord.fromJSON):
-        (WI.TimelineRecord.prototype.toJSON):
-        Import / Export toJSON / fromJSON implementations.
-        
-        * UserInterface/Views/CPUTimelineOverviewGraph.js:
-        (WI.CPUTimelineOverviewGraph):
-        (WI.CPUTimelineOverviewGraph.prototype._cpuTimelineRecordAdded):
-        (WI.CPUTimelineOverviewGraph.prototype._processRecord):
-        * UserInterface/Views/LayoutTimelineOverviewGraph.js:
-        (WI.LayoutTimelineOverviewGraph):
-        (WI.LayoutTimelineOverviewGraph.prototype._layoutTimelineRecordAdded):
-        (WI.LayoutTimelineOverviewGraph.prototype._processRecord):
-        * UserInterface/Views/LayoutTimelineView.js:
-        (WI.LayoutTimelineView):
-        (WI.LayoutTimelineView.prototype._layoutTimelineRecordAdded):
-        (WI.LayoutTimelineView.prototype._processRecord):
-        * UserInterface/Views/MediaTimelineView.js:
-        (WI.MediaTimelineView):
-        (WI.MediaTimelineView.prototype._handleRecordAdded):
-        (WI.MediaTimelineView.prototype._processRecord):
-        * UserInterface/Views/MemoryTimelineOverviewGraph.js:
-        (WI.MemoryTimelineOverviewGraph):
-        (WI.MemoryTimelineOverviewGraph.prototype._memoryTimelineRecordAdded):
-        (WI.MemoryTimelineOverviewGraph.prototype._processRecord):
-        * UserInterface/Views/MemoryTimelineView.js:
-        (WI.MemoryTimelineView):
-        (WI.MemoryTimelineView.prototype._memoryTimelineRecordAdded):
-        (WI.MemoryTimelineView.prototype._processRecord):
-        * UserInterface/Views/NetworkTimelineOverviewGraph.js:
-        (WI.NetworkTimelineOverviewGraph):
-        (WI.NetworkTimelineOverviewGraph.prototype.reset):
-        (WI.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded):
-        (WI.NetworkTimelineOverviewGraph.prototype._processRecord):
-        (WI.NetworkTimelineOverviewGraph.prototype._networkTimelineRecordAdded.compareByStartTime): Deleted.
-        * UserInterface/Views/NetworkTimelineView.js:
-        (WI.NetworkTimelineView):
-        (WI.NetworkTimelineView.prototype._networkTimelineRecordAdded):
-        (WI.NetworkTimelineView.prototype._processRecord):
-        * UserInterface/Views/RenderingFrameTimelineView.js:
-        (WI.RenderingFrameTimelineView):
-        (WI.RenderingFrameTimelineView.prototype._renderingFrameTimelineRecordAdded):
-        (WI.RenderingFrameTimelineView.prototype._processRecord):
-        * UserInterface/Views/ScriptDetailsTimelineView.js:
-        (WI.ScriptDetailsTimelineView):
-        (WI.ScriptDetailsTimelineView.prototype._scriptTimelineRecordAdded):
-        (WI.ScriptDetailsTimelineView.prototype._processRecord):
-        Add common _processRecord path to each timeline OverviewGraph and TimelineView.
-        By calling this in construction we populate graphs with TimelineRecords that
-        may have already existed. This is necessary for imports, but this also fixes
-        the case where you enable a timeline that had data and it didn't show data.
-
-        * UserInterface/Views/LayoutTimelineOverviewGraph.css:
-        (.timeline-overview-graph.layout-overview > .graph-row):
-        (.timeline-overview-graph.layout-overview > .graph-row > .timeline-record-bar):
-        (.timeline-overview-graph.layout-overview > .graph-row > .timeline-record-bar > .segment):
-        (.timeline-overview-graph.layout > .graph-row): Deleted.
-        (.timeline-overview-graph.layout > .graph-row > .timeline-record-bar): Deleted.
-        (.timeline-overview-graph.layout > .graph-row > .timeline-record-bar > .segment): Deleted.
-        * UserInterface/Views/TimelineRecordBar.css:
-        (.timeline-record-bar.timeline-record-type-layout.paint > .segment,):
-        (.timeline-record-bar.timeline-record-type-layout.layout-timeline-record-paint > .segment,): Deleted.
-        We simplified some of the sub-record type enum strings. To do this we needed to change
-        "layout" to "layout-overview" to avoid a conflict.
-
-2019-03-15  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Network - Toggle Between Live Activity and Imported HAR resource collections
-        https://bugs.webkit.org/show_bug.cgi?id=195734
-
-        Reviewed by Devin Rousso.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Images/NetworkHAR.svg: Added.
-        * UserInterface/Images/NetworkOverview.svg: Added.
-        * UserInterface/Views/NetworkTableContentView.css:
-        (.content-view.tab.network > .content-browser > .navigation-bar .hierarchical-path .icon):
-        (.network-overview-icon > .icon):
-        (.network-har-icon > .icon):
-        (@media (prefers-color-scheme: dark)):
-
-        * UserInterface/Views/NetworkTableContentView.js:
-        (WI.NetworkTableContentView):
-        (WI.NetworkTableContentView.prototype.get navigationItems):
-        (WI.NetworkTableContentView.prototype.reset):
-        (WI.NetworkTableContentView.prototype.tableIndexForRepresentedObject):
-        (WI.NetworkTableContentView.prototype.tableRepresentedObjectForIndex):
-        (WI.NetworkTableContentView.prototype.tableNumberOfRows):
-        (WI.NetworkTableContentView.prototype.tableCellContextMenuClicked):
-        (WI.NetworkTableContentView.prototype.tableSelectionDidChange):
-        (WI.NetworkTableContentView.prototype.tablePopulateCell):
-        (WI.NetworkTableContentView.prototype._addCollection):
-        (WI.NetworkTableContentView.prototype._setActiveCollection):
-        (WI.NetworkTableContentView.prototype._addCollectionPathComponent):
-        (WI.NetworkTableContentView.prototype._collectionsHierarchicalPathComponentWasSelected):
-        (WI.NetworkTableContentView.prototype._changeCollection):
-        (WI.NetworkTableContentView.prototype.handleClearShortcut):
-        (WI.NetworkTableContentView.prototype._updateWaterfallTimeRange):
-        (WI.NetworkTableContentView.prototype._updateWaterfallTimelineRuler):
-        (WI.NetworkTableContentView.prototype._canExportHAR):
-        (WI.NetworkTableContentView.prototype._processPendingEntries):
-        (WI.NetworkTableContentView.prototype._populateWithInitialResourcesIfNeeded):
-        (WI.NetworkTableContentView.prototype._rowIndexForRepresentedObject):
-        (WI.NetworkTableContentView.prototype._updateEntryForResource):
-        (WI.NetworkTableContentView.prototype._updateEmptyFilterResultsMessage):
-        (WI.NetworkTableContentView.prototype._mainResourceDidChange):
-        (WI.NetworkTableContentView.prototype._mainFrameDidChange):
-        (WI.NetworkTableContentView.prototype._resourceLoadingDidFinish):
-        (WI.NetworkTableContentView.prototype._resourceLoadingDidFail):
-        (WI.NetworkTableContentView.prototype._resourceTransferSizeDidChange):
-        (WI.NetworkTableContentView.prototype._handleResourceAdded):
-        (WI.NetworkTableContentView.prototype._runForMainCollection):
-        (WI.NetworkTableContentView.prototype._isShowingMainCollection):
-        (WI.NetworkTableContentView.prototype._insertResourceAndReloadTable):
-        (WI.NetworkTableContentView.prototype._handleNodeDidFireEvent):
-        (WI.NetworkTableContentView.prototype._handleNodeLowPowerChanged):
-        (WI.NetworkTableContentView.prototype._updateSort):
-        (WI.NetworkTableContentView.prototype._updateFilteredEntries):
-        (WI.NetworkTableContentView.prototype._urlFilterDidChange):
-        (WI.NetworkTableContentView.prototype._HARResources):
-        (WI.NetworkTableContentView.prototype._importHAR):
-        Introduce the concept of collections that can be swapped in/out
-        to re-render the Network Table with different contents.
-
-2019-03-15  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: provide a way to capture a screenshot of a node from within the page
-        https://bugs.webkit.org/show_bug.cgi?id=194279
-        <rdar://problem/10731573>
-
-        Reviewed by Joseph Pecoraro.
-
-        Add `console.screenshot` functionality, which displays a screenshot of a given object (if
-        able) within Web Inspector's Console tab. From there, it can be viewed and saved.
-
-        Currently, `console.screenshot` will
-         - capture an image of a `Node` (if provided)
-         - capture an image of the viewport if nothing is provided
-
-        * UserInterface/Models/ConsoleMessage.js:
-        (WI.ConsoleMessage):
-        * UserInterface/Views/ConsoleCommandView.js:
-        (WI.ConsoleCommandView.prototype.render):
-        * UserInterface/Views/ConsoleMessageView.js:
-        (WI.ConsoleMessageView.prototype.render):
-        (WI.ConsoleMessageView.prototype.toClipboardString):
-        (WI.ConsoleMessageView.prototype._appendMessageTextAndArguments):
-        (WI.ConsoleMessageView.prototype._appendSavedResultIndex):
-        (WI.ConsoleMessageView.prototype._appendStackTrace):
-        (WI.ConsoleMessageView.prototype._makeExpandable):
-        (WI.ConsoleMessageView.prototype._handleContextMenu): Added.
-        * UserInterface/Views/ConsoleMessageView.css:
-        (.console-user-command.special-user-log > .console-message-body): Added.
-        (.console-message-body): Added.
-        (.console-message-body > span): Added.
-        (.console-message-body > span > :matches(.console-message-enclosed, .console-message-preview, .console-message-preview-divider)): Added.
-        (.console-message-body > .console-image): Added.
-        (.console-message-body > .show-grid): Added.
-        (.console-error-level .console-message-body): Added.
-        (.console-warning-level .console-message-body): Added.
-        (.console-log-level.console-image-container::before): Added.
-        (.console-user-command > .console-message-body): Added.
-        (.console-warning-level .console-message-body): Added.
-        (.console-error-level .console-message-body): Added.
-        (.console-user-command > .console-message-body): Added.
-        (.console-user-command.special-user-log > .console-message-text): Deleted.
-        (.console-message-text): Deleted.
-        (.console-message-text > span): Deleted.
-        (.console-message-text > span > :matches(.console-message-enclosed, .console-message-preview, .console-message-preview-divider)): Deleted.
-        (.console-error-level .console-message-text): Deleted.
-        (.console-warning-level .console-message-text): Deleted.
-        (.console-user-command > .console-message-text): Deleted.
-        (.console-warning-level .console-message-text): Deleted.
-        (.console-error-level .console-message-text): Deleted.
-        (.console-user-command > .console-message-text): Deleted.
-        * UserInterface/Views/LogContentView.css:
-        (.search-in-progress .console-item:not(.filtered-out-by-search).special-user-log .console-message-text .highlighted): Added.
-        (.search-in-progress .console-item:not(.filtered-out-by-search).special-user-log .console-message-body .highlighted): Deleted.
-        Renamed variables/classes to be more semantically correct when the content is an image.
-         - `_messageTextElement` to `_messageBodyElement` (JS)
-         - `.console-message-text` to `.console-message-body` (CSS)
-
-        * UserInterface/Controllers/JavaScriptLogViewController.js:
-        (WI.JavaScriptLogViewController.prototype.renderPendingMessages):
-
-        * UserInterface/Views/Main.css:
-        (:matches(img, canvas).show-grid):
-        (@media (prefers-color-scheme: dark) :matches(img, canvas).show-grid):
-
-        * UserInterface/Base/FileUtilities.js:
-        (WI.FileUtilities.screenshotString): Added.
-
-        * UserInterface/Models/NativeFunctionParameters.js:
-        * UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
-
-        * UserInterface/Images/ConsoleImage.svg: Copied from UserInterface/Images/Canvas.svg.
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-03-14  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Styles: Jump to effective property button doesn't hide after overridden property become effective
-        https://bugs.webkit.org/show_bug.cgi?id=195770
-        <rdar://problem/48903634>
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
-        (.spreadsheet-style-declaration-editor .property .select-effective-property): Added.
-        (.spreadsheet-style-declaration-editor .property.overridden .select-effective-property): Deleted.
-        Hide `.select-effective-property` element for properties that aren't overridden.
-
-2019-03-14  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: REGRESSION: Canvas: the first processed action should be selected as soon as it's available if no previous selected action exists
-        https://bugs.webkit.org/show_bug.cgi?id=195732
-        <rdar://problem/48875214>
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/CanvasSidebarPanel.js:
-        (WI.CanvasSidebarPanel.prototype._handleRecordingProcessedAction):
-        Rather than wait until the entire recording is ready, set the selected action as soon as the
-        first action is ready (assuming there isn't already a selected action).
-
-2019-03-14  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Network - HAR Import
-        https://bugs.webkit.org/show_bug.cgi?id=195642
-        <rdar://problem/34820974>
-
-        Reviewed by Devin Rousso.
-
-        * Localizations/en.lproj/localizedStrings.js
-        * UserInterface/Test.html:
-        * UserInterface/Test.html:
-        New strings and resources.
-
-        * UserInterface/Controllers/HARBuilder.js:
-        (WI.HARBuilder.dateFromHARDate):
-        (WI.HARBuilder.protocolFromHARProtocol):
-        (WI.HARBuilder.responseSourceFromHARFetchType):
-        Reverse parsers from HAR to WI.Resource types.
-
-        * UserInterface/Models/LocalResource.js: Added.
-        (WI.LocalResource):
-        (WI.LocalResource.headersArrayToHeadersObject):
-        (WI.LocalResource.fromHAREntry):
-        (WI.LocalResource.prototype.hasContent):
-        (WI.LocalResource.prototype.setContent):
-        (WI.LocalResource.prototype.requestContentFromBackend):
-        A Resource subclass with data fully supplied in the frontend.
-
-        * UserInterface/Controllers/NetworkManager.js:
-        (WI.NetworkManager):
-        (WI.NetworkManager.synthesizeImportError):
-        (WI.NetworkManager.prototype.localResourceForURL):
-        (WI.NetworkManager.prototype.processHAR):
-        Process a HAR and extract local resources.
-
-        * UserInterface/Views/NetworkTableContentView.js:
-        (WI.NetworkTableContentView):
-        (WI.NetworkTableContentView.prototype.reset):
-        (WI.NetworkTableContentView.prototype._handleResourceAdded):
-        (WI.NetworkTableContentView.prototype._importHAR):
-        Add an import button. When an import succeeds reset the
-        table and only show imported resources (ignoring page
-        loaded resources).
-
-2019-03-14  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Console: getEventListeners should work for any EventTarget
-        https://bugs.webkit.org/show_bug.cgi?id=195713
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Models/NativeFunctionParameters.js:
-
-2019-03-14  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Styles: `::-webkit-scrollbar*` rules aren't shown
-        https://bugs.webkit.org/show_bug.cgi?id=195123
-        <rdar://problem/48450148>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Controllers/CSSManager.js:
-        (WI.CSSManager.displayNameForPseudoId): Added.
-
-        * UserInterface/Models/DOMNodeStyles.js:
-        (WI.DOMNodeStyles.static uniqueOrderedStyles): Added.
-        (WI.DOMNodeStyles.prototype.get uniqueOrderedStyles):
-
-        * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
-        (WI.SpreadsheetRulesStyleDetailsPanel.prototype.layout):
-        (WI.SpreadsheetRulesStyleDetailsPanel.prototype._handleSectionFilterApplied):
-        Rather than iterate over the `WI.DOMNode`'s list of pseudo-elements (which is only ::before
-        and ::after), we iterate over the `WI.DOMNodeStyle`'s list of pseudo-element rules. This is
-        an object where the key is a `CSS.PseudoId` and the value is an object containing all the
-        matched rules and ordered styles for that pseudo-type. We can preserve the current
-        functionality by using the ::before/::after `WI.DOMNode` when we encounter one of those
-        pseudo-ids.
-
-        An additional benefit of this change is that `::before`/`::after` styles will still appear
-        in the Rules panel even if they don't have a `content` property set (e.g. when the
-        `::before`/`::after` pseudo-element doesn't exist). This is because the styles are no longer
-        fetched from those pseudo-element nodes directly, but rather as a matched style for the
-        parent node. As such, editing a `content` property to become invalid/disablde in a
-        `::before`/`::after` rule won't make the entire rule disappeaer.
-
-2019-03-14  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: we should show artificial context menus on mousedown instead of click
-        https://bugs.webkit.org/show_bug.cgi?id=195494
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/ContextMenu.js:
-        (WI.ContextMenu):
-        (WI.ContextMenu.prototype.show):
-        (WI.ContextMenu.prototype.addBeforeShowCallback): Added.
-        (WI.ContextMenu.prototype.handleEvent):
-        Provide a way to register a callback that will be called right as the "contextmenu" event is
-        handled, but before the context menu is actually shown. Since "mousedown" events are also
-        fired when/before a "contextmenu" event is fired, each of the below callers has to maintain
-        some state indicating "we are about to show a context menu, so ignore all "mousedown" events
-        until that time". Without this, the below callers wouldn't be able to tell when the context
-        menu is finally shown.
-
-        * UserInterface/Base/SearchUtilities.js:
-        (WI.SearchUtilities.createSettingsButton):
-        * UserInterface/Views/CanvasContentView.js:
-        (WI.CanvasContentView):
-        (WI.CanvasContentView.prototype.initialLayout):
-        (WI.CanvasContentView.prototype._handleCanvasElementButtonMouseDown): Added.
-        (WI.CanvasContentView.prototype._handleViewShaderButtonMouseDown): Added.
-        (WI.CanvasContentView.prototype._handleViewRecordingButtonMouseDown): Added.
-        (WI.CanvasContentView.prototype._canvasElementButtonClicked): Deleted.
-        (WI.CanvasContentView.prototype._handleViewShaderButtonClicked): Deleted.
-        (WI.CanvasContentView.prototype._handleViewRecordingButtonClicked): Deleted.
-        * UserInterface/Views/DebuggerSidebarPanel.js:
-        (WI.DebuggerSidebarPanel):
-        (WI.DebuggerSidebarPanel.prototype._handleCreateBreakpointMouseDown): Added.
-        (WI.DebuggerSidebarPanel.prototype._handleCreateBreakpointClicked): Deleted.
-        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
-        (WI.SourcesNavigationSidebarPanel):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleCreateBreakpointMouseDown): Added.
-        (WI.SourcesNavigationSidebarPanel.prototype._handleCreateBreakpointClicked): Deleted.
-        * UserInterface/Views/TabBar.js:
-        (WI.TabBar.prototype._handleMouseDown):
-        * UserInterface/Views/LegacyTabBar.js:
-        (WI.LegacyTabBar.prototype._handleMouseDown):
-
-2019-03-13  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Debugger: pausing in an inline script on a page with a URL query creates an Extra Script
-        https://bugs.webkit.org/show_bug.cgi?id=195705
-        <rdar://problem/48853820>
-
-        Reviewed by Antoine Quint.
-
-        * UserInterface/Models/Script.js:
-        (WI.Script.prototype._resolveResource):
-        If the page's URL has a query parameter, the payload we receive for any inline <script>s
-        doesn't include the query parameter as part of its URL. As such, if there isn't an existing
-        resource with a URL that exactly matches the URL of the script and if the URL of the main
-        resource for the script's target starts with the URL of the script, we assume that the
-        script "belongs" to the target's main resource and associate the script with it as such.
-
-2019-03-13  Keith Rollin  <krollin@apple.com>
-
-        Add support for new StagedFrameworks layout
-        https://bugs.webkit.org/show_bug.cgi?id=195543
-
-        Reviewed by Alexey Proskuryakov.
-
-        When creating the WebKit layout for out-of-band Safari/WebKit updates,
-        use an optional path prefix when called for.
-
-        Opportunistic cleanup: remove unused
-        OTHER_LDFLAGS_VERSIONED_FRAMEWORK_PATH variable, which otherwise would
-        have needlessly been updated to also incorporate the new prefix.
-
-        * Configurations/Base.xcconfig:
-        * Configurations/WebKitTargetConditionals.xcconfig: Added.
-
-2019-03-13  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        REGRESSION(r240946): Web Inspector: Styles: removing selected property doesn't update overridden status
-        https://bugs.webkit.org/show_bug.cgi?id=195389
-        <rdar://problem/48658929>
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Models/DOMNodeStyles.js:
-        (WI.DOMNodeStyles.prototype.changeStyleText):
-        Call DOMNodeStyles.prototype.refresh after the callback. No updates
-        to CSSStyleDeclaration happen until the callback is called.
-
-2019-03-13  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Protocol Logging: log messages with backtrace if inspector^2 is open
-        https://bugs.webkit.org/show_bug.cgi?id=195687
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Protocol/LoggingProtocolTracer.js:
-        (WI.LoggingProtocolTracer.prototype._processEntry):
-
-2019-03-13  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: REGRESSION(r242737): unnecessary semicolon added when populating WI.TreeOutline stylesheet
-        https://bugs.webkit.org/show_bug.cgi?id=195689
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/TreeOutline.js:
-        (WI.TreeOutline._generateStyleRulesIfNeeded):
-
-2019-03-13  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Network - HAR Export duplicates blocked/send time if there was no dns/connect block
-        https://bugs.webkit.org/show_bug.cgi?id=195655
-        <rdar://problem/48831152>
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Controllers/HARBuilder.js:
-        (WI.HARBuilder.timings):
-
-2019-03-12  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Sources: allow image collections to be filtered by type
-        https://bugs.webkit.org/show_bug.cgi?id=195630
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/ResourceCollectionContentView.js:
-        (WI.ResourceCollectionContentView):
-        (WI.ResourceCollectionContentView.prototype.get navigationItems): Added.
-        (WI.ResourceCollectionContentView.prototype.contentViewAdded):
-        (WI.ResourceCollectionContentView.prototype.contentViewRemoved): Added.
-        (WI.ResourceCollectionContentView.prototype._updateImageTypeScopeBar): Added.
-        (WI.ResourceCollectionContentView.prototype._handleImageTypeSelectionChanged): Added.
-        * UserInterface/Views/ResourceCollectionContentView.css: Asdded.
-        (.resource-collection-image-type-scope-bar.default-item-selected):
-
-        * UserInterface/Views/CollectionContentView.css:
-        (.content-view.collection > .content-view[hidden]): Added.
-
-        * UserInterface/Views/ScopeBarItem.js:
-        (WI.ScopeBarItem.prototype.set hidden):
-        * UserInterface/Views/MultipleScopeBarItem.js:
-        (WI.MultipleScopeBarItem.prototype.set scopeBarItems):
-        (WI.MultipleScopeBarItem.prototype.set selectedScopeBarItem):
-        (WI.MultipleScopeBarItem.prototype.get _visibleScopeBarItems): Added.
-        (WI.MultipleScopeBarItem.prototype._selectElementSelectionChanged):
-        (WI.MultipleScopeBarItem.prototype._handleItemHiddenChanged): Added.
-        Dispatch an event when an item is hidden so that any owner `WI.MultipleScopeBarItem` can
-        rerender it's <select> without that item.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Main.html:
-
-2019-03-12  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Keyboard shortcut for settings tab too greedy on non-US keyboards
-        https://bugs.webkit.org/show_bug.cgi?id=192947
-        <rdar://problem/46886779>
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Base/Main.js:
-        (WI._showSettingsTab):
-
-2019-03-12  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Elements: provide node context menu items for event listeners sorted by node
-        https://bugs.webkit.org/show_bug.cgi?id=195633
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Base/DOMUtilities.js:
-        (WI.linkifyNodeReferenceElement):
-        (WI.bindInteractionsForNodeToElement): Added.
-        Split logic for adding event listeners into a separate function so it can be used on
-        existing DOM without modifying it.
-
-        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
-        (WI.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.generateGroupsByNode):
-
-2019-03-12  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: DOM Debugger: remove left padding when the last DOM breakpoint is removed
-        https://bugs.webkit.org/show_bug.cgi?id=195522
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/DOMTreeContentView.js:
-        (WI.DOMTreeContentView.prototype._updateBreakpointStatus):
-        * UserInterface/Views/DOMTreeElement.js:
-        (WI.DOMTreeElement.prototype.get hasBreakpoint): Added.
-
-2019-03-12  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Canvas: export recording as HTML
-        https://bugs.webkit.org/show_bug.cgi?id=195311
-        <rdar://problem/48588673>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Models/Recording.js:
-        (WI.Recording.prototype.async swizzle):
-        (WI.Recording.prototype.toHTML): Added.
-        (WI.Recording.prototype.toHTML.escapeHTML): Added.
-        (WI.Recording.prototype.toHTML.processObject): Added.
-        (WI.Recording.prototype.toHTML.processValue): Added.
-
-        * UserInterface/Views/RecordingContentView.js:
-        (WI.RecordingContentView):
-        (WI.RecordingContentView.prototype._exportRecording):
-        (WI.RecordingContentView.prototype._exportReduction): Added.
-        (WI.RecordingContentView.prototype._updateExportButton): Added.
-        (WI.RecordingContentView.prototype._handleExportNavigationItemClicked): Added.
-        (WI.RecordingContentView.prototype._handleRecordingProcessedAction):
-
-        * UserInterface/Views/CanvasOverviewContentView.js:
-        (WI.CanvasOverviewContentView):
-        * UserInterface/Views/HeapAllocationsTimelineView.js:
-        (WI.HeapAllocationsTimelineView):
-        * UserInterface/Views/HeapSnapshotContentView.js:
-        (WI.HeapSnapshotContentView):
-        Drive-by: s/`toolTip`/`tooltip`.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-03-12  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Audit: there should be a centralized place for reusable code
-        https://bugs.webkit.org/show_bug.cgi?id=195265
-        <rdar://problem/47040673>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Controllers/AuditManager.js:
-        (WI.AuditManager.prototype.async start):
-        (WI.AuditManager.prototype._topLevelTestForTest): Added.
-        (WI.AuditManager.prototype._topLevelTestForTest.walk): Added.
-
-        * UserInterface/Models/AuditTestBase.js:
-        (WI.AuditTestBase):
-        (WI.AuditTestBase.prototype.async setup): Added.
-        (WI.AuditTestBase.toJSON):
-
-        * UserInterface/Models/AuditTestCase.js:
-        (WI.AuditTestCase.async.fromPayload):
-        (WI.AuditTestCase.prototype.async run.async parseResponse):
-        Allow additional data to be passed back to the result's `data` for testing.
-
-        * UserInterface/Models/AuditTestGroup.js:
-        (WI.AuditTestGroup.async.fromPayload):
-
-2019-03-12  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Timelines - Improve handling of past recordings (readonly)
-        https://bugs.webkit.org/show_bug.cgi?id=195594
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/TimelineRecordingContentView.js:
-        (WI.TimelineRecordingContentView.prototype._clearTimeline):
-        Don't allow clearing of a readonly recording.
-
-        * UserInterface/Views/TimelineTabContentView.js:
-        (WI.TimelineTabContentView.prototype._toggleRecordingOnSpacebar):
-        Don't do anything when viewing a readonly recording.
-
-        (WI.TimelineTabContentView.prototype._recordButtonClicked):
-        Start a new recording if viewing a readonly recording.
-
-2019-03-11  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: REGRESSION: Network Cookies Table does not load
-        https://bugs.webkit.org/show_bug.cgi?id=195599
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/ResourceCookiesContentView.js:
-        (WI.ResourceCookiesContentView.prototype.tableIndexForRepresentedObject):
-        (WI.ResourceCookiesContentView.prototype.tableRepresentedObjectForIndex):
-        Include needed delegate methods.
-
-2019-03-11  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: use -webkit-{margin,padding}-{start,end} instead of [dir={ltr/rtl}] rules
-        https://bugs.webkit.org/show_bug.cgi?id=195569
-        <rdar://problem/48778727>
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Debug/UncaughtExceptionReporter.css:
-        * UserInterface/Views/BoxModelDetailsSectionRow.css:
-        * UserInterface/Views/BreakpointActionView.css:
-        * UserInterface/Views/BreakpointPopoverController.css:
-        * UserInterface/Views/CPUTimelineView.css:
-        * UserInterface/Views/CallFrameTreeElement.css:
-        * UserInterface/Views/CallFrameView.css:
-        * UserInterface/Views/DOMTreeContentView.css:
-        * UserInterface/Views/DOMTreeOutline.css:
-        * UserInterface/Views/DashboardContainerView.css:
-        * UserInterface/Views/DataGrid.css:
-        * UserInterface/Views/DebuggerDashboardView.css:
-        * UserInterface/Views/DebuggerSidebarPanel.css:
-        * UserInterface/Views/DefaultDashboardView.css:
-        * UserInterface/Views/DetailsSection.css:
-        * UserInterface/Views/FilterBar.css:
-        * UserInterface/Views/FindBanner.css:
-        * UserInterface/Views/FontResourceContentView.css:
-        * UserInterface/Views/GeneralStyleDetailsSidebarPanel.css:
-        * UserInterface/Views/HierarchicalPathComponent.css:
-        * UserInterface/Views/LayerTreeDetailsSidebarPanel.css:
-        * UserInterface/Views/Main.css:
-        * UserInterface/Views/NetworkTableContentView.css:
-        * UserInterface/Views/OpenResourceDialog.css:
-        * UserInterface/Views/RecordingActionTreeElement.css:
-        * UserInterface/Views/ScopeRadioButtonNavigationItem.css:
-        * UserInterface/Views/SettingsTabContentView.css:
-        * UserInterface/Views/ThreadTreeElement.css:
-        * UserInterface/Views/Toolbar.css:
-        * UserInterface/Views/TreeOutline.css:
-        * UserInterface/Views/TypeTreeElement.css:
-        * UserInterface/Views/TypeTreeView.css:
-        * UserInterface/Views/URLBreakpointPopover.css:
-        * UserInterface/Views/WebSocketContentView.css:
-
-        * UserInterface/Views/RecordingActionTreeElement.js:
-        (WI.RecordingActionTreeElement.static _getClassNames):
-        Replace class `.action` with `.recording-action` for better uniqueness/clarity.
-
-2019-03-11  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: DOMDebugger: protocol error on first open
-        https://bugs.webkit.org/show_bug.cgi?id=195248
-        <rdar://problem/48538465>
-
-        Unreviewed followup of r242743 to fix test inspector/dom-debugger/dom-breakpoints.html.
-
-        * UserInterface/Controllers/DOMDebuggerManager.js:
-        (WI.DOMDebuggerManager.prototype.addDOMBreakpoint):
-        (WI.DOMDebuggerManager.prototype._resolveDOMBreakpoint):
-        Still attempt to resolve the DOM breakpoint if it already has a `domNodeIdentifier` so that
-        it will get added to the node's frame's DOM breakpoint map. Without this, some breakpoints
-        might get "missed" when calling `WI.domDebuggerManager.removeDOMBreakpointsForNode`.
-
-2019-03-11  Justin Fan  <justin_fan@apple.com>
-
-        [Web GPU] Update GPUSwapChainDescriptor, GPUSwapChain and implement GPUCanvasContext
-        https://bugs.webkit.org/show_bug.cgi?id=194406
-        <rdar://problem/47892466>
-
-        Reviewed by Myles C. Maxfield.
-
-        Name updates for Web GPU renaming in inspector.
-
-        * UserInterface/Models/Canvas.js:
-        (WI.Canvas.displayNameForContextType):
-
-2019-03-11  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Editing Timelines shows two CPU Timelines
-        https://bugs.webkit.org/show_bug.cgi?id=195578
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Controllers/TimelineManager.js:
-        (WI.TimelineManager.availableTimelineTypes):
-        The CPU Instrument is already in the default list.
-
-2019-03-11  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: DOMDebugger: protocol error on first open
-        https://bugs.webkit.org/show_bug.cgi?id=195248
-        <rdar://problem/48538465>
-
-        Reviewed by Joseph Pecoraro.
-
-        Don't try to call `DOMDebugger` commands until a target has been initialized.
-        Still attempt to resolve DOM breakpoints whenever the main resource/frame changes.
-
-        * UserInterface/Controllers/DOMDebuggerManager.js:
-        (WI.DOMDebuggerManager):
-        (WI.DOMDebuggerManager.prototype.initializeTarget): Added.
-        (WI.DOMDebuggerManager.supportsEventBreakpoints):
-        (WI.DOMDebuggerManager.prototype.get supported):
-        (WI.DOMDebuggerManager.prototype.addDOMBreakpoint):
-        (WI.DOMDebuggerManager.prototype.removeDOMBreakpoint):
-        (WI.DOMDebuggerManager.prototype.addEventBreakpoint):
-        (WI.DOMDebuggerManager.prototype.removeEventBreakpoint):
-        (WI.DOMDebuggerManager.prototype.addURLBreakpoint):
-        (WI.DOMDebuggerManager.prototype.removeURLBreakpoint):
-        (WI.DOMDebuggerManager.prototype._speculativelyResolveDOMBreakpointsForURL): Added.
-        (WI.DOMDebuggerManager.prototype._resolveDOMBreakpoint):
-        (WI.DOMDebuggerManager.prototype._updateDOMBreakpoint):
-        (WI.DOMDebuggerManager.prototype._updateEventBreakpoint):
-        (WI.DOMDebuggerManager.prototype._updateURLBreakpoint):
-        (WI.DOMDebuggerManager.prototype._saveDOMBreakpoints):
-        (WI.DOMDebuggerManager.prototype._handleDOMBreakpointDisabledStateChanged):
-        (WI.DOMDebuggerManager.prototype._handleEventBreakpointDisabledStateChanged):
-        (WI.DOMDebuggerManager.prototype._handleURLBreakpointDisabledStateChanged):
-        (WI.DOMDebuggerManager.prototype._mainFrameDidChange):
-        (WI.DOMDebuggerManager.prototype._mainResourceDidChange):
-        (WI.DOMDebuggerManager.prototype.removeEventBreakpoint.breakpointRemoved): Deleted.
-        (WI.DOMDebuggerManager.prototype._speculativelyResolveBreakpoints): Deleted.
-        (WI.DOMDebuggerManager.prototype._updateDOMBreakpoint.breakpointUpdated): Deleted.
-        (WI.DOMDebuggerManager.prototype._resolveEventBreakpoint): Deleted.
-        (WI.DOMDebuggerManager.prototype._resolveURLBreakpoint): Deleted.
-
-        * UserInterface/Base/Multimap.js: Added.
-        (Multimap):
-        (Multimap.prototype.get):
-        (Multimap.prototype.add):
-        (Multimap.prototype.delete):
-        (Multimap.prototype.clear):
-        (Multimap.prototype.keys):
-        (Multimap.prototype.*values):
-        (Multimap.prototype.*[Symbol.iterator]):
-        (Multimap.prototype.toJSON):
-        * .eslintrc:
-        * UserInterface/Main.html:
-        * UserInterface/Test.html:
-        Helper data structure for managing Maps of Sets (e.g. all DOM breakpoints for a URL).
-
-2019-03-11  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: CPU Usage Timeline - Enable by default
-        https://bugs.webkit.org/show_bug.cgi?id=195471
-
-        Reviewed by Devin Rousso.
-
-        Remove experimental setting and include the CPU timeline in the
-        default set of timelines.
-
-        * UserInterface/Base/Setting.js:
-        * UserInterface/Controllers/TimelineManager.js:
-        (WI.TimelineManager.defaultTimelineTypes):
-        * UserInterface/Main.html:
-        * UserInterface/Views/CPUTimelineOverviewGraph.css:
-        (.timeline-overview-graph.cpu > .stacked-column-chart > svg > rect.selected):
-        (.timeline-overview-graph.cpu > .column-chart > svg > rect): Deleted.
-        (body[dir=rtl] .timeline-overview-graph.cpu > .column-chart): Deleted.
-        * UserInterface/Views/CPUTimelineOverviewGraph.js:
-        (WI.CPUTimelineOverviewGraph):
-        (WI.CPUTimelineOverviewGraph.prototype.layout):
-        * UserInterface/Views/ContentView.js:
-        (WI.ContentView.createFromRepresentedObject):
-        * UserInterface/Views/LegacyCPUTimelineView.css: Removed.
-        * UserInterface/Views/LegacyCPUTimelineView.js: Removed.
-        * UserInterface/Views/SettingsTabContentView.js:
-        (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
-        * UserInterface/Views/Variables.css:
-        (:root):
-
-2019-03-11  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: CPU Usage Timeline - Better Thread chart layout values
-        https://bugs.webkit.org/show_bug.cgi?id=195547
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView.prototype.layout.bestThreadLayoutMax):
-        (WI.CPUTimelineView.prototype.layout.layoutView):
-        (WI.CPUTimelineView.prototype._showGraphOverlay):
-        Include a separate layoutMax for the combined view and a thread layoutMax
-        for the thread groups.
-
-2019-03-11  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: CPU Usage Timeline - Add legend and graph hover effects
-        https://bugs.webkit.org/show_bug.cgi?id=195390
-
-        Reviewed by Devin Rousso.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        New strings for the legends.
-
-        * UserInterface/Main.html:
-        Combined files.
-
-        * UserInterface/Views/Variables.css:
-        (:root):
-        (@media (prefers-color-scheme: dark)):
-        Tweaked colors, including individual stroke and fill colors for each CPU section.
-
-        * UserInterface/Views/CPUTimelineOverviewGraph.css:
-        (.timeline-overview-graph.cpu > .stacked-column-chart > svg > rect.total-usage):
-        (.timeline-overview-graph.cpu > .stacked-column-chart > svg > rect.main-thread-usage):
-        (.timeline-overview-graph.cpu > .stacked-column-chart > svg > rect.worker-thread-usage):
-        Updated colors.
-
-        * UserInterface/Views/CPUUsageCombinedView.css: Renamed from Source/WebInspectorUI/UserInterface/Views/CPUUsageStackedView.css.
-        (.cpu-usage-combined-view > .details > .legend-container):
-        (.cpu-usage-combined-view > .details > .legend-container > .row):
-        (.cpu-usage-combined-view > .details > .legend-container > .row + .row):
-        (.cpu-usage-combined-view > .details > .legend-container > .row > .swatch):
-        * UserInterface/Views/CPUUsageCombinedView.js: Renamed from Source/WebInspectorUI/UserInterface/Views/CPUUsageStackedView.js.
-        (WI.CPUUsageCombinedView.appendLegendRow):
-        (WI.CPUUsageCombinedView):
-        (WI.CPUUsageCombinedView.prototype.get graphElement):
-        (WI.CPUUsageCombinedView.prototype.get chart):
-        (WI.CPUUsageCombinedView.prototype.get rangeChart):
-        (WI.CPUUsageCombinedView.prototype.clear):
-        (WI.CPUUsageCombinedView.prototype.updateChart):
-        (WI.CPUUsageCombinedView.prototype.updateMainThreadIndicator):
-        (WI.CPUUsageCombinedView.prototype.clearLegend):
-        (WI.CPUUsageCombinedView.prototype.updateLegend):
-        (WI.CPUUsageCombinedView.prototype._updateDetails):
-        * UserInterface/Views/CPUUsageIndicatorView.css: Removed.
-        * UserInterface/Views/CPUUsageIndicatorView.js: Removed.
-        Combined the Indicator and StackedAreaChart into a single view
-        that share a left details section.
-
-        * UserInterface/Views/CPUUsageView.js:
-        (WI.CPUUsageView):
-        (WI.CPUUsageView.prototype.get graphElement):
-        (WI.CPUUsageView.prototype.clear):
-        (WI.CPUUsageView.prototype.updateChart):
-        (WI.CPUUsageView.prototype.clearLegend):
-        (WI.CPUUsageView.prototype.updateLegend):
-        (WI.CPUUsageView.prototype._updateDetails):
-        Include a legend in the left details section.
-
-        * UserInterface/Views/AreaChart.js:
-        (WI.AreaChart):
-        (WI.AreaChart.prototype.addPointMarker):
-        (WI.AreaChart.prototype.clearPointMarkers):
-        (WI.AreaChart.prototype.clear):
-        (WI.AreaChart.prototype.layout):
-        * UserInterface/Views/StackedAreaChart.js:
-        (WI.StackedAreaChart):
-        (WI.StackedAreaChart.prototype.addPointMarker):
-        (WI.StackedAreaChart.prototype.clearPointMarkers):
-        (WI.StackedAreaChart.prototype.clear):
-        (WI.StackedAreaChart.prototype.layout):
-        Add point markers for the area charts.
-
-        * UserInterface/Views/CPUTimelineView.css:
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView):
-        (WI.CPUTimelineView.prototype.get cpuUsageViewHeight):
-        (WI.CPUTimelineView.prototype.clear):
-        (WI.CPUTimelineView.prototype.initialLayout.appendLegendRow):
-        (WI.CPUTimelineView.prototype.initialLayout):
-        (WI.CPUTimelineView.prototype.layout):
-        (WI.CPUTimelineView.prototype._graphPositionForMouseEvent):
-        (WI.CPUTimelineView.prototype._handleMouseClick):
-        (WI.CPUTimelineView.prototype._handleGraphMouseMove):
-        (WI.CPUTimelineView.prototype._showGraphOverlayNearTo):
-        (WI.CPUTimelineView.prototype._updateGraphOverlay):
-        (WI.CPUTimelineView.prototype._showGraphOverlay.xScale):
-        (WI.CPUTimelineView.prototype._showGraphOverlay.yScale):
-        (WI.CPUTimelineView.prototype._showGraphOverlay.addOverlayPoint):
-        (WI.CPUTimelineView.prototype._showGraphOverlay):
-        (WI.CPUTimelineView.prototype._clearOverlayMarkers.clearGraphOverlayElement):
-        (WI.CPUTimelineView.prototype._clearOverlayMarkers):
-        (WI.CPUTimelineView.prototype._hideGraphOverlay):
-        Include graph overlay markers.
-
-2019-03-11  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: eliminate manual syncing of numeric constants used by JavaScript and CSS
-        https://bugs.webkit.org/show_bug.cgi?id=194883
-        <rdar://problem/48257785>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/CanvasOverviewContentView.js:
-        (WI.CanvasOverviewContentView):
-        (WI.CanvasOverviewContentView.static get recordingAutoCaptureInputMargin): Added.
-        (WI.CanvasOverviewContentView.prototype._updateRecordingAutoCaptureInputElementSize):
-        * UserInterface/Views/CanvasOverviewContentView.css:
-        (.navigation-bar > .item.canvas-recording-auto-capture > label > input):
-
-        * UserInterface/Views/MemoryTimelineView.js:
-        (WI.MemoryTimelineView.static get memoryCategoryViewHeight): Added.
-        (WI.MemoryTimelineView.prototype.initialLayout): Added.
-        (WI.MemoryTimelineView.prototype.layout):
-        * UserInterface/Views/MemoryCategoryView.css:
-        (.memory-category-view):
-
-        * UserInterface/Views/NetworkTableContentView.js:
-        (WI.NetworkTableContentView.static get nodeWaterfallDOMEventSize): Added.
-        (WI.NetworkTableContentView.prototype.initialLayout):
-        * UserInterface/Views/NetworkTableContentView.css:
-        (.content-view.network .network-table): Deleted.
-
-        * UserInterface/Views/TreeOutline.js:
-        (WI.TreeOutline._generateStyleRulesIfNeeded):
-        * UserInterface/Views/TreeOutline.css:
-        (.tree-outline, .tree-outline .children):
-        (.tree-outline .item):
-
-        * UserInterface/Controllers/CanvasManager.js:
-        (WI.CanvasManager.supportsRecordingAutoCapture):
-        Drive-by: fix usage of InspectorBackend.domains.{CanvasAgent => Canvas}
-
-2019-03-11  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        REGRESSION(r242622): Web Inspector: Fix asserts "Overridden property is missing overridingProperty"
-        https://bugs.webkit.org/show_bug.cgi?id=195515
-        <rdar://problem/48737315>
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/SpreadsheetStyleProperty.js:
-        (WI.SpreadsheetStyleProperty.prototype.updateStatus):
-
-2019-03-07  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Styles: overridden CSS property should have go-to button to jump to effective property
-        https://bugs.webkit.org/show_bug.cgi?id=185930
-        <rdar://problem/40506252>
-
-        Reviewed by Matt Baker.
-
-        Introduce a new experimental jump to effective property button. The button is a small arrow button
-        next to an overridden CSS property. Clicking the button scrolls to the effective CSS property and
-        selects it.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Base/Setting.js:
-        * UserInterface/Models/CSSProperty.js:
-        (WI.CSSProperty):
-        (WI.CSSProperty.prototype.update):
-        (WI.CSSProperty.prototype.get overridingProperty):
-        (WI.CSSProperty.prototype.set overridingProperty):
-        * UserInterface/Models/DOMNodeStyles.js:
-        (WI.DOMNodeStyles.prototype._markOverriddenProperties):
-        * UserInterface/Views/SettingsTabContentView.js:
-        (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
-        (.spreadsheet-style-declaration-editor .property.overridden .select-effective-property):
-        (.spreadsheet-style-declaration-editor .property.overridden:hover .select-effective-property,):
-        (.spreadsheet-style-declaration-editor .property.overridden:hover .select-effective-property::after,):
-        (@media (prefers-color-scheme: dark)):
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
-        (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertySelectByProperty):
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
-        (WI.SpreadsheetCSSStyleDeclarationSection.prototype.spreadsheetCSSStyleDeclarationEditorSelectProperty):
-        * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.js:
-        (WI.SpreadsheetRulesStyleDetailsPanel.prototype.spreadsheetCSSStyleDeclarationSectionSelectProperty):
-        * UserInterface/Views/SpreadsheetStyleProperty.js:
-        (WI.SpreadsheetStyleProperty.prototype.updateStatus):
-
-2019-03-07  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Protocol: add type checking when commands are called via invoke
-        https://bugs.webkit.org/show_bug.cgi?id=195310
-        <rdar://problem/48588679>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Protocol/InspectorBackend.js:
-        (InspectorBackend.Command.prototype.invoke.deliverFailure): Added.
-        (InspectorBackend.Command.prototype.invoke):
-        (InspectorBackend.Command.prototype._invokeWithArguments):
-
-2019-03-07  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: REGRESSION(r242118): WI.ScopeBar missing background
-        https://bugs.webkit.org/show_bug.cgi?id=195299
-
-        Reviewed by Joseph Pecoraro.
-
-        Rework the way `color`, `background-color`, and `border-color` are set for `WI.ScopeBar` to
-        use CSS variables instead. Divides the variables into three categories:
-         - default: these are the values that the `WI.ScopeBar` would use normally
-         - override: these are values that take precidence over the default (e.g. set by other elements)
-            - falls back to default when no value is set
-         - actual: this is the resulting value that will be used when displaying
-            - this way, other elements can "mirror" the styling of the `WI.ScopeBar`
-
-        * UserInterface/Views/ScopeBar.css:
-        (.scope-bar):
-        (.scope-bar > li):
-        (.scope-bar > li::before):
-        (.scope-bar > li:matches(.selected, :hover)):
-        (.scope-bar > li:not(.selected):hover::after):
-        (.scope-bar > li.selected:active::after):
-        (.scope-bar > li.multiple > select):
-        (body[dir=ltr] .scope-bar > li.multiple > select):
-        (body[dir=rtl] .scope-bar > li.multiple > select):
-        (.scope-bar > li.multiple:not(.selected) > select): Added.
-        (.scope-bar > li.multiple > .arrows):
-        (.scope-bar > li::before): Deleted.
-        (.scope-bar.default-item-selected > li.multiple.selected::before): Deleted.
-        (.scope-bar > li:matches(.selected, :hover)::before): Deleted.
-        (.scope-bar > li.selected:active::before): Deleted.
-        (.scope-bar > li.multiple.selected > select): Deleted.
-        (body[dir=ltr] .scope-bar > li.multiple > .arrows): Deleted.
-        (body[dir=rtl] .scope-bar > li.multiple > .arrows): Deleted.
-        (.scope-bar > li.multiple:matches(.selected, :hover, :active) > .arrows): Deleted.
-        (.scope-bar > li:matches(.selected, :active)): Deleted.
-        (@media (prefers-color-scheme: dark)): Deleted.
-        Switch to using `::after` since `::before` is more commonly used.
-
-        * UserInterface/Views/MultipleScopeBarItem.js:
-        (WI.MultipleScopeBarItem.prototype._handleMouseDown):
-        Drive-by: fix the <select> alignment by re-firing the "mousedown" event on it.
-
-        * UserInterface/Views/AuditTestGroupContentView.js:
-        (WI.AuditTestGroupContentView.prototype.layout):
-        * UserInterface/Views/AuditTestGroupContentView.css:
-        (.content-view.audit-test-group > header > nav > .scope-bar > li):
-        (.content-view.audit-test-group > header > nav > .scope-bar > li:not(:hover, .selected)):
-        (.content-view.audit-test-group > header > nav > .scope-bar > li > img): Added.
-        (.content-view.audit-test-group > header > nav > .scope-bar > li.pass > img): Added.
-        (.content-view.audit-test-group > header > nav > .scope-bar > li.warn > img): Added.
-        (.content-view.audit-test-group > header > nav > .scope-bar > li.fail > img): Added.
-        (.content-view.audit-test-group > header > nav > .scope-bar > li.error > img): Added.
-        (.content-view.audit-test-group > header > nav > .scope-bar > li.unsupported > img): Added.
-        (.content-view.audit-test-group > section > .audit-test-case:first-child, .content-view.audit-test-group > section > .audit-test-case.filtered ~ .audit-test-case:not(.filtered), .content-view.audit-test-group > section > .audit-test-group + .audit-test-case, .content-view.audit-test-group > section > .audit-test-case + .audit-test-group): Added.
-        (.content-view.audit-test-group > section > .audit-test-case:not(.filtered) ~ .audit-test-case:not(.filtered)): Added.
-        (.content-view.audit-test-group > header > nav > .scope-bar > li::before): Deleted.
-        (.content-view.audit-test-group > header > nav > .scope-bar > li.pass::before): Deleted.
-        (.content-view.audit-test-group > header > nav > .scope-bar > li.warn::before): Deleted.
-        (.content-view.audit-test-group > header > nav > .scope-bar > li.fail::before): Deleted.
-        (.content-view.audit-test-group > header > nav > .scope-bar > li.error::before): Deleted.
-        (.content-view.audit-test-group > header > nav > .scope-bar > li.unsupported::before): Deleted.
-        (.content-view.audit-test-group > section > .audit-test-case:first-child, .content-view.audit-test-group > section > .audit-test-group + .audit-test-case, .content-view.audit-test-group > section > .audit-test-case + .audit-test-group): Deleted.
-        Replace the `::before` image with an actual `<img>` now that the `WI.ScopeBar` itself uses
-        a pseudo-element for the background styling.
-
-        * UserInterface/Views/LogContentView.js:
-        (WI.LogContentView):
-        * UserInterface/Views/LogContentView.css:
-        (.log-scope-bar > li:not(.unread) > .indicator): Added.
-        (.log-scope-bar > li.unread > .indicator): Added.
-        (.log-scope-bar > li.unread:hover > .indicator): Added.
-        (.log-scope-bar > li.unread.errors > .indicator): Added.
-        (.log-scope-bar > li.unread.warnings > .indicator): Added.
-        (.log-scope-bar > li.unread.logs > .indicator): Added.
-        (.log-scope-bar > li.unread::before): Deleted.
-        (body[dir=ltr] .log-scope-bar > li.unread::before): Deleted.
-        (body[dir=rtl] .log-scope-bar > li.unread::before): Deleted.
-        (.log-scope-bar > li.unread:hover::before): Deleted.
-        (.log-scope-bar > li.unread.errors::before): Deleted.
-        (.log-scope-bar > li.unread.warnings::before): Deleted.
-        (.log-scope-bar > li.unread.logs::before): Deleted.
-        Replace the `::before` unread indicator with an actual `<div>` now that the `WI.ScopeBar`
-        itself uses a pseudo-element for the background styling.
-
-        * UserInterface/Views/TimelineRecordingContentView.css:
-        (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected):
-        (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple): Deleted.
-        (.content-view.timeline-recording > .content-browser > .navigation-bar > .item.scope-bar.default-item-selected > .multiple .arrows): Deleted.
-
-        * UserInterface/Views/CanvasSidebarPanel.js:
-        (WI.CanvasSidebarPanel.prototype._updateRecordingScopeBar):
-        Drive-by: fix typo.
-
-2019-03-07  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: CSS: there should be a way to inline-replace a variable with it's value
-        https://bugs.webkit.org/show_bug.cgi?id=195335
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/InlineSwatch.js:
-        (WI.InlineSwatch):
-        (WI.InlineSwatch.prototype.didDismissPopover):
-        (WI.InlineSwatch.prototype._swatchElementClicked):
-        (WI.InlineSwatch.prototype._swatchElementClicked.optionsForType): Added.
-        Shift-clicking a variable swatch replaces the text with the variable's value.
-        Drive-by: try to create a readonly swatch for the variable's value (e.g. a color indicator).
-
-        * UserInterface/Views/SpreadsheetStyleProperty.js:
-        (WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
-        If the value of a variable swatch changes, re-render the value.
-
-        * UserInterface/Views/CodeMirrorTextMarkers.js:
-        (createCodeMirrorTextMarkers):
-        (createCodeMirrorColorTextMarkers):
-        (createCodeMirrorGradientTextMarkers):
-        (createCodeMirrorBezierTextMarkers):
-        (createCodeMirrorSpringTextMarkers):
-        Refactor function parameters for more flexibility.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-03-06  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Elements: highlight the node when hovering event listeners sorted by node
-        https://bugs.webkit.org/show_bug.cgi?id=195368
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
-        (WI.DOMNodeDetailsSidebarPanel.prototype._refreshEventListeners.generateGroupsByNode):
-
-2019-03-06  Matt Baker  <mattbaker@apple.com>
-
-        Web Inspector: system accent color follow-ups
-        https://bugs.webkit.org/show_bug.cgi?id=195190
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/ButtonToolbarItem.css:
-        (.toolbar .item.button:not(.disabled):matches(:focus, .activate.activated)):
-        (@media (prefers-color-scheme: dark)):
-        (.toolbar .item.button:not(.disabled):active:matches(:focus, .activate.activated)): Deleted.
-        Drop pressed toolbar button style. It's extremely subtle and not worth the hassle.
-
-        * UserInterface/Views/LogContentView.css:
-        (.console-messages:focus .console-item.selected::after):
-        (@media (prefers-color-scheme: dark)):
-
-        * UserInterface/Views/ScopeBar.css:
-        (.scope-bar > li.selected:active::before):
-
-        * UserInterface/Views/TimelineRecordBar.css:
-        (.timeline-record-bar.selected > .segment):
-
-2019-03-06  Matt Baker  <mattbaker@apple.com>
-
-        REGRESSION: Elements tab: Uncaught Exception: No node with given id found
-        https://bugs.webkit.org/show_bug.cgi?id=194299
-        <rdar://problem/47828647>
-
-        Reviewed by Devin Rousso.
-
-        When removing the selection, TreeOutline subclasses should have more
-        control over which item becomes selected after the selection is removed.
-        DOMTreeOutline should track the items that are being removed, and prevent
-        them or their descendants from becoming selected.
-
-        * UserInterface/Views/DOMTreeOutline.js:
-        (WI.DOMTreeOutline):
-        (WI.DOMTreeOutline.prototype.ondelete):
-        (WI.DOMTreeOutline.prototype.canSelectTreeElement):
-
-        * UserInterface/Views/TreeOutline.js:
-        (WI.TreeOutline.prototype.selectionControllerLastSelectableItem):
-        (WI.TreeOutline.prototype.selectionControllerPreviousSelectableItem):
-        (WI.TreeOutline.prototype.selectionControllerNextSelectableItem):
-        (WI.TreeOutline.prototype.canSelectTreeElement):
-
-2019-03-06  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: CPU Usage Timeline - Allow clicking a bar in the overview to select a tight time range around it
-        https://bugs.webkit.org/show_bug.cgi?id=195321
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Models/Timeline.js:
-        (WI.Timeline.prototype.closestRecordTo):
-        Helper to get the closest record to a timestamp.
-
-        * UserInterface/Views/CPUTimelineOverviewGraph.css:
-        (.timeline-overview-graph.cpu > .stacked-column-chart):
-        (.timeline-overview-graph.cpu > .stacked-column-chart > svg > rect.selected):
-        Style a selected record with the active color.
-
-        * UserInterface/Views/CPUTimelineOverviewGraph.js:
-        (WI.CPUTimelineOverviewGraph):
-        (WI.CPUTimelineOverviewGraph.prototype.get samplingRatePerSecond):
-        (WI.CPUTimelineOverviewGraph.prototype.reset):
-        (WI.CPUTimelineOverviewGraph.prototype.layout):
-        (WI.CPUTimelineOverviewGraph.prototype.updateSelectedRecord):
-        (WI.CPUTimelineOverviewGraph.prototype._graphPositionForMouseEvent):
-        (WI.CPUTimelineOverviewGraph.prototype._handleGraphMouseClick):
-        A click in the overview which hits a rect triggers a selection of
-        the associated timeline record.
-
-        * UserInterface/Views/StackedColumnChart.js:
-        (WI.StackedColumnChart.prototype.addColumnSet):
-        (WI.StackedColumnChart.prototype.layout):
-        Allow setting an additional class name with a column set.
-        It will set the class name on each rect in that column.
-
-        * UserInterface/Views/TimelineOverview.js:
-        (WI.TimelineOverview.prototype._recordSelected):
-        When selecting a CPU record, make a selection range of 2 neighboring
-        columns in each direction.
-
-        * UserInterface/Views/TimelineRuler.js:
-        (WI.TimelineRuler.prototype._handleClick):
-        When a sub-element has handled the click stop further event propagation.
-
-        * UserInterface/Views/TimelineOverviewGraph.js:
-        (WI.TimelineOverviewGraph.prototype.get selected):
-        Drive-by style fix.
-
-2019-03-06  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: TimelineOverview clicks do not always behave as expected
-        https://bugs.webkit.org/show_bug.cgi?id=195319
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/TimelineRuler.js:
-        (WI.TimelineRuler.prototype._shouldIgnoreMicroMovement):
-        (WI.TimelineRuler.prototype._handleMouseDown):
-        (WI.TimelineRuler.prototype._handleMouseMove):
-        Ignore moves that haven't gone more than 4px. Once the threshold is
-        passed allow all moves. This improves the click behavior since
-        previously click would never re-dispatch if there was any movement.
-
-2019-03-06  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: CPU Usage Timeline - Statistics and Sources sections
-        https://bugs.webkit.org/show_bug.cgi?id=195202
-
-        Reviewed by Devin Rousso.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        New strings.
-
-        * UserInterface/Base/Utilities.js:
-        (Map.prototype.getOrInitialize):
-        Helper to get and if not found initialize with a value.
-
-        * UserInterface/Views/CPUTimelineView.css:
-        (.timeline-view.cpu > .content > .overview > .chart > .container.stats):
-        (.timeline-view.cpu > .content > .overview > .chart > .container.stats > table):
-        (.timeline-view.cpu > .content > .overview > .chart > .container.stats > table > tr > th):
-        (.timeline-view.cpu > .content > .overview > .chart > .container.stats > table > tr > td.number):
-        (.timeline-view.cpu > .content > .overview > .chart > .container.stats > table > tr > td.label):
-        (.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .show-more):
-        (.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .filter):
-        (.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .filter:hover):
-        (.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .active):
-        (.timeline-view.cpu > .content > .overview > .chart > .container.stats > table .active + .active):
-        (@media (prefers-color-scheme: dark)):
-        Colors for the statistics sections.
-
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView):
-        (WI.CPUTimelineView.prototype.reset):
-        (WI.CPUTimelineView.prototype.clear):
-        (WI.CPUTimelineView.prototype._clearStatistics):
-        (WI.CPUTimelineView.prototype._clearSources):
-        Updates for additional sections.
-        Include a cache of the statisiticsData so we can relayout parts of the UI and
-        avoid an entire UI update.
-
-        (WI.CPUTimelineView.prototype.initialLayout):
-        (WI.CPUTimelineView.prototype._layoutBreakdownChart):
-        (WI.CPUTimelineView.prototype._layoutStatisticsAndSources):
-        (WI.CPUTimelineView.prototype._layoutStatisticsSection.createEllipsisElement):
-        (WI.CPUTimelineView.prototype._layoutStatisticsSection):
-        (WI.CPUTimelineView.prototype._layoutSourcesSection.firstNonNativeCallFrame):
-        (WI.CPUTimelineView.prototype._layoutSourcesSection.keyForSourceCodeLocation):
-        (WI.CPUTimelineView.prototype._layoutSourcesSection.labelForLocation):
-        (WI.CPUTimelineView.prototype._layoutSourcesSection.createEllipsisElement):
-        (WI.CPUTimelineView.prototype._layoutSourcesSection):
-        Extract layouts into helper methods to avoid an enormous layout method.
-
-        (WI.CPUTimelineView.prototype._computeSamplingData.incrementTypeCount):
-        (WI.CPUTimelineView.prototype._computeSamplingData):
-        Compute additional data when going through script events.
-
-        (WI.CPUTimelineView.prototype._resetSourcesFilters):
-        (WI.CPUTimelineView.prototype._addSourcesFilter):
-        (WI.CPUTimelineView.prototype._removeSourcesFilter):
-        (WI.CPUTimelineView.prototype._updateSourcesFilters):
-        Helpers for updating the source filters.
-
-        (WI.CPUTimelineView.prototype._createTableRow):
-        (WI.CPUTimelineView.prototype._insertTableRow):
-        Helpers for creating rows in the statistics / sources tables.
-
-2019-03-06  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Simplify chart <rect>s with x/y attributes instead of transform(x, y)
-        https://bugs.webkit.org/show_bug.cgi?id=195352
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/ColumnChart.js:
-        (WI.ColumnChart.prototype.layout):
-        (WI.ColumnChart):
-        * UserInterface/Views/RangeChart.js:
-        (WI.RangeChart.prototype.layout):
-        (WI.RangeChart):
-        * UserInterface/Views/StackedColumnChart.js:
-        (WI.StackedColumnChart.prototype.layout):
-        (WI.StackedColumnChart):
-
-2019-03-06  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: CSS Changes: only show changes for the given node
-        https://bugs.webkit.org/show_bug.cgi?id=194608
-        <rdar://problem/48050206>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/ChangesDetailsSidebarPanel.js:
-        (WI.ChangesDetailsSidebarPanel.prototype.inspect):
-        (WI.ChangesDetailsSidebarPanel.prototype.supportsDOMNode):
-        (WI.ChangesDetailsSidebarPanel.prototype.layout):
-        Make this panel a subclass of `WI.DOMDetailsSidebarPanel` so it has access to the selected
-        DOM node in the Elements tab.
-
-        * UserInterface/Base/Setting.js:
-        * UserInterface/Views/SettingsTabContentView.js:
-        (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
-        Create new general setting for controlling this change.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-03-06  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Canvas: color swatches aren't shown for valid inputs with leading/trailing whitespace
-        https://bugs.webkit.org/show_bug.cgi?id=195298
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/RecordingActionTreeElement.js:
-        (WI.RecordingActionTreeElement._generateDOM):
-        (WI.RecordingActionTreeElement._createSwatchForColorParameters):
-        Trim the color string since it can be an arbitrary string, seeing as it is captured before
-        the <canvas> has a chance to parse/fix it.
-
-2019-03-05  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: recordsInTimeRange sometimes does not get the expected record when includeRecordBeforeStart
-        https://bugs.webkit.org/show_bug.cgi?id=195317
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Models/Timeline.js:
-        (WI.Timeline.prototype.recordsOverlappingTimeRange):
-
-2019-03-05  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Canvas: remove event listeners once a recording is ready
-        https://bugs.webkit.org/show_bug.cgi?id=195324
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Models/Recording.js:
-        (WI.Recording):
-        (WI.Recording.prototype.async swizzle):
-        (WI.Recording.prototype.async _process):
-
-        * UserInterface/Views/RecordingActionTreeElement.js:
-        (WI.RecordingActionTreeElement):
-        (WI.RecordingActionTreeElement.prototype._handleValidityChanged):
-
-        * UserInterface/Views/CanvasSidebarPanel.js:
-        (WI.CanvasSidebarPanel.prototype.set recording):
-        (WI.CanvasSidebarPanel.prototype._handleRecordingProcessedAction):
-
-        * UserInterface/Views/RecordingContentView.js:
-        (WI.RecordingContentView.prototype.initialLayout):
-        (WI.RecordingContentView.prototype._handleRecordingProcessedAction):
-
-2019-03-05  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Attempting to select records in the bottom 16px of the timeline overview graph fails
-        https://bugs.webkit.org/show_bug.cgi?id=195318
-
-        Reviewed by Devin Rousso.
-
-        The bottom few pixels of the overview are reserved for the scroll-container
-        which may show a scrollbar if the overview needs to scroll. When the scrollbars
-        are not visible we can allow pointer events to click through the invisible
-        scroll-container and allow record selection.
-
-        * UserInterface/Views/TimelineOverview.css:
-        (.timeline-overview:not(.has-scrollbar) > .scroll-container):
-        * UserInterface/Views/TimelineOverview.js:
-        (WI.TimelineOverview.prototype._handleScrollEvent):
-        (WI.TimelineOverview.prototype._handleWheelEvent):
-        (WI.TimelineOverview._handleGestureStart):
-
-2019-03-05  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: iPod user agent UIString should have a lowercase "T"
-        https://bugs.webkit.org/show_bug.cgi?id=195312
-        <rdar://problem/48586853>
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Base/Main.js:
-        (WI._handleDeviceSettingsToolbarButtonClicked):
-
-2019-03-05  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: CPU Usage Timeline - Adjust sizes in timeline overview
-        https://bugs.webkit.org/show_bug.cgi?id=195313
-
-        Reviewed by Devin Rousso.
-
-        Reduce the height slightly to save some precious vertical space.
-        Also increase the size of the minimum bar height so that it doesn't
-        look like there are no events when there is low CPU.
-
-        * UserInterface/Views/CPUTimelineOverviewGraph.css:
-        (body .sidebar > .panel.navigation.timeline > .timelines-content li.item.cpu,):
-        * UserInterface/Views/CPUTimelineOverviewGraph.js:
-        (WI.CPUTimelineOverviewGraph.prototype.get height):
-        Reduce the CPU overview graph height to 60px.
-
-        (WI.CPUTimelineOverviewGraph.prototype.layout):
-        Increase the minimum size of a column bar to 4px.
-
-2019-03-04  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Reload actions from second level inspector should properly reload the inspected inspector
-        https://bugs.webkit.org/show_bug.cgi?id=195306
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Base/Main.js:
-        Provide a better reload for a Nth level inspector.
-
-        * UserInterface/Debug/Bootstrap.js:
-        (WI.runBootstrapOperations):
-        Simplify, should not need to check for InspectorFrontendHost.
-
-2019-03-04  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: MediaSource logging not initialized properly
-        https://bugs.webkit.org/show_bug.cgi?id=195307
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Controllers/ConsoleManager.js:
-        (WI.ConsoleManager.prototype.initializeLogChannels):
-        Typo caused undefined to be included and trigger assertions.
-
-2019-03-04  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: CSS: class input isn't fully centered
-        https://bugs.webkit.org/show_bug.cgi?id=195297
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/GeneralStyleDetailsSidebarPanel.css:
-        (.sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .class-name-input):
-        (body[dir=ltr] .sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .class-name-input): Deleted.
-        (body[dir=rtl] .sidebar > .panel.details.css-style > .content ~ .class-list-container > .new-class > .class-name-input): Deleted.
-
-2019-03-04  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Audit: show the version number in the UI
-        https://bugs.webkit.org/show_bug.cgi?id=195292
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/AuditNavigationSidebarPanel.js:
-        (WI.AuditNavigationSidebarPanel.prototype.showDefaultContentView):
-        (WI.AuditNavigationSidebarPanel.prototype._updateNoAuditsPlaceholder):
-        Fix the logic for showing a placeholder when editing or with only disabled tests.
-
-        * UserInterface/Views/AuditNavigationSidebarPanel.css:
-        (.sidebar > .panel.navigation.audit > .content > .message-text-view): Added.
-        (.audit-version): Added.
-        Don't obstruct the "Edit" button when showing a placeholder.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-03-04  Joseph Pecoraro  <pecoraro@apple.com>
-
-        ITMLKit Inspector: Data Bindings / Associated Data for nodes
-        https://bugs.webkit.org/show_bug.cgi?id=195290
-        <rdar://problem/48304019>
-
-        Reviewed by Devin Rousso.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        New title and empty message strings.
-
-        * UserInterface/Views/DOMNodeDetailsSidebarPanel.css:
-        (.sidebar > .panel.dom-node-details .details-section.dom-node-associated-data > .content .row):
-        * UserInterface/Views/DOMNodeDetailsSidebarPanel.js:
-        (WI.DOMNodeDetailsSidebarPanel.prototype.initialLayout):
-        (WI.DOMNodeDetailsSidebarPanel.prototype.layout):
-        (WI.DOMNodeDetailsSidebarPanel.prototype._refreshDataBindings):
-        (WI.DOMNodeDetailsSidebarPanel.prototype._refreshAssociatedData):
-        (WI.DOMNodeDetailsSidebarPanel.prototype._attributesChanged):
-        New Node sections only enabled for ITMLKit `WI.sharedApp.hasExtraDomains`.
-
-        * UserInterface/Views/ObjectTreeView.js:
-        (WI.ObjectTreeView):
-        Provide a way, like TreeElement/View to access the ObjectTreeView from an element.
-
-2019-03-04  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Canvas: protocol error on first open
-        https://bugs.webkit.org/show_bug.cgi?id=195059
-        <rdar://problem/48407871>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Controllers/CanvasManager.js:
-        (WI.CanvasManager.prototype.initializeTarget):
-        (WI.CanvasManager.prototype.static supportsRecordingAutoCapture):
-        (WI.CanvasManager.prototype.setRecordingAutoCaptureFrameCount):
-        If targets aren't available, wait until they are and then set the auto-capture frame count.
-
-2019-03-04  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Toggling Timeline "Stop when page loads" to on should stop (immediately or soon) any active recording if already past the load event
-        https://bugs.webkit.org/show_bug.cgi?id=195239
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Controllers/TimelineManager.js:
-        (WI.TimelineManager.prototype._handleTimelinesAutoStopSettingChanged):
-
-2019-03-02  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Unexpectedly frequent flashing of DOM node attributes
-        https://bugs.webkit.org/show_bug.cgi?id=148049
-        <rdar://problem/22296830>
-
-        Reviewed by Joseph Pecoraro.
-
-        Save a timestamp of when the CSS animation began, so that if the attribute's node is replaced,
-        we can "resume" the CSS animation at the same point with the attribute's new node.
-
-        * UserInterface/Views/DOMTreeElement.js:
-        (WI.DOMTreeElement):
-        (WI.DOMTreeElement.prototype.attributeDidChange):
-        (WI.DOMTreeElement.prototype._buildAttributeDOM):
-        (WI.DOMTreeElement.prototype._createModifiedAnimation):
-        (WI.DOMTreeElement.prototype._markNodeChanged): Deleted.
-        (WI.DOMTreeElement.prototype._nodeChangedAnimationEnd): Deleted.
-        (WI.DOMTreeElement.prototype._fireDidChange): Deleted.
-
-2019-03-02  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Debugger: DOM, URL, and Event breakpoints don't grey out when all breakpoints are disabled
-        https://bugs.webkit.org/show_bug.cgi?id=195170
-        <rdar://problem/48478193>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/DOMBreakpointTreeElement.js:
-        (WI.DOMBreakpointTreeElement):
-        (WI.DOMBreakpointTreeElement.prototype.onattach):
-        (WI.DOMBreakpointTreeElement.prototype.ondetach):
-        (WI.DOMBreakpointTreeElement.prototype._updateStatus):
-        * UserInterface/Views/EventBreakpointTreeElement.js:
-        (WI.EventBreakpointTreeElement):
-        (WI.EventBreakpointTreeElement.prototype.onattach):
-        (WI.EventBreakpointTreeElement.prototype.ondetach):
-        (WI.EventBreakpointTreeElement.prototype._updateStatus):
-        * UserInterface/Views/URLBreakpointTreeElement.js:
-        (WI.URLBreakpointTreeElement):
-        (WI.URLBreakpointTreeElement.prototype.onattach):
-        (WI.URLBreakpointTreeElement.prototype.ondetach):
-        (WI.URLBreakpointTreeElement.prototype._updateStatus):
-        Remove the `"resolved"` class when the global "breakpoints enabled" state is changed.
-
-        * UserInterface/Controllers/DOMDebuggerManager.js:
-        (WI.DOMDebuggerManager):
-        (WI.DOMDebuggerManager.prototype._handleDOMBreakpointDisabledStateChanged): Added.
-        (WI.DOMDebuggerManager.prototype._handleEventBreakpointDisabledStateChanged): Added.
-        (WI.DOMDebuggerManager.prototype._handleURLBreakpointDisabledStateChanged): Added.
-        (WI.DOMDebuggerManager.prototype._updateEventBreakpoint):
-        (WI.DOMDebuggerManager.prototype._updateURLBreakpoint):
-        (WI.DOMDebuggerManager.prototype._resolveEventBreakpoint):
-        (WI.DOMDebuggerManager.prototype._resolveURLBreakpoint):
-        (WI.DOMDebuggerManager.prototype._updateEventBreakpoint.breakpointUpdated): Deleted.
-        (WI.DOMDebuggerManager.prototype._updateURLBreakpoint.breakpointUpdated): Deleted.
-        * UserInterface/Models/DOMBreakpoint.js:
-        (WI.DOMBreakpoint):
-        (WI.DOMBreakpoint.deserialize): Added.
-        (WI.DOMBreakpoint.prototype.set disabled):
-        (WI.DOMBreakpoint.prototype.set domNodeIdentifier):
-        * UserInterface/Models/EventBreakpoint.js:
-        (WI.EventBreakpoint.deserialize): Added.
-        (WI.EventBreakpoint.prototype.set disabled):
-        (WI.EventBreakpoint.fromPayload): Deleted.
-        * UserInterface/Models/URLBreakpoint.js:
-        (WI.URLBreakpoint.deserialize): Added.
-        (WI.URLBreakpoint.prototype.set disabled):
-        * UserInterface/Views/DOMTreeContentView.js:
-        (WI.DOMTreeContentView):
-        (WI.DOMTreeContentView.prototype._handleDOMBreakpointDisabledStateChanged): Added.
-        (WI.DOMTreeContentView.prototype._handleDOMBreakpointDOMNodeChanged): Added.
-        * UserInterface/Views/DebuggerSidebarPanel.js:
-        (WI.DebuggerSidebarPanel.prototype._handleDOMBreakpointResolvedStateChanged): Added.
-        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
-        (WI.SourcesNavigationSidebarPanel):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDOMBreakpointResolvedStateChanged): Added.
-        Drive-by: rename all events with the name `*DidChange` to `*Changed`.
-        Drive-by: create static `deserialize` helper functions.
-
-2019-03-02  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Sources: breakpoints should be disabled when an audit is running
-        https://bugs.webkit.org/show_bug.cgi?id=195105
-        <rdar://problem/48441373>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/SourcesNavigationSidebarPanel.js:
-        (WI.SourcesNavigationSidebarPanel):
-        (WI.SourcesNavigationSidebarPanel.prototype.closed):
-        (WI.SourcesNavigationSidebarPanel.prototype._updateTemporarilyDisabledBreakpointsButtons): Added.
-        (WI.SourcesNavigationSidebarPanel.prototype._updateBreakpointsDisabledBanner):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleTimelineCapturingWillStart):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleTimelineCapturingStopped):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleAuditManagerTestScheduled): Added.
-        (WI.SourcesNavigationSidebarPanel.prototype._handleAuditManagerTestCompleted): Added.
-        * UserInterface/Views/SourcesNavigationSidebarPanel.css:
-        (.sidebar > .panel.navigation.sources > .content > .warning-banner + .warning-banner): Added.
-
-        * UserInterface/Views/DebuggerSidebarPanel.js:
-        (WI.DebuggerSidebarPanel):
-
-2019-03-02  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Debugger: don't enable breakpoints when source location changes
-        https://bugs.webkit.org/show_bug.cgi?id=195081
-        <rdar://problem/48422701>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Controllers/DebuggerManager.js:
-        (WI.DebuggerManager.prototype._breakpointDisplayLocationDidChange):
-        (WI.DebuggerManager.prototype._breakpointEditablePropertyDidChange):
-
-2019-03-01  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: CPU Usage - Energy Impact Section
-        https://bugs.webkit.org/show_bug.cgi?id=195151
-
-        Reviewed by Devin Rousso.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Main.html:
-        New strings and resources.
-
-        * UserInterface/Views/CPUTimelineView.css:
-        (.timeline-view.cpu > .content .subtitle > .info):
-        (@media (prefers-color-scheme: dark)):
-        (.energy-info-popover-content):
-        (.timeline-view.cpu > .content > .overview > .divider):
-        (body[dir=ltr] .timeline-view.cpu > .content > .overview > .divider):
-        (body[dir=rtl] .timeline-view.cpu > .content > .overview > .divider):
-        (.timeline-view.cpu :matches(.area-chart, .stacked-area-chart) svg > path):
-        (.timeline-view.cpu .gauge-chart:not(.empty) > svg > path.low):
-        (.timeline-view.cpu .gauge-chart:not(.empty) > svg > path.medium):
-        (.timeline-view.cpu .gauge-chart:not(.empty) > svg > path.high):
-        (.timeline-view.cpu .gauge-chart:not(.empty) > svg > polygon.needle):
-        (.timeline-view.cpu .energy):
-        (.timeline-view.cpu .energy .energy-impact):
-        (.timeline-view.cpu .energy .energy-impact.low):
-        (.timeline-view.cpu .energy .energy-impact.medium):
-        (.timeline-view.cpu .energy .energy-impact.high):
-        (.timeline-view.cpu .energy .energy-impact-number):
-        Styling the chart and text for the different energy impact levels.
-
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView.prototype.get lowEnergyValue):
-        (WI.CPUTimelineView.prototype.get highEnergyValue):
-        (WI.CPUTimelineView.prototype.initialLayout):
-        (WI.CPUTimelineView.prototype.layout):
-        (WI.CPUTimelineView.prototype._layoutEnergyChart.mapWithBias):
-        (WI.CPUTimelineView.prototype._layoutEnergyChart.valuesForGauge):
-        (WI.CPUTimelineView.prototype._layoutEnergyChart):
-        (WI.CPUTimelineView.prototype._clearEnergyImpactText):
-        New gauge chart and associated popover.
-        We do a bit of biasing of the data for each of the sections
-        in the gauge chart. Each section biases toward the cap of the
-        section so that:
-          - we encourage lower power usage (sub 3%)
-          - the gauge needle quickly moves past the low value of a range
-
-        * UserInterface/Views/GaugeChart.css: Added.
-        (.gauge-chart):
-        (body[dir=rtl] .gauge-chart):
-        (.gauge-chart > svg > path,):
-        (.gauge-chart > svg > polygon.needle):
-        (.gauge-chart.empty > svg > polygon.needle):
-        (@media (prefers-color-scheme: dark)):
-        * UserInterface/Views/GaugeChart.js: Added.
-        (WI.GaugeChart.prototype.get size):
-        (WI.GaugeChart.prototype.get segments):
-        (WI.GaugeChart.prototype.get value):
-        (WI.GaugeChart.prototype.set value):
-        (WI.GaugeChart.prototype.clear):
-        (WI.GaugeChart.prototype.initialLayout):
-        (WI.GaugeChart.prototype.layout):
-        (WI.GaugeChart.prototype._validateSegments):
-        (WI.GaugeChart.prototype._createSegmentPathData):
-        GaugeChart with variable number of sections and a
-        current value needle. It has a bit of customization
-        when drawing the arc at the start of each segment.
-
-        * UserInterface/Views/Variables.css:
-        (:root):
-        (@media (prefers-color-scheme: dark)):
-        New CPU colors for the different energy impact levels.
-
-2019-03-01  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Data grid border colors don't match accent colors
-        https://bugs.webkit.org/show_bug.cgi?id=195232
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/DataGrid.css:
-        (.data-grid:focus tr.selected td:not(:last-child)):
-        (body[dir=ltr] .data-grid:focus tr.selected td:not(:last-child)):
-        (body[dir=rtl] .data-grid:focus tr.selected td:not(:last-child)):
-
-2019-02-28  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Timelines: don't show the auto-stop UI when not inspecting a page
-        https://bugs.webkit.org/show_bug.cgi?id=195192
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/TimelineRecordingContentView.js:
-        (WI.TimelineRecordingContentView):
-        (WI.TimelineRecordingContentView.prototype.get navigationItems):
-
-2019-02-28  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: CPU Usage: Worker thread that dies might stay at a high value forever
-        https://bugs.webkit.org/show_bug.cgi?id=195148
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/CPUTimelineView.js:
-        (CPUTimelineView.prototype.layout):
-        Handle workers dieing or at least zeroing out between records.
-
-2019-02-28  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: CPU Usage Timeline - Make Threads section expandable / collapsable
-        https://bugs.webkit.org/show_bug.cgi?id=195085
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Base/Setting.js:
-        New setting to save the Threads expanded/collapsed state.
-
-        * UserInterface/Views/CPUTimelineView.css:
-        (.timeline-view.cpu > .content > .details > .subtitle):
-        (.timeline-view.cpu > .content > .details > details > .subtitle.threads):
-        (.timeline-view.cpu > .content > .details > .subtitle): Deleted.
-        (.timeline-view.cpu > .content > .details > .subtitle.threads): Deleted.
-        Ensure subtitle styles apply now that one of the subtitles is inside
-        of a <details> / <summary> element.
-
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView.prototype.initialLayout):
-        Make the Threads group a <details> / <summary> expandable / collapsed element.
-
-        * UserInterface/Views/Main.css:
-        (summary):
-        (summary::-webkit-details-marker):
-        Default styles for <summary>.
-
-2019-02-28  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: View.removeSubview not removing the element properly when not parented
-        https://bugs.webkit.org/show_bug.cgi?id=195146
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/View.js:
-        (WI.View.prototype.removeSubview):
-        Since the element may not be a direct child, just use Element.prototype.remove.
-
-2019-02-28  Matt Baker  <mattbaker@apple.com>
-
-        Web Inspector: Debugger: disabled breakpoint color is too dark
-        https://bugs.webkit.org/show_bug.cgi?id=195103
-        <rdar://problem/48440678>
-
-        Reviewed by Devin Rousso.
-
-        Increase the disabled breakpoint contrast, as well as the contrast between
-        disabled and auto-continue breakpoints. Disabled breakpoints stand out by
-        being somewhat brighter and less saturated. Using the same strategy for
-        auto-continue breakpoints is too subtle to provide sufficient contrast.
-
-        We can adopt the technique used by Xcode, and overlay a white triangle
-        marker on the breakpoint arrow to indicate an auto-continue breakpoint.
-
-        * UserInterface/Views/BreakpointTreeElement.css:
-        (.item.breakpoint .status > .status-image):
-        (.item.breakpoint.selected .status > .status-image.resolved):
-        Add white outline to make selected breakpoint button stand out.
-        (.item.breakpoint .status > .status-image.auto-continue::after):
-        (.item.breakpoint .status > .status-image.disabled):
-        (.item.breakpoint .status > .status-image.auto-continue): Deleted.
-
-
-        * UserInterface/Views/DOMTreeContentView.css:
-        (.content-view.dom-tree .tree-outline.dom li .status-image.breakpoint):
-        (.content-view.dom-tree .tree-outline.dom li .status-image.breakpoint.disabled):
-        (.content-view.dom-tree .tree-outline.dom li .status-image.breakpoint.subtree):
-        (.content-view.dom-tree .tree-outline.dom li .status-image.breakpoint.disabled,): Deleted.
-
-        * UserInterface/Views/TextEditor.css:
-        (.text-editor > .CodeMirror .has-breakpoint .CodeMirror-linenumber::before):
-        (.text-editor > .CodeMirror .breakpoint-auto-continue:not(.execution-line.primary) .CodeMirror-linenumber::after):
-        (.text-editor > .CodeMirror .breakpoint-disabled .CodeMirror-linenumber::before):
-        (.text-editor > .CodeMirror .breakpoint-auto-continue:not(.breakpoint-disabled) .CodeMirror-linenumber::before): Deleted.
-
-        * UserInterface/Views/Variables.css:
-        (:root):
-        Add breakpoint color variables to use across all breakpoint controls.
-        Use system colors if available, otherwise fall back to hard-coded values
-        based on sampling the default (blue) accent color on Mojave.
-
-2019-02-28  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Styles: Control-Space should force completion
-        https://bugs.webkit.org/show_bug.cgi?id=194796
-        <rdar://problem/48180822>
-
-        Reviewed by Matt Baker.
-
-        Pressing Control-Space when editing CSS property should show completion popover,
-        even if the value is empty.
-
-        * UserInterface/Models/CSSCompletions.js:
-        (WI.CSSCompletions.prototype.startsWith):
-        Performance optimization: exit early when `prefix` is empty.
-
-        * UserInterface/Views/SpreadsheetStyleProperty.js:
-        (WI.SpreadsheetStyleProperty.prototype._nameCompletionDataProvider):
-        (WI.SpreadsheetStyleProperty.prototype._valueCompletionDataProvider):
-        * UserInterface/Views/SpreadsheetTextField.js:
-        (WI.SpreadsheetTextField):
-        (WI.SpreadsheetTextField.prototype._handleKeyDown):
-        (WI.SpreadsheetTextField.prototype._updateCompletions):
-
-2019-02-28  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Canvas: enabling auto-capture if the frame count is empty triggers an assertion
-        https://bugs.webkit.org/show_bug.cgi?id=195060
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/CanvasOverviewContentView.js:
-        (WI.CanvasOverviewContentView.prototype._setRecordingAutoCaptureFrameCount):
-        (WI.CanvasOverviewContentView.prototype._updateRecordingAutoCaptureCheckboxLabel):
-        (WI.CanvasOverviewContentView.prototype._handleRecordingAutoCaptureCheckedDidChange):
-
-2019-02-28  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Revert -webkit-border-end changes that are unreliable
-        https://bugs.webkit.org/show_bug.cgi?id=195149
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/CPUUsageIndicatorView.css:
-        (.cpu-usage-indicator-view > .details):
-        (body[dir=ltr] .cpu-usage-indicator-view > .details):
-        (body[dir=rtl] .cpu-usage-indicator-view > .details):
-        * UserInterface/Views/CPUUsageStackedView.css:
-        (.cpu-usage-stacked-view > .details):
-        (body[dir=ltr] .cpu-usage-stacked-view > .details):
-        (body[dir=rtl] .cpu-usage-stacked-view > .details):
-        * UserInterface/Views/CPUUsageView.css:
-        (.cpu-usage-view > .details):
-        (body[dir=ltr] .cpu-usage-view > .details):
-        (body[dir=rtl] .cpu-usage-view > .details):
-        * UserInterface/Views/MemoryCategoryView.css:
-        (.memory-category-view > .details):
-        (body[dir=ltr] .memory-category-view > .details):
-        (body[dir=rtl] .memory-category-view > .details):
-
-2019-02-28  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Cleanup some Chart code
-        https://bugs.webkit.org/show_bug.cgi?id=195147
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/RangeChart.js:
-        (WI.RangeChart.prototype.layout):
-        (WI.RangeChart):
-        * UserInterface/Views/StackedColumnChart.js:
-        (WI.StackedColumnChart.prototype.layout):
-        (WI.StackedColumnChart):
-
-2019-02-27  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Add a new Scanner TimelineMarker to show up when mousing over TimelineView graphs
-        https://bugs.webkit.org/show_bug.cgi?id=195079
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Base/Utilities.js:
-        (Note.prototype.enclosingNodeOrSelfWithClassInArray):
-        Helper for a set of classes.
-
-        * UserInterface/Models/TimelineMarker.js:
-        Add a new marker type, "Scanner".
-
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView.prototype.initialLayout):
-        (WI.CPUTimelineView.prototype._graphPositionForMouseEvent):
-        (WI.CPUTimelineView.prototype._handleGraphMouseMove):
-        * UserInterface/Views/MemoryTimelineView.js:
-        (WI.MemoryTimelineView):
-        (WI.MemoryTimelineView.prototype._graphPositionForMouseEvent):
-        (WI.MemoryTimelineView.prototype._handleGraphMouseMove):
-        Update a scanner time when mousing over various graphs that span the entire time range.
-        These use the containing graph element because there was a single pixel between
-        adjacent graphs which would cause the scanner to flicker because the mouse event target
-        was not an svg element.
-
-        * UserInterface/Views/TimelineOverview.js:
-        (WI.TimelineOverview.prototype.hidden):
-        (WI.TimelineOverview.prototype.updateScannerTime):
-        (WI.TimelineOverview.prototype.clearScanner):
-        * UserInterface/Views/TimelineRecordingContentView.js:
-        (WI.TimelineRecordingContentView):
-        (WI.TimelineRecordingContentView.prototype._handleTimelineViewScannerTimeDidChange):
-        (WI.TimelineRecordingContentView.prototype._handleTimelineViewScannerDidClear):
-        Update the overview's ruler with scanner changes.
-
-        * UserInterface/Views/TimelineRuler.css:
-        (.timeline-ruler > .markers > .marker.scanner):
-        * UserInterface/Views/TimelineRuler.js:
-        (WI.TimelineRuler):
-        (WI.TimelineRuler.prototype.clearMarkers):
-        (WI.TimelineRuler.prototype.updateScannerTime):
-        (WI.TimelineRuler.prototype.clearScanner):
-        (WI.TimelineRuler.prototype._updateMarkers):
-        Have a special scanner marker that updates.
-
-        * UserInterface/Views/TimelineView.js:
-        New events that a TimelineView can dispatch to update the overview.
-
-        * UserInterface/Views/Variables.css:
-        (:root):
-        (@media (prefers-color-scheme: dark)):
-        Scanner marker colors.
-
-2019-02-27  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Use Element.closest for internal code
-        https://bugs.webkit.org/show_bug.cgi?id=173747
-
-        Reviewed by Joseph Pecoraro.
-
-        Replace usage of added utility functions on the `Node` prototype with the built-in
-        `Element.prototype.closest` as it's more flexible and is capable of doing the same thing.
-
-        * UserInterface/Base/Utilities.js:
-        (Node.prototype.enclosingNodeOrSelfWithClass): Deleted.
-        (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Deleted.
-        (Node.prototype.enclosingNodeOrSelfWithNodeName): Deleted.
-        * UserInterface/Base/Main.js:
-        (WI.handlePossibleLinkClick):
-        (WI._focusedContentBrowser):
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView.prototype._graphPositionForMouseEvent):
-        * UserInterface/Views/CompletionSuggestionsView.js:
-        (WI.CompletionSuggestionsView.prototype.set selectedIndex):
-        (WI.CompletionSuggestionsView.prototype.update):
-        (WI.CompletionSuggestionsView.prototype._itemClicked):
-        * UserInterface/Views/ConsoleGroup.js:
-        (WI.ConsoleGroup.prototype._titleClicked):
-        * UserInterface/Views/DOMTreeContentView.js:
-        (WI.DOMTreeContentView.prototype._mouseWasClicked):
-        * UserInterface/Views/DOMTreeElement.js:
-        (WI.DOMTreeElement.prototype._startEditingTarget):
-        (WI.DOMTreeElement.prototype._populateTagContextMenu):
-        * UserInterface/Views/DOMTreeOutline.js:
-        (WI.DOMTreeOutline.prototype.populateContextMenu):
-        * UserInterface/Views/DataGrid.js:
-        (WI.DataGrid.prototype._startEditing):
-        (WI.DataGrid.prototype._editingCancelled):
-        (WI.DataGrid.prototype.dataGridNodeFromNode):
-        (WI.DataGrid.prototype.dataGridNodeFromPoint):
-        (WI.DataGrid.prototype._headerCellClicked):
-        (WI.DataGrid.prototype._mouseoverColumnCollapser):
-        (WI.DataGrid.prototype._mouseoutColumnCollapser):
-        (WI.DataGrid.prototype._clickInColumnCollapser):
-        (WI.DataGrid.prototype._contextMenuInHeader):
-        (WI.DataGrid.prototype._contextMenuInDataTable):
-        * UserInterface/Views/DataGridNode.js:
-        (WI.DataGridNode.prototype.isEventWithinDisclosureTriangle):
-        * UserInterface/Views/LegacyTabBar.js:
-        (WI.LegacyTabBar.prototype._handleMouseDown):
-        (WI.LegacyTabBar.prototype._handleClick):
-        * UserInterface/Views/LogContentView.js:
-        (WI.LogContentView.prototype._handleContextMenuEvent):
-        (WI.LogContentView.prototype._mousedown):
-        (WI.LogContentView.prototype._targetInMessageCanBeSelected):
-        (WI.LogContentView.prototype._mousemove):
-        (WI.LogContentView.prototype._mouseup):
-        (WI.LogContentView.prototype._ondragstart):
-        * UserInterface/Views/NavigationBar.js:
-        (WI.NavigationBar.prototype._mouseDown):
-        (WI.NavigationBar.prototype._mouseMoved):
-        * UserInterface/Views/Popover.js:
-        (WI.Popover.prototype.handleEvent):
-        * UserInterface/Views/TabBar.js:
-        (WI.TabBar.prototype._handleMouseDown):
-        (WI.TabBar.prototype._handleClick):
-        * UserInterface/Views/Table.js:
-        (WI.Table.prototype._handleMouseDown):
-        (WI.Table.prototype._handleContextMenu):
-        * UserInterface/Views/TreeOutline.js:
-        (WI.TreeOutline.prototype.treeElementFromNode):
-
-2019-02-27  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: REGRESSION(r242118): Debugger: event breakpoints have no icon
-        https://bugs.webkit.org/show_bug.cgi?id=195119
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/EventBreakpointTreeElement.js:
-        (WI.EventBreakpointTreeElement):
-
-2019-02-27  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Dark Mode: unreadable text in bezier curve editor numeric input fields
-        https://bugs.webkit.org/show_bug.cgi?id=195018
-        <rdar://problem/48378541>
-
-        Reviewed by Matt Baker.
-
-        Simplify some styles using `-webkit-*` properties instead of `[dir=ltr]`/`[dir=rtl]` selectors.
-
-        * UserInterface/Views/BezierEditor.css:
-        (.bezier-editor):
-        (.bezier-editor > .bezier-preview):
-        (.bezier-editor > .bezier-preview-timing):
-        (.bezier-editor > .bezier-container .linear-curve):
-        (.bezier-editor > .bezier-container .bezier-curve):
-        (.bezier-editor > .bezier-container .control-line):
-        (.bezier-editor > .bezier-container .control-handle):
-        (.bezier-editor > .number-input-container):
-        (.bezier-editor > .number-input-container > input):
-        (body[dir=ltr] .bezier-editor > .bezier-preview-timing): Deleted.
-        (body[dir=rtl] .bezier-editor > .bezier-preview-timing): Deleted.
-        (body[dir=ltr] .bezier-editor > .number-input-container > input): Deleted.
-        (body[dir=rtl] .bezier-editor > .number-input-container > input): Deleted.
-        (@media (prefers-color-scheme: dark)): Deleted.
-        Remove all custom styling on any <input>s, as they look fine with their default styling.
-
-        * UserInterface/Views/SpringEditor.css:
-        (.spring-editor > .spring-preview):
-        (.spring-editor > .spring-preview > div):
-        (.spring-editor > .spring-timing > div):
-
-2019-02-27  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: popover colors don't change when transitioning to/from dark mode
-        https://bugs.webkit.org/show_bug.cgi?id=195113
-        <rdar://problem/48444188>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Views/Popover.js:
-        (WI.Popover.prototype.dismiss):
-        (WI.Popover.prototype._addListenersIfNeeded):
-
-2019-02-26  Matt Baker  <mattbaker@apple.com>
-
-        Web Inspector: Use system accent color throughout UI
-        https://bugs.webkit.org/show_bug.cgi?id=193507
-        <rdar://problem/47327971>
-
-        Reviewed by Timothy Hatcher.
-
-        * UserInterface/Images/Breakpoint.png: Removed.
-        * UserInterface/Images/Breakpoint.svg: Added.
-        * UserInterface/Images/Breakpoint@2x.png: Removed.
-        * UserInterface/Images/BreakpointInactive.png: Removed.
-        * UserInterface/Images/BreakpointInactive@2x.png: Removed.
-        Replace breakpoint pixel art with an SVG image that can be styled in CSS.
-
-        * UserInterface/Images/CSSVariable.svg:
-        * UserInterface/Images/CubicBezier.svg:
-        * UserInterface/Images/UserInputPrompt.svg:
-        Remove fill color since it is now styled in CSS.
-
-        * UserInterface/Views/BezierEditor.css:
-        (.bezier-editor > .bezier-preview > div):
-        (@media (prefers-color-scheme: dark)):
-        (.bezier-editor > .bezier-container .control-handle):
-        (.bezier-editor > .bezier-container .control-line):
-        Use system accent color for control handles.
-
-        * UserInterface/Views/BreakpointTreeElement.css:
-        (.item.breakpoint .status > .status-image):
-        (.item.breakpoint .status > .status-image.resolved):
-        Use system accent color for breakpoint fill, with a dark outline
-        to match Xcode and make the button stand out against the selection.
-
-        * UserInterface/Views/BreakpointTreeElement.js:
-        (WI.BreakpointTreeElement.prototype._updateStatus):
-
-        * UserInterface/Views/ButtonNavigationItem.css:
-        (.navigation-bar .item.button > .glyph):
-
-        * UserInterface/Views/ConsolePrompt.js:
-        (WI.ConsolePrompt):
-
-        * UserInterface/Views/DOMBreakpointTreeElement.js:
-        * UserInterface/Views/DOMTreeContentView.css:
-        (.content-view.dom-tree .tree-outline.dom li .status-image.breakpoint):
-        (.content-view.dom-tree .tree-outline.dom li .status-image.breakpoint.disabled,):
-        (.content-view.dom-tree .tree-outline.dom li .status-image.breakpoint.subtree):
-        (.content-view.dom-tree .tree-outline.dom li .status-image.breakpoint.disabled): Deleted.
-        (.content-view.dom-tree .tree-outline.dom.breakpoints-disabled li .status-image.breakpoint): Deleted.
-        (.content-view.dom-tree .tree-outline.dom.breakpoints-disabled li .status-image.breakpoint.disabled): Deleted.
-
-        * UserInterface/Views/DOMTreeOutline.css:
-        (.tree-outline.dom li.selected .selection-area):
-        (.tree-outline.dom li.elements-drag-over .selection-area):
-        (.tree-outline.dom:focus li:matches(.selected, .hovered) .selection-area):
-        (.tree-outline.dom li.hovered:not(.selected) .selection-area):
-        (.tree-outline.dom li.pseudo-class-enabled > .selection-area::before):
-        Use the system accent color for the "pseudo-class enabled" marker.
-        (@media (prefers-color-scheme: dark)):
-        (.tree-outline.dom:focus li.selected .selection-area): Deleted.
-        Use --selected-background-color for selection and hover styles, which is
-        set to the system highlight color if available.
-
-        * UserInterface/Views/InlineSwatch.css:
-        (.inline-swatch:matches(.bezier, .spring, .variable)):
-        (.inline-swatch:matches(.bezier, .spring)): Deleted.
-        (.inline-swatch.variable): Deleted.
-
-        * UserInterface/Views/InlineSwatch.js:
-        (WI.InlineSwatch):
-
-        * UserInterface/Views/NetworkDetailView.css:
-        (.network .network-detail .navigation-bar .item.radio.button.text-only:before):
-        (.network .network-detail .navigation-bar .item.radio.button.text-only.selected):
-        (@media (prefers-color-scheme: dark)):
-        (.network-detail .item.close > .glyph):
-
-        * UserInterface/Views/QuickConsole.css:
-        (.quick-console > .console-prompt > .glyph):
-        (.quick-console > .console-prompt::before): Deleted.
-
-        * UserInterface/Views/RadioButtonNavigationItem.css:
-        (.navigation-bar .item.radio.button.text-only):
-        (.navigation-bar .item.radio.button.text-only::before):
-        (.navigation-bar .item.radio.button.text-only:matches(.selected, :hover)):
-        (.navigation-bar .item.radio.button.text-only:matches(.selected, :hover)::before):
-        (.navigation-bar .item.radio.button.text-only:not(.selected):hover::before):
-        (.navigation-bar .item.radio.button.text-only.selected:active::before):
-        (.navigation-bar .item.radio.button.text-only:hover): Deleted.
-        (.navigation-bar .item.radio.button.text-only.selected): Deleted.
-        (.navigation-bar .item.radio.button.text-only:active): Deleted.
-        (.navigation-bar .item.radio.button.text-only.selected:active): Deleted.
-        Use system accent color for selection and hover styles. Since it isn't
-        yet possible to derive new colors from the accent color in CSS, fake it
-        with a ::before pseudo-element that can have have `filter` or `opacity`
-        effects applied to it without altering the button text color.
-
-        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
-        (.timeline-overview-graph.rendering-frame > .frame-marker):
-        Use system accent color for selected frame marker.
-
-        * UserInterface/Views/ScopeBar.css:
-        (.scope-bar > li):
-        (.scope-bar > li::before):
-        (.scope-bar.default-item-selected > li.multiple.selected::before):
-        (.scope-bar > li:matches(.selected, :hover)):
-        (.scope-bar > li:matches(.selected, :hover)::before):
-        (.scope-bar > li:not(.selected):hover::before):
-        (.scope-bar > li.selected:active::before):
-        (.scope-bar > li:hover): Deleted.
-        (.scope-bar > li.selected): Deleted.
-        (.scope-bar > li:active): Deleted.
-        (.scope-bar > li.selected:active): Deleted.
-
-        * UserInterface/Views/SettingsTabContentView.css:
-        (.content-view.settings .navigation-bar .item.radio.button.text-only:before):
-
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
-        (.spreadsheet-style-declaration-editor):
-        (@media (prefers-color-scheme: dark)):
-
-        * UserInterface/Views/TextEditor.css:
-        (.text-editor > .CodeMirror .has-breakpoint .CodeMirror-linenumber::before):
-        (.text-editor > .CodeMirror .breakpoint-resolved .CodeMirror-linenumber::before):
-        (.text-editor > .CodeMirror .has-breakpoint.multiple-breakpoints .CodeMirror-linenumber::before):
-        (@keyframes text-editor-highlight-fadeout):
-        (@keyframes text-editor-hovered-expression-highlight-fadeout):
-        Replace breakpoint pixel art with a solid color (the system accent
-        color) clipped to the shape of a breakpoint.
-
-        * UserInterface/Views/TimelineRecordFrame.css:
-        (.timeline-record-frame.selected):
-
-        * UserInterface/Views/URLBreakpointTreeElement.js:
-
-        * UserInterface/Views/Variables.css:
-        (:root):
-        (body.window-inactive):
-        (@media (prefers-color-scheme: dark)):
-        (body.mac-platform:not(.sierra, .high-sierra)):
-        Add custom property overrides for system colors where supported.
-
-2019-02-26  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Search: no results when opening to Search tab
-        https://bugs.webkit.org/show_bug.cgi?id=195058
-        <rdar://problem/48407699>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/SearchSidebarPanel.js:
-        (WI.SearchSidebarPanel.prototype.performSearch):
-        If targets aren't available, wait until they are and then perform the search.
-
-        * UserInterface/Base/Main.js:
-        (WI.targetsAvailable): Added.
-        Expose getter for indicating whether targets are available.
-
-2019-02-26  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: CPU Usage Timeline - Main Thread Indicator
-        https://bugs.webkit.org/show_bug.cgi?id=194972
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Main.html:
-        * UserInterface/Base/Utilities.js:
-        (value):
-        The existing enclosingNode doesn't work for SVG because its names
-        are lowercase. Add a simplified version for the svg case.
-
-        * UserInterface/Views/RangeChart.js: Added.
-        (WI.RangeChart):
-        (WI.RangeChart.prototype.get size):
-        (WI.RangeChart.prototype.set size):
-        (WI.RangeChart.prototype.addRange):
-        (WI.RangeChart.prototype.clear):
-        (WI.RangeChart.prototype.layout):
-        A new chart that draws rects for given ranges.
-
-        * UserInterface/Models/Timeline.js:
-        (WI.Timeline.prototype.recordsOverlappingTimeRange):
-        Helper to specifically get records touching a range. Useful
-        for when we have a single pixel spanning (startTime -> endTime)
-        and we want to find records in that pixel.
-
-        * UserInterface/Views/CPUTimelineView.css:
-        (.timeline-view.cpu .cpu-usage-indicator-view > .graph > .range-chart rect):
-        (.timeline-view.cpu .cpu-usage-indicator-view > .graph > .range-chart .sample-type-script):
-        (.timeline-view.cpu .cpu-usage-indicator-view > .graph > .range-chart .sample-type-style):
-        (.timeline-view.cpu .cpu-usage-indicator-view > .graph > .range-chart .sample-type-layout):
-        (.timeline-view.cpu .cpu-usage-indicator-view > .graph > .range-chart .sample-type-paint):
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView.prototype.get indicatorViewHeight):
-        (WI.CPUTimelineView.prototype.clear):
-        (WI.CPUTimelineView.prototype.get scrollableElements):
-        (WI.CPUTimelineView.prototype.initialLayout):
-        (WI.CPUTimelineView.prototype.layout):
-        (WI.CPUTimelineView.prototype._graphPositionForMouseEvent):
-        (WI.CPUTimelineView.prototype._handleIndicatorClick):
-        (WI.CPUTimelineView.prototype._attemptSelectIndicatatorTimelineRecord):
-        (WI.CPUTimelineView.prototype._selectTimelineRecord):
-        Place the Main Thread Indicator view beneath the big graph.
-        Clicking inside it selects records in the Timeline Overview.
-
-        * UserInterface/Views/CPUUsageIndicatorView.css: Added.
-        (.cpu-usage-indicator-view):
-        (.cpu-usage-indicator-view > .details):
-        (body[dir=ltr] .cpu-usage-indicator-view > .details):
-        (body[dir=rtl] .cpu-usage-indicator-view > .details):
-        (body[dir=rtl] .cpu-usage-indicator-view > .graph):
-        (.cpu-usage-indicator-view > .graph):
-        (.cpu-usage-indicator-view > .graph,):
-        * UserInterface/Views/CPUUsageIndicatorView.js: Added.
-        (WI.CPUUsageIndicatorView):
-        (WI.CPUUsageIndicatorView.prototype.get chart):
-        (WI.CPUUsageIndicatorView.prototype.clear):
-        (WI.CPUUsageIndicatorView.prototype.updateChart):
-        Converts the CPU samples data into a RangeChart. It works to coalesce
-        many samples of the same type into a single range to reduce total ranges.
-
-        * UserInterface/Views/TimelineRecordingContentView.js:
-        (WI.TimelineRecordingContentView):
-        (WI.TimelineRecordingContentView.prototype._recordSelected):
-        (WI.TimelineRecordingContentView.prototype._recordWasSelected):
-        (WI.TimelineRecordingContentView.prototype._selectRecordInTimelineOverview):
-        (WI.TimelineRecordingContentView.prototype._selectRecordInTimelineView):
-        * UserInterface/Views/TimelineView.js:
-        Add a path for a TimelineView to dispatch a record selected event and cause
-        have the TimelineRecordingContentView react to it by updating the timeline
-        overview and relevent timeline view.
-
-2019-02-26  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: navigation sidebar says "No Search Results" when a slow search is in progress
-        https://bugs.webkit.org/show_bug.cgi?id=170631
-        <rdar://problem/29473874>
-
-        Reviewed by Joseph Pecoraro.
-
-        Keep a count of all the backend commands (increment when firing, decrement when a result is
-        sent back to the frontend). Once the count comes back to `0`, attempt to show the "No Results"
-        placeholder, since we will have finished searching at that point. Since commands can be called
-        as a result of other commands, using `Promise.all` isn't possible.
-
-        * UserInterface/Views/SearchSidebarPanel.js:
-        (WI.SearchSidebarPanel.prototype.performSearch):
-        (WI.SearchSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholderSoon): Deleted.
-        (WI.SearchSidebarPanel.prototype.performSearch.updateEmptyContentPlaceholder): Deleted.
-        Drive-by: replace `bind` calls with arrow functions, and use for-of loops.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-02-26  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Canvas: if no auto-capture value is specified, don't force the input to have "0" as the value
-        https://bugs.webkit.org/show_bug.cgi?id=194950
-        <rdar://problem/48276798>
-
-        Reviewed by Joseph Pecoraro.
-
-        Create a getter/setter for the value of the auto-capture frame count <input> so that all
-        code follows the same path.
-
-        If the <input> currently has no content and the frame count is 0, only set the placeholder.
-
-        * UserInterface/Views/CanvasOverviewContentView.js:
-        (WI.CanvasOverviewContentView):
-        (WI.CanvasOverviewContentView.prototype._setRecordingAutoCaptureFrameCount):
-        (WI.CanvasOverviewContentView.prototype._updateRecordingAutoCaptureCheckboxLabel):
-        (WI.CanvasOverviewContentView.prototype.get _recordingAutoCaptureFrameCountInputElementValue): Added.
-        (WI.CanvasOverviewContentView.prototype.set _recordingAutoCaptureFrameCountInputElementValue): Added.
-        (WI.CanvasOverviewContentView.prototype._updateRecordingAutoCaptureInputElementSize):
-        (WI.CanvasOverviewContentView.prototype._handleCanvasRecordingAutoCaptureFrameCountChanged):
-
-2019-02-26  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Console: dragging a selection outside the selected element clears the selection
-        https://bugs.webkit.org/show_bug.cgi?id=194660
-        <rdar://problem/46719239>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/LogContentView.js:
-        (WI.LogContentView.prototype._mousemove):
-        Don't clear the selection if the target of the "mousemove" is outside of the view.
-
-        (WI.LogContentView.prototype._updateMessagesSelection):
-        Drive-by: clear the saved selected messages when we're just selecting a single message.
-
-2019-02-25  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Rename LineChart to AreaChart
-        https://bugs.webkit.org/show_bug.cgi?id=195038
-
-        Rubber-stamped by Matt Baker.
-
-        * UserInterface/Main.html:
-        New file names.
-
-        * UserInterface/Views/AreaChart.js: Renamed from Source/WebInspectorUI/UserInterface/Views/LineChart.js.
-        * UserInterface/Views/StackedAreaChart.js: Renamed from Source/WebInspectorUI/UserInterface/Views/StackedLineChart.js.
-        Renamed.
-
-        * UserInterface/Views/CPUTimelineView.css:
-        * UserInterface/Views/CPUUsageStackedView.css:
-        * UserInterface/Views/CPUUsageStackedView.js:
-        * UserInterface/Views/CPUUsageView.css:
-        * UserInterface/Views/CPUUsageView.js:
-        * UserInterface/Views/LegacyCPUTimelineView.css:
-        * UserInterface/Views/MemoryCategoryView.css:
-        * UserInterface/Views/MemoryCategoryView.js:
-        * UserInterface/Views/MemoryTimelineOverviewGraph.css:
-        Update references.
-
-2019-02-25  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: hovering a node inside an object preview should highlight it
-        https://bugs.webkit.org/show_bug.cgi?id=194862
-        <rdar://problem/48246433>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/FormattedValue.js:
-        (WI.FormattedValue.createElementForNodePreview):
-        When provided a way to access the `WI.RemoteObject` for the given preview, add various mouse
-        event listeners that highlight the corresponding DOM node.
-
-        * UserInterface/Views/ObjectPreviewView.js:
-        (WI.ObjectPreviewView):
-        (WI.ObjectPreviewView.prototype._initTitleElement):
-        (WI.ObjectPreviewView.prototype._appendPropertyPreviews):
-        (WI.ObjectPreviewView.prototype._appendValuePreview):
-        Implement various ways of getting the `WI.RemoteObject` for a given preview.
-         - When the preview is for the actual `WI.RemoteObject`, simply return it
-         - If the preview is a property of the main object, get the `WI.RemoteObject` for that property
-
-        * UserInterface/Views/ObjectTreeView.js:
-        (WI.ObjectTreeView):
-        * UserInterface/Views/ObjectTreePropertyTreeElement.js:
-        (WI.ObjectTreePropertyTreeElement.prototype._createTitlePropertyStyle):
-        Pass the `WI.RemoteObject` to the preview so that it can utilize it.
-
-        * UserInterface/Controllers/ConsoleManager.js:
-        (WI.ConsoleManager):
-        (WI.ConsoleManager.prototype.releaseRemoteObjectWithConsoleClear): Added.
-        (WI.ConsoleManager.prototype.messagesCleared): Added.
-
-2019-02-25  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: CPU Usage Timeline - Thread Breakdown
-        https://bugs.webkit.org/show_bug.cgi?id=194788
-
-        Reviewed by Devin Rousso.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Main.html:
-        New strings and files.
-
-        * UserInterface/Views/Variables.css:
-        (:root):
-        New colors for cpu threads / activity breakdown.
-
-        * UserInterface/Models/CPUTimelineRecord.js:
-        (WI.CPUTimelineRecord.prototype.get workers):
-        (WI.CPUTimelineRecord):
-        Distinguish the workers in a CPU timeline record.
-
-        * UserInterface/Views/CPUTimelineOverviewGraph.js:
-        (WI.CPUTimelineOverviewGraph):
-        (WI.CPUTimelineOverviewGraph.prototype.layout):
-        * UserInterface/Views/CPUTimelineOverviewGraph.css:
-        (.timeline-overview-graph.cpu > .stacked-column-chart > svg > rect):
-        (.timeline-overview-graph.cpu > .stacked-column-chart > svg > rect.main-thread-usage):
-        (.timeline-overview-graph.cpu > .stacked-column-chart > svg > rect.worker-thread-usage):
-        (.timeline-overview-graph.cpu > .column-chart > svg > rect):
-        Stacked column chart for CPU in the overview graph.
-
-        * UserInterface/Views/CPUTimelineView.css:
-        (.timeline-view.cpu > .content > .overview):
-        (.timeline-view.cpu > .content > .details > .subtitle.threads):
-        (.timeline-view.cpu > .content > .overview > .chart):
-        (.timeline-view.cpu > .content > .overview > .chart > .subtitle):
-        (.timeline-view.cpu > .content > .overview > .chart > .container):
-        (.timeline-view.cpu > .content > .overview .samples,):
-        (.timeline-view.cpu .legend):
-        (.timeline-view.cpu .legend .row):
-        (.timeline-view.cpu .legend .row + .row):
-        (.timeline-view.cpu .legend .swatch):
-        (.timeline-view.cpu .legend > .row > .swatch.sample-type-idle):
-        (.timeline-view.cpu .legend > .row > .swatch.sample-type-script):
-        (.timeline-view.cpu .legend > .row > .swatch.sample-type-style):
-        (.timeline-view.cpu .legend > .row > .swatch.sample-type-layout):
-        (.timeline-view.cpu .legend > .row > .swatch.sample-type-paint):
-        (.timeline-view.cpu .circle-chart > svg > path.segment.sample-type-idle):
-        (.timeline-view.cpu .circle-chart > svg > path.segment.sample-type-script):
-        (.timeline-view.cpu .circle-chart > svg > path.segment.sample-type-style):
-        (.timeline-view.cpu .circle-chart > svg > path.segment.sample-type-layout):
-        (.timeline-view.cpu .circle-chart > svg > path.segment.sample-type-paint):
-        (.timeline-view.cpu svg > path):
-        (.timeline-view.cpu .main-thread svg > path,):
-        (.timeline-view.cpu .worker-thread svg > path,):
-        (.timeline-view.cpu .cpu-usage-view.empty):
-        (.timeline-view.cpu :matches(.line-chart, .stacked-line-chart) .markers):
-        (.timeline-view.cpu :matches(.line-chart, .stacked-line-chart) .markers > div):
-        (.timeline-view.cpu :matches(.line-chart, .stacked-line-chart) .markers > div > .label):
-        (.timeline-view.cpu > .content): Deleted.
-        (.cpu-usage-view .line-chart > svg > path): Deleted.
-        (.timeline-view.cpu .legend > .row > .swatch.current): Deleted.
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView):
-        (WI.CPUTimelineView.displayNameForSampleType):
-        (WI.CPUTimelineView.prototype.shown):
-        (WI.CPUTimelineView.prototype.clear.clearUsageView):
-        (WI.CPUTimelineView.prototype.clear):
-        (WI.CPUTimelineView.prototype.initialLayout.createChartContainer):
-        (WI.CPUTimelineView.prototype.initialLayout.appendLegendRow):
-        (WI.CPUTimelineView.prototype.initialLayout):
-        (WI.CPUTimelineView.prototype.layout.removeGreaterThan):
-        (WI.CPUTimelineView.prototype.layout):
-        (WI.CPUTimelineView.prototype.layout.layoutView):
-        (WI.CPUTimelineView.prototype.layout.yScale):
-        (WI.CPUTimelineView.prototype._computeSamplingData.markRecordEntries):
-        (WI.CPUTimelineView.prototype._computeSamplingData):
-        (WI.CPUTimelineView.prototype._removeWorkerThreadViews):
-        (WI.CPUTimelineView.prototype._clearBreakdownLegend):
-        (WI.CPUTimelineView.prototype.layout.xScale): Deleted.
-        Line charts and Circle Chart for threads and breakdowns.
-
-        * UserInterface/Views/CPUUsageStackedView.css:
-        (.cpu-usage-stacked-view):
-        (.cpu-usage-stacked-view > .details):
-        (body[dir=ltr] .cpu-usage-stacked-view > .details):
-        (body[dir=rtl] .cpu-usage-stacked-view > .details):
-        (.cpu-usage-stacked-view > .details > .name):
-        (body[dir=rtl] .cpu-usage-stacked-view > .graph):
-        (.cpu-usage-stacked-view > .graph):
-        (.cpu-usage-stacked-view > .graph,):
-        * UserInterface/Views/CPUUsageStackedView.js:
-        (WI.CPUUsageStackedView):
-        (WI.CPUUsageStackedView.prototype.get chart):
-        (WI.CPUUsageStackedView.prototype.clear):
-        (WI.CPUUsageStackedView.prototype.updateChart):
-        (WI.CPUUsageStackedView.prototype._updateDetails):
-        Same as CPUUsageView except Stacked for the total.
-
-        * UserInterface/Views/CPUUsageView.css:
-        (.cpu-usage-view):
-        (.cpu-usage-view > .details):
-        (.cpu-usage-view > .details > .name):
-        (.cpu-usage-view > .graph):
-        * UserInterface/Views/CPUUsageView.js:
-        (WI.CPUUsageView):
-        (WI.CPUUsageView.prototype.get chart):
-        (WI.CPUUsageView.prototype.clear):
-        (WI.CPUUsageView.prototype.updateChart):
-        (WI.CPUUsageView.prototype._updateDetails):
-        Slight modifications for the new UI.
-
-        * UserInterface/Views/LegacyCPUTimelineView.css:
-        (.timeline-view.legacy-cpu .cpu-usage-view .line-chart > svg > path):
-        * UserInterface/Views/LegacyCPUTimelineView.js:
-        (WI.LegacyCPUTimelineView.prototype.layout):
-        Update API calls in the legacy view for minor changes.
-
-        * UserInterface/Views/MemoryCategoryView.css:
-        (.memory-category-view > .details):
-        (.memory-category-view > .details > .name):
-        * UserInterface/Views/MemoryTimelineOverviewGraph.js:
-        (WI.MemoryTimelineOverviewGraph.prototype.layout):
-        * UserInterface/Views/MemoryTimelineView.css:
-        (body .timeline-view.memory):
-        (.timeline-view.memory): Deleted.
-        Improvements ported from the CPU timeline views.
-
-        * UserInterface/Views/StackedColumnChart.js: Added.
-        (WI.StackedColumnChart):
-        (WI.StackedColumnChart.prototype.get size):
-        (WI.StackedColumnChart.prototype.set size):
-        (WI.StackedColumnChart.prototype.initializeSections):
-        (WI.StackedColumnChart.prototype.addColumnSet):
-        (WI.StackedColumnChart.prototype.clear):
-        (WI.StackedColumnChart.prototype.layout):
-        A stacked column chart implementation.
-
-        * UserInterface/Views/View.js:
-        (WI.View.prototype.removeUnparentedSubview):
-        Add a way to remove a subview that had its `element` moved
-        someplace other than a direct child of our element.
-
-2019-02-25  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Dark Mode: Network Overview Graph segments have distracting white box shadow
-        https://bugs.webkit.org/show_bug.cgi?id=194966
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/Variables.css:
-        (@media (prefers-color-scheme: dark)):
-        Make global timeline even/odd colors where odd is the default content background
-        color and even is slightly different. These were used in multiple places.
-
-        * UserInterface/Views/CPUTimelineOverviewGraph.css:
-        (.timeline-overview-graph.cpu > .legend):
-        (.timeline-overview-graph.cpu:nth-child(even) > .legend):
-        (@media (prefers-color-scheme: dark)): Deleted.
-        * UserInterface/Views/MemoryTimelineOverviewGraph.css:
-        (.timeline-overview-graph.memory > .legend):
-        (.timeline-overview-graph.memory:nth-child(even) > .legend):
-        (@media (prefers-color-scheme: dark)): Deleted.
-        * UserInterface/Views/NetworkTimelineOverviewGraph.css:
-        (.timeline-overview-graph.network > .graph-row > .timeline-record-bar > .segment:not(.inactive)):
-        (.timeline-overview-graph.network:nth-child(even) > .graph-row > .timeline-record-bar > .segment:not(.inactive)):
-        Use the variable colors now and eliminate dark mode blocks.
-
-2019-02-25  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Styles: Command-/ should toggle edited property
-        https://bugs.webkit.org/show_bug.cgi?id=194967
-        <rdar://problem/48329852>
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Models/CSSProperty.js:
-        (WI.CSSProperty.prototype.commentOut):
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.js:
-        (WI.SpreadsheetCSSStyleDeclarationEditor.prototype.spreadsheetStylePropertySelect):
-        * UserInterface/Views/SpreadsheetStyleProperty.js:
-        (WI.SpreadsheetStyleProperty.prototype.update):
-        (WI.SpreadsheetStyleProperty.prototype._toggle):
-        (WI.SpreadsheetStyleProperty.prototype._select):
-
-2019-02-25  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: REGRESSION(r242018): Timelines shows no results
-        https://bugs.webkit.org/show_bug.cgi?id=195017
-
-        Reviewed by Joseph Pecoraro.
-
-        `simpleGlobStringToRegExp` can return `null` if the provided search query is an empty string.
-
-        * UserInterface/Base/SearchUtilities.js:
-        (WI.SearchUtilities.prototype.regExpForString):
-        Add assertions that the provided search query is a valid non-empty string.
-
-        * UserInterface/Views/DataGrid.js:
-        (WI.DataGrid.prototype._updateFilter):
-        If the search query is empty, don't attempt to create a `RegExp` for it.
-
-2019-02-25  Matt Baker  <mattbaker@apple.com>
-
-        Web Inspector: REGRESSION: TreeElement or Table row selected using the keyboard should always be revealed
-        https://bugs.webkit.org/show_bug.cgi?id=194918
-        <rdar://problem/48289314>
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/Table.js:
-        (WI.Table.prototype.selectionControllerSelectionDidChange):
-
-        * UserInterface/Views/TreeOutline.js:
-        (WI.TreeOutline.prototype._treeKeyDown):
-
-2019-02-25  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: [META] Merge Resources and Debugger into a single Sources tab
-        https://bugs.webkit.org/show_bug.cgi?id=183420
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/SourcesNavigationSidebarPanel.js: Added.
-        (WI.SourcesNavigationSidebarPanel):
-        (WI.SourcesNavigationSidebarPanel.shouldPlaceResourcesAtTopLevel):
-        (WI.SourcesNavigationSidebarPanel.prototype.get minimumWidth):
-        (WI.SourcesNavigationSidebarPanel.prototype.closed):
-        (WI.SourcesNavigationSidebarPanel.prototype.showDefaultContentView):
-        (WI.SourcesNavigationSidebarPanel.prototype.treeElementForRepresentedObject.isAncestor):
-        (WI.SourcesNavigationSidebarPanel.prototype.treeElementForRepresentedObject.getParent):
-        (WI.SourcesNavigationSidebarPanel.prototype.treeElementForRepresentedObject):
-        (WI.SourcesNavigationSidebarPanel.prototype.resetFilter):
-        (WI.SourcesNavigationSidebarPanel.prototype.hasCustomFilters):
-        (WI.SourcesNavigationSidebarPanel.prototype.matchTreeElementAgainstCustomFilters.match):
-        (WI.SourcesNavigationSidebarPanel.prototype.matchTreeElementAgainstCustomFilters):
-        (WI.SourcesNavigationSidebarPanel.prototype.willDismissPopover):
-        (WI.SourcesNavigationSidebarPanel.prototype._compareTreeElements):
-        (WI.SourcesNavigationSidebarPanel.prototype._updateMainFrameTreeElement):
-        (WI.SourcesNavigationSidebarPanel.prototype._addTarget):
-        (WI.SourcesNavigationSidebarPanel.prototype._findCallStackTargetTreeElement):
-        (WI.SourcesNavigationSidebarPanel.prototype._updateCallStackTreeOutline):
-        (WI.SourcesNavigationSidebarPanel.prototype._addResource):
-        (WI.SourcesNavigationSidebarPanel.prototype._addResourcesRecursivelyForFrame):
-        (WI.SourcesNavigationSidebarPanel.prototype._addScript):
-        (WI.SourcesNavigationSidebarPanel.prototype._addWorkerTargetWithMainResource):
-        (WI.SourcesNavigationSidebarPanel.prototype._addDebuggerTreeElementForSourceCode):
-        (WI.SourcesNavigationSidebarPanel.prototype._insertDebuggerTreeElement):
-        (WI.SourcesNavigationSidebarPanel.prototype._compareBreakpointTreeElements):
-        (WI.SourcesNavigationSidebarPanel.prototype._addBreakpoint):
-        (WI.SourcesNavigationSidebarPanel.prototype._removeBreakpoint):
-        (WI.SourcesNavigationSidebarPanel.prototype._removeAllBreakpoints):
-        (WI.SourcesNavigationSidebarPanel.prototype._toggleAllBreakpoints):
-        (WI.SourcesNavigationSidebarPanel.prototype._breakpointsBeneathTreeElement):
-        (WI.SourcesNavigationSidebarPanel.prototype._addIssue):
-        (WI.SourcesNavigationSidebarPanel.prototype._removeDebuggerTreeElement):
-        (WI.SourcesNavigationSidebarPanel.prototype._addBreakpointsForSourceCode):
-        (WI.SourcesNavigationSidebarPanel.prototype._addIssuesForSourceCode):
-        (WI.SourcesNavigationSidebarPanel.prototype._updateBreakpointsDisabledBanner):
-        (WI.SourcesNavigationSidebarPanel.prototype._updatePauseReason):
-        (WI.SourcesNavigationSidebarPanel.prototype._updatePauseReasonGotoArrow):
-        (WI.SourcesNavigationSidebarPanel.prototype._updatePauseReasonSection):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleResourceTypeScopeBarSelectionChanged):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleTreeSelectionDidChange):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleBreakpointElementAddedOrRemoved):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleCreateBreakpointClicked):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleFrameMainResourceDidChange):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleResourceAdded):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleMainFrameDidChange):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerBreakpointAdded):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerBreakpointRemoved):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerBreakpointsEnabledDidChange):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerScriptAdded):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerScriptRemoved):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerScriptsCleared):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerPaused):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerResumed):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerCallFramesDidChange):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerActiveCallFrameDidChange):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerWaitingToPause):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDebuggerObjectDisplayLocationDidChange):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleDOMBreakpointResolvedStateDidChange):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleConsoleIssueAdded):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleConsoleCleared):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleTimelineCapturingWillStart):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleTimelineCapturingStopped):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleCSSStyleSheetAdded):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleTargetAdded):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleTargetRemoved):
-        (WI.SourcesNavigationSidebarPanel.prototype._handleExtraDomainsActivated):
-        * UserInterface/Views/SourcesNavigationSidebarPanel.css: Added.
-        (.sidebar > .panel.navigation.sources > .content):
-        (.sidebar > .panel.navigation.sources > .navigation-bar):
-        (.sidebar > .panel.navigation.sources > .navigation-bar .debugger-breakpoints):
-        (.sidebar > .panel.navigation.sources > .navigation-bar .debugger-breakpoints.activated):
-        (.sidebar > .panel.navigation.sources > .navigation-bar .debugger-pause-resume):
-        (.sidebar > .panel.navigation.sources > .navigation-bar .debugger-pause-resume.activated):
-        (.sidebar > .panel.navigation.sources > .content > .warning-banner):
-        (.sidebar > .panel.navigation.sources > .content > .details-section):
-        (.sidebar > .panel.navigation.sources > .content > .details-section.paused-reason.collapsed > .header > .options,):
-        (.sidebar > .panel.navigation.sources > .content > .details-section.collapsed > .content):
-        (.sidebar > .panel.navigation.sources > .content > .details-section.scripts:not(.collapsed)):
-        (.sidebar > .panel.navigation.sources > .content > .navigation-bar):
-        (.sidebar > .panel.navigation.sources > .content > .tree-outline.single-thread):
-        (.sidebar > .panel.navigation.sources > .content > .tree-outline.single-thread > .item.thread):
-        (@media (prefers-dark-interface) .sidebar > > .content > .panel.navigation.sources .warning-banner):
-
-        * UserInterface/Views/SourcesTabContentView.js: Added.
-        (WI.SourcesTabContentView):
-        (WI.SourcesTabContentView.tabInfo):
-        (WI.SourcesTabContentView.isTabAllowed):
-        (WI.SourcesTabContentView.prototype.get type):
-        (WI.SourcesTabContentView.prototype.get supportsSplitContentBrowser):
-        (WI.SourcesTabContentView.prototype.canShowRepresentedObject):
-        (WI.SourcesTabContentView.prototype.showDetailsSidebarPanels):
-        (WI.SourcesTabContentView.prototype.showScopeChainDetailsSidebarPanel):
-        (WI.SourcesTabContentView.prototype.revealAndSelectBreakpoint):
-
-        * UserInterface/Views/CanvasSidebarPanel.js:
-        (WI.CanvasSidebarPanel):
-        * UserInterface/Views/DebuggerSidebarPanel.js:
-        (WI.DebuggerSidebarPanel):
-        (WI.DebuggerSidebarPanel.prototype._updatePauseReasonSection):
-        * UserInterface/Views/NavigationSidebarPanel.js:
-        (WI.NavigationSidebarPanel.prototype.createContentTreeOutline):
-        (WI.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
-        (WI.NavigationSidebarPanel.prototype._checkOutlinesForPendingViewStateCookie):
-        Rework `createContentTreeOutline` to allow for additional symbols.
-        Add another symbol to ensure that the `WI.TreeOutline` is not used for cookie restoration.
-
-        * UserInterface/Protocol/InspectorFrontendAPI.js:
-        (InspectorFrontendAPI.showResources):
-        * UserInterface/Views/ContextMenuUtilities.js:
-        (WI.appendContextMenuItemsForURL):
-        * UserInterface/Views/DefaultDashboardView.js:
-        (WI.DefaultDashboardView.prototype._resourcesItemWasClicked):
-        * UserInterface/Views/SourceCodeTextEditor.js:
-        (WI.SourceCodeTextEditor.prototype.textEditorGutterContextMenu):
-
-        * UserInterface/Views/TabBrowser.js:
-        (WI.TabBrowser.prototype.bestTabContentViewForRepresentedObject):
-
-        * UserInterface/Base/Main.js:
-        (WI.contentLoaded):
-        (WI.showSourcesTab): Added.
-        (WI.isShowingSourcesTab): Added.
-        (WI.tabContentViewClassForRepresentedObject):
-        (WI._debuggerDidPause):
-
-        * UserInterface/Views/DebuggerTabContentView.js:
-        (WI.DebuggerTabContentView.isTabAllowed):
-        * UserInterface/Views/ResourcesTabContentView.js:
-        (WI.ResourcesTabContentView.isTabAllowed):
-
-        * UserInterface/Base/Setting.js:
-        * UserInterface/Views/SettingsTabContentView.js:
-        (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
-
-        * UserInterface/Main.html:
-        * UserInterface/Images/Sources.svg: Added.
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-02-24  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Change the InspectorOverlay to use native rather than canvas
-        https://bugs.webkit.org/show_bug.cgi?id=105023
-        <rdar://problem/13443692>
-
-        Reviewed by Brian Burg.
-
-        * UserInterface/Base/Main.js:
-        (WI.initializeTarget):
-
-        * UserInterface/Protocol/Legacy/10.0/InspectorBackendCommands.js:
-        * UserInterface/Protocol/Legacy/10.3/InspectorBackendCommands.js:
-        * UserInterface/Protocol/Legacy/11.0/InspectorBackendCommands.js:
-        * UserInterface/Protocol/Legacy/11.3/InspectorBackendCommands.js:
-        * UserInterface/Protocol/Legacy/12.0/InspectorBackendCommands.js:
-        * UserInterface/Protocol/Legacy/12.2/InspectorBackendCommands.js:
-        * UserInterface/Protocol/Legacy/8.0/InspectorBackendCommands.js:
-        * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
-        * UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js:
-        * Versions/Inspector-iOS-10.0.json:
-        * Versions/Inspector-iOS-10.3.json:
-        * Versions/Inspector-iOS-11.0.json:
-        * Versions/Inspector-iOS-11.3.json:
-        * Versions/Inspector-iOS-12.0.json:
-        * Versions/Inspector-iOS-12.2.json:
-        * Versions/Inspector-iOS-8.0.json:
-        * Versions/Inspector-iOS-9.0.json:
-        * Versions/Inspector-iOS-9.3.json:
-        Remove `Debugger.setOverlayMessage` command as it hasn't been used and is no longer supported.
-
-2019-02-24  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: provide a way to make searches case sensitive or use a regular expression
-        https://bugs.webkit.org/show_bug.cgi?id=192527
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Base/SearchUtilities.js: Added.
-        (WI.SearchUtilities.get defaultSettings):
-        (WI.SearchUtilities.createSettings):
-        (WI.SearchUtilities.regExpForString):
-        (WI.SearchUtilities.createSettingsButton):
-        (WI.SearchUtilities.createSettingsButton.toggleActive):
-        * UserInterface/Views/Main.css:
-        (.search-settings): Added.
-        (.search-settings > .glyph): Added.
-        (.search-settings:active > .glyph): Added.
-        (.search-settings.active > .glyph): Added.
-        (.search-settings:active.active > .glyph): Added.
-        Create static utility class for handling settings related to searching/filtering.
-
-        * UserInterface/Base/Setting.js:
-        * UserInterface/Views/SettingsTabContentView.js:
-        (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
-        Create default search settings that apply across WebInspector, unless a more specific
-        setting has been created that overrides it (e.g. the navigation sidebar or Search tab).
-
-        * UserInterface/Views/SearchSidebarPanel.js:
-        (WI.SearchSidebarPanel):
-        (WI.SearchSidebarPanel.prototype.performSearch.forEachMatch):
-        (WI.SearchSidebarPanel.prototype.performSearch.resourceCallback):
-        (WI.SearchSidebarPanel.prototype.performSearch.resourcesCallback):
-        (WI.SearchSidebarPanel.prototype.performSearch.searchScripts.scriptCallback):
-        (WI.SearchSidebarPanel.prototype.performSearch.searchScripts):
-        (WI.SearchSidebarPanel.prototype.performSearch.domSearchResults):
-        (WI.SearchSidebarPanel.prototype.performSearch.domCallback):
-        (WI.SearchSidebarPanel.prototype.performSearch):
-        * UserInterface/Views/SearchSidebarPanel.css:
-        (.sidebar > .panel.navigation.search > .search-bar):
-        (.sidebar > .panel.navigation.search > .search-bar > input[type="search"]):
-        Add a (*) settings "gear" after each `<input type="search">` that shows a contextmenu with
-        checkboxes for each search setting. Any settings changed for each input take precedence over
-        the default settings, but will match the corresponding default setting if it's changed.
-
-        * UserInterface/Views/SearchResultTreeElement.js:
-        (WI.SearchResultTreeElement.truncateAndHighlightTitle):
-        Use the length of the found text, rather than the length of the query.
-
-        * UserInterface/Views/DOMTreeElement.js:
-        (WI.DOMTreeElement.prototype._highlightSearchResults):
-        * UserInterface/Views/DataGrid.js:
-        (WI.DataGrid.prototype._updateFilter):
-        * UserInterface/Views/LogContentView.js:
-        (WI.LogContentView.prototype.performSearch):
-        * UserInterface/Views/NetworkTableContentView.js:
-        (WI.NetworkTableContentView.prototype._urlFilterDidChange):
-        * UserInterface/Views/ResourceHeadersContentView.js:
-        (WI.ResourceHeadersContentView.prototype._perfomSearchOnKeyValuePairs):
-        * UserInterface/Views/ResourceSecurityContentView.js:
-        (WI.ResourceSecurityContentView.prototype._perfomSearchOnKeyValuePairs):
-        * UserInterface/Views/SourceCodeTextEditor.js:
-        (WI.SourceCodeTextEditor.prototype.customPerformSearch.searchResultCallback):
-        (WI.SourceCodeTextEditor.prototype.customPerformSearch):
-        * UserInterface/Views/TextEditor.js:
-        (WI.TextEditor.prototype.performSearch):
-        Use the default search settings when searching/filtering.
-
-        * UserInterface/Views/SearchBar.css:
-        (.search-bar > input[type="search"]:placeholder-shown::-webkit-search-cancel-button): Added.
-        Drive-by: prevent the (x) from appearing when no text has been entered.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Main.html:
-
-2019-02-24  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: make debounce Proxy into its own class
-        https://bugs.webkit.org/show_bug.cgi?id=194721
-
-        Reviewed by Joseph Pecoraro.
-
-        The `debounce`/`throttle` functions leveraged a `Proxy` to intercept the function call and
-        replace it with a "delayed" version. The issue with this is that it set the identifier for
-        the timer on the function itself, which is shared across all instances of a given class.
-        When different instances call the same delayed function, they'd clobber eachother's attempts
-        to delay work.
-
-        * UserInterface/Base/Debouncer.js: Added.
-        (Debouncer):
-        (Debouncer.prototype.force):
-        (Debouncer.prototype.delayForTime):
-        (Debouncer.prototype.delayForFrame):
-        (Debouncer.prototype.delayForMicrotask):
-        (Debouncer.prototype.cancel):
-        (Debouncer.prototype._execute):
-        * UserInterface/Base/Throttler.js: Added.
-        (Throttler):
-        (Throttler.prototype.force):
-        (Throttler.prototype.fire):
-        (Throttler.prototype.cancel):
-        (Throttler.prototype._execute):
-        * UserInterface/Base/Utilities.js:
-
-        * UserInterface/Views/BezierEditor.js:
-        (WI.BezierEditor):
-        * UserInterface/Views/ContentBrowser.js:
-        (WI.ContentBrowser):
-        (WI.ContentBrowser.prototype._contentViewSelectionPathComponentDidChange):
-        (WI.ContentBrowser.prototype._contentViewSupplementalRepresentedObjectsDidChange):
-        (WI.ContentBrowser.prototype._currentContentViewDidChange):
-        (WI.ContentBrowser.prototype._dispatchCurrentRepresentedObjectsDidChangeEvent): Deleted.
-        * UserInterface/Views/DOMTreeUpdater.js:
-        (WI.DOMTreeUpdater):
-        (WI.DOMTreeUpdater.prototype._nodeAttributeModified):
-        (WI.DOMTreeUpdater.prototype._nodeInserted):
-        (WI.DOMTreeUpdater.prototype._nodeRemoved):
-        * UserInterface/Views/NavigationSidebarPanel.js:
-        (WI.NavigationSidebarPanel):
-        (WI.NavigationSidebarPanel.prototype.closed):
-        (WI.NavigationSidebarPanel.prototype.showEmptyContentPlaceholder):
-        (WI.NavigationSidebarPanel.prototype.hideEmptyContentPlaceholder):
-        (WI.NavigationSidebarPanel.prototype.updateFilter):
-        (WI.NavigationSidebarPanel.prototype.shown):
-        (WI.NavigationSidebarPanel.prototype._updateContentOverflowShadowVisibility):
-        (WI.NavigationSidebarPanel.prototype._treeElementAddedOrChanged):
-        (WI.NavigationSidebarPanel.prototype._treeElementDisclosureDidChange):
-        * UserInterface/Views/RecordingContentView.js:
-        (WI.RecordingContentView):
-        (WI.RecordingContentView.prototype.updateActionIndex):
-        (WI.RecordingContentView.prototype.hidden):
-        * UserInterface/Views/ResourceDetailsSidebarPanel.js:
-        (WI.ResourceDetailsSidebarPanel.prototype._refreshRelatedResourcesSection):
-        (WI.ResourceDetailsSidebarPanel.prototype._applyResourceEventListeners):
-        (WI.ResourceDetailsSidebarPanel):
-        * UserInterface/Views/ShaderProgramContentView.js:
-        (WI.ShaderProgramContentView):
-        * UserInterface/Views/SpringEditor.js:
-        (WI.SpringEditor.prototype._resetPreviewAnimation):
-        * UserInterface/Views/TreeElement.js:
-        (WI.TreeElement.prototype.set hidden):
-        (WI.TreeElement.prototype.didChange):
-        (WI.TreeElement.prototype._attach):
-        (WI.TreeElement.prototype._detach):
-        (WI.TreeElement.prototype.collapse):
-        (WI.TreeElement.prototype.expand):
-        (WI.TreeElement.prototype.reveal):
-        * UserInterface/Views/TreeOutline.js:
-        (WI.TreeOutline):
-        (WI.TreeOutline.prototype.registerScrollVirtualizer):
-        (WI.TreeOutline.prototype.get updateVirtualizedElementsDebouncer): Added.
-        (WI.TreeOutline.prototype._updateVirtualizedElements): Added.
-        (WI.TreeOutline.prototype.updateVirtualizedElements.walk): Deleted.
-        (WI.TreeOutline.prototype.updateVirtualizedElements): Deleted.
-        * UserInterface/Views/WebSocketContentView.js:
-        (WI.WebSocketContentView):
-        (WI.WebSocketContentView.prototype.shown):
-        (WI.WebSocketContentView.prototype._updateFramesSoon):
-        (WI.WebSocketContentView.prototype._updateFrames):
-
-        * UserInterface/Main.html:
-        * UserInterface/Test.html:
-        * .eslintrc:
-
-2019-02-24  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Unreviewed, fix indentation.
-
-        * UserInterface/Models/CSSStyleDeclaration.js:
-        (WI.CSSStyleDeclaration.prototype.markModified):
-
-2019-02-23  Keith Miller  <keith_miller@apple.com>
-
-        Add new mac target numbers
-        https://bugs.webkit.org/show_bug.cgi?id=194955
-
-        Reviewed by Tim Horton.
-
-        * Configurations/Base.xcconfig:
-        * Configurations/DebugRelease.xcconfig:
-
-2019-02-22  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Timelines: add UI for preventing auto-stop
-        https://bugs.webkit.org/show_bug.cgi?id=194956
-
-        Reviewed by Joseph Pecoraro.
-
-        Add a checkbox to the navigation area of the Timelines tab that controls whether recordings
-        automatically stop (e.g. after "load" or a period of inactivity).
-
-        * UserInterface/Views/TimelineRecordingContentView.js:
-        (WI.TimelineRecordingContentView):
-        (WI.TimelineRecordingContentView.prototype.get navigationItems):
-        (WI.TimelineRecordingContentView.prototype._handleAutoStopCheckboxCheckedDidChange): Added.
-        (WI.TimelineRecordingContentView.prototype._handleTimelinesAutoStopSettingChanged): Added.
-
-        * UserInterface/Controllers/TimelineManager.js:
-        (WI.TimelineManager):
-        (WI.TimelineManager.prototype.capturingStopped):
-        (WI.TimelineManager.prototype._stopAutoRecordingSoon):
-        (WI.TimelineManager.prototype._resetAutoRecordingMaxTimeTimeout):
-        (WI.TimelineManager.prototype._resetAutoRecordingDeadTimeTimeout):
-        (WI.TimelineManager.prototype._handleTimelinesAutoStopSettingChanged):
-
-        * UserInterface/Base/Setting.js:
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-02-22  Devin Rousso  <drousso@apple.com>
-
-        REGRESSION(r?): Web Inspector: Popovers have inset shadows
-        https://bugs.webkit.org/show_bug.cgi?id=192963
-        <rdar://problem/46888679>
-
-        Reviewed by Brian Burg.
-
-        * UserInterface/Views/Popover.js:
-        (WI.Popover.prototype._drawBackground):
-        (WI.Popover.prototype._drawBackground.isolate): Added.
-        * UserInterface/Views/Popover.css:
-        (.popover):
-
-2019-02-22  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Styles Redesign: clicking CSS property or selector should always select its text
-        https://bugs.webkit.org/show_bug.cgi?id=180791
-        <rdar://problem/36038366>
-
-        Reviewed by Brian Burg.
-
-        * UserInterface/Views/SpreadsheetSelectorField.js:
-        (WI.SpreadsheetSelectorField):
-        (WI.SpreadsheetSelectorField.prototype.startEditing):
-        (WI.SpreadsheetSelectorField.prototype.stopEditing):
-        (WI.SpreadsheetSelectorField.prototype._handleMouseDown): Added.
-        (WI.SpreadsheetSelectorField.prototype._handleMouseUp): Added.
-        (WI.SpreadsheetSelectorField.prototype._handleFocus): Deleted.
-
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
-        (WI.SpreadsheetCSSStyleDeclarationSection.prototype.initialLayout):
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
-        (.spreadsheet-css-declaration .selector.editing:focus, .spreadsheet-css-declaration .selector > .matched): Added.
-        (.spreadsheet-css-declaration .selector.spreadsheet-selector-field):
-        (.spreadsheet-css-declaration .selector:focus, .spreadsheet-css-declaration .selector > .matched): Deleted.
-
-2019-02-22  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Dark Mode: DOM Content Loaded blue marker is too dark
-        https://bugs.webkit.org/show_bug.cgi?id=194970
-        <rdar://problem/48330126>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/TimelineRuler.css:
-        (@media (prefers-color-scheme: dark)):
-        (.timeline-ruler > .markers > .marker.dom-content-event):
-        Make the marker lighter for the dark mode.
-
-2019-02-22  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Remove unused Timeline record selection code path
-        https://bugs.webkit.org/show_bug.cgi?id=194931
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/TimelineOverview.js:
-        (WI.TimelineOverview):
-        (WI.TimelineOverview.prototype.userSelectedRecord): Deleted.
-        * UserInterface/Views/TimelineRecordingContentView.js:
-        (WI.TimelineRecordingContentView):
-        (WI.TimelineRecordingContentView.prototype.timelineOverviewUserSelectedRecord): Deleted.
-        * UserInterface/Views/TimelineView.js:
-        (WI.TimelineView.prototype.userSelectedRecordFromOverview): Deleted.
-
-2019-02-21  Darin Adler  <darin@apple.com>
-
-        Some refinements for Node and Document
-        https://bugs.webkit.org/show_bug.cgi?id=194764
-
-        Reviewed by Ryosuke Niwa.
-
-        * UserInterface/Models/NativeFunctionParameters.js: Removed getOverrideStyle
-        because this deprecated non-working function is no longer something web authors
-        should be thinking about or typing.
-
-2019-02-21  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Canvas: recordings with a single frame sometimes missing TreeElement
-        https://bugs.webkit.org/show_bug.cgi?id=194687
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/CanvasSidebarPanel.js:
-        (WI.CanvasSidebarPanel):
-        Wait until the entire `Recording` has been processed before setting the selected action.
-
-        * UserInterface/Views/CanvasSidebarPanel.css:
-        (.sidebar > .panel.navigation.canvas.has-recordings > .content > .recording-content):
-        Drive-by: ensure that the recording `TreeOutline` container element has the full height to
-        take advantage of for virtualization.
-
-        * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
-        (WI.RecordingStateDetailsSidebarPanel.prototype.set recording):
-        Drive-by: clear the `DataGrid` list when changing recordings since we removed all subviews.
-
-2019-02-21  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: DOM Debugger: node-specific event breakpoints aren't cleared/recalculated on navigation
-        https://bugs.webkit.org/show_bug.cgi?id=194874
-        <rdar://problem/48253415>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Controllers/DOMManager.js:
-        (WI.DOMManager.prototype._setDocument):
-        (WI.DOMManager.prototype.removeBreakpointForEventListener):
-
-2019-02-21  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: macOS user agent option should be available in device settings menu
-        https://bugs.webkit.org/show_bug.cgi?id=194885
-        <rdar://problem/48259253>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Base/Main.js:
-        (WI._handleDeviceSettingsToolbarButtonClicked):
-
-2019-02-20  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: RTL: Scripts Timeline loading indicator has incorrect margins
-        https://bugs.webkit.org/show_bug.cgi?id=194882
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/TimelineRecordingContentView.css:
-        (.content-view.timeline-recording > .content-browser .recording-progress > .status > .indeterminate-progress-spinner):
-
-2019-02-20  Andy Estes  <aestes@apple.com>
-
-        [Xcode] Add SDKVariant.xcconfig to various Xcode projects
-        https://bugs.webkit.org/show_bug.cgi?id=194869
-
-        Rubber-stamped by Jer Noble.
-
-        * WebInspectorUI.xcodeproj/project.pbxproj:
-
-2019-02-19  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Improve ES6 Class instances in Heap Snapshot instances view
-        https://bugs.webkit.org/show_bug.cgi?id=172848
-        <rdar://problem/25709212>
-
-        Reviewed by Mark Lam.
-
-        * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
-        (HeapSnapshot):
-        Support the new snapshot version. The only thing that changes are the
-        node flags, and its actually completely compatible with version 1.
-
-        (HeapSnapshot.updateCategoriesAndMetadata):
-        List the count of object type instances in each class category.
-
-        (HeapSnapshot.prototype.serializeNode):
-        Include whether or not the node is an object type.
-
-        * UserInterface/Proxies/HeapSnapshotNodeProxy.js:
-        (WebInspector.HeapSnapshotNodeProxy):
-        (WebInspector.HeapSnapshotNodeProxy.deserialize):
-        Add a new Node isObjectType property based on the new data.
-
-        * UserInterface/Views/HeapSnapshotClassDataGridNode.js:
-        (WebInspector.HeapSnapshotClassDataGridNode.prototype.createCellContent):
-        * UserInterface/Views/HeapSnapshotClusterContentView.js:
-        (WebInspector.HeapSnapshotClusterContentView.iconStyleClassNameForClassName):
-        If a class contains 50% or more object type instances then treat it as such
-        instead of defaulting to native.
-
-        * UserInterface/Views/HeapSnapshotDataGridTree.js:
-        (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.populateTopLevel):
-        * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
-        (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent):
-        We can be more specific than the default if the individual instance is
-        known to be an object type.
-
-2019-02-19  Truitt Savell  <tsavell@apple.com>
-
-        Unreviewed, rolling out r241784.
-
-        Broke all OpenSource builds.
-
-        Reverted changeset:
-
-        "Web Inspector: Improve ES6 Class instances in Heap Snapshot
-        instances view"
-        https://bugs.webkit.org/show_bug.cgi?id=172848
-        https://trac.webkit.org/changeset/241784
-
-2019-02-19  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Improve ES6 Class instances in Heap Snapshot instances view
-        https://bugs.webkit.org/show_bug.cgi?id=172848
-        <rdar://problem/25709212>
-
-        Reviewed by Mark Lam.
-
-        * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
-        (HeapSnapshot):
-        Support the new snapshot version. The only thing that changes are the
-        node flags, and its actually completely compatible with version 1.
-
-        (HeapSnapshot.updateCategoriesAndMetadata):
-        List the count of object type instances in each class category.
-
-        (HeapSnapshot.prototype.serializeNode):
-        Include whether or not the node is an object type.
-
-        * UserInterface/Proxies/HeapSnapshotNodeProxy.js:
-        (WebInspector.HeapSnapshotNodeProxy):
-        (WebInspector.HeapSnapshotNodeProxy.deserialize):
-        Add a new Node isObjectType property based on the new data.
-
-        * UserInterface/Views/HeapSnapshotClassDataGridNode.js:
-        (WebInspector.HeapSnapshotClassDataGridNode.prototype.createCellContent):
-        * UserInterface/Views/HeapSnapshotClusterContentView.js:
-        (WebInspector.HeapSnapshotClusterContentView.iconStyleClassNameForClassName):
-        If a class contains 50% or more object type instances then treat it as such
-        instead of defaulting to native.
-
-        * UserInterface/Views/HeapSnapshotDataGridTree.js:
-        (WebInspector.HeapSnapshotInstancesDataGridTree.prototype.populateTopLevel):
-        * UserInterface/Views/HeapSnapshotInstanceDataGridNode.js:
-        (WebInspector.HeapSnapshotInstanceDataGridNode.prototype.createCellContent):
-        We can be more specific than the default if the individual instance is
-        known to be an object type.
-
-2019-02-19  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Scripts timeline on-going-recording text looks poor in dark mode
-        https://bugs.webkit.org/show_bug.cgi?id=194809
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/TimelineRecordingContentView.css:
-        (.content-view.timeline-recording > .content-browser .recording-progress > .status):
-
-2019-02-18  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Provide a way to avoid a recording auto-stop on reload
-        https://bugs.webkit.org/show_bug.cgi?id=194793
-
-        Reviewed by Matt Baker.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        New tooltip.
-
-        * UserInterface/Controllers/TimelineManager.js:
-        (WI.TimelineManager.prototype.willAutoStop):
-        (WI.TimelineManager.prototype.relaxAutoStop):
-        Getter and relaxer for auto stop behavior.
-
-        * UserInterface/Views/AuditNavigationSidebarPanel.js:
-        (WI.AuditNavigationSidebarPanel.prototype.showDefaultContentView):
-        Drive-by fix some whitespace issues.
-
-        * UserInterface/Views/TimelineTabContentView.js:
-        (WI.TimelineTabContentView):
-        (WI.TimelineTabContentView.prototype._showRecordButton):
-        (WI.TimelineTabContentView.prototype._showContinueButton):
-        (WI.TimelineTabContentView.prototype._updateNavigationBarButtons):
-        (WI.TimelineTabContentView.prototype._capturingStartedOrStopped):
-        (WI.TimelineTabContentView.prototype._globalModifierKeysDidChange):
-        (WI.TimelineTabContentView.prototype._continueButtonClicked):
-        Show a "continue" like icon instead of the usual stop button when
-        a recording would auto-stop and the alt key is down. When pressed
-        this button will relax the auto-stop and continue the recording
-        until explicitly stopped by the user.
-
-2019-02-18  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Fix a typo causing assertions in ConsoleManager
-        https://bugs.webkit.org/show_bug.cgi?id=194792
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Controllers/ConsoleManager.js:
-        (WI.ConsoleManager.prototype.initializeLogChannels):
-        Extra comma produced an undefined value in the list.
-
-2019-02-18  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Styles: typing ";" shouldn't focus on the next property when there's open parenthesis or comment
-        https://bugs.webkit.org/show_bug.cgi?id=194789
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/SpreadsheetStyleProperty.js:
-        (WI.SpreadsheetStyleProperty.prototype._handleValueBeforeInput):
-
-2019-02-18  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Better categorize CPU usage per-thread / worker
-        https://bugs.webkit.org/show_bug.cgi?id=194564
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Controllers/TimelineManager.js:
-        (WI.TimelineManager.prototype.cpuProfilerTrackingUpdated):
-        * UserInterface/Models/CPUTimelineRecord.js:
-        (WI.CPUTimelineRecord.prototype.get mainThreadUsage):
-        (WI.CPUTimelineRecord.prototype.get webkitThreadUsage):
-        (WI.CPUTimelineRecord.prototype.get workerThreadUsage):
-        (WI.CPUTimelineRecord.prototype.get unknownThreadUsage):
-        Build a better record from the protocol events.
-
-2019-02-18  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: duplicate left double quotation mark (\u201C) in 'Unable to show certificate for ā€œ%sā€œ.'
-        https://bugs.webkit.org/show_bug.cgi?id=194782
-        <rdar://problem/48159683>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Models/Resource.js:
-        (WI.Resource.prototype.async showCertificate):
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-02-18  Eric Carlson  <eric.carlson@apple.com>
-
-        Add MSE logging configuration
-        https://bugs.webkit.org/show_bug.cgi?id=194719
-        <rdar://problem/48122151>
-
-        Reviewed by Joseph Pecoraro.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Models/ConsoleMessage.js:
-        * UserInterface/Models/IssueMessage.js:
-        (WI.IssueMessage):
-        * UserInterface/Views/LogContentView.js:
-        (WI.LogContentView):
-        * UserInterface/Views/SettingsTabContentView.js:
-        (WI.SettingsTabContentView.prototype._createGeneralSettingsView):
-
-2019-02-17  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Move CSS completion logic from SpreadsheetTextField to SpreadsheetStyleProperty
-        https://bugs.webkit.org/show_bug.cgi?id=194724
-
-        Reviewed by Devin Rousso.
-
-        Move CSS value completion logic from SpreadsheetTextField, a generic text field,
-        to SpreadsheetStyleProperty.
-
-        * UserInterface/Views/SpreadsheetStyleProperty.js:
-        (WI.SpreadsheetStyleProperty.prototype._nameCompletionDataProvider):
-        (WI.SpreadsheetStyleProperty.prototype._valueCompletionDataProvider):
-
-        * UserInterface/Views/SpreadsheetTextField.js:
-        (WI.SpreadsheetTextField):
-        (WI.SpreadsheetTextField.prototype.completionSuggestionsSelectedCompletion):
-        (WI.SpreadsheetTextField.prototype.completionSuggestionsClickedCompletion):
-        (WI.SpreadsheetTextField.prototype._updateCompletions):
-        (WI.SpreadsheetTextField.prototype._showSuggestionsView):
-        (WI.SpreadsheetTextField.prototype._getCompletionPrefix): Deleted.
-
-2019-02-17  Matt Baker  <mattbaker@apple.com>
-
-        Web Inspector: Frontend performance is very slow reloading theverge.com - 50% of time in TreeOutline _indexOfTreeElement
-        https://bugs.webkit.org/show_bug.cgi?id=193605
-        <rdar://problem/47403986>
-
-        Reviewed by Devin Rousso.
-
-        SelectionController should track an unordered Set of represented objects
-        instead of an ordered set of indexes. This eliminates the costly and
-        error-prone updates needed to keep the selected indexes in sync as items
-        are added and removed from TreeOutline (and Table, to a far lesser extent).
-
-        The SelectionController interface is largely the same. Class and delegate
-        methods have been renamed to reflect the change from indexes to objects.
-        SelectionController tracks selected items in selection order. For the
-        operations that rely on objects being in insertion order, the controller
-        uses a comparator function provided at construction time.
-
-        * UserInterface/Base/IndexSet.js: Removed.
-        No longer used. SelectionController now uses a plain Set.
-
-        * UserInterface/Base/Utilities.js:
-        (value):
-        (get return):
-        Add utilities previously supplied by IndexSet and used by SelectionController.
-
-        * UserInterface/Controllers/SelectionController.js:
-        (WI.SelectionController):
-        (WI.SelectionController.prototype.get lastSelectedItem):
-        (WI.SelectionController.prototype.get selectedItems):
-        (WI.SelectionController.prototype.set allowsMultipleSelection):
-        (WI.SelectionController.prototype.hasSelectedItem):
-        (WI.SelectionController.prototype.selectItem):
-        (WI.SelectionController.prototype.deselectItem):
-        (WI.SelectionController.prototype.selectAll):
-        (WI.SelectionController.prototype.deselectAll):
-        (WI.SelectionController.prototype.removeSelectedItems):
-        (WI.SelectionController.prototype.reset):
-        (WI.SelectionController.prototype.didRemoveItems):
-        (WI.SelectionController.prototype.handleKeyDown):
-        (WI.SelectionController.prototype.handleItemMouseDown):
-        (WI.SelectionController.prototype._deselectAllAndSelect):
-        (WI.SelectionController.prototype._selectItemsFromArrowKey):
-        (WI.SelectionController.prototype._firstSelectableItem):
-        (WI.SelectionController.prototype._lastSelectableItem):
-        (WI.SelectionController.prototype._previousSelectableItem):
-        (WI.SelectionController.prototype._nextSelectableItem):
-        (WI.SelectionController.prototype._updateSelectedItems):
-        (WI.SelectionController.prototype._addRange):
-        (WI.SelectionController.prototype._deleteRange):
-        (WI.SelectionController.prototype.get numberOfItems): Deleted.
-        (WI.SelectionController.prototype.didInsertItem): Deleted.
-        (WI.SelectionController.prototype.handleItemMouseDown.normalizeRange): Deleted.
-        (WI.SelectionController.prototype._nextSelectableIndex): Deleted.
-        (WI.SelectionController.prototype._previousSelectableIndex): Deleted.
-
-        * UserInterface/Main.html:
-        * UserInterface/Test.html:
-        Remove IndexSet.
-
-        * UserInterface/Views/CookieStorageContentView.js:
-        (WI.CookieStorageContentView.prototype.tableIndexForRepresentedObject):
-        (WI.CookieStorageContentView.prototype.tableRepresentedObjectForIndex):
-
-        * UserInterface/Views/DOMTreeOutline.js:
-        (WI.DOMTreeOutline.prototype.objectForSelection):
-
-        * UserInterface/Views/NetworkTableContentView.js:
-        (WI.NetworkTableContentView.prototype.tableIndexForRepresentedObject):
-        (WI.NetworkTableContentView.prototype.tableRepresentedObjectForIndex):
-
-        * UserInterface/Views/Table.js:
-        (WI.Table):
-        (WI.Table.prototype.get selectedRow):
-        (WI.Table.prototype.get selectedRows):
-        (WI.Table.prototype.isRowSelected):
-        (WI.Table.prototype.selectRow):
-        (WI.Table.prototype.deselectRow):
-        (WI.Table.prototype.removeRow):
-        (WI.Table.prototype.removeSelectedRows):
-        (WI.Table.prototype.selectionControllerSelectionDidChange):
-        (WI.Table.prototype.selectionControllerFirstSelectableItem):
-        (WI.Table.prototype.selectionControllerLastSelectableItem):
-        (WI.Table.prototype.selectionControllerPreviousSelectableItem):
-        (WI.Table.prototype.selectionControllerNextSelectableItem):
-        (WI.Table.prototype._handleMouseDown):
-        (WI.Table.prototype._removeRows):
-        (WI.Table.prototype._indexForRepresentedObject):
-        (WI.Table.prototype._representedObjectForIndex):
-        (WI.Table.prototype.selectionControllerNumberOfItems): Deleted.
-        (WI.Table.prototype.selectionControllerNextSelectableIndex): Deleted.
-        (WI.Table.prototype.selectionControllerPreviousSelectableIndex): Deleted.
-        (WI.Table.prototype._toggleSelectedRowStyle): Deleted.
-
-        * UserInterface/Views/TreeOutline.js:
-        (WI.TreeOutline.compareSiblings):
-        (WI.TreeOutline):
-        (WI.TreeOutline.prototype.get selectedTreeElement):
-        (WI.TreeOutline.prototype.set selectedTreeElement):
-        (WI.TreeOutline.prototype.get selectedTreeElements):
-        (WI.TreeOutline.prototype.removeChildAtIndex):
-        (WI.TreeOutline.prototype.removeChildren):
-        (WI.TreeOutline.prototype._rememberTreeElement):
-        (WI.TreeOutline.prototype.getCachedTreeElement):
-        (WI.TreeOutline.prototype.selectionControllerSelectionDidChange):
-        (WI.TreeOutline.prototype.selectionControllerFirstSelectableItem):
-        (WI.TreeOutline.prototype.selectionControllerLastSelectableItem):
-        (WI.TreeOutline.prototype.selectionControllerPreviousSelectableItem):
-        (WI.TreeOutline.prototype.selectionControllerNextSelectableItem):
-        (WI.TreeOutline.prototype.objectForSelection):
-        (WI.TreeOutline._generateStyleRulesIfNeeded):
-        (WI.TreeOutline.prototype.selectionControllerNextSelectableIndex): Deleted.
-        (WI.TreeOutline.prototype.selectionControllerPreviousSelectableIndex): Deleted.
-        (WI.TreeOutline._generateStyleRulesIfNeeded._indexesForSubtree.numberOfElementsInSubtree): Deleted.
-
-2019-02-15  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Logging a native function to the console, such as `alert`, produces unhandled rejection
-        https://bugs.webkit.org/show_bug.cgi?id=194740
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Protocol/RemoteObject.js:
-        (WI.RemoteObject.prototype.findFunctionSourceCodeLocation):
-        In case of a protocol error (common when attempting to get a location
-        for a native function) produce the NoSourceFound result.
-
-        * UserInterface/Views/ConsoleMessageView.js:
-        (WI.ConsoleMessageView.prototype._appendLocationLink):
-        Simplify with an arrow function.
-
-2019-02-15  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Some timelines views work, show Legacy CPU timeline
-        https://bugs.webkit.org/show_bug.cgi?id=194738
-
-        Reviewed by Yusuke Suzuki.
-
-        * UserInterface/Views/ContentView.js:
-        (WI.ContentView.createFromRepresentedObject):
-
-2019-02-15  Aaron Chu  <aaron_chu@apple.com>
-
-        AX: Audit tab should have built-in accessibility tests.
-        https://bugs.webkit.org/show_bug.cgi?id=194005
-        <rdar://problem/47657503>
-
-        Updated built-in accessibility audits test suite.
-
-        Reviewed by Devin Rousso.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Controllers/AuditManager.js:
-        (WI.AuditManager.prototype.addDefaultTestsIfNeeded):
-        (WI.AuditManager):
-        (WI.AuditManager.prototype.addDefaultTestsIfNeeded.): Deleted.
-
-2019-02-15  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Dark Mode: commas in CSS selectors are too dim
-        https://bugs.webkit.org/show_bug.cgi?id=194729
-        <rdar://problem/48128592>
-
-        Reviewed by Matt Baker.
-
-        Use `--text-color-tertiary` for both light and dark modes.
-
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
-        (.spreadsheet-style-declaration-editor):
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.css:
-        (.spreadsheet-css-declaration):
-        (.spreadsheet-css-declaration .selector > span):
-        (@media (prefers-color-scheme: dark)):
-        * UserInterface/Views/Variables.css:
-        (:root):
-
-2019-02-15  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Unreviewed, fix intentation.
-
-        * UserInterface/Views/SpreadsheetRulesStyleDetailsPanel.css:
-        (.sidebar > .panel.details.css-style .rules):
-        (.sidebar > .panel.details.css-style > .content > .rules .section-header):
-
-2019-02-15  Dean Jackson  <dino@apple.com>
-
-        Allow emulation of user gestures from Web Inspector console
-        https://bugs.webkit.org/show_bug.cgi?id=194725
-        <rdar://problem/48126604>
-
-        Reviewed by Joseph Pecoraro and Devin Rousso.
-
-        Add some UI for emulating a User Gesture when evaluating in the console. This
-        allows the developer to do things that would otherwise require actual interaction
-        with the page, such as start playback of media on iOS.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Base/Setting.js: Add a new setting for this option.
-        * UserInterface/Controllers/JavaScriptLogViewController.js:
-        (WI.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
-        * UserInterface/Controllers/RuntimeManager.js: Call evaluate with this new option.
-        (WI.RuntimeManager.prototype.evaluateInInspectedWindow):
-        * UserInterface/Views/LogContentView.js: Add a new checkbox in the upper bar
-        that allows the user to toggle the setting.
-        (WI.LogContentView):
-        (WI.LogContentView.prototype.get navigationItems):
-        (WI.LogContentView.prototype._handleEmulateInUserGestureSettingChanged):
-
-        * UserInterface/Views/NetworkTableContentView.js: Two drive-by typo fixes :)
-        (WI.NetworkTableContentView): perserve -> preserve
-        (WI.NetworkTableContentView.prototype.get navigationItems): checkboxs -> checkboxes
-
-2019-02-15  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Styles: valid values in style attributes are reported as unsupported property values
-        https://bugs.webkit.org/show_bug.cgi?id=194619
-        <rdar://problem/47917373>
-
-        Reviewed by Devin Rousso.
-
-        Payload of inline styles may contain `range` that doesn't match
-        the actual text of the payload - it has an extra empty line at the end.
-        Mismatching ranges caused data corruption.
-
-        * UserInterface/Models/DOMNodeStyles.js:
-        (WI.DOMNodeStyles.prototype._parseStylePropertyPayload):
-
-2019-02-15  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: remove unused parameter in _parseStylePropertyPayload
-        https://bugs.webkit.org/show_bug.cgi?id=194642
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Models/DOMNodeStyles.js:
-        (WI.DOMNodeStyles.prototype._parseStyleDeclarationPayload):
-        The `styleText` parameter was never used
-
-2019-02-15  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Canvas: all actions after an offscreen path modification are marked as offscreen path errors
-        https://bugs.webkit.org/show_bug.cgi?id=194684
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Models/RecordingAction.js:
-        (WI.RecordingAction.prototype.process):
-
-2019-02-15  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Canvas: taking a second recording doesn't select the Initial State by default
-        https://bugs.webkit.org/show_bug.cgi?id=194685
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/CanvasSidebarPanel.js:
-        (WI.CanvasSidebarPanel.prototype._recordingChanged):
-
-2019-02-14  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r241497.
-        https://bugs.webkit.org/show_bug.cgi?id=194676
-
-        New test times out (Requested by NVI on #webkit).
-
-        Reverted changeset:
-
-        "Web Inspector: Styles: valid values in style attributes are
-        reported as unsupported property values"
-        https://bugs.webkit.org/show_bug.cgi?id=194619
-        https://trac.webkit.org/changeset/241497
-
-2019-02-13  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Styles: valid values in style attributes are reported as unsupported property values
-        https://bugs.webkit.org/show_bug.cgi?id=194619
-        <rdar://problem/47917373>
-
-        Reviewed by Devin Rousso.
-
-        Payload of inline styles may contain `range` that doesn't match
-        the actual text of the payload - it has an extra empty line at the end.
-        Mismatching ranges caused data corruption.
-
-        * UserInterface/Models/DOMNodeStyles.js:
-        (WI.DOMNodeStyles.prototype._parseStylePropertyPayload):
-
-2019-02-13  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Update combined and minified copyright header for 2018-2019
-        https://bugs.webkit.org/show_bug.cgi?id=194635
-
-        Reviewed by Devin Rousso.
-
-        * Scripts/copy-user-interface-resources.pl:
-
-2019-02-13  Chris Dumez  <cdumez@apple.com>
-
-        Unreviewed, update localizable strings.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-02-12  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Experimental setting for CPU Usage Timeline improvements
-        https://bugs.webkit.org/show_bug.cgi?id=194556
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Main.html:
-        * UserInterface/Views/LegacyCPUTimelineView.css: Added.
-        * UserInterface/Views/LegacyCPUTimelineView.js: Added.
-        Copy of CPUTimelineView.js/css to be used when the setting is not set.
-
-        * UserInterface/Views/ContentView.js:
-        (WI.ContentView.createFromRepresentedObject):
-        ContentView to create based on the setting.
-
-        * UserInterface/Base/Setting.js:
-        * UserInterface/Views/SettingsTabContentView.js:
-        (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
-        Experimental switch.
-
-2019-02-12  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Timeline.prototype.recordsInTimeRange uses a property most records do not have
-        https://bugs.webkit.org/show_bug.cgi?id=194549
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Models/Timeline.js:
-        (WI.Timeline.prototype.recordsInTimeRange):
-
-2019-02-12  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Timelines: clicking on an empty space in the overview should deselect any selected record bar
-        https://bugs.webkit.org/show_bug.cgi?id=194365
-        <rdar://problem/47868426>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/TimelineRecordBar.js:
-        (WI.TimelineRecordBar.prototype._handleClick):
-        Mark the "click" event so that later listeners know it was handled by `WI.TimelineRecordBar`.
-
-        * UserInterface/Views/TimelineOverview.js:
-        (WI.TimelineOverview):
-        (WI.TimelineOverview.prototype._instrumentAdded):
-        (WI.TimelineOverview.prototype._instrumentRemoved):
-        (WI.TimelineOverview.prototype._handleGraphsContainerClick): Added.
-        (WI.TimelineOverview.prototype._handleOverviewGraphRecordSelected): Added.
-        (WI.TimelineOverview.prototype._recordSelected):
-        Listen for "click" on the graph container and deselect all records when fired, unless the
-        click was marked by a `WI.TimelineRecordBar`.
-
-        * UserInterface/Views/TimelineRecordingContentView.js:
-        (WI.TimelineRecordingContentView.prototype._recordSelected):
-        Ensure that all `WI.TimelineView` update their selected record whenever it changes for any
-        other `WI.TimelineView` (or if there is no selected record).
-
-        * UserInterface/Views/TimelineOverviewGraph.js:
-        (WI.TimelineOverviewGraph.prototype.didLayoutSubtree): Added.
-        Drive-by: since `WI.TimelineRecordBar` are reused when combining, we need to re-determine
-        which one holds the currently selected record.
-
-2019-02-12  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Remove unused maxUsage in CPUTimelineView
-        https://bugs.webkit.org/show_bug.cgi?id=194526
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView):
-        (WI.CPUTimelineView.prototype.shown):
-
-2019-02-11  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: add context menu items to copy a resource's HTTP request/response data
-        https://bugs.webkit.org/show_bug.cgi?id=194261
-        <rdar://problem/21693696>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Models/Resource.js:
-        (WI.Resource.prototype.stringifyHTTPRequest): Added.
-        (WI.Resource.prototype.stringifyHTTPResponse): Added.
-        Don't include the request/response data, as that can be very large, and can easily be
-        accessed by actually selecting the resource in the Resources/Network tab.
-
-        * UserInterface/Views/ContextMenuUtilities.js:
-        (WI.appendContextMenuItemsForSourceCode):
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-02-08  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Audit: show keyboard shortcut in export tooltip
-        https://bugs.webkit.org/show_bug.cgi?id=194454
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/AuditTestContentView.js:
-        (WI.AuditTestContentView):
-        (WI.AuditTestContentView.prototype.get saveData):
-        (WI.AuditTestContentView.prototype._exportResult): Added.
-        (WI.AuditTestContentView.prototype._handleExportButtonNavigationItemClicked):
-        (WI.AuditTestContentView.prototype._exportAudit): Deleted.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-02-08  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Styles: easier way to select a single line
-        https://bugs.webkit.org/show_bug.cgi?id=193305
-
-        Reviewed by Devin Rousso.
-
-        Start property selection after mousedown when mouse cursor moves 8px,
-        which is ~1.5 times the width of a text character in the style editor.
-
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationSection.js:
-        (WI.SpreadsheetCSSStyleDeclarationSection):
-        (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleMouseDown):
-        (WI.SpreadsheetCSSStyleDeclarationSection.prototype._handleWindowMouseMove): Added.
-        (WI.SpreadsheetCSSStyleDeclarationSection.prototype._stopSelection):
-
-2019-02-08  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Debugger Popover should work with value in template string `${identifier}`
-        https://bugs.webkit.org/show_bug.cgi?id=194459
-        <rdar://problem/47932564>
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Controllers/CodeMirrorTokenTrackingController.js:
-        (WI.CodeMirrorTokenTrackingController.prototype._processJavaScriptExpression):
-        When walking backwards to get the full expression we were walking outside
-        of the interpolation group `outside ${inside}`. Stop walking backwards once
-        we cross the boundary.
-
-2019-02-08  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Import / Export Heap Snapshots
-        https://bugs.webkit.org/show_bug.cgi?id=194448
-        <rdar://problem/47928093>
-
-        Reviewed by Devin Rousso.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        New strings.
-
-        * UserInterface/Proxies/HeapSnapshotProxy.js:
-        (WI.HeapSnapshotProxy):
-        (WI.HeapSnapshotProxy.deserialize):
-        (WI.HeapSnapshotProxy.prototype.get imported):
-        (WI.HeapSnapshotProxy.prototype.get snapshotStringData):
-        (WI.HeapSnapshotProxy.prototype.set snapshotStringData):
-        Include an "imported" state on the HeapSnapshot and allow for
-        stashing the snapshotStringData on the main thread side.
-
-        * UserInterface/Proxies/HeapSnapshotWorkerProxy.js:
-        (WI.HeapSnapshotWorkerProxy.prototype.createImportedSnapshot):
-        * UserInterface/Workers/HeapSnapshot/HeapSnapshotWorker.js:
-        (HeapSnapshotWorker.prototype.clearSnapshots):
-        (HeapSnapshotWorker.prototype.createSnapshot):
-        Provide a specialized way to create an imported HeapSnapshot.
-        Track imported snapshots separately since they won't want to
-        be searched for live/dead objects due to active recording GCs.
-
-        * UserInterface/Workers/HeapSnapshot/HeapSnapshot.js:
-        (HeapSnapshot):
-        (HeapSnapshot.updateCategoriesAndMetadata):
-        (HeapSnapshot.allocationBucketCounts):
-        (HeapSnapshot.instancesWithClassName):
-        (HeapSnapshot.prototype.nodeWithIdentifier):
-        (HeapSnapshot.prototype.dominatedNodes):
-        (HeapSnapshot.prototype.retainedNodes):
-        (HeapSnapshot.prototype.retainers):
-        (HeapSnapshot.prototype.updateDeadNodesAndGatherCollectionData):
-        (HeapSnapshot.prototype.serialize):
-        (HeapSnapshot.prototype.serializeNode):
-        (HeapSnapshot.prototype._buildPostOrderIndexes):
-        (HeapSnapshot.prototype._buildDominatorIndexes):
-        (HeapSnapshot.prototype._buildRetainedSizes):
-        (HeapSnapshot.prototype._gcRootPathes.visitNode):
-        (HeapSnapshot.prototype._gcRootPathes):
-        Construct a HeapSnapshot knowinng whether or not it is imported.
-        Imported snapshots may be the "GCDebugging" snapshot type which
-        differs from "Inspector" by the number of node fields. So keep
-        the node field count a member instead of a global constant
-        in order to work with both snapshot types.
-
-        * UserInterface/Models/HeapAllocationsInstrument.js:
-        (WI.HeapAllocationsInstrument.prototype._takeHeapSnapshot):
-        * UserInterface/Protocol/ConsoleObserver.js:
-        (WI.ConsoleObserver.prototype.heapSnapshot):
-        * UserInterface/Protocol/HeapObserver.js:
-        (WI.HeapObserver.prototype.trackingStart):
-        (WI.HeapObserver.prototype.trackingComplete):
-        Stash the original string JSON data on the main thread side
-        where we already have the data.
-
-        * UserInterface/Views/HeapAllocationsTimelineOverviewGraph.js:
-        (WI.HeapAllocationsTimelineOverviewGraph.prototype.layout):
-        Don't show [S] icons for imported snapshots with no timestamp.
-
-        * UserInterface/Views/HeapAllocationsTimelineView.js:
-        (WI.HeapAllocationsTimelineView):
-        (WI.HeapAllocationsTimelineView.prototype.get navigationItems):
-        (WI.HeapAllocationsTimelineView.prototype._importButtonNavigationItemClicked):
-        (WI.HeapAllocationsTimelineView.prototype._takeHeapSnapshotClicked):
-        Import button that just creates a new snapshot.
-
-        * UserInterface/Views/HeapSnapshotContentView.js:
-        (WI.HeapSnapshotContentView):
-        (WI.HeapSnapshotContentView.prototype.get navigationItems):
-        (WI.HeapSnapshotContentView.prototype.get supportsSave):
-        (WI.HeapSnapshotContentView.prototype.get saveData):
-        (WI.HeapSnapshotContentView.prototype._exportSnapshot):
-        Export button that saves the original data.
-
-        * UserInterface/Views/TimelineTabContentView.js:
-        (WI.TimelineTabContentView.displayNameForRecord):
-        Specialized display string for imported snapshots.
-
-2019-02-08  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Add Debug setting to show Internal Object Classes in Heap Snapshot
-        https://bugs.webkit.org/show_bug.cgi?id=194445
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Base/Setting.js:
-        * UserInterface/Views/HeapSnapshotDataGridTree.js:
-        (WI.HeapSnapshotInstancesDataGridTree.prototype.populateTopLevel):
-        * UserInterface/Views/SettingsTabContentView.js:
-        (WI.SettingsTabContentView.prototype._createDebugSettingsView):
-
-2019-02-08  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Styles: close unbalanced quotes and parenthesis when editing values
-        https://bugs.webkit.org/show_bug.cgi?id=182523
-        <rdar://problem/37260209>
-
-        Reviewed by Devin Rousso.
-
-        Close CSS comments, append missing closed quotes and right parenthesis.
-
-        * UserInterface/Models/CSSCompletions.js:
-        (WI.CSSCompletions.completeUnbalancedValue):
-        * UserInterface/Models/CSSProperty.js:
-        (WI.CSSProperty.prototype.set rawValue):
-
-2019-02-07  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Make Timeline markers light gray instead of black in dark mode
-        https://bugs.webkit.org/show_bug.cgi?id=194417
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:
-        (.timeline-overview-graph.rendering-frame > .divider):
-        * UserInterface/Views/TimelineRuler.css:
-        (.timeline-ruler > .markers > .divider):
-
-2019-02-06  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: DOM: don't send the entire function string with each event listener
-        https://bugs.webkit.org/show_bug.cgi?id=194293
-        <rdar://problem/47822809>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/EventListenerSectionGroup.js:
-        (WI.EventListenerSectionGroup.prototype._functionTextOrLink):
-
-2019-02-06  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: "Worker not found" uncaught protocol errors
-        https://bugs.webkit.org/show_bug.cgi?id=194319
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Base/Main.js:
-        (WI.terminatePageTarget):
-        Remove Worker targets associated with the Page on navigation.
-        Eventually we will have to associate Workers with their parent
-        frame, but for now a transition can only happen at the Page
-        level, so we can eliminate all workers on the page.
-
-        * UserInterface/Controllers/WorkerManager.js:
-        (WI.WorkerManager.prototype.workerCreated):
-        * UserInterface/Protocol/Connection.js:
-        (InspectorBackend.WorkerConnection.sendMessageToBackend):
-        Allow any WorkerAgent domain message to fail silently. This can
-        happen if a Worker is created and destroyed before the frontend
-        hears about it and sends messages to the backend for that Worker.
-
-2019-02-05  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Styles: PropertiesChanged shouldn't fire when old and new text are both empty
-        https://bugs.webkit.org/show_bug.cgi?id=194318
-
-        Reviewed by Devin Rousso.
-
-        Previously, WI.CSSStyleDeclaration.Event.PropertiesChanged fired when
-        old text and new text were empty strings.
-
-        * UserInterface/Models/CSSStyleDeclaration.js:
-
-2019-02-05  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Lots of time spent updating related resources in ResourceDetailsSidebar when loading a page with lots of resources
-        https://bugs.webkit.org/show_bug.cgi?id=159577
-        <rdar://problem/27251461>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/ResourceDetailsSidebarPanel.js:
-        (WI.ResourceDetailsSidebarPanel.prototype._refreshRelatedResourcesSection):
-        (WI.ResourceDetailsSidebarPanel.prototype._applyResourceEventListeners):
-
-2019-02-05  Matt Baker  <mattbaker@apple.com>
-
-        Web Inspector: Elements tab: selection is broken after deleting the selected node
-        https://bugs.webkit.org/show_bug.cgi?id=194300
-        <rdar://problem/47829275>
-
-        Reviewed by Devin Rousso.
-
-        Deleting a TreeElement can cause an IndexSet including indexes
-        outside the deleted range to be passed to SelectionController,
-        corrupting the internal selection state.
-
-        * UserInterface/Views/TreeOutline.js:
-        (WI.TreeOutline.prototype._indexesForSubtree.numberOfElementsInSubtree): Added.
-        (WI.TreeOutline.prototype._indexesForSubtree):
-        Finding the last (rightmost leaf) TreeElement in the subtree used
-        TreeElement.prototype.traverseNextElement to do a depth first traversal.
-        This method did not stay within the subtree rooted at `treeElement`.
-
-2019-02-05  Matt Baker  <mattbaker@apple.com>
-
-        Web Inspector: REGRESSION (r240947): Resources tab: can't select main frame after refreshing page
-        https://bugs.webkit.org/show_bug.cgi?id=194254
-        <rdar://problem/47805023>
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/TreeOutline.js:
-        (WI.TreeOutline.prototype.selectionControllerSelectionDidChange):
-        TreeOutline should always call the TreeElement `select` and `deselect`
-        methods while processing selection changes. Having notifications
-        suppressed by `this._suppressNextSelectionDidChangeEvent` should only
-        affect the dispatching of TreeOutline events.
-
-2019-02-05  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Styles: remove harmless "property was unlocked" asserts
-        https://bugs.webkit.org/show_bug.cgi?id=194262
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/SpreadsheetStyleProperty.js:
-        (WI.SpreadsheetStyleProperty.prototype.remove):
-        (WI.SpreadsheetStyleProperty.prototype.update):
-        (WI.SpreadsheetStyleProperty.prototype._handleNameChange):
-        (WI.SpreadsheetStyleProperty.prototype._handleValueChange):
-
-2019-02-04  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Uncaught Exception: undefined is not an object (evaluating 'classes.includes')
-        https://bugs.webkit.org/show_bug.cgi?id=194280
-        <rdar://problem/47811159>
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/GeneralStyleDetailsSidebarPanel.js:
-        (WI.GeneralStyleDetailsSidebarPanel.prototype._populateClassToggles):
-        Add a fallback value in case the `class` attribute isn't specified for the selected node.
-
-2019-02-04  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Resources: missing resource data for document on reload
-        https://bugs.webkit.org/show_bug.cgi?id=194243
-        <rdar://problem/47559021>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/ResourceDetailsSidebarPanel.js:
-        (WI.ResourceDetailsSidebarPanel.prototype.set resource):
-        (WI.ResourceDetailsSidebarPanel.prototype._applyResourceEventListeners):
-
-        * UserInterface/Base/Object.js:
-        (WI.Object.removeEventListener):
-        Drive-by: there's no need to iterate over the entire table to check if `thisObject` exists,
-        as that is handled for us by `ListMultimap`, which we later call anyways.
-
-2019-02-04  Matt Baker  <mattbaker@apple.com>
-
-        Web Inspector: REGRESSION: Resources: WI.TreeOutline assertions when refreshing the page
-        https://bugs.webkit.org/show_bug.cgi?id=194242
-        <rdar://problem/47802027>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/FolderizedTreeElement.js:
-        (WI.FolderizedTreeElement.prototype.removeChildren):
-        FolderTreeElements are removed by the base class call to removeChildren.
-        Calling `removeChildren` for detached TreeElements is unnecessary.
-
-2019-02-04  Matt Baker  <mattbaker@apple.com>
-
-        Web Inspector: REGRESSION: clicking a selected call frame doesn't re-scroll
-        https://bugs.webkit.org/show_bug.cgi?id=194169
-        <rdar://problem/47743864>
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/TreeOutline.js:
-        (WI.TreeOutline.prototype._handleMouseDown):
-        Add a special case for a single-selection TreeOutline with
-        allowsRepeatSelection enabled. Since the element is already
-        selected, bypass the SelectionCongroller and dispatch an
-        event with event.data.selectedByUser set to true.
-
-2019-02-04  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Styles: fix race conditions when editing
-        https://bugs.webkit.org/show_bug.cgi?id=192739
-        <rdar://problem/46752925>
-
-        Reviewed by Devin Rousso.
-
-        Editing CSS property in the style editor syncronously updates CSSStyleDeclaration on the front-end
-        and asyncronously updates the backend by calling CSSAgent.setStyleText. After the new style text is applied
-        on the backend, CSSStyleDeclaration (on the front-end) gets updated.
-
-        Unsure there's no race conditions by introducing `_updatesInProgressCount`:
-
-          - Increment it before calling CSSAgent.setStyleText.
-          - Decrement it after CSSAgent.setStyleText is finished.
-
-        Prevent updates of CSSStyleDeclaration when _updatesInProgressCount isn't 0.
-
-        * UserInterface/Models/CSSProperty.js:
-        (WI.CSSProperty.prototype._updateOwnerStyleText):
-        * UserInterface/Models/CSSStyleDeclaration.js:
-        (WI.CSSStyleDeclaration):
-        (WI.CSSStyleDeclaration.prototype.set text): Removed.
-        (WI.CSSStyleDeclaration.prototype.setText): Added.
-        Change the setter to a method since it has side effects including an asynchronous backend call.
-
-        * UserInterface/Models/DOMNodeStyles.js:
-        (WI.DOMNodeStyles.prototype.changeStyleText):
-
-        * UserInterface/Views/SpreadsheetStyleProperty.js:
-        (WI.SpreadsheetStyleProperty.prototype.get nameTextField): Removed.
-        (WI.SpreadsheetStyleProperty.prototype.get valueTextField): Removed.
-        Drive-by: remove unused code.
-
-2019-02-01  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: create icons for media event types instead of using a blue circle
-        https://bugs.webkit.org/show_bug.cgi?id=190381
-        <rdar://problem/45507995>
-
-        Reviewed by Brian Burg.
-
-        * UserInterface/Models/DOMNode.js:
-        (WI.DOMNode.isPlayEvent): Added.
-        (WI.DOMNode.isPauseEvent): Added.
-        (WI.DOMNode.isStopEvent): Added.
-
-        * UserInterface/Views/DOMEventsBreakdownView.js:
-        (WI.DOMEventsBreakdownView.prototype.layout):
-        * UserInterface/Views/DOMEventsBreakdownView.css:
-        (.dom-events-breakdown tr > :matches(th, td)):
-        (.dom-events-breakdown .graph):
-        (.dom-events-breakdown .graph > :matches(img, .area)): Added.
-        (.dom-events-breakdown .graph > img): Added.
-        (.dom-events-breakdown .inherited > .name, .dom-events-breakdown .inherited > .graph > img): Added.
-        (.dom-events-breakdown .graph > :matches(.point, .area)): Deleted.
-        (.dom-events-breakdown .graph > .point): Deleted.
-        (.dom-events-breakdown .inherited > .name, .dom-events-breakdown .inherited > .graph > .point): Deleted.
-
-        * UserInterface/Views/NetworkTableContentView.js:
-        (WI.NetworkTableContentView.prototype._populateWaterfallGraph.createDOMEventLine):
-
-        * UserInterface/Images/EventPause.svg: Added.
-        * UserInterface/Images/EventPlay.svg: Added.
-        * UserInterface/Images/EventProcessing.svg: Added.
-        * UserInterface/Images/EventStop.svg: Added.
-
-2019-02-01  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Make WI.ColumnChart a WI.View subclass
-        https://bugs.webkit.org/show_bug.cgi?id=194171
-
-        Rubber-stamped by Devin Rousso.
-
-        * UserInterface/Views/CPUTimelineOverviewGraph.js:
-        (WI.CPUTimelineOverviewGraph):
-        * UserInterface/Views/ColumnChart.js:
-        (WI.ColumnChart):
-        (WI.ColumnChart.prototype.set size):
-        (WI.ColumnChart.prototype.layout):
-        (WI.ColumnChart.prototype.get element): Deleted.
-        (WI.ColumnChart.prototype.needsLayout): Deleted.
-        (WI.ColumnChart.prototype.updateLayout): Deleted.
-
-2019-02-01  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Make WI.StackedLineChart a WI.View subclass
-        https://bugs.webkit.org/show_bug.cgi?id=194119
-
-        Rubber-stamped by Devin Rousso.
-
-        * UserInterface/Views/LineChart.js:
-        (WI.LineChart.prototype.layout):
-        (WI.LineChart):
-        * UserInterface/Views/MemoryTimelineOverviewGraph.js:
-        (WI.MemoryTimelineOverviewGraph):
-        * UserInterface/Views/StackedLineChart.js:
-        (WI.StackedLineChart):
-        (WI.StackedLineChart.prototype.set size):
-        (WI.StackedLineChart.prototype.layout):
-        (WI.StackedLineChart.prototype.get element): Deleted.
-        (WI.StackedLineChart.prototype.get points): Deleted.
-        (WI.StackedLineChart.prototype.needsLayout): Deleted.
-        (WI.StackedLineChart.prototype.updateLayout): Deleted.
-
-2019-02-01  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Make WI.CircleChart a WI.View subclass
-        https://bugs.webkit.org/show_bug.cgi?id=194118
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/CircleChart.js:
-        (WI.CircleChart.prototype.get centerElement):
-        (WI.CircleChart.prototype.layout):
-        (WI.CircleChart.prototype.get element): Deleted.
-        (WI.CircleChart.prototype.needsLayout): Deleted.
-        (WI.CircleChart.prototype.updateLayout): Deleted.
-        * UserInterface/Views/MemoryTimelineView.js:
-        (WI.MemoryTimelineView):
-
-2019-02-01  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Timeline Detail Views do not reset properly when new time range selection contains nothing
-        https://bugs.webkit.org/show_bug.cgi?id=194115
-        <rdar://problem/47716693>
-
-        Rubber-stamped by Devin Rousso.
-
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView.prototype.reset):
-        (WI.CPUTimelineView.prototype.clear):
-        (WI.CPUTimelineView.prototype.layout):
-        * UserInterface/Views/MemoryTimelineView.js:
-        (WI.MemoryTimelineView.prototype.reset):
-        (WI.MemoryTimelineView.prototype.clear):
-        (WI.MemoryTimelineView.prototype.layout):
-        When there are no visible records in the selected range clear our UI.
-        Introduce a `clear` method that clears the UI but keeps
-        non-range-specific values (e.g. maximums).
-
-2019-02-01  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Timeline graphs have drawing issues with multiple discontinuities
-        https://bugs.webkit.org/show_bug.cgi?id=194110
-        <rdar://problem/47714356>
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView):
-        (WI.CPUTimelineView.prototype.layout.xScale): Deleted.
-        * UserInterface/Views/MemoryTimelineOverviewGraph.js:
-        (WI.MemoryTimelineOverviewGraph.prototype.layout.insertDiscontinuity):
-        (WI.MemoryTimelineOverviewGraph.prototype.layout):
-        * UserInterface/Views/MemoryTimelineView.js:
-        (WI.MemoryTimelineView.prototype.layout.xScale):
-        (WI.MemoryTimelineView.prototype.layout.yScale):
-        (WI.MemoryTimelineView.prototype.layout):
-        Handle if multiple discontinuities exist between records.
-
-2019-02-01  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Timeline time range selection should show duration alongside start and end
-        https://bugs.webkit.org/show_bug.cgi?id=194109
-        <rdar://problem/47714279>
-
-        Reviewed by Devin Rousso.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Views/TimelineRecordingContentView.js:
-        (WI.TimelineRecordingContentView.prototype._updateTimeRangePathComponents):
-        Include the duration when not obvious.
-
-2019-02-01  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Improve API and documentation of ColumnChart
-        https://bugs.webkit.org/show_bug.cgi?id=193982
-
-        Reviewed by Devin Rousso.
-
-        This used to be named "BarChart". Convert remaining instances
-        of "bar" to "column" and clean up related things.
-
-        * UserInterface/Views/CPUTimelineOverviewGraph.css:
-        (body[dir=rtl] .timeline-overview-graph.cpu > .column-chart):
-        (.timeline-overview-graph.cpu > .column-chart > svg > rect):
-        (body[dir=rtl] .timeline-overview-graph.cpu > .bar-chart): Deleted.
-        (.timeline-overview-graph.cpu > .bar-chart > svg > rect): Deleted.
-        * UserInterface/Views/CPUTimelineOverviewGraph.js:
-        (WI.CPUTimelineOverviewGraph.prototype.layout):
-        * UserInterface/Views/ColumnChart.js:
-        (WI.ColumnChart):
-        (WI.ColumnChart.prototype.get columns):
-        (WI.ColumnChart.prototype.addColumn):
-        (WI.ColumnChart.prototype.clear):
-        (WI.ColumnChart.prototype.updateLayout):
-        (WI.ColumnChart.prototype.get bars): Deleted.
-        (WI.ColumnChart.prototype.addBar): Deleted.
-        * UserInterface/Views/StackedLineChart.js:
-        (WI.StackedLineChart.prototype.get element):
-        (WI.StackedLineChart.prototype.get points):
-
-2019-01-31  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Timeline time range selection sometimes shows 0.000, should be just 0
-        https://bugs.webkit.org/show_bug.cgi?id=194108
-        <rdar://problem/47714273>
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Base/Utilities.js:
-        Check under epsilon for the zero case.
-
-2019-01-31  Matt Baker  <mattbaker@apple.com>
-
-        REGRESSION(r?): Web Inspector: Clicking on text doesn't move text caret when editing innerHTML/tagName/attribute
-        https://bugs.webkit.org/show_bug.cgi?id=192652
-        <rdar://problem/46684612>
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Views/DOMTreeElement.js:
-        (WI.DOMTreeElement.prototype.canSelectOnMouseDown):
-        Call to Event.preventDefault() should be made here instead of at the
-        TreeOutline level.
-
-        * UserInterface/Views/TreeElement.js:
-        (WI.TreeElement.prototype.selectOnMouseDown): Deleted.
-        Remove dead code.
-
-        * UserInterface/Views/TreeOutline.js:
-        (WI.TreeOutline._handleMouseDown):
-        Do not prevent default event handling when the item cannot be selected.
-        This matches TreeOutline behavior prior to introducing SelectionController.
-
-2019-01-30  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Memory Timeline View should be responsive / resizable
-        https://bugs.webkit.org/show_bug.cgi?id=153758
-        <rdar://problem/24444320>
-
-        Reviewed by Joseph Pecoraro.
-
-        Leverage the SVG `viewBox` (which was misspelled) to scale the graphs when the width of the
-        container changes. The `viewBox` used is equal to the total amount of time that is visible.
-
-        Make `WI.LineChart` (and its container classes) into subclasses of `WI.View` to leverage the
-        existing layout system.
-
-        Prevent any work from being done when resizing, as this is now handled by CSS/SVG.
-
-        * UserInterface/Views/LineChart.js:
-        (WI.LineChart):
-        (WI.LineChart.prototype.set size):
-        (WI.LineChart.prototype.addPoint):
-        (WI.LineChart.prototype.clear):
-        (WI.LineChart.prototype.layout):
-        (WI.LineChart.prototype.get element): Deleted.
-        (WI.LineChart.prototype.get points): Deleted.
-        (WI.LineChart.prototype.needsLayout): Deleted.
-        (WI.LineChart.prototype.updateLayout): Deleted.
-
-        * UserInterface/Views/CPUUsageView.js:
-        (WI.CPUUsageView):
-        (WI.CPUUsageView.prototype.clear):
-        (WI.CPUUsageView.prototype.updateChart): Added.
-        (WI.CPUUsageView.prototype.get element): Deleted.
-        (WI.CPUUsageView.prototype.layoutWithDataPoints): Deleted.
-        * UserInterface/Views/CPUUsageView.css:
-        (.cpu-usage-view):
-        (.cpu-usage-view > .details):
-        (.cpu-usage-view > .graph, .cpu-usage-view > .graph > .line-chart, .cpu-usage-view > .graph > .line-chart > svg): Added.
-        (.cpu-usage-view > .graph): Deleted.
-
-        * UserInterface/Views/CPUTimelineView.js:
-        (WI.CPUTimelineView):
-        (WI.CPUTimelineView.prototype.layout):
-        (WI.CPUTimelineView.prototype.layout.layoutView):
-        (WI.CPUTimelineView.prototype.layout.layoutView.xScale):
-        (WI.CPUTimelineView.prototype.layout.layoutView.yScale):
-        * UserInterface/Views/CPUTimelineView.css:
-        (body .timeline-view.cpu): Added.
-        (.timeline-view.cpu > .content):
-        (.timeline-view.cpu): Deleted.
-
-        * UserInterface/Views/MemoryCategoryView.js:
-        (WI.MemoryCategoryView):
-        (WI.MemoryCategoryView.prototype.clear):
-        (WI.MemoryCategoryView.prototype.updateChart): Added.
-        (WI.MemoryCategoryView.prototype.get element): Deleted.
-        (WI.MemoryCategoryView.prototype.layoutWithDataPoints): Deleted.
-        * UserInterface/Views/MemoryCategoryView.css:
-        (.memory-category-view):
-        (.memory-category-view > .details):
-        (.memory-category-view > .graph, .memory-category-view > .graph > .line-chart, .memory-category-view > .graph > .line-chart > svg): Added.
-        (.memory-category-view > .graph): Deleted.
-
-        * UserInterface/Views/MemoryTimelineView.js:
-        (WI.MemoryTimelineView.prototype.layout):
-        (WI.MemoryTimelineView.prototype.layout.layoutCategoryView):
-        (WI.MemoryTimelineView.prototype.layout.layoutCategoryView.xScale):
-        (WI.MemoryTimelineView.prototype.layout.layoutCategoryView.yScale):
-        (WI.MemoryTimelineView.prototype._initializeCategoryViews):
-        (WI.MemoryTimelineView.prototype._initializeCategoryViews.appendLegendRow):
-        * UserInterface/Views/MemoryTimelineView.css:
-        (.timeline-view.memory > .content > .overview):
-        (.timeline-view.memory > .content > .overview > .divider):
-        (.timeline-view.memory > .content > .overview .total-usage, .timeline-view.memory > .content > .overview .max-percentage, .timeline-view.memory > .content > .overview .legend .size): Added.
-        (.timeline-view.memory .legend):
-        (.timeline-view.memory .legend .row): Added.
-        (.timeline-view.memory .legend .row + .row): Added.
-        (.timeline-view.memory .legend .swatch): Addd.
-        (.timeline-view.memory .legend .swatch.javascript): Addd.
-        (.timeline-view.memory .legend .swatch.images): Addd.
-        (.timeline-view.memory .legend .swatch.layers): Addd.
-        (.timeline-view.memory .legend .swatch.page): Addd.
-        (.timeline-view.memory .legend .swatch.current): Addd.
-        (.timeline-view.memory > .content): Deleted.
-        (.timeline-view.memory > .content > .overview .total-usage, .timeline-view.memory > .content > .overview .max-percentage):
-        (body[dir=ltr] .timeline-view.memory .legend): Deleted.
-        (body[dir=rtl] .timeline-view.memory .legend): Deleted.
-        (.timeline-view.memory .legend > .row): Deleted.
-        (.timeline-view.memory .legend > .row > .swatch): Deleted.
-        (body[dir=ltr] .timeline-view.memory .legend > .row > .swatch): Deleted.
-        (body[dir=rtl] .timeline-view.memory .legend > .row > .swatch): Deleted.
-        (.timeline-view.memory .legend > .row > p): Deleted.
-        (body[dir=ltr] .timeline-view.memory .legend > .row > :matches(.label, .size)): Deleted.
-        (body[dir=rtl] .timeline-view.memory .legend > .row > :matches(.label, .size)): Deleted.
-        (.timeline-view.memory .legend > .row > .label): Deleted.
-        (.timeline-view.memory .legend > .row > .size): Deleted.
-        (.timeline-view.memory .legend > .row > .swatch.javascript): Deleted.
-        (.timeline-view.memory .legend > .row > .swatch.images): Deleted.
-        (.timeline-view.memory .legend > .row > .swatch.layers): Deleted.
-        (.timeline-view.memory .legend > .row > .swatch.page): Deleted.
-        (.timeline-view.memory .legend > .row > .swatch.current): Deleted.
-
-2019-01-30  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Changes: group CSS rules by resource
-        https://bugs.webkit.org/show_bug.cgi?id=193940
-        <rdar://problem/47617785>
-
-        Reviewed by Matt Baker.
-
-        Create resource sections with source links in their headers.
-
-        Also:
-        - Use read-only WI.SpreadsheetStyleProperty to display inline swatches for colors;
-        - Make the red and green background span the entire width of the panel.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Views/ChangesDetailsSidebarPanel.css:
-        (.sidebar > .panel.changes-panel):
-        (.sidebar > .panel.changes-panel .css-rule):
-        (.sidebar > .panel.selected.changes-panel.empty):
-        (.changes-panel .resource-section):
-        (.changes-panel .resource-section > .header):
-        (.changes-panel .resource-section > .header > a:hover):
-        (.sidebar > .panel.changes-panel .selector-line,):
-        (.changes-panel .css-property-line > .property):
-        (.changes-panel .css-property-line.unchanged):
-        (.changes-panel .css-property-line.added):
-        (.changes-panel .css-property-line.removed):
-        (.changes-panel .css-property-line.removed::before):
-        (.changes-panel .css-property-line.added::before):
-        (@media (prefers-color-scheme: dark)):
-
-        * UserInterface/Views/ChangesDetailsSidebarPanel.js:
-        (WI.ChangesDetailsSidebarPanel.prototype.layout):
-        (WI.ChangesDetailsSidebarPanel.prototype._createRuleElement):
-        (WI.ChangesDetailsSidebarPanel.prototype._createLocationLink):
-
-        * UserInterface/Views/SpreadsheetStyleProperty.js:
-        (WI.SpreadsheetStyleProperty.prototype._createInlineSwatch):
-        Allow passing `null` as a delegate.
-
-2019-01-30  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: change style of device settings override popover content
-        https://bugs.webkit.org/show_bug.cgi?id=194049
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Base/Main.js:
-        (WI._handleDeviceSettingsToolbarButtonClicked):
-        (WI._handleDeviceSettingsToolbarButtonClicked.showUserAgentInput):
-        (WI._handleDeviceSettingsToolbarButtonClicked.createContainer): Deleted.
-        * UserInterface/Views/Main.css:
-        (.device-settings-content):
-        (.device-settings-content > tr > td:first-child): Added.
-        (.device-settings-content .container):
-        (.device-settings-content .container > * + *): Added.
-        (.device-settings-content .column): Added.
-        (.device-settings-content .user-agent select): Added.
-        (.device-settings-content .user-agent input): Added.
-        (.device-settings-content label + label): Added.
-        (.device-settings-content label > input): Added.
-        (.device-settings-content .columns): Deleted.
-        (.device-settings-content .columns > .column): Deleted.
-        (.device-settings-content .columns > .column + .column): Deleted.
-        (.device-settings-content .user-agent-value): Deleted.
-        (.device-settings-content .user-agent-value > select): Deleted.
-        (.device-settings-content .user-agent-value > input): Deleted.
-        (body[dir=ltr] .device-settings-content .user-agent-value > input): Deleted.
-        (body[dir=rtl] .device-settings-content .user-agent-value > input): Deleted.
-
-2019-01-30  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Uncaught Exception: null is not an object (evaluating 'url.startsWith')
-        https://bugs.webkit.org/show_bug.cgi?id=194029
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/ConsoleMessageView.js:
-        (WI.ConsoleMessageView.prototype._appendLocationLink):
-
-2019-01-29  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Enabled Changes panel in Elements tab by default
-        https://bugs.webkit.org/show_bug.cgi?id=193986
-        <rdar://problem/47647683>
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Base/Setting.js:
-        * UserInterface/Views/ElementsTabContentView.js:
-        (WI.ElementsTabContentView):
-        * UserInterface/Views/SettingsTabContentView.js:
-        (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
-
-2019-01-29  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Styles: enable computed style cascades by default
-        https://bugs.webkit.org/show_bug.cgi?id=193983
-        <rdar://problem/47645821>
-
-        Reviewed by Matt Baker.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Base/Setting.js:
-        * UserInterface/Views/ComputedStyleDetailsPanel.css:
-        (.computed-style-properties):
-        (.computed-style-properties .property .go-to-arrow):
-        (.details-section.computed-style-properties:not(.collapsed) > :matches(.header, .content)):
-        (.details-section.computed-style-properties > .content):
-        (@media (prefers-color-scheme: dark)):
-        (.computed-with-traces .computed-style-properties): Deleted.
-        (.computed-with-traces .details-section.computed-style-properties:not(.collapsed) > :matches(.header, .content)): Deleted.
-        (.computed-with-traces .details-section.computed-style-properties > .content): Deleted.
-        (.computed-with-traces .computed-style-properties .property .go-to-arrow): Deleted.
-        * UserInterface/Views/ComputedStyleDetailsPanel.js:
-        (WI.ComputedStyleDetailsPanel.prototype.refresh):
-        (WI.ComputedStyleDetailsPanel.prototype.initialLayout):
-        * UserInterface/Views/ComputedStyleDetailsSidebarPanel.js:
-        (WI.ComputedStyleDetailsSidebarPanel):
-        * UserInterface/Views/SettingsTabContentView.js:
-        (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
-
-2019-01-28  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Remove unnecessary promise rejection handlers now that we use the global onunhandledrejection handler
-        https://bugs.webkit.org/show_bug.cgi?id=193921
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Base/Utilities.js:
-        * UserInterface/Debug/UncaughtExceptionReporter.js:
-        * UserInterface/Views/NetworkTableContentView.js:
-        (WI.NetworkTableContentView.prototype._exportHAR):
-        * UserInterface/Views/TextEditor.js:
-        (WI.TextEditor.prototype.updateFormattedState):
-
-2019-01-28  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: provide a way to edit page WebRTC settings on a remote target
-        https://bugs.webkit.org/show_bug.cgi?id=193863
-        <rdar://problem/47572764>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Base/Main.js:
-        (WI.loaded):
-        (WI.initializeTarget):
-        (WI._handleDeviceSettingsToolbarButtonClicked):
-        (WI._handleDeviceSettingsToolbarButtonClicked.createCheckbox):
-        (WI._handleDeviceSettingsToolbarButtonClicked.createColumns): Deleted.
-        * UserInterface/Views/Main.css:
-        (.device-settings-content .container): Added.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-01-28  Matt Baker  <mattbaker@apple.com>
-
-        Web Inspector: Elements tab should toggle visibility for all selected nodes
-        https://bugs.webkit.org/show_bug.cgi?id=193089
-        <rdar://problem/47009256>
-
-        Reviewed by Devin Rousso.
-
-        Update "Toggle Visibility" command in DOM tree for multiple selection.
-        When both visible and hidden elements are selected in the DOM tree,
-        the toggle command behaves contextually. If one or more elements are
-        visible, they are hidden, otherwise they are shown. The context menu
-        shows "Hide Elements" or "Show Elements", respectively.
-
-        When only one element is selected, or the context menu target element
-        is not selected, the command continues to be "Toggle Visibility".
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-        * UserInterface/Views/DOMTreeElement.js:
-        (WI.DOMTreeElement.prototype.get isNodeHidden): Added.
-        (WI.DOMTreeElement.prototype.toggleElementVisibility.inspectedPage_node_injectStyleAndToggleClass):
-        (WI.DOMTreeElement.prototype.toggleElementVisibility):
-        (WI.DOMTreeElement.prototype._populateTagContextMenu):
-
-        * UserInterface/Views/DOMTreeOutline.js:
-        (WI.DOMTreeOutline):
-        (WI.DOMTreeOutline.prototype.toggleSelectedElementsVisibility):  Added.
-        Provide a public method for toggling the visibility of selected DOM nodes.
-        Used by the "H" keyboard shortcut and DOMTreeElement context menu.
-
-        (WI.DOMTreeOutline.prototype._hideElements):
-        (WI.DOMTreeOutline.prototype._hideElement): Deleted.
-        Rename for multiple selection.
-
-2019-01-28  Commit Queue  <commit-queue@webkit.org>
-
-        Unreviewed, rolling out r240351.
-        https://bugs.webkit.org/show_bug.cgi?id=193918
-
-        Causes overlapping Timeline records, as some record types
-        don't have an endTime (Requested by drousso on #webkit).
-
-        Reverted changeset:
-
-        "WebInspector: Confusingly nested events in the timeline for
-        Mutation Observers"
-        https://bugs.webkit.org/show_bug.cgi?id=192884
-        https://trac.webkit.org/changeset/240351
-
-2019-01-28  Matt Baker  <mattbaker@apple.com>
-
-        REGRESSION(?): Web Inspector: Can have multiple Timelines selected after edit mode
-        https://bugs.webkit.org/show_bug.cgi?id=193808
-        <rdar://problem/47537734>
-
-        Reviewed by Devin Rousso.
-
-        * UserInterface/Controllers/SelectionController.js:
-        (WI.SelectionController.prototype.didRemoveItems):
-
-        * UserInterface/Views/TreeOutline.js:
-        (WI.TreeOutline.prototype._indexesForSubtree):
-        Fix a bug where no IndexSet was returned when passed a TreeElement with
-        no children. This caused the Timelines tree selection to be corrupted when
-        entering and exiting edit mode, as TreeElements are inserted and removed.
-
-2019-01-28  Nikita Vasilyev  <nvasilyev@apple.com>
-
-        Web Inspector: Add Changes panel to Elements tab
-        https://bugs.webkit.org/show_bug.cgi?id=193803
-
-        Reviewed by Devin Rousso.
-
-        Introduce the new experimental Changes Panel. It shows a list of CSS changes
-        made via Web Inspector, so the changes could be copied to the source files.
-
-        * Localizations/en.lproj/localizedStrings.js:
-        * UserInterface/Base/Setting.js:
-        * UserInterface/Base/Utilities.js:
-        (Array.diffArrays): Added.
-
-        * UserInterface/Controllers/CSSManager.js:
-        (WI.CSSManager):
-        (WI.CSSManager.prototype.get modifiedCSSRules):
-        (WI.CSSManager.prototype.addModifiedCSSRule):
-        (WI.CSSManager.prototype.removeModifiedCSSRule):
-        (WI.CSSManager.prototype._mainResourceDidChange):
-
-        * UserInterface/Main.html:
-        * UserInterface/Models/CSSProperty.js:
-        (WI.CSSProperty):
-        (WI.CSSProperty.prototype.remove):
-        (WI.CSSProperty.prototype.replaceWithText):
-        (WI.CSSProperty.prototype.commentOut):
-        (WI.CSSProperty.prototype.set text):
-        (WI.CSSProperty.prototype.get modified):
-        (WI.CSSProperty.prototype.set name):
-        (WI.CSSProperty.prototype.set rawValue):
-        (WI.CSSProperty.prototype.get initialState):
-        (WI.CSSProperty.prototype._updateOwnerStyleText):
-        (WI.CSSProperty.prototype._markModified):
-        Mark CSSProperty modified *before* making any changes to copy its initial state.
-
-        * UserInterface/Models/CSSRule.js:
-        (WI.CSSRule):
-        (WI.CSSRule.prototype.get id):
-        (WI.CSSRule.prototype.get initialState):
-        (WI.CSSRule.prototype.get stringId):
-        (WI.CSSRule.prototype.markModified):
-
-        * UserInterface/Models/CSSStyleDeclaration.js:
-        (WI.CSSStyleDeclaration):
-        (WI.CSSStyleDeclaration.prototype.get initialState):
-        (WI.CSSStyleDeclaration.prototype.get enabledProperties):
-        (WI.CSSStyleDeclaration.prototype.get properties):
-        (WI.CSSStyleDeclaration.prototype.set properties):
-        (WI.CSSStyleDeclaration.prototype.propertyForName):
-        (WI.CSSStyleDeclaration.prototype.newBlankProperty):
-        (WI.CSSStyleDeclaration.prototype.markModified):
-
-        * UserInterface/Views/ChangesDetailsSidebarPanel.css: Added.
-        (.sidebar > .panel.changes-panel):
-        (.sidebar > .panel.changes-panel:not(.empty)):
-        (.sidebar > .panel.changes-panel.empty):
-        (.changes-panel ins):
-        (.changes-panel del):
-        (.changes-panel del.css-property::before):
-        (.changes-panel ins.css-property::before):
-        (@media (prefers-color-scheme: dark)):
-
-        * UserInterface/Views/ChangesDetailsSidebarPanel.js: Added.
-        (WI.ChangesDetailsSidebarPanel):
-        (WI.ChangesDetailsSidebarPanel.prototype.inspect):
-        (WI.ChangesDetailsSidebarPanel.prototype.supportsDOMNode):
-        (WI.ChangesDetailsSidebarPanel.prototype.shown):
-        (WI.ChangesDetailsSidebarPanel.prototype.detached):
-        (WI.ChangesDetailsSidebarPanel.prototype.layout):
-        (WI.ChangesDetailsSidebarPanel.prototype._mainResourceDidChange):
-
-        * UserInterface/Views/ElementsTabContentView.js:
-        (WI.ElementsTabContentView):
-
-        * UserInterface/Views/SettingsTabContentView.js:
-        (WI.SettingsTabContentView.prototype._createExperimentalSettingsView):
-
-        * UserInterface/Views/SpreadsheetCSSStyleDeclarationEditor.css:
-        (.spreadsheet-style-declaration-editor .property):
-        (.spreadsheet-style-declaration-editor .property.modified):
-        (.spreadsheet-style-declaration-editor .property.modified:not(.selected)):
-        (@media (prefers-color-scheme: dark)):
-
-        * UserInterface/Views/SpreadsheetStyleProperty.js:
-        (WI.SpreadsheetStyleProperty.prototype.updateStatus):
-
-2019-01-26  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: handle CSS Color 4 color syntaxes
-        https://bugs.webkit.org/show_bug.cgi?id=193166
-        <rdar://problem/47062403>
-
-        Reviewed by Simon Fraser.
-
-        * UserInterface/Models/Color.js:
-        (WI.Color.fromString):
-        (WI.Color.fromString.splitFunctionString): Added.
-        (WI.Color.fromString.parseFunctionAlpha): Added.
-        (WI.Color.fromString.parseFunctionComponent): Added.
-        (WI.Color.fromString.parseHueComponent): Added.
-        (WI.Color.fromString.parsePercentageComponent): Added.
-
-2019-01-26  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: provide a way to edit the user agent of a remote target
-        https://bugs.webkit.org/show_bug.cgi?id=193862
-        <rdar://problem/47359292>
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Base/Main.js:
-        (WI.loaded):
-        (WI.contentLoaded):
-        (WI.initializeTarget):
-        (WI._handleDeviceSettingsToolbarButtonClicked):
-        (WI._handleDeviceSettingsToolbarButtonClicked.updateActivatedState):
-        (WI._handleDeviceSettingsToolbarButtonClicked.applyOverriddenUserAgent):
-        (WI._handleDeviceSettingsToolbarButtonClicked.applyOverriddenSetting):
-        (WI._handleDeviceSettingsToolbarButtonClicked.createContainer):
-        (WI._handleDeviceSettingsToolbarButtonClicked.createColumns):
-        (WI._handleDeviceSettingsToolbarButtonClicked.calculateTargetFrame):
-        (WI._handleDeviceSettingsToolbarButtonClicked.showUserAgentInput):
-
-        * UserInterface/Views/Main.css:
-        (.device-settings-content):
-        (.device-settings-content .user-agent-value): Added.
-        (.device-settings-content .user-agent-value > select): Added.
-        (.device-settings-content .user-agent-value > input): Added.
-        (body[dir=ltr] .device-settings-content .user-agent-value > input): Added.
-        (body[dir=rtl] .device-settings-content .user-agent-value > input): Added.
-        (.device-settings-content label > input): Added.
-        (body[dir=ltr] .device-settings-content label > input): Deleted.
-        (body[dir=rtl] .device-settings-content label > input): Deleted.
-
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-01-25  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: provide a way to edit page settings on a remote target
-        https://bugs.webkit.org/show_bug.cgi?id=193813
-        <rdar://problem/47359510>
-
-        Reviewed by Joseph Pecoraro.
-
-        Add toolbar button that shows a popover with the target's (page's) settings when clicked.
-
-        * UserInterface/Base/Main.js:
-        (WI.loaded):
-        (WI.contentLoaded):
-        (WI.initializeTarget): Added.
-        (WI._handleDeviceSettingsToolbarButtonClicked): Added.
-        (WI.didDismissPopover): Added.
-        * UserInterface/Views/Main.css:
-        (.device-settings-content): Added.
-        (.device-settings-content .columns): Added.
-        (.device-settings-content .columns > .column): Added.
-        (.device-settings-content .columns > .column + .column): Added.
-        (body[dir=ltr] .device-settings-content label > input): Added.
-        (body[dir=rtl] .device-settings-content label > input): Added.
-
-        * UserInterface/Views/Popover.js:
-        (WI.Popover.prototype._update.area):
-        (WI.Popover.prototype._update):
-        (WI.Popover.prototype._drawBackground):
-        (WI.Popover.prototype._bestMetricsForEdge):
-        (WI.Popover.prototype._drawFrame):
-        If the best area is negative, treat it as the worst area.
-        Allow areas to be clamped so long as the clamped edge is not the preferred edge.
-
-        * UserInterface/Base/Test.js:
-        (WI.initializeTarget): Added.
-
-        * UserInterface/Images/Device.svg: Added.
-        * Localizations/en.lproj/localizedStrings.js:
-
-2019-01-25  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Audit: unable to import audits
-        https://bugs.webkit.org/show_bug.cgi?id=193861
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Controllers/AuditManager.js:
-        (WI.AuditManager.prototype.async processJSON):
-
-2019-01-25  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Uncaught Exception: No node with given id found
-        https://bugs.webkit.org/show_bug.cgi?id=193833
-
-        Reviewed by Joseph Pecoraro.
-
-        * UserInterface/Views/CanvasContentView.js:
-        (WI.CanvasContentView):
-        (WI.CanvasContentView.prototype.initialLayout):
-        (WI.CanvasContentView.prototype.layout):
-        (WI.CanvasContentView.prototype._refreshPixelSize):
-        Drive-by: show the refresh button when viewing a specific canvas.
-
-        * UserInterface/Views/CanvasTabContentView.js:
-        (WI.CanvasTabContentView.prototype._removeCanvas):
-        Reset to the overview if the canvas is removed.
-
-2019-01-25  Joseph Pecoraro  <pecoraro@apple.com>
-
-        Web Inspector: Improve Dark Mode appearance within Memory timeline
-        https://bugs.webkit.org/show_bug.cgi?id=193804
-
-        Reviewed by Matt Baker.
-
-        * UserInterface/Views/TimelineOverview.css:
-        (.timeline-overview.edit-instruments > .tree-outline.timelines .item.selected):
-        (.timeline-overview > .tree-outline.timelines .item.selected + .item,):
-        (@media (prefers-color-scheme: dark)):
-        (.timeline-overview > .tree-outline.timelines .item.selected + .item): Deleted.
-        (body.window-inactive .timeline-overview > .tree-outline.timelines .item.selected + .item): Deleted.
-        Fix some colors for Timelines edit mode.
-
-        * UserInterface/Views/CPUTimelineOverviewGraph.css:
-        (.timeline-overview-graph.cpu:nth-child(even) > .legend):
-        (@media (prefers-color-scheme: dark)):
-        (.timeline-overview-graph.cpu > .legend):
-        (.timeline-overview-graph:nth-child(even) > .legend): Deleted.
-        * UserInterface/Views/MemoryTimelineOverviewGraph.css:
-        (.timeline-overview-graph.memory:nth-child(even) > .legend):
-        (@media (prefers-color-scheme: dark)):
-        (.timeline-overview-graph.memory > .legend):
-        (.timeline-overview-graph:nth-child(even) > .legend): Deleted.
-        Improved colors in CPU / Memory overview graph legends.
-
-        * UserInterface/Views/CPUUsageView.css:
-        (.cpu-usage-view > .details):
-        * UserInterface/Views/CircleChart.css:
-        (.circle-chart > svg > path.background):
-        * UserInterface/Views/MemoryCategoryView.css:
-        (.memory-category-view > .details):
-        (.memory-category-view > .details > .name):
-        * UserInterface/Views/MemoryTimelineView.css:
-        (.timeline-view.memory > .content > .overview .total-usage,):
-        (.timeline-view.memory .legend > .row > .size):
-        Improved colors in CPU / Memory detail views.
-
-        * UserInterface/Views/Variables.css:
-        (:root):
-        Add a default --text-secondary-color which will end up slightly
-        lighter in dark mode where it was already implemented.
-
-        (@media (prefers-color-scheme: dark)):
-        Improved max-comparison colors.
-
-2019-01-25  Devin Rousso  <drousso@apple.com>
-
-        Web Inspector: Timelines: DOMContentLoaded and load event lines need to be more obvious
-        https://bugs.webkit.org/show_bug.cgi?id=193186
-        <rdar://problem/45100694>
-
-        Reviewed by Joseph Pecoraro.
-
-        Shift around z-index values to make Timelines markers appear behind record bars. Widen the
-        marker hit region to make it easier to see the tooltip.
-
-        * UserInterface/Views/Variables.css:
-        (:root):
-
-        * UserInterface/Views/TimelineRuler.css:
-        (.timeline-ruler):
-        (.timeline-ruler > .markers):
-        (.timeline-ruler > .markers > .marker):
-        (body[dir=ltr] .timeline-ruler > .markers > .marker):
-        (body[dir=rtl] .timeline-ruler > .markers > .marker):
-        (.timeline-ruler > .markers > .marker::before):
-        (body[dir=ltr] .timeline-ruler > .markers > .marker::before):
-        (body[dir=rtl] .timeline-ruler > .markers > .marker::before):
-        (.timeline-ruler > .markers > .marker::after): Added.
-        (body[dir=ltr] .timeline-ruler > .markers > .marker::after): Added.
-        (body[dir=rtl] .timeline-ruler > .markers > .marker::after): Added.
-        (.timeline-ruler > .markers > .marker.current-time):
-        (.timeline-ruler > .markers > .marker.current-time::after): Added.
-        (.timeline-ruler > .markers > .marker.load-event):
-   &