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

Timeline



Apr 21, 2022:

11:08 PM Changeset in webkit [293211] by commit-queue@webkit.org
  • 21 edits
    1 add in trunk

Use GCGLSpanTuple to pass buffer parameters to multidraw calls.
https://bugs.webkit.org/show_bug.cgi?id=239154

Patch by John Cunningham <johncunningham@apple.com> on 2022-04-21
Reviewed by Kimmo Kinnunen.

Source/WebCore:

  • html/canvas/WebGLMultiDraw.cpp:

(WebCore::WebGLMultiDraw::multiDrawArraysWEBGL):
(WebCore::WebGLMultiDraw::multiDrawArraysInstancedWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsWEBGL):
(WebCore::WebGLMultiDraw::multiDrawElementsInstancedWEBGL):
(WebCore::makeSpanWithOffset): Deleted.

  • platform/graphics/GraphicsContextGL.h:
  • platform/graphics/GraphicsTypesGL.h:
  • platform/graphics/angle/GraphicsContextGLANGLE.cpp:

(WebCore::GraphicsContextGLANGLE::multiDrawArraysANGLE):
(WebCore::GraphicsContextGLANGLE::multiDrawArraysInstancedANGLE):
(WebCore::GraphicsContextGLANGLE::multiDrawElementsANGLE):
(WebCore::GraphicsContextGLANGLE::multiDrawElementsInstancedANGLE):

  • platform/graphics/angle/GraphicsContextGLANGLE.h:
  • platform/graphics/opengl/GraphicsContextGLOpenGL.h:

Source/WebKit:

  • GPUProcess/graphics/RemoteGraphicsContextGL.cpp:

(WebKit::WebCore::vectorCopyCast):
(WebKit::RemoteGraphicsContextGL::multiDrawArraysANGLE):
(WebKit::RemoteGraphicsContextGL::multiDrawArraysInstancedANGLE):
(WebKit::RemoteGraphicsContextGL::multiDrawElementsANGLE):
(WebKit::RemoteGraphicsContextGL::multiDrawElementsInstancedANGLE):

  • GPUProcess/graphics/RemoteGraphicsContextGL.h:
  • GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
  • GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h:

(getInternalformativ):
(multiDrawArraysANGLE): Deleted.
(multiDrawArraysInstancedANGLE): Deleted.
(multiDrawElementsANGLE): Deleted.
(multiDrawElementsInstancedANGLE): Deleted.

  • Platform/IPC/ArgumentCoders.h:
  • Platform/IPC/ArrayReferenceTuple.h: Added.
  • Scripts/webkit/messages.py:

(class_template_headers):

  • WebKit.xcodeproj/project.pbxproj:
  • WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:

(WebKit::RemoteGraphicsContextGLProxy::multiDrawArraysANGLE):
(WebKit::RemoteGraphicsContextGLProxy::multiDrawArraysInstancedANGLE):
(WebKit::RemoteGraphicsContextGLProxy::multiDrawElementsANGLE):
(WebKit::RemoteGraphicsContextGLProxy::multiDrawElementsInstancedANGLE):

  • WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
  • WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp:

(WebKit::RemoteGraphicsContextGLProxy::multiDrawArraysANGLE): Deleted.
(WebKit::RemoteGraphicsContextGLProxy::multiDrawArraysInstancedANGLE): Deleted.
(WebKit::RemoteGraphicsContextGLProxy::multiDrawElementsANGLE): Deleted.
(WebKit::RemoteGraphicsContextGLProxy::multiDrawElementsInstancedANGLE): Deleted.

Tools:

  • Scripts/generate-gpup-webgl:
10:41 PM Changeset in webkit [293210] by ysuzuki@apple.com
  • 27 edits
    2 adds in trunk

[JSC] PropertyTable should have compact mode
https://bugs.webkit.org/show_bug.cgi?id=239451

Reviewed by Saam Barati.

This patch introduces "compact" version of PropertyTable. PropertyTable needs to hold two kind of integers: index and property offset.
But for most of objects, both are pretty small and they can fit in uint8_t. If we can use uint8_t for both, we can significantly reduce
size of allocated memory for PropertyTable (only 40% of memory is required!). This is good for memory, but also good for performance.
Now each CompactPropertyTableEntry is 8bytes while original PropertyMapEntry was 16bytes, so CompactPropertyTableEntry can fit in CPU cache well.
Also, not allocating large amount of memory can reduce memory allocation / deallocation cost. One of costly destruction of GC-managed objects is
PropertyTable (and CodeBlock), and we can reduce that cost by not allocating much memory.

The approach is following.

  1. For index vector, we use uint8_t if index can fit within uint8_t.
  2. For proprety offset, we use uint8_t and CompactPropertyTableEntry if it is suitable.
  3. Once the table gets non-compact, we keep it non-compact since we could have deleted index which has larger than uint8_t. We could improve this strategy when deleted indexes are cleared, but for now, we are taking simple approach.
  4. We store isCompactFlag 1 bit in the pointer to the table.
  5. We encapsulate functions modifying property table entry in PropertyTable itself, so we do not leak internal compact / non-compact mode to the user of PropertyTable. We remove begin() / end() iterators and instead use forEachproperty, which can implement iteration for each mode more efficiently.

We have a further opportunity to improve this further: we can deploy 75% load factor only for compact table. Then we can increase threshold of
compact table further and keep more and more tables compact mode. Plus, for small sized tables, small backing memory is better in terms of
CPU cache hit (and that's measured in WTF::HashTable, and that's why WTF::Hashtable deploys 75% load factor only for small tables). This is left
for the subsequent change.

This change is neutral in JetStream2, 0.3% improvement in Speedometer2 with 80% confidence, and 0.41% improvement in RAMification with 95% confidence.

  • JSTests/stress/change-attribute-structure-transition.js:

(shouldBe.JSON.stringify.sd):

  • Source/JavaScriptCore/bytecode/ObjectAllocationProfileInlines.h:

(JSC::ObjectAllocationProfileBase<Derived>::initializeProfile):

  • Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:

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

  • Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:

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

  • Source/JavaScriptCore/dfg/DFGOperations.cpp:

(JSC::DFG::JSC_DEFINE_JIT_OPERATION):

  • Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
  • Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):

  • Source/JavaScriptCore/ftl/FTLOperations.cpp:

(JSC::FTL::JSC_DEFINE_JIT_OPERATION):

  • Source/JavaScriptCore/runtime/ClonedArguments.h:
  • Source/JavaScriptCore/runtime/IteratorOperations.cpp:

(JSC::createIteratorResultObjectStructure):

  • Source/JavaScriptCore/runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::init):

  • Source/JavaScriptCore/runtime/JSGlobalObjectFunctions.cpp:

(JSC::JSC_DEFINE_HOST_FUNCTION):

  • Source/JavaScriptCore/runtime/JSONObject.cpp:

(JSC::Stringifier::Holder::appendNextProperty):

  • Source/JavaScriptCore/runtime/JSObject.cpp:

(JSC::JSObject::analyzeHeap):

  • Source/JavaScriptCore/runtime/JSObject.h:
  • Source/JavaScriptCore/runtime/ObjectConstructor.h:

(JSC::constructEmptyObject):
(JSC::createDataPropertyDescriptorObjectStructure):
(JSC::createAccessorPropertyDescriptorObjectStructure):

  • Source/JavaScriptCore/runtime/ObjectConstructorInlines.h:

(JSC::objectAssignFast):

  • Source/JavaScriptCore/runtime/PropertyOffset.h:
  • Source/JavaScriptCore/runtime/PropertySlot.h:
  • Source/JavaScriptCore/runtime/PropertyTable.cpp:

(JSC::PropertyTable::PropertyTable):
(JSC::PropertyTable::finishCreation):
(JSC::PropertyTable::visitChildrenImpl):
(JSC::PropertyTable::~PropertyTable):
(JSC::PropertyTable::seal):
(JSC::PropertyTable::freeze):
(JSC::PropertyTable::isSealed const):
(JSC::PropertyTable::isFrozen const):
(JSC::PropertyTable::renumberPropertyOffsets):

  • Source/JavaScriptCore/runtime/PropertyTable.h:

(JSC::isPowerOf2):
(JSC::nextPowerOf2):
(JSC::PropertyTable::findImpl):
(JSC::PropertyTable::find):
(JSC::PropertyTable::get):
(JSC::PropertyTable::add):
(JSC::PropertyTable::remove):
(JSC::PropertyTable::take):
(JSC::PropertyTable::updateAttributeIfExists):
(JSC::PropertyTable::sizeInMemory):
(JSC::PropertyTable::reinsert):
(JSC::PropertyTable::rehash):
(JSC::PropertyTable::skipDeletedEntries):
(JSC::PropertyTable::dataSize):
(JSC::PropertyTable::canInsert):
(JSC::PropertyTable::forEachProperty const):
(JSC::PropertyTable::forEachPropertyMutable):
(JSC::PropertyTable::begin): Deleted.
(JSC::PropertyTable::end): Deleted.
(JSC::PropertyTable::begin const): Deleted.
(JSC::PropertyTable::end const): Deleted.
(JSC::PropertyTable::table): Deleted.
(JSC::PropertyTable::table const): Deleted.

  • Source/JavaScriptCore/runtime/RegExpMatchesArray.h:
  • Source/JavaScriptCore/runtime/Structure.cpp:

(JSC::Structure::dumpStatistics):
(JSC::Structure::Structure):
(JSC::Structure::materializePropertyTable):
(JSC::Structure::nonPropertyTransitionSlow):
(JSC::Structure::isSealed):
(JSC::Structure::isFrozen):
(JSC::Structure::flattenDictionaryStructure):
(JSC::PropertyTableStatisticsExitLogger::~PropertyTableStatisticsExitLogger):
(JSC::Structure::getConcurrently):
(JSC::Structure::getPropertiesConcurrently):
(JSC::Structure::getPropertyNamesFromStructure):
(JSC::Structure::toStructureShape):
(JSC::Structure::dump const):

  • Source/JavaScriptCore/runtime/Structure.h:

(JSC::CompactPropertyTableEntry::CompactPropertyTableEntry):
(JSC::CompactPropertyTableEntry::key const):
(JSC::CompactPropertyTableEntry::setKey):
(JSC::CompactPropertyTableEntry::offset const):
(JSC::CompactPropertyTableEntry::setOffset):
(JSC::CompactPropertyTableEntry::attributes const):
(JSC::CompactPropertyTableEntry::setAttributes):
(JSC::PropertyTableEntry::PropertyTableEntry):
(JSC::PropertyTableEntry::key const):
(JSC::PropertyTableEntry::setKey):
(JSC::PropertyTableEntry::offset const):
(JSC::PropertyTableEntry::setOffset):
(JSC::PropertyTableEntry::attributes const):
(JSC::PropertyTableEntry::setAttributes):
(JSC::PropertyMapEntry::PropertyMapEntry): Deleted.

  • Source/JavaScriptCore/runtime/StructureInlines.h:

(JSC::Structure::get):
(JSC::Structure::forEachPropertyConcurrently):
(JSC::Structure::forEachProperty):
(JSC::Structure::add):
(JSC::Structure::remove):
(JSC::Structure::attributeChange):

Canonical link: https://commits.webkit.org/249881@main

10:35 PM Changeset in webkit [293209] by commit-queue@webkit.org
  • 4 edits
    4 adds in trunk

contain: layout on the html element should change position:fixed behavior
https://bugs.webkit.org/show_bug.cgi?id=238560

Patch by Rob Buis <rbuis@igalia.com> on 2022-04-21
Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-contain/contain-layout-021-expected.html: Added.
  • web-platform-tests/css/css-contain/contain-layout-021.html: Added.
  • web-platform-tests/css/css-contain/reference/contain-layout-021-ref.html: Added.

Source/WebCore:

The mapLocalToContainer/mapAbsoluteToLocalPoint methods need to not only consider boxes
having transforms but need to include all checks in canContainFixedPositionObjects to
determine if the box acts as a fixed position containing block.

Tests: imported/w3c/web-platform-tests/css/css-contain/contain-layout-021.html

imported/w3c/web-platform-tests/css/css-contain/reference/contain-layout-021-ref.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::mapLocalToContainer const):
(WebCore::RenderBox::mapAbsoluteToLocalPoint const):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::mapLocalToContainer const):

10:21 PM Changeset in webkit [293208] by Chris Dumez
  • 5 edits
    2 adds in trunk

No-op, instead of throwing, on dataTransfer.items.remove()
https://bugs.webkit.org/show_bug.cgi?id=239618

Reviewed by Wenson Hsieh.

LayoutTests/imported/w3c:

Import test coverage from upstream WPT.

  • web-platform-tests/html/editing/dnd/datastore/datatransferitemlist-remove-expected.txt: Added.
  • web-platform-tests/html/editing/dnd/datastore/datatransferitemlist-remove.html: Added.

Source/WebCore:

Calling dataTransfer.items.remove() with an out-of-range index should be a no-op instead of
throwing as per the latest HTML specification:

We were the only browser behaving this way so this was a compatibility risk.

Test: imported/w3c/web-platform-tests/html/editing/dnd/datastore/datatransferitemlist-remove.html

  • dom/DataTransferItemList.cpp:

(WebCore::DataTransferItemList::remove):

8:56 PM Changeset in webkit [293207] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[PGO] Fix perl warnings cause by PGO for real this time.
https://bugs.webkit.org/show_bug.cgi?id=239633

Reviewed by Yusuke Suzuki.

Add a missing 'defined' check before reading the PGO environment variable.

  • Tools/Scripts/check-for-weak-vtables-and-externals:

Canonical link: https://commits.webkit.org/249878@main

8:27 PM Changeset in webkit [293206] by Andres Gonzalez
  • 9 edits in trunk/LayoutTests

AX ITM: Fix for multiple flaky tests in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=239583
<rdar://problem/92064483>

Reviewed by Chris Fleizach.

Rewrote these flaky tests so that now pass in isolated tree mode:

  • Use expect() instead of shouldBe*() and log the output at the end of

the test.

  • Avoid setting focus to an element just to get the accessible element.
  • accessibility/legend-children-are-visible-expected.txt:
  • accessibility/legend-children-are-visible.html:
  • accessibility/mac/aria-label-overrides-visible-text-expected.txt:
  • accessibility/mac/aria-label-overrides-visible-text.html:
  • accessibility/mac/aria-popup-buttons-on-native-elements-expected.txt:
  • accessibility/mac/aria-popup-buttons-on-native-elements.html:
  • accessibility/mac/link-with-title-expected.txt:
  • accessibility/mac/link-with-title.html:
7:48 PM Changeset in webkit [293205] by Brent Fulgham
  • 4 edits in trunk/Source/WebKitLegacy/win

Unreviewed build fix after r293199.
https://bugs.webkit.org/show_bug.cgi?id=239628

Remove unused references to XSS Auditor.

  • WebPreferenceKeysPrivate.h:
  • WebPreferences.cpp:

(WebPreferences::initializeDefaultSettings):
(WebPreferences::isXSSAuditorEnabled):
(WebPreferences::setXSSAuditorEnabled):

  • WebView.cpp:

(WebView::notifyPreferencesChanged):

6:21 PM Changeset in webkit [293204] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS wk2 arm64 ] media/modern-media-controls/tracks-support/text-track-selected-via-media-api.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=239634

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/249875@main

5:51 PM Changeset in webkit [293203] by ysuzuki@apple.com
  • 12 edits
    2 deletes in trunk/Source/JavaScriptCore

[JSC] Remove TempRegisterSet
https://bugs.webkit.org/show_bug.cgi?id=239578

Reviewed by Mark Lam.

We can always use RegisterSet. TempRegisterSet can save several bytes, but we have no code using TempRegisterSet in
heap-allocated classes. So, this does not make sense anymore. Instead of TempRegisterSet, we will consistently use
RegisterSet to pass register info and ScratchRegisterAllocator to manage allocation of temp / scratch registers.

We also remove the copyCalleeSavesToEntryFrameCalleeSavesBuffer function which takes no scratch register. It was
using TempRegisterSet to allocate a scratch register, but the caller of this function was making assumptions on how
TempRegisterSet will allocate that scratch. This is very fragile and dangerous. We should explicitly pass a scratch
register instead in that case.

  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Sources.txt:
  • ftl/FTLLowerDFGToB3.cpp:

(JSC::FTL::DFG::LowerDFGToB3::lower):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::copyLLIntBaselineCalleeSavesFromFrameOrRegisterToEntryFrameCalleeSavesBuffer):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::copyLLIntBaselineCalleeSavesFromFrameOrRegisterToEntryFrameCalleeSavesBuffer): Deleted.

  • jit/RegisterSet.h:
  • jit/ScratchRegisterAllocator.cpp:

(JSC::ScratchRegisterAllocator::lock):
(JSC::ScratchRegisterAllocator::allocateScratch):
(JSC::ScratchRegisterAllocator::preserveReusedRegistersByPushing):
(JSC::ScratchRegisterAllocator::restoreReusedRegistersByPopping):

  • jit/ScratchRegisterAllocator.h:
  • jit/TempRegisterSet.cpp: Removed.
  • jit/TempRegisterSet.h: Removed.
  • jit/ThunkGenerators.cpp:

(JSC::handleExceptionGenerator):
(JSC::handleExceptionWithCallFrameRollbackGenerator):
(JSC::throwExceptionFromCallSlowPathGenerator):
(JSC::nativeForGenerator):
(JSC::boundFunctionCallGenerator):
(JSC::remoteFunctionCallGenerator):

  • wasm/js/WasmToJS.cpp:

(JSC::Wasm::wasmToJS):

5:17 PM Changeset in webkit [293202] by ysuzuki@apple.com
  • 24 edits in trunk

[WTF] Add string concatenate adapter for UUID
https://bugs.webkit.org/show_bug.cgi?id=239590

Reviewed by Chris Dumez and Darin Adler.

This patch adds string concatenate adapter for UUID.
UUID's stringifier consists of multiple string concatenate adapters.
This patch adds WTF::handleWithAdapters so that we can define adapters
once, and we can semi-automatically define length() and writeTo method for UUID.

And we use UUID + makeString instead of createVersion4UUIDString. This is more
efficient since we do not need to allocate string twice.

  • Source/WTF/wtf/UUID.cpp:

(WTF::UUID::generateWeakRandomUUIDVersion4):
(WTF::createVersion4UUIDString):
(WTF::generateWeakRandomUUIDVersion4): Deleted.
(WTF::UUID::toString const): Deleted.
(WTF::createVersion4UUIDStringWeak): Deleted.

  • Source/WTF/wtf/UUID.h:

(WTF::UUID::createVersion4Weak):
(WTF::UUID::isHashTableDeletedValue const):
(WTF::UUID::data const):
(WTF::StringTypeAdapter<UUID>::StringTypeAdapter):
(WTF::StringTypeAdapter<UUID>::length const):
(WTF::StringTypeAdapter<UUID>::is8Bit const):
(WTF::StringTypeAdapter<UUID>::writeTo const):

  • Source/WebCore/animation/KeyframeEffect.cpp:

(WebCore::KeyframeEffect::copyPropertiesFromSource):
(WebCore::KeyframeEffect::updateBlendingKeyframes):
(WebCore::KeyframeEffect::computeCSSTransitionBlendingKeyframes):

  • Tools/TestWebKitAPI/Tests/WTF/UUID.cpp:

(TEST):

Canonical link: https://commits.webkit.org/249873@main

5:09 PM Changeset in webkit [293201] by Alan Coon
  • 1 copy in tags/WebKit-7613.2.7

Tag WebKit-7613.2.7.

5:09 PM Changeset in webkit [293200] by Alan Coon
  • 1 delete in tags/WebKit-7613.2.7

Delete tag.

5:05 PM Changeset in webkit [293199] by Brent Fulgham
  • 4 edits in trunk/Source

Remove XSS Auditor: Part 4 (Settings)
https://bugs.webkit.org/show_bug.cgi?id=239628

Reviewed by Alex Christensen.

This change is a follow-up to Bug 230661 that removes the unused
Source/WebKitLegacy/mac:

WebKitXSSAuditorEnabledPreferenceKey.

  • WebView/WebPreferenceKeysPrivate.h:

Source/WTF:

WebPreferences.yaml content.

  • Scripts/Preferences/WebPreferences.yaml:
5:02 PM Changeset in webkit [293198] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/WebCore

Cherry-pick r292095. rdar://problem/90240658

Ensure m_layerRulesBeforeImportRules is properly copied during StyleSheetContents instantiation
https://bugs.webkit.org/show_bug.cgi?id=238537

Reviewed by Antti Koivisto.

During the instantiation of the StyleSheetContents the m_layerRulesBeforeImportRules was not being
properly copied.

  • css/StyleSheetContents.cpp: (WebCore::StyleSheetContents::StyleSheetContents):

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

5:01 PM Changeset in webkit [293197] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Simplify FrameSelection::textWasReplaced() and callers
https://bugs.webkit.org/show_bug.cgi?id=239620

Reviewed by Geoffrey Garen.

  • dom/CharacterData.cpp:

(WebCore::CharacterData::setData):

  • Cache document().frame()
  • Call textWasReplaced() with *this instead of this
  • Use modern template deduction for Ref<>.

(WebCore::CharacterData::setDataAndUpdate):

  • Use WTFMove() for m_data to avoid ref-counting churn. We're about to overwrite m_data anyway.
  • Use else if for the ProcessingInstruction branch instead of if to avoid this check in the common case where |this| is a Text node. A Text node cannot be a ProcessingInstruction node.
  • Cache document().frame()
  • Call textWasReplaced() with *this instead of this
  • editing/FrameSelection.cpp:

(WebCore::updatePositionAfterAdoptingTextReplacement):

  • Pass node by reference now that the caller now has a reference instead of a pointer
  • Drop !position.anchorNode() check. It is not necessary as the position.anchorNode() != &node check would already be true if the anchorNode were null.

(WebCore::FrameSelection::textWasReplaced):

  • Drop outdated comment about a fragment check since there is no such check anymore
  • Pass node by reference instead of pointer as all call sites have a non-null pointer
  • Drop null check for node that is no longer necessary
  • editing/FrameSelection.h:
4:55 PM Changeset in webkit [293196] by Russell Epstein
  • 1 copy in tags/WebKit-7613.2.7

Tag WebKit-7613.2.7.

4:27 PM Changeset in webkit [293195] by Chris Dumez
  • 85 edits in trunk/Source

Adopt RobinHoodHashMap / RobinHoodHashSet more broadly in WebCore
https://bugs.webkit.org/show_bug.cgi?id=239576

Reviewed by Yusuke Suzuki.

Source/WebCore:

Adopt RobinHoodHashMap / RobinHoodHashSet more broadly in WebCore to avoid wasting memory in hash tables.
RobinHoodHashMap / RobinHoodHashSet have more restrictions on what key types they work with and may result
in slightly lower performance but they have a much higher load factor that the regular HashMap / HashSet,
thus reducing memory usage. This patch adopts RobinHoodHashMap / RobinHoodHashSet on non performance
sensitive maps / sets in WebCore that have compatible keys (String / AtomString / URL because they cache
their hash).

This is perf-neutral on all our benchmarks according to A/B testing.

  • Modules/encryptedmedia/InitDataRegistry.h:
  • Modules/encryptedmedia/legacy/LegacyCDMSessionClearKey.h:
  • Modules/indexeddb/server/SQLiteIDBTransaction.h:
  • Modules/mediasource/MediaSourceRegistry.h:
  • Modules/mediastream/MediaDevices.h:
  • Modules/mediastream/MediaStream.h:
  • Modules/mediastream/libwebrtc/LibWebRTCMediaEndpoint.h:
  • Modules/web-locks/WebLockRegistry.cpp:
  • Modules/webaudio/AudioWorkletGlobalScope.h:
  • Modules/webaudio/AudioWorkletNode.h:
  • Modules/webaudio/AudioWorkletProcessor.cpp:

(WebCore::constructFrozenKeyValueObject):
(WebCore::copyDataFromParameterMapToJSObject):
(WebCore::AudioWorkletProcessor::buildJSArguments):
(WebCore::AudioWorkletProcessor::process):

  • Modules/webaudio/AudioWorkletProcessor.h:
  • Modules/webaudio/BaseAudioContext.h:

(WebCore::BaseAudioContext::parameterDescriptorMap const):

  • Modules/webdatabase/Database.cpp:

(WebCore::WTF_REQUIRES_LOCK):

  • Modules/webdatabase/DatabaseTracker.cpp:

(WebCore::DatabaseTracker::recordDeletingDatabase):

  • Modules/webdatabase/DatabaseTracker.h:
  • bindings/js/JSCustomElementInterface.h:
  • bindings/js/ScriptModuleLoader.h:
  • dom/CustomElementRegistry.h:

(WebCore::CustomElementRegistry::promiseMap):

  • dom/ExtensionStyleSheets.h:
  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::observe):

  • dom/MutationObserverRegistration.cpp:

(WebCore::MutationObserverRegistration::MutationObserverRegistration):
(WebCore::MutationObserverRegistration::resetObservation):

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

(WebCore::Node::registerMutationObserver):

  • dom/Node.h:
  • dom/WindowEventLoop.cpp:
  • editing/Editor.h:
  • inspector/InspectorAuditResourcesObject.h:
  • inspector/NetworkResourcesData.cpp:

(WebCore::NetworkResourcesData::clear):

  • inspector/NetworkResourcesData.h:
  • inspector/agents/InspectorAnimationAgent.h:
  • inspector/agents/InspectorCanvasAgent.h:
  • inspector/agents/InspectorDOMDebuggerAgent.h:
  • inspector/agents/InspectorDatabaseAgent.h:
  • inspector/agents/InspectorNetworkAgent.h:
  • inspector/agents/InspectorPageAgent.h:
  • inspector/agents/InspectorWorkerAgent.h:
  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::setActiveContentRuleListActionPatterns):

  • loader/DocumentLoader.h:
  • loader/cache/CachedResourceLoader.h:
  • page/Page.h:
  • page/PageConfiguration.h:
  • page/csp/ContentSecurityPolicyMediaListDirective.h:
  • page/csp/ContentSecurityPolicySourceList.h:
  • platform/LegacySchemeRegistry.cpp:

(WebCore::WTF_REQUIRES_LOCK):

  • platform/StaticPasteboard.h:
  • platform/graphics/SourceBufferPrivate.h:
  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:

(WebCore::updateTracksOfKind):

  • platform/graphics/cg/UTIRegistry.cpp:

(WebCore::additionalSupportedImageTypes):

  • platform/graphics/cg/UTIRegistry.h:
  • platform/graphics/cocoa/FontCacheCoreText.cpp:
  • platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:

(WebCore::genericFamily):

  • platform/graphics/cocoa/SystemFontDatabaseCoreText.h:
  • platform/mac/ThreadCheck.mm:

(WebCoreReportThreadViolation):

  • platform/mediastream/MediaStreamPrivate.h:
  • platform/network/BlobRegistryImpl.h:
  • platform/network/CredentialStorage.h:
  • platform/network/NetworkStorageSession.h:
  • rendering/ReferencedSVGResources.h:
  • svg/SVGDocumentExtensions.h:
  • workers/Worker.h:
  • workers/WorkerGlobalScope.h:
  • workers/service/ServiceWorkerContextData.h:

(WebCore::ServiceWorkerContextData::decode):

  • workers/service/server/RegistrationDatabase.cpp:

(WebCore::stripScriptSources):
(WebCore::populateScriptSourcesFromDisk):
(WebCore::RegistrationDatabase::doPushChanges):
(WebCore::RegistrationDatabase::importRecords):

  • workers/service/server/RegistrationStore.cpp:

(WebCore::RegistrationStore::didSaveWorkerScriptsToDisk):

  • workers/service/server/RegistrationStore.h:
  • workers/service/server/SWServer.cpp:

(WebCore::SWServer::didSaveWorkerScriptsToDisk):
(WebCore::SWServer::updateWorker):
(WebCore::SWServer::installContextData):

  • workers/service/server/SWServer.h:
  • workers/service/server/SWServerToContextConnection.h:
  • workers/service/server/SWServerWorker.cpp:

(WebCore::SWServerWorker::SWServerWorker):
(WebCore::SWServerWorker::didSaveScriptsToDisk):

  • workers/service/server/SWServerWorker.h:

Source/WebKit:

Adopt RobinHoodHashMap / RobinHoodHashSet more broadly in WebKit to avoid wasting memory in hash tables.
RobinHoodHashMap / RobinHoodHashSet have more restrictions on what key types they work with and may result
in slightly lower performance but they have a much higher load factor that the regular HashMap / HashSet,
thus reducing memory usage. This patch adopts RobinHoodHashMap / RobinHoodHashSet on non performance
sensitive maps / sets in WebCore that have compatible keys (String / AtomString / URL because they cache
their hash).

  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.cpp:

(WebKit::WebSWServerToContextConnection::didSaveScriptsToDisk):

  • NetworkProcess/ServiceWorker/WebSWServerToContextConnection.h:
  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:
  • UIProcess/API/APIPageConfiguration.h:

(API::PageConfiguration::allowedNetworkHosts const):
(API::PageConfiguration::setAllowedNetworkHosts):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration _setLoadsFromNetwork:]):
(-[WKWebViewConfiguration _setAllowedNetworkHosts:]):

Source/WTF:

Allow using RobinHoodHashMap / RobinHoodHashSet with URL keys since a URL wraps a String
and uses its internal String's cached hash as hash.

  • wtf/URLHash.h:
4:11 PM Changeset in webkit [293194] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS wk2 arm64 ] fast/scrolling/mac/adjust-scroll-snap-during-gesture.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=239627

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/249869@main

3:56 PM Changeset in webkit [293193] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ iOS 15.4 ] imported/w3c/web-platform-tests/css/css-color/opacity-overlapping-letters.html is failing
https://bugs.webkit.org/show_bug.cgi?id=239625

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/249868@main

3:31 PM Changeset in webkit [293192] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS wk2 arm64 ] REGRESSION (r242313): Layout Test scrollingcoordinator/mac/multiple-fixed.html is a flaky time out and image diff
https://bugs.webkit.org/show_bug.cgi?id=195635

Unreviewed test gardening.

Adding new test expectation.

  • LayoutTests/platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/249867@main

3:07 PM Changeset in webkit [293191] by Chris Dumez
  • 2 edits in trunk/Source/WebKit

Build is broken on shipping macOS due to TBA annotations replacement in API headers
https://bugs.webkit.org/show_bug.cgi?id=239623

Unreviewed, bump versions in WebKit.xcconfig too to disable TBA annotation replacement on shipping OS
so that we don't get warnings about API not yet being available.

  • Configurations/WebKit.xcconfig:
3:07 PM Changeset in webkit [293190] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.10.5

Tag WebKit-7614.1.10.5.

2:46 PM Changeset in webkit [293189] by Devin Rousso
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: Elements: Layout: hovering over a node should highlight it in the page
https://bugs.webkit.org/show_bug.cgi?id=239621

Reviewed by Patrick Angle.

  • UserInterface/Views/NodeOverlayListSection.js:

(WI.NodeOverlayListSection.prototype.layout):
Use the existing WI.linkifyNodeReference to create the UI for the WI.DOMNode.

  • UserInterface/Base/DOMUtilities.js:

(WI.linkifyNodeReferenceElement):
Don't style the UI as a link if clicking it doesn't do anything.

2:03 PM Changeset in webkit [293188] by Simon Fraser
  • 4 edits in trunk

<body> with overflow:hidden CSS is scrollable on iOS standalone web app
https://bugs.webkit.org/show_bug.cgi?id=220908
<rdar://73574797>

Reviewed by Devin Rousso.

Source/WebKit:

overflow:hidden failed to make the primary scroll view unscrollable in a home screen web
app because of logic in _updateScrollViewForTransaction: that was intended to ensure that if
the current unobscured rect is equal to the max unobscured rect (i.e. testing for collapsed
UI in MobileSafari), the user could scroll to expand the UI.

This failed in Web.app because there is no collapsible UI there, i.e.
minUnobscuredSize == maxUnobscuredSize. So test for that scenario.

Tested by new API tests.

  • UIProcess/API/ios/WKWebViewIOS.mm:

(-[WKWebView _updateScrollViewForTransaction:]):

Tools:

New API tests for various configurations of insets and size overrides.

  • TestWebKitAPI/Tests/ios/ScrollViewInsetTests.mm:

(TestWebKitAPI::TEST):

1:57 PM Changeset in webkit [293187] by Jonathan Bedard
  • 10 edits in trunk/Tools

[git-webkit] Allow caller to specify remote for PR
https://bugs.webkit.org/show_bug.cgi?id=239452
<rdar://problem/91897384>

Reviewed by Dewei Zhu.

  • Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py:

(Git.init): Allow caller to define remotes.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:

(PullRequest.parser): Add '--remote' option.
(PullRequest.main): Allow options to specify the remote we're making a PR against.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/revert.py:

(Revert.add_comment_to_reverted_commit_bug_tracker): Derive remote from argument.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:

(GitHub.PRGenerator.find): Support finding PRs if label doesn't contain username.
(GitHub.PRGenerator.create): Error 422 is a validation error, usually caused by another PR pointing to the same branch.
(GitHub.PRGenerator.update): Extract error message for more actionable errors.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/clean_unittest.py:

(TestClean.test_clean_pr): Add fork remote.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/revert_unittest.py:

Canonical link: https://commits.webkit.org/249863@main

1:51 PM Changeset in webkit [293186] by Tyler Wilcock
  • 2 edits in trunk/Source/WebCore

Only AXIsolatedTree::update{Children,Node} once when processing notifications in AXObjectCache::updateIsolatedTree
https://bugs.webkit.org/show_bug.cgi?id=239499

Reviewed by Andres Gonzalez.

Currently, we do try to prevent performing duplicate updates, but we do so only
if we have an exact match for a previous notification for any given object.
However, multiple notifications trigger AXIsolatedTree::updateNode and children,
so we'll still duplicate work if we get multiple notifications in the same group.
For example, before this patch, if the same object got both an AXValueChanged and
AXTextChanged notification, we'd call AXIsolatedTree::updateNode twice.

With this patch, we instead keep track of whether or not we've
performed a node or children update for each object to prevent
duplicate work.

No new tests because there is no behavior change.

  • accessibility/AXObjectCache.cpp:

(WebCore::AXObjectCache::updateIsolatedTree):
(WebCore::appendIfNotContainsMatching): Deleted.

1:48 PM Changeset in webkit [293185] by Russell Epstein
  • 9 edits in branches/safari-614.1.10-branch/Source

Versioning.

WebKit-7614.1.10.5

1:40 PM Changeset in webkit [293184] by Russell Epstein
  • 1 copy in tags/WebKit-7614.1.10.4

Tag WebKit-7614.1.10.4.

1:33 PM Changeset in webkit [293183] by Matteo Flores
  • 2 edits in trunk/LayoutTests

Implement ElementInternals

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

Unreviewed test gardening.

  • LayoutTests/platform/ipad/TestExpectations:

Canonical link: https://commits.webkit.org/249861@main

1:11 PM Changeset in webkit [293182] by Russell Epstein
  • 1 edit in branches/safari-613-branch/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm

Unreviewed build fix. rdar://91584856

WebPageProxyIOS.mm:572:31: error: use of undeclared identifier 'createVersion4UUIDString'; did you mean 'createVersion4UUIDStringWeak'?

1:11 PM Changeset in webkit [293181] by Russell Epstein
  • 1 edit in branches/safari-613-branch/Source/WebKit/WebProcess/WebPage/WebPage.messages.in

Unreviewed build fix. rdar://72058321

DerivedSources/WebKit/WebPageMessageReceiver.cpp:4038:99: error: indirection requires pointer operand ('UniqueRef<IPC::Encoder>' invalid)

return IPC::handleMessage<Messages::WebPage::PerformActionOnElement>(connection, decoder, *replyEncoder, this, &WebPage::performActionOnElement);


1:11 PM Changeset in webkit [293180] by Russell Epstein
  • 8 edits in branches/safari-613-branch/Source/WebKit

Cherry-pick r291371. rdar://problem/72058321

1:11 PM Changeset in webkit [293179] by Russell Epstein
  • 8 edits in branches/safari-613-branch/Source/WebKit

Revert r291371. rdar://problem/72058321

This reverts r293069.

10:51 AM Changeset in webkit [293178] by Devin Rousso
  • 23 edits in trunk/Source/WebInspectorUI

Web Inspector: add reference page links for the Timelines Tab
https://bugs.webkit.org/show_bug.cgi?id=239580

Reviewed by Patrick Angle.

  • UserInterface/Views/TimelineView.js:

(WI.TimelineView.prototype.initialLayout): Added.

  • UserInterface/Views/TimelineView.css:

(.timeline-view > .reference-page-link-container): Added.
Add a reference page link to the bottom-right of each timeline view.

  • UserInterface/Views/CPUTimelineView.js:

(WI.CPUTimelineView.prototype.initialLayout):

  • UserInterface/Views/HeapAllocationsTimelineView.js:
  • UserInterface/Views/LayoutTimelineView.js:
  • UserInterface/Views/MediaTimelineView.js:
  • UserInterface/Views/MemoryTimelineView.js:
  • UserInterface/Views/NetworkTimelineView.js:
  • UserInterface/Views/OverviewTimelineView.js:
  • UserInterface/Views/RenderingFrameTimelineView.js:
  • UserInterface/Views/ScriptDetailsTimelineView.js:
  • UserInterface/Views/ScriptProfileTimelineView.js:

Add WI.*.ReferencePage = WI.ReferencePage.* relationships for each timeline view.

  • UserInterface/Base/ReferencePage.js:

(WI.ReferencePage): Added.
(WI.ReferencePage.prototype.get page): Added.
(WI.ReferencePage.prototype.get topic): Added.
(WI.ReferencePage.prototype.createLinkElement): Added.

  • UserInterface/Base/Main.js:

(WI.createReferencePageLink): Moved to WI.ReferencePage.prototype.createLinkElement.
Create a WI.ReferencePage class that knows how to generate a <a>.

  • UserInterface/Views/AuditNavigationSidebarPanel.js:

(WI.AuditNavigationSidebarPanel.prototype.showDefaultContentView):

  • UserInterface/Views/AuditTestCaseContentView.js:

(WI.AuditTestCaseContentView.prototype.showRunningPlaceholder):

  • UserInterface/Views/AuditTestContentView.js:

(WI.AuditTestContentView.prototype.showStoppingPlaceholder):
(WI.AuditTestContentView.prototype.showNoResultPlaceholder):
(WI.AuditTestContentView.prototype.showNoResultDataPlaceholder):
(WI.AuditTestContentView.prototype.showFilteredPlaceholder):

  • UserInterface/Views/AuditTestGroupContentView.js:

(WI.AuditTestGroupContentView.prototype.showRunningPlaceholder):

  • UserInterface/Views/BreakpointPopover.js:

(WI.BreakpointPopover.prototype.show):

  • UserInterface/Views/CreateAuditPopover.js:

(WI.CreateAuditPopover.prototype.show):

  • UserInterface/Views/Layers3DContentView.js:

(WI.Layers3DContentView.prototype.initialLayout):

  • UserInterface/Views/LocalResourceOverridePopover.js:

(WI.LocalResourceOverridePopover.prototype.show):
Replace WI.createReferencePageLink with WI.ReferencePage.*.createLinkElement

10:43 AM Changeset in webkit [293177] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GBM] Debug build broken
https://bugs.webkit.org/show_bug.cgi?id=239609

Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-21
Reviewed by Adrian Perez de Castro.

  • platform/graphics/gbm/GraphicsContextGLGBM.cpp: Include Logging.h enabling use of logging facilities.

Canonical link: https://commits.webkit.org/249859@main

10:32 AM Changeset in webkit [293176] by commit-queue@webkit.org
  • 9 edits
    2 adds in trunk/Source/JavaScriptCore

Unreviewed, reverting r293146.
https://bugs.webkit.org/show_bug.cgi?id=239613

Broke JSC tests. Looks like EWS was blocked by label
<https://bugs.webkit.org/show_bug.cgi?id=239411>

Reverted changeset:

"[JSC] Remove TempRegisterSet"
https://bugs.webkit.org/show_bug.cgi?id=239578
https://commits.webkit.org/r293146

10:16 AM Changeset in webkit [293175] by zhifei_fang@apple.com
  • 6 edits
    2 adds in trunk

[git-webkit] Add revert command (237663)
https://bugs.webkit.org/show_bug.cgi?id=237663
rdar://90039948

Reviewed by Jonathan Bedard.

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py: Break the pull request creation into serval differnt funtions so that other action can reuse it easily.

(PullRequest):
(PullRequest.check_pull_request_args):
(PullRequest.pull_request_branch_point):
(PullRequest.create_pull_request):
(PullRequest.main):

  • Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/revert.py: Added.

(Revert):
(Revert.parser):
(Revert.revert_commit):
(Revert.main):

Canonical link: https://commits.webkit.org/249857@main

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

[Merge-Queue] Don't close bugs associated with test gardening
https://bugs.webkit.org/show_bug.cgi?id=239604
<rdar://problem/92093456>

Reviewed by Ryan Haddad.

  • Tools/CISupport/ews-build/steps.py:

(CloseBug.doStepIf): Skip step if we're a test gardening change.
(UpdatePullRequest):
(UpdatePullRequest.is_test_gardening): Check for "Unreviewed test gardening" in the commit message.
(UpdatePullRequest.evaluateCommand):

  • Tools/CISupport/ews-build/steps_unittest.py:

Canonical link: https://commits.webkit.org/249856@main

9:55 AM Changeset in webkit [293173] by youenn@apple.com
  • 9 edits in trunk

A suspended remote shared worker should resume when a new SharedWorker is added
https://bugs.webkit.org/show_bug.cgi?id=239325

Reviewed by Chris Dumez.

Source/WebKit:

Check whether resuming/suspending remote shared worker in case of added/removed SharedWorker object.
Make sure to suspend the remote shared worker at launch time if needed.

Covered by updated test.

  • NetworkProcess/SharedWorker/WebSharedWorker.cpp:
  • NetworkProcess/SharedWorker/WebSharedWorker.h:
  • NetworkProcess/SharedWorker/WebSharedWorkerServer.cpp:

LayoutTests:

  • http/tests/navigation/page-cache-shared-worker-expected.txt:
  • http/tests/navigation/page-cache-shared-worker.html:
  • http/tests/navigation/resources/page-cache-helper-for-sharedworker.html:
  • http/tests/navigation/resources/shared-worker-script.js:
9:28 AM Changeset in webkit [293172] by Jonathan Bedard
  • 4 edits in trunk/Tools

[commits.webkit.org] Disable CORS
https://bugs.webkit.org/show_bug.cgi?id=239607

Reviewed by Aakash Jain.

  • Tools/Scripts/libraries/reporelaypy/reporelaypy/init.py: Bump version.
  • Tools/Scripts/libraries/reporelaypy/reporelaypy/webserver.py: Disable CORS.
  • Tools/Scripts/libraries/reporelaypy/setup.py: Bump version.

Canonical link: https://commits.webkit.org/249853@main

9:28 AM Changeset in webkit [293171] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS Release ] webanimations/css-transition-retargeting-during-ready-promise.html is a flaky failure
Updating test expectations to include Monterey Release
https://bugs.webkit.org/show_bug.cgi?id=215335

Unreviewed test gardening.

  • LayoutTests/platform/mac/TestExpectations:

Canonical link: https://commits.webkit.org/249853@main

9:21 AM Changeset in webkit [293170] by eric.carlson@apple.com
  • 7 edits
    2 adds in trunk

AVSampleBufferRenderSynchronizer timeline sometimes goes backwards when playback begins
https://bugs.webkit.org/show_bug.cgi?id=239471
rdar://91117803

Reviewed by Jer Noble.

Source/WebCore:

Test: media/media-source/media-source-current-time.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Log current time and requested
playback rate.
(WebCore::HTMLMediaElement::setPausedInternal): Log.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
If time has gone backward, clamp to the most recent seek time.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal): INFO_LOG -> ALWAYS_LOG
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal): Ditto.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentMediaTime const): Use clampTimeToLastSeekTime.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::clampTimeToLastSeekTime const): New,
clamp time value to the most recent seek time.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setCurrentTimeDidChangeCallback):
Use clampTimeToLastSeekTime.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance): INFO_LOG -> ALWAYS_LOG
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal): INFO_LOG -> ALWAYS_LOG
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateLastPixelBuffer): INFO_LOG -> ALWAYS_LOG
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setHasAvailableVideoFrame): INFO_LOG -> ALWAYS_LOG
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationChanged): INFO_LOG -> ALWAYS_LOG

Source/WebKit:

  • WebProcess/GPU/media/MediaPlayerPrivateRemote.cpp:

(WebKit::MediaPlayerPrivateRemote::currentTimeChanged): Log when time jumps backwards.

LayoutTests:

  • media/media-source/media-source-current-time-expected.txt: Added.
  • media/media-source/media-source-current-time.html: Added.
8:21 AM Changeset in webkit [293169] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

[LFC][Integration] Add direct style accessor to inline iterator
https://bugs.webkit.org/show_bug.cgi?id=239593

Reviewed by Alan Bujtas.

The current implementation fetches the line and the renderer and is pretty expensive.

  • layout/integration/inline/InlineIteratorBox.cpp:

(WebCore::InlineIterator::Box::style const): Deleted.

  • layout/integration/inline/InlineIteratorBox.h:

(WebCore::InlineIterator::Box::style const):

  • layout/integration/inline/InlineIteratorBoxLegacyPath.h:

(WebCore::InlineIterator::BoxLegacyPath::style const):

  • layout/integration/inline/InlineIteratorBoxModernPath.h:

(WebCore::InlineIterator::BoxModernPath::style const):

7:46 AM Changeset in webkit [293168] by Jonathan Bedard
  • 3 edits in trunk/Tools

[Merge-Queue] Allow "Rubber-stamped" as review message
https://bugs.webkit.org/show_bug.cgi?id=239601
<rdar://problem/92091819>

Reviewed by Aakash Jain.

  • Tools/CISupport/ews-build/steps.py:

(ValidateCommitMessage.evaluateCommand): Allow "Rubber-stamped by."

  • Tools/CISupport/ews-build/steps_unittest.py:

Canonical link: https://commits.webkit.org/249850@main

6:20 AM Changeset in webkit [293167] by Jonathan Bedard
  • 10 edits
    2 copies in trunk/Tools

[build.webkit.org] Support identifiers on dashboard
https://bugs.webkit.org/show_bug.cgi?id=239473
<rdar://problem/76852365>

Reviewed by Aakash Jain.

  • Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/Buildbot.js:

(Buildbot.prototype.layoutTestResultsDirectoryURLForIteration): Remove leading r.

  • Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/BuildbotIteration.js:

(BuildbotIteration.prototype.get buildURL): Request identifier.

  • Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/Dashboard.js: OpenSource should be considered a git checkout.
  • Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/Initialization.js: Add Commit interface.
  • Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/Main.js: Kick off periodic commits.webkit.org refresh.
  • Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/QueueView.js:

(QueueView.prototype._appendPendingRevisionCount): Use commit.webkit.org interface instead of trac.
(QueueView.prototype._formatRevisionForDisplay): Don't truncate identifiers.

  • Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/tests/index.html: Import Commits.js.
  • Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/tests/resources/MockCommits.js:

(MockCommits): Add mock commits.webkit.org interface.

  • Tools/CISupport/build-webkit-org/public_html/dashboard/Scripts/tests/resources/tests.js:

(setup): Add commits.webkit.org interface.
(this.view._latestProductiveIteration):

  • Tools/CISupport/build-webkit-org/public_html/dashboard/index.html:

Canonical link: https://commits.webkit.org/249849@main

5:14 AM Changeset in webkit [293166] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.36.1

WebKitGTK 2.36.1

5:13 AM Changeset in webkit [293165] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.36

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.36.1 release

.:

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

Source/WebKit:

  • gtk/NEWS: Add release notes for 2.36.1.
4:41 AM Changeset in webkit [293164] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.36/Tools

Merge r293163 - [GTK][WPE] Make make-dist script python3 only
https://bugs.webkit.org/show_bug.cgi?id=239596

Reviewed by Adrian Perez de Castro.

It fails with python2 since r291934.

  • Scripts/make-dist:
4:40 AM Changeset in webkit [293163] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK][WPE] Make make-dist script python3 only
https://bugs.webkit.org/show_bug.cgi?id=239596

Reviewed by Adrian Perez de Castro.

It fails with python2 since r291934.

  • Scripts/make-dist:
3:53 AM Changeset in webkit [293162] by ntim@apple.com
  • 2 edits
    1 add in trunk/LayoutTests

[iOS] Rebaseline fast/attachment/attachment-disabled-rendering.html expectations
https://bugs.webkit.org/show_bug.cgi?id=238960

Unreviewed test gardening.

The page dimensions are slightly different, but the <attachment> has 0 size as expected.

  • platform/ios-wk2/TestExpectations:
  • platform/ios/fast/attachment/attachment-disabled-rendering-expected.txt: Added.
3:37 AM Changeset in webkit [293161] by ntim@apple.com
  • 2 edits in trunk/Source/WebCore

Small cleanups to StyleBuilderCustom.cpp
https://bugs.webkit.org/show_bug.cgi?id=239595

Reviewed by Antti Koivisto.

  • Make use of DECLARE_PROPERTY_CUSTOM_HANDLERS more often
  • Make code style for the containIntrinsic*Size methods consistent with

applyInitialContainIntrinsicBlockSize (use auto and better variable name)

  • A bit of extra sorting
  • style/StyleBuilderCustom.h:

(WebCore::Style::BuilderCustom::applyValueContainIntrinsicBlockSize):
(WebCore::Style::BuilderCustom::applyInitialContainIntrinsicInlineSize):
(WebCore::Style::BuilderCustom::applyValueContainIntrinsicInlineSize):

2:51 AM Changeset in webkit [293160] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

Merge r292901 - [GTK] AddressSanitizer: heap-buffer-overflow in WebCore::Length::ref()
https://bugs.webkit.org/show_bug.cgi?id=237389

Reviewed by Žan Doberšek.

  • platform/graphics/nicosia/NicosiaAnimation.cpp:

(Nicosia::createThreadsafeKeyFrames): Convert Length members of transform functions to
the fixed variety before they are moved to separate threads.
(Nicosia::Animation::Animation): Use the new helper.

  • platform/graphics/transforms/TranslateTransformOperation.h: Added setters.
2:51 AM Changeset in webkit [293159] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebKit

Merge r292628 - [WPE][2.36] Build with a11y disabled fails
https://bugs.webkit.org/show_bug.cgi?id=239004

Patch by Philippe Normand <pnormand@igalia.com> on 2022-04-08
Reviewed by Michael Catanzaro.

Add accessibility build guards.

  • UIProcess/Launcher/glib/XDGDBusProxy.cpp:

(WebKit::XDGDBusProxy::XDGDBusProxy):
(WebKit::XDGDBusProxy::launch const):

2:51 AM WebKitGTK/2.36.x edited by Carlos Garcia Campos
(diff)
2:51 AM Changeset in webkit [293158] by Carlos Garcia Campos
  • 11 edits in releases/WebKitGTK/webkit-2.36/Source

Merge r292211 - REGRESSION(r290360): [GLX] Crash on process exit
https://bugs.webkit.org/show_bug.cgi?id=238494

Reviewed by Michael Catanzaro.

Source/WebCore:

When creating a PlatformDisplay from a shared GdkDisplay, we need to keep a reference to the display and connect
to closed signal to release our display dependent resources. Closed signal is emitted right before the native
display is actually closed by GDK. We also need to make sure that the sharing GL context is released before the
PlatformDisplay is destroyed. This is always happening for EGL because the sharing GL context is cleared before
terminating the EGL display in the atexit handler, but that's not the case of GLX. Since X11 only allows one
PlatformDisplay, which is always the shared one, we can just install an atexit handler in the constructor to
clear the sharing context before the destructor is called.

  • platform/graphics/PlatformDisplay.cpp:

(WebCore::PlatformDisplay::createPlatformDisplay):
(WebCore::PlatformDisplay::PlatformDisplay):
(WebCore::PlatformDisplay::sharedDisplayDidClose):
(WebCore::PlatformDisplay::~PlatformDisplay):
(WebCore::PlatformDisplay::clearSharingGLContext):
(WebCore::PlatformDisplay::terminateEGLDisplay):

  • platform/graphics/PlatformDisplay.h:
  • platform/graphics/libwpe/PlatformDisplayLibWPE.cpp:

(WebCore::PlatformDisplayLibWPE::PlatformDisplayLibWPE):

  • platform/graphics/wayland/PlatformDisplayWayland.cpp:

(WebCore::PlatformDisplayWayland::create):
(WebCore::PlatformDisplayWayland::PlatformDisplayWayland):
(WebCore::PlatformDisplayWayland::~PlatformDisplayWayland):
(WebCore::PlatformDisplayWayland::sharedDisplayDidClose):

  • platform/graphics/wayland/PlatformDisplayWayland.h:
  • platform/graphics/win/PlatformDisplayWin.h:
  • platform/graphics/x11/PlatformDisplayX11.cpp:

(WebCore::PlatformDisplayX11::create):
(WebCore::clearSharingGLContextAtExit):
(WebCore::PlatformDisplayX11::PlatformDisplayX11):
(WebCore::PlatformDisplayX11::~PlatformDisplayX11):
(WebCore::PlatformDisplayX11::sharedDisplayDidClose):

  • platform/graphics/x11/PlatformDisplayX11.h:

Source/WebKit:

  • WebProcess/gtk/WaylandCompositorDisplay.cpp:

(WebKit::WaylandCompositorDisplay::WaylandCompositorDisplay):

2:51 AM Changeset in webkit [293157] by Carlos Garcia Campos
  • 1 edit
    1 add in releases/WebKitGTK/webkit-2.36/Source/WebCore/platform/gtk/po

Merge r292212 - Croatian translation for WebKitGTK
https://bugs.webkit.org/show_bug.cgi?id=238611

Patch by gogo <trebelnik2@gmail.com> on 2022-04-01
Rubber-stamped by Carlos Garcia Campos.

  • hr.po: Added.
2:51 AM Changeset in webkit [293156] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebKit

Merge r292099 - [GTK][WPE] Exit cleanly if Connection to UIProcess severed. Regression (r214307)
https://bugs.webkit.org/show_bug.cgi?id=235224

This patch reverts the WPE and GTK specific code removed in '[WK2] Make
establishing a connection between the WebProcess and the Network process more
robust' (r12345):

GTK+ and WPE ports don't exit on send sync message failure. In those particular
cases, the network process can be terminated by the UI process while the
Web process is still initializing, so we always want to exit instead of crashing. This can
happen when the WebView is created and then destroyed quickly.
See https://bugs.webkit.org/show_bug.cgi?id=183348.

Reviewed by Carlos Garcia Campos.

  • WebProcess/WebProcess.cpp:

(WebKit::getNetworkProcessConnection):
(WebKit::WebProcess::getGPUProcessConnection):
(WebKit::getWebAuthnProcessConnection):

2:51 AM Changeset in webkit [293155] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore

Merge r292684 - Include locale.h for LC_MESSAGES definition.
https://bugs.webkit.org/show_bug.cgi?id=239030

Patch by Khem Raj <raj.khem@gmail.com> on 2022-04-09
Reviewed by Michael Catanzaro.

  • accessibility/atspi/AccessibilityRootAtspi.cpp:
2:51 AM Changeset in webkit [293154] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.36/Source/JavaScriptCore

Merge r291815 - [JSC] JSRemoteFunction thunk should materialize code-pointer
https://bugs.webkit.org/show_bug.cgi?id=238313

Reviewed by Mark Lam.

When invoking a JSRemoteFunction, we must first wrap the arguments passed to it.
The wrapping operation may trigger a GC, and GC can jettison JIT code. As a result,
even though we know that the target JSFunction has JIT code that we want to execute,
the JIT code may be jettisoned (while wrapping the arguments for it) before we get
to the call. This resulted in occasional crashes on the JSTests/stress/shadow-realm-evaluate.js test.

This patch fixes this by doing a null check on the JIT code just before calling it,
and if null (i.e. the JIT code has been jettisoned), re-materializing the JIT code
first before making the call.

  • jit/JITOperations.cpp:

(JSC::JSC_DEFINE_JIT_OPERATION):

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

(JSC::remoteFunctionCallGenerator):

2:51 AM Changeset in webkit [293153] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.36

Merge r291785 - [JSC] Fix remoteFunctionCallGenerator on MIPS
https://bugs.webkit.org/show_bug.cgi?id=238274

Patch by Geza Lore <Geza Lore> on 2022-03-23
Reviewed by Yusuke Suzuki.

JSTests:

  • stress/shadow-realm-evaluate.js:

Source/JavaScriptCore:

Eliminate register conflict (nonArgGPR0 == regT4, which is used in
valueRegs)

  • jit/ThunkGenerators.cpp:

(JSC::remoteFunctionCallGenerator):

2:51 AM Changeset in webkit [293152] by Carlos Garcia Campos
  • 13 edits in releases/WebKitGTK/webkit-2.36/Source/JavaScriptCore

Merge r290788 - Add a DeferTraps scope
https://bugs.webkit.org/show_bug.cgi?id=237306
<rdar://83494949>

Reviewed by Mark Lam.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::jettison):
(JSC::CodeBlock::noticeIncomingCall):

  • bytecode/CodeBlock.h:
  • bytecode/RepatchInlines.h:

(JSC::linkFor):
(JSC::virtualForWithFunction):

  • dfg/DFGOperations.cpp:

(JSC::DFG::JSC_DEFINE_JIT_OPERATION):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::executeProgram):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::execute):
(JSC::Interpreter::executeModuleProgram):

  • interpreter/InterpreterInlines.h:

(JSC::Interpreter::execute):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::setUpCall):

  • runtime/ExceptionScope.h:
  • runtime/ScriptExecutable.cpp:

(JSC::ScriptExecutable::installCode):

  • runtime/VMTraps.cpp:

(JSC::VMTraps::handleTraps):
(JSC::VMTraps::takeTopPriorityTrap):

  • runtime/VMTraps.h:

(JSC::VMTraps::needHandling const):
(JSC::VMTraps::maybeNeedHandling const):
(JSC::VMTraps::hasTrapBit):
(JSC::VMTraps::setTrapBit):

  • runtime/VMTrapsInlines.h:

(JSC::DeferTraps::DeferTraps):
(JSC::DeferTraps::~DeferTraps):

2:51 AM Changeset in webkit [293151] by Carlos Garcia Campos
  • 5 edits
    4 adds in releases/WebKitGTK/webkit-2.36

Merge r291813 - Safari can't play video completely at bilibili.com
https://bugs.webkit.org/show_bug.cgi?id=236440
rdar://88761053

Reviewed by Jer Noble.

Source/WebCore:

Video frames were incorrectly evicted during a call to appendBuffer
as the Source Buffer incorrectly assumed a discontinuity was present.

When appending data to a source buffer, the MSE specs describe a method
to detect discontinuities in the Coded Frame Processing algorithm
(https://www.w3.org/TR/media-source/#sourcebuffer-coded-frame-processing)
step 6:
"

  • If last decode timestamp for track buffer is set and decode timestamp is less than last decode timestamp:

OR

  • If last decode timestamp for track buffer is set and the difference between decode timestamp and last decode timestamp is greater than 2 times last frame duration.

"
The issue being what defines the last frame duration.
Is it the frame last seen in the coded frame processing loop or the frame
whose presentation timestamp is just before the one we are currently
processing.

H264 and HEVC have a concept of b-frames: that is a frame that depends
on a future frame to be decoded.
Those frames are found in the container and can be identified by their
presentation timestamp higher than the frame following in decode order.
Those present a challenge as the frame prior the current one in
presentation order, may actually only be found several frames back in
decode order.
Bug 181891 attempted to fix a similar issue, and used the longest
"decode duration" as a workaround to detect discontinuity in the content.
It mentioned adopting the same technique as in Mozilla's MSE
implementation, but Mozilla also skip discontinuity detection within a
media segment (https://www.w3.org/TR/media-source/#media-segment which for
fMP4 is a single moof box) an approach that can't be achieved with
CoreMedia's AVStreamDataParser.
As mentioned in bug 181891, CoreMedia ignore the decode timestamps' delta
and juggles with the sample's duration so that there's no discontinuity
in the demuxed samples' presentation time, causing false positive in the
gap detection algorithm.

Bilibili uses HEVC content, and uses an encoding that generate lots
of b-frames, with a very wide sliding window (seen up to 12 frames).
By using the longest frame duration found in either presentation or
decode duration as threshold to identify a discontinuity, we can
properly parse the content and not incorrectly evict appended frames.
(As a side note, the use of HEVC with B-Frames is peculiar as not all
hardware support it.)
It is difficult to identify here if the issue is within the bilibili's
content or CoreMedia's output, though the responsibility more than
likely lies with bilibili.

Test: media/media-source/media-mp4-hevc-bframes.html

  • platform/graphics/SourceBufferPrivate.cpp:

(WebCore::SourceBufferPrivate::TrackBuffer::TrackBuffer):
(WebCore::SourceBufferPrivate::resetTrackBuffers):
(WebCore::SourceBufferPrivate::didReceiveSample):

  • platform/graphics/SourceBufferPrivate.h:

LayoutTests:

  • media/media-source/content/test-bframes-hevc-manifest.json: Added.
  • media/media-source/content/test-bframes-hevc.mp4: Added.
  • media/media-source/media-mp4-hevc-bframes-expected.txt: Added.
  • media/media-source/media-mp4-hevc-bframes.html: Added.
2:50 AM Changeset in webkit [293150] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebKit

Merge r291621 - Ensure that proxies are invalidated before destroying them.
https://bugs.webkit.org/show_bug.cgi?id=237187

Reviewed by Carlos Garcia Campos.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebKit::CoordinatedGraphicsScene::updateSceneState):

2:35 AM Changeset in webkit [293149] by vjaquez@igalia.com
  • 3 edits in trunk/Source/WebCore

[GTK][WPE] Update libwebrtc API usage for video encoder factory
https://bugs.webkit.org/show_bug.cgi?id=239558

Reviewed by Philippe Normand.

Update GstreamerVideoEncoderFactory with current libwebrtc API.

No new tests required.

  • platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoderFactory.cpp:

(WebCore::GStreamerVideoEncoder::GStreamerVideoEncoder): Chain main constructor rather to
copy its initializations.
Update InitEncode method signature.
Remove deprecated attributes of EncoderInfo.
Fix code-style.
(WebCore::GStreamerH264Encoder::GStreamerH264Encoder): Remove unused class attribute and fix
a memleak.

  • platform/mediastream/libwebrtc/gstreamer/GStreamerVideoEncoderFactory.h: Remove deprecated

method.

2:28 AM Changeset in webkit [293148] by Diego Pino Garcia
  • 2 edits in trunk/Source/WTF

REGRESSION(r292863): std::remove_cvref_t not defined in GCC9<
https://bugs.webkit.org/show_bug.cgi?id=239482

Reviewed by Žan Doberšek.

std::remove_cvref_t is only available since GCC9 onwards:

https://en.cppreference.com/w/cpp/compiler_support/20

  • wtf/StdLibExtras.h: add remove_cvref_t to std namespace if not defined.
1:39 AM Changeset in webkit [293147] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Skip release assert during container query resolution
https://bugs.webkit.org/show_bug.cgi?id=239537

Patch by Rob Buis <rbuis@igalia.com> on 2022-04-21
Reviewed by Antti Koivisto.

Skip release assert during container query resolution
since resolveStyle will be a no-op as the container
query resolution was started in resolveStyle, so calling
resolveStyle the second time will bail right away.

  • dom/Document.cpp:

(WebCore::Document::updateStyleIfNeeded):

Apr 20, 2022:

10:28 PM Changeset in webkit [293146] by ysuzuki@apple.com
  • 9 edits
    2 deletes in trunk/Source/JavaScriptCore

[JSC] Remove TempRegisterSet
https://bugs.webkit.org/show_bug.cgi?id=239578

Reviewed by Mark Lam.

We can always use RegisterSet. TempRegisterSet can save several bytes, but we have no code using TempRegisterSet in
heap-allocated class, so this does not make sense anymore. Instead of TempRegisterSet, we should consistently use
ScratchRegisterAllocator.

  • Source/JavaScriptCore/CMakeLists.txt:
  • Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
  • Source/JavaScriptCore/Sources.txt:
  • Source/JavaScriptCore/jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::copyLLIntBaselineCalleeSavesFromFrameOrRegisterToEntryFrameCalleeSavesBuffer):

  • Source/JavaScriptCore/jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::copyCalleeSavesToEntryFrameCalleeSavesBuffer):
(JSC::AssemblyHelpers::copyLLIntBaselineCalleeSavesFromFrameOrRegisterToEntryFrameCalleeSavesBuffer): Deleted.

  • Source/JavaScriptCore/jit/RegisterSet.h:
  • Source/JavaScriptCore/jit/ScratchRegisterAllocator.cpp:

(JSC::ScratchRegisterAllocator::lock):
(JSC::ScratchRegisterAllocator::allocateScratch):
(JSC::ScratchRegisterAllocator::preserveReusedRegistersByPushing):
(JSC::ScratchRegisterAllocator::restoreReusedRegistersByPopping):

  • Source/JavaScriptCore/jit/ScratchRegisterAllocator.h:
  • Source/JavaScriptCore/jit/TempRegisterSet.cpp: Removed.
  • Source/JavaScriptCore/jit/TempRegisterSet.h: Removed.

Canonical link: https://commits.webkit.org/249842@main

9:51 PM Changeset in webkit [293145] by Alan Coon
  • 1 edit in branches/safari-613-branch/Source/WebKit/DerivedSources-output.xcfilelist

Remove merge conflict marker.

9:51 PM Changeset in webkit [293144] by Alan Coon
  • 1 edit in branches/safari-613-branch/Source/WebKit/UIProcess/WebPageProxy.cpp

Unreviewed build fix. rdar://91446317

Source/WebKit/UIProcess/WebPageProxy.cpp:3499:17: error: no matching constructor for initialization of 'WTF::URL'

9:08 PM Changeset in webkit [293143] by ysuzuki@apple.com
  • 2 edits in trunk/Tools

Generate well-formed JSON for compile_commands.json
https://bugs.webkit.org/show_bug.cgi?id=239584

Reviewed by Mark Lam.

Currently, compile_commands.json always has one trailing comma in the main array. While clangd does not care this,
it is ill-formed JSON, and some other tools consuming compile_commands.json can fail.
This patch makes it so that generated compile_commands.json has well-formed JSON.

  • Tools/Scripts/generate-compile-commands:

Canonical link: https://commits.webkit.org/249841@main

8:56 PM Changeset in webkit [293142] by Wenson Hsieh
  • 2 edits in trunk/Source/WebKit

Unreviewed, fix the iOS 15.4 build after r293117

Remove an unnecessary header include.

  • Platform/spi/ios/UIKitSPI.h:
8:32 PM Changeset in webkit [293141] by ysuzuki@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Fix GPRInfo inconsistency in unlinked DFG bringup
https://bugs.webkit.org/show_bug.cgi?id=239573

Reviewed by Mark Lam.

Previously, we forgot changing GPRInfo::toIndex of x64 so that we got assertion in ScratchRegisterAllocator.
This patch fixes it and test this consistency in testmasm.
It allows unlinked DFG style register usage in x64, so we reenabled it again.

  • Source/JavaScriptCore/assembler/testmasm.cpp:

(JSC::testGPRInfoConsistency):

  • Source/JavaScriptCore/dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • Source/JavaScriptCore/jit/GPRInfo.h:

(JSC::GPRInfo::toRegister):
(JSC::GPRInfo::toArgumentRegister):
(JSC::GPRInfo::toIndex):

Canonical link: https://commits.webkit.org/249839@main

7:48 PM Changeset in webkit [293140] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

[ iOS ] platform/ios/ios/fast/text/opticalFont.html is a constant failure
https://bugs.webkit.org/show_bug.cgi?id=239570
<rdar://problem/92056238>

Unreviewed test gardening.

Rebase.

  • platform/ios/platform/ios/ios/fast/text/opticalFont-expected.txt:
7:43 PM Changeset in webkit [293139] by Alan Coon
  • 19 edits
    3 deletes in branches/safari-613-branch

Revert r291589. rdar://problem/90511155

This reverts r293071.

7:08 PM Changeset in webkit [293138] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Unreviewed follow-up to r293123 to address review feedback from Sam & Darin

  • css/SelectorFilter.cpp:

(WebCore::localNameIsKnownToBeLowercase):
(WebCore::SelectorFilter::collectElementIdentifierHashes):

6:51 PM Changeset in webkit [293137] by Wenson Hsieh
  • 16 edits
    2 adds in trunk

Avoid falling back to snapshots for transparent images when triggering batch text recognition
https://bugs.webkit.org/show_bug.cgi?id=239555
rdar://91622151

Reviewed by Aditya Keerthi.

Source/WebCore:

For normal Live Text, our existing heuristics fall back to analyzing a snapshot rather than the image data
itself for transparent image elements (e.g. on Twitter). However, when installing block-style image overlay
content using ImageAnalysisQueue, it doesn't make sense to use this compatibility hack, since this flavor of
image overlay content is directly visible to the user, and would still show up underneath fully transparent
image elements, as long as we're able to analyze the other (non-fully-transparent) image element underneath.

  • Headers.cmake:
  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/AXImage.cpp:
  • page/ChromeClient.h:

Plumb the new TextRecognitionOptions struct through this client method.

(WebCore::ChromeClient::requestTextRecognition):

  • page/EventHandler.cpp:

(WebCore::EventHandler::textRecognitionHoverTimerFired):

  • page/ImageAnalysisQueue.cpp:

(WebCore::ImageAnalysisQueue::resumeProcessing):

Use the presence of an identifier as a cue to determine whether or not we should opt into the snapshotting
fallback behavior, for the time being. I also considered just keying this behavior off of the identifier in
WebPage::requestTextRecognition, but chose this approach because it seems fragile to couple those two
behaviors.

  • platform/TextRecognitionOptions.h: Added.
  • testing/Internals.cpp:

Source/WebKit:

Refactor requestTextRecognition() to take in TextRecognitionOptions.
See WebCore/ChangeLog for more details.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::requestTextRecognition):

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

(WebKit::WebPage::requestTextRecognition):

  • WebProcess/WebPage/WebPage.h:

(WebKit::WebPage::requestTextRecognition):

Tools:

Add an API test to exercise the bug, by triggering batch image analysis on an image with opacity: 0; that
fades in on a timer.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:

(TestWebKitAPI::CGImagePixelReader::CGImagePixelReader):
(TestWebKitAPI::CGImagePixelReader::isTransparentBlack const):
(TestWebKitAPI::CGImagePixelReader::at const):
(TestWebKitAPI::CGImagePixelReader::width const):
(TestWebKitAPI::CGImagePixelReader::height const):

Add a simple helper class to read pixel values at a given location in a given CGImage; this helper class works
by first rendering the given image into a plain SRGB bitmap context, which we then use to read back pixel data
in RGBA format.

(TestWebKitAPI::processRequestWithError):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKitCocoa/fade-in-image.html: Added.
6:30 PM Changeset in webkit [293136] by ysuzuki@apple.com
  • 2 edits in trunk

Unreviewed, add github accounts of Apple JSC reviewers

  • metadata/contributors.json:
6:24 PM Changeset in webkit [293135] by Alan Coon
  • 1 edit in branches/safari-613-branch/Source/WebCore/rendering/RenderGrid.cpp

Revert "Unreviewed build fix. rdar://88512506"

This reverts r293134.

5:47 PM Changeset in webkit [293134] by Alan Coon
  • 1 edit in branches/safari-613-branch/Source/WebCore/rendering/RenderGrid.cpp

Unreviewed build fix. rdar://88512506

Correction to r293125.

5:45 PM Changeset in webkit [293133] by Alan Coon
  • 13 edits
    2 deletes in branches/safari-613-branch

Revert r292274. rdar://problem/80544133

This reverts r293080.

5:30 PM Changeset in webkit [293132] by Ross Kirsling
  • 2 edits in trunk/Tools

[LayoutTests][Win] Tests can fail if long paths are not enabled in registry.
https://bugs.webkit.org/show_bug.cgi?id=188092

Reviewed by Basuke Suzuki.

Python 3.6 supports long file paths on Windows by default so long as LongPathsEnabled is set in
HKLM\System\CurrentControlSet\Control\FileSystem. This patch adds that key to webkitpy's registry editing.

  • Scripts/webkitpy/port/win.py:

(WinPort):
(WinPort.set_long_paths_enabled): Added.
(WinPort.restore_long_paths_enabled): Added.
(WinPort.setup_test_run):
(WinPort.clean_up_test_run):

Canonical link: https://commits.webkit.org/249834@main

5:25 PM Changeset in webkit [293131] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ] imported/w3c/web-platform-tests/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_anchor_download_block_downloads.tentative.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=239577

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/249833@main

4:17 PM Changeset in webkit [293130] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS Release wk2 ] webanimations/frame-rate/animation-frame-rate-alignment-started-with-one-frame-separation.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=239574

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/249832@main

4:02 PM Changeset in webkit [293129] by Chris Dumez
  • 13 edits in trunk/Source

Move true / false AtomStrings to a central location and reuse them
https://bugs.webkit.org/show_bug.cgi?id=239530

Reviewed by Sam Weinig.

Source/WebCore:

  • dom/mac/ImageControlsMac.cpp:

(WebCore::ImageControlsMac::createImageControls):

  • editing/cocoa/DataDetection.mm:

(WebCore::DataDetection::detectContentInRange):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::contentEditable const):
(WebCore::HTMLElement::setContentEditable):
(WebCore::trueName): Deleted.
(WebCore::falseName): Deleted.

  • html/shadow/TextControlInnerElements.cpp:

(WebCore::TextControlInnerTextElement::updateInnerTextElementEditabilityImpl):

  • mathml/MathMLPresentationElement.cpp:

(WebCore::MathMLPresentationElement::cachedBooleanAttribute):

  • platform/network/HTTPParsers.cpp:

(WebCore::parseStructuredFieldValue):

  • svg/SVGFEConvolveMatrixElement.cpp:

(WebCore::SVGFEConvolveMatrixElement::parseAttribute):

  • svg/properties/SVGPropertyTraits.h:

(WebCore::SVGPropertyTraits<bool>::toString):

  • xml/XPathValue.cpp:

(WebCore::XPath::Value::toString const):

Source/WTF:

  • wtf/text/AtomString.cpp:

(WTF::AtomString::init):

  • wtf/text/AtomString.h:

(WTF::trueAtom):
(WTF::falseAtom):

3:47 PM Changeset in webkit [293128] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ Monterey Release wk2 ] imported/w3c/web-platform-tests/content-security-policy/inheritance/blob-url-in-main-window-self-navigate-inherits.sub.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=239568

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/249830@main

3:32 PM Changeset in webkit [293127] by Simon Fraser
  • 2 edits in trunk/Source/WebKit

Add release assert logging in RemoteRenderingBackendProxy::prepareBuffersForDisplay()
https://bugs.webkit.org/show_bug.cgi?id=239563

Reviewed by Wenson Hsieh.

Use RELEASE_ASSERT_WITH_MESSAGE() to make it more clear which of the two release
assertions is being hit.

  • WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:

(WebKit::RemoteRenderingBackendProxy::prepareBuffersForDisplay):

3:29 PM Changeset in webkit [293126] by Simon Fraser
  • 6 edits
    2 moves
    2 adds in trunk

REGRESSION (r281913): Map toolbar flickers when dragging the map on https://gis.ee/
https://bugs.webkit.org/show_bug.cgi?id=238589
<rdar://90483049>

Reviewed by Alan Bujtas.
Source/WebCore:

If a layer has negative z-order descendants, and one of those descendants becomes
composited, then that layer also has to composite, because its foreground needs to render in
front of those descendants. But this is tricky, because the compositing toggle is
out-of-order; we only know that the layer has to get composited after processing
descendants.

In particular, this created a problem with the overlap map, which tracks sets of rectangles
in "compositing scopes" via LayerOverlapMap. The delayed compositing toggle of the layer
with negative z-order descendants meant that any layers processed up to that point had their
bounds added in the wrong overlap scope. This resulted in subsequent bad overlap testing,
and a failure to make later layers composited.

The previous fix in this area (r281913) was incorrect. Revert it, and do a better fix, which
is to speculatively push an overlap map entry for the layer with negative z-order
descendants, if necessary. If this layer ends up not getting composited, we unwind the
speculative push, which will merge that scope with its parent scope.

In addition give OverlapMapContainer (an "overlap scope") a RenderLayer& which we can use
for logging, and to assert on correct behavior; it is not otherwise used in release builds.

Tests: compositing/layer-creation/overlap-with-negative-z-layers.html

compositing/layer-creation/subtree-div-overlaps-multiple-negative-z-divs.html

  • rendering/LayerOverlapMap.cpp:

(WebCore::OverlapMapContainer::OverlapMapContainer):
(WebCore::OverlapMapContainer::scopeLayer const):
(WebCore::OverlapMapContainer::dump const):
(WebCore::LayerOverlapMap::LayerOverlapMap):
(WebCore::LayerOverlapMap::add):
(WebCore::LayerOverlapMap::pushCompositingContainer):
(WebCore::LayerOverlapMap::popCompositingContainer):

  • rendering/LayerOverlapMap.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::computeCompositingRequirements):
(WebCore::RenderLayerCompositor::traverseUnchangedSubtree):
(WebCore::RenderLayerCompositor::updateOverlapMap const):

LayoutTests:

Move subtree-div-overlaps-multiple-negative-z-divs.html into the layer-creation directory.
Add a new test.

  • compositing/layer-creation/overlap-with-negative-z-layers-expected.html: Added.
  • compositing/layer-creation/overlap-with-negative-z-layers.html: Added.
  • compositing/layer-creation/subtree-div-overlaps-multiple-negative-z-divs-expected.html: Renamed from LayoutTests/compositing/subtree-div-overlaps-multiple-negative-z-divs-expected.html.
  • compositing/layer-creation/subtree-div-overlaps-multiple-negative-z-divs.html: Renamed from LayoutTests/compositing/subtree-div-overlaps-multiple-negative-z-divs.html.
  • fast/harness/render-tree-as-text-options-expected.txt: Test progressed; update results.
3:27 PM Changeset in webkit [293125] by Alan Coon
  • 1 edit in branches/safari-613-branch/Source/WebCore/rendering/RenderGrid.cpp

Unreviewed build fix. rdar://88512506

./rendering/RenderGrid.cpp:477:94: error: too few arguments to function call, expected 2, have 1

3:21 PM Changeset in webkit [293124] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Simplify type checking / casting in JSEventListener::handleEvent()
https://bugs.webkit.org/show_bug.cgi?id=239559

Reviewed by Sam Weinig.

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

3:11 PM Changeset in webkit [293123] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Avoid call to convertToASCIILowercase() in SelectorFilter::collectElementIdentifierHashes() in the common case
https://bugs.webkit.org/show_bug.cgi?id=239545

Reviewed by Sam Weinig.

The call to convertToASCIILowercase() in SelectorFilter::collectElementIdentifierHashes() shows in Speedometer profiles
even though input tags are already lowercase, simply because the function needs to iterate over the string to determine
that it is all lowercase. In the common case though, we can leverage the fact that all known HTML element tags are
lowercase to avoid the call to convertToASCIILowercase(). This is because HTMLElement::localName() returns one of the
tags defined in HTMLNames.h (for known HTML elements), all of which are lowercase.

  • css/SelectorFilter.cpp:

(WebCore::SelectorFilter::collectElementIdentifierHashes):

3:09 PM Changeset in webkit [293122] by Chris Dumez
  • 2 edits in trunk/Source/WebCore

Add missing WTFMove() in MIMETypeRegistryThreadGlobalData()
https://bugs.webkit.org/show_bug.cgi?id=239565

Reviewed by Sam Weinig.

  • platform/MIMETypeRegistry.h:

(WebCore::MIMETypeRegistryThreadGlobalData::MIMETypeRegistryThreadGlobalData):

2:47 PM Changeset in webkit [293121] by Alan Coon
  • 8 edits
    2 deletes in branches/safari-613-branch

Revert r290201. rdar://problem/88672183

This reverts r293067.

2:47 PM Changeset in webkit [293120] by Alan Coon
  • 3 edits
    2 deletes in branches/safari-613-branch

Revert r291281. rdar://problem/90245637

This reverts r293068.

2:47 PM Changeset in webkit [293119] by Alan Coon
  • 1 edit in branches/safari-613-branch/Source/WebCore/animation/KeyframeEffect.cpp

Revert "Unreviewed build fix. rdar://problem/88672183"

This reverts r293107.

2:46 PM Changeset in webkit [293118] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ] media/audio-session-category-at-most-recent-playback.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=239566

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/249824@main

2:42 PM Changeset in webkit [293117] by Megan Gardner
  • 12 edits in trunk

Address recent deprecation warnings on iOS.
https://bugs.webkit.org/show_bug.cgi?id=239560

Reviewed by Wenson Hsieh.

Source/WebKit:

  • Platform/spi/ios/UIKitSPI.h:
  • UIProcess/ios/WKActionSheetAssistant.mm:

(-[WKActionSheetAssistant contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]):
(-[WKActionSheetAssistant contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]): Deleted.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView setUpInteraction]):
(-[WKContentView canPerformActionForWebView:withSender:]):
(-[WKContentView pasteForWebView:]):
(-[WKContentView _handleDOMPasteRequestWithResult:]):
(-[WKContentView _requestDOMPasteAccessForCategory:elementRect:originIdentifier:completionHandler:]):
(-[WKContentView contextMenuInteraction:configuration:previewForHighlightingItemWithIdentifier:]):
(-[WKContentView contextMenuInteraction:configuration:dismissalPreviewForItemWithIdentifier:]):
(-[WKContentView contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]): Deleted.
(-[WKContentView contextMenuInteraction:previewForDismissingMenuWithConfiguration:]): Deleted.

  • UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:

(-[WKDataListSuggestionsDropdown contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]):
(-[WKDataListSuggestionsDropdown contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]): Deleted.

  • UIProcess/ios/forms/WKDateTimeInputControl.mm:

(-[WKDateTimePicker contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]):
(-[WKDateTimePicker contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]): Deleted.

  • UIProcess/ios/forms/WKFileUploadPanel.mm:

(-[WKFileUploadPanel contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]):
(-[WKFileUploadPanel contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]): Deleted.

  • UIProcess/ios/forms/WKFormSelectPicker.mm:

(-[WKSelectPicker contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]):
(-[WKSelectPicker contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]): Deleted.

Tools:

  • TestWebKitAPI/Tests/WebKitCocoa/WKContentViewEditingActions.mm:

(TEST):

  • WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:

(-[TestRunnerWKWebView initWithFrame:configuration:]):
(-[TestRunnerWKWebView _addCustomItemToMenuControllerIfNecessary]):
(-[TestRunnerWKWebView resetCustomMenuAction]):
(-[TestRunnerWKWebView canPerformAction:withSender:]):

  • WebKitTestRunner/ios/TestControllerIOS.mm:

(WTR::TestController::platformInitialize):
(WTR::TestController::platformDestroy):

2:41 PM Changeset in webkit [293116] by Ryan Haddad
  • 2 edits in trunk/Tools/CISupport

Update archs for watchOS build queues
https://bugs.webkit.org/show_bug.cgi?id=239553

Reviewed by Aakash Jain.

Remove the deprecated i386 arch from watchOS simulator builders and switch
EWS + trunk bots to arm64 to expand build coverage for this architecture.

  • Tools/CISupport/build-webkit-org/config.json:
  • Tools/CISupport/ews-build/config.json:

Canonical link: https://commits.webkit.org/249822@main

2:37 PM Changeset in webkit [293115] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Some layout tests are failing on EWS but not post commit testing due to a OS difference
https://bugs.webkit.org/show_bug.cgi?id=239564

Unreviewed test gardening.

  • LayoutTests/platform/ios/TestExpectations:

Canonical link: https://commits.webkit.org/249821@main

2:25 PM Changeset in webkit [293114] by Alan Bujtas
  • 433 edits in trunk

[IFC][Integration] Do not call WebPreferences::simpleLineLayoutEnabled in canUseForLineLayoutWithReason
https://bugs.webkit.org/show_bug.cgi?id=239540

Reviewed by Antti Koivisto.

Source/WebCore:

  1. Use RuntimeEnabledFeatures::sharedFeatures() instead of Page::Settings.
  2. Remove simpleLineLayoutEnabled setting.
  3. Rename LayoutFormattingContextIntegrationEnabled -> InlineFormattingContextIntegrationEnabled (in preparation for adding more of these FCs).
  • display/DisplayView.cpp:

(WebCore::Display::View::prepareForDisplay):

  • layout/LayoutState.cpp:

(WebCore::Layout::LayoutState::formattingStateForFormattingContext const):
(WebCore::Layout::LayoutState::formattingStateForInlineFormattingContext const):
(WebCore::Layout::LayoutState::ensureInlineFormattingState):
(WebCore::Layout::LayoutState::setViewportSize):
(WebCore::Layout::LayoutState::viewportSize const):
(WebCore::Layout::LayoutState::setIsIntegratedRootBoxFirstChild):
(WebCore::Layout::LayoutState::shouldIgnoreTrailingLetterSpacing const):
(WebCore::Layout::LayoutState::shouldNotSynthesizeInlineBlockBaseline const):

  • layout/formattingContexts/inline/InlineLineBuilder.cpp:

(WebCore::Layout::LineBuilder::close):

  • layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:

(WebCore::Layout::InlineDisplayContentBuilder::appendTextDisplayBox):

  • layout/integration/LayoutIntegrationCoverage.cpp:

(WebCore::LayoutIntegration::canUseForLineLayoutWithReason):

  • layout/integration/inline/LayoutIntegrationLineLayout.cpp:

(WebCore::LayoutIntegration::LineLayout::isEnabled):
(WebCore::LayoutIntegration::LineLayout::releaseCaches):

  • page/RuntimeEnabledFeatures.h:

(WebCore::RuntimeEnabledFeatures::setInlineFormattingContextIntegrationEnabled):
(WebCore::RuntimeEnabledFeatures::inlineFormattingContextIntegrationEnabled const):
(WebCore::RuntimeEnabledFeatures::setLayoutFormattingContextIntegrationEnabled): Deleted.
(WebCore::RuntimeEnabledFeatures::layoutFormattingContextIntegrationEnabled const): Deleted.

  • rendering/TextPainter.cpp:

(WebCore::TextPainter::clearGlyphDisplayLists):

Source/WebKit:

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetSimpleLineLayoutEnabled): Deleted.
(WKPreferencesGetSimpleLineLayoutEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKPreferences.mm:

(-[WKPreferences _simpleLineLayoutEnabled]): Deleted.
(-[WKPreferences _setSimpleLineLayoutEnabled:]): Deleted.

  • UIProcess/API/Cocoa/WKPreferencesPrivate.h:

Source/WebKitLegacy/mac:

  • WebView/WebPreferences.mm:

(-[WebPreferences simpleLineLayoutEnabled]): Deleted.
(-[WebPreferences setSimpleLineLayoutEnabled:]): Deleted.

  • WebView/WebPreferencesPrivate.h:

Source/WTF:

  • Scripts/Preferences/WebPreferencesInternal.yaml:

LayoutTests:

  • TestExpectations:
  • editing/document-marker-null-check.html:
  • editing/text-iterator/count-mark-lineboxes.html:
  • fast/block/float/simple-line-layout-float-shrink-line-expected.html:
  • fast/block/line-layout/first-line-should-bail-out-of-simple-line-layout-expected.html:
  • fast/block/margin-collapse/empty-clear-blocks-complex.html:
  • fast/css/word-spacing-with-normal-layout.html:
  • fast/css3-text/css3-text-decoration/simple-line-layout-text-decoration-expected.html:
  • fast/css3-text/css3-text-justify/text-justify-last-line-simple-line-layout-expected.html:
  • fast/dom/Document/CaretRangeFromPoint/simple-line-layout-hittest-with-caret-range-from-point-expected.html:
  • fast/dom/Range/simple-line-layout-getclientrects-expected.html:
  • fast/forms/basic-textareas-quirks-simple-lines-expected.html:
  • fast/forms/basic-textareas-quirks.html:
  • fast/forms/basic-textareas-simple-lines-expected.html:
  • fast/forms/basic-textareas.html:
  • fast/forms/linebox-overflow-in-textarea-padding-simple-lines-expected.html:
  • fast/forms/linebox-overflow-in-textarea-padding.html:
  • fast/forms/negativeLineHeight-simple-lines-expected.html:
  • fast/forms/negativeLineHeight.html:
  • fast/forms/textAreaLineHeight-simple-lines-expected.html:
  • fast/forms/textAreaLineHeight.html:
  • fast/inline/hidpi-legacy-integral-rounding-on-hard-line-break-expected.html:
  • fast/inline/hidpi-legacy-integral-rounding-on-inline-boxes-expected.html:
  • fast/inline/simple-line-layout-16bit-content-expected.html:
  • fast/layoutformattingcontext/absolute-positioned-box-with-inline-sibling-expected.html:
  • fast/layoutformattingcontext/absolute-positioned-box-with-inline-sibling.html:
  • fast/layoutformattingcontext/absolute-positioned-simple-table-expected.html:
  • fast/layoutformattingcontext/absolute-positioned-simple-table.html:
  • fast/layoutformattingcontext/absolute-positioned-simple-table2-expected.html:
  • fast/layoutformattingcontext/absolute-positioned-simple-table2.html:
  • fast/layoutformattingcontext/absolute-positioned-simple-table3-expected.html:
  • fast/layoutformattingcontext/absolute-positioned-simple-table3.html:
  • fast/layoutformattingcontext/anonymous-inline-container-simple-expected.html:
  • fast/layoutformattingcontext/anonymous-inline-container-simple.html:
  • fast/layoutformattingcontext/block-only/abs-pos-with-border-padding-and-float-child-expected.html:
  • fast/layoutformattingcontext/block-only/abs-pos-with-border-padding-and-float-child.html:
  • fast/layoutformattingcontext/block-only/absolute-auto-with-sibling-margin-bottom.html:
  • fast/layoutformattingcontext/block-only/absolute-height-stretch.html:
  • fast/layoutformattingcontext/block-only/absolute-left-auto.html:
  • fast/layoutformattingcontext/block-only/absolute-left-right-top-bottom-auto.html:
  • fast/layoutformattingcontext/block-only/absolute-nested.html:
  • fast/layoutformattingcontext/block-only/absolute-nested2.html:
  • fast/layoutformattingcontext/block-only/absolute-position-left-right-margin.html:
  • fast/layoutformattingcontext/block-only/absolute-position-min-max-height.html:
  • fast/layoutformattingcontext/block-only/absolute-position-min-max-width.html:
  • fast/layoutformattingcontext/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context.html:
  • fast/layoutformattingcontext/block-only/absolute-position-when-containing-block-is-not-in-the-formatting-context2.html:
  • fast/layoutformattingcontext/block-only/absolute-position-with-margin-auto-simple-expected.html:
  • fast/layoutformattingcontext/block-only/absolute-position-with-margin-auto-simple.html:
  • fast/layoutformattingcontext/block-only/absolute-position-with-margin-auto-simple2-expected.html:
  • fast/layoutformattingcontext/block-only/absolute-position-with-margin-auto-simple2.html:
  • fast/layoutformattingcontext/block-only/absolute-positioned-min-max-percentage-with-parent-padding-expected.html:
  • fast/layoutformattingcontext/block-only/absolute-positioned-min-max-percentage-with-parent-padding.html:
  • fast/layoutformattingcontext/block-only/absolute-simple.html:
  • fast/layoutformattingcontext/block-only/absolute-width-shrink-to-fit.html:
  • fast/layoutformattingcontext/block-only/absolute-width-stretch.html:
  • fast/layoutformattingcontext/block-only/absolute-with-static-block-position-nested.html:
  • fast/layoutformattingcontext/block-only/almost-intruding-left-float-simple.html:
  • fast/layoutformattingcontext/block-only/block-replaced-with-vertical-margins-expected.html:
  • fast/layoutformattingcontext/block-only/block-replaced-with-vertical-margins.html:
  • fast/layoutformattingcontext/block-only/block-root-top-should-start-from-float-top-expected.html:
  • fast/layoutformattingcontext/block-only/block-root-top-should-start-from-float-top.html:
  • fast/layoutformattingcontext/block-only/body-height-with-auto-html-height-quirk.html:
  • fast/layoutformattingcontext/block-only/body-height-with-auto-html-height-quirk2.html:
  • fast/layoutformattingcontext/block-only/body-height-with-non-auto-html-height-quirk.html:
  • fast/layoutformattingcontext/block-only/body-height-with-non-auto-html-height-quirk2.html:
  • fast/layoutformattingcontext/block-only/border-simple.html:
  • fast/layoutformattingcontext/block-only/box-sizing-inflow-out-of-flow-simple.html:
  • fast/layoutformattingcontext/block-only/child-containing-block-margin-collapse-when-float-avoiders-expected.html:
  • fast/layoutformattingcontext/block-only/child-containing-block-margin-collapse-when-float-avoiders.html:
  • fast/layoutformattingcontext/block-only/collapsed-margin-with-min-height.html:
  • fast/layoutformattingcontext/block-only/collapsed-through-siblings.html:
  • fast/layoutformattingcontext/block-only/collapsed-through-with-parent.html:
  • fast/layoutformattingcontext/block-only/fixed-nested.html:
  • fast/layoutformattingcontext/block-only/float-and-siblings-with-margins.html:
  • fast/layoutformattingcontext/block-only/float-avoider-multiple-roots.html:
  • fast/layoutformattingcontext/block-only/float-avoider-simple-left.html:
  • fast/layoutformattingcontext/block-only/float-avoider-simple-right.html:
  • fast/layoutformattingcontext/block-only/float-avoider-with-margins.html:
  • fast/layoutformattingcontext/block-only/float-clear-with-auto-width-expected.html:
  • fast/layoutformattingcontext/block-only/float-clear-with-auto-width.html:
  • fast/layoutformattingcontext/block-only/float-left-when-container-has-padding-margin.html:
  • fast/layoutformattingcontext/block-only/float-min-max-height.html:
  • fast/layoutformattingcontext/block-only/float-min-max-width.html:
  • fast/layoutformattingcontext/block-only/floating-and-next-previous-inflow-with-margin-with-no-border.html:
  • fast/layoutformattingcontext/block-only/floating-and-next-previous-inflow-with-margin.html:
  • fast/layoutformattingcontext/block-only/floating-box-clear-both-simple.html:
  • fast/layoutformattingcontext/block-only/floating-box-clear-right-simple.html:
  • fast/layoutformattingcontext/block-only/floating-box-left-and-right-multiple-with-top-offset.html:
  • fast/layoutformattingcontext/block-only/floating-box-left-and-right-multiple.html:
  • fast/layoutformattingcontext/block-only/floating-box-right-simple.html:
  • fast/layoutformattingcontext/block-only/floating-box-with-clear-siblings.html:
  • fast/layoutformattingcontext/block-only/floating-box-with-clear-simple.html:
  • fast/layoutformattingcontext/block-only/floating-box-with-new-formatting-context.html:
  • fast/layoutformattingcontext/block-only/floating-box-with-relative-positioned-sibling.html:
  • fast/layoutformattingcontext/block-only/floating-left-and-right-with-clearance.html:
  • fast/layoutformattingcontext/block-only/floating-left-right-simple.html:
  • fast/layoutformattingcontext/block-only/floating-left-right-with-all-margins.html:
  • fast/layoutformattingcontext/block-only/floating-lefts-and-rights-simple.html:
  • fast/layoutformattingcontext/block-only/floating-multiple-lefts-in-body.html:
  • fast/layoutformattingcontext/block-only/floating-multiple-lefts-multiple-lines.html:
  • fast/layoutformattingcontext/block-only/floating-multiple-lefts.html:
  • fast/layoutformattingcontext/block-only/floating-with-new-block-formatting-context.html:
  • fast/layoutformattingcontext/block-only/floats-and-block-formatting-roots-expected.html:
  • fast/layoutformattingcontext/block-only/floats-and-block-formatting-roots.html:
  • fast/layoutformattingcontext/block-only/inflow-min-max-height.html:
  • fast/layoutformattingcontext/block-only/inflow-min-max-width.html:
  • fast/layoutformattingcontext/block-only/margin-collapse-bottom-bottom.html:
  • fast/layoutformattingcontext/block-only/margin-collapse-bottom-nested.html:
  • fast/layoutformattingcontext/block-only/margin-collapse-first-last-are-floating.html:
  • fast/layoutformattingcontext/block-only/margin-collapse-simple.html:
  • fast/layoutformattingcontext/block-only/margin-collapse-top-nested.html:
  • fast/layoutformattingcontext/block-only/margin-collapse-when-child-has-padding-border.html:
  • fast/layoutformattingcontext/block-only/margin-collapse-with-block-formatting-context.html:
  • fast/layoutformattingcontext/block-only/margin-collapse-with-block-formatting-context2.html:
  • fast/layoutformattingcontext/block-only/margin-collapse-with-clearance.html:
  • fast/layoutformattingcontext/block-only/margin-left-right-sizing-out-of-flow.html:
  • fast/layoutformattingcontext/block-only/margin-left-right-sizing.html:
  • fast/layoutformattingcontext/block-only/margin-propagation-simple-content-height.html:
  • fast/layoutformattingcontext/block-only/margin-sibling-collapse-propagated.html:
  • fast/layoutformattingcontext/block-only/margin-simple.html:
  • fast/layoutformattingcontext/block-only/min-max-and-preferred-width-simple-expected.html:
  • fast/layoutformattingcontext/block-only/min-max-and-preferred-width-simple.html:
  • fast/layoutformattingcontext/block-only/min-max-height-percentage.html:
  • fast/layoutformattingcontext/block-only/negative-margin-simple.html:
  • fast/layoutformattingcontext/block-only/non-auto-top-bottom-height-with-auto-margins.html:
  • fast/layoutformattingcontext/block-only/non-auto-top-bottom-height-with-margins.html:
  • fast/layoutformattingcontext/block-only/non-auto-top-bottom-left-right-widht-height-out-of-flow.html:
  • fast/layoutformattingcontext/block-only/out-of-flow-is-never-float-box-expected.html:
  • fast/layoutformattingcontext/block-only/out-of-flow-is-never-float-box.html:
  • fast/layoutformattingcontext/block-only/out-of-flow-with-containing-block-border-padding.html:
  • fast/layoutformattingcontext/block-only/padding-nested.html:
  • fast/layoutformattingcontext/block-only/padding-simple.html:
  • fast/layoutformattingcontext/block-only/relative-auto-with-parent-offset.html:
  • fast/layoutformattingcontext/block-only/relative-auto.html:
  • fast/layoutformattingcontext/block-only/relative-bottom.html:
  • fast/layoutformattingcontext/block-only/relative-position-when-containing-block-is-not-in-the-formatting-context.html:
  • fast/layoutformattingcontext/block-only/relative-right.html:
  • fast/layoutformattingcontext/block-only/relative-siblings.html:
  • fast/layoutformattingcontext/block-only/relative-simple.html:
  • fast/layoutformattingcontext/block-only/replaced-as-inline-block-simple-expected.html:
  • fast/layoutformattingcontext/block-only/replaced-as-inline-block-simple.html:
  • fast/layoutformattingcontext/block-only/replaced-intrinsic-width-simple-expected.html:
  • fast/layoutformattingcontext/block-only/replaced-intrinsic-width-simple.html:
  • fast/layoutformattingcontext/br-and-wbr-simple-expected.html:
  • fast/layoutformattingcontext/br-and-wbr-simple.html:
  • fast/layoutformattingcontext/br-in-inline-content-simple-expected.html:
  • fast/layoutformattingcontext/br-in-inline-content-simple.html:
  • fast/layoutformattingcontext/center-alignment-with-block-content-simple-expected.html:
  • fast/layoutformattingcontext/center-alignment-with-block-content-simple.html:
  • fast/layoutformattingcontext/display/stacking-item-bounds-expected.html:
  • fast/layoutformattingcontext/display/stacking-item-bounds.html:
  • fast/layoutformattingcontext/empty-block-level-box-with-clearance-expected.html:
  • fast/layoutformattingcontext/empty-block-level-box-with-clearance.html:
  • fast/layoutformattingcontext/empty-table-box-expected.html:
  • fast/layoutformattingcontext/empty-table-box.html:
  • fast/layoutformattingcontext/empty-table-with-specified-height-quirk-simple-expected.html:
  • fast/layoutformattingcontext/empty-table-with-specified-height-quirk-simple.html:
  • fast/layoutformattingcontext/empty-table-with-specified-height-standards-simple-expected.html:
  • fast/layoutformattingcontext/empty-table-with-specified-height-standards-simple.html:
  • fast/layoutformattingcontext/fit-content-width-simple-expected.html:
  • fast/layoutformattingcontext/fit-content-width-simple.html:
  • fast/layoutformattingcontext/flex-box-simple.html:
  • fast/layoutformattingcontext/float-and-br-inline-content-only-expected.html:
  • fast/layoutformattingcontext/float-and-br-inline-content-only.html:
  • fast/layoutformattingcontext/float-avoider-available-horizontal-space-expected.html:
  • fast/layoutformattingcontext/float-avoider-available-horizontal-space.html:
  • fast/layoutformattingcontext/float-avoider-available-horizontal-space2-expected.html:
  • fast/layoutformattingcontext/float-avoider-available-horizontal-space2.html:
  • fast/layoutformattingcontext/float-avoider-available-horizontal-space3-expected.html:
  • fast/layoutformattingcontext/float-avoider-available-horizontal-space3.html:
  • fast/layoutformattingcontext/float-avoider-with-inline-content-expected.html:
  • fast/layoutformattingcontext/float-avoider-with-inline-content.html:
  • fast/layoutformattingcontext/float-avoiding-br-last-line-expected.html:
  • fast/layoutformattingcontext/float-avoiding-br-last-line.html:
  • fast/layoutformattingcontext/float-avoiding-br-simple-expected.html:
  • fast/layoutformattingcontext/float-avoiding-br-simple.html:
  • fast/layoutformattingcontext/float-in-inline-context-simple-expected.html:
  • fast/layoutformattingcontext/float-in-inline-context-simple.html:
  • fast/layoutformattingcontext/float-inside-table-cell-simple-expected.html:
  • fast/layoutformattingcontext/float-inside-table-cell-simple.html:
  • fast/layoutformattingcontext/float-with-clear-simple-expected.html:
  • fast/layoutformattingcontext/float-with-clear-simple.html:
  • fast/layoutformattingcontext/floats-shrinking-line-simple-expected.html:
  • fast/layoutformattingcontext/floats-shrinking-line-simple.html:
  • fast/layoutformattingcontext/flow-integration-basic-paint.html:
  • fast/layoutformattingcontext/flow-integration-basic.html:
  • fast/layoutformattingcontext/height-percentage-quirk-to-icb-expected.html:
  • fast/layoutformattingcontext/height-percentage-quirk-to-icb.html:
  • fast/layoutformattingcontext/height-precentage-with-anonymous-wrapper-expected.html:
  • fast/layoutformattingcontext/height-precentage-with-anonymous-wrapper.html:
  • fast/layoutformattingcontext/horizontal-sizing-with-trailing-letter-spacing-expected.html:
  • fast/layoutformattingcontext/horizontal-sizing-with-trailing-letter-spacing.html:
  • fast/layoutformattingcontext/html-is-absolute-positioned-expected.html:
  • fast/layoutformattingcontext/html-is-absolute-positioned.html:
  • fast/layoutformattingcontext/inlin-box-content-fits-but-the-box-does-not-expected.html:
  • fast/layoutformattingcontext/inlin-box-content-fits-but-the-box-does-not.html:
  • fast/layoutformattingcontext/inline-box-overlaps-multiple-lines-expected.html:
  • fast/layoutformattingcontext/inline-box-overlaps-multiple-lines.html:
  • fast/layoutformattingcontext/inline-float-simple-expected.html:
  • fast/layoutformattingcontext/inline-float-simple.html:
  • fast/layoutformattingcontext/inline-max-width-height-simple-expected.html:
  • fast/layoutformattingcontext/inline-max-width-height-simple.html:
  • fast/layoutformattingcontext/inline-text-outside-of-inline-container-simple-expected.html:
  • fast/layoutformattingcontext/inline-text-outside-of-inline-container-simple.html:
  • fast/layoutformattingcontext/intrusive-floats-and-stretchy-lines-simple-expected.html:
  • fast/layoutformattingcontext/intrusive-floats-and-stretchy-lines-simple.html:
  • fast/layoutformattingcontext/intrusive-floats-takes-entire-horizontal-space-expected.html:
  • fast/layoutformattingcontext/intrusive-floats-takes-entire-horizontal-space.html:
  • fast/layoutformattingcontext/line-heigt-when-text-is-inside-inline-container-expected.html:
  • fast/layoutformattingcontext/line-heigt-when-text-is-inside-inline-container.html:
  • fast/layoutformattingcontext/max-content-and-box-sizing-simple-expected.html:
  • fast/layoutformattingcontext/max-content-and-box-sizing-simple.html:
  • fast/layoutformattingcontext/min-max-content-width-simple-expected.html:
  • fast/layoutformattingcontext/min-max-content-width-simple.html:
  • fast/layoutformattingcontext/min-max-content-width-simple2-expected.html:
  • fast/layoutformattingcontext/min-max-content-width-simple2.html:
  • fast/layoutformattingcontext/min-max-content-width-with-floats-simple-expected.html:
  • fast/layoutformattingcontext/min-max-content-width-with-floats-simple.html:
  • fast/layoutformattingcontext/min-max-content-width-with-nested-floats-simple-expected.html:
  • fast/layoutformattingcontext/min-max-content-width-with-nested-floats-simple.html:
  • fast/layoutformattingcontext/out-of-flow-html-and-body-stretches-to-viewport.html:
  • fast/layoutformattingcontext/out-of-flow-positioned-line-breaks.html:
  • fast/layoutformattingcontext/out-of-flow-with-non-fixed-height-simple-expected.html:
  • fast/layoutformattingcontext/out-of-flow-with-non-fixed-height-simple.html:
  • fast/layoutformattingcontext/overflow-at-inline-box-boundary-simple-expected.html:
  • fast/layoutformattingcontext/overflow-at-inline-box-boundary-simple.html:
  • fast/layoutformattingcontext/quirk-margin-not-collapse-when-floating-expected.html:
  • fast/layoutformattingcontext/quirk-margin-not-collapse-when-floating.html:
  • fast/layoutformattingcontext/replaced-and-trailing-trimmable-content-expected.html:
  • fast/layoutformattingcontext/replaced-and-trailing-trimmable-content.html:
  • fast/layoutformattingcontext/replaced-box-with-margin-on-baseline-expected.html:
  • fast/layoutformattingcontext/replaced-box-with-margin-on-baseline.html:
  • fast/layoutformattingcontext/run-expansion-extends-line-content-width-expected.html:
  • fast/layoutformattingcontext/run-expansion-extends-line-content-width.html:
  • fast/layoutformattingcontext/simple-absolute-positioned-inline-element-expected.html:
  • fast/layoutformattingcontext/simple-absolute-positioned-inline-element.html:
  • fast/layoutformattingcontext/simple-absolute-positioned-replaced-inline-element-with-percentage-height-expected.html:
  • fast/layoutformattingcontext/simple-absolute-positioned-replaced-inline-element-with-percentage-height.html:
  • fast/layoutformattingcontext/simple-inline-block-expected.html:
  • fast/layoutformattingcontext/simple-inline-block.html:
  • fast/layoutformattingcontext/simple-table-with-empty-td.html:
  • fast/layoutformattingcontext/subframe-with-display-none-html-expected.html:
  • fast/layoutformattingcontext/subframe-with-display-none-html.html:
  • fast/layoutformattingcontext/table-basic-row-baseline-align.html:
  • fast/layoutformattingcontext/table-basic-row-baseline-with-nested-table.html:
  • fast/layoutformattingcontext/table-basic-row-vertical-align-baseline.html:
  • fast/layoutformattingcontext/table-cell-baseline-offset-simple-expected.html:
  • fast/layoutformattingcontext/table-cell-baseline-offset-simple.html:
  • fast/layoutformattingcontext/table-cell-baseline-offset-simple2-expected.html:
  • fast/layoutformattingcontext/table-cell-baseline-offset-simple2.html:
  • fast/layoutformattingcontext/table-cell-height-middle-align-simple-expected.html:
  • fast/layoutformattingcontext/table-cell-height-middle-align-simple.html:
  • fast/layoutformattingcontext/table-cell-vertical-alignment-simple-expected.html:
  • fast/layoutformattingcontext/table-cell-vertical-alignment-simple.html:
  • fast/layoutformattingcontext/table-colspan-simple-expected.html:
  • fast/layoutformattingcontext/table-colspan-simple.html:
  • fast/layoutformattingcontext/table-fixed-row-height-simple-expected.html:
  • fast/layoutformattingcontext/table-fixed-row-height-simple.html:
  • fast/layoutformattingcontext/table-fixed-width-colspans.html:
  • fast/layoutformattingcontext/table-fixed-width-variations-simple-expected.html:
  • fast/layoutformattingcontext/table-fixed-width-variations-simple.html:
  • fast/layoutformattingcontext/table-fixed-width-with-max-distribution.html:
  • fast/layoutformattingcontext/table-flex-width-border-collapse.html:
  • fast/layoutformattingcontext/table-flex-width-colspans.html:
  • fast/layoutformattingcontext/table-min-max-flex-distribution-simple-expected.html:
  • fast/layoutformattingcontext/table-min-max-flex-distribution-simple.html:
  • fast/layoutformattingcontext/table-min-max-width-empty-content-simple-expected.html:
  • fast/layoutformattingcontext/table-min-max-width-empty-content-simple.html:
  • fast/layoutformattingcontext/table-min-max-width-simple-expected.html:
  • fast/layoutformattingcontext/table-min-max-width-simple.html:
  • fast/layoutformattingcontext/table-missing-cells-simple-expected.html:
  • fast/layoutformattingcontext/table-missing-cells-simple.html:
  • fast/layoutformattingcontext/table-quirk-vertical-margin-simple-expected.html:
  • fast/layoutformattingcontext/table-quirk-vertical-margin-simple.html:
  • fast/layoutformattingcontext/table-simple-border-collapse-expected.html:
  • fast/layoutformattingcontext/table-simple-border-collapse-with-padding-expected.html:
  • fast/layoutformattingcontext/table-simple-border-collapse-with-padding.html:
  • fast/layoutformattingcontext/table-simple-border-collapse.html:
  • fast/layoutformattingcontext/table-simple-border-collapse2-expected.html:
  • fast/layoutformattingcontext/table-simple-border-collapse2.html:
  • fast/layoutformattingcontext/table-simple-border-collapse3-expected.html:
  • fast/layoutformattingcontext/table-simple-border-collapse3.html:
  • fast/layoutformattingcontext/table-simple-collapsed-row-border-expected.html:
  • fast/layoutformattingcontext/table-simple-collapsed-row-border.html:
  • fast/layoutformattingcontext/table-simple-collapsed-row-border2-expected.html:
  • fast/layoutformattingcontext/table-simple-collapsed-row-border2.html:
  • fast/layoutformattingcontext/table-simple-collapsed-tbody-border-expected.html:
  • fast/layoutformattingcontext/table-simple-collapsed-tbody-border.html:
  • fast/layoutformattingcontext/table-simple-fixed-width-with-wide-content-expected.html:
  • fast/layoutformattingcontext/table-simple-fixed-width-with-wide-content.html:
  • fast/layoutformattingcontext/table-simple-multiple-sections-expected.html:
  • fast/layoutformattingcontext/table-simple-multiple-sections-with-border-spacing-and-collapse-expected.html:
  • fast/layoutformattingcontext/table-simple-multiple-sections-with-border-spacing-and-collapse.html:
  • fast/layoutformattingcontext/table-simple-multiple-sections.html:
  • fast/layoutformattingcontext/table-simple-row-border-expected.html:
  • fast/layoutformattingcontext/table-simple-row-border.html:
  • fast/layoutformattingcontext/table-simple-rowspan-with-spacing-expected.html:
  • fast/layoutformattingcontext/table-simple-rowspan-with-spacing.html:
  • fast/layoutformattingcontext/table-simple-tall-cell-content-with-fixed-height-expected.html:
  • fast/layoutformattingcontext/table-simple-tall-cell-content-with-fixed-height.html:
  • fast/layoutformattingcontext/table-simple-thead-border-ignore-expected.html:
  • fast/layoutformattingcontext/table-simple-thead-border-ignore.html:
  • fast/layoutformattingcontext/table-simple-with-border.html:
  • fast/layoutformattingcontext/table-simple-with-fixed-widht-and-inline-content.html:
  • fast/layoutformattingcontext/table-simple-with-padding.html:
  • fast/layoutformattingcontext/table-space-distribution-mixed-width-type-simple-expected.html:
  • fast/layoutformattingcontext/table-space-distribution-mixed-width-type-simple.html:
  • fast/layoutformattingcontext/table-space-distribution-simple-expected.html:
  • fast/layoutformattingcontext/table-space-distribution-simple-mismatching.html:
  • fast/layoutformattingcontext/table-space-distribution-simple.html:
  • fast/layoutformattingcontext/table-space-distribution-simple2-expected.html:
  • fast/layoutformattingcontext/table-space-distribution-simple2.html:
  • fast/layoutformattingcontext/table-space-mixed-width-type-simple3-expected.html:
  • fast/layoutformattingcontext/table-space-mixed-width-type-simple3.html:
  • fast/layoutformattingcontext/table-space-shinking-mixed-width-type-simple-expected.html:
  • fast/layoutformattingcontext/table-space-shinking-mixed-width-type-simple.html:
  • fast/layoutformattingcontext/table-space-shinking-mixed-width-type-simple2-expected.html:
  • fast/layoutformattingcontext/table-space-shinking-mixed-width-type-simple2.html:
  • fast/layoutformattingcontext/table-space-width-100-percent-quirk-expected.html:
  • fast/layoutformattingcontext/table-space-width-100-percent-quirk.html:
  • fast/layoutformattingcontext/table-with-column-spanner-first-row.html:
  • fast/layoutformattingcontext/table-with-margin-content-simple-expected.html:
  • fast/layoutformattingcontext/table-with-margin-content-simple.html:
  • fast/layoutformattingcontext/table-with-margin-simple-expected.html:
  • fast/layoutformattingcontext/table-with-margin-simple.html:
  • fast/layoutformattingcontext/table-with-padding-and-border-simple-expected.html:
  • fast/layoutformattingcontext/table-with-padding-and-border-simple.html:
  • fast/layoutformattingcontext/table-with-percent-columns-and-spacing-expected.html:
  • fast/layoutformattingcontext/table-with-percent-columns-and-spacing.html:
  • fast/layoutformattingcontext/table-with-percent-columns-only-no-content-expected.html:
  • fast/layoutformattingcontext/table-with-percent-columns-only-no-content.html:
  • fast/layoutformattingcontext/table-with-percent-columns-simple-expected.html:
  • fast/layoutformattingcontext/table-with-percent-columns-simple.html:
  • fast/layoutformattingcontext/table-with-percent-height-descendant.html:
  • fast/layoutformattingcontext/vertical-align-bottom-nested-expected.html:
  • fast/layoutformattingcontext/vertical-align-bottom-nested.html:
  • fast/layoutformattingcontext/vertical-align-middle-nested-expected.html:
  • fast/layoutformattingcontext/vertical-align-middle-nested.html:
  • fast/layoutformattingcontext/vertical-align-middle-simple-expected.html:
  • fast/layoutformattingcontext/vertical-align-middle-simple.html:
  • fast/layoutformattingcontext/vertical-align-top-nested-expected.html:
  • fast/layoutformattingcontext/vertical-align-top-nested.html:
  • fast/layoutformattingcontext/wbr-simple-expected.html:
  • fast/layoutformattingcontext/wbr-simple.html:
  • fast/multicol/orphans-ignored-expected.html:
  • fast/multicol/orphans-ignored.html:
  • fast/repaint/implicitly-positioned-block-repaint-complex-line-layout.html:
  • fast/replaced/width100percent-textarea.html:
  • fast/text/embed-at-end-of-pre-wrap-line-simple-lines-expected.html:
  • fast/text/embed-at-end-of-pre-wrap-line-simple-lines.html:
  • fast/text/embed-at-end-of-pre-wrap-line.html:
  • fast/text/font-with-no-space-glyph-expected.html:
  • fast/text/font-with-no-space-glyph.html:
  • fast/text/line-runs-rounding-simple-lines-expected.html:
  • fast/text/mark-matches-rendering-simple-lines-expected.html:
  • fast/text/multiple-renderers-with-hypen-on-boundary-expected.html:
  • fast/text/negative-letter-spacing-visual-overflow-expected.html:
  • fast/text/newline-width-expected.html:
  • fast/text/newline-width.html:
  • fast/text/no-wrap-in-pre-with-word-wrap-expected.html:
  • fast/text/no-wrap-in-pre-with-word-wrap.html:
  • fast/text/overflow-wrap-break-word-004.html:
  • fast/text/overflow-wrap-break-word-005.html:
  • fast/text/overflow-wrap-break-word-007.html:
  • fast/text/simple-line-hyphens-with-text-align-expected.html:
  • fast/text/simple-line-hyphens-with-word-letter-spacing-expected.html:
  • fast/text/simple-line-layout-and-multiline-inlineboxtree-expected.html:
  • fast/text/simple-line-layout-and-multiline-inlineboxtree.html:
  • fast/text/simple-line-layout-dynamic-letter-word-spacing-expected.html:
  • fast/text/simple-line-layout-fallback-space-glyph-expected.html:
  • fast/text/simple-line-layout-glyph-overflows-line-expected.html:
  • fast/text/simple-line-layout-hyphen-limit-after-expected.html:
  • fast/text/simple-line-layout-hyphen-limit-before-expected.html:
  • fast/text/simple-line-layout-hyphen-limit-lines-expected.html:
  • fast/text/simple-line-layout-hyphen-limit-lines2-expected.html:
  • fast/text/simple-line-layout-hyphenation-limit-lines-accross-words-expected.html:
  • fast/text/simple-line-layout-leading-whitespace-with-soft-hard-linebreak-expected.html:
  • fast/text/simple-line-layout-leading-whitespace-with-soft-hard-linebreak.html:
  • fast/text/simple-line-layout-line-box-contain-glyphs-expected.html:
  • fast/text/simple-line-layout-line-box-contain-glyphs.html:
  • fast/text/simple-line-layout-multiple-renderers-non-breaking-space-expected.html:
  • fast/text/simple-line-layout-multiple-renderers-with-float-expected.html:
  • fast/text/simple-line-layout-selection-with-overflow-expected.html:
  • fast/text/simple-line-layout-text-position-with-stroke-expected.html:
  • fast/text/simple-line-layout-with-justified-punctuation-expected.html:
  • fast/text/simple-line-layout-wrapping-multiple-renderers-hang-expected.html:
  • fast/text/simple-line-letterspacing-expected.html:
  • fast/text/simple-line-text-indent-expected.html:
  • fast/text/simple-line-text-measuring-with-trailing-space-expected.html:
  • fast/text/simple-line-with-br-expected.html:
  • fast/text/simple-line-with-multiple-renderers-expected.html:
  • fast/text/simple-line-wordspacing-expected.html:
  • fast/text/simple-lines-float-compare-expected.html:
  • fast/text/simple-lines-float-expected.html:
  • fast/text/simple-lines-float.html:
  • fast/text/simple-lines-intruding-wide-float-expected.html:
  • fast/text/simple-lines-range-low-line-height-expected.html:
  • fast/text/simple-lines-text-transform-expected.html:
  • fast/text/simple-lines-text-transform.html:
  • fast/text/whitespace/pre-wrap-008.html:
  • fast/text/whitespace/pre-wrap-015.html:
  • fast/text/whitespace/pre-wrap-016.html:
  • fast/text/whitespace/pre-wrap-line-test-simple-lines-expected.html:
  • fast/text/whitespace/pre-wrap-line-test.html:
  • fast/text/whitespace/pre-wrap-long-word-simple-lines-expected.html:
  • fast/text/whitespace/pre-wrap-long-word-simple-lines.html:
  • fast/text/whitespace/pre-wrap-spaces-after-newline-simple-lines-expected.html:
  • fast/text/whitespace/pre-wrap-spaces-after-newline.html:
  • fast/text/whitespace/simple-line-layout-tab-position-expected.html:
  • fast/text/word-break-break-all-010.html:
  • fast/text/word-break-break-all-011.html:
  • printing/simple-lines-break-expected.html:
2:10 PM Changeset in webkit [293113] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ] imported/blink/fast/text/international-iteration-simple-text.html is a flaky failure
Adding test expectation for newly affected macOS wk2
https://bugs.webkit.org/show_bug.cgi?id=179853

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/249819@main

1:56 PM Changeset in webkit [293112] by mmaxfield@apple.com
  • 5 edits in trunk/LayoutTests

[WebGPU] Unskip api/validation/createTexture.html 🎉
https://bugs.webkit.org/show_bug.cgi?id=239447

Reviewed by Kimmo Kinnunen.

It passes now!!!!

  • http/tests/webgpu/webgpu/api/validation/createTexture-expected.txt:
  • platform/ios-device-wk1/TestExpectations:
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/mac-wk1/TestExpectations:
1:18 PM Changeset in webkit [293111] by commit-queue@webkit.org
  • 5 edits in trunk

Unreviewed, reverting r292508.
https://bugs.webkit.org/show_bug.cgi?id=239561

Links to test results are partly broken in layout-tests-
results/results.html

Reverted changeset:

"Fix expected, actual links for variant-based imported wpt
tests"
https://bugs.webkit.org/show_bug.cgi?id=238832
https://commits.webkit.org/r292508

12:38 PM Changeset in webkit [293110] by Chris Dumez
  • 7 edits in trunk/Source/WebCore

Avoid repeated calls to eventNames() in a few more places
https://bugs.webkit.org/show_bug.cgi?id=239548

Reviewed by Yusuke Suzuki.

Avoid repeated calls to eventNames() in a few more places given that it accesses threadGlobalData().

  • dom/MouseEvent.cpp:

(WebCore::MouseEvent::create):

  • dom/SimulatedClick.cpp:

(WebCore::simulateClick):

  • dom/ios/PointerEventIOS.cpp:

(WebCore::buttonsForType):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::eventListenersDidChange):

  • page/EventHandler.cpp:

(WebCore::EventHandler::dispatchDragEvent):

  • page/PointerCaptureController.cpp:

(WebCore::PointerCaptureController::cancelPointer):

12:30 PM Changeset in webkit [293109] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk/Tools

[PGO] run-benchmark should allow pgo profiles to be collected during a benchmark run
https://bugs.webkit.org/show_bug.cgi?id=239313

Add a --profile-output-directory to run-benchmark.
Add helper scripts pgo-profile-merge and pgo-profile-summarize to simplify handling profile output.
Add a script called build-and-collect-pgo-profiles that automates everything.

Reviewed by Dewei Zhu.

  • Tools/Scripts/pgo-profile-merge: Added.
  • Tools/Scripts/pgo-profile-summarize: Added.
  • Tools/Scripts/webkitpy/benchmark_runner/benchmark_runner.py:

(BenchmarkRunner.init):

  • Tools/Scripts/webkitpy/benchmark_runner/run_benchmark.py:

(config_argument_parser):
(parse_args):
(run_benchmark_plan):

  • Tools/Scripts/webkitpy/benchmark_runner/webserver_benchmark_runner.py:

(WebServerBenchmarkRunner.init):
(WebServerBenchmarkRunner._get_result):
(WebServerBenchmarkRunner._run_one_test): Deleted.

Canonical link: https://commits.webkit.org/249815@main

11:36 AM Changeset in webkit [293108] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ] fast/scrolling/overflow-scroll-past-max.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=239554

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/249814@main

10:53 AM Changeset in webkit [293107] by Alan Coon
  • 1 edit in branches/safari-613-branch/Source/WebCore/animation/KeyframeEffect.cpp

Unreviewed build fix. rdar://problem/88672183

./animation/KeyframeEffect.cpp:644:9: error: use of undeclared identifier 'computedKeyframeList'; did you mean 'computedKeyframes'?

10:43 AM Changeset in webkit [293106] by mmaxfield@apple.com
  • 9 edits
    2 copies in trunk/Source

[WebGPU] WebKit and WebKitLegacy shouldn't need to know about WebGPU.framework
https://bugs.webkit.org/show_bug.cgi?id=239528
<rdar://problem/91740931>

Unreviewed build fix.

Source/WebCore/PAL:

WebKit and WebKitLegacy create a WebGPU implementation from pal/graphics/WebGPU/Impl. This implementation
knows about WebGPU.framework. However, the create() function doesn't need to know about WebGPU.framework,
and its header doesn't need to include <WebGPU/WebGPU.h>. Only the .cpp files need to know about
<WebGPU/WebGPU.h>, and those .cpp files are invisible from WebKit and WebKitLegacy's points of view. So,
this patch splits the PAL header into:

  1. A header which includes a creation function, but doesn't know about WebGPU.framework, and
  2. A header which knows about WebGPU.framework, but doesn't hold the creation function used by WebKit or

WebKitLegacy.

This fixes one of Apple's internal builds.

  • PAL.xcodeproj/project.pbxproj:
  • pal/graphics/WebGPU/Impl/WebGPUCreateImpl.cpp: Copied from Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUImpl.cpp.

(PAL::WebGPU::create):

  • pal/graphics/WebGPU/Impl/WebGPUCreateImpl.h: Copied from Source/WebCore/PAL/pal/graphics/WebGPU/Impl/WebGPUImpl.h.
  • pal/graphics/WebGPU/Impl/WebGPUImpl.cpp:

(PAL::WebGPU::GPUImpl::create): Deleted.

  • pal/graphics/WebGPU/Impl/WebGPUImpl.h:

Source/WebKit:

  • GPUProcess/graphics/WebGPU/RemoteGPU.cpp:

(WebKit::RemoteGPU::workQueueInitialize):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::createGPUForWebGPU const):

Source/WebKitLegacy/mac:

  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::createGPUForWebGPU const):

10:33 AM Changeset in webkit [293105] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[ macOS wk2 ] imported/w3c/web-platform-tests/html/semantics/embedded-content/the-area-element/area-download-click.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=239546

Unreviewed test gardening.

  • LayoutTests/platform/mac-wk2/TestExpectations:

Canonical link: https://commits.webkit.org/249812@main

10:24 AM Changeset in webkit [293104] by Alan Coon
  • 12 edits in branches/safari-613-branch/Source

Cherry-pick r289100. rdar://problem/79950080

Teach VideoFullscreenInterface to keep track of its corresponding MediaPlayer's MediaPlayerIdentifier
https://bugs.webkit.org/show_bug.cgi?id=236090

Reviewed by Eric Carlson.

Source/WebCore:

Add plumbing for an optional MediaPlayerIdentifier through the video fullscreen model. This identifier is
invalidated upon loadstart, and updated once we observe loadedmetadata, which ensures that if the media
engine (and media player) changes out from underneath the video fullscreen model, we still keep the new player
ID up to date.

See WebKit/ChangeLog for more details.

  • platform/cocoa/VideoFullscreenModel.h: (WebCore::VideoFullscreenModelClient::setPlayerIdentifier):
  • platform/cocoa/VideoFullscreenModelVideoElement.h:
  • platform/cocoa/VideoFullscreenModelVideoElement.mm: (WebCore::VideoFullscreenModelVideoElement::updateForEventName): (WebCore::VideoFullscreenModelVideoElement::observedEventNames):

Additionally listen for loadstartEvent and loadedmetadataEvent (see above).

(WebCore::VideoFullscreenModelVideoElement::setPlayerIdentifier):

  • platform/ios/VideoFullscreenInterfaceAVKit.h:
  • platform/mac/VideoFullscreenInterfaceMac.h: (WebCore::VideoFullscreenInterfaceMac::playerIdentifier const):

Source/WebKit:

Add an IPC message between VideoFullscreenManager and VideoFullscreenManagerProxy to update the media player ID
corresponding to a given PlaybackSessionContextIdentifier. This is sent if the underlying media player changes
(and subsequently fires loadstart and loadedmetadata events), and also sent upon entering fullscreen video.

In a future patch, this mechanism will be used to teach VideoFullscreenManagerProxy to grab an image bitmap from
the GPU process for a given PlaybackSessionContextIdentifier.

  • UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
  • UIProcess/Cocoa/VideoFullscreenManagerProxy.messages.in:
  • UIProcess/Cocoa/VideoFullscreenManagerProxy.mm: (WebKit::VideoFullscreenManagerProxy::setPlayerIdentifier):
  • WebProcess/cocoa/VideoFullscreenManager.h:
  • WebProcess/cocoa/VideoFullscreenManager.mm: (WebKit::VideoFullscreenInterfaceContext::setPlayerIdentifier): (WebKit::VideoFullscreenManager::enterVideoFullscreenForVideoElement): (WebKit::VideoFullscreenManager::setPlayerIdentifier):

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

10:24 AM Changeset in webkit [293103] by Alan Coon
  • 2 edits in branches/safari-613-branch/Source/WebCore/Modules/fetch

Unreviewed build fix. rdar://problem/91446363

Source/WebCore/Modules/fetch/FormDataConsumer.h:56:18: error: 'auto' not allowed in function prototype

10:09 AM Changeset in webkit [293102] by Russell Epstein
  • 10 edits in branches/safari-614.1.10-branch

Cherry-pick r293043. rdar://problem/91910145

Various WebKit tools need to be told about the system content path
https://bugs.webkit.org/show_bug.cgi?id=239516

Reviewed by Ryan Haddad.

Source/JavaScriptCore:

Added the INSTALL_PATH_PREFIX to the INSTALL_PATH for TestAPI and the JSC tools.
This will contain the system content path prefix when enabled.

  • Configurations/TestAPI.xcconfig:
  • Configurations/ToolExecutable.xcconfig:

Tools:

Added the INSTALL_PATH_PREFIX to the INSTALL_PATH for the webkit test tools.
This will contain the system content path prefix when enabled.

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • DumpRenderTree/mac/Configurations/DumpRenderTree.xcconfig:
  • DumpRenderTree/mac/Configurations/LayoutTestHelper.xcconfig:
  • DumpRenderTree/mac/Configurations/TestNetscapePlugIn.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/BaseTarget.xcconfig:

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

10:08 AM Changeset in webkit [293101] by mmaxfield@apple.com
  • 110 edits
    29 adds in trunk

[WebGPU] Update WebGPU CTS to revision 549d7c2f1637321a9247f0a3ab022f919e5ca5da
https://bugs.webkit.org/show_bug.cgi?id=239444

Reviewed by Kimmo Kinnunen.

Tools:

  • Scripts/import-webgpu-cts:

LayoutTests:

This includes a fix for api/validation/createTexture.

  • http/tests/webgpu/common/framework/fixture.js:

(export.Fixture.prototype.eventualExpectOK):
(export.Fixture):

  • http/tests/webgpu/common/internal/version.js:
  • http/tests/webgpu/cts.https.html:
  • http/tests/webgpu/webgpu/api/operation/adapter/requestDevice_limits.spec.js:

(g.test.string_appeared_here.desc.Test.that.specifying.limits.that.aren.requestDevice.to.reject.fn.async t):
(string_appeared_here.fn.async t):
(kLimits.beginSubcases.expandWithParams.p.switch.case):
(kLimits.beginSubcases.expandWithParams.p.switch):
(fn.async t):
(fn.async t.switch.case):
(65535.fn.async t): Deleted.

  • http/tests/webgpu/webgpu/api/operation/command_buffer/copyTextureToTexture.spec.js:

(F.prototype.GetRenderPipelineForT2TCopyWithDepthTests):

  • http/tests/webgpu/webgpu/api/operation/command_buffer/image_copy.spec.js:

(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.async checkStencilTextureContent):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest.prototype.DoCopyTextureToBufferWithDepthAspectTest):
(0.and.is.isnstring_appeared_heret.power.of.2.values.also.including.ImageCopyTest):

  • http/tests/webgpu/webgpu/api/operation/command_buffer/programmable/programmable_state_test.js:

(export.ProgrammableStateTest.prototype.createBindingStatePipeline):

  • http/tests/webgpu/webgpu/api/operation/command_buffer/render/state_tracking.spec.js:

(VertexAndIndexStateTrackingTest.prototype.GetRenderPipelineForTest):
(VertexAndIndexStateTrackingTest):
(The.test.verifies.both.of.these.two.draw.calls.work.correctly.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/compute/basic.spec.js:

(g.test.string_appeared_here.fn.async t):
(kMaxComputeWorkgroupSize.p.largeDimension.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/memory_sync/buffer/buffer_sync_test.js:

(export.checkOpsValidForContext):
(export.BufferSyncTest.prototype.async createIntermediateBuffersAndTexturesForWriteOp):
(export.BufferSyncTest.prototype.async createBuffersForReadOp):
(export.BufferSyncTest.prototype.async createBufferWithValue):
(export.BufferSyncTest.prototype.async createBufferWithValues):
(export.BufferSyncTest.prototype.async createTextureWithValue):
(export.BufferSyncTest.prototype.createStorageWriteComputePipeline):
(export.BufferSyncTest.prototype.createTrivialRenderPipeline):
(export.BufferSyncTest.prototype.createStorageWriteRenderPipeline):
(export.BufferSyncTest.prototype.beginSimpleRenderPass):
(export.BufferSyncTest.prototype.encodeWriteAsStorageBufferInRenderPass):
(export.BufferSyncTest.prototype.encodeWriteAsStorageBufferInComputePass):
(export.BufferSyncTest.prototype.encodeWriteByB2BCopy):
(export.BufferSyncTest.prototype.encodeWriteByT2BCopy):
(export.BufferSyncTest.prototype.writeByWriteBuffer):
(export.BufferSyncTest.prototype.encodeWriteOp):
(export.BufferSyncTest.prototype.createStorageReadComputePipeline):
(export.BufferSyncTest.prototype.createBindGroupSrcDstBuffer):
(export.BufferSyncTest.prototype.createVertexReadRenderPipeline):
(export.BufferSyncTest.prototype.createUniformReadRenderPipeline):
(export.BufferSyncTest.prototype.createStorageReadRenderPipeline):
(export.BufferSyncTest.prototype.encodeReadAsStorageBufferInComputePass):
(export.BufferSyncTest.prototype.encodeReadAsIndirectBufferInComputePass):
(export.BufferSyncTest.prototype.encodeReadAsVertexBufferInRenderPass):
(export.BufferSyncTest.prototype.encodeReadAsIndexBufferInRenderPass):
(export.BufferSyncTest.prototype.encodeReadAsIndirectBufferInRenderPass):
(export.BufferSyncTest.prototype.encodeReadAsIndexedIndirectBufferInRenderPass):
(export.BufferSyncTest.prototype.encodeReadAsUniformBufferInRenderPass):
(export.BufferSyncTest.prototype.encodeReadAsStorageBufferInRenderPass):
(export.BufferSyncTest.prototype.encodeReadByB2BCopy):
(export.BufferSyncTest.prototype.encodeReadByB2TCopy):
(export.BufferSyncTest.prototype.encodeReadOp):
(export.BufferSyncTest.prototype.async encodeWriteByB2BCopy): Deleted.
(export.BufferSyncTest.prototype.async encodeWriteByT2BCopy): Deleted.
(export.BufferSyncTest.prototype.async encodeWriteOp): Deleted.
(export.BufferSyncTest.prototype.async createCommandBufferWithWriteOp): Deleted.
(export.BufferSyncTest.prototype.async submitWriteOp): Deleted.

  • http/tests/webgpu/webgpu/api/operation/memory_sync/buffer/multiple_buffers.html: Added.
  • http/tests/webgpu/webgpu/api/operation/memory_sync/buffer/multiple_buffers.spec.js: Added.
  • http/tests/webgpu/webgpu/api/operation/memory_sync/buffer/single_buffer-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/memory_sync/buffer/single_buffer.html: Added.
  • http/tests/webgpu/webgpu/api/operation/memory_sync/buffer/single_buffer.spec.js: Added.

(p.kBoundaryInfo.p.boundary.contexts.expandWithParams):
(fn.async t):
(true.fn.async t):
(g.test.string_appeared_here.desc.Test.write.after.write.operations.in.the.same.render.bundle.The.first.write.will.write.1.into.a.storage.buffer.The.second.write.will.write.2.into.the.same.buffer.in.the.same.pass.Expected.data.in.buffer.is.either.1.or.2.fn.async t):
(g.test.string_appeared_here.desc.Test.write.after.write.operations.in.the.same.compute.pass.The.first.write.will.write.1.into.a.storage.buffer.The.second.write.will.write.2.into.the.same.buffer.in.the.same.pass.Expected.data.in.buffer.is.2.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/memory_sync/operation_context_helper.js: Added.

(combineContexts):
(export.OperationContextHelper):
(export.OperationContextHelper.prototype.ensureSubmit):
(export.OperationContextHelper.prototype.popContext):
(export.OperationContextHelper.prototype.makeDummyAttachment):
(export.OperationContextHelper.prototype.ensureContext):
(export.OperationContextHelper.prototype.flushRenderBundles):
(export.OperationContextHelper.prototype.flushCommandBuffers):
(export.OperationContextHelper.prototype.ensureBoundary):

  • http/tests/webgpu/webgpu/api/operation/memory_sync/texture/same_subresource.spec.js:

(TextureSyncTestHelper):
(TextureSyncTestHelper.prototype.performWriteOp):
(TextureSyncTestHelper.prototype.ensureSubmit): Deleted.
(TextureSyncTestHelper.prototype.popContext): Deleted.
(TextureSyncTestHelper.prototype.makeDummyAttachment): Deleted.
(TextureSyncTestHelper.prototype.ensureContext): Deleted.
(TextureSyncTestHelper.prototype.flushRenderBundles): Deleted.
(TextureSyncTestHelper.prototype.flushCommandBuffers): Deleted.
(TextureSyncTestHelper.prototype.ensureBoundary): Deleted.

  • http/tests/webgpu/webgpu/api/operation/memory_sync/texture/texture_sync_test.js:

(combineContexts): Deleted.

  • http/tests/webgpu/webgpu/api/operation/render_pass/resolve.spec.js:
  • http/tests/webgpu/webgpu/api/operation/render_pass/storeOp.spec.js:

(kArrayLayers.fn.t.else):

  • http/tests/webgpu/webgpu/api/operation/rendering/basic.spec.js:
  • http/tests/webgpu/webgpu/api/operation/rendering/blending.spec.js:
  • http/tests/webgpu/webgpu/api/operation/rendering/depth.spec.js:
  • http/tests/webgpu/webgpu/api/operation/rendering/depth_clip_clamp.spec.js:

(fn.async t):

  • http/tests/webgpu/webgpu/api/operation/rendering/draw.spec.js:

(9.undefined.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/resource_init/buffer.spec.js:
  • http/tests/webgpu/webgpu/api/operation/resource_init/check_texture/by_copy.js:

(export.const.checkContentsByBufferCopy):
(export.const.checkContentsByTextureCopy):

  • http/tests/webgpu/webgpu/api/operation/resource_init/check_texture/by_ds_test.js:

(const.checkContents):

  • http/tests/webgpu/webgpu/api/operation/resource_init/check_texture/by_sampling.js:

(export.const.checkContentsBySampling):

  • http/tests/webgpu/webgpu/api/operation/resource_init/texture_zero.spec.js:

(export.TextureZeroInitTest.prototype.initializeWithStoreOp):
(export.TextureZeroInitTest.prototype.discardTexture):
(export.TextureZeroInitTest):

  • http/tests/webgpu/webgpu/api/operation/sampling/anisotropy.spec.js:

(SamplerAnisotropicFilteringSlantedPlaneTest.prototype.async init):

  • http/tests/webgpu/webgpu/api/operation/texture_view/format_reinterpretation-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/operation/texture_view/format_reinterpretation.html: Added.
  • http/tests/webgpu/webgpu/api/operation/texture_view/format_reinterpretation.spec.js: Added.

(makeInputTexelView):
(viewFormat.fn.async t):
(4.fn.async t):

  • http/tests/webgpu/webgpu/api/operation/texture_view/read.spec.js:
  • http/tests/webgpu/webgpu/api/operation/texture_view/write.spec.js:
  • http/tests/webgpu/webgpu/api/operation/vertex_state/correctness.spec.js:

(prototype.makeTestWGSL):

  • http/tests/webgpu/webgpu/api/validation/attachment_compatibility.spec.js:

(F.prototype.createColorAttachment):
(F.prototype.createRenderPipeline):
(F):
(string_appeared_here.filter.p.p.format.depthStencilInfo.stencil):
(fn.async t):

  • http/tests/webgpu/webgpu/api/validation/buffer/create.spec.js:
  • http/tests/webgpu/webgpu/api/validation/createBindGroup.spec.js:

(false.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/createBindGroupLayout.spec.js:

(prototype.async g): Deleted.

  • http/tests/webgpu/webgpu/api/validation/createComputePipeline.spec.js:

(making.sure.that.the.test.working):

  • http/tests/webgpu/webgpu/api/validation/createRenderPipeline.spec.js:

(false.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/createTexture.spec.js:

(format.unless):
(2.fn.async t):
(fn.async t):
(format.fn.async t):
(kTextureFormats.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/createView.spec.js:

(true.fn.async t):
(kTextureFormats.fn.async t): Deleted.

  • http/tests/webgpu/webgpu/api/validation/encoding/beginRenderPass.spec.js:

(false.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/buffer_texture_copies.spec.js:

(string_appeared_here.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/clearBuffer.spec.js:

(kResourceStates.fn.async t):
(false.fn.async t):
(g.test.string_appeared_here.desc.Test.that.clearing.an.error.buffer.fails.fn.async t): Deleted.

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/compute_pass.spec.js:

(false.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/copyBufferToBuffer.spec.js:

(F.prototype.TestCopyBufferToBuffer):
(F):
(kResourceStates.fn.async t):
(fn.async t):
(kBufferUsages.fn.async t):
(g.test.string_appeared_here.fn.async t): Deleted.

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/copyTextureToTexture.spec.js:

(fn.async t):
(kTextureFormats.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/indirect_draw.spec.js:

(false.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/setIndexBuffer.spec.js:

(false.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/setPipeline.spec.js:

(false.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/setVertexBuffer.spec.js:

(false.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/render/state_tracking.spec.js:

(F.prototype.createRenderPipeline):

  • http/tests/webgpu/webgpu/api/validation/encoding/cmds/setBindGroup.spec.js:

(false.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/programmable/pipeline_bind_group_compat.spec.js:

(F.prototype.createComputePipelineWithLayout):

  • http/tests/webgpu/webgpu/api/validation/encoding/queries/general.spec.js:

(false.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/queries/resolveQuerySet.spec.js:

(g.test.string_appeared_here.desc.Tests.that.resolve.query.set must.be.with.valid.query.set and):
(g.test.string_appeared_here.desc.Tests.that.resolve.query.set must):
(kResourceStates.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/encoding/render_bundle.spec.js:

(fn.async t):

  • http/tests/webgpu/webgpu/api/validation/image_copy/buffer_related.spec.js:

(kResourceStates.fn.async t):
(false.fn.async t):
(fn.async t):
(bytesPerRow.undefined.copyHeightInBlocks.1.bytesPerRow.undefined.bytesPerRow.kTextureFormatInfo.format.bytesPerBlock.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/image_copy/image_copy.js:

(export.ImageCopyTest.prototype.testBuffer):
(export.ImageCopyTest):

  • http/tests/webgpu/webgpu/api/validation/image_copy/layout_related.spec.js:

(fn.async t):
(unless.p.p.dimension.string_appeared_here.p.copyHeightInBlocks.1.p.copyDepth.1.fn.async t): Deleted.

  • http/tests/webgpu/webgpu/api/validation/image_copy/texture_related.spec.js:

(false.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/queue/copyToTexture/CopyExternalImageToTexture.spec.js:
  • http/tests/webgpu/webgpu/api/validation/queue/submit.spec.js:

(fn.async t):

  • http/tests/webgpu/webgpu/api/validation/queue/writeBuffer.spec.js:

(kResourceStates.fn.async t):
(g.test.string_appeared_here.desc.Tests.that.the.data.ranges.given.to.GPUQueue.writeBuffer.are.properly.validated.Tests.calling.writeBuffer.with.both.TypedArrays.and.ArrayBuffers.and.checks.that.the.data.offset.and.size.is.interpreted.correctly.both.When.passing.a.TypedArray.the.data.offset.and.size.is.given.in.elements.When.passing.an.ArrayBuffer.the.data.offset.and.size.is.given.in.bytes.Also.verifies.that.the.specified.data.range.Describes.a.valid.range.of.the.destination.buffer.and.source.buffer.Fits.fully.within.the.destination.buffer.Has.a.byte.size.is.a.multiple.of.4.fn.async t.runTest):
(g.test.string_appeared_here.desc.Tests.that.the.data.ranges.given.to.GPUQueue.writeBuffer.are.properly.validated.Tests.calling.writeBuffer.with.both.TypedArrays.and.ArrayBuffers.and.checks.that.the.data.offset.and.size.is.interpreted.correctly.both.When.passing.a.TypedArray.the.data.offset.and.size.is.given.in.elements.When.passing.an.ArrayBuffer.the.data.offset.and.size.is.given.in.bytes.Also.verifies.that.the.specified.data.range.Describes.a.valid.range.of.the.destination.buffer.and.source.buffer.Fits.fully.within.the.destination.buffer.Has.a.byte.size.is.a.multiple.of.4.fn.async t):
(false.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/render_pass_descriptor.spec.js:

(true.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/resource_usages/texture/in_pass_encoder.spec.js:

(unless.p.kTextureFormatInfo.p.format.depth.kTextureFormatInfo.p.format.stencil.p.aspect0.string_appeared_here.p.type0.string_appeared_here.p.aspect1.string_appeared_here.p.type1.string_appeared_here.unless.p.p.binding1InBundle.p.type1.string_appeared_here.unless.p.p.compute.p.binding0InBundle.p.binding1InBundle.p.type1.string_appeared_here.fn.async t):

  • http/tests/webgpu/webgpu/api/validation/resource_usages/texture/in_render_common.spec.js:

(F.prototype.createBindGroupForTest):
(F.prototype.isRangeNotOverlapped):
(F):
(false.unless.t.t.inSamePass.t.level0.t.level1.fn.async t):
(false.fn.async t):
(false.unless.t.t.inSamePass.t.baseLevel0.t.baseLevel1.fn.async t): Deleted.

  • http/tests/webgpu/webgpu/api/validation/resource_usages/texture/in_render_misc.spec.js:

(F.prototype.createBindGroupLayoutForTest):
(F.prototype.createBindGroupForTest):
(F):
(false.fn.async t):
(usage0.string_appeared_here.usage0.string_appeared_here.usage1.string_appeared_here.usage1.string_appeared_here.fn.async t):
(or.different.subresources.of.the.same.texture.texture.usages.in.copies.and.in.render.pass.consecutively.set bind): Deleted.

  • http/tests/webgpu/webgpu/api/validation/state/device_lost/destroy-expected.txt: Added.
  • http/tests/webgpu/webgpu/api/validation/state/device_lost/destroy.html: Added.
  • http/tests/webgpu/webgpu/api/validation/state/device_lost/destroy.spec.js: Added.

(DeviceDestroyTests.prototype.async executeAfterDestroy):
(DeviceDestroyTests.prototype.async executeCommandsAfterDestroy):
(DeviceDestroyTests):
(false.filter):
(false.fn.async t):
(fn.async t):
(g.test.string_appeared_here.desc.Tests.creating.bind.group.on.destroyed.device.Tests.valid.combinations.of.Various.binded.resource.types.Various.valid.binding.entries.Maximum.set of):
(g.test.string_appeared_here.desc.Tests.creating.bind.group.layouts.on.destroyed.device.Tests.valid.combinations.of.Various.valid.binding.entries.Maximum.set of):

  • http/tests/webgpu/webgpu/api/validation/validation_test.js:

(export.ValidationTest.prototype.getNoOpShaderCode):
(export.ValidationTest.prototype.createNoOpRenderPipeline):
(export.ValidationTest.prototype.createNoOpComputePipeline):

  • http/tests/webgpu/webgpu/api/validation/vertex_state.spec.js:
  • http/tests/webgpu/webgpu/capability_info.js:

(export.resolvePerAspectFormat):
(export.viewCompatible):

  • http/tests/webgpu/webgpu/constants.js:
  • http/tests/webgpu/webgpu/gpu_test.js:

(export.GPUTest.prototype.expectSingleColor):
(export.GPUTest.prototype.readSinglePixelFrom2DTexture):
(export.GPUTest.prototype.async expectDeviceLost):
(export.GPUTest.prototype.makeTextureWithContents):
(export.GPUTest.prototype.createEncoder):
(export.GPUTest):
(export.GPUTest.prototype.async makeBufferWithContents): Deleted.

  • http/tests/webgpu/webgpu/listing.js:
  • http/tests/webgpu/webgpu/shader/execution/evaluation_order-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/evaluation_order.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/evaluation_order.spec.js: Added.

(run):

  • http/tests/webgpu/webgpu/shader/execution/expression/binary/f32_arithmetic.spec.js:

(calculateResults):
(makeCaseImpl):
(4.fn.async t):
(fullNumericRange): Deleted.

  • http/tests/webgpu/webgpu/shader/execution/expression/binary/f32_logical-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/binary/f32_logical.html: Added.
  • http/tests/webgpu/webgpu/shader/execution/expression/binary/f32_logical.spec.js: Added.

(makeCase):
(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/atan.spec.js:

(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/atan2.spec.js:

(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/clamp.spec.js:

(calculateMinMaxClamp):
(calculateMedianClamp):
(generateIntegerTestCases):
(generateFloatTestCases):
(4.fn.async t):
(generateTestCases): Deleted.

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/inversesqrt.spec.js:

(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/call/builtin/ldexp.spec.js:

(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/expression/expression.js:
  • http/tests/webgpu/webgpu/shader/execution/expression/unary/f32_arithmetic.spec.js:

(4.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/memory_model/memory_model_setup.js:
  • http/tests/webgpu/webgpu/shader/execution/robust_access.spec.js:

(runShaderTest):

  • http/tests/webgpu/webgpu/shader/execution/robust_access_vertex.spec.js:

(F.prototype.generateVertexShaderCode):

  • http/tests/webgpu/webgpu/shader/execution/sampling/gradients_in_varying_loop.spec.js:

(DerivativesTest.prototype.async init):

  • http/tests/webgpu/webgpu/shader/execution/shader_io/compute_builtins.spec.js:
  • http/tests/webgpu/webgpu/shader/execution/shader_io/shared_structs.spec.js:

(and.the.layout.attributes.should.be.ignored.when.used.as.an.entry.point.IO.parameter.fn.async t):
(and.uses.it.as.both.the.output.of.a.vertex.shader.and.the.input.to.a.fragment.shader.fn.async t):
(and.uses.those.structures.as.parameter.and.return.types.entry.point.functions.and.regular.functions.fn.async t):

  • http/tests/webgpu/webgpu/shader/execution/zero_init.spec.js:
  • http/tests/webgpu/webgpu/shader/types.js:
  • http/tests/webgpu/webgpu/shader/validation/shader_io/builtins.spec.js:
  • http/tests/webgpu/webgpu/shader/validation/shader_io/generic.spec.js:
  • http/tests/webgpu/webgpu/shader/validation/shader_io/invariant.spec.js:

(false.beginSubcases.fn.t.const.code.struct.VertexOut.location):

  • http/tests/webgpu/webgpu/shader/validation/shader_io/locations.spec.js:
  • http/tests/webgpu/webgpu/shader/validation/shader_io/util.js:

(export.generateShader):

  • http/tests/webgpu/webgpu/shader/validation/tokens-expected.txt: Added.
  • http/tests/webgpu/webgpu/shader/validation/tokens.html: Added.
  • http/tests/webgpu/webgpu/shader/validation/tokens.spec.js: Added.

(string_appeared_here.beginSubcases.fn.t.else):

  • http/tests/webgpu/webgpu/shader/validation/variable_and_const.spec.js:

(fn.t.prototype.else):

  • http/tests/webgpu/webgpu/util/check_contents.js:
  • http/tests/webgpu/webgpu/util/color_space_conversion.js:

(XYZ_to_lin_sRGB):
(lin_P3_to_XYZ):
(XYZ_to_lin_P3):
(export.makeInPlaceColorConversion):

  • http/tests/webgpu/webgpu/util/command_buffer_maker.js:

(export.CommandBufferMaker):

  • http/tests/webgpu/webgpu/util/conversion.js:

(export.floatAsNormalizedInteger):
(export.float32ToFloatBits):
(export.numberToFloatBits):

  • http/tests/webgpu/webgpu/util/copy_to_texture.js:

(export.CopyToTextureUtils.prototype.getExpectedPixels):
(export.CopyToTextureUtils.prototype.doTestAndCheckResult):
(export.CopyToTextureUtils):
(isFp16Format): Deleted.
(isFp32Format): Deleted.
(isUnormFormat): Deleted.
(export.CopyToTextureUtils.prototype.formatForExpectedPixels): Deleted.
(export.CopyToTextureUtils.prototype.getSourceImageBitmapPixels): Deleted.
(export.CopyToTextureUtils.prototype.checkCopyExternalImageResult): Deleted.
(export.CopyToTextureUtils.prototype.async checkBufferWithRowPitch): Deleted.

  • http/tests/webgpu/webgpu/util/create_elements.js:

(export.canCopyFromCanvasContext):
(export.createCanvas):

  • http/tests/webgpu/webgpu/util/device_pool.js:

(export.DevicePool.prototype.async reserve):
(export.DevicePool.prototype.async release):
(export.DevicePool):
(canonicalizeDescriptor):
(DeviceHolder.prototype.expectDeviceLost):

  • http/tests/webgpu/webgpu/util/math.js:
  • http/tests/webgpu/webgpu/util/texture.js: Added.

(export.makeTextureWithContents):

  • http/tests/webgpu/webgpu/util/texture/layout.js:

(export.getTextureCopyLayout):

  • http/tests/webgpu/webgpu/util/texture/texel_data.js:

(export.makeClampToRange):
(unpackComponentsBits):
(makeNormalizedInfo):
(makeIntegerInfo):
(makeFloatInfo):
(packComponents): Deleted.
(export.const.kTexelRepresentationInfo.rgba32float.makeFloatInfo): Deleted.
(export.getSingleDataType): Deleted.
(export.getComponentReadbackTraits): Deleted.

  • http/tests/webgpu/webgpu/util/texture/texel_view.js: Added.

(export.TexelView.prototype.fromTextureDataByReference):
(export.TexelView.fromTexelsAsBytes):
(export.TexelView.prototype.fromTexelsAsColors):
(export.TexelView.prototype.writeTextureData):
(export.TexelView):

  • http/tests/webgpu/webgpu/util/texture/texture_ok-expected.txt: Added.
  • http/tests/webgpu/webgpu/util/texture/texture_ok.html: Added.
  • http/tests/webgpu/webgpu/util/texture/texture_ok.js: Added.

(makeTexelViewComparer):
(makeTexelViewComparer.):

  • http/tests/webgpu/webgpu/util/texture/texture_ok.spec.js: Added.

(fn.async t):

  • http/tests/webgpu/webgpu/web_platform/canvas/readbackFromWebGPUCanvas.spec.js:

(allCanvasTypes.fn.async t): Deleted.

  • http/tests/webgpu/webgpu/web_platform/copyToTexture/ImageBitmap.spec.js:

(makeTestColorsTexelView):
(F.prototype.generatePixel): Deleted.
(F.prototype.getImagePixels): Deleted.
(F): Deleted.
(fn.async t): Deleted.

  • http/tests/webgpu/webgpu/web_platform/copyToTexture/canvas.spec.js:

(F.prototype.init2DCanvasContentWithColorSpace):
(F.prototype.init2DCanvasContent):
(F.prototype.initGLCanvasContent):
(F.prototype.getInitGPUCanvasData):
(F.prototype.initGPUCanvasContent):
(F.prototype.calculateSourceContentOnCPU):
(F):
(fn.async t):
(F.prototype.getTestImageURLByColorSpace): Deleted.

  • platform/ios-device-wk1/TestExpectations:
  • platform/ios-simulator-wk1/TestExpectations:
  • platform/mac-wk1/TestExpectations:
9:35 AM Changeset in webkit [293100] by Oriol Brufau
  • 4 edits in trunk/Source/WebCore

[css-cascade] Optimize code for deferred properties
https://bugs.webkit.org/show_bug.cgi?id=238260

Reviewed by Darin Adler.

CSS declarations for deferred properties were just appended to a vector,
which could grow huge. Then StyleBuilder would apply them one by one,
doing useless work if a property appeared multiple times.

The point of deferred properties is that they should be applied in
relative order. But if a property appears multiple times, we should only
care about the last occurrence.

So this patch removes the vector and instead stores the Property in the
same array as non-deferred properties. To track the indices, it uses an
array instead of a HashMap.

When applying the properties, the property IDs are placed in a vector,
which is then sorted according to the corresponding indices. This can
have some overhead, but the size of the vector will be limited by the
number of deferred properties. Currently there are only 8 of these (in
bug 236199 I plan to add 96 more, but 104 is still not that big).

No new tests since there should be no change in behavior.

  • style/PropertyCascade.cpp:

(WebCore::Style::PropertyCascade::buildCascade):
Call sortDeferredPropertyIDs().

(WebCore::Style::initializeCSSValue):
Move a low-level idiom into its own function.

(WebCore::Style::PropertyCascade::set):
Use the new initializeCSSValue().

(WebCore::Style::PropertyCascade::setDeferred):
Use the new data structures for deferred properties.

(WebCore::Style::PropertyCascade::sortDeferredPropertyIDs):
New private method to sort the deferred property IDs according to their
index.

  • style/PropertyCascade.h:

(WebCore::Style::PropertyCascade::deferredPropertyIndex const):
New private method to get the index of the deferred property.

(WebCore::Style::PropertyCascade::setDeferredPropertyIndex):
New private method to set the index of a deferred property.

(WebCore::Style::PropertyCascade::hasDeferredProperty const):
Use the new data structures for deferred properties.

(WebCore::Style::PropertyCascade::deferredProperty const):
Use the new data structures for deferred properties.

(WebCore::Style::PropertyCascade::deferredPropertyIDs const):
New method to get the deferred property IDs sorted by their index.

(WebCore::Style::PropertyCascade::deferredProperties const): Deleted.

  • style/StyleBuilder.cpp:

(WebCore::Style::Builder::applyDeferredProperties):
Use the new data structures for deferred properties.

9:17 AM Changeset in webkit [293099] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[ Monterey Release arm64 ] TestWebKitAPI.ContentRuleList.ResourceTypes is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=239523

Patch by Alex Christensen <achristensen@webkit.org> on 2022-04-20
Reviewed by Chris Dumez.

If the request count isn't the expected value, wait until it is.

  • TestWebKitAPI/Tests/WebKitCocoa/ContentRuleListNotification.mm:

(TEST):

9:10 AM Changeset in webkit [293098] by mmaxfield@apple.com
  • 8 edits
    1 move
    1 add
    1 delete in trunk/Source/WebGPU

[WebGPU] Expand hardware capabilities to include features (beyond just limits)
https://bugs.webkit.org/show_bug.cgi?id=239443

Reviewed by Kimmo Kinnunen.

Only MTLGPUFamilyApple devices support depth/stencil textures in the managed/shared address space.
So, we have to expand the hardware capabilities infrastructure to be able to hold this kind
of information (so the texture creation function can consult with this state to know what storage
mode to use for the created texture). This patch replaces the stored WGPULimits struct with a new
struct, HardwareCapabilities, which holds a WGPULimits iniside it.

While I was here, I also included a Vector<WGPUFeature> inside the HardwareCapabilities struct,
and hooked it up to the various places which need to be guarded by the presence of features.
This is needed for compressed textures to work (among other things). Because there are only
a handful of possible features, I elected to use a sorted Vector instead of using the big HashSet
hammer.

  • WebGPU.xcodeproj/project.pbxproj:
  • WebGPU/Adapter.h:

(WebGPU::Adapter::create):

  • WebGPU/Adapter.mm:

(WebGPU::Adapter::Adapter):
(WebGPU::Adapter::enumerateFeatures):
(WebGPU::Adapter::getLimits):
(WebGPU::Adapter::hasFeature):
(WebGPU::Adapter::requestDevice):

  • WebGPU/Device.h:

(WebGPU::Device::limits const):
(WebGPU::Device::features const):
(WebGPU::Device::baseCapabilities const):

  • WebGPU/Device.mm:

(WebGPU::Device::create):
(WebGPU::Device::Device):
(WebGPU::Device::enumerateFeatures):
(WebGPU::Device::getLimits):
(WebGPU::Device::hasFeature):

  • WebGPU/HardwareCapabilities.h: Renamed from Source/WebGPU/WebGPU/HardwareLimits.h.
  • WebGPU/HardwareCapabilities.mm: Added.

(WebGPU::baseCapabilities):
(WebGPU::baseFeatures):
(WebGPU::apple3):
(WebGPU::apple4):
(WebGPU::apple5):
(WebGPU::apple6):
(WebGPU::apple7):
(WebGPU::mac2):
(WebGPU::mergeMaximum):
(WebGPU::mergeAlignment):
(WebGPU::mergeLimits):
(WebGPU::mergeFeatures):
(WebGPU::mergeBaseCapabilities):
(WebGPU::rawHardwareCapabilities):
(WebGPU::anyLimitIsBetterThan):
(WebGPU::includesUnsupportedFeatures):
(WebGPU::checkLimits):
(WebGPU::hardwareCapabilities):
(WebGPU::isValid):

  • WebGPU/HardwareLimits.mm: Removed.
  • WebGPU/Instance.mm:

(WebGPU::Instance::requestAdapter):

  • WebGPU/Texture.mm:

(WebGPU::featureRequirementForFormat):
(WebGPU::Device::validateCreateTexture):
(WebGPU::storageMode):
(WebGPU::Device::createTexture):

9:03 AM Changeset in webkit [293097] by Russell Epstein
  • 2 edits in branches/safari-614.1.10-branch/Source/WebGPU

Cherry-pick r292760. rdar://problem/91351306

[WebGPU] Fix the tvOS build (again)
https://bugs.webkit.org/show_bug.cgi?id=239106
<rdar://problem/91351306>

Unreviewed.

Turns out PLATFORM(APPLETV) and PLATFORM(TVOS) are different things.

  • WebGPU/Texture.mm: (WebGPU::Device::createTexture): (WebGPU::Texture::createView):

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

8:56 AM Changeset in webkit [293096] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore/PAL

[WebGPU] Fix texture conversion format typo
https://bugs.webkit.org/show_bug.cgi?id=239446

Reviewed by Kimmo Kinnunen.

I mixed up "plus" and "unorm".

  • pal/graphics/WebGPU/Impl/WebGPUConvertToBackingContext.cpp:

(PAL::WebGPU::ConvertToBackingContext::convertToBacking):

8:32 AM Changeset in webkit [293095] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebGPU

[WebGPU] RGB9E5Ufloat textures are not renderable
https://bugs.webkit.org/show_bug.cgi?id=239445

Reviewed by Kimmo Kinnunen.

I misread the table in the spec. This format isn't listed in
https://gpuweb.github.io/gpuweb/#plain-color-formats but is instead
listed in https://gpuweb.github.io/gpuweb/#packed-formats.

  • WebGPU/Texture.mm:

(WebGPU::isRenderableFormat):

8:04 AM Changeset in webkit [293094] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Some AutoscrollController cleanup
https://bugs.webkit.org/show_bug.cgi?id=239512

Reviewed by Alan Bujtas.

Have AutoscrollController store a WeakPtr to the render object. Address an apparent
null de-ref in AutoscrollController::stopAutoscrollTimer() where the Frame can null.

Refactor updateDragAndDrop() with a lambda so that all the code paths that exit early
clearly call stopAutoscrollTimer() which nulls out the renderer.

  • page/AutoscrollController.cpp:

(WebCore::AutoscrollController::autoscrollRenderer const):
(WebCore::AutoscrollController::startAutoscrollForSelection):
(WebCore::AutoscrollController::stopAutoscrollTimer):
(WebCore::AutoscrollController::updateAutoscrollRenderer):
(WebCore::AutoscrollController::updateDragAndDrop):
(WebCore::AutoscrollController::startPanScrolling):

  • page/AutoscrollController.h:
  • page/EventHandler.cpp:

(WebCore::EventHandler::startPanScrolling):

6:51 AM Changeset in webkit [293093] by zan@falconsigh.net
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, RISC-V build fix.

  • assembler/MacroAssemblerRISCV64.h:

(JSC::MacroAssemblerRISCV64::store64):
Add the store64(TrustedImmPtr, Address) overload required after 249798@main.
It constructs a 32-bit or 64-bit TrustedImm value, based on the detected
pointer size, and relays it to the appropriate store64() method.

6:36 AM Changeset in webkit [293092] by zan@falconsigh.net
  • 2 edits in trunk/Source/JavaScriptCore

[JSC] Accommodate the RISCV64 C calling convention
https://bugs.webkit.org/show_bug.cgi?id=236367
<rdar://problem/89026012>

Reviewed by Yusuke Suzuki.

The 64-bit RISC-V (RV64) calling convention requires 32-bit arguments
to be sign-extended to fill out the whole 64-bit register, fitting
nicely with different instructions in this ISA that operate on 32-bit
values, and differring from other 64-bit ISAs that provide partial-sized
registers (which are aliased to the whole register).

JSC JIT is tailored to the other ISAs, often taking shortcuts to pack
non-sign-extended values into registers that are then accessed for those
32-bit values through the partial-sized aliases. This can trip up RISC-V
execution when constructing calls that pass 32-bit values to native code
using the C calling convention.

To avoid this, arguments setup done through the CCallHelpers class is
enhanced to, after packing up arguments either into argument registers
or onto the stack, another pass of the argument types for the desired
operation is done, detecting whether the argument was supposed to be
packed into an GPR or an FPR destination. On RV64, when packed into a
GPR argument register that matches a 32-bit argument in the operation,
the additional sign extension is performed on that argument register.

GPR and FPR distinction for a given argument's register type is based
on whether or not the double type is used as the argument's type. All
non-double-typed arguments are passed as GPRs. Additional compile-time
validation is provided to ensure that's the case for every operation
that's having its arguments set up. This is relied upon when traversing
the operation's arguments and indexing every GPR argument along the way.

This approach only accommodates the RV64 calling convention for the
Baseline JIT level. For higher levels, similar but probably different
solutions will have to be crafted.

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::finalizeGPRArguments):
(JSC::CCallHelpers::gprArgsCount):
(JSC::CCallHelpers::fprArgsCount):
(JSC::CCallHelpers::setupArgumentsImpl):
(JSC::CCallHelpers::setupArgumentsEntryImpl):

5:56 AM Changeset in webkit [293091] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

[GStreamer] REGRESSION(r285586): we never end the playback of some videos
https://bugs.webkit.org/show_bug.cgi?id=239387

Patch by Yacine Bandou <yacine.bandou@softathome.com> on 2022-04-20
Reviewed by Philippe Normand.

Source/WebCore:

If the sinks have the EOS flag, we shouldn't ignore the EOS message.
Without this commit we never end the playback of some videos,
because we ignore the EOS message, like this one:
https://www.tv5mondeplus.com/bumpers/tv5_bumper.mp4

Test: media/video-inaccurate-duration-ended.html

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

LayoutTests:

  • media/content/test-inaccurate-duration.mp4: Added.
  • media/video-inaccurate-duration-ended-expected.txt: Added.
  • media/video-inaccurate-duration-ended.html: Added.
4:51 AM Changeset in webkit [293090] by cathiechen
  • 30 edits in trunk

Parsing of contain-intrinsic-size and adding a runtime flag for it
https://bugs.webkit.org/show_bug.cgi?id=238181

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

  • web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/animation/contain-intrinsic-size-interpolation-expected.txt:
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-computed-expected.txt:
  • web-platform-tests/css/css-sizing/contain-intrinsic-size/parsing/contain-intrinsic-size-valid-expected.txt:
  • web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:

Source/WebCore:

Parsing of contain-intrinsic-size according to [1]. In order to parse the shorthand properly,
the latest draft has been updated to "none | <length> | auto <length>". ContainIntrinsicSizeType
in RenderStyle, indicates the type of value. containIntrinsicWidth/Height indicates the length
value for Length and AutoAndLength type.
Thanks to Rob Buis for helping with this patch.

[1] https://www.w3.org/TR/css-sizing-4/#intrinsic-size-override

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForContainIntrinsicSize):
(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

  • css/CSSProperties.json:
  • css/StyleProperties.cpp:

(WebCore::StyleProperties::getPropertyValue const):
(WebCore::StyleProperties::asTextInternal const):

  • css/parser/CSSParserContext.cpp:

(WebCore::operator==):
(WebCore::add):
(WebCore::CSSParserContext::isPropertyRuntimeDisabled const):

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

(WebCore::consumeContainIntrinsicSize):
(WebCore::CSSPropertyParser::parseSingleValue):
(WebCore::CSSPropertyParser::consumeContainIntrinsicSizeShorthand):
(WebCore::CSSPropertyParser::parseShorthand):

  • css/parser/CSSPropertyParser.h:
  • rendering/style/RenderStyle.h:

(WebCore::RenderStyle::containIntrinsicWidthType const):
(WebCore::RenderStyle::containIntrinsicHeightType const):
(WebCore::RenderStyle::containIntrinsicWidth const):
(WebCore::RenderStyle::containIntrinsicHeight const):
(WebCore::RenderStyle::setContainIntrinsicWidthType):
(WebCore::RenderStyle::setContainIntrinsicHeightType):
(WebCore::RenderStyle::setContainIntrinsicWidth):
(WebCore::RenderStyle::setContainIntrinsicHeight):
(WebCore::RenderStyle::initialContainIntrinsicWidthType):
(WebCore::RenderStyle::initialContainIntrinsicHeightType):
(WebCore::RenderStyle::initialContainIntrinsicWidth):
(WebCore::RenderStyle::initialContainIntrinsicHeight):

  • rendering/style/RenderStyleConstants.cpp:

(WebCore::operator<<):

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

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator== const):

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

(WebCore::Style::BuilderCustom::applyInitialContainIntrinsicWidth):
(WebCore::Style::BuilderCustom::applyInheritContainIntrinsicWidth):
(WebCore::Style::BuilderCustom::applyValueContainIntrinsicWidth):
(WebCore::Style::BuilderCustom::applyInitialContainIntrinsicHeight):
(WebCore::Style::BuilderCustom::applyInheritContainIntrinsicHeight):
(WebCore::Style::BuilderCustom::applyValueContainIntrinsicHeight):
(WebCore::Style::BuilderCustom::applyInitialContainIntrinsicBlockSize):
(WebCore::Style::BuilderCustom::applyInheritContainIntrinsicBlockSize):
(WebCore::Style::BuilderCustom::applyValueContainIntrinsicBlockSize):
(WebCore::Style::BuilderCustom::applyInitialContainIntrinsicInlineSize):
(WebCore::Style::BuilderCustom::applyInheritContainIntrinsicInlineSize):
(WebCore::Style::BuilderCustom::applyValueContainIntrinsicInlineSize):

Source/WTF:

  • Scripts/Preferences/WebPreferencesExperimental.yaml:

LayoutTests:

  • platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/gtk/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
3:43 AM Changeset in webkit [293089] by ntim@apple.com
  • 26 edits in trunk

Unprefix -webkit-user-select CSS property
https://bugs.webkit.org/show_bug.cgi?id=208677

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

WPT progressions.

  • web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • web-platform-tests/css/css-ui/inheritance-expected.txt:
  • web-platform-tests/css/css-ui/parsing/user-select-computed-expected.txt:
  • web-platform-tests/css/css-ui/parsing/user-select-valid-expected.txt:
  • web-platform-tests/inert/inert-computed-style-expected.txt:

Source/WebCore:

  • animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap):

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::valueForPropertyInStyle):

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

(WebCore::CSSParserFastPaths::isValidKeywordPropertyAndValue):
(WebCore::CSSParserFastPaths::isKeywordPropertyID):

  • css/html.css:

(#if defined(WTF_PLATFORM_IOS_FAMILY) && WTF_PLATFORM_IOS_FAMILY):
(input::-webkit-inner-spin-button):
(input::-webkit-strong-password-auto-fill-button):
(input::-webkit-credentials-auto-fill-button):
(input::-webkit-contacts-auto-fill-button):
(input::-webkit-credit-card-auto-fill-button):
(input::-webkit-caps-lock-indicator):
(#if defined(ENABLE_DATALIST_ELEMENT) && ENABLE_DATALIST_ELEMENT):
(textarea):
(input:-webkit-autofill-strong-password):

  • css/mediaControls.css:

(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
(audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
(video::-webkit-media-text-track-container):

  • css/plugIns.css:

(embed::-webkit-snapshotted-plugin-content > .snapshot-overlay > .snapshot-label,):

  • dom/ImageOverlay.cpp:

(WebCore::ImageOverlay::updateSubtree):
(WebCore::ImageOverlay::updateWithTextRecognitionResult):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::collectPresentationalHintsForAttribute):

LayoutTests:

  • editing/selection/user-select-js-property-expected.txt:
  • editing/selection/user-select-js-property.html:
  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/resources/property-names.js:
  • platform/gtk/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/ios/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • platform/wpe/imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
2:09 AM Changeset in webkit [293088] by ntim@apple.com
  • 2 edits in trunk/LayoutTests

[Debug] Skip editing/inserting/insert-list-user-select-none-crash.html

Unreviewed test gardening.

This started crashing after r293028, but it's not a direct cause of that bug. You can also
reproduce before r293028 by replacing user-select: none; in the test with user-select: text.

12:54 AM Changeset in webkit [293087] by Mikhail R. Gadelha
  • 14 edits in trunk/Source/JavaScriptCore

Unify calls and checks for CellTag
https://bugs.webkit.org/show_bug.cgi?id=238025

Reviewed by Yusuke Suzuki.

This patch moves all the places where cell tags are written and checked
when branching: this will be needed when implementing the concurrency on
32 bits archs, so we can focus on changing storeCell, branchIfNotCell and
branchIfCell to implement the mutex locks/unlocks.

It also reduces the code size in JetStream2 by ~1% on average on 32
bits platforms.

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::store8):
(JSC::MacroAssemblerARMv7::storePair32):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::storePair32):

  • dfg/DFGOSRExit.cpp:

(JSC::DFG::OSRExit::compileExit):

  • dfg/DFGOSRExitCompilerCommon.cpp:

(JSC::DFG::reifyInlinedCallFrames):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::checkArgumentTypes):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectStrictEquality):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::jitAssertIsCell):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::storeCell):
(JSC::AssemblyHelpers::storeTrustedValue):
(JSC::AssemblyHelpers::branchIfNotCell):
(JSC::AssemblyHelpers::branchIfCell):

  • jit/CallFrameShuffler32_64.cpp:

(JSC::CallFrameShuffler::emitStore):

  • jit/JSInterfaceJIT.h:

(JSC::JSInterfaceJIT::emitLoadJSCell):

12:43 AM Changeset in webkit [293086] by Diego Pino Garcia
  • 17 edits in trunk/Source

Unreviewed, non-unified build fixes after r293052

Source/WebCore:

  • css/typedom/numeric/CSSMathMin.cpp:
  • css/typedom/numeric/CSSMathNegate.cpp:
  • css/typedom/numeric/CSSMathProduct.cpp:
  • css/typedom/numeric/CSSMathSum.cpp:
  • css/typedom/transform/CSSSkew.cpp:
  • dom/CustomElementRegistry.cpp:
  • html/InputTypeNames.cpp:
  • inspector/agents/InspectorCSSAgent.cpp:
  • page/FocusController.cpp:
  • style/AttributeChangeInvalidation.cpp:
  • style/ClassChangeInvalidation.cpp:
  • style/ElementRuleCollector.cpp:
  • style/IdChangeInvalidation.cpp:
  • style/StyleSharingResolver.cpp:

Source/WebKit:

  • WebProcess/FullScreen/WebFullScreenManager.cpp:

(WebKit::WebFullScreenManager::handleEvent):

12:24 AM Changeset in webkit [293085] by ntim@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r293044): Extraneous border around AutoFill buttons in active and hover states
https://bugs.webkit.org/show_bug.cgi?id=239531

Unreviewed fix.

Used "Convert to Outlines" tool in Sketch for outlines, then cleaned up SVGs, instead of stroke atttributes.

  • css/html.css:

(input::-webkit-credentials-auto-fill-button:hover):
(input::-webkit-credentials-auto-fill-button:active):

Note: See TracTimeline for information about the timeline view.