[webkit-changes] [286905] trunk/Source

2021-12-10 Thread simon . fraser
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

2021-12-10 Thread cdumez
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/

2021-12-10 Thread kocsen_chung
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

2021-12-10 Thread kocsen_chung
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

2021-12-10 Thread ysuzuki
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

2021-12-10 Thread timothy_horton
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

2021-12-10 Thread kpiddington
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

2021-12-10 Thread shvaikalesh
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

2021-12-10 Thread jh718 . park
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

2021-12-10 Thread msaboff
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

2021-12-10 Thread commit-queue
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

2021-12-10 Thread drousso
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

2021-12-10 Thread mikhail
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

2021-12-10 Thread ysuzuki
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

2021-12-10 Thread rcaliman
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

2021-12-10 Thread mmaxfield
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/

2021-12-10 Thread alancoon
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

2021-12-10 Thread megan_gardner
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

2021-12-10 Thread bburg
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

2021-12-10 Thread nvasilyev
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

2021-12-10 Thread alancoon
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

2021-12-10 Thread don . olmstead
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

2021-12-10 Thread mikhail
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

2021-12-10 Thread ysuzuki
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

2021-12-10 Thread jenner
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

2021-12-10 Thread akeerthi
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

2021-12-10 Thread beidson
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

2021-12-10 Thread graouts
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

2021-12-10 Thread rcaliman
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

2021-12-10 Thread nvasilyev
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

2021-12-10 Thread gsnedders
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

2021-12-10 Thread shvaikalesh
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/

2021-12-10 Thread alancoon
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

2021-12-10 Thread shvaikalesh
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

2021-12-10 Thread drousso
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

2021-12-10 Thread cdumez
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

2021-12-10 Thread achristensen
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

2021-12-10 Thread said
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

2021-12-10 Thread commit-queue
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

2021-12-10 Thread pvollan
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

2021-12-10 Thread said
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

2021-12-10 Thread alancoon
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

2021-12-10 Thread alancoon
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

2021-12-10 Thread drousso
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

2021-12-10 Thread pgriffis
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

2021-12-10 Thread pvollan
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

2021-12-10 Thread darin
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

2021-12-10 Thread commit-queue
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

2021-12-10 Thread tzagallo
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

2021-12-10 Thread cdumez
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

2021-12-10 Thread youenn
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

2021-12-10 Thread pgriffis
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

2021-12-10 Thread pvollan
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

2021-12-10 Thread zalan
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

2021-12-10 Thread cdumez
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

2021-12-10 Thread keith_miller
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

2021-12-10 Thread zalan
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

2021-12-10 Thread rego
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

2021-12-10 Thread zimmermann
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

2021-12-10 Thread antti
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

2021-12-10 Thread rcaliman
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

2021-12-10 Thread zimmermann
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

2021-12-10 Thread zimmermann
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

2021-12-10 Thread youenn
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

2021-12-10 Thread commit-queue
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

2021-12-10 Thread clord
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

2021-12-10 Thread commit-queue
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

2021-12-10 Thread aperez
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

2021-12-10 Thread graouts
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

2021-12-10 Thread said
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)
+++