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

Timeline



Jun 12, 2021:

5:31 PM Changeset in webkit [278817] by weinig@apple.com
  • 2 edits in trunk/LayoutTests

Disable WebXR tests on Windows
https://bugs.webkit.org/show_bug.cgi?id=226956

Reviewed by Alan Bujtas.

  • platform/win/TestExpectations:

Disable all tests in webxr/ on windows as the feature is not enabled there.

4:09 PM Changeset in webkit [278816] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

-Wnonnull warning in JITCall.cpp
https://bugs.webkit.org/show_bug.cgi?id=226643
<rdar://problem/79197261>

Patch by Michael Catanzaro <Michael Catanzaro> on 2021-06-12
Reviewed by Darin Adler.

This is a false-positive, so suppress it using
IGNORE_ERRONEOUS_GCC_NULL_CHECK_WARNINGS_BEGIN.

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):

2:45 PM Changeset in webkit [278815] by Wenson Hsieh
  • 5 edits in trunk/Source

Number pad button is missing its image when tapping on <input type=tel> in watchOS 8
https://bugs.webkit.org/show_bug.cgi?id=226955

Reviewed by Darin Adler.

Source/WebKit:

After some recent PepperUICore changes, the Quickboard button for presenting the number pad when focusing a
telephone input on watchOS 8 is missing its icon image. To fix this, stop using deprecated SPI for creating
the list tray button, and instead use +[PUICQuickboardListTrayButton buttonWithType:] and -setAction: to
create and set up the button.

  • Platform/spi/watchos/PepperUICoreSPI.h:
  • UIProcess/ios/forms/WKTextInputListViewController.mm:

(-[WKTextInputListViewController additionalTrayButtons]):

Source/WTF:

Add compile-time flags to guard the presence of PUICQuickboardController and PUICButtonTypePill.

  • wtf/PlatformHave.h:
1:16 PM Changeset in webkit [278814] by Devin Rousso
  • 3 edits in trunk/LayoutTests

(r278618) media/modern-media-controls/overflow-support/chapters.html is timing out since introduction
https://bugs.webkit.org/show_bug.cgi?id=226828
<rdar://problem/79084756>

Unreviewed followup for flaky test.

  • media/modern-media-controls/overflow-support/chapters.html:
  • media/modern-media-controls/overflow-support/chapters-expected.txt:

It may take a moment for the currentTime to updating after selecting a chapter.

11:26 AM Changeset in webkit [278813] by Russell Epstein
  • 1 copy in tags/Safari-612.1.17.10.5

Tag Safari-612.1.17.10.5.

11:23 AM Changeset in webkit [278812] by Russell Epstein
  • 8 edits in branches/safari-612.1.17.10-branch/Source

Versioning.

WebKit-7612.1.17.10.5

10:37 AM Changeset in webkit [278811] by Peng Liu
  • 2 edits in trunk/Source/WebKit

REGRESSION (r278374): [Big Sur] ASSERTION FAILED: !isInRoutingArbitrationForToken(token) in WebCore::SharedRoutingArbitrator::beginRoutingArbitrationForToken()
https://bugs.webkit.org/show_bug.cgi?id=226787

Reviewed by Eric Carlson.

A WebContent process will resume a video element playback after the GPU process crashes
and restarts. During that process, the WebContent process will set category of the audio
session, and the UI process will be asked to begin routing arbitration with the new
category. However, the SharedRoutingArbitrator at the UI process will have stale
routing arbitrator tokens, which lead to the assertion failure.

To fix this issue, this patch cleans up the SharedRoutingArbitrator when the GPU
process crashes.

No new tests. Fix an API test:

  • TestWebKitAPI.GPUProcess.CrashWhilePlayingVideo
  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::gpuProcessExited):

10:17 AM Changeset in webkit [278810] by rmorisset@apple.com
  • 12 edits in trunk/Source/JavaScriptCore

We should drop B3 values while running Air
https://bugs.webkit.org/show_bug.cgi?id=226187

Reviewed by Saam Barati.

NB: this patch first landed as r278371, then was reverted in r278587 as it broke --dumpDisassembly().
I fixed the bug (a missing line setDisassembler()) and am now re-landing it. Below is a copy of the original Changelog.

We must keep the following values:

  • WasmBoundsCheck, to know whether it is Pinned or Maximum, and if it is pinned find its argument.
  • CCall/Patch/Check/CheckAdd/CheckSub/CheckMul and all of their children, because all of these are lowered to Air::Patchpoint, which needs to know the type of its arguments, and does so by looking at the children of its origin.

I intend to fix these in later patches if possible.

Finally we must preserve all B3 values in the following cases:

  • if we dump the disassembly or the Air graph: because otherwise we cannot print the origins
  • if we are using the sampling profiler, because it relies on PCToCodeOriginMap which we cannot accurately fill without these origins.

We must also keep m_tuples alive, as it is used by Patchpoints in Air to understand the types of their arguments.
We also don't touch StackSlots (in this patch), because one of them is captured by FTL::State.

Also now PCToOriginMap has a Vector with no inline capacity, since it is either quite large (if needed) or empty (otherwise).

The performance impact of this is a progression on various RAMification subtests on Mac, but is more mitigated on iPhone7, with various regressions.
I suspect these to be noise, and will monitor the performance bots post-landing to make sure of it.

  • b3/B3LowerToAir.cpp:

(JSC::B3::lowerToAir):

  • b3/B3Procedure.cpp:

(JSC::B3::Procedure::freeUnneededB3ValuesAfterLowering):

  • b3/B3Procedure.h:

(JSC::B3::Procedure::releasePCToOriginMap):
(JSC::B3::Procedure::setNeedsPCToOriginMap):
(JSC::B3::Procedure::needsPCToOriginMap):

  • b3/B3SparseCollection.h:

(JSC::B3::SparseCollection::clearAll):
(JSC::B3::SparseCollection::filterAndTransfer):

  • b3/air/AirCode.cpp:

(JSC::B3::Air::Code::Code):

  • b3/air/AirCode.h:

(JSC::B3::Air::Code::shouldPreserveB3Origins const):

  • b3/air/AirGenerate.cpp:

(JSC::B3::Air::generateWithAlreadyAllocatedRegisters):

  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • ftl/FTLState.cpp:

(JSC::FTL::State::State):

12:26 AM Changeset in webkit [278809] by Russell Epstein
  • 1 copy in tags/Safari-612.1.17.10.4

Tag Safari-612.1.17.10.4.

12:22 AM Changeset in webkit [278808] by Russell Epstein
  • 8 edits in branches/safari-612.1.17.10-branch/Source

Versioning.

WebKit-7612.1.17.10.4

Jun 11, 2021:

9:16 PM Changeset in webkit [278807] by Ryan Haddad
  • 2 edits in trunk/Source/WebKit

Unreviewed, reverting r278754.

Caused 5 TestWebKitAPI.WKWebView.SnapshotImage* tests to time
out on iOS

Reverted changeset:

"takeSnapshotWithConfiguration() should wait for the next
flush before it does callSnapshotRect()"
https://bugs.webkit.org/show_bug.cgi?id=226257
https://commits.webkit.org/r278754

7:36 PM Changeset in webkit [278806] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Lazily compute SecurityOrigin::m_isPotentiallyTrustworthy for performance
https://bugs.webkit.org/show_bug.cgi?id=226946

Reviewed by Alex Christensen.

We currently initialize m_isPotentiallyTrustworthy in the SecurityOrigin constructor.
However, it is a bit expensive to compute and shows on profiles, and we often don't
actually use this data member. As a result, this patch makes it so that
SecurityOrigin::m_isPotentiallyTrustworthy gets computed lazily.

  • page/SecurityOrigin.cpp:

(WebCore::SecurityOrigin::SecurityOrigin):
(WebCore::SecurityOrigin::isPotentiallyTrustworthy const):

  • page/SecurityOrigin.h:

(WebCore::SecurityOrigin::isPotentiallyTrustworthy const): Deleted.

7:30 PM Changeset in webkit [278805] by Fujii Hironori
  • 4 edits in trunk/Tools

[Win][DumpRenderTree] --no-timeout switch doesn't work
https://bugs.webkit.org/show_bug.cgi?id=226913

Reviewed by Don Olmstead.

r177542 added a variable 'useTimeoutWatchdog', but used nowhere.

  • DumpRenderTree/win/DumpRenderTree.cpp:
  • DumpRenderTree/win/DumpRenderTreeWin.h:
  • DumpRenderTree/win/TestRunnerWin.cpp:

(TestRunner::setWaitToDump): Check useTimeoutWatchdog to start the timer.

6:42 PM Changeset in webkit [278804] by Wenson Hsieh
  • 8 edits
    2 copies
    1 move in trunk/Source

[Cocoa] Clean up some VisionKitCore soft linking code in WebKit
https://bugs.webkit.org/show_bug.cgi?id=226941

Reviewed by Tim Horton.

Source/WebCore/PAL:

Move softlinking code out of implementation files in WebKit (see WebKit/ChangeLog for details), and into
dedicated VisionKitCore SPI and soft-linking headers in PAL.

  • PAL.xcodeproj/project.pbxproj:
  • pal/PlatformMac.cmake:
  • pal/cocoa/VisionKitCoreSoftLink.h: Copied from Source/WebKit/Platform/cocoa/TextRecognitionUtilities.h.
  • pal/cocoa/VisionKitCoreSoftLink.mm: Copied from Source/WebKit/Platform/cocoa/TextRecognitionUtilities.h.
  • pal/spi/cocoa/VisionKitCoreSPI.h: Renamed from Source/WebKit/Platform/spi/Cocoa/VisionKitSPI.h.

Source/WebKit:

Remove softlinking macros from several files in WebKit; instead, import and use the new PAL soft-linking helper
functions. Additionally, move a couple of staging forward declarations into the non-internal SDK section of the
VisionKitCore SPI header.

  • Platform/cocoa/TextRecognitionUtilities.h:
  • Platform/cocoa/TextRecognitionUtilities.mm:

(WebKit::isLiveTextEnabled):
(WebKit::isLiveTextAvailableAndEnabled):

Additionally replace isLiveTextEnabled with isLiveTextAvailableAndEnabled, and have it check for the
presence of the VisionKitCore framework in addition to whether the system feature flag is enabled (at least,
when building with the internal SDK).

  • UIProcess/Cocoa/WebViewImpl.mm:

(WebKit::WebViewImpl::ensureImageAnalyzer):
(WebKit::createImageAnalysisRequest):
(WebKit::WebViewImpl::requestTextRecognition):
(WebKit::WebViewImpl::computeHasVisualSearchResults):

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView setUpInteraction]):
(-[WKContentView actionSheetAssistant:shouldIncludeShowTextActionForElement:]):
(-[WKContentView actionSheetAssistant:shouldIncludeLookUpImageActionForElement:]):
(-[WKContentView imageAnalyzer]):
(-[WKContentView _setUpImageAnalysis]):
(-[WKContentView _tearDownImageAnalysis]):
(-[WKContentView createImageAnalysisRequest:image:imageURL:]):
(-[WKContentView imageAnalysisGestureDidBegin:]):

6:42 PM Changeset in webkit [278803] by rniwa@webkit.org
  • 6 edits
    1 add in trunk

Add WeakHashMap
https://bugs.webkit.org/show_bug.cgi?id=226872

Reviewed by Geoffrey Garen.

Source/WTF:

Added WeakHashMap which deletes entries during rehashing and amortized over time (based on
the number of read & write accesses done on a given WeakHashMap instance).

  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/WeakHashMap.h: Added.

(WTF::WeakHashMap): Added.
(WTF::WeakHashMap::PeekKeyValuePairTraits): Added.
(WTF::WeakHashMap::PeekType): Added.
(WTF::WeakHashMap::PeekPtrType): Added. Unlike a regular HashMap, we need to fake the iterator
pointer value with this struct since key-value pair doesn't exist in HashTable itself as it stores
Ref<WeakRefImpl> instead.
(WTF::WeakHashMap::WeakHashMapIteratorBase): Added. Has a bunch of helper functions so that
WeakHashMapIterator and WeakHashMapConstIterator can share the code.
(WTF::WeakHashMap::WeakHashMapIterator): Added.
(WTF::WeakHashMap::WeakHashMapConstIterator): Added.
(WTF::WeakHashMap::AddResult): Added.
(WTF::WeakHashMap::begin): Added.
(WTF::WeakHashMap::end): Added.
(WTF::WeakHashMap::add): Added.
(WTF::WeakHashMap::set): Added.
(WTF::WeakHashMap::find): Added.
(WTF::WeakHashMap::contains): Added.
(WTF::WeakHashMap::get): Added.
(WTF::WeakHashMap::remove): Added.
(WTF::WeakHashMap::removeIf): Added.
(WTF::WeakHashMap::clear): Added.
(WTF::WeakHashMap::capacity): Added.
(WTF::WeakHashMap::isEmptyIgnoringNullReferences): Added. This is akin to WeakHashSet::computesEmpty.
Per prior discussion, we intend to rename WeakHashSet's version to this name as well for clarity.
Note that this function will clear the hash table completely if the map is semantically empty
but HashTable contains null references as keys.
(WTF::WeakHashMap::hasNullReferences): Added. Triggers amortized cleanup based on the number
of iterations performed. If there are no null references, it resets m_operationCountSinceLastCleanup.
(WTF::WeakHashMap::computeSize): Added.
(WTF::WeakHashMap::removeNullReferences): Added. Since WeakHashMap doesn't eagerly delete the value
when the key goes away, this function should be called when values held onto by WeakRefImpl with
the nullptr back pointer should be deleted en masse.
(WTF::WeakHashMap::checkConsistency): Added.
(WTF::WeakHashMap::makeKeyImpl): Added.
(WTF::WeakHashMap::keyImplIfExists): Added.

  • wtf/WeakPtr.h:

Tools:

Added unit tests for WeakHashMap.

  • TestWebKitAPI/Tests/WTF/WeakPtr.cpp:

(TestWebKitAPI::computeSizeOfWeakHashSet): Deleted the unused variant.
(WTF_WeakPtr.WeakHashSetExpansion): Deleted the superflous for loop.
(TestWebKitAPI::computeSizeOfWeakHashMap): Added.
(TestWebKitAPI::ValueObject): Added.
(TestWebKitAPI::ValueObject::create):
(TestWebKitAPI::ValueObject::~ValueObject):
(TestWebKitAPI::ValueObject::ValueObject):
(WTF_WeakPtr.WeakHashMapBasic): Added.
(WTF_WeakPtr.WeakHashMapConstObjects): Added.
(WTF_WeakPtr.WeakHashMapExpansion): Added.
(WTF_WeakPtr.WeakHashMapRemoveNullReferences): Added.
(TestWebKitAPI::collectKeyValuePairsUsingIterators): Added.
(WTF_WeakPtr.WeakHashMapIterators): Added.
(WTF_WeakPtr.WeakHashMapAmortizedCleanup): Added.

6:20 PM Changeset in webkit [278802] by ysuzuki@apple.com
  • 89 edits
    1 add in trunk/Source/WebCore

Use DOMConstructor array instead of HashMap since window constructor property access is critical
https://bugs.webkit.org/show_bug.cgi?id=226909

Reviewed by Filip Pizlo.

window.XXX constructor access is relatively frequently done. But its implementation is using HashMap lookup even though
we are successfully caching the custom property accesses. This patch stop using HashMap and instead using array by
collecting all constructors at build time. # of constructors are 774 in macOS build.

preprocess-idls.pl collects all constructors and assign DOMConstructor::XXX enum to each constructor. And it also counts
the number of constructors & create DOMConstructors class which holds array of constructors.

We also remove locking for JSDOMGlobalObject::m_constructors since it is no longer HashTable, so GC can safely access to
these fields.

  • CMakeLists.txt:
  • DerivedSources-output.xcfilelist:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDOMGlobalObject.cpp:

(WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
(WebCore::JSDOMGlobalObject::visitChildrenImpl):

  • bindings/js/JSDOMGlobalObject.h:

(WebCore::getDOMConstructor): Deleted.

  • bindings/js/JSDOMGlobalObjectInlines.h: Added.

(WebCore::getDOMConstructor):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
(GenerateCallbackImplementationContent):

  • bindings/scripts/preprocess-idls.pl:
  • bindings/scripts/test/JS/JSDOMWindow.cpp:

(WebCore::JSDOMWindow::getConstructor):

  • bindings/scripts/test/JS/JSDedicatedWorkerGlobalScope.cpp:

(WebCore::JSDedicatedWorkerGlobalScope::getConstructor):

  • bindings/scripts/test/JS/JSExposedToWorkerAndWindow.cpp:

(WebCore::JSExposedToWorkerAndWindow::getConstructor):

  • bindings/scripts/test/JS/JSPaintWorkletGlobalScope.cpp:

(WebCore::JSPaintWorkletGlobalScope::getConstructor):

  • bindings/scripts/test/JS/JSServiceWorkerGlobalScope.cpp:

(WebCore::JSServiceWorkerGlobalScope::getConstructor):

  • bindings/scripts/test/JS/JSTestCEReactions.cpp:

(WebCore::JSTestCEReactions::getConstructor):

  • bindings/scripts/test/JS/JSTestCEReactionsStringifier.cpp:

(WebCore::JSTestCEReactionsStringifier::getConstructor):

  • bindings/scripts/test/JS/JSTestCallTracer.cpp:

(WebCore::JSTestCallTracer::getConstructor):

  • bindings/scripts/test/JS/JSTestCallbackInterface.cpp:

(WebCore::JSTestCallbackInterface::getConstructor):

  • bindings/scripts/test/JS/JSTestClassWithJSBuiltinConstructor.cpp:

(WebCore::JSTestClassWithJSBuiltinConstructor::getConstructor):

  • bindings/scripts/test/JS/JSTestConditionalIncludes.cpp:

(WebCore::JSTestConditionalIncludes::getConstructor):

  • bindings/scripts/test/JS/JSTestConditionallyReadWrite.cpp:

(WebCore::JSTestConditionallyReadWrite::getConstructor):

  • bindings/scripts/test/JS/JSTestDOMJIT.cpp:

(WebCore::JSTestDOMJIT::getConstructor):

  • bindings/scripts/test/JS/JSTestDefaultToJSON.cpp:

(WebCore::JSTestDefaultToJSON::getConstructor):

  • bindings/scripts/test/JS/JSTestDefaultToJSONFilteredByExposed.cpp:

(WebCore::JSTestDefaultToJSONFilteredByExposed::getConstructor):

  • bindings/scripts/test/JS/JSTestDefaultToJSONIndirectInheritance.cpp:

(WebCore::JSTestDefaultToJSONIndirectInheritance::getConstructor):

  • bindings/scripts/test/JS/JSTestDefaultToJSONInherit.cpp:

(WebCore::JSTestDefaultToJSONInherit::getConstructor):

  • bindings/scripts/test/JS/JSTestDefaultToJSONInheritFinal.cpp:

(WebCore::JSTestDefaultToJSONInheritFinal::getConstructor):

  • bindings/scripts/test/JS/JSTestDelegateToSharedSyntheticAttribute.cpp:

(WebCore::JSTestDelegateToSharedSyntheticAttribute::getConstructor):

  • bindings/scripts/test/JS/JSTestDomainSecurity.cpp:

(WebCore::JSTestDomainSecurity::getConstructor):

  • bindings/scripts/test/JS/JSTestEnabledBySetting.cpp:

(WebCore::JSTestEnabledBySetting::getConstructor):

  • bindings/scripts/test/JS/JSTestEnabledForContext.cpp:

(WebCore::JSTestEnabledForContext::getConstructor):

  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:

(WebCore::JSTestEventConstructor::getConstructor):

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::JSTestEventTarget::getConstructor):

  • bindings/scripts/test/JS/JSTestException.cpp:

(WebCore::JSTestException::getConstructor):

  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:

(WebCore::JSTestGenerateIsReachable::getConstructor):

  • bindings/scripts/test/JS/JSTestGlobalObject.cpp:

(WebCore::JSTestGlobalObject::getConstructor):

  • bindings/scripts/test/JS/JSTestIndexedSetterNoIdentifier.cpp:

(WebCore::JSTestIndexedSetterNoIdentifier::getConstructor):

  • bindings/scripts/test/JS/JSTestIndexedSetterThrowingException.cpp:

(WebCore::JSTestIndexedSetterThrowingException::getConstructor):

  • bindings/scripts/test/JS/JSTestIndexedSetterWithIdentifier.cpp:

(WebCore::JSTestIndexedSetterWithIdentifier::getConstructor):

  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::JSTestInterface::getConstructor):

  • bindings/scripts/test/JS/JSTestInterfaceLeadingUnderscore.cpp:

(WebCore::JSTestInterfaceLeadingUnderscore::getConstructor):

  • bindings/scripts/test/JS/JSTestIterable.cpp:

(WebCore::JSTestIterable::getConstructor):

  • bindings/scripts/test/JS/JSTestJSBuiltinConstructor.cpp:

(WebCore::JSTestJSBuiltinConstructor::getConstructor):

  • bindings/scripts/test/JS/JSTestLegacyFactoryFunction.cpp:

(WebCore::JSTestLegacyFactoryFunction::getConstructor):
(WebCore::JSTestLegacyFactoryFunction::getLegacyFactoryFunction):

  • bindings/scripts/test/JS/JSTestLegacyOverrideBuiltIns.cpp:

(WebCore::JSTestLegacyOverrideBuiltIns::getConstructor):

  • bindings/scripts/test/JS/JSTestMapLike.cpp:

(WebCore::JSTestMapLike::getConstructor):

  • bindings/scripts/test/JS/JSTestMapLikeWithOverriddenOperations.cpp:

(WebCore::JSTestMapLikeWithOverriddenOperations::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterNoIdentifier.cpp:

(WebCore::JSTestNamedAndIndexedSetterNoIdentifier::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterThrowingException.cpp:

(WebCore::JSTestNamedAndIndexedSetterThrowingException::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedAndIndexedSetterWithIdentifier.cpp:

(WebCore::JSTestNamedAndIndexedSetterWithIdentifier::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedDeleterNoIdentifier.cpp:

(WebCore::JSTestNamedDeleterNoIdentifier::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedDeleterThrowingException.cpp:

(WebCore::JSTestNamedDeleterThrowingException::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedDeleterWithIdentifier.cpp:

(WebCore::JSTestNamedDeleterWithIdentifier::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedDeleterWithIndexedGetter.cpp:

(WebCore::JSTestNamedDeleterWithIndexedGetter::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedGetterCallWith.cpp:

(WebCore::JSTestNamedGetterCallWith::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedGetterNoIdentifier.cpp:

(WebCore::JSTestNamedGetterNoIdentifier::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedGetterWithIdentifier.cpp:

(WebCore::JSTestNamedGetterWithIdentifier::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedSetterNoIdentifier.cpp:

(WebCore::JSTestNamedSetterNoIdentifier::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedSetterThrowingException.cpp:

(WebCore::JSTestNamedSetterThrowingException::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedSetterWithIdentifier.cpp:

(WebCore::JSTestNamedSetterWithIdentifier::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetter.cpp:

(WebCore::JSTestNamedSetterWithIndexedGetter::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedSetterWithIndexedGetterAndSetter.cpp:

(WebCore::JSTestNamedSetterWithIndexedGetterAndSetter::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedSetterWithLegacyOverrideBuiltIns.cpp:

(WebCore::JSTestNamedSetterWithLegacyOverrideBuiltIns::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeableProperties.cpp:

(WebCore::JSTestNamedSetterWithLegacyUnforgeableProperties::getConstructor):

  • bindings/scripts/test/JS/JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns.cpp:

(WebCore::JSTestNamedSetterWithLegacyUnforgeablePropertiesAndLegacyOverrideBuiltIns::getConstructor):

  • bindings/scripts/test/JS/JSTestNamespaceObject.cpp:

(WebCore::JSTestNamespaceObject::getConstructor):

  • bindings/scripts/test/JS/JSTestNode.cpp:

(WebCore::JSTestNode::getConstructor):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::JSTestObj::getConstructor):

  • bindings/scripts/test/JS/JSTestOperationConditional.cpp:

(WebCore::JSTestOperationConditional::getConstructor):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::JSTestOverloadedConstructors::getConstructor):

  • bindings/scripts/test/JS/JSTestOverloadedConstructorsWithSequence.cpp:

(WebCore::JSTestOverloadedConstructorsWithSequence::getConstructor):

  • bindings/scripts/test/JS/JSTestPluginInterface.cpp:

(WebCore::JSTestPluginInterface::getConstructor):

  • bindings/scripts/test/JS/JSTestPromiseRejectionEvent.cpp:

(WebCore::JSTestPromiseRejectionEvent::getConstructor):

  • bindings/scripts/test/JS/JSTestReadOnlyMapLike.cpp:

(WebCore::JSTestReadOnlyMapLike::getConstructor):

  • bindings/scripts/test/JS/JSTestReadOnlySetLike.cpp:

(WebCore::JSTestReadOnlySetLike::getConstructor):

  • bindings/scripts/test/JS/JSTestReportExtraMemoryCost.cpp:

(WebCore::JSTestReportExtraMemoryCost::getConstructor):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::JSTestSerializedScriptValueInterface::getConstructor):

  • bindings/scripts/test/JS/JSTestSetLike.cpp:

(WebCore::JSTestSetLike::getConstructor):

  • bindings/scripts/test/JS/JSTestSetLikeWithOverriddenOperations.cpp:

(WebCore::JSTestSetLikeWithOverriddenOperations::getConstructor):

  • bindings/scripts/test/JS/JSTestStringifier.cpp:

(WebCore::JSTestStringifier::getConstructor):

  • bindings/scripts/test/JS/JSTestStringifierAnonymousOperation.cpp:

(WebCore::JSTestStringifierAnonymousOperation::getConstructor):

  • bindings/scripts/test/JS/JSTestStringifierNamedOperation.cpp:

(WebCore::JSTestStringifierNamedOperation::getConstructor):

  • bindings/scripts/test/JS/JSTestStringifierOperationImplementedAs.cpp:

(WebCore::JSTestStringifierOperationImplementedAs::getConstructor):

  • bindings/scripts/test/JS/JSTestStringifierOperationNamedToString.cpp:

(WebCore::JSTestStringifierOperationNamedToString::getConstructor):

  • bindings/scripts/test/JS/JSTestStringifierReadOnlyAttribute.cpp:

(WebCore::JSTestStringifierReadOnlyAttribute::getConstructor):

  • bindings/scripts/test/JS/JSTestStringifierReadWriteAttribute.cpp:

(WebCore::JSTestStringifierReadWriteAttribute::getConstructor):

  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::JSTestTypedefs::getConstructor):

  • bindings/scripts/test/JS/JSWorkerGlobalScope.cpp:

(WebCore::JSWorkerGlobalScope::getConstructor):

  • bindings/scripts/test/JS/JSWorkletGlobalScope.cpp:

(WebCore::JSWorkletGlobalScope::getConstructor):

5:12 PM Changeset in webkit [278801] by Chris Dumez
  • 2 edits in trunk/Tools

Unreviewed small API test failure fix after r278786.

  • TestWebKitAPI/Tests/WebKitCocoa/LocalStoragePersistence.mm:

(TEST):

5:06 PM Changeset in webkit [278800] by commit-queue@webkit.org
  • 12 edits in trunk

Partition CrossOriginPreflightResultCache by SessionID
https://bugs.webkit.org/show_bug.cgi?id=226910

Patch by Alex Christensen <achristensen@webkit.org> on 2021-06-11
Reviewed by Youenn Fablet.

Source/WebCore:

  • loader/CrossOriginAccessControl.cpp:

(WebCore::validatePreflightResponse):

  • loader/CrossOriginAccessControl.h:
  • loader/CrossOriginPreflightChecker.cpp:

(WebCore::CrossOriginPreflightChecker::validatePreflightResponse):

  • loader/CrossOriginPreflightResultCache.cpp:

(WebCore::CrossOriginPreflightResultCache::appendEntry):
(WebCore::CrossOriginPreflightResultCache::canSkipPreflight):

  • loader/CrossOriginPreflightResultCache.h:
  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest):

Source/WebKit:

  • NetworkProcess/NetworkCORSPreflightChecker.cpp:

(WebKit::NetworkCORSPreflightChecker::didCompleteWithError):

  • NetworkProcess/NetworkLoadChecker.cpp:

(WebKit::NetworkLoadChecker::checkCORSRequestWithPreflight):

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:

(TEST):

4:45 PM Changeset in webkit [278799] by Chris Dumez
  • 11 edits in trunk/Source/WebKit

Enable more release logging in UIProcess/WebProcess for ephemeral sessions
https://bugs.webkit.org/show_bug.cgi?id=226945

Reviewed by Geoffrey Garen.

Enable more release logging in UIProcess/WebProcess for ephemeral sessions, to facilitate
debugging.

  • UIProcess/API/Cocoa/WKWebView.mm:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
  • UIProcess/RemoteLayerTree/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::updateLayerTree):

  • UIProcess/WebProcessPool.cpp:

(WebKit::WebProcessPool::establishWorkerContextConnectionToNetworkProcess):

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::didClose):
(WebKit::WebProcessProxy::didFinishLaunching):
(WebKit::WebProcessProxy::fetchWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteData):
(WebKit::WebProcessProxy::deleteWebsiteDataForOrigins):
(WebKit::WebProcessProxy::requestTermination):

  • UIProcess/WebProcessProxy.h:
  • WebProcess/Network/WebLoaderStrategy.cpp:

(WebKit::WebLoaderStrategy::loadResource):
(WebKit::WebLoaderStrategy::scheduleLoad):
(WebKit::WebLoaderStrategy::tryLoadingUsingURLSchemeHandler):
(WebKit::WebLoaderStrategy::scheduleLoadFromNetworkProcess):
(WebKit::WebLoaderStrategy::networkProcessCrashed):
(WebKit::WebLoaderStrategy::loadDataURLSynchronously):
(WebKit::WebLoaderStrategy::loadResourceSynchronously):

  • WebProcess/Network/webrtc/WebRTCMonitor.cpp:

(WebKit::WebRTCMonitor::StartUpdating):
(WebKit::WebRTCMonitor::StopUpdating):
(WebKit::WebRTCMonitor::networksChanged):

  • WebProcess/WebPage/WebURLSchemeTaskProxy.cpp:
4:43 PM Changeset in webkit [278798] by Robert Jenner
  • 1 edit
    2 deletes in trunk/LayoutTests

[LayoutTests] Delete unused LayoutTests/html5lib resources
https://bugs.webkit.org/show_bug.cgi?id=226833

Reviewed by Jonathan Bedard.

  • html5lib/resources/isindex.dat: Removed.
  • html5lib/resources/scripted/ark.dat: Removed.
4:42 PM Changeset in webkit [278797] by Robert Jenner
  • 1 edit
    1 delete in trunk/LayoutTests

[LayoutTests] Delete unused LayoutTests/loader resources
https://bugs.webkit.org/show_bug.cgi?id=226835

Reviewed by Jonathan Bedard.

  • loader/navigation-policy/should-open-external-urls/resources/main-frame-with-subframe-click-targets-subframe.html: Removed.
4:39 PM Changeset in webkit [278796] by Robert Jenner
  • 1 edit
    4 deletes in trunk/LayoutTests

[LayoutTests] Delete unused LayoutTests/webaudio resources
https://bugs.webkit.org/show_bug.cgi?id=226843

Reviewed by Jonathan Bedard.

  • webaudio/resources/convolution-testing.js: Removed.
  • webaudio/resources/javascriptaudionode-testing.js: Removed.
  • webaudio/resources/note-grain-on-testing.js: Removed.
  • webaudio/resources/scriptprocessornode-testing.js: Removed.
4:39 PM Changeset in webkit [278795] by Robert Jenner
  • 1 edit
    1 delete in trunk/LayoutTests

[LayoutTests] Delete unused LayoutTests/tiled-drawing resources
https://bugs.webkit.org/show_bug.cgi?id=226842

Reviewed by Jonathan Bedard.

  • tiled-drawing/resources/green.png: Removed.
4:38 PM Changeset in webkit [278794] by Robert Jenner
  • 1 edit
    1 delete in trunk/LayoutTests

[LayoutTests] Delete unused LayoutTests/security resources
https://bugs.webkit.org/show_bug.cgi?id=226839

Reviewed by Jonathan Bedard.

  • security/resources/worker-isSecureContext-disabled.js: Removed.
4:36 PM Changeset in webkit [278793] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Use SharedBuffer!=() in CachedResource::tryReplaceEncodedData()
https://bugs.webkit.org/show_bug.cgi?id=226943

Reviewed by Geoff Garen.

Use SharedBuffer!=() in CachedResource::tryReplaceEncodedData() instead of duplicating its logic.
SharedBuffer!=() is also potentially more efficient since it doesn't requires combining the
SharedBuffers' data segments.

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::tryReplaceEncodedData):

4:35 PM Changeset in webkit [278792] by Robert Jenner
  • 1 edit
    1 delete in trunk/LayoutTests

N[LayoutTests] Delete unused LayoutTests/media resources
https://bugs.webkit.org/show_bug.cgi?id=226836

Reviewed by Jonathan Bedard.

  • media/track/opera/resources/media/sunflower.mp4: Removed.
  • media/track/opera/resources/media/sunflower.webm: Removed.
4:26 PM Changeset in webkit [278791] by Robert Jenner
  • 1 edit
    5 deletes in trunk/LayoutTests

[LayoutTests] Delete unused LayoutTests/js resources
https://bugs.webkit.org/show_bug.cgi?id=226796

Reviewed by Jonathan Bedard.

  • js/dom/modules/resources/module-will-fire-beforeload.js: Removed.
  • js/kde/resources/KNOWN_FAILURES: Removed.
  • js/mozilla/resources/js-test-post-async.js: Removed.
  • js/mozilla/resources/js-test-post-function.js: Removed.
  • js/mozilla/resources/js-test-post-n.js: Removed.
4:22 PM Changeset in webkit [278790] by Robert Jenner
  • 1 edit
    2 deletes in trunk/LayoutTests

[LayoutTests] Delete unused LayoutTests/css3 resources
https://bugs.webkit.org/show_bug.cgi?id=226827

Reviewed by Jonathan Bedard.

  • css3/masking/resources/clip.svg: Removed.
  • css3/resources/FeatureTest.ttf: Removed.
4:21 PM Changeset in webkit [278789] by imanol
  • 2 edits in trunk/Source/WebCore

Implement Encode/Decode templates for WebXR InputSources
https://bugs.webkit.org/show_bug.cgi?id=226923

Reviewed by Sam Weinig.

Process WebXR InputSources in PlatformXR FrameData Encode/Decode templates.

Tested by WebXR WPT.

  • platform/xr/PlatformXR.h:

(PlatformXR::Device::FrameData::InputSourceButton::encode const):
(PlatformXR::Device::FrameData::InputSourceButton::decode):
(PlatformXR::Device::FrameData::InputSourcePose::encode const):
(PlatformXR::Device::FrameData::InputSourcePose::decode):
(PlatformXR::Device::FrameData::InputSource::encode const):
(PlatformXR::Device::FrameData::InputSource::decode):
(PlatformXR::Device::FrameData::encode const):
(PlatformXR::Device::FrameData::decode):

4:13 PM Changeset in webkit [278788] by Chris Dumez
  • 10 edits in trunk/Source/WebCore

Enable more release logging in WebCore for ephemeral sessions
https://bugs.webkit.org/show_bug.cgi?id=226940

Reviewed by Geoffrey Garen.

Enable more release logging in WebCore for ephemeral sessions, to faciliate
debugging.

  • Modules/webaudio/AudioContext.cpp:
  • loader/PolicyChecker.cpp:

(WebCore::FrameLoader::PolicyChecker::checkNavigationPolicy):

  • page/FrameView.cpp:

(WebCore::FrameView::scheduleResizeEventIfNeeded):
(WebCore::FrameView::paintContents):
(WebCore::FrameView::fireLayoutRelatedMilestonesIfNeeded):

  • page/PerformanceMonitor.cpp:

(WebCore::PerformanceMonitor::measurePostLoadCPUUsage):
(WebCore::PerformanceMonitor::measurePostLoadMemoryUsage):
(WebCore::PerformanceMonitor::measurePostBackgroundingMemoryUsage):
(WebCore::PerformanceMonitor::measurePostBackgroundingCPUUsage):
(WebCore::PerformanceMonitor::measureCPUUsageInActivityState):

  • workers/service/ServiceWorker.cpp:

(WebCore::ServiceWorker::ServiceWorker):
(WebCore::ServiceWorker::updateState):
(WebCore::ServiceWorker::isAlwaysOnLoggingAllowed const): Deleted.

  • workers/service/ServiceWorker.h:
  • workers/service/ServiceWorkerContainer.cpp:

(WebCore::ServiceWorkerContainer::addRegistration):
(WebCore::ServiceWorkerContainer::unregisterRegistration):
(WebCore::ServiceWorkerContainer::updateRegistration):
(WebCore::ServiceWorkerContainer::jobFailedWithException):
(WebCore::ServiceWorkerContainer::jobResolvedWithRegistration):
(WebCore::ServiceWorkerContainer::jobResolvedWithUnregistrationResult):
(WebCore::ServiceWorkerContainer::startScriptFetchForJob):
(WebCore::ServiceWorkerContainer::jobFinishedLoadingScript):
(WebCore::ServiceWorkerContainer::jobFailedLoadingScript):
(WebCore::ServiceWorkerContainer::isAlwaysOnLoggingAllowed const): Deleted.

  • workers/service/ServiceWorkerContainer.h:
  • workers/service/ServiceWorkerRegistration.cpp:

(WebCore::ServiceWorkerRegistration::ServiceWorkerRegistration):
(WebCore::ServiceWorkerRegistration::updateStateFromServer):
(WebCore::ServiceWorkerRegistration::queueTaskToFireUpdateFoundEvent):

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

imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audiobuffersourcenode-interface/active-processing.https.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=226942

Unreviewed test gardening.

3:56 PM Changeset in webkit [278786] by Chris Dumez
  • 6 edits in trunk/Source/WebKit

[WK2] Batch local storage database writes using transactions
https://bugs.webkit.org/show_bug.cgi?id=226938

Reviewed by Geoff Garen.

Batch local storage writes using transactions, to improve performance
and reduce disk writes. In this patch, we use a simple time-based
approach where we batch transactions happening in the same 500ms
period.

  • NetworkProcess/WebStorage/LocalStorageDatabase.cpp:

(WebKit::LocalStorageDatabase::create):
(WebKit::LocalStorageDatabase::LocalStorageDatabase):
(WebKit::LocalStorageDatabase::startTransactionIfNecessary):
(WebKit::LocalStorageDatabase::removeItem):
(WebKit::LocalStorageDatabase::setItem):
(WebKit::LocalStorageDatabase::clear):
(WebKit::LocalStorageDatabase::close):

  • NetworkProcess/WebStorage/LocalStorageDatabase.h:
  • NetworkProcess/WebStorage/StorageArea.cpp:

(WebKit::StorageArea::ensureDatabase const):

3:37 PM Changeset in webkit [278785] by Patrick Angle
  • 18 edits
    2 adds in trunk

Web Inspector: Add instrumentation to node destruction for InspectorDOMAgent
https://bugs.webkit.org/show_bug.cgi?id=226624

Reviewed by Devin Rousso.

Source/JavaScriptCore:

Add new DOM.willDestroyDOMNode event to inform the frontend of DOM nodes that no longer exist, even if they
weren't in the DOM tree. This work serves as a prelude to <https://webkit.org/b/189687> (Web Inspector: preserve
DOM.NodeId if a node is removed and re-added) to eventually only forget about nodes upon destruction, instead of
removal from the DOM tree.

  • inspector/protocol/DOM.json:

Source/WebCore:

Test: inspector/dom/willDestroyDOMNode.html

Add instrumentation for destruction of nodes in order to cease instrumenting nodes and inform the frontend that
the node no longer exists. This work serves as a prelude to <https://webkit.org/b/189687> (Web Inspector:
preserve DOM.NodeId if a node is removed and re-added) to eventually only forget about nodes upon destruction,
instead of removal from the DOM tree. Additionally, the storage of nodes is simplified down to two inverse maps,
one that maps Node to NodeId, and another that maps NodeId to Node. These are kept in sync throughout,
and both attached and detached nodes are now handled as part of these two maps of Nodes.

  • dom/Node.cpp:

(WebCore::Node::~Node):

  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willDestroyDOMNodeImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::didRemoveDOMNode):
(WebCore::InspectorInstrumentation::willDestroyDOMNode):

  • inspector/agents/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::didRemoveDOMNode):

  • inspector/agents/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::InspectorDOMAgent):
(WebCore::InspectorDOMAgent::reset):
(WebCore::InspectorDOMAgent::bind):
(WebCore::InspectorDOMAgent::unbind):
(WebCore::InspectorDOMAgent::getDocument):
(WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
(WebCore::InspectorDOMAgent::discardBindings):
(WebCore::InspectorDOMAgent::pushNodePathToFrontend):
(WebCore::InspectorDOMAgent::boundNodeId):

  • Add a check that the Node* is a valid key (not nullptr) before getting its id.

(WebCore::InspectorDOMAgent::buildObjectForNode):
(WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
(WebCore::InspectorDOMAgent::buildArrayForPseudoElements):
(WebCore::InspectorDOMAgent::didCommitLoad):
(WebCore::InspectorDOMAgent::didInsertDOMNode):
(WebCore::InspectorDOMAgent::didRemoveDOMNode):
(WebCore::InspectorDOMAgent::willDestroyDOMNode):
(WebCore::InspectorDOMAgent::destroyedNodesTimerFired):

  • Added instrumentation point for DOM nodes being destroyed so they can be removed from the agent, and the

frontend can also be informed of their ceasing to exist.
(WebCore::InspectorDOMAgent::characterDataModified):
(WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
(WebCore::InspectorDOMAgent::didPushShadowRoot):
(WebCore::InspectorDOMAgent::willPopShadowRoot):
(WebCore::InspectorDOMAgent::didChangeCustomElementState):
(WebCore::InspectorDOMAgent::pseudoElementCreated):
(WebCore::InspectorDOMAgent::pseudoElementDestroyed):
(WebCore::InspectorDOMAgent::releaseDanglingNodes): Deleted.

  • Removed usage of NodeToIdMap and nested maps of nodes throughout in favor of two inverse maps for relating

Nodes and NodeIds. Because there is now a single set of canonical node maps, we no longer to to pass a
NodeToIdMap throughout the agent.

  • inspector/agents/InspectorDOMAgent.h:
  • inspector/agents/page/PageConsoleAgent.cpp:

(WebCore::PageConsoleAgent::PageConsoleAgent):
(WebCore::PageConsoleAgent::clearMessages):

  • inspector/agents/page/PageConsoleAgent.h:
  • inspector/agents/page/PageDOMDebuggerAgent.cpp:

(WebCore::PageDOMDebuggerAgent::willDestroyDOMNode):

  • inspector/agents/page/PageDOMDebuggerAgent.h:

Source/WebInspectorUI:

Listen for the new DOM.willDestroyDOMNode event in order to cleanup and remaining references to that Node.
This work serves as a prelude to <https://webkit.org/b/189687> (Web Inspector: preserve DOM.NodeId if a node is
removed and re-added) to eventually only forget about nodes upon destruction, instead of removal from the DOM
tree.

  • UserInterface/Controllers/DOMManager.js:

(WI.DOMManager.prototype.willDestroyDOMNode):

  • UserInterface/Protocol/DOMObserver.js:

(WI.DOMObserver.prototype.willDestroyDOMNode):

  • UserInterface/Views/DOMTreeUpdater.js:

(WI.DOMTreeUpdater.prototype._nodeRemoved):

LayoutTests:

  • inspector/dom/willDestroyDOMNode-expected.txt: Added.
  • inspector/dom/willDestroyDOMNode.html: Added.
3:18 PM Changeset in webkit [278784] by Peng Liu
  • 2 edits in trunk/Tools

Fix the references to audio-buffer-size.html in project.pbxproj
https://bugs.webkit.org/show_bug.cgi?id=226932

Reviewed by Eric Carlson.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
2:24 PM Changeset in webkit [278783] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

Don't include certificate info in WebURLSchemeTask::didReceiveResponse
https://bugs.webkit.org/show_bug.cgi?id=226939
<rdar://79178335>

Patch by Alex Christensen <achristensen@webkit.org> on 2021-06-11
Reviewed by Chris Dumez.

This call was introduced in r215384 but is unused since WKURLSchemeTask isn't used for HTTPS.
It is causing hangs sometimes, so let's drop it.

  • UIProcess/WebURLSchemeTask.cpp:

(WebKit::WebURLSchemeTask::didReceiveResponse):

2:21 PM Changeset in webkit [278782] by ysuzuki@apple.com
  • 3 edits
    1 add in trunk/Source/WebCore

Add fast-path for binding security check of DOMWindow
https://bugs.webkit.org/show_bug.cgi?id=226930

Reviewed by Geoffrey Garen.

The security check[1] must pass if the current JSDOMGlobalObject is the same to the accessed JSDOMWindow.
This clarification paves the way to emit JIT code which removes this security check when the lexical and
accessed JSGlobalObjects are the same.

[1]: https://html.spec.whatwg.org/multipage/browsers.html#integration-with-idl

  • bindings/js/JSDOMBindingSecurity.cpp:

(WebCore::BindingSecurity::shouldAllowAccessToDOMWindow):

  • bindings/js/JSDOMBindingSecurity.h:
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateAttributeGetterBodyDefinition):
(GenerateAttributeSetterBodyDefinition):
(GenerateOperationBodyDefinition):

1:59 PM Changeset in webkit [278781] by Jonathan Bedard
  • 2 edits in trunk/Source/WebCore/PAL

[Monterey] Support building WebKit (Follow-up fix)
https://bugs.webkit.org/show_bug.cgi?id=226846
<rdar://problem/79095148>

Unreviewed build fix.

  • pal/spi/mac/QuickLookMacSPI.h:
1:44 PM Changeset in webkit [278780] by Jonathan Bedard
  • 21 edits
    2 adds in trunk

[Monterey] Support building WebKit
https://bugs.webkit.org/show_bug.cgi?id=226846
<rdar://problem/79095148>

Reviewed by Tim Horton.

Source/WebCore:

Covered by exisiting tests.

  • testing/Internals.cpp:

(WebCore::Internals::installImageOverlay): Explicitly define second arugment
to avoid 'missing field' compilation error.

Source/WebCore/PAL:

  • pal/spi/cocoa/CryptoKitCBridgingSPI.h: Add RSA BSSA declarations.
  • pal/spi/mac/QuickLookMacSPI.h: Add Image Analysis declarations.

Source/WebKit:

  • Platform/cocoa/TextRecognitionUtilities.mm: Import VisionKitSPI.h.
  • Platform/spi/Cocoa/VisionKitSPI.h: Added.
  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(setUpPageLoaderClient): Allow deprecated declarations.
(setUpPagePolicyClient): Ditto.

  • UIProcess/API/Cocoa/WKConnection.mm:

(setUpClient): Allow deprecated declarations.

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(setUpConnectionClient): Allow deprecated declarations.
(setUpInjectedBundleClient): Ditto.
(setUpHistoryClient): Ditto.

  • UIProcess/API/Cocoa/WKWebViewTesting.mm:

(-[WKWebView _createMediaSessionCoordinatorForTesting:completionHandler:]): Explicitly define second arugment
to avoid 'missing field' compilation error.

  • UIProcess/Cocoa/WebViewImpl.mm: Import VisionKitSPI.h.
  • UIProcess/ios/WKContentViewInteraction.mm: Ditto.
  • WebKit.xcodeproj/project.pbxproj: Ditto.

Source/WTF:

  • wtf/PlatformHave.h: Add HAVE(VK_IMAGE_ANALYSIS).
  • wtf/spi/cocoa/SecuritySPI.h:

Tools:

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add CoreCryptoSPI.h.
  • TestWebKitAPI/Tests/WebCore/cocoa/CoreCryptoSPI.h: Added.
  • TestWebKitAPI/Tests/WebCore/cocoa/PrivateClickMeasurementCocoa.mm: Import CoreCryptoSPI.h.
  • TestWebKitAPI/Tests/WebKitCocoa/EventAttribution.mm: Ditto.
1:36 PM Changeset in webkit [278779] by Chris Dumez
  • 26 edits in trunk/Source

Enable release logging in ephemeral sessions for parts of WebCore
https://bugs.webkit.org/show_bug.cgi?id=226929

Reviewed by Eric Carlson.

Enable release logging in ephemeral sessions for parts of WebCore, to facilitate debugging.

Source/WebCore:

  • dom/Document.cpp:

(WebCore::Document::canNavigate):

  • dom/Document.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::setRequest):
(WebCore::DocumentLoader::setMainDocumentError):
(WebCore::DocumentLoader::mainReceivedError):
(WebCore::DocumentLoader::frameDestroyed):
(WebCore::DocumentLoader::stopLoading):
(WebCore::DocumentLoader::notifyFinished):
(WebCore::DocumentLoader::willSendRequest):
(WebCore::DocumentLoader::tryLoadingSubstituteData):
(WebCore::DocumentLoader::disallowDataRequest const):
(WebCore::DocumentLoader::continueAfterContentPolicy):
(WebCore::DocumentLoader::attachToFrame):
(WebCore::DocumentLoader::detachFromFrame):
(WebCore::DocumentLoader::startLoadingMainResource):
(WebCore::DocumentLoader::loadMainResource):
(WebCore::DocumentLoader::cancelMainResourceLoad):

  • loader/DocumentLoader.h:
  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::changeLocation):
(WebCore::FrameLoader::loadURLIntoChildFrame):
(WebCore::FrameLoader::loadArchive):
(WebCore::FrameLoader::loadInSameDocument):
(WebCore::FrameLoader::prepareForLoadStart):
(WebCore::FrameLoader::setupForReplace):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::loadURL):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadWithNavigationAction):
(WebCore::FrameLoader::loadWithDocumentLoader):
(WebCore::FrameLoader::clearProvisionalLoadForPolicyCheck):
(WebCore::FrameLoader::reloadWithOverrideEncoding):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::stopAllLoaders):
(WebCore::FrameLoader::stopForBackForwardCache):
(WebCore::FrameLoader::setDocumentLoader):
(WebCore::FrameLoader::setPolicyDocumentLoader):
(WebCore::FrameLoader::setProvisionalDocumentLoader):
(WebCore::FrameLoader::setState):
(WebCore::FrameLoader::clearProvisionalLoad):
(WebCore::FrameLoader::transitionToCommitted):
(WebCore::FrameLoader::checkLoadCompleteForThisFrame):
(WebCore::FrameLoader::loadPostRequest):
(WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
(WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
(WebCore::FrameLoader::loadDifferentDocumentItem):
(WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad):

  • loader/FrameLoader.h:
  • loader/ProgressTracker.cpp:

(WebCore::ProgressTracker::progressStarted):
(WebCore::ProgressTracker::progressCompleted):
(WebCore::ProgressTracker::finalProgressComplete):

  • loader/ProgressTracker.h:
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::init):
(WebCore::ResourceLoader::loadDataURL):
(WebCore::ResourceLoader::willSendRequestInternal):
(WebCore::ResourceLoader::didReceiveResponse):
(WebCore::ResourceLoader::didFinishLoading):
(WebCore::ResourceLoader::didFinishLoadingOnePart):
(WebCore::ResourceLoader::didFail):
(WebCore::ResourceLoader::willSendRequestAsync):
(WebCore::ResourceLoader::wasBlocked):
(WebCore::ResourceLoader::cannotShowURL):

  • loader/ResourceLoader.h:

(WebCore::ResourceLoader::frame const):

  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::init):
(WebCore::SubresourceLoader::willSendRequestInternal):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::didFinishLoading):
(WebCore::SubresourceLoader::didFail):
(WebCore::SubresourceLoader::willCancel):
(WebCore::SubresourceLoader::notifyDone):

  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::load):
(WebCore::CachedResource::redirectReceived):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::canRequestAfterRedirection const):
(WebCore::CachedResourceLoader::requestResource):

  • loader/cache/CachedResourceLoader.h:
  • page/Frame.cpp:

(WebCore::Frame::injectUserScriptImmediately):

  • page/Frame.h:
  • page/FrameView.cpp:
  • page/Page.cpp:
  • page/Page.h:
  • page/PerformanceMonitor.cpp:

Source/WebKit:

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::willSendRequest):
(WebKit::WebResourceLoader::didReceiveResponse):
(WebKit::WebResourceLoader::didReceiveData):
(WebKit::WebResourceLoader::didFinishResourceLoad):
(WebKit::WebResourceLoader::serviceWorkerDidNotHandle):
(WebKit::WebResourceLoader::didFailResourceLoad):
(WebKit::WebResourceLoader::didBlockAuthenticationChallenge):
(WebKit::WebResourceLoader::stopLoadingAfterXFrameOptionsOrContentSecurityPolicyDenied):
(WebKit::WebResourceLoader::didReceiveResource):

  • WebProcess/Network/WebResourceLoader.h:
1:34 PM Changeset in webkit [278778] by Chris Dumez
  • 3 edits in trunk/Source/WebKit

Regression(r276653) We're going to disk more often for local storage operations
https://bugs.webkit.org/show_bug.cgi?id=226832

Reviewed by Darin Adler.

We're going to disk more often for local storage operations since r276653 because we no
longer keep items in memory. This results in a slightly increased power usage on one of
our benchmarks. As a first step to improve this, I am reintroducing a cache of the items
in memory, as long as the values are not too large (1Kb limit). We still go to disk to
look up values that are larger than 1Kb to avoid regressing memory usage.

  • NetworkProcess/WebStorage/LocalStorageDatabase.cpp:

(WebKit::LocalStorageDatabase::openDatabase):
(WebKit::LocalStorageDatabase::items const):
(WebKit::LocalStorageDatabase::removeItem):
(WebKit::LocalStorageDatabase::item const):
(WebKit::LocalStorageDatabase::itemBypassingCache const):
(WebKit::LocalStorageDatabase::setItem):
(WebKit::LocalStorageDatabase::clear):
(WebKit::LocalStorageDatabase::close):
(WebKit::LocalStorageDatabase::databaseIsEmpty const):

  • NetworkProcess/WebStorage/LocalStorageDatabase.h:
1:25 PM Changeset in webkit [278777] by Ryan Haddad
  • 3 edits in trunk/LayoutTests

Layout test svg/animations/smil-leak-elements.svg is flaky
https://bugs.webkit.org/show_bug.cgi?id=174180

Unreviewed test gardening.

This test is flaky on WK1 and WK2, so move the expectation.

  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
1:02 PM Changeset in webkit [278776] by Devin Rousso
  • 3 edits in trunk/Tools

Add an option to Copy WebKit Permalink that automatically opens the URL in the default browser for Sublime Text
https://bugs.webkit.org/show_bug.cgi?id=226933

Reviewed by Tim Horton.

Usually the step right after copying the permalink is to open a browser and enter it. Having
a setting that causes the plugin to do that automatically would save some time and effort.

  • CopyPermalink/Sublime Text/CopyWebKitPermalink/CopyWebKitPermalink.py:

(Settings.automatically_open_in_browser): Added.
(CopyWebKitPermalinkCommand.run):

  • CopyPermalink/Sublime Text/CopyWebKitPermalink/CopyWebKitPermalink.sublime-settings:
12:55 PM Changeset in webkit [278775] by Wenson Hsieh
  • 5 edits
    2 adds in trunk

[Live Text] Text selection inside image elements should not be cleared upon resize
https://bugs.webkit.org/show_bug.cgi?id=226911

Reviewed by Tim Horton.

Source/WebCore:

Refactor HTMLElement::updateWithTextRecognitionResult, such that it doesn't tear down and recreate the host
element's shadow DOM structure in the case where the extant DOM elements are compatible with the given text
recognition result. This prevents us from removing or inserting DOM elements in the case where an image element
is resized (and thus adjusts its shadow DOM content using the updated size), which in turn prevents us from
clearing out the text selection.

Test: fast/images/text-recognition/mac/image-overlay-maintain-selection-during-size-change.html

  • editing/cocoa/DataDetection.h:
  • editing/cocoa/DataDetection.mm:

Make this helper method return an HTMLDivElement instead of just an HTMLElement.

(WebCore::DataDetection::createElementForImageOverlay):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::updateWithTextRecognitionResult):

Split this method into two logical parts: the first builds up a TextRecognitionElements struct that contains
references to all connected elements in the image element's shadow DOM that require style updates due to the
new size; the second uses this TextRecognitionElements information to compute the new CSS transforms to apply to
each of the data detector, line containers, and text containers underneath each line container element.

Importantly, in step (1), we avoid regenerating shadow DOM content in the case where the DOM elements already
exist in their expected places within the shadow DOM.

LayoutTests:

  • fast/images/text-recognition/mac/image-overlay-maintain-selection-during-size-change-expected.txt: Added.
  • fast/images/text-recognition/mac/image-overlay-maintain-selection-during-size-change.html: Added.
12:14 PM Changeset in webkit [278774] by Russell Epstein
  • 1 copy in tags/Safari-612.1.17.10.3

Tag Safari-612.1.17.10.3.

12:08 PM Changeset in webkit [278773] by Russell Epstein
  • 8 edits in branches/safari-612.1.17.10-branch/Source

Versioning.

WebKit-7612.1.17.10.3

11:41 AM Changeset in webkit [278772] by Chris Dumez
  • 4 edits in trunk/Source/WebKit

Enable WebProcess' release logging in ephemeral sessions
https://bugs.webkit.org/show_bug.cgi?id=226927

Reviewed by Geoffrey Garen.

Enable WebProcess' release logging in ephemeral sessions, to faciliate debugging.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
(WebKit::WebProcess::networkProcessConnectionClosed):
(WebKit::WebProcess::prepareToSuspend):
(WebKit::WebProcess::markAllLayersVolatile):
(WebKit::WebProcess::cancelMarkAllLayersVolatile):
(WebKit::WebProcess::freezeAllLayerTrees):
(WebKit::WebProcess::unfreezeAllLayerTrees):
(WebKit::WebProcess::processDidResume):
(WebKit::WebProcess::grantUserMediaDeviceSandboxExtensions):
(WebKit::WebProcess::revokeUserMediaDeviceSandboxExtensions):

  • WebProcess/WebProcess.h:

(WebKit::WebProcess::isAlwaysOnLoggingAllowed): Deleted.

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::updateProcessName):
(WebKit::WebProcess::updateActivePages):
(WebKit::WebProcess::updateCPUMonitorState):
(WebKit::WebProcess::destroyRenderingResources):
(WebKit::WebProcess::updateFreezerStatus):
(WebKit::WebProcess::consumeAudioComponentRegistrations):

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

[check-webkit-style] failing in JS checker due to python byte string
https://bugs.webkit.org/show_bug.cgi?id=226925
<rdar://problem/79166108>

Reviewed by Aakash Jain.

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

(map_functions_to_dict): Use byte regexes.
(strip_trailing_blank_lines_and_comments): Ditto.

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

(JSTestCheckerTestCase.test_map_functions_to_dict): Test content should be bytes.

11:36 AM Changeset in webkit [278770] by Truitt Savell
  • 2 edits in trunk/Tools

Remove ews129 instead of ews179
https://bugs.webkit.org/show_bug.cgi?id=226855

Reviewed by Jonathan Bedard.

  • CISupport/ews-build/config.json:
11:26 AM Changeset in webkit [278769] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Air ARM64 sub32 opcode should indicate that it zero-extends its result
https://bugs.webkit.org/show_bug.cgi?id=226849

Patch by Yijia Huang <Yijia Huang> on 2021-06-11
Reviewed by Saam Barati.

Sub32 was previously not saying that its result is zero defined. However,
sub32 on arm64 architectures zero defines its result, so the top 32 bits
are zeroed. The issue with this is what we were not eliding provably
redundant zero extend operations.

For example:
B3 IR
@0 = Trunc(ArgumentReg(0))
@1 = Trunc(ArgumentReg(1))
@2 = Sub(@0, @1)
@3 = ZExt32(@2)
i64
@4 = Return(@3) or Store(@3, @x)

Old optimized Air IR
Sub32 %x0, %x1, %x0, b@2
Move32 %x0, %x0, b@3
Ret64 %x0, b@4 or Move %x0, (%x), b@4

To remove that redundant zero extend instruction (Move32), Air arm64
sub32 opcode should indicate that it zero-extends its result.

New optimized Air IR
Sub32 %x0, %x1, %x0, b@2
Ret64 %x0, b@6 or Move %x0, (%x), b@4

  • b3/air/AirOpcode.opcodes:
11:08 AM Changeset in webkit [278768] by commit-queue@webkit.org
  • 2 edits in trunk/Source/ThirdParty/ANGLE

ANGLE EGL and GLES libraries should link with lib dl.
https://bugs.webkit.org/show_bug.cgi?id=226920

Patch by Eleni Maria Stea <hikiko> on 2021-06-11
Reviewed by Kenneth Russell.

GLES and EGL that are generated from ANGLE should link
with libdl because they use dlsym and dlopen. Also,
with the updated CMakeLists.txt we can safely link with libEGL
when USE_ANGLE_WEBGL is set because the symbols of EGL are now
found.

  • CMakeLists.txt:
10:46 AM Changeset in webkit [278767] by Megan Gardner
  • 23 edits in trunk

Rename AppHighlight group to QuickNote to correctly reflect feature.
https://bugs.webkit.org/show_bug.cgi?id=226888

Reviewed by Tim Horton.

Source/WebCore:

Rename only, no behavior change.

  • Modules/highlight/AppHighlight.h:

(WebCore::AppHighlight::encode const):
(WebCore::AppHighlight::decode):

  • Modules/highlight/AppHighlightStorage.cpp:

(WebCore::AppHighlightStorage::storeAppHighlight):

  • Modules/highlight/AppHighlightStorage.h:
  • en.lproj/Localizable.strings:
  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded const):

  • platform/ContextMenuItem.cpp:

(WebCore::isValidContextMenuAction):

  • platform/ContextMenuItem.h:
  • platform/LocalizedStrings.h:
  • platform/cocoa/LocalizedStringsCocoa.mm:

(WebCore::contextMenuItemTagAddHighlightToQuickNote):
(WebCore::contextMenuItemTagAddHighlightToNewQuickNote):
(WebCore::contextMenuItemTagAddHighlightToCurrentGroup): Deleted.
(WebCore::contextMenuItemTagAddHighlightToNewGroup): Deleted.

  • testing/Internals.cpp:

(WebCore::Internals::appHighlightContextMenuItemTitles const):

Source/WebKit:

  • Scripts/webkit/messages.py:

(headers_for_type):

  • Shared/API/c/WKContextMenuItemTypes.h:
  • Shared/API/c/WKSharedAPICast.h:

(WebKit::toAPI):
(WebKit::toImpl):

  • UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm:
  • UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _storeAppHighlight:]):
(-[WKWebView _addAppHighlightInNewGroup:originatedInApp:]):
(-[WKWebView _addAppHighlightInNewQuickNote:originatedInApp:]):

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/Cocoa/_WKAppHighlightDelegate.h:
  • UIProcess/Cocoa/WebPageProxyCocoa.mm:

(WebKit::WebPageProxy::createAppHighlightInSelectedRange):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::contextMenuItemSelected):

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

(-[WKContentView targetForAction:withSender:]):
(-[WKContentView setUpAppHighlightMenusIfNeeded]):
(-[WKContentView createHighlightForCurrentQuickNoteWithRange:]):
(-[WKContentView createHighlightForNewQuickNoteWithRange:]):
(-[WKContentView createHighlightInCurrentGroupWithRange:]): Deleted.
(-[WKContentView createHighlightInNewGroupWithRange:]): Deleted.

  • UIProcess/mac/WebContextMenuProxyMac.mm:

(WebKit::menuItemIdentifier):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::storeAppHighlight const):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createAppHighlightInSelectedRange):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::highlightIsNewQuickNote const):
(WebKit::WebPage::highlightIsNewGroup const): Deleted.

  • WebProcess/WebPage/WebPage.messages.in:

Source/WebKitLegacy/mac:

  • WebView/WebHTMLView.mm:

(toTag):

  • WebView/WebUIDelegatePrivate.h:

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm:

(TEST):

10:45 AM Changeset in webkit [278766] by Ruben Turcios
  • 1 copy in tags/Safari-612.1.18

Tag Safari-612.1.18.

10:41 AM Changeset in webkit [278765] by cathiechen
  • 14 edits in trunk

Use HTMLDimension to parse different HTML attribute length values
https://bugs.webkit.org/show_bug.cgi?id=226810

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/html/rendering/dimension-attributes-expected.txt:
  • web-platform-tests/html/rendering/pixel-length-attributes-expected.txt:

Source/WebCore:

This patch uses HTMLDimension to parse different kind of html length values which are defined in [1].
Then according the length types to determine if the value is valid.

[1] https://www.w3.org/TR/html4/sgml/dtd.html#Length

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::addHTMLLengthToStyle):
(WebCore::HTMLElement::addHTMLLengthToStyle): Add HTMLLength (including percentage values and pixel values) to style.
(WebCore::HTMLElement::addHTMLMultiLengthToStyle): Add MultiLength (including percentage, pixel and relative values) to style.
(WebCore::HTMLElement::addHTMLPixelsToStyle): Add pixel values to style.
(WebCore::HTMLElement::addHTMLNumberToStyle): Add number (including percentage values and numbers) to style.

  • html/HTMLElement.h:
  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::collectPresentationalHintsForAttribute): <img>'s width and height attributes are multiLength.

  • html/HTMLMarqueeElement.cpp:

(WebCore::HTMLMarqueeElement::collectPresentationalHintsForAttribute): scrolldelayAttr and loopAttr are numbers.

  • html/HTMLTableColElement.cpp:

(WebCore::HTMLTableColElement::collectPresentationalHintsForAttribute): <col>'s width and height attributes are multiLength.

  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::collectPresentationalHintsForAttribute): <table>'s cellspacingAttr only supports pixel values.

  • html/parser/HTMLParserIdioms.cpp:

(WebCore::parseHTMLDimensionInternal):
(WebCore::parseHTMLDimension):
(WebCore::parseHTMLMultiLength): MultiLength doesn't support relative_length (number + *), but make sure relative_length not be treated as a pixel value.

  • html/parser/HTMLParserIdioms.h:

LayoutTests:

  • platform/ios-wk2/imported/w3c/web-platform-tests/html/rendering/pixel-length-attributes-expected.txt:
10:25 AM Changeset in webkit [278764] by youenn@apple.com
  • 3 edits
    2 adds in trunk

getDisplayMedia API doesn't work
https://bugs.webkit.org/show_bug.cgi?id=226874
<rdar://problem/79134041>

Reviewed by Eric Carlson.

Source/WebCore:

Test: fast/mediastream/getDisplayMedia-frame-rate.html

  • platform/mediastream/RealtimeVideoSource.cpp:

(WebCore::RealtimeVideoSource::videoSampleAvailable):
Only apply decimation in case frame rate is set.

LayoutTests:

  • fast/mediastream/getDisplayMedia-frame-rate-expected.txt: Added.
  • fast/mediastream/getDisplayMedia-frame-rate.html: Added.
9:15 AM Changeset in webkit [278763] by achristensen@apple.com
  • 5 edits in trunk

EventSource.constructor throws an exception when the url param is an empty string
https://bugs.webkit.org/show_bug.cgi?id=226635

Reviewed by Yusuke Suzuki.

Source/WebCore:

  • page/EventSource.cpp:

(WebCore::EventSource::create):

LayoutTests:

  • fast/eventsource/eventsource-constructor-expected.txt:
  • fast/eventsource/eventsource-constructor.html:
8:34 AM Changeset in webkit [278762] by Jonathan Bedard
  • 2 edits in trunk/Tools

REGRESSION (r278454): [run-webkit-tests] worker is printed twice for each test in debug logging
https://bugs.webkit.org/show_bug.cgi?id=226895
<rdar://problem/79164077>

Reviewed by Dewei Zhu.

  • Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:

(Worker.run_tests): Strip process names from debug logs.
(Worker.stop): Ditto.
(Worker._kill_driver): Ditto.
(Worker._clean_up_after_test): Ditto.

8:15 AM WebKitGTK/2.32.x edited by Michael Catanzaro
(diff)
8:00 AM Changeset in webkit [278761] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[GTK] Crash when dragging an account node above WebView
https://bugs.webkit.org/show_bug.cgi?id=226811

Patch by Michael Catanzaro <Michael Catanzaro> on 2021-06-11
Reviewed by Adrian Perez de Castro.

When we receive empty drag data, this is indicated by length -1, not by 0.

  • UIProcess/API/gtk/DropTargetGtk3.cpp:

(WebKit::DropTarget::dataReceived):

7:25 AM Changeset in webkit [278760] by Adrian Perez de Castro
  • 1 copy in releases/WPE WebKit/webkit-2.33.2

WPE WebKit 2.33.2

7:25 AM Changeset in webkit [278759] by Adrian Perez de Castro
  • 4 edits in trunk

Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.33.2 release

.:

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

Source/WebKit:

  • wpe/NEWS: Add release notes for 2.33.2.
7:23 AM Changeset in webkit [278758] by Adrian Perez de Castro
  • 3 edits in trunk/Source/WebCore

Unreviewed non-unified build fixes.

  • loader/ResourceCryptographicDigest.cpp: Add missing SharedBuffer.h header.
  • platform/network/soup/ResourceHandleSoup.cpp: Add missing SecurityOrigin.h header.
5:00 AM Changeset in webkit [278757] by Diego Pino Garcia
  • 4 edits
    1 move in trunk/LayoutTests

[GTK] Test css3/filters/composited-during-animation-layertree.html is flaky since r214292
https://bugs.webkit.org/show_bug.cgi?id=171600

Reviewed by Adrian Perez de Castro.

The general baseline for this test was empty. Updated it with the
results of iOS. I also removed the test failure from iOS TestExpectations.

The test is marked as flaky in Mac because sometimes it produces empty
results (webkit.org/b/95622). I don't touch the Mac baseline and leave
the test as flaky in Mac TestExpectations.

Finally, I moved the current baseline that exists for WPE to GLIB, as
WebKitGTK produces the same results.

  • css3/filters/composited-during-animation-layertree-expected.txt:
  • platform/glib/css3/filters/composited-during-animation-layertree-expected.txt: Renamed from LayoutTests/platform/wpe/css3/filters/composited-during-animation-layertree-expected.txt.
  • platform/gtk/TestExpectations:
  • platform/ios/TestExpectations:
1:24 AM Changeset in webkit [278756] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

WebGL context image buffer accumulates the NativeImage contents when drawn to RemoteImageBufferProxy
https://bugs.webkit.org/show_bug.cgi?id=226813
<rdar://77421966>

Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-06-11
Reviewed by Simon Fraser.

Source/WebCore:

Add a workaround to flush WebGL element image buffer before
every new frame in order to clear the WebContent process side
NativeImage caches.

Test: webgl/draw-webgl-to-context2d-memory-test.html

  • html/canvas/WebGLRenderingContextBase.cpp:

(WebCore::WebGLRenderingContextBase::paintRenderingResultsToCanvas):

LayoutTests:

Add a test that should crash on some devices with low
memory limits.

  • webgl/draw-webgl-to-context2d-memory-test-expected.txt: Added.
  • webgl/draw-webgl-to-context2d-memory-test.html: Added.
Note: See TracTimeline for information about the timeline view.