Timeline
May 10, 2022:
- 9:27 PM Changeset in webkit [294050] by
-
- 4 edits in trunk
[Temporal] Years 0-999 should be canonically represented with 4 digits, not 6
https://bugs.webkit.org/show_bug.cgi?id=240294
Reviewed by Yusuke Suzuki.
This patch implements the spec change of https://github.com/tc39/proposal-temporal/issues/2082:
The range for 4-digit years in ISO8601 date strings should be 0-9999, not 1000-9999.
- test262/expectations.yaml:
Mark four test cases as passing.
- runtime/TemporalInstant.cpp:
Canonical link: https://commits.webkit.org/250456@main
- 6:07 PM Changeset in webkit [294049] by
-
- 3 edits3 adds in branches/safari-7613.3.1.1-branch
Cherry-pick r293736. rdar://problem/80891555
StorageMap::removeItem may fail to remove item from map
https://bugs.webkit.org/show_bug.cgi?id=239982
rdar://80891555
Reviewed by Chris Dumez.
Source/WebCore:
We may have updated m_impl, but we don't update iterator for removal. In this case, item is not removed from
map, but currentSize is updated. The mismatch between currentSize and actual size of the map may lead to
underflow and overflow in currentSize when item is added or removed later.
Test: storage/domstorage/sessionstorage/window-open-remove-item.html
- storage/StorageMap.cpp: (WebCore::StorageMap::removeItem):
LayoutTests:
- storage/domstorage/sessionstorage/resources/window-open-remove-item.html: Added.
- storage/domstorage/sessionstorage/window-open-remove-item-expected.txt: Added.
- storage/domstorage/sessionstorage/window-open-remove-item.html: Added.
Canonical link: https://commits.webkit.org/250224@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293736 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:07 PM Changeset in webkit [294048] by
-
- 3 edits in branches/safari-7613.3.1.1-branch/Source/ThirdParty/libwebrtc
Cherry-pick r293643. rdar://problem/92445366
[Mac] VTVideoDecoderClass object pointers can become unaligned on x86
https://bugs.webkit.org/show_bug.cgi?id=239916
<rdar://92445366>
Reviewed by Eric Carlson.
Both the base class and the derived class must be 4-byte aligned on x86, or there
is a chance that a pointer member of that struct will cross a page boundary, and
dereferencing that pointer will fail.
- Source/webrtc/sdk/WebKit/WebKitVP8Decoder.cpp:
- Source/webrtc/sdk/WebKit/WebKitVP9Decoder.cpp:
Canonical link: https://commits.webkit.org/250147@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293643 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:00 PM Changeset in webkit [294047] by
-
- 3 edits2 adds in trunk
Upstream TypedArray.prototype.fill speedup from bun
https://bugs.webkit.org/show_bug.cgi?id=239891
Reviewed by Saam Barati.
This patch imports bun's improvement in TypedArray#fill[1], bun is MIT licensed.
We use memset and its variant to fill TypedArray if possible.
Microbenchmarks show 5x improvement.
ToT Patched
typed-array-fill 1092.0348+-6.2496 221.3430+-9.1261 definitely 4.9337x faster
[1]: https://github.com/Jarred-Sumner/WebKit/commit/b06577c1f1de19d2ef3d4a87d14ea41909ddf5fc
- JSTests/microbenchmarks/typed-array-fill.js: Added.
- JSTests/stress/typed-array-fill-complicated.js: Added.
(shouldBe):
(throw.new.Error):
- Source/JavaScriptCore/runtime/JSGenericTypedArrayViewPrototypeFunctions.h:
(JSC::speciesConstruct):
(JSC::genericTypedArrayViewProtoFuncCopyWithin):
(JSC::genericTypedArrayViewProtoFuncIncludes):
(JSC::genericTypedArrayViewProtoFuncIndexOf):
(JSC::genericTypedArrayViewProtoFuncJoin):
(JSC::genericTypedArrayViewProtoFuncFill):
(JSC::genericTypedArrayViewProtoFuncLastIndexOf):
(JSC::genericTypedArrayViewProtoFuncReverse):
(JSC::genericTypedArrayViewPrivateFuncSort):
(JSC::genericTypedArrayViewProtoFuncSlice):
(JSC::genericTypedArrayViewPrivateFuncSubarrayCreate):
Canonical link: https://commits.webkit.org/250455@main
- 5:53 PM Changeset in webkit [294046] by
-
- 1 copy in tags/WebKit-7614.1.13.1
Tag WebKit-7614.1.13.1.
- 5:42 PM Changeset in webkit [294045] by
-
- 9 edits in branches/safari-7614.1.13-branch/Source
Versioning.
WebKit-7614.1.13.1
- 5:35 PM Changeset in webkit [294044] by
-
- 9 edits in branches/safari-614.1.11-branch/Source
Versioning.
WebKit-7614.1.11.9
- 5:26 PM Changeset in webkit [294043] by
-
- 9 edits in branches/safari-7613.3.1.1-branch/Source
Versioning.
WebKit-7613.3.1.1.1
- 5:09 PM Changeset in webkit [294042] by
-
- 12 edits1 add in branches/safari-7613.3.1.0-branch/Source
Cherry-pick r293804. rdar://92717726
Crash under WebCore: WebCore::CachedResourceClientWalker<WebCore::CachedImageClient>::next()
https://bugs.webkit.org/show_bug.cgi?id=240072
<rdar://92717726>
Reviewed by Geoff Garen.
Have CachedResource and CachedResourceClientWalker hold the clients via WeakPtrs instead of
raw pointers and null check them before usage. This is a lot safer.
- Source/WTF/WTF.xcodeproj/project.pbxproj:
- Source/WTF/wtf/WeakHashCountedSet.h: Added.
(WTF::WeakHashCountedSet::begin):
(WTF::WeakHashCountedSet::end):
(WTF::WeakHashCountedSet::begin const):
(WTF::WeakHashCountedSet::end const):
(WTF::WeakHashCountedSet::find):
(WTF::WeakHashCountedSet::find const):
(WTF::WeakHashCountedSet::contains const):
(WTF::WeakHashCountedSet::computeSize const):
(WTF::WeakHashCountedSet::clear):
(WTF::Counter>::add):
(WTF::Counter>::remove):
- Source/WebCore/html/HTMLLinkElement.h:
- Source/WebCore/loader/DocumentThreadableLoader.h:
- Source/WebCore/loader/ImageLoader.h:
- Source/WebCore/loader/LinkLoader.h:
- Source/WebCore/loader/cache/CachedImage.cpp:
(WebCore::CachedImage::addClientWaitingForAsyncDecoding):
- Source/WebCore/loader/cache/CachedResource.cpp:
(WebCore::CachedResource::didAddClient):
(WebCore::CachedResource::addClientToSet):
(WebCore::CachedResource::removeClient):
(WebCore::CachedResource::switchClientsToRevalidatedResource):
- Source/WebCore/loader/cache/CachedResource.h:
(WebCore::CachedResource::hasClients const):
(WebCore::CachedResource::hasClient):
(WebCore::CachedResource::numberOfClients const):
- Source/WebCore/loader/cache/CachedResourceClient.h:
- Source/WebCore/loader/cache/CachedResourceClientWalker.h:
(WebCore::CachedResourceClientWalker::CachedResourceClientWalker):
(WebCore::CachedResourceClientWalker::next):
- Source/WebCore/rendering/RenderObject.h:
Canonical link: https://commits.webkit.org/250278@main
- 5:09 PM Changeset in webkit [294041] by
-
- 3 edits3 adds in branches/safari-7613.3.1.0-branch
Cherry-pick r293736. rdar://80891555
StorageMap::removeItem may fail to remove item from map
https://bugs.webkit.org/show_bug.cgi?id=239982
rdar://80891555
Reviewed by Chris Dumez.
Source/WebCore:
We may have updated m_impl, but we don't update iterator for removal. In this case, item is not removed from
map, but currentSize is updated. The mismatch between currentSize and actual size of the map may lead to
underflow and overflow in currentSize when item is added or removed later.
Test: storage/domstorage/sessionstorage/window-open-remove-item.html
- storage/StorageMap.cpp:
(WebCore::StorageMap::removeItem):
LayoutTests:
- storage/domstorage/sessionstorage/resources/window-open-remove-item.html: Added.
- storage/domstorage/sessionstorage/window-open-remove-item-expected.txt: Added.
- storage/domstorage/sessionstorage/window-open-remove-item.html: Added.
Canonical link: https://commits.webkit.org/250224@main
- 4:56 PM Changeset in webkit [294040] by
-
- 1 copy in tags/WebKit-7614.1.13
Tag WebKit-7614.1.13.
- 4:45 PM Changeset in webkit [294039] by
-
- 9 edits in branches/safari-7613.3.1.0-branch/Source
Versioning.
WebKit-7613.3.1.0.1
- 4:31 PM Changeset in webkit [294038] by
-
- 4 edits in trunk/Tools
[git-webkit] Fail quickly for invalid bugzilla credentials
https://bugs.webkit.org/show_bug.cgi?id=240182
<rdar://problem/92879251>
Reviewed by Stephanie Lewis.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py:
(Branch.main): Check credentials before creating an issue, exit
program if issue creation fails.
Canonical link: https://commits.webkit.org/250454@main
- 4:26 PM Changeset in webkit [294037] by
-
- 1 delete in branches/safari-613.3.1.0-branch
Delete branch.
- 4:26 PM Changeset in webkit [294036] by
-
- 1 delete in branches/safari-613.3.1.1-branch
Delete branch.
- 4:26 PM Changeset in webkit [294035] by
-
- 1 copy in branches/safari-7613.3.1.1-branch
New branch.
- 4:25 PM Changeset in webkit [294034] by
-
- 1 copy in branches/safari-7613.3.1.0-branch
New branch.
- 4:13 PM Changeset in webkit [294033] by
-
- 1 copy in branches/safari-613.3.1.1-branch
New branch.
- 4:13 PM Changeset in webkit [294032] by
-
- 1 copy in branches/safari-613.3.1.0-branch
New branch.
- 4:10 PM Changeset in webkit [294031] by
-
- 1 delete in branches/safari-613.3.1.1-branch
Delete branch.
- 4:10 PM Changeset in webkit [294030] by
-
- 1 delete in branches/safari-613.3.1.0-branch
Delete branch.
- 3:53 PM Changeset in webkit [294029] by
-
- 2 edits in trunk/LayoutTests
Rebase inspector/timeline/line-column.html for Mac
https://bugs.webkit.org/show_bug.cgi?id=240291
Unreviewed test gardening.
- LayoutTests/inspector/timeline/line-column-expected.txt:
Canonical link: https://commits.webkit.org/250453@main
- 3:30 PM Changeset in webkit [294028] by
-
- 1 copy in branches/safari-613.3.1.1-branch
New branch.
- 3:30 PM Changeset in webkit [294027] by
-
- 1 copy in branches/safari-613.3.1.0-branch
New branch.
- 3:30 PM Changeset in webkit [294026] by
-
- 1 delete in branches/safari-613.3.1.1-branch
Delete branch.
- 3:29 PM Changeset in webkit [294025] by
-
- 1 delete in branches/safari-613.3.1.0-branch
Delete branch.
- 3:28 PM Changeset in webkit [294024] by
-
- 1 copy in branches/safari-613.3.1.1-branch
New branch.
- 3:28 PM Changeset in webkit [294023] by
-
- 1 copy in branches/safari-613.3.1.0-branch
New branch.
- 3:28 PM Changeset in webkit [294022] by
-
- 1 delete in branches/safari-613.3.0-branch
Delete branch.
- 3:28 PM Changeset in webkit [294021] by
-
- 1 delete in branches/safari-613.3.1-branch
Delete branch.
- 3:26 PM Changeset in webkit [294020] by
-
- 1 copy in branches/safari-613.3.1-branch
New branch.
- 3:26 PM Changeset in webkit [294019] by
-
- 1 copy in branches/safari-613.3.0-branch
New branch.
- 3:19 PM Changeset in webkit [294018] by
-
- 56 edits1 add25 deletes in trunk
Unreviewed, revert r288307 as it caused correctness issues
https://bugs.webkit.org/show_bug.cgi?id=240280
<rdar://92641509>
Revert r288307 again since it introduced some bad regressions, identified
on the radar.
Canonical link: https://commits.webkit.org/250452@main
- 2:55 PM Changeset in webkit [294017] by
-
- 24 edits in trunk/Source/JavaScriptCore
Add optional Integrity checks at JSC API boundaries.
https://bugs.webkit.org/show_bug.cgi?id=240264
Reviewed by Yusuke Suzuki.
- Defined ENABLE_EXTRA_INTEGRITY_CHECKS in Integrity.h. JSC developers can enable this for their local build if they want to enable more prolific Integrity audits. This is disabled by default.
This feature is currently only supported for USE(JSVALUE64) targets.
The following changes only take effect if ENABLE(EXTRA_INTEGRITY_CHECKS) is enabled.
Otherwise, these are no-ops.
- Added Integrity audits to all toJS and toRef conversion functions in APICast.h. This will help us detect if bad values are passed across the API boundary.
- Added some Integrity audits in JSValue.mm where the APICast ones were insufficient.
The following changes are in effect even when ENABLE(EXTRA_INTEGRITY_CHECKS) is
disabled. Some of these were made to support ENABLE(EXTRA_INTEGRITY_CHECKS), and
some are just clean up in related code that I had to touch along the way.
- Moved isSanePointer() to Integrity.h so that it can be used in more places.
- Changed VM registration with the VMInspector so that it's registered earlier and removed later. Integrity audits may need to audit VM pointers while the VM is being constructed and destructed.
- Added VM::m_isInService to track when the VM is fully constructed or about to be destructed since the VM is now registered with the VMInspector differently (see (4) above). Applied this check in places that need it.
- Fixed VMInspector::isValidExecutableMemory() to check the ExecutableAllocator directly without iterating VMs (which is completely unnecessary).
- Fixed VMInspector::isValidExecutableMemory() and VMInspector::codeBlockForMachinePC() to use AdoptLock. This fixes a race condition where the lock can be contended after ensureIsSafeToLock() succeeds.
- Added VMInspector::isValidVM() to check if a VM pointer is registered or not. VMInspector caches the most recently added or found VM so that isValidVM() can just check the cache for its fast path.
- Moved the implementation of VMInspector::verifyCell() to Integrity::analyzeCell()
and add more checks to it. VMInspector::verifyCell() now calls Integrity::verifyCell()
which uses Integrity::analyzeCell() to do the real cell analysis.
- Also strengten Integrity::auditStructureID() so that it will check if a
Structure's memory has been released. This change is enabled on Debug builds
by default as well as when ENABLE(EXTRA_INTEGRITY_CHECKS). It is disabled
on Release builds.
- API/APICast.h:
(toJS):
(toJSForGC):
(uncheckedToJS):
(toRef):
(toGlobalRef):
- API/JSContext.mm:
- API/JSContextRef.cpp:
- API/JSScript.mm:
- API/JSValue.mm:
(ObjcContainerConvertor::convert):
(objectToValueWithoutCopy):
(objectToValue):
- API/JSVirtualMachine.mm:
- API/JSWeakPrivate.cpp:
- API/glib/JSCContext.cpp:
- API/glib/JSCWrapperMap.cpp:
- API/tests/JSObjectGetProxyTargetTest.cpp:
- bytecode/SpeculatedType.cpp:
(JSC::speculationFromCell):
(JSC::isSanePointer): Deleted.
- heap/HeapFinalizerCallback.cpp:
- heap/WeakSet.h:
- runtime/Structure.h:
- runtime/VM.cpp:
(JSC::VM::VM):
(JSC::VM::~VM):
- runtime/VM.h:
(JSC::VM::isInService const):
- tools/HeapVerifier.cpp:
(JSC::HeapVerifier::checkIfRecorded):
- tools/Integrity.cpp:
(JSC::Integrity::Random::reloadAndCheckShouldAuditSlow):
(JSC::Integrity::auditCellMinimallySlow):
(JSC::Integrity::doAudit):
(JSC::Integrity::Analyzer::analyzeVM):
(JSC::Integrity::Analyzer::analyzeCell):
(JSC::Integrity::doAuditSlow):
(JSC::Integrity::verifyCell):
(): Deleted.
(JSC::Integrity::auditCellFully): Deleted.
- tools/Integrity.h:
(JSC::isSanePointer):
(JSC::Integrity::auditCell):
(JSC::Integrity::audit):
- tools/IntegrityInlines.h:
(JSC::Integrity::auditCell):
(JSC::Integrity::auditCellFully):
(JSC::Integrity::auditStructureID):
(JSC::Integrity::doAudit):
- tools/VMInspector.cpp:
(JSC::VMInspector::add):
(JSC::VMInspector::remove):
(JSC::VMInspector::isValidVMSlow):
(JSC::VMInspector::dumpVMs):
(JSC::VMInspector::isValidExecutableMemory):
(JSC::VMInspector::codeBlockForMachinePC):
(JSC::ensureIsSafeToLock): Deleted.
- tools/VMInspector.h:
(JSC::VMInspector::isValidVM):
(): Deleted.
(JSC::VMInspector::unusedVerifier): Deleted.
- tools/VMInspectorInlines.h:
(JSC::VMInspector::verifyCell):
(JSC::VMInspector::verifyCellSize): Deleted.
- 2:15 PM Changeset in webkit [294016] by
-
- 4 edits in trunk/Source/WebCore
Remove the unneeded StylePropertiesBase after Bug 240244
https://bugs.webkit.org/show_bug.cgi?id=240282
Reviewed by Antti Koivisto.
Now that we have removed the abandoned CSSDeferredParser, we no longer need the
StylePropertiesBase class. This patch removes this layer to simplify the code.
- css/StyleProperties.h:
(WebCore::StyleProperties::type const):
(WebCore::StyleProperties::cssParserMode const):
(WebCore::StyleProperties::StyleProperties):
(WebCore::StyleProperties::deref const):
(isType):
(WebCore::StylePropertiesBase::type const): Deleted.
(WebCore::StylePropertiesBase::cssParserMode const): Deleted.
(WebCore::StylePropertiesBase::StylePropertiesBase): Deleted.
(WebCore::StylePropertiesBase::deref const): Deleted.
- css/StyleRule.cpp:
(WebCore::StyleRule::StyleRule):
(WebCore::StyleRule::create):
(WebCore::StyleRule::properties const): Deleted.
- css/StyleRule.h:
- 1:52 PM Changeset in webkit [294015] by
-
- 2 edits in trunk/Source/WebCore
[GPU Process] [Filters] FilterImages can be leaked
https://bugs.webkit.org/show_bug.cgi?id=240274
Reviewed by Simon Fraser.
When a FilterEffect is dynamically updated we clear its result FilterImage.
We also need to clear all the result FilterImages of all the FilterEffects
recursively which takes this changing FilterEffect as an input.
Clearing the result FilterImage of the changing FilterEffect happens by
removing the entry from FilterResults::m_results.
Clearing the FilterImages of the dependent FilterEffects happens by using
FilterResults::m_resultReferences.
What is missing is removing the FilterImage entry itself from
FilterResults::m_resultReferences.
- platform/graphics/filters/FilterResults.h:
(WebCore::FilterResults::clearEffectResult):
- 1:22 PM Changeset in webkit [294014] by
-
- 2 edits in trunk/Tools
Patch is merged via merge-queue, but bugzilla is not closed
https://bugs.webkit.org/show_bug.cgi?id=240155
<rdar://problem/93045114>
Reviewed by Aakash Jain.
- CISupport/ews-build/steps.py:
(UpdatePullRequest): Allow subsequent steps to run if we fail to update a PR.
Canonical link: https://commits.webkit.org/250448@main
- 12:58 PM Changeset in webkit [294013] by
-
- 4 edits in trunk/Websites/webkit.org
[webkit.org] Replace svn.webkit.org with GitHub
https://bugs.webkit.org/show_bug.cgi?id=240093
<rdar://problem/92760014>
Reviewed by Ryan Haddad, Aakash Jain and Dewei Zhu.
- wp-content/themes/webkit/css-status.php: Replace svn.webkit.org with raw.githubusercontent.com.
- wp-content/themes/webkit/status.php: Ditto.
- wp-content/themes/webkit/team.php: Ditto.
Canonical link: https://commits.webkit.org/250447@main
- 11:42 AM Changeset in webkit [294012] by
-
- 4 edits3 adds in trunk
Fix inertness of pseudo-elements
https://bugs.webkit.org/show_bug.cgi?id=239831
Reviewed by Antti Koivisto.
When we adjust style for a pseudo-element,
m_elementanddocument().activeModalDialog()are both null. So we accidentally reset inertness to false in those cases.
Fix this by making checking for m_element's existence too.
LayoutTests/imported/w3c:
- web-platform-tests/inert/inert-pseudo-element-hittest-expected.txt: Added.
- web-platform-tests/inert/inert-pseudo-element-hittest.html: Added.
Source/WebCore:
Test: imported/w3c/web-platform-tests/inert/inert-pseudo-element-hittest.html
- style/StyleAdjuster.cpp:
(WebCore::Style::Adjuster::adjust const):
LayoutTests:
- platform/ios-wk2/imported/w3c/web-platform-tests/inert/inert-pseudo-element-hittest-expected.txt: Added.
- 11:04 AM Changeset in webkit [294011] by
-
- 7 edits1 add in trunk/Tools
[GitHub]
git commitgenerates a nicely formatted commit log but is missing bug information
https://bugs.webkit.org/show_bug.cgi?id=240254
<rdar://93033766 >
Reviewed by Chris Dumez.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/init.py: Add "commit" program.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/branch.py:
(Branch.main): Invoke Commit.bug_urls.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/command.py:
(FilteredCommand.parser): Typo fix in log message.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/commit.py: Added.
(Commit.parser):
(Commit.bug_urls): Extract a list of bug URLs from an issue.
(Commit.main): Extract commit message information from issue.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/commit_unittest.py:
Canonical link: https://commits.webkit.org/250445@main
- 10:28 AM Changeset in webkit [294010] by
-
- 2 edits in trunk/Source/WebCore
Optimize Replayer::applyItem() slightly
https://bugs.webkit.org/show_bug.cgi?id=240258
Reviewed by Wenson Hsieh.
Convert a series of
ifstatements into a switch.
De-templatize applyFontItem<> since DrawGlyphs is the only instantiation, and the
name was confusing.
- platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::applyDrawGlyphs):
(WebCore::DisplayList::Replayer::applyItem):
(WebCore::DisplayList::applyFontItem): Deleted.
- 10:00 AM Changeset in webkit [294009] by
-
- 1 copy in tags/WebKit-7614.1.12.2
Tag WebKit-7614.1.12.2.
- 9:53 AM Changeset in webkit [294008] by
-
- 9 edits in branches/safari-7614.1.12-branch/Source
Versioning.
WebKit-7614.1.12.2
- 9:48 AM Changeset in webkit [294007] by
-
- 29 edits3 deletes in trunk
Remove abandoned CSSDeferredParser implementation and feature flag
https://bugs.webkit.org/show_bug.cgi?id=240244
Reviewed by Antti Koivisto.
This patch rolls out the abandoned CSSDeferredParser implementation added in Bug 165743.
Source/WebCore:
- Sources.txt:
- WebCore.xcodeproj/project.pbxproj:
- css/CSSKeyframesRule.cpp:
(WebCore::StyleRuleKeyframes::keyframes const):
(WebCore::StyleRuleKeyframes::wrapperAppendKeyframe):
(WebCore::StyleRuleKeyframes::wrapperRemoveKeyframe):
(WebCore::StyleRuleKeyframes::findKeyframeIndex const):
(WebCore::StyleRuleKeyframes::parseDeferredRulesIfNeeded const): Deleted.
- css/CSSKeyframesRule.h:
- css/StyleProperties.cpp:
(WebCore::MutableStyleProperties::MutableStyleProperties):
(WebCore::StyleProperties::PropertyReference::cssText const):
(WebCore::DeferredStyleProperties::create): Deleted.
(WebCore::DeferredStyleProperties::DeferredStyleProperties): Deleted.
(WebCore::DeferredStyleProperties::parseDeferredProperties): Deleted.
- css/StyleProperties.h:
(WebCore::StylePropertiesBase::deref const):
(isType):
- css/StyleRule.cpp:
(WebCore::StyleRule::properties const):
(WebCore::StyleRuleGroup::childRules const):
(WebCore::StyleRuleGroup::wrapperInsertRule):
(WebCore::StyleRuleGroup::wrapperRemoveRule):
(WebCore::DeferredStyleGroupRuleList::DeferredStyleGroupRuleList): Deleted.
(WebCore::DeferredStyleGroupRuleList::parseDeferredRules): Deleted.
(WebCore::DeferredStyleGroupRuleList::parseDeferredKeyframes): Deleted.
(WebCore::StyleRuleGroup::parseDeferredRulesIfNeeded const): Deleted.
- css/StyleRule.h:
(WebCore::StyleRule::propertiesWithoutDeferredParsing const): Deleted.
(WebCore::StyleRuleGroup::childRulesWithoutDeferredParsing const): Deleted.
- css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::parseAuthorStyleSheet):
(WebCore::StyleSheetContents::parseString):
(WebCore::traverseRulesInVector):
(WebCore::StyleSheetContents::traverseSubresources const):
- css/parser/CSSDeferredParser.cpp: Removed.
- css/parser/CSSDeferredParser.h: Removed.
- css/parser/CSSParser.cpp:
(WebCore::CSSParser::parseSheet):
- css/parser/CSSParser.h:
- css/parser/CSSParserContext.cpp:
(WebCore::operator==):
(WebCore::add):
- css/parser/CSSParserContext.h:
- css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::CSSParserImpl):
(WebCore::CSSParserImpl::parseStyleSheet):
(WebCore::CSSParserImpl::consumeMediaRule):
(WebCore::CSSParserImpl::consumeSupportsRule):
(WebCore::CSSParserImpl::consumeKeyframesRule):
(WebCore::CSSParserImpl::consumeLayerRule):
(WebCore::CSSParserImpl::consumeContainerRule):
(WebCore::CSSParserImpl::consumeStyleRule):
(WebCore::CSSParserImpl::createDeferredStyleProperties): Deleted.
(WebCore::CSSParserImpl::parseDeferredDeclaration): Deleted.
(WebCore::CSSParserImpl::parseDeferredRuleList): Deleted.
(WebCore::CSSParserImpl::parseDeferredKeyframeList): Deleted.
(WebCore::CSSParserImpl::adoptTokenizerEscapedStrings): Deleted.
- css/parser/CSSParserImpl.h:
(WebCore::CSSParserImpl::tokenizer const):
(WebCore::CSSParserImpl::deferredParser const): Deleted.
- style/ElementRuleCollector.cpp:
(WebCore::Style::ElementRuleCollector::collectMatchingRulesForList):
- style/StyleInvalidator.cpp:
(WebCore::Style::shouldDirtyAllStyle):
- testing/Internals.cpp:
(WebCore::deferredStyleRulesCountForList): Deleted.
(WebCore::Internals::deferredStyleRulesCount): Deleted.
(WebCore::deferredGroupRulesCountForList): Deleted.
(WebCore::Internals::deferredGroupRulesCount): Deleted.
(WebCore::deferredKeyframesRulesCountForList): Deleted.
(WebCore::Internals::deferredKeyframesRulesCount): Deleted.
- testing/Internals.h:
- testing/Internals.idl:
Source/WebKit:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetDeferredCSSParserEnabled): Deleted.
(WKPreferencesGetDeferredCSSParserEnabled): Deleted.
- UIProcess/API/C/WKPreferencesRefPrivate.h:
Source/WTF:
- Scripts/Preferences/WebPreferences.yaml:
LayoutTests:
- fast/css/deferred-parsing/dynamic-external-style-expected.txt: Removed.
- fast/css/deferred-parsing/dynamic-external-style.html: Removed.
- fast/css/deferred-parsing/dynamic-style-in-document-expected.txt: Removed.
- fast/css/deferred-parsing/dynamic-style-in-document.html: Removed.
- fast/css/deferred-parsing/hover-test-expected.txt: Removed.
- fast/css/deferred-parsing/hover-test.html: Removed.
- fast/css/deferred-parsing/keyframes-rule-expected.txt: Removed.
- fast/css/deferred-parsing/keyframes-rule.html: Removed.
- fast/css/deferred-parsing/media-print-expected.txt: Removed.
- fast/css/deferred-parsing/media-print.html: Removed.
- fast/css/deferred-parsing/nth-of-type-expected.txt: Removed.
- fast/css/deferred-parsing/nth-of-type.html: Removed.
- fast/css/deferred-parsing/resources/basic-sheet.css: Removed.
- fast/css/deferred-parsing/simple-external-style-expected.txt: Removed.
- fast/css/deferred-parsing/simple-external-style.html: Removed.
- fast/css/deferred-parsing/simple-style-in-document-expected.txt: Removed.
- fast/css/deferred-parsing/simple-style-in-document.html: Removed.
- fast/css/deferred-parsing/supports-rule-expected.txt: Removed.
- fast/css/deferred-parsing/supports-rule.html: Removed.
- platform/ios-wk2/TestExpectations:
- platform/ios/TestExpectations:
- 3:13 AM Changeset in webkit [294006] by
-
- 3 edits in trunk/Source/WebCore
Create a stopped CacheStorageConnection for workers in case of detached documents
https://bugs.webkit.org/show_bug.cgi?id=240224
<rdar://problem/92853663>
Reviewed by Chris Dumez.
A worker might not always have a main thread connection as its document may be detached.
In that case, we now create a StoppedCacheStorageConnection that will always return Error::Stopped to any callback.
Covered by existing tests.
- Modules/cache/WorkerCacheStorageConnection.cpp:
(WebCore::StoppedCacheStorageConnection::create):
(WebCore::createMainThreadConnection):
(WebCore::WorkerCacheStorageConnection::WorkerCacheStorageConnection):
(WebCore::WorkerCacheStorageConnection::~WorkerCacheStorageConnection):
(WebCore::WorkerCacheStorageConnection::create): Deleted.
- Modules/cache/WorkerCacheStorageConnection.h:
- 1:52 AM Changeset in webkit [294005] by
-
- 6 edits in trunk/Source/WebKit
RemoteVideoFrameObjectHeapProxyProcessor binary semaphore usage might trigger deadlocks in case of GPUProcess crash
https://bugs.webkit.org/show_bug.cgi?id=240161
<rdar://problem/92849827>
Reviewed by Eric Carlson.
In case of GPUProcess crash when waiting for a converted buffer, we would never call the semaphore signal method.
This would hang the main thread since this code path is main thread only.
To prevent this, we use synchronous IPC to send the buffer conversion order.
Once it is done, we use the binary semaphore to synchronize the main thread with the work queue on which we are receiving the converted buffer.
It is ok to use a binary semaphore at that point since we know the web process has or is processing the converted buffer IPC messages.
We also make sure to recreate the SharedVideoFrameWriter in case it was disabled due the GPUProcess connection being closed.
Covered by existing tests, in particular LayoutTests/webrtc/captureCanvas-webrtc.html.
- GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:
(WebKit::RemoteVideoFrameObjectHeap::convertBuffer):
- GPUProcess/media/RemoteVideoFrameObjectHeap.h:
- GPUProcess/media/RemoteVideoFrameObjectHeap.messages.in:
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp:
(WebKit::RemoteVideoFrameObjectHeapProxyProcessor::getNativeImage):
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.h:
- WebProcess/GPU/webrtc/SharedVideoFrame.h:
(WebKit::SharedVideoFrameWriter::isDisabled const):
- 12:45 AM Changeset in webkit [294004] by
-
- 2 edits in trunk/Source/WebCore
com.apple.WebKit.GPU leaks CMBlockBuffer
https://bugs.webkit.org/show_bug.cgi?id=240267
rdar://92655222
Patch by Jean-Yves Avenard <jean-yves.avenard@apple.com> on 2022-05-09
Reviewed by Jer Noble.
- platform/graphics/cocoa/CMUtilities.mm:
(WebCore::toCMSampleBuffer): adopt newly created CMBlockBuffer rather than increase the refcount.
# Please populate the above commit message. Lines starting
# with '#' will be ignored
# com.apple.WebKit.GPU leaks CMBlockBuffer
# https://bugs.webkit.org/show_bug.cgi?id=240267
# rdar://92655222
#
# Reviewed by Jer Noble.
#
# * platform/graphics/cocoa/CMUtilities.mm:
# (WebCore::toCMSampleBuffer): adopt newly created CMBlockBuffer rather than increase the refcount.
# On branch bz/240267
# Your branch is ahead of 'origin/main' by 1 commit.
# (use "git push" to publish your local commits)
#
# Changes to be committed:
# (use "git restore --staged <file>..." to unstage)
# modified: Source/WebCore/ChangeLog
#
# Please populate the above commit message. Lines starting
# with '#' will be ignored
# On branch bz/240267
# Your branch is ahead of 'origin/main' by 1 commit.
# (use "git push" to publish your local commits)
#
# nothing to commit, working tree clean
Canonical link: https://commits.webkit.org/250440@main
May 9, 2022:
- 11:53 PM Changeset in webkit [294003] by
-
- 2 edits in trunk/Source/WebCore
Check if node is connected after calling mergeWithNeighboringLists
https://bugs.webkit.org/show_bug.cgi?id=240234
Patch by Rob Buis <rbuis@igalia.com> on 2022-05-09
Reviewed by Wenson Hsieh.
Check if node is connected after calling mergeWithNeighboringLists since
DOM mutations can change the DOM tree.
- editing/InsertListCommand.cpp:
(WebCore::InsertListCommand::doApplyForSingleParagraph):
- 11:52 PM Changeset in webkit [294002] by
-
- 19 edits2 adds in trunk
[cssom] Don't index perspective/transform-origin-* in computed styles
https://bugs.webkit.org/show_bug.cgi?id=239670
Reviewed by Darin Adler.
LayoutTests/imported/w3c:
Update some test expectations.
Add serialize-all-longhands.html, it still fails due to
https://webkit.org/b/239965 and https://webkit.org/b/239989.
- web-platform-tests/css/css-cascade/all-prop-initial-xml-expected.txt:
- web-platform-tests/css/css-cascade/all-prop-revert-layer-expected.txt:
- web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt:
- web-platform-tests/css/cssom/serialize-all-longhands-expected.txt: Added.
- web-platform-tests/css/cssom/serialize-all-longhands.html: Added.
Source/WebCore:
'perspective-origin' and 'transform-origin' are shorthands in WebKit.
The longhands are 'perspective-origin-x/y' and 'transform-origin-x/y/z'.
But these aren't standard properties, so they serialize to empty string
in computed styles. However, they were still indexed.
This patch stops indexing these longhands, so they won't appear when
iterating a computed style. Also, the shorthands will now be indexed.
Test: fast/css/getComputedStyle/computed-style.html
fast/css/getComputedStyle/computed-style-without-renderer.html
imported/w3c/web-platform-tests/css/css-cascade/all-prop-initial-xml.html
imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer.html
imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree.html
imported/w3c/web-platform-tests/css/cssom/serialize-all-longhands.html
svg/css/getComputedStyle-basic.xhtml
- css/CSSProperties.json:
Add "computable" flag.
- css/makeprop.pl:
(skippedFromComputedStyle):
(addProperty):
Let "computable" flag override default logic for indexing or not in
computed styles.
Tools:
Add checker for new "computable" flag.
- Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONCSSPropertiesChecker.check_codegen_properties):
LayoutTests:
Update test expectations.
- fast/css/getComputedStyle/computed-style-expected.txt:
- fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
- 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/cssom/getComputedStyle-detached-subtree-expected.txt:
- platform/mac-wk1/imported/w3c/web-platform-tests/css/css-cascade/all-prop-revert-layer-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:
- svg/css/getComputedStyle-basic-expected.txt:
- 11:48 PM Changeset in webkit [294001] by
-
- 13 edits in trunk
Support ray() shape in offset-path
https://bugs.webkit.org/show_bug.cgi?id=233344
Reviewed by Simon Fraser.
Source/WebCore:
Add support for rendering ray path. Involves getting containing block and offset
of the element from the containing block. Using the size of the containing block
and offset, calculate the length of the ray and create a Line path using the length
and angle. Calculating closest/farthest-side and closest/farthest-corner are simple
but calculating side requires some explanation. First, we get the two possible sides of
the containing block the ray could be intersecting with, based on the angle. To calculate
which side is being intersected, if tan(theta) * top/bottom is outside of the containing
block, this means that the ray is intersecting with the other side. Finally, we calculate
the acute angle based on which side we intersected with. Using the length and angle, we
calculate the length of the hypotenuse, which corresponds with the length of the start point
of the ray to its intersection with a side of the containing block. Test 7 is still failing
due to getting incorrect width of containing block (doesn't happen when animating the path
for some reason). Will implement contain in another patch.
- WebCore.xcodeproj/project.pbxproj:
- rendering/PathOperation.cpp:
(WebCore::toPositiveAngle):
(WebCore::RayPathOperation::getLengthForPath const):
(WebCore::RayPathOperation::pathForReferenceRect const):
- rendering/PathOperation.h:
- rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setReferenceBoxForPathOperations):
(WebCore::RenderLayer::updateTransform):
- rendering/RenderLayer.h:
- rendering/style/RenderStyle.cpp:
(WebCore::getPathFromPathOperation):
LayoutTests:
- 10:20 PM Changeset in webkit [294000] by
-
- 2 edits in trunk/Source/JavaScriptCore
Unreviewed, address Darin's feedback on r250361.
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::toIntegerWithoutRounding const):
Normalize away -0 by unconditionally adding positive 0 (instead of making a separate zero check).
- 10:08 PM Changeset in webkit [293999] by
-
- 2 edits in trunk
Introduction.md: Explain active DOM objects
https://bugs.webkit.org/show_bug.cgi?id=240212
Reviewed by Chris Dumez.
Added an elementary description of active DOM objects to Introduction.md.
- Introduction.md:
- 9:41 PM Changeset in webkit [293998] by
-
- 2 edits in trunk/Source/WebCore
Do not use the cached renderer's parent in handleFragmentedFlowStateChange lambda
https://bugs.webkit.org/show_bug.cgi?id=240266
Reviewed by Simon Fraser.
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange):
- 8:49 PM Changeset in webkit [293997] by
-
- 9 edits in trunk
Temporal round and total methods should accept string param
https://bugs.webkit.org/show_bug.cgi?id=240249
Reviewed by Yusuke Suzuki.
This patch implements https://github.com/tc39/proposal-temporal/pull/1875,
which allows certain required string options to be passed directly instead of as part of an options object.
Namely:
{Duration, Instant, PlainTime}::roundnow acceptsmallestUnitas a string paramDuration::totalnow acceptsunitas a string param
- stress/temporal-duration.js:
- stress/temporal-instant.js:
- stress/temporal-plaintime.js:
Add test cases.
- test262/expectations.yaml:
Mark 24 test cases passing.
(This number should be 26, but two still fail as the harness expects PlainDateTime and ZonedDateTime to exist.)
- runtime/TemporalDuration.cpp:
(JSC::TemporalDuration::round const):
(JSC::TemporalDuration::total const):
- runtime/TemporalInstant.cpp:
- runtime/TemporalPlainTime.cpp:
(JSC::TemporalPlainTime::round const):
Canonical link: https://commits.webkit.org/250433@main
- 7:52 PM Changeset in webkit [293996] by
-
- 6 edits in trunk
Temporal and Date must reject expanded year -000000
https://bugs.webkit.org/show_bug.cgi?id=240263
Reviewed by Yusuke Suzuki.
As of the following two PRs, -000000 is officially disallowed as a representation of the year zero in ISO date strings.
https://github.com/tc39/ecma262/pull/2550
https://github.com/tc39/proposal-temporal/pull/1992
This patch implements the change for Temporal and Date alike.
- test262/expectations.yaml:
Mark 24 test cases as passing.
- runtime/ISO8601.cpp:
(JSC::ISO8601::parseDate):
- wtf/DateMath.cpp:
(WTF::parseES5DatePortion):
Canonical link: https://commits.webkit.org/250432@main
- 5:16 PM Changeset in webkit [293995] by
-
- 7 edits in branches/safari-613-branch
Cherry-pick r292888. rdar://problem/80059355
[iOS] [WK2] Managed pasteboard should function for all managed domains
https://bugs.webkit.org/show_bug.cgi?id=239319
rdar://80059355
Reviewed by Kate Cheney.
Source/WebCore/PAL:
Add an SPI method on
MCProfileConnection.
- pal/spi/ios/ManagedConfigurationSPI.h:
Source/WebKit:
Unless a WebKit client has specified a data owner for the web view that is not _UIDataOwnerUndefined, fall back
to _UIDataOwnerEnterprise when the current domain of the WKWebView is managed (that is, `-[MCProfileConnection
isURLManaged:]` returns YES for the web view's current URL). This allows managed pasteboard to work for all
WebKit clients, if the current URL is managed.
Test: UIPasteboardTests.PerformAsDataOwnerWithManagedURL
- Platform/spi/ios/UIKitSPI.h:
Drive-by fix: move the staged declarations of
-_dataOwnerForCopyand-_dataOwnerForPasteout of the IPI
section, and into the non-internal SDK section.
- UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _dataOwnerForPasteboard:]):
Tools:
Add a new API test to verify that we fall back to consulting
-[MCProfileConnection isURLManaged:]when
determining the data owner for copy and paste, unless a data owner is already explicitly set on a view in the
responder chain (specifically, the WKWebView).
- TestWebKitAPI/Tests/ios/UIPasteboardTests.mm: (+[TestUIPasteboard _performAsDataOwner:block:]): (-[TestMCProfileConnection isURLManaged:]): (TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/249658@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292888 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:06 PM Changeset in webkit [293994] by
-
- 13 edits in trunk/Source
[iOS] Adjust some viewport behaviors when multitasking mode is enabled
https://bugs.webkit.org/show_bug.cgi?id=240151
rdar://87157773
Reviewed by Tim Horton.
Add a new ViewportConfiguration flag to prefer horizontal scrolling over shrinking to fit when the view layout
size falls under the current "default desktop webpage" of 980pt. See WebKit changes for more details.
- page/ViewportConfiguration.cpp:
(WebCore::ViewportConfiguration::initialScaleFromSize const):
(WebCore::ViewportConfiguration::webpageParameters):
(WebCore::ViewportConfiguration::imageDocumentParameters):
Pull the magic value representing the "assumed width of most desktop webpages" (980) out into a named constant,
defaultDesktopViewportWidth, so that we can consult it when computing the initial scale.
(WebCore::ViewportConfiguration::description const):
- page/ViewportConfiguration.h:
(WebCore::ViewportConfiguration::setPrefersHorizontalScrollingBelowDesktopViewportWidths):
[iOS] Adjust some viewport behaviors when multitasking mode is enabled
https://bugs.webkit.org/show_bug.cgi?id=240151
rdar://87157773
Reviewed by Tim Horton.
Make some adjustments to viewport behaviors when multitasking mode is enabled. See the comments below for more
details. There are no changes in behavior when multitasking mode is disabled; tests for the new behaviors in
multitasking mode will be added in a subsequent patch.
- Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Shared/WebPageCreationParameters.h:
Add plumbing to inform the web process when "multitasking mode" state changes; we use this bit in WebPage to
determine whether or not we should use multitasking mode viewport behaviors (see below).
- UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView _registerForNotifications]):
(-[WKWebView didMoveToWindow]):
(-[WKWebView _multitaskingModeDidChange:]):
Send IPC to WebPage in these two places, to keep "multitasking mode" state in sync with the native view.
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
Make a minor adjustment here to ignore
oldWebViewWidthInContentViewCoordinateswhen computing a target scale
to zoom to when performing animated resize, in multitasking mode. This is required to prevent us from zooming
in excessively when the width of the view increases, since we'd otherwise attempt to keep the same content in
the page visible by zooming in (for instance, if an image covers most of the visual viewport at a lower view
width, thismin()logic would cause us to zoom in, such that the image would still cover most of the viewport
at a larger width). This behavior is undesirable in multitasking mode.
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setIsInMultitaskingMode):
- UIProcess/WebPageProxy.h:
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
(WebKit::WebPage::setIsInMultitaskingMode):
Add plumbing to set the
m_isInMultitaskingModeflag on WebPage, and update the viewport configuration flag to
prefer horizontal scrolling below 980pt.
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
- WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::scaleAfterViewportWidthChange):
Refactor a bit of code here (without changing any behaviors), to make it a bit clearer:
- Rename
userHasChangedPageScaleFactortoscaleToFitContentto better describe how this flag affects the
adjusted target scale during dynamic resize.
- Make the log messages specific to both branches, and also log the adjusted viewport scale instead of the
(currently unused) given
scalein the non-scaleToFitContentcodepath.
(WebKit::WebPage::dynamicViewportSizeUpdate):
Make another "multitasking mode viewport behavior" adjustment here by maintaining the initial scale (only if the
viewport was already at initial scale) when performing dynamic viewport size updates. By default, we currently
adjust the scale such that the same content is still visible at the new viewport size; however, when allowing
horizontal scrolling, this causes us to zoom in excessively when making the window width larger. Instead, when
multitasking mode is enabled, we should try to preserve initial scale when changing window size, such that only
the horizontal scroll amount changes.
(WebKit::WebPage::usesMultitaskingModeViewportBehaviors const):
Add a helper method to encapsulate whether or not multitasking mode viewport behaviors should be used; this
should be true only when both desktop-class viewport behaviors are active, *and* multitasking mode is also
active.
Canonical link: https://commits.webkit.org/250431@main
- 4:50 PM Changeset in webkit [293993] by
-
- 42 edits in trunk/Source/WebCore
Const-ify Node::willRespondTo*Events()
https://bugs.webkit.org/show_bug.cgi?id=240246
Reviewed by Wenson Hsieh.
Constify these four methods, because there's no
reason for them not to be, and because it makes
them usable in a const context in a future patch.
- dom/EventNames.h:
(WebCore::EventNames::isTouchRelatedEventType const):
- dom/EventTarget.cpp:
(WebCore::EventTarget::eventTypes const):
- dom/EventTarget.h:
- dom/Node.cpp:
(WebCore::Node::willRespondToMouseMoveEvents const):
(WebCore::Node::willRespondToTouchEvents const):
(WebCore::Node::willRespondToMouseClickEvents const):
(WebCore::Node::willRespondToMouseWheelEvents const):
- dom/Node.h:
- html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::willRespondToMouseClickEvents const):
- html/HTMLAnchorElement.h:
- html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::willRespondToMouseClickEvents const):
- html/HTMLButtonElement.h:
- html/HTMLElement.cpp:
(WebCore::HTMLElement::willRespondToMouseMoveEvents const):
(WebCore::HTMLElement::willRespondToMouseWheelEvents const):
(WebCore::HTMLElement::willRespondToMouseClickEvents const):
- html/HTMLElement.h:
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::willRespondToMouseClickEvents const):
- html/HTMLImageElement.h:
- html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::willRespondToMouseClickEvents const):
- html/HTMLInputElement.h:
- html/HTMLLabelElement.cpp:
(WebCore::HTMLLabelElement::willRespondToMouseClickEvents const):
- html/HTMLLabelElement.h:
- html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::willRespondToMouseClickEvents const):
- html/HTMLPlugInElement.h:
- html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::willRespondToMouseClickEvents const):
- html/HTMLSelectElement.h:
- html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::willRespondToMouseClickEvents const):
- html/HTMLSummaryElement.h:
- html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::willRespondToMouseClickEvents const):
- html/HTMLTextAreaElement.h:
- html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::shouldSpinButtonRespondToMouseEvents const):
(WebCore::TextFieldInputType::shouldSpinButtonRespondToWheelEvents const):
- html/TextFieldInputType.h:
- html/shadow/SliderThumbElement.cpp:
(WebCore::SliderThumbElement::willRespondToMouseMoveEvents const):
(WebCore::SliderThumbElement::willRespondToMouseClickEvents const):
- html/shadow/SliderThumbElement.h:
- html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::willRespondToMouseMoveEvents const):
(WebCore::SpinButtonElement::willRespondToMouseClickEvents const):
(WebCore::SpinButtonElement::shouldRespondToMouseEvents const):
- html/shadow/SpinButtonElement.h:
- html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldResultsButtonElement::willRespondToMouseClickEvents const):
(WebCore::SearchFieldCancelButtonElement::willRespondToMouseClickEvents const):
- html/shadow/TextControlInnerElements.h:
- mathml/MathMLElement.cpp:
(WebCore::MathMLElement::willRespondToMouseClickEvents const):
- mathml/MathMLElement.h:
- mathml/MathMLSelectElement.cpp:
(WebCore::MathMLSelectElement::willRespondToMouseClickEvents const):
- mathml/MathMLSelectElement.h:
- svg/SVGAElement.cpp:
(WebCore::SVGAElement::willRespondToMouseClickEvents const):
- svg/SVGAElement.h:
- 4:03 PM Changeset in webkit [293992] by
-
- 4 edits in trunk/Websites/bugs.webkit.org
[bugs.webkit.org] Use GitHub as baseline when diffing
https://bugs.webkit.org/show_bug.cgi?id=240073
<rdar://problem/92741303>
Reviewed by Ryan Haddad and Dewei Zhu.
- Websites/bugs.webkit.org/code-review.js: Use GitHub instead of
Subversion for tip-of-tree baseline, blame and log links.
- Websites/bugs.webkit.org/PrettyPatch/PrettyPatch.rb: Ditto.
Use GitHub instead of Subversion for tip-of-tree baseline.
Canonical link: https://commits.webkit.org/250429@main
- 4:02 PM Changeset in webkit [293991] by
-
- 2 edits in trunk/Source/ThirdParty/libwebrtc
Unreviewed build fix; disable -Wimplicit-fallthrough in libwebrtc
- Configurations/Base.xcconfig:
- 2:17 PM Changeset in webkit [293990] by
-
- 4 edits in trunk/Source
[macOS] HTTP traffic is not filtered in the parental controls filter
https://bugs.webkit.org/show_bug.cgi?id=240180
<rdar://problem/92875540>
Reviewed by Alexey Proskuryakov.
Source/WebCore:
Traditionally, we have not filtered HTTP in the parental controls filter on macOS, since other parts of the system
has taken care of this. This has changed in the most recent macOS version, and WebKit should also filter HTTP in
addition to HTTPS.
- platform/cocoa/ParentalControlsContentFilter.mm:
(WebCore::canHandleResponse):
Source/WTF:
Add HAVE macro which tells us which OS versions are filtering HTTP traffic on behalf of WebKit.
- wtf/PlatformHave.h:
- 1:56 PM Changeset in webkit [293989] by
-
- 5 edits in trunk/Source/WebCore
Cache the viewport size inside SVGLengthContext
https://bugs.webkit.org/show_bug.cgi?id=240157
Reviewed by Alan Bujtas.
Each call to SVGLengthContext::determineViewport() did an ancestor element walk
looking for a viewport element, and some call sites hit this two or more times
(e.g. for width, then height). So cache m_viewportSize in the class, modernizing
the code to use optionals.
- rendering/RenderElement.cpp:
(WebCore::RenderElement::referenceBoxRect const):
- rendering/svg/LegacyRenderSVGRoot.cpp:
(WebCore::LegacyRenderSVGRoot::computeFloatVisibleRectInContainer const):
- rendering/svg/SVGRenderSupport.cpp:
(WebCore::clipPathReferenceBox):
- svg/SVGLengthContext.cpp:
(WebCore::SVGLengthContext::valueForLength):
(WebCore::SVGLengthContext::convertValueToUserUnits const):
(WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage const):
(WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits const):
(WebCore::SVGLengthContext::viewportSize const):
(WebCore::SVGLengthContext::computeViewportSize const):
(WebCore::SVGLengthContext::determineViewport const): Deleted.
- svg/SVGLengthContext.h:
- 1:43 PM Changeset in webkit [293988] by
-
- 2 edits in trunk/Source/WebKit
Allow log streaming from webpushd
https://bugs.webkit.org/show_bug.cgi?id=240238
Reviewed by Per Arne Vollan.
log streamoutputs nothing from webpushd because we blocked the diagnosticd service in its
sandbox. We should allow that and also block awdd since it's unlikely that webpushd needs
access to the wireless diagnostics daemon.
- webpushd/mac/com.apple.WebKit.webpushd.sb.in:
Canonical link: https://commits.webkit.org/250425@main
- 1:37 PM Changeset in webkit [293987] by
-
- 16 edits2 adds in trunk
Implement CSS :modal pseudo class
https://bugs.webkit.org/show_bug.cgi?id=240109
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Add and extend tests for :modal pseudo-class.
- web-platform-tests/css/selectors/invalidation/modal-pseudo-class-in-has-expected.txt: Added.
- web-platform-tests/css/selectors/invalidation/modal-pseudo-class-in-has.html: Added.
- web-platform-tests/html/semantics/interactive-elements/the-dialog-element/dialog-show-modal.html:
Source/WebCore:
Test: imported/w3c/web-platform-tests/css/selectors/invalidation/modal-pseudo-class-in-has.html
Renames :-internal-modal-dialog to :modal and adds :has() invalidation support.
- css/CSSSelector.cpp:
(WebCore::CSSSelector::selectorText const):
- css/CSSSelector.h:
- css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOne const):
- css/SelectorCheckerTestFunctions.h:
(WebCore::matchesModalPseudoClass):
(WebCore::matchesModalDialogPseudoClass): Deleted.
- css/SelectorPseudoClassAndCompatibilityElementMap.in:
- css/dialog.css:
(dialog:modal):
(dialog:-internal-modal-dialog): Deleted.
- css/parser/CSSSelectorParser.cpp:
(WebCore::CSSSelectorParser::consumePseudo):
- cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::JSC_DEFINE_JIT_OPERATION):
(WebCore::SelectorCompiler::addPseudoClassType):
- html/HTMLDialogElement.cpp:
(WebCore::HTMLDialogElement::showModal):
(WebCore::HTMLDialogElement::close):
(WebCore::HTMLDialogElement::removedFromAncestor):
(WebCore::HTMLDialogElement::setIsModal):
- html/HTMLDialogElement.h:
LayoutTests:
Removes :-internal-modal-dialog from internal pseudo classes.
- fast/css/pseudo-class-internal-expected.txt:
- fast/css/pseudo-class-internal.html:
- 1:04 PM Changeset in webkit [293986] by
-
- 4 edits in trunk/Tools
[git-webkit] Verify forks after creation
https://bugs.webkit.org/show_bug.cgi?id=240085
<rdar://problem/92978491>
Reviewed by Stephanie Lewis.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.github): Check parent of fork, wait until fork is created before continuing.
Canonical link: https://commits.webkit.org/250423@main
- 12:40 PM Changeset in webkit [293985] by
-
- 2 edits in trunk/Source/WebKit
Unreviewed, build fix for Internal iOS build
https://bugs.webkit.org/show_bug.cgi?id=240206
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateTouchEventTracking):
- 12:10 PM Changeset in webkit [293984] by
-
- 3 edits1 add in trunk/Source/WebKit
WebKit has a broken module in Mac Catalyst
https://bugs.webkit.org/show_bug.cgi?id=240175
rdar://92703419
Patch by Ian Anderson <iana@apple.com> on 2022-05-09
Reviewed by Tim Horton.
Add a module map for Mac Catalyst that excludes WebKit/WebKitLegacy.h,
matching the exclusion from WebKit/WebKit.h.
- Configurations/WebKit.xcconfig:
- Modules/MacCatalyst.modulemap: Added.
- WebKit.xcodeproj/project.pbxproj:
- 11:48 AM Changeset in webkit [293983] by
-
- 1 copy in branches/safari-7614.1.13-branch
New branch.
- 11:27 AM Changeset in webkit [293982] by
-
- 2 edits in trunk/LayoutTests
[GLIB] Update some test expectations for known failures
https://bugs.webkit.org/show_bug.cgi?id=240240
Unreviewed test garderning.
Patch by Arcady Goldmints-Orlov <Arcady Goldmints-Orlov> on 2022-05-09
- platform/glib/TestExpectations:
- 10:44 AM Changeset in webkit [293981] by
-
- 2 edits in trunk/Source/WebCore
ASSERT in WebCore::RenderTreeUpdater::updateRenderTree
https://bugs.webkit.org/show_bug.cgi?id=240237
Reviewed by Antti Koivisto.
There are instances where calling findRenderingRoots() in RenderTreeUpdater::commit will
returns two rendering roots, with one of them being an ancestor of the other.
Calling updateRenderTree on the ancestor rendering root could end up removing
the renderer of the descendant rendering root.
This patch merges findRenderingRoots() to RenderTreeUpdater::commit() which, and now we will
ignore the nested root if there is no longer a renderer when it is being processed.
- rendering/updating/RenderTreeUpdater.cpp:
- 10:32 AM Changeset in webkit [293980] by
-
- 5 edits2 adds in trunk
[iOS] Double tapping on YouTube video causes playback to pause instead of seek
https://bugs.webkit.org/show_bug.cgi?id=240222
rdar://92637636
Reviewed by Aditya Keerthi and Kate Cheney.
Add a new layout test. See WebKit/ChangeLog for more details.
- fast/events/touch/ios/touch-events-when-double-tapping-after-selecting-text-expected.txt: Added.
- fast/events/touch/ios/touch-events-when-double-tapping-after-selecting-text.html: Added.
[iOS] Double tapping on YouTube video causes playback to pause instead of seek
https://bugs.webkit.org/show_bug.cgi?id=240222
rdar://92637636
Reviewed by Aditya Keerthi and Kate Cheney.
Add a new compile-time flag to guard the presence of
-[UITextInteractionAssistant contextMenuInteraction]. See
WebKit/ChangeLog for more details.
- wtf/PlatformHave.h:
[iOS] Double tapping on YouTube video causes playback to pause instead of seek
https://bugs.webkit.org/show_bug.cgi?id=240222
rdar://92637636
Reviewed by Aditya Keerthi and Kate Cheney.
On some recent versions of iOS,
UITextInteractionAssistantinstalls its own context menu interaction by
default. This makes UIKit introduce a_UIRelationshipGestureRecognizerto the gesture recognizer graph when
using WKWebView when the text interaction assistant has been activated in order to implement the asynchronous
context menu configuration API.
Currently, we add a direct failure requirement from the immediately resettable deferring gesture to this new
UIKit relationship gesture. This is problematic, since the context menu interaction will automatically add
failure requirements to other long press gestures on the web view, such as the image analysis gestures that
trigger Live Text analysis when long pressing on images with text. As a result, the set of immediately
resettable gestures is now connected to the set of delayed resettable gestures after the first tap when
performing a double tap gesture. Since theUIWebTouchEventsGestureRecognizeris a part of this immediate reset
subgraph, this means that the touch event gesture recognizer doesn't get reset until about 320 ms after a tap
when the text interaction assistant has been activated, due to this new context menu interaction.
On YouTube.com, this manifests in a double-tap on the main video player being broken since a double tap gesture
only dispatchestouchstartandtouchendon the first tap, and YouTube's script only seeks forwards or
backwards if it observes twotouchstartevents that are close to each other within 350 ms.
To fix this, we simply teach the deferring gesture subgraph partitioning logic in
-deferringGestureRecognizer:shouldDeferOtherGestureRecognizer:to funnel the relationship gesture (i.e.
-gestureRecognizerForFailureRelationships) of the text interaction assistant's context menu interaction into
the delayed reset subgraph instead of the immediate reset subgraph.
Test: fast/events/touch/ios/touch-events-when-double-tapping-after-selecting-text.html
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView deferringGestureRecognizer:shouldDeferOtherGestureRecognizer:]):
- UIProcess/ios/WKDeferringGestureRecognizer.mm:
(-[WKDeferringGestureRecognizer shouldDeferGestureRecognizer:]):
Canonical link: https://commits.webkit.org/250418@main
- 9:52 AM Changeset in webkit [293979] by
-
- 3 edits in trunk/Source/WebKit
Create reports for long process launch times
https://bugs.webkit.org/show_bug.cgi?id=240127
Unreviewed, fix typo.
- UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::connect):
(WebKit::AuxiliaryProcessProxy::didFinishLaunching):
- UIProcess/AuxiliaryProcessProxy.h:
- 9:41 AM Changeset in webkit [293978] by
-
- 2 edits in trunk/Source/WebCore
AXLogger::streamAXCoreObject is missing a null check for AccessibilityObject dynamicDowncast
https://bugs.webkit.org/show_bug.cgi?id=240228
Reviewed by Andres Gonzalez.
When checking if an object has display:contents, we do:
if (auto* axObject = dynamicDowncast<AccessibilityObject>(&object); axObject->hasDisplayContents())
Which does not have a nullcheck for when the dynamicDowncast fails (i.e. because
the object is not an AccessibilityObject).
- accessibility/AXLogger.cpp:
(WebCore::streamAXCoreObject):
- 9:22 AM Changeset in webkit [293977] by
-
- 25 edits2 adds in trunk
Image controls menu button is not appearing for multi-page PDFs
https://bugs.webkit.org/show_bug.cgi?id=240120
rdar://86425721
Reviewed by Megan Gardner.
Source/WebCore:
Test: fast/attachment/attachment-image-controls-basic.html
Refactor image controls button code so it can also be used for PDF
attachments.
- dom/mac/ImageControlsMac.cpp:
(WebCore::ImageControlsMac::handleEvent):
(WebCore::ImageControlsMac::isImageMenuEnabled):
(WebCore::ImageControlsMac::updateImageControls):
(WebCore::ImageControlsMac::tryCreateImageControls):
(WebCore::ImageControlsMac::destroyImageControls):
(WebCore::ImageControlsMac::hasImageControls):
- dom/mac/ImageControlsMac.h:
Handle the PDF case when a click on the image controls button happens.
Move all image controls code to ImageControlsMac where it can be
shared by image and attachment elements.
- html/HTMLAttachmentElement.cpp:
(WebCore::HTMLAttachmentElement::parseAttribute):
(WebCore::HTMLAttachmentElement::childShouldCreateRenderer const):
- html/HTMLAttachmentElement.h:
- html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::didAttachRenderers):
(WebCore::HTMLImageElement::setAttachmentElement):
(WebCore::HTMLImageElement::updateImageControls): Deleted.
(WebCore::HTMLImageElement::tryCreateImageControls): Deleted.
(WebCore::HTMLImageElement::destroyImageControls): Deleted.
(WebCore::HTMLImageElement::hasImageControls const): Deleted.
- html/HTMLImageElement.h:
(WebCore::HTMLImageElement::isImageMenuEnabled const):
(WebCore::HTMLImageElement::setImageMenuEnabled):
(WebCore::HTMLImageElement::imageMenuEnabled const): Deleted.
- html/shadow/mac/imageControlsMac.css:
The image controls button was originally offset by 20px from the top
and the right. This causes the image controls button to appear in the
middle of a PDF attachment and be difficult to see. This change makes
it flush against the top right corner for both images and PDFs.
(button#image-controls-button):
- page/ChromeClient.h:
(WebCore::ChromeClient::handlePDFServiceClick):
- rendering/RenderAttachment.cpp:
(WebCore::RenderAttachment::RenderAttachment):
(WebCore::RenderAttachment::layout):
(WebCore::RenderAttachment::layoutShadowContent):
- rendering/RenderAttachment.h:
Add canHaveGeneratedChildren() and canHaveChildren() so that
we render the image controls button in the shadow tree.
- rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
- testing/Internals.cpp:
(WebCore::Internals::hasImageControls const):
Source/WebKit:
Refactor image controls button code so it can also be used for PDF
attachments.
- Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::controlledDataIsEditable const):
We need to make sure PDF attachments are marked as editable so the
context menu gets properly populated.
- Shared/ContextMenuContextData.h:
(WebKit::ContextMenuContextData::ContextMenuContextData):
- UIProcess/API/Cocoa/APIAttachmentCocoa.mm:
(API::Attachment::enclosingImageNSData const):
Remove the image check so we return the PDF NSData in the attachment
case.
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::setupServicesMenu):
- WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::handlePDFServiceClick):
- WebProcess/WebCoreSupport/WebChromeClient.h:
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::handlePDFServiceClick):
Plumbing for handling a click on the image controls button for PDFs.
LayoutTests:
- TestExpectations:
- fast/attachment/attachment-image-controls-basic.html: Added.
- platform/mac-wk2/TestExpectations:
- platform/mac/fast/attachment/attachment-image-controls-basic-expected.txt: Added.
- 8:48 AM Changeset in webkit [293976] by
-
- 4 edits in trunk
Make input placeholder line-height declaration !important
https://bugs.webkit.org/show_bug.cgi?id=240225
Reviewed by Tim Nguyen.
Source/WebCore:
This is the same the changes made in chromium at
https://chromium-review.googlesource.com/c/chromium/src/+/3594234
and Firefox change at
https://phabricator.services.mozilla.com/D116907
- css/html.css:
(input::placeholder):
LayoutTests:
Unskip the test that passes.
- 8:17 AM Changeset in webkit [293975] by
-
- 3 edits2 adds in trunk
REGRESSION (r291817): NativeImage passed to RemoteResourceCacheProxy::recordNativeImageUse may be null
https://bugs.webkit.org/show_bug.cgi?id=239649
rdar://92018859
Reviewed by Dean Jackson.
Test: system-preview/svg-image.html
In the case of an <img> pointing to an SVG resource, the nativeImage() is null. We need to handle this case
properly (filed bug 239673), but for now we can at least not crash.
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::drawSystemImage):
Canonical link: https://commits.webkit.org/250413@main
- 7:57 AM Changeset in webkit [293974] by
-
- 2 edits in trunk/JSTests
Unreviewed test gardening.
- test262/expectations.yaml:
- 7:46 AM Changeset in webkit [293973] by
-
- 2 edits in trunk/Tools
Test262 runner should show progress
https://bugs.webkit.org/show_bug.cgi?id=240181
Reviewed by Yusuke Suzuki.
The progress will appear as something like [42/245669].
- Scripts/test262/Runner.pm:
(processCLI):
(main):
Canonical link: https://commits.webkit.org/250411@main
- 7:18 AM WebKitGTK/2.36.x edited by
- (diff)
- 7:05 AM Changeset in webkit [293972] by
-
- 3 edits in trunk/Source/WebCore
CoreAudioCaptureSource::settingsDidChange should not reconfigure the audio unit if CoreAudioCaptureSource is not started
https://bugs.webkit.org/show_bug.cgi?id=240059
Reviewed by Eric Carlson.
We should only ask to reconfigure when source settings change if the source is actually started.
Otherwise, we can wait for the source to start to actually set the unit values and reconfigure if needed.
To make sure to correctly expose settings, we reset them in CoreAudioCaptureSource::settingsDidChange and in
CoreAudioCaptureSource::initializeToStartProducingData.
We also only use the audio unit sample rate if it is rendering audio, otherwise we can change the sample rate at will.
Manually tested.
- platform/mediastream/mac/CoreAudioCaptureSource.cpp:
- 3:54 AM Changeset in webkit [293971] by
-
- 2 edits in trunk/Source/WebCore
[Nicosia] Canvas animations don't work with threaded rendering
https://bugs.webkit.org/show_bug.cgi?id=227760
<rdar://problem/80588913>
Reviewed by Adrian Perez de Castro.
Implement Nicosia::CairoOperationRecorder::draImageBuffer(), which is required in order to paint
canvas contents into a GraphicsContext.
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::drawImageBuffer):
- 3:47 AM Changeset in webkit [293970] by
-
- 4 edits in trunk
[WinCairo][WK1] accessibility/aria-combobox-control-owns-elements.html is crashing after 250325@main
https://bugs.webkit.org/show_bug.cgi?id=240218
<rdar://problem/92929718>
Reviewed by Joanmarie Diggs.
Source/WebCore:
Fix a wrong ASSERT for AriaReflectionForElementReferencesEnabled.
If AriaReflectionForElementReferencesEnabled is disabled, and you set
one of the attributes that have reflection under that flag,
we'll hit an ASSERT in Element::attributeChanged().
The fact that we set such attribute doesn't mean that the flag
has to be enabled.
Removed the ASSERT and added an if to check if the flag is enabled,
otherwise we don't need to do anything with the map.
- dom/Element.cpp:
(WebCore::Element::attributeChanged):
LayoutTests:
- platform/wincairo-wk1/TestExpectations: Mark test as timeout as it
was before r293958.
- 1:41 AM Changeset in webkit [293969] by
-
- 8 edits in trunk/Source
Unreviewed, non-unified build fixes after r293562
Source/WebCore:
- workers/shared/context/SharedWorkerThread.cpp:
- workers/shared/context/SharedWorkerThreadProxy.cpp:
Source/WebKit:
- NetworkProcess/SharedWorker/WebSharedWorkerServerConnection.h:
- WebProcess/Storage/WebSharedWorkerContextManagerConnection.cpp:
(WebKit::WebSharedWorkerContextManagerConnection::launchSharedWorker):
Source/WTF:
- wtf/text/StringCommon.h:
May 8, 2022:
- 11:28 PM Changeset in webkit [293968] by
-
- 4 edits in trunk/Source
[macOS] REGRESSION (r293825): Find highlight snapshots are incorrectly scaled
https://bugs.webkit.org/show_bug.cgi?id=240203
rdar://92892014
Reviewed by Tim Horton.
Source/WebCore:
takeSnapshots() depends on the snapshot ImageBuffer::resolutionScale() to
set the size of the TextIndicatorData image. r293825 scaled the size of
the ImageBuffer before creation and moved the scaling to the GraphicsContext.
So we have correct scaled pixels but the resolutionScale is 1. So we get
enlarged incorrect image.
The fix is to revert r293825 and fix the iOS snapshot without having to
change snapshotFrameRectWithClip().
- page/FrameSnapshotting.cpp:
(WebCore::snapshotFrameRectWithClip):
Source/WebKit:
In getShareableBitmapForImageBufferWithQualifiedIdentifier(), we used to
pass the backendSize as the srcRect and the backendSize as the destRect
to GraphicsContext::drawImageBuffer(). The backendSize is the logicalSize
scaled by the resolutionScale. But in ImageBufferCGBackend::draw() we
scale the srcRect by the resolutionScale one more time. This double-
scaled srcRect draws a srcRect whose size = backendSize * resolutionScale
to a destRect whose size = backendSize. And this results in shrinking the
desired snapshot image by 1 / resolutionScale.
- GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::getShareableBitmapForImageBufferWithQualifiedIdentifier):
- 11:14 PM Changeset in webkit [293967] by
-
- 18 edits in trunk/Source
Introduce EventTrackingRegions::Event enum
https://bugs.webkit.org/show_bug.cgi?id=240206
Reviewed by Mark Lam.
We noticed that EventNames 260~ AtomStrings are allocated in scrolling thread only because we are using
eventNames() for EventTrackingRegions. But since use of it is limited, we can just use enum instead.
- We can make EventTrackingRegions more efficient by using enum instead of String.
- We can save memory by avoiding EventNames string allocations & AtomStringTable registration.
- We can make this parameter more strictly typed compared to accepting any kind of Strings
- Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(WebKit::dump):
- Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<EventTrackingRegions>::decode):
- Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.cpp:
(WebKit::RemoteScrollingCoordinatorProxy::eventTrackingTypeForPoint const):
- Source/WebKit/UIProcess/RemoteLayerTree/RemoteScrollingCoordinatorProxy.h:
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::updateTouchEventTracking):
- Source/WebCore/page/DebugPageOverlays.cpp:
(WebCore::NonFastScrollableRegionOverlay::drawRect):
- Source/WebCore/page/Page.cpp:
(WebCore::Page::touchEventRectsForEventForTesting):
- Source/WebCore/page/Page.h:
- Source/WebCore/page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::absoluteEventTrackingRegionsForFrame const):
- Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp:
(WebCore::ScrollingStateFrameScrollingNode::dumpProperties const):
- Source/WebCore/page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::computeWheelProcessingSteps):
(WebCore::ScrollingTree::eventTrackingTypeForPoint):
- Source/WebCore/page/scrolling/ScrollingTree.h:
- Source/WebCore/platform/EventTrackingRegions.cpp:
(WebCore::EventTrackingRegions::eventName):
(WebCore::EventTrackingRegions::trackingTypeForPoint):
(WebCore::EventTrackingRegions::uniteSynchronousRegion):
- Source/WebCore/platform/EventTrackingRegions.h:
- Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::touchEventRectsForEvent):
- Source/WebCore/testing/Internals.h:
Canonical link: https://commits.webkit.org/250405@main
- 9:05 PM Changeset in webkit [293966] by
-
- 2 edits in branches/safari-7614.1.12-branch/Source/WebKit
Cherry-pick r293945. rdar://problem/92859012
Fix another internal build
https://bugs.webkit.org/show_bug.cgi?id=240201
<rdar://92859012>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-05-06
Reviewed by Alexey Proskuryakov.
Bug 240184 introduced a classic "but I have spaces in my path" bug.
- Configurations/adattributiond.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:05 PM Changeset in webkit [293965] by
-
- 4 edits1 add in branches/safari-7614.1.12-branch/Source/WebGPU
Cherry-pick r293937. rdar://problem/92524485
[WebGPU] Fix build on downlevel OSes in Apple's build system
https://bugs.webkit.org/show_bug.cgi?id=240159
<rdar://problem/92524485>
Reviewed by Alexey Proskuryakov.
Some variables from WebKitTargetConditionals.xcconfig and
PlatformSupport.xcconfig are used, so we have to make sure
we include them. Also refactor the INSTALL_PATH variable a
bit.
- Configurations/Base.xcconfig:
- Configurations/WebGPU.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig: Added.
- WebGPU.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:04 PM Changeset in webkit [293964] by
-
- 2 edits in branches/safari-7614.1.12-branch/Source/WebKit
Cherry-pick r293936. rdar://problem/92859012
Fix adattributiond build in internal build on older macOS
https://bugs.webkit.org/show_bug.cgi?id=240184
<rdar://92859012>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-05-06
Reviewed by Alexey Proskuryakov.
We need to search for WK_OVERRIDE_FRAMEWORKS_DIR to find the right frameworks
- Configurations/adattributiond.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:55 PM Changeset in webkit [293963] by
-
- 1 copy in tags/WebKit-7614.1.11.8
Tag WebKit-7614.1.11.8.
- 8:54 PM Changeset in webkit [293962] by
-
- 2 edits in branches/safari-614.1.11-branch/Source/WebKit
Cherry-pick r293945. rdar://problem/92859012
Fix another internal build
https://bugs.webkit.org/show_bug.cgi?id=240201
<rdar://92859012>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-05-06
Reviewed by Alexey Proskuryakov.
Bug 240184 introduced a classic "but I have spaces in my path" bug.
- Configurations/adattributiond.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293945 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:54 PM Changeset in webkit [293961] by
-
- 4 edits1 add in branches/safari-614.1.11-branch/Source/WebGPU
Cherry-pick r293937. rdar://problem/92524485
[WebGPU] Fix build on downlevel OSes in Apple's build system
https://bugs.webkit.org/show_bug.cgi?id=240159
<rdar://problem/92524485>
Reviewed by Alexey Proskuryakov.
Some variables from WebKitTargetConditionals.xcconfig and
PlatformSupport.xcconfig are used, so we have to make sure
we include them. Also refactor the INSTALL_PATH variable a
bit.
- Configurations/Base.xcconfig:
- Configurations/WebGPU.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig: Added.
- WebGPU.xcodeproj/project.pbxproj:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293937 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:54 PM Changeset in webkit [293960] by
-
- 2 edits in branches/safari-614.1.11-branch/Source/WebKit
Cherry-pick r293936. rdar://problem/92859012
Fix adattributiond build in internal build on older macOS
https://bugs.webkit.org/show_bug.cgi?id=240184
<rdar://92859012>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-05-06
Reviewed by Alexey Proskuryakov.
We need to search for WK_OVERRIDE_FRAMEWORKS_DIR to find the right frameworks
- Configurations/adattributiond.xcconfig:
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293936 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 8:45 PM Changeset in webkit [293959] by
-
- 9 edits in branches/safari-614.1.11-branch/Source
Versioning.
WebKit-7614.1.11.8
- 5:19 PM Changeset in webkit [293958] by
-
- 2 edits in trunk/LayoutTests
[WinCairo][WK1] accessibility/aria-combobox-control-owns-elements.html is crashing after 250325@main
https://bugs.webkit.org/show_bug.cgi?id=240218
<rdar://problem/92929718>
Unreviewed test gardening.
- platform/wincairo-wk1/TestExpectations: Skip it.
Canonical link: https://commits.webkit.org/250404@main
- 10:08 AM Changeset in webkit [293957] by
-
- 2 edits in trunk
Introduction.md: Fix typos found by mcatanzaro
https://bugs.webkit.org/show_bug.cgi?id=240211
Reviewed by Tim Nguyen.
Fixed typos.
- Introduction.md:
- 12:12 AM Changeset in webkit [293956] by
-
- 15 edits in trunk
Avoid resolving style for elements that only inherit changes from parent
https://bugs.webkit.org/show_bug.cgi?id=240132
<rdar://problem/92867346>
Reviewed by Sam Weinig.
Source/WebCore:
When an inherited property changes we need to update all descendant styles too. Currently this
is done by simply running the full style resolution for them including selector matching and
style building steps.
In the common case nothing changes in descendants expect the inherited properties. This patch implements
a fast-path mechanism that allows us to simply copy the relevant properties from the parent, skipping
all the other work. This is possible if we can prove that the value of these properties is not changed
by any rules targeting the child and that there are no other properties affected by this value change.
The mechanism is only implemented for the 'color' property for now. It can be expanded for other properties later.
It would be especially useful for custom properties.
- css/CSSProperties.json:
- css/makeprop.pl:
Add "fast-path-inherited" codegen property that disables the fast-path if the property is explicitly mutated.
(generateInitialValueSetter):
(generateValueSetter):
- rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
(WebCore::RenderStyle::fastPathInheritFrom):
Inherit fast path properties.
(WebCore::RenderStyle::fastPathInheritedEqual const):
(WebCore::RenderStyle::nonFastPathInheritedEqual const):
Test for fast-path property changes.
- rendering/style/RenderStyle.h:
(WebCore::RenderStyle::disallowsFastPathInheritance const):
(WebCore::RenderStyle::setDisallowsFastPathInheritance):
Track if can use the mechanism.
(WebCore::RenderStyle::NonInheritedFlags::operator== const):
- rendering/style/StyleInheritedData.cpp:
(WebCore::StyleInheritedData::operator== const):
(WebCore::StyleInheritedData::fastPathInheritedEqual const):
(WebCore::StyleInheritedData::nonFastPathInheritedEqual const):
(WebCore::StyleInheritedData::fastPathInheritFrom):
- rendering/style/StyleInheritedData.h:
- style/StyleBuilderCustom.h:
(WebCore::Style::BuilderCustom::applyValueFill):
(WebCore::Style::BuilderCustom::applyValueStroke):
- style/StyleBuilderState.cpp:
(WebCore::Style::BuilderState::colorFromPrimitiveValueWithResolvedCurrentColor const):
Color value 'currentcolor' is mostly resolved during use time but in the few places we still resolve it during style building
we need to disable the fast-path, since it makes other properties depend on 'color' property.
- style/StyleChange.cpp:
(WebCore::Style::determineChange):
New style change type for fast-path inheritance.
- style/StyleChange.h:
- style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::styleForStyleable):
Resolve by just copying properties from the parent.
(WebCore::Style::TreeResolver::computeDescendantsToResolve):
(WebCore::Style::TreeResolver::resolveElement):
(WebCore::Style::TreeResolver::determineResolutionType):
Use fast-path if the only reason we are resolving this element is that some supported inherited property changed.
(WebCore::Style::TreeResolver::resolveComposedTree):
(WebCore::Style::TreeResolver::shouldResolveElement): Deleted.
- style/StyleTreeResolver.h:
Tools:
- Scripts/webkitpy/style/checkers/jsonchecker.py:
(JSONCSSPropertiesChecker.check_codegen_properties):
May 7, 2022:
- 10:50 PM Changeset in webkit [293955] by
-
- 7 edits in trunk/Source/WebCore
Add helper functions to queue task on Node with GCReachableRef
https://bugs.webkit.org/show_bug.cgi?id=240204
Reviewed by Chris Dumez.
Added Node::queueTaskKeepingThisNodeAlive, which queues a task to the event loop while keeping "this" Node
and its JS wrapper alive, and Node::queueTaskToDispatchEvent, which queues a task to the event loop to
dispatch an event on "this" Node while keeping it and its JS wrapper alive, and deployed them in elements.
- Modules/model-element/HTMLModelElement.cpp:
(WebCore::HTMLModelElement::setSourceURL): Need to disambiguate which queueTaskToDispatchEvent to use
between Node and ActiveDOMObject.
(WebCore::HTMLModelElement::notifyFinished): Ditto.
- dom/Node.cpp:
(WebCore::Node::queueTaskKeepingThisNodeAlive): Added.
(WebCore::Node::queueTaskToDispatchEvent): Added.
- dom/Node.h:
- html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::parseAttribute): Use newly added functions.
- html/HTMLDialogElement.cpp:
(WebCore::HTMLDialogElement::close): Ditto.
(WebCore::HTMLDialogElement::queueCancelTask): Ditto.
- html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::scheduleSelectEvent): Ditto.
- 9:19 PM Changeset in webkit [293954] by
-
- 2 edits in trunk/Source/WebKit
Do WebKitAdditions header replacement only when a specific environment variable is set
https://bugs.webkit.org/show_bug.cgi?id=240210
<rdar://92885915>
Reviewed by Tim Horton.
- Source/WebKit/Configurations/WebKit.xcconfig:
- Source/WebKit/mac/replace-webkit-additions-includes.py:
(check_should_do_replacement):
(main):
(is_supported_os): Deleted.
Canonical link: https://commits.webkit.org/250400@main
- 8:47 PM Changeset in webkit [293953] by
-
- 2 edits in trunk/Source/WebCore
Use an OptionSet iterator to skip directly to GraphicsContextState::Change bits to handle
https://bugs.webkit.org/show_bug.cgi?id=239954
<rdar://problem/92593424>
Patch by Cameron McCormack <Cameron McCormack> on 2022-05-07
Reviewed by Simon Fraser.
It would be rare for display list SetState items to have many Change
bits set on them. Instead of checking for all 15 bits in mergeChanges,
we can use OptionSet's iterator to skip directly to each changed bit.
Using ctz to turn the Change bit into a bit position helps the
compiler generate compact code to jump to each case in the switch
statement.
On an iPad I tested with, this is a ~2% win on the MotionMark Design
subtest, 5.5% on Leaves, and 1.4% overall.
- platform/graphics/GraphicsContextState.cpp:
(WebCore::toIndex):
(WebCore::GraphicsContextState::mergeChanges):
- 7:41 PM Changeset in webkit [293952] by
-
- 2 edits in trunk/Source/bmalloc
Force PAS_ASSERT to generate different crash sites for each assertion.
https://bugs.webkit.org/show_bug.cgi?id=240209
Reviewed by Yusuke Suzuki.
Clang currently optimizes all crash sites into one in each function. Hence, if we
get a crash address at the 1 crash site, we don't know which failed assertion got
us there. This patch uses an asm statement to force Clang to emit a different
crash site for each assertion.
Benchmarks show that performance is neutral on both Jetstream2 and Speedometer2.
Size-wise, there is some increase. The following is the "size" output on
JavaScriptCore on M1:
TEXT. DATA OBJC others dec hex
old 19628032 180224 0 18792448 38600704 24d0000
new 19644416 180224 0 19251200 39075840 2544000
diff 16384 0 0 458752 475136
The increase in the "others" categories are mostly in the String Table, Symbol
Table, and Function Start Addresses. These take up disk space but should not
impact RAM usage unless they are accessed by a a debugger.
- libpas/src/libpas/pas_utils.h:
(pas_assertion_failed):
- 4:34 PM Changeset in webkit [293951] by
-
- 13 edits2 adds in trunk
Don't propagate GraphicsContextState change bits into TextPainter's glyph display list recorder
https://bugs.webkit.org/show_bug.cgi?id=239952
<rdar://problem/92635604>
Source/WebCore:
Reviewed by Said Abou-Hallawa and Antti Koivisto.
In FontCascade::displayListForTextRun, we create a
DisplayList::Recorder, then call drawGlyphBuffer. We initialize the
DisplayList::Recorder with the GraphicsContextState of the
GraphicsContext we're drawing to. Just before this, we will have set the
current fill color on that GraphicsContext.
When GPUP DOM rendering is disabled, GraphicsContextCG responds to
setFillColor etc. by updating GraphicsContextState, including setting
the Change flag, then immediately updating the CGContext, and clearing
the Change flag.
But when GPUP DOM rendering is enabled, the GraphicsContext is a
DisplayList::Recorder for the layer we're painting in to. Because
DisplayList::Recorder applies its state changes lazily, it can be in the
situation where its GraphicsContextState has had the fill brush changed,
and the Change flag is still set. So DisplayList::Recorder starts off
with a GraphicsContextState with unapplied changes in it. We end up in
DisplayList::Recorder::drawGlyphsAndCacheFont, which calls
appendStateChangeItemIfNecessary, which sees that the Change bit is set,
and generates a SetInlineFillColor display list item, which is
recorded and then replayed the next time the same text is painted.
This recorded fill color then may be wrong for the next TextPainter
that wants to reuse the cached glyph display list.
Display list recorders should never be initialized with a
GraphicsContextState that has change flags set on it. We can assert
this, then make FontCascade explicitly clear those flags on the state
object it passes in to the DisplayList::Recorder.
Test: fast/text/glyph-display-list-color.html
- platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::displayListForTextRun const):
- platform/graphics/GraphicsContextState.cpp:
(WebCore::GraphicsContextState::cloneForRecording const):
- platform/graphics/GraphicsContextState.h:
- platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::Recorder):
Add setForceUseGlyphDisplayListForTesting and
cachedGlyphDisplayListsForTextNode functions on Internal for the
test to use:
- rendering/GlyphDisplayListCache.h:
(WebCore::GlyphDisplayListCache::getIfExists):
- rendering/TextPainter.cpp:
(WebCore::TextPainter::shouldUseGlyphDisplayList):
(WebCore::TextPainter::setForceUseGlyphDisplayListForTesting):
(WebCore::TextPainter::cachedGlyphDisplayListsForTextNodeAsText):
- rendering/TextPainter.h:
(WebCore::TextPainter::glyphDisplayListIfExists):
- testing/Internals.cpp:
(WebCore::Internals::setForceUseGlyphDisplayListForTesting):
(WebCore::Internals::cachedGlyphDisplayListsForTextNode):
- testing/Internals.h:
- testing/Internals.idl:
LayoutTests:
Reviewed by Antti Koivisto.
- fast/text/glyph-display-list-color-expected.txt: Added.
- fast/text/glyph-display-list-color.html: Added.
- 11:15 AM Changeset in webkit [293950] by
-
- 2 edits in trunk
Explain now node reference counting works in Introduction.md
https://bugs.webkit.org/show_bug.cgi?id=240202
Unreviewed. Fix an obvious typo.
- Introduction.md:
- 10:58 AM Changeset in webkit [293949] by
-
- 2 edits in trunk
Explain now node reference counting works in Introduction.md
https://bugs.webkit.org/show_bug.cgi?id=240202
Reviewed by Chris Dumez.
Added explanation on how Node reference counting works.
- Introduction.md:
- 10:34 AM Changeset in webkit [293948] by
-
- 8 edits in trunk/Source
Modernize / Optimize HTMLInputElement a bit
https://bugs.webkit.org/show_bug.cgi?id=240194
Reviewed by Darin Adler.
- Source/WebCore/html/ColorInputType.h:
- Source/WebCore/html/FileInputType.cpp:
(WebCore::FileInputType::firstElementPathForInputValue const):
(WebCore::FileInputType::files): Deleted.
(WebCore::FileInputType::canSetValue): Deleted.
(WebCore::FileInputType::getTypeSpecificValue): Deleted.
- Source/WebCore/html/FileInputType.h:
- Source/WebCore/html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::endEditing):
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::accessKeyAction):
(WebCore::HTMLInputElement::initializeInputType):
(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::finishParsingChildren):
(WebCore::HTMLInputElement::appendFormData):
(WebCore::HTMLInputElement::reset):
(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::setIndeterminate):
(WebCore::HTMLInputElement::value const):
(WebCore::HTMLInputElement::valueWithDefault const):
(WebCore::HTMLInputElement::setValue):
(WebCore::HTMLInputElement::defaultEventHandler):
(WebCore::HTMLInputElement::acceptMIMETypes const):
(WebCore::HTMLInputElement::acceptFileExtensions const):
(WebCore::HTMLInputElement::setShowAutoFillButton):
(WebCore::HTMLInputElement::files):
(WebCore::HTMLInputElement::setFiles):
(WebCore::HTMLInputElement::onSearch):
(WebCore::HTMLInputElement::prepareForDocumentSuspension):
(WebCore::HTMLInputElement::valueAsColor const):
(WebCore::HTMLInputElement::selectColor):
(WebCore::HTMLInputElement::suggestedColors const):
(WebCore::HTMLInputElement::dataList const):
(WebCore::HTMLInputElement::updateValueIfNeeded):
(WebCore::HTMLInputElement::isInRequiredRadioButtonGroup):
(WebCore::HTMLInputElement::radioButtonGroup const):
(WebCore::HTMLInputElement::checkedRadioButtonForGroup const):
(WebCore::HTMLInputElement::size const): Deleted.
(WebCore::HTMLInputElement::setValueForUser): Deleted.
(WebCore::HTMLInputElement::acceptMIMETypes): Deleted.
(WebCore::HTMLInputElement::acceptFileExtensions): Deleted.
(WebCore::HTMLInputElement::canReceiveDroppedFiles const): Deleted.
- Source/WebCore/html/HTMLInputElement.h:
(WebCore::HTMLInputElement::size const):
(WebCore::HTMLInputElement::setValueForUser):
(WebCore::HTMLInputElement::hasDirtyValue const):
(WebCore::HTMLInputElement::hasAutoFillStrongPasswordButton const):
(WebCore::HTMLInputElement::canReceiveDroppedFiles const):
- Source/WebCore/html/InputType.cpp:
(WebCore::InputType::files): Deleted.
(WebCore::InputType::setFiles): Deleted.
(WebCore::InputType::getTypeSpecificValue): Deleted.
(WebCore::InputType::canSetValue): Deleted.
(WebCore::InputType::valueAsColor const): Deleted.
(WebCore::InputType::selectColor): Deleted.
(WebCore::InputType::suggestedColors const): Deleted.
- Source/WebCore/html/InputType.h:
(WebCore::InputType::supportsValidation const):
(WebCore::InputType::InputType):
(WebCore::InputType::canHaveTypeSpecificValue const): Deleted.
Canonical link: https://commits.webkit.org/250394@main
May 6, 2022:
- 10:27 PM Changeset in webkit [293947] by
-
- 11 edits in trunk
Fix flakey test by using the old API on old systems.
https://bugs.webkit.org/show_bug.cgi?id=240195
Reviewed by Tim Horton.
Source/WebKit:
Turn fast/images/text-recognition/ios/show-data-detector-context-menu.html back on.
- UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKActionSheetAssistant contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]): Deleted.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKContentView contextMenuInteraction:configuration:dismissalPreviewForItemWithIdentifier:contextMenuInteraction:previewForDismissingMenuWithConfiguration:]):
(-[WKContentView contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]): Deleted.
(-[WKContentView contextMenuInteraction:configuration:dismissalPreviewForItemWithIdentifier:]): Deleted.
- UIProcess/ios/WebDataListSuggestionsDropdownIOS.mm:
(-[WKDataListSuggestionsDropdown contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKDataListSuggestionsDropdown contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]): Deleted.
- UIProcess/ios/forms/WKDateTimeInputControl.mm:
(-[WKDateTimePicker contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKDateTimePicker contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]): Deleted.
- UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKFileUploadPanel contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]): Deleted.
- UIProcess/ios/forms/WKFormSelectPicker.mm:
(-[WKSelectPicker contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:contextMenuInteraction:previewForHighlightingMenuWithConfiguration:]):
(-[WKSelectPicker contextMenuInteraction:configuration:highlightPreviewForItemWithIdentifier:]): Deleted.
Source/WTF:
- wtf/PlatformHave.h:
LayoutTests:
- platform/ios/TestExpectations:
- 9:16 PM Changeset in webkit [293946] by
-
- 2 edits in trunk/Source/WebCore
Block-style image overlay containers should have lighter shadows
https://bugs.webkit.org/show_bug.cgi?id=240198
rdar://92890194
Reviewed by Tim Horton.
Make some minor adjustments to the style of block-style image overlays. The short and long box-shadows
underneath these boxes should be much lighter, and the font-weight should be normal (400) instead of bold.
- html/shadow/imageOverlay.css:
(div.image-overlay-block):
Canonical link: https://commits.webkit.org/250392@main
- 9:02 PM Changeset in webkit [293945] by
-
- 2 edits in trunk/Source/WebKit
Fix another internal build
https://bugs.webkit.org/show_bug.cgi?id=240201
<rdar://92859012>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-05-06
Reviewed by Alexey Proskuryakov.
Bug 240184 introduced a classic "but I have spaces in my path" bug.
- Configurations/adattributiond.xcconfig:
- 7:17 PM Changeset in webkit [293944] by
-
- 2 edits in trunk/Source/WebCore
[WebXR] Update color format used for the multisample render buffer
https://bugs.webkit.org/show_bug.cgi?id=240179
Patch by Ada Chan <adachan@apple.com> on 2022-05-06
Reviewed by Dean Jackson.
- Modules/webxr/WebXROpaqueFramebuffer.cpp:
(WebCore::WebXROpaqueFramebuffer::setupFramebuffer):
- 7:07 PM Changeset in webkit [293943] by
-
- 6 edits in trunk/Source/WebCore
Optimize shouldApplyContainment methods
https://bugs.webkit.org/show_bug.cgi?id=240164
Reviewed by Alan Bujtas.
Based on a patch by Rob Buis.
Optimize shouldApplyContainment methods by allowing OptionSet as a parameter.
Also restrict the principal box checks to a single location.
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeIntrinsicLogicalWidths const):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths const):
- rendering/RenderElement.h:
(WebCore::RenderElement::canContainFixedPositionObjects const):
(WebCore::RenderElement::canContainAbsolutelyPositionedObjects const):
(WebCore::RenderElement::shouldApplyLayoutOrPaintContainment const):
(WebCore::RenderElement::shouldApplySizeOrStyleContainment const):
(WebCore::RenderElement::shouldApplyLayoutContainment const):
(WebCore::RenderElement::shouldApplyPaintContainment const):
(WebCore::RenderElement::shouldApplySizeContainment const):
(WebCore::RenderElement::shouldApplyInlineSizeContainment const):
(WebCore::RenderElement::shouldApplyStyleContainment const):
(WebCore::RenderElement::shouldApplyAnyContainment const):
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths const):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::computeEmptyTracksForAutoRepeat const):
- 6:52 PM Changeset in webkit [293942] by
-
- 5 edits in trunk
Temporal.Duration#toString should never ignore fractionalSecondDigits
https://bugs.webkit.org/show_bug.cgi?id=240193
Reviewed by Yusuke Suzuki.
This patch implements the spec correction of https://github.com/tc39/proposal-temporal/pull/1956:
new Temporal.Duration.from(1).toString({ fractionalSecondDigits: 2 })should be P1Y0.00S, not just P1Y.
- stress/temporal-duration.js: Add a test case.
- test262/expectations.yaml: Mark two test cases as passing.
- runtime/TemporalDuration.cpp:
(JSC::TemporalDuration::toString):
Canonical link: https://commits.webkit.org/250388@main
- 6:41 PM Changeset in webkit [293941] by
-
- 21 edits6 adds in trunk/Source
Unreviewed, reverting r293824.
https://bugs.webkit.org/show_bug.cgi?id=240197
Speedometer2/Angular2-TypeScript-TodoMVC 8% regression
Reverted changeset:
"SWOriginStore is no longer needed"
https://bugs.webkit.org/show_bug.cgi?id=240003
https://commits.webkit.org/r293824
- 6:38 PM Changeset in webkit [293940] by
-
- 3 edits2 adds in trunk
CSP: Fix script-src-elem policies in workers
https://bugs.webkit.org/show_bug.cgi?id=239840
Reviewed by Kate Cheney.
Source/WebCore:
Test: http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-script-src-elem.html
- page/csp/ContentSecurityPolicyDirectiveList.cpp:
(WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForScript const):
LayoutTests:
CSP: Fix script-src-elem policies in workers
- http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-script-src-elem-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-script-src-elem.html: Added.
- 6:32 PM Changeset in webkit [293939] by
-
- 2 edits in trunk/Source/WebCore
Use dynamicDowncast in getPathFromPathOperation()
https://bugs.webkit.org/show_bug.cgi?id=240190
Reviewed by Chris Dumez.
Small cleanup.
- style/StyleBuilderConverter.h:
(WebCore::Style::BuilderConverter::convertPathOperation):
- 6:15 PM Changeset in webkit [293938] by
-
- 12 edits in trunk
Don't show "Markup Image" item for images that have already been marked up
https://bugs.webkit.org/show_bug.cgi?id=240133
rdar://92064534
Reviewed by Aditya Keerthi.
Source/WebKit:
Add some logic to avoid showing the "Markup Image" menu item on both macOS (in the context menu) and iOS (in the
callout bar or editing context menu) for image elements that were created and inserted in the process of
invoking "Markup Image". See below for more details.
Tests: ImageAnalysisTests.AllowImageAnalysisMarkupOnce
- UIProcess/Cocoa/WebPageProxyCocoa.mm:
- UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::shouldAllowImageMarkup):
Add an async reply IPC message that the UI process uses to determine whether or not we should enable image
markup for an element corresponding to the givenElementContext.
- UIProcess/WebPageProxy.h:
Also move the declaration of
replaceImageWithMarkupResultsinto theENABLE(IMAGE_ANALYSIS_ENHANCEMENTS)
section.
- UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView doAfterComputingImageAnalysisResultsForMarkup:]):
- UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::appendMarkupItemToControlledImageMenuIfNeeded):
Consult
shouldAllowImageMarkup()before triggering image analysis when determining whether or not we should
include the "Markup Image" item.
- WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::replaceImageWithMarkupResults):
Keep track of image elements that were created to replace existing images when performing image markup. To
achieve this, we scan the selection range before the caret after replacing the image to find the newly inserted
image and add it tom_elementsToExcludeFromMarkup.
- WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
Clear out the
m_imageElementsToExcludeFromMarkupvector.
(WebKit::WebPage::shouldAllowImageMarkup const):
- WebProcess/WebPage/WebPage.h:
- WebProcess/WebPage/WebPage.messages.in:
Tools:
Add an API test to verify that the option to Markup Image goes away after invoking Markup Image on an image
element.
- TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:
(TestWebKitAPI::runMarkupTest):
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/250384@main
- 5:48 PM Changeset in webkit [293937] by
-
- 4 edits1 add in trunk/Source/WebGPU
[WebGPU] Fix build on downlevel OSes in Apple's build system
https://bugs.webkit.org/show_bug.cgi?id=240159
<rdar://problem/92524485>
Reviewed by Alexey Proskuryakov.
Some variables from WebKitTargetConditionals.xcconfig and
PlatformSupport.xcconfig are used, so we have to make sure
we include them. Also refactor the INSTALL_PATH variable a
bit.
- Configurations/Base.xcconfig:
- Configurations/WebGPU.xcconfig:
- Configurations/WebKitTargetConditionals.xcconfig: Added.
- WebGPU.xcodeproj/project.pbxproj:
- 5:41 PM Changeset in webkit [293936] by
-
- 2 edits in trunk/Source/WebKit
Fix adattributiond build in internal build on older macOS
https://bugs.webkit.org/show_bug.cgi?id=240184
<rdar://92859012>
Patch by Alex Christensen <achristensen@webkit.org> on 2022-05-06
Reviewed by Alexey Proskuryakov.
We need to search for WK_OVERRIDE_FRAMEWORKS_DIR to find the right frameworks
- Configurations/adattributiond.xcconfig:
- 5:15 PM Changeset in webkit [293935] by
-
- 4 edits in trunk
ISO8601::Duration should guard against -0
https://bugs.webkit.org/show_bug.cgi?id=240185
Reviewed by Yusuke Suzuki.
Currently, when we parse a negative ISO duration string or negate a positive Duration object,
we end up storing -0 for the zero fields. This patch ensures that we always store +0 instead.
- test262/expectations.yaml:
Mark 32 test cases as passing.
- runtime/ISO8601.h:
Add guards for zero cases.
Canonical link: https://commits.webkit.org/250381@main
- 5:10 PM Changeset in webkit [293934] by
-
- 1 edit in trunk/Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py
Enable field trial configs when testing Chrome Betas
https://bugs.webkit.org/show_bug.cgi?id=240187
Reviewed by Saam Barati.
- Tools/Scripts/webkitpy/benchmark_runner/browser_driver/osx_chrome_driver.py:
(OSXChromeDriverBase):
(OSXChromeDriverBase.launch_args_with_url):
(OSXChromeDriverBase.launch_url):
(OSXChromeCanaryDriver.launch_args_with_url):
(OSXChromeBetaDriver.launch_args_with_url):
(OSXChromeDevDriver._set_chrome_binary_location):
(OSXChromeDevDriver):
(OSXChromeDevDriver.launch_args_with_url):
Canonical link: https://commits.webkit.org/250380@main
- 5:08 PM Changeset in webkit [293933] by
-
- 3 edits2 adds in trunk
Use correct document as root for lazy image observer
https://bugs.webkit.org/show_bug.cgi?id=240083
Patch by Rob Buis <rbuis@igalia.com> on 2022-05-06
Reviewed by Simon Fraser.
LayoutTests/imported/w3c:
Add a test for scrolling a lazy loaded image into view in an iframe.
- web-platform-tests/html/semantics/embedded-content/the-img-element/scrolling-below-viewport-image-lazy-loading-in-iframe-expected.txt: Added.
- web-platform-tests/html/semantics/embedded-content/the-img-element/scrolling-below-viewport-image-lazy-loading-in-iframe.html: Added.
Source/WebCore:
Use correct document as root for lazy image observer, meaning
elements in the main frame will use the main frame document and
elements in iframes will use the iframe document as root.
Test: imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/scrolling-below-viewport-image-lazy-loading-in-iframe.html
- html/LazyLoadImageObserver.cpp:
(WebCore::LazyLoadImageObserver::intersectionObserver):
- 5:04 PM Changeset in webkit [293932] by
-
- 1 copy in tags/WebKit-7614.1.12.1
Tag WebKit-7614.1.12.1.
- 5:01 PM Changeset in webkit [293931] by
-
- 2 edits in trunk/Source/WebCore
[macOS] Content filter blocking shield is not displayed
https://bugs.webkit.org/show_bug.cgi?id=240178
<rdar://91586177>
Reviewed by Geoffrey Garen.
This is a regression from moving content filtering from the WebContent process to the Network process in r291630.
After r291630, the function to determine if a blocked request can be unblocked, is called in the Network process,
but it is not handling the case where the function to unblock the request is not set. This is causing the load
for blocked URLs to never finish, since the decision handler provided to the unblock request function is never
called. This patch addresses this by calling the decisionhandler with the blocked flag set in this case.
- platform/cocoa/ContentFilterUnblockHandlerCocoa.mm:
(WebCore::ContentFilterUnblockHandler::requestUnblockAsync const):
- 4:17 PM Changeset in webkit [293930] by
-
- 4 edits in trunk/Tools
[git-webkit] Forward environment to
git commit
https://bugs.webkit.org/show_bug.cgi?id=240191
<rdar://problem/92885927>
Reviewed by Stephanie Lewis.
- Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.create_commit): Pass caller's environment.
Canonical link: https://commits.webkit.org/250377@main
- 4:10 PM Changeset in webkit [293929] by
-
- 2 edits in trunk/Source/WebCore
[macOS] HTTP traffic is not filtered in the parental controls filter
https://bugs.webkit.org/show_bug.cgi?id=240180
<rdar://problem/92875540>
Reviewed by Geoffrey Garen.
Traditionally, we have not filtered HTTP in the parental controls filter on macOS, since other parts of the system
has taken care of this. This appears to have changed now, and WebKit should also filter HTTP in addition to HTTPS.
- platform/cocoa/ParentalControlsContentFilter.mm:
(WebCore::canHandleResponse):
- 3:33 PM Changeset in webkit [293928] by
-
- 5 edits in trunk/Source
Remove unused ApplePayRemoteUIEnabled preference
https://bugs.webkit.org/show_bug.cgi?id=240177
Reviewed by Devin Rousso.
Remove the internal WKPreference for ApplePayRemoteUIEnabled now that
we always use the high-security remote ApplePay UI.
Source/WebKit:
- WebProcess/ApplePay/WebPaymentCoordinator.cpp:
(WebKit::WebPaymentCoordinator::networkProcessConnectionClosed):
(WebKit::WebPaymentCoordinator::messageSenderConnection const):
(WebKit::WebPaymentCoordinator::remoteUIEnabled const): Deleted.
- WebProcess/ApplePay/WebPaymentCoordinator.h:
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
- 3:20 PM Changeset in webkit [293927] by
-
- 2 edits in trunk/LayoutTests
[Gardening] REGRESSION (r293117): [ iOS ] fast/innerHTML/001.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=240170
Unreviewed test gardening.
Canonical link: https://commits.webkit.org/250374@main
- 3:06 PM Changeset in webkit [293926] by
-
- 3 edits2 adds in trunk
[selectors] Double script focus after mouse click shouldn't match :focus-visible
https://bugs.webkit.org/show_bug.cgi?id=239472
<rdar://problem/92301472>
Reviewed by Antti Koivisto.
LayoutTests/imported/w3c:
- web-platform-tests/css/selectors/focus-visible-script-focus-020-expected.txt: Added.
- web-platform-tests/css/selectors/focus-visible-script-focus-020.html: Added.
Source/WebCore:
When you do the second script focus, we were setting
m_latestFocusTrigger to FocusTrigger::Bindings, that makes us lose the
information about the previous element that was focused via mouse
click and start matching :focus-visible on that case.
Test: imported/w3c/web-platform-tests/css/selectors/focus-visible-script-focus-020.html
- dom/Document.cpp:
(WebCore::Document::setFocusedElement): We avoid setting
m_latestFocusTrigger if we come from script focus. That way we know if
the previous focused element was focused via mouse click after several
script focus.
- 2:54 PM Changeset in webkit [293925] by
-
- 2 edits in trunk/Source/JavaScriptCore
[JSC] Add more information about MarkedBlock assertion
https://bugs.webkit.org/show_bug.cgi?id=240176
Reviewed by Mark Lam and Saam Barati.
Collect more information about assertion via CRASH_WITH_INFO.
- Source/JavaScriptCore/heap/MarkedBlockInlines.h:
(JSC::MarkedBlock::Handle::specializedSweep):
Canonical link: https://commits.webkit.org/250372@main
- 2:51 PM Changeset in webkit [293924] by
-
- 2 edits in trunk/LayoutTests
[Gardening][ iOS ] fast/innerHTML/001.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=240170
Reviewed by Jonathan Bedard.
Canonical link: https://commits.webkit.org/250371@main
- 2:10 PM Changeset in webkit [293923] by
-
- 7 edits in trunk/Source
Remove abandoned WKPreference for SelectionPaintingWithoutSelectionGaps
https://bugs.webkit.org/show_bug.cgi?id=240129
Reviewed by Alan Bujtas.
Remove the abandoned WKPreference 'SelectionPaintingWithoutSelectionGaps', which was added to support
the EFL port. As the EFL port is no longer buildable, and this code is never used outside of EFL, we
should remove this dead code.
Source/WebCore:
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::shouldPaintSelectionGaps const):
Source/WebKit:
- UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetSelectionPaintingWithoutSelectionGapsEnabled): Deleted.
(WKPreferencesGetSelectionPaintingWithoutSelectionGapsEnabled): Deleted.
- UIProcess/API/C/WKPreferencesRefPrivate.h:
Source/WTF:
- Scripts/Preferences/WebPreferences.yaml:
- 2:03 PM Changeset in webkit [293922] by
-
- 2 edits in trunk/Source/WebCore
null ptr deref in WebCore::Frame::setPrinting
https://bugs.webkit.org/show_bug.cgi?id=240173
Reviewed by Wenson Hsieh.
Check m_doc in Frame::setPrinting before access, as it is a RefPtr that can become null.
- page/Frame.cpp:
(WebCore::Frame::setPrinting):
- 1:26 PM Changeset in webkit [293921] by
-
- 26 edits2 adds in trunk
Add support for Notification objects with custom data
https://bugs.webkit.org/show_bug.cgi?id=240153
Reviewed by Chris Dumez.
This adds support for the data attribute in Notification. This holds an arbitrary structured
cloneable object passed through the constructor. The accessor is marked SameObject, which we
implement via CachedAttribute. The wire form of the data is serialized and deserialized in
NotificationData so that persistent notifications properly support this property.
- Modules/notifications/Notification.cpp:
(WebCore::createSerializedNotificationData):
(WebCore::Notification::create):
(WebCore::Notification::createForServiceWorker):
(WebCore::Notification::Notification):
(WebCore::Notification::dataForBindings):
- Modules/notifications/Notification.h:
- Modules/notifications/Notification.idl:
- Modules/notifications/NotificationData.cpp:
(WebCore::NotificationData::isolatedCopy const):
(WebCore::NotificationData::isolatedCopy):
- Modules/notifications/NotificationData.h:
(WebCore::NotificationData::encode const):
(WebCore::NotificationData::decode):
- Modules/notifications/NotificationDataCocoa.mm:
(WebCore::NotificationData::fromDictionary):
(WebCore::NotificationData::dictionaryRepresentation const):
- Modules/notifications/NotificationOptions.idl:
- workers/service/ServiceWorkerRegistration.cpp:
(WebCore::ServiceWorkerRegistration::showNotification):
LayoutTests/imported/w3c:
- web-platform-tests/notifications/idlharness.https.any-expected.txt:
- web-platform-tests/notifications/idlharness.https.any.serviceworker-expected.txt:
- web-platform-tests/wasm/serialization/module/serialization-via-notifications-api.any-expected.txt:
LayoutTests:
- http/tests/notifications/notification-expected.txt:
- http/tests/notifications/notification.html:
- http/tests/workers/service/getnotifications-expected.txt:
- http/tests/workers/service/getnotifications-stop-expected.txt:
- http/tests/workers/service/getnotifications-stop.html:
- http/tests/workers/service/getnotifications.html:
- http/tests/workers/service/openwindow-from-notification-click.html:
- http/tests/workers/service/resources/shownotification-openwindow-worker.js:
(async tryShow):
(async getNotes):
- http/tests/workers/service/resources/shownotification-worker.js:
(async event):
(async tryShow):
(async tryShowInvalidData.try.data):
(async tryShowInvalidData):
(async getNotes):
- http/tests/workers/service/shownotification-allowed-document-expected.txt:
- http/tests/workers/service/shownotification-allowed-document.html:
- http/tests/workers/service/shownotification-allowed.html:
- http/tests/workers/service/shownotification-invalid-data-expected.txt: Added.
- http/tests/workers/service/shownotification-invalid-data.html:
Canonical link: https://commits.webkit.org/250368@main
- 12:55 PM Changeset in webkit [293920] by
-
- 3 edits in trunk/Source/WebKit
Improve Mac webpushd sandbox
https://bugs.webkit.org/show_bug.cgi?id=240110
Reviewed by Per Arne Vollan.
This tightens the webpushd sandbox to only allow essential operations.
The first ~280 lines or so are similar to the other WebKit sandboxes, although I removed
many of the lines in this prelude as most of the services listed in the other profiles
have no use in webpushd.
The last ~50 lines of the profile (starting with the comment about SQLite) allows the
operations necessary for functioning of the daemon:
- Communicating with the push service daemon
- Waking up processes in response to a push
- Persisting subscriptions to the PushDatabase
I've also switched webpushd to read CF preferences directly like the other daemons, since our
sandbox profiles expect this.
- webpushd/WebPushDaemonMain.mm:
- webpushd/mac/com.apple.WebKit.webpushd.sb.in:
Canonical link: https://commits.webkit.org/250367@main
- 12:41 PM Changeset in webkit [293919] by
-
- 19 edits in trunk/Source
Remove internal WKPreference for non-iTunesAVOutput now that all platform support it
https://bugs.webkit.org/show_bug.cgi?id=240141
Reviewed by Eric Carlson.
WebKit on macOS has used a different AV Output target than IOS_FAMILY targets because those platforms lacked
the AVOutput option. Now that all platforms share this target, we can consolidate on the correct endpoint and
remove this preference code.
Source/WebCore:
- Modules/airplay/WebMediaSessionManager.cpp:
(WebCore::WebMediaSessionManager::showPlaybackTargetPicker):
- Modules/airplay/WebMediaSessionManagerClient.h:
(WebCore::WebMediaSessionManagerClient::alwaysOnLoggingAllowed const):
(WebCore::WebMediaSessionManagerClient::useiTunesAVOutputContext const): Deleted.
- platform/graphics/MediaPlaybackTargetPicker.h:
- platform/graphics/avfoundation/objc/AVPlaybackTargetPicker.h:
- platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.h:
- platform/graphics/avfoundation/objc/AVRoutePickerViewTargetPicker.mm:
(WebCore::AVRoutePickerViewTargetPicker::outputContextInternal):
(WebCore::AVRoutePickerViewTargetPicker::showPlaybackTargetPicker):
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.h:
- platform/graphics/avfoundation/objc/MediaPlaybackTargetPickerMac.mm:
(WebCore::MediaPlaybackTargetPickerMac::showPlaybackTargetPicker):
Source/WebKit:
- UIProcess/WebPageProxy.h:
- UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::useiTunesAVOutputContext const): Deleted.
Source/WTF:
- Scripts/Preferences/WebPreferencesInternal.yaml:
- 12:26 PM Changeset in webkit [293918] by
-
- 6 edits in trunk/Source/WebCore
[IDL] Drop redundant [AtomString] on attributes marked as [Reflect] already
https://bugs.webkit.org/show_bug.cgi?id=240152
Reviewed by Darin Adler.
Drop redundant [AtomString] on attributes marked as [Reflect] already. All
attributes of string types and marked as [Reflect] now use AtomString
automatically, without having to specify it in the IDL.
- Source/WebCore/accessibility/AccessibilityRole.idl:
- Source/WebCore/accessibility/AriaAttributes.idl:
- Source/WebCore/dom/Element.idl:
- Source/WebCore/html/HTMLAnchorElement.idl:
- Source/WebCore/html/HTMLHtmlElement.idl:
Canonical link: https://commits.webkit.org/250365@main
- 12:13 PM Changeset in webkit [293917] by
-
- 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore
Merge r290718 - Fix deprecations for ERB.new in GenerateSettings.rb
https://bugs.webkit.org/show_bug.cgi?id=237237
Reviewed by Don Olmstead.
Ruby 3.1.0 reported the following warning:
GenerateSettings.rb:283: warning: Passing safe_level with the 2nd argument of ERB.new is deprecated. Do not use it, and specify other arguments as keyword arguments.
GenerateSettings.rb:283: warning: Passing trim_mode with the 3rd argument of ERB.new is deprecated. Use keyword argument like ERB.new(str, trim_mode: ...) instead.
r290104 and r290331 fixed the same problem for
GeneratePreferences.rb, but forgot GenerateSettings.rb.
- Scripts/GenerateSettings.rb: Use the keyword argument for ERB.new for Ruby 2.6+.
- 12:07 PM Changeset in webkit [293916] by
-
- 2 edits in trunk/Source/WebCore
ASSERT in WebCore::StyleProperties::getGridTemplateValue
https://bugs.webkit.org/show_bug.cgi?id=240172
Reviewed by Dean Jackson.
Update StyleProperties::getGridTemplateValue with a more thorough check
as it is currently only checking the grid:none/grid:initial special keyword.
- css/StyleProperties.cpp:
(WebCore::StyleProperties::getGridTemplateValue const):
- 12:06 PM Changeset in webkit [293915] by
-
- 3 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore
[Nicosia] Images in webkit.org/blog/ don't show up with threaded rendering
https://bugs.webkit.org/show_bug.cgi?id=238259
Patch by Miguel Gomez <magomez@igalia.com> on 2022-05-06
Reviewed by Carlos Garcia Campos.
Implement Nicosia::CairoOperationRecorder::drawFilteredImageBuffer(), which is required
to render images that have CSS filters applied.
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::drawFilteredImageBuffer):
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
- 12:06 PM WebKitGTK/2.36.x edited by
- (diff)
- 12:06 PM Changeset in webkit [293914] by
-
- 4 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore
Merge r293826 - REGRESSION(249114@main) [GTK] Crashes on shutdown if the display is not set
https://bugs.webkit.org/show_bug.cgi?id=239767
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2022-05-05
Reviewed by Michael Catanzaro.
Handle the case of PlatformDisplay created with a nullptr GdkDisplay.
- platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::PlatformDisplay):
- platform/graphics/wayland/PlatformDisplayWayland.cpp:
(WebCore::PlatformDisplayWayland::PlatformDisplayWayland):
(WebCore::PlatformDisplayWayland::~PlatformDisplayWayland):
- platform/graphics/x11/PlatformDisplayX11.cpp:
(WebCore::PlatformDisplayX11::PlatformDisplayX11):
(WebCore::PlatformDisplayX11::~PlatformDisplayX11):
- 12:00 PM Changeset in webkit [293913] by
-
- 2 edits in releases/WebKitGTK/webkit-2.36/Source/WTF
Merge r290331 - Ruby ERB.new compatibility fix
https://bugs.webkit.org/show_bug.cgi?id=237035
Reviewed by Fujii Hironori.
ERB.new has changed its calling convention in newer ruby versions.
This was exposed by https://commits.webkit.org/247450@main, which
tried to silence the warning emitted by newer ruby versions.
Unfortunately, this resulted in failures with older ruby versions
(e.g.
https://build.webkit.org/#/builders/46/builds/11387/steps/8/logs/stdio).
Use the compatibility hack suggested by RuboCop to get this working
across ruby versions (without any warnings).
- Scripts/GeneratePreferences.rb:
- 11:59 AM Changeset in webkit [293912] by
-
- 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebKit
Merge r292265 - GTK doesn't compile with ENABLE_ACCESSIBILITY=0
https://bugs.webkit.org/show_bug.cgi?id=238669
Reviewed by Michael Catanzaro.
Fix GTK compilation with ENABLE_ACCESSIBILITY=0
No new tests.
- UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseDispose):
(webkit_web_view_base_class_init):
- 11:53 AM Changeset in webkit [293911] by
-
- 2 edits in releases/WebKitGTK/webkit-2.36/Source/WebCore
Merge r293441 - [GTK] Initialize m_eglDisplay in PlatformDisplay::PlatformDisplay(GdkDisplay*)
https://bugs.webkit.org/show_bug.cgi?id=239760
Patch by Xi Ruoyao <xry111@mengyan1223.wang> on 2022-04-26
Reviewed by Michael Catanzaro.
No new tests because there is no behavior change.
- platform/graphics/PlatformDisplay.cpp:
(WebCore::PlatformDisplay::PlatformDisplay):
initialize m_eglDisplay to EGL_NO_DISPLAY.
- 11:37 AM Changeset in webkit [293910] by
-
- 3 edits in trunk/Tools
Update PGO profile collection scripts to include MotionMark
https://bugs.webkit.org/show_bug.cgi?id=240171
Reviewed by Mark Lam.
- Scripts/build-and-collect-pgo-profiles:
- Scripts/pgo-profile:
- 11:09 AM WebKitGTK/2.36.x edited by
- (diff)
- 10:59 AM Changeset in webkit [293909] by
-
- 2 edits in branches/safari-7614.1.12-branch/Source/WebKit
Cherry-pick r293818. rdar://problem/92751323
REGRESSION (r293716): macCatalyst WebKit build fails; overlapping content at /System/Library/FeatureFlags/Domain/WebKit.plist
https://bugs.webkit.org/show_bug.cgi?id=240099
<rdar://92751323>
Reviewed by Chris Dumez.
- WebKit.xcodeproj/project.pbxproj: Avoid copying the feature flags plist for macCatalyst, since it installs into the same place as macOS.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293818 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:59 AM Changeset in webkit [293908] by
-
- 2 edits2 adds in branches/safari-7614.1.12-branch/Source/WebKit
Cherry-pick r293716. rdar://problem/92644672
REGRESSION (r292351): Processes no longer get the right jetsam priority on iOS
https://bugs.webkit.org/show_bug.cgi?id=239992
<rdar://problem/92644672>
Reviewed by Chris Dumez.
- FeatureFlags/WebKit.plist: Added.
- WebKit.xcodeproj/project.pbxproj:
Temporarily reinstate
RB_full_manage_WK_jetsam, since it is being read by a different project.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293716 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:59 AM Changeset in webkit [293907] by
-
- 2 edits in trunk/Source/WebKit
[WebAuthn] Get rid of ASCAgentProxy instance after success/error/cancel
https://bugs.webkit.org/show_bug.cgi?id=240143
rdar://problem/92825715
Reviewed by Brent Fulgham.
For internal reasons, the ASCAgentProxy instance cannot be reused, so we
should clear it after a request or cancellation.
- UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
- 10:56 AM Changeset in webkit [293906] by
-
- 1 copy in releases/WPE WebKit/webkit-2.34.7/webkit-2.34
WPE WebKit 2.34.7
- 10:55 AM Changeset in webkit [293905] by
-
- 4 edits in releases/WebKitGTK/webkit-2.34
Unreviewed. Update OptionsWPE.cmake and NEWS for the 2.34.7 release
.:
- Source/cmake/OptionsWPE.cmake: Bump version numbers.
Source/WebKit:
- wpe/NEWS: Add release notes for 2.34.7
- 10:39 AM Changeset in webkit [293904] by
-
- 5 edits in trunk/Source/JavaScriptCore
Temporal.Duration should handle -0 properly
https://bugs.webkit.org/show_bug.cgi?id=240145
Reviewed by Yusuke Suzuki.
r250284 broke a new test262 test which verifies that -0 is normalized to 0 in cases like
new Temporal.Duration(-0)andTemporal.Duration.from({years: -0 }).
This patch properly aligns these paths with the spec.
- runtime/JSCJSValue.h:
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::toIntegerWithoutRounding const): Added.
(JSC::JSValue::toIntegerOrInfinity const):
- runtime/TemporalDuration.cpp:
(JSC::TemporalDuration::fromDurationLike):
- runtime/TemporalDurationConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
Canonical link: https://commits.webkit.org/250361@main
- 10:32 AM Changeset in webkit [293903] by
-
- 18 edits in trunk
Remove the viewportFitEnabled WKPreference now that it is always on
https://bugs.webkit.org/show_bug.cgi?id=240147
Reviewed by Tim Horton.
Remove the WKPreference 'ViewportFitEnabled' now that it is always enabled on all platforms, and
we do not wish to turn it off in testing or in other debugging circumstances.
Source/WebCore:
- dom/ViewportArguments.cpp:
(WebCore::setViewportFeature):
- dom/ViewportArguments.h:
Source/WebKit:
- UIProcess/API/ios/WKWebViewIOS.mm:
(viewportArgumentsFromDictionary):
(-[WKWebView _overrideViewportWithArguments:]):
Source/WebKitLegacy/mac:
- WebView/WebPreferenceKeysPrivate.h:
- WebView/WebPreferences.mm:
(-[WebPreferences viewportFitEnabled]): Deleted.
(-[WebPreferences setViewportFitEnabled:]): Deleted.
- WebView/WebPreferencesPrivate.h:
Source/WTF:
- Scripts/Preferences/WebPreferences.yaml:
LayoutTests:
- fast/css/variables/env/ios/safe-area-inset-env-set-expected.html:
- fast/css/variables/env/ios/safe-area-inset-env-set.html:
- fast/events/ios/rotation/safe-area-insets-during-safari-type-rotation.html:
- fast/viewport/ios/viewport-fit-auto.html:
- fast/viewport/ios/viewport-fit-contain.html:
- fast/viewport/ios/viewport-fit-cover.html:
- 10:25 AM Changeset in webkit [293902] by
-
- 9 edits in branches/safari-7614.1.12-branch/Source
Versioning.
WebKit-7614.1.12.1
- 10:23 AM Changeset in webkit [293901] by
-
- 2 edits in trunk
Unreviewed, add github info to contributors.json.
- metadata/contributors.json:
- 10:10 AM Changeset in webkit [293900] by
-
- 30 edits in trunk/Source/WebCore
Make the various shouldApplyContainment() functions member functions on RenderElement
https://bugs.webkit.org/show_bug.cgi?id=240156
Reviewed by Alan Bujtas.
These were free functions, but make more sense as member functions on RenderElement
since most callers passed*this. Just one call site needs to downcast<> to
RenderElement.
No behavior change.
- rendering/GridTrackSizingAlgorithm.cpp:
- rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeIntrinsicLogicalWidths const):
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths const):
(WebCore::RenderBlock::firstLineBaseline const):
(WebCore::RenderBlock::inlineBlockBaseline const):
- rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::computeIntrinsicLogicalWidths const):
(WebCore::RenderBlockFlow::adjustBlockChildForPagination):
(WebCore::RenderBlockFlow::adjustSizeContainmentChildForPagination):
(WebCore::RenderBlockFlow::firstLineBaseline const):
(WebCore::RenderBlockFlow::inlineBlockBaseline const):
(WebCore::RenderBlockFlow::computeInlinePreferredLogicalWidths const):
- rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::updateLogicalHeight):
(WebCore::RenderBox::isUnsplittableForPagination const):
(WebCore::RenderBox::layoutOverflowRectForPropagation const):
- rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::updateFromStyle):
- rendering/RenderButton.cpp:
(WebCore::RenderButton::baselinePosition const):
- rendering/RenderCounter.cpp:
(WebCore::makeCounterNode):
(WebCore::RenderCounter::rendererSubtreeAttached):
- rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::computeIntrinsicLogicalWidths const):
- rendering/RenderElement.h:
(WebCore::RenderElement::canContainFixedPositionObjects const):
(WebCore::RenderElement::canContainAbsolutelyPositionedObjects const):
(WebCore::RenderElement::shouldApplyLayoutContainment const):
(WebCore::RenderElement::shouldApplySizeContainment const):
(WebCore::RenderElement::shouldApplyInlineSizeContainment const):
(WebCore::RenderElement::shouldApplyStyleContainment const):
(WebCore::RenderElement::shouldApplyPaintContainment const):
(WebCore::RenderElement::shouldApplyAnyContainment const):
- rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::computeIntrinsicLogicalWidths const):
- rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::computeIntrinsicLogicalWidths const):
(WebCore::RenderFlexibleBox::firstLineBaseline const):
- rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
(WebCore::RenderGrid::computeEmptyTracksForAutoRepeat const):
(WebCore::RenderGrid::firstLineBaseline const):
- rendering/RenderImage.cpp:
(WebCore::RenderImage::computeIntrinsicRatioInformation const):
- rendering/RenderInline.h:
- rendering/RenderLayer.cpp:
(WebCore::canCreateStackingContext):
(WebCore::RenderLayer::shouldBeCSSStackingContext const):
(WebCore::RenderLayer::setAncestorChainHasSelfPaintingLayerDescendant):
(WebCore::RenderLayer::setAncestorChainHasVisibleDescendant):
(WebCore::RenderLayer::calculateClipRects const):
- rendering/RenderListBox.cpp:
(WebCore::RenderListBox::computeIntrinsicLogicalWidths const):
(WebCore::RenderListBox::baselinePosition const):
- rendering/RenderMenuList.cpp:
(RenderMenuList::computeIntrinsicLogicalWidths const):
- rendering/RenderObject.cpp:
(WebCore::objectIsRelayoutBoundary):
(WebCore::shouldApplyLayoutContainment): Deleted.
(WebCore::shouldApplySizeContainment): Deleted.
(WebCore::shouldApplyInlineSizeContainment): Deleted.
(WebCore::shouldApplyStyleContainment): Deleted.
(WebCore::shouldApplyPaintContainment): Deleted.
(WebCore::shouldApplyAnyContainment): Deleted.
- rendering/RenderObject.h:
- rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeAspectRatioInformationForRenderBox const):
(WebCore::RenderReplaced::computeIntrinsicRatioInformation const):
- rendering/RenderReplaced.h:
- rendering/RenderSlider.cpp:
(WebCore::RenderSlider::computeIntrinsicLogicalWidths const):
- rendering/RenderTable.cpp:
(WebCore::RenderTable::firstLineBaseline const):
- rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::computeIntrinsicLogicalWidths const):
- rendering/RenderVideo.cpp:
(WebCore::RenderVideo::calculateIntrinsicSize):
- rendering/RenderView.cpp:
(WebCore::RenderView::rendererForRootBackground const):
- rendering/svg/LegacyRenderSVGRoot.cpp:
(WebCore::LegacyRenderSVGRoot::computeIntrinsicRatioInformation const):
- rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::computeIntrinsicRatioInformation const):
- style/ContainerQueryEvaluator.cpp:
(WebCore::Style::ContainerQueryEvaluator::evaluateSizeFeature const):
- 9:49 AM Changeset in webkit [293899] by
-
- 7 edits4 adds in trunk
[Cocoa] Seeking into a xHE-AAC track backed by a SourceBuffer can stall playback
https://bugs.webkit.org/show_bug.cgi?id=239750
<rdar://91922569>
Reviewed by Eric Carlson.
Source/WebCore:
Test: media/media-source/media-mp4-xhe-aac.html
xHE-AAC audio has the concept of an "independant sample", which behaves similarly to an
i-frame in a video codec. This sample is a prerequisite for decoding all samples that
come after it.
When such a track is parsed, those samples are marked as "sync", meaning they, as well as all
subsequent samples before the playhead, will be enqueued as "non-displaying". However, the
AVSampleBufferAudioRenderer does not use the DoNotDisplay sample attachment to control this
behavior. Instead, it relies on the TrimDurationAtStart (which has the effect of setting the
duration of the sample to zero, rendering it inaudible). Without this attachment, the renderer
will get "stuck" waiting for playback to clear out it's queue of samples.
Adopt this TrimDurationAtStart attachment if a given CMSampleBuffer is of the Audio type.
- platform/graphics/avfoundation/objc/MediaSampleAVFObjC.mm:
(WebCore::MediaSampleAVFObjC::createNonDisplayingCopy const):
Source/WebCore/PAL:
Fix a spelling error in the CoreMediaSoftLink macros.
- pal/cf/CoreMediaSoftLink.cpp:
- pal/cf/CoreMediaSoftLink.h:
LayoutTests:
- media/media-source/content/test-xhe-aac-manifest.json: Added.
- media/media-source/content/test-xhe-aac.m4a: Added.
- media/media-source/media-mp4-xhe-aac-expected.txt: Added.
- media/media-source/media-mp4-xhe-aac.html: Added.
- 9:43 AM Changeset in webkit [293898] by
-
- 2 edits in trunk/LayoutTests
[ iOS ] fast/innerHTML/001.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=240170
Unreviewed test gardening.
Canonical link: https://commits.webkit.org/250356@main
- 9:40 AM Changeset in webkit [293897] by
-
- 3 edits2 adds in trunk
CSP: Fix incorrect blocked-uri for inline scripts and strict-dynamic policies
https://bugs.webkit.org/show_bug.cgi?id=240136
Reviewed by Kate Cheney.
Source/WebCore:
Test: http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-inline-report.py
- page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::allowNonParserInsertedScripts const):
LayoutTests:
- http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-inline-report-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-inline-report.py: Added.
- 9:29 AM Changeset in webkit [293896] by
-
- 4 edits3 adds in trunk
Video playback fails when using postMessage() during a User Gesture
https://bugs.webkit.org/show_bug.cgi?id=239781
<rdar://91281385>
Reviewed by Eric Carlson.
Source/WebCore:
Test: workers/worker-user-gesture.html
Certain frameworks handle user gestures by sending messages through postMessage() to
to a non-shared worker, where the message is processed and a response is sent back
to the page. In the case of APIs which require a user gesture, this gesture is lost
during the response event, even if it was present in the originating postMessage().
Other web APIs, such as Fetch, have been modified to forward this user gesture through
to the resulting event handlers. This change will expand that forwarding behavior to
include postMessage() to a non-shared Worker context.
When a message is sent to a WorkerContext, the current UserGestureToken is saved inside
a thread-safe RefCounted utility class WorkerUserGestureForwarder. This forwarder is
saved into an ivar of WorkerMessagingProxy, where it can be read during the handling
of a WorkerContext-originated postMessage(). The ivar is cleared immediately after sending
the initial postMessage(). The effect is that all calls to workerScope.postMessage()
made during the handling of a worker.postMessage() event will inherit the user gesture
of that initial call.
- workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerUserGestureForwarder::create):
(WebCore::WorkerUserGestureForwarder::~WorkerUserGestureForwarder):
(WebCore::WorkerUserGestureForwarder::userGestureToForward const):
(WebCore::WorkerUserGestureForwarder::WorkerUserGestureForwarder):
(WebCore::WorkerMessagingProxy::postMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::postMessageToWorkerGlobalScope):
- workers/WorkerMessagingProxy.h:
LayoutTests:
- workers/worker-user-gesture-expected.txt: Added.
- workers/worker-user-gesture.html: Added.
- workers/worker-user-gesture.js: Added.
- 9:26 AM Changeset in webkit [293895] by
-
- 2 edits in trunk/Source/WebCore
Add lambda for fragmented flow state change handling
https://bugs.webkit.org/show_bug.cgi?id=240165
Patch by Rob Buis <rbuis@igalia.com> on 2022-05-06
Reviewed by Alan Bujtas.
Add lambda for fragmented flow state change handling
and call it in the case where the parent is affected.
- rendering/updating/RenderTreeBuilder.cpp:
(WebCore::RenderTreeBuilder::normalizeTreeAfterStyleChange):
- 9:09 AM Changeset in webkit [293894] by
-
- 4 edits in trunk/Source
[iOS] Infinite recursion at -[WKFullScreenWindowController _exitFullscreenImmediately]
https://bugs.webkit.org/show_bug.cgi?id=239744
<rdar://74201964>
Reviewed by Eric Carlson.
Source/WebCore:
Even after fullscreen is correctly torn down during an immediate exit, fullscreen can never again
be entered for the lifetime of the page. This is due to the ivar m_pendingExitFullscreen being set
to true with no opportunity for that state to be cleared. This occurs because the callbacks for
exiting fullscreen are performed before the lambda form FullscreenManager::exitFullscreen() is
called.
Set m_pendingExitFullscreen inside exitFullscreen(), rather than the lambda, and clear it explicitly
in the cases where fullscreen exiting is not actually necessary.
The mock behavior of Fullscreen inside DumpRenderTree and WebKitTestRunner are not able to exercise
this same path. Track improvements to this mock in bug #239747.
- dom/FullscreenManager.cpp:
(WebCore::FullscreenManager::requestFullscreenForElement):
(WebCore::FullscreenManager::exitFullscreen):
(WebCore::FullscreenManager::setAnimatingFullscreen):
(WebCore::FullscreenManager::setFullscreenControlsHidden):
Source/WebKit:
When exiting fullscreen immediately, we trigger the correct state transition by calling
-[self exitFullScreen]. However, when no fullscreen manager exists (as may happen during
navigation), -exitFullscreen may itself call -_exitFullscreenImmediately, which causes an
infinite recursion and stack overflow.
Unroll the implementation by performing all the same pieces as would have been done by
-exitFullScreen, but inline. Refactor out common behavior into -_reinsertWebViewUnderPlaceholder,
and call that both from -_exitFullscreenImmediately and _completedExitFullScreen.
Unfortunately, no API tests are possible here because TestWebKitAPI is not an actual iOS UI
application.
- UIProcess/ios/fullscreen/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController exitFullScreen]):
(-[WKFullScreenWindowController _reinsertWebViewUnderPlaceholder]):
(-[WKFullScreenWindowController _completedExitFullScreen]):
(-[WKFullScreenWindowController _exitFullscreenImmediately]):
- 8:58 AM Changeset in webkit [293893] by
-
- 3 edits in trunk/Source/WebKit
Create reports for long process launch times
https://bugs.webkit.org/show_bug.cgi?id=240127
Reviewed by Yusuke Suzuki.
We have reports that it can take a long time to launch WebKit processes in some cases. This is the time
it takes from the XPC message is sent until the XPC reply is received. Add reporting when this happens
in order to help diagnose the issue.
- UIProcess/AuxiliaryProcessProxy.cpp:
(WebKit::AuxiliaryProcessProxy::connect):
(WebKit::AuxiliaryProcessProxy::didFinishLaunching):
- UIProcess/AuxiliaryProcessProxy.h:
- 8:23 AM Changeset in webkit [293892] by
-
- 4 edits in trunk/Source/WebKit
[WP] Wait for Launch Services database after Network process connection has been established
https://bugs.webkit.org/show_bug.cgi?id=240125
<rdar://92107043>
Reviewed by Geoffrey Garen.
Since the Launch Services database is provided to the WebContent process by the Network process, it makes sense
to wait for the database when we're certain that the Network process is running. This should fix main thread hangs
in the cases where we before started waiting for the database before the Network process had launched. To support
this move, we also need to delay the initialization of accessibility in NSApplication, since that depends on having
the database available. This is now being done in WebPage::platformInitializeAccessibility, which is a natural
place for this initialization to take place.
- WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::platformInitializeAccessibility):
- WebProcess/WebProcess.cpp:
(WebKit::WebProcess::ensureNetworkProcessConnection):
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- 8:21 AM Changeset in webkit [293891] by
-
- 3 edits in trunk/Tools
[ews-build.webkit.org] Do not block EWS queues for merging-blocked label
https://bugs.webkit.org/show_bug.cgi?id=240169
<rdar://problem/92860451>
Reviewed by Aakash Jain.
- Tools/CISupport/ews-build/steps.py:
(ValidateChange.validate_github): merging-blocked label should only block merge-queue.
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/250349@main
- 8:13 AM Changeset in webkit [293890] by
-
- 2 edits in trunk/Source/WebKit
GPU Process crash under IPC::Connection::open() ASSERTION FAILED: m_sendPort
https://bugs.webkit.org/show_bug.cgi?id=240146
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-06
Reviewed by Chris Dumez.
If WP creates connection to GPUP but then exits, the
sent mach send right for communication comes out as MACH_PORT_DEAD_NAME in GPUP.
This will prevent proper initialization of IPC::Connection. This will
later assert in IPC::Connection::open().
Fix by checking identifierIsValid(). This will succeed only if the
listening port was alive at the time the send port was received.
Speculative fix.
Regression from r293829.
- GPUProcess/GPUProcess.cpp:
(WebKit::GPUProcess::createGPUConnectionToWebProcess):
- 8:02 AM Changeset in webkit [293889] by
-
- 2 edits in trunk/Tools
[Flatpak SDK] Include port / build type in shell prompt
https://bugs.webkit.org/show_bug.cgi?id=240166
Patch by Philippe Normand <pnormand@igalia.com> on 2022-05-06
Reviewed by Adrian Perez de Castro.
This might help avoiding confusions like running debug tools in a release shell, or wpe
things in a gtk shell.
- flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
Canonical link: https://commits.webkit.org/250347@main
- 7:50 AM Changeset in webkit [293888] by
-
- 2 edits in trunk/LayoutTests
[ iOS Release ] fast/css-custom-paint/animate-repaint.html is a flaky failure
https://bugs.webkit.org/show_bug.cgi?id=240167
Unreviewed test gardening.
Canonical link: https://commits.webkit.org/250346@main
- 7:45 AM Changeset in webkit [293887] by
-
- 2 edits2 adds in trunk/Tools/buildstream
Update mold to version 1.2.1 https://bugs.webkit.org/show_bug.cgi?id=240162
Reviewed by Philippe Normand.
Update Mold to version 1.2.1, which now properly supports --gdb-index and Clang's
ThinLTO (on top of regular LTO support). The copy of libtbb bundled with the Mold
sources does no longer build with the rest of tooling from the SDK, so this patch
adds Buildstream elements for it and its hwloc dependency; both these two packages
are built with the minimal set of options needed to build Mold.
- elements/sdk/hwloc.bst: Added.
- elements/sdk/mold.bst: Updated to version 1.2.1
- elements/sdk/tbb.bst: Added.
Canonical link: https://commits.webkit.org/250345@main
- 5:55 AM WebKitFlatpakSDK/DebugWithRR edited by
- (diff)
- 2:52 AM Changeset in webkit [293886] by
-
- 19 edits1 copy in trunk/Source
Allow MediaPlayerPrivateMediaStreamAVFObjC to avoid pixel conformers if IOSurfaces are not allowed
https://bugs.webkit.org/show_bug.cgi?id=240113
rdar://92629845
Reviewed by Eric Carlson.
Source/WebCore:
Add a callback in MediaPlayerPrivateMediaStreamAVFObjC to allow use a custom way to create a NativeImage from a VideoFrame.
Small refactoring in PixelBufferConformerCV to share more code with WebKit.
Make sure that SharedVideoFrameReader/Writer support kCVPixelFormatType_420YpCbCr10BiPlanarFullRange.
Covered by existing tests.
- WebCore.xcodeproj/project.pbxproj:
- platform/cocoa/SharedVideoFrameInfo.mm:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.h:
- platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaStreamAVFObjC.mm:
- platform/graphics/cv/CVUtilities.h:
- platform/graphics/cv/PixelBufferConformerCV.cpp:
- platform/graphics/cv/PixelBufferConformerCV.h:
Source/WebKit:
Implement VideoFrame conversion to BGRA by sending IPC to GPUProcess, use pixel conformer in GPUProcess and send back the results to WebProcess.
This goes through RemoteVideoFrameObjectHeapProxy/RemoteVideoFrameObjectHeapProxyProcessor which exchanges with RemoteVideoFrameObjectHeap.
Make use of this conversion code path for MediaPlayerPrivateMediaStreamAVFObjC by setting MediaPlayerPrivateMediaStreamAVFObjC nativeImageCreator callback.
- GPUProcess/media/RemoteVideoFrameObjectHeap.cpp:
- GPUProcess/media/RemoteVideoFrameObjectHeap.h:
- GPUProcess/media/RemoteVideoFrameObjectHeap.messages.in:
- GPUProcess/media/RemoteVideoFrameObjectHeap.mm: Added.
- SourcesCocoa.txt:
- WebKit.xcodeproj/project.pbxproj:
- WebProcess/GPU/media/RemoteMediaPlayerManager.cpp:
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxy.h:
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.cpp:
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.h:
- WebProcess/GPU/webrtc/RemoteVideoFrameObjectHeapProxyProcessor.messages.in:
- 2:30 AM WebKitGTK/2.36.x edited by
- (diff)
- 1:44 AM Changeset in webkit [293885] by
-
- 10 edits in trunk/Source
Remove usage of PixelBufferConformer in RealtimeOutgoingVideoSourceCocoa
https://bugs.webkit.org/show_bug.cgi?id=240118
Reviewed by Eric Carlson.
Source/ThirdParty/libwebrtc:
Add a routine to convert RGB CVPixelBuffer to YUV webrtc VideoFrameBuffer.
- Configurations/libwebrtc.iOS.exp:
- Configurations/libwebrtc.iOSsim.exp:
- Configurations/libwebrtc.mac.exp:
- Source/webrtc/sdk/WebKit/WebKitUtilities.h:
- Source/webrtc/sdk/WebKit/WebKitUtilities.mm:
(webrtc::convertBGRAToYUV):
Source/WebCore:
Remove RealtimeOutgoingVideoSourceCocoa::convertToYUV, instead use libyuv based converter routine.
Covered by existing canvas -> peer connection tests.
- platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.cpp:
- platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.h:
- platform/mediastream/mac/RealtimeOutgoingVideoSourceCocoa.mm:
- 1:18 AM Changeset in webkit [293884] by
-
- 2 edits in trunk/Source/WebCore
Make readArrayBufferViewImpl defensive
https://bugs.webkit.org/show_bug.cgi?id=240154
rdar://92113248
Reviewed by Mark Lam.
Check deserialized value's type before starting using it as JSArrayBuffer*.
- Source/WebCore/bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::readArrayBufferViewImpl):
Canonical link: https://commits.webkit.org/250342@main
- 12:43 AM Changeset in webkit [293883] by
-
- 3 edits in trunk/Source/WebCore
[Nicosia] Images in webkit.org/blog/ don't show up with threaded rendering
https://bugs.webkit.org/show_bug.cgi?id=238259
Reviewed by Carlos Garcia Campos.
Implement Nicosia::CairoOperationRecorder::drawFilteredImageBuffer(), which is required
to render images that have CSS filters applied.
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::drawFilteredImageBuffer):
- platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
- 12:26 AM Changeset in webkit [293882] by
-
- 7 edits in trunk/Source/JavaScriptCore
builtins-generator-tests are failing after 250242@main
https://bugs.webkit.org/show_bug.cgi?id=239792
<rdar://problem/92532725>
Unreviewed resetting the results.
Tools/Scripts/run-builtins-generator-tests --reset-results
- Scripts/tests/builtins/expected/WebCore-AnotherGuardedInternalBuiltin-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-ArbitraryConditionalGuard-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-GuardedBuiltin-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-GuardedInternalBuiltin-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-UnguardedBuiltin-Separate.js-result:
- Scripts/tests/builtins/expected/WebCore-xmlCasingTest-Separate.js-result: