[webkit-changes] [286905] trunk/Source
Title: [286905] trunk/Source Revision 286905 Author simon.fra...@apple.com Date 2021-12-10 23:17:48 -0800 (Fri, 10 Dec 2021) Log Message Scrolling can drop frames when CoreAnimation commits take a long time https://bugs.webkit.org/show_bug.cgi?id=234160 Reviewed by Tim Horton. In r261985 I added a mechanism that has the scrolling thread wait for the main thread to finish a rendering update, and, if the main thread fails to complete in time, then the scrolling thread commits. This allows for scrolling synchronization when the main thread is responsive, but smooth scrolling when the main thread is busy. However, r261985 only waits for WebKit work to finish; what we really care about is whether the main thread completes its CA commit in time (because that determines whether the scroll shows on the screen). So plumb through pre-/post-commit hooks from TiledCoreAnimationDrawingArea, which already had them for inspector instrumentation. Then have ThreadedScrollingTree notify m_stateCondition in didCompletePlatformRenderingUpdate(), instead of didCompleteRenderingUpdate(). Source/WebCore: Also, now we can call the inspector hooks from Page, rather than out in TiledCoreAnimationDrawingArea. * page/Page.cpp: (WebCore::Page::willStartPlatformRenderingUpdate): (WebCore::Page::didCompletePlatformRenderingUpdate): * page/Page.h: * page/scrolling/ScrollingCoordinator.h: (WebCore::ScrollingCoordinator::willStartPlatformRenderingUpdate): (WebCore::ScrollingCoordinator::didCompletePlatformRenderingUpdate): * page/scrolling/ThreadedScrollingTree.cpp: (WebCore::ThreadedScrollingTree::didCompletePlatformRenderingUpdate): (WebCore::ThreadedScrollingTree::didCompleteRenderingUpdate): Deleted. * page/scrolling/ThreadedScrollingTree.h: * page/scrolling/mac/ScrollingCoordinatorMac.h: * page/scrolling/mac/ScrollingCoordinatorMac.mm: (WebCore::ScrollingCoordinatorMac::didCompletePlatformRenderingUpdate): Source/WebKit: Also, now we can call the inspector hooks from Page, rather than out in TiledCoreAnimationDrawingArea. * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::willStartPlatformRenderingUpdate): (WebKit::WebPage::didCompletePlatformRenderingUpdate): * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm: (WebKit::TiledCoreAnimationDrawingArea::addCommitHandlers): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/page/Page.cpp trunk/Source/WebCore/page/Page.h trunk/Source/WebCore/page/scrolling/ScrollingCoordinator.h trunk/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp trunk/Source/WebCore/page/scrolling/ThreadedScrollingTree.h trunk/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.h trunk/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp trunk/Source/WebKit/WebProcess/WebPage/WebPage.h trunk/Source/WebKit/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm Diff Modified: trunk/Source/WebCore/ChangeLog (286904 => 286905) --- trunk/Source/WebCore/ChangeLog 2021-12-11 07:00:12 UTC (rev 286904) +++ trunk/Source/WebCore/ChangeLog 2021-12-11 07:17:48 UTC (rev 286905) @@ -1,3 +1,42 @@ +2021-12-10 Simon Fraser + +Scrolling can drop frames when CoreAnimation commits take a long time +https://bugs.webkit.org/show_bug.cgi?id=234160 + + +Reviewed by Tim Horton. + +In r261985 I added a mechanism that has the scrolling thread wait for the main thread to +finish a rendering update, and, if the main thread fails to complete in time, then the +scrolling thread commits. This allows for scrolling synchronization when the main thread is +responsive, but smooth scrolling when the main thread is busy. + +However, r261985 only waits for WebKit work to finish; what we really care about is whether +the main thread completes its CA commit in time (because that determines whether the scroll +shows on the screen). + +So plumb through pre-/post-commit hooks from TiledCoreAnimationDrawingArea, which already +had them for inspector instrumentation. Then have ThreadedScrollingTree notify +m_stateCondition in didCompletePlatformRenderingUpdate(), instead of +didCompleteRenderingUpdate(). + +Also, now we can call the inspector hooks from Page, rather than out in TiledCoreAnimationDrawingArea. + +* page/Page.cpp: +(WebCore::Page::willStartPlatformRenderingUpdate): +(WebCore::Page::didCompletePlatformRenderingUpdate): +* page/Page.h: +* page/scrolling/ScrollingCoordinator.h: +(WebCore::ScrollingCoordinator::willStartPlatformRenderingUpdate): +(WebCore::ScrollingCoordinator::didCompletePlatformRenderingUpdate): +* page/scrolling/ThreadedScrollingTree.cpp: +(WebCore::ThreadedScrollingTree::didCompletePlatformRenderingUpdate): +
[webkit-changes] [286904] trunk
Title: [286904] trunk Revision 286904 Author cdu...@apple.com Date 2021-12-10 23:00:12 -0800 (Fri, 10 Dec 2021) Log Message Implement AbortSignal.throwIfAborted https://bugs.webkit.org/show_bug.cgi?id=234127 Reviewed by Darin Adler. LayoutTests/imported/w3c: Resync WPT test from upstream to gain test coverage and rebaseline it. * web-platform-tests/dom/abort/event.any-expected.txt: * web-platform-tests/dom/abort/event.any.js: * web-platform-tests/dom/abort/event.any.worker-expected.txt: Source/WebCore: Implement AbortSignal.throwIfAborted as per: - https://dom.spec.whatwg.org/#dom-abortsignal-throwifaborted No new tests, updated / rebaselined existing test. * dom/AbortSignal.cpp: (WebCore::AbortSignal::throwIfAborted): * dom/AbortSignal.h: * dom/AbortSignal.idl: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.js trunk/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.worker-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/AbortSignal.cpp trunk/Source/WebCore/dom/AbortSignal.h trunk/Source/WebCore/dom/AbortSignal.idl Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (286903 => 286904) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-11 06:40:16 UTC (rev 286903) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-11 07:00:12 UTC (rev 286904) @@ -1,3 +1,16 @@ +2021-12-10 Chris Dumez + +Implement AbortSignal.throwIfAborted +https://bugs.webkit.org/show_bug.cgi?id=234127 + +Reviewed by Darin Adler. + +Resync WPT test from upstream to gain test coverage and rebaseline it. + +* web-platform-tests/dom/abort/event.any-expected.txt: +* web-platform-tests/dom/abort/event.any.js: +* web-platform-tests/dom/abort/event.any.worker-expected.txt: + 2021-12-10 Alexey Shvayka Setting "onselectionchange" content attribute should add an event listener Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any-expected.txt (286903 => 286904) --- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any-expected.txt 2021-12-11 06:40:16 UTC (rev 286903) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any-expected.txt 2021-12-11 07:00:12 UTC (rev 286904) @@ -7,6 +7,10 @@ PASS AbortController abort(reason) should set signal.reason PASS aborting AbortController without reason creates an "AbortError" DOMException PASS AbortController abort(undefined) creates an "AbortError" DOMException +PASS AbortController abort(null) should set signal.reason PASS static aborting signal should have right properties PASS static aborting signal with reason should set signal.reason +PASS throwIfAborted() should throw abort.reason if signal aborted +PASS throwIfAborted() should throw primitive abort.reason if signal aborted +PASS throwIfAborted() should not throw if signal not aborted Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.js (286903 => 286904) --- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.js 2021-12-11 06:40:16 UTC (rev 286903) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/abort/event.any.js 2021-12-11 07:00:12 UTC (rev 286904) @@ -111,6 +111,19 @@ }, "AbortController abort(undefined) creates an \"AbortError\" DOMException"); test(t => { + const controller = new AbortController(); + const signal = controller.signal; + + assert_true("reason" in signal, "signal has reason property"); + assert_equals(signal.reason, undefined, "signal.reason is initially undefined"); + + controller.abort(null); + + assert_true(signal.aborted, "signal.aborted"); + assert_equals(signal.reason, null, "signal.reason"); +}, "AbortController abort(null) should set signal.reason"); + +test(t => { const signal = AbortSignal.abort(); assert_true(signal.aborted, "signal.aborted"); @@ -126,4 +139,23 @@ assert_equals(signal.reason, reason, "signal.reason"); }, "static aborting signal with reason should set signal.reason"); +test(t => { + const reason = new Error('boom'); + const signal = AbortSignal.abort(reason); + assert_true(signal.aborted); + assert_throws_exactly(reason, () => signal.throwIfAborted()); +}, "throwIfAborted() should throw abort.reason if signal aborted"); + +test(t => { + const signal = AbortSignal.abort('hello'); + assert_true(signal.aborted); + assert_throws_exactly('hello', () => signal.throwIfAborted()); +}, "throwIfAborted() should throw primitive abort.reason if signal aborted"); + +test(t => { + const controller = new AbortController(); + assert_false(controller.signal.aborted); + controller.signal.throwIfAborted(); +}, "throwIfAborted() should not throw if signal not aborted"); + done(); Modified:
[webkit-changes] [286903] tags/Safari-613.1.11.3/
Title: [286903] tags/Safari-613.1.11.3/ Revision 286903 Author kocsen_ch...@apple.com Date 2021-12-10 22:40:16 -0800 (Fri, 10 Dec 2021) Log Message Tag Safari-613.1.11.3. Added Paths tags/Safari-613.1.11.3/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286902] branches/safari-613.1.11-branch/Source
Title: [286902] branches/safari-613.1.11-branch/Source Revision 286902 Author kocsen_ch...@apple.com Date 2021-12-10 22:20:57 -0800 (Fri, 10 Dec 2021) Log Message Versioning. WebKit-7613.1.11.3 Modified Paths branches/safari-613.1.11-branch/Source/_javascript_Core/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebCore/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebCore/PAL/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebGPU/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebInspectorUI/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebKit/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig Diff Modified: branches/safari-613.1.11-branch/Source/_javascript_Core/Configurations/Version.xcconfig (286901 => 286902) --- branches/safari-613.1.11-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2021-12-11 05:11:13 UTC (rev 286901) +++ branches/safari-613.1.11-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2021-12-11 06:20:57 UTC (rev 286902) @@ -24,7 +24,7 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 2; +MICRO_VERSION = 3; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-613.1.11-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (286901 => 286902) --- branches/safari-613.1.11-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig 2021-12-11 05:11:13 UTC (rev 286901) +++ branches/safari-613.1.11-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig 2021-12-11 06:20:57 UTC (rev 286902) @@ -24,7 +24,7 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 2; +MICRO_VERSION = 3; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-613.1.11-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (286901 => 286902) --- branches/safari-613.1.11-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2021-12-11 05:11:13 UTC (rev 286901) +++ branches/safari-613.1.11-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2021-12-11 06:20:57 UTC (rev 286902) @@ -24,7 +24,7 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 2; +MICRO_VERSION = 3; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-613.1.11-branch/Source/WebCore/Configurations/Version.xcconfig (286901 => 286902) --- branches/safari-613.1.11-branch/Source/WebCore/Configurations/Version.xcconfig 2021-12-11 05:11:13 UTC (rev 286901) +++ branches/safari-613.1.11-branch/Source/WebCore/Configurations/Version.xcconfig 2021-12-11 06:20:57 UTC (rev 286902) @@ -24,7 +24,7 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 2; +MICRO_VERSION = 3; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-613.1.11-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (286901 => 286902) --- branches/safari-613.1.11-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2021-12-11 05:11:13 UTC (rev 286901) +++ branches/safari-613.1.11-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2021-12-11 06:20:57 UTC (rev 286902) @@ -24,7 +24,7 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 2; +MICRO_VERSION = 3; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-613.1.11-branch/Source/WebGPU/Configurations/Version.xcconfig (286901 => 286902) --- branches/safari-613.1.11-branch/Source/WebGPU/Configurations/Version.xcconfig 2021-12-11 05:11:13 UTC (rev 286901) +++ branches/safari-613.1.11-branch/Source/WebGPU/Configurations/Version.xcconfig 2021-12-11 06:20:57 UTC (rev 286902) @@ -24,7 +24,7 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 2; +MICRO_VERSION = 3; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-613.1.11-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (286901 => 286902) --- branches/safari-613.1.11-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2021-12-11 05:11:13 UTC (rev 286901) +++ branches/safari-613.1.11-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2021-12-11 06:20:57 UTC (rev 286902) @@ -1,7 +1,7 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11;
[webkit-changes] [286901] trunk/Source/JavaScriptCore
Title: [286901] trunk/Source/_javascript_Core Revision 286901 Author ysuz...@apple.com Date 2021-12-10 21:11:13 -0800 (Fri, 10 Dec 2021) Log Message [JSC] Wasm catch thunk should be JIT code to use ExceptionHandlerPtrTag https://bugs.webkit.org/show_bug.cgi?id=234183 Reviewed by Tadeu Zagallo. ExceptionHandlerPtrTag is only usable for JITCode. Thus, we should not tag wasm catch LLInt code with it. This patch fixes it by using trampoline. This is the same to normal LLInt's handleCatchThunk. * assembler/JITOperationList.cpp: (JSC::JITOperationList::populatePointersInJavaScriptCoreForLLInt): * llint/LLIntExceptions.cpp: (JSC::LLInt::handleWasmCatch): (JSC::LLInt::handleWasmCatchAll): * llint/LLIntThunks.cpp: (JSC::LLInt::handleWasmCatchThunk): (JSC::LLInt::handleWasmCatchAllThunk): * llint/LLIntThunks.h: Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/assembler/JITOperationList.cpp trunk/Source/_javascript_Core/llint/LLIntExceptions.cpp trunk/Source/_javascript_Core/llint/LLIntThunks.cpp trunk/Source/_javascript_Core/llint/LLIntThunks.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (286900 => 286901) --- trunk/Source/_javascript_Core/ChangeLog 2021-12-11 03:43:48 UTC (rev 286900) +++ trunk/Source/_javascript_Core/ChangeLog 2021-12-11 05:11:13 UTC (rev 286901) @@ -1,3 +1,23 @@ +2021-12-10 Yusuke Suzuki + +[JSC] Wasm catch thunk should be JIT code to use ExceptionHandlerPtrTag +https://bugs.webkit.org/show_bug.cgi?id=234183 + +Reviewed by Tadeu Zagallo. + +ExceptionHandlerPtrTag is only usable for JITCode. Thus, we should not tag wasm catch LLInt code with it. +This patch fixes it by using trampoline. This is the same to normal LLInt's handleCatchThunk. + +* assembler/JITOperationList.cpp: +(JSC::JITOperationList::populatePointersInJavaScriptCoreForLLInt): +* llint/LLIntExceptions.cpp: +(JSC::LLInt::handleWasmCatch): +(JSC::LLInt::handleWasmCatchAll): +* llint/LLIntThunks.cpp: +(JSC::LLInt::handleWasmCatchThunk): +(JSC::LLInt::handleWasmCatchAllThunk): +* llint/LLIntThunks.h: + 2021-12-10 Michael Saboff https://bugs.webkit.org/show_bug.cgi?id=234173 Modified: trunk/Source/_javascript_Core/assembler/JITOperationList.cpp (286900 => 286901) --- trunk/Source/_javascript_Core/assembler/JITOperationList.cpp 2021-12-11 03:43:48 UTC (rev 286900) +++ trunk/Source/_javascript_Core/assembler/JITOperationList.cpp 2021-12-11 05:11:13 UTC (rev 286901) @@ -146,6 +146,10 @@ LLINT_ROUTINE(fuzzer_return_early_from_loop_hint) LLINT_OP(op_catch) +LLINT_OP(wasm_catch) +LLINT_OP(wasm_catch_no_tls) +LLINT_OP(wasm_catch_all) +LLINT_OP(wasm_catch_all_no_tls) LLINT_OP(llint_generic_return_point) LLINT_RETURN_LOCATION(op_get_by_id) Modified: trunk/Source/_javascript_Core/llint/LLIntExceptions.cpp (286900 => 286901) --- trunk/Source/_javascript_Core/llint/LLIntExceptions.cpp 2021-12-11 03:43:48 UTC (rev 286900) +++ trunk/Source/_javascript_Core/llint/LLIntExceptions.cpp 2021-12-11 05:11:13 UTC (rev 286901) @@ -108,6 +108,10 @@ #if ENABLE(WEBASSEMBLY) MacroAssemblerCodeRef handleWasmCatch(OpcodeSize size) { +#if ENABLE(JIT) +if (Options::useJIT()) +return handleWasmCatchThunk(size); +#endif WasmOpcodeID opcode = Wasm::Context::useFastTLS() ? wasm_catch : wasm_catch_no_tls; switch (size) { case OpcodeSize::Narrow: @@ -123,6 +127,10 @@ MacroAssemblerCodeRef handleWasmCatchAll(OpcodeSize size) { +#if ENABLE(JIT) +if (Options::useJIT()) +return handleWasmCatchAllThunk(size); +#endif WasmOpcodeID opcode = Wasm::Context::useFastTLS() ? wasm_catch_all : wasm_catch_all_no_tls; switch (size) { case OpcodeSize::Narrow: Modified: trunk/Source/_javascript_Core/llint/LLIntThunks.cpp (286900 => 286901) --- trunk/Source/_javascript_Core/llint/LLIntThunks.cpp 2021-12-11 03:43:48 UTC (rev 286900) +++ trunk/Source/_javascript_Core/llint/LLIntThunks.cpp 2021-12-11 05:11:13 UTC (rev 286901) @@ -298,6 +298,74 @@ return { }; } +#if ENABLE(WEBASSEMBLY) +MacroAssemblerCodeRef handleWasmCatchThunk(OpcodeSize size) +{ +WasmOpcodeID opcode = Wasm::Context::useFastTLS() ? wasm_catch : wasm_catch_no_tls; +switch (size) { +case OpcodeSize::Narrow: { +static LazyNeverDestroyed> codeRef; +static std::once_flag onceKey; +std::call_once(onceKey, [&] { +codeRef.construct(generateThunkWithJumpTo(LLInt::getCodeFunctionPtr(opcode), "wasm_catch")); +}); +return codeRef; +} +case OpcodeSize::Wide16: { +static LazyNeverDestroyed> codeRef; +static std::once_flag onceKey; +std::call_once(onceKey, [&] { +codeRef.construct(generateThunkWithJumpTo(LLInt::getWide16CodeFunctionPtr(opcode), "wasm_catch16"));
[webkit-changes] [286900] trunk/Source/WebKit
Title: [286900] trunk/Source/WebKit Revision 286900 Author timothy_hor...@apple.com Date 2021-12-10 19:43:48 -0800 (Fri, 10 Dec 2021) Log Message Momentum Event Dispatcher: Magic Mouse doesn't use momentum event dispatcher https://bugs.webkit.org/show_bug.cgi?id=234189 Reviewed by Simon Fraser. * Shared/mac/ScrollingAccelerationCurveMac.mm: (WebKit::fromIOHIDDevice): Fix the FIXME here about the additional fallback values; it turns out Magic Mouse is one device that does not have a value for kIOHIDScrollAccelerationTypeKey, so we need the full fallback chain to support it. * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::sendWheelEvent): Un-wrapping this optional results in losing the engaged state, and sending a garbage ScrollingAccelerationCurve across the wire. The message argument is also an optional, so just pass it along. The result of this bug was that if you had ever used a device with a curve for a given page, and then used a device with no curve, MomentumEventDispatcher would have a garbage curve (from this message trying to "unset" the optional), and a garbage curve results in chaotic scrolling. Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/mac/ScrollingAccelerationCurveMac.mm trunk/Source/WebKit/UIProcess/WebPageProxy.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (286899 => 286900) --- trunk/Source/WebKit/ChangeLog 2021-12-11 03:24:50 UTC (rev 286899) +++ trunk/Source/WebKit/ChangeLog 2021-12-11 03:43:48 UTC (rev 286900) @@ -1,3 +1,28 @@ +2021-12-10 Tim Horton + +Momentum Event Dispatcher: Magic Mouse doesn't use momentum event dispatcher +https://bugs.webkit.org/show_bug.cgi?id=234189 + + +Reviewed by Simon Fraser. + +* Shared/mac/ScrollingAccelerationCurveMac.mm: +(WebKit::fromIOHIDDevice): +Fix the FIXME here about the additional fallback values; it turns out +Magic Mouse is one device that does not have a value for +kIOHIDScrollAccelerationTypeKey, so we need the full fallback chain to support it. + +* UIProcess/WebPageProxy.cpp: +(WebKit::WebPageProxy::sendWheelEvent): +Un-wrapping this optional results in losing the engaged state, and sending +a garbage ScrollingAccelerationCurve across the wire. +The message argument is also an optional, so just pass it along. + +The result of this bug was that if you had ever used a device with a curve +for a given page, and then used a device with no curve, MomentumEventDispatcher +would have a garbage curve (from this message trying to "unset" the optional), +and a garbage curve results in chaotic scrolling. + 2021-12-10 Michael Saboff https://bugs.webkit.org/show_bug.cgi?id=234173 Modified: trunk/Source/WebKit/Shared/mac/ScrollingAccelerationCurveMac.mm (286899 => 286900) --- trunk/Source/WebKit/Shared/mac/ScrollingAccelerationCurveMac.mm 2021-12-11 03:24:50 UTC (rev 286899) +++ trunk/Source/WebKit/Shared/mac/ScrollingAccelerationCurveMac.mm 2021-12-11 03:43:48 UTC (rev 286900) @@ -116,26 +116,37 @@ return std::nullopt; } -// FIXME: There is some additional fallback to implement here, though this seems usually sufficient. -auto scrollAccelerationType = adoptCF(dynamic_cf_cast(IOHIDServiceClientCopyProperty(ioHIDService.get(), CFSTR("HIDScrollAccelerationType"; -if (!scrollAccelerationType) { -RELEASE_LOG(ScrollAnimations, "ScrollingAccelerationCurve::fromIOHIDDevice failed to look up acceleration type"); -return std::nullopt; -} +auto readFixedPointServiceKey = [&] (CFStringRef key) -> std::optional { +auto valueCF = adoptCF(dynamic_cf_cast(IOHIDServiceClientCopyProperty(ioHIDService.get(), key))); +if (!valueCF) +return std::nullopt; +return fromFixedPoint([(NSNumber *)valueCF.get() floatValue]); +}; -auto scrollAccelerationCF = adoptCF(dynamic_cf_cast(IOHIDServiceClientCopyProperty(ioHIDService.get(), scrollAccelerationType.get(; -if (!scrollAccelerationCF) { -RELEASE_LOG(ScrollAnimations, "ScrollingAccelerationCurve::fromIOHIDDevice failed to look up acceleration value"); +auto scrollAcceleration = [&] () -> std::optional { +if (auto scrollAccelerationType = adoptCF(dynamic_cf_cast(IOHIDServiceClientCopyProperty(ioHIDService.get(), CFSTR("HIDScrollAccelerationType") { +if (auto acceleration = readFixedPointServiceKey(scrollAccelerationType.get())) +return acceleration; +} + +if (auto acceleration = readFixedPointServiceKey(CFSTR(kIOHIDMouseScrollAccelerationKey))) +return acceleration; + +if (auto acceleration = readFixedPointServiceKey(CFSTR(kIOHIDScrollAccelerationKey))) +return acceleration; + return std::nullopt; +}(); +if (!scrollAcceleration) { +RELEASE_LOG(ScrollAnimations,
[webkit-changes] [286899] trunk/Source/ThirdParty/ANGLE
Title: [286899] trunk/Source/ThirdParty/ANGLE Revision 286899 Author kpidding...@apple.com Date 2021-12-10 19:24:50 -0800 (Fri, 10 Dec 2021) Log Message [ANGLE] ASTC-HDR is unavailable on some platforms https://bugs.webkit.org/show_bug.cgi?id=234164 Reviewed by Kenneth Russell. Update autogenerated format table to avoid using ASTC_HDR on platforms that don't have the enum. * src/libANGLE/renderer/metal/gen_mtl_format_table.py: (gen_image_map_switch_astc_case_iosmac): (gen_image_map_switch_astc_case_tvos): (gen_image_map_switch_astc_case_tvos.gen_format_assign_code): (gen_image_map_switch_string): (gen_image_mtl_to_angle_switch_string): (gen_mtl_format_caps_init_string): (gen_image_map_switch_astc_case): Deleted. (gen_image_map_switch_astc_case.gen_format_assign_code): Deleted. * src/libANGLE/renderer/metal/mtl_format_map.json: * src/libANGLE/renderer/metal/mtl_format_table_autogen.mm: (rx::mtl::Format::MetalToAngleFormatID): (rx::mtl::Format::init): (rx::mtl::FormatTable::initNativeFormatCapsAutogen): Modified Paths trunk/Source/ThirdParty/ANGLE/ChangeLog trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/gen_mtl_format_table.py trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_format_map.json trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/mtl_format_table_autogen.mm Diff Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (286898 => 286899) --- trunk/Source/ThirdParty/ANGLE/ChangeLog 2021-12-11 03:02:38 UTC (rev 286898) +++ trunk/Source/ThirdParty/ANGLE/ChangeLog 2021-12-11 03:24:50 UTC (rev 286899) @@ -1,3 +1,28 @@ +2021-12-10 Kyle Piddington + +[ANGLE] ASTC-HDR is unavailable on some platforms +https://bugs.webkit.org/show_bug.cgi?id=234164 + +Reviewed by Kenneth Russell. + +Update autogenerated format table to avoid using ASTC_HDR on +platforms that don't have the enum. + +* src/libANGLE/renderer/metal/gen_mtl_format_table.py: +(gen_image_map_switch_astc_case_iosmac): +(gen_image_map_switch_astc_case_tvos): +(gen_image_map_switch_astc_case_tvos.gen_format_assign_code): +(gen_image_map_switch_string): +(gen_image_mtl_to_angle_switch_string): +(gen_mtl_format_caps_init_string): +(gen_image_map_switch_astc_case): Deleted. +(gen_image_map_switch_astc_case.gen_format_assign_code): Deleted. +* src/libANGLE/renderer/metal/mtl_format_map.json: +* src/libANGLE/renderer/metal/mtl_format_table_autogen.mm: +(rx::mtl::Format::MetalToAngleFormatID): +(rx::mtl::Format::init): +(rx::mtl::FormatTable::initNativeFormatCapsAutogen): + 2021-12-10 Michael Saboff https://bugs.webkit.org/show_bug.cgi?id=234173 Modified: trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/gen_mtl_format_table.py (286898 => 286899) --- trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/gen_mtl_format_table.py 2021-12-11 03:02:38 UTC (rev 286898) +++ trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/gen_mtl_format_table.py 2021-12-11 03:24:50 UTC (rev 286899) @@ -364,7 +364,7 @@ # Generate format conversion switch case (ASTC LDR/HDR case) -def gen_image_map_switch_astc_case(angle_format, angle_to_gl, angle_to_mtl_map): +def gen_image_map_switch_astc_case_iosmac(angle_format, angle_to_gl, angle_to_mtl_map): gl_format = angle_to_gl[angle_format] def gen_format_assign_code(actual_angle_format, angle_to_mtl_map): @@ -382,7 +382,21 @@ return gen_image_map_switch_case(angle_format, angle_format, angle_to_mtl_map, gen_format_assign_code) +def gen_image_map_switch_astc_case_watchos(angle_format, angle_to_gl, angle_to_mtl_map): +gl_format = angle_to_gl[angle_format] +def gen_format_assign_code(actual_angle_format, angle_to_mtl_map): +return image_format_assign_template1.format( +actual_angle_format=actual_angle_format, +mtl_format=angle_to_mtl_map[actual_angle_format] + "LDR", +init_function=angle_format_utils.get_internal_format_initializer( +gl_format, actual_angle_format)) + +return gen_image_map_switch_case(angle_format, angle_format, angle_to_mtl_map, + gen_format_assign_code) + + + def gen_image_map_switch_string(image_table, angle_to_gl): angle_override = image_table["override"] mac_override = image_table["override_mac"] @@ -448,10 +462,16 @@ for angle_format in sorted(sim_override.keys()): switch_data += gen_image_map_switch_simple_case(angle_format, sim_override[angle_format], angle_to_gl, sim_angle_to_mtl) +switch_data += "#if TARGET_OS_IOS || TARGET_OS_TV\n" for angle_format in sorted(astc_tpl_map.keys()): -switch_data += gen_image_map_switch_astc_case(angle_format, angle_to_gl, astc_tpl_map) +switch_data +=
[webkit-changes] [286898] trunk
Title: [286898] trunk Revision 286898 Author shvaikal...@gmail.com Date 2021-12-10 19:02:38 -0800 (Fri, 10 Dec 2021) Log Message Setting "onselectionchange" content attribute should add an event listener https://bugs.webkit.org/show_bug.cgi?id=234167 Reviewed by Darin Adler. LayoutTests/imported/w3c: Import WPT tests from https://github.com/web-platform-tests/wpt/pull/32013. * web-platform-tests/selection/textcontrols: Added. * web-platform-tests/selection/textcontrols/onselectionchange-content-attribute-expected.txt: Added. * web-platform-tests/selection/textcontrols/onselectionchange-content-attribute.html: Added. Source/WebCore: This patch implements full support for "onselectionchange" content attribute, enabling it to add an event listener on any element, which fixes regression introduced in r268745 and aligns "onselectionchange" with "onselectstart". Aligns WebKit with Gecko and the spec [1]. [1] https://w3c.github.io/selection-api/#extensions-to-globaleventhandlers-interface Tests: fast/dom/event-handler-attributes.html imported/w3c/web-platform-tests/selection/textcontrols/onselectionchange-content-attribute.html * html/HTMLElement.cpp: (WebCore::HTMLElement::createEventHandlerNameMap): LayoutTests: * fast/dom/event-handler-attributes-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/dom/event-handler-attributes-expected.txt trunk/LayoutTests/imported/w3c/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/HTMLElement.cpp Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/selection/textcontrols/ trunk/LayoutTests/imported/w3c/web-platform-tests/selection/textcontrols/onselectionchange-content-attribute-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/selection/textcontrols/onselectionchange-content-attribute.html Diff Modified: trunk/LayoutTests/ChangeLog (286897 => 286898) --- trunk/LayoutTests/ChangeLog 2021-12-11 02:45:31 UTC (rev 286897) +++ trunk/LayoutTests/ChangeLog 2021-12-11 03:02:38 UTC (rev 286898) @@ -1,3 +1,12 @@ +2021-12-10 Alexey Shvayka + +Setting "onselectionchange" content attribute should add an event listener +https://bugs.webkit.org/show_bug.cgi?id=234167 + +Reviewed by Darin Adler. + +* fast/dom/event-handler-attributes-expected.txt: + 2021-12-10 Joonghun Park Don't do simplification for percentage comparison resolution against negative reference values. Modified: trunk/LayoutTests/fast/dom/event-handler-attributes-expected.txt (286897 => 286898) --- trunk/LayoutTests/fast/dom/event-handler-attributes-expected.txt 2021-12-11 02:45:31 UTC (rev 286897) +++ trunk/LayoutTests/fast/dom/event-handler-attributes-expected.txt 2021-12-11 03:02:38 UTC (rev 286898) @@ -252,7 +252,7 @@ PASS testElementAttribute(element, "seeked") is "target" PASS testElementAttribute(element, "seeking") is "target" PASS testElementAttribute(element, "select") is "target" -FAIL testElementAttribute(element, "selectionchange") should be target. Was script: target; content: none. +PASS testElementAttribute(element, "selectionchange") is "target" PASS testElementAttribute(element, "selectstart") is "target" PASS testElementAttribute(element, "stalled") is "target" PASS testElementAttribute(element, "submit") is "target" @@ -345,7 +345,7 @@ PASS testElementAttribute(inputElement, "seeked") is "target" PASS testElementAttribute(inputElement, "seeking") is "target" PASS testElementAttribute(inputElement, "select") is "target" -FAIL testElementAttribute(inputElement, "selectionchange") should be target. Was script: target; content: none. +PASS testElementAttribute(inputElement, "selectionchange") is "target" PASS testElementAttribute(inputElement, "selectstart") is "target" PASS testElementAttribute(inputElement, "stalled") is "target" PASS testElementAttribute(inputElement, "submit") is "target" @@ -438,7 +438,7 @@ PASS testElementAttribute(audioElement, "seeked") is "target" PASS testElementAttribute(audioElement, "seeking") is "target" PASS testElementAttribute(audioElement, "select") is "target" -FAIL testElementAttribute(audioElement, "selectionchange") should be target. Was script: target; content: none. +PASS testElementAttribute(audioElement, "selectionchange") is "target" PASS testElementAttribute(audioElement, "selectstart") is "target" PASS testElementAttribute(audioElement, "stalled") is "target" PASS testElementAttribute(audioElement, "submit") is "target" @@ -531,7 +531,7 @@ PASS testElementAttribute(videoElement, "seeked") is "target" PASS testElementAttribute(videoElement, "seeking") is "target" PASS testElementAttribute(videoElement, "select") is "target" -FAIL testElementAttribute(videoElement, "selectionchange") should be target. Was script: target; content: none. +PASS testElementAttribute(videoElement, "selectionchange") is "target" PASS testElementAttribute(videoElement, "selectstart") is "target" PASS
[webkit-changes] [286897] trunk
Title: [286897] trunk Revision 286897 Author jh718.p...@samsung.com Date 2021-12-10 18:45:31 -0800 (Fri, 10 Dec 2021) Log Message Don't do simplification for percentage comparison resolution against negative reference values. https://bugs.webkit.org/show_bug.cgi?id=233987 Reviewed by Darin Adler. A percentage may be resolved against a negative value, which is allowed only in 'background-position' property. Currently in CSSCalcExpressionNodeParser::parseCalc, it creates CSSCalcExpressionNode tree result and does simplification for it. But during it, e.g. min(50%, 10%) is simplified to min(10%) and max(50%, 10%) is simplified to max(50%), which is the opposite result what should be done against negative basis. With this patch, the percentage comparison resolution against nagative basis is done correctly. The corresponding spec is step 4's note described below in https://drafts.csswg.org/css-values-4/#simplify-a-calculation-tree. 'If a percentage is left at this point, it will usually block simplification of the node, since it needs to be resolved against another value using information not currently available. (Otherwise, it would have been converted to a different value in an earlier step.) This includes operations such as "min", since percentages might resolve against a negative basis, and thus end up with an opposite comparative relationship than the raw percentage value would seem to indicate.' LayoutTests/imported/w3c: * web-platform-tests/css/css-values/minmax-percentage-serialize-expected.txt: Source/WebCore: * css/calc/CSSCalcExpressionNodeParser.cpp: (WebCore::CSSCalcExpressionNodeParser::parseCalc): * css/calc/CSSCalcExpressionNodeParser.h: * css/calc/CSSCalcOperationNode.cpp: (WebCore::CSSCalcOperationNode::combineChildren): * css/calc/CSSCalcOperationNode.h: * css/calc/CSSCalcValue.cpp: (WebCore::CSSCalcValue::create): * css/calc/CSSCalcValue.h: * css/parser/CSSPropertyParser.cpp: (WebCore::consumeBackgroundPosition): * css/parser/CSSPropertyParserHelpers.cpp: (WebCore::CSSPropertyParserHelpers::CalcParser::CalcParser): (WebCore::CSSPropertyParserHelpers::consumeLengthOrPercent): (WebCore::CSSPropertyParserHelpers::consumePositionComponent): (WebCore::CSSPropertyParserHelpers::consumePositionCoordinates): * css/parser/CSSPropertyParserHelpers.h: LayoutTests: * TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-values/minmax-percentage-serialize-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/calc/CSSCalcExpressionNodeParser.cpp trunk/Source/WebCore/css/calc/CSSCalcExpressionNodeParser.h trunk/Source/WebCore/css/calc/CSSCalcOperationNode.cpp trunk/Source/WebCore/css/calc/CSSCalcOperationNode.h trunk/Source/WebCore/css/calc/CSSCalcValue.cpp trunk/Source/WebCore/css/calc/CSSCalcValue.h trunk/Source/WebCore/css/parser/CSSPropertyParser.cpp trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.h Diff Modified: trunk/LayoutTests/ChangeLog (286896 => 286897) --- trunk/LayoutTests/ChangeLog 2021-12-11 02:32:03 UTC (rev 286896) +++ trunk/LayoutTests/ChangeLog 2021-12-11 02:45:31 UTC (rev 286897) @@ -1,3 +1,30 @@ +2021-12-10 Joonghun Park + +Don't do simplification for percentage comparison resolution against negative reference values. +https://bugs.webkit.org/show_bug.cgi?id=233987 + +Reviewed by Darin Adler. + +A percentage may be resolved against a negative value, which is allowed only in 'background-position' property. + +Currently in CSSCalcExpressionNodeParser::parseCalc, +it creates CSSCalcExpressionNode tree result and does simplification for it. +But during it, e.g. min(50%, 10%) is simplified to min(10%) and max(50%, 10%) is simplified to max(50%), +which is the opposite result what should be done against negative basis. + +With this patch, the percentage comparison resolution against nagative basis is done correctly. + +The corresponding spec is step 4's note described below in +https://drafts.csswg.org/css-values-4/#simplify-a-calculation-tree. + +'If a percentage is left at this point, it will usually block simplification of the node, +since it needs to be resolved against another value using information not currently available. +(Otherwise, it would have been converted to a different value in an earlier step.) +This includes operations such as "min", since percentages might resolve against a negative basis, +and thus end up with an opposite comparative relationship than the raw percentage value would seem to indicate.' + +* TestExpectations: + 2021-12-10 Devin Rousso WKWebView doesn’t respond to -copyFont: and -pasteFont: Modified: trunk/LayoutTests/TestExpectations (286896 => 286897)
[webkit-changes] [286896] trunk/Source
Title: [286896] trunk/Source Revision 286896 Author msab...@apple.com Date 2021-12-10 18:32:03 -0800 (Fri, 10 Dec 2021) Log Message https://bugs.webkit.org/show_bug.cgi?id=234173 Update Install Paths for build system changes Reviewed by Yusuke Suzuki. Updated install paths for changes in the build system that use a system path prefix. Source/_javascript_Core: * Configurations/Base.xcconfig: Source/ThirdParty/ANGLE: * Configurations/ANGLE-dynamic.xcconfig: Source/ThirdParty/libwebrtc: * Configurations/libwebrtc.xcconfig: Source/WebCore: Covered by existing tests. * Configurations/WebCore.xcconfig: Source/WebGPU: * Configurations/WebGPU.xcconfig: Source/WebInspectorUI: * Configurations/WebInspectorUIFramework.xcconfig: Source/WebKit: * Configurations/BaseTarget.xcconfig: * Configurations/WebKit.xcconfig: Source/WebKitLegacy/mac: * Configurations/WebKitLegacy.xcconfig: Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/Configurations/Base.xcconfig trunk/Source/ThirdParty/ANGLE/ChangeLog trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig trunk/Source/ThirdParty/libwebrtc/ChangeLog trunk/Source/ThirdParty/libwebrtc/Configurations/libwebrtc.xcconfig trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Configurations/WebCore.xcconfig trunk/Source/WebGPU/ChangeLog trunk/Source/WebGPU/Configurations/WebGPU.xcconfig trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/Configurations/WebInspectorUIFramework.xcconfig trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Configurations/BaseTarget.xcconfig trunk/Source/WebKit/Configurations/WebKit.xcconfig trunk/Source/WebKitLegacy/mac/ChangeLog trunk/Source/WebKitLegacy/mac/Configurations/WebKitLegacy.xcconfig Diff Modified: trunk/Source/_javascript_Core/ChangeLog (286895 => 286896) --- trunk/Source/_javascript_Core/ChangeLog 2021-12-11 02:26:37 UTC (rev 286895) +++ trunk/Source/_javascript_Core/ChangeLog 2021-12-11 02:32:03 UTC (rev 286896) @@ -1,3 +1,14 @@ +2021-12-10 Michael Saboff + +https://bugs.webkit.org/show_bug.cgi?id=234173 +Update Install Paths for build system changes + +Reviewed by Yusuke Suzuki. + +Updated install paths for changes in the build system that use a system path prefix. + +* Configurations/Base.xcconfig: + 2021-12-10 Mikhail R. Gadelha [JSC][32bit] Add callee save registers for MIPS Modified: trunk/Source/_javascript_Core/Configurations/Base.xcconfig (286895 => 286896) --- trunk/Source/_javascript_Core/Configurations/Base.xcconfig 2021-12-11 02:26:37 UTC (rev 286895) +++ trunk/Source/_javascript_Core/Configurations/Base.xcconfig 2021-12-11 02:32:03 UTC (rev 286896) @@ -163,6 +163,8 @@ WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_NO = $(WK_OVERRIDE_FRAMEWORKS_DIR_USE_ALTERNATE_FRAMEWORKS_DIR_$(WK_USE_ALTERNATE_FRAMEWORKS_DIR)); WK_OVERRIDE_FRAMEWORKS_DIR_USE_STAGING_INSTALL_PATH_YES = $(WK_INSTALL_PATH_PREFIX)$(SYSTEM_LIBRARY_DIR)/StagedFrameworks/Safari; WK_OVERRIDE_FRAMEWORKS_DIR_USE_ALTERNATE_FRAMEWORKS_DIR_YES = $(WK_ALTERNATE_FRAMEWORKS_DIR)/System/Library/Frameworks; +WK_OVERRIDE_FRAMEWORKS_DIR_USE_ALTERNATE_FRAMEWORKS_DIR_NO = $(WK_OVERRIDE_FRAMEWORKS_DIR_USE_SYSTEM_CONTENT_PATH_$(USE_SYSTEM_CONTENT_PATH)); +WK_OVERRIDE_FRAMEWORKS_DIR_USE_SYSTEM_CONTENT_PATH_YES = $(SYSTEM_CONTENT_PATH)/System/Library/Frameworks; WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR = $(WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR_$(WK_USE_OVERRIDE_FRAMEWORKS_DIR)); WK_QUOTED_OVERRIDE_FRAMEWORKS_DIR_YES = "$(WK_OVERRIDE_FRAMEWORKS_DIR)"; Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (286895 => 286896) --- trunk/Source/ThirdParty/ANGLE/ChangeLog 2021-12-11 02:26:37 UTC (rev 286895) +++ trunk/Source/ThirdParty/ANGLE/ChangeLog 2021-12-11 02:32:03 UTC (rev 286896) @@ -1,3 +1,14 @@ +2021-12-10 Michael Saboff + +https://bugs.webkit.org/show_bug.cgi?id=234173 +Update Install Paths for build system changes + +Reviewed by Yusuke Suzuki. + +Updated install paths for changes in the build system that use a system path prefix. + +* Configurations/ANGLE-dynamic.xcconfig: + 2021-12-09 Dean Jackson [ANGLE] Code generation happens on each build and produces SCM diffs Modified: trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig (286895 => 286896) --- trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig 2021-12-11 02:26:37 UTC (rev 286895) +++ trunk/Source/ThirdParty/ANGLE/Configurations/ANGLE-dynamic.xcconfig 2021-12-11 02:32:03 UTC (rev 286896) @@ -14,8 +14,11 @@ ANGLE_OTHER_LDFLAGS_maccatalyst = -framework IOKit -lz; ANGLE_OTHER_LDFLAGS_macosx = -framework IOKit -lz; -INSTALL_PATH = $(NORMAL_WEBCORE_FRAMEWORKS_DIR)/WebCore.framework/Frameworks; -INSTALL_PATH[sdk=macosx*] = $(INSTALL_PATH_USE_ALTERNATE_FRAMEWORKS_DIR_$(WK_USE_ALTERNATE_FRAMEWORKS_DIR)); +INSTALL_PATH =
[webkit-changes] [286895] trunk
Title: [286895] trunk Revision 286895 Author commit-qu...@webkit.org Date 2021-12-10 18:26:37 -0800 (Fri, 10 Dec 2021) Log Message Some WebIDL operations / attributes incorrectly use _current_ realm instead of _relevant_ https://bugs.webkit.org/show_bug.cgi?id=230941 Patch by Alexey Shvayka on 2021-12-10 Reviewed by Sam Weinig. LayoutTests/imported/w3c: Import WPT tests from https://github.com/web-platform-tests/wpt/pull/32012. * web-platform-tests/dom/events/Event-timestamp-cross-realm-getter-expected.txt: Added. * web-platform-tests/dom/events/Event-timestamp-cross-realm-getter.html: Added. * web-platform-tests/html/browsers/history/the-history-interface/history_back_cross_realm_method-expected.txt: Added. * web-platform-tests/html/browsers/history/the-history-interface/history_back_cross_realm_method.html: Added. * web-platform-tests/html/browsers/history/the-history-interface/history_forward_cross_realm_method-expected.txt: Added. * web-platform-tests/html/browsers/history/the-history-interface/history_forward_cross_realm_method.html: Added. * web-platform-tests/html/browsers/history/the-history-interface/history_go_cross_realm_method-expected.txt: Added. * web-platform-tests/html/browsers/history/the-history-interface/history_go_cross_realm_method.html: Added. * web-platform-tests/html/webappapis/scripting/reporterror-cross-realm-method-expected.txt: Added. * web-platform-tests/html/webappapis/scripting/reporterror-cross-realm-method.html: Added. * web-platform-tests/html/webappapis/structured-clone/structured-clone-cross-realm-method-expected.txt: Added. * web-platform-tests/html/webappapis/structured-clone/structured-clone-cross-realm-method.html: Added. * web-platform-tests/requestidlecallback/callback-timeRemaining-cross-realm-method-expected.txt: Added. * web-platform-tests/requestidlecallback/callback-timeRemaining-cross-realm-method.html: Added. Source/WebCore: This patch replaces _current_ global object with _relevant_, as per recommendation for spec authors [1], for select WebIDL operations / attributes that satisfy all the following conditions: 1) it's an instance member: static ones and constructors can't use _relevant_; 2) it's on standards track (not deprecated / WebKit-only / internal); 3) the change is directly observable: global object is used for something beyond lifecycle / event loop / parsing CSS etc; 4) the change either aligns WebKit with both Blink and Gecko, or the spec explicitly requires _relevant_ realm / settings object. Most of the remaining [CallWith=GlobalObject] instances are correctly used for converting JS arguments to WebIDL values; the rest, along with _current_ Document and ScriptExecutionContext, either match the spec or replacing them with _relevant_ global object is not directly observable (see condition #3). This change is aimed at fixing web-exposed APIs rather than performing a global cleanup. [1] https://html.spec.whatwg.org/multipage/webappapis.html#concept-current-everything Tests: imported/w3c/web-platform-tests/dom/events/Event-timestamp-cross-realm-getter.html imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/history_back_cross_realm_method.html imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/history_forward_cross_realm_method.html imported/w3c/web-platform-tests/html/browsers/history/the-history-interface/history_go_cross_realm_method.html imported/w3c/web-platform-tests/html/webappapis/scripting/reporterror-cross-realm-method.html imported/w3c/web-platform-tests/html/webappapis/structured-clone/structured-clone-cross-realm-method.html imported/w3c/web-platform-tests/requestidlecallback/callback-timeRemaining-cross-realm-method.html * Modules/indexeddb/IDBFactory.idl: https://www.w3.org/TR/IndexedDB/#dom-idbfactory-open (step 2) https://www.w3.org/TR/IndexedDB/#dom-idbfactory-deletedatabase (step 1) https://www.w3.org/TR/IndexedDB/#dom-idbfactory-databases (step 1) * Modules/paymentrequest/PaymentRequest.idl: https://www.w3.org/TR/payment-request/#show-method (steps 2-4) https://www.w3.org/TR/payment-request/#can-make-payment-algorithm (before step 1) * bindings/scripts/CodeGeneratorJS.pm: (GenerateCallWith): * bindings/scripts/IDLAttributes.json: * bindings/scripts/test/JS/JSTestObj.cpp: * bindings/scripts/test/TestObj.idl: * dom/Event.idl: https://dom.spec.whatwg.org/#inner-event-creation-steps (step 3) * dom/IdleDeadline.idl: https://w3c.github.io/requestidlecallback/#the-requestidlecallback-method (step 1) * page/History.idl: https://html.spec.whatwg.org/multipage/history.html#dom-history-go (step 1) https://html.spec.whatwg.org/multipage/history.html#dom-history-back (step 1) https://html.spec.whatwg.org/multipage/history.html#dom-history-forward (step 1) * page/DOMWindow.cpp: (WebCore::DOMWindow::setTimeout): (WebCore::DOMWindow::setInterval): * page/DOMWindow.h: * workers/WorkerGlobalScope.cpp:
[webkit-changes] [286894] trunk
Title: [286894] trunk Revision 286894 Author drou...@apple.com Date 2021-12-10 18:06:54 -0800 (Fri, 10 Dec 2021) Log Message WKWebView doesn’t respond to -copyFont: and -pasteFont: https://bugs.webkit.org/show_bug.cgi?id=191379 Reviewed by Wenson Hsieh. Source/WebCore: Test: editing/execCommand/mac/copyFont-pasteFont.html * dom/DOMPasteAccess.h: Add `DOMPasteAccessCategory::Fonts` (which corresponds to `NSPasteboardNameFont` on macOS). * editing/Editor.h: * editing/Editor.cpp: (WebCore::eventNameForClipboardEvent): (WebCore::createDataTransferForClipboardEvent): (WebCore::Editor::copyFont): Added. (WebCore::Editor::pasteFont): Added. Add platform-agnostic handling for `"CopyFont"` and `"PasteFont"` editor commands. * editing/mac/EditorMac.mm: (WebCore::Editor::platformCopyFont): Added. (WebCore::Editor::platformPasteFont): Added. Mimic the logic in `-[WebHTMLView copyFont:]`/`-[WebHTMLView pasteFont:]` to be compatible with WK1 (i.e. to make it easier for clients to switch to WK2). * editing/gtk/EditorGtk.cpp: (WebCore::Editor::platformCopyFont): Added. (WebCore::Editor::platformPasteFont): Added. * editing/ios/EditorIOS.mm: (WebCore::Editor::platformCopyFont): Added. (WebCore::Editor::platformPasteFont): Added. * editing/libwpe/EditorLibWPE.cpp: (WebCore::Editor::platformCopyFont): Added. (WebCore::Editor::platformPasteFont): Added. * editing/win/EditorWin.cpp: (WebCore::Editor::platformCopyFont): Added. (WebCore::Editor::platformPasteFont): Added. Add stubs for other platforms. * editing/EditorCommand.cpp: (WebCore::executeCopyFont): Added. (WebCore::executePasteFont): Added. (WebCore::createCommandMap): Hook `"CopyFont"` and `"PasteFont"` editor commands up to `document.execCommand`. Source/WebKit: * UIProcess/API/mac/WKView.mm: * UIProcess/API/mac/WKWebViewMac.mm: Add `-copyFont:` and `-pasteFont:` methods via `WEBCORE_COMMAND`. * UIProcess/WebPageProxy.cpp: (WebKit::pasteAccessCategoryForCommand): The `PasteFont` command should be categorized as `DOMPasteAccessCategory::Fonts`. * UIProcess/Cocoa/WebViewImpl.mm: (WebKit::pasteboardNameForAccessCategory): (WebKit::pasteboardForAccessCategory): * UIProcess/mac/WebPageProxyMac.mm: (WebKit::WebPageProxy::willPerformPasteCommand): Correlate `DOMPasteAccessCategory::Fonts` with `NSPasteboardNameFont`. * UIProcess/ios/WKContentViewInteraction.mm: (pasteboardNameForAccessCategory): (pasteboardForAccessCategory): * UIProcess/ios/WebPageProxyIOS.mm: (WebKit::WebPageProxy::willPerformPasteCommand): Correlate `DOMPasteAccessCategory::Fonts` with `UIPasteboardNameGeneral`. LayoutTests: * editing/editing.js: (execCopyFontCommand): Added. (copyFontCommand): Added. (execPasteFontCommand): Added. (pasteFontCommand): Added. * editing/execCommand/mac/copyFont-pasteFont.html: Added. * editing/execCommand/mac/copyFont-pasteFont-expected.html: Added. * TestExpectations: * platform/mac/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/TestExpectations trunk/LayoutTests/editing/editing.js trunk/LayoutTests/platform/mac/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/DOMPasteAccess.h trunk/Source/WebCore/editing/Editor.cpp trunk/Source/WebCore/editing/Editor.h trunk/Source/WebCore/editing/EditorCommand.cpp trunk/Source/WebCore/editing/gtk/EditorGtk.cpp trunk/Source/WebCore/editing/ios/EditorIOS.mm trunk/Source/WebCore/editing/libwpe/EditorLibWPE.cpp trunk/Source/WebCore/editing/mac/EditorMac.mm trunk/Source/WebCore/editing/win/EditorWin.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/API/mac/WKView.mm trunk/Source/WebKit/UIProcess/API/mac/WKWebViewMac.mm trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm trunk/Source/WebKit/UIProcess/WebPageProxy.cpp trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm trunk/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm Added Paths trunk/LayoutTests/editing/execCommand/mac/ trunk/LayoutTests/editing/execCommand/mac/copyFont-pasteFont-expected.html trunk/LayoutTests/editing/execCommand/mac/copyFont-pasteFont.html Diff Modified: trunk/LayoutTests/ChangeLog (286893 => 286894) --- trunk/LayoutTests/ChangeLog 2021-12-11 01:25:58 UTC (rev 286893) +++ trunk/LayoutTests/ChangeLog 2021-12-11 02:06:54 UTC (rev 286894) @@ -1,3 +1,22 @@ +2021-12-10 Devin Rousso + +WKWebView doesn’t respond to -copyFont: and -pasteFont: +https://bugs.webkit.org/show_bug.cgi?id=191379 + + +Reviewed by Wenson Hsieh. + +* editing/editing.js: +(execCopyFontCommand): Added. +(copyFontCommand): Added. +(execPasteFontCommand): Added. +(pasteFontCommand): Added. +* editing/execCommand/mac/copyFont-pasteFont.html: Added. +* editing/execCommand/mac/copyFont-pasteFont-expected.html: Added. + +* TestExpectations: +* platform/mac/TestExpectations: + 2021-12-10 Myles C. Maxfield [Cocoa] OT-SVG
[webkit-changes] [286892] trunk/Source/JavaScriptCore
Title: [286892] trunk/Source/_javascript_Core Revision 286892 Author mikh...@igalia.com Date 2021-12-10 17:17:19 -0800 (Fri, 10 Dec 2021) Log Message [JSC][32bit] Add callee save registers for MIPS https://bugs.webkit.org/show_bug.cgi?id=233766 Reviewed by Mark Lam. This patch enables callee save registers for mips, which fixes an assertion violation from the call frame shufflers in some tests if jsc was built with assertions enabled (either debug or release+assert mode). * jit/RegisterSet.cpp: (JSC::RegisterSet::llintBaselineCalleeSaveRegisters): (JSC::RegisterSet::dfgCalleeSaveRegisters): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/jit/RegisterSet.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (286891 => 286892) --- trunk/Source/_javascript_Core/ChangeLog 2021-12-11 01:10:47 UTC (rev 286891) +++ trunk/Source/_javascript_Core/ChangeLog 2021-12-11 01:17:19 UTC (rev 286892) @@ -1,3 +1,19 @@ +2021-12-10 Mikhail R. Gadelha + +[JSC][32bit] Add callee save registers for MIPS +https://bugs.webkit.org/show_bug.cgi?id=233766 + +Reviewed by Mark Lam. + +This patch enables callee save registers for mips, which fixes an +assertion violation from the call frame shufflers in some tests if +jsc was built with assertions enabled (either debug or release+assert +mode). + +* jit/RegisterSet.cpp: +(JSC::RegisterSet::llintBaselineCalleeSaveRegisters): +(JSC::RegisterSet::dfgCalleeSaveRegisters): + 2021-12-10 Yusuke Suzuki [JSC] isTaggedJSCCodePtrImpl does not have proper implementation for JITCage & JITCode combination Modified: trunk/Source/_javascript_Core/jit/RegisterSet.cpp (286891 => 286892) --- trunk/Source/_javascript_Core/jit/RegisterSet.cpp 2021-12-11 01:10:47 UTC (rev 286891) +++ trunk/Source/_javascript_Core/jit/RegisterSet.cpp 2021-12-11 01:17:19 UTC (rev 286892) @@ -213,7 +213,7 @@ result.set(GPRInfo::regCS5); result.set(GPRInfo::regCS6); #endif -#elif CPU(ARM_THUMB2) +#elif CPU(ARM_THUMB2) || CPU(MIPS) result.set(GPRInfo::regCS0); result.set(GPRInfo::regCS1); #elif CPU(ARM64) || CPU(RISCV64) @@ -223,9 +223,6 @@ static_assert(GPRInfo::regCS9 == GPRInfo::notCellMaskRegister, ""); result.set(GPRInfo::regCS8); result.set(GPRInfo::regCS9); -#elif CPU(MIPS) -result.set(GPRInfo::regCS0); -result.set(GPRInfo::regCS1); #else UNREACHABLE_FOR_PLATFORM(); #endif @@ -253,7 +250,7 @@ result.set(GPRInfo::regCS5); result.set(GPRInfo::regCS6); #endif -#elif CPU(ARM_THUMB2) +#elif CPU(ARM_THUMB2) || CPU(MIPS) result.set(GPRInfo::regCS0); result.set(GPRInfo::regCS1); #elif CPU(ARM64) @@ -261,7 +258,6 @@ static_assert(GPRInfo::regCS9 == GPRInfo::notCellMaskRegister, ""); result.set(GPRInfo::regCS8); result.set(GPRInfo::regCS9); -#elif CPU(MIPS) #else UNREACHABLE_FOR_PLATFORM(); #endif ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286891] trunk/Source/JavaScriptCore
Title: [286891] trunk/Source/_javascript_Core Revision 286891 Author ysuz...@apple.com Date 2021-12-10 17:10:47 -0800 (Fri, 10 Dec 2021) Log Message [JSC] isTaggedJSCCodePtrImpl does not have proper implementation for JITCage & JITCode combination https://bugs.webkit.org/show_bug.cgi?id=234186 Reviewed by Mark Lam. If JITCage is enabled and target code is JITCode, we should use tagJSCCodePtrImpl. * runtime/JSCPtrTag.h: (JSC::isTaggedJSCCodePtrImpl): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/runtime/JSCPtrTag.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (286890 => 286891) --- trunk/Source/_javascript_Core/ChangeLog 2021-12-11 01:08:04 UTC (rev 286890) +++ trunk/Source/_javascript_Core/ChangeLog 2021-12-11 01:10:47 UTC (rev 286891) @@ -1,3 +1,15 @@ +2021-12-10 Yusuke Suzuki + +[JSC] isTaggedJSCCodePtrImpl does not have proper implementation for JITCage & JITCode combination +https://bugs.webkit.org/show_bug.cgi?id=234186 + +Reviewed by Mark Lam. + +If JITCage is enabled and target code is JITCode, we should use tagJSCCodePtrImpl. + +* runtime/JSCPtrTag.h: +(JSC::isTaggedJSCCodePtrImpl): + 2021-12-10 Don Olmstead Add FileSystem function to read a file at a path Modified: trunk/Source/_javascript_Core/runtime/JSCPtrTag.h (286890 => 286891) --- trunk/Source/_javascript_Core/runtime/JSCPtrTag.h 2021-12-11 01:08:04 UTC (rev 286890) +++ trunk/Source/_javascript_Core/runtime/JSCPtrTag.h 2021-12-11 01:10:47 UTC (rev 286891) @@ -185,6 +185,9 @@ RELEASE_ASSERT_NOT_REACHED(); #endif } +} else { +if (Options::useJITCage()) +return ptr == tagJSCCodePtrImpl(removeCodePtrTag(ptr)); #endif // ENABLE(JIT_CAGE) } return WTF::isTaggedNativeCodePtrImpl(ptr); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286890] trunk/Source/WebInspectorUI
Title: [286890] trunk/Source/WebInspectorUI Revision 286890 Author rcali...@apple.com Date 2021-12-10 17:08:04 -0800 (Fri, 10 Dec 2021) Log Message Web Inspector: Add CSS variable names to property name completion list https://bugs.webkit.org/show_bug.cgi?id=233372 Reviewed by Devin Rousso. Add the list of applicable CSS variables to the list of CSS property name completions. `WI.CSSPropertyNameCompletions` is a long-lived object that holds all supported property names. It doesn't need to change over time in a Web Inspector session. But the list of applicable CSS variables depends on the selected node. To avoid thrashing the long list of values in `WI.CSSPropertyNameCompletions` we don't proactively collect CSS variables. Instead, we introduce a flag to indicate that the list of CSS variables may be stale whenever the inspected node changes. Only when completions are requested do we check this flag and augment the list of CSS property names with the latest list of CSS variables. * UserInterface/Models/CSSCompletions.js: (WI.CSSCompletions.prototype.replaceValues): Allow a sub-class to replace the list of values in one go. If a `WI.CSSQueryController` was used, reset it and provide it the new list of values. * UserInterface/Models/CSSPropertyNameCompletions.js: (WI.CSSPropertyNameCompletions): (WI.CSSPropertyNameCompletions.prototype.executeQuery): (WI.CSSPropertyNameCompletions.prototype.startsWith): (WI.CSSPropertyNameCompletions.prototype._updateValuesWithLatestCSSVariablesIfNeeded): Holding a copy of the original list of CSS property names in order to create a new list agumented with variables on demand. (WI.CSSPropertyNameCompletions.prototype.addValues): Warn when trying to add new property values which would overwrite the cached and sorted list of CSS property names. (WI.CSSPropertyNameCompletions.prototype._handleInspectedNodeChanged): Consider changing of the inspected node as an indicator that the list of variables is stale. That may not necessarily be true for web pages with all CSS variables declared on :root or , but iterating over them to verify is needlessly expensive especially if completions were not even requested. (WI.CSSPropertyNameCompletions.prototype._handleNodesStylesNeedsRefresh): Consider any change to the styles of the inspected node as a potential change to the list of applicable variables. (WI.CSSPropertyNameCompletions): Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Models/CSSCompletions.js trunk/Source/WebInspectorUI/UserInterface/Models/CSSPropertyNameCompletions.js Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (286889 => 286890) --- trunk/Source/WebInspectorUI/ChangeLog 2021-12-11 00:53:37 UTC (rev 286889) +++ trunk/Source/WebInspectorUI/ChangeLog 2021-12-11 01:08:04 UTC (rev 286890) @@ -1,3 +1,48 @@ +2021-12-10 Razvan Caliman + +Web Inspector: Add CSS variable names to property name completion list +https://bugs.webkit.org/show_bug.cgi?id=233372 + + +Reviewed by Devin Rousso. + +Add the list of applicable CSS variables to the list of CSS property name completions. + +`WI.CSSPropertyNameCompletions` is a long-lived object that holds all supported property names. +It doesn't need to change over time in a Web Inspector session. But the list of applicable +CSS variables depends on the selected node. + +To avoid thrashing the long list of values in `WI.CSSPropertyNameCompletions` we don't proactively collect +CSS variables. Instead, we introduce a flag to indicate that the list of CSS variables may +be stale whenever the inspected node changes. Only when completions are requested do we check +this flag and augment the list of CSS property names with the latest list of CSS variables. + +* UserInterface/Models/CSSCompletions.js: +(WI.CSSCompletions.prototype.replaceValues): +Allow a sub-class to replace the list of values in one go. +If a `WI.CSSQueryController` was used, reset it and provide it the new list of values. + +* UserInterface/Models/CSSPropertyNameCompletions.js: +(WI.CSSPropertyNameCompletions): +(WI.CSSPropertyNameCompletions.prototype.executeQuery): +(WI.CSSPropertyNameCompletions.prototype.startsWith): +(WI.CSSPropertyNameCompletions.prototype._updateValuesWithLatestCSSVariablesIfNeeded): +Holding a copy of the original list of CSS property names in order to create a new list +agumented with variables on demand. + +(WI.CSSPropertyNameCompletions.prototype.addValues): +Warn when trying to add new property values which would overwrite the cached and sorted list of CSS property names. + +(WI.CSSPropertyNameCompletions.prototype._handleInspectedNodeChanged): +Consider changing of the inspected node as an indicator that the list of variables is stale. +That may
[webkit-changes] [286889] trunk
Title: [286889] trunk Revision 286889 Author mmaxfi...@apple.com Date 2021-12-10 16:53:37 -0800 (Fri, 10 Dec 2021) Log Message [Cocoa] OT-SVG glyphs don't draw into canvases (because of the GPU process) https://bugs.webkit.org/show_bug.cgi?id=234171 Reviewed by Devin Rousso. Source/WebCore: Drawing OT-SVG glyphs into canvas was intentionally disabled in https://trac.webkit.org/changeset/269211/webkit. This patch enables it again. Rather than doing anything complicated like supporting all of SVG in DrawGlyphsRecorder, we can simply support this by drawing the glyphs into a ImageBuffer and sending the ImageBuffer to the GPU process. For text, it's pretty important that the pixel grid of the ImageBuffer matches the pixel grid of the destination, rather than being offset by half a pixel or something. This patch adds a new creation function to ImageBuffer which accepts a FloatRect (instead of the previous FloatSize which it used to accept). The FloatRect is necessary because inflating the geometry has to happen on both the left and the right if we want the pixel grids to match. Test: fast/text/otsvg-canvas.html * platform/graphics/DrawGlyphsRecorder.h: * platform/graphics/ImageBuffer.cpp: (WebCore::ImageBuffer::createCompatibleBuffer): (WebCore::ImageBuffer::compatibleBufferInfo): * platform/graphics/ImageBuffer.h: * platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp: (WebCore::DrawGlyphsRecorder::drawOTSVGRun): (WebCore::DrawGlyphsRecorder::drawNonOTSVGRun): (WebCore::DrawGlyphsRecorder::drawBySplittingIntoOTSVGAndNonOTSVGRuns): (WebCore::DrawGlyphsRecorder::drawGlyphs): (WebCore::filterOutOTSVGGlyphs): Deleted. LayoutTests: * fast/text/otsvg-canvas-expected.html: Added. * fast/text/otsvg-canvas.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/DrawGlyphsRecorder.h trunk/Source/WebCore/platform/graphics/ImageBuffer.cpp trunk/Source/WebCore/platform/graphics/ImageBuffer.h trunk/Source/WebCore/platform/graphics/coretext/DrawGlyphsRecorderCoreText.cpp Added Paths trunk/LayoutTests/fast/text/otsvg-canvas-expected.html trunk/LayoutTests/fast/text/otsvg-canvas.html Diff Modified: trunk/LayoutTests/ChangeLog (286888 => 286889) --- trunk/LayoutTests/ChangeLog 2021-12-11 00:53:30 UTC (rev 286888) +++ trunk/LayoutTests/ChangeLog 2021-12-11 00:53:37 UTC (rev 286889) @@ -1,3 +1,14 @@ +2021-12-10 Myles C. Maxfield + +[Cocoa] OT-SVG glyphs don't draw into canvases (because of the GPU process) +https://bugs.webkit.org/show_bug.cgi?id=234171 + + +Reviewed by Devin Rousso. + +* fast/text/otsvg-canvas-expected.html: Added. +* fast/text/otsvg-canvas.html: Added. + 2021-12-10 Robert Jenner REGRESSION(r286795):REBASELINE [ iOS EWS ] 4X CSS (layout-tests) are constant text failures Added: trunk/LayoutTests/fast/text/otsvg-canvas-expected.html (0 => 286889) --- trunk/LayoutTests/fast/text/otsvg-canvas-expected.html (rev 0) +++ trunk/LayoutTests/fast/text/otsvg-canvas-expected.html 2021-12-11 00:53:37 UTC (rev 286889) @@ -0,0 +1,34 @@ + + + + +@font-face { +font-family: "WebFont"; +src: url("resources/Ahem-SVG.ttf") format("truetype"); +} + + + + +This test makes sure that OT-SVG glyphs can be drawn into canvas. +The test passes if you see: + +A medium-sized black square, then +A slightly smaller green square, then +A medium-sized black square, then +A slightly smaller green square + + + +var context = document.getElementById("canvas").getContext("2d"); +context.fillStyle = "black"; +context.fillRect(10, 60, 50, 50); +context.fillStyle = "green"; +context.fillRect(65, 65, 40, 40); +context.fillStyle = "black"; +context.fillRect(110, 60, 50, 50); +context.fillStyle = "green"; +context.fillRect(165, 65, 40, 40); + + + Added: trunk/LayoutTests/fast/text/otsvg-canvas.html (0 => 286889) --- trunk/LayoutTests/fast/text/otsvg-canvas.html (rev 0) +++ trunk/LayoutTests/fast/text/otsvg-canvas.html 2021-12-11 00:53:37 UTC (rev 286889) @@ -0,0 +1,30 @@ + + + + +@font-face { +font-family: "WebFont"; +src: url("resources/Ahem-SVG.ttf") format("truetype"); +} + + + + +This test makes sure that OT-SVG glyphs can be drawn into canvas. +The test passes if you see: + +A medium-sized black square, then +A slightly smaller green square, then +A medium-sized black square, then +A slightly smaller green square + + + +var context = document.getElementById("canvas").getContext("2d"); +[...document.fonts][0].load().then(function() { +context.font = "50px 'WebFont'"; +context.fillText("bAbA", 10, 100); +}); + + + Modified: trunk/Source/WebCore/ChangeLog (286888 => 286889) --- trunk/Source/WebCore/ChangeLog 2021-12-11 00:53:30 UTC (rev 286888) +++ trunk/Source/WebCore/ChangeLog 2021-12-11 00:53:37 UTC (rev 286889) @@ -1,3 +1,34 @@ +2021-12-10 Myles C. Maxfield + +
[webkit-changes] [286888] tags/Safari-613.1.11.2/
Title: [286888] tags/Safari-613.1.11.2/ Revision 286888 Author alanc...@apple.com Date 2021-12-10 16:53:30 -0800 (Fri, 10 Dec 2021) Log Message Tag Safari-613.1.11.2. Added Paths tags/Safari-613.1.11.2/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286886] trunk/Source
Title: [286886] trunk/Source Revision 286886 Author megan_gard...@apple.com Date 2021-12-10 16:46:51 -0800 (Fri, 10 Dec 2021) Log Message Image does not update after Markup Pane is dismissed. https://bugs.webkit.org/show_bug.cgi?id=234162 Reviewed by Devin Rousso. Once the item is retured from the Sharing Service, we need to pipe the information back to the attachement element so that it can be properly updated. This includes holding onto the attachment ID of the controlled image so that it can later be found and updated. Source/WebCore: * dom/mac/ImageControlsMac.cpp: (WebCore::ImageControlsMac::handleEvent): * html/HTMLImageElement.cpp: (WebCore::HTMLImageElement::setAttachmentElement): * page/ChromeClient.h: (WebCore::ChromeClient::handleImageServiceClick): Source/WebKit: * Shared/ContextMenuContextData.cpp: (WebKit::ContextMenuContextData::ContextMenuContextData): (WebKit::ContextMenuContextData::encode const): (WebKit::ContextMenuContextData::decode): * Shared/ContextMenuContextData.h: (WebKit::ContextMenuContextData::controlledImageAttachmentID const): * UIProcess/API/Cocoa/WKWebViewConfiguration.mm: (-[WKWebViewConfiguration init]): * UIProcess/API/Cocoa/_WKAttachment.h: * UIProcess/API/Cocoa/_WKAttachment.mm: (-[_WKAttachment setData:newContentType:]): * UIProcess/API/Cocoa/_WKAttachmentInternal.h: * UIProcess/mac/WKSharingServicePickerDelegate.h: * UIProcess/mac/WKSharingServicePickerDelegate.mm: (-[WKSharingServicePickerDelegate setAttachmentID:]): (-[WKSharingServicePickerDelegate sharingService:didShareItems:]): * UIProcess/mac/WebContextMenuProxyMac.mm: (WebKit::WebContextMenuProxyMac::setupServicesMenu): * WebProcess/WebCoreSupport/WebChromeClient.cpp: (WebKit::WebChromeClient::handleImageServiceClick): * WebProcess/WebCoreSupport/WebChromeClient.h: * WebProcess/WebPage/WebPage.h: * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::handleImageServiceClick): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/mac/ImageControlsMac.cpp trunk/Source/WebCore/html/HTMLImageElement.cpp trunk/Source/WebCore/page/ChromeClient.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/ContextMenuContextData.cpp trunk/Source/WebKit/Shared/ContextMenuContextData.h trunk/Source/WebKit/UIProcess/API/Cocoa/_WKAttachment.mm trunk/Source/WebKit/UIProcess/API/Cocoa/_WKAttachmentInternal.h trunk/Source/WebKit/UIProcess/mac/WKSharingServicePickerDelegate.h trunk/Source/WebKit/UIProcess/mac/WKSharingServicePickerDelegate.mm trunk/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h trunk/Source/WebKit/WebProcess/WebPage/WebPage.h trunk/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm Diff Modified: trunk/Source/WebCore/ChangeLog (286885 => 286886) --- trunk/Source/WebCore/ChangeLog 2021-12-11 00:40:58 UTC (rev 286885) +++ trunk/Source/WebCore/ChangeLog 2021-12-11 00:46:51 UTC (rev 286886) @@ -1,3 +1,22 @@ +2021-12-10 Megan Gardner + +Image does not update after Markup Pane is dismissed. +https://bugs.webkit.org/show_bug.cgi?id=234162 + +Reviewed by Devin Rousso. + +Once the item is retured from the Sharing Service, we need to pipe the information +back to the attachement element so that it can be properly updated. +This includes holding onto the attachment ID of the controlled image so that it +can later be found and updated. + +* dom/mac/ImageControlsMac.cpp: +(WebCore::ImageControlsMac::handleEvent): +* html/HTMLImageElement.cpp: +(WebCore::HTMLImageElement::setAttachmentElement): +* page/ChromeClient.h: +(WebCore::ChromeClient::handleImageServiceClick): + 2021-12-10 Don Olmstead Add FileSystem function to read a file at a path Modified: trunk/Source/WebCore/dom/mac/ImageControlsMac.cpp (286885 => 286886) --- trunk/Source/WebCore/dom/mac/ImageControlsMac.cpp 2021-12-11 00:40:58 UTC (rev 286885) +++ trunk/Source/WebCore/dom/mac/ImageControlsMac.cpp 2021-12-11 00:46:51 UTC (rev 286886) @@ -31,6 +31,7 @@ #include "ContextMenuController.h" #include "ElementInlines.h" #include "EventHandler.h" +#include "HTMLAttachmentElement.h" #include "HTMLButtonElement.h" #include "HTMLDivElement.h" #include "HTMLImageElement.h" @@ -126,11 +127,13 @@ auto& node = downcast(*mouseEvent.target()); if (ImageControlsMac::isImageControlsButtonElement(node)) { -auto imageElement = node.shadowHost(); -if (!imageElement) +auto shadowHost = node.shadowHost(); +if (!is(*shadowHost)) return false; -if (auto* image = imageFromImageElementNode(*imageElement)) { -page->chrome().client().handleImageServiceClick(roundedIntPoint(mouseEvent.absoluteLocation()), *image, imageElement->isContentEditable(),
[webkit-changes] [286887] trunk/Source/WebInspectorUI
Title: [286887] trunk/Source/WebInspectorUI Revision 286887 Author bb...@apple.com Date 2021-12-10 16:47:02 -0800 (Fri, 10 Dec 2021) Log Message Web Inspector: save and restore extension tab positions https://bugs.webkit.org/show_bug.cgi?id=234115 Reviewed by Devin Rousso and Patrick Angle. The existing tab state restoration system works by saving or loading tab positions from persistent storage and saving or restoring each tab's state using one cookie per tab type. With extension tabs, it is now possible to have more than one tab per tab type. Additionally, extension tabs can be added at any time via InspectorFrontendAPI. Given these challenges, we need a different system for saving and restoring extension tabs. Extension tab restoration is now handled by WI.WebInspectorExtensionController. We consider a tab to be an 'anchor' tab if it is saveable, visible, and not pinnable. In other words, an anchor tab is one of the built-in singleton tabs like Console, Elements, etc. When the tab bar item list is modified, for each extension tab, we save the observed 'anchor' tab's type and a distance from that anchor tab's insertion index. Updates to extension tab positions are saved to persistent storage at most every 5 seconds. When it is time to place an extension tab with createTabForExtension() or showExtensionTab(), perform the reverse operation of computing an insertion index from a anchorTabType and distanceFromAnchorTab. This patch was tested with one extension, multiple extensions, showing/hiding extension tabs, remote inspecting a JSContext, and remote inspecting a WKWebView. * UserInterface/Views/TabBar.js: (WI.TabBar.prototype.get visibleTabBarItemsFromLeftToRight): Added. * UserInterface/Controllers/WebInspectorExtensionController.js: (WI.WebInspectorExtensionController): (WI.WebInspectorExtensionController.get extensionTabPositionsObjectStoreKey): Added. (WI.WebInspectorExtensionController.prototype.registerExtension): (WI.WebInspectorExtensionController.prototype.unregisterExtension): Add and remove WI.TabBar event listeners that notify us of changes to the tab bar. (WI.WebInspectorExtensionController.prototype.createTabForExtension): Deleted. (WI.WebInspectorExtensionController.prototype.async createTabForExtension): Renamed. Load saved tab positions from persistent storage if needed. Compute the insertion index for the new tab. This method is already expected to return a promise, so make it `async` to allow using `await`. (WI.WebInspectorExtensionController.prototype.showExtensionTab): Compute the insertion index for the new tab. (WI.WebInspectorExtensionController.prototype.async _loadExtensionTabPositions): Load saved tab positions from persistent storage, allowing for the case where nothing has been saved yet. (WI.WebInspectorExtensionController.prototype.async _saveExtensionTabPositions): Recompute and save tab positions for all extension tabs. Then write to persistent storage at most every 5 seconds using a WI.Debouncer. (WI.WebInspectorExtensionController.prototype._insertionIndexForExtensionTab): Added, wrapper method. (WI.WebInspectorExtensionController.prototype._computeIndicesForExtensionTab): Compute the anchorTabType, distanceFromAnchorTab, and insertionIndex for the extension tab. If saving tab positions, pass `options.recomputePositions` to ignore saved positions and recompute these fields based on what is currently visible in the tab bar. * UserInterface/Views/WebInspectorExtensionTabContentView.js: (WI.WebInspectorExtensionTabContentView.prototype.get savedTabPositionKey): Added. Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Controllers/WebInspectorExtensionController.js trunk/Source/WebInspectorUI/UserInterface/Views/TabBar.js trunk/Source/WebInspectorUI/UserInterface/Views/WebInspectorExtensionTabContentView.js Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (286886 => 286887) --- trunk/Source/WebInspectorUI/ChangeLog 2021-12-11 00:46:51 UTC (rev 286886) +++ trunk/Source/WebInspectorUI/ChangeLog 2021-12-11 00:47:02 UTC (rev 286887) @@ -1,3 +1,67 @@ +2021-12-10 BJ Burg + +Web Inspector: save and restore extension tab positions +https://bugs.webkit.org/show_bug.cgi?id=234115 + + +Reviewed by Devin Rousso and Patrick Angle. + +The existing tab state restoration system works by saving or loading tab positions +from persistent storage and saving or restoring each tab's state using one cookie per tab type. + +With extension tabs, it is now possible to have more than one tab per tab type. +Additionally, extension tabs can be added at any time via InspectorFrontendAPI. +Given these challenges, we need a different system for saving and restoring extension tabs. + +Extension tab restoration is now handled by WI.WebInspectorExtensionController. +We consider a tab to be an 'anchor' tab if it is saveable, visible, and
[webkit-changes] [286885] trunk/Source/WebInspectorUI
Title: [286885] trunk/Source/WebInspectorUI Revision 286885 Author nvasil...@apple.com Date 2021-12-10 16:40:58 -0800 (Fri, 10 Dec 2021) Log Message Web Inspector: Add a swatch for justify-content, justify-items, and justify-self https://bugs.webkit.org/show_bug.cgi?id=233055 Reviewed by Patrick Angle. Add an inline swatch for `justify-content`, that shows icons for common values: start, center, end, space-between, space-around, space-evenly, and stretch. Also, add inline swatches for `justify-items` and `justify-self`, that shows icons for: start, center, end, and stretch. The newly added swatches reuse the existing `align-content` and `align-items` icons, and rotate them -90 degrees. While `align-*` properties define alignment in the block-direction the `justify-*` properties define alignment in the inline-direction. * UserInterface/Models/AlignmentData.js: (WI.AlignmentData._propertyNameToType): * UserInterface/Views/AlignmentEditor.css: (.alignment-editor .glyph.rotate-left > svg): * UserInterface/Views/AlignmentEditor.js: (WI.AlignmentEditor.shouldRotateGlyph): (WI.AlignmentEditor._glyphsForType): (WI.AlignmentEditor.prototype.set alignment): * UserInterface/Views/InlineSwatch.css: (.inline-swatch.alignment > span.rotate-left): * UserInterface/Views/InlineSwatch.js: (WI.InlineSwatch.prototype._updateSwatch): Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Models/AlignmentData.js trunk/Source/WebInspectorUI/UserInterface/Views/AlignmentEditor.css trunk/Source/WebInspectorUI/UserInterface/Views/AlignmentEditor.js trunk/Source/WebInspectorUI/UserInterface/Views/InlineSwatch.css trunk/Source/WebInspectorUI/UserInterface/Views/InlineSwatch.js Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (286884 => 286885) --- trunk/Source/WebInspectorUI/ChangeLog 2021-12-11 00:38:22 UTC (rev 286884) +++ trunk/Source/WebInspectorUI/ChangeLog 2021-12-11 00:40:58 UTC (rev 286885) @@ -1,3 +1,34 @@ +2021-12-10 Nikita Vasilyev + +Web Inspector: Add a swatch for justify-content, justify-items, and justify-self +https://bugs.webkit.org/show_bug.cgi?id=233055 + + +Reviewed by Patrick Angle. + +Add an inline swatch for `justify-content`, that shows icons for common values: +start, center, end, space-between, space-around, space-evenly, and stretch. + +Also, add inline swatches for `justify-items` and `justify-self`, that shows icons for: +start, center, end, and stretch. + +The newly added swatches reuse the existing `align-content` and `align-items` icons, and +rotate them -90 degrees. While `align-*` properties define alignment in the block-direction +the `justify-*` properties define alignment in the inline-direction. + +* UserInterface/Models/AlignmentData.js: +(WI.AlignmentData._propertyNameToType): +* UserInterface/Views/AlignmentEditor.css: +(.alignment-editor .glyph.rotate-left > svg): +* UserInterface/Views/AlignmentEditor.js: +(WI.AlignmentEditor.shouldRotateGlyph): +(WI.AlignmentEditor._glyphsForType): +(WI.AlignmentEditor.prototype.set alignment): +* UserInterface/Views/InlineSwatch.css: +(.inline-swatch.alignment > span.rotate-left): +* UserInterface/Views/InlineSwatch.js: +(WI.InlineSwatch.prototype._updateSwatch): + 2021-12-10 Razvan Caliman Web Inspector: Computed Panel: Group CSS variables by value type Modified: trunk/Source/WebInspectorUI/UserInterface/Models/AlignmentData.js (286884 => 286885) --- trunk/Source/WebInspectorUI/UserInterface/Models/AlignmentData.js 2021-12-11 00:38:22 UTC (rev 286884) +++ trunk/Source/WebInspectorUI/UserInterface/Models/AlignmentData.js 2021-12-11 00:40:58 UTC (rev 286885) @@ -50,6 +50,12 @@ return WI.AlignmentData.Type.AlignItems; case "align-self": return WI.AlignmentData.Type.AlignSelf; +case "justify-content": +return WI.AlignmentData.Type.JustifyContent; +case "justify-items": +return WI.AlignmentData.Type.JustifyItems; +case "justify-self": +return WI.AlignmentData.Type.JustifySelf; } return null; } @@ -72,4 +78,7 @@ AlignContent: "align-content", AlignItems: "align-items", AlignSelf: "align-self", +JustifyContent: "justify-content", +JustifyItems: "justify-items", +JustifySelf: "justify-self", }; Modified: trunk/Source/WebInspectorUI/UserInterface/Views/AlignmentEditor.css (286884 => 286885) --- trunk/Source/WebInspectorUI/UserInterface/Views/AlignmentEditor.css 2021-12-11 00:38:22 UTC (rev 286884) +++ trunk/Source/WebInspectorUI/UserInterface/Views/AlignmentEditor.css 2021-12-11 00:40:58 UTC (rev 286885) @@ -54,3 +54,7 @@ color: var(--glyph-color-active-pressed); outline-color: var(--glyph-color-active-pressed); } + +.alignment-editor
[webkit-changes] [286884] branches/safari-613.1.11-branch/Source
Title: [286884] branches/safari-613.1.11-branch/Source Revision 286884 Author alanc...@apple.com Date 2021-12-10 16:38:22 -0800 (Fri, 10 Dec 2021) Log Message Versioning. WebKit-7613.1.11.2 Modified Paths branches/safari-613.1.11-branch/Source/_javascript_Core/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebCore/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebCore/PAL/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebGPU/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebInspectorUI/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebKit/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig Diff Modified: branches/safari-613.1.11-branch/Source/_javascript_Core/Configurations/Version.xcconfig (286883 => 286884) --- branches/safari-613.1.11-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2021-12-11 00:35:24 UTC (rev 286883) +++ branches/safari-613.1.11-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2021-12-11 00:38:22 UTC (rev 286884) @@ -24,7 +24,7 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 1; +MICRO_VERSION = 2; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-613.1.11-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (286883 => 286884) --- branches/safari-613.1.11-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig 2021-12-11 00:35:24 UTC (rev 286883) +++ branches/safari-613.1.11-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig 2021-12-11 00:38:22 UTC (rev 286884) @@ -24,7 +24,7 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 1; +MICRO_VERSION = 2; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-613.1.11-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (286883 => 286884) --- branches/safari-613.1.11-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2021-12-11 00:35:24 UTC (rev 286883) +++ branches/safari-613.1.11-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2021-12-11 00:38:22 UTC (rev 286884) @@ -24,7 +24,7 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 1; +MICRO_VERSION = 2; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-613.1.11-branch/Source/WebCore/Configurations/Version.xcconfig (286883 => 286884) --- branches/safari-613.1.11-branch/Source/WebCore/Configurations/Version.xcconfig 2021-12-11 00:35:24 UTC (rev 286883) +++ branches/safari-613.1.11-branch/Source/WebCore/Configurations/Version.xcconfig 2021-12-11 00:38:22 UTC (rev 286884) @@ -24,7 +24,7 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 1; +MICRO_VERSION = 2; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-613.1.11-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (286883 => 286884) --- branches/safari-613.1.11-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2021-12-11 00:35:24 UTC (rev 286883) +++ branches/safari-613.1.11-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2021-12-11 00:38:22 UTC (rev 286884) @@ -24,7 +24,7 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 1; +MICRO_VERSION = 2; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-613.1.11-branch/Source/WebGPU/Configurations/Version.xcconfig (286883 => 286884) --- branches/safari-613.1.11-branch/Source/WebGPU/Configurations/Version.xcconfig 2021-12-11 00:35:24 UTC (rev 286883) +++ branches/safari-613.1.11-branch/Source/WebGPU/Configurations/Version.xcconfig 2021-12-11 00:38:22 UTC (rev 286884) @@ -24,7 +24,7 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 1; +MICRO_VERSION = 2; NANO_VERSION = 0; FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); Modified: branches/safari-613.1.11-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (286883 => 286884) --- branches/safari-613.1.11-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2021-12-11 00:35:24 UTC (rev 286883) +++ branches/safari-613.1.11-branch/Source/WebInspectorUI/Configurations/Version.xcconfig 2021-12-11 00:38:22 UTC (rev 286884) @@ -1,7 +1,7 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11;
[webkit-changes] [286883] trunk
Title: [286883] trunk Revision 286883 Author don.olmst...@sony.com Date 2021-12-10 16:35:24 -0800 (Fri, 10 Dec 2021) Log Message Add FileSystem function to read a file at a path https://bugs.webkit.org/show_bug.cgi?id=234103 Reviewed by Alex Christensen. Source/_javascript_Core: Use FileSystem::readEntireFile. * inspector/remote/socket/RemoteInspectorSocket.cpp: (Inspector::RemoteInspector::backendCommands const): Source/WebCore: Use FileSystem::readEntireFile. * platform/network/curl/CurlCacheEntry.cpp: (WebCore::CurlCacheEntry::readCachedData): (WebCore::CurlCacheEntry::loadResponseHeaders): (WebCore::CurlCacheEntry::loadFileToBuffer): Deleted. * platform/network/curl/CurlCacheEntry.h: * platform/network/curl/CurlCacheManager.cpp: (WebCore::CurlCacheManager::loadIndex): * rendering/RenderThemeWin.cpp: (WebCore::RenderThemeWin::stringWithContentsOfFile): (WebCore::fillBufferWithContentsOfFile): Deleted. Source/WTF: Add FileSystem::readEntireFile which takes a path and attempts to read the whole contents of the file into a Vector. If the file is not found or is empty then it returns nullopt. Internally it manages the opening and closing of the file to prevent file handles from leaking. Modify FileSystem::readEntireFile which takes a handle to continue reading until the entire file has been read. Previously it could've just done a partial read as FileSystem::readFromFile does not guarantee it will read all the bytes requested. * wtf/FileSystem.cpp: (WTF::FileSystemImpl::readEntireFile): * wtf/FileSystem.h: Tools: Add tests for readEntireFile. * TestWebKitAPI/Tests/WTF/FileSystem.cpp: (TestWebKitAPI::TEST_F): Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/inspector/remote/socket/RemoteInspectorSocket.cpp trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/FileSystem.cpp trunk/Source/WTF/wtf/FileSystem.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/network/curl/CurlCacheEntry.cpp trunk/Source/WebCore/platform/network/curl/CurlCacheEntry.h trunk/Source/WebCore/platform/network/curl/CurlCacheManager.cpp trunk/Source/WebCore/rendering/RenderThemeWin.cpp trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WTF/FileSystem.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (286882 => 286883) --- trunk/Source/_javascript_Core/ChangeLog 2021-12-10 23:17:11 UTC (rev 286882) +++ trunk/Source/_javascript_Core/ChangeLog 2021-12-11 00:35:24 UTC (rev 286883) @@ -1,3 +1,15 @@ +2021-12-10 Don Olmstead + +Add FileSystem function to read a file at a path +https://bugs.webkit.org/show_bug.cgi?id=234103 + +Reviewed by Alex Christensen. + +Use FileSystem::readEntireFile. + +* inspector/remote/socket/RemoteInspectorSocket.cpp: +(Inspector::RemoteInspector::backendCommands const): + 2021-12-10 Tadeu Zagallo Remove Mac-specific ARM64EHash implementation Modified: trunk/Source/_javascript_Core/inspector/remote/socket/RemoteInspectorSocket.cpp (286882 => 286883) --- trunk/Source/_javascript_Core/inspector/remote/socket/RemoteInspectorSocket.cpp 2021-12-10 23:17:11 UTC (rev 286882) +++ trunk/Source/_javascript_Core/inspector/remote/socket/RemoteInspectorSocket.cpp 2021-12-11 00:35:24 UTC (rev 286883) @@ -263,19 +263,9 @@ if (m_backendCommandsPath.isEmpty()) return { }; -auto handle = FileSystem::openFile(m_backendCommandsPath, FileSystem::FileOpenMode::Read); -if (!FileSystem::isHandleValid(handle)) -return { }; +auto contents = FileSystem::readEntireFile(m_backendCommandsPath); -String result; -if (auto size = FileSystem::fileSize(handle)) { -Vector buffer(*size); -int bytesRead = FileSystem::readFromFile(handle, buffer.data(), *size); -if (bytesRead >= 0 && static_cast(bytesRead) == *size) -result = String::adopt(WTFMove(buffer)); -} -FileSystem::closeFile(handle); -return result; +return contents ? String::adopt(WTFMove(*contents)) : emptyString(); } // RemoteInspectorConnectionClient handlers Modified: trunk/Source/WTF/ChangeLog (286882 => 286883) --- trunk/Source/WTF/ChangeLog 2021-12-10 23:17:11 UTC (rev 286882) +++ trunk/Source/WTF/ChangeLog 2021-12-11 00:35:24 UTC (rev 286883) @@ -1,3 +1,23 @@ +2021-12-10 Don Olmstead + +Add FileSystem function to read a file at a path +https://bugs.webkit.org/show_bug.cgi?id=234103 + +Reviewed by Alex Christensen. + +Add FileSystem::readEntireFile which takes a path and attempts to read the whole contents +of the file into a Vector. If the file is not found or is empty then it returns +nullopt. Internally it manages the opening and closing of the file to prevent file handles +from leaking. + +Modify FileSystem::readEntireFile which takes a handle to continue reading until the entire +file has been read. Previously it could've just done a partial read as +
[webkit-changes] [286882] trunk
Title: [286882] trunk Revision 286882 Author mikh...@igalia.com Date 2021-12-10 15:17:11 -0800 (Fri, 10 Dec 2021) Log Message Mark myself (Mikhail R. Gadelha) as committer https://bugs.webkit.org/show_bug.cgi?id=234157 Unreviewed. * metadata/contributors.json: Modified Paths trunk/ChangeLog trunk/metadata/contributors.json Diff Modified: trunk/ChangeLog (286881 => 286882) --- trunk/ChangeLog 2021-12-10 23:03:37 UTC (rev 286881) +++ trunk/ChangeLog 2021-12-10 23:17:11 UTC (rev 286882) @@ -1,3 +1,12 @@ +2021-12-10 Mikhail R. Gadelha + +Mark myself (Mikhail R. Gadelha) as committer +https://bugs.webkit.org/show_bug.cgi?id=234157 + +Unreviewed. + +* metadata/contributors.json: + 2021-12-10 Chris Lord Change contributor status of Chris Lord from committer to reviewer Modified: trunk/metadata/contributors.json (286881 => 286882) --- trunk/metadata/contributors.json 2021-12-10 23:03:37 UTC (rev 286881) +++ trunk/metadata/contributors.json 2021-12-10 23:17:11 UTC (rev 286882) @@ -4899,6 +4899,18 @@ }, { "emails" : [ + "mikh...@igalia.com", + "mikhail.rama...@gmail.com" + ], + "github" : "mikhailramalho", + "name" : "Mikhail R. Gadelha", + "nicks" : [ + "mgadelha" + ], + "status" : "committer" + }, + { + "emails" : [ "qin...@chromium.org" ], "name" : "Min Qin" ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286881] trunk/JSTests
Title: [286881] trunk/JSTests Revision 286881 Author ysuz...@apple.com Date 2021-12-10 15:03:37 -0800 (Fri, 10 Dec 2021) Log Message Unreviewed, we may not throw an stack overflow error * stress/stack-overflow-in-custom-hasInstance.js: (catch): Modified Paths trunk/JSTests/ChangeLog trunk/JSTests/stress/stack-overflow-in-custom-hasInstance.js Diff Modified: trunk/JSTests/ChangeLog (286880 => 286881) --- trunk/JSTests/ChangeLog 2021-12-10 23:02:33 UTC (rev 286880) +++ trunk/JSTests/ChangeLog 2021-12-10 23:03:37 UTC (rev 286881) @@ -1,3 +1,10 @@ +2021-12-10 Yusuke Suzuki + +Unreviewed, we may not throw an stack overflow error + +* stress/stack-overflow-in-custom-hasInstance.js: +(catch): + 2021-12-08 Asumu Takikawa Support WebAssembly.Memory imports in Wasm/ESM modules. Modified: trunk/JSTests/stress/stack-overflow-in-custom-hasInstance.js (286880 => 286881) --- trunk/JSTests/stress/stack-overflow-in-custom-hasInstance.js 2021-12-10 23:02:33 UTC (rev 286880) +++ trunk/JSTests/stress/stack-overflow-in-custom-hasInstance.js 2021-12-10 23:03:37 UTC (rev 286881) @@ -22,7 +22,6 @@ ({}) instanceof fn; } catch (e) { exception = e; +if (exception != "RangeError: Maximum call stack size exceeded.") +throw "FAILED"; } - -if (exception != "RangeError: Maximum call stack size exceeded.") -throw "FAILED"; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286880] trunk/LayoutTests
Title: [286880] trunk/LayoutTests Revision 286880 Author jen...@apple.com Date 2021-12-10 15:02:33 -0800 (Fri, 10 Dec 2021) Log Message REGRESSION(r286795):REBASELINE [ iOS EWS ] 4X CSS (layout-tests) are constant text failures https://bugs.webkit.org/show_bug.cgi?id=234177 Uneviewed test gardening. Rebaseline for iOS. * platform/ios-wk2/fast/css/getComputedStyle/computed-style-expected.txt: Added. * platform/ios-wk2/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Added. * platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt: Added. * platform/ios-wk2/svg/css/getComputedStyle-basic-expected.txt: Added. Modified Paths trunk/LayoutTests/ChangeLog Added Paths trunk/LayoutTests/platform/ios-wk2/fast/css/getComputedStyle/ trunk/LayoutTests/platform/ios-wk2/fast/css/getComputedStyle/computed-style-expected.txt trunk/LayoutTests/platform/ios-wk2/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/ trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt trunk/LayoutTests/platform/ios-wk2/svg/css/ trunk/LayoutTests/platform/ios-wk2/svg/css/getComputedStyle-basic-expected.txt Diff Modified: trunk/LayoutTests/ChangeLog (286879 => 286880) --- trunk/LayoutTests/ChangeLog 2021-12-10 22:52:17 UTC (rev 286879) +++ trunk/LayoutTests/ChangeLog 2021-12-10 23:02:33 UTC (rev 286880) @@ -1,3 +1,15 @@ +2021-12-10 Robert Jenner + +REGRESSION(r286795):REBASELINE [ iOS EWS ] 4X CSS (layout-tests) are constant text failures +https://bugs.webkit.org/show_bug.cgi?id=234177 + +Uneviewed test gardening. Rebaseline for iOS. + +* platform/ios-wk2/fast/css/getComputedStyle/computed-style-expected.txt: Added. +* platform/ios-wk2/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Added. +* platform/ios-wk2/imported/w3c/web-platform-tests/css/cssom/getComputedStyle-detached-subtree-expected.txt: Added. +* platform/ios-wk2/svg/css/getComputedStyle-basic-expected.txt: Added. + 2021-12-10 Razvan Caliman Web Inspector: Computed Panel: Group CSS variables by value type Added: trunk/LayoutTests/platform/ios-wk2/fast/css/getComputedStyle/computed-style-expected.txt (0 => 286880) --- trunk/LayoutTests/platform/ios-wk2/fast/css/getComputedStyle/computed-style-expected.txt (rev 0) +++ trunk/LayoutTests/platform/ios-wk2/fast/css/getComputedStyle/computed-style-expected.txt 2021-12-10 23:02:33 UTC (rev 286880) @@ -0,0 +1,270 @@ +Attributes that are exposed in the CSS computed style object: + +align-content: normal; +align-items: normal; +align-self: auto; +alignment-baseline: auto; +appearance: none; +background-attachment: scroll; +background-clip: border-box; +background-color: rgba(0, 0, 0, 0); +background-image: none; +background-origin: padding-box; +background-repeat: repeat; +background-size: auto; +baseline-shift: baseline; +border-bottom-color: rgb(0, 0, 0); +border-bottom-left-radius: 0px; +border-bottom-right-radius: 0px; +border-bottom-style: none; +border-bottom-width: 0px; +border-collapse: separate; +border-image-outset: 0; +border-image-repeat: stretch; +border-image-slice: 100%; +border-image-source: none; +border-image-width: 1; +border-left-color: rgb(0, 0, 0); +border-left-style: none; +border-left-width: 0px; +border-right-color: rgb(0, 0, 0); +border-right-style: none; +border-right-width: 0px; +border-top-color: rgb(0, 0, 0); +border-top-left-radius: 0px; +border-top-right-radius: 0px; +border-top-style: none; +border-top-width: 0px; +bottom: auto; +box-shadow: none; +box-sizing: content-box; +buffered-rendering: auto; +caption-side: top; +clear: none; +clip: auto; +clip-path: none; +clip-rule: nonzero; +color: rgb(0, 0, 0); +color-interpolation: sRGB; +color-interpolation-filters: linearRGB; +column-count: auto; +column-fill: balance; +column-gap: normal; +column-rule-color: rgb(0, 0, 0); +column-rule-style: none; +column-rule-width: 0px; +column-span: none; +column-width: auto; +content: normal; +counter-increment: none; +counter-reset: none; +cursor: auto; +direction: ltr; +display: block; +dominant-baseline: auto; +empty-cells: show; +fill: rgb(0, 0, 0); +fill-opacity: 1; +fill-rule: nonzero; +filter: none; +flex-basis: auto; +flex-direction: row; +flex-grow: 0; +flex-shrink: 1; +flex-wrap: nowrap; +float: none; +flood-color: rgb(0, 0, 0); +flood-opacity: 1; +font-optical-sizing: auto; +font-size: 16px; +font-style: normal; +font-synthesis: weight style small-caps; +font-variant-alternates: normal; +font-variant-caps: normal; +font-variant-east-asian: normal; +font-variant-ligatures: normal; +font-variant-numeric: normal; +font-variant-position: normal; +font-weight: 400; +glyph-orientation-horizontal: 0deg; +glyph-orientation-vertical: auto;
[webkit-changes] [286879] trunk/Source/WebKit
Title: [286879] trunk/Source/WebKit Revision 286879 Author akeer...@apple.com Date 2021-12-10 14:52:17 -0800 (Fri, 10 Dec 2021) Log Message [iOS] Support find-in-page keyboard shortcuts https://bugs.webkit.org/show_bug.cgi?id=234163 rdar://86333128 Reviewed by Devin Rousso. * Platform/spi/ios/UIKitSPI.h: * UIProcess/API/ios/WKWebViewIOS.h: * UIProcess/ios/WKContentViewInteraction.h: * UIProcess/ios/WKContentViewInteraction.mm: (-[WKContentView canPerformActionForWebView:withSender:]): (-[WKContentView findForWebView:]): (-[WKContentView findNextForWebView:]): (-[WKContentView findPreviousForWebView:]): Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm Diff Modified: trunk/Source/WebKit/ChangeLog (286878 => 286879) --- trunk/Source/WebKit/ChangeLog 2021-12-10 22:19:03 UTC (rev 286878) +++ trunk/Source/WebKit/ChangeLog 2021-12-10 22:52:17 UTC (rev 286879) @@ -1,3 +1,20 @@ +2021-12-10 Aditya Keerthi + +[iOS] Support find-in-page keyboard shortcuts +https://bugs.webkit.org/show_bug.cgi?id=234163 +rdar://86333128 + +Reviewed by Devin Rousso. + +* Platform/spi/ios/UIKitSPI.h: +* UIProcess/API/ios/WKWebViewIOS.h: +* UIProcess/ios/WKContentViewInteraction.h: +* UIProcess/ios/WKContentViewInteraction.mm: +(-[WKContentView canPerformActionForWebView:withSender:]): +(-[WKContentView findForWebView:]): +(-[WKContentView findNextForWebView:]): +(-[WKContentView findPreviousForWebView:]): + 2021-12-10 Brady Eidson Teach webpushd to launch an app in response to an injected message. Modified: trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h (286878 => 286879) --- trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h 2021-12-10 22:19:03 UTC (rev 286878) +++ trunk/Source/WebKit/Platform/spi/ios/UIKitSPI.h 2021-12-10 22:52:17 UTC (rev 286879) @@ -1521,6 +1521,19 @@ @end #endif +#if HAVE(UIFINDINTERACTION) + +@interface _UIFindInteraction (Staging_84486967) + +- (void)presentFindNavigatorShowingReplace:(BOOL)replaceVisible; + +- (void)findNext; +- (void)findPrevious; + +@end + +#endif + WTF_EXTERN_C_BEGIN BOOL UIKeyboardEnabledInputModesAllowOneToManyShortcuts(void); Modified: trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h (286878 => 286879) --- trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h 2021-12-10 22:19:03 UTC (rev 286878) +++ trunk/Source/WebKit/UIProcess/API/ios/WKWebViewIOS.h 2021-12-10 22:52:17 UTC (rev 286879) @@ -122,6 +122,12 @@ - (void)replace:(id)sender; - (void)_translate:(id)sender; +#if HAVE(UIFINDINTERACTION) +- (void)find:(id)sender; +- (void)findNext:(id)sender; +- (void)findPrevious:(id)sender; +#endif + - (void)_nextAccessoryTab:(id)sender; - (void)_previousAccessoryTab:(id)sender; Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h (286878 => 286879) --- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h 2021-12-10 22:19:03 UTC (rev 286878) +++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h 2021-12-10 22:52:17 UTC (rev 286879) @@ -159,8 +159,18 @@ #define FOR_EACH_INSERT_TEXT_FROM_CAMERA_WKCONTENTVIEW_ACTION(M) #endif +#if HAVE(UIFINDINTERACTION) +#define FOR_EACH_FIND_WKCONTENTVIEW_ACTION(M) \ +M(find) \ +M(findNext) \ +M(findPrevious) +#else +#define FOR_EACH_FIND_WKCONTENTVIEW_ACTION(M) +#endif + #define FOR_EACH_WKCONTENTVIEW_ACTION(M) \ FOR_EACH_INSERT_TEXT_FROM_CAMERA_WKCONTENTVIEW_ACTION(M) \ +FOR_EACH_FIND_WKCONTENTVIEW_ACTION(M) \ M(_addShortcut) \ M(_define) \ M(_lookup) \ Modified: trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm (286878 => 286879) --- trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2021-12-10 22:19:03 UTC (rev 286878) +++ trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm 2021-12-10 22:52:17 UTC (rev 286879) @@ -3969,6 +3969,11 @@ } #endif // ENABLE(IMAGE_ANALYSIS) +#if HAVE(UIFINDINTERACTION) +if (action == @selector(find:) || action == @selector(findNext:) || action == @selector(findPrevious:)) +return self.webView._findInteractionEnabled; +#endif + return [super canPerformAction:action withSender:sender]; } @@ -9976,6 +9981,21 @@ #if HAVE(UIFINDINTERACTION) +- (void)findForWebView:(id)sender +{ +[self.webView._findInteraction presentFindNavigatorShowingReplace:NO]; +} + +- (void)findNextForWebView:(id)sender +{ +[self.webView._findInteraction findNext]; +} + +- (void)findPreviousForWebView:(id)sender +{ +[self.webView._findInteraction findPrevious]; +} + - (void)performTextSearchWithQueryString:(NSString *)string usingOptions:(_UITextSearchOptions *)options resultAggregator:(id<_UITextSearchAggregator>)aggregator {
[webkit-changes] [286878] trunk/Source
Title: [286878] trunk/Source Revision 286878 Author beid...@apple.com Date 2021-12-10 14:19:03 -0800 (Fri, 10 Dec 2021) Log Message Teach webpushd to launch an app in response to an injected message. https://bugs.webkit.org/show_bug.cgi?id=234122 Reviewed by Alex Christensen. Source/WebCore/PAL: * pal/spi/cocoa/LaunchServicesSPI.h: Source/WebKit: To by covered by future API test. When a message comes in, webpushd knows which code signing identifier it was targetted for. It launches that app in a special mode so the app can then "take it from there" * webpushd/WebPushDaemon.h: * webpushd/WebPushDaemon.mm: (WebPushD::Daemon::injectPushMessageForTesting): (WebPushD::Daemon::notifyClientPushMessageIsAvailable): Modified Paths trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/pal/spi/cocoa/LaunchServicesSPI.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/webpushd/WebPushDaemon.h trunk/Source/WebKit/webpushd/WebPushDaemon.mm Diff Modified: trunk/Source/WebCore/PAL/ChangeLog (286877 => 286878) --- trunk/Source/WebCore/PAL/ChangeLog 2021-12-10 22:17:27 UTC (rev 286877) +++ trunk/Source/WebCore/PAL/ChangeLog 2021-12-10 22:19:03 UTC (rev 286878) @@ -1,3 +1,12 @@ +2021-12-10 Brady Eidson + +Teach webpushd to launch an app in response to an injected message. +https://bugs.webkit.org/show_bug.cgi?id=234122 + +Reviewed by Alex Christensen. + +* pal/spi/cocoa/LaunchServicesSPI.h: + 2021-12-10 Antoine Quint Expose the maximum device frame rate to the Web Animations model Modified: trunk/Source/WebCore/PAL/pal/spi/cocoa/LaunchServicesSPI.h (286877 => 286878) --- trunk/Source/WebCore/PAL/pal/spi/cocoa/LaunchServicesSPI.h 2021-12-10 22:17:27 UTC (rev 286877) +++ trunk/Source/WebCore/PAL/pal/spi/cocoa/LaunchServicesSPI.h 2021-12-10 22:19:03 UTC (rev 286878) @@ -50,6 +50,9 @@ WTF_EXTERN_C_END #endif // PLATFORM(MACCATALYST) #else // USE(APPLE_INTERNAL_SDK) + +const uint8_t kLSOpenRunningInstanceBehaviorUseRunningProcess = 1; + @interface LSResourceProxy : NSObject @property (nonatomic, copy, readonly) NSString *localizedName; @end @@ -130,6 +133,11 @@ WTF_EXTERN_C_BEGIN extern const CFStringRef _kLSDisplayNameKey; +extern const CFStringRef _kLSOpenOptionActivateKey; +extern const CFStringRef _kLSOpenOptionAddToRecentsKey; +extern const CFStringRef _kLSOpenOptionBackgroundLaunchKey; +extern const CFStringRef _kLSOpenOptionHideKey; +extern const CFStringRef _kLSOpenOptionPreferRunningInstanceKey; extern const CFStringRef _kLSPersistenceSuppressRelaunchAtLoginKey; LSASNRef _LSGetCurrentApplicationASN(); @@ -139,6 +147,9 @@ OSStatus _RegisterApplication(CFDictionaryRef, ProcessSerialNumber*); +typedef void (^ _LSOpenCompletionHandler)(LSASNRef, Boolean, CFErrorRef); +void _LSOpenURLsUsingBundleIdentifierWithCompletionHandler(CFArrayRef, CFStringRef, CFDictionaryRef, _LSOpenCompletionHandler); + WTF_EXTERN_C_END #endif // PLATFORM(MAC) Modified: trunk/Source/WebKit/ChangeLog (286877 => 286878) --- trunk/Source/WebKit/ChangeLog 2021-12-10 22:17:27 UTC (rev 286877) +++ trunk/Source/WebKit/ChangeLog 2021-12-10 22:19:03 UTC (rev 286878) @@ -1,3 +1,20 @@ +2021-12-10 Brady Eidson + +Teach webpushd to launch an app in response to an injected message. +https://bugs.webkit.org/show_bug.cgi?id=234122 + +Reviewed by Alex Christensen. + +To by covered by future API test. + +When a message comes in, webpushd knows which code signing identifier it was targetted for. +It launches that app in a special mode so the app can then "take it from there" + +* webpushd/WebPushDaemon.h: +* webpushd/WebPushDaemon.mm: +(WebPushD::Daemon::injectPushMessageForTesting): +(WebPushD::Daemon::notifyClientPushMessageIsAvailable): + 2021-12-10 Antoine Quint Expose the maximum device frame rate to the Web Animations model Modified: trunk/Source/WebKit/webpushd/WebPushDaemon.h (286877 => 286878) --- trunk/Source/WebKit/webpushd/WebPushDaemon.h 2021-12-10 22:17:27 UTC (rev 286877) +++ trunk/Source/WebKit/webpushd/WebPushDaemon.h 2021-12-10 22:19:03 UTC (rev 286878) @@ -79,6 +79,8 @@ bool canRegisterForNotifications(ClientConnection&); +void notifyClientPushMessageIsAvailable(const String& clientCodeSigningIdentifier); + ClientConnection* toClientConnection(xpc_connection_t); HashMap> m_connectionMap; Modified: trunk/Source/WebKit/webpushd/WebPushDaemon.mm (286877 => 286878) --- trunk/Source/WebKit/webpushd/WebPushDaemon.mm 2021-12-10 22:17:27 UTC (rev 286877) +++ trunk/Source/WebKit/webpushd/WebPushDaemon.mm 2021-12-10 22:19:03 UTC (rev 286878) @@ -33,6 +33,7 @@ #import "HandleMessage.h" #import "MockAppBundleRegistry.h" +#import #import #import #import @@ -349,9 +350,32 @@ }); addResult.iterator->value.append(message); +
[webkit-changes] [286877] trunk/Source
Title: [286877] trunk/Source Revision 286877 Author grao...@webkit.org Date 2021-12-10 14:17:27 -0800 (Fri, 10 Dec 2021) Log Message Expose the maximum device frame rate to the Web Animations model https://bugs.webkit.org/show_bug.cgi?id=234161 rdar://85983792 Reviewed by Simon Fraser. Source/WebCore: Expose a new property on DocumentTimeline, governed by an off-by-default runtime flag, that exposes the maximum frame rate supported by the device. This will allow authors to use this information to make informed decision on appropriate frame rates to set on animations. * animation/DocumentTimeline.cpp: (WebCore::DocumentTimeline::maximumFrameRate const): * animation/DocumentTimeline.h: * animation/DocumentTimeline.idl: Source/WebCore/PAL: Add a newly-used CADisplayLink SPI. * pal/spi/cocoa/QuartzCoreSPI.h: Source/WebKit: The display's nominal frame rate was only provided to the Page on macOS. We also expose it on iOS such that the new DocumentTimeline property also works on iOS. * UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm: (-[WKOneShotDisplayLinkHandler initWithDrawingAreaProxy:]): * UIProcess/WebPageProxy.h: Source/WTF: Add a new experimental feature controlling the availability of per-animation frame rate. * Scripts/Preferences/WebPreferencesExperimental.yaml: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/PAL/ChangeLog trunk/Source/WebCore/PAL/pal/spi/cocoa/QuartzCoreSPI.h trunk/Source/WebCore/animation/DocumentTimeline.cpp trunk/Source/WebCore/animation/DocumentTimeline.h trunk/Source/WebCore/animation/DocumentTimeline.idl trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm trunk/Source/WebKit/UIProcess/WebPageProxy.h Diff Modified: trunk/Source/WTF/ChangeLog (286876 => 286877) --- trunk/Source/WTF/ChangeLog 2021-12-10 22:15:52 UTC (rev 286876) +++ trunk/Source/WTF/ChangeLog 2021-12-10 22:17:27 UTC (rev 286877) @@ -1,3 +1,15 @@ +2021-12-10 Antoine Quint + +Expose the maximum device frame rate to the Web Animations model +https://bugs.webkit.org/show_bug.cgi?id=234161 +rdar://85983792 + +Reviewed by Simon Fraser. + +Add a new experimental feature controlling the availability of per-animation frame rate. + +* Scripts/Preferences/WebPreferencesExperimental.yaml: + 2021-12-10 Sam Sneddon Enable the 'resolution' media query by default Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml (286876 => 286877) --- trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2021-12-10 22:15:52 UTC (rev 286876) +++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2021-12-10 22:17:27 UTC (rev 286877) @@ -1496,6 +1496,19 @@ WebCore: default: false +WebAnimationsCustomFrameRateEnabled: + type: bool + humanReadableName: "Web Animations custom frame rate" + humanReadableDescription: "Support for specifying a custom frame rate for Web Animations" + defaultValue: +WebKitLegacy: + default: false +WebKit: + "ENABLE(EXPERIMENTAL_FEATURES)" : true + default: false +WebCore: + default: false + # FIXME: This is enabled when ENABLE(EXPERIMENTAL_FEATURES) is true in WebKit2. Perhaps we should consider using that for WebKitLegacy as well. WebAnimationsMutableTimelinesEnabled: type: bool Modified: trunk/Source/WebCore/ChangeLog (286876 => 286877) --- trunk/Source/WebCore/ChangeLog 2021-12-10 22:15:52 UTC (rev 286876) +++ trunk/Source/WebCore/ChangeLog 2021-12-10 22:17:27 UTC (rev 286877) @@ -1,3 +1,21 @@ +2021-12-10 Antoine Quint + +Expose the maximum device frame rate to the Web Animations model +https://bugs.webkit.org/show_bug.cgi?id=234161 +rdar://85983792 + +Reviewed by Simon Fraser. + +Expose a new property on DocumentTimeline, governed by an off-by-default runtime flag, +that exposes the maximum frame rate supported by the device. This will allow authors +to use this information to make informed decision on appropriate frame rates to set +on animations. + +* animation/DocumentTimeline.cpp: +(WebCore::DocumentTimeline::maximumFrameRate const): +* animation/DocumentTimeline.h: +* animation/DocumentTimeline.idl: + 2021-12-10 Alexey Shvayka Extend the scope where the Window's current event is set Modified: trunk/Source/WebCore/PAL/ChangeLog (286876 => 286877) --- trunk/Source/WebCore/PAL/ChangeLog 2021-12-10 22:15:52 UTC (rev 286876) +++ trunk/Source/WebCore/PAL/ChangeLog 2021-12-10 22:17:27 UTC (rev 286877) @@ -1,3 +1,15 @@ +2021-12-10 Antoine Quint + +Expose the maximum device frame rate to the Web Animations model +https://bugs.webkit.org/show_bug.cgi?id=234161 +rdar://85983792 + +
[webkit-changes] [286876] trunk
Title: [286876] trunk Revision 286876 Author rcali...@apple.com Date 2021-12-10 14:15:52 -0800 (Fri, 10 Dec 2021) Log Message Web Inspector: Computed Panel: Group CSS variables by value type https://bugs.webkit.org/show_bug.cgi?id=233563 Reviewed by Devin Rousso and Patrick Angle. Source/WebInspectorUI: Add the ability to view CSS variables in the Computed styles details sidebar panel groupped by value type in a few sections: "colors", "dimensions", "numbers" and a catch-all group of "other". * Localizations/en.lproj/localizedStrings.js: * UserInterface/Models/DOMNodeStyles.js: (WI.DOMNodeStyles): (WI.DOMNodeStyles.prototype.variableStylesByType): Iterate on-demand over all CSS variables found in the node's computed styles and assign each to a group depending on its value type: - color - dimension (number followed by a CSS unit-like string) - number - other Additional groups and refinements will come in follow-up patches. (WI.DOMNodeStyles.prototype.refresh.fetchedComputedStyle): The map of CSS variable groups gets invalidated when there's a significant change in the node's computed style. This supports the use case where previously empty groups become populated or, conversely, become empty. * UserInterface/Views/ComputedStyleDetailsPanel.js: (WI.ComputedStyleDetailsPanel): (WI.ComputedStyleDetailsPanel.prototype.refresh): (WI.ComputedStyleDetailsPanel.prototype.applyFilter): (WI.ComputedStyleDetailsPanel.prototype.initialLayout): No longer generate the elements for laying out CSS variables during `initialLayout()` but handle them during `layout()`. This support mutating the DOM for laying out either one top-level list of CSS variables (ungrouped) or multiple lists of CSS variable groups depeding on the grouping mode selected at runtime. * UserInterface/Views/ComputedStyleDetailsPanel.css: (.sidebar > .panel.details.css-style > .content > .computed .details-section > .content): Ensure both top-level and nested details sections overwrite styles. CSS variables groups are in nested details sections. (.sidebar > .panel.details.css-style > .content > .computed .details-section.computed-style-variables .computed-property-item): Adapt stylesheet to account for using `WI.ComputedStyleSection` instead of `WI.SpreadsheetCSSStyleDeclarationEditor` (.sidebar > .panel.details.css-style > .content > .computed > .details-section.computed-style-variables .scope-bar.computed-style-variables-grouping-mode): (.sidebar > .panel.details.css-style > .content > .computed > .details-section.computed-style-variables .scope-bar.computed-style-variables-grouping-mode.default-item-selected:not(:hover)): (.sidebar > .panel.details.css-style > .content > .computed > .details-section.computed-style-variables .scope-bar.computed-style-variables-grouping-mode.default-item-selected:hover): Reuse the visual treatment from SourcesNavigationSidebarPanel.css to avoid highlighting the default grouping mode scope bar item. (.sidebar > .panel.details.css-style > .content > .computed > .details-section > .content): Deleted. (.sidebar > .panel.details.css-style > .content > .computed .property): Deleted. (WI.ComputedStyleDetailsPanel.prototype.layout): Skip destroying and rebuilding sections whose data sources change during `WI.ComputedStyleDetailsPanel.refresh()` and which handle layout internally. We need to remove and rebuild just the sections for CSS variables because layout is requested in response to changing the CSS variables grouping mode. (WI.ComputedStyleDetailsPanel.prototype._createVariablesStyleSection): Replaces the use of `WI.SpreadsheetCSSStyleDeclarationEditor` for rendering CSS variables with `WI.ComputedStyleSection` which is already used for rendering CSS properties. It's a lighter-weight View that's fit for purpose. (WI.ComputedStyleDetailsPanel.prototype._renderVariablesStyleSectionGroup): Use a generic renderer for CSS variable sections that can be reused for any group type. (WI.ComputedStyleDetailsPanel.prototype._handleDetailsSectionCollapsedStateChanged): Generalize handling collapsed state change events for all sections, current and future. (WI.ComputedStyleDetailsPanel.prototype._handleEditorFilterApplied): Generalize handling filtering events for all sections, current and future. (WI.ComputedStyleDetailsPanel.prototype._handleVariablesGroupingModeScopeBarSelectionChanged): (WI.ComputedStyleDetailsPanel.prototype._handleVariablesGroupingSettingChanged): (WI.ComputedStyleDetailsPanel.prototype._handlePropertiesSectionCollapsedStateChanged): Deleted. (WI.ComputedStyleDetailsPanel.prototype._handleVariablesSectionCollapsedStateChanged): Deleted. * UserInterface/Views/ComputedStyleSection.js: (WI.ComputedStyleSection): Change the default value of `_styleTraces` to null instead of an empty array so that `WI.ComputedStyleSection.layout()` doesn't attempt to access it like a `Map`. LayoutTests: Check logic for grouping CSS variables by value type in Web Inspector. *
[webkit-changes] [286875] trunk/Source/WebInspectorUI
Title: [286875] trunk/Source/WebInspectorUI Revision 286875 Author nvasil...@apple.com Date 2021-12-10 14:01:57 -0800 (Fri, 10 Dec 2021) Log Message Web Inspector: Add a swatch for align-items and align-self https://bugs.webkit.org/show_bug.cgi?id=233054 Reviewed by Devin Rousso. Introduce inline swatches for `align-items` and `align-self`, that shows icons for common values: start, center, end, and stretch. * UserInterface/Images/AlignContentCenter.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/AlignmentCenter.svg. * UserInterface/Images/AlignContentEnd.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/AlignmentEnd.svg. * UserInterface/Images/AlignContentSpaceAround.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/AlignmentSpaceAround.svg. * UserInterface/Images/AlignContentSpaceBetween.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/AlignmentSpaceBetween.svg. * UserInterface/Images/AlignContentSpaceEvenly.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/AlignmentSpaceEvenly.svg. * UserInterface/Images/AlignContentStart.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/AlignmentStart.svg. * UserInterface/Images/AlignContentStretch.svg: Renamed from Source/WebInspectorUI/UserInterface/Images/AlignmentStretch.svg. Rename icons from Alignment to AlignContent since they are only used for `align-content` CSS property now. * UserInterface/Images/AlignItemsCenter.svg: Added. * UserInterface/Images/AlignItemsEnd.svg: Added. * UserInterface/Images/AlignItemsStart.svg: Added. * UserInterface/Images/AlignItemsStretch.svg: Added. * UserInterface/Main.html: * UserInterface/Models/AlignmentData.js: Added. (WI.AlignmentData): (WI.AlignmentData.isAlignmentAwarePropertyName): (WI.AlignmentData._propertyNameToType): (WI.AlignmentData.prototype.get type): (WI.AlignmentData.prototype.get text): (WI.AlignmentData.prototype.set text): (WI.AlignmentData.prototype.toString): Introduce a model object to be more consistent with the rest of the inline swatches. * UserInterface/Views/AlignmentEditor.js: (WI.AlignmentEditor): Allow AlignmentEditor to work with more than one CSS property (i.e. align-content), by introducing propertyName argument. (WI.AlignmentEditor.glyphPath): (WI.AlignmentEditor._glyphsForType): (WI.AlignmentEditor.prototype.get alignment): (WI.AlignmentEditor.prototype.set alignment): Rename `value` to `alignment` to be more consistent with the rest of the editors. (WI.AlignmentEditor.prototype._removePreviouslySelected): (WI.AlignmentEditor.prototype._updateSelected): (WI.AlignmentEditor.isAlignContentValue): Deleted. (WI.AlignmentEditor.prototype.get value): Deleted. (WI.AlignmentEditor.prototype.set value): Deleted. * UserInterface/Views/InlineSwatch.js: (WI.InlineSwatch.prototype._updateSwatch): (WI.InlineSwatch.prototype._valueEditorValueDidChange): * UserInterface/Views/SpreadsheetStyleProperty.js: (WI.SpreadsheetStyleProperty.prototype._replaceSpecialTokens): (WI.SpreadsheetStyleProperty.prototype._addAlignmentTokens): Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Main.html trunk/Source/WebInspectorUI/UserInterface/Views/AlignmentEditor.js trunk/Source/WebInspectorUI/UserInterface/Views/InlineSwatch.js trunk/Source/WebInspectorUI/UserInterface/Views/SpreadsheetStyleProperty.js Added Paths trunk/Source/WebInspectorUI/UserInterface/Images/AlignContentCenter.svg trunk/Source/WebInspectorUI/UserInterface/Images/AlignContentEnd.svg trunk/Source/WebInspectorUI/UserInterface/Images/AlignContentSpaceAround.svg trunk/Source/WebInspectorUI/UserInterface/Images/AlignContentSpaceBetween.svg trunk/Source/WebInspectorUI/UserInterface/Images/AlignContentSpaceEvenly.svg trunk/Source/WebInspectorUI/UserInterface/Images/AlignContentStart.svg trunk/Source/WebInspectorUI/UserInterface/Images/AlignContentStretch.svg trunk/Source/WebInspectorUI/UserInterface/Images/AlignItemsCenter.svg trunk/Source/WebInspectorUI/UserInterface/Images/AlignItemsEnd.svg trunk/Source/WebInspectorUI/UserInterface/Images/AlignItemsStart.svg trunk/Source/WebInspectorUI/UserInterface/Images/AlignItemsStretch.svg trunk/Source/WebInspectorUI/UserInterface/Models/AlignmentData.js Removed Paths trunk/Source/WebInspectorUI/UserInterface/Images/AlignmentCenter.svg trunk/Source/WebInspectorUI/UserInterface/Images/AlignmentEnd.svg trunk/Source/WebInspectorUI/UserInterface/Images/AlignmentSpaceAround.svg trunk/Source/WebInspectorUI/UserInterface/Images/AlignmentSpaceBetween.svg trunk/Source/WebInspectorUI/UserInterface/Images/AlignmentSpaceEvenly.svg trunk/Source/WebInspectorUI/UserInterface/Images/AlignmentStart.svg trunk/Source/WebInspectorUI/UserInterface/Images/AlignmentStretch.svg Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (286874 => 286875) --- trunk/Source/WebInspectorUI/ChangeLog 2021-12-10 21:56:07 UTC (rev 286874) +++ trunk/Source/WebInspectorUI/ChangeLog 2021-12-10 22:01:57 UTC (rev
[webkit-changes] [286874] trunk/Source/WTF
Title: [286874] trunk/Source/WTF Revision 286874 Author gsnedd...@apple.com Date 2021-12-10 13:56:07 -0800 (Fri, 10 Dec 2021) Log Message Enable the 'resolution' media query by default https://bugs.webkit.org/show_bug.cgi?id=78087 Reviewed by Simon Fraser. * Scripts/Preferences/WebPreferencesExperimental.yaml: Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml Diff Modified: trunk/Source/WTF/ChangeLog (286873 => 286874) --- trunk/Source/WTF/ChangeLog 2021-12-10 21:28:43 UTC (rev 286873) +++ trunk/Source/WTF/ChangeLog 2021-12-10 21:56:07 UTC (rev 286874) @@ -1,3 +1,12 @@ +2021-12-10 Sam Sneddon + +Enable the 'resolution' media query by default +https://bugs.webkit.org/show_bug.cgi?id=78087 + +Reviewed by Simon Fraser. + +* Scripts/Preferences/WebPreferencesExperimental.yaml: + 2021-12-09 Darin Adler Use simpler idioms for std::less and std::greater possible in modern C++ Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml (286873 => 286874) --- trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2021-12-10 21:28:43 UTC (rev 286873) +++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2021-12-10 21:56:07 UTC (rev 286874) @@ -1213,11 +1213,11 @@ humanReadableDescription: "Enable resolution media feature support" defaultValue: WebKitLegacy: - default: false + default: true WebKit: - default: false + default: true WebCore: - default: false + default: true # FIXME: Is this implemented for WebKitLegacy? If not, this should be excluded from WebKitLegacy entirely. # FIXME: This should have it's own ENABLE. ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286873] trunk
Title: [286873] trunk Revision 286873 Author shvaikal...@gmail.com Date 2021-12-10 13:28:43 -0800 (Fri, 10 Dec 2021) Log Message Extend the scope where the Window's current event is set https://bugs.webkit.org/show_bug.cgi?id=233833 Reviewed by Ryosuke Niwa. LayoutTests/imported/w3c: Import WPT tests from https://github.com/web-platform-tests/wpt/pull/31894. * web-platform-tests/dom/events/event-global-is-still-set-when-coercing-beforeunload-result-expected.txt: Added. * web-platform-tests/dom/events/event-global-is-still-set-when-coercing-beforeunload-result.html: Added. * web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any-expected.txt: Added. * web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.html: Added. * web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.js: Added. * web-platform-tests/dom/events/resources/event-global-is-still-set-when-coercing-beforeunload-result-frame.html: Added. Source/WebCore: Inner invoke algorithm [1] sets window.event from step 8.2 until step 12 (inclusive). That includes calling a callback interface [2], which performs "handleEvent" lookup (step 10.1) and coerces return value of "beforeunload" handler (step 14). Before this patch, window.event was not set during these user-observable operations. Now WebKit is aligned with Blink and Gecko. JSErrorHandler is correct: although reportException() may call userland "error" handler, it will have window.event on its own. [1] https://dom.spec.whatwg.org/#concept-event-listener-inner-invoke [2] https://webidl.spec.whatwg.org/#call-a-user-objects-operation Tests: imported/w3c/web-platform-tests/dom/events/event-global-is-still-set-when-coercing-beforeunload-result.html imported/w3c/web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.html * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::handleEvent): ScopeExit is used since the method has so many exit points. Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/JSEventListener.cpp Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-is-still-set-when-coercing-beforeunload-result-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-is-still-set-when-coercing-beforeunload-result.html trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.html trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.js trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/resources/event-global-is-still-set-when-coercing-beforeunload-result-frame.html Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (286872 => 286873) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-10 21:25:01 UTC (rev 286872) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-10 21:28:43 UTC (rev 286873) @@ -1,5 +1,21 @@ 2021-12-10 Alexey Shvayka +Extend the scope where the Window's current event is set +https://bugs.webkit.org/show_bug.cgi?id=233833 + +Reviewed by Ryosuke Niwa. + +Import WPT tests from https://github.com/web-platform-tests/wpt/pull/31894. + +* web-platform-tests/dom/events/event-global-is-still-set-when-coercing-beforeunload-result-expected.txt: Added. +* web-platform-tests/dom/events/event-global-is-still-set-when-coercing-beforeunload-result.html: Added. +* web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any-expected.txt: Added. +* web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.html: Added. +* web-platform-tests/dom/events/event-global-set-before-handleEvent-lookup.any.js: Added. +* web-platform-tests/dom/events/resources/event-global-is-still-set-when-coercing-beforeunload-result-frame.html: Added. + +2021-12-10 Alexey Shvayka + JSErrorHandler should not set window.event if invocation target is in shadow tree https://bugs.webkit.org/show_bug.cgi?id=233834 Added: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-is-still-set-when-coercing-beforeunload-result-expected.txt (0 => 286873) --- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-is-still-set-when-coercing-beforeunload-result-expected.txt (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-is-still-set-when-coercing-beforeunload-result-expected.txt 2021-12-10 21:28:43 UTC (rev 286873) @@ -0,0 +1,4 @@ + + +PASS window.event is still set when 'beforeunload' result is coerced to string + Added:
[webkit-changes] [286872] tags/Safari-613.1.11.1/
Title: [286872] tags/Safari-613.1.11.1/ Revision 286872 Author alanc...@apple.com Date 2021-12-10 13:25:01 -0800 (Fri, 10 Dec 2021) Log Message Tag Safari-613.1.11.1. Added Paths tags/Safari-613.1.11.1/ Diff ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286871] trunk
Title: [286871] trunk Revision 286871 Author shvaikal...@gmail.com Date 2021-12-10 13:24:43 -0800 (Fri, 10 Dec 2021) Log Message JSErrorHandler should not set window.event if invocation target is in shadow tree https://bugs.webkit.org/show_bug.cgi?id=233834 Reviewed by Ryosuke Niwa. LayoutTests/imported/w3c: Update the test per https://github.com/web-platform-tests/wpt/pull/31893 as well as its expectations. * web-platform-tests/dom/events/event-global-expected.txt: * web-platform-tests/dom/events/event-global.html: Source/WebCore: This patch brings r233489 for JSErrorHandler (window.onerror handler for ErrorEvent), implementing the spec [1] and aligning WebKit with Blink and Gecko. [1] https://dom.spec.whatwg.org/#ref-for-window-current-event%E2%91%A1 Test: imported/w3c/web-platform-tests/dom/events/event-global.html * bindings/js/JSErrorHandler.cpp: (WebCore::JSErrorHandler::handleEvent): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global.html trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/JSErrorHandler.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (286870 => 286871) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-10 21:15:46 UTC (rev 286870) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-10 21:24:43 UTC (rev 286871) @@ -1,3 +1,15 @@ +2021-12-10 Alexey Shvayka + +JSErrorHandler should not set window.event if invocation target is in shadow tree +https://bugs.webkit.org/show_bug.cgi?id=233834 + +Reviewed by Ryosuke Niwa. + +Update the test per https://github.com/web-platform-tests/wpt/pull/31893 as well as its expectations. + +* web-platform-tests/dom/events/event-global-expected.txt: +* web-platform-tests/dom/events/event-global.html: + 2021-12-10 Patrick Griffis CSP: Implement protections against nonce-hijacking Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-expected.txt (286870 => 286871) --- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-expected.txt 2021-12-10 21:15:46 UTC (rev 286870) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global-expected.txt 2021-12-10 21:24:43 UTC (rev 286871) @@ -3,6 +3,7 @@ PASS window.event is only defined during dispatch PASS window.event is undefined if the target is in a shadow tree (event dispatched outside shadow tree) PASS window.event is undefined if the target is in a shadow tree (event dispatched inside shadow tree) +PASS window.event is undefined inside window.onerror if the target is in a shadow tree (ErrorEvent dispatched inside shadow tree) PASS window.event is set to the current event during dispatch PASS window.event is set to the current event, which is the event passed to dispatch Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global.html (286870 => 286871) --- trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global.html 2021-12-10 21:15:46 UTC (rev 286870) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/dom/events/event-global.html 2021-12-10 21:24:43 UTC (rev 286871) @@ -5,6 +5,8 @@
[webkit-changes] [286870] trunk/Source
Title: [286870] trunk/Source Revision 286870 Author drou...@apple.com Date 2021-12-10 13:15:46 -0800 (Fri, 10 Dec 2021) Log Message Allow `Pasteboard::readBuffer` to read from the pasteboard as a whole instead of a specific item https://bugs.webkit.org/show_bug.cgi?id=233940 Reviewed by Wenson Hsieh. In order to match the WK1 implementation of `-pasteFont:` , we need to read from the font pasteboard as a whole, not a specific item. Make the `index` into an `std::optional` so that we can have this behavior without needing to have a new method. No change in behavior. Source/WebCore: * platform/Pasteboard.h: * platform/Pasteboard.cpp: (WebCore::Pasteboard::readBuffer): * platform/PasteboardStrategy.h: * platform/PlatformPasteboard.h: * platform/ios/PlatformPasteboardIOS.mm: (WebCore::PlatformPasteboard::getTypes const): (WebCore::PlatformPasteboard::bufferForType const): (WebCore::PlatformPasteboard::readBuffer const): (WebCore::PlatformPasteboard::getTypes): Deleted. (WebCore::PlatformPasteboard::bufferForType): Deleted. * platform/libwpe/PlatformPasteboardLibWPE.cpp: (WebCore::PlatformPasteboard::getTypes const): (WebCore::PlatformPasteboard::getTypes): Deleted. * platform/mac/PlatformPasteboardMac.mm: (WebCore::PlatformPasteboard::getTypes const): (WebCore::PlatformPasteboard::bufferForType const): (WebCore::PlatformPasteboard::readBuffer const): (WebCore::PlatformPasteboard::getTypes): Deleted. (WebCore::PlatformPasteboard::bufferForType): Deleted. Source/WebKit: * UIProcess/WebPasteboardProxy.messages.in: * UIProcess/WebPasteboardProxy.h: * UIProcess/WebPasteboardProxy.cpp: (WebKit::WebPasteboardProxy::readBufferFromPasteboard): * UIProcess/Cocoa/WebPasteboardProxyCocoa.mm: (WebKit::WebPasteboardProxy::readBufferFromPasteboard): * WebProcess/WebCoreSupport/WebPlatformStrategies.h: * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: (WebKit::WebPlatformStrategies::readBufferFromPasteboard): Source/WebKitLegacy/mac: * WebCoreSupport/WebPlatformStrategies.h: * WebCoreSupport/WebPlatformStrategies.mm: (WebPlatformStrategies::readBufferFromPasteboard): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/Pasteboard.cpp trunk/Source/WebCore/platform/Pasteboard.h trunk/Source/WebCore/platform/PasteboardStrategy.h trunk/Source/WebCore/platform/PlatformPasteboard.h trunk/Source/WebCore/platform/ios/PlatformPasteboardIOS.mm trunk/Source/WebCore/platform/libwpe/PlatformPasteboardLibWPE.cpp trunk/Source/WebCore/platform/mac/PlatformPasteboardMac.mm trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/Cocoa/WebPasteboardProxyCocoa.mm trunk/Source/WebKit/UIProcess/WebPasteboardProxy.cpp trunk/Source/WebKit/UIProcess/WebPasteboardProxy.h trunk/Source/WebKit/UIProcess/WebPasteboardProxy.messages.in trunk/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp trunk/Source/WebKit/WebProcess/WebCoreSupport/WebPlatformStrategies.h trunk/Source/WebKitLegacy/mac/ChangeLog trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebPlatformStrategies.h trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebPlatformStrategies.mm Diff Modified: trunk/Source/WebCore/ChangeLog (286869 => 286870) --- trunk/Source/WebCore/ChangeLog 2021-12-10 20:37:40 UTC (rev 286869) +++ trunk/Source/WebCore/ChangeLog 2021-12-10 21:15:46 UTC (rev 286870) @@ -1,3 +1,37 @@ +2021-12-10 Devin Rousso + +Allow `Pasteboard::readBuffer` to read from the pasteboard as a whole instead of a specific item +https://bugs.webkit.org/show_bug.cgi?id=233940 + +Reviewed by Wenson Hsieh. + +In order to match the WK1 implementation of `-pasteFont:` , we +need to read from the font pasteboard as a whole, not a specific item. Make the `index` into +an `std::optional` so that we can have this behavior without needing to have a new method. + +No change in behavior. + +* platform/Pasteboard.h: +* platform/Pasteboard.cpp: +(WebCore::Pasteboard::readBuffer): +* platform/PasteboardStrategy.h: +* platform/PlatformPasteboard.h: +* platform/ios/PlatformPasteboardIOS.mm: +(WebCore::PlatformPasteboard::getTypes const): +(WebCore::PlatformPasteboard::bufferForType const): +(WebCore::PlatformPasteboard::readBuffer const): +(WebCore::PlatformPasteboard::getTypes): Deleted. +(WebCore::PlatformPasteboard::bufferForType): Deleted. +* platform/libwpe/PlatformPasteboardLibWPE.cpp: +(WebCore::PlatformPasteboard::getTypes const): +(WebCore::PlatformPasteboard::getTypes): Deleted. +* platform/mac/PlatformPasteboardMac.mm: +(WebCore::PlatformPasteboard::getTypes const): +(WebCore::PlatformPasteboard::bufferForType const): +(WebCore::PlatformPasteboard::readBuffer const): +(WebCore::PlatformPasteboard::getTypes): Deleted. +(WebCore::PlatformPasteboard::bufferForType): Deleted. + 2021-12-10 Chris Dumez Improve
[webkit-changes] [286869] trunk
Title: [286869] trunk Revision 286869 Author cdu...@apple.com Date 2021-12-10 12:37:40 -0800 (Fri, 10 Dec 2021) Log Message Improve value parsing and sanitization https://bugs.webkit.org/show_bug.cgi?id=234039 Reviewed by Darin Adler. Source/WebCore: Improve value parsing and sanitization. Test: fast/forms/datetimelocal/datetime-local-value-sanitization.html * html/BaseDateAndTimeInputType.h: * html/DateTimeLocalInputType.cpp: (WebCore::DateTimeLocalInputType::sanitizeValue const): Implement value sanitization for so that: - if the input uses a space as date / time separator, the sanitized value will use a 'T' instead. - The output will use the shortest possible string, omitting seconds or milliseconds when 0, as per https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-normalised-local-date-and-time-string * html/DateTimeLocalInputType.h: * platform/DateComponents.cpp: (WebCore::DateComponents::parseTime): Fix bug where we would allow more than 3 digits for the millisecond part of the time (we would silently ignore follow-up digits instead of failing parsing). This is as per: - https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-time-string This was covered by one of the subtests in imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/datetime-local.html (WebCore::isDateTimeLocalSeparator): (WebCore::DateComponents::parseDateTimeLocal): Allow using a space as date / time separator in , instead of simply allowing a 'T'. This would align our behavior with Gecko and the specification: - https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-local-date-and-time-string Note that Blink still seems to only allow 'T' as separator. (WebCore::DateComponents::toStringForTime const): The output will use the shortest possible string, omitting seconds or milliseconds when 0, as per https://html.spec.whatwg.org/multipage/common-microsyntaxes.html#valid-normalised-local-date-and-time-string LayoutTests: * fast/forms/datetimelocal/ValidityState-typeMismatch-datetimelocal-expected.txt: * fast/forms/datetimelocal/ValidityState-typeMismatch-datetimelocal.html: * fast/forms/datetimelocal/input-valueasnumber-datetimelocal-expected.txt: * fast/forms/datetimelocal/input-valueasnumber-datetimelocal.html: Update a couple of existing tests to reflect behavior change. * fast/forms/datetimelocal/datetime-local-value-sanitization-expected.txt: Added. * fast/forms/datetimelocal/datetime-local-value-sanitization.html: Added. Improve test coverage for datetime-local value sanitization. * platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: * platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/datetime-local-expected.txt: * platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-2-expected.txt: Rebaseline WPT tests now that more checks are passing. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/forms/datetimelocal/ValidityState-typeMismatch-datetimelocal-expected.txt trunk/LayoutTests/fast/forms/datetimelocal/ValidityState-typeMismatch-datetimelocal.html trunk/LayoutTests/fast/forms/datetimelocal/input-valueasnumber-datetimelocal-expected.txt trunk/LayoutTests/fast/forms/datetimelocal/input-valueasnumber-datetimelocal.html trunk/LayoutTests/fast/forms/time/time-validity-typemismatch-expected.txt trunk/LayoutTests/fast/forms/time/time-validity-typemismatch.html trunk/LayoutTests/fast/forms/time/time-valueasdate-expected.txt trunk/LayoutTests/fast/forms/time/time-valueasdate.html trunk/LayoutTests/fast/forms/time/time-valueasnumber-expected.txt trunk/LayoutTests/fast/forms/time/time-valueasnumber.html trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/datetime-local-expected.txt trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-2-expected.txt trunk/LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt trunk/LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/datetime-local-expected.txt trunk/LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/time-2-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/html/BaseDateAndTimeInputType.h trunk/Source/WebCore/html/DateTimeLocalInputType.cpp trunk/Source/WebCore/html/DateTimeLocalInputType.h trunk/Source/WebCore/platform/DateComponents.cpp Added Paths trunk/LayoutTests/fast/forms/datetimelocal/datetime-local-value-sanitization-expected.txt
[webkit-changes] [286868] trunk
Title: [286868] trunk Revision 286868 Author achristen...@apple.com Date 2021-12-10 12:23:01 -0800 (Fri, 10 Dec 2021) Log Message Move if-domain and unless-domain conversion to WKContentRuleList parsing https://bugs.webkit.org/show_bug.cgi?id=234126 Reviewed by Tim Hatcher. Source/WebCore: This simplifies a part of the compiler that is about to get more complicated. if-domain and unless-domain were the predecessors of if-top-url and unless-top-url, which are strictly more powerful because they run regexes on the whole top URL. This just translates *-domain into a *-top-url regex. This also makes it so there is no reason not to have *-domain and *-top-url conditions in the same rule list. Covered by existing tests. * contentextensions/CombinedURLFilters.cpp: (WebCore::ContentExtensions::CombinedURLFilters::addDomain): Deleted. * contentextensions/CombinedURLFilters.h: * contentextensions/CompiledContentExtension.h: * contentextensions/ContentExtension.cpp: (WebCore::ContentExtensions::ContentExtension::populateConditionCacheIfNeeded): * contentextensions/ContentExtensionCompiler.cpp: (WebCore::ContentExtensions::compileRuleList): * contentextensions/ContentExtensionCompiler.h: * contentextensions/ContentExtensionError.cpp: (WebCore::ContentExtensions::contentExtensionErrorCategory): * contentextensions/ContentExtensionError.h: * contentextensions/ContentExtensionParser.cpp: (WebCore::ContentExtensions::getDomainList): (WebCore::ContentExtensions::loadTrigger): * contentextensions/ContentExtensionRule.h: Source/WebKit: * Shared/WebCompiledContentRuleList.cpp: (WebKit::WebCompiledContentRuleList::conditionsApplyOnlyToDomain const): Deleted. * Shared/WebCompiledContentRuleList.h: * Shared/WebCompiledContentRuleListData.cpp: (WebKit::WebCompiledContentRuleListData::encode const): (WebKit::WebCompiledContentRuleListData::decode): * Shared/WebCompiledContentRuleListData.h: (WebKit::WebCompiledContentRuleListData::WebCompiledContentRuleListData): * UIProcess/API/APIContentRuleListStore.cpp: (API::encodeContentRuleListMetaData): (API::decodeContentRuleListMetaData): (API::compiledToFile): (API::createExtension): (API::getContentRuleListSourceFromMappedFile): * UIProcess/API/APIContentRuleListStore.h: Tools: * TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp: (TestWebKitAPI::testRequestImpl): (TestWebKitAPI::TEST_F): (TestWebKitAPI::testRequest): Deleted. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/contentextensions/CombinedURLFilters.cpp trunk/Source/WebCore/contentextensions/CombinedURLFilters.h trunk/Source/WebCore/contentextensions/CompiledContentExtension.h trunk/Source/WebCore/contentextensions/ContentExtension.cpp trunk/Source/WebCore/contentextensions/ContentExtensionCompiler.cpp trunk/Source/WebCore/contentextensions/ContentExtensionCompiler.h trunk/Source/WebCore/contentextensions/ContentExtensionError.cpp trunk/Source/WebCore/contentextensions/ContentExtensionError.h trunk/Source/WebCore/contentextensions/ContentExtensionParser.cpp trunk/Source/WebCore/contentextensions/ContentExtensionRule.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Shared/WebCompiledContentRuleList.cpp trunk/Source/WebKit/Shared/WebCompiledContentRuleList.h trunk/Source/WebKit/Shared/WebCompiledContentRuleListData.cpp trunk/Source/WebKit/Shared/WebCompiledContentRuleListData.h trunk/Source/WebKit/UIProcess/API/APIContentRuleListStore.cpp trunk/Source/WebKit/UIProcess/API/APIContentRuleListStore.h trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (286867 => 286868) --- trunk/Source/WebCore/ChangeLog 2021-12-10 19:55:25 UTC (rev 286867) +++ trunk/Source/WebCore/ChangeLog 2021-12-10 20:23:01 UTC (rev 286868) @@ -1,3 +1,35 @@ +2021-12-10 Alex Christensen + +Move if-domain and unless-domain conversion to WKContentRuleList parsing +https://bugs.webkit.org/show_bug.cgi?id=234126 + +Reviewed by Tim Hatcher. + +This simplifies a part of the compiler that is about to get more complicated. +if-domain and unless-domain were the predecessors of if-top-url and unless-top-url, +which are strictly more powerful because they run regexes on the whole top URL. +This just translates *-domain into a *-top-url regex. This also makes it so there +is no reason not to have *-domain and *-top-url conditions in the same rule list. + +Covered by existing tests. + +* contentextensions/CombinedURLFilters.cpp: +(WebCore::ContentExtensions::CombinedURLFilters::addDomain): Deleted. +* contentextensions/CombinedURLFilters.h: +* contentextensions/CompiledContentExtension.h: +* contentextensions/ContentExtension.cpp: +(WebCore::ContentExtensions::ContentExtension::populateConditionCacheIfNeeded): +* contentextensions/ContentExtensionCompiler.cpp: +(WebCore::ContentExtensions::compileRuleList): +
[webkit-changes] [286867] trunk/Source/WebCore
Title: [286867] trunk/Source/WebCore Revision 286867 Author s...@apple.com Date 2021-12-10 11:55:25 -0800 (Fri, 10 Dec 2021) Log Message [GPU Process] [Filters] Address review comments after r285597 https://bugs.webkit.org/show_bug.cgi?id=234130 Reviewed by Darin Adler. Most of the comments in https://bugs.webkit.org/show_bug.cgi?id=232457 have already been addressed. This patch covers the unaddressed ones. * platform/graphics/filters/software/FEMorphologySoftwareApplier.cpp: (WebCore::FEMorphologySoftwareApplier::apply const): Remove wasteful ceilf() calls * rendering/RenderLayerFilters.cpp: (WebCore::RenderLayerFilters::buildFilter): Capitalize the sentence in the FIXME comments. * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::applyResource): Use 'auto' in a few places where the type can be deduced. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/filters/software/FEMorphologySoftwareApplier.cpp trunk/Source/WebCore/rendering/RenderLayerFilters.cpp trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (286866 => 286867) --- trunk/Source/WebCore/ChangeLog 2021-12-10 19:37:38 UTC (rev 286866) +++ trunk/Source/WebCore/ChangeLog 2021-12-10 19:55:25 UTC (rev 286867) @@ -1,3 +1,25 @@ +2021-12-10 Said Abou-Hallawa + +[GPU Process] [Filters] Address review comments after r285597 +https://bugs.webkit.org/show_bug.cgi?id=234130 + +Reviewed by Darin Adler. + +Most of the comments in https://bugs.webkit.org/show_bug.cgi?id=232457 +have already been addressed. This patch covers the unaddressed ones. + +* platform/graphics/filters/software/FEMorphologySoftwareApplier.cpp: +(WebCore::FEMorphologySoftwareApplier::apply const): +Remove wasteful ceilf() calls + +* rendering/RenderLayerFilters.cpp: +(WebCore::RenderLayerFilters::buildFilter): +Capitalize the sentence in the FIXME comments. + +* rendering/svg/RenderSVGResourceFilter.cpp: +(WebCore::RenderSVGResourceFilter::applyResource): +Use 'auto' in a few places where the type can be deduced. + 2021-12-10 Gabriel Nava Marino nullptr deref in ComputeFloatOffsetForLineLayoutAdapter::updateOffsetIfNeeded Modified: trunk/Source/WebCore/platform/graphics/filters/software/FEMorphologySoftwareApplier.cpp (286866 => 286867) --- trunk/Source/WebCore/platform/graphics/filters/software/FEMorphologySoftwareApplier.cpp 2021-12-10 19:37:38 UTC (rev 286866) +++ trunk/Source/WebCore/platform/graphics/filters/software/FEMorphologySoftwareApplier.cpp 2021-12-10 19:55:25 UTC (rev 286867) @@ -182,10 +182,10 @@ paintingData.type = m_effect.morphologyOperator(); paintingData.srcPixelArray = paintingData.dstPixelArray = -paintingData.width = ceilf(effectDrawingRect.width()); -paintingData.height = ceilf(effectDrawingRect.height()); -paintingData.radiusX = ceilf(radiusX); -paintingData.radiusY = ceilf(radiusY); +paintingData.width = effectDrawingRect.width(); +paintingData.height = effectDrawingRect.height(); +paintingData.radiusX = radiusX; +paintingData.radiusY = radiusY; applyPlatform(paintingData); return true; Modified: trunk/Source/WebCore/rendering/RenderLayerFilters.cpp (286866 => 286867) --- trunk/Source/WebCore/rendering/RenderLayerFilters.cpp 2021-12-10 19:37:38 UTC (rev 286866) +++ trunk/Source/WebCore/rendering/RenderLayerFilters.cpp 2021-12-10 19:55:25 UTC (rev 286867) @@ -120,7 +120,7 @@ { // If the filter fails to build, remove it from the layer. It will still attempt to // go through regular processing (e.g. compositing), but never apply anything. -// FIXME: this rebuilds the entire effects chain even if the filter style didn't change. +// FIXME: This rebuilds the entire effects chain even if the filter style didn't change. m_filter = CSSFilter::create(renderer, renderer.style().filter(), renderingMode, FloatSize { scaleFactor, scaleFactor }, Filter::ClipOperation::Unite, m_targetBoundingBox); } @@ -158,7 +158,7 @@ if (m_targetBoundingBox != targetBoundingBox) { m_targetBoundingBox = targetBoundingBox; -// FIXME: this rebuilds the entire effects chain even if the filter style didn't change. +// FIXME: This rebuilds the entire effects chain even if the filter style didn't change. m_filter = CSSFilter::create(renderer, renderer.style().filter(), m_filter->renderingMode(), m_filter->filterScale(), Filter::ClipOperation::Unite, m_targetBoundingBox); } Modified: trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp (286866 => 286867) --- trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp 2021-12-10 19:37:38 UTC (rev 286866) +++ trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp 2021-12-10 19:55:25 UTC (rev 286867) @@ -108,7 +108,7 @@
[webkit-changes] [286866] trunk
Title: [286866] trunk Revision 286866 Author commit-qu...@webkit.org Date 2021-12-10 11:37:38 -0800 (Fri, 10 Dec 2021) Log Message nullptr deref in ComputeFloatOffsetForLineLayoutAdapter::updateOffsetIfNeeded https://bugs.webkit.org/show_bug.cgi?id=234018 Patch by Gabriel Nava Marino on 2021-12-10 Reviewed by Alan Bujtas. Source/WebCore: Test: fast/rendering/floating-object-renderer-crash.html When destroying a given renderer, we first remove floats and out-of-flow positioned objects from their containing block before detaching the renderer from the tree. We do this by obtaining the renderer’s outermost block containing a floating object and recursively marking all siblings and descendants for layout. The criteria for continuing down the list of children require the current block to contain floats or be able to shrink to avoid floats. However, we can have a scenario where the current child block doesn’t have a float, but one of its descendants does. In this case, although we should continue to that descendant and remove the float, we do not. The proposal in this patch will instead check whether the child block contains a float, or any of its descendants do. If so we should continue traversing towards that descendant. * rendering/RenderBlockFlow.cpp: (WebCore::RenderBlockFlow::subtreeContainsFloat const): (WebCore::RenderBlockFlow::subtreeContainsFloats const): (WebCore::RenderBlockFlow::markAllDescendantsWithFloatsForLayout): * rendering/RenderBlockFlow.h: LayoutTests: * fast/rendering/floating-object-renderer-crash-expected.txt: Added. * fast/rendering/floating-object-renderer-crash.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/RenderBlockFlow.cpp trunk/Source/WebCore/rendering/RenderBlockFlow.h Added Paths trunk/LayoutTests/fast/rendering/floating-object-renderer-crash-expected.txt trunk/LayoutTests/fast/rendering/floating-object-renderer-crash.html Diff Modified: trunk/LayoutTests/ChangeLog (286865 => 286866) --- trunk/LayoutTests/ChangeLog 2021-12-10 19:34:01 UTC (rev 286865) +++ trunk/LayoutTests/ChangeLog 2021-12-10 19:37:38 UTC (rev 286866) @@ -1,3 +1,13 @@ +2021-12-10 Gabriel Nava Marino + +nullptr deref in ComputeFloatOffsetForLineLayoutAdapter::updateOffsetIfNeeded +https://bugs.webkit.org/show_bug.cgi?id=234018 + +Reviewed by Alan Bujtas. + +* fast/rendering/floating-object-renderer-crash-expected.txt: Added. +* fast/rendering/floating-object-renderer-crash.html: Added. + 2021-12-10 Commit Queue Unreviewed, reverting r286836. Added: trunk/LayoutTests/fast/rendering/floating-object-renderer-crash-expected.txt (0 => 286866) --- trunk/LayoutTests/fast/rendering/floating-object-renderer-crash-expected.txt (rev 0) +++ trunk/LayoutTests/fast/rendering/floating-object-renderer-crash-expected.txt 2021-12-10 19:37:38 UTC (rev 286866) @@ -0,0 +1,3 @@ +PASS if this doesn't crash + + Added: trunk/LayoutTests/fast/rendering/floating-object-renderer-crash.html (0 => 286866) --- trunk/LayoutTests/fast/rendering/floating-object-renderer-crash.html (rev 0) +++ trunk/LayoutTests/fast/rendering/floating-object-renderer-crash.html 2021-12-10 19:37:38 UTC (rev 286866) @@ -0,0 +1,29 @@ + + + video { +block-size: 400px; + } + input { +float: left; +content: url(); + } + + + _onload_ = () => { +document.documentElement.prepend(document.createElement('span')); +document.body.append(document.createElement('div')); +document.body.append(document.createElement('span')); +document.documentElement.append(document.createElement('div')); +let html2 = document.createElement('html'); +html2.style.blockSize = '0'; +document.body.appendChild(html2); +html2.appendChild(document.createElement('q')); +html2.appendChild(document.createElement('input')); +html2.appendChild(document.createElement('video')); +document.body.offsetTop; +document.styleSheets[0].insertRule(`html, body, video { float: left; }`); +if (window.testRunner) +testRunner.dumpAsText(); + }; + +PASS if this doesn't crash Modified: trunk/Source/WebCore/ChangeLog (286865 => 286866) --- trunk/Source/WebCore/ChangeLog 2021-12-10 19:34:01 UTC (rev 286865) +++ trunk/Source/WebCore/ChangeLog 2021-12-10 19:37:38 UTC (rev 286866) @@ -1,3 +1,31 @@ +2021-12-10 Gabriel Nava Marino + +nullptr deref in ComputeFloatOffsetForLineLayoutAdapter::updateOffsetIfNeeded +https://bugs.webkit.org/show_bug.cgi?id=234018 + +Reviewed by Alan Bujtas. + +Test: fast/rendering/floating-object-renderer-crash.html + +When destroying a given renderer, we first remove floats and out-of-flow positioned objects +from their containing block before detaching the renderer from the tree. We do this by obtaining +the renderer’s outermost block containing a
[webkit-changes] [286865] trunk/Source/WebKit
Title: [286865] trunk/Source/WebKit Revision 286865 Author pvol...@apple.com Date 2021-12-10 11:34:01 -0800 (Fri, 10 Dec 2021) Log Message [WP] Block access to container manager service for Mail https://bugs.webkit.org/show_bug.cgi?id=234080 Reviewed by Brent Fulgham. Local testing is not showing access to this daemon when running Mail. * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in: * Shared/WebProcessCreationParameters.cpp: (WebKit::WebProcessCreationParameters::encode const): (WebKit::WebProcessCreationParameters::decode): * Shared/WebProcessCreationParameters.h: * UIProcess/Cocoa/WebProcessPoolCocoa.mm: (WebKit::WebProcessPool::platformInitializeWebProcess): * WebProcess/cocoa/WebProcessCocoa.mm: (WebKit::WebProcess::platformInitializeWebProcess): * WebProcess/com.apple.WebProcess.sb.in: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp trunk/Source/WebKit/Shared/WebProcessCreationParameters.h trunk/Source/WebKit/UIProcess/Cocoa/WebProcessPoolCocoa.mm trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in Diff Modified: trunk/Source/WebKit/ChangeLog (286864 => 286865) --- trunk/Source/WebKit/ChangeLog 2021-12-10 19:26:37 UTC (rev 286864) +++ trunk/Source/WebKit/ChangeLog 2021-12-10 19:34:01 UTC (rev 286865) @@ -1,3 +1,24 @@ +2021-12-10 Per Arne Vollan + +[WP] Block access to container manager service for Mail +https://bugs.webkit.org/show_bug.cgi?id=234080 + + +Reviewed by Brent Fulgham. + +Local testing is not showing access to this daemon when running Mail. + +* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in: +* Shared/WebProcessCreationParameters.cpp: +(WebKit::WebProcessCreationParameters::encode const): +(WebKit::WebProcessCreationParameters::decode): +* Shared/WebProcessCreationParameters.h: +* UIProcess/Cocoa/WebProcessPoolCocoa.mm: +(WebKit::WebProcessPool::platformInitializeWebProcess): +* WebProcess/cocoa/WebProcessCocoa.mm: +(WebKit::WebProcess::platformInitializeWebProcess): +* WebProcess/com.apple.WebProcess.sb.in: + 2021-12-10 Said Abou-Hallawa [GPU Process] [Filters] Make FilterEffectVector a Vector of Ref Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in (286864 => 286865) --- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in 2021-12-10 19:26:37 UTC (rev 286864) +++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in 2021-12-10 19:34:01 UTC (rev 286865) @@ -644,7 +644,7 @@ (allow iokit-get-properties (iokit-property "IORegistryEntryPropertyKeys")) -(allow ipc-posix-sem-open +(allow ipc-posix-sem-open (with telemetry) (ipc-posix-name "containermanagerd.fb_check")) (with-filter (ipc-posix-name "purplebuddy.sentinel") @@ -1084,7 +1084,6 @@ (global-name "com.apple.cfprefsd.agent" "com.apple.cfprefsd.daemon" -"com.apple.containermanagerd" "com.apple.iphone.axserver-systemwide" "com.apple.mobileassetd.v2" "com.apple.mobilegestalt.xpc" Modified: trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp (286864 => 286865) --- trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp 2021-12-10 19:26:37 UTC (rev 286864) +++ trunk/Source/WebKit/Shared/WebProcessCreationParameters.cpp 2021-12-10 19:34:01 UTC (rev 286865) @@ -162,7 +162,6 @@ encoder << compilerServiceExtensionHandles; #endif -encoder << containerManagerExtensionHandle; encoder << mobileGestaltExtensionHandle; encoder << launchServicesExtensionHandle; @@ -457,12 +456,6 @@ parameters.compilerServiceExtensionHandles = WTFMove(*compilerServiceExtensionHandles); #endif -std::optional> containerManagerExtensionHandle; -decoder >> containerManagerExtensionHandle; -if (!containerManagerExtensionHandle) -return false; -parameters.containerManagerExtensionHandle = WTFMove(*containerManagerExtensionHandle); - std::optional> mobileGestaltExtensionHandle; decoder >> mobileGestaltExtensionHandle; if (!mobileGestaltExtensionHandle) Modified: trunk/Source/WebKit/Shared/WebProcessCreationParameters.h (286864 => 286865) --- trunk/Source/WebKit/Shared/WebProcessCreationParameters.h 2021-12-10 19:26:37 UTC (rev 286864) +++ trunk/Source/WebKit/Shared/WebProcessCreationParameters.h 2021-12-10 19:34:01 UTC (rev 286865) @@ -201,7 +201,6 @@ Vector compilerServiceExtensionHandles; #endif -std::optional containerManagerExtensionHandle; std::optional mobileGestaltExtensionHandle; std::optional launchServicesExtensionHandle; #if
[webkit-changes] [286864] trunk/Source
Title: [286864] trunk/Source Revision 286864 Author s...@apple.com Date 2021-12-10 11:26:37 -0800 (Fri, 10 Dec 2021) Log Message [GPU Process] [Filters] Make FilterEffectVector a Vector of Ref https://bugs.webkit.org/show_bug.cgi?id=234108 Reviewed by Cameron McCormack. Source/WebCore: There is no case that would require inserting a nullptr in FilterEffectVector. * platform/graphics/displaylists/DisplayListRecorder.cpp: (WebCore::DisplayList::Recorder::drawFilteredImageBuffer): * platform/graphics/filters/FilterEffect.cpp: (WebCore::FilterEffect::inputEffect const): * platform/graphics/filters/FilterEffect.h: * platform/graphics/filters/FilterEffectVector.h: * platform/graphics/filters/SourceAlpha.cpp: (WebCore::SourceAlpha::SourceAlpha): * rendering/CSSFilter.cpp: (WebCore::CSSFilter::buildFilterFunctions): (WebCore::CSSFilter::effectsOfType const): * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::primitiveAttributeChanged): * svg/SVGFEBlendElement.cpp: (WebCore::SVGFEBlendElement::build const): * svg/SVGFEColorMatrixElement.cpp: (WebCore::SVGFEColorMatrixElement::build const): * svg/SVGFEComponentTransferElement.cpp: (WebCore::SVGFEComponentTransferElement::build const): * svg/SVGFECompositeElement.cpp: (WebCore::SVGFECompositeElement::build const): * svg/SVGFEConvolveMatrixElement.cpp: (WebCore::SVGFEConvolveMatrixElement::build const): * svg/SVGFEDiffuseLightingElement.cpp: (WebCore::SVGFEDiffuseLightingElement::build const): * svg/SVGFEDisplacementMapElement.cpp: (WebCore::SVGFEDisplacementMapElement::build const): * svg/SVGFEDropShadowElement.cpp: (WebCore::SVGFEDropShadowElement::build const): * svg/SVGFEGaussianBlurElement.cpp: (WebCore::SVGFEGaussianBlurElement::build const): * svg/SVGFEMergeElement.cpp: (WebCore::SVGFEMergeElement::build const): * svg/SVGFEMorphologyElement.cpp: (WebCore::SVGFEMorphologyElement::build const): * svg/SVGFEOffsetElement.cpp: (WebCore::SVGFEOffsetElement::build const): * svg/SVGFESpecularLightingElement.cpp: (WebCore::SVGFESpecularLightingElement::build const): * svg/SVGFETileElement.cpp: (WebCore::SVGFETileElement::build const): * svg/graphics/filters/SVGFilter.cpp: (WebCore::SVGFilter::effectsOfType const): * svg/graphics/filters/SVGFilterBuilder.cpp: (WebCore::SVGFilterBuilder::clearResultsRecursive): (WebCore::SVGFilterBuilder::buildEffectExpression const): (WebCore::SVGFilterBuilder::buildExpression const): * svg/graphics/filters/SVGFilterBuilder.h: (WebCore::SVGFilterBuilder::effectReferences): Source/WebKit: * GPUProcess/graphics/RemoteDisplayListRecorder.cpp: (WebKit::RemoteDisplayListRecorder::drawFilteredImageBuffer): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorder.cpp trunk/Source/WebCore/platform/graphics/filters/FilterEffect.cpp trunk/Source/WebCore/platform/graphics/filters/FilterEffect.h trunk/Source/WebCore/platform/graphics/filters/FilterEffectVector.h trunk/Source/WebCore/platform/graphics/filters/SourceAlpha.cpp trunk/Source/WebCore/rendering/CSSFilter.cpp trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp trunk/Source/WebCore/svg/SVGFEBlendElement.cpp trunk/Source/WebCore/svg/SVGFEColorMatrixElement.cpp trunk/Source/WebCore/svg/SVGFEComponentTransferElement.cpp trunk/Source/WebCore/svg/SVGFECompositeElement.cpp trunk/Source/WebCore/svg/SVGFEConvolveMatrixElement.cpp trunk/Source/WebCore/svg/SVGFEDiffuseLightingElement.cpp trunk/Source/WebCore/svg/SVGFEDisplacementMapElement.cpp trunk/Source/WebCore/svg/SVGFEDropShadowElement.cpp trunk/Source/WebCore/svg/SVGFEGaussianBlurElement.cpp trunk/Source/WebCore/svg/SVGFEMergeElement.cpp trunk/Source/WebCore/svg/SVGFEMorphologyElement.cpp trunk/Source/WebCore/svg/SVGFEOffsetElement.cpp trunk/Source/WebCore/svg/SVGFESpecularLightingElement.cpp trunk/Source/WebCore/svg/SVGFETileElement.cpp trunk/Source/WebCore/svg/graphics/filters/SVGFilter.cpp trunk/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp trunk/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/GPUProcess/graphics/RemoteDisplayListRecorder.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (286863 => 286864) --- trunk/Source/WebCore/ChangeLog 2021-12-10 19:26:14 UTC (rev 286863) +++ trunk/Source/WebCore/ChangeLog 2021-12-10 19:26:37 UTC (rev 286864) @@ -1,3 +1,62 @@ +2021-12-10 Said Abou-Hallawa + +[GPU Process] [Filters] Make FilterEffectVector a Vector of Ref +https://bugs.webkit.org/show_bug.cgi?id=234108 + +Reviewed by Cameron McCormack. + +There is no case that would require inserting a nullptr in FilterEffectVector. + +* platform/graphics/displaylists/DisplayListRecorder.cpp: +(WebCore::DisplayList::Recorder::drawFilteredImageBuffer): +* platform/graphics/filters/FilterEffect.cpp: +(WebCore::FilterEffect::inputEffect const): +* platform/graphics/filters/FilterEffect.h: +
[webkit-changes] [286863] branches/safari-613.1.11-branch/Source/WebKit
Title: [286863] branches/safari-613.1.11-branch/Source/WebKit Revision 286863 Author alanc...@apple.com Date 2021-12-10 11:26:14 -0800 (Fri, 10 Dec 2021) Log Message Cherry-pick r286805. rdar://problem/86331680 Momentum Generator: Scroll tail hiccup only when scrolling up on 60Hz displays https://bugs.webkit.org/show_bug.cgi?id=234104 Reviewed by Simon Fraser. * WebProcess/WebPage/MomentumEventDispatcher.cpp: (WebKit::MomentumEventDispatcher::equalizeTailGaps): Sort in the correct direction based on the sign of the first delta... git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286805 268f45cc-cd09-0410-ab3c-d52691b4dbfc Modified Paths branches/safari-613.1.11-branch/Source/WebKit/ChangeLog branches/safari-613.1.11-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp Diff Modified: branches/safari-613.1.11-branch/Source/WebKit/ChangeLog (286862 => 286863) --- branches/safari-613.1.11-branch/Source/WebKit/ChangeLog 2021-12-10 19:21:12 UTC (rev 286862) +++ branches/safari-613.1.11-branch/Source/WebKit/ChangeLog 2021-12-10 19:26:14 UTC (rev 286863) @@ -1,3 +1,32 @@ +2021-12-10 Russell Epstein + +Cherry-pick r286805. rdar://problem/86331680 + +Momentum Generator: Scroll tail hiccup only when scrolling up on 60Hz displays +https://bugs.webkit.org/show_bug.cgi?id=234104 + + +Reviewed by Simon Fraser. + +* WebProcess/WebPage/MomentumEventDispatcher.cpp: +(WebKit::MomentumEventDispatcher::equalizeTailGaps): +Sort in the correct direction based on the sign of the first delta... + + +git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286805 268f45cc-cd09-0410-ab3c-d52691b4dbfc + +2021-12-09 Tim Horton + +Momentum Generator: Scroll tail hiccup only when scrolling up on 60Hz displays +https://bugs.webkit.org/show_bug.cgi?id=234104 + + +Reviewed by Simon Fraser. + +* WebProcess/WebPage/MomentumEventDispatcher.cpp: +(WebKit::MomentumEventDispatcher::equalizeTailGaps): +Sort in the correct direction based on the sign of the first delta... + 2021-12-08 Russell Epstein Cherry-pick r286671. rdar://problem/86226565 Modified: branches/safari-613.1.11-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp (286862 => 286863) --- branches/safari-613.1.11-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp 2021-12-10 19:21:12 UTC (rev 286862) +++ branches/safari-613.1.11-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp 2021-12-10 19:26:14 UTC (rev 286863) @@ -408,6 +408,8 @@ auto& table = m_currentGesture.tailDeltaTable; size_t initialTableSize = table.size(); +if (!initialTableSize) +return; enum Axis { Horizontal, Vertical }; Vector deltas[2]; @@ -423,12 +425,20 @@ if (!firstZeroIndex[Vertical] && !table[i].height()) firstZeroIndex[Vertical] = i; } - -if (auto index = firstZeroIndex[Horizontal]) -std::sort(deltas[Horizontal].begin(), std::next(deltas[Horizontal].begin(), index)); -if (auto index = firstZeroIndex[Vertical]) -std::sort(deltas[Vertical].begin(), std::next(deltas[Vertical].begin(), index)); +auto sortDeltas = [&] (Axis axis) { +if (!firstZeroIndex[axis]) +return; + +if (deltas[axis][0] > 0) +std::sort(deltas[axis].begin(), std::next(deltas[axis].begin(), firstZeroIndex[axis]), std::greater()); +else +std::sort(deltas[axis].begin(), std::next(deltas[axis].begin(), firstZeroIndex[axis]), std::less()); +}; + +sortDeltas(Horizontal); +sortDeltas(Vertical); + // GapSize is a count of contiguous frames with zero deltas. typedef unsigned GapSize[2]; GapSize minimumGap = { 0, 0 }; ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286862] branches/safari-613.1.11-branch/Source
Title: [286862] branches/safari-613.1.11-branch/Source Revision 286862 Author alanc...@apple.com Date 2021-12-10 11:21:12 -0800 (Fri, 10 Dec 2021) Log Message Versioning. WebKit-7613.1.11.1 Modified Paths branches/safari-613.1.11-branch/Source/_javascript_Core/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebCore/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebCore/PAL/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebGPU/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebInspectorUI/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebKit/Configurations/Version.xcconfig branches/safari-613.1.11-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig Diff Modified: branches/safari-613.1.11-branch/Source/_javascript_Core/Configurations/Version.xcconfig (286861 => 286862) --- branches/safari-613.1.11-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2021-12-10 19:02:55 UTC (rev 286861) +++ branches/safari-613.1.11-branch/Source/_javascript_Core/Configurations/Version.xcconfig 2021-12-10 19:21:12 UTC (rev 286862) @@ -24,9 +24,9 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: branches/safari-613.1.11-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (286861 => 286862) --- branches/safari-613.1.11-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig 2021-12-10 19:02:55 UTC (rev 286861) +++ branches/safari-613.1.11-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig 2021-12-10 19:21:12 UTC (rev 286862) @@ -24,9 +24,9 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: branches/safari-613.1.11-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (286861 => 286862) --- branches/safari-613.1.11-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2021-12-10 19:02:55 UTC (rev 286861) +++ branches/safari-613.1.11-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig 2021-12-10 19:21:12 UTC (rev 286862) @@ -24,9 +24,9 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: branches/safari-613.1.11-branch/Source/WebCore/Configurations/Version.xcconfig (286861 => 286862) --- branches/safari-613.1.11-branch/Source/WebCore/Configurations/Version.xcconfig 2021-12-10 19:02:55 UTC (rev 286861) +++ branches/safari-613.1.11-branch/Source/WebCore/Configurations/Version.xcconfig 2021-12-10 19:21:12 UTC (rev 286862) @@ -24,9 +24,9 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version string are set based on the current build configuration, see below. BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION)); Modified: branches/safari-613.1.11-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (286861 => 286862) --- branches/safari-613.1.11-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2021-12-10 19:02:55 UTC (rev 286861) +++ branches/safari-613.1.11-branch/Source/WebCore/PAL/Configurations/Version.xcconfig 2021-12-10 19:21:12 UTC (rev 286862) @@ -24,9 +24,9 @@ MAJOR_VERSION = 613; MINOR_VERSION = 1; TINY_VERSION = 11; -MICRO_VERSION = 0; +MICRO_VERSION = 1; NANO_VERSION = 0; -FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION); +FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION); // The bundle version and short version
[webkit-changes] [286861] trunk/Source/WebCore
Title: [286861] trunk/Source/WebCore Revision 286861 Author drou...@apple.com Date 2021-12-10 11:02:55 -0800 (Fri, 10 Dec 2021) Log Message Add a way to write a `SharedBuffer` to the Pasteboard https://bugs.webkit.org/show_bug.cgi?id=234065 Reviewed by Wenson Hsieh. In order to match the WK1 implementation of `-pasteFont:` , we need to be able to write a `SharedBuffer` (with an associated type) to the font pasteboard. Create a `struct PasteboardBuffer` to wrap the `SharedBuffer` and `String type` (and a `String contentOrigin` on Cocoa platforms, which is used to decide whether to show a "Paste" callout to the user as a gate on crossorigin content sharing) in a single object. Though it isn't used in this patch, `-pasteFont:` will use this to write RTF data (which contains the necessary font data). No change in behavior. * platform/Pasteboard.h: * platform/Pasteboard.cpp: * platform/libwpe/PasteboardLibWPE.cpp: (WebCore::Pasteboard::write): * platform/gtk/PasteboardGtk.cpp: (WebCore::Pasteboard::write): * platform/ios/PasteboardIOS.mm: (WebCore::Pasteboard::write): * platform/mac/PasteboardMac.mm: (WebCore::Pasteboard::write): * platform/win/PasteboardWin.cpp: (WebCore::Pasteboard::write): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/platform/Pasteboard.cpp trunk/Source/WebCore/platform/Pasteboard.h trunk/Source/WebCore/platform/gtk/PasteboardGtk.cpp trunk/Source/WebCore/platform/ios/PasteboardIOS.mm trunk/Source/WebCore/platform/libwpe/PasteboardLibWPE.cpp trunk/Source/WebCore/platform/mac/PasteboardMac.mm trunk/Source/WebCore/platform/win/PasteboardWin.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (286860 => 286861) --- trunk/Source/WebCore/ChangeLog 2021-12-10 19:00:44 UTC (rev 286860) +++ trunk/Source/WebCore/ChangeLog 2021-12-10 19:02:55 UTC (rev 286861) @@ -1,3 +1,35 @@ +2021-12-10 Devin Rousso + +Add a way to write a `SharedBuffer` to the Pasteboard +https://bugs.webkit.org/show_bug.cgi?id=234065 + +Reviewed by Wenson Hsieh. + +In order to match the WK1 implementation of `-pasteFont:` , we +need to be able to write a `SharedBuffer` (with an associated type) to the font pasteboard. + +Create a `struct PasteboardBuffer` to wrap the `SharedBuffer` and `String type` (and a +`String contentOrigin` on Cocoa platforms, which is used to decide whether to show a "Paste" +callout to the user as a gate on crossorigin content sharing) in a single object. + +Though it isn't used in this patch, `-pasteFont:` will use +this to write RTF data (which contains the necessary font data). + +No change in behavior. + +* platform/Pasteboard.h: +* platform/Pasteboard.cpp: +* platform/libwpe/PasteboardLibWPE.cpp: +(WebCore::Pasteboard::write): +* platform/gtk/PasteboardGtk.cpp: +(WebCore::Pasteboard::write): +* platform/ios/PasteboardIOS.mm: +(WebCore::Pasteboard::write): +* platform/mac/PasteboardMac.mm: +(WebCore::Pasteboard::write): +* platform/win/PasteboardWin.cpp: +(WebCore::Pasteboard::write): + 2021-12-10 Patrick Griffis CSP: Prevent nonce-hijacking Modified: trunk/Source/WebCore/platform/Pasteboard.cpp (286860 => 286861) --- trunk/Source/WebCore/platform/Pasteboard.cpp 2021-12-10 19:00:44 UTC (rev 286860) +++ trunk/Source/WebCore/platform/Pasteboard.cpp 2021-12-10 19:02:55 UTC (rev 286861) @@ -38,6 +38,10 @@ PasteboardImage::PasteboardImage() = default; PasteboardImage::~PasteboardImage() = default; +// Making this non-inline so that WebKit 2's decoding doesn't have to include SharedBuffer.h. +PasteboardBuffer::PasteboardBuffer() = default; +PasteboardBuffer::~PasteboardBuffer() = default; + bool Pasteboard::isSafeTypeForDOMToReadAndWrite(const String& type) { return type == "text/plain" || type == "text/html" || type == "text/uri-list"; Modified: trunk/Source/WebCore/platform/Pasteboard.h (286860 => 286861) --- trunk/Source/WebCore/platform/Pasteboard.h 2021-12-10 19:00:44 UTC (rev 286860) +++ trunk/Source/WebCore/platform/Pasteboard.h 2021-12-10 19:02:55 UTC (rev 286861) @@ -135,6 +135,17 @@ FloatSize imageSize; }; +struct PasteboardBuffer { +WEBCORE_EXPORT PasteboardBuffer(); +WEBCORE_EXPORT ~PasteboardBuffer(); + +#if PLATFORM(COCOA) +String contentOrigin; +#endif +String type; +RefPtr data; +}; + // For reading from the pasteboard. class PasteboardWebContentReader { @@ -223,6 +234,7 @@ virtual WEBCORE_EXPORT void write(const PasteboardURL&); virtual WEBCORE_EXPORT void writeTrustworthyWebURLsPboardType(const PasteboardURL&); virtual WEBCORE_EXPORT void write(const PasteboardImage&); +virtual WEBCORE_EXPORT void write(const PasteboardBuffer&); virtual WEBCORE_EXPORT void write(const PasteboardWebContent&); virtual WEBCORE_EXPORT void writeCustomData(const Vector&); Modified:
[webkit-changes] [286860] trunk
Title: [286860] trunk Revision 286860 Author pgrif...@igalia.com Date 2021-12-10 11:00:44 -0800 (Fri, 10 Dec 2021) Log Message LayoutTests/imported/w3c: CSP: Implement protections against nonce-hijacking https://bugs.webkit.org/show_bug.cgi?id=233087 Reviewed by Brent Fulgham. Update expectations. * web-platform-tests/content-security-policy/script-src/nonce-enforce-blocked-expected.txt: Source/WebCore: CSP: Prevent nonce-hijacking https://bugs.webkit.org/show_bug.cgi?id=233087 Reviewed by Brent Fulgham. Implement protections against nonce-hijacking as described in this spec: https://www.w3.org/TR/CSP3/#security-nonce-hijacking * dom/Element.cpp: (WebCore::Element::isNonceable const): (WebCore::Element::nonce const): * dom/Element.h: (WebCore::Element::hasDuplicateAttribute const): (WebCore::Element::setHasDuplicateAttribute): * html/parser/AtomHTMLToken.h: (WebCore::AtomHTMLToken::hasDuplicateAttribute const): (WebCore::AtomHTMLToken::initializeAttributes): * html/parser/HTMLConstructionSite.cpp: (WebCore::setAttributes): (WebCore::HTMLConstructionSite::insertCustomElement): Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/script-src/nonce-enforce-blocked-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/Element.cpp trunk/Source/WebCore/dom/Element.h trunk/Source/WebCore/html/parser/AtomHTMLToken.h trunk/Source/WebCore/html/parser/HTMLConstructionSite.cpp Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (286859 => 286860) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-10 18:52:08 UTC (rev 286859) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-10 19:00:44 UTC (rev 286860) @@ -1,3 +1,14 @@ +2021-12-10 Patrick Griffis + +CSP: Implement protections against nonce-hijacking +https://bugs.webkit.org/show_bug.cgi?id=233087 + +Reviewed by Brent Fulgham. + +Update expectations. + +* web-platform-tests/content-security-policy/script-src/nonce-enforce-blocked-expected.txt: + 2021-12-10 Chris Dumez Radio buttons with no form owner are not grouped Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/script-src/nonce-enforce-blocked-expected.txt (286859 => 286860) --- trunk/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/script-src/nonce-enforce-blocked-expected.txt 2021-12-10 18:52:08 UTC (rev 286859) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/script-src/nonce-enforce-blocked-expected.txt 2021-12-10 19:00:44 UTC (rev 286860) @@ -1,3 +1,3 @@ -FAIL Unnonced scripts generate reports. assert_unreached: '+PASS Unnonced scripts generate reports. Modified: trunk/Source/WebCore/ChangeLog (286859 => 286860) --- trunk/Source/WebCore/ChangeLog 2021-12-10 18:52:08 UTC (rev 286859) +++ trunk/Source/WebCore/ChangeLog 2021-12-10 19:00:44 UTC (rev 286860) @@ -1,3 +1,26 @@ +2021-12-10 Patrick Griffis + +CSP: Prevent nonce-hijacking +https://bugs.webkit.org/show_bug.cgi?id=233087 + +Reviewed by Brent Fulgham. + +Implement protections against nonce-hijacking as described in this spec: + https://www.w3.org/TR/CSP3/#security-nonce-hijacking + +* dom/Element.cpp: +(WebCore::Element::isNonceable const): +(WebCore::Element::nonce const): +* dom/Element.h: +(WebCore::Element::hasDuplicateAttribute const): +(WebCore::Element::setHasDuplicateAttribute): +* html/parser/AtomHTMLToken.h: +(WebCore::AtomHTMLToken::hasDuplicateAttribute const): +(WebCore::AtomHTMLToken::initializeAttributes): +* html/parser/HTMLConstructionSite.cpp: +(WebCore::setAttributes): +(WebCore::HTMLConstructionSite::insertCustomElement): + 2021-12-09 Darin Adler Use simpler idioms for std::less and std::greater possible in modern C++ Modified: trunk/Source/WebCore/dom/Element.cpp (286859 => 286860) --- trunk/Source/WebCore/dom/Element.cpp 2021-12-10 18:52:08 UTC (rev 286859) +++ trunk/Source/WebCore/dom/Element.cpp 2021-12-10 19:00:44 UTC (rev 286860) @@ -74,6 +74,7 @@ #include "HTMLOptGroupElement.h" #include "HTMLOptionElement.h" #include "HTMLParserIdioms.h" +#include "HTMLScriptElement.h" #include "HTMLSelectElement.h" #include "HTMLTemplateElement.h" #include "IdChangeInvalidation.h" @@ -109,6 +110,7 @@ #include "SVGElementTypeHelpers.h" #include "SVGNames.h" #include "SVGSVGElement.h" +#include "SVGScriptElement.h" #include "ScriptDisallowedScope.h" #include "ScrollIntoViewOptions.h" #include "ScrollLatchingController.h" @@ -318,9 +320,40 @@ return -1; } +bool Element::isNonceable() const +{ +// https://www.w3.org/TR/CSP3/#is-element-nonceable +if (elementRareData()->nonce().isNull()) +return false; + +if (hasDuplicateAttribute()) +return false; + +if (hasAttributes()
[webkit-changes] [286859] trunk/Source/WebKit
Title: [286859] trunk/Source/WebKit Revision 286859 Author pvol...@apple.com Date 2021-12-10 10:52:08 -0800 (Fri, 10 Dec 2021) Log Message [WP][macOS] Add required system call https://bugs.webkit.org/show_bug.cgi?id=234129 Reviewed by Brent Fulgham. * WebProcess/com.apple.WebProcess.sb.in: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in Diff Modified: trunk/Source/WebKit/ChangeLog (286858 => 286859) --- trunk/Source/WebKit/ChangeLog 2021-12-10 18:17:47 UTC (rev 286858) +++ trunk/Source/WebKit/ChangeLog 2021-12-10 18:52:08 UTC (rev 286859) @@ -1,3 +1,12 @@ +2021-12-10 Per Arne Vollan + +[WP][macOS] Add required system call +https://bugs.webkit.org/show_bug.cgi?id=234129 + +Reviewed by Brent Fulgham. + +* WebProcess/com.apple.WebProcess.sb.in: + 2021-12-09 Darin Adler Use simpler idioms for std::less and std::greater possible in modern C++ Modified: trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in (286858 => 286859) --- trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in 2021-12-10 18:17:47 UTC (rev 286858) +++ trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in 2021-12-10 18:52:08 UTC (rev 286859) @@ -2048,6 +2048,9 @@ (allow syscall-unix (syscall-number SYS__map_with_linking_np))) ) +(with-filter (uid 0) +(allow syscall-unix (syscall-number SYS_gettid))) ;; Needed for base system, see + #if USE(APPLE_INTERNAL_SDK) #include #endif ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286858] trunk/Source
Title: [286858] trunk/Source Revision 286858 Author da...@apple.com Date 2021-12-10 10:17:47 -0800 (Fri, 10 Dec 2021) Log Message Use simpler idioms for std::less and std::greater possible in modern C++ https://bugs.webkit.org/show_bug.cgi?id=234117 Reviewed by Anders Carlsson. Source/WebCore: * testing/InternalsMapLike.cpp: (WebCore::InternalsMapLike::inspectValues const): Remove unneeded explicit use of std:less, because this is what std::sort by default. Source/WebKit: * WebProcess/WebPage/MomentumEventDispatcher.cpp: (WebKit::MomentumEventDispatcher::equalizeTailGaps): Removed unneeded template arguments for std::greater, and removed explicit use of std::less, since that's what std::sort does by default. Source/WTF: * wtf/ListDump.h: (WTF::sortedListDump): Removed unnecessary template arguments to std::less. Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/ListDump.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/testing/InternalsMapLike.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp Diff Modified: trunk/Source/WTF/ChangeLog (286857 => 286858) --- trunk/Source/WTF/ChangeLog 2021-12-10 17:28:10 UTC (rev 286857) +++ trunk/Source/WTF/ChangeLog 2021-12-10 18:17:47 UTC (rev 286858) @@ -1,3 +1,13 @@ +2021-12-09 Darin Adler + +Use simpler idioms for std::less and std::greater possible in modern C++ +https://bugs.webkit.org/show_bug.cgi?id=234117 + +Reviewed by Anders Carlsson. + +* wtf/ListDump.h: +(WTF::sortedListDump): Removed unnecessary template arguments to std::less. + 2021-12-10 Keith Miller Reduce maximum mmap size for Structure regions to help placate ios Modified: trunk/Source/WTF/wtf/ListDump.h (286857 => 286858) --- trunk/Source/WTF/wtf/ListDump.h 2021-12-10 17:28:10 UTC (rev 286857) +++ trunk/Source/WTF/wtf/ListDump.h 2021-12-10 18:17:47 UTC (rev 286858) @@ -121,7 +121,7 @@ template CString sortedListDump(const T& list, const char* comma = ", ") { -return sortedListDump(list, std::less(), comma); +return sortedListDump(list, std::less<>(), comma); } template Modified: trunk/Source/WebCore/ChangeLog (286857 => 286858) --- trunk/Source/WebCore/ChangeLog 2021-12-10 17:28:10 UTC (rev 286857) +++ trunk/Source/WebCore/ChangeLog 2021-12-10 18:17:47 UTC (rev 286858) @@ -1,3 +1,14 @@ +2021-12-09 Darin Adler + +Use simpler idioms for std::less and std::greater possible in modern C++ +https://bugs.webkit.org/show_bug.cgi?id=234117 + +Reviewed by Anders Carlsson. + +* testing/InternalsMapLike.cpp: +(WebCore::InternalsMapLike::inspectValues const): Remove unneeded explicit +use of std:less, because this is what std::sort by default. + 2021-12-10 Commit Queue Unreviewed, reverting r286836. Modified: trunk/Source/WebCore/testing/InternalsMapLike.cpp (286857 => 286858) --- trunk/Source/WebCore/testing/InternalsMapLike.cpp 2021-12-10 17:28:10 UTC (rev 286857) +++ trunk/Source/WebCore/testing/InternalsMapLike.cpp 2021-12-10 18:17:47 UTC (rev 286858) @@ -68,7 +68,7 @@ Vector InternalsMapLike::inspectValues() const { auto result = copyToVector(m_values.values()); -std::sort(result.begin(), result.end(), std::less()); +std::sort(result.begin(), result.end()); return result; } Modified: trunk/Source/WebKit/ChangeLog (286857 => 286858) --- trunk/Source/WebKit/ChangeLog 2021-12-10 17:28:10 UTC (rev 286857) +++ trunk/Source/WebKit/ChangeLog 2021-12-10 18:17:47 UTC (rev 286858) @@ -1,3 +1,15 @@ +2021-12-09 Darin Adler + +Use simpler idioms for std::less and std::greater possible in modern C++ +https://bugs.webkit.org/show_bug.cgi?id=234117 + +Reviewed by Anders Carlsson. + +* WebProcess/WebPage/MomentumEventDispatcher.cpp: +(WebKit::MomentumEventDispatcher::equalizeTailGaps): Removed unneeded +template arguments for std::greater, and removed explicit use of std::less, +since that's what std::sort does by default. + 2021-12-10 Per Arne Vollan Fix sandbox build error Modified: trunk/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp (286857 => 286858) --- trunk/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp 2021-12-10 17:28:10 UTC (rev 286857) +++ trunk/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp 2021-12-10 18:17:47 UTC (rev 286858) @@ -437,9 +437,9 @@ return; if (deltas[axis][0] > 0) -std::sort(deltas[axis].begin(), std::next(deltas[axis].begin(), firstZeroIndex[axis]), std::greater()); +std::sort(deltas[axis].begin(), std::next(deltas[axis].begin(), firstZeroIndex[axis]), std::greater()); else -std::sort(deltas[axis].begin(), std::next(deltas[axis].begin(), firstZeroIndex[axis]), std::less()); +std::sort(deltas[axis].begin(), std::next(deltas[axis].begin(),
[webkit-changes] [286857] trunk
Title: [286857] trunk Revision 286857 Author commit-qu...@webkit.org Date 2021-12-10 09:28:10 -0800 (Fri, 10 Dec 2021) Log Message Unreviewed, reverting r286836. https://bugs.webkit.org/show_bug.cgi?id=234153 some tests are flaky on iOS and some are crashing on macOS Reverted changeset: "[Model] Add load and error events to distinguish resource load from model readiness" https://bugs.webkit.org/show_bug.cgi?id=233706 https://commits.webkit.org/r286836 Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/model-element/model-element-contents-layer-updates-with-clipping.html trunk/LayoutTests/model-element/model-element-contents-layer-updates.html trunk/LayoutTests/model-element/model-element-graphics-layers-opacity.html trunk/LayoutTests/model-element/model-element-graphics-layers.html trunk/LayoutTests/model-element/model-element-ready-expected.txt trunk/LayoutTests/model-element/model-element-ready.html trunk/LayoutTests/platform/ios-simulator/TestExpectations trunk/LayoutTests/platform/mac/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/model-element/HTMLModelElement.cpp trunk/Source/WebCore/Modules/model-element/HTMLModelElement.h trunk/Source/WebCore/Modules/model-element/HTMLModelElement.idl trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm Added Paths trunk/LayoutTests/model-element/model-element-ready-load-aborted-expected.txt trunk/LayoutTests/model-element/model-element-ready-load-aborted.html trunk/LayoutTests/model-element/model-element-ready-load-failed-expected.txt trunk/LayoutTests/model-element/model-element-ready-load-failed.html Removed Paths trunk/LayoutTests/model-element/model-element-error-and-load-events-expected.txt trunk/LayoutTests/model-element/model-element-error-and-load-events.html trunk/LayoutTests/model-element/resources/model-element-test-utils.js Diff Modified: trunk/LayoutTests/ChangeLog (286856 => 286857) --- trunk/LayoutTests/ChangeLog 2021-12-10 17:25:22 UTC (rev 286856) +++ trunk/LayoutTests/ChangeLog 2021-12-10 17:28:10 UTC (rev 286857) @@ -1,3 +1,17 @@ +2021-12-10 Commit Queue + +Unreviewed, reverting r286836. +https://bugs.webkit.org/show_bug.cgi?id=234153 + +some tests are flaky on iOS and some are crashing on macOS + +Reverted changeset: + +"[Model] Add load and error events to distinguish resource +load from model readiness" +https://bugs.webkit.org/show_bug.cgi?id=233706 +https://commits.webkit.org/r286836 + 2021-12-10 Chris Dumez Radio buttons with no form owner are not grouped Modified: trunk/LayoutTests/model-element/model-element-contents-layer-updates-with-clipping.html (286856 => 286857) --- trunk/LayoutTests/model-element/model-element-contents-layer-updates-with-clipping.html 2021-12-10 17:25:22 UTC (rev 286856) +++ trunk/LayoutTests/model-element/model-element-contents-layer-updates-with-clipping.html 2021-12-10 17:28:10 UTC (rev 286857) @@ -6,40 +6,39 @@-window.testRunner?.waitUntilDone(); -window.testRunner?.dumpAsText();+let layers = document.getElementById("layers"); +let source = document.getElementsByTagName("source")[0];-const layers = document.getElementById("layers"); -const source = document.querySelector("source"); -const model = document.getElementById("model");+if (window.testRunner) { +testRunner.waitUntilDone(); +testRunner.dumpAsText(); +} else +layers.textContent = "This test requires testRunner.";-const modelDidLoadFirstSource = () => {+let model = document.getElementById("model"); + +model.ready.then(value => { layers.textContent = "Before Changing Source:\n";-layers.textContent += window.internals?.platformLayerTreeAsText(model, window.internals.PLATFORM_LAYER_TREE_INCLUDE_MODELS) ?? "This test requires testRunner.";+layers.textContent += window.internals.platformLayerTreeAsText(model, window.internals.PLATFORM_LAYER_TREE_INCLUDE_MODELS);-model.addEventListener("load", event => { -layers.textContent += "After Changing Source:\n"; -layers.textContent += window.internals?.platformLayerTreeAsText(model, window.internals.PLATFORM_LAYER_TREE_INCLUDE_MODELS) ?? "This test requires testRunner."; -window.testRunner?.notifyDone(); -}, { once: true }); - -model.addEventListener("error", event => { -layers.textContent = `Failed. Second model did not load.`; -window.testRunner?.notifyDone(); -}, { once: true }); -source.src = ""-} - -if (model.complete) -modelDidLoadFirstSource(); -else { -
[webkit-changes] [286856] trunk/Source/JavaScriptCore
Title: [286856] trunk/Source/_javascript_Core Revision 286856 Author tzaga...@apple.com Date 2021-12-10 09:25:22 -0800 (Fri, 10 Dec 2021) Log Message Remove Mac-specific ARM64EHash implementation https://bugs.webkit.org/show_bug.cgi?id=234150 Reviewed by Saam Barati. Currently we have a weaker implementation of ARM64EHash on mac, but we measured it and it's not any faster than the stricter version we use on iOS. We are removing the mac-specific version and switching it to use the stricter version. * assembler/AssemblerBuffer.h: Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/assembler/AssemblerBuffer.h Diff Modified: trunk/Source/_javascript_Core/ChangeLog (286855 => 286856) --- trunk/Source/_javascript_Core/ChangeLog 2021-12-10 17:16:51 UTC (rev 286855) +++ trunk/Source/_javascript_Core/ChangeLog 2021-12-10 17:25:22 UTC (rev 286856) @@ -1,3 +1,16 @@ +2021-12-10 Tadeu Zagallo + +Remove Mac-specific ARM64EHash implementation +https://bugs.webkit.org/show_bug.cgi?id=234150 + +Reviewed by Saam Barati. + +Currently we have a weaker implementation of ARM64EHash on mac, but we measured it and it's not +any faster than the stricter version we use on iOS. We are removing the mac-specific version and +switching it to use the stricter version. + +* assembler/AssemblerBuffer.h: + 2021-12-10 Adrian Perez de Castro Non-unified build fixes, mid December 2021 edition Modified: trunk/Source/_javascript_Core/assembler/AssemblerBuffer.h (286855 => 286856) --- trunk/Source/_javascript_Core/assembler/AssemblerBuffer.h 2021-12-10 17:16:51 UTC (rev 286855) +++ trunk/Source/_javascript_Core/assembler/AssemblerBuffer.h 2021-12-10 17:25:22 UTC (rev 286856) @@ -203,29 +203,8 @@ }; #if CPU(ARM64E) -#if PLATFORM(MAC) class ARM64EHash { public: -ARM64EHash(void* initialHash) -: m_hash(static_cast(bitwise_cast(initialHash))) -{ -} - -ALWAYS_INLINE uint32_t update(uint32_t value, uint32_t, void*) -{ -uint64_t input = value ^ m_hash; -uint64_t a = static_cast(tagInt(input, static_cast(0)) >> 39); -uint64_t b = tagInt(input, static_cast(0xb7e151628aed2a6a)) >> 23; -m_hash = a ^ b; -return m_hash; -} - -private: -uint32_t m_hash; -}; -#else -class ARM64EHash { -public: ARM64EHash(void* diversifier) { setUpdatedHash(0, 0, diversifier); @@ -280,7 +259,6 @@ uint64_t m_hash; }; -#endif // PLATFORM(MAC) #endif // CPU(ARM64E) class AssemblerBuffer { ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286855] trunk
Title: [286855] trunk Revision 286855 Author cdu...@apple.com Date 2021-12-10 09:16:51 -0800 (Fri, 10 Dec 2021) Log Message Radio buttons with no form owner are not grouped https://bugs.webkit.org/show_bug.cgi?id=220502 Reviewed by Darin Adler. LayoutTests/imported/w3c: Rebaseline WPT tests now that more checks are passing. * web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt: * web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: * web-platform-tests/html/semantics/forms/the-input-element/radio-expected.txt: Source/WebCore: Per the HTML specification and to match the behavior of both Gecko and Blink, radio buttons should still be grouped, even if they are disconnected and not owned by a form. This patch aligns our behavior with Gecko and Blink and is based on the following Blink commit: - https://chromium-review.googlesource.com/c/chromium/src/+/1988087 No new tests, rebaselined existing tests. * dom/ContainerNode.h: (WebCore::ContainerNode::rootNode const): * dom/ElementTraversal.h: (WebCore::Traversal::inclusiveFirstWithin): * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::setChecked): (WebCore::HTMLInputElement::didChangeForm): (WebCore::HTMLInputElement::insertedIntoAncestor): (WebCore::HTMLInputElement::removedFromAncestor): (WebCore::HTMLInputElement::checkedRadioButtonForGroup const): * html/InputType.h: (WebCore::InputType::willUpdateCheckedness): * html/RadioInputType.cpp: (WebCore::RadioInputType::valueMissing const): (WebCore::RadioInputType::willUpdateCheckedness): * html/RadioInputType.h: LayoutTests: * fast/forms/radio/ValidityState-valueMissing-radio-expected.txt: * fast/forms/radio/ValidityState-valueMissing-radio.html: * fast/forms/radio/radio-live-validation-style-expected.txt: * fast/forms/radio/radio-live-validation-style.html: Update existing tests to reflect behavior change. I have verified that our behavior on those tests is aligned with both Firefox and Chrome. * platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt: * platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt: Rebaseline WPT tests now that more checks are passing. Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/fast/forms/radio/ValidityState-valueMissing-radio-expected.txt trunk/LayoutTests/fast/forms/radio/ValidityState-valueMissing-radio.html trunk/LayoutTests/fast/forms/radio/radio-live-validation-style-expected.txt trunk/LayoutTests/fast/forms/radio/radio-live-validation-style.html trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/the-input-element/radio-expected.txt trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt trunk/LayoutTests/platform/ios-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt trunk/LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valid-expected.txt trunk/LayoutTests/platform/mac-wk2/imported/w3c/web-platform-tests/html/semantics/forms/constraints/form-validation-validity-valueMissing-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/dom/ContainerNode.h trunk/Source/WebCore/dom/ElementTraversal.h trunk/Source/WebCore/dom/TypedElementDescendantIterator.h trunk/Source/WebCore/html/HTMLFormControlElement.cpp trunk/Source/WebCore/html/HTMLFormControlElement.h trunk/Source/WebCore/html/HTMLInputElement.cpp trunk/Source/WebCore/html/InputType.h trunk/Source/WebCore/html/RadioInputType.cpp trunk/Source/WebCore/html/RadioInputType.h Diff Modified: trunk/LayoutTests/ChangeLog (286854 => 286855) --- trunk/LayoutTests/ChangeLog 2021-12-10 17:07:12 UTC (rev 286854) +++ trunk/LayoutTests/ChangeLog 2021-12-10 17:16:51 UTC (rev 286855) @@ -1,3 +1,22 @@ +2021-12-10 Chris Dumez + +Radio buttons with no form owner are not grouped +https://bugs.webkit.org/show_bug.cgi?id=220502 + + +Reviewed by Darin Adler. + +* fast/forms/radio/ValidityState-valueMissing-radio-expected.txt: +* fast/forms/radio/ValidityState-valueMissing-radio.html: +* fast/forms/radio/radio-live-validation-style-expected.txt: +* fast/forms/radio/radio-live-validation-style.html: +Update existing tests to reflect behavior change. I have verified that our behavior on those tests +is aligned with both Firefox and
[webkit-changes] [286854] trunk/LayoutTests
Title: [286854] trunk/LayoutTests Revision 286854 Author you...@apple.com Date 2021-12-10 09:07:12 -0800 (Fri, 10 Dec 2021) Log Message [ Monterey ] http/tests/workers/service/serviceworker-websocket.https.html (layout-test) is constant text failure https://bugs.webkit.org/show_bug.cgi?id=233665 Reviewed by Alex Christensen. Allow all SSL certificates. * http/tests/workers/service/serviceworker-websocket.https.html: * platform/mac-wk2/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/tests/workers/service/serviceworker-websocket.https.html trunk/LayoutTests/platform/mac-wk2/TestExpectations Diff Modified: trunk/LayoutTests/ChangeLog (286853 => 286854) --- trunk/LayoutTests/ChangeLog 2021-12-10 16:56:55 UTC (rev 286853) +++ trunk/LayoutTests/ChangeLog 2021-12-10 17:07:12 UTC (rev 286854) @@ -1,3 +1,16 @@ +2021-12-10 Youenn Fablet + +[ Monterey ] http/tests/workers/service/serviceworker-websocket.https.html (layout-test) is constant text failure +https://bugs.webkit.org/show_bug.cgi?id=233665 + + +Reviewed by Alex Christensen. + +Allow all SSL certificates. + +* http/tests/workers/service/serviceworker-websocket.https.html: +* platform/mac-wk2/TestExpectations: + 2021-12-10 Patrick Griffis CSP: Allow external scripts with SRI hashes matching CSP Modified: trunk/LayoutTests/http/tests/workers/service/serviceworker-websocket.https.html (286853 => 286854) --- trunk/LayoutTests/http/tests/workers/service/serviceworker-websocket.https.html 2021-12-10 16:56:55 UTC (rev 286853) +++ trunk/LayoutTests/http/tests/workers/service/serviceworker-websocket.https.html 2021-12-10 17:07:12 UTC (rev 286854) @@ -8,6 +8,9 @@ var activeWorker; var scope = "/workers/service/resources/WebSocket/"; +if (window.testRunner) +testRunner.setAllowsAnySSLCertificate(true); + promise_test(async (test) => { var registration = await navigator.serviceWorker.getRegistration(scope); if (registration && registration.scope === scope) Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (286853 => 286854) --- trunk/LayoutTests/platform/mac-wk2/TestExpectations 2021-12-10 16:56:55 UTC (rev 286853) +++ trunk/LayoutTests/platform/mac-wk2/TestExpectations 2021-12-10 17:07:12 UTC (rev 286854) @@ -1679,5 +1679,3 @@ webkit.org/b/232492 [ BigSur Debug ] webrtc/video-receivers.html [ Pass Crash ] webkit.org/b/232497 [ BigSur Debug ] media/media-source/media-source-istypesupported-case-sensitive.html [ Pass Crash ] - -webkit.org/b/233665 [ Monterey+ ] http/tests/workers/service/serviceworker-websocket.https.html [ Failure ] \ No newline at end of file ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286853] trunk
Title: [286853] trunk Revision 286853 Author pgrif...@igalia.com Date 2021-12-10 08:56:55 -0800 (Fri, 10 Dec 2021) Log Message CSP: Allow external scripts with SRI hashes matching CSP https://bugs.webkit.org/show_bug.cgi?id=233911 Reviewed by Kate Cheney. LayoutTests/imported/w3c: Update expectations with more passes. * web-platform-tests/content-security-policy/script-src/script-src-report-only-policy-works-with-external-hash-policy-expected.txt: * web-platform-tests/content-security-policy/script-src/script-src-sri_hash.sub-expected.txt: Source/WebCore: This is a change in CSP3 that allows loading external scripts that have SRI hashes matching CSP hashes. https://www.w3.org/TR/CSP3/#external-hash ResourceCryptographicDigest was changed to not validate padding during base64 decoding which is harmless and fixes parsing the hashes used in WPT's script-src-sri_hash.sub.html. * loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::isAllowedByContentSecurityPolicy): * loader/ResourceCryptographicDigest.cpp: (WebCore::parseCryptographicDigestImpl): (WebCore::decodeEncodedResourceCryptographicDigest): * loader/SubresourceIntegrity.cpp: (WebCore::parseIntegrityMetadata): * loader/SubresourceIntegrity.h: * loader/cache/CachedResourceLoader.cpp: (WebCore::CachedResourceLoader::allowedByContentSecurityPolicy const): * page/csp/ContentSecurityPolicy.cpp: (WebCore::ContentSecurityPolicy::allScriptPoliciesAllow const): (WebCore::parseSubResourceIntegrityIntoDigests): (WebCore::ContentSecurityPolicy::allowResourceFromSource const): (WebCore::ContentSecurityPolicy::allowScriptFromSource const): * page/csp/ContentSecurityPolicy.h: * page/csp/ContentSecurityPolicyDirectiveList.cpp: (WebCore::ContentSecurityPolicyDirectiveList::violatedDirectiveForScript const): * page/csp/ContentSecurityPolicyDirectiveList.h: * page/csp/ContentSecurityPolicySourceList.cpp: (WebCore::ContentSecurityPolicySourceList::matchesAll const): * page/csp/ContentSecurityPolicySourceList.h: * page/csp/ContentSecurityPolicySourceListDirective.cpp: (WebCore::ContentSecurityPolicySourceListDirective::containsAllHashes const): * page/csp/ContentSecurityPolicySourceListDirective.h: LayoutTests: Update tests to accept base64 with extra padding. * http/tests/security/contentSecurityPolicy/1.1/scripthash-tests-expected.txt: * http/tests/security/contentSecurityPolicy/1.1/scripthash-tests.html: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/http/tests/security/contentSecurityPolicy/1.1/scripthash-tests-expected.txt trunk/LayoutTests/http/tests/security/contentSecurityPolicy/1.1/scripthash-tests.html trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/script-src/script-src-report-only-policy-works-with-external-hash-policy-expected.txt trunk/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/script-src/script-src-sri_hash.sub-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp trunk/Source/WebCore/loader/ResourceCryptographicDigest.cpp trunk/Source/WebCore/loader/SubresourceIntegrity.cpp trunk/Source/WebCore/loader/SubresourceIntegrity.h trunk/Source/WebCore/loader/cache/CachedResourceLoader.cpp trunk/Source/WebCore/page/csp/ContentSecurityPolicy.cpp trunk/Source/WebCore/page/csp/ContentSecurityPolicy.h trunk/Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.cpp trunk/Source/WebCore/page/csp/ContentSecurityPolicyDirectiveList.h trunk/Source/WebCore/page/csp/ContentSecurityPolicySourceList.cpp trunk/Source/WebCore/page/csp/ContentSecurityPolicySourceList.h trunk/Source/WebCore/page/csp/ContentSecurityPolicySourceListDirective.cpp trunk/Source/WebCore/page/csp/ContentSecurityPolicySourceListDirective.h Diff Modified: trunk/LayoutTests/ChangeLog (286852 => 286853) --- trunk/LayoutTests/ChangeLog 2021-12-10 16:33:19 UTC (rev 286852) +++ trunk/LayoutTests/ChangeLog 2021-12-10 16:56:55 UTC (rev 286853) @@ -1,3 +1,15 @@ +2021-12-10 Patrick Griffis + +CSP: Allow external scripts with SRI hashes matching CSP +https://bugs.webkit.org/show_bug.cgi?id=233911 + +Reviewed by Kate Cheney. + +Update tests to accept base64 with extra padding. + +* http/tests/security/contentSecurityPolicy/1.1/scripthash-tests-expected.txt: +* http/tests/security/contentSecurityPolicy/1.1/scripthash-tests.html: + 2021-12-10 Alan Bujtas [LFC][IFC] Enable bidi handling for content with inline boxes Modified: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/1.1/scripthash-tests-expected.txt (286852 => 286853) --- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/1.1/scripthash-tests-expected.txt 2021-12-10 16:33:19 UTC (rev 286852) +++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/1.1/scripthash-tests-expected.txt 2021-12-10 16:56:55 UTC (rev 286853) @@ -12,8 +12,6 @@ CONSOLE MESSAGE: Refused to
[webkit-changes] [286852] trunk/Source/WebKit
Title: [286852] trunk/Source/WebKit Revision 286852 Author pvol...@apple.com Date 2021-12-10 08:33:19 -0800 (Fri, 10 Dec 2021) Log Message Fix sandbox build error https://bugs.webkit.org/show_bug.cgi?id=234146 Unreviewed fix sandbox build error after r286460. * GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in: * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: * Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb: * Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: * Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in: * WebProcess/com.apple.WebProcess.sb.in: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in Diff Modified: trunk/Source/WebKit/ChangeLog (286851 => 286852) --- trunk/Source/WebKit/ChangeLog 2021-12-10 16:20:40 UTC (rev 286851) +++ trunk/Source/WebKit/ChangeLog 2021-12-10 16:33:19 UTC (rev 286852) @@ -1,3 +1,17 @@ +2021-12-10 Per Arne Vollan + +Fix sandbox build error +https://bugs.webkit.org/show_bug.cgi?id=234146 + +Unreviewed fix sandbox build error after r286460. + +* GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in: +* NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: +* Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb: +* Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb: +* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in: +* WebProcess/com.apple.WebProcess.sb.in: + 2021-12-10 Chris Dumez Unreviewed, reverting r282794. Modified: trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in (286851 => 286852) --- trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in 2021-12-10 16:20:40 UTC (rev 286851) +++ trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in 2021-12-10 16:33:19 UTC (rev 286852) @@ -1004,4 +1004,4 @@ SYS_workq_kernreturn))) (when (defined? 'SYS__map_with_linking_np) -(allow syscall-unix SYS__map_with_linking_np)) +(allow syscall-unix (syscall-number SYS__map_with_linking_np))) Modified: trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in (286851 => 286852) --- trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in 2021-12-10 16:20:40 UTC (rev 286851) +++ trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in 2021-12-10 16:33:19 UTC (rev 286852) @@ -571,7 +571,7 @@ SYS_workq_kernreturn))) (when (defined? 'SYS__map_with_linking_np) -(allow syscall-unix SYS__map_with_linking_np)) +(allow syscall-unix (syscall-number SYS__map_with_linking_np))) #if HAVE(SANDBOX_MESSAGE_FILTERING) (when (and (equal? (param "ENABLE_SANDBOX_MESSAGE_FILTER") "YES") (defined? 'mach-kernel-endpoint)) Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb (286851 => 286852) --- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb 2021-12-10 16:20:40 UTC (rev 286851) +++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb 2021-12-10 16:33:19 UTC (rev 286852) @@ -808,7 +808,7 @@ SYS_writev))) (when (defined? 'SYS__map_with_linking_np) -(allow syscall-unix SYS__map_with_linking_np)) +(allow syscall-unix (syscall-number SYS__map_with_linking_np))) (when (defined? 'syscall-mach) (allow syscall-mach (with telemetry)) Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb (286851 => 286852) --- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb 2021-12-10 16:20:40 UTC (rev 286851) +++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb 2021-12-10 16:33:19 UTC (rev 286852) @@ -738,7 +738,7 @@ SYS_writev))) (when (defined? 'SYS__map_with_linking_np) -(allow syscall-unix SYS__map_with_linking_np)) +(allow syscall-unix (syscall-number SYS__map_with_linking_np))) (when (defined? 'syscall-mach) (allow syscall-mach (with report) (with telemetry)) Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in (286851 => 286852) --- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in 2021-12-10 16:20:40 UTC (rev 286851) +++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in 2021-12-10 16:33:19 UTC (rev 286852) @@ -1346,7 +1346,7 @@ ) (when (defined? 'SYS__map_with_linking_np) -(allow syscall-unix
[webkit-changes] [286851] trunk/Source/WebCore
Title: [286851] trunk/Source/WebCore Revision 286851 Author za...@apple.com Date 2021-12-10 08:20:40 -0800 (Fri, 10 Dec 2021) Log Message [LFC][IFC] Replace Vector with Vector https://bugs.webkit.org/show_bug.cgi?id=234110 Reviewed by Antti Koivisto. This patch switches over from using DisplayBoxNode* in AncestorStack to simple indexes to contain heap allocations. * layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp: (WebCore::Layout::DisplayBoxTree::DisplayBoxTree): (WebCore::Layout::DisplayBoxTree::hasInlineBox const): (WebCore::Layout::DisplayBoxTree::root const): (WebCore::Layout::DisplayBoxTree::at): (WebCore::Layout::DisplayBoxTree::at const): (WebCore::Layout::DisplayBoxTree::append): (WebCore::Layout::AncestorStack::unwind): (WebCore::Layout::AncestorStack::push): (WebCore::Layout::createdDisplayBoxNodeForContainerBoxAndPushToAncestorStack): (WebCore::Layout::InlineDisplayContentBuilder::ensureDisplayBoxForContainer): (WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox): (WebCore::Layout::InlineDisplayContentBuilder::processBidiContent): (WebCore::Layout::DisplayBoxNode::DisplayBoxNode): Deleted. (WebCore::Layout::DisplayBoxNode::appendChild): Deleted. (WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForChildNode): Deleted. * layout/formattingContexts/inline/InlineDisplayContentBuilder.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.h Diff Modified: trunk/Source/WebCore/ChangeLog (286850 => 286851) --- trunk/Source/WebCore/ChangeLog 2021-12-10 15:36:10 UTC (rev 286850) +++ trunk/Source/WebCore/ChangeLog 2021-12-10 16:20:40 UTC (rev 286851) @@ -1,5 +1,32 @@ 2021-12-10 Alan Bujtas +[LFC][IFC] Replace Vector with Vector +https://bugs.webkit.org/show_bug.cgi?id=234110 + +Reviewed by Antti Koivisto. + +This patch switches over from using DisplayBoxNode* in AncestorStack to simple indexes to contain heap allocations. + +* layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp: +(WebCore::Layout::DisplayBoxTree::DisplayBoxTree): +(WebCore::Layout::DisplayBoxTree::hasInlineBox const): +(WebCore::Layout::DisplayBoxTree::root const): +(WebCore::Layout::DisplayBoxTree::at): +(WebCore::Layout::DisplayBoxTree::at const): +(WebCore::Layout::DisplayBoxTree::append): +(WebCore::Layout::AncestorStack::unwind): +(WebCore::Layout::AncestorStack::push): +(WebCore::Layout::createdDisplayBoxNodeForContainerBoxAndPushToAncestorStack): +(WebCore::Layout::InlineDisplayContentBuilder::ensureDisplayBoxForContainer): +(WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForDisplayBox): +(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent): +(WebCore::Layout::DisplayBoxNode::DisplayBoxNode): Deleted. +(WebCore::Layout::DisplayBoxNode::appendChild): Deleted. +(WebCore::Layout::InlineDisplayContentBuilder::adjustVisualGeometryForChildNode): Deleted. +* layout/formattingContexts/inline/InlineDisplayContentBuilder.h: + +2021-12-10 Alan Bujtas + [LFC][IFC] Enable bidi handling for content with inline boxes https://bugs.webkit.org/show_bug.cgi?id=234055 Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp (286850 => 286851) --- trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp 2021-12-10 15:36:10 UTC (rev 286850) +++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp 2021-12-10 16:20:40 UTC (rev 286851) @@ -340,28 +340,45 @@ } } -struct DisplayBoxNode { -WTF_MAKE_STRUCT_FAST_ALLOCATED; -DisplayBoxNode() = default; -DisplayBoxNode(size_t index, DisplayBoxNode* parent) -: index(index) -, parent(parent) -{ -} +struct DisplayBoxTree { +public: +struct Node { +// Node's parent index in m_displayBoxNodes. +std::optional parentIndex; +// Associated display box index in DisplayBoxes. +size_t displayBoxIndex { 0 }; +// Child indexes in m_displayBoxNodes. +Vector children { }; +}; -void appendChild(size_t childIndex) { children.append(makeUnique(childIndex, this)); } +DisplayBoxTree() +{ +m_displayBoxNodes.append({ }); +} -size_t index { 0 }; -DisplayBoxNode* parent { nullptr }; -Vector> children; +bool hasInlineBox() const { return m_displayBoxNodes.size() > 1; } +const Node& root() const { return m_displayBoxNodes.first(); } +Node& at(size_t index) { return m_displayBoxNodes[index]; } +const Node& at(size_t index) const { return m_displayBoxNodes[index]; } + +size_t append(size_t
[webkit-changes] [286850] trunk/Source/WebKit
Title: [286850] trunk/Source/WebKit Revision 286850 Author cdu...@apple.com Date 2021-12-10 07:36:10 -0800 (Fri, 10 Dec 2021) Log Message Unreviewed, reverting r282794. Regressed PLT5 Reverted changeset: "Avoid doing a second server pre-connect after a process-swap" https://bugs.webkit.org/show_bug.cgi?id=230517 https://commits.webkit.org/r282794 Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/UIProcess/WebPageProxy.cpp Diff Modified: trunk/Source/WebKit/ChangeLog (286849 => 286850) --- trunk/Source/WebKit/ChangeLog 2021-12-10 14:28:35 UTC (rev 286849) +++ trunk/Source/WebKit/ChangeLog 2021-12-10 15:36:10 UTC (rev 286850) @@ -1,3 +1,16 @@ +2021-12-10 Chris Dumez + +Unreviewed, reverting r282794. + + +Regressed PLT5 + +Reverted changeset: + +"Avoid doing a second server pre-connect after a process-swap" +https://bugs.webkit.org/show_bug.cgi?id=230517 +https://commits.webkit.org/r282794 + 2021-12-10 Youenn Fablet REGRESSION (iOS 15): Safari loses Network access when establishing WebRTC session Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (286849 => 286850) --- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2021-12-10 14:28:35 UTC (rev 286849) +++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp 2021-12-10 15:36:10 UTC (rev 286850) @@ -1423,8 +1423,7 @@ addPlatformLoadParameters(process, loadParameters); -if (shouldTreatAsContinuingLoad == ShouldTreatAsContinuingLoad::No) -preconnectTo(url); +preconnectTo(url); navigation.setIsLoadedWithNavigationShared(true); ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286849] trunk/Source/WTF
Title: [286849] trunk/Source/WTF Revision 286849 Author keith_mil...@apple.com Date 2021-12-10 06:28:35 -0800 (Fri, 10 Dec 2021) Log Message Reduce maximum mmap size for Structure regions to help placate ios https://bugs.webkit.org/show_bug.cgi?id=234091 Reviewed by Saam Barati. Use mach_vm_map since that supports memory alignement so we don't have to map 2x desired address space then free then trim. * wtf/PlatformHave.h: * wtf/posix/OSAllocatorPOSIX.cpp: (WTF::OSAllocator::reserveUncommittedAligned): Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/wtf/posix/OSAllocatorPOSIX.cpp Diff Modified: trunk/Source/WTF/ChangeLog (286848 => 286849) --- trunk/Source/WTF/ChangeLog 2021-12-10 14:27:04 UTC (rev 286848) +++ trunk/Source/WTF/ChangeLog 2021-12-10 14:28:35 UTC (rev 286849) @@ -1,3 +1,16 @@ +2021-12-10 Keith Miller + +Reduce maximum mmap size for Structure regions to help placate ios +https://bugs.webkit.org/show_bug.cgi?id=234091 + +Reviewed by Saam Barati. + +Use mach_vm_map since that supports memory alignement so we don't have to map 2x desired address space then free then trim. + +* wtf/PlatformHave.h: +* wtf/posix/OSAllocatorPOSIX.cpp: +(WTF::OSAllocator::reserveUncommittedAligned): + 2021-12-10 Antti Koivisto [CSS Container Queries] Basic @container at-rule parsing support Modified: trunk/Source/WTF/wtf/posix/OSAllocatorPOSIX.cpp (286848 => 286849) --- trunk/Source/WTF/wtf/posix/OSAllocatorPOSIX.cpp 2021-12-10 14:27:04 UTC (rev 286848) +++ trunk/Source/WTF/wtf/posix/OSAllocatorPOSIX.cpp 2021-12-10 14:28:35 UTC (rev 286849) @@ -44,6 +44,10 @@ #endif // OS(DARWIN) #endif // ENABLE(JIT_CAGE) +#if OS(DARWIN) +#include +#endif + namespace WTF { void* OSAllocator::reserveUncommitted(size_t bytes, Usage usage, bool writable, bool executable, bool jitCageEnabled, bool includesGuardPages) @@ -73,11 +77,36 @@ return result; } - -// FIXME: Make a smarter version of this for Linux flavors that have aligned mmap. void* OSAllocator::reserveUncommittedAligned(size_t bytes, Usage usage, bool writable, bool executable, bool jitCageEnabled, bool includesGuardPages) { ASSERT(hasOneBitSet(bytes) && bytes >= pageSize()); + +#if PLATFORM(MAC) || USE(APPLE_INTERNAL_SDK) +UNUSED_PARAM(usage); // Not supported for mach API. +ASSERT_UNUSED(includesGuardPages, !includesGuardPages); +ASSERT_UNUSED(jitCageEnabled, !jitCageEnabled); // Not supported for mach API. +vm_prot_t protections = VM_PROT_READ; +if (writable) +protections |= VM_PROT_WRITE; +if (executable) +protections |= VM_PROT_EXECUTE; + +const vm_inherit_t childProcessInheritance = VM_INHERIT_DEFAULT; +const bool copy = false; +const int flags = VM_FLAGS_ANYWHERE; + +void* aligned = nullptr; +kern_return_t result = mach_vm_map(mach_task_self(), reinterpret_cast(), bytes, bytes - 1, flags, MEMORY_OBJECT_NULL, 0, copy, protections, protections, childProcessInheritance); +RELEASE_ASSERT(result == KERN_SUCCESS, result, bytes); +#if HAVE(MADV_FREE_REUSE) +if (aligned) { +// To support the "reserve then commit" model, we have to initially decommit. +while (madvise(aligned, bytes, MADV_FREE_REUSABLE) == -1 && errno == EAGAIN) { } +} +#endif + +return aligned; +#else // Double the size so we can ensure enough mapped memory to get an aligned start. size_t mappedSize = bytes * 2; char* mapped = reinterpret_cast(reserveUncommitted(mappedSize, usage, writable, executable, jitCageEnabled, includesGuardPages)); @@ -95,6 +124,7 @@ releaseDecommitted(alignedEnd, rightExtra); return aligned; +#endif } void* OSAllocator::reserveAndCommit(size_t bytes, Usage usage, bool writable, bool executable, bool jitCageEnabled, bool includesGuardPages) ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286848] trunk
Title: [286848] trunk Revision 286848 Author za...@apple.com Date 2021-12-10 06:27:04 -0800 (Fri, 10 Dec 2021) Log Message [LFC][IFC] Enable bidi handling for content with inline boxes https://bugs.webkit.org/show_bug.cgi?id=234055 Reviewed by Antti Koivisto. Source/WebCore: * layout/integration/LayoutIntegrationCoverage.cpp: LayoutTests: Progressions. * platform/mac/fast/borders/bidi-002-expected.txt: * platform/mac/fast/borders/bidi-012-expected.txt: * platform/mac/fast/borders/rtl-border-05-expected.txt: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/platform/ios/fast/borders/bidi-012-expected.txt trunk/LayoutTests/platform/ios/fast/borders/rtl-border-05-expected.txt trunk/LayoutTests/platform/mac/fast/borders/bidi-002-expected.txt trunk/LayoutTests/platform/mac/fast/borders/bidi-012-expected.txt trunk/LayoutTests/platform/mac/fast/borders/rtl-border-05-expected.txt trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/layout/integration/LayoutIntegrationCoverage.cpp Diff Modified: trunk/LayoutTests/ChangeLog (286847 => 286848) --- trunk/LayoutTests/ChangeLog 2021-12-10 14:07:23 UTC (rev 286847) +++ trunk/LayoutTests/ChangeLog 2021-12-10 14:27:04 UTC (rev 286848) @@ -1,3 +1,16 @@ +2021-12-10 Alan Bujtas + +[LFC][IFC] Enable bidi handling for content with inline boxes +https://bugs.webkit.org/show_bug.cgi?id=234055 + +Reviewed by Antti Koivisto. + +Progressions. + +* platform/mac/fast/borders/bidi-002-expected.txt: +* platform/mac/fast/borders/bidi-012-expected.txt: +* platform/mac/fast/borders/rtl-border-05-expected.txt: + 2021-12-10 Frederic Wang Handle TerminationException in WebCore::ReadableStream::create() Modified: trunk/LayoutTests/platform/ios/fast/borders/bidi-012-expected.txt (286847 => 286848) --- trunk/LayoutTests/platform/ios/fast/borders/bidi-012-expected.txt 2021-12-10 14:07:23 UTC (rev 286847) +++ trunk/LayoutTests/platform/ios/fast/borders/bidi-012-expected.txt 2021-12-10 14:27:04 UTC (rev 286848) @@ -33,9 +33,10 @@ text run at (30,25) width 26: "aaa " text run at (55,25) width 29: "bbb " text run at (83,25) width 26: "ccc " - text run at (108,25) width 29 RTL: "ddd " - text run at (136,25) width 30 RTL: "\x{202E} eee " -RenderBR {BR} at (0,0) size 0x0 + text run at (108,25) width 25 RTL: "ddd" + text run at (132,25) width 30 RTL: "\x{202E} eee " + text run at (161,25) width 5: " " +RenderBR {BR} at (165,25) size 1x19 RenderText {#text} at (11,73) size 20x19 text run at (11,73) width 20: "fff " RenderText {#text} at (49,73) size 74x19 @@ -45,7 +46,7 @@ RenderInline {SPAN} at (0,0) size 162x87 [color=#FFA500] [border: (3px solid #FFA500)] RenderText {#text} at (141,73) size 19x19 text run at (141,73) width 19: "jjj " -RenderBR {BR} at (0,0) size 0x0 +RenderBR {BR} at (159,73) size 1x19 RenderText {#text} at (11,121) size 143x19 text run at (11,121) width 28: "kkk " text run at (39,121) width 63: "lll \x{202C} mmm " Modified: trunk/LayoutTests/platform/ios/fast/borders/rtl-border-05-expected.txt (286847 => 286848) --- trunk/LayoutTests/platform/ios/fast/borders/rtl-border-05-expected.txt 2021-12-10 14:07:23 UTC (rev 286847) +++ trunk/LayoutTests/platform/ios/fast/borders/rtl-border-05-expected.txt 2021-12-10 14:27:04 UTC (rev 286848) @@ -17,7 +17,7 @@ RenderInline {SPAN} at (0,0) size 190x53 [border: (1px solid #FF) (10px solid #FFA500) (1px solid #FF) (10px solid #008000)] RenderText {#text} at (122,39) size 46x19 text run at (122,39) width 46: " dgnjk " -RenderImage {IMG} at (167,32) size 23x22 [border: (1px solid #FF)] +RenderImage {IMG} at (122,32) size 23x22 [border: (1px solid #FF)] RenderText {#text} at (0,71) size 41x19 text run at (0,71) width 41: "njkng " RenderText {#text} at (85,71) size 174x51 Modified: trunk/LayoutTests/platform/mac/fast/borders/bidi-002-expected.txt (286847 => 286848) --- trunk/LayoutTests/platform/mac/fast/borders/bidi-002-expected.txt 2021-12-10 14:07:23 UTC (rev 286847) +++ trunk/LayoutTests/platform/mac/fast/borders/bidi-002-expected.txt 2021-12-10 14:27:04 UTC (rev 286848) @@ -1,14 +1,14 @@ layer at (0,0) size 800x600 RenderView at (0,0) size 800x600 -layer at (0,0) size 800x259 - RenderBlock {HTML} at (0,0) size 800x259 -RenderBody {BODY} at (8,16) size 784x227 +layer at (0,0) size 800x260 + RenderBlock {HTML} at (0,0) size 800x260 +RenderBody {BODY} at (8,16) size 784x228 RenderBlock {P} at (0,0) size 784x19 RenderText {#text} at (0,1) size 521x18 text run at (0,1) width 506: "The following two blocks
[webkit-changes] [286847] trunk/LayoutTests/imported/w3c
Title: [286847] trunk/LayoutTests/imported/w3c Revision 286847 Author r...@igalia.com Date 2021-12-10 06:07:23 -0800 (Fri, 10 Dec 2021) Log Message [WPT] Import resources/accesskey.js https://bugs.webkit.org/show_bug.cgi?id=234137 Reviewed by Rob Buis. This just imports the changes from this WPT PR: https://github.com/web-platform-tests/wpt/pull/32000 Which will allow to write other WPT tests using pressAccessKey() method. * web-platform-tests/resources/accesskey.js: Added. (pressAccessKey): * web-platform-tests/resources/w3c-import.log: * web-platform-tests/shadow-dom/accesskey.tentative.html: Modified Paths trunk/LayoutTests/imported/w3c/ChangeLog trunk/LayoutTests/imported/w3c/web-platform-tests/resources/w3c-import.log trunk/LayoutTests/imported/w3c/web-platform-tests/shadow-dom/accesskey.tentative.html Added Paths trunk/LayoutTests/imported/w3c/web-platform-tests/resources/accesskey.js Diff Modified: trunk/LayoutTests/imported/w3c/ChangeLog (286846 => 286847) --- trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-10 13:51:02 UTC (rev 286846) +++ trunk/LayoutTests/imported/w3c/ChangeLog 2021-12-10 14:07:23 UTC (rev 286847) @@ -1,3 +1,20 @@ +2021-12-10 Manuel Rego Casasnovas + +[WPT] Import resources/accesskey.js +https://bugs.webkit.org/show_bug.cgi?id=234137 + +Reviewed by Rob Buis. + +This just imports the changes from this WPT PR: +https://github.com/web-platform-tests/wpt/pull/32000 + +Which will allow to write other WPT tests using pressAccessKey() method. + +* web-platform-tests/resources/accesskey.js: Added. +(pressAccessKey): +* web-platform-tests/resources/w3c-import.log: +* web-platform-tests/shadow-dom/accesskey.tentative.html: + 2021-12-09 Chris Dumez Add basic support for launching a SharedWorker Added: trunk/LayoutTests/imported/w3c/web-platform-tests/resources/accesskey.js (0 => 286847) --- trunk/LayoutTests/imported/w3c/web-platform-tests/resources/accesskey.js (rev 0) +++ trunk/LayoutTests/imported/w3c/web-platform-tests/resources/accesskey.js 2021-12-10 14:07:23 UTC (rev 286847) @@ -0,0 +1,34 @@ +/* + * Function that sends an accesskey using the proper key combination depending on the browser and OS. + * + * This needs that the test imports the following scripts: + *
[webkit-changes] [286846] trunk/Source/WebCore
Title: [286846] trunk/Source/WebCore Revision 286846 Author zimmerm...@webkit.org Date 2021-12-10 05:51:02 -0800 (Fri, 10 Dec 2021) Log Message [LBSE] Create RenderSVGRoot renderer for outermost and allow direct children https://bugs.webkit.org/show_bug.cgi?id=233873 Reviewed by Rob Buis. Construct RenderSVGRoot renderers for the outermost element when LBSE is enabled. An 'allowlist' approach is used to only create renderers for those SVG elements that are aware of LBSE: outermost element + element. For all other elements no renderers will be created in LBSE for now. This patch leaves the legacy engine unchanged (probed by EWS & local test runs), and also LBSE shows no assertions/crashes/hangs in release/debug builds - tested with "run-webkit-tests --internal-feature=LayerBasedSVGEngineEnabled". Note that many layout tests will either timeout or show a different result, due to the small capabilities of LBSE at present. Therefore it's beneficial to decrease timeouts / use more workers when running layout tests. Otherwise they will take a long time to complete. On my macOS Monterey M1 MacBook, following parameters lead to a reasonable test execution time: run-webkit-tests --internal-feature=LayerBasedSVGEngineEnabled --timeout=5000 \ --no-sample-on-timeout --no-retry-failures --child-processes=15 \ [--release / --debug] svg Covered by existing tests. * rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::clippedOverflowRect const): (WebCore::RenderSVGModelObject::nodeAtPoint): * rendering/svg/RenderSVGModelObject.h: (WebCore::RenderSVGModelObject::visualOverflowRectEquivalent const): * svg/SVGElement.cpp: (WebCore::createSVGLayerAwareElementSet): (WebCore::isSVGLayerAwareElement): (WebCore::SVGElement::childShouldCreateRenderer const): * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::createElementRenderer): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.h trunk/Source/WebCore/svg/SVGElement.cpp trunk/Source/WebCore/svg/SVGSVGElement.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (286845 => 286846) --- trunk/Source/WebCore/ChangeLog 2021-12-10 13:28:28 UTC (rev 286845) +++ trunk/Source/WebCore/ChangeLog 2021-12-10 13:51:02 UTC (rev 286846) @@ -1,3 +1,43 @@ +2021-12-10 Nikolas Zimmermann + +[LBSE] Create RenderSVGRoot renderer for outermost and allow direct children +https://bugs.webkit.org/show_bug.cgi?id=233873 + +Reviewed by Rob Buis. + +Construct RenderSVGRoot renderers for the outermost element when LBSE is enabled. +An 'allowlist' approach is used to only create renderers for those SVG elements that +are aware of LBSE: outermost element + element. For all other elements +no renderers will be created in LBSE for now. + +This patch leaves the legacy engine unchanged (probed by EWS & local test runs), +and also LBSE shows no assertions/crashes/hangs in release/debug builds - tested +with "run-webkit-tests --internal-feature=LayerBasedSVGEngineEnabled". + +Note that many layout tests will either timeout or show a different result, +due to the small capabilities of LBSE at present. Therefore it's beneficial to +decrease timeouts / use more workers when running layout tests. Otherwise they +will take a long time to complete. On my macOS Monterey M1 MacBook, following +parameters lead to a reasonable test execution time: + +run-webkit-tests --internal-feature=LayerBasedSVGEngineEnabled --timeout=5000 \ +--no-sample-on-timeout --no-retry-failures --child-processes=15 \ +[--release / --debug] svg + +Covered by existing tests. + +* rendering/svg/RenderSVGModelObject.cpp: +(WebCore::RenderSVGModelObject::clippedOverflowRect const): +(WebCore::RenderSVGModelObject::nodeAtPoint): +* rendering/svg/RenderSVGModelObject.h: +(WebCore::RenderSVGModelObject::visualOverflowRectEquivalent const): +* svg/SVGElement.cpp: +(WebCore::createSVGLayerAwareElementSet): +(WebCore::isSVGLayerAwareElement): +(WebCore::SVGElement::childShouldCreateRenderer const): +* svg/SVGSVGElement.cpp: +(WebCore::SVGSVGElement::createElementRenderer): + 2021-12-10 Antti Koivisto [CSS Container Queries] Basic @container at-rule parsing support Modified: trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp (286845 => 286846) --- trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp 2021-12-10 13:28:28 UTC (rev 286845) +++ trunk/Source/WebCore/rendering/svg/RenderSVGModelObject.cpp 2021-12-10 13:51:02 UTC (rev 286846) @@ -31,8 +31,11 @@ #include "config.h" #include "RenderSVGModelObject.h" +#include "NotImplemented.h" +#include "RenderLayer.h" #include "RenderLayerModelObject.h" #include
[webkit-changes] [286845] trunk/Source
Title: [286845] trunk/Source Revision 286845 Author an...@apple.com Date 2021-12-10 05:28:28 -0800 (Fri, 10 Dec 2021) Log Message [CSS Container Queries] Basic @container at-rule parsing support https://bugs.webkit.org/show_bug.cgi?id=234135 Reviewed by Antoine Quint. Source/WebCore: Implement basic support for parsing @container at-rules. This patch doesn't yet parse the queries themselves. Disabled by default. * css/StyleRule.cpp: (WebCore::StyleRuleBase::destroy): (WebCore::StyleRuleBase::copy const): (WebCore::StyleRuleBase::createCSSOMWrapper const): (WebCore::StyleRuleContainer::StyleRuleContainer): (WebCore::StyleRuleContainer::create): * css/StyleRule.h: (WebCore::StyleRuleBase::isContainerRule const): (isType): * css/StyleRuleType.h: * css/StyleSheetContents.cpp: (WebCore::traverseRulesInVector): (WebCore::StyleSheetContents::traverseSubresources const): * css/parser/CSSAtRuleID.cpp: (WebCore::cssAtRuleID): * css/parser/CSSAtRuleID.h: * css/parser/CSSParserContext.cpp: (WebCore::operator==): (WebCore::add): * css/parser/CSSParserContext.h: * css/parser/CSSParserImpl.cpp: (WebCore::CSSParserImpl::consumeAtRule): (WebCore::CSSParserImpl::consumeContainerRule): * css/parser/CSSParserImpl.h: Source/WTF: * Scripts/Preferences/WebPreferencesExperimental.yaml: Add preference for container queries, disabled by default. Modified Paths trunk/Source/WTF/ChangeLog trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/StyleRule.cpp trunk/Source/WebCore/css/StyleRule.h trunk/Source/WebCore/css/StyleRuleType.h trunk/Source/WebCore/css/StyleSheetContents.cpp trunk/Source/WebCore/css/parser/CSSAtRuleID.cpp trunk/Source/WebCore/css/parser/CSSAtRuleID.h trunk/Source/WebCore/css/parser/CSSParserContext.cpp trunk/Source/WebCore/css/parser/CSSParserContext.h trunk/Source/WebCore/css/parser/CSSParserImpl.cpp trunk/Source/WebCore/css/parser/CSSParserImpl.h Diff Modified: trunk/Source/WTF/ChangeLog (286844 => 286845) --- trunk/Source/WTF/ChangeLog 2021-12-10 12:23:49 UTC (rev 286844) +++ trunk/Source/WTF/ChangeLog 2021-12-10 13:28:28 UTC (rev 286845) @@ -1,3 +1,14 @@ +2021-12-10 Antti Koivisto + +[CSS Container Queries] Basic @container at-rule parsing support +https://bugs.webkit.org/show_bug.cgi?id=234135 + +Reviewed by Antoine Quint. + +* Scripts/Preferences/WebPreferencesExperimental.yaml: + +Add preference for container queries, disabled by default. + 2021-12-09 Alan Bujtas Enable the CSS Contain property by default Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml (286844 => 286845) --- trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2021-12-10 12:23:49 UTC (rev 286844) +++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml 2021-12-10 13:28:28 UTC (rev 286845) @@ -224,6 +224,18 @@ WebCore: default: false +CSSContainerQueriesEnabled: + type: bool + humanReadableName: "CSS Container Queries" + humanReadableDescription: "Enable CSS Container Queries" + defaultValue: +WebKitLegacy: + default: false +WebKit: + default: false +WebCore: + default: false + CSSContainmentEnabled: type: bool humanReadableName: "CSS Containment" Modified: trunk/Source/WebCore/ChangeLog (286844 => 286845) --- trunk/Source/WebCore/ChangeLog 2021-12-10 12:23:49 UTC (rev 286844) +++ trunk/Source/WebCore/ChangeLog 2021-12-10 13:28:28 UTC (rev 286845) @@ -1,3 +1,40 @@ +2021-12-10 Antti Koivisto + +[CSS Container Queries] Basic @container at-rule parsing support +https://bugs.webkit.org/show_bug.cgi?id=234135 + +Reviewed by Antoine Quint. + +Implement basic support for parsing @container at-rules. +This patch doesn't yet parse the queries themselves. + +Disabled by default. + +* css/StyleRule.cpp: +(WebCore::StyleRuleBase::destroy): +(WebCore::StyleRuleBase::copy const): +(WebCore::StyleRuleBase::createCSSOMWrapper const): +(WebCore::StyleRuleContainer::StyleRuleContainer): +(WebCore::StyleRuleContainer::create): +* css/StyleRule.h: +(WebCore::StyleRuleBase::isContainerRule const): +(isType): +* css/StyleRuleType.h: +* css/StyleSheetContents.cpp: +(WebCore::traverseRulesInVector): +(WebCore::StyleSheetContents::traverseSubresources const): +* css/parser/CSSAtRuleID.cpp: +(WebCore::cssAtRuleID): +* css/parser/CSSAtRuleID.h: +* css/parser/CSSParserContext.cpp: +(WebCore::operator==): +(WebCore::add): +* css/parser/CSSParserContext.h: +* css/parser/CSSParserImpl.cpp: +(WebCore::CSSParserImpl::consumeAtRule): +(WebCore::CSSParserImpl::consumeContainerRule): +* css/parser/CSSParserImpl.h: + 2021-12-10 Nikolas Zimmermann
[webkit-changes] [286844] trunk/Source/WebInspectorUI
Title: [286844] trunk/Source/WebInspectorUI Revision 286844 Author rcali...@apple.com Date 2021-12-10 04:23:49 -0800 (Fri, 10 Dec 2021) Log Message Web Inspector: Extract a specialized CSSNameCompletions from CSSCompletions https://bugs.webkit.org/show_bug.cgi?id=233369 Reviewed by Devin Rousso. `WI.CSSPropertyNameCompletions` is a long-lived object that holds the list of all CSS properties supported by the target. It is instantiated only once on Web Inspector startup. By contrast, `WI.CSSCompletions` is an object instantiated as often as needed with lists of property values, CSS function values, etc. It holds the generic logic for matching values against a given query. The specialized logic for CSS property names was mixed-in with the generic logic in `WI.CSSCompletions`. The main difference is in the format of the payload provided: - an array of objects with key/value pairs for `WI.CSSPropertyNameCompletions`. - an array of strings for general purpose `WI.CSSCompletions`. This patch reduces the complexity in `WI.Completions`: - moves the one-time initialization method to `WI.cssManager.initializeCSSCompletions`. - simplifies `WI.Completions` constructor to expect just an array of strings. - introduces `WI.CSSPropertyNameCompletions` as a sub-class of `WI.CSSCompletions` where its constructor is specialized to handle the payload received from the backend. - moves the `WI.CSSPropertyNameCompletions` instance to `WI.cssManager.cssPropertyNameCompletions`. - removes unused accessors for navigating the list of matched completions. * UserInterface/Base/Main.js: (WI.performOneTimeFrontendInitializationsUsingTarget): * UserInterface/Controllers/CSSManager.js: (WI.CSSManager): (WI.CSSManager.prototype.initializeCSSPropertyNameCompletions.): (WI.CSSManager.prototype.initializeCSSPropertyNameCompletions): Moved the initializiation method for objects used to get CSS completions from `WI.CSSCompletions` with data from the backed to a more appropriate place. (WI.CSSManager.prototype.get propertyNameCompletions): * UserInterface/Controllers/CodeMirrorCompletionController.js: (WI.CodeMirrorCompletionController.prototype._generateCSSCompletions): * UserInterface/Main.html: * UserInterface/Models/CSSCompletions.js: (WI.CSSCompletions.prototype._firstIndexOfPrefix): (WI.CSSCompletions): (WI.CSSCompletions.initializeCSSCompletions.): Deleted. (WI.CSSCompletions.initializeCSSCompletions.collectPropertyNameForCodeMirror): Deleted. (WI.CSSCompletions.initializeCSSCompletions.propertiesCallback): Deleted. (WI.CSSCompletions.initializeCSSCompletions.fontFamilyNamesCallback): Deleted. (WI.CSSCompletions.initializeCSSCompletions): Deleted. Moved to `WI.CSSManager`. (WI.CSSCompletions.prototype.next): Deleted. (WI.CSSCompletions.prototype.previous): Deleted. (WI.CSSCompletions.prototype._closest): Deleted. Removed unused methods for navigating the completions list. This behavior is encapsulated in `WI.CompletionSuggestionsView`. (WI.CSSCompletions.prototype.isValidPropertyName): Deleted. Moved to `WI.CSSPropertyNameCompletions`. * UserInterface/Models/CSSKeywordCompletions.js: (WI.CSSKeywordCompletions.forPartialPropertyName): * UserInterface/Models/CSSPropertyNameCompletions.js: Added. (WI.CSSPropertyNameCompletions.prototype.isValidPropertyName): (WI.CSSPropertyNameCompletions): * UserInterface/Test.html: * UserInterface/Test/Test.js: (WI.performOneTimeFrontendInitializationsUsingTarget): * UserInterface/Views/SpreadsheetStyleProperty.js: (WI.SpreadsheetStyleProperty.prototype.updateStatus): (WI.SpreadsheetStyleProperty.prototype._addCSSDocumentationButton): Modified Paths trunk/Source/WebInspectorUI/ChangeLog trunk/Source/WebInspectorUI/UserInterface/Base/Main.js trunk/Source/WebInspectorUI/UserInterface/Controllers/CSSManager.js trunk/Source/WebInspectorUI/UserInterface/Controllers/CodeMirrorCompletionController.js trunk/Source/WebInspectorUI/UserInterface/Main.html trunk/Source/WebInspectorUI/UserInterface/Models/CSSCompletions.js trunk/Source/WebInspectorUI/UserInterface/Models/CSSKeywordCompletions.js trunk/Source/WebInspectorUI/UserInterface/Test/Test.js trunk/Source/WebInspectorUI/UserInterface/Test.html trunk/Source/WebInspectorUI/UserInterface/Views/SpreadsheetStyleProperty.js Added Paths trunk/Source/WebInspectorUI/UserInterface/Models/CSSPropertyNameCompletions.js Diff Modified: trunk/Source/WebInspectorUI/ChangeLog (286843 => 286844) --- trunk/Source/WebInspectorUI/ChangeLog 2021-12-10 12:19:40 UTC (rev 286843) +++ trunk/Source/WebInspectorUI/ChangeLog 2021-12-10 12:23:49 UTC (rev 286844) @@ -1,3 +1,75 @@ +2021-12-10 Razvan Caliman + +Web Inspector: Extract a specialized CSSNameCompletions from CSSCompletions +https://bugs.webkit.org/show_bug.cgi?id=233369 + + +Reviewed by Devin Rousso. + +`WI.CSSPropertyNameCompletions` is a long-lived object that holds the list of all CSS properties +supported by the target. It is instantiated only
[webkit-changes] [286843] trunk/Source/WebCore
Title: [286843] trunk/Source/WebCore Revision 286843 Author zimmerm...@webkit.org Date 2021-12-10 04:19:40 -0800 (Fri, 10 Dec 2021) Log Message [LBSE] Handle RenderSVGRoot in all places that handle LegacyRenderSVGRoot https://bugs.webkit.org/show_bug.cgi?id=233872 Reviewed by Rob Buis. Various places that handle LegacyRenderSVGRoot, also need to handle the LBSE RenderSVGRoot renderer -- this patch plumbs in support for RenderSVGRoot where necessary. Covered by existing tests, no change in behaviour. * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::elementPath const): * page/FrameView.cpp: (WebCore::FrameView::applyOverflowToViewport): * rendering/RenderTreeAsText.cpp: (WebCore::write): * rendering/svg/RenderSVGResource.cpp: (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): * rendering/svg/SVGRenderSupport.cpp: (WebCore::layoutSizeOfNearestViewportChanged): * rendering/svg/SVGRenderTreeAsText.cpp: (WebCore::write): * rendering/svg/SVGRenderTreeAsText.h: * rendering/updating/RenderTreeBuilder.cpp: (WebCore::RenderTreeBuilder::attachInternal): (WebCore::RenderTreeBuilder::detach): * rendering/updating/RenderTreeBuilderSVG.cpp: (WebCore::RenderTreeBuilder::SVG::attach): (WebCore::RenderTreeBuilder::SVG::detach): * rendering/updating/RenderTreeBuilderSVG.h: * svg/SVGElement.cpp: (WebCore::SVGElement::childShouldCreateRenderer const): * svg/SVGSVGElement.cpp: (WebCore::SVGSVGElement::svgAttributeChanged): (WebCore::SVGSVGElement::currentViewBoxRect const): (WebCore::SVGSVGElement::currentViewportSize const): Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp trunk/Source/WebCore/page/FrameView.cpp trunk/Source/WebCore/rendering/RenderTreeAsText.cpp trunk/Source/WebCore/rendering/svg/RenderSVGResource.cpp trunk/Source/WebCore/rendering/svg/SVGRenderSupport.cpp trunk/Source/WebCore/rendering/svg/SVGRenderTreeAsText.cpp trunk/Source/WebCore/rendering/svg/SVGRenderTreeAsText.h trunk/Source/WebCore/rendering/updating/RenderTreeBuilder.cpp trunk/Source/WebCore/rendering/updating/RenderTreeBuilderSVG.cpp trunk/Source/WebCore/rendering/updating/RenderTreeBuilderSVG.h trunk/Source/WebCore/svg/SVGElement.cpp trunk/Source/WebCore/svg/SVGSVGElement.cpp Diff Modified: trunk/Source/WebCore/ChangeLog (286842 => 286843) --- trunk/Source/WebCore/ChangeLog 2021-12-10 11:24:56 UTC (rev 286842) +++ trunk/Source/WebCore/ChangeLog 2021-12-10 12:19:40 UTC (rev 286843) @@ -1,5 +1,45 @@ 2021-12-10 Nikolas Zimmermann +[LBSE] Handle RenderSVGRoot in all places that handle LegacyRenderSVGRoot +https://bugs.webkit.org/show_bug.cgi?id=233872 + +Reviewed by Rob Buis. + +Various places that handle LegacyRenderSVGRoot, also need to handle the +LBSE RenderSVGRoot renderer -- this patch plumbs in support for +RenderSVGRoot where necessary. + +Covered by existing tests, no change in behaviour. + +* accessibility/AccessibilityRenderObject.cpp: +(WebCore::AccessibilityRenderObject::elementPath const): +* page/FrameView.cpp: +(WebCore::FrameView::applyOverflowToViewport): +* rendering/RenderTreeAsText.cpp: +(WebCore::write): +* rendering/svg/RenderSVGResource.cpp: +(WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): +* rendering/svg/SVGRenderSupport.cpp: +(WebCore::layoutSizeOfNearestViewportChanged): +* rendering/svg/SVGRenderTreeAsText.cpp: +(WebCore::write): +* rendering/svg/SVGRenderTreeAsText.h: +* rendering/updating/RenderTreeBuilder.cpp: +(WebCore::RenderTreeBuilder::attachInternal): +(WebCore::RenderTreeBuilder::detach): +* rendering/updating/RenderTreeBuilderSVG.cpp: +(WebCore::RenderTreeBuilder::SVG::attach): +(WebCore::RenderTreeBuilder::SVG::detach): +* rendering/updating/RenderTreeBuilderSVG.h: +* svg/SVGElement.cpp: +(WebCore::SVGElement::childShouldCreateRenderer const): +* svg/SVGSVGElement.cpp: +(WebCore::SVGSVGElement::svgAttributeChanged): +(WebCore::SVGSVGElement::currentViewBoxRect const): +(WebCore::SVGSVGElement::currentViewportSize const): + +2021-12-10 Nikolas Zimmermann + [LBSE] Begin layer-aware RenderSVGRoot implementation https://bugs.webkit.org/show_bug.cgi?id=233863 Modified: trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp (286842 => 286843) --- trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2021-12-10 11:24:56 UTC (rev 286842) +++ trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp 2021-12-10 12:19:40 UTC (rev 286843) @@ -94,6 +94,7 @@ #include "RenderListMarker.h" #include "RenderMathMLBlock.h" #include "RenderMenuList.h" +#include "RenderSVGRoot.h" #include "RenderSVGShape.h" #include "RenderTableCell.h" #include
[webkit-changes] [286842] trunk/Source/WebCore
Title: [286842] trunk/Source/WebCore Revision 286842 Author zimmerm...@webkit.org Date 2021-12-10 03:24:56 -0800 (Fri, 10 Dec 2021) Log Message [LBSE] Begin layer-aware RenderSVGRoot implementation https://bugs.webkit.org/show_bug.cgi?id=233863 Reviewed by Rob Buis. Begin implementing RenderSVGRoot - the renderer for the outermost element - for the layer-based SVG engine (LBSE). Starting with the downstream implementation, all parts were removed that can be upstreamed separated (SVGBoundingBoxComputation, SVGContainerLayout, etc.). This only creates the renderer and integrates it with the build systems. Covered by existing tests, no change in behaviour. * Sources.txt: Add RenderSVGRoot.* to build. * WebCore.xcodeproj/project.pbxproj: Ditto. * platform/graphics/transforms/TransformState.h: (WebCore::TransformState::direction const): Make direction() public. * rendering/svg/RenderSVGRoot.cpp: Added. (WebCore::RenderSVGRoot::RenderSVGRoot): (WebCore::RenderSVGRoot::svgSVGElement const): (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation const): (WebCore::RenderSVGRoot::isEmbeddedThroughSVGImage const): (WebCore::RenderSVGRoot::isEmbeddedThroughFrameContainingSVGDocument const): (WebCore::RenderSVGRoot::computeReplacedLogicalWidth const): (WebCore::RenderSVGRoot::computeReplacedLogicalHeight const): (WebCore::RenderSVGRoot::layout): (WebCore::RenderSVGRoot::shouldApplyViewportClip const): (WebCore::RenderSVGRoot::paint): (WebCore::RenderSVGRoot::paintObject): (WebCore::RenderSVGRoot::paintContents): (WebCore::RenderSVGRoot::willBeDestroyed): (WebCore::RenderSVGRoot::insertedIntoTree): (WebCore::RenderSVGRoot::willBeRemovedFromTree): (WebCore::RenderSVGRoot::styleDidChange): (WebCore::RenderSVGRoot::updateLayerInformation): (WebCore::RenderSVGRoot::updateFromStyle): (WebCore::RenderSVGRoot::clippedOverflowRect const): (WebCore::RenderSVGRoot::computeTransformationMatrices): (WebCore::RenderSVGRoot::nodeAtPoint): (WebCore::RenderSVGRoot::hasRelativeDimensions const): (WebCore::RenderSVGRoot::addResourceForClientInvalidation): (WebCore::RenderSVGRoot::currentViewportSize const): (WebCore::RenderSVGRoot::mapLocalToContainer const): (WebCore::RenderSVGRoot::overflowClipRect const): (WebCore::RenderSVGRoot::applyTransform const): (WebCore::RenderSVGRoot::absoluteRects const): (WebCore::RenderSVGRoot::absoluteQuads const): * rendering/svg/RenderSVGRoot.h: Added. Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Sources.txt trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/platform/graphics/transforms/TransformState.h Added Paths trunk/Source/WebCore/rendering/svg/RenderSVGRoot.cpp trunk/Source/WebCore/rendering/svg/RenderSVGRoot.h Diff Modified: trunk/Source/WebCore/ChangeLog (286841 => 286842) --- trunk/Source/WebCore/ChangeLog 2021-12-10 10:39:28 UTC (rev 286841) +++ trunk/Source/WebCore/ChangeLog 2021-12-10 11:24:56 UTC (rev 286842) @@ -1,3 +1,54 @@ +2021-12-10 Nikolas Zimmermann + +[LBSE] Begin layer-aware RenderSVGRoot implementation +https://bugs.webkit.org/show_bug.cgi?id=233863 + +Reviewed by Rob Buis. + +Begin implementing RenderSVGRoot - the renderer for the outermost element - +for the layer-based SVG engine (LBSE). Starting with the downstream implementation, +all parts were removed that can be upstreamed separated (SVGBoundingBoxComputation, +SVGContainerLayout, etc.). This only creates the renderer and integrates it with +the build systems. + +Covered by existing tests, no change in behaviour. + +* Sources.txt: Add RenderSVGRoot.* to build. +* WebCore.xcodeproj/project.pbxproj: Ditto. +* platform/graphics/transforms/TransformState.h: +(WebCore::TransformState::direction const): Make direction() public. +* rendering/svg/RenderSVGRoot.cpp: Added. +(WebCore::RenderSVGRoot::RenderSVGRoot): +(WebCore::RenderSVGRoot::svgSVGElement const): +(WebCore::RenderSVGRoot::computeIntrinsicRatioInformation const): +(WebCore::RenderSVGRoot::isEmbeddedThroughSVGImage const): +(WebCore::RenderSVGRoot::isEmbeddedThroughFrameContainingSVGDocument const): +(WebCore::RenderSVGRoot::computeReplacedLogicalWidth const): +(WebCore::RenderSVGRoot::computeReplacedLogicalHeight const): +(WebCore::RenderSVGRoot::layout): +(WebCore::RenderSVGRoot::shouldApplyViewportClip const): +(WebCore::RenderSVGRoot::paint): +(WebCore::RenderSVGRoot::paintObject): +(WebCore::RenderSVGRoot::paintContents): +(WebCore::RenderSVGRoot::willBeDestroyed): +(WebCore::RenderSVGRoot::insertedIntoTree): +(WebCore::RenderSVGRoot::willBeRemovedFromTree): +(WebCore::RenderSVGRoot::styleDidChange): +(WebCore::RenderSVGRoot::updateLayerInformation): +(WebCore::RenderSVGRoot::updateFromStyle): +
[webkit-changes] [286841] trunk/Source/WebKit
Title: [286841] trunk/Source/WebKit Revision 286841 Author you...@apple.com Date 2021-12-10 02:39:28 -0800 (Fri, 10 Dec 2021) Log Message REGRESSION (iOS 15): Safari loses Network access when establishing WebRTC session https://bugs.webkit.org/show_bug.cgi?id=233752 Reviewed by Geoffrey Garen. When we get an error from a UDP nw socket, we do not need to stop reading and close it. We can just log the error and continue reading as the error might get fixed later on. Not easily testable. * NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm: Modified Paths trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm Diff Modified: trunk/Source/WebKit/ChangeLog (286840 => 286841) --- trunk/Source/WebKit/ChangeLog 2021-12-10 10:30:48 UTC (rev 286840) +++ trunk/Source/WebKit/ChangeLog 2021-12-10 10:39:28 UTC (rev 286841) @@ -1,3 +1,18 @@ +2021-12-10 Youenn Fablet + +REGRESSION (iOS 15): Safari loses Network access when establishing WebRTC session +https://bugs.webkit.org/show_bug.cgi?id=233752 + + +Reviewed by Geoffrey Garen. + +When we get an error from a UDP nw socket, we do not need to stop reading and close it. +We can just log the error and continue reading as the error might get fixed later on. + +Not easily testable. + +* NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm: + 2021-12-10 Kimmo Kinnunen IOSurface memory attribution is hard to use in constructors Modified: trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm (286840 => 286841) --- trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm 2021-12-10 10:30:48 UTC (rev 286840) +++ trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm 2021-12-10 10:39:28 UTC (rev 286841) @@ -288,10 +288,8 @@ } if (isComplete && context && nw_content_context_get_is_final(context)) return; -if (error) { -RELEASE_LOG_ERROR(WebRTC, "NetworkRTCUDPSocketCocoaConnections failed processing UDP data with error %d", nw_error_get_error_code(error)); -return; -} + +RELEASE_LOG_ERROR_IF(!!error, WebRTC, "NetworkRTCUDPSocketCocoaConnections failed processing UDP data with error %d", nw_error_get_error_code(error)); processUDPData(WTFMove(nwConnection), WTFMove(processData)); }).get()); } ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286840] trunk
Title: [286840] trunk Revision 286840 Author commit-qu...@webkit.org Date 2021-12-10 02:30:48 -0800 (Fri, 10 Dec 2021) Log Message Handle TerminationException in WebCore::ReadableStream::create() https://bugs.webkit.org/show_bug.cgi?id=233061 Patch by Frederic Wang on 2021-12-10 Reviewed by Darin Adler. Source/WebCore: Test: streams/readable-stream-create-after-worker-terminates-crash.html * bindings/js/ReadableStream.cpp: (WebCore::ReadableStream::create): Do not try immediately casting the constructor value to an object, since it is undefined when a termination exception is thrown. LayoutTests: Add non-regression test. * streams/readable-stream-create-after-worker-terminates-crash-expected.txt: Added. * streams/readable-stream-create-after-worker-terminates-crash.html: Added. Modified Paths trunk/LayoutTests/ChangeLog trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/ReadableStream.cpp Added Paths trunk/LayoutTests/streams/readable-stream-create-after-worker-terminates-crash-expected.txt trunk/LayoutTests/streams/readable-stream-create-after-worker-terminates-crash.html Diff Modified: trunk/LayoutTests/ChangeLog (286839 => 286840) --- trunk/LayoutTests/ChangeLog 2021-12-10 10:18:50 UTC (rev 286839) +++ trunk/LayoutTests/ChangeLog 2021-12-10 10:30:48 UTC (rev 286840) @@ -1,3 +1,15 @@ +2021-12-10 Frederic Wang + +Handle TerminationException in WebCore::ReadableStream::create() +https://bugs.webkit.org/show_bug.cgi?id=233061 + +Reviewed by Darin Adler. + +Add non-regression test. + +* streams/readable-stream-create-after-worker-terminates-crash-expected.txt: Added. +* streams/readable-stream-create-after-worker-terminates-crash.html: Added. + 2021-12-09 Antoine Quint [Model] Add load and error events to distinguish resource load from model readiness Added: trunk/LayoutTests/streams/readable-stream-create-after-worker-terminates-crash-expected.txt (0 => 286840) --- trunk/LayoutTests/streams/readable-stream-create-after-worker-terminates-crash-expected.txt (rev 0) +++ trunk/LayoutTests/streams/readable-stream-create-after-worker-terminates-crash-expected.txt 2021-12-10 10:30:48 UTC (rev 286840) @@ -0,0 +1,2 @@ +CONSOLE MESSAGE: This test PASS if it does not crash. + Added: trunk/LayoutTests/streams/readable-stream-create-after-worker-terminates-crash.html (0 => 286840) --- trunk/LayoutTests/streams/readable-stream-create-after-worker-terminates-crash.html (rev 0) +++ trunk/LayoutTests/streams/readable-stream-create-after-worker-terminates-crash.html 2021-12-10 10:30:48 UTC (rev 286840) @@ -0,0 +1,19 @@ + + async function foo() { +let worker = new Worker('data:,'); +GCController.collect(); +if (window.caches) + await caches.has('a'); +new RTCRtpScriptTransform(worker, {}); +worker.terminate(); + } + + _onload_ = () => { +if (window.testRunner) + testRunner.dumpAsText(); +console.log('This test PASS if it does not crash.') +let s0 = document.createElement('script'); +s0.src = "" (var i = 10; i; i--)(${foo.toString()})();`; +document.head.appendChild(s0); + }; + Modified: trunk/Source/WebCore/ChangeLog (286839 => 286840) --- trunk/Source/WebCore/ChangeLog 2021-12-10 10:18:50 UTC (rev 286839) +++ trunk/Source/WebCore/ChangeLog 2021-12-10 10:30:48 UTC (rev 286840) @@ -1,3 +1,16 @@ +2021-12-10 Frederic Wang + +Handle TerminationException in WebCore::ReadableStream::create() +https://bugs.webkit.org/show_bug.cgi?id=233061 + +Reviewed by Darin Adler. + +Test: streams/readable-stream-create-after-worker-terminates-crash.html + +* bindings/js/ReadableStream.cpp: +(WebCore::ReadableStream::create): Do not try immediately casting the constructor value to an +object, since it is undefined when a termination exception is thrown. + 2021-12-10 Kimmo Kinnunen IOSurface memory attribution is hard to use in constructors Modified: trunk/Source/WebCore/bindings/js/ReadableStream.cpp (286839 => 286840) --- trunk/Source/WebCore/bindings/js/ReadableStream.cpp 2021-12-10 10:18:50 UTC (rev 286839) +++ trunk/Source/WebCore/bindings/js/ReadableStream.cpp 2021-12-10 10:30:48 UTC (rev 286840) @@ -45,8 +45,9 @@ auto& clientData = *static_cast(vm.clientData); auto& globalObject = *JSC::jsCast(); -auto* constructor = JSC::asObject(globalObject.get(, clientData.builtinNames().ReadableStreamPrivateName())); +auto constructorValue = globalObject.get(, clientData.builtinNames().ReadableStreamPrivateName()); RETURN_IF_EXCEPTION(scope, Exception { ExistingExceptionError }); +auto constructor = JSC::asObject(constructorValue); auto constructData = getConstructData(vm, constructor); ASSERT(constructData.type != CallData::Type::None); ___ webkit-changes mailing list
[webkit-changes] [286839] trunk
Title: [286839] trunk Revision 286839 Author cl...@igalia.com Date 2021-12-10 02:18:50 -0800 (Fri, 10 Dec 2021) Log Message Change contributor status of Chris Lord from committer to reviewer https://bugs.webkit.org/show_bug.cgi?id=234136 Unreviewed. * metadata/contributors.json: Modified Paths trunk/ChangeLog trunk/metadata/contributors.json Diff Modified: trunk/ChangeLog (286838 => 286839) --- trunk/ChangeLog 2021-12-10 08:24:30 UTC (rev 286838) +++ trunk/ChangeLog 2021-12-10 10:18:50 UTC (rev 286839) @@ -1,3 +1,12 @@ +2021-12-10 Chris Lord + +Change contributor status of Chris Lord from committer to reviewer +https://bugs.webkit.org/show_bug.cgi?id=234136 + +Unreviewed. + +* metadata/contributors.json: + 2021-12-09 Lauro Moura Adds Lauro Moura's GitHub username to constributors.json Modified: trunk/metadata/contributors.json (286838 => 286839) --- trunk/metadata/contributors.json 2021-12-10 08:24:30 UTC (rev 286838) +++ trunk/metadata/contributors.json 2021-12-10 10:18:50 UTC (rev 286839) @@ -1485,7 +1485,7 @@ "nicks" : [ "cwiiis" ], - "status" : "committer" + "status" : "reviewer" }, { "emails" : [ ___ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes
[webkit-changes] [286838] trunk
Title: [286838] trunk Revision 286838 Author commit-qu...@webkit.org Date 2021-12-10 00:24:30 -0800 (Fri, 10 Dec 2021) Log Message IOSurface memory attribution is hard to use in constructors https://bugs.webkit.org/show_bug.cgi?id=232988 Patch by Kimmo Kinnunen on 2021-12-10 Reviewed by Chris Dumez. Source/WebCore: Add WebCore::ProcessIdentity type that can be used to communicate memory attribution. For non-Cocoa ports, this is nullptr. This is used in WebCore to set the memory attribution of IOSurface and objects that hold IOSurfaces. This is instantiated in WebKit. Currently the only useful way to instantiate ProcessIdentity is by receiving the ProcessIdentity as a message and create it this way for the sender process. No new tests, refactor. * Headers.cmake: * Sources.txt: * WebCore.xcodeproj/project.pbxproj: * platform/Logging.h: Add WebCore Process log tag since the code moved from WebKit to ProcessIdentity used that tag to log. * platform/ProcessIdentity.cpp: Added. (WebCore::ProcessIdentity::ProcessIdentity): (WebCore::ProcessIdentity::taskIdToken const): (WebCore::ProcessIdentity::sendRight const): (WebCore::ProcessIdentity::operator bool const): * platform/ProcessIdentity.h: Added. Add the ProcessIdentity type that can be used to communicate memory attribution. * platform/graphics/RemoteVideoSample.h: (WebCore::RemoteVideoSample::setOwnershipIdentity): * platform/graphics/angle/GraphicsContextGLANGLE.h: * platform/graphics/cocoa/GraphicsContextGLCocoa.h: * platform/graphics/cocoa/GraphicsContextGLCocoa.mm: (WebCore::GraphicsContextGLCocoa::create): (WebCore::GraphicsContextGLCocoa::GraphicsContextGLCocoa): (WebCore::GraphicsContextGLANGLE::allocateAndBindDisplayBufferBacking): Add an example use where the constructor takes the memory attribution token. This may be needed in the future when the token is used as a parameter in the ANGLE context creation. Use the token in creating the IOSurface. This fixes a bug where WebGL back buffers would not be attributed until they were sent to WP. * platform/graphics/cocoa/IOSurface.h: * platform/graphics/cocoa/IOSurface.mm: (WebCore::IOSurface::setOwnershipIdentity): * platform/graphics/cocoa/WebProcessGraphicsContextGLCocoa.mm: Source/WebKit: Remove ifdefs and direct use of task_id_token_t. Instead, use WebCore::ProcessIdentifier. This way the cross-platform code is easier to author. * GPUProcess/GPUConnectionToWebProcess.cpp: (WebKit::GPUConnectionToWebProcess::GPUConnectionToWebProcess): * GPUProcess/GPUConnectionToWebProcess.h: (WebKit::GPUConnectionToWebProcess::webProcessIdentity const): (WebKit::GPUConnectionToWebProcess::webProcessIdentityToken const): Deleted. * GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp: (WebKit::RemoteGraphicsContextGLCocoa::RemoteGraphicsContextGLCocoa): (WebKit::RemoteGraphicsContextGLCocoa::platformWorkQueueInitialize): (WebKit::RemoteGraphicsContextGLCocoa::prepareForDisplay): * GPUProcess/graphics/RemoteImageBuffer.h: (WebKit::RemoteImageBuffer::setOwnershipIdentity): (WebKit::RemoteImageBuffer::setProcessOwnership): Deleted. * GPUProcess/graphics/RemoteRenderingBackend.cpp: (WebKit::RemoteRenderingBackend::RemoteRenderingBackend): (WebKit::RemoteRenderingBackend::createImageBufferWithQualifiedIdentifier): * GPUProcess/graphics/RemoteRenderingBackend.h: * GPUProcess/webrtc/LibWebRTCCodecsProxy.mm: (WebKit::Function Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Headers.cmake trunk/Source/WebCore/Sources.txt trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj trunk/Source/WebCore/platform/Logging.h trunk/Source/WebCore/platform/graphics/RemoteVideoSample.h trunk/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.h trunk/Source/WebCore/platform/graphics/cocoa/GraphicsContextGLCocoa.mm trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.h trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm trunk/Source/WebCore/platform/graphics/cocoa/WebProcessGraphicsContextGLCocoa.mm trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h trunk/Source/WebKit/GPUProcess/graphics/RemoteGraphicsContextGLCocoa.cpp trunk/Source/WebKit/GPUProcess/graphics/RemoteImageBuffer.h trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.cpp trunk/Source/WebKit/GPUProcess/graphics/RemoteRenderingBackend.h trunk/Source/WebKit/GPUProcess/webrtc/LibWebRTCCodecsProxy.mm trunk/Source/WebKit/Shared/GPUProcessConnectionParameters.h trunk/Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.cpp trunk/Source/WebKit/UIProcess/Cocoa/UserMediaCaptureManagerProxy.h trunk/Source/WebKit/UIProcess/WebProcessProxy.cpp trunk/Source/WebKit/WebProcess/GPU/graphics/ImageBufferShareableBitmapBackend.h trunk/Source/WebKit/WebProcess/GPU/graphics/cocoa/ImageBufferShareableMappedIOSurfaceBackend.cpp
[webkit-changes] [286837] trunk/Source
Title: [286837] trunk/Source Revision 286837 Author ape...@igalia.com Date 2021-12-10 00:22:37 -0800 (Fri, 10 Dec 2021) Log Message Non-unified build fixes, mid December 2021 edition https://bugs.webkit.org/show_bug.cgi?id=234106 Unreviewed non-unified build fixes. Source/_javascript_Core: * wasm/js/WasmToJS.h: Remove unneeded forward declaration of CallLinkInfo, add forward declaration of OptimizingCallLinkInfo. Source/WebCore: No new tests needed. * bindings/js/JSDOMConvertCallbacks.h: Add missing JSDOMGlobalObject.h header. * css/CSSImportRule.cpp: Add missing CSSMarkup.h header. * css/CSSLayerStatementRule.cpp: Add missinig CSSLayerBlockRule.h header. * platform/graphics/ColorInterpolation.cpp: Remove unneeded #pragma once. * platform/graphics/ColorInterpolation.h: Add missing header. * platform/graphics/displaylists/DisplayListItemBuffer.cpp: Add missing Filter.h header. * platform/graphics/displaylists/DisplayListRecorderImpl.cpp: Ditto. * platform/graphics/filters/FilterFunction.cpp: Add missing ImageBuffer.h header. * platform/graphics/filters/FilterOperation.cpp: Ditto. * platform/graphics/filters/FilterOperations.cpp: Ditto. * platform/graphics/filters/SourceAlpha.cpp: Ditto. * platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.cpp: Ditto. * platform/graphics/filters/software/SourceGraphicSoftwareApplier.cpp: Add missing FilterImage.h header. * svg/SVGFEFuncAElement.cpp: Add missing ImageBuffer.h header. * svg/SVGFEFuncBElement.cpp: Ditto. * svg/SVGFEFuncGElement.cpp: Ditto. * svg/SVGFEFuncRElement.cpp: Ditto. * svg/SVGFEPointLightElement.cpp: Ditto. * svg/SVGFESpotLightElement.cpp: Ditto. Source/WebKit: * NetworkProcess/storage/OriginStorageManager.cpp: Add missing WebsiteDataType.h and wtf/FileSystem.h headers. Modified Paths trunk/Source/_javascript_Core/ChangeLog trunk/Source/_javascript_Core/wasm/js/WasmToJS.h trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/bindings/js/JSDOMConvertCallbacks.h trunk/Source/WebCore/css/CSSImportRule.cpp trunk/Source/WebCore/css/CSSLayerStatementRule.cpp trunk/Source/WebCore/platform/graphics/ColorInterpolation.cpp trunk/Source/WebCore/platform/graphics/ColorInterpolation.h trunk/Source/WebCore/platform/graphics/displaylists/DisplayListItemBuffer.cpp trunk/Source/WebCore/platform/graphics/displaylists/DisplayListRecorderImpl.cpp trunk/Source/WebCore/platform/graphics/filters/FilterFunction.cpp trunk/Source/WebCore/platform/graphics/filters/FilterOperation.cpp trunk/Source/WebCore/platform/graphics/filters/FilterOperations.cpp trunk/Source/WebCore/platform/graphics/filters/SourceAlpha.cpp trunk/Source/WebCore/platform/graphics/filters/software/FEGaussianBlurSoftwareApplier.cpp trunk/Source/WebCore/platform/graphics/filters/software/SourceGraphicSoftwareApplier.cpp trunk/Source/WebCore/svg/SVGFEFuncAElement.cpp trunk/Source/WebCore/svg/SVGFEFuncBElement.cpp trunk/Source/WebCore/svg/SVGFEFuncGElement.cpp trunk/Source/WebCore/svg/SVGFEFuncRElement.cpp trunk/Source/WebCore/svg/SVGFEPointLightElement.cpp trunk/Source/WebCore/svg/SVGFESpotLightElement.cpp trunk/Source/WebKit/ChangeLog trunk/Source/WebKit/NetworkProcess/storage/OriginStorageManager.cpp Diff Modified: trunk/Source/_javascript_Core/ChangeLog (286836 => 286837) --- trunk/Source/_javascript_Core/ChangeLog 2021-12-10 08:15:09 UTC (rev 286836) +++ trunk/Source/_javascript_Core/ChangeLog 2021-12-10 08:22:37 UTC (rev 286837) @@ -1,3 +1,13 @@ +2021-12-10 Adrian Perez de Castro + +Non-unified build fixes, mid December 2021 edition +https://bugs.webkit.org/show_bug.cgi?id=234106 + +Unreviewed non-unified build fixes. + +* wasm/js/WasmToJS.h: Remove unneeded forward declaration of CallLinkInfo, add forward +declaration of OptimizingCallLinkInfo. + 2021-12-09 Alex Christensen Prepare for transition to C++20 Modified: trunk/Source/_javascript_Core/wasm/js/WasmToJS.h (286836 => 286837) --- trunk/Source/_javascript_Core/wasm/js/WasmToJS.h 2021-12-10 08:15:09 UTC (rev 286836) +++ trunk/Source/_javascript_Core/wasm/js/WasmToJS.h 2021-12-10 08:22:37 UTC (rev 286837) @@ -35,7 +35,7 @@ namespace JSC { -class CallLinkInfo; +class OptimizingCallLinkInfo; class VM; namespace Wasm { Modified: trunk/Source/WebCore/ChangeLog (286836 => 286837) --- trunk/Source/WebCore/ChangeLog 2021-12-10 08:15:09 UTC (rev 286836) +++ trunk/Source/WebCore/ChangeLog 2021-12-10 08:22:37 UTC (rev 286837) @@ -1,3 +1,33 @@ +2021-12-10 Adrian Perez de Castro + +Non-unified build fixes, mid December 2021 edition +https://bugs.webkit.org/show_bug.cgi?id=234106 + +Unreviewed non-unified build fixes. + +No new tests needed. + +* bindings/js/JSDOMConvertCallbacks.h: Add missing JSDOMGlobalObject.h header. +* css/CSSImportRule.cpp: Add missing CSSMarkup.h header. +* css/CSSLayerStatementRule.cpp: Add missinig CSSLayerBlockRule.h header. +*
[webkit-changes] [286836] trunk
Title: [286836] trunk Revision 286836 Author grao...@webkit.org Date 2021-12-10 00:15:09 -0800 (Fri, 10 Dec 2021) Log Message [Model] Add load and error events to distinguish resource load from model readiness https://bugs.webkit.org/show_bug.cgi?id=233706 rdar://85922697 Reviewed by Chris Dumez and Dean Jackson. Source/WebCore: Test: model-element/model-element-error-and-load-events.html Prior to this patch, elements had a "ready" promise which resolved once the resource had been loaded. However, this promise should be used when the is fully ready, and this is done on macOS and iOS asynchronously after the resource has been loaded by the supporting ARQL framework. So we need a way to monitor success or failure of the resource load specifically. To that end, and matching the element, we dispatch "load" and "error" events on elements and add a "complete" property to indicate whether the resource is loaded. Meanwhile, the "ready" promise is now resolved when the model is fully loaded by the supporting framework, indicating that further APIs are safe to use. Since creating the support ARQL object for macOS and iOS also requires the element's renderer being available, we opt into "custom style resolve callbacks" so that we may implement didAttachRenderers() on HTMLModelElement and keep track of renderer availability before attempting to create the ModelPlayer. * Modules/model-element/HTMLModelElement.cpp: (WebCore::HTMLModelElement::HTMLModelElement): (WebCore::HTMLModelElement::create): (WebCore::HTMLModelElement::setSourceURL): (WebCore::HTMLModelElement::didAttachRenderers): (WebCore::HTMLModelElement::notifyFinished): (WebCore::HTMLModelElement::modelDidChange): (WebCore::HTMLModelElement::createModelPlayer): (WebCore::HTMLModelElement::didFinishLoading): (WebCore::HTMLModelElement::didFailLoading): (WebCore::HTMLModelElement::activeDOMObjectName const): (WebCore::HTMLModelElement::virtualHasPendingActivity const): * Modules/model-element/HTMLModelElement.h: * Modules/model-element/HTMLModelElement.idl: Tools: Use the "load" event instead of the "ready" promise for this test which only requires monitoring the resource being loaded. * TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm: (TestWebKitAPI::TEST): LayoutTests: Remove existing tests around resource loading and recreate them in terms of "load" and "error" events in model-element/model-element-error-and-load-events.html and in terms of the ready promise in model-element/model-element-ready.html. Other tests using model.ready for other purposes are also rewritten using events. * model-element/model-element-contents-layer-updates-with-clipping.html: * model-element/model-element-contents-layer-updates.html: * model-element/model-element-error-and-load-events-expected.txt: Added. * model-element/model-element-error-and-load-events.html: Added. * model-element/model-element-graphics-layers-opacity.html: * model-element/model-element-graphics-layers.html: * model-element/model-element-ready-expected.txt: * model-element/model-element-ready-load-aborted-expected.txt: Removed. * model-element/model-element-ready-load-aborted.html: Removed. * model-element/model-element-ready-load-failed-expected.txt: Removed. * model-element/model-element-ready-load-failed.html: Removed. * model-element/model-element-ready.html: * model-element/resources/model-element-test-utils.js: Added. (const.createModelAndSource): * platform/ios-simulator/TestExpectations: * platform/mac/TestExpectations: Modified Paths trunk/LayoutTests/ChangeLog trunk/LayoutTests/model-element/model-element-contents-layer-updates-with-clipping.html trunk/LayoutTests/model-element/model-element-contents-layer-updates.html trunk/LayoutTests/model-element/model-element-graphics-layers-opacity.html trunk/LayoutTests/model-element/model-element-graphics-layers.html trunk/LayoutTests/model-element/model-element-ready-expected.txt trunk/LayoutTests/model-element/model-element-ready.html trunk/LayoutTests/platform/ios-simulator/TestExpectations trunk/LayoutTests/platform/mac/TestExpectations trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/Modules/model-element/HTMLModelElement.cpp trunk/Source/WebCore/Modules/model-element/HTMLModelElement.h trunk/Source/WebCore/Modules/model-element/HTMLModelElement.idl trunk/Tools/ChangeLog trunk/Tools/TestWebKitAPI/Tests/ios/DragAndDropTestsIOS.mm Added Paths trunk/LayoutTests/model-element/model-element-error-and-load-events-expected.txt trunk/LayoutTests/model-element/model-element-error-and-load-events.html trunk/LayoutTests/model-element/resources/model-element-test-utils.js Removed Paths trunk/LayoutTests/model-element/model-element-ready-load-aborted-expected.txt trunk/LayoutTests/model-element/model-element-ready-load-aborted.html trunk/LayoutTests/model-element/model-element-ready-load-failed-expected.txt trunk/LayoutTests/model-element/model-element-ready-load-failed.html Diff Modified: trunk/LayoutTests/ChangeLog
[webkit-changes] [286835] trunk/Source/WebCore
Title: [286835] trunk/Source/WebCore Revision 286835 Author s...@apple.com Date 2021-12-10 00:11:25 -0800 (Fri, 10 Dec 2021) Log Message [GPU Process] [Filters] Enable Filter rendering in GPU Process https://bugs.webkit.org/show_bug.cgi?id=233989 Reviewed by Cameron McCormack. This will move applying the CSSFilterImageValue, the CSSFilter and the SVGFilter to GPUProcess. * css/CSSFilterImageValue.cpp: (WebCore::CSSFilterImageValue::image): * rendering/RenderLayerFilters.cpp: (WebCore::RenderLayerFilters::allocateBackingStoreIfNeeded): * rendering/RenderMenuList.cpp: (RenderMenuList::hostWindow const): Change the implementation to call RenderObject::hostWindow() since it is now defined to be virtual in the two base classes. * rendering/RenderObject.cpp: (WebCore::RenderObject::hostWindow const): * rendering/RenderObject.h: Add the helper function RenderObject::hostWindow() since it is being requested in many places because of creating ImageBuffer for GPUProcess. * rendering/RenderSearchField.cpp: (WebCore::RenderSearchField::hostWindow const): Change the implementation to call RenderObject::hostWindow() since it is now defined to be virtual in the two base classes. * rendering/svg/RenderSVGResourceClipper.cpp: (WebCore::RenderSVGResourceClipper::applyClippingToContext): * rendering/svg/RenderSVGResourceFilter.cpp: (WebCore::RenderSVGResourceFilter::applyResource): (WebCore::RenderSVGResourceFilter::postApplyResource): * rendering/svg/RenderSVGResourceMasker.cpp: (WebCore::RenderSVGResourceMasker::applyResource): filterData.sourceGraphicBuffer will have to stay around because caching the filter result has not been implemented yet. * rendering/svg/SVGRenderingContext.cpp: (WebCore::SVGRenderingContext::createImageBuffer): * rendering/svg/SVGRenderingContext.h: Modified Paths trunk/Source/WebCore/ChangeLog trunk/Source/WebCore/css/CSSFilterImageValue.cpp trunk/Source/WebCore/rendering/RenderLayerFilters.cpp trunk/Source/WebCore/rendering/RenderMenuList.cpp trunk/Source/WebCore/rendering/RenderObject.cpp trunk/Source/WebCore/rendering/RenderObject.h trunk/Source/WebCore/rendering/RenderSearchField.cpp trunk/Source/WebCore/rendering/svg/RenderSVGResourceClipper.cpp trunk/Source/WebCore/rendering/svg/RenderSVGResourceFilter.cpp trunk/Source/WebCore/rendering/svg/RenderSVGResourceMasker.cpp trunk/Source/WebCore/rendering/svg/SVGRenderingContext.cpp trunk/Source/WebCore/rendering/svg/SVGRenderingContext.h Diff Modified: trunk/Source/WebCore/ChangeLog (286834 => 286835) --- trunk/Source/WebCore/ChangeLog 2021-12-10 06:55:24 UTC (rev 286834) +++ trunk/Source/WebCore/ChangeLog 2021-12-10 08:11:25 UTC (rev 286835) @@ -1,3 +1,47 @@ +2021-12-10 Said Abou-Hallawa + +[GPU Process] [Filters] Enable Filter rendering in GPU Process +https://bugs.webkit.org/show_bug.cgi?id=233989 + +Reviewed by Cameron McCormack. + +This will move applying the CSSFilterImageValue, the CSSFilter and the +SVGFilter to GPUProcess. + +* css/CSSFilterImageValue.cpp: +(WebCore::CSSFilterImageValue::image): +* rendering/RenderLayerFilters.cpp: +(WebCore::RenderLayerFilters::allocateBackingStoreIfNeeded): +* rendering/RenderMenuList.cpp: +(RenderMenuList::hostWindow const): +Change the implementation to call RenderObject::hostWindow() since it is +now defined to be virtual in the two base classes. + +* rendering/RenderObject.cpp: +(WebCore::RenderObject::hostWindow const): +* rendering/RenderObject.h: +Add the helper function RenderObject::hostWindow() since it is being +requested in many places because of creating ImageBuffer for GPUProcess. + +* rendering/RenderSearchField.cpp: +(WebCore::RenderSearchField::hostWindow const): +Change the implementation to call RenderObject::hostWindow() since it is +now defined to be virtual in the two base classes. + +* rendering/svg/RenderSVGResourceClipper.cpp: +(WebCore::RenderSVGResourceClipper::applyClippingToContext): +* rendering/svg/RenderSVGResourceFilter.cpp: +(WebCore::RenderSVGResourceFilter::applyResource): +(WebCore::RenderSVGResourceFilter::postApplyResource): +* rendering/svg/RenderSVGResourceMasker.cpp: +(WebCore::RenderSVGResourceMasker::applyResource): +filterData.sourceGraphicBuffer will have to stay around because caching +the filter result has not been implemented yet. + +* rendering/svg/SVGRenderingContext.cpp: +(WebCore::SVGRenderingContext::createImageBuffer): +* rendering/svg/SVGRenderingContext.h: + 2021-12-09 Wenson Hsieh Add a new WKWebpagePreferences SPI for modal container observation policies Modified: trunk/Source/WebCore/css/CSSFilterImageValue.cpp (286834 => 286835) --- trunk/Source/WebCore/css/CSSFilterImageValue.cpp 2021-12-10 06:55:24 UTC (rev 286834) +++