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

Timeline



Nov 6, 2019:

11:27 PM Changeset in webkit [252177] by mark.lam@apple.com
  • 10 edits in trunk/Source

Remove remnants of support code for an upwards growing stack.
https://bugs.webkit.org/show_bug.cgi?id=203942

Reviewed by Yusuke Suzuki.

Source/JavaScriptCore:

  • runtime/VM.cpp:

(JSC::VM::updateStackLimits):
(JSC::VM::committedStackByteCount):

  • runtime/VM.h:

(JSC::VM::isSafeToRecurse const):

  • runtime/VMEntryScope.cpp:

(JSC::VMEntryScope::VMEntryScope):

  • runtime/VMInlines.h:

(JSC::VM::ensureStackCapacityFor):

  • yarr/YarrPattern.cpp:

(JSC::Yarr::YarrPatternConstructor::isSafeToRecurse const):

Source/WTF:

We haven't supported an upwards growing stack in years, and a lot of code has
since been written specifically with only a downwards growing stack in mind (e.g.
the LLInt, the JITs). Also, all our currently supported platforms use a downward
growing stack.

We should remove the remnants of support code for an upwards growing stack. The
presence of that code is deceptive in that it conveys support for an upwards
growing stack where this hasn't been the case in years.

  • wtf/StackBounds.cpp:

(WTF::StackBounds::newThreadStackBounds):
(WTF::StackBounds::currentThreadStackBoundsInternal):
(WTF::StackBounds::stackDirection): Deleted.
(WTF::testStackDirection2): Deleted.
(WTF::testStackDirection): Deleted.

  • wtf/StackBounds.h:

(WTF::StackBounds::size const):
(WTF::StackBounds::contains const):
(WTF::StackBounds::recursionLimit const):
(WTF::StackBounds::StackBounds):
(WTF::StackBounds::isGrowingDownwards const):
(WTF::StackBounds::checkConsistency const):
(WTF::StackBounds::isGrowingDownward const): Deleted.

  • wtf/StackStats.cpp:

(WTF::StackStats::CheckPoint::CheckPoint):
(WTF::StackStats::CheckPoint::~CheckPoint):
(WTF::StackStats::probe):
(WTF::StackStats::LayoutCheckPoint::LayoutCheckPoint):

11:21 PM Changeset in webkit [252176] by Devin Rousso
  • 3 edits in trunk/Source/WebCore

Remove unimplemented property error log in when getting a property value from a computed style
https://bugs.webkit.org/show_bug.cgi?id=203943

Reviewed by Simon Fraser.

In r251581, the list of computed CSS properties was changed to be autogenerated from 'CSSProperties.json'.
One issue that arose from this was that -webkit-text-decorations-in-effect was no longer part of the
CSSComputedStyleDeclaration, which caused a number of editing tests to fail, as that property is used
for holding internal state related to various editing commands (e.g. document.execCommand(...)). In
order to get around this, ComputedStyleExtractor::copyProperties() was modified to instead copy all CSS
properties, regardless of whether they're part of the set of computed CSS properties. Unfortunately, this
had a side effect of triggering a longstanding LOG_ERROR (added in r6178) when attempting to retrieve
the value of certain CSS properties (e.g. -internal-text-autosizing-status).

Since this code path can be triggered by JavaScript (e.g. getComputedStyle(node).getPropertyCSSValue("...")),
it doesn't add much benefit to have this log, especially since the code itself is already annotated with
comments/FIXMEs for CSS properties that don't have a computed value.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):
(WebCore::logUnimplementedPropertyID): Deleted.

  • css/SVGCSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::svgPropertyValue):

11:03 PM Changeset in webkit [252175] by commit-queue@webkit.org
  • 13 edits
    1 move
    2 adds in trunk/Source

AX: WKWebView does not shift Accessibility Focus for Catalyst (203798)
https://bugs.webkit.org/show_bug.cgi?id=203798

Patch by Eric Liang <ericliang@apple.com> on 2019-11-06
Reviewed by Chris Fleizach.

Source/WebCore:

Changed to use the new cocoa directory instead of macOS only

  • accessibility/mac/AXObjectCacheMac.mm:
  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

Source/WebCore/PAL:

Changed the path of NSAccessibilitySPI from Mac to Cocoa

  • PAL.xcodeproj/project.pbxproj:
  • pal/spi/cocoa/NSAccessibilitySPI.h: Renamed from Source/WebCore/PAL/pal/spi/mac/NSAccessibilitySPI.h.

Source/WebKit:

Added the code to register/unregister remote UI Process identifier on the host app.
This is used so that the host app can appear as the sender for notifications sent from its web processes. Unfortunately this has to be done in WebKit: in accessibility bundles the swizzled code is not called because of bundle loading time.
Added AppKit softlink for Mac catalyst.

  • SourcesCocoa.txt:
  • UIProcess/Cocoa/WebViewImpl.mm:
  • UIProcess/ios/AppKitSoftLink.h: Added.
  • UIProcess/ios/AppKitSoftLink.mm: Added.
  • UIProcess/ios/ViewGestureControllerIOS.mm:

(-[WKSwipeTransitionController gestureRecognizerForInteractiveTransition:WithTarget:action:]):

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _updateRemoteAccessibilityRegistration:]):
(-[WKContentView _accessibilityRegisterUIProcessTokens]):
(-[WKContentView _processDidExit]):

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/mac/WKAccessibilityWebPageObjectMac.mm:
  • WebProcess/WebPage/mac/WebPageMac.mm:
  • WebProcess/cocoa/WebProcessCocoa.mm:
10:37 PM Changeset in webkit [252174] by Keith Rollin
  • 43 edits in trunk/Source/WebKit

Update availability annotations to match the macOS 10.15 and iOS 13.0 GM SDKs
https://bugs.webkit.org/show_bug.cgi?id=202243
<rdar://problem/55720747>

Reviewed by Brent Fulgham.

Changed WK_MAC_TBA and WK_IOS_TBA to 10.15 and 13.0, respectively, in
all declarations that appear in the GM SDKs.

  • Configurations/WebKit.xcconfig:
  • Shared/API/Cocoa/WKMain.h:
  • UIProcess/API/Cocoa/NSAttributedString.h:
  • UIProcess/API/Cocoa/WKContextMenuElementInfo.h:
  • UIProcess/API/Cocoa/WKError.h:
  • UIProcess/API/Cocoa/WKErrorPrivate.h:
  • UIProcess/API/Cocoa/WKNavigation.h:
  • UIProcess/API/Cocoa/WKNavigationActionPrivate.h:
  • UIProcess/API/Cocoa/WKNavigationDelegate.h:
  • UIProcess/API/Cocoa/WKNavigationDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKNavigationResponsePrivate.h:
  • UIProcess/API/Cocoa/WKPreferences.h:
  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:
  • UIProcess/API/Cocoa/WKPreviewActionItem.h:
  • UIProcess/API/Cocoa/WKPreviewActionItemIdentifiers.h:
  • UIProcess/API/Cocoa/WKPreviewElementInfo.h:
  • UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
  • UIProcess/API/Cocoa/WKSnapshotConfiguration.h:
  • UIProcess/API/Cocoa/WKUIDelegate.h:
  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKURLSchemeTaskPrivate.h:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.h:
  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/WKWebpagePreferences.h:
  • UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/API/Cocoa/_WKActivatedElementInfo.h:
  • UIProcess/API/Cocoa/_WKAutomationSessionDelegate.h:
  • UIProcess/API/Cocoa/_WKContentRuleListAction.h:
  • UIProcess/API/Cocoa/_WKCustomHeaderFields.h:
  • UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h:
  • UIProcess/API/Cocoa/_WKElementAction.h:
  • UIProcess/API/Cocoa/_WKInspectorWindow.h:
  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKTextInputContext.h:
  • UIProcess/API/Cocoa/_WKUserContentExtensionStorePrivate.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStoreDelegate.h:
  • UIProcess/API/Cocoa/_WKWebsitePolicies.h:
  • UIProcess/_WKTouchEventGenerator.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
8:06 PM Changeset in webkit [252173] by Alan Coon
  • 7 edits in tags/Safari-609.1.9.2/Source

Versioning.

8:05 PM Changeset in webkit [252172] by Antti Koivisto
  • 7 edits in trunk

REGRESSION: [ iOS ] ( r251015 ) Layout Test fast/text/whitespace/pre-wrap-overflow-selection.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=203366
<rdar://problem/56580680>

Reviewed by Simon Fraser.

Source/WebKit:

WKBundlePageForceRepaint may fail to do synchronous layer flush if there is a pending layer flush in-flight and waiting
for completion message from UI process. Layer flush also flushes pending editor state so that doesn't get done either.
This may cause randomness in test results.

In this case the randomness is the switch between simple and complex line layout, triggered by editor state flush. The results
between line layout paths are observably identical but produce slightly different render tree dumps.

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

(WKBundlePageFlushPendingEditorStateUpdate):

  • WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:

Add a function for forcing editor state flush, called from the test runner dump() function.

Tools:

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::dump):

LayoutTests:

  • platform/ios/TestExpectations:
8:03 PM Changeset in webkit [252171] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Unreviewed, fix watchOS build after r252011.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::startBackgroundActivityForFullscreenInput):

8:03 PM Changeset in webkit [252170] by Alan Coon
  • 1 copy in tags/Safari-609.1.9.2

New tag.

7:36 PM Changeset in webkit [252169] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Change the UIWebView layer border colors to more strongly differentiate them from WKWebView's colors
https://bugs.webkit.org/show_bug.cgi?id=203940
rdar://problem/56708548

Reviewed by Tim Horton, Wenson Hsieh.

Change layer border colors (which also affect the repaint counter) in UIWebView to use
a chartreuse color, so it's easy to tell at a glance whether an app is using the deprecated
UIWebView.

  • platform/ios/LegacyTileCache.mm:

(WebCore::LegacyTileCache::colorForGridTileBorder const):

6:53 PM Changeset in webkit [252168] by Nikita Vasilyev
  • 11 edits in trunk

Web Inspector: Display color picker for p3 colors
https://bugs.webkit.org/show_bug.cgi?id=203436
<rdar://problem/56635062>

Reviewed by Brian Burg.

Source/WebInspectorUI:

For p3 colors, display ColorSquare with display-p3 gamut.
Continue showing ColorSquare with sRGB gamut by default.

  • UserInterface/Base/Setting.js:
  • UserInterface/Models/Color.js:

(WI.Color):
(WI.Color.rgb2hsv):
(WI.Color.hsv2rgb.fraction):
(WI.Color.hsv2rgb):
(WI.Color.prototype.get hsla):
(WI.Color.prototype.isKeyword):

  • UserInterface/Views/ColorPicker.css:

(.color-picker > .hue):
(@media (color-gamut: p3)):
(.color-picker.gamut-p3 > .hue):

  • UserInterface/Views/ColorPicker.js:

(WI.ColorPicker.prototype._updateColor):
(WI.ColorPicker.prototype._updateOpacitySlider):
(WI.ColorPicker.prototype._handleFormatChange):
Introduce gamut parameter. Previously, the only available gamut was sRGB.

  • UserInterface/Views/ColorSquare.css:

(.color-square > .crosshair):
Update the crosshair style to look better for both light and dark backgrounds.

  • UserInterface/Views/ColorSquare.js:

(WI.ColorSquare):
(WI.ColorSquare.prototype.get tintedColor):
(WI.ColorSquare.prototype.set tintedColor):
(WI.ColorSquare.prototype._setCrosshairPosition):
(WI.ColorSquare.prototype._updateBaseColor):
(WI.ColorSquare.prototype._updateCrosshairBackground):

  • UserInterface/Views/InlineSwatch.js:

Make p3 color picker a preview (e.g. STP-only) feature.

LayoutTests:

Add tests for WI.Color.rgb2hsv and WI.Color.hsv2rgb.

  • inspector/model/color-expected.txt:
  • inspector/model/color.html:
6:42 PM Changeset in webkit [252167] by commit-queue@webkit.org
  • 2 edits in trunk/Websites/bugs.webkit.org

Support CSS Dark Mode for PrettyDiff.rb.
https://bugs.webkit.org/show_bug.cgi?id=203874.

Patch by James Savage <James Savage> on 2019-11-06
Reviewed by Tim Horton.

  • PrettyPatch/PrettyPatch.rb: Modify CSS to support dark mode. I used

CSS variables in places where colors were shared, but otherwise provided
alternate style rules individually. Some colors looked fine in both
appearances, and those I left with only their light definition.

6:28 PM Changeset in webkit [252166] by Fujii Hironori
  • 16 edits in trunk

WEBCORE_TESTSUPPORT_EXPORT should be used only for WebCoreTestSupport, not for WebCore
https://bugs.webkit.org/show_bug.cgi?id=203876

Reviewed by Ross Kirsling.

Source/WebCore:

WEBCORE_TESTSUPPORT_EXPORT shouldn't be used for WebCore. It is
only for WebCoreTestSupport module.

WebCoreTestSupport symbols don't need to export on Windows because
it is a static library on it. WEBCORE_TESTSUPPORT_EXPORT should be
empty.

No behavioral changes.

  • Modules/encryptedmedia/MediaKeyEncryptionScheme.idl:
  • Modules/encryptedmedia/MediaKeySessionType.idl:
  • Modules/encryptedmedia/MediaKeysRequirement.idl:
  • Modules/mediastream/NavigatorMediaDevices.h:
  • bindings/scripts/test/JS/JSTestNode.h:
  • bindings/scripts/test/TestNode.idl:
  • workers/service/context/ServiceWorkerThreadProxy.h:

Replaced wrongly marked WEBCORE_TESTSUPPORT_EXPORT with WEBCORE_EXPORT.

  • testing/js/WebCoreTestSupportPrefix.h: Define WEBCORE_TESTSUPPORT_EXPORT empty.
  • WebCorePrefix.h: Removed WEBCORE_TESTSUPPORT_EXPORT definition.

Source/WebKit:

  • config.h: Removed WEBCORE_TESTSUPPORT_EXPORT definition because it shouldn't be used in WebKit.

Tools:

  • TestWebKitAPI/win/TestWebKitAPIPrefix.h:
  • WebKitTestRunner/InjectedBundle/win/TestRunnerInjectedBundlePrefix.h:
  • WebKitTestRunner/WebKitTestRunnerPrefix.h:

Define WEBCORE_TESTSUPPORT_EXPORT emtpy.

6:04 PM Changeset in webkit [252165] by Fujii Hironori
  • 3 edits in trunk/Tools

[Win] DumpRenderTree.exe and WebKitTestRunner.exe shouldn't link with WebCoreTestSupport
https://bugs.webkit.org/show_bug.cgi?id=203879

Reviewed by Ross Kirsling.

After r252086, WinCairo DumpRenderTree.exe and
WebKitTestRunner.exe can't start because they are linked with
WinCairoRequirements DLLs unexpectedly.

DumpRenderTree.exe and WebKitTestRunner.exe are just wrapper
programs. They shouldn't link with WinCairoRequirements libs.

  • DumpRenderTree/PlatformWin.cmake: Set DumpRenderTree_LIBRARIES only shlwapi.
  • WebKitTestRunner/PlatformWin.cmake: Set WebKitTestRunner_LIBRARIES only shlwapi.
5:55 PM Changeset in webkit [252164] by aakash_jain@apple.com
  • 3 edits in trunk/LayoutTests

REGRESSION: r252121 introduced new webgl/ failures
https://bugs.webkit.org/show_bug.cgi?id=203908

Unreviewed test gardening to quell the bots.

Patch by Justin Fan <Justin Fan> on 2019-11-06

5:48 PM Changeset in webkit [252163] by Kate Cheney
  • 2 edits in trunk/Tools

Update entry in contributors.json to fix commit privileges.

  • Scripts/webkitpy/common/config/contributors.json:
5:22 PM Changeset in webkit [252162] by Tadeu Zagallo
  • 2 edits in trunk/Source/JavaScriptCore

[WebAssembly] BBQPlan should retain Wasm::CodeBlock when compiling a single function
https://bugs.webkit.org/show_bug.cgi?id=203924

Reviewed by Filip Pizlo.

  • wasm/WasmBBQPlan.h:
4:39 PM Changeset in webkit [252161] by Simon Fraser
  • 17 edits
    2 adds in trunk

Box-shadow spread radius does not transition or animate correctly with CSS Transitions & Animations
https://bugs.webkit.org/show_bug.cgi?id=202489

Reviewed by Zalan Bujtas.
Source/WebCore:

Fix box-shadow offset and spread to support subpixel values, and make the rendering subpixel-aware.
This also makes animation of shadow spread and offset be smoother on Retina displays.

Also make ShadowStyle an enum class.

Test: fast/box-shadow/hidpi-box-shadow.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForShadow):
(WebCore::ComputedStyleExtractor::valueForFilter):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::computeLength const):

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::blendFunc):
(WebCore::shadowForBlending):

  • platform/animation/AnimationUtilities.h:

(WebCore::blend):

  • platform/graphics/RoundedRect.h:
  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::paintBoxDecorations):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::paintBoxDecorations):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::applyBoxShadowForBackground):
(WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground const):
(WebCore::areaCastingShadowInHole):
(WebCore::RenderBoxModelObject::paintBoxShadow):
Move the snapping until after we've adjusted rects for offset and spread. The "extraOffset"
computation makes the snapping a little more complex; we have to snap before and after applying
shadowOffset, and give to GraphicsContext the delta between the snapped values.

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::paintBoxDecorations):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::paintBoxDecorations):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::setTextShadow):
(WebCore::RenderStyle::getShadowExtent const):
(WebCore::RenderStyle::getShadowInsetExtent const):
(WebCore::RenderStyle::getShadowHorizontalExtent const):
(WebCore::RenderStyle::getShadowVerticalExtent const):

  • rendering/style/ShadowData.cpp:

(WebCore::ShadowData::ShadowData):
(WebCore::calculateShadowExtent):
(WebCore::ShadowData::adjustRectForShadow const):

  • rendering/style/ShadowData.h:

(WebCore::ShadowData::ShadowData):
(WebCore::ShadowData::x const):
(WebCore::ShadowData::y const):
(WebCore::ShadowData::location const):
(WebCore::ShadowData::paintingExtent const):
(WebCore::ShadowData::spread const):

  • style/StyleBuilderCustom.h:

(WebCore::Style::BuilderCustom::applyTextOrBoxShadowValue):

LayoutTests:

  • fast/box-shadow/hidpi-box-shadow-expected.html: Added.
  • fast/box-shadow/hidpi-box-shadow.html: Added.
4:29 PM Changeset in webkit [252160] by mark.lam@apple.com
  • 4 edits
    1 add in trunk

JSGlobalObject::fireWatchpointAndMakeAllArrayStructuresSlowPut() should fire its watchpoint as the last step.
https://bugs.webkit.org/show_bug.cgi?id=203867
<rdar://problem/56813514>

Reviewed by Saam Barati.

JSTests:

  • stress/racy-slow-put-cloned-arguments-when-having-a-bad-time.js: Added.

Source/JavaScriptCore:

JSGlobalObject::fireWatchpointAndMakeAllArrayStructuresSlowPut() should make all
the array structures SlowPut before firing the watchpoint. Otherwise, the
concurrent JIT may think it's grabbing the slow put version of the structure, but
is actually grabbing the non-SlowPut version because it happened to beat the
mutator in a race to read the structure before the mutator makes it SlowPut.

Also removed some assertions in DFGSpeculativeJIT.cpp that are vulnerable to races
between when the mutator makes all array structures SlowPut and when it fires the
HavingABadTime watchpoint. The FTL equivalent did not have these assertions.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileCreateRest):
(JSC::DFG::SpeculativeJIT::compileNewArray):
(JSC::DFG::SpeculativeJIT::compileNewArrayWithSpread):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::fireWatchpointAndMakeAllArrayStructuresSlowPut):

4:12 PM Changeset in webkit [252159] by Alan Coon
  • 8 edits in tags/Safari-609.1.10/Source/WebKit

Cherry-pick r252155. rdar://problem/56957850

Unreviewed, rolling out r251907.

Causes white flashing in some cases <rdar://problem/56957850>

Reverted changeset:

"Take down the gesture snapshot early when the back/forward
cache is not leveraged"
https://bugs.webkit.org/show_bug.cgi?id=203713
https://trac.webkit.org/changeset/251907

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252155 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4:00 PM Changeset in webkit [252158] by commit-queue@webkit.org
  • 5 edits in trunk

Unreviewed, rolling out r251940.
https://bugs.webkit.org/show_bug.cgi?id=203920

"it introduced test262 failures" (Requested by rkirsling on
#webkit).

Reverted changeset:

"HasProperty result of Proxy in prototype chain is
ignored"
https://bugs.webkit.org/show_bug.cgi?id=203560
https://trac.webkit.org/changeset/251940

3:57 PM Changeset in webkit [252157] by ysuzuki@apple.com
  • 2 edits in trunk/Source/bmalloc

Unreviewed, roll-out r251268 due to RAMification regression
https://bugs.webkit.org/show_bug.cgi?id=203121

The code was the bug, but it would be possible that this bug accidentally makes our policy better.
We should clean up to make this bug's behavior default. And we should look for a bit larger interval here.

  • bmalloc/Scavenger.cpp:

(bmalloc::Scavenger::threadRunLoop):

3:56 PM Changeset in webkit [252156] by jer.noble@apple.com
  • 3 edits
    2 adds in trunk

Screen locks while watching previously-muted-then-unmuted video
https://bugs.webkit.org/show_bug.cgi?id=203906
<rdar://problem/55821375>

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/video-unmuted-after-play-holds-sleep-assertion.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::setMuted):

LayoutTests:

  • media/video-unmuted-after-play-holds-sleep-assertion-expected.txt: Added.
  • media/video-unmuted-after-play-holds-sleep-assertion.html: Added.
3:53 PM Changeset in webkit [252155] by Chris Dumez
  • 8 edits in trunk/Source/WebKit

Unreviewed, rolling out r251907.

Causes white flashing in some cases <rdar://problem/56957850>

Reverted changeset:

"Take down the gesture snapshot early when the back/forward
cache is not leveraged"
https://bugs.webkit.org/show_bug.cgi?id=203713
https://trac.webkit.org/changeset/251907

3:36 PM Changeset in webkit [252154] by Alan Coon
  • 1 copy in tags/Safari-608.4.9.0.2

Tag Safari-608.4.9.0.2.

3:03 PM Changeset in webkit [252153] by dbates@webkit.org
  • 22 edits
    3 deletes in trunk/LayoutTests

Update SameSite tests for new semantics for empty and invalid SameSite attribute
https://bugs.webkit.org/show_bug.cgi?id=203755
<rdar://problem/50816282>

Reviewed by Brent Fulgham.

Update the tests and test expectations following CFNetwork change <rdar://problem/42290578> as we
now only recognize SameSite=Strict and SameSite=Lax. That is, we no longer treat SameSite= or
SameSite=<some garbage value> as SameSite=Strict.

MacOS Mojave does not have the fix for <rdar://problem/42290578> and so we land expected failure results.

  • http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt:
  • http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt:
  • http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt:
  • http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt:
  • http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt:
  • http/tests/cookies/same-site/popup-cross-site-post.html:
  • http/tests/cookies/same-site/popup-cross-site.html:
  • http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect.html:
  • http/tests/cookies/same-site/resources/fetch-after-navigating-iframe-in-cross-origin-page.php:
  • http/tests/cookies/same-site/resources/fetch-after-top-level-cross-origin-redirect.php:
  • http/tests/cookies/same-site/resources/fetch-after-top-level-navigation-from-cross-origin-page.php:
  • http/tests/cookies/same-site/resources/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page.php:
  • http/tests/cookies/same-site/resources/fetch-in-cross-origin-service-worker.html:
  • platform/ios-12/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt: Removed.
  • platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt: Removed.
  • platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt: Removed.
  • platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt: Removed.
  • platform/ios-12/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt: Removed.
  • platform/ios-12/http/tests/cookies/same-site/popup-cross-site-expected.txt: Removed.
  • platform/ios-12/http/tests/cookies/same-site/popup-cross-site-post-expected.txt: Removed.
  • platform/ios-12/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt: Removed.
  • platform/ios/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt: Removed.
  • platform/ios/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt: Removed.
  • platform/ios/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt: Removed.
  • platform/ios/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt: Removed.
  • platform/ios/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt: Removed.
  • platform/ios/http/tests/cookies/same-site/popup-cross-site-expected.txt: Removed.
  • platform/ios/http/tests/cookies/same-site/popup-cross-site-post-expected.txt: Removed.
  • platform/ios/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt: Removed.
  • platform/mac-mojave/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt:
  • platform/mac-mojave/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt:
  • platform/mac-mojave/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt:
  • platform/mac-mojave/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt:
  • platform/mac-mojave/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt:
  • platform/mac-mojave/http/tests/cookies/same-site/popup-cross-site-expected.txt:
  • platform/mac-mojave/http/tests/cookies/same-site/popup-cross-site-post-expected.txt:
  • platform/mac-mojave/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt:
  • platform/mac/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt: Removed.
  • platform/mac/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt: Removed.
  • platform/mac/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt: Removed.
  • platform/mac/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt: Removed.
  • platform/mac/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt: Removed.
  • platform/mac/http/tests/cookies/same-site/popup-cross-site-expected.txt: Removed.
  • platform/mac/http/tests/cookies/same-site/popup-cross-site-post-expected.txt: Removed.
  • platform/mac/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt: Removed.
2:42 PM Changeset in webkit [252152] by Keith Rollin
  • 9 edits in trunk/Tools

Unreviewed build fix: fix TestWebKitAPI in macCatalyst, tvOS, and
watchOS builds by conditionalizing some code on HAVE_UIWEBVIEW and
HAVE_PDFKIT. Follow-up to r251976.

  • TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm:
  • TestWebKitAPI/Tests/WebKitLegacy/ios/AudioSessionCategoryIOS.mm:
  • TestWebKitAPI/Tests/WebKitLegacy/ios/JSLockTakesWebThreadLock.mm:
  • TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollToRevealSelection.mm:
  • TestWebKitAPI/Tests/WebKitLegacy/ios/ScrollingDoesNotPauseMedia.mm:
  • TestWebKitAPI/Tests/WebKitLegacy/ios/SnapshotViaRenderInContext.mm:
  • TestWebKitAPI/Tests/ios/SetTimeoutFunction.mm:
  • TestWebKitAPI/config.h:
2:38 PM Changeset in webkit [252151] by Oriol Brufau
  • 2 edits in trunk/Source/WebCore

Keep None value at the end of the ListStyleType enum
https://bugs.webkit.org/show_bug.cgi?id=203883

Reviewed by Manuel Rego Casasnovas.

Bug 203837 added a String value at the end of the ListStyleType enum.
This patch moves it before None, in order to keep None at the end.

  • rendering/style/RenderStyleConstants.h:
2:21 PM Changeset in webkit [252150] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

All EWS status-bubbles shows #1 on security patches when patch is uploaded with webkit-patch --no-review
https://bugs.webkit.org/show_bug.cgi?id=203903

Reviewed by David Kilzer.

  • BuildSlaveSupport/ews-app/ews/fetcher.py:

(BugzillaPatchFetcher.fetch):

2:21 PM Changeset in webkit [252149] by Truitt Savell
  • 14 edits
    20 copies
    21 adds in trunk/LayoutTests

Unreviewed, rolling out r252138.

Caused 8 http/tests/cookies/same-site/ to fail

Reverted changeset:

"Update SameSite tests for new semantics for empty and invalid
SameSite attribute"
https://bugs.webkit.org/show_bug.cgi?id=203755
https://trac.webkit.org/changeset/252138

2:17 PM Changeset in webkit [252148] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

[ews] Increase timeout for svn-apply
https://bugs.webkit.org/show_bug.cgi?id=203909

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/steps.py:
1:49 PM Changeset in webkit [252147] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Layout tests in media/modern-media-controls/pip-placard are designed for MacOS only
https://bugs.webkit.org/show_bug.cgi?id=203859

Patch by Peng Liu <Peng Liu> on 2019-11-06
Reviewed by Eric Carlson.

  • platform/ios/TestExpectations:
1:45 PM Changeset in webkit [252146] by timothy@apple.com
  • 2 edits in trunk/LayoutTests

[ Mac Debug WK1 ] REGRESSION (r251262?): fast/scrolling/latching/scroll-select-bottom-test.html is a Flaky Failure
https://bugs.webkit.org/show_bug.cgi?id=203176
rdar://problem/56425901

Unreviewed test gardening.

This hasn't been flaky since r251565 when a related r251261 regression/bug was fixed.
I was also able to run it locally against r252065 a total of 1,100 times with no failures.

  • platform/mac-wk1/TestExpectations: Removed scroll-select-bottom-test.html.
1:18 PM Changeset in webkit [252145] by Andres Gonzalez
  • 1 edit in trunk/Tools/Scripts/webkitpy/common/config/contributors.json

Adding status field to my contributors.json entry.

1:06 PM Changeset in webkit [252144] by Alan Coon
  • 7 edits in branches/safari-608.4.9.0-branch/Source

Versioning.

1:02 PM Changeset in webkit [252143] by Alan Bujtas
  • 4 edits in trunk/Source/WebCore

[LFC][MarginCollapsing] Add Line::isConsideredEmpty
https://bugs.webkit.org/show_bug.cgi?id=203800
<rdar://problem/56854192>

Reviewed by Antti Koivisto.

https://www.w3.org/TR/CSS22/visuren.html#inline-formatting
Line boxes that contain no text, no preserved white space, no inline elements with non-zero margins, padding, or borders,
and no other in-flow content (such as images, inline blocks or inline tables), and do not end with a preserved newline
must be treated as zero-height line boxes for the purposes of determining the positions of any elements inside of them,
and must be treated as not existing for any other purpose.

Note that it does not necessarily mean visually non-empty line
<span style="font-size: 0px">this is still considered non-empty</span>

  • layout/blockformatting/BlockMarginCollapse.cpp:

(WebCore::Layout::BlockFormattingContext::MarginCollapse::marginsCollapseThrough const):

  • layout/inlineformatting/InlineLine.cpp:

(WebCore::Layout::Line::appendNonBreakableSpace):
(WebCore::Layout::Line::appendTextContent):
(WebCore::Layout::Line::appendNonReplacedInlineBox):
(WebCore::Layout::Line::appendReplacedInlineBox):
(WebCore::Layout::Line::appendLineBreak):

  • layout/inlineformatting/InlineLineBox.h:

(WebCore::Layout::LineBox::isConsideredEmpty const):
(WebCore::Layout::LineBox::setIsConsideredNonEmpty):

12:42 PM Changeset in webkit [252142] by dino@apple.com
  • 2 edits in trunk/Source/ThirdParty/ANGLE

[ANGLE] IOSurfaceSurfaceCGL has format and internalFormat flipped
https://bugs.webkit.org/show_bug.cgi?id=203911
<rdar://problem/56954291>

Reviewed by Simon Fraser.

Fix a typo where internalFormat and format are used in the
wrong order. The table of formats also had them backwards.

  • src/libANGLE/renderer/gl/cgl/IOSurfaceSurfaceCGL.cpp:

(rx::IOSurfaceSurfaceCGL::bindTexImage):

12:14 PM Changeset in webkit [252141] by Chris Dumez
  • 5 edits in trunk/Source/WebKit

Make sure we never end up with NetworkDataTaskCocoa TaskIdentifier conflicts
https://bugs.webkit.org/show_bug.cgi?id=203902

Reviewed by Antti Koivisto.

Consolidate the all the code related to data task registration / lookup / unregistration
in NetworkSessionCocoa and add a utility method (dataTaskMap()) to decide which data
task map to use. This makes it less error-prone and unlikely that someone would update
part of the code and fail to update the rest accordingly.

I also converted the debug assertions into release ones so that we crash in case of
id confusion instead of having a very bad and hard to diagnose bug like Bug 201822.

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.h:
  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):
(WebKit::NetworkDataTaskCocoa::~NetworkDataTaskCocoa):

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

(WebKit::NetworkSessionCocoa::dataTaskForIdentifier):
(WebKit::NetworkSessionCocoa::registerDataTask):
(WebKit::NetworkSessionCocoa::unregisterDataTask):

9:37 AM Changeset in webkit [252140] by dbates@webkit.org
  • 4 edits in trunk/LayoutTests

REGRESSION [ PHP ][ iOS ]: Two http/tests/cookies/same-site/set-first-party-* Tests are Failing
https://bugs.webkit.org/show_bug.cgi?id=203567
<rdar://problem/56708500>

Reviewed by Youenn Fablet.

A callable must be passed by string in PHP. Any other way seems to be non-standard and your
mileage may vary.

  • http/tests/cookies/resources/cookie-utilities.php:
  • http/tests/cookies/resources/cookie-utility.php:
  • platform/ios-wk2/TestExpectations:
9:36 AM Changeset in webkit [252139] by dbates@webkit.org
  • 4 edits in trunk/LayoutTests

http/tests/security/isolatedWorld/bypass-main-world-csp-worker.html is a Flakey Failure
https://bugs.webkit.org/show_bug.cgi?id=198924
<rdar://problem/51811010>

Reviewed by Brent Fulgham.

JavaScript alert() cannot be called from a Web Worker. Use postMessage() instead to post "PASS"
to the worker's owner document. The tests don't actually make use of this posted message, but
fixing the code to use postMessage() may come in handy for future tests.

  • http/tests/security/contentSecurityPolicy/resources/worker.php:
  • http/tests/security/contentSecurityPolicy/worker-script-src.html:
  • http/tests/security/isolatedWorld/bypass-main-world-csp-worker.html:
9:34 AM Changeset in webkit [252138] by dbates@webkit.org
  • 14 edits
    4 deletes in trunk/LayoutTests

Update SameSite tests for new semantics for empty and invalid SameSite attribute
https://bugs.webkit.org/show_bug.cgi?id=203755
<rdar://problem/50816282>

Reviewed by Brent Fulgham.

Update the tests and test expectations following CFNetwork change <rdar://problem/42290578> as we
now only recognize SameSite=Strict and SameSite=Lax. That is, we no longer treat SameSite= or
SameSite=<some garbage value> as SameSite=Strict.

  • http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt:
  • http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt:
  • http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt:
  • http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt:
  • http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt:
  • http/tests/cookies/same-site/popup-cross-site-post.html:
  • http/tests/cookies/same-site/popup-cross-site.html:
  • http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect.html:
  • http/tests/cookies/same-site/resources/fetch-after-navigating-iframe-in-cross-origin-page.php:
  • http/tests/cookies/same-site/resources/fetch-after-top-level-cross-origin-redirect.php:
  • http/tests/cookies/same-site/resources/fetch-after-top-level-navigation-from-cross-origin-page.php:
  • http/tests/cookies/same-site/resources/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page.php:
  • http/tests/cookies/same-site/resources/fetch-in-cross-origin-service-worker.html:
  • platform/ios-12/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt: Removed.
  • platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt: Removed.
  • platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt: Removed.
  • platform/ios-12/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt: Removed.
  • platform/ios-12/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt: Removed.
  • platform/ios-12/http/tests/cookies/same-site/popup-cross-site-expected.txt: Removed.
  • platform/ios-12/http/tests/cookies/same-site/popup-cross-site-post-expected.txt: Removed.
  • platform/ios-12/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt: Removed.
  • platform/ios/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt: Removed.
  • platform/ios/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt: Removed.
  • platform/ios/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt: Removed.
  • platform/ios/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt: Removed.
  • platform/ios/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt: Removed.
  • platform/ios/http/tests/cookies/same-site/popup-cross-site-expected.txt: Removed.
  • platform/ios/http/tests/cookies/same-site/popup-cross-site-post-expected.txt: Removed.
  • platform/ios/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt: Removed.
  • platform/mac-mojave/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt: Removed.
  • platform/mac-mojave/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt: Removed.
  • platform/mac-mojave/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt: Removed.
  • platform/mac-mojave/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt: Removed.
  • platform/mac-mojave/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt: Removed.
  • platform/mac-mojave/http/tests/cookies/same-site/popup-cross-site-expected.txt: Removed.
  • platform/mac-mojave/http/tests/cookies/same-site/popup-cross-site-post-expected.txt: Removed.
  • platform/mac-mojave/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt: Removed.
  • platform/mac/http/tests/cookies/same-site/fetch-after-navigating-iframe-in-cross-origin-page-expected.txt: Removed.
  • platform/mac/http/tests/cookies/same-site/fetch-after-top-level-cross-origin-redirect-expected.txt: Removed.
  • platform/mac/http/tests/cookies/same-site/fetch-after-top-level-navigation-from-cross-origin-page-expected.txt: Removed.
  • platform/mac/http/tests/cookies/same-site/fetch-after-top-level-navigation-initiated-from-iframe-in-cross-origin-page-expected.txt: Removed.
  • platform/mac/http/tests/cookies/same-site/fetch-in-cross-origin-service-worker-expected.txt: Removed.
  • platform/mac/http/tests/cookies/same-site/popup-cross-site-expected.txt: Removed.
  • platform/mac/http/tests/cookies/same-site/popup-cross-site-post-expected.txt: Removed.
  • platform/mac/http/tests/cookies/same-site/popup-same-site-via-cross-site-redirect-expected.txt: Removed.
9:30 AM WebKitGTK/AddingNewWebKit2API edited by yurys@chromium.org
Update links from Source/WebKit2/UIProcess to Source/WebKit/UIProcess (diff)
9:05 AM Changeset in webkit [252137] by aakash_jain@apple.com
  • 2 edits in trunk/Tools

Add watchlist category for BuildSlaveSupport
https://bugs.webkit.org/show_bug.cgi?id=203900

Reviewed by Jonathan Bedard.

  • Scripts/webkitpy/common/config/watchlist:
5:16 AM WebKitGTK/2.26.x edited by Adrian Perez de Castro
(diff)
5:13 AM Changeset in webkit [252136] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

[Cairo] Cairo graphics backend uses ImageBuffer::copyImage just to access native image buffer handles
https://bugs.webkit.org/show_bug.cgi?id=203884

Patch by Chris Lord <Chris Lord> on 2019-11-06
Reviewed by Carlos Garcia Campos.

The Cairo graphics backend uses ImageBuffer::copyImage(DontCopyBackingStore) frequently just to access
the native image pointer. This makes several functions unusable off-main-thread, so add an accessor
function to avoid doing this.

No new tests -- no change in behavior.

  • platform/graphics/ImageBuffer.h:
  • platform/graphics/cairo/CairoOperations.cpp:

(WebCore::Cairo::drawShadowLayerBuffer):
(WebCore::Cairo::drawShadowImage):
(WebCore::Cairo::fillShadowBuffer):

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::GraphicsContext::clipToImageBuffer):

  • platform/graphics/cairo/GraphicsContextImplCairo.cpp:

(WebCore::GraphicsContextImplCairo::clipToImageBuffer):

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::nativeImage const):

2:34 AM Changeset in webkit [252135] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[GTK][WPE] Add libfdk-aac-dev to the install-dependencies script
https://bugs.webkit.org/show_bug.cgi?id=203812

Patch by Philippe Normand <philn@igalia.com> on 2019-11-06
Reviewed by Carlos Garcia Campos.

  • gtk/install-dependencies:
  • wpe/install-dependencies:
1:39 AM Changeset in webkit [252134] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

REGRESSION(r249428): [GStreamer] VP9 video rendered green
https://bugs.webkit.org/show_bug.cgi?id=201422
<rdar://problem/55945741>

Patch by Philippe Normand <philn@igalia.com> on 2019-11-06
Reviewed by Carlos Garcia Campos.

Enable the texture upload GStreamer meta code path. Until
GStreamer 1.16.2 this workaround is needed to fix VP9 (vp9dec)
rendering. For downstream users cherry-picking the corresponding
GStreamer patch[0], an environment variable can be set to bypass
the reintroduced slow color conversion: $WEBKIT_GST_NO_RGBA_CONVERSION.

[0] https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/commit/8d32de090554cf29fe359f83aa46000ba658a693

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:

(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSinkGL):

1:27 AM Changeset in webkit [252133] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.26.2

WebKitGTK 2.26.2

1:26 AM Changeset in webkit [252132] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.26

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.26.2 release

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.26.2.
1:26 AM Changeset in webkit [252131] by Carlos Garcia Campos
  • 11 edits in releases/WebKitGTK/webkit-2.26/Source/WebKit

Merge r251423 - [GTK] C++ comments used in C header files
https://bugs.webkit.org/show_bug.cgi?id=203191

Reviewed by Žan Doberšek.

  • UIProcess/API/gtk/WebKitAutocleanups.h:
  • UIProcess/API/gtk/WebKitDefines.h:
  • UIProcess/API/gtk/WebKitForwardDeclarations.h:
  • UIProcess/API/gtk/WebKitWebViewBase.h:
  • UIProcess/API/wpe/WebKitAutocleanups.h:
  • UIProcess/API/wpe/WebKitDefines.h:
  • WebProcess/InjectedBundle/API/gtk/WebKitWebEditor.h:
  • WebProcess/InjectedBundle/API/gtk/WebKitWebExtensionAutocleanups.h:
  • WebProcess/InjectedBundle/API/wpe/WebKitWebEditor.h:
  • WebProcess/InjectedBundle/API/wpe/WebKitWebExtensionAutocleanups.h:
1:26 AM Changeset in webkit [252130] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.26/Source/WebKit

Merge r251363 - [GTK] Objects category in emoji picker is empty
https://bugs.webkit.org/show_bug.cgi?id=203189

Reviewed by Adrian Perez de Castro.

There's a typo in the first emopi name of objects section.

  • UIProcess/API/gtk/WebKitEmojiChooser.cpp:

(webkitEmojiChooserSetupEmojiSections): uted speaker -> muted speaker

1:26 AM Changeset in webkit [252129] by Carlos Garcia Campos
  • 7 edits in releases/WebKitGTK/webkit-2.26/Source

Merge r251122 - [GTK] White pages in AC mode: Cannot get default EGL display: EGL_BAD_PARAMETER
https://bugs.webkit.org/show_bug.cgi?id=202362

Reviewed by Carlos Alberto Lopez Perez.

Source/WebCore:

The problem is that PlatformDisplayLibWPE::initialize() is failing to initialize the EGL display for some
reason. We need to understand why, but we should also handle the case of failing to initialize the EGL display
and simply disable accelerated compositing mode to avoid white pages and crashes in websites using WebGL. This
patch doesn't actually fix the bug, it just handles the EGL display initialization failure.

  • platform/graphics/PlatformDisplay.cpp:

(WebCore::PlatformDisplay::~PlatformDisplay): Set s_sharedDisplayForCompositing to nullptr when the shared
display for compositing is destroyed.

  • platform/graphics/libwpe/PlatformDisplayLibWPE.cpp:

(WebCore::PlatformDisplayLibWPE::initialize): Return false when EGL display initialization fails.

  • platform/graphics/libwpe/PlatformDisplayLibWPE.h:

Source/WebKit:

  • WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:

(WebKit::DrawingAreaCoordinatedGraphics::updatePreferences): Disable accelerated compositing mode when we failed
to reate the shared display for compositing.

  • WebProcess/glib/WebProcessGLib.cpp:

(WebKit::WebProcess::platformInitializeWebProcess): Destroy the wpe display when initialization fails.

1:26 AM Changeset in webkit [252128] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.26/Source/WebKit

Merge r250707 - [GTK] WebAutomation: make setWindowRect synchronous
https://bugs.webkit.org/show_bug.cgi?id=202530

Reviewed by Carlos Alberto Lopez Perez.

Move/resize window is asynchronous in GTK, but automation expects it to be synchronous so that get window rect
after setting it always returns the value set. Use a nested run loop to wait for the configure events after the
move/resize.

  • UIProcess/API/glib/WebKitUIClient.cpp:

(UIClient::windowConfigureEventCallback):
(UIClient::setWindowFrameTimerFired):

12:28 AM Changeset in webkit [252127] by youenn@apple.com
  • 2 edits in trunk/Source/WebCore

There is no need to clean the content type header of a request if it is null
https://bugs.webkit.org/show_bug.cgi?id=203853

Reviewed by Geoffrey Garen.

No change of behavior.

  • loader/CrossOriginAccessControl.cpp:

(WebCore::cleanHTTPRequestHeadersForAccessControl):
Stop early if content type is null so that we do not log an error that is not a real error.

12:06 AM Changeset in webkit [252126] by Carlos Garcia Campos
  • 18 edits
    8 adds in trunk

[GTK] Implement support for Pointer Lock API
https://bugs.webkit.org/show_bug.cgi?id=202956

Reviewed by Carlos Alberto Lopez Perez.

.:

Enable Pointer Lock for GTK port.

  • Source/cmake/OptionsGTK.cmake:

Source/WebKit:

Add platform specific implementation of Pointer Lock for the GTK port.

  • PlatformGTK.cmake: Generate code for pointer-constraints and relative-pointer Wayland protocols.
  • Shared/NativeWebMouseEvent.h: Add optional mouse movement delta.
  • Shared/gtk/NativeWebMouseEventGtk.cpp:

(WebKit::NativeWebMouseEvent::NativeWebMouseEvent): Pass movement delta to WebEventFactory::createWebMouseEvent().

  • Shared/gtk/WebEventFactory.cpp:

(WebKit::WebEventFactory::createWebMouseEvent): Initialize deltaX and deltaY for motion events using the received delta.

  • Shared/gtk/WebEventFactory.h: Add optional mouse movement delta.
  • SourcesGTK.txt: Add new files to compilation.
  • UIProcess/API/glib/WebKitUIClient.cpp: Add implementation for requestPointerLock and didLosePointerLock.
  • UIProcess/API/glib/WebKitWebView.cpp:

(webkitWebViewRequestPointerLock): Call webkitWebViewBaseRequestPointerLock().
(webkitWebViewDidLosePointerLock): Call webkitWebViewBaseDidLosePointerLock().

  • UIProcess/API/glib/WebKitWebViewPrivate.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseDispose): Unlock the pointer and release the PointerLockManager.
(webkitWebViewBaseHandleMouseEvent): Initialize the mouse movement delta for motion events and save the current event.
(webkitWebViewBaseMotionNotifyEvent): Let PointerLockManager handle motion events while pointer is locked.
(webkitWebViewBaseRequestPointerLock): Create a PointerLockManager and request it to lock the pointer.
(webkitWebViewBaseDidLosePointerLock): Request PointerLockManager to unlock the pointer.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/gtk/PointerLockManager.cpp: Added.

(WebKit::PointerLockManager::create):
(WebKit::PointerLockManager::PointerLockManager):
(WebKit::PointerLockManager::~PointerLockManager):
(WebKit::PointerLockManager::lock):
(WebKit::PointerLockManager::unlock):
(WebKit::PointerLockManager::handleMotion):

  • UIProcess/gtk/PointerLockManager.h: Added.

(WebKit::PointerLockManager::didReceiveMotionEvent):

  • UIProcess/gtk/PointerLockManagerWayland.cpp: Added.

(WebKit::PointerLockManagerWayland::PointerLockManagerWayland):
(WebKit::PointerLockManagerWayland::~PointerLockManagerWayland):
(WebKit::PointerLockManagerWayland::lock):
(WebKit::PointerLockManagerWayland::unlock):

  • UIProcess/gtk/PointerLockManagerWayland.h: Added.
  • UIProcess/gtk/PointerLockManagerX11.cpp: Added.

(WebKit::PointerLockManagerX11::PointerLockManagerX11):
(WebKit::PointerLockManagerX11::didReceiveMotionEvent):

  • UIProcess/gtk/PointerLockManagerX11.h: Added.

Tools:

  • WebKitTestRunner/gtk/EventSenderProxyGtk.cpp:

(WTR::getGDKKeySymForKeyRef): Handle escape key.

LayoutTests:

Unskip Pointer Lock tests and update expectations for tests still failing.

  • platform/gtk/TestExpectations:
  • platform/gtk/pointer-lock/mouse-event-delivery-expected.txt: Added.

Nov 5, 2019:

10:41 PM Changeset in webkit [252125] by Chris Dumez
  • 5 edits
    1 add in trunk

[iOS] Scroll position does not get restored when doing a history navigation while the reader view is shown
https://bugs.webkit.org/show_bug.cgi?id=203871
<rdar://problem/56564603>

Reviewed by Tim Horton.

Source/WebKit:

Previously, attempts to restore the scroll position on the web view while it is being dynamically resized
would get ignored. Instead, we now delay restoring the scroll position until after the view is resized.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _restorePageScrollPosition:scrollOrigin:previousObscuredInset:scale:]):
(-[WKWebView _restorePageStateToUnobscuredCenter:scale:]):

Tools:

Add API test coverage.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit/simple-tall.html:
  • TestWebKitAPI/Tests/WebKitCocoa/RestoreScrollPosition.mm: Added.

(TestWebKitAPI::TEST):

10:36 PM Changeset in webkit [252124] by mark.lam@apple.com
  • 10 edits in trunk/Source

WTF::RunLoop should not depend on isMainThread() idiom.
https://bugs.webkit.org/show_bug.cgi?id=203873
<rdar://problem/56524251>

Reviewed by Saam Barati, Ryosuke Niwa, and Devin Rousso.

Source/JavaScriptCore:

  • inspector/JSGlobalObjectScriptDebugServer.cpp:

(Inspector::JSGlobalObjectScriptDebugServer::runLoopMode):

  • inspector/JSGlobalObjectScriptDebugServer.h:
  • inspector/remote/cocoa/RemoteConnectionToTargetCocoa.mm:

(Inspector::RemoteTargetInitializeGlobalQueue):
(Inspector::RemoteConnectionToTarget::setupRunLoop):
(Inspector::RemoteConnectionToTarget::teardownRunLoop):

Source/WTF:

The isMainThread() idiom is only meaningful for WebCore. It is less meaningful
for JSC since a VM instance can be entered from multiple threads, as long as only
one thread enters it at any time. Hence, the concept of a main thread doesn't
make sense at the JSC level.

Since r251036, we started using a WTF::String to represent the RunLoop mode.
This caused problems for JSC clients when USE(CF) since it necessitated the use of
StringWrapperCFAllocator to track the life cycle of the CFStringRef generated from
the WTF::String.

To fix this problem, we should restore the original behavior of using CFStringRefs
as the RunLoop mode token.

  • wtf/RunLoop.h:

(WTF::RunLoop::cycle): Deleted.

  • wtf/cf/RunLoopCF.cpp:

(WTF::RunLoop::cycle):

  • wtf/generic/RunLoopGeneric.cpp:

(WTF::RunLoop::cycle):

  • wtf/glib/RunLoopGLib.cpp:

(WTF::RunLoop::cycle):

  • wtf/win/RunLoopWin.cpp:

(WTF::RunLoop::cycle):

9:17 PM Changeset in webkit [252123] by Kate Cheney
  • 7 edits in trunk

Layout test website-data-removal-for-site-navigated-to-with-link-decoration.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=203706
Source/WebKit:

<rdar://problem/56801615>

Reviewed by Chris Dumez.

No new tests, this change is tested by the existing resourceLoadStatistics
tests.

This test started flaking when a new memory store was being created
between tests to maintain consistency. The call to grandfatherExistingWebsiteData
from populateMemoryStoreFromDisk in the persistent storage was
async, causing a race condition that led to occasional failures.
Adding a completion handler and changing the callsite of
populateMemoryStoreFromDisk should fix this problem.

  • NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.cpp:

(WebKit::ResourceLoadStatisticsPersistentStorage::populateMemoryStoreFromDisk):

  • NetworkProcess/Classifier/ResourceLoadStatisticsPersistentStorage.h:
  • NetworkProcess/Classifier/WebResourceLoadStatisticsStore.cpp:

(WebKit::WebResourceLoadStatisticsStore::populateMemoryStoreFromDisk):

LayoutTests:

<rdar://problem/56801615>

Reviewed by Chris Dumez.

Since the state is reset between tests, the call to
setUseITPDatabase(false) is redundant.

  • http/tests/resourceLoadStatistics/log-cross-site-load-with-link-decoration.html:
  • http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration.html:
7:56 PM Changeset in webkit [252122] by rniwa@webkit.org
  • 5 edits
    2 adds in trunk

Integrate visualViewport's resize event with HTML5 event loop
https://bugs.webkit.org/show_bug.cgi?id=203842

Reviewed by Simon Fraser.

Source/WebCore:

Integrate the visual viewport API's resize event with HTML5 event loop
as intended in r251867.

Test: fast/events/resize-subframe-in-rendering-update.html

  • dom/DocumentEventQueue.cpp:

(WebCore::DocumentEventQueue::enqueueResizeEvent): Deleted.

  • dom/DocumentEventQueue.h:
  • page/VisualViewport.cpp:

(WebCore::VisualViewport::update):
(WebCore::VisualViewport::enqueueResizeEvent): Deleted.

LayoutTests:

Added a test to make sure resize event fires on visualViewport in the frame tree order.

  • fast/visual-viewport/visual-viewport-resize-subframe-in-rendering-update-expected.txt: Added.
  • fast/visual-viewport/visual-viewport-resize-subframe-in-rendering-update.html: Added.
7:01 PM Changeset in webkit [252121] by Justin Fan
  • 1798 edits
    441 copies
    539 adds
    5 deletes in trunk/LayoutTests

[WebGL] Update WebGL 1 tests to prep for WebGL Conformance bot
https://bugs.webkit.org/show_bug.cgi?id=203763

Reviewed by Dean Jackson.

Remove the 1.0.2 suite and update 1.0.3 suite, which supercedes the former.

  • webgl/1.0.2: Removed.
  • webgl/1.0.3: Updated to latest Khronos version and expectations to match. Unskip all non-timeout/non-crashing tests.
6:38 PM Changeset in webkit [252120] by Alan Coon
  • 7 edits in tags/Safari-609.1.9.1/Source

Versioning.

6:36 PM Changeset in webkit [252119] by Alan Coon
  • 1 copy in tags/Safari-609.1.9.1

New tag.

6:02 PM Changeset in webkit [252118] by Fujii Hironori
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r251908.

This workaround is not needed after r252086.

Reverted changeset:

"[WinCairo][Clang] Unreviewed build fix"
https://bugs.webkit.org/show_bug.cgi?id=203663
https://trac.webkit.org/changeset/251908

  • workers/service/context/ServiceWorkerThreadProxy.cpp:

(WebCore::ServiceWorkerThreadProxy::identifier const): Deleted.

  • workers/service/context/ServiceWorkerThreadProxy.h:
5:55 PM Changeset in webkit [252117] by Alan Coon
  • 7 edits in branches/safari-608-branch/Source

Versioning.

5:38 PM Changeset in webkit [252116] by wilander@apple.com
  • 5 edits in trunk

Temporarily turn off NSURLSession isolation
https://bugs.webkit.org/show_bug.cgi?id=201822

Reviewed by Chris Dumez.

Source/WebKit:

Existing tests skipped.

Re-enabling it is tracked in rdar://problem/56921584.

  • NetworkProcess/cache/NetworkCacheStorage.h:

Bumps the version to force a clean cache.

  • NetworkProcess/cocoa/NetworkDataTaskCocoa.mm:

(WebKit::NetworkDataTaskCocoa::NetworkDataTaskCocoa):

Skips setting needsIsolatedSession.

LayoutTests:

Re-enabling it is tracked in rdar://problem/56921584.

  • platform/wk2/TestExpectations:

Skipped the associated tests.

5:30 PM Changeset in webkit [252115] by Tadeu Zagallo
  • 9 edits in trunk/Source/JavaScriptCore

[WebAssembly] Allow tiering up from LLInt to BBQ
https://bugs.webkit.org/show_bug.cgi?id=203793

Reviewed by Yusuke Suzuki.

Even though the interpreter was overall neutral on throughput, it's still a regression in pathological
cases where massive functions spend too long in the LLInt while compiling the function with OMG. This
patch makes it so that the LLInt can tier up to BBQ from the prologue, while still tiering up to OMG from
from loops. This is a huge speed up on the tsf-wasm subtest of JS2:

# BBQ -> OMG
Startup: 100.680
Runtime: 1.852
Score: 13.654

# LLInt -> OMG
Startup: 378.205
Runtime: 1.291
Score: 22.082

# LLInt -> BBQ -> OMG
Startup: 405.983
Runtime: 2.311
Score: 30.623

  • runtime/Options.cpp:

(JSC::overrideDefaults):

  • runtime/OptionsList.h:
  • wasm/WasmBBQPlan.cpp:

(JSC::Wasm::BBQPlan::BBQPlan):
(JSC::Wasm::BBQPlan::work):
(JSC::Wasm::BBQPlan::compileFunction):

  • wasm/WasmEntryPlan.cpp:

(JSC::Wasm::EntryPlan::EntryPlan):

  • wasm/WasmEntryPlan.h:
  • wasm/WasmLLIntTierUpCounter.h:

(JSC::Wasm::LLIntTierUpCounter::optimizeAfterWarmUp):
(JSC::Wasm::LLIntTierUpCounter::optimizeSoon):

  • wasm/WasmOMGPlan.cpp:

(JSC::Wasm::OMGPlan::work):

  • wasm/WasmSlowPaths.cpp:

(JSC::LLInt::jitCompileAndSetHeuristics):

4:36 PM Changeset in webkit [252114] by Alan Coon
  • 2 edits in tags/Safari-609.1.10/Source/WebCore

Cherry-pick r252079. rdar://problem/56917649

REGRESSION (r251930): Flaky WK1 crash in printing/pseudo-class-outside-page.html
https://bugs.webkit.org/show_bug.cgi?id=203855

Reviewed by Simon Fraser.

Exit early when executing media queries removes FrameView.

  • page/Frame.cpp: (WebCore::Frame::setPrinting):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252079 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4:36 PM Changeset in webkit [252113] by Alan Coon
  • 2 edits in tags/Safari-609.1.10/Source/WebCore

Cherry-pick r252013. rdar://problem/56832747

Collect all documents before iterating in Page::forEachDocument
https://bugs.webkit.org/show_bug.cgi?id=203811
<rdar://problem/56832747>

Patch by Alex Christensen <achristensen@webkit.org> on 2019-11-04
Reviewed by Ryosuke Niwa.

Some calls to forEachDocument, notably those introduced in r251930, can mutate the frames and documents as they are being iterated.
This causes problems that can be avoided by iterating, keeping all Documents referenced, then iterating the referenced Documents.

  • page/Page.cpp: (WebCore::Page::forEachDocument):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@252013 268f45cc-cd09-0410-ab3c-d52691b4dbfc

4:13 PM Changeset in webkit [252112] by Alan Coon
  • 1 copy in tags/Safari-608.4.9.0.1

Tag Safari-608.4.9.0.1.

4:11 PM Changeset in webkit [252111] by Alan Coon
  • 1 copy in tags/Safari-608.4.9.1.1

Tag Safari-608.4.9.1.1.

4:09 PM Changeset in webkit [252110] by Alan Coon
  • 1 copy in tags/Safari-608.4.9.3.1

Tag Safari-608.4.9.3.1.

4:08 PM Changeset in webkit [252109] by Alan Coon
  • 1 copy in tags/Safari-608.4.9.4.1

Tag Safari-608.4.9.4.1.

4:01 PM Changeset in webkit [252108] by Alan Coon
  • 11 edits in branches/safari-608.4.9.4-branch

Revert r252029. rdar://problem/56864381

4:01 PM Changeset in webkit [252107] by Alan Coon
  • 3 edits
    2 deletes in branches/safari-608.4.9.4-branch

Revert r252039. rdar://problem/56887511

4:01 PM Changeset in webkit [252106] by Alan Coon
  • 5 edits in branches/safari-608.4.9.4-branch/Source

Revert r252040. rdar://problem/56887517

4:01 PM Changeset in webkit [252105] by Alan Coon
  • 5 edits in branches/safari-608.4.9.4-branch

Revert r252054. rdar://problem/56903274

3:57 PM Changeset in webkit [252104] by Alan Coon
  • 7 edits in branches/safari-608.4.9.4-branch/Source

Versioning.

3:42 PM Changeset in webkit [252103] by Adrian Perez de Castro
  • 22 edits
    2 adds in releases/WebKitGTK/webkit-2.26

Merge r250488 - Crash when removing the target element while animating its attributes
https://bugs.webkit.org/show_bug.cgi?id=202247

Reviewed by Darin Adler.

Source/WebCore:

If SMIL is animating a CSS attribute, there is a chance the animation is
ended while it is being started or progressed. For that reason, the member
SVGAnimateElementBase::m_animator has to be made RefPtr and it has to be
be protected in resetAnimatedType() and calculateAnimatedValue().

While SMILTimeContainer::updateAnimations() is calling progress() for the
scheduled animation elements, SMILTimeContainer::unschedule() might get
called if processing an animation causes events to be dispatched. For that
reason we need to copy the scheduled animations Vector before processing
them so we avoid changing the Vector while looping through its items.

Remove the guard SMILTimeContainer::m_preventScheduledAnimationsChanges
which was added in r129670 for debugging purposes. In some situations,
the scheduled animations map could be modified out from under some of the
functions of SMILTimeContainer.

Test: svg/animations/animate-and-remove-target-element.html

  • svg/SVGAnimateElementBase.cpp:

(WebCore::SVGAnimateElementBase::resetAnimatedType):
(WebCore::SVGAnimateElementBase::calculateAnimatedValue):

  • svg/SVGAnimateElementBase.h:
  • svg/SVGElement.cpp:

(WebCore::SVGElement::createAnimator):

  • svg/SVGElement.h:
  • svg/animation/SMILTimeContainer.cpp:

(WebCore::SMILTimeContainer::schedule):
(WebCore::SMILTimeContainer::unschedule):
(WebCore::SMILTimeContainer::setElapsed):
(WebCore::SMILTimeContainer::sortByPriority):
(WebCore::SMILTimeContainer::processAnimations):
(WebCore::SMILTimeContainer::processScheduledAnimations):
(WebCore::SMILTimeContainer::updateAnimations):
(WebCore::SMILTimeContainer::~SMILTimeContainer): Deleted.

  • svg/animation/SMILTimeContainer.h:
  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::calculateNextProgressTime const):

  • svg/properties/SVGAnimatedPropertyAccessorImpl.h:
  • svg/properties/SVGAnimatedPropertyAnimatorImpl.h:
  • svg/properties/SVGAnimatedPropertyPairAccessorImpl.h:
  • svg/properties/SVGAnimatedPropertyPairAnimator.h:
  • svg/properties/SVGAnimatedPropertyPairAnimatorImpl.h:
  • svg/properties/SVGAttributeAnimator.h:
  • svg/properties/SVGMemberAccessor.h:

(WebCore::SVGMemberAccessor::createAnimator const):

  • svg/properties/SVGPrimitivePropertyAnimator.h:

(WebCore::SVGPrimitivePropertyAnimator::create):

  • svg/properties/SVGPropertyAnimatorFactory.h:

(WebCore::SVGPropertyAnimatorFactory::createAnimator):

  • svg/properties/SVGPropertyOwnerRegistry.h:
  • svg/properties/SVGPropertyRegistry.h:
  • svg/properties/SVGValuePropertyAnimatorImpl.h:
  • svg/properties/SVGValuePropertyListAnimatorImpl.h:

LayoutTests:

  • svg/animations/animate-and-remove-target-element-expected.txt: Added.
  • svg/animations/animate-and-remove-target-element.html: Added.
3:41 PM Changeset in webkit [252102] by Adrian Perez de Castro
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.26

Merge r249911 - JSObject::putInlineSlow should not ignore "proto" for Proxy
https://bugs.webkit.org/show_bug.cgi?id=200386
<rdar://problem/53854946>

Reviewed by Yusuke Suzuki.

JSTests:

  • stress/proxy-proto-in-prototype-chain.js: Added.
  • stress/proxy-property-replace-structure-transition.js: Added.

Source/JavaScriptCore:

We used to ignore 'proto' in putInlineSlow when the object in question
was Proxy. There is no reason for this, and it goes against the spec. So
I've removed that condition. This also has the effect that it fixes an
assertion firing inside our inline caching code which dictates that for a
property replace that the base value's structure must be equal to the
structure when we grabbed the structure prior to the put operation.
The old code caused a weird edge case where we broke this invariant.

  • runtime/JSObject.cpp:

(JSC::JSObject::putInlineSlow):

3:35 PM Changeset in webkit [252101] by Alan Coon
  • 1 copy in branches/safari-608.4.9.4-branch

New branch.

3:29 PM Changeset in webkit [252100] by Alan Coon
  • 11 edits in branches/safari-608.4.9.3-branch

Revert r252029. rdar://problem/56864381

3:29 PM Changeset in webkit [252099] by Alan Coon
  • 3 edits
    2 deletes in branches/safari-608.4.9.3-branch

Revert r252039. rdar://problem/56887511

3:29 PM Changeset in webkit [252098] by Alan Coon
  • 5 edits in branches/safari-608.4.9.3-branch/Source

Revert r252040. rdar://problem/56887517

3:29 PM Changeset in webkit [252097] by Alan Coon
  • 5 edits in branches/safari-608.4.9.3-branch

Revert r252054. rdar://problem/56903274

3:25 PM Changeset in webkit [252096] by Alan Coon
  • 7 edits in branches/safari-608.4.9.3-branch/Source

Versioning.

3:19 PM Changeset in webkit [252095] by Adrian Perez de Castro
  • 3 edits in releases/WebKitGTK/webkit-2.26/Source/WebCore

Merge r251771 - ImageDecoders: use a thread safe data buffer for Cairo backing store
https://bugs.webkit.org/show_bug.cgi?id=201727
<rdar://problem/56665041>

Reviewed by Fujii Hironori.

Use SharedBuffer::dataSegment which is ThreadSafeRefCounted.

  • platform/graphics/ImageBackingStore.h:

(WebCore::ImageBackingStore::setSize):
(WebCore::ImageBackingStore::ImageBackingStore):

  • platform/image-decoders/cairo/ImageBackingStoreCairo.cpp:

(WebCore::ImageBackingStore::image const):

3:18 PM Changeset in webkit [252094] by Adrian Perez de Castro
  • 13 edits in releases/WebKitGTK/webkit-2.26/Source/WebCore

Merge r251836 - [GTK][WPE] ImageDecoders: use SharedBuffer::DataSegment instead of SharedBuffer
https://bugs.webkit.org/show_bug.cgi?id=202807

Reviewed by Adrian Perez de Castro.

Because SharedBuffer::DataSegment is ThreadSafeRefCounted.

  • platform/image-decoders/ScalableImageDecoder.h:
  • platform/image-decoders/bmp/BMPImageDecoder.cpp:

(WebCore::BMPImageDecoder::setData):
(WebCore::BMPImageDecoder::decodeHelper):

  • platform/image-decoders/bmp/BMPImageDecoder.h:
  • platform/image-decoders/bmp/BMPImageReader.h:

(WebCore::BMPImageReader::readUint16):
(WebCore::BMPImageReader::readUint32):
(WebCore::BMPImageReader::setData):
(WebCore::BMPImageReader::readUint16 const):
(WebCore::BMPImageReader::readUint32 const):

  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::decode):

  • platform/image-decoders/gif/GIFImageReader.h:

(GIFImageReader::setData):

  • platform/image-decoders/ico/ICOImageDecoder.cpp:

(WebCore::ICOImageDecoder::setData):
(WebCore::ICOImageDecoder::decodeAtIndex):

  • platform/image-decoders/ico/ICOImageDecoder.h:
  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(WebCore::JPEGImageReader::decode):

  • platform/image-decoders/jpeg2000/JPEG2000ImageDecoder.cpp:

(WebCore::JPEG2000ImageDecoder::decode):

  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageReader::decode):

  • platform/image-decoders/webp/WEBPImageDecoder.cpp:

(WebCore::WEBPImageDecoder::decode):

3:18 PM WebKitGTK/2.26.x edited by Adrian Perez de Castro
(diff)
3:18 PM Changeset in webkit [252093] by Adrian Perez de Castro
  • 3 edits in releases/WebKitGTK/webkit-2.26/Source/WebCore

Merge r252044 - [FreeType] Too slow running encoding/legacy-mb-korean/euc-kr WPT tests
https://bugs.webkit.org/show_bug.cgi?id=203544

Reviewed by Carlos Alberto Lopez Perez.

Use a cache for system fallbacks to keep the fonts sorted by font description. When a system fallback is needed
again for the same font description, but different characters, we just iterate the cached font set comparing the
charsets to get the best one. This avoids using FcFontMatch and FcFontSort is only called once per font description.

  • platform/graphics/FontCache.h:
  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::CachedFontSet::CachedFontSet):
(WebCore::CachedFontSet::bestForCharacters):
(WebCore::FallbackFontDescriptionKey::FallbackFontDescriptionKey):
(WebCore::FallbackFontDescriptionKey::operator== const):
(WebCore::FallbackFontDescriptionKey::operator!= const):
(WebCore::FallbackFontDescriptionKey::isHashTableDeletedValue const):
(WebCore::FallbackFontDescriptionKey::computeHash const):
(WebCore::FallbackFontDescriptionKeyHash::hash):
(WebCore::FallbackFontDescriptionKeyHash::equal):
(WebCore::systemFallbackCache):
(WebCore::FontCache::systemFallbackForCharacters):
(WebCore::FontCache::platformPurgeInactiveFontData):

3:09 PM Changeset in webkit [252092] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.26/Source/WebKit

[GTK][WPE] Don't use prgname in dbus-proxy socket path
https://bugs.webkit.org/show_bug.cgi?id=201979

The path length for the socket is limited to 108 bytes so it is easy for a long
prgname to cause it to get truncated and fail. Since we only allow the socket
path into the sandbox the unique directory isn't necessary.

Reviewed by Michael Catanzaro.

  • UIProcess/Launcher/glib/BubblewrapLauncher.cpp:

(WebKit::XDGDBusProxyLauncher::setAddress):

3:09 PM WebKitGTK/2.26.x edited by Adrian Perez de Castro
(diff)
3:08 PM Changeset in webkit [252091] by Alan Coon
  • 1 copy in branches/safari-608.4.9.3-branch

New branch.

3:08 PM Changeset in webkit [252090] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.26/Source/ThirdParty/ANGLE

Merge r250298 - [GTK] ANGLE's eglplatform.h is build broken with -DENABLE_X11_PLATFORM=OFF
https://bugs.webkit.org/show_bug.cgi?id=198621

Reviewed by Carlos Garcia Campos.

  • PlatformGTK.cmake: Define WL_EGL_PLATFORM to prefer Wayland type

definitions with ENABLE_WAYLAND_TARGET=ON and ENABLE_X11_TARGET=OFF
to avoid ANGLE's eglplatform.h from trying to include the X11 headers.

3:08 PM WebKitGTK/2.26.x edited by Adrian Perez de Castro
(diff)
3:06 PM Changeset in webkit [252089] by Adrian Perez de Castro
  • 7 edits in releases/WebKitGTK/webkit-2.26/Source/WebKit

Merge r250717 - [GTK] Crash in WebChromeClient::createDisplayRefreshMonitor
https://bugs.webkit.org/show_bug.cgi?id=202551

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-10-04
Reviewed by Žan Doberšek.

The crash happens when the drawing area is destroyed due to a page close. The layer tree host is invalidated
causing a layer flush that ends up trying to create a display refresh monitor, which requires the drawing
area. We need to null-check the drawing area in WebChromeClient::createDisplayRefreshMonitor() but we should
also ensure that layer flush is not performed after layer tree host is destroyed.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createDisplayRefreshMonitor const): Null-check drawing area before using it.

  • WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.cpp:

(WebKit::CompositingCoordinator::CompositingCoordinator): Receive a WebPage instead of a WebCore::Page and
create the root layer here.
(WebKit::CompositingCoordinator::~CompositingCoordinator): Do not purge backing stores again, invalidate should
always be called right before the object is destroyed.
(WebKit::CompositingCoordinator::flushPendingLayerChanges): Get WebCore::Page from WebPage.
(WebKit::CompositingCoordinator::timestamp const): Ditto.
(WebKit::CompositingCoordinator::syncDisplayState): Ditto.
(WebKit::CompositingCoordinator::notifyFlushRequired): Do not continue if m_rootLayer is nullptr.
(WebKit::CompositingCoordinator::deviceScaleFactor const): Get WebCore::Page from WebPage.
(WebKit::CompositingCoordinator::pageScaleFactor const): Ditto.
(WebKit::CompositingCoordinator::createGraphicsLayer): Call attachLayer() instead of duplicating the code.
(WebKit::CompositingCoordinator::setVisibleContentsRect): Get WebCore::Page from WebPage.

  • WebProcess/WebPage/CoordinatedGraphics/CompositingCoordinator.h:
  • WebProcess/WebPage/CoordinatedGraphics/DrawingAreaCoordinatedGraphics.cpp:

(WebKit::DrawingAreaCoordinatedGraphics::discardPreviousLayerTreeHost): Do not call LayerTreeHost::invalidate()
that has been removed.

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.cpp:

(WebKit::LayerTreeHost::LayerTreeHost): Construct the coordinator after the sceneIntegration.
(WebKit::LayerTreeHost::~LayerTreeHost): Invalidate everything here now. We don't really need invalidate()
method since LayerTreeHost is not refcounted and we always called invalidate right before deleting the object.
(WebKit::LayerTreeHost::layerFlushTimerFired): This can't happen on invalid state anymore.

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeHost.h:
3:06 PM WebKitGTK/2.26.x edited by Adrian Perez de Castro
(diff)
3:05 PM Changeset in webkit [252088] by Alan Coon
  • 7 edits in branches/safari-608.4.9.2-branch/Source

Versioning.

2:59 PM Changeset in webkit [252087] by Jonathan Bedard
  • 2 edits in trunk/Tools

REGRESSION(r252031): layout tests fail to run in non apple ports after r252031 (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=203844

Rubber-stamped by Aakash Jain.

Remove infinite loop for Windows.

  • Scripts/webkitpy/port/win.py:

(WinPort._path_to_default_image_diff):
(WinPort._path_to_image_diff): Deleted.

2:57 PM Changeset in webkit [252086] by Fujii Hironori
  • 5 edits in trunk

.:
[Win][CMake] Build WebCore as an OBJECT library for WinCairo port
https://bugs.webkit.org/show_bug.cgi?id=203663

Reviewed by Ross Kirsling.

WebCore is using declspec(dllexport) to export symbols, but it
is built as a static library rather than a DLL. If any symbols in
an object file aren't referenced from WebKit.dll, they won't be
included in WebKit.dll.

This issue can be solved either by using OBJECT library for
WebCore or using /WHOLEARCHIVE:WebCore.lib for WebKit.

This change takes OBJECT library approach becuase it doesn't
generate unnecessary static libs (WebCore.lib) and it's already
used for non-unified source builds for the library size issue (Bug
196866 Comment 4).

However, AppleWin can't use it because the Apple internal builds
need to generate the static libs and OBJECT library doesn't work
well with makesafeseh.obj.

  • Source/cmake/OptionsWin.cmake: Removed code overriding library types.
  • Source/cmake/OptionsWinCairo.cmake: Use OBJECT library types for WebCore and WebCoreTestSupport.

Source/WebCore:
[Win][CMake] Build WebCore as an OBJECT library unless Apple internal builds
https://bugs.webkit.org/show_bug.cgi?id=203663

Reviewed by Ross Kirsling.

No behavioral changes.

  • CMakeLists.txt: Changed WebCoreTestSupport not to link with

WebCore for Windows. Because WebKit.dll exports WebCore symbols,
they will be duplicated with WebCore.

2:53 PM Changeset in webkit [252085] by Adrian Perez de Castro
  • 2 edits in releases/WebKitGTK/webkit-2.26/Source/WebCore

Merge r250901 - REGRESSION(r246399): [GStreamer] Problems playing AAC streams
https://bugs.webkit.org/show_bug.cgi?id=202204

Reviewed by Xabier Rodriguez-Calvar.

Push the EOS event in the WebKitWebSrc element when the internal
queue is empty only for non-live resources. In the live case the
queue might drain temporarily but that's OK because data would
still be queued in downstream elements.

No new tests, the EOS event was pushed too early because of this
regression but there's no way to differentiate it from an expected
event in a layout test.

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcCreate):

2:53 PM WebKitGTK/2.26.x edited by Adrian Perez de Castro
(diff)
2:29 PM Changeset in webkit [252084] by Alan Coon
  • 1 copy in branches/safari-608.4.9.2-branch

New branch.

2:22 PM Changeset in webkit [252083] by pvollan@apple.com
  • 12 edits in trunk/Source/WebKit

Eliminate mach lookup to cfprefsd on process startup
https://bugs.webkit.org/show_bug.cgi?id=202866

Reviewed by Geoffrey Garen.

Currently, the WebContent and Networking process is calling CFBundleGetValueForInfoDictionaryKey on startup
to get the entry point function name into the WebKit bundle. This causes a mach lookup to cfprefsd which
should be avoided. Instead, we can send the service name as part of the bootstrap message when the UI process
is starting the process, and have the new process read this value from the message on startup to determine
the name of the entry point. This is possibly also an improvement in launch time, since we avoid reading a
value from Info.plist.

  • NetworkProcess/EntryPoint/Cocoa/XPCService/NetworkService/Info-OSX.plist:
  • NetworkProcess/EntryPoint/Cocoa/XPCService/NetworkService/Info-iOS.plist:
  • PluginProcess/EntryPoint/Cocoa/XPCService/PluginService.64.Info.plist:
  • Shared/EntryPointUtilities/Cocoa/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceEventHandler):

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::ProcessLauncher::launchProcess):

  • WebProcess/EntryPoint/Cocoa/XPCService/WebContentService/Info-OSX.plist:
  • WebProcess/EntryPoint/Cocoa/XPCService/WebContentService/Info-iOS.plist:
2:08 PM Changeset in webkit [252082] by Alan Coon
  • 5 edits in branches/safari-608.4.9.0-branch/Source

Revert r252040. rdar://problem/56887517

2:05 PM Changeset in webkit [252081] by pvollan@apple.com
  • 2 edits in trunk/Source/WebKit

[iOS] Add logging and telemetry to mach services believed to be unused
https://bugs.webkit.org/show_bug.cgi?id=203831

Reviewed by Geoffrey Garen.

The sandbox rules for mach services believed to be unused should have logging and telemetry added to confirm
whether the assumption is correct.

  • Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb:
2:03 PM Changeset in webkit [252080] by Alan Coon
  • 11 edits in branches/safari-608.4.9.1-branch

Revert r252029. rdar://problem/56864381

1:54 PM Changeset in webkit [252079] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION (r251930): Flaky WK1 crash in printing/pseudo-class-outside-page.html
https://bugs.webkit.org/show_bug.cgi?id=203855

Reviewed by Simon Fraser.

Exit early when executing media queries removes FrameView.

  • page/Frame.cpp:

(WebCore::Frame::setPrinting):

1:54 PM Changeset in webkit [252078] by Alan Coon
  • 7 edits in branches/safari-608.4.9.1-branch/Source

Versioning.

1:47 PM Changeset in webkit [252077] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Adding logging to diagnose crashes resulting from provisional document loader unexpectedly being nullptr
https://bugs.webkit.org/show_bug.cgi?id=203837

Reviewed by Geoffrey Garen.

Added various logging for DocumentLoader and FrameLoader to figure out why
FrameLoader::m_provisionalDocumentLoader can be nullptr in some cases.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::setRequest):
(WebCore::DocumentLoader::willSendRequest):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::setupForReplace):
(WebCore::FrameLoader::clearProvisionalLoadForPolicyCheck):
(WebCore::FrameLoader::stopAllLoaders):
(WebCore::FrameLoader::stopForBackForwardCache):
(WebCore::FrameLoader::clearProvisionalLoad):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):

1:41 PM Changeset in webkit [252076] by Oriol Brufau
  • 22 edits in trunk

[css-lists] Implement list-style-type: <string>
https://bugs.webkit.org/show_bug.cgi?id=167729

Reviewed by Antti Koivisto.

LayoutTests/imported/w3c:

Some tests pass now.

  • web-platform-tests/css/css-lists/parsing/list-style-type-computed-expected.txt:
  • web-platform-tests/css/css-lists/parsing/list-style-type-valid-expected.txt:

Source/WebCore:

This patch extends the syntax of the list-style-type property to accept
arbitrary string values in order to customize the marker contents.

When a string is specified for list-style-type, the patch sets it to a
special ListStyleType::String, and the string value is stored in an
extra field.

Tests: imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-001a.html

imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-001b.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-002.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-003.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-004.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-005a.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-005b.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-006.html
imported/w3c/web-platform-tests/css/css-lists/list-style-type-string-007.html
imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-type-computed.html
imported/w3c/web-platform-tests/css/css-lists/parsing/list-style-type-valid.html

Some tests fail because mixed-bidi is not supported in markers
(https://bugs.webkit.org/show_bug.cgi?id=202849).

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):

  • css/CSSProperties.json:
  • css/parser/CSSParserFastPaths.cpp:

(WebCore::CSSParserFastPaths::isPartialKeywordPropertyID):

  • css/parser/CSSParserFastPaths.h:
  • css/parser/CSSPropertyParser.cpp:

(WebCore::CSSPropertyParser::parseSingleValue):

  • rendering/RenderListMarker.cpp:

(WebCore::effectiveListMarkerType):
(WebCore::listMarkerSuffix):
(WebCore::listMarkerText):
(WebCore::RenderListMarker::styleDidChange):
(WebCore::RenderListMarker::paint):
(WebCore::RenderListMarker::updateContent):
(WebCore::RenderListMarker::computePreferredLogicalWidths):
(WebCore::RenderListMarker::updateMargins):
(WebCore::RenderListMarker::suffix const):
(WebCore::RenderListMarker::getRelativeMarkerRect):

  • rendering/style/CounterContent.h:

(WebCore::CounterContent::CounterContent):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::listStyleStringValue const):
(WebCore::RenderStyle::setListStyleStringValue):
(WebCore::RenderStyle::initialListStyleStringValue):

  • rendering/style/RenderStyleConstants.cpp:

(WebCore::operator<<):

  • rendering/style/RenderStyleConstants.h:
  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator== const):

  • rendering/style/StyleRareInheritedData.h:
  • style/StyleBuilderCustom.h:

(WebCore::Style::BuilderCustom::applyInheritListStyleType):
(WebCore::Style::BuilderCustom::applyInitialListStyleType):
(WebCore::Style::BuilderCustom::applyValueListStyleType):

LayoutTests:

Most tests pass now, but some still fail because mixed-bidi is not
supported in markers (https://bugs.webkit.org/show_bug.cgi?id=202849).

iOS and Mac have some extra failures due to subpixel differences for the
marker position.

  • TestExpectations:
  • platform/ios/TestExpectations:
  • platform/mac/TestExpectations:
1:36 PM Changeset in webkit [252075] by aakash_jain@apple.com
  • 4 edits in trunk/Tools

EWS should report test failures from clean-tree to results.webkit.org
https://bugs.webkit.org/show_bug.cgi?id=203829

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/loadConfig.py:

(loadBuilderConfig):

  • BuildSlaveSupport/ews-build/steps.py:

(RunWebKitTests.init):
(RunWebKitTestsWithoutPatch.start):
(RunAPITestsWithoutPatch.start):

  • BuildSlaveSupport/ews-build/steps_unittest.py: Added and updated unit-tests.
1:24 PM Changeset in webkit [252074] by Alan Coon
  • 1 copy in branches/safari-608.4.9.1-branch

New branch.

1:24 PM Changeset in webkit [252073] by Alan Coon
  • 7 edits in branches/safari-608.4.9.0-branch/Source

Versioning.

12:57 PM Changeset in webkit [252072] by Alan Coon
  • 1 copy in branches/safari-608.4.9.0-branch

New branch.

12:56 PM Changeset in webkit [252071] by Alan Coon
  • 1 copy in tags/Safari-608.4.9

Tag Safari-608.4.9.

12:11 PM Changeset in webkit [252070] by Simon Fraser
  • 4 edits
    2 adds in trunk

Content can disappear with a combination of <video> with controls and clipping
https://bugs.webkit.org/show_bug.cgi?id=203834
Source/WebCore:

rdar://problem/56559648

Reviewed by Zalan Bujtas.

<video> with controls triggered a bug where a backing-sharing layer also claimed
that it didn't need any backing store. RenderLayerCompositor::requiresOwnBackingStore()
could early-return with 'false' if a layer had an indirect compositing reason of "Clipping",
while also backing-sharing. We need to check for backing-sharing first.

Test: compositing/shared-backing/clipping-and-shared-backing.html

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::setBackingSharingLayers):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresOwnBackingStore const):

LayoutTests:

Reviewed by Zalan Bujtas.

  • compositing/shared-backing/clipping-and-shared-backing-expected.html: Added.
  • compositing/shared-backing/clipping-and-shared-backing.html: Added.
12:10 PM Changeset in webkit [252069] by commit-queue@webkit.org
  • 71 edits
    6 deletes in trunk

Disabled SVG shapes should not be hit
https://bugs.webkit.org/show_bug.cgi?id=200140

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2019-11-05
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/svg/import/types-dom-08-f-manual.svg:

This is the expectation of FireFox as well.

  • web-platform-tests/svg/shapes/scripted/disabled-shapes-not-hit-expected.txt:

Source/WebCore:

The fill and the stroke rectangles should not be computed for disabled
SVG shapes.

The existing code may calculate the root's boundary: at(0, 0) size 0x0
while one of its children boundary is calculated at: (47,47) size 6x6.
See circle-01-expected.txt.

  • rendering/svg/RenderSVGEllipse.cpp:

(WebCore::RenderSVGEllipse::updateShapeFromElement):

  • rendering/svg/RenderSVGRect.cpp:

(WebCore::RenderSVGRect::updateShapeFromElement):

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::fillContains):
(WebCore::RenderSVGShape::strokeContains):

LayoutTests:

  • platform/gtk/imported/w3c/web-platform-tests/svg/import/animate-elem-32-t-manual-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/import/shapes-circle-02-t-manual-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/import/shapes-ellipse-02-t-manual-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/import/shapes-intro-01-t-manual-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/import/shapes-rect-02-t-manual-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/shapes/circle-01-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/shapes/ellipse-04-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/shapes/ellipse-09-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/svg/shapes/rect-05-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
  • platform/gtk/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/animate-elem-32-t-manual-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/shapes-circle-02-t-manual-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/shapes-ellipse-02-t-manual-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/shapes-intro-01-t-manual-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/shapes-rect-02-t-manual-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/import/types-dom-08-f-manual-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/shapes/circle-01-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/shapes/ellipse-04-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/shapes/ellipse-09-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/shapes/rect-05-expected.txt:
  • platform/ios-simulator/imported/w3c/web-platform-tests/svg/shapes/reftests/disabled-shapes-01-expected.txt:
  • platform/ios/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt:
  • platform/ios/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt:
  • platform/ios/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt:
  • platform/ios/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
  • platform/ios/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/import/animate-elem-32-t-manual-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/import/shapes-circle-02-t-manual-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/import/shapes-ellipse-02-t-manual-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/import/shapes-intro-01-t-manual-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/import/shapes-rect-02-t-manual-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/import/types-dom-08-f-manual-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/shapes/circle-01-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/shapes/ellipse-04-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/shapes/ellipse-09-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/shapes/rect-05-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/svg/shapes/reftests/disabled-shapes-01-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
  • platform/mac/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
  • platform/win/svg/W3C-SVG-1.1/shapes-rect-02-t-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/animate-elem-32-t-manual-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-circle-02-t-manual-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-ellipse-02-t-manual-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-intro-01-t-manual-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/import/shapes-rect-02-t-manual-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/shapes/circle-01-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/shapes/ellipse-04-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/shapes/ellipse-09-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/shapes/rect-05-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/svg/shapes/reftests/disabled-shapes-01-expected.txt:
  • platform/wpe/svg/W3C-SVG-1.1/animate-elem-32-t-expected.txt:
  • platform/wpe/svg/W3C-SVG-1.1/shapes-circle-02-t-expected.txt:
  • platform/wpe/svg/W3C-SVG-1.1/shapes-ellipse-02-t-expected.txt:
  • platform/wpe/svg/W3C-SVG-1.1/shapes-intro-01-t-expected.txt:
  • svg/custom/getBBox-js-circle-zerodimension-expected.txt: Removed.
  • svg/custom/getBBox-js-circle-zerodimension.html: Removed.
  • svg/custom/getBBox-js-ellipse-zerodimension-expected.txt: Removed.
  • svg/custom/getBBox-js-ellipse-zerodimension.html: Removed.
  • svg/custom/getBBox-js-rect-zerodimension-expected.txt: Removed.
  • svg/custom/getBBox-js-rect-zerodimension.html: Removed.

These tests were added in r169522. They succeed in Safari and Chrome but
they fail in FireFox. The issue of calculating getBBox was discussed in:
https://lists.w3.org/Archives/Public/www-svg/2012Aug/0014.html. But no
resolution was reached.

11:53 AM Changeset in webkit [252068] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Source/WTF

Add definitions of ANSI colors for colorful log output
https://bugs.webkit.org/show_bug.cgi?id=203805

Patch by Tuomas Karkkainen <tuomas.webkit@apple.com> on 2019-11-05
Reviewed by Saam Barati.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/AnsiColors.h: Added.
  • wtf/CMakeLists.txt:
11:53 AM Changeset in webkit [252067] by Devin Rousso
  • 2 edits in trunk/LayoutTests

Layout test http/tests/inspector/network/resource-response-source-memory-cache-revalidate-expired-only.html is a flakey failure
https://bugs.webkit.org/show_bug.cgi?id=203841
<rdar://problem/51752151>

Reviewed by Brian Burg.

  • http/tests/inspector/network/resource-response-source-memory-cache-revalidate-expired-only.html:

Rewrite the test so it actually waits for the resource response information to be received
in the frontend before testing any information about the resource, as the response is what
contains the status code and source. Previously, we would only wait for the inspected page
to finish loading, which did guarantee that the inspector frontend at least knew about the
resource being loaded, but not necessarily that it had been told about the response.

11:50 AM Changeset in webkit [252066] by dbates@webkit.org
  • 5 edits in trunk

[Cocoa] Right Command key should have location DOM_KEY_LOCATION_RIGHT instead of DOM_KEY_LOCATION_STANDARD
https://bugs.webkit.org/show_bug.cgi?id=202601
<rdar://problem/55992775>

Reviewed by Wenson Hsieh.

Source/WebCore:

On Cocoa platforms the right Command key is mapped to VK_APPS. Report VK_APPS as being on the
right side of the keyboard on these platforms.

  • dom/KeyboardEvent.cpp:

(WebCore::keyLocationCode):

LayoutTests:

Update test to emit the location property of the DOM key event to ensure that we do not
regress the value of this property.

  • fast/events/ios/keydown-keyup-special-keys-in-non-editable-element-expected.txt:
  • fast/events/ios/keydown-keyup-special-keys-in-non-editable-element.html:
11:36 AM Changeset in webkit [252065] by commit-queue@webkit.org
  • 6 edits
    1 move
    2 adds in trunk/Source

move CrashReporterClientSPI.h and parts of WKCrashReporter to WTF so it can be used in JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=203803

Patch by Tuomas Karkkainen <tuomas.webkit@apple.com> on 2019-11-05
Reviewed by Saam Barati.

Source/WebKit:

No new tests added because functionality is not changing, code is only
moved from WebKit to WTF.

  • Platform/cocoa/WKCrashReporter.mm:

(WebKit::setCrashReportApplicationSpecificInformation):
(WebKit::setCrashLogMessage): Deleted.

  • WebKit.xcodeproj/project.pbxproj:

Source/WTF:

  • WTF.xcodeproj/project.pbxproj:
  • wtf/PlatformMac.cmake:
  • wtf/cocoa/CrashReporter.cpp: Added.

(WTF::setCrashLogMessage):

  • wtf/cocoa/CrashReporter.h: Added.
  • wtf/spi/cocoa/CrashReporterClientSPI.h: Renamed from Source/WebKit/Platform/spi/Cocoa/CrashReporterClientSPI.h.
11:15 AM Changeset in webkit [252064] by Chris Dumez
  • 12 edits in trunk

DatabaseContext should not prevent entering the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=203103
<rdar://problem/56592193>

Reviewed by Geoffrey Garen.

Source/WebCore:

Let pages with active webdatabase transactions into the back/forward cache. We make sure
to queue tasks that run script to the Window event loop, so that they get delayed when
the document is suspended.

This patch also makes sure that the transaction's error callback gets called if the database
gets closed while the transaction is going on. We previously did not happen and it was causing
issues because databases get closed on navigation.

No new tests, updated existing test.

  • Modules/webdatabase/Database.cpp:

(WebCore::Database::runTransaction):

  • Modules/webdatabase/DatabaseContext.cpp:

(WebCore::DatabaseContext::shouldPreventEnteringBackForwardCache_DEPRECATED const): Deleted.

  • Modules/webdatabase/DatabaseContext.h:
  • Modules/webdatabase/DatabaseManager.cpp:

(WebCore::DatabaseManager::openDatabase):

  • Modules/webdatabase/SQLTransaction.cpp:

(WebCore::SQLTransaction::performPendingCallback):
(WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
(WebCore::SQLTransaction::callErrorCallbackDueToInterruption):
(WebCore::SQLTransaction::checkAndHandleClosedDatabase):
(WebCore::SQLTransaction::deliverTransactionErrorCallback):
(WebCore::SQLTransaction::deliverSuccessCallback):
(WebCore::SQLTransaction::computeNextStateAndCleanupIfNeeded):

  • Modules/webdatabase/SQLTransaction.h:

LayoutTests:

  • fast/history/page-cache-webdatabase-pending-transaction-expected.txt:
  • fast/history/page-cache-webdatabase-pending-transaction.html:

Update existing test to reflect behavior change.

  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:

Unmark test as flaky.

10:53 AM Changeset in webkit [252063] by Ross Kirsling
  • 6 edits in trunk/Source/WebInspectorUI

Web Inspector: Layers: enable tab by default
https://bugs.webkit.org/show_bug.cgi?id=203833

Reviewed by Timothy Hatcher.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Base/Setting.js:
  • UserInterface/Views/ContextMenuUtilities.js:
  • UserInterface/Views/LayersTabContentView.js:

(WI.LayersTabContentView.isTabAllowed):

  • UserInterface/Views/SettingsTabContentView.js:

(WI.SettingsTabContentView.prototype._createExperimentalSettingsView):

10:52 AM Changeset in webkit [252062] by Wenson Hsieh
  • 13 edits
    2 adds in trunk

Native text substitutions interfere with HTML <datalist> options resulting in crash
https://bugs.webkit.org/show_bug.cgi?id=203116
<rdar://problem/49875932>

Reviewed by Tim Horton.

Source/WebKit:

On macOS, an NSTableView inside a separate window is used to render suggestions when showing a datalist. The
crash happens when this table view is reloaded while clicking a datalist suggestion; that is, if -[NSTableView
reloadData] is invoked after the user sends a platform MouseDown event on the table view cell but before the
MouseUp is received, the selected row of the table view will be -1 when the action, -selectedRow:, is invoked.

In this particular case, the table view reload is triggered as a result of hiding the autocorrection bubble on
macOS, thereby committing the alternative text suggestion and changing the value of the text field via an
editing command.

To avoid crashing, we simply make -selectedRow: robust in the case where the index is invalid.

Test: fast/forms/datalist/datalist-click-crash.html

  • UIProcess/mac/WebDataListSuggestionsDropdownMac.mm:

(-[WKDataListSuggestionsController selectedRow:]):

Tools:

Add a new testing hook to wait for datalist suggestions to show up and choose the suggestion at the given index.

  • DumpRenderTree/mac/UIScriptControllerMac.h:
  • DumpRenderTree/mac/UIScriptControllerMac.mm:

(WTR::UIScriptControllerMac::activateDataListSuggestion):

  • TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
  • TestRunnerShared/UIScriptContext/UIScriptController.h:

(WTR::UIScriptController::activateDataListSuggestion):

  • WebKitTestRunner/ios/UIScriptControllerIOS.h:
  • WebKitTestRunner/ios/UIScriptControllerIOS.mm:

(WTR::UIScriptControllerIOS::activateDataListSuggestion):

  • WebKitTestRunner/mac/UIScriptControllerMac.h:
  • WebKitTestRunner/mac/UIScriptControllerMac.mm:

(WTR::UIScriptControllerMac::isShowingDataListSuggestions const):
(WTR::UIScriptControllerMac::activateDataListSuggestion):

Dig through the view hierarchy of the NSWindow subclass used to show datalist suggestions for the table view
containing the suggestions; then, select the given row, and invoke the action on the target.

(WTR::UIScriptControllerMac::dataListSuggestionsTableView const):

LayoutTests:

Add a new layout test to exercise the crash.

  • fast/forms/datalist/datalist-click-crash-expected.txt: Added.
  • fast/forms/datalist/datalist-click-crash.html: Added.
  • resources/ui-helper.js:

(window.UIHelper.activateDataListSuggestion):

10:39 AM Changeset in webkit [252061] by dbates@webkit.org
  • 2 edits in trunk/Tools

TestWebKitAPI.WebKit.DocumentEditingContext is failing on iPad
https://bugs.webkit.org/show_bug.cgi?id=203828
<rdar://problem/55854631>

Reviewed by Myles Maxfield.

Specify both a font size and line height when using Ahem as per [1]. Otherwise, text may be
rendered inconsistently. Plus, disable text-autosizing and fix viewport to make test result
consistent on both iPhone and iPad.

[1] <https://web-platform-tests.org/writing-tests/ahem.html>

  • TestWebKitAPI/Tests/WebKitCocoa/DocumentEditingContext.mm:

(applyStyle): Remove unused style for <iframe>s and fix up parameter name to conform to style guide.
(applyAhemStyle): Set -webkit-text-size-adjust to 100% to disable auto-sizing. Fix viewport width
and initial scale to ensure the result is the same on both iPhone and iPad. Also remove unused style
for <iframe>s and renamed parameter name to conform to style guide.
(TEST):

10:25 AM Changeset in webkit [252060] by sihui_liu@apple.com
  • 30 edits
    3 adds in trunk

REGRESSION (r250754): web page using IDBIndex doesn't load occasionally
https://bugs.webkit.org/show_bug.cgi?id=203431

Reviewed by Brady Eidson.

Source/WebCore:

We now allow page to enter cache even when there are active IDB objects. The open database connection or blocked
database request on suspended pages may stop other active pages from deleting or opening the same database.

To fix this issue, we close those open connections on suspended page when we know from the versionchange event,
that there is open/delete request blocked. For blocked requests on suspended page, we abort them and return
error. This way, when the suspended page resumes, it will get close event fired on previously opened database
connections, and error event fired on previously blocked requests.

API test: IndexedDB.IndexedDBInPageCache

  • Modules/indexeddb/IDBDatabase.h:
  • Modules/indexeddb/IDBOpenDBRequest.cpp:

(WebCore::IDBOpenDBRequest::requestCompleted):
(WebCore::IDBOpenDBRequest::requestBlocked):
(WebCore::IDBOpenDBRequest::setIsContextSuspended):

  • Modules/indexeddb/IDBOpenDBRequest.h:
  • Modules/indexeddb/IndexedDB.h:
  • Modules/indexeddb/client/IDBConnectionProxy.cpp:

(WebCore::IDBClient::IDBConnectionProxy::completeOpenDBRequest):
(WebCore::IDBClient::IDBConnectionProxy::fireVersionChangeEvent):
(WebCore::IDBClient::IDBConnectionProxy::didFireVersionChangeEvent):
(WebCore::IDBClient::setMatchingItemsContextSuspended):
(WebCore::IDBClient::IDBConnectionProxy::setContextSuspended):

  • Modules/indexeddb/client/IDBConnectionProxy.h:
  • Modules/indexeddb/client/IDBConnectionToServer.cpp:

(WebCore::IDBClient::IDBConnectionToServer::didFireVersionChangeEvent):

  • Modules/indexeddb/client/IDBConnectionToServer.h:
  • Modules/indexeddb/client/IDBConnectionToServerDelegate.h:
  • Modules/indexeddb/server/IDBServer.cpp:

(WebCore::IDBServer::IDBServer::didFireVersionChangeEvent):

  • Modules/indexeddb/server/IDBServer.h:
  • Modules/indexeddb/server/UniqueIDBDatabase.cpp:

(WebCore::IDBServer::UniqueIDBDatabase::clearTransactionsOnConnection):
(WebCore::IDBServer::UniqueIDBDatabase::didFireVersionChangeEvent):
(WebCore::IDBServer::UniqueIDBDatabase::connectionClosedFromClient):

  • Modules/indexeddb/server/UniqueIDBDatabase.h:
  • Modules/indexeddb/server/UniqueIDBDatabaseConnection.cpp:

(WebCore::IDBServer::UniqueIDBDatabaseConnection::didFireVersionChangeEvent):

  • Modules/indexeddb/server/UniqueIDBDatabaseConnection.h:
  • Modules/indexeddb/shared/InProcessIDBServer.cpp:

(WebCore::InProcessIDBServer::didFireVersionChangeEvent):

  • Modules/indexeddb/shared/InProcessIDBServer.h:
  • dom/Document.cpp:

(WebCore::Document::setBackForwardCacheState):

  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::suspend):
(WebCore::WorkerGlobalScope::resume):

  • workers/WorkerGlobalScope.h:
  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::suspend):

Source/WebKit:

  • NetworkProcess/IndexedDB/WebIDBConnectionToClient.cpp:

(WebKit::WebIDBConnectionToClient::didFireVersionChangeEvent):

  • NetworkProcess/IndexedDB/WebIDBConnectionToClient.h:
  • NetworkProcess/IndexedDB/WebIDBConnectionToClient.messages.in:
  • WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.cpp:

(WebKit::WebIDBConnectionToServer::didFireVersionChangeEvent):

  • WebProcess/Databases/IndexedDB/WebIDBConnectionToServer.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/IndexedDBInPageCache.html: Added.
  • TestWebKitAPI/Tests/WebKitCocoa/IndexedDBInPageCache.mm: Added.

(-[IndexedDBInPageCacheMessageHandler userContentController:didReceiveScriptMessage:]):
(TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/IndexedDBNotInPageCache.html: Added.
10:05 AM Changeset in webkit [252059] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

http/tests/media/track-in-band-hls-metadata.html sometimes crashes after r251626
https://bugs.webkit.org/show_bug.cgi?id=203849
<rdar://problem/56889717>

Reviewed by Youenn Fablet.

No new tests, fixes existing test.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(-[WebCoreAVFMovieObserver metadataOutput:didOutputTimedMetadataGroups:fromPlayerItemTrack:]): Return early if
m_player has been cleared.
(-[WebCoreAVFMovieObserver metadataCollector:didCollectDateRangeMetadataGroups:indexesOfNewGroups:indexesOfModifiedGroups:]):
Ditto.

9:25 AM Changeset in webkit [252058] by Jonathan Bedard
  • 4 edits in trunk/Tools

webkitpy: Build ImageDiff if it is missing (Follow-fix)
https://bugs.webkit.org/show_bug.cgi?id=183422

Unreviewed infrastructure fix.

  • Scripts/webkitpy/port/base.py:

(Port._path_to_image_diff): Use the host build directory.

  • Scripts/webkitpy/port/config.py:

(Config.build_directory): Allow the caller to ignore the port argument, which will return the default
build directory for the host running the script.

  • Scripts/webkitpy/port/port_testcase.py:

(PortTestCase.make_port):

9:13 AM Changeset in webkit [252057] by aestes@apple.com
  • 4 edits
    4 adds in trunk

ApplePaySession should never prevent entering the back/forward cache
https://bugs.webkit.org/show_bug.cgi?id=203087
<rdar://problem/56744401>

Reviewed by Chris Dumez.

Source/WebCore:

Rather than prevent entering the back/forward cache when there is an active session, abort
the session on suspension and queue a task to the event loop that dispatches the cancel event.

Tests: http/tests/ssl/applepay/page-cache-active-apple-pay-session.html

http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html

  • Modules/applepay/ApplePaySession.cpp:

(WebCore::ApplePaySession::canSuspendWithoutCanceling const):
(WebCore::ApplePaySession::suspend):
(WebCore::ApplePaySession::shouldPreventEnteringBackForwardCache_DEPRECATED const): Deleted.

  • Modules/applepay/ApplePaySession.h:

LayoutTests:

  • http/tests/ssl/applepay/page-cache-active-apple-pay-session-expected.txt: Added.
  • http/tests/ssl/applepay/page-cache-active-apple-pay-session.html: Added.
  • http/tests/ssl/applepay/page-cache-inactive-apple-pay-session-expected.txt: Added.
  • http/tests/ssl/applepay/page-cache-inactive-apple-pay-session.html: Added.
8:58 AM Changeset in webkit [252056] by youenn@apple.com
  • 6 edits in trunk

MessagePort::close cannot assume that is execution context is not null
https://bugs.webkit.org/show_bug.cgi?id=203843
<rdar://problem/55599877>

Reviewed by Chris Dumez.

Source/WebCore:

Covered by updated test.

  • dom/MessagePort.cpp:

(WebCore::MessagePort::close):
Do not use m_scriptExecutionContext since it can be nulled out in MessagePort::disentangle.

  • dom/messageports/WorkerMessagePortChannelProvider.cpp:

(WebCore::WorkerMessagePortChannelProvider::messagePortClosed):

LayoutTests:

  • http/tests/workers/service/basic-messageport-expected.txt:
  • http/tests/workers/service/resources/basic-messageport.js:

(async.doLog):
(then):
(): Deleted.

8:52 AM Changeset in webkit [252055] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Enable powerPreference controlled GPU switching with ANGLE
https://bugs.webkit.org/show_bug.cgi?id=203773

GPU switching can't be controlled from within ANGLE running in the content process
due to sandbox restrictions. So we need to continue using the existing
HighPerformanceGPUManager path with ANGLE.

Although the high power GPU is activated on request with this change, ANGLE does
not use it yet.

Patch by James Darpinian <James Darpinian> on 2019-11-05
Reviewed by Alex Christensen.

  • platform/graphics/GraphicsContext3D.cpp:
  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/GraphicsContext3DManager.cpp:

(WebCore::GraphicsContext3DManager::updateHighPerformanceState):
(WebCore::GraphicsContext3DManager::disableHighPerformanceGPUTimerFired):

  • platform/graphics/cocoa/GraphicsContext3DCocoa.mm:

(WebCore::GraphicsContext3D::GraphicsContext3D):

8:40 AM Changeset in webkit [252054] by Kocsen Chung
  • 5 edits in branches/safari-608-branch

Apply patch. rdar://problem/56903274

8:40 AM Changeset in webkit [252053] by Kocsen Chung
  • 5 edits in branches/safari-608-branch/Source/WebKit

Cherry-pick r248121. rdar://problem/56903580

Crash under WebProcessProxy::didBecomeUnresponsive()
https://bugs.webkit.org/show_bug.cgi?id=200346
<rdar://problem/53795984>

Reviewed by Geoffrey Garen.

Make sure the BackgroundProcessResponsivenessTimer / ResponsivenessTimer ref their client
while they call mayBecomeUnresponsive() / willChangeIsResponsive() / didChangeIsResponsive()
/ didBecomeUnresponsive() on their client, in case calling one of these ends up destroying
the client.

  • UIProcess/BackgroundProcessResponsivenessTimer.cpp: (WebKit::BackgroundProcessResponsivenessTimer::setResponsive):
  • UIProcess/ResponsivenessTimer.cpp: (WebKit::ResponsivenessTimer::timerFired):
  • UIProcess/ResponsivenessTimer.h:
  • UIProcess/WebProcessProxy.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@248121 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7:01 AM Changeset in webkit [252052] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WPE] WebKit.NewFirstVisuallyNonEmptyLayout* unexpected pass
https://bugs.webkit.org/show_bug.cgi?id=203846

Patch by Chris Lord <Chris Lord> on 2019-11-05
Reviewed by Žan Doberšek.

  • TestWebKitAPI/glib/TestExpectations.json:
6:15 AM Changeset in webkit [252051] by eric.carlson@apple.com
  • 3 edits in trunk/LayoutTests

[iOS] Update fast/forms/ios/file-upload-panel.html test and results
https://bugs.webkit.org/show_bug.cgi?id=203823
<rdar://problem/56080440>

Reviewed by Youenn Fablet.

  • fast/forms/ios/file-upload-panel-expected.txt:
  • fast/forms/ios/file-upload-panel.html:
4:38 AM Changeset in webkit [252050] by commit-queue@webkit.org
  • 5 edits in trunk/Tools

REGRESSION(r252031): layout tests fail to run in non apple ports after r252031
https://bugs.webkit.org/show_bug.cgi?id=203844

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-11-05
Reviewed by Žan Doberšek.

Since r252032 Port.check_image_diff() assumes that ImageDiff binary is built in the build path, which is not
true for all ports. This patch adds Port._path_to_default_image_diff() to be used instead of the build_path()
and overriden by ports not building the ImageDiff in the build path.

  • Scripts/webkitpy/port/base.py:

(Port.check_image_diff):
(Port._path_to_default_image_diff):
(Port._path_to_image_diff):

  • Scripts/webkitpy/port/gtk.py:

(GtkPort._path_to_default_image_diff):

  • Scripts/webkitpy/port/win.py:

(WinPort._path_to_default_image_diff):

  • Scripts/webkitpy/port/wpe.py:

(WPEPort._path_to_default_image_diff):

3:38 AM Changeset in webkit [252049] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WPE] Geolocation API tests are consistently passing
https://bugs.webkit.org/show_bug.cgi?id=203845

Patch by Chris Lord <Chris Lord> on 2019-11-05
Reviewed by Žan Doberšek.

  • TestWebKitAPI/glib/TestExpectations.json:
2:10 AM Changeset in webkit [252048] by Fujii Hironori
  • 2 edits in trunk/Source/WebKit

Unreviewed build fix for !ENABLE(MEDIA_STREAM) builds
https://bugs.webkit.org/show_bug.cgi?id=203362
<rdar://problem/56648232>

  • UIProcess/UserMediaPermissionRequestProxy.h: Enclosed isUserGesturePriviledged with #if ENABLE(MEDIA_STREAM).
1:33 AM Changeset in webkit [252047] by youenn@apple.com
  • 21 edits in trunk

mp4 video element broken with service worker
https://bugs.webkit.org/show_bug.cgi?id=184447
<rdar://problem/39313155>

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/range/sw.https.window-expected.txt:

Source/WebCore:

Update fetch header handling to properly handle range header as per https://fetch.spec.whatwg.org/#headers-class.
In particular, remove thre range header from a Request/Headers object whenever modified.
Add checks so that range responses are not reused for non range requests.
For that purpose, add a range-requested flag to ResourceResponse.
Ass helper routines implementing part of fetch spec.
Covered by enabled test.

  • Modules/fetch/FetchHeaders.cpp:

(WebCore::removePrivilegedNoCORSRequestHeaders):
(WebCore::appendToHeaderMap):
(WebCore::FetchHeaders::remove):
(WebCore::FetchHeaders::set):

  • Modules/fetch/FetchHeaders.h:

(WebCore::FetchHeaders::setInternalHeaders):

  • Modules/fetch/FetchRequest.cpp:

(WebCore::FetchRequest::initializeWith):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::didReceiveResponse):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

  • platform/network/HTTPParsers.cpp:

(WebCore::isNoCORSSafelistedRequestHeaderName):
(WebCore::isPriviledgedNoCORSRequestHeaderName):

  • platform/network/HTTPParsers.h:
  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::crossThreadData const):
(WebCore::ResourceResponseBase::fromCrossThreadData):

  • platform/network/ResourceResponseBase.h:

(WebCore::ResourceResponseBase::isRangeRequested const):
(WebCore::ResourceResponseBase::setAsRangeRequested):
(WebCore::ResourceResponseBase::encode const):
(WebCore::ResourceResponseBase::decode):

Source/WebKit:

Make a response as range-requested as per https://fetch.spec.whatwg.org/#http-network-or-cache-fetch step 15.

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::checkRedirection):
(WebKit::NetworkLoadChecker::validateResponse):

  • NetworkProcess/NetworkLoadChecker.h:
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::didReceiveResponse):
(WebKit::NetworkResourceLoader::didRetrieveCacheEntry):

LayoutTests:

Enable test for WK2, not WK1.

1:14 AM Changeset in webkit [252046] by youenn@apple.com
  • 23 edits
    2 adds in trunk

Enforce user gesture for getUserMedia in case a previous getUserMedia call was denied
https://bugs.webkit.org/show_bug.cgi?id=203362
Source/WebCore:

Reviewed by Eric Carlson.

Compute whether a media request is user priviledged or not.
It is priviledged if it is created as part of a user gesture and no request of the same type
has been previously created for the same user gesture.
If getDisplayMedia is called twice as part of a single user gesture, getDisplaMedia will reject for the second call.

Remove the internal ability to disable user gesture check.
Instead use internals API to simulate a user gesture.

Test: fast/mediastream/getUserMedia-deny-persistency5.html and updated test.

  • Modules/mediastream/MediaDevices.cpp:

(WebCore::MediaDevices::computeUserGesturePriviledge):
(WebCore::MediaDevices::getUserMedia):
(WebCore::MediaDevices::getDisplayMedia):
(WebCore::MediaDevices::getUserMedia const): Deleted.
(WebCore::MediaDevices::getDisplayMedia const): Deleted.

  • Modules/mediastream/MediaDevices.h:
  • platform/mediastream/MediaStreamRequest.h:

(WebCore::MediaStreamRequest::encode const):
(WebCore::MediaStreamRequest::decode):

  • testing/Internals.cpp:

(WebCore::Internals::setMediaStreamSourceInterrupted):
(WebCore::Internals::setDisableGetDisplayMediaUserGestureConstraint): Deleted.

  • testing/Internals.h:
  • testing/Internals.idl:

Source/WebKit:

Reviewed by Eric Carlson.

In case the request has user gesture priviledge, do not look at denied request history.

  • UIProcess/UserMediaPermissionRequestManagerProxy.cpp:

(WebKit::UserMediaPermissionRequestManagerProxy::getRequestAction):

  • UIProcess/UserMediaPermissionRequestProxy.h:

(WebKit::UserMediaPermissionRequestProxy::isUserGesturePriviledged const):

Tools:

Reviewed by Eric Carlson.

  • TestWebKitAPI/Tests/WebKitCocoa/GetDisplayMedia.mm:

(TestWebKitAPI::TEST_F):
Update test to take into account the ability to ask again for permission.

  • TestWebKitAPI/Tests/WebKit/getDisplayMedia.html:

Update to make sure we notify test if internals is not available.

LayoutTests:

<rdar://problem/56648232>

Reviewed by Eric Carlson.

  • fast/mediastream/constraint-intrinsic-size.html:
  • fast/mediastream/get-display-media-muted.html:
  • fast/mediastream/getUserMedia-deny-persistency5-expected.txt:
  • fast/mediastream/getUserMedia-deny-persistency5.html:
  • fast/mediastream/media-stream-page-muted.html:

Use user gesture simulation instead of disabling user gesture check.

  • fast/mediastream/screencapture-user-gesture.html:
  • fast/mediastream/screencapture-user-gesture-expected.txt:
  • http/tests/media/media-stream/get-display-media-iframe-allow-attribute-expected.txt:
  • http/tests/media/media-stream/get-display-media-prompt.html:
  • http/tests/media/media-stream/resources/get-display-media-devices-iframe.html:
  • resources/testharnessreport.js:
1:10 AM Changeset in webkit [252045] by youenn@apple.com
  • 2 edits in trunk/LayoutTests

LayoutTest webrtc/captureCanvas-webrtc.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=181835

Unreviewed.

  • platform/mac-wk2/TestExpectations:

Test is no longer a flaky timeout.

12:17 AM Changeset in webkit [252044] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[FreeType] Too slow running encoding/legacy-mb-korean/euc-kr WPT tests
https://bugs.webkit.org/show_bug.cgi?id=203544

Reviewed by Carlos Alberto Lopez Perez.

Use a cache for system fallbacks to keep the fonts sorted by font description. When a system fallback is needed
again for the same font description, but different characters, we just iterate the cached font set comparing the
charsets to get the best one. This avoids using FcFontMatch and FcFontSort is only called once per font description.

  • platform/graphics/FontCache.h:
  • platform/graphics/freetype/FontCacheFreeType.cpp:

(WebCore::CachedFontSet::CachedFontSet):
(WebCore::CachedFontSet::bestForCharacters):
(WebCore::FallbackFontDescriptionKey::FallbackFontDescriptionKey):
(WebCore::FallbackFontDescriptionKey::operator== const):
(WebCore::FallbackFontDescriptionKey::operator!= const):
(WebCore::FallbackFontDescriptionKey::isHashTableDeletedValue const):
(WebCore::FallbackFontDescriptionKey::computeHash const):
(WebCore::FallbackFontDescriptionKeyHash::hash):
(WebCore::FallbackFontDescriptionKeyHash::equal):
(WebCore::systemFallbackCache):
(WebCore::FontCache::systemFallbackForCharacters):
(WebCore::FontCache::platformPurgeInactiveFontData):

Note: See TracTimeline for information about the timeline view.