Timeline
Jun 14, 2021:
- 11:46 PM Changeset in webkit [278861] by
-
- 4 edits17 adds in trunk/LayoutTests
Import WPT webrtc-extensions
https://bugs.webkit.org/show_bug.cgi?id=226961
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- resources/import-expectations.json:
- web-platform-tests/webrtc-extensions/: Added.
LayoutTests:
- tests-options.json:
- 10:26 PM Changeset in webkit [278860] by
-
- 6 edits in trunk/LayoutTests
[GStreamer] media/track/audio/audio-track-mkv-vorbis-language.html and media/track/video/video-track-mkv-theora-language.html are failing
https://bugs.webkit.org/show_bug.cgi?id=226864
Reviewed by Eric Carlson.
These tests were failing due to an apparently incorrect order of
languages in audio and video tracks.
Examining the video container with tools like mediasource or VLC shows
that the order expected by GStreamer ports is correct. To make these
tests pass I changed the tests to make them language order independent
by fetching audio or video tracks by id.
- media/in-band-tracks.js:
(canplaythrough):
(testAttribute): values' can be also an Object. In that case, fetch tracks by 'id'.
- media/track/audio/audio-track-mkv-vorbis-language-expected.txt: Updated.
- media/track/audio/audio-track-mkv-vorbis-language.html: Pass language expected results as a map indexed by track id.
- media/track/video/video-track-mkv-theora-language-expected.txt: Updated.
- media/track/video/video-track-mkv-theora-language.html: Pass language expected results as a map indexed by track id.
- 9:45 PM Changeset in webkit [278859] by
-
- 3 edits1 add in trunk
[JSC] Workaround ICU uloc_addLikelySubtags / uloc_minimizeSubtags bugs
https://bugs.webkit.org/show_bug.cgi?id=226996
rdar://79250513
Reviewed by Ross Kirsling.
JSTests:
- stress/intl-long-locale-id-maximize-minimize.js: Added.
(shouldBe):
(throw.new.Error):
Source/JavaScriptCore:
ICU has bugs that uloc_addLikelySubtags / uloc_minimizeSubtags cannot handle very long locale ID that exceeds ULOC_FULLNAME_CAPACITY,
while these functions can take arbitrary sized buffer for output. This can be achieved simply by (1) attaching many unicode extensions,
or (2) having many variants.
In this patch, we add a workaround: if uloc_addLikelySubtags / uloc_minimizeSubtags failed, we perform them without having locale ID
keywords part. After performing the operations, we append these keywords back.
This is workaround, and still this workaround is not complete since we could have many variants. In that case, uloc_addLikelySubtags / uloc_minimizeSubtags
still fails, and in that case, for now, we give up performing uloc_addLikelySubtags / uloc_minimizeSubtags. Fixing this needs to be
done in ICU side: https://unicode-org.atlassian.net/browse/ICU-21639
- runtime/IntlLocale.cpp:
(JSC::IntlLocale::keywordValue const):
(JSC::IntlLocale::maximal):
(JSC::IntlLocale::minimal):
(JSC::IntlLocale::baseName):
- 8:34 PM Changeset in webkit [278858] by
-
- 2 edits in trunk/Source/WebCore
Font::applyTransforms() can redirect GlyphBuffer's internal pointers
https://bugs.webkit.org/show_bug.cgi?id=226997
<rdar://problem/78704666>
Reviewed by Ryosuke Niwa.
After calling Font::applyTransforms(), we need to update any pointers which point into the GlyphBuffer.
- platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::applyFontTransforms):
- 6:07 PM Changeset in webkit [278857] by
-
- 1 copy in tags/Safari-612.1.18.1.1
Tag Safari-612.1.18.1.1.
- 6:04 PM Changeset in webkit [278856] by
-
- 7 edits in trunk/Source/JavaScriptCore
Add ldp and stp support for FP registers, plus some bug fixes.
https://bugs.webkit.org/show_bug.cgi?id=226998
rdar://79313717
Reviewed by Robin Morisset.
This patch does the following:
- Add ldp and stp support for FP registers. This simply entails providing wrappers that take FPRegisterID and passing true for the V bit to the underlying loadStoreRegisterPairXXX encoding function. V is for vector (aka floating point). This will cause bit 26 in the instruction to be set indicating that it's loading / storing floating point registers.
- Add ARM64 disassembler support ldp and stp for FP registers. This includes fixing A64DOpcodeLoadStoreRegisterPair::mask to not exclude the FP versions of the instructions.
- Add ARM64Assembler query methods for determining if an immediate is encodable as the signed 12 bit immediate of ldp and stp instructions.
- Fix ldp and stp offset form to take an int instead of an unsigned. The immediate it takes is a 12-bit signed int, not unsigned.
- In loadStoreRegisterPairXXX encoding functions used by the forms of ldp and stp, RELEASE_ASSERT that the passed in immediate is encodable. Unlike ldur / stur, there is no form of ldp / stp that takes the offset in a register that can be used as a fail over. Hence, if the immediate is not encodable, this is a non-recoverable event. The client is responsible for ensuring that the offset is encodable.
- Added some testmasm tests for testing the offset form (as opposed to PreIndex and PostIndex forms) of ldp and stp. We currently only use the offset form in our JITs.
- assembler/ARM64Assembler.h:
(JSC::ARM64Assembler::isValidLDPImm):
(JSC::ARM64Assembler::isValidLDPFPImm):
(JSC::ARM64Assembler::ldp):
(JSC::ARM64Assembler::ldnp):
(JSC::ARM64Assembler::isValidSTPImm):
(JSC::ARM64Assembler::isValidSTPFPImm):
(JSC::ARM64Assembler::stp):
(JSC::ARM64Assembler::stnp):
(JSC::ARM64Assembler::loadStoreRegisterPairPostIndex):
(JSC::ARM64Assembler::loadStoreRegisterPairPreIndex):
(JSC::ARM64Assembler::loadStoreRegisterPairOffset):
(JSC::ARM64Assembler::loadStoreRegisterPairNonTemporal):
- assembler/AssemblerCommon.h:
(JSC::isValidSignedImm7):
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::loadPair64):
(JSC::MacroAssemblerARM64::storePair64):
- assembler/testmasm.cpp:
(JSC::testLoadStorePair64Int64):
(JSC::testLoadStorePair64Double):
- disassembler/ARM64/A64DOpcode.cpp:
(JSC::ARM64Disassembler::A64DOpcodeLoadStoreRegisterPair::format):
- disassembler/ARM64/A64DOpcode.h:
- 6:02 PM Changeset in webkit [278855] by
-
- 1 copy in tags/Safari-612.1.18.0.1
Tag Safari-612.1.18.0.1.
- 5:54 PM Changeset in webkit [278854] by
-
- 2 edits in trunk/Tools
run-javascriptcore-tests should print output when a test binary fails by default
https://bugs.webkit.org/show_bug.cgi?id=226985
Reviewed by Mark Lam.
- Scripts/run-javascriptcore-tests:
(runTest):
- 5:46 PM Changeset in webkit [278853] by
-
- 2 edits in trunk/Source/WebInspectorUI
[REGRESSION: r276616] Uncaught Exception: TypeError: undefined is not an object (evaluating 'this._setupCodeMirror.getValue')
https://bugs.webkit.org/show_bug.cgi?id=226995
Reviewed by Devin Rousso.
Audit test groups share a single setup editor for all their test cases, leaving individual test cases without
their own setup editor. In this case, we should not attempt to save the setup script for every test, and instead
allow the instance ofAuditTestGroupContentViewthat does have a setup editor to save the script.
- UserInterface/Views/AuditTestContentView.js:
(WI.AuditTestContentView.prototype.saveEditedData):
- 4:40 PM Changeset in webkit [278852] by
-
- 4 edits in trunk/Source/WebCore
Remove Storage Access API quirk on live.com
https://bugs.webkit.org/show_bug.cgi?id=226990
<rdar://problem/79218986>
Reviewed by Brent Fulgham.
The quirk on live.com is unnecessary, and we should remove it.
- dom/DocumentStorageAccess.cpp:
(WebCore::DocumentStorageAccess::requestStorageAccessQuirk):
- page/Quirks.cpp:
(WebCore::isStorageAccessQuirkDomainAndElement):
(WebCore::Quirks::requestStorageAccessAndHandleClick const):
(WebCore::Quirks::mapToTopDomain): Deleted.
- page/Quirks.h:
- 4:39 PM Changeset in webkit [278851] by
-
- 5 edits3 deletes in trunk
Unreviewed, reverting r278842.
introduced a failing test
Reverted changeset:
"Fix RTCDataChannelInit::decode"
https://bugs.webkit.org/show_bug.cgi?id=226968
https://commits.webkit.org/r278842
- 3:04 PM Changeset in webkit [278850] by
-
- 2 edits in trunk/Source/WebCore
[macOS] TouchBar playback speed controls don't work
https://bugs.webkit.org/show_bug.cgi?id=226987
<rdar://problem/79216098>
Reviewed by Eric Carlson.
Override
setRate:andsetDefaultPlaybackRate:instead of just having an ivar so that
TouchBar playback speed controls actually affect the corresponding<video>.
- platform/mac/WebPlaybackControlsManager.mm:
(-[WebPlaybackControlsManager defaultPlaybackRate]): Added.
(-[WebPlaybackControlsManager setDefaultPlaybackRate:]): Added.
(-[WebPlaybackControlsManager rate]): Added.
(-[WebPlaybackControlsManager setRate:]): Added.
- 2:36 PM Changeset in webkit [278849] by
-
- 55 edits in trunk/Source
Pass PAL::SessionID by value instead of reference
https://bugs.webkit.org/show_bug.cgi?id=226983
Patch by Alex Christensen <achristensen@webkit.org> on 2021-06-14
Reviewed by Geoffrey Garen.
Source/WebCore:
It's a wrapper around an integer which will pass in a register.
There's no reason to pass a pointer to it.
- loader/CrossOriginAccessControl.cpp:
(WebCore::validatePreflightResponse):
- loader/CrossOriginAccessControl.h:
- loader/CrossOriginPreflightResultCache.cpp:
(WebCore::CrossOriginPreflightResultCache::appendEntry):
(WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
- loader/CrossOriginPreflightResultCache.h:
- loader/EmptyClients.cpp:
- loader/cache/CachedApplicationManifest.cpp:
(WebCore::CachedApplicationManifest::CachedApplicationManifest):
- loader/cache/CachedApplicationManifest.h:
- loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::CachedCSSStyleSheet):
- loader/cache/CachedCSSStyleSheet.h:
- loader/cache/CachedFont.cpp:
(WebCore::CachedFont::CachedFont):
- loader/cache/CachedFont.h:
- loader/cache/CachedImage.cpp:
(WebCore::CachedImage::CachedImage):
- loader/cache/CachedImage.h:
- loader/cache/CachedRawResource.cpp:
(WebCore::CachedRawResource::CachedRawResource):
- loader/cache/CachedRawResource.h:
- loader/cache/CachedResource.cpp:
(WebCore::CachedResource::CachedResource):
- loader/cache/CachedResource.h:
- loader/cache/CachedResourceLoader.cpp:
(WebCore::createResource):
(WebCore::CachedResourceLoader::updateCachedResourceWithCurrentRequest):
- loader/cache/CachedResourceLoader.h:
- loader/cache/CachedSVGDocument.cpp:
(WebCore::CachedSVGDocument::CachedSVGDocument):
- loader/cache/CachedSVGDocument.h:
- loader/cache/CachedSVGFont.cpp:
(WebCore::CachedSVGFont::CachedSVGFont):
- loader/cache/CachedSVGFont.h:
- loader/cache/CachedScript.cpp:
(WebCore::CachedScript::CachedScript):
- loader/cache/CachedScript.h:
- loader/cache/CachedTextTrack.cpp:
(WebCore::CachedTextTrack::CachedTextTrack):
- loader/cache/CachedTextTrack.h:
- loader/cache/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::CachedXSLStyleSheet):
- loader/cache/CachedXSLStyleSheet.h:
- page/DatabaseProvider.h:
- platform/WebCoreCrossThreadCopier.cpp:
(WTF::PAL::SessionID>::copy):
- platform/WebCoreCrossThreadCopier.h:
- storage/StorageNamespaceProvider.cpp:
(WebCore::StorageNamespaceProvider::setSessionIDForTesting):
- storage/StorageNamespaceProvider.h:
Source/WebKit:
- NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::newTestingSession):
(WebKit::NetworkProcess::ensureSession):
(WebKit::NetworkProcess::storageSession const):
(WebKit::NetworkProcess::findCacheEngine):
(WebKit::NetworkProcess::ensureCacheEngine):
(WebKit::NetworkProcess::removeCacheEngine):
(WebKit::NetworkProcess::flushCookies):
(WebKit::NetworkProcess::platformFlushCookies):
(WebKit::NetworkProcess::addWebPageNetworkParameters):
(WebKit::NetworkProcess::removeWebPageNetworkParameters):
(WebKit::NetworkProcess::countNonDefaultSessionSets):
- NetworkProcess/NetworkProcess.h:
- NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::shouldLogCookieInformation):
- NetworkProcess/NetworkResourceLoader.h:
- NetworkProcess/NetworkStorageSessionProvider.h:
- NetworkProcess/cache/NetworkCache.cpp:
(WebKit::NetworkCache::makeUseDecision):
- NetworkProcess/cache/NetworkCache.h:
(WebKit::NetworkCache::Cache::sessionID const):
- NetworkProcess/cocoa/NetworkProcessCocoa.mm:
(WebKit::NetworkProcess::flushCookies):
(WebKit::NetworkProcess::platformFlushCookies):
- NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::configurationForSessionID):
- UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::flushCookies):
- UIProcess/Network/NetworkProcessProxy.h:
- UIProcess/WebProcessPool.h:
- WebProcess/Databases/WebDatabaseProvider.cpp:
(WebKit::WebDatabaseProvider::idbConnectionToServerForSession):
- WebProcess/Databases/WebDatabaseProvider.h:
Source/WebKitLegacy:
- Storage/WebDatabaseProvider.cpp:
(WebDatabaseProvider::idbConnectionToServerForSession):
- Storage/WebDatabaseProvider.h:
- WebCoreSupport/NetworkStorageSessionMap.cpp:
(NetworkStorageSessionMap::storageSession):
(NetworkStorageSessionMap::ensureSession):
(NetworkStorageSessionMap::destroySession):
- WebCoreSupport/NetworkStorageSessionMap.h:
- 1:01 PM Changeset in webkit [278848] by
-
- 5 edits in trunk
Web Inspector: CSS variables not handled as case sensitive
https://bugs.webkit.org/show_bug.cgi?id=226875
Reviewed by Devin Rousso.
Source/WebCore:
Test: inspector/css/overridden-property.html
CSS variables support distinct declarations with only differences in cases. Previously, we naively converted all
property names to lowercase, instead of properly providing variable names in their original case.
- inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyle::styleWithProperties const):
LayoutTests:
Add a test to make sure that CSS variable declarations that vary only in case do not override each other.
- inspector/css/overridden-property-expected.txt:
- inspector/css/overridden-property.html:
- 12:54 PM Changeset in webkit [278847] by
-
- 3 edits in trunk/Tools
Bring up an Apple-BigSur-AppleSilicon-Release-Test262-Tests queue
https://bugs.webkit.org/show_bug.cgi?id=226602
Reviewed by Aakash Jain.
- CISupport/build-webkit-org/config.json:
- CISupport/build-webkit-org/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):
- 12:44 PM Changeset in webkit [278846] by
-
- 8 edits in trunk/Source/JavaScriptCore
Add Air opcode sub32/64(Reg, Imm, Reg) form for ARM64 and select this instruction in Air
https://bugs.webkit.org/show_bug.cgi?id=226937
Patch by Yijia Huang <Yijia Huang> on 2021-06-14
Reviewed by Saam Barati.
Previously, Air arm64 sub32/64 utilize sub(Imm, Tmp) at optlevel = 0 and
add(Tmp, -Imm) at optlevel > 0 to perform and optimize sub(Tmp, Imm, Tmp).
The issue with this is that we were not eliding redundant operations.
For example:
B3 IR
@0 = Trunc(ArgumentReg(0))
@1 = Const
@2 = Sub(@0, @1)
@3 = Return(@2)
Old optimized Air IR
OptLevel = 0
Move %x0, %tmp1, @0
Move $Const, %tmp2, @1
Move %tmp1, %tmp0, @2 Redundant
Sub $Const, %tmp0, @2
Move %tmp0, %x0, @3
Ret32 %x0, @3
To remove those redundant instructions, Air arm64 sub32/64 opcode should
indicate a new form sub(Tmp, Imm, Tmp).
New optimized Air IR
OptLevel = 0
Move %x0, %tmp1, @0
Move $Const, %tmp2, @1
Sub %tmp1, $Const, %tmp0, @2
Move %tmp0, %x0, @3
Ret32 %x0, @3
- assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::sub32):
(JSC::MacroAssemblerARM64::sub64):
- assembler/testmasm.cpp:
(JSC::testSub32Args):
(JSC::testSub32Imm):
(JSC::testSub32ArgImm):
(JSC::testSub64Imm32):
(JSC::testSub64ArgImm32):
(JSC::testSub64Imm64):
(JSC::testSub64ArgImm64):
- b3/B3ReduceStrength.cpp:
- b3/air/AirOpcode.opcodes:
- b3/testb3.h:
- b3/testb3_2.cpp:
(testSubArgs32ZeroExtend):
- b3/testb3_3.cpp:
(addArgTests):
- 12:20 PM Changeset in webkit [278845] by
-
- 2 edits in branches/safari-611-branch/Source/WebKit
Apply patch. rdar://problem/77619702
- 11:44 AM Changeset in webkit [278844] by
-
- 8 edits in trunk/Source
Versioning.
WebKit-7612.1.20
- 11:41 AM Changeset in webkit [278843] by
-
- 8 edits in branches/safari-612.1.19-branch/Source
Versioning.
WebKit-7612.1.19
- 11:40 AM Changeset in webkit [278842] by
-
- 5 edits3 adds in trunk
Fix RTCDataChannelInit::decode
https://bugs.webkit.org/show_bug.cgi?id=226968
Reviewed by Eric Carlson.
LayoutTests/imported/w3c:
- web-platform-tests/webrtc-extensions/transfer-datachannel-service-worker.https-expected.txt: Added.
- web-platform-tests/webrtc-extensions/transfer-datachannel-service-worker.https.html: Added.
- web-platform-tests/webrtc-extensions/transfer-datachannel-service-worker.js: Added.
(onmessage):
Source/WebCore:
Test: imported/w3c/web-platform-tests/webrtc-extensions/transfer-datachannel-service-worker.https.html
- platform/mediastream/RTCDataChannelHandler.h:
(WebCore::RTCDataChannelInit::decode):
Make sure to use optionals of optionals.
LayoutTests:
- platform/mac-wk1/TestExpectations:
- 11:39 AM Changeset in webkit [278841] by
-
- 2 edits in trunk/Source/WebKit
Accessing navigator.mediaDevices.enumerateDevices after granting permission
https://bugs.webkit.org/show_bug.cgi?id=226969
<rdar://problem/79286449>
Reviewed by Eric Carlson.
- UIProcess/Cocoa/MediaPermissionUtilities.mm:
(WebKit::checkUsageDescriptionStringForType):
Check for NSCameraUsageDescription instead of NSMicrophoneUsageDescription for camera.
- 11:37 AM Changeset in webkit [278840] by
-
- 1 edit3 moves1 add in trunk/LayoutTests/imported/w3c
Move Transferable RTCDataChannel tests to WPT
https://bugs.webkit.org/show_bug.cgi?id=226967
Reviewed by Eric Carlson.
- web-platform-tests/webrtc-extensions/transfer-datachannel-expected.txt: Renamed from LayoutTests/http/wpt/webrtc/datachannel-worker-expected.txt.
- web-platform-tests/webrtc-extensions/transfer-datachannel-worker.js: Renamed from LayoutTests/http/wpt/webrtc/datachannel-worker.js.
- web-platform-tests/webrtc-extensions/transfer-datachannel.html: Renamed from LayoutTests/http/wpt/webrtc/datachannel-worker.html.
- 11:27 AM Changeset in webkit [278839] by
-
- 1 copy in branches/safari-612.1.19-branch
New branch.
- 11:20 AM Changeset in webkit [278838] by
-
- 2 edits in trunk/Source/WebCore
[AppleWin] Fix build failure
https://bugs.webkit.org/show_bug.cgi?id=226966
<rdar://79228536>
Reviewed by Eric Carlson.
Disable warning causing the build failure.
- platform/cf/MediaAccessibilitySoftLink.h:
- 10:47 AM Changeset in webkit [278837] by
-
- 2 edits in trunk/Source/WebCore
Avoid converting SecurityOrigins to Strings in SecurityPolicy
https://bugs.webkit.org/show_bug.cgi?id=226976
Reviewed by Geoffrey Garen.
Avoid converting SecurityOrigins to Strings in SecurityPolicy, by using a SecurityOriginData
as key in the originAccessMap instead of a String. Getting a SecurityOriginData from a
SecurityOrigin is very cheap.
- page/SecurityPolicy.cpp:
(WebCore::SecurityPolicy::isAccessAllowed):
(WebCore::SecurityPolicy::addOriginAccessAllowlistEntry):
(WebCore::SecurityPolicy::removeOriginAccessAllowlistEntry):
- 10:41 AM Changeset in webkit [278836] by
-
- 8 edits in branches/safari-612.1.18.1-branch/Source
Versioning.
WebKit-7612.1.18.1.1
- 10:40 AM Changeset in webkit [278835] by
-
- 8 edits in branches/safari-612.1.18.0-branch/Source
Versioning.
WebKit-7612.1.18.0.1
- 10:34 AM Changeset in webkit [278834] by
-
- 5 edits in trunk/Source/WebCore
[Monterey] Support building WebKit (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=226846
<rdar://problem/79095148>
Reviewed by Chris Dumez.
Source/WebCore:
Covered by exisiting tests.
- html/HTMLElement.cpp:
(WebCore::HTMLElement::updateWithTextRecognitionResult): Explicitly define second arugment
to avoid 'missing field' compilation error.
Source/WebCore/PAL:
- pal/spi/cf/CFNetworkSPI.h: Add nw_connection_privacy_stance_t.
- pal/spi/cocoa/PassKitSPI.h: Add PKPaymentCoupon.
- 10:31 AM Changeset in webkit [278833] by
-
- 2 edits in trunk/Source/WebCore
Micro-optimize ResourceResponseBase::sanitizeHTTPHeaderFields()
https://bugs.webkit.org/show_bug.cgi?id=226977
Reviewed by Geoffrey Garen.
Micro-optimize ResourceResponseBase::sanitizeHTTPHeaderFields() as it is not as efficient as it could be and it
shows on profiles. In particular, rely on Vector::removeAllMatching() more instead of reconstructing HTTPHeaderMaps
& Vectors.
- platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::sanitizeHTTPHeaderFieldsAccordingToTainting):
(WebCore::ResourceResponseBase::sanitizeHTTPHeaderFields):
- 10:27 AM Changeset in webkit [278832] by
-
- 7 edits1 add in trunk
AcceleratedImageBuffer not instantiated but objects are punned to the type
https://bugs.webkit.org/show_bug.cgi?id=226917
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2021-06-14
Reviewed by Said Abou-Hallawa.
Source/WebCore:
AcceleratedImageBuffer::create would create instance
of ConcreteImageBuffer, not AcceleratedImageBuffer.
Fix by adding a correct create static function.
Tested by new test:
TestWebKitAPI.ImageBufferTests.ImageBufferSubTypeCreateCreatesSubtypes
- platform/graphics/PlatformImageBuffer.h:
(WebCore::IOSurfaceImageBuffer::create):
(WebCore::IOSurfaceImageBuffer::IOSurfaceImageBuffer):
Add the correct factory functions and public constructors.
- platform/graphics/cg/ImageBufferCGBitmapBackend.h:
Add export statements that are needed for the added test.
- platform/graphics/coreimage/FilterEffectRendererCoreImage.mm:
(WebCore::FilterEffectRendererCoreImage::imageForSourceGraphic):
(WebCore::FilterEffectRendererCoreImage::renderToImageBuffer):
Change the image creation site to create the explicit IOSurfaceImageBuffer
since that's what it's trying to create.
Change the type-punning call sites to use explicit
IOSurfaceImageBuffer name, as that's what the call site
is intending to use.
Tools:
Add new test
TestWebKitAPI.ImageBufferTests.ImageBufferSubTypeCreateCreatesSubtypes
to test that the code compiles.
Before, it would fail with:
`error: cannot initialize a member subobject of type 'typename PtrTraits::StorageType' (aka 'WebCore::AcceleratedImageBuffer *') with an
rvalue of type 'WebCore::ConcreteImageBuffer<WebCore::ImageBufferIOSurfaceBackend> *'`
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebCore/ImageBufferTests.cpp: Added.
(TestWebKitAPI::TEST):
- 10:19 AM Changeset in webkit [278831] by
-
- 2 edits in trunk/Source/WebKit
[iOS] Tighten the WebAuthn Sandbox
https://bugs.webkit.org/show_bug.cgi?id=226944
<rdar://problem/74721792>
Reviewed by Per Arne Vollan.
Revise the WebAuthn process sandbox to remove the many things originally copied from
the WebContent sandbox that are not needed.
- Resources/SandboxProfiles/ios/com.apple.WebKit.WebAuthn.sb:
- 9:14 AM Changeset in webkit [278830] by
-
- 6 edits in trunk/Source/JavaScriptCore
Unreviewed, reverting r278734.
https://bugs.webkit.org/show_bug.cgi?id=226973
broke jsc testapi
Reverted changeset:
"Shouldn't drain the micro task queue when calling out to
ObjC"
https://bugs.webkit.org/show_bug.cgi?id=161942
https://trac.webkit.org/changeset/278734
- 8:39 AM Changeset in webkit [278829] by
-
- 1 edit3 deletes in trunk/LayoutTests
[LayoutTests] Delete unused LayoutTests/plugins resources
https://bugs.webkit.org/show_bug.cgi?id=226837
Reviewed by Jonathan Bedard.
- plugins/resources/frame-with-plugin-subframe.html: Removed.
- plugins/resources/lines.swf: Removed.
- plugins/resources/plugin-page.html: Removed.
- 8:37 AM Changeset in webkit [278828] by
-
- 1 copy in branches/safari-612.1.18.1-branch
New branch.
- 8:33 AM Changeset in webkit [278827] by
-
- 1 copy in branches/safari-612.1.18.0-branch
New branch.
- 8:28 AM Changeset in webkit [278826] by
-
- 2 edits in trunk/LayoutTests
[AppleWin] Update test expectations
https://bugs.webkit.org/show_bug.cgi?id=226970
Unreviewed test gardening.
- platform/win/TestExpectations:
- 6:39 AM Changeset in webkit [278825] by
-
- 4 edits4 adds in trunk
[LFC][TFC] Add support for flexing columns when the content is also flexing
https://bugs.webkit.org/show_bug.cgi?id=226959
Source/WebCore:
Reviewed by Antti Koivisto.
This patch adds support for (the very common) cases when the minimum content width < maximum content width
(e.g. text content wraps across multiple lines) and the parent column does not have fixed width either.
Note that in some cases now table layout agrees with Chrome/Firefox and not with trunk WebKit
(see table-space-distribution-simple-mismatching.htnl).
Tests: fast/layoutformattingcontext/table-space-distribution-simple-mismatching.html
fast/layoutformattingcontext/table-space-distribution-simple2.html
- layout/formattingContexts/table/TableLayout.cpp:
(WebCore::Layout::TableFormattingContext::TableLayout::distributedHorizontalSpace):
LayoutTests:
Reviewed by Antti Koivisto.
- TestExpectations: LFC matches Chrome and Firefox.
- fast/layoutformattingcontext/table-space-distribution-simple-mismatching-expected.txt: Added.
- fast/layoutformattingcontext/table-space-distribution-simple-mismatching.html: Added.
- fast/layoutformattingcontext/table-space-distribution-simple2-expected.html: Added.
- fast/layoutformattingcontext/table-space-distribution-simple2.html: Added.
- 2:28 AM Changeset in webkit [278824] by
-
- 4 edits in trunk/Source
[iOS] Sync Accessibility preferences
https://bugs.webkit.org/show_bug.cgi?id=226738
<rdar://77922839>
Reviewed by Brent Fulgham.
Source/WebKit:
Only attempt to modify Accessibility preferences if they have changed.
- Shared/AccessibilityPreferences.cpp: Replaced.
- Shared/AccessibilityPreferences.h: Replaced.
- WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::accessibilityPreferencesDidChange):
Source/WTF:
Enable Per-App Accessibility preferences on iOS.
- wtf/PlatformHave.h:
- 12:38 AM WebKitGTK/2.32.x edited by
- (diff)
Jun 13, 2021:
- 6:23 PM Changeset in webkit [278823] by
-
- 5 edits in trunk/Source/WebKit
[watchOS] Quickboard UI for focused select elements should not allow the user to change the input language
https://bugs.webkit.org/show_bug.cgi?id=226958
Reviewed by Tim Horton.
Fix a couple of bugs around focused select element UI that were introduced in watchOS 7, due to changes in
PepperUICore. See below for details.
- UIProcess/ios/forms/WKQuickboardListViewController.mm:
(-[WKQuickboardListViewController initWithDelegate:]):
Drive-by fix: remove a
USE(APPLE_INTERNAL_SDK)guard that was (seemingly) unintentionally added in r262854.
(-[WKQuickboardListViewController viewDidLoad]): Deleted.
Avoid hiding the list view controller's
-headerViewwhen focusing select elements. In watchOS 7, the accept
and cancel buttons are positioned inside the-headerView, so having this logic in the base class
(WKQuickboardListViewController) means that the Done button in select menus does not show up. In turn, this
means that currently, users who focus select elements must know to use the crown button to dismiss the select
menu.
For now, we move logic to the only other subclass of WKQuickboardListViewController,
WKTextInputListViewController. However, note that this too is going away in an upcoming patch that refactors
WKTextInputListViewController so that it directly subclasses PUICQuickboardMessageViewController
instead of PUICQuickboardListViewController.
- Platform/spi/watchos/PepperUICoreSPI.h:
Move a declaration of
-initWithDelegate:dictationMode:from PUICDictationViewController to
PUICQuickboardListViewController (see the change in-[WKQuickboardListViewController initWithDelegate:]above).
- UIProcess/ios/forms/WKSelectMenuListViewController.mm:
(-[WKSelectMenuListViewController shouldShowLanguageButton]):
Since watchOS 7, the language button is now always shown by default in PUICQuickboardListViewController, with a
new subclassing hook to avoid showing it. It doesn't make sense to allow the user to change input languages when
choosing options in a select menu, so we implement this and always returnNOhere.
- UIProcess/ios/forms/WKTextInputListViewController.mm:
(-[WKTextInputListViewController viewDidLoad]):
- 1:34 PM Changeset in webkit [278822] by
-
- 2 edits in trunk/LayoutTests
[WinCairo] Unreviewed test gardening
- platform/wincairo/TestExpectations:
- 12:16 PM Changeset in webkit [278821] by
-
- 4 edits3 adds3 deletes in trunk
Relax "parent must be an HTMLElement" restriction in outerHTML setter
https://bugs.webkit.org/show_bug.cgi?id=226808
Reviewed by Ryosuke Niwa.
Source/WebCore:
Made the following change to our outerHTML setter for better compatibility and to better
match the specification [1]:
- Stop throwing an exception when the parent is not an HTML element. This new behavior matches the specification, Blink and Gecko behavior.
I did not fully align us with the specification because we are mostly aligned with Blink at
the moment. In particular:
- The specification says the outerHTML setter should be a no-op when the parent is null. Firefox matches the specification but WebKit & Blink throw a NoModificationAllowedError.
- The specification says we should allow setting outerHTML if the parent is a DocumentFragment. Firefox allows this but WebKit & Blink throw a NoModificationAllowedError.
- WebKit & Blink have some Text node merging logic that is not present in the specification and which Gecko doesn't implement.
[1] https://w3c.github.io/DOM-Parsing/#dom-element-outerhtml
Test: fast/dom/set-outer-html-special-cases.html
- dom/Element.cpp:
(WebCore::Element::setOuterHTML):
LayoutTests:
- fast/dom/set-outer-html-special-cases-expected.txt: Added.
- fast/dom/set-outer-html-special-cases.html: Added.
Add layout test coverage
- fast/dynamic/outerHTML-no-element-expected.txt:
Rebaseline test due to different exception message.
- platform/mac-wk1/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/margin-003-expected.txt:
- platform/mac-wk2/imported/w3c/web-platform-tests/mathml/relations/css-styling/padding-border-margin/margin-003-expected.txt:
Rebaseline WPT test. This is actually a progression because we're no longer throwing. However, the test is still failing
later on.
- 11:42 AM Changeset in webkit [278820] by
-
- 2 edits in trunk/Source/WebCore
SimulatedXRDevice::shutDownTrackingAndRendering() should clear it's GraphicsContextGL to ensure the resource is cleaned up quickly
https://bugs.webkit.org/show_bug.cgi?id=226947
Reviewed by Dean Jackson.
SimulatedXRDevice::shutDownTrackingAndRendering() needs to clear its GraphicsContextGL
to ensure the resource is cleaned up quickly, and doesn't wait for GC to be reclaimed.
Without this, we can run out of GraphicsContextGLs and fail tests if GC happens to be
running a bit behind.
- testing/WebFakeXRDevice.cpp:
(WebCore::SimulatedXRDevice::shutDownTrackingAndRendering):
- 11:29 AM Changeset in webkit [278819] by
-
- 3 edits1 add in trunk
https://bugs.webkit.org/show_bug.cgi?id=226576
<rdar://problem/78810362>
Reviewed by Yusuke Suzuki.
JSTests:
- stress/short-circuit-read-modify-write-cant-write-dst-before-tdz-check.js: Added.
(let.result.eval.try.captureV):
(catch):
Source/JavaScriptCore:
ShortCircuitReadModifyResolveNode can't emit a value into
its result until after it emits a TDZ check. We were temporarily
storing the result of the get_from_scope into the dst. Then
we'd emit the TDZ check. The TDZ check can throw, and it could
lead to us returning TDZ from the eval itself. Instead, we need
to use a temporary to emit a TDZ check on. Only after the TDZ check
passes can we move the temporary into the result.
- bytecompiler/NodesCodegen.cpp:
(JSC::ShortCircuitReadModifyResolveNode::emitBytecode):
- 6:33 AM Changeset in webkit [278818] by
-
- 3 edits2 adds in trunk
[LFC][TFC] Add support for over-constrained cases for available space distribution
https://bugs.webkit.org/show_bug.cgi?id=226957
Reviewed by Antti Koivisto.
Source/WebCore:
This patch cleans up the code for the available space distribution. It also enables
cases when the final column width is less than the preferred width (available space is negative).
See further explanation inline in the source.
Test: fast/layoutformattingcontext/table-space-distribution-simple.html
- layout/formattingContexts/table/TableLayout.cpp:
(WebCore::Layout::GridSpace::isEmpty const):
(WebCore::Layout::max):
(WebCore::Layout::operator-):
(WebCore::Layout::operator+=):
(WebCore::Layout::operator/):
(WebCore::Layout::distributeAvailableSpace):
(WebCore::Layout::TableFormattingContext::TableLayout::distributedHorizontalSpace):
LayoutTests:
- fast/layoutformattingcontext/table-space-distribution-simple-expected.html: Added.
- fast/layoutformattingcontext/table-space-distribution-simple.html: Added.