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

Timeline



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]):

Jan 31, 2020:

10:18 PM Changeset in webkit [255542] by ysuzuki@apple.com
  • 19 edits in trunk/Source/JavaScriptCore

[JSC] Hold StructureID instead of Structure* in PolyProtoAccessChain and DFG::CommonData
https://bugs.webkit.org/show_bug.cgi?id=207086

Reviewed by Mark Lam.

PolyProtoAccessChain and DFG::CommonData are kept alive so long as associated AccessCase / DFG/FTL CodeBlock
is alive. They hold Vector<Structure*> / Vector<WriteBarrier<Structure*>>, but access frequency is low. And
We should hold Vector<StructureID> instead to cut 50% of the size.

  • bytecode/AccessCase.cpp:

(JSC::AccessCase::commit):
(JSC::AccessCase::forEachDependentCell const):
(JSC::AccessCase::doesCalls const):
(JSC::AccessCase::visitWeak const):
(JSC::AccessCase::propagateTransitions const):
(JSC::AccessCase::generateWithGuard):

  • bytecode/AccessCase.h:
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::propagateTransitions):
(JSC::CodeBlock::determineLiveness):
(JSC::CodeBlock::stronglyVisitWeakReferences):

  • bytecode/GetByStatus.cpp:

(JSC::GetByStatus::computeForStubInfoWithoutExitSiteFeedback):

  • bytecode/InByIdStatus.cpp:

(JSC::InByIdStatus::computeFor):
(JSC::InByIdStatus::computeForStubInfo):
(JSC::InByIdStatus::computeForStubInfoWithoutExitSiteFeedback):

  • bytecode/InByIdStatus.h:
  • bytecode/InstanceOfStatus.cpp:

(JSC::InstanceOfStatus::computeFor):
(JSC::InstanceOfStatus::computeForStubInfo):

  • bytecode/InstanceOfStatus.h:
  • bytecode/PolyProtoAccessChain.cpp:

(JSC::PolyProtoAccessChain::create):
(JSC::PolyProtoAccessChain::needImpurePropertyWatchpoint const):
(JSC::PolyProtoAccessChain::dump const):

  • bytecode/PolyProtoAccessChain.h:

(JSC::PolyProtoAccessChain::chain const):
(JSC::PolyProtoAccessChain::forEach const):
(JSC::PolyProtoAccessChain::slotBaseStructure const):
(JSC::PolyProtoAccessChain:: const): Deleted.

  • bytecode/PolymorphicAccess.cpp:

(JSC::PolymorphicAccess::regenerate):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeForStubInfo):

  • bytecode/StructureStubInfo.cpp:

(JSC::StructureStubInfo::summary const):
(JSC::StructureStubInfo::summary):

  • bytecode/StructureStubInfo.h:
  • dfg/DFGCommonData.h:
  • dfg/DFGDesiredWeakReferences.cpp:

(JSC::DFG::DesiredWeakReferences::reallyAdd):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::finalizeWithoutNotifyingCallback):

  • jit/Repatch.cpp:

(JSC::tryCacheGetBy):
(JSC::tryCachePutByID):
(JSC::tryCacheInByID):

9:22 PM Changeset in webkit [255541] by ysuzuki@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

[JSC] ShrinkToFit some vectors kept by JIT data structures
https://bugs.webkit.org/show_bug.cgi?id=207085

Reviewed by Mark Lam.

  1. We are allocating RareCaseProfile by using SegmentedVector since JIT code is directly accessing to RareCaseProfile*. But when creating RareCaseProfile, we can know how many RareCaseProfiles should we create: RareCaseProfile is created per slow paths of Baseline JIT bytecode. Since we already scan bytecode for the main paths, we can count it and use this number when creating RareCaseProfile.
  2. Vectors held by PolymorphicAccess and PolymorphicCallStubRoutine should be kept small by calling shrinkToFit.
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::setRareCaseProfiles):
(JSC::CodeBlock::shrinkToFit):
(JSC::CodeBlock::addRareCaseProfile): Deleted.

  • bytecode/CodeBlock.h:
  • bytecode/PolyProtoAccessChain.cpp:

(JSC::PolyProtoAccessChain::create):

  • bytecode/PolymorphicAccess.cpp:

(JSC::PolymorphicAccess::regenerate):

  • bytecode/ValueProfile.h:

(JSC::RareCaseProfile::RareCaseProfile):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:
  • jit/PolymorphicCallStubRoutine.cpp:

(JSC::PolymorphicCallStubRoutine::PolymorphicCallStubRoutine):

7:36 PM Changeset in webkit [255540] by ysuzuki@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

[JSC] DFG::CommonData::shrinkToFit called before DFG::Plan::reallyAdd is called
https://bugs.webkit.org/show_bug.cgi?id=207083

Reviewed by Mark Lam.

We are calling DFG::CommonData::shrinkToFit, but calling this too early: we execute
DFG::Plan::reallyAdd(DFG::CommonData*) after that, and this adds many entries to
DFG::CommonData*. We should call DFG::CommonData::shrinkToFit after calling DFG::Plan::reallyAdd.

To implement it, we make DFG::JITCode::shrinkToFit virtual function in JSC::JITCode. Then, we
can also implement FTL::JITCode::shrinkToFit which was previously not implemented.

  • dfg/DFGJITCode.cpp:

(JSC::DFG::JITCode::shrinkToFit):

  • dfg/DFGJITCode.h:
  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compile):
(JSC::DFG::JITCompiler::compileFunction):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::finalizeWithoutNotifyingCallback):

  • ftl/FTLJITCode.cpp:

(JSC::FTL::JITCode::shrinkToFit):

  • ftl/FTLJITCode.h:
  • jit/JITCode.cpp:

(JSC::JITCode::shrinkToFit):

  • jit/JITCode.h:
6:09 PM Changeset in webkit [255539] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

GetButterfly should check if the input value is an object in safe to execute
https://bugs.webkit.org/show_bug.cgi?id=207082

Reviewed by Mark Lam.

We can only hoist GetButterfly when we know the incoming value is an object.
We might want to reconsider making GetButterfly use ObjectUse as its edge
kind, but that's out of the scope of this patch. Currently, we use CellUse
for GetButterfly node's child1.

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

5:47 PM Changeset in webkit [255538] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

safe to execute should return false when we know code won't be moved
https://bugs.webkit.org/show_bug.cgi?id=207074

Reviewed by Yusuke Suzuki.

We use safeToExecute to determine inside LICM whether it's safe to execute
a node somewhere else in the program. We were returning true for nodes
we knew would never be moved, because they were effectful. Things like Call
and GetById. This patch makes those nodes return false now, since we want
to make it easier to audit the nodes that return true. This makes that audit
easier, since it gets rid of the obvious things that will never be hoisted.

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

5:22 PM Changeset in webkit [255537] by Alan Coon
  • 1 copy in tags/Safari-610.1.1.2.1

Tag Safari-610.1.1.2.1.

5:13 PM Changeset in webkit [255536] by Alan Coon
  • 8 edits in branches/safari-610.1.1.2-branch/Source

Versioning.

5:08 PM Changeset in webkit [255535] by Alan Coon
  • 1 copy in branches/safari-610.1.1.2-branch

New branch.

4:50 PM Changeset in webkit [255534] by Truitt Savell
  • 2 edits in trunk/LayoutTests

Flaky Test: imported/w3c/web-platform-tests/websockets/cookies/007.html
https://bugs.webkit.org/show_bug.cgi?id=206484

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-31

  • platform/mac/TestExpectations:
4:47 PM Changeset in webkit [255533] by david_quesada@apple.com
  • 5 edits in trunk

REGRESSION(r252185): NetworkSessionCocoa cancels downloads that receive authentication challenges
https://bugs.webkit.org/show_bug.cgi?id=206984
rdar://problem/58999654

Reviewed by Brady Eidson.

Source/WebKit:

r252185 changed the early return in WKNetworkSessionDelegate's -...task:didReceiveChallenge:... method
from "cancel the task and return early if self has no _session" to "cancel the task and return early
if we can't determine the network session for the given data task". When this method is called for
an NSURLSessionDownloadTask, this early return is hit because there is no NetworkDataTaskCocoa
for an active download. As a result, the download is canceled when it might have otherwise been able
to proceed.

Fix this by adding a code path to fetch the NetworkSession associated with the Download when an
NSURLSessionDownloadTask receives an authentication challenge. This ensures we can actually handle
the challenge appropriately and not just cancel the task.

  • NetworkProcess/Downloads/Download.h:

(WebKit::Download::sessionID const):

Expose the session ID so we can use it to look up the NetworkSession for a Download.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:task:didReceiveChallenge:completionHandler:]):

Remove an unnecessary redeclaration of networkDataTask, and also an unneeded assertion that
networkDataTask != nullptr. Even if this is the case, the code that eventually handles this
task will null check it and handle the challenge as a websocket task or download task
based on the taskIdentifier.

Tools:

Add an API test for a resumed download that receives an authentication challenge. The download
delegate should be asked to handle the challenge, and the download should be able to finish.

  • TestWebKitAPI/Tests/WebKitCocoa/Download.mm:

(-[DownloadCancelingDelegate _download:decideDestinationWithSuggestedFilename:completionHandler:]):
(-[DownloadCancelingDelegate _download:didReceiveData:]):
(-[DownloadCancelingDelegate _downloadDidCancel:]):
(-[AuthenticationChallengeHandlingDelegate _download:didReceiveAuthenticationChallenge:completionHandler:]):
(-[AuthenticationChallengeHandlingDelegate _downloadDidFinish:]):
(TEST):

4:44 PM Changeset in webkit [255532] by Wenson Hsieh
  • 33 edits
    3 adds in trunk

Add support for specifying background colors when setting marked text
https://bugs.webkit.org/show_bug.cgi?id=207065
<rdar://problem/57876140>

Reviewed by Tim Horton.

Source/WebCore:

Add support for rendering custom highlights (background colors) behind marked text in WebCore. To do this, we
plumb a Vector of CompositionHighlights alongside the Vector of CompositionUnderlines to Editor. At paint time,
we then consult this highlight data to determine which ranges of text in the composition should paint using
custom background colors.

Note that in the future, we should consider refactoring both composition underlines and highlights to use the
MarkedText mechanism for decorating ranges of text instead.

Test: editing/input/composition-highlights.html

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • editing/CompositionHighlight.h: Added.

(WebCore::CompositionHighlight::CompositionHighlight):
(WebCore::CompositionHighlight::encode const):
(WebCore::CompositionHighlight::decode):

Add CompositionHighlight, which represents a range in the composition that should be highlighted with a given
background color.

  • editing/Editor.cpp:

(WebCore::Editor::clear):
(WebCore::Editor::setComposition):

Add logic for clearing and updating m_customCompositionHighlights.

  • editing/Editor.h:

(WebCore::Editor::compositionUsesCustomHighlights const):
(WebCore::Editor::customCompositionHighlights const):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintCompositionBackground):

If custom composition highlights are given, use those when painting the composition background; otherwise,
default to painting the entire composition range using Color::compositionFill.

Source/WebCore/PAL:

Add an SPI soft-linking declaration for NSMarkedClauseSegmentAttributeName.

  • pal/spi/cocoa/NSAttributedStringSPI.h:

Source/WebKit:

Implement -setAttributedMarkedText:selectedRange: on WKContentView, and have it extract highlight color
information from the given attributed string. Plumb this through to the web process by serializing and
deserializing WebCore::CompositionHighlights.

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::setMarkedText):

  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WKContentViewInteraction.mm:

(compositionHighlights):

For each marked text clause, grab the specified background color (defaulting to Color::compositionFill) and use
it to create a list of CompositionHighlights.

(-[WKContentView setAttributedMarkedText:selectedRange:]):
(-[WKContentView setMarkedText:selectedRange:]):
(-[WKContentView _setMarkedText:highlights:selectedRange:]):

  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageSetComposition):

Add testing support for specifying highlight ranges when setting marked text.

  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
  • WebProcess/WebCoreSupport/glib/WebEditorClientGLib.cpp:

(WebKit::WebEditorClient::didDispatchInputMethodKeydown):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setCompositionForTesting):
(WebKit::WebPage::setCompositionAsync):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:

Source/WebKitLegacy/mac:

Adjust some call sites of Editor::setComposition().

  • WebView/WebFrame.mm:

(-[WebFrame setMarkedText:selectedRange:]):
(-[WebFrame setMarkedText:forCandidates:]):

  • WebView/WebHTMLView.mm:

(-[WebHTMLView setMarkedText:selectedRange:]):

Source/WebKitLegacy/win:

Adjust some call sites of Editor::setComposition().

  • WebView.cpp:

(WebView::onIMEComposition):
(WebView::setCompositionForTesting):

Tools:

Add support in WebKitTestRunner for specifying a list of highlight ranges when setting marked text. This comes
in the form of an additional argument to TextInputController::setMarkedText, which contains an array of objects,
each describing one range (in the composition) to highlight.

  • DumpRenderTree/ios/TextInputControllerIOS.m:

(+[TextInputController isSelectorExcludedFromWebScript:]):
(+[TextInputController webScriptNameForSelector:]):
(-[TextInputController setMarkedText:selectedFrom:length:suppressUnderline:highlights:]):
(-[TextInputController setMarkedText:selectedFrom:length:suppressUnderline:]): Deleted.

  • DumpRenderTree/mac/TextInputControllerMac.m:

(+[TextInputController isSelectorExcludedFromWebScript:]):
(+[TextInputController webScriptNameForSelector:]):
(-[TextInputController setMarkedText:selectedFrom:length:suppressUnderline:highlights:]):
(-[TextInputController setMarkedText:selectedFrom:length:suppressUnderline:]): Deleted.

  • WebKitTestRunner/InjectedBundle/Bindings/TextInputController.idl:
  • WebKitTestRunner/InjectedBundle/TextInputController.cpp:

(WTR::arrayLength):
(WTR::createCompositionHighlightData):

Add logic to convert a given JSObject containing the composition highlight information into a WKArrayRef, which
is then passed into WebKit via WKBundlePageSetComposition.

(WTR::TextInputController::setMarkedText):

  • WebKitTestRunner/InjectedBundle/TextInputController.h:

LayoutTests:

Add a test to check that highlighting different parts of a composition range results in the same behavior as
applying background colors using CSS. This test is currently only supported in WebKit2.

  • TestExpectations:
  • editing/input/composition-highlights-expected.html: Added.
  • editing/input/composition-highlights.html: Added.
  • platform/wk2/TestExpectations:
4:23 PM Changeset in webkit [255531] by Justin Fan
  • 6 edits in trunk

[WebGL] Revert logging added to investigate 205757
https://bugs.webkit.org/show_bug.cgi?id=207076

Unreviewed.

Revert https://trac.webkit.org/changeset/255468.

Source/WebCore:

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::bindTexture):
(WebCore::WebGLRenderingContextBase::createTexture):
(WebCore::WebGLRenderingContextBase::getError):
(WebCore::WebGLRenderingContextBase::texSubImage2D):
(WebCore::WebGLRenderingContextBase::texImage2D):

  • platform/graphics/opengl/GraphicsContextGLOpenGLBase.cpp:

(WebCore::GraphicsContextGLOpenGL::texImage2D):

  • platform/graphics/opengl/GraphicsContextGLOpenGLCommon.cpp:

(WebCore::GraphicsContextGLOpenGL::bindTexture):
(WebCore::GraphicsContextGLOpenGL::getError):
(WebCore::GraphicsContextGLOpenGL::texSubImage2D):
(WebCore::GraphicsContextGLOpenGL::createTexture):

LayoutTests:

4:14 PM Changeset in webkit [255530] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ] webgpu/whlsl/textures-sample-level.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207078

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-31

  • platform/mac-wk2/TestExpectations:
4:11 PM Changeset in webkit [255529] by sbarati@apple.com
  • 2 edits in trunk/JSTests

Unreviewed. Don't dump disassembly in test.

  • stress/get-getter-setter-by-offset-not-always-safe-to-execute.js:
4:06 PM Changeset in webkit [255528] by sbarati@apple.com
  • 3 edits
    1 add in trunk

GetGetterSetterByOffset and GetGetter/GetSetter are not always safe to execute
https://bugs.webkit.org/show_bug.cgi?id=206805
<rdar://problem/58898161>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/get-getter-setter-by-offset-not-always-safe-to-execute.js: Added.

Source/JavaScriptCore:

This patch fixes two bugs. The first is GetGetterSetterByOffset. Previously,
we were just checking that we could load the value safely. However, because
GetGetterSetterByOffset returns a GetterSetter object, we can only safely
move this node into a context where it's guaranteed that the offset loaded
will return a GetterSetter.

The second fix is GetGetter/GetSetter were both always marked as safe to execute.
However, they're only safe to execute when the incoming value to load from
is a GetterSetter object.

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

3:56 PM Changeset in webkit [255527] by aestes@apple.com
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix after r255522.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):
Switched to a C-style cast.

3:31 PM Changeset in webkit [255526] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ Mac wk2 ] tiled-drawing/scrolling/fast-scroll-select-latched-mainframe-with-handler.html is flaky failing

https://bugs.webkit.org/show_bug.cgi?id=206940

Also is happening on release so I updated the expectation to reflect that.

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-31

  • platform/mac-wk2/TestExpectations:
3:25 PM Changeset in webkit [255525] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ iOS Debug wk2 ] animations/keyframe-autoclose-brace.html is flaky crashing.
https://bugs.webkit.org/show_bug.cgi?id=207071

Unreviewed test gardening.

Patch by Jason Lawrence <Jason_Lawrence> on 2020-01-31

  • platform/ipad/TestExpectations:
3:24 PM Changeset in webkit [255524] by Russell Epstein
  • 8 edits in branches/safari-609.1.15.3-iOS-branch/Source

Versioning.

3:23 PM Changeset in webkit [255523] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ Mac wk1 ] fast/images/animated-gif-restored-from-bfcache.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=206950

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-31

  • platform/mac-wk1/TestExpectations:
3:16 PM Changeset in webkit [255522] by commit-queue@webkit.org
  • 22 edits in trunk

Add KVO SPI WKWebView._negotiatedLegacyTLS
https://bugs.webkit.org/show_bug.cgi?id=207067

Patch by Alex Christensen <achristensen@webkit.org> on 2020-01-31
Reviewed by Andy Estes.

Source/WebKit:

Covered by API tests.

  • NetworkProcess/NetworkDataTask.cpp:

(WebKit::NetworkDataTask::negotiatedLegacyTLS const):

  • NetworkProcess/NetworkDataTask.h:

(WebKit::NetworkDataTaskClient::negotiatedLegacyTLS const):

  • NetworkProcess/NetworkLoad.cpp:

(WebKit::NetworkLoad::negotiatedLegacyTLS const):

  • NetworkProcess/NetworkLoad.h:
  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(-[WKNetworkSessionDelegate URLSession:dataTask:didReceiveResponse:completionHandler:]):

  • Shared/Authentication/AuthenticationManager.cpp:

(WebKit::AuthenticationManager::negotiatedLegacyTLS const):

  • Shared/Authentication/AuthenticationManager.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _negotiatedLegacyTLS]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/Cocoa/NavigationState.h:
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::willChangeNegotiatedLegacyTLS):
(WebKit::NavigationState::didChangeNegotiatedLegacyTLS):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::negotiatedLegacyTLS):

  • UIProcess/Network/NetworkProcessProxy.h:
  • UIProcess/Network/NetworkProcessProxy.messages.in:
  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::commitChanges):
(WebKit::PageLoadState::hasNegotiatedLegacyTLS const):
(WebKit::PageLoadState::negotiatedLegacyTLS):
(WebKit::PageLoadState::didCommitLoad):

  • UIProcess/PageLoadState.h:

(WebKit::PageLoadState::Observer::willChangeNegotiatedLegacyTLS):
(WebKit::PageLoadState::Observer::didChangeNegotiatedLegacyTLS):
(WebKit::PageLoadState::Data::Data): Deleted.

  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:

(-[TLSObserver observeValueForKeyPath:ofObject:change:context:]):
(-[TLSObserver waitUntilNegotiatedLegacyTLSChanged]):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/config.h:
1:45 PM Changeset in webkit [255521] by Alan Coon
  • 1 copy in tags/Safari-609.1.16

Tag Safari-609.1.16.

1:25 PM Changeset in webkit [255520] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ macOS wk1 ] editing/execCommand/insert-nested-lists.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207066

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-31

  • platform/mac-wk1/TestExpectations:
1:05 PM Changeset in webkit [255519] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed macOS build fix after r255518

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::handleGestureEvent):

12:58 PM Changeset in webkit [255518] by Chris Dumez
  • 8 edits in trunk

[ iOS ] imported/w3c/web-platform-tests/IndexedDB/key-generators/reading-autoincrement-indexes-cursors.any.serviceworker.html is flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=206934
<rdar://problem/58991581>

Source/WebKit:

Reviewed by Brady Eidson.

Flakiness would happen when the service worker would take too long to launch and the responsiveness timer would fire and
report the process as unresponsive while still launching or very shortly after. When a service worker is reported as
unresponsive, we would kill it.

To address the issue, several changes were made:

  • Responsiveness checks are now disabled for slow builds (Debug, ASAN, GuardMalloc)
  • We only start the ResponsivenessTimer after the process has finished launching since the responsiveness check relies on IPC to the process and we cannot send the IPC until after the process has launched.
  • UIProcess/CoordinatedGraphics/DrawingAreaProxyCoordinatedGraphics.cpp:

(WebKit::DrawingAreaProxyCoordinatedGraphics::sendUpdateBackingStoreState):

  • UIProcess/ProvisionalPageProxy.cpp:

(WebKit::ProvisionalPageProxy::goToBackForwardItem):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::launchProcessForReload):
(WebKit::WebPageProxy::launchProcessWithItem):
(WebKit::WebPageProxy::loadRequestWithNavigationShared):
(WebKit::WebPageProxy::loadFile):
(WebKit::WebPageProxy::loadDataWithNavigationShared):
(WebKit::WebPageProxy::loadAlternateHTML):
(WebKit::WebPageProxy::loadWebArchiveData):
(WebKit::WebPageProxy::navigateToPDFLinkWithSimulatedClick):
(WebKit::WebPageProxy::stopLoading):
(WebKit::WebPageProxy::reload):
(WebKit::WebPageProxy::goToBackForwardItem):
(WebKit::WebPageProxy::dispatchActivityStateChange):
(WebKit::WebPageProxy::processNextQueuedMouseEvent):
(WebKit::WebPageProxy::handleKeyboardEvent):
(WebKit::WebPageProxy::handleGestureEvent):
(WebKit::WebPageProxy::handlePreventableTouchEvent):
(WebKit::WebPageProxy::handleTouchEvent):
(WebKit::WebPageProxy::runJavaScriptAlert):
(WebKit::WebPageProxy::runJavaScriptConfirm):
(WebKit::WebPageProxy::runJavaScriptPrompt):
(WebKit::WebPageProxy::runBeforeUnloadConfirmPanel):
(WebKit::WebPageProxy::runOpenPanel):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::mayBecomeUnresponsive):
(WebKit::WebProcessProxy::didFinishLaunching):
(WebKit::WebProcessProxy::startResponsivenessTimer):
(WebKit::WebProcessProxy::isResponsive):

  • UIProcess/WebProcessProxy.h:

(WebKit::WebProcessProxy::responsivenessTimer):

LayoutTests:

Unskip test which should no longer be flaky.

  • platform/ios-wk2/TestExpectations:
12:52 PM Changeset in webkit [255517] by Kate Cheney
  • 2 edits in trunk/Source/WebKit

Add page configuration additions to APIPageConfiguration
https://bugs.webkit.org/show_bug.cgi?id=206090
<rdar://problem/58489766>

Reviewed by Andy Estes.

  • UIProcess/API/APIPageConfiguration.cpp:
11:59 AM Changeset in webkit [255516] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ Mac ] imported/w3c/web-platform-tests/media-source/mediasource-replay.html flaky failing.
https://bugs.webkit.org/show_bug.cgi?id=207062

Unreviewed test gardening.

Patch by Jason Lawrence <Jason_Lawrence> on 2020-01-31

  • platform/mac/TestExpectations:
11:55 AM Changeset in webkit [255515] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ] fast/scrolling/latching/scroll-div-with-nested-nonscrollable-iframe.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207063

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-31

  • platform/mac-wk2/TestExpectations:
11:41 AM Changeset in webkit [255514] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ Mojave wk2 Release ] imported/w3c/web-platform-tests/html/webappapis/timers/type-long-setinterval.html flaky failure
https://bugs.webkit.org/show_bug.cgi?id=207060

Unreviewed test gardening.

Patch by Jason Lawrence <Jason_Lawrence> on 2020-01-31

  • platform/mac-wk2/TestExpectations:
11:38 AM Changeset in webkit [255513] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] Display flaky test names in build summary when ReRunWebKitTests passes
https://bugs.webkit.org/show_bug.cgi?id=207050

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(ReRunWebKitTests.evaluateCommand):

11:26 AM Changeset in webkit [255512] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ macOS wk1 ] imported/w3c/web-platform-tests/IndexedDB/interleaved-cursors-small.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207059

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-31

  • platform/mac-wk1/TestExpectations:
11:13 AM Changeset in webkit [255511] by Truitt Savell
  • 3 edits in trunk/LayoutTests

[ macOS iOS ] imported/w3c/web-platform-tests/IndexedDB/keypath-special-identifiers.htm is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207057

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-31

  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
11:01 AM Changeset in webkit [255510] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ Mac ] animations/animation-welcome-safari.html is sometimes failing
https://bugs.webkit.org/show_bug.cgi?id=206604

Unreviewed test gardening.

Updated test expectations to align with existing bug.

Patch by Jason Lawrence <Jason_Lawrence> on 2020-01-31

  • platform/mac/TestExpectations:
10:36 AM Changeset in webkit [255509] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ iOS wk2 release ] media/track/texttrackcue/texttrackcue-displaycue.html
https://bugs.webkit.org/show_bug.cgi?id=207055

Unreviewed test gardening.

Patch by Jason Lawrence <Jason_Lawrence> on 2020-01-31

  • platform/ios-simulator-wk2/TestExpectations:
10:35 AM Changeset in webkit [255508] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ] inspector/page/setBootstrapScript-sub-frame.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207053

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-31

  • platform/mac/TestExpectations:
10:33 AM Changeset in webkit [255507] by ddkilzer@apple.com
  • 5 edits in trunk

REGRESSION: [ iPadOS ] imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html always fails
<https://webkit.org/b/206759>
<rdar://problem/58872607>

Reviewed by Brent Fulgham.

Source/WebKit:

Test: imported/w3c/web-platform-tests/dom/events/Event-dispatch-on-disabled-elements.html

  • Platform/spi/ios/UIKitSPI.h:

(-[UIViewController isPerformingModalTransition]): Add SPI
declaration.

Tools:

  • WebKitTestRunner/ios/UIScriptControllerIOS.h:

(WTR::UIScriptControllerIOS::waitForModalTransitionToFinish const):

  • Add declaration.
  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptControllerIOS::waitForModalTransitionToFinish const):

  • Implement by waiting for -[UIViewController isPerformingModalTransition] to return NO while spinning the runloop.

(WTR::UIScriptControllerIOS::singleTapAtPointWithModifiers):

  • Call waitForModalTransitionToFinish() to fix the test.
10:18 AM WebKitGTK/2.26.x edited by Michael Catanzaro
(diff)
10:05 AM Changeset in webkit [255506] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] add build step to set custom build summary
https://bugs.webkit.org/show_bug.cgi?id=207026

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:

(SetBuildSummary.doStepIf): Run this step only if build_summary property is set.
(SetBuildSummary.hideStepIf): Hide this step if it is not executed.
(SetBuildSummary.start):

9:59 AM Changeset in webkit [255505] by Alexey Shvayka
  • 9 edits in trunk

Unmatched ] or } brackets should be syntax errors in Unicode patterns only
https://bugs.webkit.org/show_bug.cgi?id=207023

Reviewed by Darin Adler.

JSTests:

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

Source/JavaScriptCore:

This change adds SyntaxError for Unicode patterns, aligning JSC with
V8 and SpiderMonkey.

Grammar: https://tc39.es/ecma262/#prod-annexB-Term
(/u flag precludes the use of ExtendedAtom and thus ExtendedPatternCharacter)

  • yarr/YarrErrorCode.cpp:

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

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

(JSC::Yarr::Parser::parseTokens):

LayoutTests:

  • js/regexp-unicode-expected.txt:
  • js/script-tests/regexp-unicode.js:
9:58 AM Changeset in webkit [255504] by graouts@webkit.org
  • 3 edits
    2 adds in trunk

[Web Animations] [WK1] REGRESSION: opacity doesn't animate
https://bugs.webkit.org/show_bug.cgi?id=207044
<rdar://problem/59061225>

Reviewed by Simon Fraser.

Source/WebCore:

Test: webanimations/opacity-animation.html

We failed to animate opacity in WK1 because we made the assumption that just because an animation targets only accelerated properties it would be accelerated
and wouldn't need to be updated as it runs in WebAnimation::timeToNextTick(). This is incorrect, an animation may fail to start or may fail to get a composited
layer, the latter being the case on WK1 because usesCompositing() is false in RenderLayerCompositor::requiresCompositingForAnimation().

We now check that an animation is both only animating accelerated properties and running accelerated to determine that an animation won't need to be updated
until it completes.

  • animation/WebAnimation.cpp:

(WebCore::WebAnimation::timeToNextTick const):

LayoutTests:

  • webanimations/opacity-animation-expected.html: Added.
  • webanimations/opacity-animation.html: Added.
9:54 AM Changeset in webkit [255503] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit

REGRESSION (r251511): [iOS] HDR Playback broken
https://bugs.webkit.org/show_bug.cgi?id=207052
<rdar://problem/58975614>

Reviewed by Maciej Stachowiak.

I missed an XPC service in Bug 203318 when I stopped importing the 'common.sb' sandbox. This broke some
aspects of HDR playback for certain clients.

This patch returns the XPC service, and unblocks access to a network preference file that AVFoundation
needs to read to support some media playback features.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
9:31 AM Changeset in webkit [255502] by Matt Lewis
  • 2 edits in trunk/LayoutTests

Layout Test imported/w3c/web-platform-tests/IndexedDB/fire-error-event-exception.html is a Flaky Failure on mac
https://bugs.webkit.org/show_bug.cgi?id=201481

Unreviewed test gardening.

  • platform/mac/TestExpectations:
9:24 AM Changeset in webkit [255501] by cathiechen
  • 5 edits
    2 adds in trunk

Asynchronous scrolling of overflow element can enter a recursive loop
https://bugs.webkit.org/show_bug.cgi?id=206884

Reviewed by Frédéric Wang.

Source/WebCore:

After implementing RenderLayer::requestScrollPositionUpdate, there's a recursive loop
while performing asynchronous programmatic scrolling for overflow elements. In order to break
the loop call notifyScrollPositionChanged in updateScrollPositionAfterAsyncScroll instead.

Test: fast/scrolling/ios/programmatic-scroll-element-crash.html

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::requestScrollPositionUpdate):
(WebCore::RenderLayer::scrollToOffset):

  • rendering/RenderLayer.h:

LayoutTests:

  • fast/scrolling/ios/programmatic-scroll-element-crash-expected.txt: Added.
  • fast/scrolling/ios/programmatic-scroll-element-crash.html: Added.
9:12 AM Changeset in webkit [255500] by Jonathan Bedard
  • 3 edits in trunk/Tools

results.webkit.org: Handle modified firewall rules
https://bugs.webkit.org/show_bug.cgi?id=207047

Reviewed by Aakash Jain.

  • Scripts/webkitpy/results/upload.py:

(Upload.upload_archive): Return true for 403 and 413 errors, but print a message
indicating the upload failed.

  • Scripts/webkitpy/results/upload_unittest.py:

(UploadTest.test_archive_upload):

9:07 AM Changeset in webkit [255499] by Antti Koivisto
  • 6 edits in trunk/Source/WebCore

REGRESSION (r240250): Pages using smoothscroll.js can't be scrolled with trackpad
https://bugs.webkit.org/show_bug.cgi?id=207040
<rdar://problem/52712513>

Reviewed by Simon Fraser.

Add a quirk that makes the wheel event listener used by smoothscroll.js passive so it can't prevent scrolling.

This uses the same logic as the Chromium intervention in
https://chromium.googlesource.com/chromium/src/+/b6b13c9cfe64d52a4168d9d8d1ad9bb8f0b46a2a%5E%21/

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::functionName const):

  • bindings/js/JSEventListener.h:
  • dom/EventTarget.cpp:

(WebCore::EventTarget::addEventListener):

  • page/Quirks.cpp:

(WebCore::Quirks::shouldMakeEventListenerPassive const):

Also factor the existing code for making some touch event listeners passive here.

  • page/Quirks.h:
8:38 AM Changeset in webkit [255498] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Compilation broken without service workers
https://bugs.webkit.org/show_bug.cgi?id=207037

Patch by Alejandro G. Castro <alex@igalia.com> on 2020-01-31
Reviewed by Chris Dumez.

Protect the use of m_swServers, check if the SERVICE_WORKER is
enabled.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::lowMemoryHandler):

8:32 AM Changeset in webkit [255497] by Truitt Savell
  • 2 edits in trunk/LayoutTests

[ macOSwk1 ] imported/w3c/web-platform-tests/html/semantics/embedded-content/media-elements/seeking/seek-to-currentTime.html is flaky failing
https://bugs.webkit.org/show_bug.cgi?id=207046

Unreviewed test gardening.

Patch by Jacob Uphoff <Jacob Uphoff> on 2020-01-31

  • platform/mac-wk1/TestExpectations:
8:07 AM Changeset in webkit [255496] by david_quesada@apple.com
  • 3 edits in trunk/Source/WebKit

Remove unused WKProcessPool downloads SPI
https://bugs.webkit.org/show_bug.cgi?id=207029
rdar://problem/59052066

Reviewed by Anders Carlsson.

Remove two unused SPI for starting/resuming downloads from a process pool. These methods were
deprecated in favor of variants that also require a WKWebsiteDataStore, and all clients of these
methods have switched to the new versions.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _downloadURLRequest:originatingWebView:]): Deleted.
(-[WKProcessPool _resumeDownloadFromData:path:originatingWebView:]): Deleted.

  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
7:44 AM Changeset in webkit [255495] by Peng Liu
  • 5 edits in trunk/Source/WebCore

Media controls of the video player on nfl.com are not visible in fullscreen mode (iPad only)
https://bugs.webkit.org/show_bug.cgi?id=207020

Reviewed by Eric Carlson.

Add a quirk to disable the element fullscreen API support for nfl.com on iPads.

  • dom/DocumentFullscreen.idl:
  • dom/Element.idl:
  • page/Quirks.cpp:

(WebCore::Quirks::shouldDisableElementFullscreenQuirk const):

  • page/Quirks.h:
7:35 AM Changeset in webkit [255494] by graouts@webkit.org
  • 2 edits in trunk/Source/WebKitLegacy/mac

[WK1] hiddenPageCSSAnimationSuspensionEnabled should be enabled by default for Cocoa platforms
https://bugs.webkit.org/show_bug.cgi?id=207042
<rdar://problem/58934778>

Reviewed by Zalan Bujtas.

While HiddenPageCSSAnimationSuspensionEnabled is specified in WebPreferences.yaml to default to DEFAULT_HIDDEN_PAGE_CSS_ANIMATION_SUSPENSION_ENABLED,
which is defined to be true on Cocoa platforms in WebPreferencesDefaultValues.h, it is hard-coded to @NO in WK1 although clearly the intent is for
this preference to be enabled. So we switch that default value in WK1 as well.

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

6:42 AM Changeset in webkit [255493] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.26/Source/WebKit

Merge r249802 - [GTK] Allow CacheStore::destroyEngine to destroy default engine for soup.
https://bugs.webkit.org/show_bug.cgi?id=201690

Reviewed by Carlos Garcia Campos.

  • NetworkProcess/cache/CacheStorageEngine.cpp:

(WebKit::CacheStorage::Engine::destroyEngine): As we do for
NetworkProcess::destroySession, also allow destroying the engine
for the default session for the same reason.

6:40 AM Changeset in webkit [255492] by Lauro Moura
  • 1 edit in trunk/Tools/Scripts/webkitpy/common/config/contributors.json

Unreviewed. Updating my info and re-activate commiter status.

  • Scripts/webkitpy/common/config/contributors.json:
6:31 AM Changeset in webkit [255491] by don.olmstead@sony.com
  • 15 edits in trunk

[CMake] Add _PRIVATE_LIBRARIES to framework
https://bugs.webkit.org/show_bug.cgi?id=207004

Reviewed by Konstantin Tokarev.

.:

Use _PRIVATE_LIBRARIES to when creating a WebKit target to specify privately linked
libraries. This fits with the current conventions in WebKit for CMake libraries and
prevents appending to _LIBRARIES with a visibility modifier which likely has
unintended consequences.

  • Source/cmake/WebKitMacros.cmake:

Source/JavaScriptCore:

Move uses of PRIVATE within _LIBRARIES to _PRIVATE_LIBRARIES. Any _LIBRARIES appended
afterwards will have that visibility set erroneously.

  • PlatformFTW.cmake:

Source/WebKit:

Move uses of PRIVATE within _LIBRARIES to _PRIVATE_LIBRARIES. Any _LIBRARIES appended
afterwards will have that visibility set erroneously.

  • CMakeLists.txt:
  • PlatformFTW.cmake:
  • PlatformGTK.cmake:
  • PlatformWin.cmake:

Source/WebKitLegacy:

Move uses of PRIVATE within _LIBRARIES to _PRIVATE_LIBRARIES. Any _LIBRARIES appended
afterwards will have that visibility set erroneously.

  • CMakeLists.txt:
  • PlatformFTW.cmake:
  • PlatformWin.cmake:

Source/WTF:

Move uses of PRIVATE within _LIBRARIES to _PRIVATE_LIBRARIES. Any _LIBRARIES appended
afterwards will have that visibility set erroneously.

  • wtf/PlatformFTW.cmake:
3:15 AM Changeset in webkit [255490] by Antti Koivisto
  • 6 edits in trunk/Source/WebCore

Regression(r255359): imported/mozilla/svg/svg-integration/clipPath-html-06.xhtml is failing consistently on windows
https://bugs.webkit.org/show_bug.cgi?id=206991
<rdar://problem/59030252>

Reviewed by Antoine Quint.

The previous approach may have still allowed RenderStyles computed with non-current FontCascade in
matched properties caches (because some non-font properties were resolved based on obsolete font information).

This patch takes a more robust approach by simply preventing caching of styles with non-current font.

  • dom/Document.h:

(WebCore::Document::fontSelector const):

  • platform/graphics/FontCascade.cpp:

(WebCore::FontCascade::isCurrent const):

  • platform/graphics/FontCascade.h:
  • style/MatchedDeclarationsCache.cpp:

(WebCore::Style::MatchedDeclarationsCache::isCacheable):

  • style/StyleBuilderState.cpp:

(WebCore::Style::BuilderState::updateFont):

2:20 AM Changeset in webkit [255489] by graouts@webkit.org
  • 2 edits in trunk/Source/WebCore

[Web Animations] DocumentTimeline shouldn't suspend itself if hiddenPageCSSAnimationSuspensionEnabled is disabled
https://bugs.webkit.org/show_bug.cgi?id=207014
<rdar://problem/58815952>

Reviewed by Antti Koivisto.

We suspend a timeline upon consutrction if we know that the page is not visible because, unlike CSSAnimationController, the DocumentTimeline is not guaranteed
to be created by the time the Page sets the initial visibility state. This is because DocumentTimeline is created as needed when there are CSS Animations or CSS
Transitions created for the page, or if the content uses any of the Web Animations APIs.

However, the Page::setIsVisibleInternal() function that would call DocumentTimeline::resumeAnimations() at a later time checks whether the hiddenPageCSSAnimationSuspensionEnabled
setting is enabled. So we must respect that setting also when suspending animations in the first place or we risk ending up in a state where we suspend animations
because the page is not visible upon timeline creation, but never resuming animations later due to the hiddenPageCSSAnimationSuspensionEnabled setting being false.

  • animation/DocumentTimeline.cpp:

(WebCore::DocumentTimeline::DocumentTimeline):

1:54 AM Changeset in webkit [255488] by zandobersek@gmail.com
  • 6 edits in trunk/Source/WebKit

[WPE] Touch-based scrolling roundtrips through the WebProcess
https://bugs.webkit.org/show_bug.cgi?id=206922

Reviewed by Adrian Perez de Castro.

Short-cut the touch events through the ScrollGestureCotroller while it
is actively handling the processed touch events, avoiding roundtrip
through the WebProcess. This effectively means that when the scroll
gesture is in action, any touch events that would affect that gesture
are piped into the controller, producing a corresponding axis event
or ending the gesture.

The ScrollGestureCotroller ownership is moved into the WKWPE::View class
in order to make accessing into that object easier from where the touch
events are handled.

  • UIProcess/API/wpe/PageClientImpl.cpp:

(WebKit::PageClientImpl::PageClientImpl):
(WebKit::PageClientImpl::doneWithTouchEvent):

  • UIProcess/API/wpe/PageClientImpl.h:
  • UIProcess/API/wpe/ScrollGestureController.h:

(WebKit::ScrollGestureController::isHandling const):

  • UIProcess/API/wpe/WPEView.cpp:

(WKWPE::View::View):
(WKWPE::m_backend):

  • UIProcess/API/wpe/WPEView.h:

(WKWPE::View::scrollGestureController const):

1:07 AM Changeset in webkit [255487] by jiewen_tan@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION: [iOS release] http/tests/security/window-named-proto.html is a flaky timing out
https://bugs.webkit.org/show_bug.cgi?id=206672
<rdar://problem/58838583>

Reviewed by Chris Dumez.

This is a speculative fix to increase the priority of the DataURLDecoder's WorkQueue such that
it is less likely to be preempted.

Covered by existing tests.

  • platform/network/DataURLDecoder.cpp:

(WebCore::DataURLDecoder::decodeQueue):

Note: See TracTimeline for information about the timeline view.