Timeline
Jun 8, 2022:
- 11:58 PM Changeset in webkit [295414] by
-
- 2 edits in trunk/Source/WebCore/svg/graphics/filters
[GPU Process] [Filters] Add SVGFilterGraph::visit()
https://bugs.webkit.org/show_bug.cgi?id=239984
<rdar://problem/92987766>
Reviewed by Cameron McCormack.
This will remove duplicate code in SVGFilterBuilder. The plan is to remove
SVGFilterBuilder and move its functions to SVGFilter.
- Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::SVGFilterBuilder::buildFilterExpression):
(WebCore::buildFilterPrimitivesGraph):
(WebCore::SVGFilterBuilder::calculateFilterOutsets):
(WebCore::appendSubGraphToExpression): Deleted.
(WebCore::appendGraphToExpression): Deleted.
(WebCore::calculateSubGraphOutsets): Deleted.
(WebCore::calculateGraphOutsets): Deleted.
- Source/WebCore/svg/graphics/filters/SVGFilterGraph.h:
(WebCore::SVGFilterGraph::visit):
Canonical link: https://commits.webkit.org/251419@main
- 11:58 PM Changeset in webkit [295413] by
-
- 4 edits3 adds2 deletes in trunk
AX: The role of AccessibilityRole::TextField and AccessibilityRole::TextArea objects must be updated after dynamic changes to aria-multiline
https://bugs.webkit.org/show_bug.cgi?id=241428
Reviewed by Chris Fleizach.
The role value of AccessibilityRole::TextField and AccessibilityRole::TextArea
objects is dependent on their aria-multiline value. With this patch, we now
recompute the role of these objects when aria-multiline changes.
- LayoutTests/accessibility/aria-multiline-expected.txt: Added.
- LayoutTests/accessibility/aria-multiline.html: Added.
- LayoutTests/accessibility/mac/aria-multiline-expected.txt: Removed.
- LayoutTests/accessibility/mac/aria-multiline.html: Removed.
- LayoutTests/platform/ios/TestExpectations:
Enable aria-multiline.html.
- LayoutTests/platform/ios/accessibility/aria-multiline-expected.txt: Added.
- LayoutTests/platform/win/TestExpectations:
Disable aria-multiline.html.
- Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChange):
Canonical link: https://commits.webkit.org/251419@main
- 11:45 PM Changeset in webkit [295412] by
-
- 1 edit in trunk/Tools/Scripts/test262/Runner.pm
test262-runner should compare slashes correctly on Windows
https://bugs.webkit.org/show_bug.cgi?id=241441
Reviewed by Mark Lam.
test262-runner was unable to detect skips and expected failures on Windows due to backslashes in paths.
This patch adds normalization when comparing against config.yaml and expectations.yaml.
- Tools/Scripts/test262/Runner.pm:
Canonical link: https://commits.webkit.org/251418@main
- 10:15 PM Changeset in webkit [295411] by
-
- 2 edits in trunk/Source
Upstream some camera-related sandbox extensions
https://bugs.webkit.org/show_bug.cgi?id=241446
Reviewed by Wenson Hsieh.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebKit/WebProcess/com.apple.WebProcess.sb.in:
Canonical link: https://commits.webkit.org/251417@main
- 10:12 PM Changeset in webkit [295410] by
-
- 15 edits9 adds in trunk/Source/WebCore
Cache system font shorthand information
https://bugs.webkit.org/show_bug.cgi?id=241404
Reviewed by Cameron McCormack.
This is the fourth piece of https://bugs.webkit.org/show_bug.cgi?id=237817.
System font shorthands are things like "font: caption" or "font: -apple-system-body".
There used to be a cache that was supposed to map each shorthand value to a CTFontDescriptor.
However, the cache didn't work, so I deleted it in
https://github.com/WebKit/WebKit/commit/6ead5274db5f92656360fa1fbae3e0091481fc4f. This patch
reimplements it, but does so in platform/graphics/SystemFontDatabase, which is the natural
place to put it.
One of the repercussions of putting it in platform/ is that it can't use real CSSValuesIDs
as keys into the cache (because it's a layering violation to make things in platform/ see
CSS things). Therefore, this patch creates its own enum, which lives in platform/, which
conveniently exactly matches the relevant values from CSSValueID.
The Cocoa ports already have a SystemFontDatabaseCoreText which does similar things, but this
new cache is not platform-specific, so I'm putting it in SystemFontDatabase instead of
SystemFontDatabaseCoreText. SystemFontDatabaseCoreText will now inherit from SystemFontDatabase,
with 0 virtual methods. I've also taken the existing code that populates the previous cache
and temporarily duplicated it in SystemFontDabase*.cpp to make it populate this cache.
This patch doesn't actually _call_ the new cache, because doing so is somewhat complicated and
deserves its own patch. This patch just implements the cache itself. Also, because callers
aren't migrated to use this new cache yet, this patch doesn't delete the old cache either.
Both of those things will come in a follow-up patch.
- Source/WebCore/PAL/pal/spi/cf/CoreTextSPI.h:
- Source/WebCore/PlatformPlayStation.cmake:
- Source/WebCore/PlatformWin.cmake:
- Source/WebCore/Sources.txt:
- Source/WebCore/SourcesCocoa.txt:
- Source/WebCore/SourcesGTK.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/platform/graphics/SystemFontDatabase.cpp: Added.
(WebCore::SystemFontDatabase::systemFontShorthandInfo const):
(WebCore::SystemFontDatabase::systemFontShorthandFamily):
(WebCore::SystemFontDatabase::systemFontShorthandSize):
(WebCore::SystemFontDatabase::systemFontShorthandWeight):
(WebCore::SystemFontDatabase::clear):
- Source/WebCore/platform/graphics/SystemFontDatabase.h: Added.
- Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::normalizeCTWeight):
(WebCore::denormalizeCTWeight):
- Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.h:
- Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCocoa.mm: Added.
(WebCore::cocoaFontClass):
(WebCore::SystemFontDatabaseCoreText::smallCaptionFontDescriptor):
(WebCore::SystemFontDatabaseCoreText::menuFontDescriptor):
(WebCore::SystemFontDatabaseCoreText::statusBarFontDescriptor):
(WebCore::SystemFontDatabaseCoreText::miniControlFontDescriptor):
(WebCore::SystemFontDatabaseCoreText::smallControlFontDescriptor):
(WebCore::SystemFontDatabaseCoreText::controlFontDescriptor):
- Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:
(WebCore::SystemFontDatabase::singleton):
(WebCore::SystemFontDatabaseCoreText::clear):
(WebCore::cssWeightOfSystemFontDescriptor):
(WebCore::SystemFontDatabase::platformSystemFontShorthandInfo):
- Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.h:
- Source/WebCore/platform/graphics/gtk/SystemFontDatabaseGTK.cpp: Added.
(WebCore::SystemFontDatabase::singleton):
(WebCore::SystemFontDatabase::platformSystemFontShorthandInfo):
- Source/WebCore/platform/graphics/playstation/SystemFontDatabasePlayStation.cpp: Added.
(WebCore::SystemFontDatabase::singleton):
(WebCore::SystemFontDatabase::platformSystemFontShorthandInfo):
- Source/WebCore/platform/graphics/win/SystemFontDatabaseWin.cpp: Added.
(WebCore::SystemFontDatabase::singleton):
(WebCore::SystemFontDatabase::platformSystemFontShorthandInfo):
- Source/WebCore/rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::getReplacementTextGeometry const):
Canonical link: https://commits.webkit.org/251416@main
- 9:55 PM Changeset in webkit [295409] by
-
- 1 edit in trunk/Source/WebGPU/WebGPU/ShaderModule.mm
WebGPU::ShaderModule::convertCheckResult() should use std::forward
<https://webkit.org/b/241437>
<rdar://94662366>
Reviewed by Darin Adler.
- Source/WebGPU/WebGPU/ShaderModule.mm:
(WebGPU::ShaderModule::convertCheckResult):
- Switch from WTFMove() to std::forward().
Canonical link: https://commits.webkit.org/251415@main
- 6:42 PM Changeset in webkit [295408] by
-
- 5 edits in trunk/Source
Rename MAC_CATALYST_GRAMMAR_CHECKING to ENABLE_POST_EDITING_GRAMMAR_CHECKING for clarity.
https://bugs.webkit.org/show_bug.cgi?id=241434
Reviewed by Tim Horton.
After upstreaming, change the name of this flag, and also have it in open source for clarity.
- Source/WTF/wtf/PlatformEnableCocoa.h:
- Source/WebCore/editing/Editor.cpp:
(WebCore::Editor::markMisspellingsAfterTypingToWord):
(WebCore::Editor::markAndReplaceFor):
- Source/WebCore/platform/graphics/cocoa/GraphicsContextCocoa.mm:
(WebCore::grammarColor):
- Source/WebKit/Platform/spi/ios/UIKitSPI.h:
- Source/WebKit/UIProcess/ios/TextCheckerIOS.mm:
(WebKit::mutableState):
(WebKit::TextChecker::setGrammarCheckingEnabled):
(WebKit::TextChecker::checkTextOfParagraph):
Canonical link: https://commits.webkit.org/251414@main
- 5:55 PM Changeset in webkit [295407] by
-
- 27 edits2 adds in trunk/Source
[WebAuthn] Support credProps extension and refactor extension handling
https://bugs.webkit.org/show_bug.cgi?id=241199
rdar://90281799
Reviewed by Brent Fulgham.
This patch implements the credProps Web Authentication extension specified here:
https://www.w3.org/TR/webauthn-2/#sctn-authenticator-credential-properties-extension
This extension provides information about the created credential to the relying party,
at this time this is only the resident key credential property. This is useful information
for RPs to enable passwordless flows.
The patch also refactors how we ferry extension inputs/outputs between WebKit and Authentication
Services. We now passthrough inputs and outputs as a cbor serialized blob. This is well specified
as described here: https://www.w3.org/TR/webauthn-2/#sctn-extensions-inputs-outputs
This extension is covered by the web platform test webauthn/createcredential-resident-key.https.html.
- Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.cpp: Added.
(WebCore::AuthenticationExtensionsClientInputs::fromCBOR):
(WebCore::AuthenticationExtensionsClientInputs::toCBOR const):
- Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.h:
- Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientInputs.idl:
- Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.cpp: Added.
(WebCore::AuthenticationExtensionsClientOutputs::fromCBOR):
(WebCore::AuthenticationExtensionsClientOutputs::toCBOR const):
- Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.h:
(WebCore::AuthenticationExtensionsClientOutputs::encode const):
(WebCore::AuthenticationExtensionsClientOutputs::decode):
(WebCore::AuthenticationExtensionsClientOutputs::CredentialPropertiesOutput::encode const):
(WebCore::AuthenticationExtensionsClientOutputs::CredentialPropertiesOutput::decode):
- Source/WebCore/Modules/webauthn/AuthenticationExtensionsClientOutputs.idl:
- Source/WebCore/Modules/webauthn/AuthenticatorCoordinator.cpp:
(WebCore::AuthenticatorCoordinator::create const):
- Source/WebCore/Modules/webauthn/AuthenticatorResponse.cpp:
(WebCore::AuthenticatorResponse::tryCreate):
(WebCore::AuthenticatorResponse::data const):
- Source/WebCore/Modules/webauthn/AuthenticatorResponse.h:
- Source/WebCore/Modules/webauthn/AuthenticatorResponseData.h:
(WebCore::AuthenticatorResponseData::encode const):
(WebCore::AuthenticatorResponseData::decode):
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebKit/Platform/spi/Cocoa/AuthenticationServicesCoreSPI.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorAssertionResponse.mm:
(-[_WKAuthenticatorAssertionResponse initWithClientDataJSON:rawId:extensionOutputsCBOR:authenticatorData:signature:userHandle:attachment:]):
- Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorAssertionResponseInternal.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorAttestationResponse.mm:
(-[_WKAuthenticatorAttestationResponse initWithClientDataJSON:rawId:extensionOutputsCBOR:attestationObject:attachment:transports:]):
- Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorAttestationResponseInternal.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorResponse.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorResponse.mm:
(-[_WKAuthenticatorResponse initWithClientDataJSON:rawId:extensionOutputsCBOR:attachment:]):
- Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorResponseInternal.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKPublicKeyCredentialCreationOptions.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKPublicKeyCredentialCreationOptions.mm:
(-[_WKPublicKeyCredentialCreationOptions dealloc]):
- Source/WebKit/UIProcess/API/Cocoa/_WKPublicKeyCredentialRequestOptions.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKPublicKeyCredentialRequestOptions.mm:
(-[_WKPublicKeyCredentialRequestOptions dealloc]):
- Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(toNSData):
(+[_WKWebAuthenticationPanel convertToCoreCreationOptionsWithOptions:]):
(wkAuthenticatorAttestationResponse):
(wkAuthenticatorAssertionResponse):
(wkExtensionsClientOutputs): Deleted.
- Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.h:
- Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticator::processClientExtensions):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserVerification):
(WebKit::LocalAuthenticator::continueMakeCredentialAfterAttested):
(WebKit::LocalAuthenticator::continueGetAssertionAfterUserVerification):
- Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
(WebKit::configureRegistrationRequestContext):
(WebKit::configureAssertionOptions):
(WebKit::toExtensionOutputs):
(WebKit::continueAfterRequest):
- Source/WebKit/UIProcess/WebAuthentication/fido/CtapAuthenticator.cpp:
(WebKit::CtapAuthenticator::continueMakeCredentialAfterResponseReceived):
Canonical link: https://commits.webkit.org/251413@main
- 5:50 PM Changeset in webkit [295406] by
-
- 1 edit in trunk/LayoutTests/platform/ios/TestExpectations
[GARDENING]:Some layout tests are failing on EWS but not post commit testing due to a OS difference
https://bugs.webkit.org/show_bug.cgi?id=239564
Unreviewed test gardening.
- LayoutTests/platform/ios/TestExpectations:
Canonical link: https://commits.webkit.org/251412@main
- 5:38 PM Changeset in webkit [295405] by
-
- 1 delete in trunk/LayoutTests/platform/ios/fast/events/ios/rotation/layout-viewport-during-safari-type-rotation-expected.txt
[Gardening]:[ iOS ] fast/events/ios/rotation/la yout-viewport-during-safari -type-rotation.html is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=231266
Unreviewed test gardening.
- LayoutTests/platform/ios/fast/events/ios/rotation/layout-viewport-during-safari-type-rotation-expected.txt: Removed.
Canonical link: https://commits.webkit.org/251411@main
- 5:36 PM Changeset in webkit [295404] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm
[Gardening]: REGRESSION (r293829): [ iOS ] TestWebKitAPI.GPUProcess.WebProcessTerminationAfterTooManyGPUProcessCrashes is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=240692
<rdar://93611089>
Unreviewed test gardening.
I disabled API test while the issue is being investigated.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
Canonical link: https://commits.webkit.org/251410@main
- 5:25 PM Changeset in webkit [295403] by
-
- 1 delete in trunk/LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/webaudio
[Gardening][ BigSur+ wk2 ] imported/w3c/web-platform-t ests/webaudio/the-audio-api /the-mediaelementaudiosourc enode-interface/mediaElemen tAudioSourceToScriptProcess orTest.html is a flaky text failure
https://bugs.webkit.org/show_bug.cgi?id=221819
Unreviewed test gardening.
- LayoutTests/platform/mac-wk1/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-mediaelementaudiosourcenode-interface/mediaElementAudioSourceToScriptProcessorTest-expected.txt: Removed.
Canonical link: https://commits.webkit.org/251409@main
- 5:18 PM Changeset in webkit [295402] by
-
- 3 edits in trunk/Source/WebCore
REGRESSION(r295372): [Win, WinCairo] 30 tests crash when creating ImageData
https://bugs.webkit.org/show_bug.cgi?id=241429
Reviewed by Simon Fraser.
It looks the move construct is different on Windows when we pass an xvalue
(such as WTFMove(pixelBuffer)) to a function which takes an lvalue
(such as Ref<JSC::Uint8ClampedArray> data(Ref<ByteArrayPixelBuffer>)). Or it
might be a compiler bug.
So revert the change which converted ByteArrayPixelBuffer::takeData() to
ByteArrayPixelBuffer::data() since it is not related to the fix of bug 240810.
- Source/WebCore/html/ImageData.cpp:
(WebCore::ImageData::create):
- Source/WebCore/platform/graphics/ByteArrayPixelBuffer.cpp:
(WebCore::ByteArrayPixelBuffer::data): Deleted.
- Source/WebCore/platform/graphics/ByteArrayPixelBuffer.h:
(WebCore::ByteArrayPixelBuffer::takeData):
Canonical link: https://commits.webkit.org/251408@main
- 4:50 PM Changeset in webkit [295401] by
-
- 2 edits in trunk/Tools/Scripts/libraries/webkitcorepy
Bump webkitcorepy version
Unreviewed package management.
- Tools/Scripts/libraries/webkitcorepy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitcorepy/webkitcorepy/init.py: Ditto.
- 4:26 PM Changeset in webkit [295400] by
-
- 1 edit in trunk/Source/WTF/wtf/CrossThreadCopier.h
WTF::CrossThreadCopierBase::copy() should use std::forward
<https://webkit.org/b/241426>
<rdar://94648592>
Reviewed by Darin Adler.
- Source/WTF/wtf/CrossThreadCopier.h:
(WTF::CrossThreadCopierBase::copy):
- Switch from WTFMove() to std::forward().
Canonical link: https://commits.webkit.org/251406@main
- 4:16 PM Changeset in webkit [295399] by
-
- 1 edit in trunk/Source/WebCore/rendering/RenderBox.h
Handle a disconnected view during applyTopLeftLocationOffset
https://bugs.webkit.org/show_bug.cgi?id=241355
<rdar://92432637>
Reviewed by Alan Bujtas.
It appears that we can sometimes end up in a state where the document's
view is disconnected during didLayout, which calls applyTopleftLocationOffset.
This just adds a null check to handle this case for now.
- Source/WebCore/rendering/RenderBox.h:
(WebCore::RenderBox::applyTopLeftLocationOffset const):
Canonical link: https://commits.webkit.org/251405@main
- 4:05 PM Changeset in webkit [295398] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/HSTS.mm
[Gardening]: REGRESSION: [iOS] TestWebKitAPI.HSTS.ThirdParty is consistely failing
https://bugs.webkit.org/show_bug.cgi?id=241342
<rdar://94448628>
Unreviewed test gardening.
Disabling API test for iOS while the issue is being investigated.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/HSTS.mm:
Canonical link: https://commits.webkit.org/251404@main
- 3:38 PM Changeset in webkit [295397] by
-
- 2 edits in trunk/Source/WebCore/platform/mediastream/mac
Add missing includes in ScreenCaptureKit headers
https://bugs.webkit.org/show_bug.cgi?id=241440
<rdar://94669166>
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-08
Reviewed by Eric Carlson.
Two of the Mac ScreenCaptureKit headers are missing includes which
causes a build failure if the build order changes.
- Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.h:
- Source/WebCore/platform/mediastream/mac/ScreenCaptureKitSharingSessionManager.h:
Canonical link: https://commits.webkit.org/251403@main
- 3:32 PM Changeset in webkit [295396] by
-
- 4 edits in trunk
App-overridden WKScrollView deceleration is reset every time WebKit commits the layer tree
https://bugs.webkit.org/show_bug.cgi?id=241436
<rdar://problem/41019318>
Reviewed by Simon Fraser.
- Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView scrollViewWillBeginDragging:]):
- Source/WebKit/UIProcess/ios/WKScrollView.h:
- Source/WebKit/UIProcess/ios/WKScrollView.mm:
(-[WKScrollView setDecelerationRate:]):
(-[WKScrollView _setDecelerationRateInternal:]):
Like we do for many other properties, if the client sets the deceleration rate
on WKScrollView, stop overriding it internally.
- Tools/TestWebKitAPI/Tests/ios/WKScrollViewTests.mm:
(TEST):
Add an API test.
Canonical link: https://commits.webkit.org/251402@main
- 3:10 PM Changeset in webkit [295395] by
-
- 1 edit in trunk/Source/WebKitLegacy/WebKitLegacy.vcxproj/WebKitLegacy.proj
[Win] WebKitQuartzCoreAdditions.dll is not installed
https://bugs.webkit.org/show_bug.cgi?id=241430
<rdar://89637009>
Reviewed by Brent Fulgham.
WebKitQuartzCoreAdditions.dll is not copied to DSTROOT after build.
- Source/WebKitLegacy/WebKitLegacy.vcxproj/WebKitLegacy.proj:
Canonical link: https://commits.webkit.org/251401@main
- 2:23 PM Changeset in webkit [295394] by
-
- 2 edits2 adds in trunk
Allow keyboard smooth scrolling to take place in overflow:scroll regions
https://bugs.webkit.org/show_bug.cgi?id=228158
rdar://80911829
Patch by destra <destra@apple.com> on 2022-06-08
Reviewed by Tim Horton.
Test: LayoutTests/fast/scrolling/mac/keyboard-scrolling-overflow-scroll.html
Right now, keyboard smooth scrolling can only scroll the entire page and
cannot scroll overflow:scroll regions. To fix this, rather than always
obtaining ScrollingAnimator from m_frame->view(), which will only ever
scroll the whole page, the code should get ScrollingAnimator from
m_frame.document()->focusedElement() or m_mousePressNode if either one
of them is non-null, which indicates that a sub-scrollable region is
focused.
- LayoutTests/fast/scrolling/mac/keyboard-scrolling-overflow-scroll-expected.txt: Added.
- LayoutTests/fast/scrolling/mac/keyboard-scrolling-overflow-scroll.html: Added.
- Source/WebCore/page/EventHandler.cpp:
(Webcore::EventHandler::keyboardScrollingAnimatorForFocusedNode):
(WebCore::EventHandler::stopKeyboardScrolling):
(WebCore::EventHandler::startKeyboardScrolling):
- Source/WebCore/page/EventHandler.h:
Canonical link: https://commits.webkit.org/251400@main
- 2:02 PM Changeset in webkit [295393] by
-
- 1 edit in trunk/Source/WebCore/rendering/RenderImageResource.cpp
RenderImageResource::setCachedImage may produce a null renderer
https://bugs.webkit.org/show_bug.cgi?id=241435
<rdar://93714107>
Reviewed by Antti Koivisto.
This is a speculative fix to address null deref on the renderer.
- Source/WebCore/rendering/RenderImageResource.cpp:
(WebCore::RenderImageResource::setCachedImage):
Canonical link: https://commits.webkit.org/251399@main
- 1:58 PM Changeset in webkit [295392] by
-
- 1 edit in trunk/Source/WebKit/WebProcess/WebPage/WebFoundTextRangeController.cpp
REGRESSION (250836@main): [iOS] Found text is not scrolled into view when highlighting the next/previous result
https://bugs.webkit.org/show_bug.cgi?id=241431
rdar://94584301
Reviewed by Wenson Hsieh.
250836@main switched to a model in which we update the selection asynchronously
in the case of having a non-user triggered change.
Scrolling to highlighted found text is done using TemporarySelectionChange,
which relies on selection updates being synchronous, as the previous selection
is restored once the object is destroyed.
Similar to the fix for App Highlights, included in 250836@main, treat the
selection change for scrolling to a found text range as a UserTriggered change,
so that it is performed synchronously, and the scroll actualy occurs.
This is covered by existing API tests, that are currently run on internal bots
only.
- Source/WebKit/WebProcess/WebPage/WebFoundTextRangeController.cpp:
(WebKit::WebFoundTextRangeController::scrollTextRangeToVisible):
Canonical link: https://commits.webkit.org/251398@main
- 12:06 PM Changeset in webkit [295391] by
-
- 19 edits3 adds in trunk
Align ITP client side cookie cap with other script-writable storage
https://bugs.webkit.org/show_bug.cgi?id=240248
rdar://90468671
Reviewed by Alex Christensen.
- LayoutTests/http/tests/resourceLoadStatistics/capped-lifetime-for-cookie-set-in-js-24-hours.html: Added.
- LayoutTests/http/tests/resourceLoadStatistics/website-data-removal-for-site-navigated-to-with-link-decoration-js-cookie-checking.html: Added.
- LayoutTests/http/tests/resourceLoadStatistics/website-data-removal-for-site-without-user-interaction-js-cookie-checking.html: Added.
- LayoutTests/platform/mac-wk2/TestExpectations:
- LayoutTests/platform/wk2/TestExpectations:
Add new tests for this behavior. Skip them for now because they rely on internal bits.
This patch adds a slight behavior change for ITP with client side cookies set from a page that is a link decoration target in
that it deletes client side cookies either 24 hours after they are set OR after 7 days of no user interaction, whichever comes first.
This maintains the strictest level of privacy for client side cookies based on all heuristics.
- Source/WTF/wtf/PlatformEnableCocoa.h:
- Source/WebCore/platform/network/NetworkStorageSession.cpp:
(WebCore::NetworkStorageSession::setAgeCapForClientSideCookies):
(WebCore::NetworkStorageSession::clientSideCookieCap const):
Update client-side cookie cap code to only handle the 24 hour link-decoration case now that we
no longer need the 7 day cap.
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
- Source/WebCore/platform/network/NetworkStorageSession.h:
- Source/WebCore/platform/network/cf/NetworkStorageSessionCFNetWin.cpp:
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
- Source/WebCore/platform/network/cocoa/NetworkStorageSessionCocoa.mm:
(WebCore::parseDOMCookie):
Update JS cookie code so that we mark cookies as set in javascript and can distinguish them
from server side cookies. Since there are some underlying assumptions in CFNetwork code about
NSHTTPCookie not being mutable, we need to re-create the cookie here with the JS bit set to true.
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
- Source/WebCore/platform/network/curl/NetworkStorageSessionCurl.cpp:
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
- Source/WebCore/platform/network/soup/NetworkStorageSessionSoup.cpp:
(WebCore::NetworkStorageSession::deleteCookiesForHostnames):
- Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.cpp:
(WebKit::ResourceLoadStatisticsDatabaseStore::merge):
(WebKit::ResourceLoadStatisticsDatabaseStore::logCrossSiteLoadWithLinkDecoration):
(WebKit::ResourceLoadStatisticsDatabaseStore::setIsScheduledForAllScriptWrittenStorageRemoval):
(WebKit::ResourceLoadStatisticsDatabaseStore::registrableDomainsToDeleteOrRestrictWebsiteDataFor):
(WebKit::ResourceLoadStatisticsDatabaseStore::setIsScheduledForAllButCookieDataRemoval): Deleted.
- Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsDatabaseStore.h:
- Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.cpp:
(WebKit::domainsToString):
(WebKit::ResourceLoadStatisticsStore::updateClientSideCookiesAgeCap):
(WebKit::ResourceLoadStatisticsStore::setAgeCapForClientSideCookies): Deleted.
- Source/WebKit/NetworkProcess/Classifier/ResourceLoadStatisticsStore.h:
- Source/WebKit/NetworkProcess/Classifier/WebResourceLoadStatisticsStore.h:
(WebKit::RegistrableDomainsToDeleteOrRestrictWebsiteDataFor::isolatedCopy const):
(WebKit::RegistrableDomainsToDeleteOrRestrictWebsiteDataFor::isolatedCopy):
(WebKit::RegistrableDomainsToDeleteOrRestrictWebsiteDataFor::isEmpty const):
Rename "non cookie website data" to "script written storage" now that
we include client side cookies. This can't be done to the actual
database entry without a migration to a new database due to SQLite
restrictions around renames, so we will leave that one in place.
- Source/WebKit/NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::deleteAndRestrictWebsiteDataForRegistrableDomains):
Use the values stored in domainsToDeleteAllScriptWritableStorageFor to know which domains to
delete script-writable cookies for when deleting website data, instead of just looking at domainsToDeleteAllCookiesFor.
(WebKit::NetworkProcess::setAgeCapForClientSideCookies): Deleted.
- Source/WebKit/NetworkProcess/NetworkProcess.h:
- Source/WebKit/NetworkProcess/NetworkProcess.messages.in:
- Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::setAgeCapForClientSideCookies): Deleted.
- Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:
Unused function.
Canonical link: https://commits.webkit.org/251397@main
- 11:37 AM Changeset in webkit [295390] by
-
- 1 edit in trunk/Source/WebKit/NetworkProcess/NetworkLoad.cpp
NetworkLoad audit token scope needs to match Span that points to it
https://bugs.webkit.org/show_bug.cgi?id=241422
Reviewed by Kate Cheney.
- Source/WebKit/NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::notifyDidReceiveResponse):
Canonical link: https://commits.webkit.org/251396@main
- 11:15 AM Changeset in webkit [295389] by
-
- 2 edits in trunk/Source/WTF/wtf/text
REGRESSION (251316@main): Release-configuration WTF::StringView is not usable from apps building in Debug
https://bugs.webkit.org/show_bug.cgi?id=241397
rdar://94587929
Reviewed by Alexey Proskuryakov.
251316@main / r295270 changed the logic of JavaScriptCore's scripts to generate inspector code,
such that the generated code now has a dependency on WTF::StringView. This is problematic for
configurations where an app uses these scripts to generate code then attempts to compile that
code in Debug configuration while linking against a Release-configuration WebKit stack. This
boils down to a disagreement between WTF and the app about how StringView's "underlyingString"
methods are implemented, resulting from a difference inCHECK_STRINGVIEW_LIFETIME. WTF doesn't
export StringView::underlyingStringIsValid() and StringView::setUnderlyingString(), but the
client expects to be able to link them.
Resolve this discrepancy by adjusting the implementation of these methods so that WTF always
exports symbols for these functionalities, even if they happen to be no-ops due to WTF itself
being built in Release.
- Source/WTF/wtf/text/StringView.h:
- Source/WTF/wtf/text/StringView.cpp:
(WTF::StringView::underlyingStringIsValidImpl const):
(WTF::StringView::setUnderlyingStringImpl):
(WTF::StringView::underlyingStringIsValid const): Deleted.
(WTF::StringView::setUnderlyingString): Deleted.
Canonical link: https://commits.webkit.org/251395@main
- 11:13 AM Changeset in webkit [295388] by
-
- 13 edits2 adds in trunk/Tools/Scripts
Add git-webkit squash and refactory mock git
https://bugs.webkit.org/show_bug.cgi?id=237664
rdar://90040109
This change will make the mock git support commits without setting any identifier.
mock git now will assume branch in git-repo.json will have a base commit for each branch.
Reviewed by Jonathan Bedard.
- Tools/Scripts/hooks/prepare-commit-msg: Add new env val to support adding message content
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/git-repo.json: Add a new branch for testing squash.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/local/git.py: Make the mock more like real git, add rev-list which will resolve commits follow two dots and triple dots syntax.
(Git):
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/bitbucket.py:
(BitBucket):
(BitBucket.resolve_all_commits):
(BitBucket.commit):
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/mocks/remote/git_hub.py:
(GitHub):
(GitHub.resolve_all_commits):
(GitHub.commit):
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/init.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/squash.py: Added.
(Squash):
(Squash.parser):
(Squash.get_commits_hashes):
(Squash.undo_reset):
(Squash.squash_commit):
(Squash.main):
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/checkout_unittest.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/git_unittest.py:
(TestGit.test_branches):
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/land_unittest.py:
(repository): Make sure all branch have a base commit.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/pull_request_unittest.py:
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/squash_unittest.py: Added.
(TestSquash):
(TestSquash.setUp):
(TestSquash.test_github_with_previous_history):
(TestSquash.test_github_without_previous_history):
(TestSquash.test_github_two_step):
(TestSquash.test_modified):
Canonical link: https://commits.webkit.org/251394@main
- 11:03 AM Changeset in webkit [295387] by
-
- 1 delete in branches/safari-7614.1.16-branch
Delete branch.
- 10:37 AM Changeset in webkit [295386] by
-
- 1 edit in trunk/Source/bmalloc/libpas/src/libpas/pas_random.h
Undo temporary libpas fix for PlayStation
https://bugs.webkit.org/show_bug.cgi?id=241425
Reviewed by Don Olmstead.
- Source/bmalloc/libpas/src/libpas/pas_random.h:
(pas_get_secure_random):
Remove ifdef, as this has now been addressed downstream.
Canonical link: https://commits.webkit.org/251393@main
- 10:23 AM Changeset in webkit [295385] by
-
- 3 edits2 adds in trunk
REGRESSION(r295200): Avoid style update when resolving container queries in other frames
https://bugs.webkit.org/show_bug.cgi?id=241409
<rdar://94536162>
Reviewed by Alan Bujtas.
- LayoutTests/fast/css/container-query-style-recursion-expected.txt: Added.
- LayoutTests/fast/css/container-query-style-recursion.html: Added.
- Source/WebCore/dom/Document.cpp:
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::isResolvingContainerQueriesForSelfOrAncestor const):
Also check ancestors.
- Source/WebCore/dom/Document.h:
- Source/WebCore/page/FrameViewLayoutContext.cpp:
(WebCore::FrameViewLayoutContext::performLayout):
Canonical link: https://commits.webkit.org/251392@main
- 10:22 AM Changeset in webkit [295384] by
-
- 10 edits in trunk
AX: Update the isolated tree in response to dynamic aria-valuemin, aria-valuemax, and aria-multiselectable changes
https://bugs.webkit.org/show_bug.cgi?id=241394
Reviewed by Chris Fleizach.
Add testcases to accessibility/aria-multiselectable-grid.html
and aria-slider-value.html to cover these changes.
- LayoutTests/accessibility/aria-multiselectable-grid-expected.txt:
- LayoutTests/accessibility/aria-multiselectable-grid.html:
- LayoutTests/accessibility/aria-slider-value-expected.txt:
- LayoutTests/accessibility/aria-slider-value.html:
- LayoutTests/platform/ios/TestExpectations:
Enable aria-slider-value.html on iOS.
- Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
- Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::updateIsolatedTree):
- Source/WebCore/accessibility/AXObjectCache.h:
- Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
- Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateNodeProperty):
Canonical link: https://commits.webkit.org/251391@main
- 10:20 AM Changeset in webkit [295383] by
-
- 1 edit in branches/safari-7614.1.16-branch/Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm
Cherry-pick r295254. rdar://problem/94314081
Regression (r294405): missing tiles during scrolling after foregrounding app
https://bugs.webkit.org/show_bug.cgi?id=241280
Reviewed by Chris Dumez.
Partially revert r294405 to disable ProcessStateMonitor that can make UI process fail to take foreground assertion after
app is foregrounded.
- Source/WebKit/UIProcess/ios/ProcessAssertionIOS.mm: (-[WKProcessAssertionBackgroundTaskManager init]): (-[WKProcessAssertionBackgroundTaskManager _releaseBackgroundTask]):
Canonical link: https://commits.webkit.org/251302@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295254 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 9:31 AM Changeset in webkit [295382] by
-
- 1 edit in trunk/Source/WTF/wtf/posix/OSAllocatorPOSIX.cpp
REGRESSION(247105@main): Set protections on MAP_ALIGNED platforms too
https://bugs.webkit.org/show_bug.cgi?id=241386
Patch by Leonardo Taccari <leot@NetBSD.org> on 2022-06-08
Reviewed by Yusuke Suzuki.
Since the introduction of tryReserveUncommittedAligned() on platforms
that have MAP_ALIGNED via 247105@main, reserved pages via that
function never had the protections adjusted and will likely ends
up in SIGSEGV.
- Source/WTF/wtf/posix/OSAllocatorPOSIX.cpp:
(WTF::OSAllocator::tryReserveUncommittedAligned):
Canonical link: https://commits.webkit.org/251390@main
- 8:50 AM Changeset in webkit [295381] by
-
- 2 edits in trunk/Source
Add NetBSD support for MachineContext
https://bugs.webkit.org/show_bug.cgi?id=241125
Patch by Leonardo Taccari <leot@NetBSD.org> on 2022-06-08
Reviewed by Yusuke Suzuki.
- Source/JavaScriptCore/runtime/MachineContext.h:
(JSC::MachineContext::stackPointerImpl):
(JSC::MachineContext::framePointerImpl):
(JSC::MachineContext::instructionPointerImpl):
(JSC::MachineContext::argumentPointer<1>):
(JSC::MachineContext::llintInstructionPointer):
- Source/WTF/wtf/PlatformHave.h:
Canonical link: https://commits.webkit.org/251389@main
- 8:19 AM Changeset in webkit [295380] by
-
- 1 edit in trunk/.github/CODEOWNERS
[Github] Code owner hints for GStreamer-related reviews
https://bugs.webkit.org/show_bug.cgi?id=241412
Patch by Philippe Normand <philn@igalia.com> on 2022-06-08
Reviewed by Jonathan Bedard.
- .github/CODEOWNERS: Hints for GStreamer-specific folders.
Canonical link: https://commits.webkit.org/251388@main
- 6:26 AM Changeset in webkit [295379] by
-
- 1 edit in trunk/Tools/flatpak/flatpakutils.py
[Flatpak SDK] Bump to clang 14
https://bugs.webkit.org/show_bug.cgi?id=241411
Patch by Philippe Normand <philn@igalia.com> on 2022-06-08
Reviewed by Adrian Perez de Castro.
The llvm14 extension recently appeared on Flathub. We already use clangd-14 so now both the compiler
and LSP server are on the same base.
- Tools/flatpak/flatpakutils.py:
(WebkitFlatpak.run_in_sandbox):
(WebkitFlatpak._get_dependency_packages):
Canonical link: https://commits.webkit.org/251387@main
- 12:53 AM Changeset in webkit [295378] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextCocoa.mm
Unreviewed build fix after r295376
https://bugs.webkit.org/show_bug.cgi?id=241406
- Source/WebCore/platform/graphics/cocoa/GraphicsContextCocoa.mm:
Canonical link: https://commits.webkit.org/251386@main
- 12:26 AM Changeset in webkit [295377] by
-
- 2 edits in trunk/Source/JavaScriptCore/runtime
[JSC] Clean up ArrayBufferContents
https://bugs.webkit.org/show_bug.cgi?id=241368
Reviewed by Mark Lam.
This patch simplifies ArrayBufferContents by using default member initializers and swap function.
- Remove ArrayBufferContents::destroy since it is no longer necessary.
- Move some of very small functions to header.
- Use swap function and default member initializers to implement move assignment operator and move constructor.
- Use non-Packed members. Originally it was effective since m_sizeInBytes was
unsigned. But now, it issize_t, so usingPackeddoes not save memory. - Remove ArrayBufferContents::transferTo since move constructor can do the same thing.
- Remove ArrayBufferContents::clear since it is no longer used.
- Source/JavaScriptCore/runtime/ArrayBuffer.cpp:
(JSC::ArrayBufferContents::transferTo):
(JSC::ArrayBuffer::ArrayBuffer):
(JSC::SharedArrayBufferContents::SharedArrayBufferContents): Deleted.
(JSC::SharedArrayBufferContents::~SharedArrayBufferContents): Deleted.
(JSC::ArrayBufferContents::ArrayBufferContents): Deleted.
(JSC::ArrayBufferContents::operator=): Deleted.
(JSC::ArrayBufferContents::~ArrayBufferContents): Deleted.
(JSC::ArrayBufferContents::clear): Deleted.
(JSC::ArrayBufferContents::destroy): Deleted.
(JSC::ArrayBufferContents::reset): Deleted.
- Source/JavaScriptCore/runtime/ArrayBuffer.h:
(JSC::SharedArrayBufferContents::data const): Deleted.
(JSC::ArrayBufferContents::operator bool): Deleted.
(JSC::ArrayBufferContents::data const): Deleted.
(JSC::ArrayBufferContents::dataWithoutPACValidation const): Deleted.
(JSC::ArrayBufferContents::sizeInBytes const): Deleted.
(JSC::ArrayBufferContents::isShared const): Deleted.
(JSC::ArrayBuffer::sharingMode const): Deleted.
(JSC::ArrayBuffer::isDetached): Deleted.
(JSC::ArrayBuffer::detachingWatchpointSet): Deleted.
(JSC::ArrayBuffer::offsetOfData): Deleted.
(JSC::ArrayBuffer::~ArrayBuffer): Deleted.
Canonical link: https://commits.webkit.org/251385@main
Jun 7, 2022:
- 10:20 PM Changeset in webkit [295376] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextCocoa.mm
Upstream iOS grammar checking.
https://bugs.webkit.org/show_bug.cgi?id=241388
Reviewed by Wenson Hsieh and Tim Horton.
Upstream work for grammar checking colors for iOS.
- Source/WebCore/platform/graphics/cocoa/GraphicsContextCocoa.mm:
(WebCore::grammarColor):
Canonical link: https://commits.webkit.org/251384@main
- 9:45 PM Changeset in webkit [295375] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebCore/HTTPParsers.cpp
REGRESSION (250986@main): [iOS/macOS] ASSERTION FAILED: isASCII(characters[I]) in WTF::ASCIILiteral WTF::StringLiterals::operator""_s(const char *, size_t)
https://bugs.webkit.org/show_bug.cgi?id=241380
Reviewed by Chris Dumez.
One of the subtests in this API test uses a non-ASCII character.
Use StringView::fromLatin1() since that worked on another test in
251205@main.
- Tools/TestWebKitAPI/Tests/WebCore/HTTPParsers.cpp:
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251383@main
- 9:34 PM Changeset in webkit [295374] by
-
- 5 edits in trunk/Source/WebKit/UIProcess/Inspector
Web Inspector: Non-reproducible crash at WebKit::WebInspectorUIProxy::platformDetach
https://bugs.webkit.org/show_bug.cgi?id=240284
rdar://91720039
Reviewed by Devin Rousso.
Speculative fix for non-reproducible crash. When
WebInspectorUIProxy::platformDetachis called from
WebInspectorUIProxy::closeFrontendPageAndWindow`, it appears to be possible for the inspected page to have
already been discarded (viaWebInspectorUIProxy::reset). This is reinforced by the fact that
WebInspectorUIProxy::closeFrontendPageAndWindowalready guards use ofinspectedPage(). We should do the same
here, and should also guard other places we useinspectedPage()to help future folks (including me)
understand that the existance of aninspectedPage()is not guaranteed.
- UIProcess/Inspector/mac/WebInspectorUIProxyMac.mm:
(WebKit::WebInspectorUIProxy::platformCreateFrontendWindow):
- If we don't have an inspected page when creating a window for the frontend, use the default window size by
passing an empty NSRect to
WebInspectorUIProxy::createFrontendWindow.
(WebKit::WebInspectorUIProxy::platformResetState):
(WebKit::WebInspectorUIProxy::platformBringToFront):
(WebKit::WebInspectorUIProxy::platformBringInspectedPageToFront):
(WebKit::WebInspectorUIProxy::windowFrameDidChange):
- If the inspected page no longer exists, don't try to use it.
(WebKit::WebInspectorUIProxy::platformCanAttach):
(WebKit::WebInspectorUIProxy::platformAttach):
- Update
platformCanAttachto return false if we no longer have an inspected page, and assert that we have an
inspected page in
platformAttachsince any call to it should be guarded onplatformCanAttach
(WebKit::WebInspectorUIProxy::platformDetach):
- We should attempt to clean up as much of the attachment as we can, but work around the possibility that the inspected
page is no longer available.
- Clean up newlines while we are here.
(WebKit::WebInspectorUIProxy::platformInspectedWindowHeight): Deleted.
(WebKit::WebInspectorUIProxy::platformInspectedWindowWidth): Deleted.
- These methods were unused on Mac.
- UIProcess/Inspector/WebInspectorUIProxy.cpp:
(WebKit::WebInspectorUIProxy::open):
- Add a check that we can actually attach in our current state when opening, otherwise fall back to creating a window instead.
(WebKit::WebInspectorUIProxy::platformInspectedWindowHeight): Deleted.
(WebKit::WebInspectorUIProxy::platformInspectedWindowWidth): Deleted.
- UIProcess/Inspector/WebInspectorUIProxy.h:
- UIProcess/Inspector/gtk/WebInspectorUIProxyGtk.cpp:
(WebKit::WebInspectorUIProxy::platformAttach):
(WebKit::WebInspectorUIProxy::platformInspectedWindowHeight): Deleted.
(WebKit::WebInspectorUIProxy::platformInspectedWindowWidth): Deleted.
- UIProcess/Inspector/win/WebInspectorUIProxyWin.cpp:
(WebKit::WebInspectorUIProxy::platformAttach):
(WebKit::WebInspectorUIProxy::platformInspectedWindowHeight): Deleted.
(WebKit::WebInspectorUIProxy::platformInspectedWindowWidth): Deleted.
- Inline Windows/GTK usage of
platformInspectedWindow*, since they are only used once, not used by the
superclass any more, and also not used on all platforms.
Canonical link: https://commits.webkit.org/251382@main
- 9:23 PM Changeset in webkit [295373] by
-
- 63 edits1 copy15 adds in trunk
Add a new DrawDecomposedGlyphs display list item to avoid repeatedly sending glyphs when using the GlyphDisplayListCache
https://bugs.webkit.org/show_bug.cgi?id=240497
<rdar://93387615>
Reviewed by Simon Fraser.
The GlyphDisplayListCache is used to record a display list for
frequently painting text content. With GPU Process DOM rendering, there
is significant overhead in sending the contents of these display lists
over IPC. The contents of these display lists don't change if the text
content in the document doesn't change, so we could greatly reduce the
overhead by treating the data inside a display list item for glyph
drawing as a remote resource.
This commit adds:
- a new display list item, DrawDecomposedGlyphs, to represent drawing a glyph list resource
- a new class, DecomposedGlyphs, which is the resource type
- a new struct, PositionedGlyphs, to provide a common place for the glyph drawing fields (the vector of glyph IDs, the anchor position, etc.) to live, so that we don't have duplication between DisplayList::DrawGlyphs and DecomposedGlyphs
So that a DrawDecomposedGlyphs command can be replayed from a
GlyphDisplayListCache's in-memory display list and recorded to a
RemoteDisplayListRecorder, the GraphicsContext API gains a new
drawDecomposedGlyphs function.
A new argument to the DisplayList::RecordImpl constructor (and the
DrawGlyphsRecorder) is added to represent how to record drawText
commands:
- DrawGlyphsMode::Normal, which records each GraphicsContext::drawText call with a single DrawText command
- DrawGlyphsMode::DeconstructToDrawGlyphsCommands, which ensures different text layers get deconstructed into separate DrawText commands
- DrawGlyphsMode::DeconstructToDrawDecomposedGlyphsCommands, which ensures different text layers get desconstructed into separate DrawDecomposedGlyphs commands
FontCascade::displayListForTextRun is updated to use that last value.
Additionally, GlyphDisplayListCache is extended to cache display lists
keyed off TextRun/FontCascade/etc. values. This allows sharing of the same
cached display list between different elements on the page that have the same
text content.
This sharing would not be valid if the two elements have different
values for the color property, and the text contains COLRv0 glyphs that
alternate painting of specific colors and the color fill color, since
the recording would incorrectly record a setFillBrush command
corresponding to the first element's fill color. Rather than extend the
glyph recorder to parameterize the current fill (and stroke) colors, we
detect when outlines are drawn with colors other than the context's
initial colors, and prevent sharing. This is done by checking whether
the recorded display list contains items that aren't known to be safe
for sharing.
Similarly, if the sharing would not be valid if the contains bitmap
images (like those from emoji fonts) or SVG glyphs, both of which are
captured as DrawNativeImage commands, if the text is drawn at different
scales. This is because the size of the images is dependent on the
scale. We detect and prevent reuse across different text runs if the
scale is different, by checking the recorded display list for
DrawNativeImage commands and by storing the context scale on the
GlyphDisplayListCache::Entry.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-color-expected.txt:
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-colr-unshared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-colr-unshared.html: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-scaled-unshared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-scaled-unshared.html: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-shadow-unshared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-shadow-unshared.html: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-shared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-shared.html: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-svg-unshared-expected.txt: Added.
- LayoutTests/fast/text/glyph-display-lists/glyph-display-list-svg-unshared.html: Added.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebCore/Headers.cmake:
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/page/MemoryRelease.cpp:
(WebCore::releaseNoncriticalMemory):
- Source/WebCore/platform/graphics/BifurcatedGraphicsContext.cpp:
(WebCore::BifurcatedGraphicsContext::drawDecomposedGlyphs):
- Source/WebCore/platform/graphics/BifurcatedGraphicsContext.h:
- Source/WebCore/platform/graphics/DecomposedGlyphs.cpp: Added.
(WebCore::DecomposedGlyphs::create):
(WebCore::DecomposedGlyphs::DecomposedGlyphs):
(WebCore::m_renderingResourceIdentifier):
- Source/WebCore/platform/graphics/DecomposedGlyphs.h: Added.
(WebCore::DecomposedGlyphs::positionedGlyphs const):
(WebCore::DecomposedGlyphs::bounds const):
(WebCore::DecomposedGlyphs::addObserver):
(WebCore::DecomposedGlyphs::removeObserver):
(WebCore::DecomposedGlyphs::renderingResourceIdentifier const):
- Source/WebCore/platform/graphics/FontCascade.cpp:
(WebCore::FontCascade::displayListForTextRun const):
- Source/WebCore/platform/graphics/GraphicsContext.cpp:
(WebCore::GraphicsContext::drawDecomposedGlyphs):
- Source/WebCore/platform/graphics/GraphicsContext.h:
(WebCore::GraphicsContext::drawGlyphsAndCacheResources):
(WebCore::GraphicsContext::drawGlyphsAndCacheFont): Deleted.
- Source/WebCore/platform/graphics/NullGraphicsContext.h:
- Source/WebCore/platform/graphics/PositionedGlyphs.cpp: Copied from Source/WebCore/platform/graphics/win/DrawGlyphsRecorderWin.cpp.
(WebCore::PositionedGlyphs::computeBounds const):
- Source/WebCore/platform/graphics/PositionedGlyphs.h: Added.
(WebCore::PositionedGlyphs::PositionedGlyphs):
(WebCore::PositionedGlyphs::encode const):
(WebCore::PositionedGlyphs::decode):
- Source/WebCore/platform/graphics/TextRun.cpp:
(WebCore::operator<<):
- Source/WebCore/platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::isHashTableEmptyValue const):
(WebCore::TextRun::isHashTableDeletedValue const):
(WebCore::TextRun::isolatedCopy const):
- Source/WebCore/platform/graphics/TextRunHash.h: Added.
(WebCore::add):
(WebCore::TextRun::operator== const):
(WebCore::TextRunHash::hash):
(WebCore::TextRunHash::equal):
(WTF::HashTraits<WebCore::TextRun>::isDeletedValue):
(WTF::HashTraits<WebCore::TextRun>::isEmptyValue):
(WTF::HashTraits<WebCore::TextRun>::constructDeletedValue):
(WTF::HashTraits<WebCore::TextRun>::emptyValue):
- Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.cpp:
(WebCore::GraphicsContextCairo::drawDecomposedGlyphs):
- Source/WebCore/platform/graphics/cairo/GraphicsContextCairo.h:
- Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp:
(WebCore::DrawGlyphsRecorder::createInternalContext):
(WebCore::DrawGlyphsRecorder::updateCTM):
(WebCore::DrawGlyphsRecorder::recordDrawGlyphs):
- Source/WebCore/platform/graphics/displaylists/DisplayList.cpp:
(WebCore::DisplayList::DisplayList::description const):
(WebCore::DisplayList::DisplayList::append):
- Source/WebCore/platform/graphics/displaylists/DisplayList.h:
(WebCore::DisplayList::DisplayList::cacheDecomposedGlyphs):
- Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp:
(WebCore::DisplayList::ItemHandle::apply):
(WebCore::DisplayList::ItemHandle::destroy):
(WebCore::DisplayList::ItemHandle::safeCopy const):
- Source/WebCore/platform/graphics/displaylists/DisplayListItemType.cpp:
(WebCore::DisplayList::sizeOfItemInBytes):
(WebCore::DisplayList::isDrawingItem):
(WebCore::DisplayList::isInlineItem):
- Source/WebCore/platform/graphics/displaylists/DisplayListItemType.h:
- Source/WebCore/platform/graphics/displaylists/DisplayListItems.cpp:
(WebCore::DisplayList::DrawGlyphs::DrawGlyphs):
(WebCore::DisplayList::m_bounds):
(WebCore::DisplayList::DrawGlyphs::apply const):
(WebCore::DisplayList::DrawDecomposedGlyphs::apply const):
(WebCore::DisplayList::operator<<):
(WebCore::DisplayList::dumpItem):
(WebCore::DisplayList::dumpItemHandle):
(WebCore::DisplayList::DrawGlyphs::computeBounds): Deleted.
- Source/WebCore/platform/graphics/displaylists/DisplayListItems.h:
(WebCore::DisplayList::DrawGlyphs::localAnchor const):
(WebCore::DisplayList::DrawGlyphs::anchorPoint const):
(WebCore::DisplayList::DrawGlyphs::glyphs const):
(WebCore::DisplayList::DrawGlyphs::encode const):
(WebCore::DisplayList::DrawGlyphs::decode):
(WebCore::DisplayList::DrawDecomposedGlyphs::DrawDecomposedGlyphs):
(WebCore::DisplayList::DrawDecomposedGlyphs::fontIdentifier const):
(WebCore::DisplayList::DrawDecomposedGlyphs::decomposedGlyphsIdentifier const):
(WebCore::DisplayList::DrawDecomposedGlyphs::globalBounds const):
(WebCore::DisplayList::DrawDecomposedGlyphs::localBounds const):
- Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp:
(WebCore::DisplayList::Recorder::Recorder):
(WebCore::DisplayList::Recorder::shouldDeconstructDrawGlyphs const):
(WebCore::DisplayList::Recorder::drawGlyphs):
(WebCore::DisplayList::Recorder::drawDecomposedGlyphs):
(WebCore::DisplayList::Recorder::drawGlyphsAndCacheResources):
(WebCore::DisplayList::Recorder::drawGlyphsAndCacheFont): Deleted.
- Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.h:
- Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp:
(WebCore::DisplayList::RecorderImpl::RecorderImpl):
(WebCore::DisplayList::RecorderImpl::recordDrawDecomposedGlyphs):
(WebCore::DisplayList::RecorderImpl::recordResourceUse):
- Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.h:
- Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.cpp:
(WebCore::DisplayList::applyDrawDecomposedGlyphs):
(WebCore::DisplayList::Replayer::applyItem):
(WebCore::DisplayList::Replayer::replay):
- Source/WebCore/platform/graphics/displaylists/DisplayListReplayer.h:
- Source/WebCore/platform/graphics/displaylists/DisplayListResourceHeap.h:
(WebCore::DisplayList::LocalResourceHeap::add):
- Source/WebCore/platform/graphics/harfbuzz/DrawGlyphsRecorderHarfBuzz.cpp:
(WebCore::DrawGlyphsRecorder::drawGlyphs):
- Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.cpp:
(Nicosia::CairoOperationRecorder::drawDecomposedGlyphs):
- Source/WebCore/platform/graphics/nicosia/cairo/NicosiaCairoOperationRecorder.h:
- Source/WebCore/platform/graphics/win/DrawGlyphsRecorderWin.cpp:
(WebCore::DrawGlyphsRecorder::drawGlyphs):
- Source/WebCore/platform/text/TextDirection.h:
(WebCore::operator<<):
- Source/WebCore/platform/text/TextFlags.cpp:
(WebCore::operator<<):
- Source/WebCore/platform/text/TextFlags.h:
(WebCore::ExpansionBehavior::operator== const):
- Source/WebCore/rendering/GlyphDisplayListCache.cpp: Added.
(WebCore::canShareDisplayListWithItem):
(WebCore::add):
(WebCore::GlyphDisplayListCacheKeyTranslator::hash):
(WebCore::GlyphDisplayListCacheKeyTranslator::equal):
(WebCore::GlyphDisplayListCache::singleton):
(WebCore::GlyphDisplayListCache::clear):
(WebCore::GlyphDisplayListCache::size const):
(WebCore::GlyphDisplayListCache::sizeInBytes const):
(WebCore::GlyphDisplayListCache::get):
(WebCore::GlyphDisplayListCache::getIfExists):
(WebCore::GlyphDisplayListCache::remove):
(WebCore::GlyphDisplayListCache::canShareDisplayList):
(WebCore::GlyphDisplayListCacheEntry::~GlyphDisplayListCacheEntry):
- Source/WebCore/rendering/GlyphDisplayListCache.h:
(WebCore::GlyphDisplayListCacheEntry::create):
(WebCore::GlyphDisplayListCacheEntry::operator== const):
(WebCore::GlyphDisplayListCacheEntry::displayList):
(WebCore::GlyphDisplayListCacheEntry::GlyphDisplayListCacheEntry):
(WebCore::add):
(WebCore::GlyphDisplayListCacheEntryHash::hash):
(WebCore::GlyphDisplayListCacheEntryHash::equal):
(WebCore::GlyphDisplayListCache::get):
(WebCore::GlyphDisplayListCache::getIfExists):
(WebCore::GlyphDisplayListCache::remove):
(WebCore::GlyphDisplayListCache::singleton): Deleted.
(WebCore::GlyphDisplayListCache::clear): Deleted.
(WebCore::GlyphDisplayListCache::size const): Deleted.
(WebCore::GlyphDisplayListCache::sizeInBytes const): Deleted.
- Source/WebCore/rendering/RenderLayerCompositor.cpp:
- Source/WebCore/rendering/TextPainter.cpp:
(WebCore::TextPainter::clearGlyphDisplayLists): Deleted.
- Source/WebCore/rendering/TextPainter.h:
(WebCore::TextPainter::setGlyphDisplayListIfNeeded):
(WebCore::TextPainter::removeGlyphDisplayList):
(WebCore::TextPainter::glyphDisplayListIfExists):
- Source/WebCore/testing/Internals.cpp:
(WebCore::toDisplayListFlags):
(WebCore::Internals::displayListForElement):
(WebCore::Internals::replayDisplayListForElement):
(WebCore::Internals::cachedGlyphDisplayListsForTextNode):
- Source/WebCore/testing/Internals.h:
- Source/WebCore/testing/Internals.idl:
- Source/WebKit/GPUProcess/graphics/QualifiedResourceHeap.h:
(WebKit::QualifiedResourceHeap::add):
(WebKit::QualifiedResourceHeap::getDecomposedGlyphs const):
(WebKit::QualifiedResourceHeap::removeDecomposedGlyphs):
(WebKit::QualifiedResourceHeap::checkInvariants const):
- Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp:
(WebKit::RemoteDisplayListRecorder::drawDecomposedGlyphs):
(WebKit::RemoteDisplayListRecorder::drawDecomposedGlyphsWithQualifiedIdentifiers):
- Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.h:
- Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.messages.in:
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp:
(WebKit::RemoteRenderingBackend::cacheFontWithQualifiedIdentifier):
(WebKit::RemoteRenderingBackend::cacheDecomposedGlyphs):
(WebKit::RemoteRenderingBackend::cacheDecomposedGlyphsWithQualifiedIdentifier):
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h:
- Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.messages.in:
- Source/WebKit/GPUProcess/graphics/RemoteResourceCache.cpp:
(WebKit::RemoteResourceCache::cacheDecomposedGlyphs):
(WebKit::RemoteResourceCache::cachedDecomposedGlyphs const):
(WebKit::RemoteResourceCache::releaseRemoteResource):
- Source/WebKit/GPUProcess/graphics/RemoteResourceCache.h:
- Source/WebKit/Scripts/webkit/messages.py:
- Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder<DecomposedGlyphs>::encode):
(IPC::ArgumentCoder<DecomposedGlyphs>::decode):
- Source/WebKit/Shared/WebCoreArgumentCoders.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.cpp:
(WebKit::RemoteDisplayListRecorderProxy::RemoteDisplayListRecorderProxy):
(WebKit::RemoteDisplayListRecorderProxy::recordDrawDecomposedGlyphs):
(WebKit::RemoteDisplayListRecorderProxy::recordResourceUse):
- Source/WebKit/WebProcess/GPU/graphics/RemoteDisplayListRecorderProxy.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.cpp:
(WebKit::RemoteRenderingBackendProxy::cacheDecomposedGlyphs):
- Source/WebKit/WebProcess/GPU/graphics/RemoteRenderingBackendProxy.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.cpp:
(WebKit::RemoteResourceCacheProxy::~RemoteResourceCacheProxy):
(WebKit::RemoteResourceCacheProxy::recordDecomposedGlyphsUse):
(WebKit::RemoteResourceCacheProxy::releaseDecomposedGlyphs):
(WebKit::RemoteResourceCacheProxy::clearDecomposedGlyphsMap):
(WebKit::RemoteResourceCacheProxy::remoteResourceCacheWasDestroyed):
- Source/WebKit/WebProcess/GPU/graphics/RemoteResourceCacheProxy.h:
Canonical link: https://commits.webkit.org/251381@main
- 8:48 PM Changeset in webkit [295372] by
-
- 7 edits1 copy1 add in trunk/Source
[GPU Process] [Filters] Make FilterImage allocate shared memory if it is created in GPUProcess
https://bugs.webkit.org/show_bug.cgi?id=240810
<rdar://problem/94118129>
Reviewed by Kimmo Kinnunen.
PixelBuffer will be sub-classed to a new class named 'ShareablePixelBuffer'. This
class will be backed by SharedMemory for the pixels.
ImageBufferShareableAllocator will call ShareablePixelBuffer::tryCreate() to
allocate PixelBuffe for software filters when they are applied in GPUProcess.
The plan is to attribute the handle of the underlying SharedMemory to WebProcess.
- Source/WebKit/GPUProcess/graphics/ImageBufferShareableAllocator.cpp:
(WebKit::ImageBufferShareableAllocator::createPixelBuffer const):
- Source/WebKit/GPUProcess/graphics/ShareablePixelBuffer.cpp: Copied from Source/WebKit/GPUProcess/graphics/ImageBufferShareableAllocator.cpp.
(WebKit::ShareablePixelBuffer::tryCreate):
(WebKit::ShareablePixelBuffer::ShareablePixelBuffer):
(WebKit::ShareablePixelBuffer::createScratchPixelBuffer const):
- Source/WebKit/GPUProcess/graphics/ShareablePixelBuffer.h: Added.
(WebKit::ShareablePixelBuffer::data const):
(WebKit::ShareablePixelBuffer::takeData):
- Source/WebKit/GPUProcess/webrtc/RemoteSampleBufferDisplayLayer.cpp:
- Source/WebKit/Sources.txt:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251380@main
- 5:38 PM Changeset in webkit [295371] by
-
- 14 edits in trunk
AX: Update the isolated tree in response to dynamic aria-level and aria-setsize changes
https://bugs.webkit.org/show_bug.cgi?id=241361
Reviewed by Chris Fleizach.
New testcases added to aria-setsize-posinset.html, heading-level.html,
and mac/aria-tree.html to cover these changes.
- LayoutTests/accessibility/aria-setsize-posinset-expected.txt:
- LayoutTests/accessibility/aria-setsize-posinset.html:
Add test case that dynamically changes aria-setsize.
- LayoutTests/accessibility/heading-level-expected.txt:
- LayoutTests/accessibility/heading-level.html:
Add test case that dynamically changes aria-level on an ARIA heading.
- LayoutTests/accessibility/mac/aria-tree-expected.txt:
- LayoutTests/accessibility/mac/aria-tree.html:
Add test case that dynamically changes aria-level on a treeitem.
- LayoutTests/platform/ios/TestExpectations:
Enable heading-level.html on iOS.
- Source/WebCore/accessibility/AXLogger.cpp:
(WebCore::operator<<):
- Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::handleAttributeChange):
(WebCore::AXObjectCache::updateIsolatedTree):
- Source/WebCore/accessibility/AXObjectCache.h:
- Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
- Source/WebCore/accessibility/isolatedtree/AXIsolatedTree.cpp:
(WebCore::AXIsolatedTree::updateNodeProperty):
- Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm
- Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm
Implement AccessibilityUIElement::intValue() so heading-level.html can pass.
Canonical link: https://commits.webkit.org/251379@main
- 5:33 PM Changeset in webkit [295370] by
-
- 3 edits in trunk/Source
Upstream support for new share sheet behaviors in macOS Ventura
https://bugs.webkit.org/show_bug.cgi?id=241384
rdar://94558182
Reviewed by Wenson Hsieh.
Upstream new share sheet changes. Remove staging code now that
changes have been in the build for a significant amount of time.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebKit/UIProcess/Cocoa/WKShareSheet.h:
- Source/WebKit/UIProcess/Cocoa/WKShareSheet.mm:
(-[WKShareSheet presentWithShareDataArray:inRect:]):
(-[WKShareSheet canShowPickerAsync:]): Deleted.
(-[WKShareSheet showPickerAsync:showRelativeToRect:ofView:completion:]): Deleted.
Canonical link: https://commits.webkit.org/251378@main
- 5:26 PM Changeset in webkit [295369] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/mac/WebDateTimePickerMac.mm
Datetime-local Field Picker Shows Incorrect Date when seconds is zero
https://bugs.webkit.org/show_bug.cgi?id=239778
Patch by Mike Wyrzykowski <mwyrzykowski@apple.com> on 2022-06-07
Reviewed by Aditya Keerthi.
In r286869, a change was made to WebCore::DateComponents::toStringForTime as
noted in the changelog:
The output will use the shortest possible string, omitting seconds or milliseconds when 0, as per
however that broke WebDateTimePicker when seconds or milliseconds is specified yet they are zero.
Since the change to WebCore::DateComponents is to spec, change WebDateTimePicker to handle this behavior
change instead.
- Source/WebKit/UIProcess/mac/WebDateTimePickerMac.mm:
(-[WKDateTimePicker updatePicker:]):
-[NSDataFormatter dateFromString:] will return nil if the format
requires seconds but the seconds is omitted, so try fallback formats
without milliseconds or seconds.
(-[WKDateTimePicker dateFormatFallbackForFormat:]):
Fallback from milliseconds -> seconds -> time without seconds.
Canonical link: https://commits.webkit.org/251377@main
- 4:57 PM Changeset in webkit [295368] by
-
- 5 edits2 adds in trunk/Source/WebCore
Isolate TrackBuffer from SourceBufferPrivate
https://bugs.webkit.org/show_bug.cgi?id=241290
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-07
Reviewed by Eric Carlson.
Currently TrackBuffer is just a struct within SourceBufferPrivate,
it makes sense to extract TrackBuffer as its own platform agnostic
class for use in future media players.
- Source/WebCore/Headers.cmake:
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/platform/graphics/SourceBufferPrivate.cpp:
(WebCore::SourceBufferPrivate::resetTimestampOffsetInTrackBuffers):
(WebCore::SourceBufferPrivate::resetTrackBuffers):
(WebCore::SourceBufferPrivate::updateHighestPresentationTimestamp):
(WebCore::SourceBufferPrivate::updateBufferedFromTrackBuffers):
(WebCore::SourceBufferPrivate::reenqueSamples):
(WebCore::SourceBufferPrivate::seekToTime):
(WebCore::SourceBufferPrivate::clearTrackBuffers):
(WebCore::SourceBufferPrivate::bufferedSamplesForTrackId):
(WebCore::SourceBufferPrivate::fastSeekTimeForMediaTime):
(WebCore::SourceBufferPrivate::updateMinimumUpcomingPresentationTime):
(WebCore::SourceBufferPrivate::trySignalAllSamplesInTrackEnqueued):
(WebCore::SourceBufferPrivate::provideMediaData):
(WebCore::SourceBufferPrivate::reenqueueMediaForTime):
(WebCore::SourceBufferPrivate::reenqueueMediaIfNeeded):
(WebCore::removeSamplesFromTrackBuffer):
(WebCore::SourceBufferPrivate::removeCodedFrames):
(WebCore::SourceBufferPrivate::evictCodedFrames):
(WebCore::SourceBufferPrivate::totalTrackBufferSizeInBytes const):
(WebCore::SourceBufferPrivate::addTrackBuffer):
(WebCore::SourceBufferPrivate::setAllTrackBuffersNeedRandomAccess):
(WebCore::SourceBufferPrivate::didReceiveSample):
(WebCore::roundTowardsTimeScaleWithRoundingMargin): Deleted.
(WebCore::SourceBufferPrivate::TrackBuffer::TrackBuffer): Deleted.
(WebCore::enqueueDiscontinuityBoundary): Deleted.
(WebCore::decodeTimeComparator): Deleted.
- Source/WebCore/platform/graphics/SourceBufferPrivate.h:
- Source/WebCore/platform/graphics/TrackBuffer.cpp: Added.
(WebCore::roundTowardsTimeScaleWithRoundingMargin):
(WebCore::TrackBuffer::create):
(WebCore::TrackBuffer::TrackBuffer):
(WebCore::TrackBuffer::maximumBufferedTime const):
(WebCore::TrackBuffer::addBufferedRange):
(WebCore::TrackBuffer::addSample):
(WebCore::TrackBuffer::updateMinimumUpcomingPresentationTime):
(WebCore::TrackBuffer::reenqueueMediaForTime):
(WebCore::TrackBuffer::findSeekTimeForTargetTime):
(WebCore::TrackBuffer::removeSamples):
(WebCore::decodeTimeComparator):
- Source/WebCore/platform/graphics/TrackBuffer.h: Added.
Canonical link: https://commits.webkit.org/251376@main
- 3:46 PM Changeset in webkit [295367] by
-
- 19 edits1 move in trunk
[Live Text in Video] Rename "video extraction" code to refer to text recognition instead
https://bugs.webkit.org/show_bug.cgi?id=241381
rdar://94446831
Reviewed by Tim Horton.
Replace all references to "fullscreen video extraction" with "text recognition in fullscreen video"
instead, to reflect the real purpose of this code. No change in behavior.
- Source/WebKit/UIProcess/Cocoa/WebPageProxyCocoa.mm:
(WebKit::WebPageProxy::didChangePlaybackRate):
(WebKit::WebPageProxy::didChangeCurrentTime):
(WebKit::WebPageProxy::updateFullscreenVideoTextRecognition):
(WebKit::WebPageProxy::fullscreenVideoTextRecognitionTimerFired):
(WebKit::WebPageProxy::updateFullscreenVideoExtraction): Deleted.
(WebKit::WebPageProxy::fullscreenVideoExtractionTimerFired): Deleted.
- Source/WebKit/UIProcess/Cocoa/WebViewImpl.h:
- Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::beginTextRecognitionForVideoInElementFullscreen):
(WebKit::WebViewImpl::cancelTextRecognitionForVideoInElementFullscreen):
(WebKit::WebViewImpl::beginElementFullscreenVideoExtraction): Deleted.
(WebKit::WebViewImpl::cancelElementFullscreenVideoExtraction): Deleted.
- Source/WebKit/UIProcess/PageClient.h:
(WebKit::PageClient::isTextRecognitionInFullscreenVideoEnabled const):
(WebKit::PageClient::beginTextRecognitionForVideoInElementFullscreen):
(WebKit::PageClient::cancelTextRecognitionForVideoInElementFullscreen):
(WebKit::PageClient::isFullscreenVideoExtractionEnabled const): Deleted.
(WebKit::PageClient::beginElementFullscreenVideoExtraction): Deleted.
(WebKit::PageClient::cancelElementFullscreenVideoExtraction): Deleted.
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::m_fullscreenVideoTextRecognitionTimer):
(WebKit::WebPageProxy::didEnterFullscreen):
(WebKit::WebPageProxy::didExitFullscreen):
(WebKit::WebPageProxy::resetStateAfterProcessExited):
(WebKit::WebPageProxy::beginTextRecognitionForVideoInElementFullScreen):
(WebKit::WebPageProxy::cancelTextRecognitionForVideoInElementFullScreen):
(WebKit::m_fullscreenVideoExtractionTimer): Deleted.
(WebKit::WebPageProxy::extractVideoInElementFullScreen): Deleted.
(WebKit::WebPageProxy::cancelVideoExtractionInElementFullScreen): Deleted.
- Source/WebKit/UIProcess/WebPageProxy.h:
- Source/WebKit/UIProcess/WebPageProxy.messages.in:
- Source/WebKit/UIProcess/ios/PageClientImplIOS.h:
- Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::beginTextRecognitionForFullscreenVideo):
(WebKit::PageClientImpl::cancelTextRecognitionForFullscreenVideo):
(WebKit::PageClientImpl::isTextRecognitionInFullscreenVideoEnabled const):
(WebKit::PageClientImpl::beginTextRecognitionForVideoInElementFullscreen):
(WebKit::PageClientImpl::cancelTextRecognitionForVideoInElementFullscreen):
(WebKit::PageClientImpl::beginFullscreenVideoExtraction): Deleted.
(WebKit::PageClientImpl::cancelFullscreenVideoExtraction): Deleted.
(WebKit::PageClientImpl::isFullscreenVideoExtractionEnabled const): Deleted.
(WebKit::PageClientImpl::beginElementFullscreenVideoExtraction): Deleted.
(WebKit::PageClientImpl::cancelElementFullscreenVideoExtraction): Deleted.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView beginTextRecognitionForFullscreenVideo:playerViewController:]):
(-[WKContentView cancelTextRecognitionForFullscreenVideo:]):
(-[WKContentView isTextRecognitionInFullscreenVideoEnabled]):
(-[WKContentView beginTextRecognitionForVideoInElementFullscreen:bounds:]):
(-[WKContentView cancelTextRecognitionForVideoInElementFullscreen]):
(-[WKContentView beginFullscreenVideoExtraction:playerViewController:]): Deleted.
(-[WKContentView cancelFullscreenVideoExtraction:]): Deleted.
(-[WKContentView isFullscreenVideoExtractionEnabled]): Deleted.
(-[WKContentView beginElementFullscreenVideoExtraction:bounds:]): Deleted.
(-[WKContentView cancelElementFullscreenVideoExtraction]): Deleted.
- Source/WebKit/UIProcess/mac/PageClientImplMac.h:
- Source/WebKit/UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::beginTextRecognitionForVideoInElementFullscreen):
(WebKit::PageClientImpl::cancelTextRecognitionForVideoInElementFullscreen):
(WebKit::PageClientImpl::beginElementFullscreenVideoExtraction): Deleted.
(WebKit::PageClientImpl::cancelElementFullscreenVideoExtraction): Deleted.
- Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::WebFullScreenManager):
(WebKit::WebFullScreenManager::handleEvent):
(WebKit::WebFullScreenManager::mainVideoElementTextRecognitionTimerFired):
(WebKit::WebFullScreenManager::scheduleTextRecognitionForMainVideo):
(WebKit::WebFullScreenManager::endTextRecognitionForMainVideoIfNeeded):
(WebKit::WebFullScreenManager::setMainVideoElement):
(WebKit::WebFullScreenManager::mainVideoElementExtractionTimerFired): Deleted.
(WebKit::WebFullScreenManager::scheduleMainVideoElementExtraction): Deleted.
(WebKit::WebFullScreenManager::endMainVideoElementExtractionIfNeeded): Deleted.
- Source/WebKit/WebProcess/FullScreen/WebFullScreenManager.h:
- Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::beginTextRecognitionForVideoInElementFullScreen):
(WebKit::WebPage::cancelTextRecognitionForVideoInElementFullScreen):
(WebKit::WebPage::extractVideoInElementFullScreen): Deleted.
(WebKit::WebPage::cancelVideoExtractionInElementFullScreen): Deleted.
- Source/WebKit/WebProcess/WebPage/WebPage.h:
- Tools/TestWebKitAPI/SourcesCocoa.txt:
- Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- Tools/TestWebKitAPI/Tests/WebKitCocoa/FullscreenVideoTextRecognition.mm: Renamed from Tools/TestWebKitAPI/Tests/WebKitCocoa/FullscreenVideoExtraction.mm.
(swizzledPresentViewController):
(swizzledProcessRequest):
(swizzledSetAnalysis):
(+[FullscreenVideoTextRecognitionWebView create]):
(-[FullscreenVideoTextRecognitionWebView initWithFrame:configuration:]):
(-[FullscreenVideoTextRecognitionWebView loadVideoSource:]):
(-[FullscreenVideoTextRecognitionWebView enterFullscreen]):
(-[FullscreenVideoTextRecognitionWebView exitFullscreen]):
(-[FullscreenVideoTextRecognitionWebView didChangeValueForKey:]):
(-[FullscreenVideoTextRecognitionWebView pause]):
(-[FullscreenVideoTextRecognitionWebView play]):
(-[FullscreenVideoTextRecognitionWebView waitForVideoFrame]):
(-[FullscreenVideoTextRecognitionWebView hasActiveImageAnalysis]):
(-[FullscreenVideoTextRecognitionWebView waitForImageAnalysisToBegin]):
(-[FullscreenVideoTextRecognitionWebView waitForImageAnalysisToEnd]):
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251375@main
- 2:45 PM Changeset in webkit [295366] by
-
- 4 edits2 adds in trunk
AX: WebKit does not trap user focus inside modals that have been DOM moved
https://bugs.webkit.org/show_bug.cgi?id=240978
Reviewed by Andres Gonzalez.
In this patch, we now properly trap user focus inside non-empty modals
that have been DOM moved. This pattern is used in the WAI-ARIA aria-modal
usage example:
https://w3c.github.io/aria-practices/examples/dialog-modal/dialog.html
We do this by re-computing the live and isolated trees when the active
modal changes, since the presence of a modal effects every element on
the page.
This patch also includes several other modal improvements:
- We no longer sometimes overwrite author manual focus (e.g. via JS) with our modal autofocus behavior.
- We now properly re-compute the active modal when focus changes. This is relevant in cases where there are multiple modals, and an author changes focus from one to another, making the latter the new active modal.
This patch removes m_focusModalNodeTimer in favor of a new function
called focusCurrentModal(), which allows precise and synchronous control
over when modal autofocus happens. The asynchronous nature of the timer
made it hard to prevent overwriting manual author focus (e.g. via JS).
This patch fixes existing tests in ITM:
- accessibility/aria-modal-multiple-dialogs.html
- accessibility/ignore-modals-without-any-content.html
- accessibility/mac/aria-modal-auto-focus.html
And adds a new test:
accessibility/recompute-current-modal-after-aria-modal-element-appears.html
- LayoutTests/accessibility/aria-modal-multiple-dialogs-expected.txt:
- LayoutTests/accessibility/aria-modal-multiple-dialogs.html:
- LayoutTests/accessibility/recompute-current-modal-after-aria-modal-element-appears-expected.txt: Added.
- LayoutTests/accessibility/recompute-current-modal-after-aria-modal-element-appears.html: Added.
- Source/WebCore/accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::updateCurrentModalNode):
(WebCore::AXObjectCache::updateCurrentModalNodeInternal):
(WebCore::AXObjectCache::modalNode):
(WebCore::AXObjectCache::deferNodeAddedOrRemoved):
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
(WebCore::AXObjectCache::focusCurrentModal):
(WebCore::AXObjectCache::performDeferredCacheUpdate):
(WebCore::AXObjectCache::currentModalNode): Deleted.
(WebCore::AXObjectCache::focusModalNode): Deleted.
(WebCore::AXObjectCache::focusModalNodeTimerFired): Deleted.
(WebCore::AXObjectCache::handleModalChange): Deleted.
- Source/WebCore/accessibility/AXObjectCache.h:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::focusCurrentModal):
(WebCore::AXObjectCache::handleAriaExpandedChange):
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
(WebCore::AXObjectCache::focusModalNodeTimerFired): Deleted.
(WebCore::AXObjectCache::handleModalChange): Deleted.
Canonical link: https://commits.webkit.org/251374@main
- 2:31 PM Changeset in webkit [295365] by
-
- 23 edits1 move1 add3 deletes in trunk/Source/WebKit
Remove WebCookieManagerProxy, replaced by API::HTTPCookieStore
https://bugs.webkit.org/show_bug.cgi?id=240931
Reviewed by Brady Eidson.
- Source/WebKit/CMakeLists.txt:
- Source/WebKit/DerivedSources-input.xcfilelist:
- Source/WebKit/DerivedSources-output.xcfilelist:
- Source/WebKit/DerivedSources.make:
- Source/WebKit/NetworkProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::notifyCookiesDidChange):
- Source/WebKit/Sources.txt:
- Source/WebKit/SourcesGTK.txt:
- Source/WebKit/SourcesWPE.txt:
- Source/WebKit/UIProcess/API/APIHTTPCookieStore.cpp:
(API::HTTPCookieStore::HTTPCookieStore):
(API::HTTPCookieStore::~HTTPCookieStore):
(API::HTTPCookieStore::cookies):
(API::HTTPCookieStore::cookiesForURL):
(API::HTTPCookieStore::setCookies):
(API::HTTPCookieStore::deleteCookie):
(API::HTTPCookieStore::deleteAllCookies):
(API::HTTPCookieStore::deleteCookiesForHostnames):
(API::HTTPCookieStore::setHTTPCookieAcceptPolicy):
(API::HTTPCookieStore::getHTTPCookieAcceptPolicy):
(API::HTTPCookieStore::flushCookies):
(API::HTTPCookieStore::registerObserver):
(API::HTTPCookieStore::unregisterObserver):
(API::HTTPCookieStore::networkProcessIfExists):
(API::HTTPCookieStore::networkProcessLaunchingIfNecessary):
(API::APIWebCookieManagerProxyObserver::APIWebCookieManagerProxyObserver): Deleted.
(): Deleted.
- Source/WebKit/UIProcess/API/APIHTTPCookieStore.h:
- Source/WebKit/UIProcess/API/C/WKAPICast.h:
- Source/WebKit/UIProcess/API/C/WKContext.cpp:
- Source/WebKit/UIProcess/API/Cocoa/WKProcessPool.mm:
- Source/WebKit/UIProcess/API/glib/WebKitCookieManager.cpp:
(CookieStoreObserver::CookieStoreObserver):
(_WebKitCookieManagerPrivate::cookieStore const):
(_WebKitCookieManagerPrivate::~_WebKitCookieManagerPrivate):
(webkitCookieManagerCreate):
(webkit_cookie_manager_get_accept_policy):
(webkit_cookie_manager_add_cookie):
(webkit_cookie_manager_get_cookies):
(webkit_cookie_manager_delete_cookie):
(WebCookieManagerProxyObserver::WebCookieManagerProxyObserver): Deleted.
(_WebKitCookieManagerPrivate::cookieManager const): Deleted.
- Source/WebKit/UIProcess/API/soup/HTTPCookieStoreSoup.cpp: Renamed from Source/WebKit/UIProcess/soup/WebCookieManagerProxySoup.cpp.
(API::HTTPCookieStore::setCookiePersistentStorage):
- Source/WebKit/UIProcess/Automation/WebAutomationSession.cpp:
(WebKit::WebAutomationSession::addSingleCookie):
(WebKit::WebAutomationSession::deleteAllCookies):
- Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::NetworkProcessProxy):
(WebKit::NetworkProcessProxy::cookiesDidChange):
(WebKit::NetworkProcessProxy::flushCookies): Deleted.
- Source/WebKit/UIProcess/Network/NetworkProcessProxy.h:
- Source/WebKit/UIProcess/Network/NetworkProcessProxy.messages.in:
- Source/WebKit/UIProcess/WebCookieManagerProxy.cpp: Removed.
- Source/WebKit/UIProcess/WebCookieManagerProxy.h: Removed.
- Source/WebKit/UIProcess/WebCookieManagerProxy.messages.in: Removed.
- Source/WebKit/UIProcess/WebProcessPool.cpp:
- Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp:
(WebKit::WebsiteDataStore::flushCookies): Deleted.
- Source/WebKit/UIProcess/WebsiteData/soup/WebsiteDataStoreSoup.cpp:
(WebKit::WebsiteDataStore::setCookiePersistentStorage):
(WebKit::WebsiteDataStore::setHTTPCookieAcceptPolicy):
- Source/WebKit/UIProcess/soup/WebProcessPoolSoup.cpp:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251373@main
- 1:33 PM Changeset in webkit [295364] by
-
- 1 edit in trunk/LayoutTests/platform/win/TestExpectations
[Gardening]: [ Windows EWS ] html5lib/generated/run-tests19-data.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=241382
<rdar://94559821>
Unreviewed test gardening.
- LayoutTests/platform/win/TestExpectations:
Canonical link: https://commits.webkit.org/251372@main
- 1:24 PM Changeset in webkit [295363] by
-
- 1 edit in trunk/Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp
LineBuilder::rebuildLineForTrailingSoftHyphen may end up with no wrapping opportunities
https://bugs.webkit.org/show_bug.cgi?id=241375
<rdar://94516475>
Reviewed by Antti Koivisto.
This is a speculative fix to address the overflow issue in rebuildLineForTrailingSoftHyphen, where we assume a non-empty m_wrapOpportunityList vector.
- Source/WebCore/layout/formattingContexts/inline/InlineLineBuilder.cpp:
(WebCore::Layout::LineBuilder::handleInlineContent):
(WebCore::Layout::LineBuilder::rebuildLineForTrailingSoftHyphen):
Canonical link: https://commits.webkit.org/251371@main
- 1:15 PM Changeset in webkit [295362] by
-
- 1 edit in trunk/Tools/Scripts/hooks/prepare-commit-msg
[git-webkit] git-webkit revert won't trigger pre-commit hook properly
https://bugs..webkit.org/show_bug.cgi?id=241202
rdar://problem/94251413
Patch by Zhifei Fang <facetothefate@gmail.com> on 2022-06-07
Reviewed by Jonathan Bedard.
- Tools/Scripts/hooks/prepare-commit-msg:
Canonical link: https://commits.webkit.org/251370@main
- 1:14 PM Changeset in webkit [295361] by
-
- 10 edits1 delete in branches/safari-613-branch
Revert "Calls to print can result in unresponsive print modal"
This reverts commit 8a2d5954643fd470ce6846432c4e31397f21e829.
- 12:52 PM Changeset in webkit [295360] by
-
- 19 edits in trunk/Source
Upstream WebKit support for Stage Manager on iPadOS
https://bugs.webkit.org/show_bug.cgi?id=241372
rdar://94540740
Reviewed by Tim Horton.
Upstream support for viewport and snapshotting behaviors that are specific to window resizing on
iPad, when Stage Manager is enabled. In particular, this merges the existingMULTITASKING_MODE
andMAC_CATALYST_LIVE_RESIZEfeature flags into a singleUIKIT_RESIZABLE_WINDOWSflag, which is
used to guard both snapshotting and viewport code.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebKit/Platform/spi/ios/UIKitSPI.h:
- Source/WebKit/Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode const):
(WebKit::WebPageCreationParameters::decode):
- Source/WebKit/Shared/WebPageCreationParameters.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView dealloc]):
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h:
- Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h:
- Source/WebKit/UIProcess/API/ios/WKWebViewIOS.mm:
(-[WKWebView setFrame:]):
(-[WKWebView setBounds:]):
(-[WKWebView _registerForNotifications]):
(-[WKWebView _processWillSwapOrDidExit]):
(-[WKWebView didMoveToWindow]):
(-[WKWebView _isWindowResizingEnabled]):
(-[WKWebView _enhancedWindowingToggled:]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _multitaskingModeDidChange:]): Deleted.
- Source/WebKit/UIProcess/API/ios/WKWebViewTestingIOS.mm:
(-[WKWebView _hasResizeAssertion]):
- Source/WebKit/UIProcess/PageClient.h:
(WebKit::PageClient::hasResizableWindows const):
(WebKit::PageClient::isInMultitaskingMode const): Deleted.
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setIsWindowResizingEnabled):
(WebKit::WebPageProxy::setIsInMultitaskingMode): Deleted.
- Source/WebKit/UIProcess/WebPageProxy.h:
- Source/WebKit/UIProcess/ios/PageClientImplIOS.h:
- Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::hasResizableWindows const):
(WebKit::PageClientImpl::isInMultitaskingMode const): Deleted.
- Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::isDesktopClassBrowsingRecommended const):
- Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
(WebKit::WebPage::setIsWindowResizingEnabled):
(WebKit::WebPage::setIsInMultitaskingMode): Deleted.
- Source/WebKit/WebProcess/WebPage/WebPage.h:
- Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
- Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::shouldEnableViewportBehaviorsForResizableWindows const):
(WebKit::WebPage::usesMultitaskingModeViewportBehaviors const): Deleted.
Canonical link: https://commits.webkit.org/251369@main
- 11:38 AM Changeset in webkit [295359] by
-
- 1 edit in trunk/LayoutTests/platform/win/TestExpectations
[Gardening]: [ Windows ] fast/css3-text/css3-text-decoration/repaint/underline-outside-of-layout-rect-altered.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=241377
<rdar://94550320>
Unreviewed test gardening.
- LayoutTests/platform/win/TestExpectations:
Canonical link: https://commits.webkit.org/251368@main
- 11:21 AM Changeset in webkit [295358] by
-
- 1 edit in trunk/LayoutTests/platform/mac-wk1/TestExpectations
[Gardening]: [ macOS wk1 ] imported/w3c/web-platform-tests/css/css-sizing/aspect-ratio/replaced-element-035.html is a flaky image failure
https://bugs.webkit.org/show_bug.cgi?id=241376
<rdar://94548274>
Unreviewed test gardening.
- LayoutTests/platform/mac-wk1/TestExpectations:
Canonical link: https://commits.webkit.org/251367@main
- 10:48 AM Changeset in webkit [295357] by
-
- 11 edits in trunk/Source
Some trustd network requests are not attributed to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=241352
Reviewed by Kate Cheney.
Some of the calls to SecTrustEvaluate (in particular the one in ResourceResponseCocoa) are not made
with a corresponding call to SecTrustSetClientAuditToken. As a result, if trustd ends up making a
network request to fulfill that API request (e.g. for OCSP verification), the corresponding network
request is attributed to NetworkProcess rather than the UIProcess. This causes us to receive spurious
network usage regression bugs from the power team claiming that NetworkProcess (rather than UIProcess)
is making extra network requests if we happen to make a request that triggers OCSP verification.
To fix this, we added a call SecTrustSetClientAuditToken in ResourceResponse::platformCertificateInfo.
- Source/WTF/wtf/PlatformHave.h:
- Source/WTF/wtf/spi/cocoa/SecuritySPI.h:
- Source/WebCore/platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::includeCertificateInfo const):
- Source/WebCore/platform/network/ResourceResponseBase.h:
(WebCore::ResourceResponseBase::includeCertificateInfo):
(WebCore::ResourceResponseBase::platformCertificateInfo const):
- Source/WebCore/platform/network/cf/ResourceResponse.h:
- Source/WebCore/platform/network/cf/ResourceResponseCFNet.cpp:
(WebCore::ResourceResponse::platformCertificateInfo const):
- Source/WebCore/platform/network/cocoa/ResourceResponseCocoa.mm:
(WebCore::ResourceResponse::platformCertificateInfo const):
- Source/WebCore/platform/network/soup/ResourceResponse.h:
- Source/WebCore/platform/network/soup/ResourceResponseSoup.cpp:
(WebCore::ResourceResponse::platformCertificateInfo const):
- Source/WebKit/NetworkProcess/NetworkLoad.cpp:
(WebKit::NetworkLoad::notifyDidReceiveResponse):
- Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(NetworkSessionCocoa::setClientAuditToken):
Canonical link: https://commits.webkit.org/251366@main
- 10:22 AM Changeset in webkit [295356] by
-
- 1 copy in tags/WebKit-7614.1.14.10.13
Tag WebKit-7614.1.14.10.13.
- 10:05 AM Changeset in webkit [295355] by
-
- 9 edits in branches/safari-7614.1.14.10-branch/Source
Versioning.
WebKit-7614.1.14.10.13
- 10:01 AM Changeset in webkit [295354] by
-
- 1 copy in tags/WebKit-7614.1.15.4
Tag WebKit-7614.1.15.4.
- 9:56 AM Changeset in webkit [295353] by
-
- 9 edits in branches/safari-7614.1.15-branch/Source
Versioning.
WebKit-7614.1.15.4
- 9:41 AM Changeset in webkit [295352] by
-
- 1 copy in tags/WebKit-7614.1.15.3
Tag WebKit-7614.1.15.3.
- 9:33 AM Changeset in webkit [295351] by
-
- 16 edits1 add in trunk
[Cocoa] Move contentSizeCategory to platform/
https://bugs.webkit.org/show_bug.cgi?id=241360
Reviewed by Cameron McCormack.
There are 2 reasons for moving it:
- There are already layering violations where existing code in platform/ is calling into RenderTheme
to get the contentSizeCategory.
- For https://bugs.webkit.org/show_bug.cgi?id=237817, I'm going to be adding a new system font cache,
and the most natural place to put it is in SystemFontDatabase in platform/. This new cache needs
access to the contentSizeCategory, so contentSizeCategory needs to be in platform/.
This patch adds FontCacheCocoa.mm because the contentSizeCategory stuff is exposed via Objective-C, and
FontCacheCoreText.cpp is a C++ source.
- Source/WebCore/SourcesCocoa.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/platform/graphics/cocoa/FontCacheCocoa.mm: Copied from Source/WebCore/rendering/RenderThemeCocoa.h.
(WebCore::getUIContentSizeCategoryDidChangeNotificationName):
(WebCore::_contentSizeCategory):
(WebCore::contentSizeCategory):
(WebCore::setContentSizeCategory):
- Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.cpp:
(WebCore::FontCache::platformInit):
(WebCore::fontWithFamilySpecialCase):
- Source/WebCore/platform/graphics/cocoa/FontCacheCoreText.h:
- Source/WebCore/platform/graphics/cocoa/SystemFontDatabaseCoreText.cpp:
(WebCore::SystemFontDatabaseCoreText::createTextStyleFont):
- Source/WebCore/rendering/RenderThemeCocoa.h:
- Source/WebCore/rendering/RenderThemeIOS.h:
- Source/WebCore/rendering/RenderThemeIOS.mm:
(WebCore::attachmentActionFont):
(WebCore::attachmentTitleFont):
(WebCore::attachmentDynamicTypeScaleFactor):
(WebCore::contentSizeCategoryDidChange): Deleted.
(WebCore::RenderThemeIOS::RenderThemeIOS): Deleted.
(WebCore::_contentSizeCategory): Deleted.
(WebCore::RenderThemeIOS::contentSizeCategory const): Deleted.
(WebCore::RenderThemeIOS::setContentSizeCategory): Deleted.
- Source/WebCore/rendering/RenderThemeMac.h:
- Source/WebCore/rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::contentSizeCategory const): Deleted.
- Source/WebCore/testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState):
(WebCore::Internals::setContentSizeCategory):
- Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm:
(WebKit::WebProcessPool::platformInitializeWebProcess):
- Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::contentSizeCategoryDidChange):
- Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
- Tools/TestWebKitAPI/Tests/ios/TextStyleFontSize.mm:
(TEST):
Canonical link: https://commits.webkit.org/251365@main
- 9:29 AM Changeset in webkit [295350] by
-
- 9 edits in branches/safari-7614.1.15-branch/Source
Versioning.
WebKit-7614.1.15.3
- 9:13 AM Changeset in webkit [295349] by
-
- 1 edit in trunk/Tools/flatpak/flatpakutils.py
[WPE][GTK] xdg-dbus-proxy process sometimes go zombie
https://bugs.webkit.org/show_bug.cgi?id=241317
Patch by Philippe Normand <philn@igalia.com> on 2022-06-07
Reviewed by Adrian Perez de Castro and Xabier Rodriguez-Calvar.
The atexit hook seems problematic for subprocesses, so try to kill the xdg-dbus-proxy process from
the WebKitFlatpak destructor instead.
- Tools/flatpak/flatpakutils.py:
(WebkitFlatpak.init):
(WebkitFlatpak):
(WebkitFlatpak.del):
(WebkitFlatpak.setup_a11y_proxy):
Canonical link: https://commits.webkit.org/251364@main
- 8:40 AM Changeset in webkit [295348] by
-
- 1 add in trunk/.github/CODEOWNERS
Add CODEOWNERS file
https://bugs.webkit.org/show_bug.cgi?id=241354
<rdar://94470932>
Reviewed by Yusuke Suzuki.
Note that we're using the CODEOWNERS file to recommend reviewers. Individual
contributors in WebKit do not "own" components.
- .github/CODEOWNERS: Added.
Canonical link: https://commits.webkit.org/251363@main
- 8:37 AM Changeset in webkit [295347] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm
Unreviewed, fix several failing API tests on iOS 15 after r295346
https://bugs.webkit.org/show_bug.cgi?id=241341
rdar://94446831
Rename a couple of strings that I missed in the original upstreaming patch. These tests ran normally
for me on iOS 16 simulator, since these system feature flags were enabled by default; however, iOS
15 relies on these feature flags being enabled for the web view through preferences.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:
(-[TestWKWebView waitForImageAnalysisRequests:]):
Also, drive-by-fix a minor grammar error in a logging string.
(TestWebKitAPI::createWebViewWithTextRecognitionEnhancements):
Canonical link: https://commits.webkit.org/251362@main
- 8:19 AM Changeset in webkit [295346] by
-
- 65 edits in trunk
Upstream new Live Text and visual intelligence features introduced in iOS 16 and macOS Ventura
https://bugs.webkit.org/show_bug.cgi?id=241341
rdar://94446831
Reviewed by Eric Carlson.
Upstream several Live Text and visual intelligence-related features introduced in iOS 16 and macOS
Ventura. These features include:
- Visual translation for images on the page, during webpage translation
- Live Text on paused video elements
- Object lifting support (Copy Subject and Remove Background)
- List and rich text detection using Live Text
- Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml:
- Source/WTF/wtf/PlatformEnable.h:
- Source/WTF/wtf/PlatformHave.h:
- Source/WebCore/PAL/pal/cocoa/VisionKitCoreSoftLink.h:
- Source/WebCore/PAL/pal/cocoa/VisionKitCoreSoftLink.mm:
- Source/WebCore/PAL/pal/spi/cocoa/VisionKitCoreSPI.h:
- Source/WebCore/dom/TextEvent.h:
- Source/WebCore/dom/TextEventInputType.h:
- Source/WebCore/editing/EditAction.cpp:
(WebCore::undoRedoLabel):
- Source/WebCore/editing/EditAction.h:
- Source/WebCore/editing/Editor.cpp:
(WebCore::Editor::handleTextEvent):
(WebCore::Editor::pasteAsFragment):
(WebCore::Editor::replaceSelectionWithFragment):
- Source/WebCore/en.lproj/Localizable.strings:
- Source/WebCore/loader/EmptyClients.cpp:
- Source/WebCore/page/ContextMenuClient.h:
- Source/WebCore/page/ContextMenuController.cpp:
(WebCore::ContextMenuController::contextMenuItemSelected):
(WebCore::ContextMenuController::populate):
(WebCore::ContextMenuController::checkOrEnableIfNeeded const):
- Source/WebCore/page/EventHandler.cpp:
(WebCore::EventHandler::textRecognitionCandidateElement const):
- Source/WebCore/page/ImageAnalysisQueue.cpp:
(WebCore::ImageAnalysisQueue::enqueueAllImages):
(WebCore::ImageAnalysisQueue::resumeProcessing):
(WebCore::ImageAnalysisQueue::clear):
- Source/WebCore/page/ImageAnalysisQueue.h:
- Source/WebCore/platform/ContextMenuItem.cpp:
(WebCore::isValidContextMenuAction):
- Source/WebCore/platform/ContextMenuItem.h:
- Source/WebCore/platform/LocalizedStrings.h:
- Source/WebCore/platform/TextRecognitionOptions.h:
- Source/WebCore/platform/TextRecognitionResult.h:
- Source/WebCore/platform/cocoa/LocalizedStringsCocoa.mm:
(WebCore::contextMenuItemTagCopySubject):
(WebCore::contextMenuItemTitleRemoveBackground):
(WebCore::contextMenuItemTagCopyCroppedImage): Deleted.
(WebCore::contextMenuItemTitleMarkupImage): Deleted.
- Source/WebCore/platform/cocoa/TextRecognitionResultCocoa.mm:
(WebCore::stringForRange):
- Source/WebCore/testing/Internals.h:
- Source/WebKit/Platform/cocoa/ImageAnalysisUtilities.h:
- Source/WebKit/Platform/cocoa/ImageAnalysisUtilities.mm:
(WebKit::languageCodeForLocale):
(WebKit::supportsLiveText):
(WebKit::makeTextRecognitionResult):
(WebKit::shouldLogFullImageTranslationResults):
(WebKit::requestVisualTranslation):
(WebKit::requestBackgroundRemoval):
(WebKit::setUpAdditionalImageAnalysisBehaviors):
(WebKit::imageDataForRemoveBackground):
(WebKit::canStartImageAnalysis): Deleted.
(WebKit::textRecognitionEnhancementsSystemFeatureEnabled): Deleted.
(WebKit::imageAnalysisQueueSystemFeatureEnabled): Deleted.
(WebKit::isImageAnalysisMarkupSystemFeatureEnabled): Deleted.
(WebKit::imageDataForCroppedImageResult): Deleted.
- Source/WebKit/Shared/API/c/WKSharedAPICast.h:
(WebKit::toAPI):
(WebKit::toImpl):
- Source/WebKit/Shared/Cocoa/WebPreferencesDefaultValuesCocoa.mm:
(WebKit::defaultTextRecognitionInVideosEnabled):
(WebKit::defaultVisualTranslationEnabled):
(WebKit::defaultRemoveBackgroundEnabled):
(WebKit::defaultTextRecognitionEnhancementsEnabled): Deleted.
(WebKit::defaultImageAnalysisQueueEnabled): Deleted.
(WebKit::defaultImageAnalysisMarkupEnabled): Deleted.
- Source/WebKit/Shared/WebPreferencesDefaultValues.h:
- Source/WebKit/UIProcess/API/Cocoa/WKMenuItemIdentifiers.mm:
- Source/WebKit/UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _startImageAnalysis:target:]):
- Source/WebKit/UIProcess/API/Cocoa/_WKElementAction.mm:
(+[_WKElementAction _elementActionWithType:customTitle:assistant:]):
(elementActionTypeToUIActionIdentifier):
(uiActionIdentifierToElementActionType):
- Source/WebKit/UIProcess/Cocoa/WebViewImpl.h:
- Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::WebViewImpl::requestTextRecognition):
(WebKit::WebViewImpl::beginElementFullscreenVideoExtraction):
(WebKit::WebViewImpl::cancelElementFullscreenVideoExtraction):
(WebKit::WebViewImpl::installImageAnalysisOverlayView):
(WebKit::WebViewImpl::uninstallImageAnalysisOverlayView):
- Source/WebKit/UIProcess/PageClient.h:
(WebKit::PageClient::requestTextRecognition):
- Source/WebKit/UIProcess/WebContextMenuProxy.h:
(WebKit::WebContextMenuProxy::copySubjectResult const):
(WebKit::WebContextMenuProxy::croppedImageResult const): Deleted.
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::contextMenuItemSelected):
(WebKit::WebPageProxy::requestTextRecognition):
(WebKit::WebPageProxy::startVisualTranslation):
(WebKit::WebPageProxy::shouldAllowRemoveBackground):
(WebKit::WebPageProxy::startImageAnalysis): Deleted.
(WebKit::WebPageProxy::shouldAllowImageMarkup): Deleted.
- Source/WebKit/UIProcess/WebPageProxy.h:
- Source/WebKit/UIProcess/ios/PageClientImplIOS.h:
- Source/WebKit/UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::requestTextRecognition):
- Source/WebKit/UIProcess/ios/WKActionSheetAssistant.h:
- Source/WebKit/UIProcess/ios/WKActionSheetAssistant.mm:
(-[WKActionSheetAssistant defaultActionsForLinkSheet:]):
(-[WKActionSheetAssistant defaultActionsForImageSheet:]):
(-[WKActionSheetAssistant handleElementActionWithType:element:needsInteraction:]):
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.h:
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(canAttemptTextRecognitionForNonImageElements):
(-[WKContentView requestRectsToEvadeForSelectionCommandsWithCompletionHandler:]):
(-[WKContentView removeBackgroundMenu]):
(-[WKContentView doAfterComputingImageAnalysisResultsForBackgroundRemoval:]):
(-[WKContentView prepareSelectionForContextMenuWithLocationInView:completionHandler:]):
(-[WKContentView buildMenuForWebViewWithBuilder:]):
(-[WKContentView _setUpImageAnalysis]):
(-[WKContentView _tearDownImageAnalysis]):
(-[WKContentView requestTextRecognition:imageData:sourceLanguageIdentifier:targetLanguageIdentifier:completionHandler:]):
(-[WKContentView imageAnalysisGestureDidBegin:]):
(-[WKContentView _completeImageAnalysisRequestForContextMenu:requestIdentifier:hasTextResults:]):
(-[WKContentView imageAnalysisGestureDidTimeOut:]):
(-[WKContentView actionSheetAssistantShouldIncludeCopySubjectAction:]):
(-[WKContentView actionSheetAssistant:copySubject:sourceMIMEType:]):
(-[WKContentView beginFullscreenVideoExtraction:playerViewController:]):
(-[WKContentView cancelFullscreenVideoExtraction:]):
(-[WKContentView isFullscreenVideoExtractionEnabled]):
(-[WKContentView beginElementFullscreenVideoExtraction:bounds:]):
(-[WKContentView cancelElementFullscreenVideoExtraction]):
(-[WKContentView installImageAnalysisInteraction:]):
(-[WKContentView uninstallImageAnalysisInteraction]):
(-[WKContentView _shouldAvoidSecurityHeuristicScoreUpdates]):
(-[WKContentView imageAnalysisMarkupMenu]): Deleted.
(-[WKContentView doAfterComputingImageAnalysisResultsForMarkup:]): Deleted.
(-[WKContentView requestTextRecognition:imageData:source:target:completionHandler:]): Deleted.
(-[WKContentView actionSheetAssistantShouldIncludeCopyCroppedImageAction:]): Deleted.
(-[WKContentView actionSheetAssistant:copyCroppedImage:sourceMIMEType:]): Deleted.
- Source/WebKit/UIProcess/mac/PageClientImplMac.h:
- Source/WebKit/UIProcess/mac/PageClientImplMac.mm:
(WebKit::PageClientImpl::requestTextRecognition):
- Source/WebKit/UIProcess/mac/WKSharingServicePickerDelegate.h:
- Source/WebKit/UIProcess/mac/WKSharingServicePickerDelegate.mm:
(-[WKSharingServicePickerDelegate removeBackground]):
(-[WKSharingServicePickerDelegate markupImage]): Deleted.
- Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.h:
- Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::appendMarkupItemToControlledImageMenuIfNeeded):
(WebKit::WebContextMenuProxyMac::applyMarkupToControlledImage):
(WebKit::menuItemIdentifier):
(WebKit::WebContextMenuProxyMac::getContextMenuFromItems):
- Source/WebKit/UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::handleContextMenuCopySubject):
(WebKit::WebPageProxy::handleContextMenuCopyCroppedImage): Deleted.
- Source/WebKit/WebProcess/WebCoreSupport/WebContextMenuClient.h:
- Source/WebKit/WebProcess/WebPage/Cocoa/WebPageCocoa.mm:
(WebKit::WebPage::replaceImageWithMarkupResults):
- Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::requestTextRecognition):
(WebKit::WebPage::startVisualTranslation):
(WebKit::WebPage::shouldAllowRemoveBackground const):
(WebKit::WebPage::startImageAnalysis): Deleted.
(WebKit::WebPage::shouldAllowImageMarkup const): Deleted.
- Source/WebKit/WebProcess/WebPage/WebPage.h:
- Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
- Source/WebKitLegacy/mac/WebCoreSupport/WebContextMenuClient.h:
- Source/WebKitLegacy/mac/WebView/WebHTMLView.mm:
(toTag):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/FullscreenVideoExtraction.mm:
(swizzledPresentViewController):
(swizzledProcessRequest):
(swizzledSetAnalysis):
(+[FullscreenVideoExtractionWebView create]):
(-[FullscreenVideoExtractionWebView initWithFrame:configuration:]):
(-[FullscreenVideoExtractionWebView loadVideoSource:]):
(-[FullscreenVideoExtractionWebView enterFullscreen]):
(-[FullscreenVideoExtractionWebView exitFullscreen]):
(-[FullscreenVideoExtractionWebView didChangeValueForKey:]):
(-[FullscreenVideoExtractionWebView pause]):
(-[FullscreenVideoExtractionWebView play]):
(-[FullscreenVideoExtractionWebView waitForVideoFrame]):
(-[FullscreenVideoExtractionWebView hasActiveImageAnalysis]):
(-[FullscreenVideoExtractionWebView waitForImageAnalysisToBegin]):
(-[FullscreenVideoExtractionWebView waitForImageAnalysisToEnd]):
(TestWebKitAPI::TEST):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/ImageAnalysisTests.mm:
(TestWebKitAPI::createWebViewWithTextRecognitionEnhancements):
(TestWebKitAPI::invokeRemoveBackgroundAction):
(TestWebKitAPI::TEST):
(TestWebKitAPI::invokeImageMarkupAction): Deleted.
- Tools/TestWebKitAPI/cocoa/ImageAnalysisTestingUtilities.h:
- Tools/TestWebKitAPI/cocoa/ImageAnalysisTestingUtilities.mm:
(-[FakeRemoveBackgroundResult initWithImage:cropRect:]):
(-[FakeRemoveBackgroundResult createCGImage]):
(-[FakeRemoveBackgroundResult cropRect]):
(TestWebKitAPI::makeRequestHandler):
(TestWebKitAPI::RemoveBackgroundSwizzler::RemoveBackgroundSwizzler):
Canonical link: https://commits.webkit.org/251361@main
- 8:19 AM Changeset in webkit [295345] by
-
- 1 edit in releases/WebKitGTK/webkit-2.36/Source/WebKit/WebProcess/WebCoreSupport/WebPermissionController.cpp
Merge r295336 - WebPermissionController::tryProcessingRequests should check for m_page
https://bugs.webkit.org/show_bug.cgi?id=241344
rdar://94276618
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-07
Reviewed by Eric Carlson.
- Source/WebKit/WebProcess/WebCoreSupport/WebPermissionController.cpp:
(WebKit::WebPermissionController::tryProcessingRequests):
Add a null check since async reply destructor might trigger completion handler execution.
Canonical link: https://commits.webkit.org/251355@main
- 7:09 AM Changeset in webkit [295344] by
-
- 4 edits in trunk/LayoutTests
AX ITM: Fix for accessibility/aria-toggle-button-with-title.html in isolated tree mode.
https://bugs.webkit.org/show_bug.cgi?id=241240
Reviewed by Chris Fleizach and Tyler Wilcock.
This test was flaky in isolated tree mode.
- LayoutTests/accessibility/aria-toggle-button-with-title-expected.txt:
- LayoutTests/accessibility/aria-toggle-button-with-title.html:
- LayoutTests/platform/glib/accessibility/aria-toggle-button-with-title-expected.txt:
Canonical link: https://commits.webkit.org/251360@main
- 6:43 AM Changeset in webkit [295343] by
-
- 14 edits in trunk/Source
ImageBuffer::copyImage consumes GPUP memory and is redundant
https://bugs.webkit.org/show_bug.cgi?id=241127
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-06-07
ImageBuffer::copyImage overrides:
- Always ends up returning BitmapImage
- Always ends up constructing BitmapImage from copyNativeImage
- Is implemented erroneously in many backends, ignoring the preserve resolution scale flag
- Is implemented correctly in ImageBufferCGBackend, but will allocate the destination buffer when trying to honor the PreserveResolution::No. This will cause a large unattributed allocation in GPUP.
Instead, implement ImageBuffer::copyImage for all the backends and overrides
with ImageBuffer::copyNativeImage().
Implement the scaling conversion, PreserveResolution::No, as a normal WebCore GraphicsContext
operation.
Reviewed by Said Abou-Hallawa.
- Source/WebCore/platform/graphics/ConcreteImageBuffer.h:
- Source/WebCore/platform/graphics/ImageBuffer.cpp:
(WebCore::ImageBuffer::copyImage const):
(WebCore::ImageBuffer::sinkIntoImage):
- Source/WebCore/platform/graphics/ImageBuffer.h:
- Source/WebCore/platform/graphics/ImageBufferBackend.cpp:
(WebCore::ImageBufferBackend::sinkIntoImage): Deleted.
- Source/WebCore/platform/graphics/ImageBufferBackend.h:
- Source/WebCore/platform/graphics/cairo/ImageBufferCairoBackend.cpp:
(WebCore::ImageBufferCairoBackend::copyImage const): Deleted.
- Source/WebCore/platform/graphics/cairo/ImageBufferCairoBackend.h:
- Source/WebCore/platform/graphics/cg/ImageBufferCGBackend.cpp:
(WebCore::createBitmapImageAfterScalingIfNeeded): Deleted.
(WebCore::ImageBufferCGBackend::copyImage const): Deleted.
(WebCore::ImageBufferCGBackend::sinkIntoImage): Deleted.
- Source/WebCore/platform/graphics/cg/ImageBufferCGBackend.h:
- Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.cpp:
(WebKit::ImageBufferShareableBitmapBackend::copyImage const): Deleted.
- Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteImageBufferProxy.h:
- Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.cpp:
(WebKit::ImageBufferRemoteIOSurfaceBackend::copyImage const): Deleted.
- Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferRemoteIOSurfaceBackend.h:
Canonical link: https://commits.webkit.org/251359@main
- 6:08 AM Changeset in webkit [295342] by
-
- 3 edits in trunk
Do not enable promoted extensions in WebGL 2.0
https://bugs.webkit.org/show_bug.cgi?id=223348
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-07
Reviewed by Kimmo Kinnunen.
- LayoutTests/TestExpectations:
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::initializeNewContext):
(WebCore::WebGL2RenderingContext::initializeShaderExtensions): Deleted.
- Source/WebCore/html/canvas/WebGL2RenderingContext.h:
Canonical link: https://commits.webkit.org/251358@main
- 4:43 AM WebKitGTK/2.36.x edited by
- (diff)
- 4:42 AM Changeset in webkit [295341] by
-
- 1 edit in releases/WebKitGTK/webkit-2.36/Tools/WebKitTestRunner/CMakeLists.txt
Merge r295310 - [CMake] Cleanup use of frameworks in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=241349
Reviewed by Fujii Hironori.
Remove includes that are implicit from using a framework.
- Tools/WebKitTestRunner/CMakeLists.txt:
Canonical link: https://commits.webkit.org/251348@main
- 4:42 AM Changeset in webkit [295340] by
-
- 4 edits in releases/WebKitGTK/webkit-2.36
Merge r295034 - WebKitTestRunner shouldn't link object files of JavaScriptCore and WebCore
https://bugs.webkit.org/show_bug.cgi?id=241002
Reviewed by Don Olmstead.
243269@main removed
WebKitfromWebKitTestRunner_FRAMEWORKSfor
WPE. But, it should be there not to link object files of
JavaScriptCore and WebCore to WebKitTestRunner. In WPE builds,
JavaScriptCore and WebCore API are exported from WebKit shared
library. WebKit consumers shouldn't link with object files of
JavaScriptCore and WebCore.
However, adding
WebKittoWebKitTestRunner_FRAMEWORKSintroduced a
new problem that the object file of LowLevelInterpreter.cpp was linked
into WebKitTestRunner. This problem was fixed by changing
LowLevelInterpreterLib to a STATIC library.
- Source/JavaScriptCore/CMakeLists.txt:
- Tools/WebKitTestRunner/CMakeLists.txt:
- Tools/WebKitTestRunner/PlatformGTK.cmake:
- Tools/WebKitTestRunner/PlatformWin.cmake:
Canonical link: https://commits.webkit.org/251129@main
- 4:42 AM Changeset in webkit [295339] by
-
- 1 edit in releases/WebKitGTK/webkit-2.36/Source/WebCore/bindings/js/JSDOMMapLike.cpp
Merge r295045 - Build failure when cross-building for 64-bit ARM https://bugs.webkit.org/show_bug.cgi?id=241109
Unreviewed build fix.
- Source/WebCore/bindings/js/JSDOMMapLike.cpp: Add missing JavaScriptCore/HashMapImplInlines.h header inclusion.
- 4:33 AM Changeset in webkit [295338] by
-
- 3 edits in trunk/Source/WebCore/platform
[GStreamer][WebRTC] Misc pipeline improvements
https://bugs.webkit.org/show_bug.cgi?id=241332
Patch by Philippe Normand <philn@igalia.com> on 2022-06-07
Reviewed by Xabier Rodriguez-Calvar.
The player is now able to tune RTP depayloaders in the pipeline, which is useful for incoming RTC
stream handling. The x264 encoder is also now capped at 4 threads, matching other encoders behavior
in our custom video encoder bin.
- Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
(WebCore::MediaPlayerPrivateGStreamer::configureDepayloader):
(WebCore::MediaPlayerPrivateGStreamer::configureVideoDecoder):
- Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
- Source/WebCore/platform/mediastream/gstreamer/GStreamerVideoEncoder.cpp:
(webkit_webrtc_video_encoder_class_init):
Canonical link: https://commits.webkit.org/251357@main
- 4:00 AM Changeset in webkit [295337] by
-
- 19 edits in trunk/Source/WebKit
SharedBuffer should be copied when moved over IPC
https://bugs.webkit.org/show_bug.cgi?id=240902
<rdar://93881913>
Reviewed by Jer Noble.
Have SharedBuffer and FragmentedSharedBuffer IPC serializers always perform a copy
Make DrawToPDF use SharedBuffer directly rather than SharedBufferReference.
Replace use of IPCHandle with SharedBuffer in clipboard IPC methods.
The SharedBuffer serializer ultimately does the same thing and it allows for simpler code.
- Source/WebKit/Shared/WebCoreArgumentCoders.cpp:
(IPC::decodeSharedBuffer):
- Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView createPDFWithConfiguration:completionHandler:]):
- Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm:
(WebKit::WebPasteboardProxy::getPasteboardBufferForType):
(WebKit::WebPasteboardProxy::setPasteboardBufferForType):
(WebKit::WebPasteboardProxy::readBufferFromPasteboard):
- Source/WebKit/UIProcess/WebPageProxy.cpp:
(WebKit::CompletionHandler<void):
(WebKit::WebPageProxy::drawPagesToPDF):
(WebKit::WebPageProxy::drawToPDF):
- Source/WebKit/UIProcess/WebPageProxy.h:
- Source/WebKit/UIProcess/WebPasteboardProxy.cpp:
(WebKit::WebPasteboardProxy::readBufferFromPasteboard):
- Source/WebKit/UIProcess/WebPasteboardProxy.h:
- Source/WebKit/UIProcess/WebPasteboardProxy.messages.in:
- Source/WebKit/UIProcess/gtk/WebPasteboardProxyGtk.cpp:
(WebKit::WebPasteboardProxy::readBuffer):
- Source/WebKit/UIProcess/ios/WKContentView.mm:
(-[WKContentView _wk_pageCountForPrintFormatter:]):
- Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::drawToPDFiOS):
- Source/WebKit/UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::dataSelectionForPasteboard):
- Source/WebKit/WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::writeItemsToPasteboard):
- Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::bufferForType):
(WebKit::WebPlatformStrategies::setBufferForType):
(WebKit::WebPlatformStrategies::readBufferFromClipboard):
(WebKit::WebPlatformStrategies::readBufferFromPasteboard):
- Source/WebKit/WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::drawToPDF):
(WebKit::WebPage::drawPagesToPDF):
- Source/WebKit/WebProcess/WebPage/WebPage.h:
- Source/WebKit/WebProcess/WebPage/WebPage.messages.in:
- Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::getDataSelectionForPasteboard):
(WebKit::WebPage::drawToPDFiOS):
- Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::getDataSelectionForPasteboard):
Canonical link: https://commits.webkit.org/251356@main
- 2:36 AM Changeset in webkit [295336] by
-
- 1 edit in trunk/Source/WebKit/WebProcess/WebCoreSupport/WebPermissionController.cpp
WebPermissionController::tryProcessingRequests should check for m_page
https://bugs.webkit.org/show_bug.cgi?id=241344
rdar://94276618
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-07
Reviewed by Eric Carlson.
- Source/WebKit/WebProcess/WebCoreSupport/WebPermissionController.cpp:
(WebKit::WebPermissionController::tryProcessingRequests):
Add a null check since async reply destructor might trigger completion handler execution.
Canonical link: https://commits.webkit.org/251355@main
- 2:23 AM Changeset in webkit [295335] by
-
- 2 edits in trunk
Validate top origin in ServiceWorkerRegistrationKey::fromDatabaseKey
https://bugs.webkit.org/show_bug.cgi?id=241221
rdar://problem/94280334
Patch by Youenn Fablet <youennf@gmail.com> on 2022-06-07
Reviewed by Chris Dumez.
When reading the top origin from file disk, let's validate it like we do with scope URL.
Covered by API tests.
- Source/WebCore/workers/service/ServiceWorkerRegistrationKey.cpp:
(WebCore::ServiceWorkerRegistrationKey::fromDatabaseKey):
- Tools/TestWebKitAPI/Tests/WebCore/ServiceWorkerRoutines.cpp:
(TEST):
Canonical link: https://commits.webkit.org/251354@main
- 12:16 AM Changeset in webkit [295334] by
-
- 1 edit in trunk/Source/WebKit/Shared/IPCTester.messages.in
REGRESSION(250081@main): Parsing error in generate-message-receiver.py
https://bugs.webkit.org/show_bug.cgi?id=241356
Reviewed by Kimmo Kinnunen.
- Source/WebKit/Shared/IPCTester.messages.in: Remove redundant non-ascii character.
Canonical link: https://commits.webkit.org/251353@main