REGRESSION(r236705): Web Inspector: wrong text color for selected DataGrid row
[WebKit-https.git] / Source / WebInspectorUI / ChangeLog
index 9bc54b0..c6d7d3c 100644 (file)
@@ -1,3 +1,247 @@
+2018-11-07  Nikita Vasilyev  <nvasilyev@apple.com>
+
+        REGRESSION(r236705): Web Inspector: wrong text color for selected DataGrid row
+        https://bugs.webkit.org/show_bug.cgi?id=191405
+        <rdar://problem/45893283>
+
+        Reviewed by Matt Baker.
+
+        Selection background color for both Dark Mode mode and Light Mode is dark blue.
+        The text color for both cases should be white.
+
+        * UserInterface/Views/DataGrid.css:
+        (body:not(.window-inactive, .window-docked-inactive) .data-grid:focus tr.editable.selected .cell-content > input):
+
+2018-11-07  Joseph Pecoraro  <pecoraro@apple.com>
+
+        Web Inspector: Fix "Javascript" => "JavaScript" enum in protocol generated objects
+        https://bugs.webkit.org/show_bug.cgi?id=191340
+
+        Reviewed by Devin Rousso.
+
+        * UserInterface/Models/Canvas.js:
+        (WI.Canvas.fromPayload):
+        Insert a missing break statement for the WebGPU case.
+
+        * UserInterface/Models/MemoryTimelineRecord.js:
+        (WI.MemoryTimelineRecord.memoryCategoriesFromProtocol):
+        Use new enum name.
+
+        * 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/8.0/InspectorBackendCommands.js:
+        * UserInterface/Protocol/Legacy/9.0/InspectorBackendCommands.js:
+        * UserInterface/Protocol/Legacy/9.3/InspectorBackendCommands.js:
+        Update enums with new generator.
+
+2018-11-06  Joseph Pecoraro  <pecoraro@apple.com>
+
+        REGRESSION: Web Inspector: Popovers drawing incorrectly in Network Tab (clicking between a few items)
+        https://bugs.webkit.org/show_bug.cgi?id=191323
+
+        Reviewed by Devin Rousso.
+
+        * UserInterface/Views/Popover.js:
+        (WI.Popover.prototype._drawBackground):
+        Save and restore the context state between updates. Something
+        was affecting the clearRect, making it so that it didn't actually
+        clear the entire rect each time.
+
+2018-11-05  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Audit: turn off Start button when all tests are removed
+        https://bugs.webkit.org/show_bug.cgi?id=191235
+
+        Reviewed by Matt Baker.
+
+        * UserInterface/Views/AuditNavigationSidebarPanel.js:
+        (WI.AuditNavigationSidebarPanel.prototype._handleAuditTestRemoved):
+
+2018-11-05  Matt Baker  <mattbaker@apple.com>
+
+        Web Inspector: Table selection should not require that rows be in the cache
+        https://bugs.webkit.org/show_bug.cgi?id=190993
+        <rdar://problem/45613812>
+
+        Reviewed by Devin Rousso.
+
+        Deselecting a table row shouldn't depend on it being in the cache. This
+        allows us to implement select all, and other kinds of bulk selection
+        actions that affect rows that haven't been revealed.
+
+        * UserInterface/Views/Table.js:
+        (WI.Table.prototype.deselectRow):
+
+2018-11-05  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: show save/restore stack for recorded 2D Canvases
+        https://bugs.webkit.org/show_bug.cgi?id=175283
+        <rdar://problem/34040756>
+
+        Reviewed by Matt Baker.
+
+        Instead of using plain objects for holding the `WI.Recording`'s state, use a model object
+        so that more data can be passed around. When visualizing the state, show any previously
+        saved states in a `WI.DetailsSection` underneath the current state. If there are no saved
+        states (meaning there is only the current state), don't use a `WI.DetailsSection`.
+
+        * UserInterface/Models/RecordingState.js: Added.
+        (WI.RecordingState):
+        (WI.RecordingState.fromContext):
+        (WI.RecordingState.async swizzleInitialState):
+        (WI.RecordingState.prototype.get source):
+        (WI.RecordingState.prototype.has):
+        (WI.RecordingState.prototype.get return):
+        (WI.RecordingState.prototype.toJSON):
+        (WI.RecordingState.prototype.[Symbol.iterator]):
+
+        * UserInterface/Models/Recording.js:
+        (WI.Recording.prototype.async _process):
+        (WI.Recording.prototype.async _swizzleState): Deleted.
+
+        * UserInterface/Models/RecordingAction.js:
+        (WI.RecordingAction.prototype.process):
+        (WI.RecordingAction.deriveCurrentState): Deleted.
+
+        * UserInterface/Views/RecordingContentView.js:
+        (WI.RecordingContentView.prototype._generateContentCanvas2D):
+
+        * UserInterface/Views/RecordingStateDetailsSidebarPanel.js:
+        (WI.RecordingStateDetailsSidebarPanel):
+        (WI.RecordingStateDetailsSidebarPanel.prototype.get scrollElement):
+        (WI.RecordingStateDetailsSidebarPanel.prototype.sizeDidChange): Added.
+        (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D):
+        (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D.isColorProperty): Deleted.
+        (WI.RecordingStateDetailsSidebarPanel.prototype._generateDetailsCanvas2D.createInlineSwatch): Deleted.
+        * UserInterface/Views/RecordingStateDetailsSidebarPanel.css:
+        (.sidebar > .panel.details.recording-state > .content .details-section > .header .source): Added.
+        (.sidebar > .panel.details.recording-state > .content .data-grid tr.modified): Added.
+        (.sidebar > .panel.details.recording-state > .content .data-grid tr:not(.selected).non-standard .name-column): Added.
+        (.sidebar > .panel.details.recording-state > .content .data-grid tr:not(.selected) .unavailable): Added.
+        (.sidebar > .panel.details.recording-state > .content .data-grid .inline-swatch): Added.
+        (.sidebar > .panel.details.recording-state > .content > .data-grid tr.modified): Deleted.
+        (.sidebar > .panel.details.recording-state > .content > .data-grid tr:not(.selected).non-standard): Deleted.
+        (.sidebar > .panel.details.recording-state > .content > .data-grid tr:not(.selected) .unavailable): Deleted.
+        (.sidebar > .panel.details.recording-state > .content > .data-grid .inline-swatch): Deleted.
+
+        * UserInterface/Main.html:
+        * UserInterface/Test.html:
+
+        * Localizations/en.lproj/localizedStrings.js:
+
+2018-11-03  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: Canvas: capture changes to <canvas> that would affect the recorded context
+        https://bugs.webkit.org/show_bug.cgi?id=190854
+
+        Reviewed by Matt Baker.
+
+        * UserInterface/Models/RecordingAction.js:
+        (WI.RecordingAction):
+        (WI.RecordingAction.isFunctionForType):
+        (WI.RecordingAction.constantNameForParameter):
+        (WI.RecordingAction.prototype.get contextReplacer): Added.
+        (WI.RecordingAction.prototype.async.swizzle):
+        (WI.RecordingAction.prototype.apply):
+        Create a constant list of actions for each recording type that need to replace the context
+        with a different value before being applied (e.g. `width` should be applied to the
+        `context`'s `canvas` instead of directly to the `context`).
+
+        * UserInterface/Views/RecordingContentView.js:
+        (WI.RecordingContentView.prototype._generateContentCanvas2D.actionModifiesPath): Added.
+        (WI.RecordingContentView.prototype._generateContentCanvas2D):
+        (WI.RecordingContentView._actionModifiesPath): Deleted.
+        Generate the path context after the actions are applied to the preview context so that the
+        final width/height are known and can be used. This is needed because changing the
+        width/height causes the content to be erased.
+
+        * UserInterface/Views/RecordingActionTreeElement.js:
+        (WI.RecordingActionTreeElement._generateDOM):
+        (WI.RecordingActionTreeElement._classNameForAction):
+        * UserInterface/Views/RecordingActionTreeElement.css:
+        (.tree-outline:focus .item.action.selected:not(.invalid, .initial-state, .has-context-replacer) > .icon): Added.
+        (.item.action > .titles .context-replacer::after): Added.
+        (.item.action.has-context-replacer > .icon): Added.
+        (@media (prefers-dark-interface) .item.action:not(.invalid, .initial-state, .has-context-replacer) > .icon): Added.
+        (.tree-outline:focus .item.action.selected:not(.initial-state, .invalid) > .icon): Deleted.
+        (@media (prefers-dark-interface) .item.action:not(.initial-state) > .icon): Deleted.
+        (@media (prefers-dark-interface) .tree-outline:not(.hide-disclosure-buttons) .item.action:not(.initial-state, .parent) > .icon): Deleted.
+        Add the context replacer text to the beginning of the action's name if it exists.
+
+        * UserInterface/Views/CanvasContentView.js:
+        (WI.CanvasContentView.prototype._refreshPixelSize):
+        (WI.CanvasContentView.prototype._updatePixelSize): Deleted.
+        Update preview image when the canvas' size changes.
+
+2018-11-02  Matt Baker  <mattbaker@apple.com>
+
+        Web Inspector: support multiple selection/deletion of cookie records
+        https://bugs.webkit.org/show_bug.cgi?id=66381
+        <rdar://problem/19281525>
+
+        Reviewed by Devin Rousso.
+
+        * Localizations/en.lproj/localizedStrings.js:
+
+        * UserInterface/Views/CookieStorageContentView.js:
+        (WI.CookieStorageContentView):
+        (WI.CookieStorageContentView.prototype.get scrollableElements):
+        (WI.CookieStorageContentView.prototype.tableNumberOfRows):
+        (WI.CookieStorageContentView.prototype.tableSortChanged):
+        (WI.CookieStorageContentView.prototype.tableCellContextMenuClicked):
+        (WI.CookieStorageContentView.prototype.tableDidRemoveRows):
+        (WI.CookieStorageContentView.prototype.tablePopulateCell):
+        (WI.CookieStorageContentView.prototype.initialLayout):
+        (WI.CookieStorageContentView.prototype._generateSortComparator):
+        (WI.CookieStorageContentView.prototype._refreshButtonClicked):
+        (WI.CookieStorageContentView.prototype._reloadCookies):
+        (WI.CookieStorageContentView.prototype._updateSort):
+        (WI.CookieStorageContentView.prototype._handleTableKeyDown):
+        (WI.CookieStorageContentView.prototype.update): Deleted.
+        (WI.CookieStorageContentView.prototype._rebuildTable): Deleted.
+        (WI.CookieStorageContentView.prototype._sortDataGrid.localeCompare): Deleted.
+        (WI.CookieStorageContentView.prototype._sortDataGrid.numberCompare): Deleted.
+        (WI.CookieStorageContentView.prototype._sortDataGrid.expiresCompare): Deleted.
+        (WI.CookieStorageContentView.prototype._sortDataGrid): Deleted.
+        (WI.CookieStorageContentView.prototype._deleteCallback): Deleted.
+        Replace DataGrid with Table. The content view serves as the table
+        delegate and data source, and handles delete and backspace key events
+        to allow deleting the selected cookies. Cookies may also be deleted from
+        the table context menu and a new button in the navigation bar.
+
+        * UserInterface/Views/Table.js:
+        (WI.Table.prototype.isRowSelected):
+        (WI.Table.prototype.selectRow):
+        (WI.Table.prototype.deselectRow):
+        (WI.Table.prototype.removeRow):
+        (WI.Table.prototype._getOrCreateRow):
+        (WI.Table.prototype._handleMouseDown):
+        (WI.Table.prototype._removeRows):
+        (WI.Table.prototype._isRowSelected): Deleted.
+        Make `isSelectedRow` public. It is more convenient and efficient than
+        calling `Table.prototype.selectedRows.includes(rowIndex)`.
+
+2018-11-01  Devin Rousso  <drousso@apple.com>
+
+        Web Inspector: View: introduce a didLayoutSubtree
+        https://bugs.webkit.org/show_bug.cgi?id=191176
+
+        Reviewed by Matt Baker.
+
+        Introduce logic to allow subclasses of `WI.View` to perform logic after every `WI.View` in
+        their subtree has finished `layout`.
+
+        * UserInterface/Views/View.js:
+        (WI.View.prototype.didLayoutSubtree): Added.
+        (WI.View.prototype._layoutSubtree):
+
+        * UserInterface/Views/NetworkTableContentView.js:
+        (WI.NetworkTableContentView.prototype.layout):
+        (WI.NetworkTableContentView.prototype.didLayoutSubtree): Added.
+
 2018-11-01  Devin Rousso  <drousso@apple.com>
 
         Web Inspector: Network: remove unnecessary media event tracking