⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Feb 2, 2020:

8:55 PM Changeset in webkit [255554] by Wenson Hsieh
  • 3 edits in trunk/LayoutTests

editing/input/composition-highlights.html fails on open source Mojave bots
https://bugs.webkit.org/show_bug.cgi?id=207107

Reviewed by Tim Horton.

This test currently fails consistently on non-internal macOS Mojave bots; for some reason, the width of the
colon character glyph in Times font is 8.4px instead of 4.4px when using CTRunGetAdvancesPtr, causing the
composition highlights to be shifted right 4px and making the ref comparison fail.

Debugging shows that only in macOS Mojave, the CoreText framework adjusts the width of the colon glyph by 4px
in TStorageRange::SetAdvance. This has since been fixed in Catalina, so just work around this for the time being
by changing the editable text from "Test: " to just "Test ".

  • editing/input/composition-highlights-expected.html:
  • editing/input/composition-highlights.html:
8:26 PM Changeset in webkit [255553] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Update style checker with new locations OS version checks are allowed
https://bugs.webkit.org/show_bug.cgi?id=207106

Patch by Sam Weinig <weinig@apple.com> on 2020-02-02
Reviewed by Alexey Proskuryakov.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_os_version_checks):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(WebKitStyleTest.test_os_version_checks):
Update path check to allow anything with the pattern "Source/WTF/wtf/Platform[a-zA-Z]+\.h"

3:18 PM Changeset in webkit [255552] by commit-queue@webkit.org
  • 4 edits in trunk

ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key) on animations/keyframe-autoclose-brace.html
https://bugs.webkit.org/show_bug.cgi?id=207071
<rdar://problem/59076249>

Patch by Antoine Quint <Antoine Quint> on 2020-02-02
Reviewed by Dean Jackson.

Source/WebCore:

We cannot add CSSPropertyInvalid to a HashSet<CSSPropertyID>, because it triggers an ASSERT, and also we shouldn't
because we wouldn't know how to animate that CSS property.

  • animation/AnimationTimeline.cpp:

(WebCore::compileTransitionPropertiesInStyle):

LayoutTests:

The crash is fixed, we can start running the test as expected again.

  • platform/ipad/TestExpectations:
1:03 PM Changeset in webkit [255551] by Kocsen Chung
  • 1 copy in tags/Safari-610.1.1.3

Tag Safari-610.1.1.3.

8:51 AM Changeset in webkit [255550] by commit-queue@webkit.org
  • 2 edits in trunk

[CMake] Use opj_config.h to find OpenJPEG include directory
https://bugs.webkit.org/show_bug.cgi?id=207100

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2020-02-02
Reviewed by Konstantin Tokarev.

WebKit needs OpenJPEG 2.2.0 or later versions, but it is possible for a
system to have both OpenJPEG 1 and OpenJPEG 2 installed. However, some
distributions do not put OpenJPEG 1 under a versioned directory and
put its header file directly under /usr/include or /usr/local/include.
Since CMake prefers its prefixes to paths given in HINTS, it is possible
that openjpeg.h from OpenJPEG 1 is found before the one from OpenJPEG 2,
causing WebKit to fail to build because of using the wrong header file.

Resolve the problem by checking opj_config.h instead of openjpeg.h.
OpenJPEG 1.5 does not have opj_config.h, so only OpenJPEG 2 can be
found. This also makes it consistent with the code below which already
uses opj_config.h.

  • Source/cmake/FindOpenJPEG.cmake:
2:20 AM Changeset in webkit [255549] by commit-queue@webkit.org
  • 3 edits
    1 copy
    21 adds
    1 delete in trunk/LayoutTests/imported/w3c

Import WPT tests to verify pings do not send a referrer header
https://bugs.webkit.org/show_bug.cgi?id=207090

Patch by Rob Buis <rbuis@igalia.com> on 2020-02-02
Reviewed by Darin Adler.

Import WPT tests to verify pings do not send a referrer header.

  • resources/import-expectations.json:
  • web-platform-tests/html/semantics/links/downloading-resources/contains.json: Removed.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer-expected.txt: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer-no-referrer-expected.txt: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer-no-referrer-when-downgrade-expected.txt: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer-no-referrer-when-downgrade.html: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer-no-referrer.html: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer-origin-expected.txt: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer-origin-when-cross-origin-expected.txt: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer-origin-when-cross-origin.html: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer-origin.html: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer-same-origin-expected.txt: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer-same-origin.html: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer-strict-origin-expected.txt: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer-strict-origin-when-cross-origin-expected.txt: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer-strict-origin-when-cross-origin.html: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer-strict-origin.html: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer-unsafe-url-expected.txt: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer-unsafe-url.html: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer.html: Added.
  • web-platform-tests/html/semantics/links/downloading-resources/header-referrer.js: Added.

(testReferrerHeader):
(pollResult.return.new.Promise.):
(pollResult.return.new.Promise):

  • web-platform-tests/html/semantics/links/downloading-resources/resources/inspect-header.py: Added.

(main):

  • web-platform-tests/html/semantics/links/downloading-resources/resources/w3c-import.log: Copied from LayoutTests/imported/w3c/web-platform-tests/html/semantics/links/downloading-resources/w3c-import.log.
  • web-platform-tests/html/semantics/links/downloading-resources/w3c-import.log:

Feb 1, 2020:

7:57 PM Changeset in webkit [255548] by commit-queue@webkit.org
  • 6 edits in trunk/Source

Silence compiler warnings
https://bugs.webkit.org/show_bug.cgi?id=207015

Patch by Michael Catanzaro <Michael Catanzaro> on 2020-02-01
Reviewed by Darin Adler.

Source/WebCore:

  • accessibility/AXObjectCache.cpp:

(WebCore::characterForCharacterOffset): Use IGNORE_CLANG_WARNINGS macros to avoid
warnings when using GCC. GCC freaks out when it doesn't recognize a warning passed to
IGNORE_WARNINGS_BEGIN().

  • inspector/InspectorCanvas.cpp:

(WebCore::InspectorCanvas::buildObjectForCanvas): Fix -Wredundant-move

  • platform/PasteboardItemInfo.h: Fix -Wredundant-move

(WebCore::PresentationSize::decode):
(WebCore::PasteboardItemInfo::decode):

Source/WebKit:

Use UNUSED_VARIABLE() for variable that is only used inside RELEASE_LOG(), which is
Apple-specific.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didFailLoading):

7:40 PM Changeset in webkit [255547] by Devin Rousso
  • 73 edits
    1 add
    23 deletes in trunk/Source

Web Inspector: move the items in the toolbar into the tab bar to save vertical space
https://bugs.webkit.org/show_bug.cgi?id=204627

Reviewed by Timothy Hatcher.

Source/WebCore:

Now that there is no toolbar area, there is nothing obstructing the ability for the window
to be moved around when dragging via the title bar area. As such, we can remove the unused
InspectorFrontendHost APIs.

  • inspector/InspectorFrontendHost.idl:
  • inspector/InspectorFrontendHost.h:
  • inspector/InspectorFrontendHost.cpp:

(WebCore::InspectorFrontendHost::startWindowDrag): Deleted.
(WebCore::InspectorFrontendHost::moveWindowBy const): Deleted.

  • inspector/InspectorFrontendClient.h:
  • inspector/InspectorFrontendClientLocal.h:
  • inspector/InspectorFrontendClientLocal.cpp:

(WebCore::InspectorFrontendClientLocal::moveWindowBy): Deleted.

Source/WebInspectorUI:

Merge the toolbar are and tab bar to waste less vertical space.

The inspect, download, reload, and device settings buttons are pinned before the tabs.

If there are any console warnings/errors, an icon for each type of message is shown between
the left buttons and the tabs, and each button's opacity is animated whenever a new message
is added.

Whenever the debugger pauses, change the tab bar icon of the Sources Tab to an image that

includes paused iconography (
) to help convey the debugger's state no matter which tab is

currently selected, just like the debugger dashboard.

The docking configuration, debug, and close buttons are pinned after the tabs.

The dashboard network information has been moved to the Network Tab (described below).

When undocked, the tab bar and all the content below it are pushed down by 22px to make room
for the system close/minimize/maximize buttons and the window title.

  • UserInterface/Base/Main.js:

(WI.loaded):
(WI._handleSettingsKeyboardShortcut):
(WI._tryToRestorePendingTabs):
(WI.isNewTabWithTypeAllowed):
(WI._openDefaultTab): Deleted.
(WI.showNewTabTab): Deleted.

  • UserInterface/Views/Main.css:

(#undocked-title-area): Added.
(body.docked #undocked-title-area): Added.
(body.window-inactive #undocked-title-area): Added.
(#main):
(@keyframes tab-bar-console-item-pulse): Added.
(.tab-bar > .navigation-bar :matches(.console-warnings, .console-errors):not(.disabled).pulsing): Added.
(@media (prefers-color-scheme: dark) #undocked-title-area): Added.
(@media (prefers-color-scheme: dark) body.window-inactive #undocked-title-area): Added.
(body.docked.bottom): Deleted.
(body.docked.bottom #toolbar): Deleted.
(body.docked.bottom #toolbar .item:not(.flexible-space)): Deleted.

  • UserInterface/Views/TabBar.js:

(WI.TabBar):
(WI.TabBar.prototype.addNavigationItemBefore): Added.
(WI.TabBar.prototype.addNavigationItemAfter): Added.
(WI.TabBar.prototype.insertTabBarItem):
(WI.TabBar.prototype.insertTabBarItem.animateTabs):
(WI.TabBar.prototype.insertTabBarItem.removeStyles):
(WI.TabBar.prototype.removeTabBarItem):
(WI.TabBar.prototype.removeTabBarItem.animateTabs):
(WI.TabBar.prototype.removeTabBarItem.removeStyles):
(WI.TabBar.prototype.set selectedTabBarItem):
(WI.TabBar.prototype.get tabCount): Added.
(WI.TabBar.prototype.layout):
(WI.TabBar.prototype.didLayoutSubtree): Added.
(WI.TabBar.prototype._recordTabBarItemSizesAndPositions):
(WI.TabBar.prototype._finishExpandingTabsAfterClose):
(WI.TabBar.prototype._finishExpandingTabsAfterClose.animateTabs):
(WI.TabBar.prototype._finishExpandingTabsAfterClose.removeStyles):
(WI.TabBar.prototype._handleClick):
(WI.TabBar.prototype._handleMouseMoved):
(WI.TabBar.prototype._handleMouseUp):
(WI.TabBar.prototype._handleMouseLeave):
(WI.TabBar.prototype._handleContextMenu):
(WI.TabBar.prototype.get saveableTabCount): Deleted.
(WI.TabBar.layout.forceItemHidden): Deleted.

  • UserInterface/Views/TabBar.css:

(.tab-bar):
(body:matches(.window-inactive, .window-docked-inactive) .tab-bar): Added.
(.tab-bar > .border): Added.
(.tab-bar > .border.top): Added.
(.tab-bar > .border.bottom): Added.
(body.docked.bottom .tab-bar > .border.top): Added.
(body:matches(.window-inactive, .window-docked-inactive) .tab-bar > .border): Added.
(@media (-webkit-max-device-pixel-ratio: 1) body.docked:matches(.right, .left):not(.window-docked-inactive) .tab-bar > .border.top): Added.
(@media (-webkit-min-device-pixel-ratio: 2) body.docked:matches(.right, .left):not(.window-docked-inactive) .tab-bar > .border.top): Added.
(.tab-bar > .tabs > .item):
(.tab-bar > .tabs > .item:not(.disabled).selected):
(.tab-bar > .tabs:not(.animating) > .item:not(.selected, .disabled):hover):
(body:matches(.window-inactive, .window-docked-inactive) .tab-bar > .tabs > .item):
(.tab-bar > .navigation-bar): Added.
(.tab-bar > .navigation-bar > .item.group > .item): Added.
(.tab-bar > .navigation-bar > .item.group > .item:nth-child(1 of :not(.hidden))): Added.
(.tab-bar > .navigation-bar > .item.group > .item:nth-last-child(1 of :not(.hidden))): Added.
(.tab-bar > .navigation-bar .item.divider): Added.
(body:matches(.window-inactive, .window-docked-inactive) .tab-bar > .navigation-bar > .item.divider): Added.
(.tab-bar > .tabs): Added.
(body:matches(.window-inactive, .window-docked-inactive) .tab-bar > .tabs > .item): Added.
(.tab-bar > .tabs.dragging-tab > .item.selected, .tab-bar > .tabs.static-layout:not(.animating.inserting-tab):not(.dragging-tab) > .item:nth-last-child(1 of :not(.pinned)), .tab-bar > .tabs.animating.closing-tab > .item.selected): Added.
(body:matches(.window-inactive, .window-docked-inactive) .tab-bar > .tabs.dragging-tab > .item.selected, body:matches(.window-inactive, .window-docked-inactive) .tab-bar > .tabs.static-layout:not(.animating.inserting-tab):not(.dragging-tab) > .item:nth-last-child(1 of :not(.pinned)), body:matches(.window-inactive, .window-docked-inactive) .tab-bar > .tabs.animating.closing-tab > .item.selected): Added.
(@media (prefers-color-scheme: dark) body.docked.bottom .tab-bar > .border.top): Added.
(@media (prefers-color-scheme: dark) .tab-bar > .tabs > .item:not(.disabled).selected):
(body:not(.window-inactive) .tab-bar.single-tab > .item.default-tab:hover > .close): Deleted.
(.tab-bar.single-tab > .item.default-tab > .close): Deleted.
(body[dir=ltr].window-inactive .tab-bar > .item): Deleted.
(body[dir=rtl].window-inactive .tab-bar > .item): Deleted.
NOTE: elided renaming CSS changes.

  • UserInterface/Views/NetworkTableContentView.js:

(WI.NetworkTableContentView):
(WI.NetworkTableContentView.prototype.reset):
(WI.NetworkTableContentView.prototype.tablePopulateCell):
(WI.NetworkTableContentView.prototype._changeCollection):
(WI.NetworkTableContentView.prototype.initialLayout):
(WI.NetworkTableContentView.prototype.processHAR):
(WI.NetworkTableContentView.prototype._processPendingEntries):
(WI.NetworkTableContentView.prototype._updateEntryForResource):
(WI.NetworkTableContentView.prototype._mainResourceDidChange):
(WI.NetworkTableContentView.prototype._handleResourceSizeDidChange): Added.
(WI.NetworkTableContentView.prototype._resourceTransferSizeDidChange):
(WI.NetworkTableContentView.prototype._handleResourceAdded):
(WI.NetworkTableContentView.prototype._handleFrameWasAdded):
(WI.NetworkTableContentView.prototype._entryForResource):
(WI.NetworkTableContentView.prototype._updateStatistics): Added.
(WI.NetworkTableContentView.prototype._updateStatistic): Added.
(WI.NetworkTableContentView.prototype._startUpdatingLoadTimeStatistic): Added.
(WI.NetworkTableContentView.prototype._stopUpdatingLoadTimeStatistic): Added.
(WI.NetworkTableContentView.prototype._updateLoadTimeStatistic): Added.

  • UserInterface/Views/NetworkTableContentView.css:

(.network-table > .statistics): Added.
(.network-table > .statistics > .statistic): Added.
(.network-table > .statistics > .statistic[hidden]): Added.
(.network-table > .statistics > .statistic > .icon): Added.
(.network-table > .statistics > .statistic > .text): Added.
(@media (prefers-color-scheme: dark) .network-table > .statistics > .statistic.domain-count > .icon): Added.
Add a fixed row below the network table that contains statistics information based on the
current shown collection (e.g. live data vs HAR):

  • number of domains
  • number of resources
  • total resource size
  • total transfer size
  • number of redirects
  • time to load

Slightly dim entries for previous sessions if Preserve Log is checked, since the statistics
data is calculated from the current session.
NOTE: elided renaming CSS changes.

  • UserInterface/Views/TabBrowser.js:

(WI.TabBrowser.prototype.addTabForContentView):
(WI.TabBrowser.prototype.closeTabForContentView):
(WI.TabBrowser.prototype._tabBarItemSelected):
(WI.TabBrowser.prototype._tabBarItemRemoved):

  • UserInterface/Views/TabContentView.js:

(WI.TabContentView.shouldPinTab): Added.

  • UserInterface/Views/AuditTabContentView.js:

(WI.AuditTabContentView):
(WI.AuditTabContentView.tabInfo):

  • UserInterface/Views/CanvasTabContentView.js:

(WI.CanvasTabContentView):
(WI.CanvasTabContentView.tabInfo):

  • UserInterface/Views/ConsoleTabContentView.js:

(WI.ConsoleTabContentView):
(WI.ConsoleTabContentView.tabInfo):

  • UserInterface/Views/ContentBrowserTabContentView.js:

(WI.ContentBrowserTabContentView):

  • UserInterface/Views/ElementsTabContentView.js:

(WI.ElementsTabContentView):
(WI.ElementsTabContentView.tabInfo):

  • UserInterface/Views/LayersTabContentView.js:

(WI.LayersTabContentView):
(WI.LayersTabContentView.tabInfo):

  • UserInterface/Views/NetworkTabContentView.js:

(WI.NetworkTabContentView):
(WI.NetworkTabContentView.tabInfo):

  • UserInterface/Views/SearchTabContentView.js:

(WI.SearchTabContentView):
(WI.SearchTabContentView.tabInfo):
(WI.SearchTabContentView.shouldPinTab): Added.
(WI.SearchTabContentView.shouldSaveTab): Added.

  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView):
(WI.SettingsTabContentView.tabInfo):
(WI.SettingsTabContentView.shouldPinTab): Added.
(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

  • UserInterface/Views/SourcesTabContentView.js:

(WI.SourcesTabContentView):
(WI.SourcesTabContentView.tabInfo):
(WI.SourcesTabContentView.prototype._handleDebuggerPaused): Added.
(WI.SourcesTabContentView.prototype._handleDebuggerResumed): Added.

  • UserInterface/Views/StorageTabContentView.js:

(WI.StorageTabContentView):
(WI.StorageTabContentView.tabInfo):

  • UserInterface/Views/TimelineTabContentView.js:

(WI.TimelineTabContentView):
(WI.TimelineTabContentView.tabInfo):

  • UserInterface/Views/TabBarItem.js:

(WI.TabBarItem):
(WI.TabBarItem.prototype.get element):
(WI.TabBarItem.prototype.get representedObject):
(WI.TabBarItem.prototype.set disabled):
(WI.TabBarItem.prototype.get hidden): Added.
(WI.TabBarItem.prototype.set hidden): Added.
(WI.TabBarItem.prototype.set representedObject): Deleted.
(WI.TabBarItem.prototype.get isDefaultTab): Deleted.
(WI.TabBarItem.prototype.set isDefaultTab): Deleted.

  • UserInterface/Views/GeneralTabBarItem.js:

(WI.GeneralTabBarItem.fromTabContentView): Added.
(WI.GeneralTabBarItem.fromTabInfo): Deleted.

  • UserInterface/Views/PinnedTabBarItem.js:

(WI.PinnedTabBarItem):
(WI.PinnedTabBarItem.fromTabContentView): Added.
(WI.PinnedTabBarItem.titleDidChange):
(WI.PinnedTabBarItem.fromTabInfo): Deleted.
(WI.PinnedTabBarItem.prototype.titleDidChange): Deleted.
(WI.PinnedTabBarItem.prototype._handleContextMenuEvent): Deleted.
Simplify how tab bar items are created.

  • UserInterface/Views/NavigationBar.js:

(WI.NavigationBar.prototype.get sizesToFit):
(WI.NavigationBar.prototype.addNavigationItem):
(WI.NavigationBar.prototype.insertNavigationItem):

  • UserInterface/Views/SizesToFitNavigationBar.js: Removed.
  • UserInterface/Views/Sidebar.js:

(WI.Sidebar):
Support marking sizesToFit during construction, instead of having to make a subclass.

  • UserInterface/Views/ButtonNavigationItem.js:

(WI.ButtonNavigationItem):
(WI.ButtonNavigationItem.prototype.get imageType): Added.
(WI.ButtonNavigationItem.prototype.set imageType): Added.
(WI.ButtonNavigationItem.prototype._update):

  • UserInterface/Views/ButtonNavigationItem.css:

(.tab-bar > .navigation-bar .item.button.image-and-text > span): Added.
(.navigation-bar .item.button > img): Added.
(.navigation-bar .item.button.disabled > img): Added.
(body:matches(.window-inactive, .window-docked-inactive) .navigation-bar .item.button > img): Added.
(body:matches(.window-inactive, .window-docked-inactive) .navigation-bar .item.button.disabled > img): Added.
(@media (prefers-color-scheme: dark) .navigation-bar .item.button.disabled > img): Added.
Allow WI.ButtonNavigationItem to use an <img> instead of an <svg> for it's image. This
is to work around a compositing bug <https://webkit.org/b/207022>.

  • UserInterface/Views/GroupNavigationItem.js:

(WI.GroupNavigationItem.prototype.get hidden): Added.
(WI.GroupNavigationItem.prototype.set hidden): Added.
(WI.GroupNavigationItem.prototype.get additionalClassNames): Added.
Add a special case where this item is considered hidden if all sub-items are also hidden.

  • UserInterface/Views/Variables.css:

(:root):
(body:matches(.window-inactive, .window-docked-inactive)): Added.
(body:matches(.window-inactive, .window-docked-inactive) *): Added.
(body:not(.docked)): Added.
(@media (prefers-color-scheme: dark) :root):
(@media (prefers-color-scheme: dark) body:matches(.window-inactive, .window-docked-inactive)): Added.
(@media (prefers-color-scheme: dark) body:matches(.window-inactive, .window-docked-inactive) *): Added.
(body.window-inactive): Deleted.
(body.window-inactive *): Deleted.
(@media (prefers-color-scheme: dark) body.window-inactive): Deleted.
(@media (prefers-color-scheme: dark) body.window-inactive *): Deleted.
Replace --toolbar-height with --undocked-title-area-height, which is set when docked.

  • UserInterface/Views/DividerNavigationItem.css:

(.navigation-bar .item.divider):
(@media (prefers-color-scheme: dark)):
Simplify the CSS in order to better support being used in the tab bar.

  • UserInterface/Views/FlexibleSpaceNavigationItem.css:

(.navigation-bar .item.flexible-space):
(.navigation-bar .item.flexible-space.align-start > .item):
(.navigation-bar .item.flexible-space.align-end > .item):
(:matches(.navigation-bar, .toolbar) .item.flexible-space): Deleted.
(:matches(.navigation-bar, .toolbar) .item.flexible-space.align-start > .item): Deleted.
(:matches(.navigation-bar, .toolbar) .item.flexible-space.align-end > .item): Deleted.
Remove toolbar styles.

  • UserInterface/Controllers/ConsoleManager.js:

(WI.ConsoleManager):
(WI.ConsoleManager.prototype.get warningCount): Added.
(WI.ConsoleManager.prototype.get errorCount): Added.
(WI.ConsoleManager.prototype.messageWasAdded):
(WI.ConsoleManager.prototype.messagesCleared):
(WI.ConsoleManager.prototype.messageRepeatCountUpdated):
(WI.ConsoleManager.prototype._incrementMessageLevelCount): Added.
(WI.ConsoleManager.prototype._delayedMessagesCleared):
Keep track of the count of warnings and errors so that they can be used to determine when to
show Console button navigation items in the tab bar.

  • UserInterface/Views/DOMTreeContentView.css:

(body:not(.window-inactive, .window-docked-inactive) .content-view.dom-tree .tree-outline.dom:focus li:matches(.selected, .hovered) .status-image.breakpoint): Added.
(body:not(.window-inactive, .window-docked-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, .hovered) .status-image.breakpoint): Deleted.
(body:not(.window-inactive) .content-view.dom-tree .tree-outline.dom:focus li:matches(.selected, .hovered) .status-image.breakpoint.subtree): Deleted.

  • UserInterface/Views/RenderingFrameTimelineOverviewGraph.css:

(body:matches(.window-inactive, .window-docked-inactive) .timeline-overview-graph.rendering-frame > .frame-marker): Added.
(body.window-inactive .timeline-overview-graph.rendering-frame > .frame-marker): Deleted.

  • UserInterface/Views/TimelineOverview.css:

(.timeline-overview > .tree-outline.timelines .item.selected + .item, body:matches(.window-inactive, .window-docked-inactive) .timeline-overview > .tree-outline.timelines .item.selected + .item): Added.
(@media (prefers-color-scheme: dark) .timeline-overview > .tree-outline.timelines .item.selected + .item, body:matches(.window-inactive, .window-docked-inactive) .timeline-overview > .tree-outline.timelines .item.selected + .item): Added.
(.timeline-overview > .tree-outline.timelines .item.selected + .item, body.window-inactive .timeline-overview > .tree-outline.timelines .item.selected + .item): Deleted.
(@media (prefers-color-scheme: dark) .timeline-overview > .tree-outline.timelines .item.selected + .item, body.window-inactive .timeline-overview > .tree-outline.timelines .item.selected + .item): Deleted.

  • UserInterface/Views/TimelineRecordFrame.css:

(body:matches(.window-inactive, .window-docked-inactive) .timeline-record-frame.selected): Added.
(body.window-inactive .timeline-record-frame.selected): Deleted.

  • UserInterface/Views/TimelineRuler.css:

(body:matches(.window-inactive, .window-docked-inactive) .timeline-ruler > .header > .divider): Added.
(body.window-inactive .timeline-ruler > .header > .divider): Deleted.
Add selectors for .window-docked-inactive everywhere that .window-inactive exists.

  • UserInterface/Base/Setting.js:

Remove new tab bar experimental setting.

  • UserInterface/Debug/Bootstrap.js:

(WI.runBootstrapOperations):
(WI.runBootstrapOperations.applyDumpMessagesState):
(WI.runBootstrapOperations.updateDebugUI):

  • UserInterface/Images/Origin.svg:

Add id="root" so this can be used with WI.ImageUtilities.useSVGSymbol.

  • UserInterface/Main.html:
  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Views/ActivateButtonToolbarItem.js: Removed.
  • UserInterface/Views/ButtonToolbarItem.js: Removed.
  • UserInterface/Views/ButtonToolbarItem.css: Removed.
  • UserInterface/Views/ControlToolbarItem.js: Removed.
  • UserInterface/Views/ControlToolbarItem.css: Removed.
  • UserInterface/Views/Toolbar.js: Removed.
  • UserInterface/Views/Toolbar.css: Removed.

Remove toolbar related code now that it has been merged into the tab bar.

  • UserInterface/Models/DebuggerDashboard.js: Removed.
  • UserInterface/Models/DefaultDashboard.js: Removed.
  • UserInterface/Views/DashboardContainerView.js: Removed.
  • UserInterface/Views/DashboardContainerView.css: Removed.
  • UserInterface/Views/DashboardView.js: Removed.
  • UserInterface/Views/DebuggerDashboardView.js: Removed.
  • UserInterface/Views/DebuggerDashboardView.css: Removed.
  • UserInterface/Views/DefaultDashboardView.js: Removed.
  • UserInterface/Views/DefaultDashboardView.css: Removed.

Remove dashboard related code now that it has been merged into the tab bar.

  • UserInterface/Views/LegacyTabBar.js: Removed.
  • UserInterface/Views/NewTabContentView.js: Removed.
  • UserInterface/Views/NewTabContentView.css: Removed.
  • UserInterface/Images/NewTab.svg: Removed.
  • UserInterface/Images/NewTabPlus.svg: Removed.
  • UserInterface/Images/SearchResults.svg: Removed.

Remove the lebacy tab bar in favor of the new tab bar.

Source/WebKit:

Now that there is no toolbar area, there is nothing obstructing the ability for the window
to be moved around when dragging via the title bar area. As such, we can remove the unused
InspectorFrontendHost APIs.

  • WebProcess/Inspector/WebInspectorUI.h:
  • WebProcess/Inspector/WebInspectorUI.cpp:

(WebKit::WebInspectorUI::startWindowDrag): Deleted.
(WebKit::WebInspectorUI::moveWindowBy): Deleted.

  • UIProcess/Inspector/WebInspectorProxy.messages.in:
  • UIProcess/Inspector/WebInspectorProxy.h:
  • UIProcess/Inspector/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::startWindowDrag): Deleted.
(WebKit::WebInspectorProxy::platformStartWindowDrag): Deleted.

  • UIProcess/Inspector/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::platformStartWindowDrag): Deleted.

  • UIProcess/Inspector/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformStartWindowDrag): Deleted.

  • UIProcess/Inspector/win/WebInspectorProxyWin.cpp:

(WebKit::WebInspectorProxy::platformStartWindowDrag): Deleted.

  • UIProcess/Inspector/wpe/WebInspectorProxyWPE.cpp:

(WebKit::WebInspectorProxy::platformStartWindowDrag): Deleted.

  • WebProcess/Inspector/RemoteWebInspectorUI.h:
  • WebProcess/Inspector/RemoteWebInspectorUI.cpp:

(WebKit::RemoteWebInspectorUI::startWindowDrag): Deleted.
(WebKit::RemoteWebInspectorUI::moveWindowBy): Deleted.

  • UIProcess/Inspector/RemoteWebInspectorProxy.messages.in:
  • UIProcess/Inspector/RemoteWebInspectorProxy.cpp:
  • UIProcess/Inspector/RemoteWebInspectorProxy.h:

(WebKit::RemoteWebInspectorProxy::startWindowDrag): Deleted.
(WebKit::RemoteWebInspectorProxy::platformStartWindowDrag): Deleted.

  • UIProcess/Inspector/gtk/RemoteWebInspectorProxyGtk.cpp:

(WebKit::RemoteWebInspectorProxy::platformStartWindowDrag): Deleted.

  • UIProcess/Inspector/mac/RemoteWebInspectorProxyMac.mm:

(WebKit::RemoteWebInspectorProxy::platformStartWindowDrag): Deleted.

  • UIProcess/Inspector/win/RemoteWebInspectorProxyWin.cpp:

(WebKit::RemoteWebInspectorProxy::platformStartWindowDrag): Deleted.

Source/WebKitLegacy/ios:

Now that there is no toolbar area, there is nothing obstructing the ability for the window
to be moved around when dragging via the title bar area. As such, we can remove the unused
InspectorFrontendHost APIs.

  • WebCoreSupport/WebInspectorClientIOS.mm:

(WebInspectorFrontendClient::startWindowDrag): Deleted.

Source/WebKitLegacy/mac:

Now that there is no toolbar area, there is nothing obstructing the ability for the window
to be moved around when dragging via the title bar area. As such, we can remove the unused
InspectorFrontendHost APIs.

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorFrontendClient::startWindowDrag): Deleted.

7:35 PM Changeset in webkit [255546] by Kocsen Chung
  • 8 edits in branches/safari-610.1.1-branch/Source

Versioning.

4:56 PM Changeset in webkit [255545] by Wenson Hsieh
  • 6 edits in trunk/LayoutTests

fast/events/touch/ios/long-press-on-link.html consistently times out after r254699
https://bugs.webkit.org/show_bug.cgi?id=207095

Reviewed by Darin Adler.

After <https://trac.webkit.org/r254699>, tests that end without causing presented view controllers to dismiss
will always cause the subsequent test to time out. This happens all the time with the layout test
fast/events/touch/ios/long-press-on-link.html, which runs after fast/events/touch/ios/long-press-on-image.html;
both of these tests long press previewable elements to present a context menu, but don't attempt to dismiss
these previews.

Address this by tapping at the web view's origin after ending the long press gesture, which causes the preview
view controllers that were presented by the test to dismiss.

  • fast/events/touch/ios/long-press-on-image-expected.txt:
  • fast/events/touch/ios/long-press-on-image.html:
  • fast/events/touch/ios/long-press-on-link-expected.txt:
  • fast/events/touch/ios/long-press-on-link.html:

Modernize these layout tests by adopting helper methods for driving interaction (instead of directly using
testRunner.runUIScript). Also, use the testing helpers in js-test.js, and add descriptions to each test.

  • resources/ui-helper.js:

(window.UIHelper.longPressAndGetContextMenuContentAt.return.new.Promise):
(window.UIHelper.longPressAndGetContextMenuContentAt):

Make this resolve the promise to a parsed JSON object instead of a JSON string. Currently, the result is a JSON
string that is parsed at each call site.

4:20 PM Changeset in webkit [255544] by Alexey Shvayka
  • 9 edits in trunk

Non-alphabetical \c escapes should be syntax errors in Unicode patterns only
https://bugs.webkit.org/show_bug.cgi?id=207091

Reviewed by Darin Adler.

JSTests:

  • test262/expectations.yaml: Mark 4 test cases as passing.

Source/JavaScriptCore:

This change adds SyntaxError for non-alphabetical and identity \c escapes
in Unicode patterns, aligning JSC with V8 and SpiderMonkey.

Grammar: https://tc39.es/ecma262/#prod-annexB-ClassEscape
(/u flag precludes the use of ClassControlLetter)

  • yarr/YarrErrorCode.cpp:

(JSC::Yarr::errorMessage):
(JSC::Yarr::errorToThrow):

  • yarr/YarrErrorCode.h:
  • yarr/YarrParser.h:

(JSC::Yarr::Parser::parseEscape):

LayoutTests:

  • js/regexp-unicode-expected.txt:
  • js/script-tests/regexp-unicode.js:
2:26 PM Changeset in webkit [255543] by Simon Fraser
  • 2 edits in trunk/Tools

Closing a MiniBrowser WK2 window does not release the WKWebView
https://bugs.webkit.org/show_bug.cgi?id=203185

Reviewed by Wenson Hsieh.

Use a weak WKWebView reference in the _textFinder.hideInterfaceCallback() block
to avoid a retain cycle that keeps the window controller and WKWebView alive.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController awakeFromNib]):

Note: See TracTimeline for information about the timeline view.