[webkit-changes] [286483] trunk/Source/WebKit

2021-12-02 Thread timothy_horton
Title: [286483] trunk/Source/WebKit








Revision 286483
Author timothy_hor...@apple.com
Date 2021-12-02 23:25:20 -0800 (Thu, 02 Dec 2021)


Log Message
MomentumEventDispatcher curve sometimes doesn't match the system curve
https://bugs.webkit.org/show_bug.cgi?id=233801


Reviewed by Simon Fraser.

Three small changes to get us closer to the system curve:

1) Fetch the momentum event dispatch interval from the system, and use
it to scale the momentum start event's delta (which we use as our
initial velocity) into the "ideal" curve's frame rate (which is always
60fps regardless).

2) Back-date the animation start time to the fingers-down phase end event,
so that the momentum start phase has a delta. This seems to match what
the system does.

3) Switch to MonotonicTime for the animation time, since it doesn't need
to be in the same timebase as events (which are oddly in WallTime), and
certainly should be monotonic.

* Shared/ScrollingAccelerationCurve.cpp:
(WebKit::ScrollingAccelerationCurve::ScrollingAccelerationCurve):
(WebKit::ScrollingAccelerationCurve::interpolate):
(WebKit::ScrollingAccelerationCurve::encode const):
(WebKit::ScrollingAccelerationCurve::decode):
(WebKit::operator<<):
* Shared/ScrollingAccelerationCurve.h:
(WebKit::ScrollingAccelerationCurve::frameRate):
(WebKit::ScrollingAccelerationCurve::operator== const):
* Shared/mac/ScrollingAccelerationCurveMac.mm:
(WebKit::fromIOHIDCurve):
(WebKit::fromIOHIDCurveArrayWithAcceleration):
(WebKit::fromIOHIDDevice):
Fetch and propagate the dispatch frame rate. This isn't *really* a
ScrollingAccelerationCurve property, but neither is `resolution`;
this is just currently the only place we look up HID properties
and push them to the Web Content process; some re-architecture is
warranted here in the future.

* WebProcess/WebPage/MomentumEventDispatcher.cpp:
(WebKit::MomentumEventDispatcher::handleWheelEvent):
Keep track of the last fingers-down phase ended event timestamp.

(WebKit::MomentumEventDispatcher::didStartMomentumPhase):
Backdate the start time so that the first event has the appropriate delta.
Divide out the dispatch frame rate so that the initial velocity is
as if the curve were running at 60fps (since we *will* run it at 60fps and interpolate).

(WebKit::MomentumEventDispatcher::didEndMomentumPhase):
(WebKit::MomentumEventDispatcher::consumeDeltaForTime):
(WebKit::MomentumEventDispatcher::displayWasRefreshed):
Factor the consume-a-delta-from-the-ideal-curve code out from displayWasRefreshed
so we can use it in the start phase too.

(WebKit::MomentumEventDispatcher::offsetAtTime):
(WebKit::MomentumEventDispatcher::computeNextDelta):
Rename idealCurveFrameRate->idealCurveFrameInterval for accuracy.

* WebProcess/WebPage/MomentumEventDispatcher.h:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Shared/ScrollingAccelerationCurve.cpp
trunk/Source/WebKit/Shared/ScrollingAccelerationCurve.h
trunk/Source/WebKit/Shared/mac/ScrollingAccelerationCurveMac.mm
trunk/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp
trunk/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.h




Diff

Modified: trunk/Source/WebKit/ChangeLog (286482 => 286483)

--- trunk/Source/WebKit/ChangeLog	2021-12-03 06:39:14 UTC (rev 286482)
+++ trunk/Source/WebKit/ChangeLog	2021-12-03 07:25:20 UTC (rev 286483)
@@ -1,3 +1,66 @@
+2021-12-02  Tim Horton  
+
+MomentumEventDispatcher curve sometimes doesn't match the system curve
+https://bugs.webkit.org/show_bug.cgi?id=233801
+
+
+Reviewed by Simon Fraser.
+
+Three small changes to get us closer to the system curve:
+
+1) Fetch the momentum event dispatch interval from the system, and use
+it to scale the momentum start event's delta (which we use as our
+initial velocity) into the "ideal" curve's frame rate (which is always
+60fps regardless).
+
+2) Back-date the animation start time to the fingers-down phase end event,
+so that the momentum start phase has a delta. This seems to match what
+the system does.
+
+3) Switch to MonotonicTime for the animation time, since it doesn't need
+to be in the same timebase as events (which are oddly in WallTime), and
+certainly should be monotonic.
+
+* Shared/ScrollingAccelerationCurve.cpp:
+(WebKit::ScrollingAccelerationCurve::ScrollingAccelerationCurve):
+(WebKit::ScrollingAccelerationCurve::interpolate):
+(WebKit::ScrollingAccelerationCurve::encode const):
+(WebKit::ScrollingAccelerationCurve::decode):
+(WebKit::operator<<):
+* Shared/ScrollingAccelerationCurve.h:
+(WebKit::ScrollingAccelerationCurve::frameRate):
+(WebKit::ScrollingAccelerationCurve::operator== const):
+* Shared/mac/ScrollingAccelerationCurveMac.mm:
+(WebKit::fromIOHIDCurve):
+(WebKit::fromIOHIDCurveArrayWithAcceleration):
+(WebKit::fromIOHIDDevice):
+Fetch and 

[webkit-changes] [286482] trunk

2021-12-02 Thread cdumez
Title: [286482] trunk








Revision 286482
Author cdu...@apple.com
Date 2021-12-02 22:39:14 -0800 (Thu, 02 Dec 2021)


Log Message
html/semantics/forms/constraints/form-validation-validity-valid.html WPT test is failing
https://bugs.webkit.org/show_bug.cgi?id=233778

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:

Source/WebCore:

html/semantics/forms/constraints/form-validation-validity-valid.html WPT test is failing in WebKit
but passing in Blink & Gecko. The issue was caused by incorrect willValidate() checks inside
HTMLInputElement::isValid() & HTMLSelectElement::valueMissing().

No new tests, rebaselined existing tests.

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::isValid const):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::valueMissing const):

LayoutTests:

Rebaseline WPT tests now that more checks are passing.

* 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:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/forms/ValidityState-valueMissing-003-expected.txt
trunk/LayoutTests/fast/forms/ValidityState-valueMissing-003.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/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/html/HTMLInputElement.cpp
trunk/Source/WebCore/html/HTMLSelectElement.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (286481 => 286482)

--- trunk/LayoutTests/ChangeLog	2021-12-03 06:05:49 UTC (rev 286481)
+++ trunk/LayoutTests/ChangeLog	2021-12-03 06:39:14 UTC (rev 286482)
@@ -1,3 +1,15 @@
+2021-12-02  Chris Dumez  
+
+html/semantics/forms/constraints/form-validation-validity-valid.html WPT test is failing
+https://bugs.webkit.org/show_bug.cgi?id=233778
+
+Reviewed by Darin Adler.
+
+Rebaseline WPT tests now that more checks are passing.
+
+* 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:
+
 2021-12-02  Arcady Goldmints-Orlov  
 
 [GLIB] Update test expectations and baselines. Unreviewed test gardening.


Modified: trunk/LayoutTests/fast/forms/ValidityState-valueMissing-003-expected.txt (286481 => 286482)

--- trunk/LayoutTests/fast/forms/ValidityState-valueMissing-003-expected.txt	2021-12-03 06:05:49 UTC (rev 286481)
+++ trunk/LayoutTests/fast/forms/ValidityState-valueMissing-003-expected.txt	2021-12-03 06:39:14 UTC (rev 286482)
@@ -5,15 +5,15 @@
 
 PASS valueMissingFor("input") is false
 PASS valueMissingFor("textarea") is false
-PASS valueMissingFor("select-no-option") is false
-PASS valueMissingFor("select-placeholder-selected") is false
+PASS valueMissingFor("select-no-option") is true
+PASS valueMissingFor("select-placeholder-selected") is true
 PASS valueMissingFor("select-without-placeholder") is false
 PASS valueMissingFor("select-placeholder-selected-size2") is false
 PASS valueMissingFor("select-without-placeholder-size2") is false
-PASS valueMissingFor("select-none-selected-multiple") is false
+PASS valueMissingFor("select-none-selected-multiple") is true
 PASS valueMissingFor("select-fake-placeholder-selected-multiple") is false
 PASS valueMissingFor("select-without-fake-placeholder-multiple") is false
-PASS valueMissingFor("select-none-selected-size2-multiple") is false
+PASS valueMissingFor("select-none-selected-size2-multiple") is true
 PASS valueMissingFor("select-fake-placeholder-selected-size2-multiple") is false
 PASS valueMissingFor("select-without-fake-placeholder-size2-multiple") is false
 PASS successfullyParsed is true


Modified: trunk/LayoutTests/fast/forms/ValidityState-valueMissing-003.html (286481 => 286482)

--- 

[webkit-changes] [286481] trunk/Source

2021-12-02 Thread simon . fraser
Title: [286481] trunk/Source








Revision 286481
Author simon.fra...@apple.com
Date 2021-12-02 22:05:49 -0800 (Thu, 02 Dec 2021)


Log Message
A Safari tab can rarely get stuck in a state where rendering updates stop happening
https://bugs.webkit.org/show_bug.cgi?id=233784
rdar://85445072

Reviewed by Chris Dumez.

Sometimes a Safari tab can get into a state where rendering updates cease to happen,
which manifests as partially broken scrolling, blank tiles revealed when scrolling,
and somewhat broken page updates. I was able to sometimes reproduce this by clicking
on links in eBay emails from Mail on a system with two displays.

>From the one time I reproduce with logging, the output indicated that DisplayRefreshMonitor::displayLinkFired()
would early return because isPreviousFrameDone() was false. The only way for that to occur,
barring memory corruption, is if DisplayRefreshMonitorMac::dispatchDisplayDidRefresh() returned early,
which it does if the callback comes twice in a single event loop; this may explain the rarity.

So fix DisplayRefreshMonitorMac::dispatchDisplayDidRefresh() call setIsPreviousFrameDone(true)
so the next callback can make progress

Also add some locking annotations and fix one missing lock, and some release logging.

Source/WebCore:

* platform/graphics/DisplayRefreshMonitor.cpp:
(WebCore::DisplayRefreshMonitor::stop):
(WebCore::DisplayRefreshMonitor::firedAndReachedMaxUnscheduledFireCount):
(WebCore::DisplayRefreshMonitor::displayLinkFired):
* platform/graphics/DisplayRefreshMonitor.h:
(WebCore::DisplayRefreshMonitor::WTF_REQUIRES_LOCK):
(WebCore::DisplayRefreshMonitor::WTF_GUARDED_BY_LOCK):
(WebCore::DisplayRefreshMonitor::setMaxUnscheduledFireCount): Deleted.
(WebCore::DisplayRefreshMonitor::isScheduled const): Deleted.
(WebCore::DisplayRefreshMonitor::setIsScheduled): Deleted.
(WebCore::DisplayRefreshMonitor::isPreviousFrameDone const): Deleted.
(WebCore::DisplayRefreshMonitor::setIsPreviousFrameDone): Deleted.

Source/WebKit:

* WebProcess/WebPage/mac/DisplayRefreshMonitorMac.cpp:
(WebKit::DisplayRefreshMonitorMac::dispatchDisplayDidRefresh):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/DisplayRefreshMonitor.cpp
trunk/Source/WebCore/platform/graphics/DisplayRefreshMonitor.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm
trunk/Source/WebKit/WebProcess/WebPage/mac/DisplayRefreshMonitorMac.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (286480 => 286481)

--- trunk/Source/WebCore/ChangeLog	2021-12-03 04:49:45 UTC (rev 286480)
+++ trunk/Source/WebCore/ChangeLog	2021-12-03 06:05:49 UTC (rev 286481)
@@ -1,3 +1,39 @@
+2021-12-02  Simon Fraser  
+
+A Safari tab can rarely get stuck in a state where rendering updates stop happening
+https://bugs.webkit.org/show_bug.cgi?id=233784
+rdar://85445072
+
+Reviewed by Chris Dumez.
+
+Sometimes a Safari tab can get into a state where rendering updates cease to happen,
+which manifests as partially broken scrolling, blank tiles revealed when scrolling,
+and somewhat broken page updates. I was able to sometimes reproduce this by clicking
+on links in eBay emails from Mail on a system with two displays.
+
+From the one time I reproduce with logging, the output indicated that DisplayRefreshMonitor::displayLinkFired()
+would early return because isPreviousFrameDone() was false. The only way for that to occur,
+barring memory corruption, is if DisplayRefreshMonitorMac::dispatchDisplayDidRefresh() returned early,
+which it does if the callback comes twice in a single event loop; this may explain the rarity.
+
+So fix DisplayRefreshMonitorMac::dispatchDisplayDidRefresh() call setIsPreviousFrameDone(true)
+so the next callback can make progress
+
+Also add some locking annotations and fix one missing lock, and some release logging.
+
+* platform/graphics/DisplayRefreshMonitor.cpp:
+(WebCore::DisplayRefreshMonitor::stop):
+(WebCore::DisplayRefreshMonitor::firedAndReachedMaxUnscheduledFireCount):
+(WebCore::DisplayRefreshMonitor::displayLinkFired):
+* platform/graphics/DisplayRefreshMonitor.h:
+(WebCore::DisplayRefreshMonitor::WTF_REQUIRES_LOCK):
+(WebCore::DisplayRefreshMonitor::WTF_GUARDED_BY_LOCK):
+(WebCore::DisplayRefreshMonitor::setMaxUnscheduledFireCount): Deleted.
+(WebCore::DisplayRefreshMonitor::isScheduled const): Deleted.
+(WebCore::DisplayRefreshMonitor::setIsScheduled): Deleted.
+(WebCore::DisplayRefreshMonitor::isPreviousFrameDone const): Deleted.
+(WebCore::DisplayRefreshMonitor::setIsPreviousFrameDone): Deleted.
+
 2021-12-02  Tyler Wilcock  
 
 AX: In AccessibilityRenderObject::documentLinks, use existing image-map document links instead of always creating new ones


Modified: 

[webkit-changes] [286480] trunk/LayoutTests

2021-12-02 Thread commit-queue
Title: [286480] trunk/LayoutTests








Revision 286480
Author commit-qu...@webkit.org
Date 2021-12-02 20:49:45 -0800 (Thu, 02 Dec 2021)


Log Message
[GLIB] Update test expectations and baselines. Unreviewed test gardening.
https://bugs.webkit.org/show_bug.cgi?id=233799

Add a platform specific baseline for imported/w3c/web-platform-tests/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https.html
as the tests pass on GTK and WPE.

Patch by Arcady Goldmints-Orlov  on 2021-12-02

* platform/glib/TestExpectations:
* platform/glib/imported/w3c/web-platform-tests/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https-expected.txt: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/glib/TestExpectations


Added Paths

trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/service-workers/service-worker/navigation-preload/
trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (286479 => 286480)

--- trunk/LayoutTests/ChangeLog	2021-12-03 04:37:35 UTC (rev 286479)
+++ trunk/LayoutTests/ChangeLog	2021-12-03 04:49:45 UTC (rev 286480)
@@ -1,3 +1,14 @@
+2021-12-02  Arcady Goldmints-Orlov  
+
+[GLIB] Update test expectations and baselines. Unreviewed test gardening.
+https://bugs.webkit.org/show_bug.cgi?id=233799
+
+Add a platform specific baseline for imported/w3c/web-platform-tests/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https.html
+as the tests pass on GTK and WPE.
+
+* platform/glib/TestExpectations:
+* platform/glib/imported/w3c/web-platform-tests/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https-expected.txt: Added.
+
 2021-12-02  Tyler Wilcock  
 
 AX: In AccessibilityRenderObject::documentLinks, use existing image-map document links instead of always creating new ones


Modified: trunk/LayoutTests/platform/glib/TestExpectations (286479 => 286480)

--- trunk/LayoutTests/platform/glib/TestExpectations	2021-12-03 04:37:35 UTC (rev 286479)
+++ trunk/LayoutTests/platform/glib/TestExpectations	2021-12-03 04:49:45 UTC (rev 286480)
@@ -1083,6 +1083,9 @@
 webkit.org/b/185254 http/tests/xmlhttprequest/onloadend-event-after-sync-requests.html [ DumpJSConsoleLogInStdErr ]
 webkit.org/b/185254 http/tests/xmlhttprequest/response-access-on-error.html [ DumpJSConsoleLogInStdErr ]
 
+webkit.org/b/233796 imported/w3c/web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/refresh [ Failure ]
+webkit.org/b/233796 imported/w3c/web-platform-tests/html/browsers/browsing-the-web/navigating-across-documents/redirect-to-about.window.html [ Failure ]
+
 #
 # End of SOUP and Networking-related bugs
 #
@@ -1354,6 +1357,8 @@
 webkit.org/b/229055 http/wpt/webrtc/sframe-transform-error.html [ Failure ]
 
 webkit.org/b/233740 http/wpt/webrtc/video-script-transform-keyframe-only.html [ Failure ]
+webkit.org/b/233740 webrtc/vp9-svc.html [ Timeout ]
+webkit.org/b/233740 webrtc/vp9.html [ Timeout ]
 
 #
 # End of WebRTC-related bugs


Added: trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https-expected.txt (0 => 286480)

--- trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https-expected.txt	(rev 0)
+++ trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/service-workers/service-worker/navigation-preload/broken-chunked-encoding.https-expected.txt	2021-12-03 04:49:45 UTC (rev 286480)
@@ -0,0 +1,5 @@
+
+
+PASS FetchEvent#preloadResponse resolves even if the body is sent with broken chunked encoding.
+PASS FetchEvent#preloadResponse resolves even if the body is sent with broken chunked encoding with some delays
+






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286479] trunk/Source/WebKit

2021-12-02 Thread cdumez
Title: [286479] trunk/Source/WebKit








Revision 286479
Author cdu...@apple.com
Date 2021-12-02 20:37:35 -0800 (Thu, 02 Dec 2021)


Log Message
Regression(r283179) Google Drive freezes after downloading a folder
https://bugs.webkit.org/show_bug.cgi?id=233783


Reviewed by Darin Adler.

When process-swapping on a navigation response due to COOP, we create a new ProvisionalPageProxy
to trigger a provisional load in a new WebProcess. In the common case, the ProvisionalPageProxy
gets committed, we process-swap and everything works fine. However, if the client decides to
convert the navigation into a download (like in the Google Drive case), then the
ProvisionalPageProxy gets destroyed without being committed. The issue is that the committed
process still thinks at this point that it is in the middle of a navigation and its layer
tree is thus frozen with reason=PageTransition. This is what makes Google Drive look frozen
after the download. This is not an issue with PSON because the process-swap happens in
decidePolicyForNavigationAction() and we tell the previous process to ignore the navigation
when we process-swap.

To address the issue, we now tell the committed process to cancel its navigation if the
ProvisionalPageProxy ends up getting destroyed without being committed. This lets the
committed process know there is no point in waiting for this navigation to happen and allows
it to unfreeze its layer tree.

* UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::ProvisionalPageProxy):
(WebKit::ProvisionalPageProxy::~ProvisionalPageProxy):
* UIProcess/ProvisionalPageProxy.h:
(WebKit::ProvisionalPageProxy::isProcessSwappingOnNavigationResponse const):
(WebKit::ProvisionalPageProxy::shouldClosePreviousPageAfterCommit const): Deleted.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::commitProvisionalPage):
(WebKit::WebPageProxy::continueNavigationInNewProcess):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp
trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.h
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp




Diff

Modified: trunk/Source/WebKit/ChangeLog (286478 => 286479)

--- trunk/Source/WebKit/ChangeLog	2021-12-03 04:24:41 UTC (rev 286478)
+++ trunk/Source/WebKit/ChangeLog	2021-12-03 04:37:35 UTC (rev 286479)
@@ -1,3 +1,37 @@
+2021-12-02  Chris Dumez  
+
+Regression(r283179) Google Drive freezes after downloading a folder
+https://bugs.webkit.org/show_bug.cgi?id=233783
+
+
+Reviewed by Darin Adler.
+
+When process-swapping on a navigation response due to COOP, we create a new ProvisionalPageProxy
+to trigger a provisional load in a new WebProcess. In the common case, the ProvisionalPageProxy
+gets committed, we process-swap and everything works fine. However, if the client decides to
+convert the navigation into a download (like in the Google Drive case), then the
+ProvisionalPageProxy gets destroyed without being committed. The issue is that the committed
+process still thinks at this point that it is in the middle of a navigation and its layer
+tree is thus frozen with reason=PageTransition. This is what makes Google Drive look frozen
+after the download. This is not an issue with PSON because the process-swap happens in
+decidePolicyForNavigationAction() and we tell the previous process to ignore the navigation
+when we process-swap.
+
+To address the issue, we now tell the committed process to cancel its navigation if the
+ProvisionalPageProxy ends up getting destroyed without being committed. This lets the
+committed process know there is no point in waiting for this navigation to happen and allows
+it to unfreeze its layer tree.
+
+* UIProcess/ProvisionalPageProxy.cpp:
+(WebKit::ProvisionalPageProxy::ProvisionalPageProxy):
+(WebKit::ProvisionalPageProxy::~ProvisionalPageProxy):
+* UIProcess/ProvisionalPageProxy.h:
+(WebKit::ProvisionalPageProxy::isProcessSwappingOnNavigationResponse const):
+(WebKit::ProvisionalPageProxy::shouldClosePreviousPageAfterCommit const): Deleted.
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::commitProvisionalPage):
+(WebKit::WebPageProxy::continueNavigationInNewProcess):
+
 2021-12-02  Rachel Ginsberg  
 
 Make enum values consisten in ApplicationManifest::Icon::Purpose


Modified: trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp (286478 => 286479)

--- trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp	2021-12-03 04:24:41 UTC (rev 286478)
+++ trunk/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp	2021-12-03 04:37:35 UTC (rev 286479)
@@ -58,7 +58,7 @@
 #define PROVISIONALPAGEPROXY_RELEASE_LOG(channel, fmt, ...) RELEASE_LOG(channel, "%p - [pageProxyID=%" PRIu64 ", webPageID=%" PRIu64 ", PID=%i, navigationID=%" PRIu64 "] ProvisionalPageProxy::" fmt, this, 

[webkit-changes] [286478] trunk

2021-12-02 Thread ysuzuki
Title: [286478] trunk








Revision 286478
Author ysuz...@apple.com
Date 2021-12-02 20:24:41 -0800 (Thu, 02 Dec 2021)


Log Message
[JSC] shell's $.globalObjectFor is not safe for non object cells
https://bugs.webkit.org/show_bug.cgi?id=233794

Reviewed by Saam Barati.

JSTests:

* stress/dollar-global-object.js: Added.

Source/_javascript_Core:

Only Object cells can have Structures having JSGlobalObject.

* jsc.cpp:
(JSC_DEFINE_HOST_FUNCTION):

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/jsc.cpp


Added Paths

trunk/JSTests/stress/dollar-global-object.js




Diff

Modified: trunk/JSTests/ChangeLog (286477 => 286478)

--- trunk/JSTests/ChangeLog	2021-12-03 04:17:30 UTC (rev 286477)
+++ trunk/JSTests/ChangeLog	2021-12-03 04:24:41 UTC (rev 286478)
@@ -1,3 +1,12 @@
+2021-12-02  Yusuke Suzuki  
+
+[JSC] shell's $.globalObjectFor is not safe for non object cells
+https://bugs.webkit.org/show_bug.cgi?id=233794
+
+Reviewed by Saam Barati.
+
+* stress/dollar-global-object.js: Added.
+
 2021-12-02  Saam Barati  
 
 Fix OOM crash in JSValue::toWTFStringForConsole


Added: trunk/JSTests/stress/dollar-global-object.js (0 => 286478)

--- trunk/JSTests/stress/dollar-global-object.js	(rev 0)
+++ trunk/JSTests/stress/dollar-global-object.js	2021-12-03 04:24:41 UTC (rev 286478)
@@ -0,0 +1 @@
+$.globalObjectFor("Hey") + "Hey";


Modified: trunk/Source/_javascript_Core/ChangeLog (286477 => 286478)

--- trunk/Source/_javascript_Core/ChangeLog	2021-12-03 04:17:30 UTC (rev 286477)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-12-03 04:24:41 UTC (rev 286478)
@@ -1,3 +1,15 @@
+2021-12-02  Yusuke Suzuki  
+
+[JSC] shell's $.globalObjectFor is not safe for non object cells
+https://bugs.webkit.org/show_bug.cgi?id=233794
+
+Reviewed by Saam Barati.
+
+Only Object cells can have Structures having JSGlobalObject.
+
+* jsc.cpp:
+(JSC_DEFINE_HOST_FUNCTION):
+
 2021-12-02  Saam Barati  
 
 Lower structureHeapAddressSize on more memory limited ARM64 devices


Modified: trunk/Source/_javascript_Core/jsc.cpp (286477 => 286478)

--- trunk/Source/_javascript_Core/jsc.cpp	2021-12-03 04:17:30 UTC (rev 286477)
+++ trunk/Source/_javascript_Core/jsc.cpp	2021-12-03 04:24:41 UTC (rev 286478)
@@ -2077,8 +2077,8 @@
 if (callFrame->argumentCount() < 1)
 return JSValue::encode(throwException(globalObject, scope, createError(globalObject, "Not enough arguments"_s)));
 JSValue arg = callFrame->argument(0);
-if (arg.isCell())
-return JSValue::encode(arg.asCell()->structure(vm)->globalObject()->globalThis());
+if (arg.isObject())
+return JSValue::encode(asObject(arg)->globalObject(vm)->globalThis());
 
 return JSValue::encode(jsUndefined());
 }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286477] trunk

2021-12-02 Thread tyler_w
Title: [286477] trunk








Revision 286477
Author tyle...@apple.com
Date 2021-12-02 20:17:30 -0800 (Thu, 02 Dec 2021)


Log Message
AX: In AccessibilityRenderObject::documentLinks, use existing image-map document links instead of always creating new ones
https://bugs.webkit.org/show_bug.cgi?id=233767

Reviewed by Chris Fleizach.

The current implementation of AccessibilityRenderObject::documentLinks always
creates new image-map links rather than using the existing ones created via
AccessibilityRenderObject::addImageMapChildren. This is problematic for two reasons:

  1. It is wasteful in terms of memory usage as we will endlessly accumulate
 AccessibilityImageMapLink objects in the cache each time
 AccessibilityRenderObject::documentLinks is called.

  2. It breaks `` document links in isolated tree mode, since the objects created
 this way aren't a child of any other object, and thus don't have any representation
 in the isolated tree. Concretely, this means AXIsolatedTree::nodeForID never returns
 anything for these objects.

In this patch, we try to find the existing image-map link children
in AccessibilityRenderObject::documentLinks before falling back to creating new ones.

Source/WebCore:

Fixes test accessibility/mac/document-links.html in isolated tree mode.

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::documentLinks):
Try to find the existing image-map link children before falling back to creating new ones.

LayoutTests:

* accessibility/mac/document-links-expected.txt:
Update expectations based on new variable names.
* accessibility/mac/document-links.html:
Modernize test and improve variable naming.
* resources/accessibility-helper.js:
(debugEscaped): Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/accessibility/mac/document-links-expected.txt
trunk/LayoutTests/accessibility/mac/document-links.html
trunk/LayoutTests/resources/accessibility-helper.js
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/accessibility/AccessibilityRenderObject.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (286476 => 286477)

--- trunk/LayoutTests/ChangeLog	2021-12-03 03:51:54 UTC (rev 286476)
+++ trunk/LayoutTests/ChangeLog	2021-12-03 04:17:30 UTC (rev 286477)
@@ -1,3 +1,33 @@
+2021-12-02  Tyler Wilcock  
+
+AX: In AccessibilityRenderObject::documentLinks, use existing image-map document links instead of always creating new ones
+https://bugs.webkit.org/show_bug.cgi?id=233767
+
+Reviewed by Chris Fleizach.
+
+The current implementation of AccessibilityRenderObject::documentLinks always
+creates new image-map links rather than using the existing ones created via
+AccessibilityRenderObject::addImageMapChildren. This is problematic for two reasons:
+
+  1. It is wasteful in terms of memory usage as we will endlessly accumulate
+ AccessibilityImageMapLink objects in the cache each time
+ AccessibilityRenderObject::documentLinks is called.
+
+  2. It breaks `` document links in isolated tree mode, since the objects created
+ this way aren't a child of any other object, and thus don't have any representation
+ in the isolated tree. Concretely, this means AXIsolatedTree::nodeForID never returns
+ anything for these objects.
+
+In this patch, we try to find the existing image-map link children
+in AccessibilityRenderObject::documentLinks before falling back to creating new ones.
+
+* accessibility/mac/document-links-expected.txt:
+Update expectations based on new variable names.
+* accessibility/mac/document-links.html:
+Modernize test and improve variable naming.
+* resources/accessibility-helper.js:
+(debugEscaped): Added.
+
 2021-12-02  Robert Jenner  
 
 [ Monterey ] http/tests/workers/service/serviceworker-websocket.https.html (layout-test) is constant text failure


Modified: trunk/LayoutTests/accessibility/mac/document-links-expected.txt (286476 => 286477)

--- trunk/LayoutTests/accessibility/mac/document-links-expected.txt	2021-12-03 03:51:54 UTC (rev 286476)
+++ trunk/LayoutTests/accessibility/mac/document-links-expected.txt	2021-12-03 04:17:30 UTC (rev 286477)
@@ -1,5 +1,8 @@
+This test passes if all four links on the page are found.
 
---
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
 AXHasDocumentRoleAncestor: 0
 AXHasWebApplicationAncestor: 0
 AXRole: AXLink
@@ -30,7 +33,7 @@
 AXFocusableAncestor: 
 AXEditableAncestor: (null)
 AXHighestEditableAncestor: (null)
-AXURL: http://www.apple.com/
+AXURL: LayoutTests/accessibility/mac/document-links.html#Link1
 AXAccessKey: (null)
 AXLinkRelationshipType:
 AXElementBusy: 0
@@ -67,7 +70,7 @@
 AXFocusableAncestor: 
 AXEditableAncestor: (null)
 AXHighestEditableAncestor: (null)
-AXURL: http://www.apple.com/
+AXURL: 

[webkit-changes] [286476] trunk/Tools

2021-12-02 Thread jya
Title: [286476] trunk/Tools








Revision 286476
Author j...@apple.com
Date 2021-12-02 19:51:54 -0800 (Thu, 02 Dec 2021)


Log Message
Compilation error on Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm
https://bugs.webkit.org/show_bug.cgi?id=233797
rdar://problem/86000569

Unreviewed API test build fix.


* TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm




Diff

Modified: trunk/Tools/ChangeLog (286475 => 286476)

--- trunk/Tools/ChangeLog	2021-12-03 03:01:38 UTC (rev 286475)
+++ trunk/Tools/ChangeLog	2021-12-03 03:51:54 UTC (rev 286476)
@@ -1,3 +1,13 @@
+2021-12-02  Jean-Yves Avenard  
+
+Compilation error on Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm
+https://bugs.webkit.org/show_bug.cgi?id=233797
+rdar://problem/86000569
+
+Unreviewed API test build fix.
+
+* TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
+
 2021-11-29  Jonathan Bedard  
 
 [resultsdbpy] Make Python 3.10 compatible


Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm (286475 => 286476)

--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm	2021-12-03 03:01:38 UTC (rev 286475)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm	2021-12-03 03:51:54 UTC (rev 286476)
@@ -35,6 +35,7 @@
 #import 
 #import 
 #import 
+#import 
 #import 
 #import 
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286475] trunk/Source/WebCore

2021-12-02 Thread zalan
Title: [286475] trunk/Source/WebCore








Revision 286475
Author za...@apple.com
Date 2021-12-02 19:01:38 -0800 (Thu, 02 Dec 2021)


Log Message
[LFC][IFC] Create display boxes for fragmented inline boxes on bidi boundaries
https://bugs.webkit.org/show_bug.cgi?id=233736

Reviewed by Antti Koivisto.

In this patch we insert inline box type of display boxes in-between bidi display boxes as needed.
We don't yet compute visual geometry and/or offset the rest of the content with the injected margins, borders and padding.

* layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::insertInlineBoxDisplayBoxForBidiBoundary):
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
(WebCore::Layout::InlineDisplayContentBuilder::appendInlineBoxDisplayBoxForBidiBoundary): 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 (286474 => 286475)

--- trunk/Source/WebCore/ChangeLog	2021-12-03 02:54:36 UTC (rev 286474)
+++ trunk/Source/WebCore/ChangeLog	2021-12-03 03:01:38 UTC (rev 286475)
@@ -1,3 +1,19 @@
+2021-12-02  Alan Bujtas  
+
+[LFC][IFC] Create display boxes for fragmented inline boxes on bidi boundaries
+https://bugs.webkit.org/show_bug.cgi?id=233736
+
+Reviewed by Antti Koivisto.
+
+In this patch we insert inline box type of display boxes in-between bidi display boxes as needed.
+We don't yet compute visual geometry and/or offset the rest of the content with the injected margins, borders and padding. 
+
+* layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
+(WebCore::Layout::InlineDisplayContentBuilder::insertInlineBoxDisplayBoxForBidiBoundary):
+(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
+(WebCore::Layout::InlineDisplayContentBuilder::appendInlineBoxDisplayBoxForBidiBoundary): Deleted.
+* layout/formattingContexts/inline/InlineDisplayContentBuilder.h:
+
 2021-12-02  Chris Dumez  
 
 Introduce a MainThreadBridge class inside WebLockManager


Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp (286474 => 286475)

--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp	2021-12-03 02:54:36 UTC (rev 286474)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp	2021-12-03 03:01:38 UTC (rev 286475)
@@ -33,6 +33,7 @@
 #include "LayoutInitialContainingBlock.h"
 #include "RuntimeEnabledFeatures.h"
 #include "TextUtil.h"
+#include 
 
 namespace WebCore {
 namespace Layout {
@@ -269,11 +270,20 @@
 setInlineBoxGeometry(layoutBox, inlineBoxBorderBox, false);
 }
 
-void InlineDisplayContentBuilder::appendInlineBoxDisplayBoxForBidiBoundary(const Box& layoutBox, const InlineRect& inlineBoxRect, DisplayBoxes& boxes)
+void InlineDisplayContentBuilder::insertInlineBoxDisplayBoxForBidiBoundary(const InlineLevelBox& inlineBox, const InlineRect& inlineBoxRect, size_t insertionPoint, DisplayBoxes& boxes)
 {
-UNUSED_PARAM(layoutBox);
-UNUSED_PARAM(inlineBoxRect);
-UNUSED_PARAM(boxes);
+ASSERT(inlineBox.isInlineBox());
+// FIXME: Compute ink overflow.
+boxes.insert(insertionPoint, { m_lineIndex
+, InlineDisplay::Box::Type::NonRootInlineBox
+, inlineBox.layoutBox()
+, UBIDI_DEFAULT_LTR
+, inlineBoxRect
+, inlineBoxRect
+, { }
+, { }
+, true
+, isFirstLastBox(inlineBox) });
 }
 
 void InlineDisplayContentBuilder::adjustInlineBoxDisplayBoxForBidiBoundary(InlineDisplay::Box& displayBox, const InlineRect& inlineBoxRect)
@@ -340,6 +350,7 @@
 {
 ASSERT(lineContent.visualOrderList.size() == lineContent.runs.size());
 
+auto needsNonRootInlineBoxDisplayBox = false;
 auto createDisplayBoxesInVisualOrderForContentRuns = [&] {
 auto rootInlineBoxRect = lineBox.logicalRectForRootInlineBox();
 auto contentRightInVisualOrder = InlineLayoutUnit { };
@@ -358,7 +369,7 @@
 
 auto isContentRun = !lineRun.isInlineBoxStart() && !lineRun.isLineSpanningInlineBoxStart() && !lineRun.isInlineBoxEnd();
 if (!isContentRun) {
-// FIXME: Add support for inline boxes.
+needsNonRootInlineBoxDisplayBox = true;
 continue;
 }
 
@@ -397,6 +408,76 @@
 }
 };
 createDisplayBoxesInVisualOrderForContentRuns();
+
+auto createDisplayBoxesInVisualOrderForInlineBoxes = [&] {
+// Visual order could introduce gaps and/or inject runs outside from the current inline box content.
+// In such cases, we need to "close" and "open" display boxes for 

[webkit-changes] [286474] trunk/Source/WebCore

2021-12-02 Thread cdumez
Title: [286474] trunk/Source/WebCore








Revision 286474
Author cdu...@apple.com
Date 2021-12-02 18:54:36 -0800 (Thu, 02 Dec 2021)


Log Message
Introduce a MainThreadBridge class inside WebLockManager
https://bugs.webkit.org/show_bug.cgi?id=233789

Reviewed by Darin Adler.

Extract all the logic to hop to and back from the main thread out of the WebLockManager and into a MainThreadBridge
internal class. This is similar to what was done for BroadcastChannel already. It provides better structuring and
slightly better performance by calling isolatedCopy() on the ClientOrigin only once instead of on every call.

No new tests, no web-facing behavior change.

* Modules/web-locks/WebLockManager.cpp:
(WebCore::WebLockManager::MainThreadBridge::create):
(WebCore::WebLockManager::MainThreadBridge::MainThreadBridge):
(WebCore::WebLockManager::MainThreadBridge::requestLock):
(WebCore::WebLockManager::MainThreadBridge::releaseLock):
(WebCore::WebLockManager::MainThreadBridge::abortLockRequest):
(WebCore::WebLockManager::MainThreadBridge::query):
(WebCore::WebLockManager::MainThreadBridge::clientIsGoingAway):
(WebCore::WebLockManager::MainThreadBridge::ensureOnMainThread):
(WebCore::WebLockManager::WebLockManager):
(WebCore::WebLockManager::request):
(WebCore::WebLockManager::didCompleteLockRequest):
(WebCore::WebLockManager::query):
(WebCore::WebLockManager::signalToAbortTheRequest):
(WebCore::WebLockManager::clientIsGoingAway):
(WebCore::WebLockManager::requestLockOnMainThread): Deleted.
(WebCore::WebLockManager::releaseLockOnMainThread): Deleted.
(WebCore::WebLockManager::abortLockRequestOnMainThread): Deleted.
(WebCore::WebLockManager::queryOnMainThread): Deleted.
(WebCore::WebLockManager::ensureOnMainThread): Deleted.
* Modules/web-locks/WebLockManager.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/web-locks/WebLockManager.cpp
trunk/Source/WebCore/Modules/web-locks/WebLockManager.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (286473 => 286474)

--- trunk/Source/WebCore/ChangeLog	2021-12-03 02:35:49 UTC (rev 286473)
+++ trunk/Source/WebCore/ChangeLog	2021-12-03 02:54:36 UTC (rev 286474)
@@ -1,3 +1,38 @@
+2021-12-02  Chris Dumez  
+
+Introduce a MainThreadBridge class inside WebLockManager
+https://bugs.webkit.org/show_bug.cgi?id=233789
+
+Reviewed by Darin Adler.
+
+Extract all the logic to hop to and back from the main thread out of the WebLockManager and into a MainThreadBridge
+internal class. This is similar to what was done for BroadcastChannel already. It provides better structuring and
+slightly better performance by calling isolatedCopy() on the ClientOrigin only once instead of on every call.
+
+No new tests, no web-facing behavior change.
+
+* Modules/web-locks/WebLockManager.cpp:
+(WebCore::WebLockManager::MainThreadBridge::create):
+(WebCore::WebLockManager::MainThreadBridge::MainThreadBridge):
+(WebCore::WebLockManager::MainThreadBridge::requestLock):
+(WebCore::WebLockManager::MainThreadBridge::releaseLock):
+(WebCore::WebLockManager::MainThreadBridge::abortLockRequest):
+(WebCore::WebLockManager::MainThreadBridge::query):
+(WebCore::WebLockManager::MainThreadBridge::clientIsGoingAway):
+(WebCore::WebLockManager::MainThreadBridge::ensureOnMainThread):
+(WebCore::WebLockManager::WebLockManager):
+(WebCore::WebLockManager::request):
+(WebCore::WebLockManager::didCompleteLockRequest):
+(WebCore::WebLockManager::query):
+(WebCore::WebLockManager::signalToAbortTheRequest):
+(WebCore::WebLockManager::clientIsGoingAway):
+(WebCore::WebLockManager::requestLockOnMainThread): Deleted.
+(WebCore::WebLockManager::releaseLockOnMainThread): Deleted.
+(WebCore::WebLockManager::abortLockRequestOnMainThread): Deleted.
+(WebCore::WebLockManager::queryOnMainThread): Deleted.
+(WebCore::WebLockManager::ensureOnMainThread): Deleted.
+* Modules/web-locks/WebLockManager.h:
+
 2021-12-02  Said Abou-Hallawa  
 
 [GPU Process] Move the FilterEffect boundaries to a new class FilterEffectGeometry


Modified: trunk/Source/WebCore/Modules/web-locks/WebLockManager.cpp (286473 => 286474)

--- trunk/Source/WebCore/Modules/web-locks/WebLockManager.cpp	2021-12-03 02:35:49 UTC (rev 286473)
+++ trunk/Source/WebCore/Modules/web-locks/WebLockManager.cpp	2021-12-03 02:54:36 UTC (rev 286474)
@@ -57,7 +57,6 @@
 
 struct WebLockManager::LockRequest {
 WebLockIdentifier lockIdentifier;
-ScriptExecutionContextIdentifier clientID;
 String name;
 WebLockMode mode { WebLockMode::Exclusive };
 RefPtr grantedCallback;
@@ -66,6 +65,110 @@
 bool isValid() const { return !!lockIdentifier; }
 };
 
+class WebLockManager::MainThreadBridge : public ThreadSafeRefCounted {
+public:
+static RefPtr create(ScriptExecutionContext* context)
+{
+auto 

[webkit-changes] [286473] tags/Safari-612.3.6.1.7/

2021-12-02 Thread repstein
Title: [286473] tags/Safari-612.3.6.1.7/








Revision 286473
Author repst...@apple.com
Date 2021-12-02 18:35:49 -0800 (Thu, 02 Dec 2021)


Log Message
Tag Safari-612.3.6.1.7.

Added Paths

tags/Safari-612.3.6.1.7/




Diff




___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286472] trunk/LayoutTests

2021-12-02 Thread jenner
Title: [286472] trunk/LayoutTests








Revision 286472
Author jen...@apple.com
Date 2021-12-02 18:14:33 -0800 (Thu, 02 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

Unreviewed test gardening.

* platform/mac-wk2/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/mac-wk2/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (286471 => 286472)

--- trunk/LayoutTests/ChangeLog	2021-12-03 02:06:24 UTC (rev 286471)
+++ trunk/LayoutTests/ChangeLog	2021-12-03 02:14:33 UTC (rev 286472)
@@ -1,3 +1,12 @@
+2021-12-02  Robert Jenner  
+
+[ Monterey ] http/tests/workers/service/serviceworker-websocket.https.html (layout-test) is constant text failure
+https://bugs.webkit.org/show_bug.cgi?id=233665
+
+Unreviewed test gardening.
+
+* platform/mac-wk2/TestExpectations:
+
 2021-12-02  Megan Gardner  
 
 Re-add support of image control menus.


Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (286471 => 286472)

--- trunk/LayoutTests/platform/mac-wk2/TestExpectations	2021-12-03 02:06:24 UTC (rev 286471)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations	2021-12-03 02:14:33 UTC (rev 286472)
@@ -1680,3 +1680,4 @@
 
 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] [286471] trunk/Source/JavaScriptCore

2021-12-02 Thread sbarati
Title: [286471] trunk/Source/_javascript_Core








Revision 286471
Author sbar...@apple.com
Date 2021-12-02 18:06:24 -0800 (Thu, 02 Dec 2021)


Log Message
Lower structureHeapAddressSize on more memory limited ARM64 devices
https://bugs.webkit.org/show_bug.cgi?id=233786


Reviewed by Yusuke Suzuki.

Some processes using JSC are failing the mmap for the 1GB region.
Let's lower the region size to 512MB on lower memory iOS devices.

* runtime/JSCConfig.h:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/JSCConfig.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (286470 => 286471)

--- trunk/Source/_javascript_Core/ChangeLog	2021-12-03 01:42:15 UTC (rev 286470)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-12-03 02:06:24 UTC (rev 286471)
@@ -1,5 +1,18 @@
 2021-12-02  Saam Barati  
 
+Lower structureHeapAddressSize on more memory limited ARM64 devices
+https://bugs.webkit.org/show_bug.cgi?id=233786
+
+
+Reviewed by Yusuke Suzuki.
+
+Some processes using JSC are failing the mmap for the 1GB region.
+Let's lower the region size to 512MB on lower memory iOS devices.
+
+* runtime/JSCConfig.h:
+
+2021-12-02  Saam Barati  
+
 Fix OOM crash in JSValue::toWTFStringForConsole
 https://bugs.webkit.org/show_bug.cgi?id=233775
 


Modified: trunk/Source/_javascript_Core/runtime/JSCConfig.h (286470 => 286471)

--- trunk/Source/_javascript_Core/runtime/JSCConfig.h	2021-12-03 01:42:15 UTC (rev 286470)
+++ trunk/Source/_javascript_Core/runtime/JSCConfig.h	2021-12-03 02:06:24 UTC (rev 286471)
@@ -40,7 +40,11 @@
 using JITWriteSeparateHeapsFunction = void (*)(off_t, const void*, size_t);
 #endif
 
+#if PLATFORM(IOS_FAMILY) && CPU(ARM64) && !CPU(ARM64E)
+constexpr uintptr_t structureHeapAddressSize = 512 * MB;
+#else
 constexpr uintptr_t structureHeapAddressSize = 1 * GB;
+#endif
 
 struct Config {
 static Config& singleton();






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286470] trunk/Source/WebKit

2021-12-02 Thread commit-queue
Title: [286470] trunk/Source/WebKit








Revision 286470
Author commit-qu...@webkit.org
Date 2021-12-02 17:42:15 -0800 (Thu, 02 Dec 2021)


Log Message
Make enum values consisten in ApplicationManifest::Icon::Purpose
and _WKApplicationManifestIconPurpose
https://bugs.webkit.org/show_bug.cgi?id=233764
rdar://85976270

Patch by Rachel Ginsberg  on 2021-12-02
Reviewed by Brent Fulgham.

The ApplicationManifest tests already check for 1, 2, and 4 respectively.

* UIProcess/API/Cocoa/_WKApplicationManifest.h:
Set the _WKApplicationManifestIconPurpose enum values to
1, 2, 4 to match the enum values set in ApplicationManifest::Icon::Purpose.
Those values are used in ApplicationManifest because an
OptionSet is used.

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKApplicationManifest.h




Diff

Modified: trunk/Source/WebKit/ChangeLog (286469 => 286470)

--- trunk/Source/WebKit/ChangeLog	2021-12-03 01:14:02 UTC (rev 286469)
+++ trunk/Source/WebKit/ChangeLog	2021-12-03 01:42:15 UTC (rev 286470)
@@ -1,3 +1,21 @@
+2021-12-02  Rachel Ginsberg  
+
+Make enum values consisten in ApplicationManifest::Icon::Purpose
+and _WKApplicationManifestIconPurpose
+https://bugs.webkit.org/show_bug.cgi?id=233764
+rdar://85976270
+
+Reviewed by Brent Fulgham.
+
+The ApplicationManifest tests already check for 1, 2, and 4 respectively.
+
+* UIProcess/API/Cocoa/_WKApplicationManifest.h:
+Set the _WKApplicationManifestIconPurpose enum values to 
+1, 2, 4 to match the enum values set in ApplicationManifest::Icon::Purpose.
+Those values are used in ApplicationManifest because an
+OptionSet is used.
+
+
 2021-12-02  Per Arne Vollan  
 
 [WP][iOS] Add telemetry to determine which system calls are only used on process launch


Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKApplicationManifest.h (286469 => 286470)

--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKApplicationManifest.h	2021-12-03 01:14:02 UTC (rev 286469)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKApplicationManifest.h	2021-12-03 01:42:15 UTC (rev 286470)
@@ -43,9 +43,9 @@
 } WK_API_AVAILABLE(macos(10.13.4), ios(11.3));
 
 typedef NS_ENUM(NSInteger, _WKApplicationManifestIconPurpose) {
-_WKApplicationManifestIconPurposeAny,
-_WKApplicationManifestIconPurposeMonochrome,
-_WKApplicationManifestIconPurposeMaskable,
+_WKApplicationManifestIconPurposeAny = (1 << 0),
+_WKApplicationManifestIconPurposeMonochrome = (1 << 1),
+_WKApplicationManifestIconPurposeMaskable = (1 << 2),
 } WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
 
 WK_CLASS_AVAILABLE(macos(10.13.4), ios(11.3))






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286469] trunk/Source/WebKit

2021-12-02 Thread pvollan
Title: [286469] trunk/Source/WebKit








Revision 286469
Author pvol...@apple.com
Date 2021-12-02 17:14:02 -0800 (Thu, 02 Dec 2021)


Log Message
[WP][iOS] Add telemetry to determine which system calls are only used on process launch
https://bugs.webkit.org/show_bug.cgi?id=233649


Reviewed by Brent Fulgham.

Add telemetry to determine which system calls are only used on WebContent process launch on iOS.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::create):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp




Diff

Modified: trunk/Source/WebKit/ChangeLog (286468 => 286469)

--- trunk/Source/WebKit/ChangeLog	2021-12-03 01:03:15 UTC (rev 286468)
+++ trunk/Source/WebKit/ChangeLog	2021-12-03 01:14:02 UTC (rev 286469)
@@ -1,5 +1,19 @@
 2021-12-02  Per Arne Vollan  
 
+[WP][iOS] Add telemetry to determine which system calls are only used on process launch
+https://bugs.webkit.org/show_bug.cgi?id=233649
+
+
+Reviewed by Brent Fulgham.
+
+Add telemetry to determine which system calls are only used on WebContent process launch on iOS.
+
+* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
+* WebProcess/WebPage/WebPage.cpp:
+(WebKit::WebPage::create):
+
+2021-12-02  Per Arne Vollan  
+
 [WP] Strengthen sandbox when AppCache is disabled
 https://bugs.webkit.org/show_bug.cgi?id=233746
 


Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in (286468 => 286469)

--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2021-12-03 01:03:15 UTC (rev 286468)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2021-12-03 01:14:02 UTC (rev 286469)
@@ -1195,177 +1195,211 @@
 
 (disable-syscall-inference)
 
+#if HAVE(SANDBOX_STATE_FLAGS)
+(deny user-preference-read (with enable-state-flag "WebContentProcessLaunched")
+(preference-domain "com.apple.WebKit.WebContent.Launch"))
+#endif
+
+(define (syscall-unix-only-in-use-during-launch)
+(syscall-number
+SYS_bsdthread_register
+SYS_chdir
+SYS_csops ;; used by Corefoundation initialization
+SYS_dup2
+SYS_fileport_makefd
+SYS_fsgetpath
+SYS_getegid
+SYS_getpid
+SYS_getrlimit
+SYS_gettid
+SYS_getuid
+SYS_ioctl ;; needed by tcgetattr (TIOCGETA - debugging
+SYS_kdebug_trace_string
+SYS_kdebug_typefilter
+SYS_objc_bp_assist_cfg_np
+SYS_os_fault_with_payload
+SYS_shared_region_check_np
+SYS_shm_open
+SYS_sigaction
+SYS_sysctl
+SYS_workq_open
+SYS_writev))
+
+(define (syscall-unix-in-use-after-launch)
+(syscall-number
+SYS___disable_threadsignal
+SYS___mac_syscall
+SYS_abort_with_payload ;; 
+SYS_access
+SYS_bsdthread_create
+SYS_bsdthread_ctl
+SYS_bsdthread_terminate
+SYS_change_fdguard_np
+SYS_close
+SYS_close_nocancel
+SYS_csops_audittoken ;; used by WK to get entitlments
+SYS_exit
+SYS_faccessat ;; 
+SYS_fcntl
+SYS_fcntl_nocancel
+SYS_fgetattrlist ;; 
+SYS_flock
+SYS_fsetattrlist ;; MTLCompilerFSCache::openSync
+SYS_fsetxattr ;; 
+SYS_fstat64
+SYS_fstat64_extended ;; 
+SYS_fstatfs64
+SYS_ftruncate
+SYS_getattrlist ;; xpc_realpath and directory enumeration
+SYS_getdirentries64
+SYS_getentropy
+SYS_geteuid
+SYS_getfsstat64
+SYS_getrusage
+SYS_gettimeofday
+SYS_guarded_close_np
+SYS_guarded_open_dprotected_np ; 
+SYS_guarded_open_np
+SYS_guarded_pwrite_np
+SYS_issetugid
+SYS_kdebug_trace64
+SYS_kevent_id
+SYS_kevent_qos
+SYS_kqueue ;; 
+SYS_kqueue_workloop_ctl ;; 
+SYS_listxattr
+SYS_lseek
+SYS_lstat64
+SYS_madvise
+SYS_memorystatus_control
+SYS_mkdir
+SYS_mmap
+SYS_mprotect
+SYS_msync
+SYS_munmap
+SYS_open
+SYS_open_nocancel
+SYS_openat
+SYS_pathconf
+SYS_pread
+SYS_proc_info
+SYS_psynch_cvbroad
+SYS_psynch_cvclrprepost
+SYS_psynch_cvsignal
+SYS_psynch_cvwait
+SYS_psynch_mutexdrop
+SYS_psynch_mutexwait
+SYS_psynch_rw_rdlock ;; 
+SYS_psynch_rw_unlock
+SYS_read
+SYS_read_nocancel
+SYS_readlink
+SYS_rename
+SYS_sem_close
+SYS_sem_open
+SYS_shared_region_map_and_slide_2_np ;; 
+SYS_stat64
+SYS_statfs64
+

[webkit-changes] [286468] trunk/Tools

2021-12-02 Thread jbedard
Title: [286468] trunk/Tools








Revision 286468
Author jbed...@apple.com
Date 2021-12-02 17:03:15 -0800 (Thu, 02 Dec 2021)


Log Message
[resultsdbpy] Python 3.10 compatibility
https://bugs.webkit.org/show_bug.cgi?id=233771


Reviewed by Dewei Zhu.

* Tools/Scripts/libraries/resultsdbpy/resultsdbpy/model/configuration_context.py:

Canonical link: https://commits.webkit.org/244808@main

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/model/configuration_context.py




Diff

Modified: trunk/Tools/ChangeLog (286467 => 286468)

--- trunk/Tools/ChangeLog	2021-12-03 00:56:51 UTC (rev 286467)
+++ trunk/Tools/ChangeLog	2021-12-03 01:03:15 UTC (rev 286468)
@@ -1,3 +1,13 @@
+2021-11-29  Jonathan Bedard  
+
+[resultsdbpy] Make Python 3.10 compatible
+https://bugs.webkit.org/show_bug.cgi?id=233771
+
+
+Reviewed by Dewei Zhu.
+
+* Scripts/libraries/resultsdbpy/resultsdbpy/model/configuration_context.py:
+
 2021-12-02  Jonathan Bedard  
 
 [git-webkit] Handle ambiguous branch names in land


Modified: trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/model/configuration_context.py (286467 => 286468)

--- trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/model/configuration_context.py	2021-12-03 00:56:51 UTC (rev 286467)
+++ trunk/Tools/Scripts/libraries/resultsdbpy/resultsdbpy/model/configuration_context.py	2021-12-03 01:03:15 UTC (rev 286468)
@@ -1,4 +1,4 @@
-# Copyright (C) 2019 Apple Inc. All rights reserved.
+# Copyright (C) 2019-2021 Apple Inc. All rights reserved.
 #
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions
@@ -26,7 +26,8 @@
 
 from cassandra.cqlengine import columns
 from cassandra.cqlengine.models import Model
-from collections import Iterable, OrderedDict
+from collections import OrderedDict
+from collections.abc import Iterable
 from datetime import datetime
 from resultsdbpy.controller.configuration import Configuration
 from resultsdbpy.model.commit_context import CommitContext






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286467] trunk/Tools

2021-12-02 Thread jbedard
Title: [286467] trunk/Tools








Revision 286467
Author jbed...@apple.com
Date 2021-12-02 16:56:51 -0800 (Thu, 02 Dec 2021)


Log Message
[git-webkit] Handle ambiguous branch names in land
https://bugs.webkit.org/show_bug.cgi?id=233763


Reviewed by Dewei Zhu.

* Scripts/libraries/webkitscmpy/setup.py: Bump version.
* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
(Git.rebase): Be explicit about the name of the target branch when modifying timestamps.

Canonical link: https://commits.webkit.org/244807@main

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/libraries/webkitscmpy/setup.py
trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py
trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py




Diff

Modified: trunk/Tools/ChangeLog (286466 => 286467)

--- trunk/Tools/ChangeLog	2021-12-03 00:37:00 UTC (rev 286466)
+++ trunk/Tools/ChangeLog	2021-12-03 00:56:51 UTC (rev 286467)
@@ -1,3 +1,16 @@
+2021-12-02  Jonathan Bedard  
+
+[git-webkit] Handle ambiguous branch names in land
+https://bugs.webkit.org/show_bug.cgi?id=233763
+
+
+Reviewed by Dewei Zhu.
+
+* Scripts/libraries/webkitscmpy/setup.py: Bump version.
+* Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py: Ditto.
+* Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py:
+(Git.rebase): Be explicit about the name of the target branch when modifying timestamps.
+
 2021-12-02  Devin Rousso  
 
 [css-values-4] Support `*vi` (inline) and `*vb` (block) viewport units


Modified: trunk/Tools/Scripts/libraries/webkitscmpy/setup.py (286466 => 286467)

--- trunk/Tools/Scripts/libraries/webkitscmpy/setup.py	2021-12-03 00:37:00 UTC (rev 286466)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/setup.py	2021-12-03 00:56:51 UTC (rev 286467)
@@ -29,7 +29,7 @@
 
 setup(
 name='webkitscmpy',
-version='3.0.5',
+version='3.0.6',
 description='Library designed to interact with git and svn repositories.',
 long_description=readme(),
 classifiers=[


Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py (286466 => 286467)

--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py	2021-12-03 00:37:00 UTC (rev 286466)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/__init__.py	2021-12-03 00:56:51 UTC (rev 286467)
@@ -46,7 +46,7 @@
 "Please install webkitcorepy with `pip install webkitcorepy --extra-index-url `"
 )
 
-version = Version(3, 0, 5)
+version = Version(3, 0, 6)
 
 AutoInstall.register(Package('fasteners', Version(0, 15, 0)))
 AutoInstall.register(Package('jinja2', Version(2, 11, 3)))


Modified: trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py (286466 => 286467)

--- trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py	2021-12-03 00:37:00 UTC (rev 286466)
+++ trunk/Tools/Scripts/libraries/webkitscmpy/webkitscmpy/local/git.py	2021-12-03 00:56:51 UTC (rev 286467)
@@ -877,7 +877,7 @@
 self.executable(), 'filter-branch', '-f',
 '--env-filter', "GIT_AUTHOR_DATE='{date}';GIT_COMMITTER_DATE='{date}'".format(
 date='{} -{}'.format(int(time.time()), self.gmtoffset())
-), '{}...{}'.format(target, head),
+), 'refs/heads/{}...{}'.format(target, head),
 ], cwd=self.root_path, env={'FILTER_BRANCH_SQUELCH_WARNING': '1'}, capture_output=True).returncode
 
 def fetch(self, branch, remote='origin'):






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286466] trunk/Source/WebCore

2021-12-02 Thread said
Title: [286466] trunk/Source/WebCore








Revision 286466
Author s...@apple.com
Date 2021-12-02 16:37:00 -0800 (Thu, 02 Dec 2021)


Log Message
[GPU Process] Move the FilterEffect boundaries to a new class FilterEffectGeometry
https://bugs.webkit.org/show_bug.cgi?id=233618
rdar://85881969

Reviewed by Cameron McCormack.

The plan is to have Filter own its geometry and the geometry of the
FilterEffects. So move the boundaries and their flags from FilterEffect
to a new class called FilterEffectGeometry.

SVGFilterBuilder will calculate the FilterEffectGeometry for each FilterEffect
and store it in map { key: FilterEffect, value: FilterEffectGeometry }.
Eventually this map is moved to SVGFilter which will be used in the
virtual function effectGeometry(). determineFilterPrimitiveSubregion()
will call this virtual function to calculate the primitive subregion.

* Headers.cmake:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/filters/Filter.h:
(WebCore::Filter::effectGeometry const):
* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::determineFilterPrimitiveSubregion):
(WebCore::FilterEffect::apply):
* platform/graphics/filters/FilterEffect.h:
(WebCore::FilterEffect::hasX const): Deleted.
(WebCore::FilterEffect::setHasX): Deleted.
(WebCore::FilterEffect::hasY const): Deleted.
(WebCore::FilterEffect::setHasY): Deleted.
(WebCore::FilterEffect::hasWidth const): Deleted.
(WebCore::FilterEffect::setHasWidth): Deleted.
(WebCore::FilterEffect::hasHeight const): Deleted.
(WebCore::FilterEffect::setHasHeight): Deleted.
(WebCore::FilterEffect::effectBoundaries const): Deleted.
(WebCore::FilterEffect::setEffectBoundaries): Deleted.
* platform/graphics/filters/FilterEffectGeometry.h: Added.
(WebCore::FilterEffectGeometry::FilterEffectGeometry):
(WebCore::FilterEffectGeometry::x const):
(WebCore::FilterEffectGeometry::y const):
(WebCore::FilterEffectGeometry::width const):
(WebCore::FilterEffectGeometry::height const):
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes const): Deleted.
* svg/SVGFilterPrimitiveStandardAttributes.h:
* svg/graphics/filters/SVGFilter.cpp:
(WebCore::SVGFilter::create):
(WebCore::SVGFilter::effectGeometry const):
* svg/graphics/filters/SVGFilter.h:
* svg/graphics/filters/SVGFilterBuilder.cpp:
(WebCore::boundarySetFlagsForElement):
(WebCore::SVGFilterBuilder::buildFilterEffects):
* svg/graphics/filters/SVGFilterBuilder.h:
(WebCore::SVGFilterBuilder::takeEffectGeometryMap):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Headers.cmake
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/platform/graphics/filters/Filter.h
trunk/Source/WebCore/platform/graphics/filters/FilterEffect.cpp
trunk/Source/WebCore/platform/graphics/filters/FilterEffect.h
trunk/Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.cpp
trunk/Source/WebCore/svg/SVGFilterPrimitiveStandardAttributes.h
trunk/Source/WebCore/svg/graphics/filters/SVGFilter.cpp
trunk/Source/WebCore/svg/graphics/filters/SVGFilter.h
trunk/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.cpp
trunk/Source/WebCore/svg/graphics/filters/SVGFilterBuilder.h


Added Paths

trunk/Source/WebCore/platform/graphics/filters/FilterEffectGeometry.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (286465 => 286466)

--- trunk/Source/WebCore/ChangeLog	2021-12-03 00:35:11 UTC (rev 286465)
+++ trunk/Source/WebCore/ChangeLog	2021-12-03 00:37:00 UTC (rev 286466)
@@ -1,3 +1,58 @@
+2021-12-02  Said Abou-Hallawa  
+
+[GPU Process] Move the FilterEffect boundaries to a new class FilterEffectGeometry
+https://bugs.webkit.org/show_bug.cgi?id=233618
+rdar://85881969
+
+Reviewed by Cameron McCormack.
+
+The plan is to have Filter own its geometry and the geometry of the
+FilterEffects. So move the boundaries and their flags from FilterEffect 
+to a new class called FilterEffectGeometry. 
+
+SVGFilterBuilder will calculate the FilterEffectGeometry for each FilterEffect
+and store it in map { key: FilterEffect, value: FilterEffectGeometry }.
+Eventually this map is moved to SVGFilter which will be used in the
+virtual function effectGeometry(). determineFilterPrimitiveSubregion()
+will call this virtual function to calculate the primitive subregion.
+
+* Headers.cmake:
+* WebCore.xcodeproj/project.pbxproj:
+* platform/graphics/filters/Filter.h:
+(WebCore::Filter::effectGeometry const):
+* platform/graphics/filters/FilterEffect.cpp:
+(WebCore::FilterEffect::determineFilterPrimitiveSubregion):
+(WebCore::FilterEffect::apply):
+* platform/graphics/filters/FilterEffect.h:
+(WebCore::FilterEffect::hasX const): Deleted.
+(WebCore::FilterEffect::setHasX): Deleted.
+(WebCore::FilterEffect::hasY const): Deleted.
+(WebCore::FilterEffect::setHasY): Deleted.

[webkit-changes] [286465] trunk/Source

2021-12-02 Thread pvollan
Title: [286465] trunk/Source








Revision 286465
Author pvol...@apple.com
Date 2021-12-02 16:35:11 -0800 (Thu, 02 Dec 2021)


Log Message
[WP] Strengthen sandbox when AppCache is disabled
https://bugs.webkit.org/show_bug.cgi?id=233746


Reviewed by Brent Fulgham.

Source/WebKit:

When AppCache is disabled, we can remove access to some resources in the WebContent process' sandbox.
This is implemented using a new sandbox state variable representing the AppCache state.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/com.apple.WebProcess.sb.in:

Source/WTF:

Add HAVE macro for sandbox state flags support.

* wtf/PlatformHave.h:

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/PlatformHave.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in




Diff

Modified: trunk/Source/WTF/ChangeLog (286464 => 286465)

--- trunk/Source/WTF/ChangeLog	2021-12-03 00:32:06 UTC (rev 286464)
+++ trunk/Source/WTF/ChangeLog	2021-12-03 00:35:11 UTC (rev 286465)
@@ -1,3 +1,15 @@
+2021-12-02  Per Arne Vollan  
+
+[WP] Strengthen sandbox when AppCache is disabled
+https://bugs.webkit.org/show_bug.cgi?id=233746
+
+
+Reviewed by Brent Fulgham.
+
+Add HAVE macro for sandbox state flags support.
+
+* wtf/PlatformHave.h:
+
 2021-12-02  Megan Gardner  
 
 Re-add support of image control menus.


Modified: trunk/Source/WTF/wtf/PlatformHave.h (286464 => 286465)

--- trunk/Source/WTF/wtf/PlatformHave.h	2021-12-03 00:32:06 UTC (rev 286464)
+++ trunk/Source/WTF/wtf/PlatformHave.h	2021-12-03 00:35:11 UTC (rev 286465)
@@ -1106,3 +1106,8 @@
 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 12
 #undef HAVE_AV_DELEGATING_PLAYBACK_COORDINATOR
 #endif
+
+#if ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 13) \
+|| (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 16))
+#define HAVE_SANDBOX_STATE_FLAGS 1
+#endif


Modified: trunk/Source/WebKit/ChangeLog (286464 => 286465)

--- trunk/Source/WebKit/ChangeLog	2021-12-03 00:32:06 UTC (rev 286464)
+++ trunk/Source/WebKit/ChangeLog	2021-12-03 00:35:11 UTC (rev 286465)
@@ -1,3 +1,18 @@
+2021-12-02  Per Arne Vollan  
+
+[WP] Strengthen sandbox when AppCache is disabled
+https://bugs.webkit.org/show_bug.cgi?id=233746
+
+
+Reviewed by Brent Fulgham.
+
+When AppCache is disabled, we can remove access to some resources in the WebContent process' sandbox.
+This is implemented using a new sandbox state variable representing the AppCache state.
+
+* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
+* WebProcess/WebPage/WebPage.cpp:
+* WebProcess/com.apple.WebProcess.sb.in:
+
 2021-12-02  Megan Gardner  
 
 Re-add support of image control menus.


Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in (286464 => 286465)

--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2021-12-03 00:32:06 UTC (rev 286464)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2021-12-03 00:35:11 UTC (rev 286465)
@@ -1388,27 +1388,45 @@
 (when (defined? 'system-fcntl)
 (deny system-fcntl (with telemetry))
 (allow system-fcntl
-(fcntl-command F_BARRIERFSYNC)
-(fcntl-command F_GETCONFINED)
-(fcntl-command F_GETFL) ;; LibJPEGReadPlugin::copyImageBlockSetStandard
-(fcntl-command F_GETLK)
-(fcntl-command F_GETSIGSINFO)
-(fcntl-command F_NOCACHE)
-(fcntl-command F_OFD_GETLK)
-(fcntl-command F_OFD_SETLKWTIMEOUT)
-(fcntl-command F_RDADVISE)
-(fcntl-command F_SETCONFINED)
-(fcntl-command F_GETPATH) ;; used by dyld4 and CGFontURLCreate, getcwd (at least)
-(fcntl-command F_ADDFILESIGS_RETURN) ;; ImageLoaderMachO::loadCodeSignature
-(fcntl-command F_CHECK_LV) ;; ImageLoaderMachO::loadCodeSignature
-(fcntl-command F_SPECULATIVE_READ) ;; ImageLoaderMachO::mapSegments
-(fcntl-command F_SETFD) ;; libwebrtc.dylib (no backtrace)
-(fcntl-command F_GETFD) ;; libwebrtc.dylib (no backtrace)
-(fcntl-command F_SETFL) ;; CMCapture uses when camera is enabled
-(fcntl-command F_SETNOSIGPIPE)) ;; CMCapture uses when camera is enabled
+(fcntl-command
+F_GETPATH)) ;; used by dyld4 and CGFontURLCreate, getcwd (at least)
+(allow system-fcntl (with report) (with telemetry)
+(fcntl-command
+F_BARRIERFSYNC
+F_GETCONFINED
+F_GETFL ;; LibJPEGReadPlugin::copyImageBlockSetStandard
+F_GETSIGSINFO
+F_NOCACHE
+F_RDADVISE
+F_SETCONFINED
+F_ADDFILESIGS_RETURN 

[webkit-changes] [286464] trunk/Source/WebCore

2021-12-02 Thread cdumez
Title: [286464] trunk/Source/WebCore








Revision 286464
Author cdu...@apple.com
Date 2021-12-02 16:32:06 -0800 (Thu, 02 Dec 2021)


Log Message
Move Shared Worker classes to WebCore/workers/shared
https://bugs.webkit.org/show_bug.cgi?id=233769

Reviewed by Alex Christensen.

Move Shared Worker classes to WebCore/workers/shared, for better structuring and consistency
with WebCore/workers/service.

* CMakeLists.txt:
* DerivedSources.make:
* WebCore.xcodeproj/project.pbxproj:
* workers/shared/SharedWorker.cpp: Renamed from Source/WebCore/workers/SharedWorker.cpp.
* workers/shared/SharedWorker.h: Renamed from Source/WebCore/workers/SharedWorker.h.
* workers/shared/SharedWorker.idl: Renamed from Source/WebCore/workers/SharedWorker.idl.
* workers/shared/SharedWorkerGlobalScope.cpp: Renamed from Source/WebCore/workers/SharedWorkerGlobalScope.cpp.
* workers/shared/SharedWorkerGlobalScope.h: Renamed from Source/WebCore/workers/SharedWorkerGlobalScope.h.
* workers/shared/SharedWorkerGlobalScope.idl: Renamed from Source/WebCore/workers/SharedWorkerGlobalScope.idl.

Modified Paths

trunk/Source/WebCore/CMakeLists.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/DerivedSources-input.xcfilelist
trunk/Source/WebCore/DerivedSources.make
trunk/Source/WebCore/Sources.txt
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj


Added Paths

trunk/Source/WebCore/workers/shared/
trunk/Source/WebCore/workers/shared/SharedWorker.cpp
trunk/Source/WebCore/workers/shared/SharedWorker.h
trunk/Source/WebCore/workers/shared/SharedWorker.idl
trunk/Source/WebCore/workers/shared/SharedWorkerGlobalScope.cpp
trunk/Source/WebCore/workers/shared/SharedWorkerGlobalScope.h
trunk/Source/WebCore/workers/shared/SharedWorkerGlobalScope.idl


Removed Paths

trunk/Source/WebCore/workers/SharedWorker.cpp
trunk/Source/WebCore/workers/SharedWorker.h
trunk/Source/WebCore/workers/SharedWorker.idl
trunk/Source/WebCore/workers/SharedWorkerGlobalScope.cpp
trunk/Source/WebCore/workers/SharedWorkerGlobalScope.h
trunk/Source/WebCore/workers/SharedWorkerGlobalScope.idl




Diff

Modified: trunk/Source/WebCore/CMakeLists.txt (286463 => 286464)

--- trunk/Source/WebCore/CMakeLists.txt	2021-12-03 00:14:48 UTC (rev 286463)
+++ trunk/Source/WebCore/CMakeLists.txt	2021-12-03 00:32:06 UTC (rev 286464)
@@ -176,6 +176,7 @@
 "${WEBCORE_DIR}/workers/service"
 "${WEBCORE_DIR}/workers/service/context"
 "${WEBCORE_DIR}/workers/service/server"
+"${WEBCORE_DIR}/workers/shared"
 "${WEBCORE_DIR}/worklets"
 "${WEBCORE_DIR}/xml"
 "${WEBCORE_DIR}/xml/parser"
@@ -1212,8 +1213,6 @@
 
 workers/AbstractWorker.idl
 workers/DedicatedWorkerGlobalScope.idl
-workers/SharedWorker.idl
-workers/SharedWorkerGlobalScope.idl
 workers/Worker.idl
 workers/WorkerGlobalScope.idl
 workers/WorkerLocation.idl
@@ -1236,6 +1235,9 @@
 workers/service/ServiceWorkerUpdateViaCache.idl
 workers/service/ServiceWorkerWindowClient.idl
 
+workers/shared/SharedWorker.idl
+workers/shared/SharedWorkerGlobalScope.idl
+
 worklets/PaintWorkletGlobalScope.idl
 worklets/Worklet.idl
 worklets/WorkletGlobalScope.idl


Modified: trunk/Source/WebCore/ChangeLog (286463 => 286464)

--- trunk/Source/WebCore/ChangeLog	2021-12-03 00:14:48 UTC (rev 286463)
+++ trunk/Source/WebCore/ChangeLog	2021-12-03 00:32:06 UTC (rev 286464)
@@ -1,3 +1,23 @@
+2021-12-02  Chris Dumez  
+
+Move Shared Worker classes to WebCore/workers/shared
+https://bugs.webkit.org/show_bug.cgi?id=233769
+
+Reviewed by Alex Christensen.
+
+Move Shared Worker classes to WebCore/workers/shared, for better structuring and consistency
+with WebCore/workers/service.
+
+* CMakeLists.txt:
+* DerivedSources.make:
+* WebCore.xcodeproj/project.pbxproj:
+* workers/shared/SharedWorker.cpp: Renamed from Source/WebCore/workers/SharedWorker.cpp.
+* workers/shared/SharedWorker.h: Renamed from Source/WebCore/workers/SharedWorker.h.
+* workers/shared/SharedWorker.idl: Renamed from Source/WebCore/workers/SharedWorker.idl.
+* workers/shared/SharedWorkerGlobalScope.cpp: Renamed from Source/WebCore/workers/SharedWorkerGlobalScope.cpp.
+* workers/shared/SharedWorkerGlobalScope.h: Renamed from Source/WebCore/workers/SharedWorkerGlobalScope.h.
+* workers/shared/SharedWorkerGlobalScope.idl: Renamed from Source/WebCore/workers/SharedWorkerGlobalScope.idl.
+
 2021-12-02  Megan Gardner  
 
 Re-add support of image control menus.


Modified: trunk/Source/WebCore/DerivedSources-input.xcfilelist (286463 => 286464)

--- trunk/Source/WebCore/DerivedSources-input.xcfilelist	2021-12-03 00:14:48 UTC (rev 286463)
+++ trunk/Source/WebCore/DerivedSources-input.xcfilelist	2021-12-03 00:32:06 UTC (rev 286464)
@@ -1639,6 +1639,8 @@
 $(PROJECT_DIR)/workers/service/ServiceWorkerRegistration.idl
 $(PROJECT_DIR)/workers/service/ServiceWorkerUpdateViaCache.idl
 

[webkit-changes] [286463] branches/safari-612-branch/Source/WebCore/page/csp/ ContentSecurityPolicy.cpp

2021-12-02 Thread alancoon
Title: [286463] branches/safari-612-branch/Source/WebCore/page/csp/ContentSecurityPolicy.cpp








Revision 286463
Author alanc...@apple.com
Date 2021-12-02 16:14:48 -0800 (Thu, 02 Dec 2021)


Log Message
Unreviewed build fix. rdar://problem/85943167

candidate function not viable: no known conversion from 'const WTF::String' to 'const WTF::URL' for 3rd argument

Modified Paths

branches/safari-612-branch/Source/WebCore/page/csp/ContentSecurityPolicy.cpp




Diff

Modified: branches/safari-612-branch/Source/WebCore/page/csp/ContentSecurityPolicy.cpp (286462 => 286463)

--- branches/safari-612-branch/Source/WebCore/page/csp/ContentSecurityPolicy.cpp	2021-12-03 00:12:52 UTC (rev 286462)
+++ branches/safari-612-branch/Source/WebCore/page/csp/ContentSecurityPolicy.cpp	2021-12-03 00:14:48 UTC (rev 286463)
@@ -570,7 +570,7 @@
 TextPosition sourcePosition(WTF::OrdinalNumber::beforeFirst(), WTF::OrdinalNumber());
 auto handleViolatedDirective = [&] (const ContentSecurityPolicyDirective& violatedDirective) {
 String consoleMessage = consoleMessageForViolation(name, violatedDirective, blockedURL, "Refused to load");
-reportViolation(name, violatedDirective, blockedURL.string(), consoleMessage, sourceURL, sourcePosition);
+reportViolation(name, violatedDirective, blockedURL, consoleMessage, sourceURL, sourcePosition);
 };
 return allPoliciesAllow(WTFMove(handleViolatedDirective), resourcePredicate, url, redirectResponseReceived == RedirectResponseReceived::Yes);
 }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286462] trunk

2021-12-02 Thread sbarati
Title: [286462] trunk








Revision 286462
Author sbar...@apple.com
Date 2021-12-02 16:12:52 -0800 (Thu, 02 Dec 2021)


Log Message
Fix OOM crash in JSValue::toWTFStringForConsole
https://bugs.webkit.org/show_bug.cgi?id=233775


Reviewed by Mark Lam.

JSTests:

* stress/pretty-print-oom.js: Added.

Source/_javascript_Core:

* runtime/JSCJSValue.cpp:
(JSC::JSValue::toWTFStringForConsole const):

Modified Paths

trunk/JSTests/ChangeLog
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/runtime/JSCJSValue.cpp


Added Paths

trunk/JSTests/stress/pretty-print-oom.js




Diff

Modified: trunk/JSTests/ChangeLog (286461 => 286462)

--- trunk/JSTests/ChangeLog	2021-12-02 23:49:57 UTC (rev 286461)
+++ trunk/JSTests/ChangeLog	2021-12-03 00:12:52 UTC (rev 286462)
@@ -1,3 +1,13 @@
+2021-12-02  Saam Barati  
+
+Fix OOM crash in JSValue::toWTFStringForConsole
+https://bugs.webkit.org/show_bug.cgi?id=233775
+
+
+Reviewed by Mark Lam.
+
+* stress/pretty-print-oom.js: Added.
+
 2021-11-30  Saam Barati  
 
 GetMyArgumentByValOutOfBounds needs to check for negative indices


Added: trunk/JSTests/stress/pretty-print-oom.js (0 => 286462)

--- trunk/JSTests/stress/pretty-print-oom.js	(rev 0)
+++ trunk/JSTests/stress/pretty-print-oom.js	2021-12-03 00:12:52 UTC (rev 286462)
@@ -0,0 +1,4 @@
+//@ skip if $memoryLimited
+//@ runNoisyTestDefault
+
+prettyPrint('a'.repeat(2 ** 31 - 1));


Modified: trunk/Source/_javascript_Core/ChangeLog (286461 => 286462)

--- trunk/Source/_javascript_Core/ChangeLog	2021-12-02 23:49:57 UTC (rev 286461)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-12-03 00:12:52 UTC (rev 286462)
@@ -1,3 +1,14 @@
+2021-12-02  Saam Barati  
+
+Fix OOM crash in JSValue::toWTFStringForConsole
+https://bugs.webkit.org/show_bug.cgi?id=233775
+
+
+Reviewed by Mark Lam.
+
+* runtime/JSCJSValue.cpp:
+(JSC::JSValue::toWTFStringForConsole const):
+
 2021-12-02  Zan Dobersek  
 
 [RISCV64] Fix effective address loading for LabelReferences with offsets


Modified: trunk/Source/_javascript_Core/runtime/JSCJSValue.cpp (286461 => 286462)

--- trunk/Source/_javascript_Core/runtime/JSCJSValue.cpp	2021-12-02 23:49:57 UTC (rev 286461)
+++ trunk/Source/_javascript_Core/runtime/JSCJSValue.cpp	2021-12-03 00:12:52 UTC (rev 286462)
@@ -474,9 +474,9 @@
 String result = string->value(globalObject);
 RETURN_IF_EXCEPTION(scope, { });
 if (isString())
-return makeString("\"", result, "\"");
+return tryMakeString("\"", result, "\"");
 if (jsDynamicCast(vm, *this))
-return makeString("[", result, "]");
+return tryMakeString("[", result, "]");
 return result;
 }
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286461] trunk

2021-12-02 Thread megan_gardner
Title: [286461] trunk








Revision 286461
Author megan_gard...@apple.com
Date 2021-12-02 15:49:57 -0800 (Thu, 02 Dec 2021)


Log Message
Re-add support of image control menus.
https://bugs.webkit.org/show_bug.cgi?id=233305

Reviewed by Tim Horton.

Source/WebCore:

Test: fast/images/image-controls-basic.html

Image control menus are needed for mail transition to modern WebKit, so re-add them
after the removal in https://trac.webkit.org/changeset/272117/webkit

* DerivedSources-input.xcfilelist:
* DerivedSources.make:
* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSProperties.json:
* css/CSSValueKeywords.in:
* css/parser/CSSParserIdioms.cpp:
(WebCore::isValueAllowedInMode):
* dom/mac/ImageControlsMac.cpp: Added.
(WebCore::ImageControlsMac::imageControlsElementIdentifier):
(WebCore::ImageControlsMac::imageControlsButtonIdentifier):
(WebCore::ImageControlsMac::hasControls):
(WebCore::ImageControlsMac::imageControlHost):
(WebCore::ImageControlsMac::isImageControlsButtonElement):
(WebCore::ImageControlsMac::containerRect):
(WebCore::ImageControlsMac::createImageControls):
* dom/mac/ImageControlsMac.h: Added.
* html/HTMLAttributeNames.in:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::didAttachRenderers):
(WebCore::HTMLImageElement::updateImageControls):
(WebCore::HTMLImageElement::tryCreateImageControls):
(WebCore::HTMLImageElement::destroyImageControls):
(WebCore::HTMLImageElement::hasImageControls const):
(WebCore::HTMLImageElement::childShouldCreateRenderer const):
* html/HTMLImageElement.h:
(WebCore::HTMLImageElement::hasShadowControls const):
* html/shadow/mac/ImageControlsMac.css: Added.
(#if defined(ENABLE_SERVICE_CONTROLS) && ENABLE_SERVICE_CONTROLS):
(button#image-controls-button):
(div#image-controls:hover button#image-controls-button):
* html/shadow/mac/ImageControlsRootElementMac.cpp: Added.
(WebCore::xWebkitImageControlsElementIdentifier):
(WebCore::RenderImageControls::RenderImageControls):
(WebCore::RenderImageControls::updateLogicalWidth):
(WebCore::RenderImageControls::computeLogicalHeight const):
(WebCore::hasControl):
(WebCore::imageControlHost):
(WebCore::isImageControls):
(WebCore::ImageControlsRootElement::tryCreate):
(WebCore::ImageControlsRootElementMac::ImageControlsRootElementMac):
(WebCore::ImageControlsRootElementMac::createElementRenderer):
* html/shadow/mac/ImageControlsRootElementMac.h: Added.
* page/ContextMenuController.cpp:
(WebCore::imageFromImageElementNode):
(WebCore::ContextMenuController::maybeCreateContextMenu):
(WebCore::ContextMenuController::showImageControlsMenu):
* page/ContextMenuController.h:
* page/EventHandler.cpp:
(WebCore::EventHandler::textRecognitionCandidateElement const):
* platform/ThemeTypes.cpp:
(WebCore::operator<<):
* platform/ThemeTypes.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::RenderImage):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::adjustImageControlsButtonStyle const):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::imageControlsButtonSize const):
(WebCore::RenderTheme::imageControlsButtonPositionOffset const):
(WebCore::RenderTheme::paintImageControlsButton):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::documentViewFor const):
(WebCore::RenderThemeMac::adjustImageControlsButtonStyle const):
(WebCore::RenderThemeMac::servicesRolloverButtonCell const):
(WebCore::RenderThemeMac::paintImageControlsButton):
(WebCore::RenderThemeMac::imageControlsButtonSize const):
(WebCore::RenderThemeMac::imageControlsButtonPositionOffset const):
* style/UserAgentStyle.cpp:
* style/UserAgentStyle.h:

Source/WebCore/PAL:

Move SPI to SPI specific file.

* PAL.xcodeproj/project.pbxproj:
* pal/spi/mac/NSServicesRolloverButtonCellSPI.h: Added.

Source/WebKit:

Image control menus are needed for mail transition to modern WebKit, so re-add them
after the removal in https://trac.webkit.org/changeset/272117/webkit

* Platform/spi/mac/AppKitSPI.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetImageControlsEnabled):
(WKPreferencesGetImageControlsEnabled):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _setupPageConfiguration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _imageControlsEnabled]):
(-[WKWebViewConfiguration _setImageControlsEnabled:]):
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:

Source/WTF:

* Scripts/Preferences/WebPreferences.yaml:

LayoutTests:

Update tests to account for image controls.

* fast/images/image-controls-basic.html: Added.
* fast/images/image-controls-basic-expected.txt: Added.
* 

[webkit-changes] [286460] trunk/Source/WebKit

2021-12-02 Thread pvollan
Title: [286460] trunk/Source/WebKit








Revision 286460
Author pvol...@apple.com
Date 2021-12-02 15:48:09 -0800 (Thu, 02 Dec 2021)


Log Message
[iOS] Add required system call to WebKit sandboxes
https://bugs.webkit.org/show_bug.cgi?id=233730


Reviewed by Brent Fulgham.

* 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 (286459 => 286460)

--- trunk/Source/WebKit/ChangeLog	2021-12-02 23:37:18 UTC (rev 286459)
+++ trunk/Source/WebKit/ChangeLog	2021-12-02 23:48:09 UTC (rev 286460)
@@ -1,3 +1,18 @@
+2021-12-02  Per Arne Vollan  
+
+[iOS] Add required system call to WebKit sandboxes
+https://bugs.webkit.org/show_bug.cgi?id=233730
+
+
+Reviewed by Brent Fulgham.
+
+* 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-02  Myles C. Maxfield  
 
 [WebGPU] Hook up navigator.gpu.requestAdapter()


Modified: trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in (286459 => 286460)

--- trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in	2021-12-02 23:37:18 UTC (rev 286459)
+++ trunk/Source/WebKit/GPUProcess/mac/com.apple.WebKit.GPUProcess.sb.in	2021-12-02 23:48:09 UTC (rev 286460)
@@ -1002,3 +1002,6 @@
 SYS_ulock_wake
 SYS_work_interval_ctl
 SYS_workq_kernreturn)))
+
+(when (defined? 'SYS__map_with_linking_np)
+(allow syscall-unix SYS__map_with_linking_np))


Modified: trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in (286459 => 286460)

--- trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in	2021-12-02 23:37:18 UTC (rev 286459)
+++ trunk/Source/WebKit/NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in	2021-12-02 23:48:09 UTC (rev 286460)
@@ -570,6 +570,9 @@
 SYS_ulock_wake
 SYS_workq_kernreturn)))
 
+(when (defined? 'SYS__map_with_linking_np)
+(allow syscall-unix SYS__map_with_linking_np))
+
 #if HAVE(SANDBOX_MESSAGE_FILTERING)
 (when (and (equal? (param "ENABLE_SANDBOX_MESSAGE_FILTER") "YES") (defined? 'mach-kernel-endpoint))
 (allow mach-kernel-endpoint


Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb (286459 => 286460)

--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb	2021-12-02 23:37:18 UTC (rev 286459)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb	2021-12-02 23:48:09 UTC (rev 286460)
@@ -807,6 +807,9 @@
 SYS_write_nocancel
 SYS_writev)))
 
+(when (defined? 'SYS__map_with_linking_np)
+(allow syscall-unix SYS__map_with_linking_np))
+
 (when (defined? 'syscall-mach)
 (allow syscall-mach (with telemetry))
 (allow syscall-mach


Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb (286459 => 286460)

--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb	2021-12-02 23:37:18 UTC (rev 286459)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.Networking.sb	2021-12-02 23:48:09 UTC (rev 286460)
@@ -737,6 +737,9 @@
 SYS_write_nocancel
 SYS_writev)))
 
+(when (defined? 'SYS__map_with_linking_np)
+(allow syscall-unix SYS__map_with_linking_np))
+
 (when (defined? 'syscall-mach)
 (allow syscall-mach (with report) (with telemetry))
 (allow syscall-mach


Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in (286459 => 286460)

--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2021-12-02 23:37:18 UTC (rev 286459)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2021-12-02 23:48:09 UTC (rev 286460)
@@ -1368,6 +1368,9 @@
 (syscall-number SYS_writev))
 )
 
+(when (defined? 'SYS__map_with_linking_np)
+(allow syscall-unix 

[webkit-changes] [286459] trunk/Source

2021-12-02 Thread mmaxfield
Title: [286459] trunk/Source








Revision 286459
Author mmaxfi...@apple.com
Date 2021-12-02 15:37:18 -0800 (Thu, 02 Dec 2021)


Log Message
[WebGPU] Hook up navigator.gpu.requestAdapter()
https://bugs.webkit.org/show_bug.cgi?id=233619

Source/WebCore:

Reviewed by Dean Jackson.

Hook up Navigator.GPU to WebKitLegacy/WebKit (via ChromeClient) so WebKit can provide a
RemoteGPUProxy "backing" object.

I have a test for this! But unfortunately I can't commit it yet because HAVE(WEBGPU_IMPLEMENTATION)
has to be off until Apple configures its internal build system. As soon as that's done, I'll add
the test for this!!! (The test passes when run locally.)

* Configurations/WebCore.xcconfig: Weak link with WebGPU.framework. This will
succeed even if WebGPU.framework doesn't exist.
* Modules/WebGPU/GPU.cpp:
(WebCore::GPU::setBacking): This is for WorkerNavigator. To create a GPU object, we have to
go through ChromeClient, which means we have to use the main thread. This means that creating
the GPU object has to be asynchronous on workers. We handle this by having
WorkerNavigator::gpu() return a shell object with no "backing," and asynchronously kick off a
task to construct a backing object and connect it to the shell object. If content calls
requestAdapter() on the shell, that function is already async, so we just fold in the wait for
the backing into the already-existing wait we have to do as a matter of course. This implements
that.
(WebCore::GPU::requestAdapter):
* Modules/WebGPU/GPU.h:
(WebCore::GPU::create):
(WebCore::GPU::backing): Deleted.
(WebCore::GPU::backing const): Deleted.
(WebCore::GPU::GPU): Deleted.
* Modules/WebGPU/GPUDevice.cpp:
(WebCore::GPUDevice::popErrorScope):
* page/Chrome.cpp:
(WebCore::Chrome::createGPUForWebGPU const): Ask WebKit / WebKitLegacy what kind of backing we
should be using.
* page/Chrome.h:
* page/ChromeClient.h:
(WebCore::ChromeClient::createGPUForWebGPU const):
* page/Navigator.cpp:
(WebCore::Navigator::gpu):
* page/Navigator.h:
* page/NavigatorBase.h:
(WebCore::NavigatorBase::gpu): Deleted.
* page/WorkerNavigator.cpp:
(WebCore::WorkerNavigator::gpu):
* page/WorkerNavigator.h:

Source/WebGPU:

Just hook up enough for Instance::requestAdapter() to not fail.

Reviewed by Dean Jackson.

* WebGPU/Adapter.mm:
(WebGPU::Adapter::getLimits):
* WebGPU/Instance.mm:
(WebGPU::Instance::requestAdapter):
(wgpuCreateInstance):
(wgpuInstanceRequestAdapter):

Source/WebKit:

Reviewed by Dean Jackson.

This hooks up a new message, GPUConnectionToWebProcess::createRemoteGPU(), which starts
the whole WebGPU GPU process infrastructure.

* Configurations/BaseTarget.xcconfig: We have to be able to #include files from WebGPU.
* GPUProcess/GPUConnectionToWebProcess.cpp:
(WebKit::GPUConnectionToWebProcess::createRemoteGPU): GPUConnectionToWebProcess owns
the RemoteGPUs.
* GPUProcess/GPUConnectionToWebProcess.h:
* GPUProcess/GPUConnectionToWebProcess.messages.in:
* Sources.txt:
* WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.cpp:
(WebKit::RemoteGPUProxy::RemoteGPUProxy): Creating a RemoteGPUProxy needs to send a
message to the GPU process to start the GPU process infrastructure. We block while we're
waiting for the reply from the GPU process. This was copied from RemoteGraphicsContextGL.
(WebKit::RemoteGPUProxy::gpuProcessConnectionDidClose):
* WebProcess/GPU/graphics/WebGPU/RemoteGPUProxy.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp: Hook up RemoteGPUProxy to WebCore.
(WebKit::WebChromeClient::createGPUForWebGPU const):
* WebProcess/WebCoreSupport/WebChromeClient.h:

Source/WebKitLegacy/mac:

Reviewed by Dean Jackson.

* Configurations/WebKitLegacy.xcconfig: We have to be able to #include files from WebGPU.
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::createGPUForWebGPU const): Hook up GPUImpl to WebCore.

Source/WTF:

Reviewed by Dean Jackson.

* wtf/PlatformHave.h: Create a HAVE() macro, by default off. As we bring
more infrastructure online, this will eventually flip to on.

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/PlatformHave.h
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Configurations/WebCore.xcconfig
trunk/Source/WebCore/Modules/WebGPU/GPU.cpp
trunk/Source/WebCore/Modules/WebGPU/GPU.h
trunk/Source/WebCore/Modules/WebGPU/GPUDevice.cpp
trunk/Source/WebCore/page/Chrome.cpp
trunk/Source/WebCore/page/Chrome.h
trunk/Source/WebCore/page/ChromeClient.h
trunk/Source/WebCore/page/Navigator.cpp
trunk/Source/WebCore/page/Navigator.h
trunk/Source/WebCore/page/NavigatorBase.h
trunk/Source/WebCore/page/WorkerNavigator.cpp
trunk/Source/WebCore/page/WorkerNavigator.h
trunk/Source/WebGPU/ChangeLog
trunk/Source/WebGPU/WebGPU/Adapter.mm
trunk/Source/WebGPU/WebGPU/Instance.mm
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Configurations/BaseTarget.xcconfig
trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.cpp
trunk/Source/WebKit/GPUProcess/GPUConnectionToWebProcess.h

[webkit-changes] [286458] trunk

2021-12-02 Thread drousso
Title: [286458] trunk








Revision 286458
Author drou...@apple.com
Date 2021-12-02 15:26:22 -0800 (Thu, 02 Dec 2021)


Log Message
[css-values-4] Support `*vi` (inline) and `*vb` (block) viewport units
https://bugs.webkit.org/show_bug.cgi?id=232895


Reviewed by Simon Fraser.

Source/WebCore:

`*vi` is equal to 1% of the size of the UA-default/large/small/dynamic viewport size in the direction of the root element’s inline axis.
`*vb` is equal to 1% of the size of the initial containing block UA-default/small/large/dynamic viewport size in the direction of the root element’s block axis.
As an example, on `about:blank`:
- `vi` would be equal to `vw`
- `vb` would be equal to `vh`
- `svi` would be equal to `svw`
- `svb` would be equal to `svh`
- `lvi` would be equal to `lvw`
- `lvb` would be equal to `lvh`
- `dvi` would be equal to `dvw`
- `dvb` would be equal to `dvh`

Spec: 

Tests: CSSViewportUnits.AllSame
   CSSViewportUnits.EmptyUnobscuredSizeOverrides
   CSSViewportUnits.SameUnobscuredSizeOverrides
   CSSViewportUnits.DifferentUnobscuredSizeOverrides
   CSSViewportUnits.SVGDocument

* css/CSSUnits.h:
* css/CSSUnits.cpp:
(WebCore::operator<<):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::isViewportPercentageLength):
* css/CSSPrimitiveValue.cpp:
(WebCore::isValidCSSUnitTypeForDoubleConversion):
(WebCore::isStringType):
(WebCore::CSSPrimitiveValue::cleanup):
(WebCore::lengthOfViewportPhysicalAxisForLogicalAxis): Added.
(WebCore::CSSPrimitiveValue::computeUnzoomedNonCalcLengthDouble):
(WebCore::CSSPrimitiveValue::computeNonCalcLengthDouble):
(WebCore::CSSPrimitiveValue::unitTypeString):
(WebCore::CSSPrimitiveValue::formatNumberForCustomCSSText const):
(WebCore::CSSPrimitiveValue::equals const):
* css/parser/CSSParserToken.cpp:
(WebCore::cssPrimitiveValueUnitFromTrie):
* css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::consumeLengthRawWithKnownTokenTypeDimension):
* css/calc/CSSCalcCategoryMapping.cpp:
(WebCore::calcUnitCategory):
(WebCore::calculationCategoryForCombination):
(WebCore::hasDoubleValue):

Source/WebInspectorUI:

* UserInterface/Models/CSSCompletions.js:

Tools:

* TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.html:
* TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.svg: Added.
* TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.mm:
(TEST.CSSViewportUnits.AllSame):
(TEST.CSSViewportUnits.EmptyUnobscuredSizeOverrides):
(TEST.CSSViewportUnits.SameUnobscuredSizeOverrides):
(TEST.CSSViewportUnits.DifferentUnobscuredSizeOverrides):
(TEST.CSSViewportUnits.SVGDocument): Added.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/css/CSSPrimitiveValue.cpp
trunk/Source/WebCore/css/CSSPrimitiveValue.h
trunk/Source/WebCore/css/CSSUnits.cpp
trunk/Source/WebCore/css/CSSUnits.h
trunk/Source/WebCore/css/calc/CSSCalcCategoryMapping.cpp
trunk/Source/WebCore/css/parser/CSSParserToken.cpp
trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp
trunk/Source/WebInspectorUI/ChangeLog
trunk/Source/WebInspectorUI/UserInterface/Models/CSSCompletions.js
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.html
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.mm


Added Paths

trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/CSSViewportUnits.svg




Diff

Modified: trunk/Source/WebCore/ChangeLog (286457 => 286458)

--- trunk/Source/WebCore/ChangeLog	2021-12-02 23:07:02 UTC (rev 286457)
+++ trunk/Source/WebCore/ChangeLog	2021-12-02 23:26:22 UTC (rev 286458)
@@ -1,3 +1,55 @@
+2021-12-02  Devin Rousso  
+
+[css-values-4] Support `*vi` (inline) and `*vb` (block) viewport units
+https://bugs.webkit.org/show_bug.cgi?id=232895
+
+
+Reviewed by Simon Fraser.
+
+`*vi` is equal to 1% of the size of the UA-default/large/small/dynamic viewport size in the direction of the root element’s inline axis.
+`*vb` is equal to 1% of the size of the initial containing block UA-default/small/large/dynamic viewport size in the direction of the root element’s block axis.
+As an example, on `about:blank`:
+- `vi` would be equal to `vw`
+- `vb` would be equal to `vh`
+- `svi` would be equal to `svw`
+- `svb` would be equal to `svh`
+- `lvi` would be equal to `lvw`
+- `lvb` would be equal to `lvh`
+- `dvi` would be equal to `dvw`
+- `dvb` would be equal to `dvh`
+
+Spec: 
+
+Tests: CSSViewportUnits.AllSame
+   CSSViewportUnits.EmptyUnobscuredSizeOverrides
+   CSSViewportUnits.SameUnobscuredSizeOverrides
+   CSSViewportUnits.DifferentUnobscuredSizeOverrides
+   CSSViewportUnits.SVGDocument
+
+* css/CSSUnits.h:
+* css/CSSUnits.cpp:
+(WebCore::operator<<):
+* css/CSSPrimitiveValue.h:
+

[webkit-changes] [286457] branches/safari-612-branch/Source

2021-12-02 Thread repstein
Title: [286457] branches/safari-612-branch/Source








Revision 286457
Author repst...@apple.com
Date 2021-12-02 15:07:02 -0800 (Thu, 02 Dec 2021)


Log Message
Unreviewed versioning fix.

rdar://85990909

Modified Paths

branches/safari-612-branch/Source/_javascript_Core/Configurations/Version.xcconfig
branches/safari-612-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig
branches/safari-612-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig
branches/safari-612-branch/Source/WebCore/Configurations/Version.xcconfig
branches/safari-612-branch/Source/WebCore/PAL/Configurations/Version.xcconfig
branches/safari-612-branch/Source/WebInspectorUI/Configurations/Version.xcconfig
branches/safari-612-branch/Source/WebKit/Configurations/Version.xcconfig
branches/safari-612-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig




Diff

Modified: branches/safari-612-branch/Source/_javascript_Core/Configurations/Version.xcconfig (286456 => 286457)

--- branches/safari-612-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-12-02 23:05:08 UTC (rev 286456)
+++ branches/safari-612-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-12-02 23:07:02 UTC (rev 286457)
@@ -21,7 +21,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
 
-MAJOR_VERSION = 613;
+MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 1;
 MICRO_VERSION = 0;


Modified: branches/safari-612-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (286456 => 286457)

--- branches/safari-612-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-12-02 23:05:08 UTC (rev 286456)
+++ branches/safari-612-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-12-02 23:07:02 UTC (rev 286457)
@@ -21,7 +21,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
 
-MAJOR_VERSION = 613;
+MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 1;
 MICRO_VERSION = 0;


Modified: branches/safari-612-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (286456 => 286457)

--- branches/safari-612-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-12-02 23:05:08 UTC (rev 286456)
+++ branches/safari-612-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-12-02 23:07:02 UTC (rev 286457)
@@ -21,7 +21,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
 
-MAJOR_VERSION = 613;
+MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 1;
 MICRO_VERSION = 0;


Modified: branches/safari-612-branch/Source/WebCore/Configurations/Version.xcconfig (286456 => 286457)

--- branches/safari-612-branch/Source/WebCore/Configurations/Version.xcconfig	2021-12-02 23:05:08 UTC (rev 286456)
+++ branches/safari-612-branch/Source/WebCore/Configurations/Version.xcconfig	2021-12-02 23:07:02 UTC (rev 286457)
@@ -21,7 +21,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
 
-MAJOR_VERSION = 613;
+MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 1;
 MICRO_VERSION = 0;


Modified: branches/safari-612-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (286456 => 286457)

--- branches/safari-612-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-12-02 23:05:08 UTC (rev 286456)
+++ branches/safari-612-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-12-02 23:07:02 UTC (rev 286457)
@@ -21,7 +21,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
 
-MAJOR_VERSION = 613;
+MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 1;
 MICRO_VERSION = 0;


Modified: branches/safari-612-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (286456 => 286457)

--- branches/safari-612-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-12-02 23:05:08 UTC (rev 286456)
+++ branches/safari-612-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-12-02 23:07:02 UTC (rev 286457)
@@ -1,4 +1,4 @@
-MAJOR_VERSION = 613;
+MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 1;
 MICRO_VERSION = 0;


Modified: branches/safari-612-branch/Source/WebKit/Configurations/Version.xcconfig (286456 => 286457)

--- branches/safari-612-branch/Source/WebKit/Configurations/Version.xcconfig	2021-12-02 23:05:08 UTC (rev 286456)
+++ branches/safari-612-branch/Source/WebKit/Configurations/Version.xcconfig	2021-12-02 23:07:02 UTC (rev 286457)
@@ -21,7 +21,7 @@
 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
 

[webkit-changes] [286456] trunk/Source/WebCore

2021-12-02 Thread cdumez
Title: [286456] trunk/Source/WebCore








Revision 286456
Author cdu...@apple.com
Date 2021-12-02 15:05:08 -0800 (Thu, 02 Dec 2021)


Log Message
Unreviewed follow-up to r286453 to address comments from Darin.

* dom/MessageChannel.h:
(WebCore::MessageChannel::port1 const):
(WebCore::MessageChannel::port2 const):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/MessageChannel.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (286455 => 286456)

--- trunk/Source/WebCore/ChangeLog	2021-12-02 22:59:38 UTC (rev 286455)
+++ trunk/Source/WebCore/ChangeLog	2021-12-02 23:05:08 UTC (rev 286456)
@@ -1,5 +1,13 @@
 2021-12-02  Chris Dumez  
 
+Unreviewed follow-up to r286453 to address comments from Darin.
+
+* dom/MessageChannel.h:
+(WebCore::MessageChannel::port1 const):
+(WebCore::MessageChannel::port2 const):
+
+2021-12-02  Chris Dumez  
+
 [WK2] Make Web Lock API work across multiple WebProcesses
 https://bugs.webkit.org/show_bug.cgi?id=233719
 


Modified: trunk/Source/WebCore/dom/MessageChannel.h (286455 => 286456)

--- trunk/Source/WebCore/dom/MessageChannel.h	2021-12-02 22:59:38 UTC (rev 286455)
+++ trunk/Source/WebCore/dom/MessageChannel.h	2021-12-02 23:05:08 UTC (rev 286456)
@@ -39,8 +39,8 @@
 static Ref create(ScriptExecutionContext&);
 ~MessageChannel();
 
-MessagePort& port1() const { return m_ports.first.get(); }
-MessagePort& port2() const { return m_ports.second.get(); }
+MessagePort& port1() const { return m_ports.first; }
+MessagePort& port2() const { return m_ports.second; }
 
 private:
 explicit MessageChannel(ScriptExecutionContext&);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286454] trunk/Source/WebCore

2021-12-02 Thread drousso
Title: [286454] trunk/Source/WebCore








Revision 286454
Author drou...@apple.com
Date 2021-12-02 14:27:27 -0800 (Thu, 02 Dec 2021)


Log Message
[Apple Pay] recurring line items appear way in the future
https://bugs.webkit.org/show_bug.cgi?id=233779


Reviewed by Wenson Hsieh.

_javascript_ `Date` uses a milliseconds-based value, whereas native `NSDate` is seconds-based.

* Modules/applepay/cocoa/PaymentSummaryItemsCocoa.mm:
(WebCore::toDate):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/applepay/cocoa/PaymentSummaryItemsCocoa.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (286453 => 286454)

--- trunk/Source/WebCore/ChangeLog	2021-12-02 22:22:49 UTC (rev 286453)
+++ trunk/Source/WebCore/ChangeLog	2021-12-02 22:27:27 UTC (rev 286454)
@@ -1,3 +1,16 @@
+2021-12-02  Devin Rousso  
+
+[Apple Pay] recurring line items appear way in the future
+https://bugs.webkit.org/show_bug.cgi?id=233779
+
+
+Reviewed by Wenson Hsieh.
+
+_javascript_ `Date` uses a milliseconds-based value, whereas native `NSDate` is seconds-based.
+
+* Modules/applepay/cocoa/PaymentSummaryItemsCocoa.mm:
+(WebCore::toDate):
+
 2021-12-02  Chris Dumez  
 
 MessageChannel::port1() / port2() should return references instead of pointers


Modified: trunk/Source/WebCore/Modules/applepay/cocoa/PaymentSummaryItemsCocoa.mm (286453 => 286454)

--- trunk/Source/WebCore/Modules/applepay/cocoa/PaymentSummaryItemsCocoa.mm	2021-12-02 22:22:49 UTC (rev 286453)
+++ trunk/Source/WebCore/Modules/applepay/cocoa/PaymentSummaryItemsCocoa.mm	2021-12-02 22:27:27 UTC (rev 286454)
@@ -62,7 +62,7 @@
 
 static NSDate *toDate(double date)
 {
-return [NSDate dateWithTimeIntervalSince1970:date];
+return [NSDate dateWithTimeIntervalSince1970:(date / 1000)];
 }
 
 #endif // HAVE(PASSKIT_RECURRING_SUMMARY_ITEM) || HAVE(PASSKIT_DEFERRED_SUMMARY_ITEM)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286453] trunk/Source/WebCore

2021-12-02 Thread cdumez
Title: [286453] trunk/Source/WebCore








Revision 286453
Author cdu...@apple.com
Date 2021-12-02 14:22:49 -0800 (Thu, 02 Dec 2021)


Log Message
MessageChannel::port1() / port2() should return references instead of pointers
https://bugs.webkit.org/show_bug.cgi?id=233772

Reviewed by Alex Christensen.

This was extracted from Alex Christensen's large patch at Bug 230382.

* Modules/webaudio/AudioWorkletNode.cpp:
(WebCore::AudioWorkletNode::create):
* bindings/js/JSMessageChannelCustom.cpp:
(WebCore::JSMessageChannel::visitAdditionalChildren):
* dom/MessageChannel.cpp:
(WebCore::generateMessagePorts):
(WebCore::MessageChannel::MessageChannel):
* dom/MessageChannel.h:
(WebCore::MessageChannel::port1 const):
(WebCore::MessageChannel::port2 const):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/webaudio/AudioWorkletNode.cpp
trunk/Source/WebCore/bindings/js/JSMessageChannelCustom.cpp
trunk/Source/WebCore/dom/MessageChannel.cpp
trunk/Source/WebCore/dom/MessageChannel.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (286452 => 286453)

--- trunk/Source/WebCore/ChangeLog	2021-12-02 22:21:46 UTC (rev 286452)
+++ trunk/Source/WebCore/ChangeLog	2021-12-02 22:22:49 UTC (rev 286453)
@@ -1,3 +1,23 @@
+2021-12-02  Chris Dumez  
+
+MessageChannel::port1() / port2() should return references instead of pointers
+https://bugs.webkit.org/show_bug.cgi?id=233772
+
+Reviewed by Alex Christensen.
+
+This was extracted from Alex Christensen's large patch at Bug 230382.
+
+* Modules/webaudio/AudioWorkletNode.cpp:
+(WebCore::AudioWorkletNode::create):
+* bindings/js/JSMessageChannelCustom.cpp:
+(WebCore::JSMessageChannel::visitAdditionalChildren):
+* dom/MessageChannel.cpp:
+(WebCore::generateMessagePorts):
+(WebCore::MessageChannel::MessageChannel):
+* dom/MessageChannel.h:
+(WebCore::MessageChannel::port1 const):
+(WebCore::MessageChannel::port2 const):
+
 2021-12-02  Devin Rousso  
 
 [Payment Request] Validate payment method data on construction


Modified: trunk/Source/WebCore/Modules/webaudio/AudioWorkletNode.cpp (286452 => 286453)

--- trunk/Source/WebCore/Modules/webaudio/AudioWorkletNode.cpp	2021-12-02 22:21:46 UTC (rev 286452)
+++ trunk/Source/WebCore/Modules/webaudio/AudioWorkletNode.cpp	2021-12-02 22:22:49 UTC (rev 286453)
@@ -82,8 +82,8 @@
 return Exception { InvalidStateError, "Audio context's frame is detached"_s };
 
 auto messageChannel = MessageChannel::create(*context.scriptExecutionContext());
-auto nodeMessagePort = messageChannel->port1();
-auto processorMessagePort = messageChannel->port2();
+auto& nodeMessagePort = messageChannel->port1();
+auto& processorMessagePort = messageChannel->port2();
 
 RefPtr serializedOptions;
 {
@@ -95,7 +95,7 @@
 }
 
 auto parameterData = WTFMove(options.parameterData);
-auto node = adoptRef(*new AudioWorkletNode(context, name, WTFMove(options), *nodeMessagePort));
+auto node = adoptRef(*new AudioWorkletNode(context, name, WTFMove(options), nodeMessagePort));
 node->suspendIfNeeded();
 
 auto result = node->handleAudioNodeOptions(options, { 2, ChannelCountMode::Max, ChannelInterpretation::Speakers });
@@ -109,7 +109,7 @@
 if (node->numberOfOutputs() > 0)
 context.sourceNodeWillBeginPlayback(node);
 
-context.audioWorklet().createProcessor(name, processorMessagePort->disentangle(), serializedOptions.releaseNonNull(), node);
+context.audioWorklet().createProcessor(name, processorMessagePort.disentangle(), serializedOptions.releaseNonNull(), node);
 
 {
 // The node should be manually added to the automatic pull node list, even without a connect() call.


Modified: trunk/Source/WebCore/bindings/js/JSMessageChannelCustom.cpp (286452 => 286453)

--- trunk/Source/WebCore/bindings/js/JSMessageChannelCustom.cpp	2021-12-02 22:21:46 UTC (rev 286452)
+++ trunk/Source/WebCore/bindings/js/JSMessageChannelCustom.cpp	2021-12-02 22:22:49 UTC (rev 286453)
@@ -36,11 +36,8 @@
 template
 void JSMessageChannel::visitAdditionalChildren(Visitor& visitor)
 {
-if (MessagePort* port = wrapped().port1())
-visitor.addOpaqueRoot(port);
-
-if (MessagePort* port = wrapped().port2())
-visitor.addOpaqueRoot(port);
+visitor.addOpaqueRoot(().port1());
+visitor.addOpaqueRoot(().port2());
 }
 
 DEFINE_VISIT_ADDITIONAL_CHILDREN(JSMessageChannel);


Modified: trunk/Source/WebCore/dom/MessageChannel.cpp (286452 => 286453)

--- trunk/Source/WebCore/dom/MessageChannel.cpp	2021-12-02 22:21:46 UTC (rev 286452)
+++ trunk/Source/WebCore/dom/MessageChannel.cpp	2021-12-02 22:22:49 UTC (rev 286453)
@@ -33,6 +33,14 @@
 
 namespace WebCore {
 
+static std::pair, Ref> generateMessagePorts(ScriptExecutionContext& context)
+{
+MessagePortIdentifier id1 = { Process::identifier(), ObjectIdentifier::generate() };
+MessagePortIdentifier id2 = { 

[webkit-changes] [286452] trunk

2021-12-02 Thread drousso
Title: [286452] trunk








Revision 286452
Author drou...@apple.com
Date 2021-12-02 14:21:46 -0800 (Thu, 02 Dec 2021)


Log Message
[Payment Request] Validate payment method data on construction
https://bugs.webkit.org/show_bug.cgi?id=233292


Reviewed by Andy Estes.

Source/WebCore:

This will allow developers to replace any `ApplePaySession.supportsVersion` check(s) by
attempting to create a `PaymentRequest` object with data specific to Apple Pay. This is
actually an improvement, because it'll also allow developers to catch most errors in that
data earlier, as previously any errors would only be thrown when `show()` is called.

Spec: 

Test: http/tests/ssl/applepay/PaymentRequest.https.html

* Modules/paymentrequest/PaymentRequest.cpp:
(WebCore::PaymentRequest::show):
* Modules/paymentrequest/PaymentHandler.h:
Adjust `PaymentHandler::convertData` to take a `Document` so that additional validation
can be performed on the provided payment method(s) (e.g. check the Apple Pay version).

* Modules/applepay/PaymentRequestValidator.h:
* Modules/applepay/PaymentRequestValidator.mm:
(WebCore::PaymentRequestValidator::validate):
Allow callers to choose what fields to validate. This is needed because when the
`ApplePaySessionPaymentRequest` created/converted when validating the payment method data in
the `PaymentRequest` constructor isn't able to get fields from the `PaymentRequest` as it
hasn't been created yet.

* Modules/applepay/ApplePaySession.cpp:
(WebCore::convertAndValidate):
* Modules/applepay/paymentrequest/ApplePayPaymentHandler.h:
* Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp:
(WebCore::convertAndValidateApplePayRequest):
(WebCore::ApplePayPaymentHandler::convertData):
(WebCore::ApplePayPaymentHandler::show):
* Modules/applepay-ams-ui/ApplePayAMSUIPaymentHandler.h:
* Modules/applepay-ams-ui/ApplePayAMSUIPaymentHandler.cpp:
(WebCore::convertAndValidateApplePayAMSUIRequest):
(WebCore::ApplePayAMSUIPaymentHandler::convertData):

LayoutTests:

* http/tests/ssl/applepay/PaymentRequest.https.html:
* http/tests/ssl/applepay/PaymentRequest.https-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/http/tests/ssl/applepay/PaymentRequest.https-expected.txt
trunk/LayoutTests/http/tests/ssl/applepay/PaymentRequest.https.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/applepay/ApplePaySession.cpp
trunk/Source/WebCore/Modules/applepay/PaymentRequestValidator.h
trunk/Source/WebCore/Modules/applepay/PaymentRequestValidator.mm
trunk/Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.cpp
trunk/Source/WebCore/Modules/applepay/paymentrequest/ApplePayPaymentHandler.h
trunk/Source/WebCore/Modules/applepay-ams-ui/ApplePayAMSUIPaymentHandler.cpp
trunk/Source/WebCore/Modules/applepay-ams-ui/ApplePayAMSUIPaymentHandler.h
trunk/Source/WebCore/Modules/paymentrequest/PaymentHandler.h
trunk/Source/WebCore/Modules/paymentrequest/PaymentRequest.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (286451 => 286452)

--- trunk/LayoutTests/ChangeLog	2021-12-02 21:51:08 UTC (rev 286451)
+++ trunk/LayoutTests/ChangeLog	2021-12-02 22:21:46 UTC (rev 286452)
@@ -1,3 +1,14 @@
+2021-12-02  Devin Rousso  
+
+[Payment Request] Validate payment method data on construction
+https://bugs.webkit.org/show_bug.cgi?id=233292
+
+
+Reviewed by Andy Estes.
+
+* http/tests/ssl/applepay/PaymentRequest.https.html:
+* http/tests/ssl/applepay/PaymentRequest.https-expected.txt:
+
 2021-12-02  Fujii Hironori  
 
 [WinCairo] Unreviewed test gardening


Modified: trunk/LayoutTests/http/tests/ssl/applepay/PaymentRequest.https-expected.txt (286451 => 286452)

--- trunk/LayoutTests/http/tests/ssl/applepay/PaymentRequest.https-expected.txt	2021-12-02 21:51:08 UTC (rev 286451)
+++ trunk/LayoutTests/http/tests/ssl/applepay/PaymentRequest.https-expected.txt	2021-12-02 22:21:46 UTC (rev 286452)
@@ -10,32 +10,33 @@
 
 Testing ApplePayRequest.version
 
-SETUP: paymentMethod = validPaymentMethod(); paymentMethod.data.version = 0; request = new PaymentRequest([paymentMethod], validPaymentDetails())
-PASS request.show() rejected promise  with InvalidAccessError: "0" is not a supported version..
-SETUP: paymentMethod = validPaymentMethod(); paymentMethod.data.version = 1000; request = new PaymentRequest([paymentMethod], validPaymentDetails())
-PASS request.show() rejected promise  with InvalidAccessError: "1000" is not a supported version..
+SETUP: paymentMethod = validPaymentMethod(); paymentMethod.data.version = 0;
+PASS new PaymentRequest([paymentMethod], validPaymentDetails()) threw exception InvalidAccessError: "0" is not a supported version..
 
+SETUP: paymentMethod = validPaymentMethod(); paymentMethod.data.version = 1000;
+PASS new PaymentRequest([paymentMethod], validPaymentDetails()) threw exception InvalidAccessError: "1000" is not a supported version..
+
+
 Testing ApplePayRequest.countryCode
 
 SETUP: paymentMethod = 

[webkit-changes] [286451] trunk/LayoutTests

2021-12-02 Thread Hironori . Fujii
Title: [286451] trunk/LayoutTests








Revision 286451
Author hironori.fu...@sony.com
Date 2021-12-02 13:51:08 -0800 (Thu, 02 Dec 2021)


Log Message
[WinCairo] Unreviewed test gardening

* platform/wincairo-wk1/TestExpectations:
* platform/wincairo/TestExpectations:
* platform/wincairo/fast/box-shadow/basic-shadows-expected.txt:
* platform/wincairo/fast/dom/52776-expected.txt:
* platform/wincairo/fast/text/atsui-rtl-override-selection-expected.txt:
* platform/wincairo/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
* platform/wincairo/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
* platform/wincairo/fast/text/international/bidi-neutral-run-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/wincairo/TestExpectations
trunk/LayoutTests/platform/wincairo/fast/box-shadow/basic-shadows-expected.txt
trunk/LayoutTests/platform/wincairo/fast/dom/52776-expected.txt
trunk/LayoutTests/platform/wincairo/fast/text/atsui-rtl-override-selection-expected.txt
trunk/LayoutTests/platform/wincairo/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt
trunk/LayoutTests/platform/wincairo/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt
trunk/LayoutTests/platform/wincairo/fast/text/international/bidi-neutral-run-expected.txt
trunk/LayoutTests/platform/wincairo-wk1/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (286450 => 286451)

--- trunk/LayoutTests/ChangeLog	2021-12-02 21:33:49 UTC (rev 286450)
+++ trunk/LayoutTests/ChangeLog	2021-12-02 21:51:08 UTC (rev 286451)
@@ -1,3 +1,16 @@
+2021-12-02  Fujii Hironori  
+
+[WinCairo] Unreviewed test gardening
+
+* platform/wincairo-wk1/TestExpectations:
+* platform/wincairo/TestExpectations:
+* platform/wincairo/fast/box-shadow/basic-shadows-expected.txt:
+* platform/wincairo/fast/dom/52776-expected.txt:
+* platform/wincairo/fast/text/atsui-rtl-override-selection-expected.txt:
+* platform/wincairo/fast/text/international/bidi-LDB-2-formatting-characters-expected.txt:
+* platform/wincairo/fast/text/international/bidi-ignored-for-first-child-inline-expected.txt:
+* platform/wincairo/fast/text/international/bidi-neutral-run-expected.txt:
+
 2021-12-02  Tim Nguyen  
 
 Fix crash in GraphicsContextCG::endTransparencyLayer


Modified: trunk/LayoutTests/platform/wincairo/TestExpectations (286450 => 286451)

--- trunk/LayoutTests/platform/wincairo/TestExpectations	2021-12-02 21:33:49 UTC (rev 286450)
+++ trunk/LayoutTests/platform/wincairo/TestExpectations	2021-12-02 21:51:08 UTC (rev 286451)
@@ -2049,12 +2049,10 @@
 storage/indexeddb/structured-clone-image-data-display-p3.html [ Failure ]
 storage/indexeddb/value-cursor-cycle.html [ Failure Pass ]
 webgl/1.0.3/conformance/context/premultiplyalpha-test.html [ Failure ]
-webgl/1.0.3/conformance/extensions/oes-element-index-uint.html [ Failure ]
 webgl/1.0.3/conformance/glsl/bugs/array-of-struct-with-int-first-position.html [ Skip ] # This test makes DumpRenderTree process unable to exit
 webgl/1.0.3/conformance/more/functions/readPixelsBadArgs.html [ Failure ]
 webgl/1.0.3/conformance/more/functions/texImage2DHTML.html [ Failure ]
 webgl/1.0.3/conformance/more/functions/texSubImage2DHTML.html [ Failure ]
-webgl/1.0.3/conformance/textures/default-texture.html [ Failure ]
 webgl/1.0.3/conformance/textures/texture-mips.html [ Pass Failure ]
 webgl/1.0.3/conformance/textures/texture-upload-size.html [ Skip ] # Timeout
 webgl/1.0.3/conformance/uniforms/out-of-bounds-uniform-array-access.html [ Skip ] # Timeout
@@ -2068,7 +2066,6 @@
 webgl/2.0.0/conformance/glsl/bugs/qualcomm-crash.html [ Skip ] # Flaky timeout if it runs with other tests
 webgl/2.0.0/conformance/glsl/bugs/qualcomm-loop-with-continue-crash.html [ Skip ] # Flaky timeout if it runs with other tests
 webgl/2.0.0/conformance/glsl/bugs/sketchfab-lighting-shader-crash.html [ Skip ] # Flaky timeout if it runs with other tests
-webgl/2.0.0/conformance/textures/misc/default-texture.html [ Failure ]
 webgl/2.0.0/conformance/textures/misc/texture-mips.html [ Failure Pass ]
 webgl/2.0.0/conformance/textures/misc/texture-upload-size.html [ Skip ] # Timeout
 webgl/2.0.0/conformance/uniforms/out-of-bounds-uniform-array-access.html [ Skip ] # Timeout
@@ -2079,7 +2076,6 @@
 webgl/2.0.0/conformance2/query/occlusion-query.html [ Skip ] # Timeout
 webgl/2.0.0/conformance2/rendering/blitframebuffer-filter-srgb.html [ Pass Failure ]
 webgl/2.0.0/conformance2/rendering/blitframebuffer-stencil-only.html [ Pass Failure ]
-webgl/2.0.0/conformance2/rendering/element-index-uint.html [ Failure ]
 webgl/2.0.0/conformance2/rendering/fs-color-type-mismatch-color-buffer-type.html [ Failure ]
 webgl/2.0.0/conformance2/state/gl-object-get-calls.html [ Slow Failure ]
 webgl/2.0.0/conformance2/textures/misc/tex-image-with-bad-args-from-dom-elements.html [ Skip ] # Timeout
@@ -2106,5 +2102,3 @@
 

[webkit-changes] [286450] trunk

2021-12-02 Thread wenson_hsieh
Title: [286450] trunk








Revision 286450
Author wenson_hs...@apple.com
Date 2021-12-02 13:33:49 -0800 (Thu, 02 Dec 2021)


Log Message
[ Monterey ] fast/images/text-recognition/mac/image-overlay-text-disables-app-highlight-menu-items.html (layout-test) is a constant text failure
https://bugs.webkit.org/show_bug.cgi?id=233658
rdar://problem/85886424

Reviewed by Tim Horton.

Source/WTF:

Define ENABLE_APP_HIGHLIGHTS for iOS 15+ and macOS Monterey+. This ensures that
`internals.appHighlightContextMenuItemTitles` is defined in layout tests on Monterey.

* wtf/PlatformEnableCocoa.h:

Tools:

Add a forward declaration for open source builds.

* TestWebKitAPI/ios/UIKitSPI.h:

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/PlatformEnableCocoa.h
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/ios/UIKitSPI.h




Diff

Modified: trunk/Source/WTF/ChangeLog (286449 => 286450)

--- trunk/Source/WTF/ChangeLog	2021-12-02 21:26:40 UTC (rev 286449)
+++ trunk/Source/WTF/ChangeLog	2021-12-02 21:33:49 UTC (rev 286450)
@@ -1,3 +1,16 @@
+2021-12-02  Wenson Hsieh  
+
+[ Monterey ] fast/images/text-recognition/mac/image-overlay-text-disables-app-highlight-menu-items.html (layout-test) is a constant text failure
+https://bugs.webkit.org/show_bug.cgi?id=233658
+rdar://problem/85886424
+
+Reviewed by Tim Horton.
+
+Define ENABLE_APP_HIGHLIGHTS for iOS 15+ and macOS Monterey+. This ensures that
+`internals.appHighlightContextMenuItemTitles` is defined in layout tests on Monterey.
+
+* wtf/PlatformEnableCocoa.h:
+
 2021-12-02  Commit Queue  
 
 Unreviewed, reverting r286437.


Modified: trunk/Source/WTF/wtf/PlatformEnableCocoa.h (286449 => 286450)

--- trunk/Source/WTF/wtf/PlatformEnableCocoa.h	2021-12-02 21:26:40 UTC (rev 286449)
+++ trunk/Source/WTF/wtf/PlatformEnableCocoa.h	2021-12-02 21:33:49 UTC (rev 286450)
@@ -716,6 +716,12 @@
 #define ENABLE_APP_PRIVACY_REPORT 1
 #endif
 
+#if (!defined(ENABLE_APP_HIGHLIGHTS) && \
+(PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 12 \
+|| PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 15))
+#define ENABLE_APP_HIGHLIGHTS 1
+#endif
+
 #if !defined(ENABLE_DESTINATION_COLOR_SPACE_DISPLAY_P3)
 #define ENABLE_DESTINATION_COLOR_SPACE_DISPLAY_P3 1
 #endif


Modified: trunk/Tools/ChangeLog (286449 => 286450)

--- trunk/Tools/ChangeLog	2021-12-02 21:26:40 UTC (rev 286449)
+++ trunk/Tools/ChangeLog	2021-12-02 21:33:49 UTC (rev 286450)
@@ -1,3 +1,15 @@
+2021-12-02  Wenson Hsieh  
+
+[ Monterey ] fast/images/text-recognition/mac/image-overlay-text-disables-app-highlight-menu-items.html (layout-test) is a constant text failure
+https://bugs.webkit.org/show_bug.cgi?id=233658
+rdar://problem/85886424
+
+Reviewed by Tim Horton.
+
+Add a forward declaration for open source builds.
+
+* TestWebKitAPI/ios/UIKitSPI.h:
+
 2021-12-02  Brady Eidson  
 
 REGRESSION: r286075 [ Big Sur x86] 2 TestWebKitAPI.WebPushD (API-Tests) are constant failures


Modified: trunk/Tools/TestWebKitAPI/ios/UIKitSPI.h (286449 => 286450)

--- trunk/Tools/TestWebKitAPI/ios/UIKitSPI.h	2021-12-02 21:26:40 UTC (rev 286449)
+++ trunk/Tools/TestWebKitAPI/ios/UIKitSPI.h	2021-12-02 21:33:49 UTC (rev 286450)
@@ -140,6 +140,7 @@
 
 @interface UICalloutBar : UIView
 + (UICalloutBar *)sharedCalloutBar;
++ (UICalloutBar *)activeCalloutBar;
 @end
 
 @interface _UINavigationInteractiveTransitionBase : UIPercentDrivenInteractiveTransition






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286449] trunk/Source/WebCore

2021-12-02 Thread commit-queue
Title: [286449] trunk/Source/WebCore








Revision 286449
Author commit-qu...@webkit.org
Date 2021-12-02 13:26:40 -0800 (Thu, 02 Dec 2021)


Log Message
Verify borderRect is Renderable
https://bugs.webkit.org/show_bug.cgi?id=232650

Patch by Brandon Stewart  on 2021-12-02
Reviewed by Alan Bujtas.

Verify that borderRect is renderable.
Align isRenderable() implementations in RoundedRect and FloatRoundedRect.

* platform/graphics/RoundedRect.cpp:
(WebCore::RoundedRect::isRenderable const):
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintBoxShadow):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/RoundedRect.cpp
trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (286448 => 286449)

--- trunk/Source/WebCore/ChangeLog	2021-12-02 21:25:35 UTC (rev 286448)
+++ trunk/Source/WebCore/ChangeLog	2021-12-02 21:26:40 UTC (rev 286449)
@@ -1,3 +1,18 @@
+2021-12-02  Brandon Stewart  
+
+Verify borderRect is Renderable
+https://bugs.webkit.org/show_bug.cgi?id=232650
+
+Reviewed by Alan Bujtas.
+
+Verify that borderRect is renderable.
+Align isRenderable() implementations in RoundedRect and FloatRoundedRect.
+
+* platform/graphics/RoundedRect.cpp:
+(WebCore::RoundedRect::isRenderable const):
+* rendering/RenderBoxModelObject.cpp:
+(WebCore::RenderBoxModelObject::paintBoxShadow):
+
 2021-12-02  Alan Bujtas  
 
 [LFC][IFC] Redundant line run type checking in InlineDisplayContentBuilder::processNonBidiContent


Modified: trunk/Source/WebCore/platform/graphics/RoundedRect.cpp (286448 => 286449)

--- trunk/Source/WebCore/platform/graphics/RoundedRect.cpp	2021-12-02 21:25:35 UTC (rev 286448)
+++ trunk/Source/WebCore/platform/graphics/RoundedRect.cpp	2021-12-02 21:26:40 UTC (rev 286449)
@@ -165,7 +165,11 @@
 
 bool RoundedRect::isRenderable() const
 {
-return m_radii.topLeft().width() + m_radii.topRight().width() <= m_rect.width()
+return m_radii.topLeft().width() >= 0 && m_radii.topLeft().height() >= 0
+&& m_radii.bottomLeft().width() >= 0 && m_radii.bottomLeft().height() >= 0
+&& m_radii.topRight().width() >= 0 && m_radii.topRight().height() >= 0
+&& m_radii.bottomRight().width() >= 0 && m_radii.bottomRight().height() >= 0
+&& m_radii.topLeft().width() + m_radii.topRight().width() <= m_rect.width()
 && m_radii.bottomLeft().width() + m_radii.bottomRight().width() <= m_rect.width()
 && m_radii.topLeft().height() + m_radii.bottomLeft().height() <= m_rect.height()
 && m_radii.topRight().height() + m_radii.bottomRight().height() <= m_rect.height();


Modified: trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp (286448 => 286449)

--- trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp	2021-12-02 21:25:35 UTC (rev 286448)
+++ trunk/Source/WebCore/rendering/RenderBoxModelObject.cpp	2021-12-02 21:26:40 UTC (rev 286449)
@@ -2422,6 +2422,9 @@
 RoundedRect borderRect = (shadowStyle == ShadowStyle::Inset) ? style.getRoundedInnerBorderFor(paintRect, includeLogicalLeftEdge, includeLogicalRightEdge)
 : style.getRoundedBorderFor(paintRect, includeLogicalLeftEdge, includeLogicalRightEdge);
 
+if (!borderRect.isRenderable())
+borderRect.adjustRadii();
+
 bool hasBorderRadius = style.hasBorderRadius();
 float deviceScaleFactor = document().deviceScaleFactor();
 






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286448] trunk/Source/WebCore

2021-12-02 Thread zalan
Title: [286448] trunk/Source/WebCore








Revision 286448
Author za...@apple.com
Date 2021-12-02 13:25:35 -0800 (Thu, 02 Dec 2021)


Log Message
[LFC][IFC] Redundant line run type checking in InlineDisplayContentBuilder::processNonBidiContent
https://bugs.webkit.org/show_bug.cgi?id=233597

Reviewed by Antti Koivisto.

* layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (286447 => 286448)

--- trunk/Source/WebCore/ChangeLog	2021-12-02 21:13:02 UTC (rev 286447)
+++ trunk/Source/WebCore/ChangeLog	2021-12-02 21:25:35 UTC (rev 286448)
@@ -1,3 +1,13 @@
+2021-12-02  Alan Bujtas  
+
+[LFC][IFC] Redundant line run type checking in InlineDisplayContentBuilder::processNonBidiContent
+https://bugs.webkit.org/show_bug.cgi?id=233597
+
+Reviewed by Antti Koivisto.
+
+* layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
+(WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent):
+
 2021-12-02  Andreu Botella  
 
 Remove the multipart parameter to FormAssociatedElement::appendFormData, InputType::appendFormData and HTMLFormElement::constructEntryList


Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp (286447 => 286448)

--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp	2021-12-02 21:13:02 UTC (rev 286447)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp	2021-12-02 21:25:35 UTC (rev 286448)
@@ -286,43 +286,37 @@
 {
 // Create the inline boxes on the current line. This is mostly text and atomic inline boxes.
 for (auto& lineRun : lineContent.runs) {
+auto& layoutBox = lineRun.layoutBox();
 
-auto displayBoxRect = [&] {
-auto& layoutBox = lineRun.layoutBox();
-auto logicalRect = InlineRect { };
-
-if (lineRun.isText() || lineRun.isSoftLineBreak())
-logicalRect = lineBox.logicalRectForTextRun(lineRun);
-else if (lineRun.isHardLineBreak())
-logicalRect = lineBox.logicalRectForLineBreakBox(layoutBox);
-else if (lineRun.isBox())
-logicalRect = lineBox.logicalBorderBoxForAtomicInlineLevelBox(layoutBox, formattingState().boxGeometry(layoutBox));
-else if (lineRun.isInlineBoxStart() || lineRun.isLineSpanningInlineBoxStart())
-logicalRect = lineBox.logicalBorderBoxForInlineBox(layoutBox, formattingState().boxGeometry(layoutBox));
-else
-ASSERT_NOT_REACHED();
+auto logicalRectRelativeToRoot = [&](auto logicalRect) {
 logicalRect.moveBy(lineBoxLogicalTopLeft);
 return logicalRect;
 };
 
 if (lineRun.isText()) {
-appendTextDisplayBox(lineRun, displayBoxRect(), boxes);
+appendTextDisplayBox(lineRun, logicalRectRelativeToRoot(lineBox.logicalRectForTextRun(lineRun)), boxes);
 continue;
 }
 if (lineRun.isSoftLineBreak()) {
-appendSoftLineBreakDisplayBox(lineRun, displayBoxRect(), boxes);
+appendSoftLineBreakDisplayBox(lineRun, logicalRectRelativeToRoot(lineBox.logicalRectForTextRun(lineRun)), boxes);
 continue;
 }
 if (lineRun.isHardLineBreak()) {
-appendHardLineBreakDisplayBox(lineRun, displayBoxRect(), boxes);
+appendHardLineBreakDisplayBox(lineRun, logicalRectRelativeToRoot(lineBox.logicalRectForLineBreakBox(layoutBox)), boxes);
 continue;
 }
 if (lineRun.isBox()) {
-appendAtomicInlineLevelDisplayBox(lineRun, displayBoxRect(), boxes);
+appendAtomicInlineLevelDisplayBox(lineRun
+, logicalRectRelativeToRoot(lineBox.logicalBorderBoxForAtomicInlineLevelBox(layoutBox, formattingState().boxGeometry(layoutBox)))
+, boxes);
 continue;
 }
 if (lineRun.isInlineBoxStart()) {
-appendInlineBoxDisplayBox(lineRun, lineBox.inlineLevelBoxForLayoutBox(lineRun.layoutBox()), displayBoxRect(), lineBox.hasContent(), boxes);
+appendInlineBoxDisplayBox(lineRun
+, lineBox.inlineLevelBoxForLayoutBox(lineRun.layoutBox())
+, logicalRectRelativeToRoot(lineBox.logicalBorderBoxForInlineBox(layoutBox, formattingState().boxGeometry(layoutBox)))
+, lineBox.hasContent()
+, boxes);
 continue;
 }
 if (lineRun.isLineSpanningInlineBoxStart()) {
@@ -332,7 +326,10 @@
 // don't extend the spanning line box over to this line -also there is no next line in cases like this.
 continue;
 }

[webkit-changes] [286447] trunk/Source/WebCore

2021-12-02 Thread commit-queue
Title: [286447] trunk/Source/WebCore








Revision 286447
Author commit-qu...@webkit.org
Date 2021-12-02 13:13:02 -0800 (Thu, 02 Dec 2021)


Log Message
Remove the multipart parameter to FormAssociatedElement::appendFormData, InputType::appendFormData and HTMLFormElement::constructEntryList
https://bugs.webkit.org/show_bug.cgi?id=233774

Patch by Andreu Botella  on 2021-12-02
Reviewed by Chris Dumez.

These parameters were only needed because of an optimization where file inputs were being
added to the DOMFormData as string values containing their filenames if the entry list was
being constructed to be used in a urlencoded or text/plain form submission. This
optimization was removed in r286427 and those parameters can now be dropped.

No behavior change.

* html/BaseButtonInputType.cpp:
(WebCore::BaseButtonInputType::appendFormData const):
* html/BaseButtonInputType.h:
* html/BaseCheckableInputType.cpp:
(WebCore::BaseCheckableInputType::appendFormData const):
* html/BaseCheckableInputType.h:
* html/DOMFormData.cpp:
(WebCore::DOMFormData::create):
* html/FileInputType.cpp:
(WebCore::FileInputType::appendFormData const):
* html/FileInputType.h:
* html/FormAssociatedElement.h:
(WebCore::FormAssociatedElement::appendFormData):
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::appendFormData):
* html/HTMLButtonElement.h:
* html/HTMLFormControlElement.h:
* html/HTMLFormElement.cpp:
(WebCore::HTMLFormElement::constructEntryList):
* html/HTMLFormElement.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::appendFormData):
* html/HTMLInputElement.h:
* html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::appendFormData):
* html/HTMLKeygenElement.h:
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::appendFormData):
* html/HTMLObjectElement.h:
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::appendFormData):
* html/HTMLSelectElement.h:
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::appendFormData):
* html/HTMLTextAreaElement.h:
* html/HiddenInputType.cpp:
(WebCore::HiddenInputType::appendFormData const):
* html/HiddenInputType.h:
* html/ImageInputType.cpp:
(WebCore::ImageInputType::appendFormData const):
* html/ImageInputType.h:
* html/InputType.cpp:
(WebCore::InputType::appendFormData const):
* html/InputType.h:
* html/SubmitInputType.cpp:
(WebCore::SubmitInputType::appendFormData const):
* html/SubmitInputType.h:
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::appendFormData const):
* html/TextFieldInputType.h:
* loader/FormSubmission.cpp:
(WebCore::FormSubmission::create):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/BaseButtonInputType.cpp
trunk/Source/WebCore/html/BaseButtonInputType.h
trunk/Source/WebCore/html/BaseCheckableInputType.cpp
trunk/Source/WebCore/html/BaseCheckableInputType.h
trunk/Source/WebCore/html/DOMFormData.cpp
trunk/Source/WebCore/html/FileInputType.cpp
trunk/Source/WebCore/html/FileInputType.h
trunk/Source/WebCore/html/FormAssociatedElement.h
trunk/Source/WebCore/html/HTMLButtonElement.cpp
trunk/Source/WebCore/html/HTMLButtonElement.h
trunk/Source/WebCore/html/HTMLFormControlElement.h
trunk/Source/WebCore/html/HTMLFormElement.cpp
trunk/Source/WebCore/html/HTMLFormElement.h
trunk/Source/WebCore/html/HTMLInputElement.cpp
trunk/Source/WebCore/html/HTMLInputElement.h
trunk/Source/WebCore/html/HTMLKeygenElement.cpp
trunk/Source/WebCore/html/HTMLKeygenElement.h
trunk/Source/WebCore/html/HTMLObjectElement.cpp
trunk/Source/WebCore/html/HTMLObjectElement.h
trunk/Source/WebCore/html/HTMLSelectElement.cpp
trunk/Source/WebCore/html/HTMLSelectElement.h
trunk/Source/WebCore/html/HTMLTextAreaElement.cpp
trunk/Source/WebCore/html/HTMLTextAreaElement.h
trunk/Source/WebCore/html/HiddenInputType.cpp
trunk/Source/WebCore/html/HiddenInputType.h
trunk/Source/WebCore/html/ImageInputType.cpp
trunk/Source/WebCore/html/ImageInputType.h
trunk/Source/WebCore/html/InputType.cpp
trunk/Source/WebCore/html/InputType.h
trunk/Source/WebCore/html/SubmitInputType.cpp
trunk/Source/WebCore/html/SubmitInputType.h
trunk/Source/WebCore/html/TextFieldInputType.cpp
trunk/Source/WebCore/html/TextFieldInputType.h
trunk/Source/WebCore/loader/FormSubmission.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (286446 => 286447)

--- trunk/Source/WebCore/ChangeLog	2021-12-02 21:04:38 UTC (rev 286446)
+++ trunk/Source/WebCore/ChangeLog	2021-12-02 21:13:02 UTC (rev 286447)
@@ -1,3 +1,70 @@
+2021-12-02  Andreu Botella  
+
+Remove the multipart parameter to FormAssociatedElement::appendFormData, InputType::appendFormData and HTMLFormElement::constructEntryList
+https://bugs.webkit.org/show_bug.cgi?id=233774
+
+Reviewed by Chris Dumez.
+
+These parameters were only needed because of an optimization where file inputs were being
+added to the DOMFormData as string values containing their filenames if the entry list was
+being constructed to be used in a urlencoded or text/plain form submission. This

[webkit-changes] [286446] trunk/Source/WebCore

2021-12-02 Thread zalan
Title: [286446] trunk/Source/WebCore








Revision 286446
Author za...@apple.com
Date 2021-12-02 13:04:38 -0800 (Thu, 02 Dec 2021)


Log Message
[LFC][IFC] Introduce createDisplayBoxesInVisualOrderForContentRuns
https://bugs.webkit.org/show_bug.cgi?id=233733

Reviewed by Antti Koivisto.

Revert some of the inline box related bidi changes and start with
a very simple "let's create the display boxes for all _content_ runs in visual order".
This is very similar to InlineDisplayContentBuilder::processNonBidiContent() where we just
loop through the content and construct display boxes.
This is also in preparation for advancing with the inline box case.

* layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent):
(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (286445 => 286446)

--- trunk/Source/WebCore/ChangeLog	2021-12-02 20:22:40 UTC (rev 286445)
+++ trunk/Source/WebCore/ChangeLog	2021-12-02 21:04:38 UTC (rev 286446)
@@ -1,5 +1,22 @@
 2021-12-02  Alan Bujtas  
 
+[LFC][IFC] Introduce createDisplayBoxesInVisualOrderForContentRuns
+https://bugs.webkit.org/show_bug.cgi?id=233733
+
+Reviewed by Antti Koivisto.
+
+Revert some of the inline box related bidi changes and start with
+a very simple "let's create the display boxes for all _content_ runs in visual order".
+This is very similar to InlineDisplayContentBuilder::processNonBidiContent() where we just
+loop through the content and construct display boxes.
+This is also in preparation for advancing with the inline box case.
+
+* layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
+(WebCore::Layout::InlineDisplayContentBuilder::processNonBidiContent):
+(WebCore::Layout::InlineDisplayContentBuilder::processBidiContent):
+
+2021-12-02  Alan Bujtas  
+
 [LFC][IFC] Move inline box geometry (BoxGeometry) update logic to a dedicated function
 https://bugs.webkit.org/show_bug.cgi?id=233615
 


Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp (286445 => 286446)

--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp	2021-12-02 20:22:40 UTC (rev 286445)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp	2021-12-02 21:04:38 UTC (rev 286446)
@@ -282,7 +282,7 @@
 UNUSED_PARAM(inlineBoxRect);
 }
 
-void InlineDisplayContentBuilder::processNonBidiContent(const LineBuilder::LineContent& lineContent, const LineBox& lineBox, const InlineLayoutPoint& lineBoxLogicalTopLeft,  DisplayBoxes& boxes)
+void InlineDisplayContentBuilder::processNonBidiContent(const LineBuilder::LineContent& lineContent, const LineBox& lineBox, const InlineLayoutPoint& lineBoxLogicalTopLeft, DisplayBoxes& boxes)
 {
 // Create the inline boxes on the current line. This is mostly text and atomic inline boxes.
 for (auto& lineRun : lineContent.runs) {
@@ -341,118 +341,65 @@
 
 void InlineDisplayContentBuilder::processBidiContent(const LineBuilder::LineContent& lineContent, const LineBox& lineBox, const InlineLayoutPoint& lineBoxLogicalTopLeft, DisplayBoxes& boxes)
 {
-// Create the inline boxes on the current line. This is mostly text and atomic inline boxes.
-auto& runs = lineContent.runs;
-ASSERT(lineContent.visualOrderList.size() == runs.size());
+ASSERT(lineContent.visualOrderList.size() == lineContent.runs.size());
 
-auto rootInlineBoxRect = lineBox.logicalRectForRootInlineBox();
-auto contentRightInVisualOrder = lineBoxLogicalTopLeft.x();
-// First visual run's initial content position depends on the block's inline direction.
-if (!root().style().isLeftToRightDirection()) {
-// FIXME: This needs the block end position instead of the lineLogicalWidth.
-contentRightInVisualOrder += lineContent.lineLogicalWidth - rootInlineBoxRect.width();
-}
-// Adjust the content start position with the (text)alignment offset (root inline box has the alignment offset and not the individual runs).
-contentRightInVisualOrder += rootInlineBoxRect.left();
-Vector inlineBoxStack;
-inlineBoxStack.reserveInitialCapacity(lineBox.nonRootInlineLevelBoxes().size());
+auto createDisplayBoxesInVisualOrderForContentRuns = [&] {
+auto rootInlineBoxRect = lineBox.logicalRectForRootInlineBox();
+auto contentRightInVisualOrder = InlineLayoutUnit { };
+// First visual run's initial content position depends on the block's inline direction.
+if (!root().style().isLeftToRightDirection()) {
+// FIXME: This needs the block end position instead of the lineLogicalWidth.
+

[webkit-changes] [286445] trunk/Source/WebCore

2021-12-02 Thread zalan
Title: [286445] trunk/Source/WebCore








Revision 286445
Author za...@apple.com
Date 2021-12-02 12:22:40 -0800 (Thu, 02 Dec 2021)


Log Message
[LFC][IFC] Move inline box geometry (BoxGeometry) update logic to a dedicated function
https://bugs.webkit.org/show_bug.cgi?id=233615

Reviewed by Antti Koivisto.

This is also in preparation for computing the BoxGeometry for bidi inline boxes.

* layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
(WebCore::Layout::InlineDisplayContentBuilder::setInlineBoxGeometry):
(WebCore::Layout::InlineDisplayContentBuilder::appendInlineBoxDisplayBox):
(WebCore::Layout::InlineDisplayContentBuilder::appendSpanningInlineBoxDisplayBox):
* 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 (286444 => 286445)

--- trunk/Source/WebCore/ChangeLog	2021-12-02 20:09:02 UTC (rev 286444)
+++ trunk/Source/WebCore/ChangeLog	2021-12-02 20:22:40 UTC (rev 286445)
@@ -1,3 +1,18 @@
+2021-12-02  Alan Bujtas  
+
+[LFC][IFC] Move inline box geometry (BoxGeometry) update logic to a dedicated function
+https://bugs.webkit.org/show_bug.cgi?id=233615
+
+Reviewed by Antti Koivisto.
+
+This is also in preparation for computing the BoxGeometry for bidi inline boxes.
+
+* layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp:
+(WebCore::Layout::InlineDisplayContentBuilder::setInlineBoxGeometry):
+(WebCore::Layout::InlineDisplayContentBuilder::appendInlineBoxDisplayBox):
+(WebCore::Layout::InlineDisplayContentBuilder::appendSpanningInlineBoxDisplayBox):
+* layout/formattingContexts/inline/InlineDisplayContentBuilder.h:
+
 2021-12-02  Chris Dumez  
 
 html/semantics/forms/constraints/input-number-validity-dynamic-value-no-change.html WPT test is failing


Modified: trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp (286444 => 286445)

--- trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp	2021-12-02 20:09:02 UTC (rev 286444)
+++ trunk/Source/WebCore/layout/formattingContexts/inline/InlineDisplayContentBuilder.cpp	2021-12-02 20:22:40 UTC (rev 286445)
@@ -192,6 +192,23 @@
 adjustParentInlineBoxInkOverflow();
 }
 
+void InlineDisplayContentBuilder::setInlineBoxGeometry(const Box& layoutBox, const InlineRect& rect, bool isFirstInlineBoxFragment)
+{
+auto adjustedSize = LayoutSize { LayoutUnit::fromFloatCeil(rect.width()), LayoutUnit::fromFloatCeil(rect.height()) };
+auto adjustedRect = Rect { LayoutPoint { rect.topLeft() }, adjustedSize };
+auto& boxGeometry = formattingState().boxGeometry(layoutBox);
+if (!isFirstInlineBoxFragment) {
+auto enclosingBorderBoxRect = BoxGeometry::borderBoxRect(boxGeometry);
+enclosingBorderBoxRect.expandToContain(adjustedRect);
+adjustedRect = enclosingBorderBoxRect;
+}
+boxGeometry.setLogicalTopLeft(adjustedRect.topLeft());
+auto contentBoxHeight = adjustedRect.height() - (boxGeometry.verticalBorder() + boxGeometry.verticalPadding().value_or(0_lu));
+auto contentBoxWidth = adjustedRect.width() - (boxGeometry.horizontalBorder() + boxGeometry.horizontalPadding().value_or(0_lu));
+boxGeometry.setContentBoxHeight(contentBoxHeight);
+boxGeometry.setContentBoxWidth(contentBoxWidth);
+}
+
 void InlineDisplayContentBuilder::appendInlineBoxDisplayBox(const Line::Run& lineRun, const InlineLevelBox& inlineBox, const InlineRect& inlineBoxBorderBox, bool linehasContent, DisplayBoxes& boxes)
 {
 ASSERT(lineRun.layoutBox().isInlineBox());
@@ -221,14 +238,7 @@
 }
 
 // This inline box showed up first on this line.
-auto inlineBoxSize = LayoutSize { LayoutUnit::fromFloatCeil(inlineBoxBorderBox.width()), LayoutUnit::fromFloatCeil(inlineBoxBorderBox.height()) };
-auto logicalRect = Rect { LayoutPoint { inlineBoxBorderBox.topLeft() }, inlineBoxSize };
-auto& boxGeometry = formattingState().boxGeometry(layoutBox);
-boxGeometry.setLogicalTopLeft(logicalRect.topLeft());
-auto contentBoxHeight = logicalRect.height() - (boxGeometry.verticalBorder() + boxGeometry.verticalPadding().value_or(0_lu));
-boxGeometry.setContentBoxHeight(contentBoxHeight);
-auto contentBoxWidth = logicalRect.width() - (boxGeometry.horizontalBorder() + boxGeometry.horizontalPadding().value_or(0_lu));
-boxGeometry.setContentBoxWidth(contentBoxWidth);
+setInlineBoxGeometry(layoutBox, inlineBoxBorderBox, true);
 }
 
 void InlineDisplayContentBuilder::appendSpanningInlineBoxDisplayBox(const Line::Run& lineRun, const InlineLevelBox& inlineBox, const InlineRect& inlineBoxBorderBox, DisplayBoxes& boxes)
@@ -255,16 +265,8 @@
 , inlineBox.hasContent()
 , 

[webkit-changes] [286444] trunk

2021-12-02 Thread cdumez
Title: [286444] trunk








Revision 286444
Author cdu...@apple.com
Date 2021-12-02 12:09:02 -0800 (Thu, 02 Dec 2021)


Log Message
html/semantics/forms/constraints/input-number-validity-dynamic-value-no-change.html WPT test is failing
https://bugs.webkit.org/show_bug.cgi?id=233765

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT test that is now passing.

* web-platform-tests/html/semantics/forms/constraints/input-number-validity-dynamic-value-no-change-expected.txt:

Source/WebCore:

Per https://html.spec.whatwg.org/#concept-input-min-zero, step base needs to be computed based on
the 'min' attribute, then fallback to the 'value' attribute and finally fallback to the default
step base. WebKit was missing the "fallback to the 'value' attribute logic.

No new tests, rebaselined existing test.

* html/NumberInputType.cpp:
(WebCore::NumberInputType::createStepRange const):

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/input-number-validity-dynamic-value-no-change-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/NumberInputType.cpp




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (286443 => 286444)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-12-02 19:54:16 UTC (rev 286443)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-12-02 20:09:02 UTC (rev 286444)
@@ -1,3 +1,14 @@
+2021-12-02  Chris Dumez  
+
+html/semantics/forms/constraints/input-number-validity-dynamic-value-no-change.html WPT test is failing
+https://bugs.webkit.org/show_bug.cgi?id=233765
+
+Reviewed by Darin Adler.
+
+Rebaseline WPT test that is now passing.
+
+* web-platform-tests/html/semantics/forms/constraints/input-number-validity-dynamic-value-no-change-expected.txt:
+
 2021-12-02  Antti Koivisto  
 
 [:has() pseudo-class] Invalidation in non-subject position


Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/input-number-validity-dynamic-value-no-change-expected.txt (286443 => 286444)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/input-number-validity-dynamic-value-no-change-expected.txt	2021-12-02 19:54:16 UTC (rev 286443)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/constraints/input-number-validity-dynamic-value-no-change-expected.txt	2021-12-02 20:09:02 UTC (rev 286444)
@@ -1,4 +1,4 @@
 
 
-FAIL number input number validation is updated correctly after value attribute change which doesn't change input value assert_true: Input should be valid because step base is @value expected true got false
+PASS number input number validation is updated correctly after value attribute change which doesn't change input value
 


Modified: trunk/Source/WebCore/ChangeLog (286443 => 286444)

--- trunk/Source/WebCore/ChangeLog	2021-12-02 19:54:16 UTC (rev 286443)
+++ trunk/Source/WebCore/ChangeLog	2021-12-02 20:09:02 UTC (rev 286444)
@@ -1,3 +1,19 @@
+2021-12-02  Chris Dumez  
+
+html/semantics/forms/constraints/input-number-validity-dynamic-value-no-change.html WPT test is failing
+https://bugs.webkit.org/show_bug.cgi?id=233765
+
+Reviewed by Darin Adler.
+
+Per https://html.spec.whatwg.org/#concept-input-min-zero, step base needs to be computed based on
+the 'min' attribute, then fallback to the 'value' attribute and finally fallback to the default
+step base. WebKit was missing the "fallback to the 'value' attribute logic.
+
+No new tests, rebaselined existing test.
+
+* html/NumberInputType.cpp:
+(WebCore::NumberInputType::createStepRange const):
+
 2021-12-02  Tim Nguyen  
 
 Fix crash in GraphicsContextCG::endTransparencyLayer


Modified: trunk/Source/WebCore/html/NumberInputType.cpp (286443 => 286444)

--- trunk/Source/WebCore/html/NumberInputType.cpp	2021-12-02 19:54:16 UTC (rev 286443)
+++ trunk/Source/WebCore/html/NumberInputType.cpp	2021-12-02 20:09:02 UTC (rev 286444)
@@ -147,7 +147,10 @@
 static NeverDestroyed stepDescription(numberDefaultStep, numberDefaultStepBase, numberStepScaleFactor);
 
 ASSERT(element());
-const Decimal stepBase = parseToDecimalForNumberType(element()->attributeWithoutSynchronization(minAttr), numberDefaultStepBase);
+Decimal stepBase = parseToDecimalForNumberType(element()->attributeWithoutSynchronization(minAttr), Decimal::nan());
+if (stepBase.isNaN())
+stepBase = parseToDecimalForNumberType(element()->attributeWithoutSynchronization(valueAttr), numberDefaultStepBase);
+
 // FIXME: We should use numeric_limits::max for number input type.
 const Decimal floatMax = Decimal::fromDouble(std::numeric_limits::max());
 const Element& element = *this->element();






___
webkit-changes mailing list
webkit-changes@lists.webkit.org

[webkit-changes] [286443] branches/safari-612-branch

2021-12-02 Thread repstein
Title: [286443] branches/safari-612-branch








Revision 286443
Author repst...@apple.com
Date 2021-12-02 11:54:16 -0800 (Thu, 02 Dec 2021)


Log Message
Revert r286394. rdar://problem/83070565

Modified Paths

branches/safari-612-branch/LayoutTests/ChangeLog
branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/page/RuntimeEnabledFeatures.h




Diff

Modified: branches/safari-612-branch/LayoutTests/ChangeLog (286442 => 286443)

--- branches/safari-612-branch/LayoutTests/ChangeLog	2021-12-02 19:54:12 UTC (rev 286442)
+++ branches/safari-612-branch/LayoutTests/ChangeLog	2021-12-02 19:54:16 UTC (rev 286443)
@@ -1,5 +1,9 @@
 2021-12-02  Alan Coon  
 
+Revert r286394. rdar://problem/83070565
+
+2021-12-02  Alan Coon  
+
 Revert r286395. rdar://problem/83070565
 
 2021-12-01  Alan Coon  


Modified: branches/safari-612-branch/Source/WebCore/ChangeLog (286442 => 286443)

--- branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-02 19:54:12 UTC (rev 286442)
+++ branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-02 19:54:16 UTC (rev 286443)
@@ -1,5 +1,9 @@
 2021-12-02  Alan Coon  
 
+Revert r286394. rdar://problem/83070565
+
+2021-12-02  Alan Coon  
+
 Revert r286395. rdar://problem/83070565
 
 2021-12-01  Alan Coon  


Modified: branches/safari-612-branch/Source/WebCore/page/RuntimeEnabledFeatures.h (286442 => 286443)

--- branches/safari-612-branch/Source/WebCore/page/RuntimeEnabledFeatures.h	2021-12-02 19:54:12 UTC (rev 286442)
+++ branches/safari-612-branch/Source/WebCore/page/RuntimeEnabledFeatures.h	2021-12-02 19:54:16 UTC (rev 286443)
@@ -290,7 +290,7 @@
 bool m_attrStyleEnabled { false };
 bool m_webAPIStatisticsEnabled { false };
 bool m_syntheticEditingCommandsEnabled { true };
-bool m_dialogElementEnabled { true };
+bool m_dialogElementEnabled { false };
 bool m_webSQLEnabled { false };
 bool m_keygenElementEnabled { false };
 bool m_pageAtRuleSupportEnabled { false };






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286442] branches/safari-612-branch

2021-12-02 Thread repstein
Title: [286442] branches/safari-612-branch








Revision 286442
Author repst...@apple.com
Date 2021-12-02 11:54:12 -0800 (Thu, 02 Dec 2021)


Log Message
Revert r286395. rdar://problem/83070565

Modified Paths

branches/safari-612-branch/LayoutTests/ChangeLog
branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/rendering/RenderLayer.cpp


Removed Paths

branches/safari-612-branch/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash-expected.txt
branches/safari-612-branch/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash.html




Diff

Modified: branches/safari-612-branch/LayoutTests/ChangeLog (286441 => 286442)

--- branches/safari-612-branch/LayoutTests/ChangeLog	2021-12-02 19:49:47 UTC (rev 286441)
+++ branches/safari-612-branch/LayoutTests/ChangeLog	2021-12-02 19:54:12 UTC (rev 286442)
@@ -1,3 +1,7 @@
+2021-12-02  Alan Coon  
+
+Revert r286395. rdar://problem/83070565
+
 2021-12-01  Alan Coon  
 
 Cherry-pick r285320. rdar://problem/85943167


Deleted: branches/safari-612-branch/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash-expected.txt (286441 => 286442)

--- branches/safari-612-branch/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash-expected.txt	2021-12-02 19:49:47 UTC (rev 286441)
+++ branches/safari-612-branch/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash-expected.txt	2021-12-02 19:54:12 UTC (rev 286442)
@@ -1 +0,0 @@
-PASS if this doesn't crash


Deleted: branches/safari-612-branch/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash.html (286441 => 286442)

--- branches/safari-612-branch/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash.html	2021-12-02 19:49:47 UTC (rev 286441)
+++ branches/safari-612-branch/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash.html	2021-12-02 19:54:12 UTC (rev 286442)
@@ -1,9 +0,0 @@
-
-* { opacity: 0.1; translate: 1px; }
-
-PASS if this doesn't crash
-
-document.querySelector("dialog").showModal();
-if (testRunner)
-testRunner.dumpAsText();
-


Modified: branches/safari-612-branch/Source/WebCore/ChangeLog (286441 => 286442)

--- branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-02 19:49:47 UTC (rev 286441)
+++ branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-02 19:54:12 UTC (rev 286442)
@@ -1,3 +1,7 @@
+2021-12-02  Alan Coon  
+
+Revert r286395. rdar://problem/83070565
+
 2021-12-01  Alan Coon  
 
 Cherry-pick r285320. rdar://problem/85943167


Modified: branches/safari-612-branch/Source/WebCore/rendering/RenderLayer.cpp (286441 => 286442)

--- branches/safari-612-branch/Source/WebCore/rendering/RenderLayer.cpp	2021-12-02 19:49:47 UTC (rev 286441)
+++ branches/safari-612-branch/Source/WebCore/rendering/RenderLayer.cpp	2021-12-02 19:54:12 UTC (rev 286442)
@@ -2017,9 +2017,9 @@
 if (isComposited())
 return nullptr;
 
-for (RenderLayer* curr = stackingContext(); curr; curr = curr->stackingContext()) {
+for (RenderLayer* curr = parent(); curr; curr = curr->parent()) {
 if (curr->isComposited())
-break;
+return nullptr;
 if (curr->isTransparent())
 return curr;
 }
@@ -3001,8 +3001,7 @@
 // If we have a transparency layer enclosing us and we are the root of a transform, then we need to establish the transparency
 // layer from the parent now, assuming there is a parent
 if (paintFlags & PaintLayerFlag::HaveTransparency) {
-// Top layer elements are not affected by ancestor opacities
-if (!establishesTopLayer() && parent())
+if (parent())
 parent()->beginTransparencyLayers(context, paintingInfo, paintingInfo.paintDirtyRect);
 else
 beginTransparencyLayers(context, paintingInfo, paintingInfo.paintDirtyRect);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286441] trunk

2021-12-02 Thread ryanhaddad
Title: [286441] trunk








Revision 286441
Author ryanhad...@apple.com
Date 2021-12-02 11:49:47 -0800 (Thu, 02 Dec 2021)


Log Message
Fix crash in GraphicsContextCG::endTransparencyLayer
https://bugs.webkit.org/show_bug.cgi?id=230230

Patch by Tim Nguyen  on 2021-12-02
Reviewed by Myles C. Maxfield.

Source/WebCore:

The crash was due to unbalanced calls to begin and end transparency layers.

A branch handling ancestors of transparent layers that are transform root needed to be
aware of the top layer. Opacity on ancestors don't affect top layer elements so calling
`beginTransparencyLayers` on `parent()` is incorrect.

Also fix `transparentPaintingAncestor()` to be top layer aware to avoid flickering layers
while scrolling.

Test: fast/layers/top-layer-ancestor-opacity-and-transform-crash.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::transparentPaintingAncestor):
(WebCore::RenderLayer::paintLayerWithEffects):

LayoutTests:

* fast/layers/top-layer-ancestor-opacity-and-transform-crash-expected.txt: Added.
* fast/layers/top-layer-ancestor-opacity-and-transform-crash.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderLayer.cpp


Added Paths

trunk/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash-expected.txt
trunk/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash.html




Diff

Modified: trunk/LayoutTests/ChangeLog (286440 => 286441)

--- trunk/LayoutTests/ChangeLog	2021-12-02 19:39:41 UTC (rev 286440)
+++ trunk/LayoutTests/ChangeLog	2021-12-02 19:49:47 UTC (rev 286441)
@@ -1,3 +1,13 @@
+2021-12-02  Tim Nguyen  
+
+Fix crash in GraphicsContextCG::endTransparencyLayer
+https://bugs.webkit.org/show_bug.cgi?id=230230
+
+Reviewed by Myles C. Maxfield.
+
+* fast/layers/top-layer-ancestor-opacity-and-transform-crash-expected.txt: Added.
+* fast/layers/top-layer-ancestor-opacity-and-transform-crash.html: Added.
+
 2021-12-02  Robert Jenner  
 
 Unreviewed, reverting r285570.


Added: trunk/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash-expected.txt (0 => 286441)

--- trunk/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash-expected.txt	2021-12-02 19:49:47 UTC (rev 286441)
@@ -0,0 +1 @@
+PASS if this doesn't crash


Added: trunk/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash.html (0 => 286441)

--- trunk/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash.html	(rev 0)
+++ trunk/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash.html	2021-12-02 19:49:47 UTC (rev 286441)
@@ -0,0 +1,9 @@
+
+* { opacity: 0.1; translate: 1px; }
+
+PASS if this doesn't crash
+
+document.querySelector("dialog").showModal();
+if (testRunner)
+testRunner.dumpAsText();
+


Modified: trunk/Source/WebCore/ChangeLog (286440 => 286441)

--- trunk/Source/WebCore/ChangeLog	2021-12-02 19:39:41 UTC (rev 286440)
+++ trunk/Source/WebCore/ChangeLog	2021-12-02 19:49:47 UTC (rev 286441)
@@ -1,3 +1,25 @@
+2021-12-02  Tim Nguyen  
+
+Fix crash in GraphicsContextCG::endTransparencyLayer
+https://bugs.webkit.org/show_bug.cgi?id=230230
+
+Reviewed by Myles C. Maxfield.
+
+The crash was due to unbalanced calls to begin and end transparency layers.
+
+A branch handling ancestors of transparent layers that are transform root needed to be
+aware of the top layer. Opacity on ancestors don't affect top layer elements so calling
+`beginTransparencyLayers` on `parent()` is incorrect.
+
+Also fix `transparentPaintingAncestor()` to be top layer aware to avoid flickering layers
+while scrolling.
+
+Test: fast/layers/top-layer-ancestor-opacity-and-transform-crash.html
+
+* rendering/RenderLayer.cpp:
+(WebCore::RenderLayer::transparentPaintingAncestor):
+(WebCore::RenderLayer::paintLayerWithEffects):
+
 2021-12-02  Robert Jenner  
 
 Unreviewed, reverting r285570.


Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (286440 => 286441)

--- trunk/Source/WebCore/rendering/RenderLayer.cpp	2021-12-02 19:39:41 UTC (rev 286440)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp	2021-12-02 19:49:47 UTC (rev 286441)
@@ -2089,9 +2089,9 @@
 if (isComposited())
 return nullptr;
 
-for (RenderLayer* curr = parent(); curr; curr = curr->parent()) {
+for (RenderLayer* curr = stackingContext(); curr; curr = curr->stackingContext()) {
 if (curr->isComposited())
-return nullptr;
+break;
 if (curr->isTransparent())
 return curr;
 }
@@ -3061,7 +3061,8 @@
 // If we have a transparency layer enclosing us and we are the root of a transform, then we 

[webkit-changes] [286440] trunk/Tools

2021-12-02 Thread beidson
Title: [286440] trunk/Tools








Revision 286440
Author beid...@apple.com
Date 2021-12-02 11:39:41 -0800 (Thu, 02 Dec 2021)


Log Message
REGRESSION: r286075 [ Big Sur x86] 2 TestWebKitAPI.WebPushD (API-Tests) are constant failures
https://bugs.webkit.org/show_bug.cgi?id=233726

Unreviewed gardening.

- Disabling these tests on all Mac platforms until we can figure out the code signing/etc situation
- Fix the truly broken "basic" test everywhere by adapting to messaging changes


* TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
(TestWebKitAPI::TEST):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm




Diff

Modified: trunk/Tools/ChangeLog (286439 => 286440)

--- trunk/Tools/ChangeLog	2021-12-02 19:35:49 UTC (rev 286439)
+++ trunk/Tools/ChangeLog	2021-12-02 19:39:41 UTC (rev 286440)
@@ -1,3 +1,16 @@
+2021-12-02  Brady Eidson  
+
+REGRESSION: r286075 [ Big Sur x86] 2 TestWebKitAPI.WebPushD (API-Tests) are constant failures
+https://bugs.webkit.org/show_bug.cgi?id=233726
+
+Unreviewed gardening.
+
+- Disabling these tests on all Mac platforms until we can figure out the code signing/etc situation
+- Fix the truly broken "basic" test everywhere by adapting to messaging changes
+
+* TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
+(TestWebKitAPI::TEST):
+
 2021-12-02  Carlos Garcia Campos  
 
 Unreviewed. [GTK] Use nullptr instead of 0 in JSStringCreateWithCharacters()


Modified: trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm (286439 => 286440)

--- trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm	2021-12-02 19:35:49 UTC (rev 286439)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm	2021-12-02 19:39:41 UTC (rev 286440)
@@ -161,8 +161,8 @@
 EXPECT_NULL(error);
 }
 
-// FIXME: Re-enable this test for Monterey+ once webkit.org/232857 is resolved.
-#if PLATFORM(MAC) && (__MAC_OS_X_VERSION_MIN_REQUIRED < 11 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 12)
+// FIXME: Re-enable this test on Mac once webkit.org/232857 is resolved.
+#if PLATFORM(MAC)
 TEST(WebPushD, DISABLED_BasicCommunication)
 #else
 TEST(WebPushD, BasicCommunication)
@@ -199,15 +199,16 @@
 return;
 }
 
-// Send audit token
+// Send configuration with audit token
 {
-std::array encodedMessage;
+std::array encodedMessage;
 encodedMessage.fill(0);
-encodedMessage[0] = 32;
-memcpy([8], , sizeof(token));
+encodedMessage[1] = 1;
+encodedMessage[2] = 32;
+memcpy([10], , sizeof(token));
 auto dictionary = adoptNS(xpc_dictionary_create(nullptr, nullptr, 0));
 xpc_dictionary_set_uint64(dictionary.get(), "protocol version", 1);
-xpc_dictionary_set_uint64(dictionary.get(), "message type", 5);
+xpc_dictionary_set_uint64(dictionary.get(), "message type", 6);
 xpc_dictionary_set_data(dictionary.get(), "encoded message", encodedMessage.data(), encodedMessage.size());
 xpc_connection_send_message(connection.get(), dictionary.get());
 }
@@ -217,7 +218,7 @@
 auto dictionary = adoptNS(xpc_dictionary_create(nullptr, nullptr, 0));
 std::array encodedMessage { 1 };
 xpc_dictionary_set_uint64(dictionary.get(), "protocol version", 1);
-xpc_dictionary_set_uint64(dictionary.get(), "message type", 6);
+xpc_dictionary_set_uint64(dictionary.get(), "message type", 5);
 xpc_dictionary_set_data(dictionary.get(), "encoded message", encodedMessage.data(), encodedMessage.size());
 
 xpc_connection_send_message(connection.get(), dictionary.get());
@@ -258,8 +259,8 @@
 
 )WEBPUSHRESOURCE";
 
-// FIXME: Re-enable this test for Monterey+ once webkit.org/232857 is resolved.
-#if PLATFORM(MAC) && (__MAC_OS_X_VERSION_MIN_REQUIRED < 11 || __MAC_OS_X_VERSION_MIN_REQUIRED >= 12)
+// FIXME: Re-enable this test on Mac once webkit.org/232857 is resolved.
+#if PLATFORM(MAC)
 TEST(WebPushD, DISABLED_PermissionManagement)
 #else
 TEST(WebPushD, PermissionManagement)






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286439] trunk

2021-12-02 Thread jenner
Title: [286439] trunk








Revision 286439
Author jen...@apple.com
Date 2021-12-02 11:35:49 -0800 (Thu, 02 Dec 2021)


Log Message
Unreviewed, reverting r285570.

Broke StarD build

Reverted changeset:

"Fix crash in GraphicsContextCG::endTransparencyLayer"
https://bugs.webkit.org/show_bug.cgi?id=230230
https://commits.webkit.org/r285570

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderLayer.cpp


Removed Paths

trunk/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash-expected.txt
trunk/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash.html




Diff

Modified: trunk/LayoutTests/ChangeLog (286438 => 286439)

--- trunk/LayoutTests/ChangeLog	2021-12-02 19:19:01 UTC (rev 286438)
+++ trunk/LayoutTests/ChangeLog	2021-12-02 19:35:49 UTC (rev 286439)
@@ -1,3 +1,15 @@
+2021-12-02  Robert Jenner  
+
+Unreviewed, reverting r285570.
+
+Broke StarD build
+
+Reverted changeset:
+
+"Fix crash in GraphicsContextCG::endTransparencyLayer"
+https://bugs.webkit.org/show_bug.cgi?id=230230
+https://commits.webkit.org/r285570
+
 2021-12-02  Tyler Wilcock  
 
 AX Isolated Tree: Document links should be stored in web areas, not the root


Deleted: trunk/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash-expected.txt (286438 => 286439)

--- trunk/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash-expected.txt	2021-12-02 19:19:01 UTC (rev 286438)
+++ trunk/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash-expected.txt	2021-12-02 19:35:49 UTC (rev 286439)
@@ -1 +0,0 @@
-PASS if this doesn't crash


Deleted: trunk/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash.html (286438 => 286439)

--- trunk/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash.html	2021-12-02 19:19:01 UTC (rev 286438)
+++ trunk/LayoutTests/fast/layers/top-layer-ancestor-opacity-and-transform-crash.html	2021-12-02 19:35:49 UTC (rev 286439)
@@ -1,9 +0,0 @@
-
-* { opacity: 0.1; translate: 1px; }
-
-PASS if this doesn't crash
-
-document.querySelector("dialog").showModal();
-if (testRunner)
-testRunner.dumpAsText();
-


Modified: trunk/Source/WebCore/ChangeLog (286438 => 286439)

--- trunk/Source/WebCore/ChangeLog	2021-12-02 19:19:01 UTC (rev 286438)
+++ trunk/Source/WebCore/ChangeLog	2021-12-02 19:35:49 UTC (rev 286439)
@@ -1,3 +1,15 @@
+2021-12-02  Robert Jenner  
+
+Unreviewed, reverting r285570.
+
+Broke StarD build
+
+Reverted changeset:
+
+"Fix crash in GraphicsContextCG::endTransparencyLayer"
+https://bugs.webkit.org/show_bug.cgi?id=230230
+https://commits.webkit.org/r285570
+
 2021-12-02  Antti Koivisto  
 
 [:has() pseudo-class] Invalidation in non-subject position


Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (286438 => 286439)

--- trunk/Source/WebCore/rendering/RenderLayer.cpp	2021-12-02 19:19:01 UTC (rev 286438)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp	2021-12-02 19:35:49 UTC (rev 286439)
@@ -2089,9 +2089,9 @@
 if (isComposited())
 return nullptr;
 
-for (RenderLayer* curr = stackingContext(); curr; curr = curr->stackingContext()) {
+for (RenderLayer* curr = parent(); curr; curr = curr->parent()) {
 if (curr->isComposited())
-break;
+return nullptr;
 if (curr->isTransparent())
 return curr;
 }
@@ -3061,8 +3061,7 @@
 // If we have a transparency layer enclosing us and we are the root of a transform, then we need to establish the transparency
 // layer from the parent now, assuming there is a parent
 if (paintFlags & PaintLayerFlag::HaveTransparency) {
-// Top layer elements are not affected by ancestor opacities
-if (!establishesTopLayer() && parent())
+if (parent())
 parent()->beginTransparencyLayers(context, paintingInfo, paintingInfo.paintDirtyRect);
 else
 beginTransparencyLayers(context, paintingInfo, paintingInfo.paintDirtyRect);






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286438] trunk/Source

2021-12-02 Thread commit-queue
Title: [286438] trunk/Source








Revision 286438
Author commit-qu...@webkit.org
Date 2021-12-02 11:19:01 -0800 (Thu, 02 Dec 2021)


Log Message
Unreviewed, reverting r286437.
https://bugs.webkit.org/show_bug.cgi?id=233776

Introduced test failure

Reverted changeset:

"[WP] Strengthen sandbox when AppCache is disabled"
https://bugs.webkit.org/show_bug.cgi?id=233746
https://commits.webkit.org/r286437

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/PlatformHave.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in




Diff

Modified: trunk/Source/WTF/ChangeLog (286437 => 286438)

--- trunk/Source/WTF/ChangeLog	2021-12-02 18:44:46 UTC (rev 286437)
+++ trunk/Source/WTF/ChangeLog	2021-12-02 19:19:01 UTC (rev 286438)
@@ -1,3 +1,16 @@
+2021-12-02  Commit Queue  
+
+Unreviewed, reverting r286437.
+https://bugs.webkit.org/show_bug.cgi?id=233776
+
+Introduced test failure
+
+Reverted changeset:
+
+"[WP] Strengthen sandbox when AppCache is disabled"
+https://bugs.webkit.org/show_bug.cgi?id=233746
+https://commits.webkit.org/r286437
+
 2021-12-02  Per Arne Vollan  
 
 [WP] Strengthen sandbox when AppCache is disabled


Modified: trunk/Source/WTF/wtf/PlatformHave.h (286437 => 286438)

--- trunk/Source/WTF/wtf/PlatformHave.h	2021-12-02 18:44:46 UTC (rev 286437)
+++ trunk/Source/WTF/wtf/PlatformHave.h	2021-12-02 19:19:01 UTC (rev 286438)
@@ -1102,8 +1102,3 @@
 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 12
 #undef HAVE_AV_DELEGATING_PLAYBACK_COORDINATOR
 #endif
-
-#if ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 13) \
-|| (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 16))
-#define HAVE_SANDBOX_STATE_FLAGS 1
-#endif


Modified: trunk/Source/WebKit/ChangeLog (286437 => 286438)

--- trunk/Source/WebKit/ChangeLog	2021-12-02 18:44:46 UTC (rev 286437)
+++ trunk/Source/WebKit/ChangeLog	2021-12-02 19:19:01 UTC (rev 286438)
@@ -1,3 +1,16 @@
+2021-12-02  Commit Queue  
+
+Unreviewed, reverting r286437.
+https://bugs.webkit.org/show_bug.cgi?id=233776
+
+Introduced test failure
+
+Reverted changeset:
+
+"[WP] Strengthen sandbox when AppCache is disabled"
+https://bugs.webkit.org/show_bug.cgi?id=233746
+https://commits.webkit.org/r286437
+
 2021-12-02  Per Arne Vollan  
 
 [WP] Strengthen sandbox when AppCache is disabled


Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in (286437 => 286438)

--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2021-12-02 18:44:46 UTC (rev 286437)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2021-12-02 19:19:01 UTC (rev 286438)
@@ -1385,45 +1385,27 @@
 (when (defined? 'system-fcntl)
 (deny system-fcntl (with telemetry))
 (allow system-fcntl
-(fcntl-command
-F_GETPATH)) ;; used by dyld4 and CGFontURLCreate, getcwd (at least)
-(allow system-fcntl (with report) (with telemetry)
-(fcntl-command
-F_BARRIERFSYNC
-F_GETCONFINED
-F_GETFL ;; LibJPEGReadPlugin::copyImageBlockSetStandard
-F_GETSIGSINFO
-F_NOCACHE
-F_RDADVISE
-F_SETCONFINED
-F_ADDFILESIGS_RETURN ;; ImageLoaderMachO::loadCodeSignature
-F_CHECK_LV ;; ImageLoaderMachO::loadCodeSignature
-F_SPECULATIVE_READ ;; ImageLoaderMachO::mapSegments
-F_SETFD ;; libwebrtc.dylib (no backtrace)
-F_GETFD ;; libwebrtc.dylib (no backtrace)
-F_SETFL ;; CMCapture uses when camera is enabled
-F_SETNOSIGPIPE)) ;; CMCapture uses when camera is enabled
+(fcntl-command F_BARRIERFSYNC)
+(fcntl-command F_GETCONFINED)
+(fcntl-command F_GETFL) ;; LibJPEGReadPlugin::copyImageBlockSetStandard
+(fcntl-command F_GETLK)
+(fcntl-command F_GETSIGSINFO)
+(fcntl-command F_NOCACHE)
+(fcntl-command F_OFD_GETLK)
+(fcntl-command F_OFD_SETLKWTIMEOUT)
+(fcntl-command F_RDADVISE)
+(fcntl-command F_SETCONFINED)
+(fcntl-command F_GETPATH) ;; used by dyld4 and CGFontURLCreate, getcwd (at least)
+(fcntl-command F_ADDFILESIGS_RETURN) ;; ImageLoaderMachO::loadCodeSignature
+(fcntl-command F_CHECK_LV) ;; ImageLoaderMachO::loadCodeSignature
+(fcntl-command F_SPECULATIVE_READ) ;; ImageLoaderMachO::mapSegments
+(fcntl-command F_SETFD) ;; libwebrtc.dylib (no backtrace)
+(fcntl-command F_GETFD) ;; libwebrtc.dylib (no backtrace)
+(fcntl-command F_SETFL) ;; CMCapture uses when camera is enabled
+(fcntl-command F_SETNOSIGPIPE)) ;; CMCapture uses when camera is enabled
 
-(define 

[webkit-changes] [286437] trunk/Source

2021-12-02 Thread pvollan
Title: [286437] trunk/Source








Revision 286437
Author pvol...@apple.com
Date 2021-12-02 10:44:46 -0800 (Thu, 02 Dec 2021)


Log Message
[WP] Strengthen sandbox when AppCache is disabled
https://bugs.webkit.org/show_bug.cgi?id=233746


Reviewed by Brent Fulgham.

Source/WebKit:

When AppCache is disabled, we can remove access to some resources in the WebContent process' sandbox.
This is implemented using a new sandbox state variable representing the AppCache state.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
* WebProcess/WebPage/WebPage.cpp:
* WebProcess/com.apple.WebProcess.sb.in:

Source/WTF:

Add HAVE macro for sandbox state flags support.

* wtf/PlatformHave.h:

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/PlatformHave.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
trunk/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in




Diff

Modified: trunk/Source/WTF/ChangeLog (286436 => 286437)

--- trunk/Source/WTF/ChangeLog	2021-12-02 17:57:46 UTC (rev 286436)
+++ trunk/Source/WTF/ChangeLog	2021-12-02 18:44:46 UTC (rev 286437)
@@ -1,3 +1,15 @@
+2021-12-02  Per Arne Vollan  
+
+[WP] Strengthen sandbox when AppCache is disabled
+https://bugs.webkit.org/show_bug.cgi?id=233746
+
+
+Reviewed by Brent Fulgham.
+
+Add HAVE macro for sandbox state flags support.
+
+* wtf/PlatformHave.h:
+
 2021-12-02  Aditya Keerthi  
 
 [macCatalyst] Enable support for date/time inputs


Modified: trunk/Source/WTF/wtf/PlatformHave.h (286436 => 286437)

--- trunk/Source/WTF/wtf/PlatformHave.h	2021-12-02 17:57:46 UTC (rev 286436)
+++ trunk/Source/WTF/wtf/PlatformHave.h	2021-12-02 18:44:46 UTC (rev 286437)
@@ -1102,3 +1102,8 @@
 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 12
 #undef HAVE_AV_DELEGATING_PLAYBACK_COORDINATOR
 #endif
+
+#if ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 13) \
+|| (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 16))
+#define HAVE_SANDBOX_STATE_FLAGS 1
+#endif


Modified: trunk/Source/WebKit/ChangeLog (286436 => 286437)

--- trunk/Source/WebKit/ChangeLog	2021-12-02 17:57:46 UTC (rev 286436)
+++ trunk/Source/WebKit/ChangeLog	2021-12-02 18:44:46 UTC (rev 286437)
@@ -1,3 +1,18 @@
+2021-12-02  Per Arne Vollan  
+
+[WP] Strengthen sandbox when AppCache is disabled
+https://bugs.webkit.org/show_bug.cgi?id=233746
+
+
+Reviewed by Brent Fulgham.
+
+When AppCache is disabled, we can remove access to some resources in the WebContent process' sandbox.
+This is implemented using a new sandbox state variable representing the AppCache state.
+
+* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
+* WebProcess/WebPage/WebPage.cpp:
+* WebProcess/com.apple.WebProcess.sb.in:
+
 2021-12-02  Youenn Fablet  
 
 Add some logging to NetworkRTCProvider


Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in (286436 => 286437)

--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2021-12-02 17:57:46 UTC (rev 286436)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2021-12-02 18:44:46 UTC (rev 286437)
@@ -1385,27 +1385,45 @@
 (when (defined? 'system-fcntl)
 (deny system-fcntl (with telemetry))
 (allow system-fcntl
-(fcntl-command F_BARRIERFSYNC)
-(fcntl-command F_GETCONFINED)
-(fcntl-command F_GETFL) ;; LibJPEGReadPlugin::copyImageBlockSetStandard
-(fcntl-command F_GETLK)
-(fcntl-command F_GETSIGSINFO)
-(fcntl-command F_NOCACHE)
-(fcntl-command F_OFD_GETLK)
-(fcntl-command F_OFD_SETLKWTIMEOUT)
-(fcntl-command F_RDADVISE)
-(fcntl-command F_SETCONFINED)
-(fcntl-command F_GETPATH) ;; used by dyld4 and CGFontURLCreate, getcwd (at least)
-(fcntl-command F_ADDFILESIGS_RETURN) ;; ImageLoaderMachO::loadCodeSignature
-(fcntl-command F_CHECK_LV) ;; ImageLoaderMachO::loadCodeSignature
-(fcntl-command F_SPECULATIVE_READ) ;; ImageLoaderMachO::mapSegments
-(fcntl-command F_SETFD) ;; libwebrtc.dylib (no backtrace)
-(fcntl-command F_GETFD) ;; libwebrtc.dylib (no backtrace)
-(fcntl-command F_SETFL) ;; CMCapture uses when camera is enabled
-(fcntl-command F_SETNOSIGPIPE)) ;; CMCapture uses when camera is enabled
+(fcntl-command
+F_GETPATH)) ;; used by dyld4 and CGFontURLCreate, getcwd (at least)
+(allow system-fcntl (with report) (with telemetry)
+(fcntl-command
+F_BARRIERFSYNC
+F_GETCONFINED
+F_GETFL ;; LibJPEGReadPlugin::copyImageBlockSetStandard
+F_GETSIGSINFO
+F_NOCACHE
+F_RDADVISE
+F_SETCONFINED
+

[webkit-changes] [286435] branches/safari-613.1.10-branch/Source/WebKit

2021-12-02 Thread repstein
Title: [286435] branches/safari-613.1.10-branch/Source/WebKit








Revision 286435
Author repst...@apple.com
Date 2021-12-02 09:57:42 -0800 (Thu, 02 Dec 2021)


Log Message
Cherry-pick r286266. rdar://problem/85832755

[WP] Sandbox telemetry is missing for some system calls
https://bugs.webkit.org/show_bug.cgi?id=233594


Reviewed by Brent Fulgham.

Sandbox telemetry is missing for some system calls, since telemetry rules are automatically overridden in some cases.
This patch is addressing this by disabling system call inference.

* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286266 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-613.1.10-branch/Source/WebKit/ChangeLog
branches/safari-613.1.10-branch/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in




Diff

Modified: branches/safari-613.1.10-branch/Source/WebKit/ChangeLog (286434 => 286435)

--- branches/safari-613.1.10-branch/Source/WebKit/ChangeLog	2021-12-02 17:48:17 UTC (rev 286434)
+++ branches/safari-613.1.10-branch/Source/WebKit/ChangeLog	2021-12-02 17:57:42 UTC (rev 286435)
@@ -1,3 +1,34 @@
+2021-12-02  Russell Epstein  
+
+Cherry-pick r286266. rdar://problem/85832755
+
+[WP] Sandbox telemetry is missing for some system calls
+https://bugs.webkit.org/show_bug.cgi?id=233594
+
+
+Reviewed by Brent Fulgham.
+
+Sandbox telemetry is missing for some system calls, since telemetry rules are automatically overridden in some cases.
+This patch is addressing this by disabling system call inference.
+
+* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286266 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-11-29  Per Arne Vollan  
+
+[WP] Sandbox telemetry is missing for some system calls
+https://bugs.webkit.org/show_bug.cgi?id=233594
+
+
+Reviewed by Brent Fulgham.
+
+Sandbox telemetry is missing for some system calls, since telemetry rules are automatically overridden in some cases.
+This patch is addressing this by disabling system call inference.
+
+* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
+
 2021-12-01  Russell Epstein  
 
 Cherry-pick r286386. rdar://problem/75225923


Modified: branches/safari-613.1.10-branch/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in (286434 => 286435)

--- branches/safari-613.1.10-branch/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2021-12-02 17:48:17 UTC (rev 286434)
+++ branches/safari-613.1.10-branch/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2021-12-02 17:57:42 UTC (rev 286435)
@@ -1193,6 +1193,8 @@
 (global-name "com.apple.webkit.camera")
 )
 
+(disable-syscall-inference)
+
 (when (defined? 'syscall-unix)
 (deny syscall-unix (with send-signal SIGKILL))
 (allow syscall-unix
@@ -1206,6 +1208,10 @@
 (syscall-number SYS_bsdthread_terminate)
 (syscall-number SYS_change_fdguard_np)
 (syscall-number SYS_chdir)
+(syscall-number SYS_close)
+(syscall-number SYS_close_nocancel)
+(syscall-number SYS_csops) ;; used by Corefoundation initialization
+(syscall-number SYS_csops_audittoken) ;; used by WK to get entitlments
 (syscall-number SYS_exit)
 (syscall-number SYS_faccessat) ;; 
 (syscall-number SYS_fcntl)
@@ -1235,6 +1241,7 @@
 (syscall-number SYS_guarded_open_dprotected_np) ; 
 (syscall-number SYS_guarded_open_np)
 (syscall-number SYS_guarded_pwrite_np)
+(syscall-number SYS_ioctl) ;; needed by tcgetattr (TIOCGETA) - debugging
 (syscall-number SYS_issetugid)
 (syscall-number SYS_kdebug_trace64)
 (syscall-number SYS_kdebug_typefilter)
@@ -1253,9 +1260,13 @@
 (syscall-number SYS_msync)
 (syscall-number SYS_munmap)
 (syscall-number SYS_objc_bp_assist_cfg_np)
+(syscall-number SYS_open)
+(syscall-number SYS_open_nocancel)
+(syscall-number SYS_openat)
 (syscall-number SYS_os_fault_with_payload)
 (syscall-number SYS_pathconf)
 (syscall-number SYS_pread)
+(syscall-number SYS_proc_info)
 (syscall-number SYS_psynch_cvbroad)
 (syscall-number SYS_psynch_cvclrprepost)
 (syscall-number SYS_psynch_cvsignal)
@@ -1268,17 +1279,23 @@
 (syscall-number SYS_read_nocancel)
 (syscall-number SYS_readlink)
 (syscall-number SYS_rename)
+(syscall-number SYS_sem_close)
+(syscall-number SYS_sem_open)
 (syscall-number SYS_shared_region_check_np)
 (syscall-number SYS_shared_region_map_and_slide_2_np) ;; 
+(syscall-number SYS_shm_open)

[webkit-changes] [286436] branches/safari-613.1.10-branch/Source/WebKit

2021-12-02 Thread repstein
Title: [286436] branches/safari-613.1.10-branch/Source/WebKit








Revision 286436
Author repst...@apple.com
Date 2021-12-02 09:57:46 -0800 (Thu, 02 Dec 2021)


Log Message
Cherry-pick r286381. rdar://problem/85832755

[WP] Sandbox telemetry is missing for some system calls
https://bugs.webkit.org/show_bug.cgi?id=233594


Reviewed by Brent Fulgham.

Sandbox telemetry is missing for some system calls, since telemetry rules are automatically overridden in some cases.
This patch is addressing this by disabling system call inference.

* WebProcess/com.apple.WebProcess.sb.in:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286381 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Modified Paths

branches/safari-613.1.10-branch/Source/WebKit/ChangeLog
branches/safari-613.1.10-branch/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in




Diff

Modified: branches/safari-613.1.10-branch/Source/WebKit/ChangeLog (286435 => 286436)

--- branches/safari-613.1.10-branch/Source/WebKit/ChangeLog	2021-12-02 17:57:42 UTC (rev 286435)
+++ branches/safari-613.1.10-branch/Source/WebKit/ChangeLog	2021-12-02 17:57:46 UTC (rev 286436)
@@ -1,5 +1,36 @@
 2021-12-02  Russell Epstein  
 
+Cherry-pick r286381. rdar://problem/85832755
+
+[WP] Sandbox telemetry is missing for some system calls
+https://bugs.webkit.org/show_bug.cgi?id=233594
+
+
+Reviewed by Brent Fulgham.
+
+Sandbox telemetry is missing for some system calls, since telemetry rules are automatically overridden in some cases.
+This patch is addressing this by disabling system call inference.
+
+* WebProcess/com.apple.WebProcess.sb.in:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286381 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-01  Per Arne Vollan  
+
+[WP] Sandbox telemetry is missing for some system calls
+https://bugs.webkit.org/show_bug.cgi?id=233594
+
+
+Reviewed by Brent Fulgham.
+
+Sandbox telemetry is missing for some system calls, since telemetry rules are automatically overridden in some cases.
+This patch is addressing this by disabling system call inference.
+
+* WebProcess/com.apple.WebProcess.sb.in:
+
+2021-12-02  Russell Epstein  
+
 Cherry-pick r286266. rdar://problem/85832755
 
 [WP] Sandbox telemetry is missing for some system calls


Modified: branches/safari-613.1.10-branch/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in (286435 => 286436)

--- branches/safari-613.1.10-branch/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in	2021-12-02 17:57:42 UTC (rev 286435)
+++ branches/safari-613.1.10-branch/Source/WebKit/WebProcess/com.apple.WebProcess.sb.in	2021-12-02 17:57:46 UTC (rev 286436)
@@ -1870,6 +1870,10 @@
 )
 #endif
 
+#if __MAC_OS_X_VERSION_MIN_REQUIRED > 12
+(disable-syscall-inference)
+#endif
+
 (define (syscall-unix-common)
 (syscall-number
 SYS___disable_threadsignal
@@ -1878,6 +1882,10 @@
 SYS_bsdthread_create
 SYS_bsdthread_ctl
 SYS_bsdthread_terminate
+SYS_close
+SYS_close_nocancel
+SYS_csops
+SYS_csops_audittoken
 SYS_csrctl
 SYS_exit
 SYS_fcntl
@@ -1885,6 +1893,7 @@
 SYS_fgetxattr
 SYS_fileport_makefd
 SYS_flock
+SYS_fsetxattr ;; 
 SYS_fsgetpath
 SYS_fstat64
 SYS_fstatat64
@@ -1904,6 +1913,7 @@
 SYS_gettimeofday
 SYS_getuid
 SYS_getxattr
+SYS_ioctl
 SYS_issetugid
 SYS_kdebug_trace
 SYS_kdebug_trace64
@@ -1919,8 +1929,12 @@
 SYS_mprotect
 SYS_msync
 SYS_munmap
+SYS_open
+SYS_open_nocancel
+SYS_openat
 SYS_pathconf
 SYS_pread
+SYS_proc_info
 SYS_psynch_cvbroad
 SYS_psynch_cvclrprepost
 SYS_psynch_cvsignal
@@ -1933,10 +1947,13 @@
 SYS_rename
 SYS_stat64
 SYS_statfs64
+SYS_sysctlbyname
 SYS_thread_selfid
 SYS_ulock_wait
 SYS_ulock_wake
-SYS_workq_kernreturn))
+SYS_workq_kernreturn
+SYS_write_nocancel
+SYS_writev))
 
 (define (syscall-unix-intel)
 (syscall-number
@@ -1968,18 +1985,13 @@
 SYS_change_fdguard_np
 SYS_chmod
 SYS_chmod_extended
-SYS_close
-SYS_close_nocancel
 SYS_connect
 SYS_connect_nocancel
 SYS_connectx
-SYS_csops
-SYS_csops_audittoken
 SYS_dup
 SYS_fchmod
 SYS_fgetattrlist ;; 
 SYS_fileport_makeport
-SYS_fsetxattr ;; 
 SYS_fstat64_extended ;; 
 SYS_fsync
 SYS_getegid
@@ -1991,7 +2003,6 @@
 SYS_guarded_open_np
 SYS_guarded_pwrite_np
 SYS_guarded_write_np
-SYS_ioctl
 SYS_kdebug_typefilter
 SYS_kevent
 SYS_kqueue ;; 
@@ 

[webkit-changes] [286434] trunk/Source/WTF

2021-12-02 Thread akeerthi
Title: [286434] trunk/Source/WTF








Revision 286434
Author akeer...@apple.com
Date 2021-12-02 09:48:17 -0800 (Thu, 02 Dec 2021)


Log Message
[macCatalyst] Enable support for date/time inputs
https://bugs.webkit.org/show_bug.cgi?id=233710
rdar://80108114

Reviewed by Tim Horton.

Date/time inputs were unsupported due to the lack of support for custom
views inside UIContextMenuInteractions on macCatalyst.

However, after date/time pickers transitioned to use
_UIDatePickerOverlayPresentation in iOS 15, there is nothing preventing
them from functioning on macCatalyst.

* Scripts/Preferences/WebPreferencesInternal.yaml:

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml




Diff

Modified: trunk/Source/WTF/ChangeLog (286433 => 286434)

--- trunk/Source/WTF/ChangeLog	2021-12-02 17:36:50 UTC (rev 286433)
+++ trunk/Source/WTF/ChangeLog	2021-12-02 17:48:17 UTC (rev 286434)
@@ -1,3 +1,20 @@
+2021-12-02  Aditya Keerthi  
+
+[macCatalyst] Enable support for date/time inputs
+https://bugs.webkit.org/show_bug.cgi?id=233710
+rdar://80108114
+
+Reviewed by Tim Horton.
+
+Date/time inputs were unsupported due to the lack of support for custom
+views inside UIContextMenuInteractions on macCatalyst.
+
+However, after date/time pickers transitioned to use
+_UIDatePickerOverlayPresentation in iOS 15, there is nothing preventing
+them from functioning on macCatalyst.
+
+* Scripts/Preferences/WebPreferencesInternal.yaml:
+
 2021-12-02  Alexey Proskuryakov  
 
 macOS Monterey build fix after r286420 (suggested by Brady).


Modified: trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml (286433 => 286434)

--- trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml	2021-12-02 17:36:50 UTC (rev 286433)
+++ trunk/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml	2021-12-02 17:48:17 UTC (rev 286434)
@@ -343,7 +343,7 @@
   "PLATFORM(IOS_FAMILY)": true
   default: false
 WebKit:
-  "PLATFORM(MACCATALYST) || PLATFORM(APPLETV)": false
+  "PLATFORM(APPLETV)": false
   default: true
 WebCore:
   default: false
@@ -358,7 +358,7 @@
   "PLATFORM(IOS_FAMILY)": true
   default: false
 WebKit:
-  "PLATFORM(MACCATALYST) || PLATFORM(APPLETV)": false
+  "PLATFORM(APPLETV)": false
   default: true
 WebCore:
   default: false
@@ -373,7 +373,7 @@
   "PLATFORM(IOS_FAMILY)": true
   default: false
 WebKit:
-  "!PLATFORM(MAC) && !PLATFORM(MACCATALYST) && !PLATFORM(APPLETV)": true
+  "!PLATFORM(MAC) && !PLATFORM(APPLETV)": true
   default: false
 WebCore:
   default: false
@@ -388,7 +388,7 @@
   "PLATFORM(IOS_FAMILY)": true
   default: false
 WebKit:
-  "PLATFORM(MACCATALYST) || PLATFORM(APPLETV)": false
+  "PLATFORM(APPLETV)": false
   default: true
 WebCore:
   default: false
@@ -402,7 +402,7 @@
 WebKitLegacy:
   default: false
 WebKit:
-  "!PLATFORM(MAC) && !PLATFORM(MACCATALYST) && !PLATFORM(APPLETV)": true
+  "!PLATFORM(MAC) && !PLATFORM(APPLETV)": true
   default: false
 WebCore:
   default: false






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286433] trunk

2021-12-02 Thread antti
Title: [286433] trunk








Revision 286433
Author an...@apple.com
Date 2021-12-02 09:36:50 -0800 (Thu, 02 Dec 2021)


Log Message
[:has() pseudo-class] Invalidation in non-subject position
https://bugs.webkit.org/show_bug.cgi?id=233758

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

* web-platform-tests/css/selectors/invalidation/has-in-adjacent-position-expected.txt: Added.
* web-platform-tests/css/selectors/invalidation/has-in-adjacent-position.html: Added.
* web-platform-tests/css/selectors/invalidation/has-in-ancestor-position-expected.txt: Added.
* web-platform-tests/css/selectors/invalidation/has-in-ancestor-position.html: Added.
* web-platform-tests/css/selectors/invalidation/has-in-parent-position-expected.txt: Added.
* web-platform-tests/css/selectors/invalidation/has-in-parent-position.html: Added.
* web-platform-tests/css/selectors/invalidation/has-in-sibling-position-expected.txt: Added.
* web-platform-tests/css/selectors/invalidation/has-in-sibling-position.html: Added.

Source/WebCore:

Invalidation for selectors like '.ancestor:has(.foo) #target'.

Tests: imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-adjacent-position.html
   imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-ancestor-position.html
   imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-parent-position.html
   imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-sibling-position.html

* style/ChildChangeInvalidation.cpp:
(WebCore::Style::ChildChangeInvalidation::invalidateForChangedElement):
(WebCore::Style::needsTraversal):
(WebCore::Style::needsDescendantTraversal):
* style/RuleFeature.cpp:
(WebCore::Style::isSiblingOrSubject):
(WebCore::Style::isHasPseudoClassMatchElement):
(WebCore::Style::computeHasPseudoClassMatchElement):
(WebCore::Style::computeSubSelectorMatchElement):

Use new MatchElement::HasNonSubject as a catch-all for cases where :has() is in a non-subject position.
In the future this can be optimized better by computing both the :has match element and the overall
match element separately.

* style/RuleFeature.h:
* style/StyleInvalidator.cpp:
(WebCore::Style::Invalidator::invalidateStyleWithMatchElement):

Worst-case invalidation.

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/style/ChildChangeInvalidation.cpp
trunk/Source/WebCore/style/RuleFeature.cpp
trunk/Source/WebCore/style/RuleFeature.h
trunk/Source/WebCore/style/StyleInvalidator.cpp


Added Paths

trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-adjacent-position-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-adjacent-position.html
trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-ancestor-position-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-ancestor-position.html
trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-parent-position-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-parent-position.html
trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-sibling-position-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-sibling-position.html




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (286432 => 286433)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-12-02 16:44:31 UTC (rev 286432)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-12-02 17:36:50 UTC (rev 286433)
@@ -1,3 +1,19 @@
+2021-12-02  Antti Koivisto  
+
+[:has() pseudo-class] Invalidation in non-subject position
+https://bugs.webkit.org/show_bug.cgi?id=233758
+
+Reviewed by Simon Fraser.
+
+* web-platform-tests/css/selectors/invalidation/has-in-adjacent-position-expected.txt: Added.
+* web-platform-tests/css/selectors/invalidation/has-in-adjacent-position.html: Added.
+* web-platform-tests/css/selectors/invalidation/has-in-ancestor-position-expected.txt: Added.
+* web-platform-tests/css/selectors/invalidation/has-in-ancestor-position.html: Added.
+* web-platform-tests/css/selectors/invalidation/has-in-parent-position-expected.txt: Added.
+* web-platform-tests/css/selectors/invalidation/has-in-parent-position.html: Added.
+* web-platform-tests/css/selectors/invalidation/has-in-sibling-position-expected.txt: Added.
+* web-platform-tests/css/selectors/invalidation/has-in-sibling-position.html: Added.
+
 2021-12-02  Andreu Botella  
 
 File inputs in non-multipart form submissions show up as string values in the formdata event


Added: trunk/LayoutTests/imported/w3c/web-platform-tests/css/selectors/invalidation/has-in-adjacent-position-expected.txt (0 => 286433)

--- 

[webkit-changes] [286432] trunk/Source/WebKit

2021-12-02 Thread youenn
Title: [286432] trunk/Source/WebKit








Revision 286432
Author you...@apple.com
Date 2021-12-02 08:44:31 -0800 (Thu, 02 Dec 2021)


Log Message
Add some logging to NetworkRTCProvider
https://bugs.webkit.org/show_bug.cgi?id=233759

Reviewed by Eric Carlson.

No change of behavior.

* NetworkProcess/webrtc/NetworkRTCProvider.cpp:
(WebKit::NetworkRTCProvider::addSocket):
* NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm:
(WebKit::NetworkRTCUDPSocketCocoaConnections::NetworkRTCUDPSocketCocoaConnections):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.cpp
trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (286431 => 286432)

--- trunk/Source/WebKit/ChangeLog	2021-12-02 16:33:01 UTC (rev 286431)
+++ trunk/Source/WebKit/ChangeLog	2021-12-02 16:44:31 UTC (rev 286432)
@@ -1,3 +1,17 @@
+2021-12-02  Youenn Fablet  
+
+Add some logging to NetworkRTCProvider
+https://bugs.webkit.org/show_bug.cgi?id=233759
+
+Reviewed by Eric Carlson.
+
+No change of behavior.
+
+* NetworkProcess/webrtc/NetworkRTCProvider.cpp:
+(WebKit::NetworkRTCProvider::addSocket):
+* NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm:
+(WebKit::NetworkRTCUDPSocketCocoaConnections::NetworkRTCUDPSocketCocoaConnections):
+
 2021-12-02  Per Arne Vollan  
 
 REGRESSION(r285722): Introduced performance regression


Modified: trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.cpp (286431 => 286432)

--- trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.cpp	2021-12-02 16:33:01 UTC (rev 286431)
+++ trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCProvider.cpp	2021-12-02 16:44:31 UTC (rev 286432)
@@ -288,8 +288,11 @@
 ASSERT(m_rtcNetworkThread.IsCurrent());
 ASSERT(socket);
 m_sockets.emplace(identifier, WTFMove(socket));
+
+RTC_RELEASE_LOG("new socket %" PRIu64 ", total socket number is %lu", identifier.toUInt64(), m_sockets.size());
 if (m_sockets.size() > maxSockets) {
 auto socketIdentifierToClose = m_sockets.begin()->first;
+RTC_RELEASE_LOG_ERROR("too many sockets, closing %" PRIu64, socketIdentifierToClose.toUInt64());
 closeSocket(socketIdentifierToClose);
 ASSERT(m_sockets.find(socketIdentifierToClose) == m_sockets.end());
 }


Modified: trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm (286431 => 286432)

--- trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm	2021-12-02 16:33:01 UTC (rev 286431)
+++ trunk/Source/WebKit/NetworkProcess/webrtc/NetworkRTCUDPSocketCocoa.mm	2021-12-02 16:44:31 UTC (rev 286432)
@@ -219,6 +219,7 @@
 connection->send(Messages::LibWebRTCNetwork::SignalClose(identifier, -1), 0);
 break;
 case nw_listener_state_cancelled:
+RELEASE_LOG(WebRTC, "NetworkRTCUDPSocketCocoaConnections cancelled listener %" PRIu64, identifier.toUInt64());
 nwListener.clear();
 break;
 }






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286431] trunk/Source/WTF

2021-12-02 Thread ap
Title: [286431] trunk/Source/WTF








Revision 286431
Author a...@apple.com
Date 2021-12-02 08:33:01 -0800 (Thu, 02 Dec 2021)


Log Message
macOS Monterey build fix after r286420 (suggested by Brady).

* wtf/PlatformHave.h:

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/PlatformHave.h




Diff

Modified: trunk/Source/WTF/ChangeLog (286430 => 286431)

--- trunk/Source/WTF/ChangeLog	2021-12-02 16:28:38 UTC (rev 286430)
+++ trunk/Source/WTF/ChangeLog	2021-12-02 16:33:01 UTC (rev 286431)
@@ -1,3 +1,9 @@
+2021-12-02  Alexey Proskuryakov  
+
+macOS Monterey build fix after r286420 (suggested by Brady).
+
+* wtf/PlatformHave.h:
+
 2021-12-02  Brady Eidson  
 
 AVDelegatingPlaybackCoordinator error compiling on macOS 11


Modified: trunk/Source/WTF/wtf/PlatformHave.h (286430 => 286431)

--- trunk/Source/WTF/wtf/PlatformHave.h	2021-12-02 16:28:38 UTC (rev 286430)
+++ trunk/Source/WTF/wtf/PlatformHave.h	2021-12-02 16:33:01 UTC (rev 286431)
@@ -1099,6 +1099,6 @@
 #if PLATFORM(COCOA)
 #define HAVE_AV_DELEGATING_PLAYBACK_COORDINATOR 1
 #endif
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED <= 12
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 12
 #undef HAVE_AV_DELEGATING_PLAYBACK_COORDINATOR
 #endif






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286430] trunk/Source/WebKit

2021-12-02 Thread pvollan
Title: [286430] trunk/Source/WebKit








Revision 286430
Author pvol...@apple.com
Date 2021-12-02 08:28:38 -0800 (Thu, 02 Dec 2021)


Log Message
REGRESSION(r285722): Introduced performance regression
https://bugs.webkit.org/show_bug.cgi?id=233718

Unreviewed partial revert of r285722.


* Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb




Diff

Modified: trunk/Source/WebKit/ChangeLog (286429 => 286430)

--- trunk/Source/WebKit/ChangeLog	2021-12-02 15:46:01 UTC (rev 286429)
+++ trunk/Source/WebKit/ChangeLog	2021-12-02 16:28:38 UTC (rev 286430)
@@ -1,3 +1,12 @@
+2021-12-02  Per Arne Vollan  
+
+REGRESSION(r285722): Introduced performance regression
+https://bugs.webkit.org/show_bug.cgi?id=233718
+
+Unreviewed partial revert of r285722.
+
+* Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb:
+
 2021-12-02  Kimmo Kinnunen  
 
 GraphicsContextGLANGLE should not have Cocoa Mac specific display reconfiguration code


Modified: trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb (286429 => 286430)

--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb	2021-12-02 15:46:01 UTC (rev 286429)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.GPU.sb	2021-12-02 16:28:38 UTC (rev 286430)
@@ -656,6 +656,21 @@
 (deny file-write-create (vnode-type SYMLINK))
 (deny file-read-xattr file-write-xattr (xattr-prefix "com.apple.security.private."))
 
+(allow iokit-open
+(require-all
+(extension "com.apple.webkit.extension.iokit")
+(iokit-user-client-class
+"AGXCommandQueue"
+"AGXDevice"
+"AGXSharedUserClient"
+"IOAccelContext"
+"IOAccelDevice"
+"IOAccelSharedUserClient"
+"IOAccelSubmitter2"
+"IOAccelContext2"
+"IOAccelDevice2"
+"IOAccelSharedUserClient2")))
+
 (deny mach-lookup (with no-log)
 (xpc-service-name "com.apple.audio.toolbox.reporting.service")
 )






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286429] trunk/Source/bmalloc

2021-12-02 Thread commit-queue
Title: [286429] trunk/Source/bmalloc








Revision 286429
Author commit-qu...@webkit.org
Date 2021-12-02 07:46:01 -0800 (Thu, 02 Dec 2021)


Log Message
[libpas] Define and use PAS_RISCV
https://bugs.webkit.org/show_bug.cgi?id=233753

Patch by Zan Dobersek  on 2021-12-02
Reviewed by Yusuke Suzuki.

Define PAS_RISCV as appropriate and use it accordingly to avoid custom
x86-64 assembly, much like it's avoided for PAS_ARM. This gets libpas
compiling for RISC-V targets.

* libpas/src/libpas/pas_config.h:
* libpas/src/libpas/pas_config_prefix.h:
* libpas/src/libpas/pas_segregated_page_inlines.h:
(pas_segregated_page_deallocate_with_page):
* libpas/src/libpas/pas_utils.h:
* libpas/src/libpas/pas_utils_prefix.h:
(__pas_fence):

Modified Paths

trunk/Source/bmalloc/ChangeLog
trunk/Source/bmalloc/libpas/src/libpas/pas_config.h
trunk/Source/bmalloc/libpas/src/libpas/pas_config_prefix.h
trunk/Source/bmalloc/libpas/src/libpas/pas_segregated_page_inlines.h
trunk/Source/bmalloc/libpas/src/libpas/pas_utils.h
trunk/Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h




Diff

Modified: trunk/Source/bmalloc/ChangeLog (286428 => 286429)

--- trunk/Source/bmalloc/ChangeLog	2021-12-02 15:41:52 UTC (rev 286428)
+++ trunk/Source/bmalloc/ChangeLog	2021-12-02 15:46:01 UTC (rev 286429)
@@ -1,3 +1,22 @@
+2021-12-02  Zan Dobersek  
+
+[libpas] Define and use PAS_RISCV
+https://bugs.webkit.org/show_bug.cgi?id=233753
+
+Reviewed by Yusuke Suzuki.
+
+Define PAS_RISCV as appropriate and use it accordingly to avoid custom
+x86-64 assembly, much like it's avoided for PAS_ARM. This gets libpas
+compiling for RISC-V targets.
+
+* libpas/src/libpas/pas_config.h:
+* libpas/src/libpas/pas_config_prefix.h:
+* libpas/src/libpas/pas_segregated_page_inlines.h:
+(pas_segregated_page_deallocate_with_page):
+* libpas/src/libpas/pas_utils.h:
+* libpas/src/libpas/pas_utils_prefix.h:
+(__pas_fence):
+
 2021-11-24  Yusuke Suzuki  
 
 [libpas] Unreviewed, speculative libpas Linux fix, libpas requires libatomic in Linux etc., part 2


Modified: trunk/Source/bmalloc/libpas/src/libpas/pas_config.h (286428 => 286429)

--- trunk/Source/bmalloc/libpas/src/libpas/pas_config.h	2021-12-02 15:41:52 UTC (rev 286428)
+++ trunk/Source/bmalloc/libpas/src/libpas/pas_config.h	2021-12-02 15:46:01 UTC (rev 286429)
@@ -45,6 +45,8 @@
 
 #define PAS_ARM __PAS_ARM
 
+#define PAS_RISCV __PAS_RISCV
+
 #define PAS_ADDRESS_BITS 48
 
 #if PAS_ARM


Modified: trunk/Source/bmalloc/libpas/src/libpas/pas_config_prefix.h (286428 => 286429)

--- trunk/Source/bmalloc/libpas/src/libpas/pas_config_prefix.h	2021-12-02 15:41:52 UTC (rev 286428)
+++ trunk/Source/bmalloc/libpas/src/libpas/pas_config_prefix.h	2021-12-02 15:46:01 UTC (rev 286429)
@@ -43,3 +43,8 @@
 
 #define __PAS_ARM (__PAS_ARM64 || __PAS_ARM32)
 
+#if defined(__riscv)
+#define __PAS_RISCV 1
+#else
+#define __PAS_RISCV 0
+#endif


Modified: trunk/Source/bmalloc/libpas/src/libpas/pas_segregated_page_inlines.h (286428 => 286429)

--- trunk/Source/bmalloc/libpas/src/libpas/pas_segregated_page_inlines.h	2021-12-02 15:41:52 UTC (rev 286428)
+++ trunk/Source/bmalloc/libpas/src/libpas/pas_segregated_page_inlines.h	2021-12-02 15:46:01 UTC (rev 286429)
@@ -369,7 +369,7 @@
 word = page->alloc_bits[word_index];
 
 if (page_config.check_deallocation) {
-#if !PAS_ARM
+#if !PAS_ARM && !PAS_RISCV
 new_word = word;
 
 asm volatile (
@@ -385,7 +385,7 @@
 : "+r"(new_word)
 : "r"((unsigned)bit_index_unmasked), "r"(begin)
 : "memory");
-#else /* !PAS_ARM -> so PAS_ARM */
+#else /* !PAS_ARM && !PAS_RISCV -> so PAS_ARM or PAS_RISCV */
 unsigned bit_mask;
 bit_mask = PAS_BITVECTOR_BIT_MASK(bit_index_unmasked);
 
@@ -393,7 +393,7 @@
 pas_segregated_page_deallocation_did_fail(begin);
 
 new_word = word & ~bit_mask;
-#endif /* !PAS_ARM -> so end of PAS_ARM */
+#endif /* !PAS_ARM && !PAS_RISCV-> so end of PAS_ARM or PAS_RISCV */
 } else
 new_word = word & ~PAS_BITVECTOR_BIT_MASK(bit_index_unmasked);
 


Modified: trunk/Source/bmalloc/libpas/src/libpas/pas_utils.h (286428 => 286429)

--- trunk/Source/bmalloc/libpas/src/libpas/pas_utils.h	2021-12-02 15:41:52 UTC (rev 286428)
+++ trunk/Source/bmalloc/libpas/src/libpas/pas_utils.h	2021-12-02 15:46:01 UTC (rev 286429)
@@ -83,6 +83,8 @@
 
 #define PAS_ARM __PAS_ARM
 
+#define PAS_RISCV __PAS_RISCV
+
 #ifdef __cplusplus
 #define PAS_TYPEOF(a) decltype (a)
 #else


Modified: trunk/Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h (286428 => 286429)

--- trunk/Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h	2021-12-02 15:41:52 UTC (rev 286428)
+++ trunk/Source/bmalloc/libpas/src/libpas/pas_utils_prefix.h	2021-12-02 15:46:01 UTC (rev 286429)
@@ -102,7 +102,7 @@
 
 static __PAS_ALWAYS_INLINE void __pas_fence(void)
 {
-#if !__PAS_ARM
+#if 

[webkit-changes] [286428] trunk/Source/JavaScriptCore

2021-12-02 Thread commit-queue
Title: [286428] trunk/Source/_javascript_Core








Revision 286428
Author commit-qu...@webkit.org
Date 2021-12-02 07:41:52 -0800 (Thu, 02 Dec 2021)


Log Message
[RISCV64] Fix effective address loading for LabelReferences with offsets
https://bugs.webkit.org/show_bug.cgi?id=233754

Patch by Zan Dobersek  on 2021-12-02
Reviewed by Yusuke Suzuki.

r286345 (and subsequent change in r286372) introduced a load from a
label address with an additional offset. To properly handle this,
RISCV64 offlineasm generates the desired load-effective-address
instruction but now also generates an additional add instruction when
an offset value is present for that lea.

* offlineasm/riscv64.rb:

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/offlineasm/riscv64.rb




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (286427 => 286428)

--- trunk/Source/_javascript_Core/ChangeLog	2021-12-02 15:34:01 UTC (rev 286427)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-12-02 15:41:52 UTC (rev 286428)
@@ -1,3 +1,18 @@
+2021-12-02  Zan Dobersek  
+
+[RISCV64] Fix effective address loading for LabelReferences with offsets
+https://bugs.webkit.org/show_bug.cgi?id=233754
+
+Reviewed by Yusuke Suzuki.
+
+r286345 (and subsequent change in r286372) introduced a load from a
+label address with an additional offset. To properly handle this,
+RISCV64 offlineasm generates the desired load-effective-address
+instruction but now also generates an additional add instruction when
+an offset value is present for that lea.
+
+* offlineasm/riscv64.rb:
+
 2021-12-02  Geza Lore  
 
 [JSC] Generated code size reductions for baseline JIT (all architectures)


Modified: trunk/Source/_javascript_Core/offlineasm/riscv64.rb (286427 => 286428)

--- trunk/Source/_javascript_Core/offlineasm/riscv64.rb	2021-12-02 15:34:01 UTC (rev 286427)
+++ trunk/Source/_javascript_Core/offlineasm/riscv64.rb	2021-12-02 15:41:52 UTC (rev 286428)
@@ -1464,6 +1464,41 @@
 end
 end
 
+def riscv64LowerLabelReferences(list)
+newList = []
+list.each {
+| node |
+if node.is_a? Instruction
+case node.opcode
+when "leap", "leaq"
+labelRef = node.operands[0]
+if labelRef.is_a? LabelReference
+dest = node.operands[1]
+newList << Instruction.new(codeOrigin, node.opcode, [LabelReference.new(node.codeOrigin, labelRef.label), dest])
+if labelRef.offset != 0
+newList << Instruction.new(codeOrigin, "addp", [dest, Immediate.new(node.codeOrigin, labelRef.offset), dest])
+end
+else
+newList << node
+end
+else
+newList << node
+end
+else
+newList << node
+end
+}
+newList
+end
+
+class Sequence
+def getModifiedListRISCV64
+result = @list
+result = riscv64LowerLabelReferences(result)
+return result
+end
+end
+
 class Instruction
 def lowerRISCV64
 case opcode






___
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[webkit-changes] [286427] trunk

2021-12-02 Thread commit-queue
Title: [286427] trunk








Revision 286427
Author commit-qu...@webkit.org
Date 2021-12-02 07:34:01 -0800 (Thu, 02 Dec 2021)


Log Message
File inputs in non-multipart form submissions show up as string values in the formdata event
https://bugs.webkit.org/show_bug.cgi?id=233725

Patch by Andreu Botella  on 2021-12-02
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

Added tests in web-platform-tests/html/semantics/forms/form-submission-0/constructing-form-data-set.html
to check that file inputs show up as File entries in the formdata event.

* web-platform-tests/html/semantics/forms/form-submission-0/constructing-form-data-set-expected.txt:
* web-platform-tests/html/semantics/forms/form-submission-0/constructing-form-data-set.html:
* web-platform-tests/html/semantics/forms/form-submission-0/text-plain.window-expected.txt:
* web-platform-tests/html/semantics/forms/form-submission-0/urlencoded2.window-expected.txt:

Source/WebCore:

When a form's entry list was constructed form a non-multipart/form-data form submission,
file inputs were added to the DOMFormData object as string values consisting of the file's
filename. Before r280310, this optimization was unobservable, since the DOMFormData object
was never exposed to the user halfway through a form submission.

r280310 changed this by adding the formdata event, which fires at the end of the "construct
the entry list" algorithm and can be used to both inspect and modify the DOMFormData object.
This means that it is now observable that file inputs in urlencoded and text/plain form
submissions are encoded as their filenames, and that any new File entries added to the
DOMFormData object the event listeners will be skipped when building the form payload.

This change fixes that by always adding file inputs to DOMFormData as File entries, and
using a File's filename as the string value in FormData::appendNonMultipartKeyValuePairItems

Tests: imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/constructing-form-data-set.html
   imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/text-plain.window.html
   imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/urlencoded2.window.html

* html/FileInputType.cpp:
(WebCore::FileInputType::appendFormData const): Changed to always add File entries to the
DOMFormData object, rather than adding the filenames as string values when `multipart` is
false.
* platform/network/FormData.cpp:
(WebCore::FormData::appendNonMultiPartKeyValuePairItems): Changed to encode File entry
values as their filenames, rather than skipping them.

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/constructing-form-data-set-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/constructing-form-data-set.html
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/text-plain.window-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/urlencoded2.window-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/FileInputType.cpp
trunk/Source/WebCore/platform/network/FormData.cpp




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (286426 => 286427)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-12-02 15:25:52 UTC (rev 286426)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-12-02 15:34:01 UTC (rev 286427)
@@ -1,3 +1,18 @@
+2021-12-02  Andreu Botella  
+
+File inputs in non-multipart form submissions show up as string values in the formdata event
+https://bugs.webkit.org/show_bug.cgi?id=233725
+
+Reviewed by Chris Dumez.
+
+Added tests in web-platform-tests/html/semantics/forms/form-submission-0/constructing-form-data-set.html
+to check that file inputs show up as File entries in the formdata event.
+
+* web-platform-tests/html/semantics/forms/form-submission-0/constructing-form-data-set-expected.txt:
+* web-platform-tests/html/semantics/forms/form-submission-0/constructing-form-data-set.html:
+* web-platform-tests/html/semantics/forms/form-submission-0/text-plain.window-expected.txt:
+* web-platform-tests/html/semantics/forms/form-submission-0/urlencoded2.window-expected.txt:
+
 2021-12-02  Alexey Shvayka  
 
 Add a fast path for empty string to setInnerHTML()


Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/constructing-form-data-set-expected.txt (286426 => 286427)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/constructing-form-data-set-expected.txt	2021-12-02 15:25:52 UTC (rev 286426)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/semantics/forms/form-submission-0/constructing-form-data-set-expected.txt	2021-12-02 15:34:01 UTC (rev 286427)
@@ -5,6 

[webkit-changes] [286426] trunk

2021-12-02 Thread tyler_w
Title: [286426] trunk








Revision 286426
Author tyle...@apple.com
Date 2021-12-02 07:25:52 -0800 (Thu, 02 Dec 2021)


Log Message
AX Isolated Tree: Document links should be stored in web areas, not the root
https://bugs.webkit.org/show_bug.cgi?id=233728

Reviewed by Chris Fleizach.

Source/WebCore:

In WebAccessibilityObjectWrapperMac.mm, we expose the document links attribute (AXLinkUIElements)
on web areas. However, in AXIsolatedObject::initializeAttributeData we currently only store
AXPropertyName::DocumentLinks for the root element, which is not a web area.

In this patch, we store document links for web area elements instead
of the root element.

This patch fixes accessibility/visible-elements.html, which tests document links.

https://github.com/WebKit/WebKit/blob/109c8234854a0fa28955d81994bb98daa1fa14fe/Source/WebCore/accessibility/mac/WebAccessibilityObjectWrapperMac.mm#L2235#L2237

* accessibility/isolatedtree/AXIsolatedObject.cpp:
(WebCore::AXIsolatedObject::initializeAttributeData):

LayoutTests:

* accessibility/visible-elements.html:
* accessibility/visible-elements-expected.txt:
Make this test async so it passes in isolated tree mode.
This test must be async because it includes JS that dynamically
changes page content.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/accessibility/visible-elements-expected.txt
trunk/LayoutTests/accessibility/visible-elements.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (286425 => 286426)

--- trunk/LayoutTests/ChangeLog	2021-12-02 15:21:12 UTC (rev 286425)
+++ trunk/LayoutTests/ChangeLog	2021-12-02 15:25:52 UTC (rev 286426)
@@ -1,3 +1,16 @@
+2021-12-02  Tyler Wilcock  
+
+AX Isolated Tree: Document links should be stored in web areas, not the root
+https://bugs.webkit.org/show_bug.cgi?id=233728
+
+Reviewed by Chris Fleizach.
+
+* accessibility/visible-elements.html:
+* accessibility/visible-elements-expected.txt:
+Make this test async so it passes in isolated tree mode.
+This test must be async because it includes JS that dynamically
+changes page content.
+
 2021-12-02  Kimmo Kinnunen  
 
 GraphicsContextGLANGLE should not have Cocoa Mac specific display reconfiguration code


Modified: trunk/LayoutTests/accessibility/visible-elements-expected.txt (286425 => 286426)

--- trunk/LayoutTests/accessibility/visible-elements-expected.txt	2021-12-02 15:21:12 UTC (rev 286425)
+++ trunk/LayoutTests/accessibility/visible-elements-expected.txt	2021-12-02 15:25:52 UTC (rev 286426)
@@ -1,3 +1,16 @@
+This test ensures that document links appropriately respect a link's visibility.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS initialDocumentLinks.includes('#first-link') is true
+PASS initialDocumentLinks.includes('#second-link') is false
+PASS numberOfSubstringOccurences(initialDocumentLinks, 'AXRole: AXLink') is 1
+PASS finalDocumentLinks.includes('#first-link') is true
+PASS finalDocumentLinks.includes('#second-link') is true
+PASS numberOfSubstringOccurences(finalDocumentLinks, 'AXRole: AXLink') is 2
+PASS successfullyParsed is true
+
+TEST COMPLETE
 more
 hello
-PASS


Modified: trunk/LayoutTests/accessibility/visible-elements.html (286425 => 286426)

--- trunk/LayoutTests/accessibility/visible-elements.html	2021-12-02 15:21:12 UTC (rev 286425)
+++ trunk/LayoutTests/accessibility/visible-elements.html	2021-12-02 15:25:52 UTC (rev 286426)
@@ -1,40 +1,45 @@
+
 
+
+
+
+
+