Timeline
Jun 10, 2022:
- 11:23 PM Changeset in webkit [295473] by
-
- 2 edits in trunk
CORS checks shouldn't unblock cookies
https://bugs.webkit.org/show_bug.cgi?id=241527
Reviewed by Brent Fulgham.
If cookies have been blocked, a request that has been made with {credentials: 'include'} shouldn't un-block the cookies.
- Source/WebCore/loader/CrossOriginAccessControl.cpp:
(WebCore::updateRequestForAccessControl):
- Tools/TestWebKitAPI/Tests/WebKitCocoa/WKContentExtensionStore.mm:
(TEST_F):
Canonical link: https://commits.webkit.org/251478@main
- 10:34 PM Changeset in webkit [295472] by
-
- 7 edits2 adds in trunk
Repaint rect does not take into account text-underline-offset
https://bugs.webkit.org/show_bug.cgi?id=241442
Reviewed by Antti Koivisto.
This patch add support for text decoration ink overflow (IFC).
- Collect decoration ink overflow (logical)
- Update display box ink overflow (visual)
- Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::build):
(WebCore::Layout::InlineDisplayContentBuilder::collectInkOverflowForInlineBoxes):
(WebCore::Layout::visualBottomForTextDecorationContent):
(WebCore::Layout::InlineDisplayContentBuilder::collectInkOverflowForTextDecorations):
- Source/WebCore/layout/formattingContexts/inline/display/InlineDisplayContentBuilder.h:
- Source/WebCore/style/InlineTextBoxStyle.cpp:
(WebCore::visualOverflowForDecorations):
(WebCore::defaultGap):
- Source/WebCore/style/InlineTextBoxStyle.h:
Canonical link: https://commits.webkit.org/251477@main
- 7:44 PM Changeset in webkit [295471] by
-
- 1 edit in trunk/Tools/Scripts/webkitpy/common/checkout/scm/git.py
[webkit-patch] Format patch without version signature
https://bugs.webkit.org/show_bug.cgi?id=240516
Reviewed by Jonathan Bedard.
By default 'git-format-patch' adds a signature at the bottom of a diff
patch with Git version number, which the DiffParser wrongly interprets as
a patch chunk.
- Tools/Scripts/webkitpy/common/checkout/scm/git.py: Use knob '--no-signature' to emit patch without signature.
Canonical link: https://commits.webkit.org/251476@main
- 6:33 PM Changeset in webkit [295470] by
-
- 5 edits in trunk/Tools/Scripts/libraries/webkitscmpy
[git-webkit] Make the default rebase behavior for
git-webkit pr
configurable
https://bugs.webkit.org/show_bug.cgi?id=239385
<rdar://problem/91811534>
Reviewed by Dewei Zhu.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/pull_request.py:
(PullRequest.main): Check the webkitscmpy.auto-rebase-branch option to determine
if we should automatically rebase the branch.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.git): Prompt user to set the automatic rebase behavior.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/setup_unittest.py:
Canonical link: https://commits.webkit.org/251475@main
- 5:35 PM Changeset in webkit [295469] by
-
- 1 delete in trunk/Tools/Scripts/webkitperl/VCSUtils_unittest/mergeChangeLogs.pl
[webkitperl] Remove ChangeLog test
https://bugs.webkit.org/show_bug.cgi?id=241481
Reviewed by Aakash J.
- Tools/Scripts/webkitperl/VCSUtils_unittest/mergeChangeLogs.pl: Removed.
Canonical link: https://commits.webkit.org/251474@main
- 4:26 PM Changeset in webkit [295468] by
-
- 2 edits in trunk
[iOS] Specifying spellcheck="false" on a contentEditable element should suppress platform spellchecking
https://bugs.webkit.org/show_bug.cgi?id=241514
rdar://91123300
Reviewed by Devin Rousso.
Additionally set
-[UITextInputTraits spellCheckingType]
toUITextSpellCheckingTypeNo
when
focusing editable fields with the DOM attributespellcheck="false"
. This provides a hint to UIKit
that system spellchecking should be disabled when editing this field - among other things, this
allows us to avoid showing text candidates in the case whereautocorrect="off"
is additionally
specified.
If either
spellcheck="true"
is set orspellcheck
is not specified, we fall back to the user's
preference by usingUITextSpellCheckingTypeDefault
.
Test: KeyboardInputTests.DisableSpellChecking
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _updateTextInputTraits:]):
- Tools/TestWebKitAPI/Tests/ios/KeyboardInputTestsIOS.mm:
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251473@main
- 4:10 PM Changeset in webkit [295467] by
-
- 2 edits in trunk/Tools/CISupport/ews-build
[EWS] Remove extra space from GitHub PR description links
https://bugs.webkit.org/show_bug.cgi?id=241522
<rdar://problem/94842283>
Reviewed by Ryan Haddad.
- Tools/CISupport/ews-build/steps.py:
(UpdatePullRequest): Port changes from 250718@main to EWS.
(UpdatePullRequest.escape_html):
- Tools/CISupport/ews-build/steps_unittest.py:
Canonical link: https://commits.webkit.org/251472@main
- 3:45 PM Changeset in webkit [295466] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/WebPageProxy.h
Unified build: error: reference to 'FontInfo' is ambiguous
https://bugs.webkit.org/show_bug.cgi?id=241524
Reviewed by Darin Adler.
Fix unified build error.
- Source/WebKit/UIProcess/WebPageProxy.h: removed unused forward declaration.
It may cause name clash with ::FontInfo (from QD.framework/Headers/Quickdraw.h)
on Mac when this file is included into the same unified source as another .cpp
file declaring 'using namespace WebKit;'.
Canonical link: https://commits.webkit.org/251471@main
- 3:13 PM Changeset in webkit [295465] by
-
- 1 edit in releases/WebKitGTK/webkit-2.36/Source/WebCore/rendering/RenderBox.h
Merge r295399 - 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
- 2:49 PM Changeset in webkit [295464] by
-
- 34 edits in trunk
Update TBA API availability macros for iOS 16 and macOS Ventura
https://bugs.webkit.org/show_bug.cgi?id=241482
rdar://94651561
Reviewed by Tim Horton.
Update
WK_MAC_TBA
andWK_IOS_TBA
macros to 13.0 and 16.0, respectively.
- Source/WebKit/Shared/API/Cocoa/WKMain.h:
- Source/WebKit/Shared/API/Cocoa/_WKHitTestResult.h:
- Source/WebKit/UIProcess/API/Cocoa/WKError.h:
- Source/WebKit/UIProcess/API/Cocoa/WKMenuItemIdentifiersPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKPreferences.h:
Mark these two API properties as available since macOS 12.3 and iOS 15.4. These were first
introduced in these respective macOS and iOS versions, but with incorrect availability macros
indicating that they were available since 12.0 and 15.0.
- Source/WebKit/UIProcess/API/Cocoa/WKPreferencesPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKProcessPoolPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKUserContentControllerPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebView.h:
Also, mark
setMinimumViewportInset:maximumViewportInset:
,minimumViewportInset
, and
maximumViewportInset
as being available since iOS 15.5.
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:
(-[WKWebView _dataTaskWithRequest:completionHandler:]):
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebpagePreferencesPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataRecord.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataRecordPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKApplicationManifest.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKAuthenticatorSelectionCriteria.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKAutomationSession.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKContentRuleListAction.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKDataTask.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKDataTaskDelegate.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKElementAction.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKModalContainerInfo.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKResidentKeyRequirement.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKSystemPreferences.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreConfiguration.h:
- Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInCSSStyleDeclarationHandle.h:
- Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
- Source/WebKit/WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:
- Tools/Scripts/webkitpy/common/version_name_map.py:
(VersionNameMap.init):
Canonical link: https://commits.webkit.org/251470@main
- 2:44 PM Changeset in webkit [295463] by
-
- 1 edit in trunk/Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp
Add PaymentHandler reference when validating the merchant
https://bugs.webkit.org/show_bug.cgi?id=241520
<rdar://problem/94609087>
Reviewed by Wenson Hsieh.
- Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::PaymentRequest::completeMerchantValidation):
Canonical link: https://commits.webkit.org/251469@main
- 2:22 PM Changeset in webkit [295462] by
-
- 2 edits in trunk/Tools/CISupport/build-webkit-org
Add post-commit build to run accessibility isolated tree mode layout tests
https://bugs.webkit.org/show_bug.cgi?id=235125
Reviewed by Aakash Jain.
Patch co-author is Aakash Jain.
- Tools/CISupport/build-webkit-org/config.json:
- Tools/CISupport/build-webkit-org/factories_unittest.py:
(TestExpectedBuildSteps):
Canonical link: https://commits.webkit.org/251468@main
- 1:36 PM Changeset in webkit [295461] by
-
- 3 edits in trunk/Source
Adopt EnumeratedArray in SystemFontDatabase
https://bugs.webkit.org/show_bug.cgi?id=241506
Reviewed by Cameron McCormack.
This is why we created EnumeratedArray in the first place.
- Source/WebCore/platform/graphics/SystemFontDatabase.cpp:
(WebCore::SystemFontDatabase::systemFontShorthandInfo const):
- Source/WebCore/platform/graphics/SystemFontDatabase.h:
Canonical link: https://commits.webkit.org/251467@main
- 1:23 PM Changeset in webkit [295460] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm
Safari crashes anytime any web links on a webpage are clicked on
https://bugs.webkit.org/show_bug.cgi?id=241500
rdar://94655829
Reviewed by Tim Horton.
In some VM scenarios, IOSurfaceAccelerator is not available, which
causes a crash when navigating (creating the back-forward images).
The solution is to check for null after attempting to create the
accelerator.
- Source/WebCore/platform/graphics/cocoa/IOSurface.mm:
(WebCore::IOSurface::convertToFormat): Add a null check and bail.
Canonical link: https://commits.webkit.org/251466@main
- 12:01 PM Changeset in webkit [295459] by
-
- 5 edits in trunk/Source
[Shadow Realms] Add feature flag to enable Exposed=* web APIs in ShadowRealms
https://bugs.webkit.org/show_bug.cgi?id=241448
Reviewed by Yusuke Suzuki.
No longer expose Web APIs to ShadowRealm by default. Instead, we
enable this with a new setting WebAPIsInShadowRealmEnabled.
Because the HTML integration aspect of the specification is still in the
air, it's prudent to disable it by default, while still providing a
feature flag for web-platform-tests.
- Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:
- Source/WebCore/bindings/js/WebCoreBuiltinNames.h:
- Source/WebCore/bindings/scripts/preprocess-idls.pl:
(GenerateConstructorAttributes):
- Source/WebCore/bindings/scripts/test/JS/JSShadowRealmGlobalScope.cpp:
(WebCore::JSShadowRealmGlobalScope::finishCreation):
- Source/WebCore/bindings/scripts/test/ShadowRealmGlobalScopeConstructors.idl:
Canonical link: https://commits.webkit.org/251465@main
- 11:50 AM Changeset in webkit [295458] by
-
- 1 edit in trunk/Source/WebCore/style/InlineTextBoxStyle.cpp
Remove redundant OptionSet<TextDecorationLine> in InlineTextBoxStyle functions
https://bugs.webkit.org/show_bug.cgi?id=241499
Reviewed by Antti Koivisto.
- Source/WebCore/style/InlineTextBoxStyle.cpp:
(WebCore::minLogicalTopForTextDecorationLine):
(WebCore::maxLogicalBottomForTextDecorationLine):
(WebCore::enclosingRendererWithTextDecoration):
(WebCore::textRunLogicalOffsetFromLineBottom):
Canonical link: https://commits.webkit.org/251464@main
- 11:19 AM Changeset in webkit [295457] by
-
- 1 edit in trunk/Source/WebCore/dom/Document.cpp
Special case bitmap renderers in Document::getCSSCanvasContext
https://bugs.webkit.org/show_bug.cgi?id=241505
Patch by Rob Buis <rbuis@igalia.com> on 2022-06-10
Reviewed by Alex Christensen.
Special case bitmap renderers in Document::getCSSCanvasContext.
- Source/WebCore/dom/Document.cpp:
(WebCore::Document::getCSSCanvasContext):
Canonical link: https://commits.webkit.org/251463@main
- 10:29 AM Changeset in webkit [295456] by
-
- 2 edits in trunk
[ macOS ][ iOS ] TestWebKitAPI.SOAuthorizationSubFrame.InterceptionError is a flaky timeout
https://bugs.webkit.org/show_bug.cgi?id=241421
<rdar://problem/94641397>
Reviewed by Kate Cheney.
This test was timing out for the same reason as SOAuthorizationSubFrame.InterceptionErrorWithReferrer,
which Pascoe fixed in Bug 239311.
This change modifies all 'waitForMessage'-based tests to use the message listener delegate to
avoid the race conditions identified. I also changed the method swizzling code to remove
a bunch of copy/paste code that had to be kept in sync.
With these changes I can run the tests 1000 times on simulator without a timeout.
- Source/WebKit/UIProcess/Cocoa/SOAuthorization/WKSOAuthorizationDelegate.mm:
(-[WKSOAuthorizationDelegate authorization:didCompleteWithError:]): Only emit an error log message
when there is an actual error. We pass through this flow in normal cases where a site wants to
use the web fallback instead of AppSSO based on user input.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/TestSOAuthorization.mm:
(-[TestSOAuthorizationScriptMessageHandler extendExpectations:]):
(-[TestSOAuthorizationScriptMessageHandler resetExpectations:]):
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251462@main
- 10:09 AM Changeset in webkit [295455] by
-
- 3 edits in trunk/Source/WebCore
Should be able to compute decoration overflow without InlineIterator::TextBoxIterator
https://bugs.webkit.org/show_bug.cgi?id=241490
Reviewed by Antti Koivisto.
This patch enables IFC codebase to compute visual overflow for decoration (even when TextBoxIterator is not available).
- Source/WebCore/rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::changeAffectsVisualOverflow const):
- Source/WebCore/style/InlineTextBoxStyle.cpp:
(WebCore::visualOverflowForDecorations):
- Source/WebCore/style/InlineTextBoxStyle.h:
Canonical link: https://commits.webkit.org/251461@main
- 9:13 AM Changeset in webkit [295454] by
-
- 2 edits in trunk/Source
[GLib] Validate proxy URLs passed to WebKitNetworkProxySettings
https://bugs.webkit.org/show_bug.cgi?id=241485
Patch by Michael Catanzaro <mcatanzaro@redhat.com> on 2022-06-10
Reviewed by Philippe Normand.
Validate that users pass only valid URLs to these APIs.
- Source/WTF/wtf/URL.h: Opportunistic typo fix.
- Source/WebKit/UIProcess/API/glib/WebKitNetworkProxySettings.cpp:
(webkit_network_proxy_settings_new):
(webkit_network_proxy_settings_add_proxy_for_scheme):
Canonical link: https://commits.webkit.org/251460@main
- 8:19 AM Changeset in webkit [295453] by
-
- 3 edits in trunk/Source/WebCore
computeUnderlineOffset should not take InlineIterator::LineBoxIterator
https://bugs.webkit.org/show_bug.cgi?id=241488
Reviewed by Antti Koivisto.
Let's precompute the text run's offset value so that we don't have to pass in a LineBoxIterator to computeUnderlineOffset.
- Source/WebCore/rendering/TextDecorationPainter.cpp:
(WebCore::TextDecorationPainter::paintBackgroundDecorations):
- Source/WebCore/style/InlineTextBoxStyle.cpp:
(WebCore::textRunLogicalOffsetFromLineBottom):
(WebCore::computeUnderlineOffset):
(WebCore::visualOverflowForDecorations):
- Source/WebCore/style/InlineTextBoxStyle.h:
Canonical link: https://commits.webkit.org/251459@main
- 8:11 AM Changeset in webkit [295452] by
-
- 1 edit in trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm
Disable URL scheme check in Data Detectors for all clients
https://bugs.webkit.org/show_bug.cgi?id=241273
Reviewed by Geoffrey Garen.
We are seeing telmetry where also Web browser clients are attempting to connect to Launch Services when data detection
is trying to find an application to handle a URL with a custom scheme. Since Launch Services is blocked in the sandbox,
the WebContent process will be unable to determine if there is an application that can open this URL, and the link will
not be clickable. This can be addressed by disabling the URL scheme check in Data Detectors for all clients.
- Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::platformInitializeWebProcess):
Canonical link: https://commits.webkit.org/251458@main
- 7:51 AM Changeset in webkit [295451] by
-
- 6 edits in trunk
WebDriver: [Cocoa] Regression(r290743) Automated mouse movement does not result in JS mouse event being fired
https://bugs.webkit.org/show_bug.cgi?id=241484
rdar://94026001
Reviewed by Devin Rousso.
r290743 changed WKWebView on macOS to no longer forward NSEventTypeMouseMoved events to the underlying view
implementation since it does its own mouse tracking. Unfortuantely, this means that WebDriver on Cocoa platforms can not
just dispatch an event to the window and have that event reach the WKWebView's underlying view implementation. This
change was made because events for genuine cursor movement were being received twice by the underlying view previously.
We need to explicitly tell the underlying view about automated mouse movements (as well as the NSWindow to maintain any
existing behavior caused by the mouse move event being sent to the window).
This patch was verified by comparing WPT test results for tests in /webdriver/tests/perform_actions and
/webdriver/tests/release_actions and ensuring that results now match Safari 15.5 again, which does not have the
regressing change included.
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h:
- Source/WebKit/UIProcess/API/mac/WKWebViewMac.mm:
(-[WKWebView _simulateMouseMove:]):
- Source/WebKit/UIProcess/API/mac/WKWebViewPrivateForTestingMac.h:
- Source/WebKit/UIProcess/API/mac/WKWebViewTestingMac.mm:
(-[WKWebView _simulateMouseMove:]): Deleted.
- Move _simulateMouseMove to be private instead of private for testing.
- Source/WebKit/UIProcess/Automation/mac/WebAutomationSessionMac.mm:
(WebKit::WebAutomationSession::sendSynthesizedEventsToPage):
- For mouse move events, make sure the view implementation receives the events.
- Tools/WebKitTestRunner/mac/EventSenderProxy.mm:
Canonical link: https://commits.webkit.org/251457@main
- 5:26 AM Changeset in webkit [295450] by
-
- 1 edit in trunk/Source/WebCore/style/InlineTextBoxStyle.cpp
minLogicalTopForTextDecorationLine/maxLogicalBottomForTextDecorationLine should return the min/max value
https://bugs.webkit.org/show_bug.cgi?id=241474
Reviewed by Antti Koivisto.
This improves readability and also a preparation for making decoration visual overflow work with IFC.
- Source/WebCore/style/InlineTextBoxStyle.cpp:
(WebCore::minLogicalTopForTextDecorationLine):
(WebCore::maxLogicalBottomForTextDecorationLine):
(WebCore::computeUnderlineOffset):
Canonical link: https://commits.webkit.org/251456@main
- 2:37 AM Changeset in webkit [295449] by
-
- 60 edits2 adds in trunk
Enable WasmLLInt on ARMv7
Patch by Geza Lore <Geza Lore> on 2022-06-10
Patch by Geza Lore <Geza Lore> on 2022-05-27
https://bugs.webkit.org/show_bug.cgi?id=221260
Reviewed by Saam Barati.
Patch by Geza Lore and Xan López.
Implement the LLInt tier of WebAssembly for ARMv7. A lot of the
work will be shared by any 32bit port, but the offlineassembler
has only been updated for ARMv7 so far.
Main highlights:
We have split the WebAssembly.asm file into three chunks,
following what LowLevelInterpreter.asm does. The common code
remains in WebAssembly.asm, and 32 and 64bit specific code (mostly
opcode implementations) goes into WebAssembly32_64.asm and
WebAssembly64.asm.
We have decided to use consecutive even/odd pairs of GPRs for every
type of wasm values, even if they are 32bit (i32/f32), with the odd
(higher) numbered GPR holding the more significant half. 32bit values
are held in the even (lower) numbered register. This makes the code
much simpler and allows us to share more code with the 64bit variant.
This is mostly relevant for argument passing, and given that every
value ends up in the stack anyway we do not think it is significant
from a performance POV.
We are reusing JSValueRegs to hold Wasm values too. Obviously they
are not really JSValues, so it might make sense to create a base
class that can be used for both JS and Wasm values.
We do not have enough registers to keep things like the memory
base pointer and size in pinned registers, so we are forced to
load them on each use.
We disable the 'Signaling' memory mode, since the current
implementation relies on being able to mprotect a 232 + redzone
region of memory. This can be changed in the future but it's not a
priority at the moment.
- stress/sampling-profiler-wasm-name-section.js:
- stress/sampling-profiler-wasm.js:
- wasm/regress/llint-callee-saves-with-fast-memory.js:
- CMakeLists.txt:
- assembler/ARMv7Assembler.h:
(JSC::ARMv7Assembler::vcvt_signedToFloatingPoint):
- assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::convertInt32ToFloat):
(JSC::MacroAssemblerARMv7::threadSafePatchableNearCall):
(JSC::MacroAssemblerARMv7::callOperation):
- b3/B3ValueRep.h:
(JSC::B3::ValueRep::ValueRep):
- bytecode/BytecodeDumper.cpp:
(JSC::Wasm::BytecodeDumper::formatConstant const):
- interpreter/CallFrame.h: adapt to new callee tagging format.
(JSC::CallFrame::callee const):
(JSC::CallFrame::unsafeCallee const):
- interpreter/CalleeBits.h: add wasm tagging of callee values for
32bit.
(JSC::CalleeBits::CalleeBits):
(JSC::CalleeBits::operator=):
(JSC::CalleeBits::boxWasm):
(JSC::CalleeBits::isWasm const):
(JSC::CalleeBits::asWasmCallee const):
- interpreter/Register.h:
(JSC::Register::unboxedFloat const):
(JSC::Register::asanUnsafeUnboxedFloat const):
- jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::unboxDouble):
- jit/RegisterAtOffsetList.cpp:
(JSC::RegisterAtOffsetList::RegisterAtOffsetList):
- jit/RegisterAtOffsetList.h:
(JSC::RegisterAtOffsetList::sizeOfAreaInBytes const):
- jit/RegisterSet.cpp:
(JSC::RegisterSet::macroScratchRegisters):
- llint/LowLevelInterpreter32_64.asm:
- llint/WebAssembly.asm:
- llint/WebAssembly32_64.asm: Added.
- llint/WebAssembly64.asm: Added.
- offlineasm/arm.rb:
- offlineasm/instructions.rb:
- offlineasm/registers.rb:
- offlineasm/risc.rb:
- runtime/JSCJSValue.h:
(JSC::wasmUnboxedFloat):
- runtime/JSCJSValueInlines.h:
(JSC::JSValue::JSValue):
- wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::AirIRGenerator::useSignalingMemory const):
(JSC::Wasm::AirIRGenerator::AirIRGenerator):
(JSC::Wasm::AirIRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::AirIRGenerator::addCall):
- wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::useSignalingMemory const):
(JSC::Wasm::B3IRGenerator::B3IRGenerator):
(JSC::Wasm::B3IRGenerator::addArguments):
(JSC::Wasm::B3IRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::B3IRGenerator::memoryKind):
(JSC::Wasm::B3IRGenerator::addCall):
- wasm/WasmBinding.cpp:
(JSC::Wasm::wasmToWasm):
- wasm/WasmCallee.cpp:
(JSC::Wasm::LLIntCallee::calleeSaveRegisters):
- wasm/WasmCalleeGroup.cpp:
(JSC::Wasm::CalleeGroup::isSafeToRun):
- wasm/WasmCallingConvention.cpp:
(JSC::Wasm::jsCallingConvention):
(JSC::Wasm::wasmCallingConvention):
- wasm/WasmCallingConvention.h:
(JSC::Wasm::CallInformation::computeResultsOffsetList):
(JSC::Wasm::WasmCallingConvention::WasmCallingConvention):
(JSC::Wasm::WasmCallingConvention::marshallLocationImpl const):
(JSC::Wasm::WasmCallingConvention::marshallLocation const):
(JSC::Wasm::JSCallingConvention::JSCallingConvention):
(JSC::Wasm::JSCallingConvention::marshallLocationImpl const):
(JSC::Wasm::JSCallingConvention::marshallLocation const):
(JSC::Wasm::JSCallingConvention::callInformationFor const):
- wasm/WasmFormat.h:
- wasm/WasmIndexOrName.cpp:
(JSC::Wasm::IndexOrName::IndexOrName):
(JSC::Wasm::makeString):
- wasm/WasmIndexOrName.h:
(JSC::Wasm::IndexOrName::IndexOrName):
(JSC::Wasm::IndexOrName::isEmpty const):
(JSC::Wasm::IndexOrName::isIndex const):
(JSC::Wasm::IndexOrName::isName const):
(JSC::Wasm::IndexOrName::index const):
(JSC::Wasm::IndexOrName::name const):
(JSC::Wasm::IndexOrName::nameSection const):
- wasm/WasmInstance.h:
(JSC::Wasm::Instance::updateCachedMemory):
- wasm/WasmLLIntGenerator.cpp:
(JSC::Wasm::LLIntGenerator::virtualRegisterForWasmLocal):
(JSC::Wasm::LLIntGenerator::callInformationForCaller):
(JSC::Wasm::LLIntGenerator::callInformationForCallee):
(JSC::Wasm::LLIntGenerator::addArguments):
(JSC::Wasm::LLIntGenerator::addLoop):
- wasm/WasmLLIntPlan.cpp:
(JSC::Wasm::LLIntPlan::didCompleteCompilation):
- wasm/WasmMemory.cpp:
(JSC::Wasm::MemoryHandle::~MemoryHandle):
(JSC::Wasm::Memory::tryCreate):
(JSC::Wasm::Memory::growShared):
(JSC::Wasm::Memory::grow):
(JSC::Wasm::Memory::copy):
- wasm/WasmMemory.h:
- wasm/WasmMemoryInformation.cpp:
(JSC::Wasm::PinnedRegisterInfo::get):
- wasm/WasmMemoryInformation.h:
(JSC::Wasm::PinnedRegisterInfo::toSave const):
- wasm/WasmMemoryMode.cpp:
(JSC::Wasm::makeString):
- wasm/WasmMemoryMode.h:
- wasm/WasmOpcodeOrigin.cpp:
- wasm/WasmOpcodeOrigin.h:
- wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
- wasm/WasmOperations.h:
- wasm/WasmPageCount.h:
- wasm/WasmParser.h:
(JSC::Wasm::Parser<SuccessType>::parseUInt32):
(JSC::Wasm::Parser<SuccessType>::parseUInt64):
- wasm/WasmSlowPaths.cpp:
(JSC::LLInt::WASM_SLOW_PATH_DECL):
(JSC::LLInt::slow_path_wasm_popcount):
(JSC::LLInt::slow_path_wasm_popcountll):
(JSC::LLInt::slow_path_wasm_i32_div_s):
(JSC::LLInt::slow_path_wasm_i32_div_u):
(JSC::LLInt::slow_path_wasm_i32_rem_s):
(JSC::LLInt::slow_path_wasm_i32_rem_u):
(JSC::LLInt::slow_path_wasm_i64_div_s):
(JSC::LLInt::slow_path_wasm_i64_div_u):
(JSC::LLInt::slow_path_wasm_i64_rem_s):
(JSC::LLInt::slow_path_wasm_i64_rem_u):
- wasm/WasmSlowPaths.h:
- wasm/WasmValueLocation.cpp:
(JSC::Wasm::ValueLocation::dump const):
(WTF::printInternal):
- wasm/WasmValueLocation.h:
(JSC::Wasm::ValueLocation::ValueLocation):
(JSC::Wasm::ValueLocation::isGPR const):
(JSC::Wasm::ValueLocation::isFPR const):
(JSC::Wasm::ValueLocation::isStack const):
(JSC::Wasm::ValueLocation::isStackArgument const):
(JSC::Wasm::ValueLocation::jsr const):
(JSC::Wasm::ValueLocation::fpr const):
(JSC::Wasm::ValueLocation::reg): Deleted.
(JSC::Wasm::ValueLocation::isReg const): Deleted.
(JSC::Wasm::ValueLocation::reg const): Deleted.
(JSC::Wasm::ValueLocation::gpr const): Deleted.
- wasm/js/JSToWasm.cpp:
(JSC::Wasm::marshallJSResult):
(JSC::Wasm::createJSToWasmWrapper):
- wasm/js/WasmToJS.cpp:
(JSC::Wasm::wasmToJS):
- wasm/js/WebAssemblyFunction.cpp:
(JSC::WebAssemblyFunction::previousInstanceOffset const):
(JSC::WebAssemblyFunction::jsCallEntrypointSlow):
- wasm/js/WebAssemblyGlobalConstructor.cpp:
(JSC::JSC_DEFINE_HOST_FUNCTION):
- wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::initializeExports):
- wtf/PlatformEnable.h: enable WebAssembly on ARMv7.
- Scripts/run-jsc-stress-tests: allow to run the wasm tests on
armv7 even without jit support (for now).
Canonical link: https://commits.webkit.org/251455@main
- 1:04 AM Changeset in webkit [295448] by
-
- 8 edits2 adds in trunk
REGRESSION: CSS scroll-behavior: smooth with overflow: hidden breaks JS scrollTo/scrollLeft/scrollTop
https://bugs.webkit.org/show_bug.cgi?id=238497
<rdar://90990040>
Reviewed by Simon Fraser.
Add scrollable area to frame view's list of scrollable areas if necessary in scrollToOffset.
This is necessary as Document::runScrollSteps() looks through the list of scrollable areas
to service animations on the scrollable area. It is necessary to add the scrollable area
in scrollToOffset as for a scrollable area that is not user scrollable (such as a scrollable
area with overflow: hidden) it would not be added, so the animation would not occur.
- LayoutTests/fast/scrolling/smooth-scroll-with-overflow-hidden-expected.txt: Added.
- LayoutTests/fast/scrolling/smooth-scroll-with-overflow-hidden.html: Added.
- Source/WebCore/page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::absoluteEventTrackingRegionsForFrame const):
- Source/WebCore/platform/ScrollableArea.h:
(WebCore::ScrollableArea::isVisibleToHitTesting const):
- Source/WebCore/rendering/RenderLayerScrollableArea.cpp:
(WebCore::RenderLayerScrollableArea::clear):
(WebCore::RenderLayerScrollableArea::scrollToOffset):
(WebCore::RenderLayerScrollableArea::isVisibleToHitTesting const):
(WebCore::RenderLayerScrollableArea::updateScrollableAreaSet):
(WebCore::RenderLayerScrollableArea::registerScrollableArea):
- Source/WebCore/rendering/RenderLayerScrollableArea.h:
Canonical link: https://commits.webkit.org/251454@main
Jun 9, 2022:
- 11:29 PM Changeset in webkit [295447] by
-
- 3 edits2 adds in trunk
Add EnumeratedArray type
https://bugs.webkit.org/show_bug.cgi?id=241451
Reviewed by Cameron McCormack.
This is an std::array where the indices of the array are values of an enum (rather than a size_t).
This assumes the values of the enum start at 0 and monotonically increase by 1
(so the conversion function between size_t and the enum is just a simple static_cast).
EnumeratedArray includes almost all of the functions from std::array, except for a few which I
intentionally omitted.
- Source/WTF/WTF.xcodeproj/project.pbxproj:
- Source/WTF/wtf/EnumeratedArray.h: Added.
(WTF::EnumeratedArray::EnumeratedArray):
(WTF::EnumeratedArray::operator=):
(WTF::EnumeratedArray::at):
(WTF::EnumeratedArray::at const):
(WTF::EnumeratedArray::operator[]):
(WTF::EnumeratedArray::operator[] const):
(WTF::EnumeratedArray::front):
(WTF::EnumeratedArray::front const):
(WTF::EnumeratedArray::back):
(WTF::EnumeratedArray::back const):
(WTF::EnumeratedArray::fill):
(WTF::EnumeratedArray::operator== const):
(WTF::EnumeratedArray::operator!= const):
(WTF::EnumeratedArray::operator< const):
(WTF::EnumeratedArray::operator<= const):
(WTF::EnumeratedArray::operator> const):
(WTF::EnumeratedArray::operator>= const):
(WTF::EnumeratedArray::index):
- Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- Tools/TestWebKitAPI/Tests/WTF/EnumeratedArray.cpp: Added.
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251453@main
- 11:25 PM Changeset in webkit [295446] by
-
- 22 edits2 adds2 deletes in trunk
AX: Update the isolated tree in response to dynamic changes to aria-live, aria-relevant, and aria-atomic
https://bugs.webkit.org/show_bug.cgi?id=241444
Reviewed by Chris Fleizach.
With this patch, we now update the isolated tree in response to dynamic
aria-live, aria-relevant, and aria-atomic changes.
This patch also makes liveRegionStatus, liveRegionRelevant, and
liveRegionAtomic work on node-only objects (like those with display:contents).
- LayoutTests/accessibility/aria-busy-updates-after-dynamic-change-expected.txt: Removed.
- LayoutTests/accessibility/aria-busy-updates-after-dynamic-change.html: Removed.
- LayoutTests/accessibility/live-region-attributes-update-after-dynamic-change-expected.txt: Added.
- LayoutTests/accessibility/live-region-attributes-update-after-dynamic-change.html: Added.
- LayoutTests/platform/glib/TestExpectations:
- LayoutTests/platform/ios/TestExpectations:
- LayoutTests/platform/win/TestExpectations:
- 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/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::liveRegionStatus const):
(WebCore::AccessibilityNodeObject::liveRegionRelevant const):
(WebCore::AccessibilityNodeObject::liveRegionAtomic const):
- Source/WebCore/accessibility/AccessibilityNodeObject.h:
- Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::liveRegionStatus const): Deleted.
(WebCore::AccessibilityRenderObject::liveRegionRelevant const): Deleted.
(WebCore::AccessibilityRenderObject::liveRegionAtomic const): Deleted.
- Source/WebCore/accessibility/AccessibilityRenderObject.h:
- Source/WebCore/accessibility/atspi/AXObjectCacheAtspi.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
- Tools/DumpRenderTree/AccessibilityUIElement.cpp:
(getLiveRegionRelevantCallback):
(getLiveRegionStatusCallback):
(getIsAtomicLiveRegionCallback):
(AccessibilityUIElement::getJSClass):
- Tools/DumpRenderTree/AccessibilityUIElement.h:
- Tools/DumpRenderTree/ios/AccessibilityUIElementIOS.mm:
(AccessibilityUIElement::liveRegionRelevant const):
(AccessibilityUIElement::liveRegionStatus const):
(AccessibilityUIElement::isAtomicLiveRegion const):
- Tools/DumpRenderTree/win/AccessibilityUIElementWin.cpp
(AccessibilityUIElement::liveRegionRelevant const):
(AccessibilityUIElement::liveRegionStatus const):
(AccessibilityUIElement::isAtomicLiveRegion const):
- Tools/DumpRenderTree/mac/AccessibilityUIElementMac.mm:
(AccessibilityUIElement::liveRegionRelevant const):
(AccessibilityUIElement::liveRegionStatus const):
(AccessibilityUIElement::isAtomicLiveRegion const):
- Tools/WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
- Tools/WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
- Tools/WebKitTestRunner/InjectedBundle/ios/AccessibilityUIElementIOS.mm:
(WTR::AccessibilityUIElement::liveRegionRelevant const):
(WTR::AccessibilityUIElement::liveRegionStatus const):
(WTR::AccessibilityUIElement::isAtomicLiveRegion const):
- Tools/WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::AccessibilityUIElement::liveRegionStatus const):
(WTR::AccessibilityUIElement::liveRegionRelevant const):
(WTR::AccessibilityUIElement::isAtomicLiveRegion const):
- Tools/WebKitTestRunner/InjectedBundle/atspi/AccessibilityUIElementAtspi.cpp
- Tools/WebKitTestRunner/InjectedBundle/win/AccessibilityUIElementWin.cpp
Canonical link: https://commits.webkit.org/251452@main
- 9:58 PM Changeset in webkit [295445] by
-
- 1 edit in trunk/Source/WebKit/NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm
Revert r295422
https://bugs.webkit.org/show_bug.cgi?id=241502
Unreviewed, revert r295422.
- Source/WebKit/NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm:
(WebKit::LaunchServicesDatabaseObserver::LaunchServicesDatabaseObserver):
(WebKit::LaunchServicesDatabaseObserver::startObserving):
(WebKit::LaunchServicesDatabaseObserver::~LaunchServicesDatabaseObserver):
(WebKit::hasSystemContentDatabase): Deleted.
Canonical link: https://commits.webkit.org/251451@main
- 8:08 PM Changeset in webkit [295444] by
-
- 3 edits in trunk/Source/WebCore
computeUnderlineOffset should not take TextRun
https://bugs.webkit.org/show_bug.cgi?id=241471
Reviewed by Antti Koivisto.
This is in preparation for taking visual overflow for decoration into account in IFC.
- Source/WebCore/rendering/TextDecorationPainter.cpp:
(WebCore::TextDecorationPainter::paintBackgroundDecorations):
- Source/WebCore/style/InlineTextBoxStyle.cpp:
(WebCore::computeUnderlineOffset):
(WebCore::visualOverflowForDecorations):
- Source/WebCore/style/InlineTextBoxStyle.h:
Canonical link: https://commits.webkit.org/251450@main
- 8:06 PM Changeset in webkit [295443] by
-
- 46 edits9 copies2 moves11 adds in trunk
[Payment Request] upstream new features
https://bugs.webkit.org/show_bug.cgi?id=241389
<rdar://problem/94581707>
Reviewed by Tim Horton.
- Source/WTF/wtf/PlatformHave.h:
- Source/WTF/wtf/PlatformEnableCocoa.h:
Add new flags.
- Source/WebCore/Modules/applepay/ApplePayPaymentTiming.idl:
- Source/WebCore/Modules/applepay/ApplePayPaymentTiming.h:
- Source/WebCore/Modules/applepay/ApplePayLineItem.idl:
- Source/WebCore/Modules/applepay/ApplePayLineItem.h:
(WebCore::ApplePayLineItem::encode const):
(WebCore::ApplePayLineItem::decode):
- Source/WebCore/Modules/applepay/PaymentSummaryItems.h:
- Source/WebCore/Modules/applepay/cocoa/PaymentSummaryItemsCocoa.mm:
(WebCore::platformAutomaticReloadSummaryItem): Added.
(WebCore::platformSummaryItem):
Add a new line item type for automatic reload (i.e. "charge when balance drops low enough").
- Source/WebCore/Modules/applepay/ApplePayRecurringPaymentRequest.idl: Added.
- Source/WebCore/Modules/applepay/ApplePayRecurringPaymentRequest.h: Added.
(WebCore::ApplePayRecurringPaymentRequest::encode const):
(WebCore::ApplePayRecurringPaymentRequest::decode):
- Source/WebKit/Shared/ApplePay/RecurringPaymentRequest.h: Added.
- Source/WebKit/Shared/ApplePay/cocoa/RecurringPaymentRequestCocoa.mm: Added.
(WebKit::platformRecurringPaymentRequest):
Add additional details for configuring a recurring payment.
- Source/WebCore/Modules/applepay/ApplePayAutomaticReloadPaymentRequest.idl: Added.
- Source/WebCore/Modules/applepay/ApplePayAutomaticReloadPaymentRequest.h: Added.
(WebCore::ApplePayAutomaticReloadPaymentRequest::encode const):
(WebCore::ApplePayAutomaticReloadPaymentRequest::decode):
- Source/WebKit/Shared/ApplePay/AutomaticReloadPaymentRequest.h: Added.
- Source/WebKit/Shared/ApplePay/cocoa/AutomaticReloadPaymentRequestCocoa.mm: Added.
(WebKit::platformAutomaticReloadPaymentRequest):
Add additional details for configuring an automatic reload payment.
- Source/WebCore/Modules/applepay/ApplePayPaymentTokenContext.idl: Added.
- Source/WebCore/Modules/applepay/ApplePayPaymentTokenContext.h: Added.
(WebCore::ApplePayPaymentTokenContext::encode const):
(WebCore::ApplePayPaymentTokenContext::decode):
- Source/WebKit/Shared/ApplePay/PaymentTokenContext.h: Added.
- Source/WebKit/Shared/ApplePay/cocoa/PaymentTokenContextCocoa.mm: Added.
(WebKit::toDecimalNumber):
(WebKit::platformPaymentTokenContext):
(WebKit::platformPaymentTokenContexts):
Add additional details for configuring a multi-merchant payment (i.e. booking a vacation online
often aggregates multiple separate things (e.g. car, flights, hotel, etc.) into a single purchase).
- Source/WebCore/Modules/applepay/ApplePayPaymentOrderDetails.idl: Added.
- Source/WebCore/Modules/applepay/ApplePayPaymentOrderDetails.h: Added.
(WebCore::ApplePayPaymentOrderDetails::encode const):
(WebCore::ApplePayPaymentOrderDetails::decode):
Add additional details after a payment is complete for saving order details to iOS/macOS Wallet.
- Source/WebCore/Modules/applepay/ApplePayPaymentRequest.idl:
- Source/WebCore/Modules/applepay/ApplePayPaymentRequest.h:
- Source/WebKit/Shared/Cocoa/WebCoreArgumentCodersCocoa.mm:
(IPC::ArgumentCoder<WebCore::ApplePaySessionPaymentRequest>::encode):
(IPC::ArgumentCoder<WebCore::ApplePaySessionPaymentRequest>::decode):
- Source/WebCore/Modules/applepay/ApplePaySession.cpp:
(WebCore::convertAndValidate):
(WebCore::merge): Deleted.
- Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
(WebCore::ApplePayPaymentHandler::show):
(WebCore::ApplePayPaymentHandler::computeShippingMethods const):
(WebCore::validate):
(WebCore::ApplePayPaymentHandler::shippingAddressUpdated):
(WebCore::ApplePayPaymentHandler::shippingOptionUpdated):
(WebCore::ApplePayPaymentHandler::paymentMethodUpdated):
(WebCore::convertAndValidate):
(WebCore::ApplePayPaymentHandler::complete):
(WebCore::merge): Deleted.
- Source/WebCore/Modules/applepay/ApplePaySessionPaymentRequest.h:
(WebCore::ApplePaySessionPaymentRequest::recurringPaymentRequest const): Added.
(WebCore::ApplePaySessionPaymentRequest::setRecurringPaymentRequest): Added.
(WebCore::ApplePaySessionPaymentRequest::automaticReloadPaymentRequest const): Added.
(WebCore::ApplePaySessionPaymentRequest::setAutomaticReloadPaymentRequest): Added.
(WebCore::ApplePaySessionPaymentRequest::multiTokenContexts const): Added.
(WebCore::ApplePaySessionPaymentRequest::setMultiTokenContexts): Added.
- Source/WebCore/Modules/applepay/ApplePayDetailsUpdateBase.idl:
- Source/WebCore/Modules/applepay/ApplePayDetailsUpdateBase.h:
(WebCore::ApplePayDetailsUpdateBase::encode const):
(WebCore::ApplePayDetailsUpdateBase::decodeBase):
- Source/WebCore/Modules/applepay/paymentrequest/ApplePayModifier.h:
- Source/WebCore/Modules/applepay/paymentrequest/ApplePayModifier.idl:
- Source/WebCore/Modules/applepay/ApplePayPaymentAuthorizationResult.idl:
- Source/WebCore/Modules/applepay/ApplePayPaymentAuthorizationResult.h:
(WebCore::ApplePayPaymentAuthorizationResult::encode const):
(WebCore::ApplePayPaymentAuthorizationResult::decode):
- Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentCompleteDetails.idl:
- Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentCompleteDetails.h:
(WebCore::ApplePayPaymentCompleteDetails::encode const):
(WebCore::ApplePayPaymentCompleteDetails::decode):
- Source/WebKit/Platform/cocoa/PaymentAuthorizationPresenter.mm:
(WebKit::PaymentAuthorizationPresenter::completePaymentMethodSelection):
(WebKit::PaymentAuthorizationPresenter::completePaymentSession):
(WebKit::PaymentAuthorizationPresenter::completeShippingContactSelection):
(WebKit::PaymentAuthorizationPresenter::completeShippingMethodSelection):
(WebKit::PaymentAuthorizationPresenter::completeCouponCodeChange):
(WebKit::merge): Deleted.
- Source/WebKit/Shared/ApplePay/cocoa/WebPaymentCoordinatorProxyCocoa.mm:
(WebKit::WebPaymentCoordinatorProxy::platformPaymentRequest):
(WebKit::merge): Deleted.
- Source/WebKit/Platform/cocoa/WKPaymentAuthorizationDelegate.h:
- Source/WebKit/Platform/cocoa/WKPaymentAuthorizationDelegate.mm:
(-[WKPaymentAuthorizationDelegate completePaymentSession:errors:orderDetails:]): Added.
Pipe the above from the WebProcess to the UIProcess (to PassKit).
- Source/WebCore/PAL/pal/cocoa/PassKitSoftLink.h:
- Source/WebCore/PAL/pal/cocoa/PassKitSoftLink.mm:
- Source/WebCore/PAL/pal/spi/cocoa/PassKitSPI.h:
Handle new PassKit symbols for the above.
- Source/WebCore/Modules/applepay/cocoa/PaymentAPIVersionCocoa.mm:
(WebCore::PaymentAPIVersion::current):
Use new flags for the new version.
- Source/WebCore/DerivedSources.make:
- Source/WebCore/DerivedSources-input.xcfilelist:
- Source/WebCore/DerivedSources-output.xcfilelist:
- Source/WebCore/PlatformMac.cmake:
- Source/WebCore/SourcesCocoa.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebKit/SourcesCocoa.txt:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
- Source/WebCore/testing/MockPaymentCoordinator.h:
- Source/WebCore/testing/MockPaymentCoordinator.idl:
- Source/WebCore/testing/MockPaymentCoordinator.cpp:
(WebCore::MockPaymentCoordinator::showPaymentUI):
(WebCore::MockPaymentCoordinator::completeShippingMethodSelection):
(WebCore::MockPaymentCoordinator::completeShippingContactSelection):
(WebCore::MockPaymentCoordinator::completePaymentMethodSelection):
(WebCore::MockPaymentCoordinator::completeCouponCodeChange):
(WebCore::MockPaymentCoordinator::merge): Deleted.
- LayoutTests/http/tests/paymentrequest/ApplePayModifier-automaticReloadPaymentRequest.https.html: Added.
- LayoutTests/http/tests/paymentrequest/ApplePayModifier-automaticReloadPaymentRequest.https-expected.txt: Added.
- LayoutTests/http/tests/paymentrequest/ApplePayModifier-multiTokenContexts.https.html: Added.
- LayoutTests/http/tests/paymentrequest/ApplePayModifier-multiTokenContexts.https-expected.txt: Added.
- LayoutTests/http/tests/paymentrequest/ApplePayModifier-recurringPaymentRequest.https.html: Added.
- LayoutTests/http/tests/paymentrequest/ApplePayModifier-recurringPaymentRequest.https-expected.txt: Added.
- LayoutTests/http/tests/paymentrequest/ApplePayPaymentCompleteDetails-orderDetails.https.html: Added.
- LayoutTests/http/tests/paymentrequest/ApplePayPaymentCompleteDetails-orderDetails.https-expected.txt: Added.
- LayoutTests/platform/ios-wk2/TestExpectations:
- LayoutTests/platform/mac-wk2/TestExpectations:
- Source/WebKit/Shared/mac/PasteboardTypes.mm:
- Source/WebKit/Shared/mac/ScrollingAccelerationCurveMac.mm:
Drive-by: Unified sources fixes.
Canonical link: https://commits.webkit.org/251449@main
- 5:31 PM Changeset in webkit [295442] by
-
- 1 edit in trunk/Source/WebKit/NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm
Build fix after r295422
https://bugs.webkit.org/show_bug.cgi?id=241494
Unreviewed, build fix.
- Source/WebKit/NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm:
Canonical link: https://commits.webkit.org/251448@main
- 5:14 PM Changeset in webkit [295441] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
[ iOS Debug ] ASSERTION FAILED: Attempt to access post layout data before receiving it on editing/editable-region/fixed-and-absolute-contenteditable-scrolled.html
https://bugs.webkit.org/show_bug.cgi?id=237541
rdar://89918871
Reviewed by Simon Fraser.
After the changes in r289876, this test started sometimes hitting an assertion when run immediately
afterediting/deleting/ios/backspace-last-character.html
. By eliminating a sync IPC call to the
web content process when requesting autocorrection information, UIKit now requests selection-caret-
relative character information slightly earlier than it previously did when dismissing the keyboard,
which may occur after we've received an editor state update after blurring the focused element, but
before we've received post-layout data.
In this scenario, we already know that the focused element has been blurred and the selection is no
longer editable, so once the post-layout data does arrive, it would contain0
for all of the
characters close to the selection caret.
As such, we can simply return 0 early before attempting to access post-layout data if the selection
is not a caret in editable content, since all of the relevant post-layout data members
(characterAfterSelection
,characterBeforeSelection
andtwoCharacterBeforeSelection
) are going
to be 0 anyways.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _characterInRelationToCaretSelection:]):
Canonical link: https://commits.webkit.org/251447@main
- 4:43 PM Changeset in webkit [295440] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm
[Cocoa] TestWebKitAPI.MediaLoading.CaptivePortalHLS times out
https://bugs.webkit.org/show_bug.cgi?id=241476
rdar://93270049
Reviewed by Jer Noble.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/MediaLoading.mm:
(TestWebKitAPI::TEST): Return early if the SPI used for captive portal mode is not
implemented.
Canonical link: https://commits.webkit.org/251446@main
- 4:12 PM Changeset in webkit [295439] by
-
- 2 edits in trunk/Source/WebCore/platform/graphics
[iOS] iPhone fullscreen captions are sometimes duplicated
https://bugs.webkit.org/show_bug.cgi?id=241464
rdar://94261522
Reviewed by Jer Noble.
Clear the text track representation when the video layer is cleared.
- Source/WebCore/platform/graphics/avfoundation/objc/VideoLayerManagerObjC.mm:
(WebCore::VideoLayerManagerObjC::didDestroyVideoLayer): Clear the text track representation.
- Source/WebCore/platform/graphics/cocoa/TextTrackRepresentationCocoa.mm:
(WebCore::TextTrackRepresentationCocoa::TextTrackRepresentationCocoa): Name the text
track representation layer to aid debugging in the future.
Canonical link: https://commits.webkit.org/251445@main
- 2:45 PM Changeset in webkit [295438] by
-
- 32 edits3 adds1 delete in trunk
[Modern Media Controls] upstream new features
https://bugs.webkit.org/show_bug.cgi?id=241390
<rdar://problem/94581729>
Reviewed by Eric Carlson.
- Source/WebCore/Modules/modern-media-controls/controls/inline-media-controls.js:
(InlineMediaControls.prototype.layout):
(InlineMediaControls.prototype.topLeftContainerButtons): Renamed from_topLeftContainerButtons
.
(InlineMediaControls.prototype.leftContainerButtons): Renamed from_leftContainerButtons
.
(InlineMediaControls.prototype.centerContainerButtons): Renamed from_centerContainerButtons
.
(InlineMediaControls.prototype.rightContainerButtons): Renamed from_rightContainerButtons
.
(InlineMediaControls.prototype.droppableButtons): Renamed from_droppableButtons
.
(InlineMediaControls.prototype.collapsableButtons): Renamed from_collapsableButtons
.
Move these methods into// Protected
so subclasses can override.
- Source/WebCore/Modules/modern-media-controls/controls/ios-inline-media-controls.js:
(IOSInlineMediaControls.prototype.layout): Added.
(IOSInlineMediaControls.prototype.centerContainerButtons): Added.
(IOSInlineMediaControls.prototype.leftContainerButtons): Added.
(IOSInlineMediaControls.prototype.droppableButtons): Added.
(IOSInlineMediaControls.prototype.get _shouldUseMultilineLayout): Added.
- Source/WebCore/Modules/modern-media-controls/controls/ios-inline-media-controls.css: Added.
(.media-controls.inline.ios:not(.audio)):
(.media-controls.inline.ios:not(.audio):is(:empty, .faded)):
(.media-controls.inline.ios:not(.audio) *):
(.media-controls.inline.ios:not(.audio) > .controls-bar:is(.top-left, .top-right)):
(.media-controls.inline.ios:not(.audio) > .controls-bar.center):
Only use the new UI for<video>
.
- Source/WebCore/Modules/modern-media-controls/controls/slider.js:
(Slider):
(Slider.prototype.get allowsRelativeScrubbing): Added.
(Slider.prototype.set allowsRelativeScrubbing): Added.
(Slider.prototype.handleEvent):
(Slider.prototype._handlePointerdownEvent):
(Slider.prototype._handlePointermoveEvent): Added.
(Slider.prototype._handlePointerupEvent):
(Slider.prototype._playbackProgress): Added.
(Slider.prototype._valueWillStartChanging): Deleted.
(Slider.prototype._valueDidStopChanging): Deleted.
- Source/WebCore/Modules/modern-media-controls/controls/slider.css:
(.slider.allows-relative-scrubbing > .custom-slider): Added.
(.slider.allows-relative-scrubbing > .custom-slider.changing): Added.
(.slider.allows-relative-scrubbing > .custom-slider > .fill): Added.
(.slider.allows-relative-scrubbing > .custom-slider.changing > .fill.primary): Added.
(.slider.allows-relative-scrubbing > .custom-slider.changing > .fill.track): Added.
(.slider.allows-relative-scrubbing > .custom-slider.changing > .fill.secondary): Added.
(.slider.allows-relative-scrubbing > input): Added.
(.ios .slider > input):
(.ios .slider:not(.allows-relative-scrubbing) > input): Added.
- Source/WebCore/Modules/modern-media-controls/controls/adwaita-fullscreen-media-controls.js:
(AdwaitaFullscreenMediaControls):
- Source/WebCore/Modules/modern-media-controls/controls/adwaita-inline-media-controls.js:
(AdwaitaInlineMediaControls):
- Source/WebCore/Modules/modern-media-controls/controls/macos-fullscreen-media-controls.js:
(MacOSFullscreenMediaControls):
- Source/WebCore/Modules/modern-media-controls/controls/macos-inline-media-controls.js:
(MacOSInlineMediaControls):
- Source/WebCore/Modules/modern-media-controls/controls/time-control.js:
(TimeControl):
Allow the user to use relative scrubbing instead of having to exactly tap/drag on the knob.
- Source/WebCore/Modules/modern-media-controls/controls/ios-layout-traits.js:
(IOSLayoutTraits.prototype.skipDuration):
Change to 10s.
- Source/WebCore/Modules/modern-media-controls/controls/overflow-button.js:
(OverflowButton):
- Source/WebCore/Modules/modern-media-controls/controls/layout-traits.js:
(LayoutTraits.prototype.overflowButtonHasCircle): Deleted.
- Source/WebCore/Modules/modern-media-controls/controls/icon-service.js:
- Source/WebCore/Modules/modern-media-controls/images/iOS/Overflow.svg:
- Source/WebCore/Modules/modern-media-controls/images/iOS/OverflowCircle.svg: Removed.
Update iOS overflow button icon.
- Source/WebCore/CMakeLists.txt:
- Source/WebCore/DerivedSources-input.xcfilelist:
- Source/WebCore/DerivedSources.make:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled.html:
- LayoutTests/fast/mediastream/MediaStream-video-element-video-tracks-disabled-expected.html:
- LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-layout.html:
- LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-layout-expected.txt:
- LayoutTests/media/modern-media-controls/ios-inline-media-controls/touch/ios-inline-media-controls-added-after-play.html:
- LayoutTests/media/modern-media-controls/ios-inline-media-controls/touch/ios-inline-media-controls-added-after-play-expected.txt:
- LayoutTests/media/modern-media-controls/ios-inline-media-controls/touch/ios-inline-media-controls-shows-start-button.html:
- LayoutTests/media/modern-media-controls/skip-back-button/skip-back-button.html:
- LayoutTests/media/modern-media-controls/skip-back-button/skip-back-button-expected.txt:
- LayoutTests/media/modern-media-controls/skip-forward-button/skip-forward-button.html:
- LayoutTests/media/modern-media-controls/skip-forward-button/skip-forward-button-expected.txt:
- LayoutTests/media/modern-media-controls/slider/slider-constructor.html:
- LayoutTests/media/modern-media-controls/slider/slider-styles.html:
- LayoutTests/media/modern-media-controls/slider/slider-value.html:
- LayoutTests/platform/ios/media/track/track-css-visible-stroke-expected.html: Added.
Canonical link: https://commits.webkit.org/251444@main
- 2:41 PM Changeset in webkit [295437] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/HSTS.mm
REGRESSION: [iOS] TestWebKitAPI.HSTS.ThirdParty is consistely failing
https://bugs.webkit.org/show_bug.cgi?id=241342
Reviewed by Kate Cheney.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/HSTS.mm:
(TestWebKitAPI::hstsWebViewAndDelegate):
(TestWebKitAPI::TEST):
Canonical link: https://commits.webkit.org/251443@main
- 2:36 PM Changeset in webkit [295436] by
-
- 1 edit in trunk/Source/WebCore/html/HTMLInputElement.cpp
Fix invalid isInShadowRoot flag during input element removal
https://bugs.webkit.org/show_bug.cgi?id=241470
Reviewed by Ryosuke Niwa.
Style invalidation of input elements might rely on whether the element
is in the shadow tree, but during node removal the isInShadowRoot flag
might not be up-to-date. Ensure that the flag is updated by
letting Node::removedFromAncestor() be called up first in the
HTMLInputNode::removedFromAncestor() implementation, before
doing anything else with the node post-removal.
- Source/WebCore/html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::removedFromAncestor):
Canonical link: https://commits.webkit.org/251442@main
- 2:34 PM Changeset in webkit [295435] by
-
- 5 edits2 deletes in trunk/Source/WebKit
Remove _WKWebsiteDataStore
https://bugs.webkit.org/show_bug.cgi?id=241387
Reviewed by Brady Eidson.
- Source/WebKit/SourcesCocoa.txt:
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration ALLOW_DEPRECATED_IMPLEMENTATIONS_END]): Deleted.
(-[WKWebViewConfiguration _setWebsiteDataStore:]): Deleted.
- Source/WebKit/UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
- Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStore.mm: Removed.
- Source/WebKit/UIProcess/API/Cocoa/_WKWebsiteDataStoreInternal.h: Removed.
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251441@main
- 1:54 PM Changeset in webkit [295434] by
-
- 1 edit in trunk/Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm
Add missing include in ScreenCaptureKitCaptureSource.mm
https://bugs.webkit.org/show_bug.cgi?id=241479
<rdar://94747956>
Patch by Youssef Soliman <youssefdevelops@gmail.com> on 2022-06-09
Reviewed by Wenson Hsieh and Eric Carlson.
ScreenCaptureKitCaptureSource was missing the declaration for
CGDisplayModeGetPixelsWide and CGDisplayModeGetPixelsHigh which are
defined in <pal/spi/cg/CoreGraphicsSPI.h>, this was causing build failures
if the build order happened to change.
- Source/WebCore/platform/mediastream/mac/ScreenCaptureKitCaptureSource.mm:
Canonical link: https://commits.webkit.org/251440@main
- 1:42 PM Changeset in webkit [295433] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm
REGRESSION(r292365): [ iOS ] TestWebKitAPI.GPUProcess.CanvasBasicCrashHandling is a constant failure on iOS
https://bugs.webkit.org/show_bug.cgi?id=239303
<rdar://problem/91715705>
Reviewed by Simon Fraser.
The test has been passing when running it locally. This should be fixed by other
changes so re-enable this api-test.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/GPUProcess.mm:
(TEST):
Canonical link: https://commits.webkit.org/251439@main
- 1:30 PM Changeset in webkit [295432] by
-
- 2 edits in trunk/Source
Upstream linkage of ApplePushService
https://bugs.webkit.org/show_bug.cgi?id=241473
Reviewed by Wenson Hsieh.
- Source/WTF/wtf/PlatformHave.h:
- Source/WebKit/Configurations/WebKit.xcconfig:
Canonical link: https://commits.webkit.org/251438@main
- 1:13 PM Changeset in webkit [295431] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm
Multisampling does not work on MTLGPUFamilyApple2 devices when using ANGLE Metal
https://bugs.webkit.org/show_bug.cgi?id=241456
<rdar://problem/90949957>
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-06-09
Reviewed by Dean Jackson.
Use OpenGL ES for WebGL for devices prior to MTLGPUFamilyApple3.
WebGL2 already was running OpenGL ES for these devices for different reasons.
The multisample codepath is not implemented for Apple2 which
does not support MTLStoreActionStoreAndMultisampleResolve.
- Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm:
(WebCore::platformSupportsMetal):
(WebCore::GraphicsContextGLCocoa::platformInitializeContext):
Canonical link: https://commits.webkit.org/251437@main
- 12:26 PM Changeset in webkit [295430] by
-
- 1 edit in trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp
Need to check the context wasn't lost in WebGL2RenderingContext::readBuffer()
https://bugs.webkit.org/show_bug.cgi?id=241477
<rdar://94289317>
Patch by Antoine Quint <Antoine Quint> on 2022-06-09
Reviewed by Dean Jackson.
All other APIs exposed on WebGL2RenderingContext are guarded by isContextLostOrPending()
checks, and readBuffer() should be no exception.
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::readBuffer):
Canonical link: https://commits.webkit.org/251436@main
- 12:25 PM Changeset in webkit [295429] by
-
- 1 edit2 adds in trunk
TextureMtl.mm:108 (GetLayerMipIndex): \t! Unreachable reached
https://bugs.webkit.org/show_bug.cgi?id=240790
Reviewed by Darin Adler
Check texture valid before use.
- Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_resources.mm:
(rx::mtl::Texture::MakeTexture):
Canonical link: https://commits.webkit.org/251435@main
- 12:05 PM Changeset in webkit [295428] by
-
- 1 edit1 add in trunk
jsc's settimeout should properly handle a delay
https://bugs.webkit.org/show_bug.cgi?id=240467
Reviewed by Yusuke Suzuki.
This patch makes it so that we properly handle a timeout passed to the JSC CLI setTimeout API. Previously we would just run the callback on the next runloop tick regardless of the passed value.
- Source/JavaScriptCore/jsc.cpp:
(JSC_DEFINE_HOST_FUNCTION):
Canonical link: https://commits.webkit.org/251434@main
- 11:57 AM Changeset in webkit [295427] by
-
- 1 edit in trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm
Unreviewed, fix the internal iOS build
Add a missing header include (due to source unification order).
- Source/WebKit/UIProcess/WebAuthentication/Cocoa/WebAuthenticatorCoordinatorProxy.mm:
Canonical link: https://commits.webkit.org/251433@main
- 11:35 AM Changeset in webkit [295426] by
-
- 7 edits in trunk
Regression(r283217) : [ iOS 15 ] media/track/track-forced-subtitles-in-band.html is failing
https://bugs.webkit.org/show_bug.cgi?id=231333
rdar://83955154
Reviewed by Jer Noble.
- LayoutTests/media/track/track-forced-subtitles-in-band-expected.txt: Update.
- LayoutTests/media/track/track-forced-subtitles-in-band.html: Ditto.
- LayoutTests/media/video-test.js: Make waitForEventWithTimeout return a Promise rejection when it times out so failures can be caught.
- LayoutTests/platform/ios-wk2/TestExpectations: Remove updated test.
- LayoutTests/platform/mac/TestExpectations: Ditto.
- Source/WebCore/html/track/TextTrackCueGeneric.cpp: Add more logging to help future debugging.
- Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Ditto.
Canonical link: https://commits.webkit.org/251432@main
- 11:21 AM Changeset in webkit [295425] by
-
- 11 edits2 adds in trunk
convertingToLengthRequiresNonNullStyle needs to consider calc values
https://bugs.webkit.org/show_bug.cgi?id=241452
Reviewed by Antti Koivisto.
- LayoutTests/fast/css/matrix-translate-calc-units.html: Added.
- Source/WebCore/css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::convertingToLengthRequiresNonNullStyle const):
(WebCore::CSSPrimitiveValue::convertToLength const):
- Source/WebCore/css/TransformFunctions.cpp:
- Source/WebCore/css/calc/CSSCalcExpressionNode.h:
- Source/WebCore/css/calc/CSSCalcInvertNode.h:
- Source/WebCore/css/calc/CSSCalcNegateNode.h:
- Source/WebCore/css/calc/CSSCalcOperationNode.cpp:
(WebCore::CSSCalcOperationNode::convertingToLengthRequiresNonNullStyle const):
- Source/WebCore/css/calc/CSSCalcOperationNode.h:
- Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.cpp:
(WebCore::CSSCalcPrimitiveValueNode::convertingToLengthRequiresNonNullStyle const):
- Source/WebCore/css/calc/CSSCalcPrimitiveValueNode.h:
- Source/WebCore/css/calc/CSSCalcValue.cpp:
(WebCore::CSSCalcValue::convertingToLengthRequiresNonNullStyle const):
- Source/WebCore/css/calc/CSSCalcValue.h:
Canonical link: https://commits.webkit.org/251431@main
- 10:50 AM Changeset in webkit [295424] by
-
- 1 edit in trunk/Source/WTF/Scripts/Preferences/WebPreferences.yaml
Add MPEG2 and MP4 Audio to types allowed in Captive Portal mode
https://bugs.webkit.org/show_bug.cgi?id=241447
<rdar://93934656>
Reviewed by Eric Carlson.
Needed for playing back MP2TS streams and AAC audio.
- Source/WTF/Scripts/Preferences/WebPreferences.yaml:
Canonical link: https://commits.webkit.org/251430@main
- 10:20 AM Changeset in webkit [295423] by
-
- 1 edit in trunk/Source/JavaScriptCore/bytecode/Repatch.cpp
Repatch should be able to polymorphic call with arity fixup.
https://bugs.webkit.org/show_bug.cgi?id=240911
Reviewed by Saam Barati.
Right now repatch will emit a virtual call any time it has a case that requires arity fixup. Instead it should just pick the arity fixup entrypoint.
Canonical link: https://commits.webkit.org/251429@main
- 10:16 AM Changeset in webkit [295422] by
-
- 2 edits in trunk/Source
Adopt SPI to get default content of Launch Services database
https://bugs.webkit.org/show_bug.cgi?id=241286
<rdar://64528683>
Reviewed by Geoffrey Garen.
Adopt SPI to get system content of Launch Services database. If this SPI is available,
it will replace the SPI we currently use to retrieve the database in the Network process.
- Source/WebCore/PAL/pal/spi/cocoa/LaunchServicesSPI.h:
- Source/WebKit/NetworkProcess/cocoa/LaunchServicesDatabaseObserver.mm:
(WebKit::LaunchServicesDatabaseObserver::LaunchServicesDatabaseObserver):
(WebKit::LaunchServicesDatabaseObserver::startObserving):
(WebKit::LaunchServicesDatabaseObserver::~LaunchServicesDatabaseObserver):
Canonical link: https://commits.webkit.org/251428@main
- 8:58 AM Changeset in webkit [295421] by
-
- 3 edits in trunk
Replace uses of -webkit-gradient with standard linear-gradient.
https://bugs.webkit.org/show_bug.cgi?id=241066
rdar://94390714
Patch by Ryan Reno <rreno@apple.com> on 2022-06-09
Reviewed by Tim Nguyen.
Replace uses of the -webkit-gradient extension with the standardized
linear-gradient in internal CSS. This doesn't change functionality and
is covered by existing tests of the linear-gradient CSS function.
- Source/WebCore/Modules/mediacontrols/mediaControlsBase.css:
(video::-webkit-media-controls-panel,):
(video::-webkit-media-controls-panel .volume-box,):
(audio::-webkit-media-controls-volume-slider,):
(video::-webkit-media-controls-volume-slider::-webkit-slider-thumb,):
(video::-webkit-media-controls-volume-slider::-webkit-slider-thumb::-webkit-slider-thumb:active,):
(video:-webkit-full-screen::-webkit-media-controls-panel):
(video:-webkit-full-screen::-webkit-media-controls-volume-slider):
- Source/WebCore/html/shadow/meterElementShadow.css:
(div#bar):
(div#value.optimum):
(div#value.suboptimum):
(div#value.even-less-good):
- LayoutTests/fast/dom/HTMLMeterElement/meter-element-markup-expected.txt:
Canonical link: https://commits.webkit.org/251427@main
- 8:07 AM Changeset in webkit [295420] by
-
- 10 edits in trunk/Source/WebKit
Blame content process for media buffers allocated in the GPU Process
https://bugs.webkit.org/show_bug.cgi?id=241455
<rdar://94674194>
Reviewed by Jer Noble.
After copying the media content sent by the content process into a SharedMemory,
we send its SharedMemory's handle back to the content process for it to blame the
content.
Covered by existing tests.
- Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.cpp:
(WebKit::RemoteMediaResourceManager::dataReceived):
- Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.h:
- Source/WebKit/GPUProcess/media/RemoteMediaResourceManager.messages.in:
- Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.cpp:
(WebKit::RemoteSourceBufferProxy::append):
- Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.h:
- Source/WebKit/GPUProcess/media/RemoteSourceBufferProxy.messages.in:
- Source/WebKit/Platform/IPC/SharedBufferReference.cpp:
(IPC::SharedBufferReference::sharedCopy const):
- Source/WebKit/Platform/IPC/SharedBufferReference.h:
- Source/WebKit/WebProcess/GPU/media/RemoteMediaResourceProxy.cpp:
(WebKit::RemoteMediaResourceProxy::dataReceived):
- Source/WebKit/WebProcess/GPU/media/SourceBufferPrivateRemote.cpp:
(WebKit::SourceBufferPrivateRemote::append):
Canonical link: https://commits.webkit.org/251426@main
- 7:08 AM Changeset in webkit [295419] by
-
- 1 edit in trunk/Source/WTF/wtf/text/AtomString.h
[GTK] Ubuntu LTS bot build failed after 251271@main
https://bugs.webkit.org/show_bug.cgi?id=241327
Reviewed by Darin Adler.
- Source/WTF/wtf/text/AtomString.h: Implement missing operator!=(const AtomString& a, ASCIILiteral b).
Canonical link: https://commits.webkit.org/251425@main
- 6:14 AM Changeset in webkit [295418] by
-
- 7 edits in trunk
Correctly resolve queries when container size is affected by a subsequent sibling
https://bugs.webkit.org/show_bug.cgi?id=241457
Reviewed by Alan Bujtas.
We currently only take style changes before the container into account.
This patch changes the query container resolution so that whenever we encounter a query container
we skip the subtree and restart the resolution from the main resolution loop. This way we
can optimize away unnecessary layouts while also handling backward dependencies.
- LayoutTests/imported/w3c/web-platform-tests/css/css-contain/container-queries/sibling-layout-dependency-expected.txt:
- Source/WebCore/dom/Document.cpp:
(WebCore::Document::resolveStyle):
Loop also when there are no style changes to apply but there are unresolved container. In this case we just resume
the style resolution where we left it.
- Source/WebCore/dom/Element.cpp:
(WebCore::Element::invalidateForQueryContainerChange):
Invalidate all descendants when a query container is resized. In practice we ended up computing them all anyway.
- Source/WebCore/style/StyleChange.cpp:
(WebCore::Style::determineChange):
- Source/WebCore/style/StyleChange.h:
Add new Descendants value for when container type or name changes.
- Source/WebCore/style/StyleTreeResolver.cpp:
(WebCore::Style::TreeResolver::computeDescendantsToResolve):
(WebCore::Style::TreeResolver::pushParent):
(WebCore::Style::TreeResolver::popParent):
(WebCore::Style::TreeResolver::resolveComposedTree):
(WebCore::Style::TreeResolver::determineQueryContainerAction):
Use two buckets for unresolved and resolved containers. Use the resolved bucket to avoid
recomputing containers we have resolved already.
(WebCore::Style::TreeResolver::resolve):
Move the containers from the unresolved to resolved bucket in the beginning.
(WebCore::Style::TreeResolver::updateQueryContainer): Deleted.
- Source/WebCore/style/StyleTreeResolver.h:
Canonical link: https://commits.webkit.org/251424@main
- 5:05 AM Changeset in webkit [295417] by
-
- 1 edit in trunk/Source/WebCore/platform/graphics/gtk/SystemFontDatabaseGTK.cpp
REGRESSION(251416@main): Broke GTK...
https://bugs.webkit.org/show_bug.cgi?id=241460
Patch by Philippe Normand <philn@igalia.com> on 2022-06-09
Unreviewed, fix GTK build.
- Source/WebCore/platform/graphics/gtk/SystemFontDatabaseGTK.cpp:
(WebCore::SystemFontDatabase::platformSystemFontShorthandInfo):
Canonical link: https://commits.webkit.org/251423@main
- 4:30 AM Changeset in webkit [295416] by
-
- 1 edit in trunk/Source/JavaScriptCore/llint/LowLevelInterpreter.asm
Don't save CSRs respected by the JIT ABI.
Patch by Geza Lore <Geza Lore> on 2022-06-09
https://bugs.webkit.org/show_bug.cgi?id=241369
Reviewed by Mark Lam.
It is not necessary to save and restore CSRs respected by the JIT ABI on
VM entry/exit. The compiler will preserve them. (r10 and r11 on ARMv7.)
- Source/JavaScriptCore/llint/LowLevelInterpreter.asm:
Canonical link: https://commits.webkit.org/251422@main
- 3:39 AM Changeset in webkit [295415] by
-
- 3 edits in trunk/Source/WebCore/html/canvas
Remove unused code from WebGL2RenderingContext
https://bugs.webkit.org/show_bug.cgi?id=241351
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-09
Also removed unnecessary FALLTHROUGH attributes.
Reviewed by Kimmo Kinnunen.
- Source/WebCore/html/canvas/EXTTextureNorm16.cpp:
(WebCore::EXTTextureNorm16::supported):
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::initializeVertexArrayObjects):
(WebCore::WebGL2RenderingContext::getInternalformatParameter):
(WebCore::WebGL2RenderingContext::getTexParameter):
(WebCore::isRenderableInternalformat): Deleted.
(WebCore::WebGL2RenderingContext::validateTexStorageFuncParameters): Deleted.
(WebCore::WebGL2RenderingContext::baseInternalFormatFromInternalFormat): Deleted.
(WebCore::WebGL2RenderingContext::isIntegerFormat): Deleted.
- Source/WebCore/html/canvas/WebGL2RenderingContext.h:
Canonical link: https://commits.webkit.org/251421@main
- 3:06 AM WebKitEnablingFlatpakClangd edited by
- (diff)
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 usingPacked
does 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::platformDetach
is 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::closeFrontendPageAndWindow
already 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
platformCanAttach
to return false if we no longer have an inspected page, and assert that we have an
inspected page in
platformAttach
since 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_RESIZE
feature flags into a singleUIKIT_RESIZABLE_WINDOWS
flag, 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
WebKit
fromWebKitTestRunner_FRAMEWORKS
for
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
WebKit
toWebKitTestRunner_FRAMEWORKS
introduced 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
Jun 6, 2022:
- 11:57 PM Changeset in webkit [295333] by
-
- 3 edits in trunk/Tools/TestWebKitAPI
Make _WKDataTask.Basic API test more permissive of different number of TCP connections
https://bugs.webkit.org/show_bug.cgi?id=241358
rdar://94322457
Reviewed by Tim Horton.
Since r294757 we call _setPrivacyProxyFailClosedForUnreachableNonMainHosts on most loads
from WKWebView, but _WKDataTask uses NetworkSessionCocoa::dataTaskWithRequest which does not.
On platforms that support the SPI, we now make a different TCP connection because the stream
properties are different so we can't use the same cached connection. This is fine. The test
verifies that the session cookie is sent. An alternative could be to call
_setPrivacyProxyFailClosedForUnreachableNonMainHosts for all _WKDataTask loads, but that would
strangely and unnecessarily block some loads. The mitigation for rdar://problem/92697007 is not
needed in contexts where _WKDataTask is used because those loads can't run JS that then triggers
other loads, and there's also no main document so the algorithm we use in r294757 can't work.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm:
(TEST):
- Tools/TestWebKitAPI/cocoa/HTTPServer.h:
- Tools/TestWebKitAPI/cocoa/HTTPServer.mm:
(TestWebKitAPI::Connection::awaitableSend):
Canonical link: https://commits.webkit.org/251352@main
- 11:52 PM WebKitGTK/2.36.x edited by
- (diff)
- 11:03 PM Changeset in webkit [295332] by
-
- 1 copy in tags/WebKit-7614.1.14.10.12
Tag WebKit-7614.1.14.10.12.
- 10:47 PM Changeset in webkit [295331] by
-
- 1 edit in branches/safari-7614.1.14.10-branch/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm
Cherry-pick r294877. rdar://problem/93834054
Uniform buffer reuse causes flush, creates invalid state
https://bugs.webkit.org/show_bug.cgi?id=240896
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-05-26
Patch by Kyle Piddington.
Reviewed by Kimmo Kinnunen.
A flush during draw setup would leave the render command encoder
not started and render pipeline unset. This would assert in debug
and leak memory with corrupted draws in release.
This would happen for example when uniform buffer pool would run
out of uniform memory. If the pool is maxed out, we flush the
existing rendering to obtain free buffers. After the flush,
we need to re-run the setup.
Test is tracked in bug 240948.
- Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm: (rx::ContextMtl::setupDraw): (rx::ContextMtl::setupDrawImpl):
Canonical link: https://commits.webkit.org/251007@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:47 PM Changeset in webkit [295330] by
-
- 5 edits in branches/safari-7614.1.14.10-branch/Source/WebKit/UIProcess
Cherry-pick r294831. rdar://problem/93656000
Prevent NSAttributedString crashes when AppSSO URLs are provided
https://bugs.webkit.org/show_bug.cgi?id=240739
<rdar://93656000>
Reviewed by Chris Dumez.
When NSAttributedString is used in a sandboxed app, it is prevented from checking in with the
AppSSO plugin manager, causing a Sandbox Violation and crash. We don't want NSAttributedString
to ever hand-off to AppSSO, so we should configure it's internal WKWebView to do the right thing.
Reviewed by Chris Dumez.
- Source/WebKit/UIProcess/API/Cocoa/NSAttributedString.mm: (+[_WKAttributedStringWebViewCache configuration]): Turn off AppSSO for string uses.
- Source/WebKit/UIProcess/Cocoa/NavigationState.mm: (WebKit::trySOAuthorization): Use new lazy loading approach.
- Source/WebKit/UIProcess/WebPageProxy.cpp: (WebKit::trySOAuthorization): Ditto.
- Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.cpp: (WebKit::WebsiteDataStore::WebsiteDataStore): (WebKit::WebsiteDataStore::soAuthorizationCoordinator): Lazily initialize, and RELEASE_ASSERT if we somehow reach this code without enabling AppSSO.
- Source/WebKit/UIProcess/WebsiteData/WebsiteDataStore.h: (WebKit::WebsiteDataStore::soAuthorizationCoordinator): Deleted.
Canonical link: https://commits.webkit.org/250981@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294831 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:47 PM Changeset in webkit [295329] by
-
- 8 edits2 adds in branches/safari-7614.1.14.10-branch
Cherry-pick r294186. rdar://problem/93805727
Infinite recursion caused by call to accessibilityIsIgnored in the midst of AccessibilityObject::ignoredFromModalPresence
https://bugs.webkit.org/show_bug.cgi?id=240365
Reviewed by Chris Fleizach.
Source/WebCore:
We can get infinite recursion when accessibilityIsIgnored is called as
part of computing AccessibilityObject::ignoredFromModalPresence. One
example of such a cycle:
AXObjectCache::currentModalNode() ->
AccessibilityRenderObject::computeAccessibilityIsIgnored() ->
AccessibilityRenderObject::parentObjectUnignored() ->
AccessibilityObject::accessibilityIsIgnored() ->
AccessibilityObject::ignoredFromModalPresence() ->
AXObjectCache::currentModalNode() ->
...repeat...
This patch fixes this by tracking when we start computing the current
modal node in the AXObjectCache. Then, in AccessibilityObject::accessibilityIsIgnored(),
we don't call AccessibilityObject::ignoredFromModalPresence() if this new state is true,
since in this context we only need to know if the object is inherently
ignored (i.e. ignored disregarding modal presence).
Test: accessibility/aria-modal-with-text-crash.html
- accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::currentModalNode):
- accessibility/AXObjectCache.h: Add m_isRetrievingCurrentModalNode. (WebCore::AXObjectCache::isRetrievingCurrentModalNode): Added.
- accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::accessibilityIsIgnored const): Don't call ignoredFromModalPresence if we're in the midst of computing the current modal.
LayoutTests:
- accessibility/aria-modal-with-text-crash-expected.txt: Added.
- accessibility/aria-modal-with-text-crash.html: Added.
- platform/glib/TestExpectations: Skip new test.
- platform/ios/TestExpectations: Enable new test.
- platform/win/TestExpectations: Skip new test.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294186 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 10:37 PM Changeset in webkit [295328] by
-
- 9 edits in branches/safari-7614.1.14.10-branch/Source
Versioning.
WebKit-7614.1.14.10.12
- 8:58 PM Changeset in webkit [295327] by
-
- 1 edit in trunk/Source/cmake/OptionsPlayStation.cmake
Fix PlayStation build after r295294
https://bugs.webkit.org/show_bug.cgi?id=241359
Reviewed by Ross Kirsling.
The ICU::uc target was added twice to a list of modules causing it to be multiply defined.
- Source/cmake/OptionsPlayStation.cmake:
Canonical link: https://commits.webkit.org/251351@main
- 8:44 PM Changeset in webkit [295326] by
-
- 14 edits in trunk/Source/WebCore
Delete RenderTheme::cachedSystemFontDescription() because it does nothing
https://bugs.webkit.org/show_bug.cgi?id=241329
Reviewed by Cameron McCormack.
RenderTheme::cachedSystemFontDescription() is supposed to maintain storage for cached font descriptors.
However, every time this storage is referenced, it is immediately copied from, leaving the storage
in its default uninitialized state. There's no point in keeping default initialized objects around
for no reason.
This is the second piece in a sequence of patches to fix the accessibility bold setting in web content.
- Source/WebCore/css/parser/CSSPropertyParser.cpp:
(WebCore::CSSPropertyParser::consumeSystemFont):
- Source/WebCore/rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::getReplacementTextGeometry const):
- Source/WebCore/rendering/RenderTheme.cpp:
(WebCore::RenderTheme::cachedSystemFontDescription const): Deleted.
(WebCore::RenderTheme::systemFont const): Deleted.
- Source/WebCore/rendering/RenderTheme.h:
(WebCore::RenderTheme::canPaint const):
- Source/WebCore/rendering/RenderThemeAdwaita.h:
- Source/WebCore/rendering/RenderThemeCocoa.h:
- Source/WebCore/rendering/RenderThemeCocoa.mm:
(WebCore::RenderThemeCocoa::systemFont const):
(WebCore::RenderThemeCocoa::cachedSystemFontDescription const): Deleted.
(WebCore::RenderThemeCocoa::updateCachedSystemFontDescription const): Deleted.
- Source/WebCore/rendering/RenderThemeGtk.cpp:
(WebCore::RenderThemeGtk::systemFont const):
(WebCore::RenderThemeGtk::updateCachedSystemFontDescription const): Deleted.
- Source/WebCore/rendering/RenderThemeGtk.h:
- Source/WebCore/rendering/RenderThemePlayStation.cpp:
(WebCore::RenderThemePlayStation::systemFont const):
(WebCore::RenderThemePlayStation::updateCachedSystemFontDescription const): Deleted.
- Source/WebCore/rendering/RenderThemePlayStation.h:
- Source/WebCore/rendering/RenderThemeWin.cpp:
(WebCore::RenderThemeWin::systemFont const):
(WebCore::fillFontDescription): Deleted.
(WebCore::RenderThemeWin::updateCachedSystemFontDescription const): Deleted.
- Source/WebCore/rendering/RenderThemeWin.h:
Canonical link: https://commits.webkit.org/251350@main
- 8:43 PM Changeset in webkit [295325] by
-
- 6 edits in trunk/Tools/Scripts/libraries
Add proxy support to webkitscmpy's GitHub client
https://bugs.webkit.org/show_bug.cgi?id=241031
rdar://93129765
Reviewed by Jonathan Bedard.
Allow for the passing of proxy settings to the GitHub client. Use
requests.Session to pass the proxy settings to all requests made.
Additionally pass this session to the Tracker data member, for
github.com networking requests made at the Tracker level.
Version bumps webkitbugspy and webkitscmpy.
- Tools/Scripts/libraries/webkitbugspy/setup.py: version bump to 0.6.3
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/init.py: version bump to 0.6.3
- Tools/Scripts/libraries/webkitbugspy/webkitbugspy/github.py:
Add a requests.Session member to the class that can be passed into the constructor.
Call all networking requests through the session.
(Tracker.init):
(Tracker):
(Tracker.credentials.validater):
- Tools/Scripts/libraries/webkitscmpy/setup.py: version bump to 4.15.4
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: version bump to 4.15.4
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/remote/git_hub.py:
Add a proxies argument to the constructor. Will pass proxies to a request.Session member
that is used to perform networking requests to github.com from this class.
This session is passed to the Tracker member in its constructor (see webkitbugspy.github changes).
(GitHub.PRGenerator.create):
(GitHub.PRGenerator.update):
(GitHub.init):
(GitHub.request):
(GitHub._count_for_ref):
(GitHub._branches_for):
Canonical link: https://commits.webkit.org/251349@main
- 7:30 PM Changeset in webkit [295324] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick c88d60bba878. rdar://problem/91643534
<link rel=preconnect> always sends credentials to different-origin, ignoring crossorigin=anonymous
https://bugs.webkit.org/show_bug.cgi?id=239119
<rdar://problem/91643534>
Reviewed by John Wilander.
Update the check as per spec, step 5 of
https://html.spec.whatwg.org/multipage/links.html#link-type-preconnect
This is difficult to test as preconnect can only expose TLS credentials.
- loader/LinkLoader.cpp: (WebCore::LinkLoader::preconnectIfNeeded):
Canonical link: https://commits.webkit.org/250034@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293503 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295323] by
-
- 18 edits20 moves24 adds in branches/safari-613-branch
Cherry-pick c7f59d768c0a. rdar://problem/94467852
Incorrect CORP/COEP check in 304 responses
https://bugs.webkit.org/show_bug.cgi?id=238238
<rdar://problem/90706510>
Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2022-04-08
Reviewed by Youenn Fablet.
LayoutTests/imported/w3c:
Sync cross-origin-embedder-policy tests to include the new test require-corp-revalidated-images.https.html.
- web-platform-tests/html/cross-origin-embedder-policy/block-local-documents-inheriting-none.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache-storage.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache-storage.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache-storage.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/cache.tentative.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/dedicated-worker.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/dedicated-worker.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/fetch.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/fetch.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/fetch.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-credentialless.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-credentialless.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-credentialless.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-none.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-none.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-none.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-require-corp.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-require-corp.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe-coep-require-corp.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/iframe.tentative.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/image.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/image.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/image.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/link.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/link.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/link.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/redirect.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/redirect.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/redirect.tentative.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-navigation.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-navigation.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-navigation.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-subresource-corp.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-subresource-corp.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/reporting-subresource-corp.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/script.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/script.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/script.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-credentialless-proxy.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-credentialless-proxy.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-credentialless-proxy.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-none-proxy.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-none-proxy.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker-coep-none-proxy.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/service-worker.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/shared-worker.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/shared-worker.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/shared-worker.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.https.window.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.https.window.js: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.tentative.https.window.js.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.https.window.js.headers: Renamed from LayoutTests/imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/credentialless/video.tentative.https.window.js.headers.
- web-platform-tests/html/cross-origin-embedder-policy/credentialless/w3c-import.log:
- web-platform-tests/html/cross-origin-embedder-policy/dedicated-worker.https-expected.txt:
- web-platform-tests/html/cross-origin-embedder-policy/dedicated-worker.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/reporting-to-endpoint.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/reporting-to-endpoint.https.html.headers:
- web-platform-tests/html/cross-origin-embedder-policy/require-corp-cached-images.https-expected.txt:
- web-platform-tests/html/cross-origin-embedder-policy/require-corp-cached-images.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/require-corp-revalidated-images.https-expected.txt: Added.
- web-platform-tests/html/cross-origin-embedder-policy/require-corp-revalidated-images.https.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/resources/corp-image.py: (main):
- web-platform-tests/html/cross-origin-embedder-policy/resources/fetch-and-create-url.html: Added.
- web-platform-tests/html/cross-origin-embedder-policy/resources/load-corp-images.html:
- web-platform-tests/html/cross-origin-embedder-policy/resources/w3c-import.log:
- web-platform-tests/html/cross-origin-embedder-policy/resources/worker-support.js: Added. (setCoep): (resolveUrl): (async withIframe): (waitForMessage): (async createLocalUrl):
- web-platform-tests/html/cross-origin-embedder-policy/shared-workers.https-expected.txt:
- web-platform-tests/html/cross-origin-embedder-policy/shared-workers.https.html:
- web-platform-tests/html/cross-origin-embedder-policy/w3c-import.log:
Source/WebKit:
Add CORP header to the 304 response if previously set to avoid being blocked by load checker due to COEP.
Test: imported/w3c/web-platform-tests/html/cross-origin-embedder-policy/require-corp-revalidated-images.https.html
- NetworkProcess/NetworkResourceLoader.cpp: (WebKit::NetworkResourceLoader::didReceiveResponse):
LayoutTests:
Mark some tests with DumpJSConsoleLogInStdErr modifier.
Canonical link: https://commits.webkit.org/249428@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@292595 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295322] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick e40c1e30bd61. rdar://problem/94467808
CSP: Fix script-src-elem policies in workers
https://bugs.webkit.org/show_bug.cgi?id=239840
Reviewed by Kate Cheney.
Source/WebCore:
Test: http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-script-src-elem.html
- page/csp/ContentSecurityPolicyDirectiveList.cpp: (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForScript const):
LayoutTests:
CSP: Fix script-src-elem policies in workers
- http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-script-src-elem-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-script-src-elem.html: Added.
Canonical link: https://commits.webkit.org/250386@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293940 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295321] by
-
- 15 edits3 adds in branches/safari-613-branch
Cherry-pick bf09fd4a06a7. rdar://problem/92033309
Add testRunner API to clear memory cache
https://bugs.webkit.org/show_bug.cgi?id=239804
rdar://92033309
Reviewed by Chris Dumez.
Source/WebCore:
- testing/Internals.cpp: (WebCore::Internals::clearMemoryCache): Beef up clearMemoryCache to be on par with testRunner counterpart.
Source/WebKit:
Add necessary WebKit API to implement the testRunner API.
Make use of new testRunner API in added test.
Test: http/wpt/fetch/clear-memory-cache.html
- NetworkProcess/NetworkProcess.cpp:
- UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
- UIProcess/API/C/WKWebsiteDataStoreRef.h:
- UIProcess/WebsiteData/WebsiteDataStore.cpp:
Tools:
Implement the clear memory cache testRunner API and related plumbery.
- WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl:
- WebKitTestRunner/InjectedBundle/TestRunner.cpp:
- WebKitTestRunner/InjectedBundle/TestRunner.h:
- WebKitTestRunner/TestController.cpp:
- WebKitTestRunner/TestController.h:
- WebKitTestRunner/TestInvocation.cpp:
LayoutTests:
- http/wpt/fetch/clear-memory-cache-expected.txt: Added.
- http/wpt/fetch/clear-memory-cache.html: Added.
- http/wpt/fetch/resources/clear-memory-cache.py: Added.
Canonical link: https://commits.webkit.org/250033@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293502 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295320] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore/platform/graphics/avfoundation/objc
Cherry-pick b3360dfccef2. rdar://problem/89387951
[Cocoa][MSE] Frames are displayed "fast forward" during seek operations
https://bugs.webkit.org/show_bug.cgi?id=241234
<rdar://89387951>
Reviewed by Eric Carlson.
When MSE was moved into the GPU process, certain operations that used to be synchronous became
async. This includes seek operations, where the seek request is initiated by the HTMLMediaElement,
async dispatched to the MediaPlayer in the GPU process, and then async dispatched back to the
WebContent process and MediaSource. Immediately prior to this last dispatch, the
SourceBufferPrivateAVFObjC flushes its sample buffer renderers, and during the subsequent async
portion there is an opportunity for the sample buffers to request new data. When that request
occurs before the response to the async dispatch, incorrect samples (future samples from the
previous playback location) are enqueued. These are then flushed again during the async response,
and replaced by correct samples.
Add a new ivar to SourceBufferPrivateAVFObjC that tracks this state, blocking enqueing new samples
while there is a pending seek operation.
- Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
- Source/WebCore/platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: (WebCore::SourceBufferPrivateAVFObjC::willSeek): (WebCore::SourceBufferPrivateAVFObjC::seekToTime): (WebCore::SourceBufferPrivateAVFObjC::isSeeking const):
Canonical link: https://commits.webkit.org/251301@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295253 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295319] by
-
- 1 edit2 adds in branches/safari-613-branch
Cherry-pick 97487f0eee71. rdar://problem/90755619
[iOS 15] Unable to type in Google Docs with a hardware keyboard without refocusing editor
https://bugs.webkit.org/show_bug.cgi?id=241308
rdar://90755619
Reviewed by Tim Horton.
After the changes in r277265, we no longer call into
-reloadInputViews
when starting an input
session after programmatically focusing an editable container withinputmode="none"
, with a
hardware keyboard attached. This is because-_shouldShowKeyboardForElement:
returnsNO
(due to
inputmode none), so we bail early at this check:
`
if (!shouldShowInputView information.elementType == WebKit::InputType::None) { _page->setIsShowingInputViewForFocusedElement(false);
return;
}
`
As a result, UIKit never resets UIKeyboardImpl's input delegate, which should now be the
WKContentView
, and thus never consults whether we require key events (-requiresKeyEvents
), which
in turn means that-handleKeyWebEvent:withCompletionHandler:
is never invoked on the content view,
so we never dispatch key events to the page.
In the normal, non-editable key event case, we lazily call
-reloadInputViews
in
-_handleKeyUIEvent:
(which is called just before keyboard WebEvents start getting dispatched by
UIKit). However, since we're still focusing an editable element in this case, we don't end up going
down this codepath.
When the hardware keyboard is not connected, avoiding the call to
-reloadInputViews
is expected,
since we aren't showing a keyboard anyways due to the fact that the element was programmatically
focused (so the user has no way of typing or dispatching key events, in the first place).
And finally, when the
inputmode
is not none,_isFocusingElementWithKeyboard
is set toYES
, so
we begin the input session and call-reloadInputViews
as normal.
It's only in this
inputmode=none
case with both the hardware keyboard attached and the editable
container being programmatically focused, where we end up in a state where the user can type with a
hardware keyboard, but we haven't informed UIKit that we should receive key events.
We can fix this by consulting a separate
-_shouldShowKeyboardForElementIgnoringInputMode:
instead
which allows us to follow the normal routine for focusing an editable element withinputmode="none"
which includes zooming to reveal the focused element if it's on-screen and not hidden, as well as
calling the related delegate methods; the only difference is that we avoid showing the UCB or
software keyboard, by returningYES
from-_disableAutomaticKeyboardUI
in this case.
- LayoutTests/fast/forms/ios/keydown-in-hidden-contenteditable-with-inputmode-none-expected.txt: Added.
- LayoutTests/fast/forms/ios/keydown-in-hidden-contenteditable-with-inputmode-none.html: Added.
Add a new layout test to simulate typing in Google Docs with a hardware keyboard (i.e., focus a
hidden contenteditable container withinputmode="none"
), and verify that we dispatch key events to
the focused editable element.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _elementTypeRequiresAccessoryView:]): (-[WKContentView _shouldShowKeyboardForElement:]): (-[WKContentView _shouldShowKeyboardForElementIgnoringInputMode:]):
Split this helper method into two versions (one of which ignores
inputmode=none
). See above for
more details.
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:]):
Canonical link: https://commits.webkit.org/251335@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295289 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295318] by
-
- 10 edits1 add in branches/safari-613-branch
Cherry-pick 8a2d5954643f. rdar://problem/94467773
Calls to print can result in unresponsive print modal
https://bugs.webkit.org/show_bug.cgi?id=237940
<rdar://problem/88257828>
Reviewed by Chris Dumez.
Source/WebKit:
Calls to print were hanging in the case of the client asynchronously
handling the completion handler passed to the delegate. To fix this
we can adjust all printing IPC to have the option
DispatchMessageEvenWhenWaitingForUnboundedSyncReply which allows IPC
messages when waiting for a sync reply in the case where the receiver
of the message is not guranteed to call the completion handler at the
end of the runloop.
- UIProcess/API/Cocoa/WKWebViewPrivateForTesting.h:
- UIProcess/API/Cocoa/WKWebViewTesting.mm: (-[WKWebView _computePagesForPrinting:completionHandler:]):
- UIProcess/WebPageProxy.cpp: (WebKit::printingSendOptions):
- WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::print):
Tools:
Add API test. Adjust delegate naming in the PDF case to be more
specific so we can use the generic PrintUIDelegate name in the general
case.
- TestWebKitAPI/SourcesCocoa.txt:
- TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
- TestWebKitAPI/Tests/WebKitCocoa/WKPDFView.mm: (TEST): (-[PrintUIDelegate _webView:printFrame:pdfFirstPageSize:completionHandler:]): Deleted. (-[PrintUIDelegate waitForPageSize]): Deleted. (-[PrintUIDelegate lastPrintedFrame]): Deleted.
- TestWebKitAPI/Tests/WebKitCocoa/WKPrinting.mm: Added. (-[PrintUIDelegate callBlockAsync:]): (-[PrintUIDelegate _webView:printFrame:pdfFirstPageSize:completionHandler:]): (-[PrintUIDelegate waitForPagination]): (TEST):
Canonical link: https://commits.webkit.org/248540@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@291412 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295317] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick 753398de3962. rdar://problem/92081823
Use more smart pointers in Element.cpp
https://bugs.webkit.org/show_bug.cgi?id=239836
Patch by Alex Christensen <achristensen@webkit.org> on 2022-04-28
Reviewed by Chris Dumez.
- dom/Element.cpp: (WebCore::Element::setScrollLeft): (WebCore::Element::setScrollTop):
Canonical link: https://commits.webkit.org/250083@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293569 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295316] by
-
- 2 edits in branches/safari-613-branch/Source/WebCore
Cherry-pick 694fbb13c1b6. rdar://problem/92081556
afterprint event should be scheduled on event loop
https://bugs.webkit.org/show_bug.cgi?id=239883
Patch by Alex Christensen <achristensen@webkit.org> on 2022-04-28
Reviewed by Chris Dumez.
- page/Page.cpp: (WebCore::dispatchPrintEvent): (WebCore::Page::dispatchBeforePrintEvent): (WebCore::Page::dispatchAfterPrintEvent):
Canonical link: https://commits.webkit.org/250112@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293606 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295315] by
-
- 9 edits2 adds in branches/safari-613-branch
Cherry-pick 2c80da108c11. rdar://problem/84667910
[iOS] Keyboard obscures file upload context menu when trying to attach a file in gmail.com
https://bugs.webkit.org/show_bug.cgi?id=241320
rdar://84667910
Reviewed by Tim Horton.
When composing a message on gmail.com, if a user taps the "Attach file" button in the bottom
toolbar, Gmail's script programmatically clicks a hidden file input and then immediately focuses the
editable body field. The context menu presents at the interaction location near the bottom of the
viewport; however, if no hardware keyboard is attached, the software keyboard appears right
afterwards, obscuring the context menu completely.
To address this, teach
WKFileUploadPanel
to reposition its context menu when the keyboard is
shown, if it might overlap with the bounds of the input view.
- LayoutTests/fast/forms/ios/show-file-upload-context-menu-above-keyboard-expected.txt: Added.
- LayoutTests/fast/forms/ios/show-file-upload-context-menu-above-keyboard.html: Added.
Add a layout test to verify that focusing a text field with the software keyboard while presenting a
file picker doesn't result in the file picker's context menu being obscured behind the keyboard.
- LayoutTests/resources/ui-helper.js: (window.UIHelper.dismissMenu): (window.UIHelper.contextMenuRect):
Add a couple of new UIHelper methods.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView _keyboardDidShow]):
If the keyboard appears while the file upload panel is active, reposition the context menu if it
overlaps with the new keyboard bounds.
(-[WKContentView _zoomToFocusRectAfterShowingKeyboardIfNeeded]):
Factor this existing logic out into a helper method.
- Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.h:
- Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm: (-[WKFileUploadPanel contextMenuInteraction:willEndForConfiguration:animator:]):
If the
_isRepositioningContextMenu
flag is set, avoid removing and destroying the context menu
interaction.
(-[WKFileUploadPanel ensureContextMenuInteraction]):
Drive-by fix: adjust
-ensureContextMenuInteraction
so that it returns the either the existing or
newly created context menu interaction.
(-[WKFileUploadPanel repositionContextMenuIfNeeded]):
Add a helper method to reposition the context menu by removing and re-presenting the context menu
interaction without animation, only if it overlaps the input view bounds. While removing and
presenting the context menu again, set a_isRepositioningContextMenu
flag, such that
(-[WKFileUploadPanel showDocumentPickerMenu]):
- Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- Tools/TestRunnerShared/UIScriptContext/UIScriptController.h: (WTR::UIScriptController::contextMenuRect const):
- Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.mm: (-[TestRunnerWKWebView _dismissAllContextMenuInteractions]):
Adjust this helper to immediately cancel all context menu interactions without animation, so that
context menu removal delegate methods don't bleed into subsequent tests.
- Tools/WebKitTestRunner/ios/UIScriptControllerIOS.h:
- Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm: (WTR::UIScriptControllerIOS::menuRect const):
Use the new
toObject
helper method.
(WTR::UIScriptControllerIOS::contextMenuRect const):
Add support for a new script controller method to return the context menu container view's bounds
in window coordinates. Note that I'm using window coordinates here as opposed to root view
coordinates, since the new test that uses this method needs to compare the context menu's position
against the input view bounds in window coordinates.
(WTR::UIScriptControllerIOS::toObject const):
Add a helper method to convert the given
CGRect
into a JavaScript object reference.
Canonical link: https://commits.webkit.org/251344@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295299 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 7:30 PM Changeset in webkit [295314] by
-
- 3 edits2 adds in branches/safari-613-branch
Cherry-pick 0fe83157c4d9. rdar://problem/94467906
CSP: Fix mixing strict-dynamic and unsafe-inline policies
https://bugs.webkit.org/show_bug.cgi?id=239862
Reviewed by Kate Cheney.
Source/WebCore:
Test: http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-unsafe-inline-policies.html
- page/csp/ContentSecurityPolicyDirectiveList.cpp: (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForNonParserInsertedScripts const):
LayoutTests:
If you had multiple policies, one including strict-dynamic and another with unsafe-inline, the unsafe-inline
policy was incorrectly handled.
- http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-unsafe-inline-policies-expected.txt: Added.
- http/tests/security/contentSecurityPolicy/script-src-strict-dynamic-and-unsafe-inline-policies.html: Added.
Canonical link: https://commits.webkit.org/250109@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293603 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:32 PM Changeset in webkit [295313] by
-
- 1 edit in branches/safari-7614.1.16-branch/Source/WebCore/accessibility/AXObjectCache.h
Cherry-pick r295165.
Unreviewed !ENABLE(ACCESSIBILITY) build fix for r295139.
- Source/WebCore/accessibility/AXObjectCache.h: (WebCore::AXObjectCache::relatedObjectIDsFor): (WebCore::AXObjectCache::relatedObjectsFor): Deleted.
Canonical link: https://commits.webkit.org/251249@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295165 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 6:27 PM Changeset in webkit [295312] by
-
- 1 copy in branches/safari-7614.1.16-branch
New branch.
- 6:19 PM Changeset in webkit [295311] by
-
- 1 copy in tags/WebKit-7614.1.15.2
Tag WebKit-7614.1.15.2.
- 5:58 PM Changeset in webkit [295310] by
-
- 1 edit in trunk/Tools/WebKitTestRunner/CMakeLists.txt
[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
- 5:35 PM Changeset in webkit [295309] by
-
- 11 edits in branches/safari-613-branch
Cherry-pick b8c770451902. rdar://problem/84570717
[Modern Media Controls] macCatalyst should not use touch events
https://bugs.webkit.org/show_bug.cgi?id=240704
<rdar://problem/84570717>
Reviewed by Eric Carlson.
- Source/WebCore/Modules/modern-media-controls/controls/layout-traits.js: (LayoutTraits.prototype.supportsTouches): Added.
- Source/WebCore/Modules/modern-media-controls/controls/macos-layout-traits.js:
(MacOSLayoutTraits.prototype.supportsTouches): Added.
Allow
LayoutTraits
to indicate whether touches are supported.
- Source/WebCore/Modules/modern-media-controls/controls/auto-hide-controller.js: (AutoHideController):
- Source/WebCore/Modules/modern-media-controls/controls/button.js: (Button):
- Source/WebCore/Modules/modern-media-controls/controls/range-button.js: (RangeButton):
- Source/WebCore/Modules/modern-media-controls/controls/slider.js: (Slider.prototype._interactionEndTarget):
- Source/WebCore/Modules/modern-media-controls/media/media-document-controller.js:
(MediaDocumentController):
Use
LayoutTraits.prototype.supportsTouches
instead ofGestureRecognizer.SupportsTouches
so that macOS (including macCatalyst) can always act as though touches are not supported (which is fine since mouse events are fully functional on macOS).
- LayoutTests/media/modern-media-controls/button/button-icon-name.html:
- LayoutTests/media/modern-media-controls/button/button.html:
- LayoutTests/media/modern-media-controls/buttons-container/buttons-container-buttons-property.html:
- LayoutTests/media/modern-media-controls/buttons-container/buttons-container-constructor.html:
- LayoutTests/media/modern-media-controls/buttons-container/buttons-container-layout.html:
Add
layoutDelegate
/layoutTraits
where needed.
Canonical link: https://commits.webkit.org/250814@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@294573 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:35 PM Changeset in webkit [295308] by
-
- 6 edits2 adds in branches/safari-613-branch
Cherry-pick 348b1a10ee87. rdar://problem/92449950
[CSS Cascade Layers] Endless recursion with revert-layer in other tree context
https://bugs.webkit.org/show_bug.cgi?id=239967
<rdar://92449950>
Reviewed by Alan Bujtas.
Source/WebCore:
We should only revert within a tree context (scope).
Adding more comprehensive WPTs separately.
Test: fast/css/revert-layer-tree-context-stack-overflow.html
- style/PropertyCascade.cpp: (WebCore::Style::PropertyCascade::PropertyCascade):
Pass the property tree scope to the rollback cascade.
(WebCore::Style::PropertyCascade::addMatch):
Don't include properties from lower priority tree scopes to rollback cascade.
Reverse the logic for clarity.
- style/PropertyCascade.h: (WebCore::Style::PropertyCascade::PropertyCascade):
- style/StyleBuilder.cpp: (WebCore::Style::Builder::ensureRollbackCascadeForRevert): (WebCore::Style::Builder::ensureRollbackCascadeForRevertLayer): (WebCore::Style::Builder::makeRollbackCascadeKey):
Include tree scope to the key.
- style/StyleBuilder.h:
LayoutTests:
- fast/css/revert-layer-tree-context-stack-overflow-expected.html: Added.
- fast/css/revert-layer-tree-context-stack-overflow.html: Added.
Canonical link: https://commits.webkit.org/250213@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@293725 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:35 PM Changeset in webkit [295307] by
-
- 5 edits2 adds in branches/safari-613-branch
Cherry-pick 077f4d227924. rdar://problem/94034984
AX: inert attribute doesn't cause display:contents element to be ignored
https://bugs.webkit.org/show_bug.cgi?id=241022
Reviewed by Chris Fleizach.
Prior to this patch, the inert attribute didn't cause node-only objects
(like those with display:contents) to be ignored. This was because
AccessibilityObject::defaultObjectInclusion only checkedeffectiveInert
for elements with renderers, even though you only need an element to
have style (not a renderer).
This patch fixes this by adding a new AccessibilityObject::style()
method which uses AccessibilityObject::element() to get
Element::computedStyle() and checking effectiveInert on that, which
works for both renderer and renderer-less objects.
- LayoutTests/accessibility/node-only-inert-object-expected.txt: Added.
- LayoutTests/accessibility/node-only-inert-object.html: Added.
- LayoutTests/platform/ios/TestExpectations: Enable new test.
- LayoutTests/platform/mac-wk1/TestExpectations: Skip new test.
- Source/WebCore/accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::style const): Added. (WebCore::AccessibilityObject::defaultObjectInclusion const):
- Source/WebCore/accessibility/AccessibilityObject.h:
Canonical link: https://commits.webkit.org/251185@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295090 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 5:35 PM Changeset in webkit [295306] by
-
- 9 edits in branches/safari-613-branch/Source
Versioning.
WebKit-7613.3.4
- 5:15 PM Changeset in webkit [295305] by
-
- 1 edit in trunk/Source/WebCore/platform/ios/UserAgentIOS.mm
Make Mobile Safari desktop mode report the same macOS version in the user agent as Safari on Mac
https://bugs.webkit.org/show_bug.cgi?id=241322
Patch by nitinseshadri <61258126+nitinseshadri@users.noreply.github.com> on 2022-06-06
Reviewed by Alexey Proskuryakov.
- Source/WebCore/platform/ios/UserAgentIOS.mm:
(WebCore::standardUserAgentWithApplicationName):
Change reported macOS version in user agent to 10.15.7.
Canonical link: https://commits.webkit.org/251347@main
- 4:47 PM Changeset in webkit [295304] by
-
- 1 edit in trunk/Source/WebKit/Configurations/BaseXPCService.xcconfig
Framework Mismatch Crash when loading any page if CaptivePortal mode enabled
rdar://89925654
Reviewed by Tim Horton.
Code signing flags were improperly set for the CaptivePortal process. This patch instructs the build
system to treat CaptivePortal code signing the same as Normal WebContent process builds.
- Source/WebKit/Configurations/BaseXPCService.xcconfig:
Canonical link: https://commits.webkit.org/251346@main
- 4:23 PM Changeset in webkit [295303] by
-
- 12 edits in branches/safari-7614.1.15-branch/Source
Cherry-pick r295134. rdar://problem/93068926
Fix build failures introduced in "[Xcode] Prevent STP and other self-contained builds from overwriting content in the macOS SDK"
https://bugs.webkit.org/show_bug.cgi?id=240408
Reviewed by Alexey Proskuryakov.
Revert "Revert "[Xcode] Prevent STP and other self-contained builds from overwriting content in the macOS SDK""
This reverts commit 680fe6580f261df69a607a33b6252f3e19704169.
Apply small fixups across xcconfig files to address regressions:
- Fix SYSTEM_HEADER_SEARCH_PATHS not referring to Catlyst's include directory.
- Replace /usr/local/include literal in PROFILE_DATA_PATH with WK_ALTERNATE_WEBKIT_SDK_PATH and WK_LIBRARY_HEADERS_FOLDER_PATH to select the correct profdata for Catalyst or self-contained builds.
- Source/JavaScriptCore/Configurations/Base.xcconfig: Clean up an old WK_STATICLIB_INSTALL_PREFIX, replacing it with WK_LIBRARY_HEADERS_FOLDER_PATH.
- Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig:
- Source/WebCore/Configurations/WebCore.xcconfig:
- Source/WebCore/PAL/Configurations/PAL.xcconfig:
- Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj: PAL's SDKVariant.xcconfig was not included in the project for some reason. This is fine for building (as it's still includable) but prevents Xcode from indexing it. Add it.
- Source/WebGPU/Configurations/WGSL.xcconfig:
- Source/WebGPU/Configurations/WebGPU.xcconfig:
- Source/WebKit/Configurations/BaseTarget.xcconfig:
- Source/WebKit/Configurations/SandboxProfiles.xcconfig: Clean up an old WK_STATICLIB_INSTALL_PREFIX setting. We don't need to redirect sandbox profiles to a separate directory, like we do headers and static libraries, so leave these paths hard coded to /usr/local/include.
- Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:
Canonical link: https://commits.webkit.org/251225@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295134 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:23 PM Changeset in webkit [295302] by
-
- 45 edits in branches/safari-7614.1.15-branch/Source
Cherry-pick r295073. rdar://problem/93068926
[Xcode] Prevent STP and other self-contained builds from overwriting content in the macOS SDK
https://bugs.webkit.org/show_bug.cgi?id=240408
Reviewed by Alexey Proskuryakov.
When building with WK_OVERRIDE_FRAMEWORKS_DIR, we assume that WebKit is
being built as part of a self-contained application, e.g. Safari
Technology Preview. This means that most content is installed to the
override directory, instead of the normal /System/Library/Frameworks
directory.
However, static library content (e.g. headers and archives
for bmalloc, webrtc, WTF) is _not_ installed to the override directory,
as it is not needed at runtime. It was being installed to the default
/usr/local prefix, where it would merge with and overwrite whatever
WebKit content was already present.
To prevent overwrites and other sorts of conflict with the
system-provided WebKit, introduce WK_LIBRARY_HEADERS_FOLDER_PATH and
WK_LIBRARY_INSTALL_PATH, which expand to /usr/local/include/safari-sdk
and /usr/local/lib/safari-sdk respectively when building in this mode.
Static library headers and archives are built to these locations, where
they're still in the expected SDK location, but won't clobber system
WebKit.
- Source/bmalloc/Configurations/Base.xcconfig:
- Source/bmalloc/Configurations/bmalloc.xcconfig:
- Source/bmalloc/Configurations/mbmalloc.xcconfig:
- Source/JavaScriptCore/Configurations/Base.xcconfig:
- Source/JavaScriptCore/Configurations/JavaScriptCore.xcconfig:
- Source/JavaScriptCore/DerivedSources.make:
- Source/JavaScriptCore/Scripts/generate-unified-sources.sh:
- Source/JavaScriptCore/offlineasm/config.rb:
- Source/JavaScriptCore/offlineasm/parser.rb:
- Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig:
- Source/ThirdParty/ANGLE/Configurations/AngleMetalLib.xcconfig:
- Source/ThirdParty/ANGLE/Configurations/Base.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/boringssl.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libabsl.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libsrtp.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libvpx.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libwebm.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/libyuv.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/opus.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/usrsctp.xcconfig:
- Source/ThirdParty/libwebrtc/Configurations/yasm.xcconfig:
- Source/WebCore/PAL/Configurations/Base.xcconfig:
- Source/WebCore/PAL/Configurations/PAL.xcconfig:
- Source/WebGPU/Configurations/Base.xcconfig:
- Source/WebGPU/Configurations/WGSL.xcconfig:
- Source/WebGPU/Configurations/WGSLUnitTests.xcconfig:
- Source/WebGPU/Configurations/WebGPU.xcconfig:
- Source/WebKit/Configurations/Base.xcconfig:
- Source/WebKit/Configurations/BaseTarget.xcconfig:
- Source/WebKit/Configurations/SandboxProfiles.xcconfig:
- Source/WebKit/WebKit.xcodeproj/project.pbxproj:
- Source/WebKitLegacy/scripts/generate-unified-sources.sh:
- Source/WebKitLegacy/mac/Configurations/Base.xcconfig:
- Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig:
- Source/WTF/Configurations/Base.xcconfig:
- Source/WTF/Configurations/WTF.xcconfig:
- Source/WTF/Configurations/icu.xcconfig:
- Source/WebCore/Configurations/Base.xcconfig:
- Source/WebCore/Configurations/WebCore.xcconfig:
- Source/WebCore/Configurations/WebCoreTestSupport.xcconfig:
- Source/WebCore/DerivedSources.make:
- Source/WebCore/Scripts/generate-unified-sources.sh:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
Canonical link: https://commits.webkit.org/251168@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295073 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 4:23 PM Changeset in webkit [295301] by
-
- 6 edits1 add in branches/safari-7614.1.15-branch/Source
Cherry-pick r295065. rdar://problem/93068926
Refer to correct profiling data in WebCore and WebKit
https://bugs.webkit.org/show_bug.cgi?id=239681
Reviewed by Alexey Proskuryakov.
Revert "Unreviewed, revert "[Xcode] Compute PGO profdata paths instead of searching for them at build time""
This reverts commit 2ee0d9d171e2ff7daa94d1a15727033a994e6414.
A bad copy-paste led to WebCore and WebKit's production builds using PGO
data from JavaScriptCore. Fix it, and add back a check that ensures
production builds fail instead of falling back to stub profiling data.
- Source/WebCore/Configurations/WebCore.xcconfig:
- Source/WebKit/Configurations/BaseTarget.xcconfig:
Canonical link: https://commits.webkit.org/251160@main
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@295065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
- 3:12 PM Changeset in webkit [295300] by
-
- 1 edit in trunk/LayoutTests/platform/ios/TestExpectations
[iOS] Skip tests that cause crashes due to unfired UI script callbacks
https://bugs.webkit.org/show_bug.cgi?id=241350
Unreviewed test gardening.
These tests were identified in webkit.org/b/236794. Skip them to reduce flakes and
false positives on iOS test bots. Remove flaky expectations for tests that were caught
in the fallout from these bad tests.
- LayoutTests/platform/ios/TestExpectations:
Canonical link: https://commits.webkit.org/251345@main
- 3:08 PM Changeset in webkit [295299] by
-
- 9 edits2 adds in trunk
[iOS] Keyboard obscures file upload context menu when trying to attach a file in gmail.com
https://bugs.webkit.org/show_bug.cgi?id=241320
rdar://84667910
Reviewed by Tim Horton.
When composing a message on gmail.com, if a user taps the "Attach file" button in the bottom
toolbar, Gmail's script programmatically clicks a hidden file input and then immediately focuses the
editable body field. The context menu presents at the interaction location near the bottom of the
viewport; however, if no hardware keyboard is attached, the software keyboard appears right
afterwards, obscuring the context menu completely.
To address this, teach
WKFileUploadPanel
to reposition its context menu when the keyboard is
shown, if it might overlap with the bounds of the input view.
- LayoutTests/fast/forms/ios/show-file-upload-context-menu-above-keyboard-expected.txt: Added.
- LayoutTests/fast/forms/ios/show-file-upload-context-menu-above-keyboard.html: Added.
Add a layout test to verify that focusing a text field with the software keyboard while presenting a
file picker doesn't result in the file picker's context menu being obscured behind the keyboard.
- LayoutTests/resources/ui-helper.js:
(window.UIHelper.dismissMenu):
(window.UIHelper.contextMenuRect):
Add a couple of new UIHelper methods.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _keyboardDidShow]):
If the keyboard appears while the file upload panel is active, reposition the context menu if it
overlaps with the new keyboard bounds.
(-[WKContentView _zoomToFocusRectAfterShowingKeyboardIfNeeded]):
Factor this existing logic out into a helper method.
- Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.h:
- Source/WebKit/UIProcess/ios/forms/WKFileUploadPanel.mm:
(-[WKFileUploadPanel contextMenuInteraction:willEndForConfiguration:animator:]):
If the
_isRepositioningContextMenu
flag is set, avoid removing and destroying the context menu
interaction.
(-[WKFileUploadPanel ensureContextMenuInteraction]):
Drive-by fix: adjust
-ensureContextMenuInteraction
so that it returns the either the existing or
newly created context menu interaction.
(-[WKFileUploadPanel repositionContextMenuIfNeeded]):
Add a helper method to reposition the context menu by removing and re-presenting the context menu
interaction without animation, only if it overlaps the input view bounds. While removing and
presenting the context menu again, set a_isRepositioningContextMenu
flag, such that
(-[WKFileUploadPanel showDocumentPickerMenu]):
- Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl:
- Tools/TestRunnerShared/UIScriptContext/UIScriptController.h:
(WTR::UIScriptController::contextMenuRect const):
- Tools/WebKitTestRunner/cocoa/TestRunnerWKWebView.mm:
(-[TestRunnerWKWebView _dismissAllContextMenuInteractions]):
Adjust this helper to immediately cancel all context menu interactions without animation, so that
context menu removal delegate methods don't bleed into subsequent tests.
- Tools/WebKitTestRunner/ios/UIScriptControllerIOS.h:
- Tools/WebKitTestRunner/ios/UIScriptControllerIOS.mm:
(WTR::UIScriptControllerIOS::menuRect const):
Use the new
toObject
helper method.
(WTR::UIScriptControllerIOS::contextMenuRect const):
Add support for a new script controller method to return the context menu container view's bounds
in window coordinates. Note that I'm using window coordinates here as opposed to root view
coordinates, since the new test that uses this method needs to compare the context menu's position
against the input view bounds in window coordinates.
(WTR::UIScriptControllerIOS::toObject const):
Add a helper method to convert the given
CGRect
into a JavaScript object reference.
Canonical link: https://commits.webkit.org/251344@main
- 3:04 PM Changeset in webkit [295298] by
-
- 1 edit in trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/AppPrivacyReport.mm
REGRESSION: [ iOS ] Six TestWebKitAPI.AppPrivacyReport API tests are a consistent timeout
https://bugs.webkit.org/show_bug.cgi?id=241233
<rdar://94298162>
Reviewed by Kate Cheney.
Two tests requiring a fix were missed in 251292@main.
- Tools/TestWebKitAPI/Tests/WebKitCocoa/AppPrivacyReport.mm:
Canonical link: https://commits.webkit.org/251343@main
- 2:46 PM Changeset in webkit [295297] by
-
- 2 edits2 copies in trunk/LayoutTests/compositing
REGRESSION (r295269): compositing/hidpi-compositing-layer-with-zero-sized-container.html times out
https://bugs.webkit.org/show_bug.cgi?id=241346
Reviewed by Alan Bujtas.
- LayoutTests/compositing/hidpi-compositing-layer-with-zero-sized-container-expected.html:
- LayoutTests/compositing/hidpi-compositing-layer-with-zero-sized-container.html:
- LayoutTests/compositing/hidpi-compositing-layer-with-zero-sized-container-offsets-above-one-expected.html:
- LayoutTests/compositing/hidpi-compositing-layer-with-zero-sized-container-offsets-above-one.html:
This test was slow before, but r295269 made it even slower due to WKTR's force repaint
now causing the compositing layers to repaint as well (a progression).
Reduce the number of layers per test from 1600 to 400, and split the test
in half; one test for offsets below 1, one for offsets between 1 and 2;
Alan says that rounding behavior is different between these two cases.
Canonical link: https://commits.webkit.org/251342@main
- 2:35 PM Changeset in webkit [295296] by
-
- 2 edits in trunk/Tools/Scripts/hooks
Invoke perl in git hooks
https://bugs.webkit.org/show_bug.cgi?id=241345
Reviewed by Jonathan Bedard.
A windows command prompt doesn't understand shebangs and needs the interpreter to be specified in
order to run successfully.
- Tools/Scripts/hooks/pre-commit:
- Tools/Scripts/hooks/prepare-commit-msg:
Canonical link: https://commits.webkit.org/251341@main
- 1:41 PM Changeset in webkit [295295] by
-
- 9 edits in branches/safari-7614.1.15-branch/Source
Versioning.
WebKit-7614.1.15.2
- 1:24 PM Changeset in webkit [295294] by
-
- 10 edits in trunk
[CMake] Use playstation_module for shared libs
https://bugs.webkit.org/show_bug.cgi?id=241049
Reviewed by Ross Kirsling.
The playstation_module function determines how to properly load a shared library. It figures out
if a shared library is being used and if so will create a target to copy it to the directory it
will load from. Additionally it exposes a${target}_LOAD_AT
variable that can be used with
dlopen.
- Source/JavaScriptCore/shell/playstation/Initializer.cpp:
- Source/WTF/wtf/PlatformPlayStation.cmake:
- Source/WebCore/PlatformPlayStation.cmake:
- Source/WebKit/NetworkProcess/EntryPoint/playstation/NetworkProcessMain.cpp:
- Source/WebKit/WebProcess/EntryPoint/playstation/WebProcessMain.cpp:
- Source/cmake/OptionsPlayStation.cmake:
- Tools/MiniBrowser/playstation/CMakeLists.txt:
- Tools/MiniBrowser/playstation/main.cpp:
- Tools/TestWebKitAPI/PlatformPlayStation.cmake:
- Tools/TestWebKitAPI/playstation/main.cpp:
Canonical link: https://commits.webkit.org/251340@main
- 1:13 PM Changeset in webkit [295293] by
-
- 2 edits in trunk/Tools/Scripts/hooks
Use raw string for LOCATION in git hooks
https://bugs.webkit.org/show_bug.cgi?id=241343
Reviewed by Jonathan Bedard.
- Tools/Scripts/hooks/pre-commit:
- Tools/Scripts/hooks/prepare-commit-msg:
Canonical link: https://commits.webkit.org/251339@main
- 12:22 PM Changeset in webkit [295292] by
-
- 9 edits in trunk/Source
Versioning.
WebKit-7614.1.17
- 10:50 AM Changeset in webkit [295291] by
-
- 3 edits in trunk/Source/WebCore
InteractionRegionOverlay should use RenderLayer-cached regions instead of computing them itself
https://bugs.webkit.org/show_bug.cgi?id=241338
Reviewed by Simon Fraser.
- Source/WebCore/page/DebugPageOverlays.cpp:
(WebCore::RegionOverlay::shouldPaintOverlayIntoLayer):
(WebCore::InteractionRegionOverlay::updateRegion):
Stop computing InteractionRegions ourselves.
(WebCore::InteractionRegionOverlay::activeLayer):
Determine the layer from which to retrieve InteractionRegions. For now, we just
use the root layer, because that's where we stash all regions. Later, we'll
do a hit-test here to find the region under the mouse.
(WebCore::InteractionRegionOverlay::activeRegion):
Look up InteractionRegions cached on the aforementioned active layer, instead of
computing them ourselves.
(WebCore::InteractionRegionOverlay::drawRect):
Stop painting region-indicating borders into the overlay (see RenderLayerBacking changes).
(WebCore::InteractionRegionOverlay::mouseEvent):
Correctly map into layer coordinates. For now this is a no-op because we're using
the root layer, but it will be important in a future patch where we use regions
on a per-layer basis.
(WebCore::DebugPageOverlays::shouldPaintOverlayIntoLayer):
- Source/WebCore/page/DebugPageOverlays.h:
(WebCore::DebugPageOverlays::shouldPaintOverlayIntoLayerForRegionType):
- Source/WebCore/rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintDebugOverlays):
(WebCore::RenderLayerBacking::paintContents):
Paint region-indicating borders into the layer, instead of into the page overlay.
This will make them correctly scroll along with the content, and layer correctly.
Canonical link: https://commits.webkit.org/251337@main
- 10:36 AM Changeset in webkit [295290] by
-
- 15 edits1 copy in trunk
REGRESSION (r291302): editing/secure-input tests fail when run while a password input is focused on the system
https://bugs.webkit.org/show_bug.cgi?id=241324
rdar://94184618
Reviewed by Alexey Proskuryakov.
The tests in
editing/secure-input
fail after the removal ofWebCoreTestShim
in r291302, if a
secure text field is focused anywhere on the system while the tests are running. This is because we
now call into the real systemIsSecureEventInputEnabled()
API during these tests, instead of the
shimmed version for testing.
Since interposing these API functions apparently doesn't work on M1 Macs, we can't use this
technique to ensure that these tests are robust moving forward; instead, introduce and use testing-
only SPI (and IPI) to consult whether or not we're currently editing a secure input.
See below for more details.
- Source/WebKit/UIProcess/API/mac/WKWebViewPrivateForTestingMac.h:
- Source/WebKit/UIProcess/API/mac/WKWebViewTestingMac.mm:
(-[WKWebView _secureEventInputEnabledForTesting]):
Add testing-only SPI on WKWebView to return whether or not we're in a secure input, as an
alternative to calling into the actualIsSecureEventInputEnabled()
API.
- Source/WebKitLegacy/WebKitLegacy.xcodeproj/project.pbxproj:
- Source/WebKitLegacy/mac/WebView/WebHTMLView.mm:
(-[WebHTMLView _secureEventInputEnabledForTesting]):
- Source/WebKitLegacy/mac/WebView/WebHTMLViewForTestingMac.h: Copied from Source/WebKit/UIProcess/API/mac/WKWebViewPrivateForTestingMac.h.
Add a testing-only header file that's internal (i.e. non-exported), but imported in DumpRenderTree
through a Source-relative header include path. At the moment, this only contains a method to check
whether or not we're currently editing a secure text input, as an alternative to calling into
IsSecureEventInputEnabled()
.
- Tools/DumpRenderTree/TestRunner.cpp:
(getSecureEventInputIsEnabledCallback):
(TestRunner::isSecureEventInputEnabled const):
Adjust DumpRenderTree to consult
-[WebHTMLView _secureEventInputEnabledForTesting]
.
- Tools/DumpRenderTree/TestRunner.h:
- Tools/DumpRenderTree/mac/Configurations/Base.xcconfig:
Add a relative include path on DumpRenderTree, so that we can use
WebHTMLViewForTestingMac.h
in
DumpRenderTree without having to introduce new WebKitLegacy SPI.
- Tools/DumpRenderTree/mac/TestRunnerMac.mm:
(TestRunner::isSecureEventInputEnabled const):
- Tools/WebKitTestRunner/PlatformWebView.h:
(WTR::PlatformWebView::platformView const):
(WTR::PlatformWebView::platformWindow const):
(WTR::PlatformWebView::platformView): Deleted.
(WTR::PlatformWebView::platformWindow): Deleted.
Mark
platformView
const so that it can be invoked fromisSecureEventInputEnabled
, and also mark
platformWindow
const for consistency.
- Tools/WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::didReceiveSynchronousMessageFromInjectedBundle):
- Tools/WebKitTestRunner/gtk/PlatformWebViewGtk.cpp:
(WTR::PlatformWebView::isSecureEventInputEnabled const):
- Tools/WebKitTestRunner/ios/PlatformWebViewIOS.mm:
(WTR::PlatformWebView::isSecureEventInputEnabled const):
- Tools/WebKitTestRunner/libwpe/PlatformWebViewLibWPE.cpp:
(WTR::PlatformWebView::isSecureEventInputEnabled const):
- Tools/WebKitTestRunner/mac/PlatformWebViewMac.mm:
(WTR::PlatformWebView::isSecureEventInputEnabled const):
Add a new
isSecureEventInputEnabled
method on thePlatformWebView
, and adjust WebKitTestRunner
to consult-[WKWebView _secureEventInputEnabledForTesting]
.
- Tools/WebKitTestRunner/win/PlatformWebViewWin.cpp:
(WTR::PlatformWebView::isSecureEventInputEnabled const):
Canonical link: https://commits.webkit.org/251336@main
- 8:57 AM Changeset in webkit [295289] by
-
- 1 edit2 adds in trunk
[iOS 15] Unable to type in Google Docs with a hardware keyboard without refocusing editor
https://bugs.webkit.org/show_bug.cgi?id=241308
rdar://90755619
Reviewed by Tim Horton.
After the changes in r277265, we no longer call into
-reloadInputViews
when starting an input
session after programmatically focusing an editable container withinputmode="none"
, with a
hardware keyboard attached. This is because-_shouldShowKeyboardForElement:
returnsNO
(due to
inputmode none), so we bail early at this check:
`
if (!shouldShowInputView information.elementType == WebKit::InputType::None) { _page->setIsShowingInputViewForFocusedElement(false);
return;
}
`
As a result, UIKit never resets UIKeyboardImpl's input delegate, which should now be the
WKContentView
, and thus never consults whether we require key events (-requiresKeyEvents
), which
in turn means that-handleKeyWebEvent:withCompletionHandler:
is never invoked on the content view,
so we never dispatch key events to the page.
In the normal, non-editable key event case, we lazily call
-reloadInputViews
in
-_handleKeyUIEvent:
(which is called just before keyboard WebEvents start getting dispatched by
UIKit). However, since we're still focusing an editable element in this case, we don't end up going
down this codepath.
When the hardware keyboard is not connected, avoiding the call to
-reloadInputViews
is expected,
since we aren't showing a keyboard anyways due to the fact that the element was programmatically
focused (so the user has no way of typing or dispatching key events, in the first place).
And finally, when the
inputmode
is not none,_isFocusingElementWithKeyboard
is set toYES
, so
we begin the input session and call-reloadInputViews
as normal.
It's only in this
inputmode=none
case with both the hardware keyboard attached and the editable
container being programmatically focused, where we end up in a state where the user can type with a
hardware keyboard, but we haven't informed UIKit that we should receive key events.
We can fix this by consulting a separate
-_shouldShowKeyboardForElementIgnoringInputMode:
instead
which allows us to follow the normal routine for focusing an editable element withinputmode="none"
which includes zooming to reveal the focused element if it's on-screen and not hidden, as well as
calling the related delegate methods; the only difference is that we avoid showing the UCB or
software keyboard, by returningYES
from-_disableAutomaticKeyboardUI
in this case.
- LayoutTests/fast/forms/ios/keydown-in-hidden-contenteditable-with-inputmode-none-expected.txt: Added.
- LayoutTests/fast/forms/ios/keydown-in-hidden-contenteditable-with-inputmode-none.html: Added.
Add a new layout test to simulate typing in Google Docs with a hardware keyboard (i.e., focus a
hidden contenteditable container withinputmode="none"
), and verify that we dispatch key events to
the focused editable element.
- Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _elementTypeRequiresAccessoryView:]):
(-[WKContentView _shouldShowKeyboardForElement:]):
(-[WKContentView _shouldShowKeyboardForElementIgnoringInputMode:]):
Split this helper method into two versions (one of which ignores
inputmode=none
). See above for
more details.
(-[WKContentView _elementDidFocus:userIsInteracting:blurPreviousNode:activityStateChanges:userObject:]):
Canonical link: https://commits.webkit.org/251335@main
- 8:53 AM Changeset in webkit [295288] by
-
- 6 edits in trunk/Tools/Scripts
git webkit setup
hard codes the path to Xcode in .git/hooks/pre-commit
https://bugs.webkit.org/show_bug.cgi?id=241284
<rdar://problem/94435371>
Reviewed by Tim Horton.
- Tools/Scripts/libraries/webkitscmpy/setup.py: Bump version.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/init.py: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/test/hooks/prepare-commit-msg:
- Tools/Scripts/hooks/pre-commit: Use
git
instead of git path. - Tools/Scripts/hooks/prepare-commit-msg: Ditto.
- Tools/Scripts/libraries/webkitscmpy/webkitscmpy/program/setup.py:
(Setup.git): Remove
git
executable path.
Canonical link: https://commits.webkit.org/251334@main
- 8:22 AM Changeset in webkit [295287] by
-
- 3 edits in trunk/Source
Eagerly soft link Data Detection frameworks
https://bugs.webkit.org/show_bug.cgi?id=241267
Reviewed by Geoffrey Garen.
Eagerly soft link Data Detection frameworks in the WebContent process. There are two motivations behind this change.
First, soft linking frameworks may lead to communication with launchd. Doing the soft linking before the WebContent
process has finished launching, will help our effort in blocking launchd post launch. Second, the data detection
frameworks are normally used in every WebContent process, and eagerly soft linking them should be a performance
improvement. Ideally, these frameworks should be hard linked or weak linked. However, that would most likely create
cycles in the build dependencies.
- Source/WebCore/PAL/pal/cocoa/DataDetectorsCoreSoftLink.h:
- Source/WebCore/PAL/pal/cocoa/DataDetectorsCoreSoftLink.mm:
- Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::softlinkDataDetectorsFrameworks):
(WebKit::WebProcess::platformInitializeWebProcess):
Canonical link: https://commits.webkit.org/251333@main
- 7:34 AM Changeset in webkit [295286] by
-
- 6 edits in trunk
Revert of revert of [MSE][GStreamer] Honor MP4 edit lists, bis
https://bugs.webkit.org/show_bug.cgi?id=231019
Reviewed by Xabier Rodriguez-Calvar.
This patch reintroduces https://commits.webkit.org/243426@main with
some corrections that avoid the problems detected in
https://bugs.webkit.org/show_bug.cgi?id=233861, which motivated the
original patch revert.
Original author: Alicia Boya Garcia <aboya@igalia.com>
Source/WebCore:
This patch takes into consideration the GstSegment attached to a
sample to offset the PTS and DTS. This ensures accurate timestamps are
obtained for MP4 files containing edit lists (commonly necessary for
files containing video with B frames to have PTS starting at zero).
Before this was implemented, a workaround was in place based on a
heuristic (DTS = 0 && PTS > 0 && PTS < 0.1). The workaround is
preserved for the sake of content without proper edit lists, but
any edit list takes preference.
The time fudge factor has been modified from 0.083 seconds up to
0.100 seconds to accomodate the size of the empty edit in test.mp4
used by Web Platform Tests.
This test fixes improves expectation results and fixes two subtests in
imported/w3c/web-platform-tests/media-source/mediasource-remove.html.
This is a reworked version that avoids using gst_sample_set_buffer()
which is not available on GStreamer 1.14, and fixes an issue where
frames that would get a negative DTS were not being enqueued properly.
LayoutTests:
Update expectations for mediasource-remove.html in the GStreamer
ports, as a couple subtests get fixed.
- LayoutTests/platform/glib/imported/w3c/web-platform-tests/media-source/mediasource-remove-expected.txt:
- Source/WebCore/Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::currentTimeFudgeFactor):
- Source/WebCore/platform/graphics/SourceBufferPrivate.h:
(WebCore::SourceBufferPrivate::timeFudgeFactor const):
- Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h:
(WebCore::toGstClockTime):
- Source/WebCore/platform/graphics/gstreamer/MediaSampleGStreamer.cpp:
(WebCore::MediaSampleGStreamer::MediaSampleGStreamer):
- Source/WebCore/platform/graphics/gstreamer/mse/AppendPipeline.cpp:
(WebCore::bufferTimeToStreamTime):
(WebCore::AppendPipeline::appsinkNewSample):
(WebCore::matroskademuxForceSegmentStartToEqualZero): Now we reset segment.time in addition to segment.start. This avoids the regressions.
Canonical link: https://commits.webkit.org/251332@main
- 7:18 AM Changeset in webkit [295285] by
-
- 68 edits16 deletes in trunk
Unreviewed, reverting r295278.
https://bugs.webkit.org/show_bug.cgi?id=241336
Causes crashes
Reverted changeset:
"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
https://commits.webkit.org/r295278
Canonical link: https://commits.webkit.org/251331@main
- 6:42 AM Changeset in webkit [295284] by
-
- 8 edits in trunk
RemoteGraphicsContextGL autogeneration broken after 249754@main, 251204@main, 251325@main
https://bugs.webkit.org/show_bug.cgi?id=241328
Patch by Kimmo Kinnunen <kkinnunen@apple.com> on 2022-06-06
Unreviewed, build fix.
Verifieable by running Tools/Scripts/generate-gpup-webgl and
observing no change.
Make generate-gpup-webgl add NOLINT for getIntegeri_v() to skip
warning about underscores in methods.
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.cpp:
(WebKit::RemoteGraphicsContextGL::paintRenderingResultsToPixelBuffer):
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.h:
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h:
(getInternalformativ):
(paintRenderingResultsToPixelBuffer): Deleted.
- Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
- Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp:
(WebKit::RemoteGraphicsContextGLProxy::paintRenderingResultsToPixelBuffer): Deleted.
- Tools/Scripts/generate-gpup-webgl:
Canonical link: https://commits.webkit.org/251330@main
- 6:11 AM Changeset in webkit [295283] by
-
- 3 edits in trunk/Source/WebCore
Implement FlexFormattingContext::usedContentHeight
https://bugs.webkit.org/show_bug.cgi?id=241325
Reviewed by Antti Koivisto.
Update the RenderFlexibleBox's content height.
- Source/WebCore/layout/formattingContexts/flex/FlexFormattingContext.cpp:
(WebCore::Layout::FlexFormattingContext::usedContentHeight const):
- Source/WebCore/layout/integration/flex/LayoutIntegrationFlexLayout.cpp:
(WebCore::LayoutIntegration::FlexLayout::contentLogicalHeight const):
- Source/WebCore/rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutUsingFlexFormattingContext):
Canonical link: https://commits.webkit.org/251329@main
- 6:08 AM Changeset in webkit [295282] by
-
- 1 edit in trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp
Populate canUseForFlexLayout with unsupported styles and content
https://bugs.webkit.org/show_bug.cgi?id=241323
Reviewed by Tim Nguyen.
This is in preparation for being able to run WPT tests (filter out unsupported content).
- Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp:
(WebCore::LayoutIntegration::canUseForFlexLayout):
Canonical link: https://commits.webkit.org/251328@main
- 5:10 AM Changeset in webkit [295281] by
-
- 2 edits3 moves57 adds in trunk/LayoutTests/imported/w3c
Re-import css/css-text/text-align/ WPT
https://bugs.webkit.org/show_bug.cgi?id=241305
Reviewed by Cameron McCormack.
Upstream revision: https://github.com/web-platform-tests/wpt/commit/a6101f13a28eb78dbef77e276ddee75052a8a2d4
- LayoutTests/imported/w3c/resources/resource-files.json:
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-center-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-center.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-default-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-default.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-end-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-end.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-justify-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-justify.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-start-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-center-last-start.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-default-last-default-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-default-last-default.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-center-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-center.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-default-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-default.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-end-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-end.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-justify-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-justify.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-start-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-end-last-start.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-center-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-center.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-default-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-default.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-end-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-end.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-justify-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-justify.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-start-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-justify-last-start.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-center-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-center-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-center.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-end-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-end-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-end.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-justify-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-justify-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-justify-rtl-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-justify-rtl-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-justify-rtl.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-justify.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-simple-expected.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-expected.html.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-simple-ref.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-ref.html.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-simple.html: Renamed from LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last.html.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-start-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-start-ref.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-last-start.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-center-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-center.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-default-expected.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-default.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-end-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-end.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-justify-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-justify.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-start-expected-mismatch.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/text-align-start-last-start.html: Added.
- LayoutTests/imported/w3c/web-platform-tests/css/css-text/text-align/w3c-import.log:
Canonical link: https://commits.webkit.org/251327@main
- 4:35 AM Changeset in webkit [295280] by
-
- 2 edits in trunk/Source/WebCore/platform/graphics
[Linux] Fix and improve format handling in DMABufFormat, TextureMapperPlatformLayerProxyDMABuf
https://bugs.webkit.org/show_bug.cgi?id=241326
Patch by Žan Doberšek <zdobersek@igalia.com> on 2022-06-06
Reviewed by Miguel Gomez.
In the DMABufFormat header, VYUY and AYUV format definitions are fixed to use
the correct FourCC values. In DMABufFormat::create(), a macro is used to map
FourCC values to corresponding DMABufFormat definitions.
In TextureMapperPlatformLayerProxyDMABuf, missing packed-YUV formats are
added to the switch statement, and properly ordered.
- Source/WebCore/platform/graphics/gbm/DMABufFormat.h:
(WebCore::DMABufFormat::create<DMABufFormat::FourCC::VYUY>):
(WebCore::DMABufFormat::create<DMABufFormat::FourCC::AYUV>):
(WebCore::DMABufFormat::create):
- Source/WebCore/platform/graphics/texmap/TextureMapperPlatformLayerProxyDMABuf.cpp:
(WebCore::TextureMapperPlatformLayerProxyDMABuf::DMABufLayer::paintToTextureMapper):
Canonical link: https://commits.webkit.org/251326@main
- 1:43 AM Changeset in webkit [295279] by
-
- 22 edits3 adds in trunk
Add OES_draw_buffers_indexed WebGL extension support
https://bugs.webkit.org/show_bug.cgi?id=222430
Patch by Alexey Knyazev <3479527+lexaknyazev@users.noreply.github.com> on 2022-06-06
Reviewed by Kimmo Kinnunen.
- Added the entrypoints defined by the extension
- Added getIntegeri_v and getIntegeri context functions
- LayoutTests/TestExpectations:
- Source/WebCore/CMakeLists.txt:
- Source/WebCore/DerivedSources-input.xcfilelist:
- Source/WebCore/DerivedSources-output.xcfilelist:
- Source/WebCore/DerivedSources.make:
- Source/WebCore/Sources.txt:
- Source/WebCore/WebCore.xcodeproj/project.pbxproj:
- Source/WebCore/bindings/js/JSDOMConvertWebGL.cpp:
(WebCore::convertToJSValue):
- Source/WebCore/html/canvas/OESDrawBuffersIndexed.cpp: Added.
(WebCore::OESDrawBuffersIndexed::OESDrawBuffersIndexed):
(WebCore::OESDrawBuffersIndexed::getName const):
(WebCore::OESDrawBuffersIndexed::supported):
(WebCore::OESDrawBuffersIndexed::enableiOES):
(WebCore::OESDrawBuffersIndexed::disableiOES):
(WebCore::OESDrawBuffersIndexed::blendEquationiOES):
(WebCore::OESDrawBuffersIndexed::blendEquationSeparateiOES):
(WebCore::OESDrawBuffersIndexed::blendFunciOES):
(WebCore::OESDrawBuffersIndexed::blendFuncSeparateiOES):
(WebCore::OESDrawBuffersIndexed::colorMaskiOES):
- Source/WebCore/html/canvas/OESDrawBuffersIndexed.h: Added.
- Source/WebCore/html/canvas/OESDrawBuffersIndexed.idl: Added.
- Source/WebCore/html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getIndexedParameter):
(WebCore::WebGL2RenderingContext::getIndexedBooleanArrayParameter):
(WebCore::WebGL2RenderingContext::getExtension):
(WebCore::WebGL2RenderingContext::getSupportedExtensions):
- Source/WebCore/html/canvas/WebGL2RenderingContext.h:
- Source/WebCore/html/canvas/WebGLExtension.h:
- Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:
(WebCore::WebGLRenderingContextBase::extensionIsEnabled):
(WebCore::WebGLRenderingContextBase::loseExtensions):
- Source/WebCore/html/canvas/WebGLRenderingContextBase.h:
- Source/WebCore/platform/graphics/GraphicsContextGL.h:
(WebCore::GraphicsContextGL::getIntegeri):
- Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.cpp:
(WebCore::GraphicsContextGLANGLE::getIntegeri_v):
(WebCore::GraphicsContextGLANGLE::enableiOES):
(WebCore::GraphicsContextGLANGLE::disableiOES):
(WebCore::GraphicsContextGLANGLE::blendEquationiOES):
(WebCore::GraphicsContextGLANGLE::blendEquationSeparateiOES):
(WebCore::GraphicsContextGLANGLE::blendFunciOES):
(WebCore::GraphicsContextGLANGLE::blendFuncSeparateiOES):
(WebCore::GraphicsContextGLANGLE::colorMaskiOES):
- Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h:
- Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.cpp:
(WebCore::GraphicsContextGLOpenGL::getIntegeri_v):
(WebCore::GraphicsContextGLOpenGL::enableiOES):
(WebCore::GraphicsContextGLOpenGL::disableiOES):
(WebCore::GraphicsContextGLOpenGL::blendEquationiOES):
(WebCore::GraphicsContextGLOpenGL::blendEquationSeparateiOES):
(WebCore::GraphicsContextGLOpenGL::blendFunciOES):
(WebCore::GraphicsContextGLOpenGL::blendFuncSeparateiOES):
(WebCore::GraphicsContextGLOpenGL::colorMaskiOES):
- Source/WebCore/platform/graphics/opengl/GraphicsContextGLOpenGL.h:
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGL.messages.in:
- Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLFunctionsGenerated.h:
(getIntegeri_v):
(enableiOES):
(disableiOES):
(blendEquationiOES):
(blendEquationSeparateiOES):
(blendFunciOES):
(blendFuncSeparateiOES):
(colorMaskiOES):
- Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.h:
- Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxyFunctionsGenerated.cpp:
(WebKit::RemoteGraphicsContextGLProxy::getIntegeri_v):
(WebKit::RemoteGraphicsContextGLProxy::enableiOES):
(WebKit::RemoteGraphicsContextGLProxy::disableiOES):
(WebKit::RemoteGraphicsContextGLProxy::blendEquationiOES):
(WebKit::RemoteGraphicsContextGLProxy::blendEquationSeparateiOES):
(WebKit::RemoteGraphicsContextGLProxy::blendFunciOES):
(WebKit::RemoteGraphicsContextGLProxy::blendFuncSeparateiOES):
(WebKit::RemoteGraphicsContextGLProxy::colorMaskiOES):
Canonical link: https://commits.webkit.org/251325@main