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

Timeline



Aug 19, 2020:

11:26 PM Changeset in webkit [265937] by Russell Epstein
  • 2 edits in branches/safari-610.1.28.0-branch/Source/WebKit

Cherry-pick r265930. rdar://problem/67364266

Fix null pointer crashes in network process after r265835

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

<rdar://problem/67268892>

Call the correct CompletionHandler. completionHandler has already been moved from at this point.
This crash was being hit in the test, but the test recovered from it.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::continueDidReceiveChallenge):

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

11:26 PM Changeset in webkit [265936] by Russell Epstein
  • 4 edits in branches/safari-610.1.28.0-branch

Cherry-pick r265835. rdar://problem/67364266

WKWebViews using fastServerTrustEvaluationEnabled should only allow legacy TLS for main resource loads
https://bugs.webkit.org/show_bug.cgi?id=215626
<rdar://problem/67268892>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-08-18
Reviewed by Darin Adler.

Source/WebKit:

We have introduced public API webView:authenticationChallenge:shouldAllowDeprecatedTLS: in WKNavigationDelegate to allow
applications to choose whether to allow TLS 1.0 or 1.1 connections. We don't want to break this API or break existing third party
apps that load pages that load third party subresources that use TLS 1.0 or 1.1.

However, we do want Safari, which uses fastServerTrustEvaluationEnabled SPI, to silently fail subresource loads that use TLS 1.0 or 1.1.
This matches the current behavior of Chrome and Firefox, which was not implemented in those other browsers when we decided to ask about subresources.

Covered by an API test.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::continueDidReceiveChallenge):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm: (TestWebKitAPI::TEST):

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

10:29 PM Changeset in webkit [265935] by Fujii Hironori
  • 2 edits in trunk/Source/WebKit

IPC message can't be decoded due to uninitialized NavigationActionData member variables with the latest MSVC
https://bugs.webkit.org/show_bug.cgi?id=215662

Reviewed by Darin Adler.

WinCairo WebKit2 is crashing in AuxiliaryProcess::didReceiveInvalidMessage
if it is compiled by the latest MSVC (Visual Studio 2019 16.7) with optimizer (/O2).

LockHistory is a bool based enum type. NavigationActionData
doesn't initialize the member variable of it. IPC::Encoder
converts a LockHistory value to the underlying type bool. The
uninitialized value is converted 0 or 1 in GCC, Clang and old
MSVC. However, the latest MSVC doesn't convert and IPC::Decoder
detects an invalid enum value.

  • Shared/NavigationActionData.h: Added initializes for userGestureTokenIdentifier, lockHistory and lockBackForwardList.
10:07 PM Changeset in webkit [265934] by ysuzuki@apple.com
  • 35 edits
    12 adds in trunk

[JSC] Add Object.getOwnPropertyNames caching as it is done for Object.keys, and accelerate Object.getOwnPropertyDescriptor
https://bugs.webkit.org/show_bug.cgi?id=215666

Reviewed by Saam Barati.

JSTests:

  • microbenchmarks/get-own-property-descriptor.js: Added.

(object.get test):
(object.set test):

  • stress/get-own-property-names-bad-time.js: Added.

(shouldBe):
(test):

  • stress/get-own-property-names-dfg.js: Added.

(shouldBe):
(test):

  • stress/keys-bad-time.js: Added.

(shouldBe):
(test):

  • stress/keys-dfg.js: Added.

(shouldBe):
(test):

  • stress/object-get-own-property-names-cached-zero.js: Added.

(shouldBe):
(test):

  • stress/object-get-own-property-names-changed-attribute.js: Added.

(shouldBe):
(test):

  • stress/object-get-own-property-names-changed-index.js: Added.

(shouldBe):
(test):

  • stress/object-get-own-property-names-changed.js: Added.

(shouldBe):
(test):

  • stress/object-get-own-property-names-indexed-non-cache.js: Added.

(shouldBe):
(test):

  • stress/object-get-own-property-names-overrides-get-property-names.js: Added.

(shouldBe):
(test):
(noInline):

  • stress/object-keys-cache.js: Added.

(shouldBe):
(symbol):

Source/JavaScriptCore:

Object.getOwnPropertyNames is immutable for Structure if structure meets some conditions. And we have optimization for Object.keys.
This patch wires existing caching mechanism for Object.keys to Object.getOwnPropertyNames so that Object.getOwnPropertyNames has
full support of caching & inlined code in DFG / FTL.

We also pre-bake structure for the result of Object.getOwnPropertyDescriptor so that we do not need to perform hash table lookup every
time we create an object for Object.getOwnPropertyDescriptor. This makes Object.getOwnPropertyDescriptor 2x faster from the microbenchmark.

The above two optimization makes Speedometer2/Inferno-TodoMVC 7% faster, and it also optimizes Speedometer2/EmberJS-Debug by 5%.
In total, we can get 0.7 - 1.0% progression in Speedometer2.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleIntrinsicCall):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileObjectKeysOrObjectGetOwnPropertyNames):
(JSC::DFG::SpeculativeJIT::compileObjectKeys): Deleted.

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLAbstractHeapRepository.h:
  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileObjectKeysOrObjectGetOwnPropertyNames):
(JSC::FTL::DFG::LowerDFGToB3::compileObjectKeys): Deleted.

  • runtime/Intrinsic.cpp:

(JSC::intrinsicName):

  • runtime/Intrinsic.h:
  • runtime/IteratorOperations.cpp:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::dataPropertyDescriptorObjectStructure const):
(JSC::JSGlobalObject::accessorPropertyDescriptorObjectStructure const):

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::globalFuncOwnKeys):

  • runtime/ObjectConstructor.cpp:

(JSC::objectConstructorGetOwnPropertyNames):
(JSC::objectConstructorGetOwnPropertySymbols):
(JSC::objectConstructorKeys):
(JSC::ownPropertyKeys):
(JSC::constructObjectFromPropertyDescriptorSlow):

  • runtime/ObjectConstructor.h:

(JSC::createDataPropertyDescriptorObjectStructure):
(JSC::createAccessorPropertyDescriptorObjectStructure):
(JSC::constructObjectFromPropertyDescriptor):

  • runtime/ReflectObject.cpp:

(JSC::reflectObjectOwnKeys):

  • runtime/Structure.cpp:

(JSC::Structure::canCachePropertyNameEnumerator const):

  • runtime/Structure.h:
  • runtime/StructureInlines.h:

(JSC::Structure::setCachedPropertyNames):
(JSC::Structure::cachedPropertyNames const):
(JSC::Structure::cachedPropertyNamesIgnoringSentinel const):
(JSC::Structure::canCacheOwnPropertyNames const):
(JSC::Structure::setCachedOwnKeys): Deleted.
(JSC::Structure::cachedOwnKeys const): Deleted.
(JSC::Structure::cachedOwnKeysIgnoringSentinel const): Deleted.
(JSC::Structure::canCacheOwnKeys const): Deleted.

  • runtime/StructureRareData.cpp:

(JSC::StructureRareData::visitChildren):

  • runtime/StructureRareData.h:
  • runtime/StructureRareDataInlines.h:

(JSC::StructureRareData::cachedPropertyNames const):
(JSC::StructureRareData::cachedPropertyNamesIgnoringSentinel const):
(JSC::StructureRareData::cachedPropertyNamesConcurrently const):
(JSC::StructureRareData::setCachedPropertyNames):
(JSC::StructureRareData::cachedOwnKeys const): Deleted.
(JSC::StructureRareData::cachedOwnKeysIgnoringSentinel const): Deleted.
(JSC::StructureRareData::cachedOwnKeysConcurrently const): Deleted.
(JSC::StructureRareData::setCachedOwnKeys): Deleted.

10:00 PM Changeset in webkit [265933] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit

Improperly linearized PDFs show up as blank gray on Big Sur.
rdar://problem/67117968 and https://bugs.webkit.org/show_bug.cgi?id=215683

Reviewed by Darin Adler.

Will add a new test once an in-house expert helps us construct an example PDF that
we will have the legal right to commit.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::threadEntry): When PDFKit indicates a PDFDocument is *improperly* linearized

(as opposed to not linearized at all), we failed to appopriately notify the main thread that
it needs to start handling the PDF.
Failure to create a PDFDocument is equivalent to receiving the "nonlinearized sentinel", so
adding that call fixes this issue.

8:51 PM Changeset in webkit [265932] by Simon Fraser
  • 3 edits
    2 adds in trunk

Fix possible crash when webAnimationsCSSIntegrationEnabled is false
https://bugs.webkit.org/show_bug.cgi?id=215668
<rdar://problem/67402003>

Reviewed by Dean Jackson.

Source/WebKit:

When webAnimationsCSSIntegrationEnabled is false, GraphicsLayerCA::setupAnimation() doesn't
set a timing function on the animation, causing a null de-ref when the animation is being encoded.
Fix the encoder to handle null timing functions.

Test: animations/legacy-encoding-timing-function.html

  • WebProcess/WebPage/RemoteLayerTree/PlatformCAAnimationRemote.mm:

(WebKit::PlatformCAAnimationRemote::Properties::encode const):
(WebKit::PlatformCAAnimationRemote::Properties::decode):

LayoutTests:

  • animations/legacy-encoding-timing-function-expected.txt: Added.
  • animations/legacy-encoding-timing-function.html: Added.
7:50 PM Changeset in webkit [265931] by Lauro Moura
  • 2 edits in trunk/LayoutTests

[GTK][WPE] Gardening websocket failures

Unreviewed test gardening.

  • platform/glib/TestExpectations:
6:50 PM Changeset in webkit [265930] by achristensen@apple.com
  • 2 edits in trunk/Source/WebKit

Fix null pointer crashes in network process after r265835

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

<rdar://problem/67268892>

Call the correct CompletionHandler. completionHandler has already been moved from at this point.
This crash was being hit in the test, but the test recovered from it.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::continueDidReceiveChallenge):

6:26 PM Changeset in webkit [265929] by Alan Coon
  • 5 edits in branches/safari-610.1.28.2-branch/Source/JavaScriptCore

Cherry-pick r265891. rdar://problem/67439277

B3 IntRange is incorrect for negative masks
https://bugs.webkit.org/show_bug.cgi?id=215536
<rdar://problem/67130430>

Reviewed by Michael Saboff and Robin Morisset.

In the B3 ReduceStrength phase, we compute rangeForMask as (0, mask). This is correct for
positive values, but incorrect when negative. To fix it, we use (INT_MIN & mask, INT_MAX & mask)
as the range for negative masks.

  • b3/B3ReduceStrength.cpp:
  • b3/testb3.h:
  • b3/testb3_1.cpp: (run):
  • b3/testb3_5.cpp: (testCheckSubBitAnd):

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

6:25 PM Changeset in webkit [265928] by Alan Coon
  • 8 edits in branches/safari-610.1.28.2-branch/Source

Versioning.

WebKit-7610.1.28.2.2

6:22 PM Changeset in webkit [265927] by Alan Coon
  • 5 edits in branches/safari-610.1.28.1-branch/Source/JavaScriptCore

Cherry-pick r265891. rdar://problem/67439265

B3 IntRange is incorrect for negative masks
https://bugs.webkit.org/show_bug.cgi?id=215536
<rdar://problem/67130430>

Reviewed by Michael Saboff and Robin Morisset.

In the B3 ReduceStrength phase, we compute rangeForMask as (0, mask). This is correct for
positive values, but incorrect when negative. To fix it, we use (INT_MIN & mask, INT_MAX & mask)
as the range for negative masks.

  • b3/B3ReduceStrength.cpp:
  • b3/testb3.h:
  • b3/testb3_1.cpp: (run):
  • b3/testb3_5.cpp: (testCheckSubBitAnd):

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

6:18 PM Changeset in webkit [265926] by Alan Coon
  • 8 edits in branches/safari-610.1.28.1-branch/Source

Versioning.

WebKit-7610.1.28.1.2

6:15 PM Changeset in webkit [265925] by Alan Coon
  • 5 edits in branches/safari-610.1.28.0-branch/Source/JavaScriptCore

Cherry-pick r265891. rdar://problem/67439269

B3 IntRange is incorrect for negative masks
https://bugs.webkit.org/show_bug.cgi?id=215536
<rdar://problem/67130430>

Reviewed by Michael Saboff and Robin Morisset.

In the B3 ReduceStrength phase, we compute rangeForMask as (0, mask). This is correct for
positive values, but incorrect when negative. To fix it, we use (INT_MIN & mask, INT_MAX & mask)
as the range for negative masks.

  • b3/B3ReduceStrength.cpp:
  • b3/testb3.h:
  • b3/testb3_1.cpp: (run):
  • b3/testb3_5.cpp: (testCheckSubBitAnd):

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

6:15 PM Changeset in webkit [265924] by Alan Coon
  • 2 edits in branches/safari-610.1.28.0-branch/Source/WebCore

Cherry-pick r265890. rdar://problem/67439260

[iOS] Restore a 10_15_* user-agent string when requesting desktop site
https://bugs.webkit.org/show_bug.cgi?id=215657
<rdar://problem/67376157>

Reviewed by Tim Horton.

Reporting a major version of 11_0 causes numerous compatibility issues on websites that attempt to parse major
and minor versions from the user agent string. This partially reverts r263970, and replaces the string with
10_15_6, which matches the UA string of the latest shipped macOS version.

  • platform/ios/UserAgentIOS.mm: (WebCore::standardUserAgentWithApplicationName):

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

6:15 PM Changeset in webkit [265923] by Alan Coon
  • 6 edits in branches/safari-610.1.28.0-branch/Source/WebKit

Cherry-pick r265882. rdar://problem/67439284

REGRESSION (r261407): Sharing rich links from Twitter/Netflix via Messages is unreliable
https://bugs.webkit.org/show_bug.cgi?id=215656
<rdar://problem/67087352>

Reviewed by Tim Horton.

The WKWebView._clientNavigationsRunAtForegroundPriority SPI was not working for the
MessagesViewService because the view is unparented and PageClient::isApplicationVisible()
would not work return accurate results when [view window] returns nil. It is very
unfortunate to have to rely on the view or the view's window to determine application
visibility so this patch fixes this. We now rely on UIKit's visibility endowment to
determine if the UIProcess is visible, using RunningBoard API. I have verified that the
visibility endowment properly gets propagated from the host application to the view
service when the application is a view service and I have verified that this detects
the MessagesViewService as visible for the use-case at <rdar://problem/67087352>, which
causes the WKWebView._clientNavigationsRunAtForegroundPriority SPI to work as intended.

Note that when the application does not have the visibility endowment, we still allow
it to take a foreground assertion for client navigations if the process is allowed to
run in the background for an extended period of time, according to RunningBoard. This
allows the SPI to work for daemons (like maild) which rely on it.

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::runJavaScriptInFrameInScriptWorld):
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm: (WebKit::PageClientImpl::canTakeForegroundAssertions): (WebKit::PageClientImpl::isApplicationVisible): Deleted.
  • UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::shouldForceForegroundPriorityForClientNavigation const):

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

6:12 PM Changeset in webkit [265922] by Alan Coon
  • 8 edits in branches/safari-610.1.28.0-branch/Source

Versioning.

WebKit-7610.1.28.0.2

5:49 PM Changeset in webkit [265921] by Hector Lopez
  • 2 edits in trunk/LayoutTests

[ iOS wk2 Release ] http/tests/security/contentSecurityPolicy/worker-redirect-allowed.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=215676

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
5:45 PM Changeset in webkit [265920] by Alan Coon
  • 1 copy in tags/Safari-610.1.28.3.1

Tag Safari-610.1.28.3.1.

5:45 PM Changeset in webkit [265919] by Alan Coon
  • 1 copy in tags/Safari-610.1.28.2.1

Tag Safari-610.1.28.2.1.

5:44 PM Changeset in webkit [265918] by Alan Coon
  • 1 copy in tags/Safari-610.1.28.1.1

Tag Safari-610.1.28.1.1.

5:43 PM Changeset in webkit [265917] by Alan Coon
  • 1 copy in tags/Safari-610.1.28.0.1

Tag Safari-610.1.28.0.1.

5:39 PM Changeset in webkit [265916] by Kate Cheney
  • 30 edits in trunk

Third party domains are not stored in the case of back/forward navigations
https://bugs.webkit.org/show_bug.cgi?id=215595
<rdar://problem/66642893>

Reviewed by Chris Dumez.

Source/WebCore:

Add a FrameLoaderClient function to store loaded third party
domains in a CachedPage in the case of back/forward navigations.

  • history/CachedPage.cpp:

(WebCore::CachedPage::CachedPage):
(WebCore::CachedPage::restore):
(WebCore::CachedPage::clear):

  • history/CachedPage.h:
  • loader/FrameLoaderClient.h:

Source/WebKit:

This patch adds the ability to retrieve loaded third party domains from the page
synchronously to be stored in the CachedPage in the case of a
back/forward navigation.

It also changes the functions loadedThirdPartyDomains and
getLoadedThirdPartyDomains to loadedSubresourceDomains and
getLoadedSubresourceDomains respectively based on the conversation from
https://bugs.webkit.org/show_bug.cgi?id=215595.

  • UIProcess/API/C/WKPage.cpp:

(WKPageLoadedSubresourceDomains):
(WKPageClearLoadedSubresourceDomains):
(WKPageLoadedThirdPartyDomains): Deleted.
(WKPageClearLoadedThirdPartyDomains): Deleted.

  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/API/Cocoa/WKWebsiteDataStore.mm:

(-[WKWebsiteDataStore _loadedSubresourceDomainsFor:completionHandler:]):
(-[WKWebsiteDataStore _clearLoadedSubresourceDomainsFor:]):
(-[WKWebsiteDataStore _loadedThirdPartyDomainsFor:completionHandler:]): Deleted.
(-[WKWebsiteDataStore _clearLoadedThirdPartyDomainsFor:]): Deleted.

  • UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::getLoadedSubresourceDomains):
(WebKit::WebPageProxy::clearLoadedSubresourceDomains):
(WebKit::WebPageProxy::loadedThirdPartyDomains): Deleted.
(WebKit::WebPageProxy::clearLoadedThirdPartyDomains): Deleted.

  • UIProcess/WebPageProxy.h:
  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::loadedSubresourceDomains const):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didCommitLoad):
(WebKit::WebPage::didLoadFromRegistrableDomain):
(WebKit::WebPage::getLoadedSubresourceDomains):
(WebKit::WebPage::clearLoadedSubresourceDomains):
(WebKit::WebPage::loadedThirdPartyDomains): Deleted.
(WebKit::WebPage::clearLoadedThirdPartyDomains): Deleted.

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::loadedSubresourceDomains const):

  • WebProcess/WebPage/WebPage.messages.in:

Tools:

API test coverage, including a new scheme handler to load third party
domains. Also this patch changes the function name from
loadedThirdPartyDomains to loadedSubresourceDomains based on the
conversation from https://bugs.webkit.org/show_bug.cgi?id=215595.

  • TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadStatistics.mm:

(-[ResourceLoadStatisticsSchemeHandler webView:startURLSchemeTask:]):
(-[ResourceLoadStatisticsSchemeHandler webView:stopURLSchemeTask:]):
(TEST):

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

(WTR::InjectedBundle::didReceiveMessageToPage):

  • WebKitTestRunner/InjectedBundle/TestRunner.cpp:

(WTR::TestRunner::loadedSubresourceDomains):
(WTR::TestRunner::callDidReceiveLoadedSubresourceDomainsCallback):
(WTR::TestRunner::loadedThirdPartyDomains): Deleted.
(WTR::TestRunner::callDidReceiveLoadedThirdPartyDomainsCallback): Deleted.

  • WebKitTestRunner/InjectedBundle/TestRunner.h:
  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues):
(WTR::LoadedSubresourceDomainsCallbackContext::LoadedSubresourceDomainsCallbackContext):
(WTR::loadedSubresourceDomainsCallback):
(WTR::TestController::loadedSubresourceDomains):
(WTR::TestController::clearLoadedSubresourceDomains):
(WTR::LoadedThirdPartyDomainsCallbackContext::LoadedThirdPartyDomainsCallbackContext): Deleted.
(WTR::loadedThirdPartyDomainsCallback): Deleted.
(WTR::TestController::loadedThirdPartyDomains): Deleted.
(WTR::TestController::clearLoadedThirdPartyDomains): Deleted.

  • WebKitTestRunner/TestController.h:
  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
(WTR::TestInvocation::didReceiveLoadedSubresourceDomains):
(WTR::TestInvocation::didReceiveLoadedThirdPartyDomains): Deleted.

  • WebKitTestRunner/TestInvocation.h:
  • WebKitTestRunner/cocoa/TestControllerCocoa.mm:

(WTR::TestController::loadedSubresourceDomains):
(WTR::TestController::clearLoadedSubresourceDomains):
(WTR::TestController::loadedThirdPartyDomains): Deleted.
(WTR::TestController::clearLoadedThirdPartyDomains): Deleted.

LayoutTests:

Updated layout tests to use the new function name.

  • http/tests/resourceLoadStatistics/loaded-registrable-domains-get-reported.html:
  • http/tests/websocket/web-socket-loads-captured-in-per-page-domains.html:
5:31 PM Changeset in webkit [265915] by Alan Coon
  • 1 copy in tags/Safari-610.1.26.1

Tag Safari-610.1.26.1.

5:30 PM Changeset in webkit [265914] by Alan Coon
  • 4 edits in branches/safari-610.1.28.0-branch

Revert r265878. rdar://problem/67364266

5:28 PM Changeset in webkit [265913] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

[iOS] Update fast/text/opticalFontWithTextStyle.html for iOS 14
https://bugs.webkit.org/show_bug.cgi?id=215667
<rdar://problem/67103788>

Unreviewed test gardening.

  • platform/ios/platform/ios/ios/fast/text/opticalFontWithTextStyle-expected.txt:
5:27 PM Changeset in webkit [265912] by Alan Coon
  • 4 edits in branches/safari-610.1.26-branch

Revert r265900. rdar://problem/67364266

5:25 PM Changeset in webkit [265911] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

Update fast/selectors/lang-dynamic.html after r265487
https://bugs.webkit.org/show_bug.cgi?id=215665
<rdar://problem/67083106>

Unreviewed test gardening.

  • fast/selectors/lang-dynamic-expected.html:
5:22 PM Changeset in webkit [265910] by Karl Rackler
  • 2 edits in trunk/LayoutTests

rdar://65269589 ([ macOS and iOS ] media/vp9.html is failing consistently.)
Add exception of BigSur wk2 only to run test for macOS

Unreviewed test gardening

  • platform/mac-wk2/TestExpectations:
5:16 PM Changeset in webkit [265909] by Karl Rackler
  • 3 edits in trunk/LayoutTests

rdar://65269589 ([ macOS and iOS ] media/vp9.html is failing consistently.)
Change test expectation to skip macOS with the exception of BigSur wk2

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
4:56 PM Changeset in webkit [265908] by Chris Dumez
  • 18 edits in trunk

Blob is missing text() & arrayBuffer() operations
https://bugs.webkit.org/show_bug.cgi?id=215663

Reviewed by Geoff Garen.

LayoutTests/imported/w3c:

  • web-platform-tests/FileAPI/blob/Blob-array-buffer.any-expected.txt:
  • web-platform-tests/FileAPI/blob/Blob-array-buffer.any.worker-expected.txt:
  • web-platform-tests/FileAPI/blob/Blob-text.any-expected.txt:
  • web-platform-tests/FileAPI/blob/Blob-text.any.worker-expected.txt:
  • web-platform-tests/FileAPI/idlharness-expected.txt:
  • web-platform-tests/FileAPI/idlharness.worker-expected.txt:

Source/WebCore:

Implementation support for Blob.text() & Blob.arrayBuffer() as per specification:

The implementation relies on the pre-existing BlobLoader class but the following
changes were made:

  • Stop calling start() in the BlobLoader constructor and have the caller call start() explicitly after constructing the BlobLoader. This is important because the load may fail synchronously in some cases.
  • Add support for reading Blob as text. Previously, BlobLoader would only support reading the blob as an ArrayBuffer.
  • Use a CompletionHandler instead of a Function and make sure that it is always called.

No new tests, rebaselined existing tests.

  • fileapi/Blob.cpp:

(WebCore::Blob::~Blob):
(WebCore::Blob::loadBlob):
(WebCore::Blob::text):
(WebCore::Blob::arrayBuffer):

  • fileapi/Blob.h:
  • fileapi/Blob.idl:
  • fileapi/BlobLoader.h:

(WebCore::BlobLoader::BlobLoader):
(WebCore::BlobLoader::~BlobLoader):
(WebCore::BlobLoader::cancel):
(WebCore::BlobLoader::start):
(WebCore::BlobLoader::didFinishLoading):
(WebCore::BlobLoader::didFail):
(WebCore::BlobLoader::complete): Deleted.

  • fileapi/NetworkSendQueue.cpp:

(WebCore::NetworkSendQueue::enqueue):
(WebCore::NetworkSendQueue::clear):
(WebCore::NetworkSendQueue::processMessages):

  • page/ShareDataReader.cpp:

(WebCore::ShareDataReader::start):
(WebCore::ShareDataReader::didFinishLoading):
(WebCore::ShareDataReader::cancel):

4:25 PM Changeset in webkit [265907] by Alexey Shvayka
  • 55 edits
    6 adds in trunk

Introduce OpIsCallable bytecode and intrinsic
https://bugs.webkit.org/show_bug.cgi?id=215572

Reviewed by Ross Kirsling and Saam Barati.

JSTests:

  • stress/type-of-functions-and-objects.js:
  • test262/expectations.yaml: Mark 2 test cases as passing.

Source/JavaScriptCore:

This patch:

  1. Aligns slow_path_is_function with DFG/FTL implementations by introducing jsTypeofIsFunction() helper. This fixes typeof document.all === "function" to return false instead of true.
  1. Renames is_function bytecode op to typeof_is_function, aligning it with typeof_is_undefined and typeof_is_object. New name offers better semantics and clearly communicates the op should be avoided when implementing new features because of typeof behavior with IsHTMLDDA objects [1].
  1. Adds is_callable bytecode op and utilizes it in built-ins via intrinsic, removing typeof callback === "function" checks. This prevents IsHTMLDDA objects from being considered non-callable [2].

To preserve the fast path for JSFunctionType,
createFunctionThatMasqueradesAsUndefined() is relocated to InternalFunction.

typeof microbenchmarks are neutral.

[1]: https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-typeof
[2]: https://tc39.es/ecma262/#sec-array.prototype.map (step 3)

  • builtins/ArrayConstructor.js:
  • builtins/ArrayPrototype.js:

(reduce):
(reduceRight):
(every):
(forEach):
(filter):
(map):
(some):
(find):
(findIndex):
(sort):
(flatMap):

  • builtins/FunctionPrototype.js:

(overriddenName.string_appeared_here.symbolHasInstance):
(bind):

  • builtins/MapPrototype.js:

(forEach):

  • builtins/PromiseConstructor.js:

(all):
(allSettled):
(any):
(race):
(nakedConstructor.Promise):
(nakedConstructor.InternalPromise):

  • builtins/PromiseOperations.js:

(globalPrivate.newPromiseCapabilitySlow):
(globalPrivate.resolvePromise):
(globalPrivate.resolveWithoutPromise):

  • builtins/PromisePrototype.js:

(finally):
(globalPrivate.getThenFinally):
(globalPrivate.getCatchFinally):

  • builtins/ReflectObject.js:

(apply):

  • builtins/RegExpPrototype.js:

(globalPrivate.regExpExec):
(overriddenName.string_appeared_here.replace):

  • builtins/SetPrototype.js:

(forEach):

  • builtins/TypedArrayConstructor.js:
  • builtins/TypedArrayPrototype.js:

(every):
(find):
(findIndex):
(forEach):
(some):
(sort):
(reduce):
(reduceRight):
(map):
(filter):

  • bytecode/BytecodeIntrinsicRegistry.h:
  • bytecode/BytecodeList.rb:
  • bytecode/BytecodeUseDef.cpp:

(JSC::computeUsesForBytecodeIndexImpl):
(JSC::computeDefsForBytecodeIndexImpl):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitEqualityOpImpl):
(JSC::BytecodeGenerator::emitIsCallable):

  • bytecompiler/BytecodeGenerator.h:
  • bytecompiler/NodesCodegen.cpp:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGHeapLocation.cpp:

(WTF::printInternal):

  • dfg/DFGHeapLocation.h:
  • dfg/DFGNodeType.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileIsCallable):
(JSC::DFG::SpeculativeJIT::compileIsFunction): Deleted.

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileNode):
(JSC::FTL::DFG::LowerDFGToB3::compileIsCallable):
(JSC::FTL::DFG::LowerDFGToB3::compileIsFunction): Deleted.

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JITOperations.h:
  • jsc.cpp:

(functionMakeMasquerader):

  • llint/LowLevelInterpreter.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
  • runtime/InternalFunction.cpp:

(JSC::InternalFunction::createFunctionThatMasqueradesAsUndefined):

  • runtime/InternalFunction.h:
  • runtime/JSFunction.cpp:

(JSC::JSFunction::createFunctionThatMasqueradesAsUndefined): Deleted.

  • runtime/JSFunction.h:
  • runtime/Operations.h:

(JSC::jsTypeofIsFunction):

Source/WebCore:

No new tests, no behavior change.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::openDatabase const):

LayoutTests:

  • js/dom/document-all-is-callable-builtins-expected.txt: Added.
  • js/dom/document-all-is-callable-builtins.html: Added.
  • js/dom/document-all-typeof-is-function-fold-expected.txt: Added.
  • js/dom/document-all-typeof-is-function-fold.html: Added.
  • js/dom/script-tests/document-all-is-callable-builtins.js: Added.
  • js/dom/script-tests/document-all-typeof-is-function-fold.js: Added.
4:24 PM Changeset in webkit [265906] by Chris Dumez
  • 2 edits in trunk/LayoutTests/imported/w3c

Unreviewed, rebaseline imported/w3c/web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/osc-basic-waveform.html

  • web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/osc-basic-waveform-expected.txt:
3:44 PM Changeset in webkit [265905] by Alan Coon
  • 8 edits in branches/safari-610.2.2-branch/Source

Versioning.

WebKit-7610.2.3

3:36 PM Changeset in webkit [265904] by Peng Liu
  • 7 edits
    2 adds in trunk

A PiP window is closed when the video element is removed from DOM
https://bugs.webkit.org/show_bug.cgi?id=215594

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/remove-video-element-in-pip-from-document.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::pauseAfterDetachedTask):
When a video is playing in the picture-in-picture mode, do not pause it or exit the
picture-in-picture mode when detaching the video element from the DOM.
(WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
Always return true when the video is playing in the picture-in-picture mode.

  • rendering/RenderVideo.cpp:

(WebCore::RenderVideo::willBeDestroyed):
Don't hide the player when destroying the renderer of an inline video.

LayoutTests:

  • TestExpectations:
  • media/remove-video-element-in-pip-from-document-expected.txt: Added.
  • media/remove-video-element-in-pip-from-document.html: Added.
  • platform/ipad/TestExpectations:
  • platform/mac-wk2/TestExpectations:
3:35 PM Changeset in webkit [265903] by Russell Epstein
  • 2 edits in branches/safari-610.2.2-branch/Source/WebKit

Cherry-pick r265792. rdar://problem/67420555

Assert failure after r265715
https://bugs.webkit.org/show_bug.cgi?id=215592

Reviewed by Darin Adler.

The change set r265715 introduced an assert failure in AuthenticationManager::initializeConnection. This
happens because after r265715 the new XPC event handler set in AuthenticationManager::initializeConnection,
will no longer be called on the main thread. This patch addresses this issue by dispatching this work on
the main thread.

No new tests, covered by existing tests.

  • Shared/Authentication/cocoa/AuthenticationManagerCocoa.mm: (WebKit::AuthenticationManager::initializeConnection):

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

3:35 PM Changeset in webkit [265902] by Russell Epstein
  • 2 edits in branches/safari-610.2.2-branch/Source/WebKit

Cherry-pick r265761. rdar://problem/67420550

[Mac] Add Experimental Feature preference for SW VP9
https://bugs.webkit.org/show_bug.cgi?id=215043
<rdar://problem/66400034>

Reviewed by Darin Adler.

Follow up fix: during a rebase, a line deletion was dropped which causes the SW decoder to
always be registered regardless of the new setting.

  • WebProcess/WebProcess.cpp: (WebKit::WebProcess::enableVP9Decoder): (WebKit::WebProcess::enableVP9SWDecoder):

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

2:55 PM Changeset in webkit [265901] by Alan Coon
  • 3 edits
    2 adds in branches/safari-610.1.26-branch

Cherry-pick r265881. rdar://problem/67423220

REGRESSION(r265092): delegatesFocus causes WebKit to crash
https://bugs.webkit.org/show_bug.cgi?id=215622

Reviewed by Youenn Fablet.

Source/WebCore:

The bug was caused by a missing nullptr check. Added it.

Test: fast/shadow-dom/delegates-focus-unsuccessfully-by-activation.html

  • page/EventHandler.cpp: (WebCore::EventHandler::dispatchMouseEvent): Added a nullptr check.

LayoutTests:

Added a regression test.

  • fast/shadow-dom/delegates-focus-unsuccessfully-by-activation-expected.txt: Added.
  • fast/shadow-dom/delegates-focus-unsuccessfully-by-activation.html: Added.

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

2:55 PM Changeset in webkit [265900] by Alan Coon
  • 4 edits in branches/safari-610.1.26-branch

Cherry-pick r265835. rdar://problem/67364266

WKWebViews using fastServerTrustEvaluationEnabled should only allow legacy TLS for main resource loads
https://bugs.webkit.org/show_bug.cgi?id=215626
<rdar://problem/67268892>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-08-18
Reviewed by Darin Adler.

Source/WebKit:

We have introduced public API webView:authenticationChallenge:shouldAllowDeprecatedTLS: in WKNavigationDelegate to allow
applications to choose whether to allow TLS 1.0 or 1.1 connections. We don't want to break this API or break existing third party
apps that load pages that load third party subresources that use TLS 1.0 or 1.1.

However, we do want Safari, which uses fastServerTrustEvaluationEnabled SPI, to silently fail subresource loads that use TLS 1.0 or 1.1.
This matches the current behavior of Chrome and Firefox, which was not implemented in those other browsers when we decided to ask about subresources.

Covered by an API test.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::continueDidReceiveChallenge):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm: (TestWebKitAPI::TEST):

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

2:53 PM Changeset in webkit [265899] by Alan Coon
  • 8 edits in branches/safari-610.1.26-branch/Source

Versioning.

WebKit-7610.1.26.1

2:40 PM Changeset in webkit [265898] by Russell Epstein
  • 1 copy in branches/safari-610.1.26-branch

New branch.

2:30 PM Changeset in webkit [265897] by Russell Epstein
  • 4 edits in branches/safari-610.1.25.0-branch

Cherry-pick r265835. rdar://problem/67364266

WKWebViews using fastServerTrustEvaluationEnabled should only allow legacy TLS for main resource loads
https://bugs.webkit.org/show_bug.cgi?id=215626
<rdar://problem/67268892>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-08-18
Reviewed by Darin Adler.

Source/WebKit:

We have introduced public API webView:authenticationChallenge:shouldAllowDeprecatedTLS: in WKNavigationDelegate to allow
applications to choose whether to allow TLS 1.0 or 1.1 connections. We don't want to break this API or break existing third party
apps that load pages that load third party subresources that use TLS 1.0 or 1.1.

However, we do want Safari, which uses fastServerTrustEvaluationEnabled SPI, to silently fail subresource loads that use TLS 1.0 or 1.1.
This matches the current behavior of Chrome and Firefox, which was not implemented in those other browsers when we decided to ask about subresources.

Covered by an API test.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::continueDidReceiveChallenge):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm: (TestWebKitAPI::TEST):

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

2:29 PM Changeset in webkit [265896] by Russell Epstein
  • 3 edits
    2 adds in branches/safari-610.1.25.0-branch

Cherry-pick r265881. rdar://problem/67423220

REGRESSION(r265092): delegatesFocus causes WebKit to crash
https://bugs.webkit.org/show_bug.cgi?id=215622

Reviewed by Youenn Fablet.

Source/WebCore:

The bug was caused by a missing nullptr check. Added it.

Test: fast/shadow-dom/delegates-focus-unsuccessfully-by-activation.html

  • page/EventHandler.cpp: (WebCore::EventHandler::dispatchMouseEvent): Added a nullptr check.

LayoutTests:

Added a regression test.

  • fast/shadow-dom/delegates-focus-unsuccessfully-by-activation-expected.txt: Added.
  • fast/shadow-dom/delegates-focus-unsuccessfully-by-activation.html: Added.

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

2:26 PM Changeset in webkit [265895] by Russell Epstein
  • 8 edits in branches/safari-610.1.25.0-branch/Source

Versioning.

WebKit-7610.1.25.0.3

2:15 PM Changeset in webkit [265894] by Russell Epstein
  • 3 edits
    2 adds in branches/safari-610.1.28.0-branch

Cherry-pick r265881. rdar://problem/67423220

REGRESSION(r265092): delegatesFocus causes WebKit to crash
https://bugs.webkit.org/show_bug.cgi?id=215622

Reviewed by Youenn Fablet.

Source/WebCore:

The bug was caused by a missing nullptr check. Added it.

Test: fast/shadow-dom/delegates-focus-unsuccessfully-by-activation.html

  • page/EventHandler.cpp: (WebCore::EventHandler::dispatchMouseEvent): Added a nullptr check.

LayoutTests:

Added a regression test.

  • fast/shadow-dom/delegates-focus-unsuccessfully-by-activation-expected.txt: Added.
  • fast/shadow-dom/delegates-focus-unsuccessfully-by-activation.html: Added.

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

1:57 PM Changeset in webkit [265893] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION (r265775): DFG ASSERTION FAILED: AI-clobberize disagreement; AI says FoldedClobber while clobberize says (Direct:[], Super:[])
https://bugs.webkit.org/show_bug.cgi?id=215639
<rdar://problem/67376432>

Reviewed by Robin Morisset.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

12:49 PM Changeset in webkit [265892] by Alan Coon
  • 1 copy in branches/safari-610.2.2-branch

New branch.

12:46 PM Changeset in webkit [265891] by Tadeu Zagallo
  • 5 edits in trunk/Source/JavaScriptCore

B3 IntRange is incorrect for negative masks
https://bugs.webkit.org/show_bug.cgi?id=215536
<rdar://problem/67130430>

Reviewed by Michael Saboff and Robin Morisset.

In the B3 ReduceStrength phase, we compute rangeForMask as (0, mask). This is correct for
positive values, but incorrect when negative. To fix it, we use (INT_MIN & mask, INT_MAX & mask)
as the range for negative masks.

  • b3/B3ReduceStrength.cpp:
  • b3/testb3.h:
  • b3/testb3_1.cpp:

(run):

  • b3/testb3_5.cpp:

(testCheckSubBitAnd):

12:44 PM Changeset in webkit [265890] by Wenson Hsieh
  • 2 edits in trunk/Source/WebCore

[iOS] Restore a 10_15_* user-agent string when requesting desktop site
https://bugs.webkit.org/show_bug.cgi?id=215657
<rdar://problem/67376157>

Reviewed by Tim Horton.

Reporting a major version of 11_0 causes numerous compatibility issues on websites that attempt to parse major
and minor versions from the user agent string. This partially reverts r263970, and replaces the string with
10_15_6, which matches the UA string of the latest shipped macOS version.

  • platform/ios/UserAgentIOS.mm:

(WebCore::standardUserAgentWithApplicationName):

12:19 PM Changeset in webkit [265889] by Hector Lopez
  • 2 edits in trunk/LayoutTests

[ macOS wk1 ] svg/custom/object-sizing-no-width-height.xhtml is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215658

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
12:10 PM Changeset in webkit [265888] by Chris Dumez
  • 3 edits in trunk/LayoutTests

Mark 3 webaudio WPT tests as flaky instead of consistently failing.

Those tests are for WebAudio automation, which we do not support. The values being printed
on failure sometimes differ.

12:03 PM Changeset in webkit [265887] by Alan Coon
  • 7 edits in branches/safari-610.1.28.3-branch

Apply patch. rdar://problem/67415363

11:59 AM Changeset in webkit [265886] by Alan Coon
  • 8 edits in branches/safari-610.1.28.3-branch/Source

Versioning.

WebKit-7610.1.28.3.1

11:47 AM Changeset in webkit [265885] by Jonathan Bedard
  • 3 edits in trunk/Tools

[webkitcorepy] Failure to set index should not be fatal
https://bugs.webkit.org/show_bug.cgi?id=215653
<rdar://problem/67410416>

Reviewed by Stephanie Lewis.

  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py:
  • Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:

(AutoInstall.set_index): By default, log an error instead of raising an exception if an index is unreachable.

11:36 AM Changeset in webkit [265884] by Alan Coon
  • 1 copy in branches/safari-610.1.28.3-branch

New branch.

11:35 AM Changeset in webkit [265883] by Jonathan Bedard
  • 70 edits
    2 deletes in trunk/Tools

[webkitpy] Adopt webkitcorepy's OutputCapture
https://bugs.webkit.org/show_bug.cgi?id=215628
<rdar://problem/67353710>

Reviewed by Dewei Zhu.

Remove webkitpy's OutputCapture in favor of webkitcorepy's. The refactor retains the orginal
functionality of the old OutputCapture, but deletes some now unused code.

  • Scripts/webkitpy/common/checkout/checkout_unittest.py:
  • Scripts/webkitpy/common/checkout/scm/detection_unittest.py:
  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
  • Scripts/webkitpy/common/net/bugzilla/bugzilla_unittest.py:
  • Scripts/webkitpy/common/net/credentials_unittest.py:
  • Scripts/webkitpy/common/net/ewsserver_unittest.py:
  • Scripts/webkitpy/common/net/irc/ircproxy_unittest.py:
  • Scripts/webkitpy/common/net/layouttestresults_unittest.py:
  • Scripts/webkitpy/common/system/outputcapture.py: Removed.
  • Scripts/webkitpy/common/system/outputcapture_unittest.py: Removed.
  • Scripts/webkitpy/common/system/stack_utils_unittest.py:
  • Scripts/webkitpy/common/system/user_unittest.py:
  • Scripts/webkitpy/common/system/workspace_unittest.py:
  • Scripts/webkitpy/common/watchlist/watchlistparser_unittest.py:
  • Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:
  • Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py:
  • Scripts/webkitpy/performance_tests/perftest_unittest.py:
  • Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:
  • Scripts/webkitpy/port/base_unittest.py:
  • Scripts/webkitpy/port/config_unittest.py:
  • Scripts/webkitpy/port/darwin_testcase.py:
  • Scripts/webkitpy/port/gtk_unittest.py:
  • Scripts/webkitpy/port/ios_device_unittest.py:
  • Scripts/webkitpy/port/ios_simulator_unittest.py:
  • Scripts/webkitpy/port/leakdetector_unittest.py:
  • Scripts/webkitpy/port/leakdetector_valgrind_unittest.py:
  • Scripts/webkitpy/port/mac_unittest.py:
  • Scripts/webkitpy/port/port_testcase.py:
  • Scripts/webkitpy/port/server_process_unittest.py:
  • Scripts/webkitpy/port/watch_simulator_unittest.py:
  • Scripts/webkitpy/port/westondriver_unittest.py:
  • Scripts/webkitpy/port/win_unittest.py:
  • Scripts/webkitpy/port/wpe_unittest.py:
  • Scripts/webkitpy/port/xvfbdriver_unittest.py:
  • Scripts/webkitpy/style/checkers/python.py:
  • Scripts/webkitpy/style/main_unittest.py:
  • Scripts/webkitpy/test/finder_unittest.py:
  • Scripts/webkitpy/test/main_unittest.py:
  • Scripts/webkitpy/test/printer.py:
  • Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:
  • Scripts/webkitpy/tool/bot/ircbot_unittest.py:
  • Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:
  • Scripts/webkitpy/tool/bot/queueengine_unittest.py:
  • Scripts/webkitpy/tool/bot/sheriff_unittest.py:
  • Scripts/webkitpy/tool/commands/analyzechangelog_unittest.py:
  • Scripts/webkitpy/tool/commands/commandtest.py:
  • Scripts/webkitpy/tool/commands/download_unittest.py:
  • Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
  • Scripts/webkitpy/tool/commands/perfalizer_unittest.py:
  • Scripts/webkitpy/tool/commands/queries_unittest.py:
  • Scripts/webkitpy/tool/commands/queues_unittest.py:
  • Scripts/webkitpy/tool/commands/queuestest.py:
  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:
  • Scripts/webkitpy/tool/multicommandtool_unittest.py:
  • Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
  • Scripts/webkitpy/tool/steps/addsvnmimetypeforpng_unittest.py:
  • Scripts/webkitpy/tool/steps/applywatchlist_unittest.py:
  • Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:
  • Scripts/webkitpy/tool/steps/commit_unittest.py:
  • Scripts/webkitpy/tool/steps/preparechangelog_unittest.py:
  • Scripts/webkitpy/tool/steps/runtests_unittest.py:
  • Scripts/webkitpy/tool/steps/steps_unittest.py:
  • Scripts/webkitpy/tool/steps/suggestreviewers_unittest.py:
  • Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittest.py:
  • Scripts/webkitpy/tool/steps/validatechangelogs_unittest.py:
  • Scripts/webkitpy/w3c/test_converter_unittest.py:
  • Scripts/webkitpy/w3c/test_importer_unittest.py:
  • Scripts/webkitpy/w3c/test_parser_unittest.py:
11:33 AM Changeset in webkit [265882] by Chris Dumez
  • 6 edits in trunk/Source/WebKit

REGRESSION (r261407): Sharing rich links from Twitter/Netflix via Messages is unreliable
https://bugs.webkit.org/show_bug.cgi?id=215656
<rdar://problem/67087352>

Reviewed by Tim Horton.

The WKWebView._clientNavigationsRunAtForegroundPriority SPI was not working for the
MessagesViewService because the view is unparented and PageClient::isApplicationVisible()
would not work return accurate results when [view window] returns nil. It is very
unfortunate to have to rely on the view or the view's window to determine application
visibility so this patch fixes this. We now rely on UIKit's visibility endowment to
determine if the UIProcess is visible, using RunningBoard API. I have verified that the
visibility endowment properly gets propagated from the host application to the view
service when the application is a view service and I have verified that this detects
the MessagesViewService as visible for the use-case at <rdar://problem/67087352>, which
causes the WKWebView._clientNavigationsRunAtForegroundPriority SPI to work as intended.

Note that when the application does not have the visibility endowment, we still allow
it to take a foreground assertion for client navigations if the process is allowed to
run in the background for an extended period of time, according to RunningBoard. This
allows the SPI to work for daemons (like maild) which rely on it.

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

(WebKit::WebPageProxy::runJavaScriptInFrameInScriptWorld):

  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::canTakeForegroundAssertions):
(WebKit::PageClientImpl::isApplicationVisible): Deleted.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::shouldForceForegroundPriorityForClientNavigation const):

11:14 AM Changeset in webkit [265881] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION(r265092): delegatesFocus causes WebKit to crash
https://bugs.webkit.org/show_bug.cgi?id=215622

Reviewed by Youenn Fablet.

Source/WebCore:

The bug was caused by a missing nullptr check. Added it.

Test: fast/shadow-dom/delegates-focus-unsuccessfully-by-activation.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::dispatchMouseEvent): Added a nullptr check.

LayoutTests:

Added a regression test.

  • fast/shadow-dom/delegates-focus-unsuccessfully-by-activation-expected.txt: Added.
  • fast/shadow-dom/delegates-focus-unsuccessfully-by-activation.html: Added.
11:07 AM Changeset in webkit [265880] by Jonathan Bedard
  • 3 edits in trunk/Tools

[webkitcorepy] Don't overwrite foreign packages by default
https://bugs.webkit.org/show_bug.cgi?id=215654
<rdar://problem/67411393>

Reviewed by Darin Adler.

  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Bump version.
  • Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:

(Package.is_cached): Consider a package cached if it is foreign and overwrite_foreign_packages is false.
(AutoInstall): Add overwrite_foreign_packages flag.

10:28 AM Changeset in webkit [265879] by Alan Coon
  • 7 edits in branches/safari-610.1.28.0-branch

Apply patch. rdar://problem/67364254

10:28 AM Changeset in webkit [265878] by Alan Coon
  • 4 edits in branches/safari-610.1.28.0-branch

Cherry-pick r265835. rdar://problem/67364266

WKWebViews using fastServerTrustEvaluationEnabled should only allow legacy TLS for main resource loads
https://bugs.webkit.org/show_bug.cgi?id=215626
<rdar://problem/67268892>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-08-18
Reviewed by Darin Adler.

Source/WebKit:

We have introduced public API webView:authenticationChallenge:shouldAllowDeprecatedTLS: in WKNavigationDelegate to allow
applications to choose whether to allow TLS 1.0 or 1.1 connections. We don't want to break this API or break existing third party
apps that load pages that load third party subresources that use TLS 1.0 or 1.1.

However, we do want Safari, which uses fastServerTrustEvaluationEnabled SPI, to silently fail subresource loads that use TLS 1.0 or 1.1.
This matches the current behavior of Chrome and Firefox, which was not implemented in those other browsers when we decided to ask about subresources.

Covered by an API test.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::continueDidReceiveChallenge):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm: (TestWebKitAPI::TEST):

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

10:28 AM Changeset in webkit [265877] by Alan Coon
  • 4 edits in branches/safari-610.1.28.0-branch

Cherry-pick r265812. rdar://problem/67364276

The CSS specificity of :host() pseudo-classes is wrong
https://bugs.webkit.org/show_bug.cgi?id=202494
<rdar://problem/66292568>

Reviewed by Anders Carlsson.

Source/WebCore:

https://drafts.csswg.org/css-scoping/#host-selector

“The specificity of :host() is that of a pseudo-class, plus the specificity of its argument.”

  • css/CSSSelector.cpp: (WebCore::simpleSelectorSpecificityInternal):

LayoutTests:

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

10:26 AM Changeset in webkit [265876] by Jonathan Bedard
  • 3 edits in trunk/Tools

[webkitcorepy] Correct autoinstaller logging
https://bugs.webkit.org/show_bug.cgi?id=215650
<rdar://problem/67408049>

Reviewed by Stephanie Lewis.

  • Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Bump version.
  • Scripts/libraries/webkitcorepy/webkitcorepy/autoinstall.py:

(Package.install): Log "Downloading" insteading of "Installing" before downloading a package.

10:23 AM Changeset in webkit [265875] by Alan Coon
  • 8 edits in branches/safari-610.1.28.0-branch/Source

Versioning.

WebKit-7610.1.28.0.1

10:21 AM Changeset in webkit [265874] by Alan Coon
  • 8 edits in branches/safari-610.1.28.1-branch/Source

Versioning.

WebKit-7610.1.28.1.1

10:17 AM Changeset in webkit [265873] by Alan Coon
  • 7 edits in branches/safari-610.1.28.1-branch

Apply patch. rdar://problem/67370822

10:17 AM Changeset in webkit [265872] by Alan Coon
  • 4 edits in branches/safari-610.1.28.1-branch

Cherry-pick r265835. rdar://problem/67364262

WKWebViews using fastServerTrustEvaluationEnabled should only allow legacy TLS for main resource loads
https://bugs.webkit.org/show_bug.cgi?id=215626
<rdar://problem/67268892>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-08-18
Reviewed by Darin Adler.

Source/WebKit:

We have introduced public API webView:authenticationChallenge:shouldAllowDeprecatedTLS: in WKNavigationDelegate to allow
applications to choose whether to allow TLS 1.0 or 1.1 connections. We don't want to break this API or break existing third party
apps that load pages that load third party subresources that use TLS 1.0 or 1.1.

However, we do want Safari, which uses fastServerTrustEvaluationEnabled SPI, to silently fail subresource loads that use TLS 1.0 or 1.1.
This matches the current behavior of Chrome and Firefox, which was not implemented in those other browsers when we decided to ask about subresources.

Covered by an API test.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm: (WebKit::NetworkSessionCocoa::continueDidReceiveChallenge):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm: (TestWebKitAPI::TEST):

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

10:17 AM Changeset in webkit [265871] by Alan Coon
  • 4 edits in branches/safari-610.1.28.1-branch

Cherry-pick r265812. rdar://problem/67364273

The CSS specificity of :host() pseudo-classes is wrong
https://bugs.webkit.org/show_bug.cgi?id=202494
<rdar://problem/66292568>

Reviewed by Anders Carlsson.

Source/WebCore:

https://drafts.csswg.org/css-scoping/#host-selector

“The specificity of :host() is that of a pseudo-class, plus the specificity of its argument.”

  • css/CSSSelector.cpp: (WebCore::simpleSelectorSpecificityInternal):

LayoutTests:

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

10:13 AM Changeset in webkit [265870] by Aditya Keerthi
  • 2 edits in trunk/Source/WebCore

Remove use of ControlSize in ThemeMac
https://bugs.webkit.org/show_bug.cgi?id=215651

Reviewed by Sam Weinig.

ThemeMac contains incorrectly mixes the use of Carbon's ControlSize
and AppKit's NSControlSize. This inconsistency went unnoticed as
ControlSize is a UInt16, and NSControlSize is an NSUInteger.

No new tests as there is no change in behavior.

  • platform/mac/ThemeMac.mm:

(WebCore::controlSizeFromPixelSize):

This method always returns an NSControlSize, but it's declared return
type is a ControlSize. Correct the declared return type.

(WebCore::setControlSize):
(WebCore::paintStepper):
(WebCore::ThemeMac::inflateControlPaintRect const):

10:07 AM Changeset in webkit [265869] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests/imported/w3c

Implement PerfomanceObserverInit.buffered
https://bugs.webkit.org/show_bug.cgi?id=214883

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

Sync case-sensitivity.any.js which was upstreamed to WPT
a bit differently than in r265390 and specifically managed to
use one timeout instead of multiple, making it a faster test.

  • web-platform-tests/performance-timeline/case-sensitivity.any-expected.txt:
  • web-platform-tests/performance-timeline/case-sensitivity.any.js:

(async_test):

  • web-platform-tests/performance-timeline/case-sensitivity.any.worker-expected.txt:
10:07 AM Changeset in webkit [265868] by Alan Coon
  • 7 edits in branches/safari-610.1.28.2-branch

Apply patch. rdar://problem/67373871

9:59 AM Changeset in webkit [265867] by Alan Coon
  • 8 edits in branches/safari-610.1.28.2-branch/Source

Versioning.

WebKit-7610.1.28.2.1

9:55 AM Changeset in webkit [265866] by Jonathan Bedard
  • 10 edits in trunk/Tools

[webkitpy] Use webkitcorepy's auto installer for selenium
https://bugs.webkit.org/show_bug.cgi?id=215648
<rdar://problem/67405967>

Reviewed by Darin Adler.

  • Scripts/webkitpy/init.py:
  • Scripts/webkitpy/benchmark_runner/browser_driver/linux_chrome_driver.py:

(LinuxChromeDriver.launch_driver): Implicitly use webkitcorepy's auto-installer.

  • Scripts/webkitpy/benchmark_runner/browser_driver/linux_firefox_driver.py:

(LinuxFirefoxDriver.launch_driver): Ditto.

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:

(OSXChromeDriver.launch_driver): Ditto.
(OSXChromeCanaryDriver.launch_driver): Ditto.

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_firefox_driver.py:

(OSXFirefoxDriver.launch_driver): Ditto.
(OSXFirefoxNightlyDriver.launch_driver): Ditto.

  • Scripts/webkitpy/benchmark_runner/browser_driver/osx_safari_driver.py:

(OSXSafariDriver.launch_driver): Ditto.

  • Scripts/webkitpy/benchmark_runner/webdriver_benchmark_runner.py:

(WebDriverBenchmarkRunner._run_one_test): Ditto.

  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook.find_module): Remove selenium.
(AutoinstallImportHook._install_selenium): Deleted.

  • Scripts/webkitpy/webdriver_plt/liveplt.py: Implicitly use webkitcorepy's auto-installer.
9:30 AM Changeset in webkit [265865] by Alan Coon
  • 1 copy in branches/safari-610.1.28.2-branch

New branch.

9:30 AM Changeset in webkit [265864] by Alan Coon
  • 1 copy in branches/safari-610.1.28.1-branch

New branch.

9:30 AM Changeset in webkit [265863] by Alan Coon
  • 1 copy in branches/safari-610.1.28.0-branch

New branch.

9:20 AM Changeset in webkit [265862] by Hector Lopez
  • 2 edits in trunk/LayoutTests

[ macOS ] accessibility/mac/select-element-selection-with-optgroups.html is a flaky failure

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

Unreviewed test gardening.

  • platform/mac/TestExpectations:
9:11 AM Changeset in webkit [265861] by Karl Rackler
  • 3 edits in trunk/LayoutTests

rdar://problem/65269589 [ Mac and iOS ] media/vp9.html is failing consistently.
Moved test expectation from only mac wk1 to mac.

Unreviewed test gardening.

  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
9:03 AM Changeset in webkit [265860] by Aditya Keerthi
  • 7 edits
    2 adds in trunk

[macOS] Move stepper painting code off of Carbon API
https://bugs.webkit.org/show_bug.cgi?id=215619
<rdar://problem/41936617>

Reviewed by Darin Adler.

Source/WebCore:

Use CoreUI and AppKit SPI to paint steppers. There are two benefits to
this new approach.

  1. The stepper now has an appropriate appearance in dark mode.
  1. We move away from using the outdated Carbon API.

Note that we still cannot use NSStepperCell to paint steppers, since it
is not possible to draw one with the up button highlighted. However, the
approach used in this patch is shared by NSStepperCell.

Test: fast/forms/number/number-dark-appearance.html

  • platform/mac/ThemeMac.mm:

(WebCore::paintStepper):

Source/WebCore/PAL:

Add forward declarations for CoreUI SPI on non-internal SDKs.

Also grouped declarations by key and value pairs.

  • pal/spi/mac/CoreUISPI.h:

LayoutTests:

Added a test to verify that the stepper appearance is different under dark mode.

  • TestExpectations:
  • fast/forms/number/number-dark-appearance-expected-mismatch.html: Added.
  • fast/forms/number/number-dark-appearance.html: Added.
  • platform/mac/TestExpectations:
8:50 AM Changeset in webkit [265859] by Lauro Moura
  • 2 edits in trunk/Source/WebCore

[WebXR] Remove uneeded assert

Rubber-stamped by Sergio Villar Senin

context being a Document is tracked by the downcast when capturing.
Fixes debug build error complaining about not capturing context.

Covered by existing tests.

  • Modules/webxr/WebXRSession.cpp:

(WebCore::WebXRSession::requestReferenceSpace):

8:44 AM Changeset in webkit [265858] by svillar@igalia.com
  • 4 edits in trunk

[css-flexbox] min-height:auto not updated after an image loads when the image has a specified height and width.
https://bugs.webkit.org/show_bug.cgi?id=210475

Reviewed by Javier Fernandez.

Source/WebCore:

The flex layout algorithm needs the item's intrinsic size even if it has a specified size, that's
why the flex item size should be recomputed in the event of changes in its intrinsic size.

  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::setNeedsLayoutIfNeededAfterIntrinsicSizeChange): set the needs layout flag
also for replaced elements which happen to be flex items.

LayoutTests:

8:39 AM Changeset in webkit [265857] by achristensen@apple.com
  • 2 edits in trunk/Tools

[Catalina/iOS 13] TestWebKitAPI.TLSVersion.LegacySubresources is failing
https://bugs.webkit.org/show_bug.cgi?id=215640

  • TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:

This tests behavior using CFNetwork functionality which is only available to Big Sur, iOS 14, and updated versions of Catalina.

8:39 AM Changeset in webkit [265856] by youenn@apple.com
  • 2 edits in trunk/Source/WebKit

WebSocketChannel::didClose should correctly compute whether a closing handshake was received
https://bugs.webkit.org/show_bug.cgi?id=215644

Reviewed by Darin Adler.

Covered by LayoutTests/http/tests/websocket/tests/hybi/close-code-and-reason.html with NSURLSession code path enabled.

  • WebProcess/Network/WebSocketChannel.cpp:

(WebKit::WebSocketChannel::didClose):
As noted by Jiten Mehta, absence of closing handshake from the server is notified by WebSocketChannel::CloseEventCodeAbnormalClosure.
Update check accordingly.

8:34 AM Changeset in webkit [265855] by svillar@igalia.com
  • 4 edits in trunk

[css-flexbox] Apply aspect ratios when computing flex-basis
https://bugs.webkit.org/show_bug.cgi?id=215570

Reviewed by Javier Fernandez.

Source/WebCore:

Aspect ratios (clamped by min/max restrictions) should be considered when computing flex-basis.

Based on Blink's crrev.com/c/1525444 & crrev.com/c/1672014 by <cbiesinger@chromium.org>

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::computeInnerFlexBaseSizeForChild):

LayoutTests:

8:02 AM Changeset in webkit [265854] by youenn@apple.com
  • 8 edits
    2 adds in trunk

Optimise resolution of promises with values in ReadableStream implementation
https://bugs.webkit.org/show_bug.cgi?id=215557
<rdar://problem/66828616>

Reviewed by Yusuke Suzuki.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/response/response-stream-with-broken-then.any-expected.txt:
  • web-platform-tests/fetch/api/response/response-stream-with-broken-then.any.worker-expected.txt:

Remaining test failure will be handled as part of pipeTo algorithm refresh.

Source/WebCore:

Instead of going through the slow @Promise.@resolve, we can directly use @fulfillPromise which is faster.
To make things consistent, we move from @newPromiseCapability to @newPromise.
Test: streams/readableStream-then.html

  • Modules/streams/ReadableByteStreamInternals.js:

(readableByteStreamControllerPull):
(readableStreamFulfillReadIntoRequest):
(readableByteStreamControllerPullInto):

  • Modules/streams/ReadableStreamInternals.js:

(readableStreamDefaultControllerPull):
(readableStreamClose):
(readableStreamFulfillReadRequest):
(readableStreamDefaultReaderRead):

  • Modules/streams/StreamInternals.js:

(createFulfilledPromise):

LayoutTests:

  • streams/readableStream-then-expected.txt: Added.
  • streams/readableStream-then.html: Added.
7:54 AM Changeset in webkit [265853] by Karl Rackler
  • 4 edits in trunk/LayoutTests

rdar://67353771 ([run-webkit-tests] Rosetta specific test expectations)
Placing original test expectations back in place and adding Rosetta specific expectations

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
7:46 AM Changeset in webkit [265852] by Lauro Moura
  • 7 edits
    1 delete in trunk/LayoutTests

[WPE] Gardening and rebaseline touch tests

Unreviewed test gardening.

LayoutTests/imported/w3c:

Move some WPE-specific baselines here as it is only tested there.

Also rebaseline after r265749 updated some constructor rules.

  • web-platform-tests/touch-events/historical-expected.txt:
  • web-platform-tests/touch-events/idlharness.window-expected.txt:
  • web-platform-tests/touch-events/touch-retargeting-expected.txt:
  • web-platform-tests/touch-events/touch-touchevent-constructor-expected.txt:

LayoutTests:

Updated some baselines in the toplevel directory as only WPE is
running them.

  • platform/glib/TestExpectations:
  • platform/wpe/imported/w3c/web-platform-tests/touch-events/historical-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/touch-events/idlharness.window-expected.txt: Removed.
6:33 AM Changeset in webkit [265851] by svillar@igalia.com
  • 6 edits
    6 deletes in trunk

<button> should support display:inline-grid/grid/inline-flex/flex correctly
https://bugs.webkit.org/show_bug.cgi?id=209656

Reviewed by Javier Fernandez.

LayoutTests/imported/w3c:

Replaced FAIL expectation by PASS one. Both tests should pass now with no failures.

  • web-platform-tests/html/rendering/widgets/button-layout/flex-expected.txt:
  • web-platform-tests/html/rendering/widgets/button-layout/grid-expected.txt:

Source/WebCore:

Button elements with display type (inline-) flex or grid should be laid out as their
display type states and not as buttons. That's mentioned in the HTML spec here
https://html.spec.whatwg.org/multipage/rendering.html#button-layout.

  • html/HTMLButtonElement.cpp:

(WebCore::HTMLButtonElement::createElementRenderer): let HTMLFormControlElement create
a renderer instead of using a RenderButton whenever display is (inline-)grid/flex.

LayoutTests:

  • platform/gtk/imported/w3c/web-platform-tests/html/rendering/widgets/button-layout/flex-expected.txt: Removed.
  • platform/gtk/imported/w3c/web-platform-tests/html/rendering/widgets/button-layout/grid-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/rendering/widgets/button-layout/flex-expected.txt: Removed.
  • platform/ios-wk2/imported/w3c/web-platform-tests/html/rendering/widgets/button-layout/grid-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/html/rendering/widgets/button-layout/flex-expected.txt: Removed.
  • platform/wpe/imported/w3c/web-platform-tests/html/rendering/widgets/button-layout/grid-expected.txt: Removed.
6:11 AM Changeset in webkit [265850] by svillar@igalia.com
  • 5 edits in trunk/Source/WebCore

[WebXR] Make "in parallel" code run really in parallel
https://bugs.webkit.org/show_bug.cgi?id=215642

Reviewed by Carlos Garcia Campos.

As the HTML spec mentions https://html.spec.whatwg.org/multipage/infrastructure.html#in-parallel
"in parallel" means that the task should be run in parallel to the event loop using any available
mechanism (threads, processess...). We were instead queueing those tasks to be run in the main
thread causing freezes while initializing the whole OpenXR machinery.

  • Modules/webxr/WebXRSession.cpp:

(WebCore::WebXRSession::WebXRSession): create a WorkQueue.
(WebCore::WebXRSession::requestReferenceSpace): Dispatch to the work queue.

  • Modules/webxr/WebXRSession.h:
  • Modules/webxr/WebXRSystem.cpp:

(WebCore::WebXRSystem::WebXRSystem): create a WorkQueue.
(WebCore::WebXRSystem::isSessionSupported): Dispatch to the work queue.
(WebCore::WebXRSystem::requestSession): Ditto.

  • Modules/webxr/WebXRSystem.h:
2:12 AM Changeset in webkit [265849] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Skip more tests using plugins after r265753.

  • platform/gtk/TestExpectations:

Aug 18, 2020:

9:03 PM Changeset in webkit [265848] by Lauro Moura
  • 4 edits in trunk/LayoutTests

[GTK][WPE] Gardening

Unreviewed test gardening.

  • platform/glib/TestExpectations:
  • platform/wpe/TestExpectations:
  • platform/wpe/webgl/1.0.3/conformance/context/methods-expected.txt:

Rebaselined after r265711.

8:15 PM Changeset in webkit [265847] by Hector Lopez
  • 6 edits in trunk/LayoutTests

[ macOS iOS ] fast/text/emoji-gender* text expectations change
https://bugs.webkit.org/show_bug.cgi?id=215636

Unreviewed test gardening.

  • TestExpectations:
  • platform/glib/TestExpectations:
  • platform/ios-wk1/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win/TestExpectations:
7:34 PM Changeset in webkit [265846] by Jonathan Bedard
  • 5 edits
    1 add in trunk

[run-webkit-tests] Rosetta specific test expectations
https://bugs.webkit.org/show_bug.cgi?id=215633
<rdar://problem/67353771>

Reviewed by Darin Adler.

Tools:

  • Scripts/webkitpy/port/mac.py:

(MacPort.expectations_dict): Add special case for Rosetta expectations.

  • Scripts/webkitpy/port/mac_unittest.py:

(MacTest.test_rosetta_expectations):

LayoutTests:

  • platform/mac/TestExpectations: Move Rosetta expectations.
  • platform/mac/TestExpectationsRosetta: Added.
7:24 PM Changeset in webkit [265845] by Chris Dumez
  • 5 edits in trunk

AudioBuffer.duration should use double precision
https://bugs.webkit.org/show_bug.cgi?id=215632

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT test now that more checks are passing.

  • web-platform-tests/webaudio/the-audio-api/the-audiobuffer-interface/audiobuffer-expected.txt:

Source/WebCore:

AudioBuffer.duration should use double precision:

No new tests, rebaselined existing test.

  • Modules/webaudio/AudioBuffer.h:

(WebCore::AudioBuffer::duration const):

  • Modules/webaudio/AudioBuffer.idl:
6:28 PM Changeset in webkit [265844] by rniwa@webkit.org
  • 5 edits in trunk/Source/WebCore

Rename replaceAllChildren to replaceAllChildrenWithNewText
https://bugs.webkit.org/show_bug.cgi?id=215634

Reviewed by Darin Adler.

Renamed ContainerNode::replaceAllChildren to replaceAllChildrenWithNewText and changed
the type of Argument from Ref<Node>&& to const String&.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::replaceAllChildrenWithNewText):

  • dom/ContainerNode.h:
  • dom/Node.cpp:

(WebCore::Node::setTextContent):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::setInnerText):

5:59 PM Changeset in webkit [265843] by Alan Coon
  • 1 copy in tags/Safari-610.1.28

Tag Safari-610.1.28.

5:54 PM Changeset in webkit [265842] by Andres Gonzalez
  • 12 edits in trunk

Fix for accessibility/mac/aria-expanded-notifications.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=215613

Reviewed by Darin Adler.

Source/WebCore:

Test: accessibility/mac/aria-expanded-notifications.html.

Refactored AXObjectCache::handleAriaExpandedChange so that it doesn't
call into AccessibilityObject to handle the notification, to then call
into AXObjectCache again. The new implementation is cleaner and more
straightforward.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::handleAriaExpandedChange):
(WebCore::AXObjectCache::updateIsolatedTree): Updates the isolated tree
on the row expanded/collapsed-related notifications.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::supportsRowCountChange const): Added.

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityObjectInterface.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::handleAriaExpandedChanged):
Deleted, not needed any longer since it is handled in AXObjectCache where
it should.

  • accessibility/AccessibilityRenderObject.h:
  • accessibility/isolatedtree/AXIsolatedObject.cpp:

(WebCore::AXIsolatedObject::initializeAttributeData): Caches the
supportsRowCountChange property.
(WebCore::AXIsolatedObject::handleAriaExpandedChanged): Deleted, not
needed any longer.

  • accessibility/isolatedtree/AXIsolatedObject.h:

LayoutTests:

  • accessibility/mac/aria-expanded-notifications-expected.txt:
  • accessibility/mac/aria-expanded-notifications.html: Removed unnecessary

call to accessibilityController.focusedElement. Some code cleanup.

4:49 PM Changeset in webkit [265841] by commit-queue@webkit.org
  • 33 edits in trunk

[WebGL2] Various parameters should be non-nullable in IDL
https://bugs.webkit.org/show_bug.cgi?id=215616

Patch by James Darpinian <James Darpinian> on 2020-08-18
Reviewed by Kenneth Russell.

Source/WebCore:

Fixes 5 conformance tests:
conformance/misc/error-reporting.html
conformance/misc/null-object-behaviour.html
conformance/misc/bad-arguments-test.html
conformance/textures/misc/tex-sub-image-2d-bad-args.html
conformance/programs/get-active-test.html

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::attachShader):
(WebCore::WebGLRenderingContextBase::bindAttribLocation):
(WebCore::WebGLRenderingContextBase::compileShader):
(WebCore::WebGLRenderingContextBase::detachShader):
(WebCore::WebGLRenderingContextBase::getActiveAttrib):
(WebCore::WebGLRenderingContextBase::getActiveUniform):
(WebCore::WebGLRenderingContextBase::getAttachedShaders):
(WebCore::WebGLRenderingContextBase::getAttribLocation):
(WebCore::WebGLRenderingContextBase::getProgramParameter):
(WebCore::WebGLRenderingContextBase::getProgramInfoLog):
(WebCore::WebGLRenderingContextBase::getShaderParameter):
(WebCore::WebGLRenderingContextBase::getShaderInfoLog):
(WebCore::WebGLRenderingContextBase::getShaderSource):
(WebCore::WebGLRenderingContextBase::getUniform):
(WebCore::WebGLRenderingContextBase::getUniformLocation):
(WebCore::WebGLRenderingContextBase::linkProgram):
(WebCore::WebGLRenderingContextBase::shaderSource):
(WebCore::WebGLRenderingContextBase::validateProgram):

  • html/canvas/WebGLRenderingContextBase.h:
  • html/canvas/WebGLRenderingContextBase.idl:
  • inspector/InspectorShaderProgram.cpp:

(WebCore::InspectorShaderProgram::updateShader):

LayoutTests:

  • fast/canvas/webgl/context-lost-expected.txt:
  • fast/canvas/webgl/context-lost.html:
  • fast/canvas/webgl/error-reporting-expected.txt:
  • fast/canvas/webgl/error-reporting.html:
  • fast/canvas/webgl/get-active-test-expected.txt:
  • fast/canvas/webgl/get-active-test.html:
  • fast/canvas/webgl/gl-object-get-calls-expected.txt:
  • fast/canvas/webgl/gl-object-get-calls.html:
  • fast/canvas/webgl/null-object-behaviour-expected.txt:
  • fast/canvas/webgl/null-object-behaviour.html:
  • inspector/canvas/recording-webgl-frameCount.html:
  • inspector/canvas/recording-webgl-full-expected.txt:
  • inspector/canvas/recording-webgl-full.html:
  • inspector/canvas/recording-webgl-memoryLimit.html:
  • inspector/canvas/recording-webgl-snapshots.html:
  • inspector/canvas/recording-webgl2-frameCount.html:
  • inspector/canvas/recording-webgl2-full.html:
  • inspector/canvas/recording-webgl2-memoryLimit.html:
  • inspector/canvas/recording-webgl2-snapshots.html:
  • inspector/canvas/resources/recording-webgl.js:

(load):

  • webgl/2.0.0/conformance/misc/bad-arguments-test-expected.txt:
  • webgl/2.0.0/conformance/misc/error-reporting-expected.txt:
  • webgl/2.0.0/conformance/misc/null-object-behaviour-expected.txt:
  • webgl/2.0.0/conformance/programs/get-active-test-expected.txt:
  • webgl/2.0.0/conformance/state/gl-object-get-calls-expected.txt:
  • webgl/2.0.0/conformance/textures/misc/tex-sub-image-2d-bad-args-expected.txt:
  • webgl/2.0.0/conformance2/state/gl-object-get-calls-expected.txt:
4:44 PM Changeset in webkit [265840] by ysuzuki@apple.com
  • 2 edits in trunk/Tools

Unreviewed, contributors.json is broken

  • Scripts/webkitpy/common/config/contributors.json:
4:22 PM Changeset in webkit [265839] by dino@apple.com
  • 1 edit in trunk/Tools/Scripts/webkitpy/common/config/contributors.json

Adding some Google folks to contributors.

  • Scripts/webkitpy/common/config/contributors.json:
4:15 PM Changeset in webkit [265838] by Chris Dumez
  • 5 edits in trunk

PannerNode's rolloffFactor should be clamped to [0, 1] internally when distanceModel is "linear"
https://bugs.webkit.org/show_bug.cgi?id=215625

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing.

  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-rolloff-clamping-expected.txt:

Source/WebCore:

PannerNode's rolloffFactor should be clamped to [0, 1] internally when distanceModel is "linear":

No new tests, rebaselined existing test.

  • Modules/webaudio/PannerNode.cpp:

(WebCore::PannerNode::setRolloffFactor):

  • platform/audio/Distance.cpp:

(WebCore::DistanceEffect::linearGain):

4:01 PM Changeset in webkit [265837] by Darin Adler
  • 2 edits in trunk/Websites/webkit.org
  • languages.md: Fixed "Movaje" typo.
3:51 PM Changeset in webkit [265836] by Chris Dumez
  • 4 edits in trunk

ScriptProcessNode should only run script asynchronously if the audio context is not an OfflineAudioContext
https://bugs.webkit.org/show_bug.cgi?id=215624

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

Rebaseline WPT test that is now passing.

  • web-platform-tests/webaudio/the-audio-api/the-scriptprocessornode-interface/simple-input-output-expected.txt:

Source/WebCore:

ScriptProcessNode should only run script asynchronously if the audio context is not an OfflineAudioContext.
If the context is an OfflineAudioContext, then it should pause processing until the script has finished
execution. This aligns our behavior with Blink and helps us pass more WPT tests.

No new tests, rebaselined existing test.

  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::ScriptProcessorNode):
(WebCore::ScriptProcessorNode::process):

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

WKWebViews using fastServerTrustEvaluationEnabled should only allow legacy TLS for main resource loads
https://bugs.webkit.org/show_bug.cgi?id=215626
<rdar://problem/67268892>

Patch by Alex Christensen <achristensen@webkit.org> on 2020-08-18
Reviewed by Darin Adler.

Source/WebKit:

We have introduced public API webView:authenticationChallenge:shouldAllowDeprecatedTLS: in WKNavigationDelegate to allow
applications to choose whether to allow TLS 1.0 or 1.1 connections. We don't want to break this API or break existing third party
apps that load pages that load third party subresources that use TLS 1.0 or 1.1.

However, we do want Safari, which uses fastServerTrustEvaluationEnabled SPI, to silently fail subresource loads that use TLS 1.0 or 1.1.
This matches the current behavior of Chrome and Firefox, which was not implemented in those other browsers when we decided to ask about subresources.

Covered by an API test.

  • NetworkProcess/cocoa/NetworkSessionCocoa.mm:

(WebKit::NetworkSessionCocoa::continueDidReceiveChallenge):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/TLSDeprecation.mm:

(TestWebKitAPI::TEST):

2:44 PM Changeset in webkit [265834] by eric.carlson@apple.com
  • 3 edits in trunk/Source/WebCore

[Catalyst] Video should pause automatically when switching desktops
https://bugs.webkit.org/show_bug.cgi?id=215620

Reviewed by Jer Noble.

  • platform/audio/ios/MediaSessionManagerIOS.h:
  • platform/audio/ios/MediaSessionManagerIOS.mm: Don't override resetRestrictions

on Catalyst so we don't pause video in the background.

2:24 PM Changeset in webkit [265833] by commit-queue@webkit.org
  • 11 edits
    1 copy
    4 adds in trunk

[WebGL2] Pass user-defined-properties-on-context.html layout test
https://bugs.webkit.org/show_bug.cgi?id=215433

Patch by Kenneth Russell <kbr@chromium.org> on 2020-08-18
Reviewed by Yusuke Suzuki.

Source/WebCore:

Keep the canvas' rendering context alive from the canvas itself by
adding a custom mark function for HTMLCanvasElement, and adding a
new GenerateIsReachable=ImplCanvasBase extended IDL attribute,
used from all rendering context types (2D, WebGL, and WebGPU).

This patch does not touch OffscreenCanvas since the implementation
there seems to be incomplete and there are no associated tests of
GC behavior.

Tests: fast/canvas/2d.context.expando.html

webgpu/expando-properties.html

  • Modules/webgpu/GPUCanvasContext.idl:
  • Sources.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSHTMLCanvasElementCustom.cpp: Copied from Source/WebCore/html/canvas/WebGLRenderingContext.idl.

(WebCore::JSHTMLCanvasElement::visitAdditionalChildren):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/IDLAttributes.json:
  • html/HTMLCanvasElement.idl:
  • html/canvas/WebGL2RenderingContext.idl:
  • html/canvas/WebGLRenderingContext.idl:

LayoutTests:

Rebaseline user-defined-properties-on-context.html, which is now
fully passing.

Add tests of expando properties on 2D and WebGPU contexts. Add a
FIXME to the WebGPU test, as that specification no longer defines
a canvas rendering context.

  • fast/canvas/2d.context.expando-expected.txt: Added.
  • fast/canvas/2d.context.expando.html: Added.
  • webgl/2.0.0/conformance/context/user-defined-properties-on-context-expected.txt:
  • webgpu/expando-properties-expected.txt: Added.
  • webgpu/expando-properties.html: Added.
2:13 PM Changeset in webkit [265832] by Chris Dumez
  • 4 edits in trunk

WaveShaperNode.curve setter should create a copy of the input array
https://bugs.webkit.org/show_bug.cgi?id=215615

Reviewed by Eric Carlson.

LayoutTests/imported/w3c:

Rebaseline WPT test now that all checks are passing.

  • web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/waveshaper-copy-curve-expected.txt:

Source/WebCore:

WaveShaperNode.curve setter should create a copy of the input array, so that follow-up modifications
of the array by the JS do not impact audio processing:

No new tests, rebaselined existing test.

  • Modules/webaudio/WaveShaperNode.cpp:

(WebCore::WaveShaperNode::setCurve):

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

REGRESSION(r262381): replaceChildren should not use DeferChildrenChanged::No
https://bugs.webkit.org/show_bug.cgi?id=215600

Reviewed by Antti Koivisto.

It's not correct to use DeferChildrenChanged::No when the new node may have an old parent.
Use DeferChildrenChanged::Yes instead.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::replaceAllChildren): Added a release assertion to make sure
people don't start using this function incorrectly in the future.
(WebCore::ContainerNode::replaceChildren): Fixed the bug.

1:46 PM Changeset in webkit [265830] by sbarati@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Update byte offsets in JSString.h comment
https://bugs.webkit.org/show_bug.cgi?id=215621

Reviewed by Yusuke Suzuki.

  • runtime/JSString.h:
1:22 PM Changeset in webkit [265829] by Karl Rackler
  • 2 edits in trunk/LayoutTests

Disable plug-in tests on Apple Silicon
Updating test expectation in include Rosetta

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
1:12 PM Changeset in webkit [265828] by Karl Rackler
  • 2 edits in trunk/LayoutTests

rdar://66861801 ([ Layout Tests] REGRESSION (r265487): svg/W3C-I18N/tspan-direction-rtl.svg is a constant failure)
Updating expectations in include Rosetta.

Unreviewed test gardening.

  • platform/mac/TestExpectations:
1:07 PM Changeset in webkit [265827] by Darin Adler
  • 1 edit
    1 add in trunk/Websites/webkit.org

Document versions of C++ and Python
https://bugs.webkit.org/show_bug.cgi?id=215191

Reviewed by Jonathan Bedard.

  • languages.md: Added.
10:53 AM Changeset in webkit [265826] by Hector Lopez
  • 2 edits in trunk/LayoutTests

REGRESSION: [ macOS ] media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-rtl.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=215614

Unreviewed test gardening.

  • platform/mac/TestExpectations:
10:08 AM Changeset in webkit [265825] by Karl Rackler
  • 2 edits in trunk/LayoutTests

rdar://67289434 ([ Rosetta Layout Tests ] REGRESSION (r265701): [ BigSur ] 3 webaudio/the-audio-api/the-audioparam-interface tests are a constant failure)
Should skip this only on Rosetta, not all Intel Big Sur Macs

Unreviewed test gardening.

  • platform/mac/TestExpectations:
10:00 AM Changeset in webkit [265824] by Chris Dumez
  • 11 edits in trunk/LayoutTests/imported/w3c

Unreviewed, rebaseline webaudio WPT tests that are marked as flaky.

  • web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-1-chan-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-2-chan-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/convolver-response-4-chan-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-gainnode-interface/no-dezippering-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/detune-limiting-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-oscillatornode-interface/osc-basic-waveform-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/automation-changes-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-equalpower-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-scriptprocessornode-interface/simple-input-output-expected.txt:
  • web-platform-tests/webaudio/the-audio-api/the-waveshapernode-interface/waveshaper-copy-curve-expected.txt:
9:59 AM Changeset in webkit [265823] by Simon Fraser
  • 9 edits in trunk

Turn off wheel event regions until we need them
https://bugs.webkit.org/show_bug.cgi?id=215586

Reviewed by Darin Adler.
Source/WebCore:

Leave ENABLE_WHEEL_EVENT_REGIONS off because it's currently unused, and adds extra
region building overhead on macOS.

  • page/scrolling/ScrollingTree.cpp:
  • page/scrolling/ScrollingTree.h:
  • page/scrolling/mac/ScrollingTreeMac.h:
  • page/scrolling/mac/ScrollingTreeMac.mm:

Source/WTF:

Leave ENABLE_WHEEL_EVENT_REGIONS off because it's currently unused, and adds extra
region building overhead on macOS.

  • wtf/PlatformEnableCocoa.h:

LayoutTests:

Leave ENABLE_WHEEL_EVENT_REGIONS off because it's currently unused, and adds extra
region building overhead on macOS.

  • platform/mac-wk2/TestExpectations:
9:56 AM Changeset in webkit [265822] by youenn@apple.com
  • 8 edits in trunk

Update platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html to account for low latency code path
https://bugs.webkit.org/show_bug.cgi?id=215601

Reviewed by Eric Carlson.

Source/WebCore:

Covered by existing/updated test.

  • testing/Internals.cpp:

(WebCore::Internals::supportsVCPEncoder):
In case low latency code path is enabled, supportsVCPEncoder should return true.

LayoutTests:

Update test to check software encoder for both baseline and high profiles.
Move baseline/high profile selection routines to routines.js.

  • platform/mac/webrtc/captureCanvas-webrtc-software-encoder-expected.txt:
  • platform/mac/webrtc/captureCanvas-webrtc-software-encoder.html:
  • webrtc/h264-baseline.html:
  • webrtc/h264-high.html:
  • webrtc/routines.js:
9:49 AM Changeset in webkit [265821] by Karl Rackler
  • 2 edits in trunk/LayoutTests

rdar://67281310 REGRESSION (r265639): [ BigSur ] 11 canvas layout tests are a constant failure)
Should skip this only on Rosetta, not all Intel Big Sur Macs
Clean up arm64 only gardening.

Unreviewed test gardening.

  • platform/mac/TestExpectations:
9:36 AM Changeset in webkit [265820] by Simon Fraser
  • 16 edits
    1 copy
    1 add in trunk

REGRESSION (Async overflow scrolling): No rubberbanding in overflow:scroll in the wheel event region
https://bugs.webkit.org/show_bug.cgi?id=215598
<rdar://problem/64895442>

Reviewed by Darin Adler.
Source/WebCore:

Scrolling in overflow:scroll inside the non-fast event region (e.g. inside an ancestor with a wheel event
handler) happens via ScrollAnimatorMac::handleWheelEvent() which calls ScrollableArea::setScrollOffsetFromAnimation()
which bounces to the scrolling thread via RenderLayer::requestScrollPositionUpdate(). We were clamping the
scroll offset here, thus disallowing the overscrolled offsets required for rubberbanding.

Fix is to allow clamping for user scrolls. Also add more logging.

Test: fast/scrolling/mac/rubberband-overflow-in-wheel-region.html

  • dom/Element.cpp:

(WebCore::Element::dispatchWheelEvent):

  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::handleWheelEvent):

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::handleWheelEvent):
(WebCore::ScrollableArea::setScrollOffsetFromAnimation):

LayoutTests:

Remove an unneeded var successfullyParsed = true in existing tests.

New test that detect rubberbanding.

  • fast/scrolling/mac/async-scroll-overflow-hidden-on-one-axis.html:
  • fast/scrolling/mac/async-scroll-overflow-rtl.html:
  • fast/scrolling/mac/async-scroll-overflow-top-inset.html:
  • fast/scrolling/mac/async-scroll-overflow.html:
  • fast/scrolling/mac/hit-test-overflow-tiled-layer.html:
  • fast/scrolling/mac/move-node-in-overflow-scroll.html:
  • fast/scrolling/mac/overflow-scrolled-document.html:
  • fast/scrolling/mac/overflow-zoomed-document.html:
  • fast/scrolling/mac/overlapped-overflow-scroll.html:
  • fast/scrolling/mac/rubberband-overflow-in-wheel-region-expected.txt: Added.
  • fast/scrolling/mac/rubberband-overflow-in-wheel-region.html: Copied from LayoutTests/fast/scrolling/mac/overflow-scrolled-document.html.
9:31 AM Changeset in webkit [265819] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed, null-deref fix after r265797.

MockAudioDestinationCocoa::tick() is calling AudioDestinationCocoa::inputProc()
with a null AudioTimeStamp struct so we need to deal with this.

  • platform/audio/cocoa/AudioDestinationCocoa.cpp:

(WebCore::AudioDestinationCocoa::render):

9:20 AM Changeset in webkit [265818] by Hector Lopez
  • 2 edits in trunk/LayoutTests

[ macOS Mojave wk2 Debug ] fast/scrolling/mac/scrollbars/overflow-overlay-scrollbar-hovered.html is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=215611

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
9:04 AM Changeset in webkit [265817] by aakash_jain@apple.com
  • 3 edits
    2 adds in trunk/Tools

Develop a mechanism to unsubscribe from ews emails
https://bugs.webkit.org/show_bug.cgi?id=215585

Reviewed by Jonathan Bedard.

  • BuildSlaveSupport/ews-build/emails.json: Added.
  • BuildSlaveSupport/ews-build/send_email.py:

(get_email_ids):
(send_email_to_patch_author): Do not email patch authors whose email is in unsubscribe list.
(send_email_to_bot_watchers):

  • BuildSlaveSupport/ews-build/steps.py:

(AnalyzeCompileWebKitResults.send_email_for_new_build_failure):
(AnalyzeLayoutTestsResults.send_email_for_new_test_failures):

  • BuildSlaveSupport/ews-build/email_unittest.py: Added unit-tests.

(EmailsDotJSONTest.test_valid_emails_json):
(EmailsDotJSONTest.test_emails_json_required_categories_present):

9:01 AM Changeset in webkit [265816] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebKit

[Mac] Unhandled keyDown: events cause a system beep in full screen mode
https://bugs.webkit.org/show_bug.cgi?id=215596
<rdar://problem/65823962>

Reviewed by Darin Adler.

  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController noResponderFor:]):

8:39 AM Changeset in webkit [265815] by Hector Lopez
  • 3 edits in trunk/LayoutTests

[ macOS wk1 iOS ] imported/w3c/web-platform-tests/IndexedDB/transaction_bubble-and-capture.htm is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=215608

Unreviewed test gardening.

  • platform/ios-simulator-wk2/TestExpectations:
  • platform/mac-wk1/TestExpectations:
8:16 AM Changeset in webkit [265814] by youenn@apple.com
  • 3 edits in trunk/Source/WebKit

NetworkSocketChannel should delay sending back error message as done by NetworkSocketStream
https://bugs.webkit.org/show_bug.cgi?id=215563

Reviewed by Alex Christensen.

Apply same policy as NetworkSocketStream in case of WebSocket connection error.
Covered by http/tests/websocket/tests/hybi/closed-port-delay.html with NSURLSession WebSocket code path.

  • NetworkProcess/NetworkSocketChannel.cpp:

(WebKit::NetworkSocketChannel::NetworkSocketChannel):
(WebKit::NetworkSocketChannel::didClose):
(WebKit::NetworkSocketChannel::didReceiveMessageError):
(WebKit::NetworkSocketChannel::sendDelayedError):

  • NetworkProcess/NetworkSocketChannel.h:
8:09 AM Changeset in webkit [265813] by Hector Lopez
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ] webgpu/whlsl/do-while-loop-break.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=215606

Unreviewed test gardening.

  • platform/mac-wk2/TestExpectations:
7:45 AM Changeset in webkit [265812] by Antti Koivisto
  • 4 edits in trunk

The CSS specificity of :host() pseudo-classes is wrong
https://bugs.webkit.org/show_bug.cgi?id=202494
<rdar://problem/66292568>

Reviewed by Anders Carlsson.

Source/WebCore:

https://drafts.csswg.org/css-scoping/#host-selector

“The specificity of :host() is that of a pseudo-class, plus the specificity of its argument.”

  • css/CSSSelector.cpp:

(WebCore::simpleSelectorSpecificityInternal):

LayoutTests:

2:54 AM Changeset in webkit [265811] by Diego Pino Garcia
  • 2 edits in trunk/LayoutTests

[GTK] Unreviewed test gardening. Update test baseline after r265749.

  • platform/gtk/imported/w3c/web-platform-tests/custom-elements/builtin-coverage-expected.txt:
1:45 AM Changeset in webkit [265810] by youenn@apple.com
  • 5 edits in trunk/Source/WebCore

Add a JS built-in routine to mark a promise as handled
https://bugs.webkit.org/show_bug.cgi?id=215558

Reviewed by Darin Adler.

Wrap long line of code inside a method to ease code readability.
No change of behavior.

  • Modules/streams/ReadableStream.js:

(pipeThrough):

  • Modules/streams/ReadableStreamInternals.js:

(readableStreamError):
(readableStreamReaderGenericRelease):

  • Modules/streams/StreamInternals.js:

(markPromiseAsHandled):
(shieldingPromiseResolve):

  • Modules/streams/WritableStreamInternals.js:

(setUpWritableStreamDefaultWriter):
(writableStreamRejectCloseAndClosedPromiseIfNeeded):
(writableStreamDefaultWriterEnsureClosedPromiseRejected):
(writableStreamDefaultWriterEnsureReadyPromiseRejected):

1:03 AM Changeset in webkit [265809] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GLib gardening. Skip more tests using plugins after r265753

  • platform/glib/TestExpectations:
Note: See TracTimeline for information about the timeline view.