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

2021-12-08 Thread mmaxfield
Title: [286766] trunk/Source/WebCore








Revision 286766
Author mmaxfi...@apple.com
Date 2021-12-08 23:09:19 -0800 (Wed, 08 Dec 2021)


Log Message
Fix build after r286759
https://bugs.webkit.org/show_bug.cgi?id=234067

Unreviewed.

No new tests because there is no behavior change.

* platform/audio/ios/AudioSessionIOS.mm:
(WebCore::AudioSessionIOS::setPresentingProcesses):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (286765 => 286766)

--- trunk/Source/WebCore/ChangeLog	2021-12-09 06:39:26 UTC (rev 286765)
+++ trunk/Source/WebCore/ChangeLog	2021-12-09 07:09:19 UTC (rev 286766)
@@ -1,3 +1,15 @@
+2021-12-08  Myles C. Maxfield  
+
+Fix build after r286759
+https://bugs.webkit.org/show_bug.cgi?id=234067
+
+Unreviewed.
+
+No new tests because there is no behavior change.
+
+* platform/audio/ios/AudioSessionIOS.mm:
+(WebCore::AudioSessionIOS::setPresentingProcesses):
+
 2021-12-08  Said Abou-Hallawa  
 
 [GPU Process] [Filters] Make Filter::apply() and FilterEffect:apply() take FilterImageVector for the inputs


Modified: trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm (286765 => 286766)

--- trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm	2021-12-09 06:39:26 UTC (rev 286765)
+++ trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm	2021-12-09 07:09:19 UTC (rev 286766)
@@ -171,7 +171,7 @@
 void AudioSessionIOS::setPresentingProcesses(Vector&& auditTokens)
 {
 #if HAVE(AUDIOSESSION_PROCESSASSERTION)
-AVAudioSession session = [PAL::getAVAudioSessionClass() sharedInstance];
+AVAudioSession *session = [PAL::getAVAudioSessionClass() sharedInstance];
 if (![session respondsToSelector:@selector(setAuditTokensForProcessAssertion:error:)])
 return;
 






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


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

2021-12-08 Thread said
Title: [286765] trunk/Source/WebCore








Revision 286765
Author s...@apple.com
Date 2021-12-08 22:39:26 -0800 (Wed, 08 Dec 2021)


Log Message
[GPU Process] [Filters] Make Filter::apply() and FilterEffect:apply() take FilterImageVector for the inputs
https://bugs.webkit.org/show_bug.cgi?id=233973
rdar://86248999

Reviewed by Cameron McCormack.

This is a step towards removing the dependency on the input effects. This
step is required to make encoding/decoding the FilterEffect just be
sending or receiving its primitive data.

In this patch:

-- The sourceImage and sourceImageRect arguments to Filter::apply() are
   used to create a FilterImage. This will be the input to the SourceGraphic.

-- The members m_sourceImage and m_sourceImageRect of Filter are removed.

-- CSSFilter::apply() loops through its functions and uses the result
   of every function as the input to the next one. The initial input is
   the sourceImage. And the result of the last function is the returned
   FilterImage.

-- SVGFilter::apply() loops through its _expression_. It uses a stack of
   FilterImageVector to keep track of the inputs while applying each
   FilterEffect. Every FilterEffect is asked to takeInputs() from this
   stack. The result of applying the FilterEffect is pushed on this stack.
   The stack should have a single FilterImage when finishing the loop.
   This item is the result of applying the Filter.

-- FilterEffect::transformInputsColorSpace() was added to transform the
   input FilterImageVector to the operating color space of FilterEffect.
   It is overridden by FEDisplacementMap which does not transform the
   color space of the first input FilterImage.

-- FilterEffect::correctPremultipliedInputs() was added to correct the
   premultiplied pixels of the inputs FilterImageVector. We do not need
   to do this correction if the FilterEffect we apply is arithmetic
   composite filter. Otherwise we need to correct the FilterImage of any
   arithmetic composite filter in the FilterImageVector.

-- No need for totalNumberFilterEffects(). This count is the size of the
   SVGFilter _expression_.

* platform/graphics/coreimage/SourceGraphicCoreImageApplier.mm:
(WebCore::SourceGraphicCoreImageApplier::apply const):
* platform/graphics/filters/FEBlend.h:
* platform/graphics/filters/FEComposite.h:
* platform/graphics/filters/FEDisplacementMap.cpp:
(WebCore::FEDisplacementMap::calculateImageRect const):
(WebCore::FEDisplacementMap::transformInputsColorSpace const):
(WebCore::FEDisplacementMap::transformResultColorSpace): Deleted.
* platform/graphics/filters/FEDisplacementMap.h:
* platform/graphics/filters/FEFlood.h:
* platform/graphics/filters/FEMerge.h:
* platform/graphics/filters/FETurbulence.h:
* platform/graphics/filters/Filter.cpp:
(WebCore::Filter::apply):
* platform/graphics/filters/Filter.h:
(WebCore::Filter::sourceImageRect const): Deleted.
(WebCore::Filter::setSourceImageRect): Deleted.
(WebCore::Filter::sourceImage const): Deleted.
(WebCore::Filter::setSourceImage): Deleted.
* platform/graphics/filters/FilterEffect.cpp:
(WebCore::FilterEffect::takeImageInputs const):
(WebCore::FilterEffect::calculateImageRect const):
(WebCore::FilterEffect::transformInputsColorSpace const):
(WebCore::FilterEffect::correctPremultipliedInputs const):
(WebCore::FilterEffect::apply):
(WebCore::FilterEffect::inputEffect const):
(WebCore::FilterEffect::inputFilterImages const): Deleted.
(WebCore::FilterEffect::correctPremultipliedResultIfNeeded): Deleted.
(WebCore::FilterEffect::transformResultColorSpace): Deleted.
* platform/graphics/filters/FilterEffect.h:
(WebCore::FilterEffect::filterImage const):
(WebCore::FilterEffect::numberOfEffectInputs const):
(WebCore::FilterEffect::numberOfImageInputs const):
(WebCore::FilterEffect::resultIsValidPremultiplied const):
(WebCore::FilterEffect::mayProduceInvalidPremultipliedPixels const): Deleted.
(WebCore::FilterEffect::correctFilterResultIfNeeded): Deleted.
(WebCore::FilterEffect::transformResultColorSpace): Deleted.
* platform/graphics/filters/FilterFunction.h:
(WebCore::FilterFunction::apply):
* platform/graphics/filters/FilterImage.cpp:
(WebCore::FilterImage::create):
(WebCore::FilterImage::FilterImage):
(WebCore::FilterImage::correctPremultipliedPixelBuffer):
* platform/graphics/filters/FilterImage.h:
* platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::calculateImageRect const): Deleted.
* platform/graphics/filters/SourceAlpha.h:
* platform/graphics/filters/SourceGraphic.cpp:
(WebCore::SourceGraphic::calculateImageRect const): Deleted.
* platform/graphics/filters/SourceGraphic.h:
* platform/graphics/filters/software/SourceGraphicSoftwareApplier.cpp:
(WebCore::SourceGraphicSoftwareApplier::apply const):
* rendering/CSSFilter.cpp:
(WebCore::CSSFilter::apply):
* rendering/CSSFilter.h:
* svg/graphics/filters/SVGFEImage.h:
* svg/graphics/filters/SVGFilter.cpp:
(WebCore::SVGFilter::apply):
* svg/graphics/filters/SVGFilter.h:
* svg/graphics/filters/SVGFilterBuilder.cpp:

[webkit-changes] [286764] trunk

2021-12-08 Thread beidson
Title: [286764] trunk








Revision 286764
Author beid...@apple.com
Date 2021-12-08 22:37:26 -0800 (Wed, 08 Dec 2021)


Log Message
Add ability to inject messages into webpushd
https://bugs.webkit.org/show_bug.cgi?id=233988

Reviewed by Alex Christensen.

Source/WebKit:

Covered by API tests.

This patch:
 - Adds WKWebsiteDataStore SPI to fetch pending push messages for the embedding application
 - Gives webpushd code to inject a push message for a given bundle identifier
 - Gives webpushtool the ability to send one of these fake messages
 - Gives webpushtool the ability to reconnect to the next daemon instance after the current connection is dropped
 - Tests the injection and fetching of push messages via TestWebKitAPI

* Configurations/webpushtool.xcconfig:
* WebKit.xcodeproj/project.pbxproj:
* Resources/webpushtool.entitlements:

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::getPendingPushMessages):
(WebKit::NetworkProcess::processPushMessage):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:

* NetworkProcess/Notifications/NetworkNotificationManager.cpp:
(WebKit::NetworkNotificationManager::getPendingPushMessages):
(WebKit::ReplyCaller::callReply):
* NetworkProcess/Notifications/NetworkNotificationManager.h:

* Shared/Cocoa/WebPushMessageCocoa.mm: Copied from Source/WebKit/webpushd/webpushtool/WebPushToolConnection.h.
(WebKit::WebPushMessage::fromDictionary):
(WebKit::WebPushMessage::toDictionary const):

* Shared/PushMessageForTesting.h: Copied from Source/WebKit/Shared/WebPushDaemonConstants.h.
(WebKit::WebPushD::PushMessageForTesting::encode const):
(WebKit::WebPushD::PushMessageForTesting::decode):

* Shared/WebPushDaemonConstants.h:
(WebKit::WebPushD::messageTypeSendsReply):

* Shared/WebPushMessage.h: Copied from Source/WebKit/webpushd/webpushtool/WebPushToolConnection.h.
(WebKit::WebPushMessage::encode const):
(WebKit::WebPushMessage::decode):

* UIProcess/API/Cocoa/WKWebsiteDataStore.mm:
(-[WKWebsiteDataStore _getPendingPushMessages:]):
(-[WKWebsiteDataStore _processPushMessage:completionHandler:]):
(-[WKWebsiteDataStore _processPushMessage:registration:completionHandler:]): Deleted.
* UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h:

* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::getPendingPushMessages):
(WebKit::NetworkProcessProxy::processPushMessage):
* UIProcess/Network/NetworkProcessProxy.h:

Tools:

* TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements:
* TestWebKitAPI/Configurations/TestWebKitAPI-macOS-internal.entitlements:
* TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements:

* TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm:
(messageDictionary):

* TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm:
(TestWebKitAPI::createMessageDictionary):
(TestWebKitAPI::sendMessageToDaemon):
(TestWebKitAPI::sendMessageToDaemonWaitingForReply):
(TestWebKitAPI::sendConfigurationWithAuditToken):
(TestWebKitAPI::createAndConfigureConnectionToService):
(TestWebKitAPI::encodeString):
(TestWebKitAPI::TEST):
(TestWebKitAPI::function):
* TestWebKitAPI/cocoa/TestWKWebView.h:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Configurations/webpushtool.xcconfig
trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp
trunk/Source/WebKit/NetworkProcess/NetworkProcess.h
trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in
trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.cpp
trunk/Source/WebKit/NetworkProcess/Notifications/NetworkNotificationManager.h
trunk/Source/WebKit/Resources/webpushtool.entitlements
trunk/Source/WebKit/Shared/WebPushDaemonConstants.h
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStore.mm
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebsiteDataStorePrivate.h
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
trunk/Source/WebKit/WebKit.xcodeproj/project.pbxproj
trunk/Source/WebKit/webpushd/PushClientConnection.h
trunk/Source/WebKit/webpushd/PushClientConnection.mm
trunk/Source/WebKit/webpushd/WebPushDaemon.h
trunk/Source/WebKit/webpushd/WebPushDaemon.mm
trunk/Source/WebKit/webpushd/webpushtool/WebPushToolConnection.h
trunk/Source/WebKit/webpushd/webpushtool/WebPushToolConnection.mm
trunk/Source/WebKit/webpushd/webpushtool/WebPushToolMain.mm
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Configurations/TestWebKitAPI-iOS.entitlements
trunk/Tools/TestWebKitAPI/Configurations/TestWebKitAPI-macOS-internal.entitlements
trunk/Tools/TestWebKitAPI/Configurations/TestWebKitAPI-macOS.entitlements
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/PushAPI.mm
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/WebPushDaemon.mm
trunk/Tools/TestWebKitAPI/cocoa/TestWKWebView.h


Added Paths

trunk/Source/WebKit/Shared/Cocoa/WebPushMessageCocoa.mm
trunk/Source/WebKit/Shared/PushMessageForTesting.h
trunk/Source/WebKit/Shared/WebPushMessage.h




Diff

Modified: trunk/Source/WebKit/ChangeLog (286763 => 286764)


[webkit-changes] [286763] trunk

2021-12-08 Thread pgriffis
Title: [286763] trunk








Revision 286763
Author pgrif...@igalia.com
Date 2021-12-08 22:34:52 -0800 (Wed, 08 Dec 2021)


Log Message
CSP: Skip whitespace at beginning of policy header
https://bugs.webkit.org/show_bug.cgi?id=233951

Reviewed by Kate Cheney.

LayoutTests/imported/w3c:

Update expectations as passing.

* web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_double_policy_honor_source_expressions.sub-expected.txt:

Source/WebCore:

This should have no practical effect but it fixes matching
the originalPolicy property in WPT results.

* page/csp/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::didReceiveHeader):

LayoutTests:

No longer skip a test and update results to not have leading whitespace.

* TestExpectations:
* http/tests/security/contentSecurityPolicy/1.1/script-blocked-sends-multiple-reports-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/TestExpectations
trunk/LayoutTests/http/tests/security/contentSecurityPolicy/1.1/script-blocked-sends-multiple-reports-expected.txt
trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_double_policy_honor_source_expressions.sub-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/csp/ContentSecurityPolicy.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (286762 => 286763)

--- trunk/LayoutTests/ChangeLog	2021-12-09 05:27:01 UTC (rev 286762)
+++ trunk/LayoutTests/ChangeLog	2021-12-09 06:34:52 UTC (rev 286763)
@@ -1,3 +1,15 @@
+2021-12-08  Patrick Griffis  
+
+CSP: Skip whitespace at beginning of policy header
+https://bugs.webkit.org/show_bug.cgi?id=233951
+
+Reviewed by Kate Cheney.
+
+No longer skip a test and update results to not have leading whitespace.
+
+* TestExpectations:
+* http/tests/security/contentSecurityPolicy/1.1/script-blocked-sends-multiple-reports-expected.txt:
+
 2021-12-08  Arcady Goldmints-Orlov  
 
 [WPE] Update test baselines after r284521. Unreviewed test gardening.


Modified: trunk/LayoutTests/TestExpectations (286762 => 286763)

--- trunk/LayoutTests/TestExpectations	2021-12-09 05:27:01 UTC (rev 286762)
+++ trunk/LayoutTests/TestExpectations	2021-12-09 06:34:52 UTC (rev 286763)
@@ -980,7 +980,6 @@
 imported/w3c/web-platform-tests/content-security-policy/securitypolicyviolation/targeting.html [ Skip ]
 imported/w3c/web-platform-tests/content-security-policy/frame-src/frame-src-cross-origin-load.sub.html [ Skip ]
 imported/w3c/web-platform-tests/content-security-policy/generic/304-response-should-update-csp.sub.html [ Skip ]
-imported/w3c/web-platform-tests/content-security-policy/script-src/script-src-strict_dynamic_double_policy_honor_source_expressions.sub.html [ Skip ]
 imported/w3c/web-platform-tests/content-security-policy/unsafe-hashes/_javascript__src_allowed-href_blank.html [ Skip ]
 
 # FIXME: Skip Content Security Policy tests whose output is non-deterministic


Modified: trunk/LayoutTests/http/tests/security/contentSecurityPolicy/1.1/script-blocked-sends-multiple-reports-expected.txt (286762 => 286763)

--- trunk/LayoutTests/http/tests/security/contentSecurityPolicy/1.1/script-blocked-sends-multiple-reports-expected.txt	2021-12-09 05:27:01 UTC (rev 286762)
+++ trunk/LayoutTests/http/tests/security/contentSecurityPolicy/1.1/script-blocked-sends-multiple-reports-expected.txt	2021-12-09 06:34:52 UTC (rev 286763)
@@ -37,4 +37,4 @@
 REQUEST_METHOD: POST
 REQUEST_URI: /security/contentSecurityPolicy/resources/save-report.py?test=script-blocked-sends-multiple-reports-enforced-2
 === POST DATA =""
-{"csp-report":{"document-uri":"http://127.0.0.1:8000/security/contentSecurityPolicy/1.1/script-blocked-sends-multiple-reports.py","referrer":"","violated-directive":"script-src-elem","effective-directive":"script-src","original-policy":" script-src http://127.0.0.1:8000 https://127.0.0.1:8443 'unsafe-inline'; report-uri ../resources/save-report.py?test=script-blocked-sends-multiple-reports-enforced-2","blocked-uri":"http://localhost:8000/security/contentSecurityPolicy/resources/alert-fail.js","status-code":200}}
+{"csp-report":{"document-uri":"http://127.0.0.1:8000/security/contentSecurityPolicy/1.1/script-blocked-sends-multiple-reports.py","referrer":"","violated-directive":"script-src-elem","effective-directive":"script-src","original-policy":"script-src http://127.0.0.1:8000 https://127.0.0.1:8443 'unsafe-inline'; report-uri ../resources/save-report.py?test=script-blocked-sends-multiple-reports-enforced-2","blocked-uri":"http://localhost:8000/security/contentSecurityPolicy/resources/alert-fail.js","status-code":200}}


Modified: trunk/LayoutTests/imported/w3c/ChangeLog (286762 => 286763)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-12-09 05:27:01 UTC (rev 286762)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-12-09 06:34:52 UTC (rev 286763)
@@ -1,3 +1,14 @@
+2021-12-08  

[webkit-changes] [286762] trunk/Source

2021-12-08 Thread megan_gardner
Title: [286762] trunk/Source








Revision 286762
Author megan_gard...@apple.com
Date 2021-12-08 21:27:01 -0800 (Wed, 08 Dec 2021)


Log Message
Show correct content menu for images services chevron.
https://bugs.webkit.org/show_bug.cgi?id=233970

Reviewed by Tim Horton.

Add support for showing the correct context menu for image services.
Since this is internal only and can never be affected by web content, we bypass
the web content round trip and directly message the UIProcess about showing
a context menu for images. And because it would be bizarre if the web content
could prevent a menu from popping up on a button they have no control over.

Source/WebCore:

* dom/mac/ImageControlsMac.cpp:
(WebCore::ImageControlsMac::isImageControlsButtonElement):
(WebCore::ImageControlsMac::imageFromImageElementNode):
(WebCore::ImageControlsMac::handleEvent):
(WebCore::ImageControlsMac::imageControlHost): Deleted.
* dom/mac/ImageControlsMac.h:
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::defaultEventHandler):
* page/ChromeClient.h:
(WebCore::ChromeClient::handleImageServiceClick):
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::maybeCreateContextMenu):
(WebCore::imageFromImageElementNode): Deleted.

Source/WebKit:

* Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::m_selectionIsEditable):
(WebKit::ContextMenuContextData::setImage):
(WebKit::ContextMenuContextData::controlledDataIsEditable const):
* Shared/ContextMenuContextData.h:
(WebKit::ContextMenuContextData::webHitTestResultData):
(WebKit::ContextMenuContextData::webHitTestResultData const):
* UIProcess/WebContextMenuProxy.cpp:
(WebKit::WebContextMenuProxy::show):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::contextMenuItemSelected):
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::getShareMenuItem):
(WebKit::WebContextMenuProxyMac::getContextMenuFromItems):
(WebKit::WebContextMenuProxyMac::useContextMenuItems):
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::handleContextMenuQuickLookImage):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::handleImageServiceClick):
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::handleImageServiceClick):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/mac/ImageControlsMac.cpp
trunk/Source/WebCore/dom/mac/ImageControlsMac.h
trunk/Source/WebCore/html/HTMLButtonElement.cpp
trunk/Source/WebCore/page/ChromeClient.h
trunk/Source/WebCore/page/ContextMenuController.cpp
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Shared/ContextMenuContextData.cpp
trunk/Source/WebKit/Shared/ContextMenuContextData.h
trunk/Source/WebKit/UIProcess/WebContextMenuProxy.cpp
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
trunk/Source/WebKit/UIProcess/mac/WebContextMenuProxyMac.mm
trunk/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.cpp
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebChromeClient.h
trunk/Source/WebKit/WebProcess/WebPage/WebPage.h
trunk/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (286761 => 286762)

--- trunk/Source/WebCore/ChangeLog	2021-12-09 04:21:43 UTC (rev 286761)
+++ trunk/Source/WebCore/ChangeLog	2021-12-09 05:27:01 UTC (rev 286762)
@@ -1,3 +1,30 @@
+2021-12-08  Megan Gardner  
+
+Show correct content menu for images services chevron.
+https://bugs.webkit.org/show_bug.cgi?id=233970
+
+Reviewed by Tim Horton.
+
+Add support for showing the correct context menu for image services.
+Since this is internal only and can never be affected by web content, we bypass
+the web content round trip and directly message the UIProcess about showing 
+a context menu for images. And because it would be bizarre if the web content 
+could prevent a menu from popping up on a button they have no control over.
+
+* dom/mac/ImageControlsMac.cpp:
+(WebCore::ImageControlsMac::isImageControlsButtonElement):
+(WebCore::ImageControlsMac::imageFromImageElementNode):
+(WebCore::ImageControlsMac::handleEvent):
+(WebCore::ImageControlsMac::imageControlHost): Deleted.
+* dom/mac/ImageControlsMac.h:
+* html/HTMLButtonElement.cpp:
+(WebCore::HTMLButtonElement::defaultEventHandler):
+* page/ChromeClient.h:
+(WebCore::ChromeClient::handleImageServiceClick):
+* page/ContextMenuController.cpp:
+(WebCore::ContextMenuController::maybeCreateContextMenu):
+(WebCore::imageFromImageElementNode): Deleted.
+
 2021-12-08  Myles C. Maxfield  
 
 [MacCatalyst] Fix Mac Catalyst build


Modified: trunk/Source/WebCore/dom/mac/ImageControlsMac.cpp (286761 => 286762)

--- trunk/Source/WebCore/dom/mac/ImageControlsMac.cpp	

[webkit-changes] [286761] trunk/PerformanceTests

2021-12-08 Thread zalan
Title: [286761] trunk/PerformanceTests








Revision 286761
Author za...@apple.com
Date 2021-12-08 20:21:43 -0800 (Wed, 08 Dec 2021)


Log Message
Add layout performance test for simple bidi content with inline boxes
https://bugs.webkit.org/show_bug.cgi?id=234062

Unreviewed.

This is in preparation for enabling IFC bidi handling.


* Layout/line-layout-simple-bidi-with-inline-boxes.html: Added.

Modified Paths

trunk/PerformanceTests/ChangeLog


Added Paths

trunk/PerformanceTests/Layout/line-layout-simple-bidi-with-inline-boxes.html




Diff

Modified: trunk/PerformanceTests/ChangeLog (286760 => 286761)

--- trunk/PerformanceTests/ChangeLog	2021-12-09 04:17:08 UTC (rev 286760)
+++ trunk/PerformanceTests/ChangeLog	2021-12-09 04:21:43 UTC (rev 286761)
@@ -1,5 +1,16 @@
 2021-12-08  Alan Bujtas  
 
+Add layout performance test for simple bidi content with inline boxes
+https://bugs.webkit.org/show_bug.cgi?id=234062
+
+Unreviewed.
+
+This is in preparation for enabling IFC bidi handling.
+
+* Layout/line-layout-simple-bidi-with-inline-boxes.html: Added.
+
+2021-12-08  Alan Bujtas  
+
 Add layout performance test for bidi content with direction override inside inline boxes
 https://bugs.webkit.org/show_bug.cgi?id=234064
 


Added: trunk/PerformanceTests/Layout/line-layout-simple-bidi-with-inline-boxes.html (0 => 286761)

--- trunk/PerformanceTests/Layout/line-layout-simple-bidi-with-inline-boxes.html	(rev 0)
+++ trunk/PerformanceTests/Layout/line-layout-simple-bidi-with-inline-boxes.html	2021-12-09 04:21:43 UTC (rev 286761)
@@ -0,0 +1,998 @@
+
+
+
+Line breaking performance test
+
+
+

+

[webkit-changes] [286760] trunk/PerformanceTests

2021-12-08 Thread zalan
Title: [286760] trunk/PerformanceTests








Revision 286760
Author za...@apple.com
Date 2021-12-08 20:17:08 -0800 (Wed, 08 Dec 2021)


Log Message
Add layout performance test for bidi content with direction override inside inline boxes
https://bugs.webkit.org/show_bug.cgi?id=234064

Unreviewed.

This is in preparation for enabling IFC bidi handling.


* Layout/line-layout-simple-bidi-with-direction-overrides-in-inline-boxes.html: Added.

Modified Paths

trunk/PerformanceTests/ChangeLog


Added Paths

trunk/PerformanceTests/Layout/line-layout-simple-bidi-with-direction-overrides-in-inline-boxes.html




Diff

Modified: trunk/PerformanceTests/ChangeLog (286759 => 286760)

--- trunk/PerformanceTests/ChangeLog	2021-12-09 04:05:19 UTC (rev 286759)
+++ trunk/PerformanceTests/ChangeLog	2021-12-09 04:17:08 UTC (rev 286760)
@@ -1,3 +1,14 @@
+2021-12-08  Alan Bujtas  
+
+Add layout performance test for bidi content with direction override inside inline boxes
+https://bugs.webkit.org/show_bug.cgi?id=234064
+
+Unreviewed.
+
+This is in preparation for enabling IFC bidi handling.
+
+* Layout/line-layout-simple-bidi-with-direction-overrides-in-inline-boxes.html: Added.
+
 2021-12-07  Cathie Chen  
 
 [Performance test][css-contain] Add test large-grid.html


Added: trunk/PerformanceTests/Layout/line-layout-simple-bidi-with-direction-overrides-in-inline-boxes.html (0 => 286760)

--- trunk/PerformanceTests/Layout/line-layout-simple-bidi-with-direction-overrides-in-inline-boxes.html	(rev 0)
+++ trunk/PerformanceTests/Layout/line-layout-simple-bidi-with-direction-overrides-in-inline-boxes.html	2021-12-09 04:17:08 UTC (rev 286760)
@@ -0,0 +1,998 @@
+
+
+
+Line breaking performance test
+
+
+

+

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

2021-12-08 Thread mmaxfield
Title: [286759] trunk/Source/WebCore








Revision 286759
Author mmaxfi...@apple.com
Date 2021-12-08 20:05:19 -0800 (Wed, 08 Dec 2021)


Log Message
[MacCatalyst] Fix Mac Catalyst build
https://bugs.webkit.org/show_bug.cgi?id=234067

Unreviewed.

There's a compile error:

Source/WebCore/platform/audio/ios/AudioSessionIOS.mm:247:5: error: 'auto' deduced as 'id' in declaration of 'session' [-Werror,-Wauto-var-id]
auto *session = [PAL::getAVAudioSessionClass() sharedInstance];
^

No new tests because there is no behavior change.

* platform/audio/ios/AudioSessionIOS.mm:
(WebCore::setEligibleForSmartRouting):
(WebCore::AudioSessionIOS::setPresentingProcesses):
(WebCore::AudioSessionIOS::setCategory):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (286758 => 286759)

--- trunk/Source/WebCore/ChangeLog	2021-12-09 02:40:33 UTC (rev 286758)
+++ trunk/Source/WebCore/ChangeLog	2021-12-09 04:05:19 UTC (rev 286759)
@@ -1,3 +1,23 @@
+2021-12-08  Myles C. Maxfield  
+
+[MacCatalyst] Fix Mac Catalyst build
+https://bugs.webkit.org/show_bug.cgi?id=234067
+
+Unreviewed.
+
+There's a compile error:
+
+Source/WebCore/platform/audio/ios/AudioSessionIOS.mm:247:5: error: 'auto' deduced as 'id' in declaration of 'session' [-Werror,-Wauto-var-id]
+auto *session = [PAL::getAVAudioSessionClass() sharedInstance];
+^
+
+No new tests because there is no behavior change.
+
+* platform/audio/ios/AudioSessionIOS.mm:
+(WebCore::setEligibleForSmartRouting):
+(WebCore::AudioSessionIOS::setPresentingProcesses):
+(WebCore::AudioSessionIOS::setCategory):
+
 2021-12-08  Jer Noble  
 
 Add an experimental trackConfiguration accessor on AudioTrack & VideoTrack.


Modified: trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm (286758 => 286759)

--- trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm	2021-12-09 02:40:33 UTC (rev 286758)
+++ trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm	2021-12-09 04:05:19 UTC (rev 286759)
@@ -116,7 +116,7 @@
 if (!AudioSession::shouldManageAudioSessionCategory())
 return;
 
-auto *session = [PAL::getAVAudioSessionClass() sharedInstance];
+AVAudioSession *session = [PAL::getAVAudioSessionClass() sharedInstance];
 if (![session respondsToSelector:@selector(setEligibleForBTSmartRoutingConsideration:error:)]
 || ![session respondsToSelector:@selector(eligibleForBTSmartRoutingConsideration)])
 return;
@@ -171,7 +171,7 @@
 void AudioSessionIOS::setPresentingProcesses(Vector&& auditTokens)
 {
 #if HAVE(AUDIOSESSION_PROCESSASSERTION)
-auto session = [PAL::getAVAudioSessionClass() sharedInstance];
+AVAudioSession session = [PAL::getAVAudioSessionClass() sharedInstance];
 if (![session respondsToSelector:@selector(setAuditTokensForProcessAssertion:error:)])
 return;
 
@@ -244,7 +244,7 @@
 m_lastSetPreferredAudioDeviceUID = emptyString();
 #endif
 
-auto *session = [PAL::getAVAudioSessionClass() sharedInstance];
+AVAudioSession *session = [PAL::getAVAudioSessionClass() sharedInstance];
 auto *currentCategory = [session category];
 auto currentOptions = [session categoryOptions];
 auto currentPolicy = [session routeSharingPolicy];






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


[webkit-changes] [286757] trunk

2021-12-08 Thread kpiddington
Title: [286757] trunk








Revision 286757
Author kpidding...@apple.com
Date 2021-12-08 18:35:12 -0800 (Wed, 08 Dec 2021)


Log Message
[MacCatalyst] Update header search paths for ANGLE Catalyst
https://bugs.webkit.org/show_bug.cgi?id=233996

For iOSMac builds, search for ANGLE public headers inside System/iOSSupport

Reviewed by Dean Jackson.

Source/WebKit:

* Configurations/BaseTarget.xcconfig:

Tools:

* TestWebKitAPI/Configurations/Base.xcconfig:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Configurations/BaseTarget.xcconfig
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Configurations/Base.xcconfig




Diff

Modified: trunk/Source/WebKit/ChangeLog (286756 => 286757)

--- trunk/Source/WebKit/ChangeLog	2021-12-09 02:09:47 UTC (rev 286756)
+++ trunk/Source/WebKit/ChangeLog	2021-12-09 02:35:12 UTC (rev 286757)
@@ -1,3 +1,14 @@
+2021-12-08  Kyle Piddington  
+
+[MacCatalyst] Update header search paths for ANGLE Catalyst
+https://bugs.webkit.org/show_bug.cgi?id=233996
+
+For iOSMac builds, search for ANGLE public headers inside System/iOSSupport
+
+Reviewed by Dean Jackson.
+
+* Configurations/BaseTarget.xcconfig:
+
 2021-12-08  Jer Noble  
 
 Add an experimental trackConfiguration accessor on AudioTrack & VideoTrack.


Modified: trunk/Source/WebKit/Configurations/BaseTarget.xcconfig (286756 => 286757)

--- trunk/Source/WebKit/Configurations/BaseTarget.xcconfig	2021-12-09 02:09:47 UTC (rev 286756)
+++ trunk/Source/WebKit/Configurations/BaseTarget.xcconfig	2021-12-09 02:35:12 UTC (rev 286757)
@@ -47,8 +47,11 @@
 WEBKITADDITIONS_HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include/WebKitAdditions $(SDKROOT)/usr/local/include/WebKitAdditions;
 LIBWEBRTC_HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include/webrtc $(SDKROOT)/usr/local/include/webrtc;
 
-HEADER_SEARCH_PATHS = $(BUILT_PRODUCTS_DIR)/usr/local/include "$(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders" $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit "$(BUILT_PRODUCTS_DIR)/usr/local/include/pal/graphics/WebGPU" $(WEBKITADDITIONS_HEADER_SEARCH_PATHS) $(LIBWEBRTC_HEADER_SEARCH_PATHS) $(SRCROOT) $(HEADER_SEARCH_PATHS);
+ALTERNATE_HEADER_SEARCH_PATHS = $(ALTERNATE_HEADER_SEARCH_PATHS_$(SDK_VARIANT));
+ALTERNATE_HEADER_SEARCH_PATHS_iosmac = $(BUILT_PRODUCTS_DIR)$(WK_ALTERNATE_FRAMEWORKS_DIR)/usr/local/include
 
+HEADER_SEARCH_PATHS = $(ALTERNATE_HEADER_SEARCH_PATHS) $(BUILT_PRODUCTS_DIR)/usr/local/include "$(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders" $(BUILT_PRODUCTS_DIR)/DerivedSources/WebKit "$(BUILT_PRODUCTS_DIR)/usr/local/include/pal/graphics/WebGPU" $(WEBKITADDITIONS_HEADER_SEARCH_PATHS) $(LIBWEBRTC_HEADER_SEARCH_PATHS) $(SRCROOT) $(HEADER_SEARCH_PATHS);
+
 OTHER_CFLAGS = $(inherited) -iframework $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks;
 OTHER_CPLUSPLUSFLAGS = $(OTHER_CFLAGS) -isystem $(SDKROOT)/System/Library/Frameworks/System.framework/PrivateHeaders;
 


Modified: trunk/Tools/ChangeLog (286756 => 286757)

--- trunk/Tools/ChangeLog	2021-12-09 02:09:47 UTC (rev 286756)
+++ trunk/Tools/ChangeLog	2021-12-09 02:35:12 UTC (rev 286757)
@@ -1,3 +1,14 @@
+2021-12-08  Kyle Piddington  
+
+[MacCatalyst] Update header search paths for ANGLE Catalyst
+https://bugs.webkit.org/show_bug.cgi?id=233996
+
+For iOSMac builds, search for ANGLE public headers inside System/iOSSupport
+
+Reviewed by Dean Jackson.
+
+* TestWebKitAPI/Configurations/Base.xcconfig:
+
 2021-12-08  Alex Christensen  
 
 Add SPI to load a resource in the context of a page


Modified: trunk/Tools/TestWebKitAPI/Configurations/Base.xcconfig (286756 => 286757)

--- trunk/Tools/TestWebKitAPI/Configurations/Base.xcconfig	2021-12-09 02:09:47 UTC (rev 286756)
+++ trunk/Tools/TestWebKitAPI/Configurations/Base.xcconfig	2021-12-09 02:35:12 UTC (rev 286757)
@@ -33,8 +33,12 @@
 CLANG_CXX_LIBRARY = libc++;
 CLANG_ENABLE_OBJC_WEAK = YES;
 CLANG_WARN_CXX0X_EXTENSIONS = NO;
-HEADER_SEARCH_PATHS = ${BUILT_PRODUCTS_DIR}/usr/local/include $(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders $(BUILT_PRODUCTS_DIR)/WebCoreTestSupport ${SRCROOT} $(SRCROOT)/../../Source/WebKit/Platform/cocoa;
 
+ALTERNATE_HEADER_SEARCH_PATHS = $(ALTERNATE_HEADER_SEARCH_PATHS_$(SDK_VARIANT));
+ALTERNATE_HEADER_SEARCH_PATHS_iosmac = $(BUILT_PRODUCTS_DIR)$(WK_ALTERNATE_FRAMEWORKS_DIR)/usr/local/include
+
+HEADER_SEARCH_PATHS = $(ALTERNATE_HEADER_SEARCH_PATHS) ${BUILT_PRODUCTS_DIR}/usr/local/include $(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders $(BUILT_PRODUCTS_DIR)/WebCoreTestSupport ${SRCROOT} $(SRCROOT)/../../Source/WebKit/Platform/cocoa;
+
 GCC_NO_COMMON_BLOCKS = YES;
 GCC_PREPROCESSOR_DEFINITIONS = $(DEBUG_DEFINES) U_DISABLE_RENAMING=1 U_SHOW_CPLUSPLUS_API=0 $(GCC_PREPROCESSOR_DEFINITIONS_$(PLATFORM_NAME));
 DEBUG_INFORMATION_FORMAT = dwarf-with-dsym;






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

[webkit-changes] [286756] tags/Safari-612.4.2.1.1/

2021-12-08 Thread alancoon
Title: [286756] tags/Safari-612.4.2.1.1/








Revision 286756
Author alanc...@apple.com
Date 2021-12-08 18:09:47 -0800 (Wed, 08 Dec 2021)


Log Message
Tag Safari-612.4.2.1.1.

Added Paths

tags/Safari-612.4.2.1.1/




Diff




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


[webkit-changes] [286755] tags/Safari-612.4.2.0.1/

2021-12-08 Thread repstein
Title: [286755] tags/Safari-612.4.2.0.1/








Revision 286755
Author repst...@apple.com
Date 2021-12-08 18:09:24 -0800 (Wed, 08 Dec 2021)


Log Message
Tag Safari-612.4.2.0.1.

Added Paths

tags/Safari-612.4.2.0.1/




Diff




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


[webkit-changes] [286753] trunk/Source

2021-12-08 Thread said
Title: [286753] trunk/Source








Revision 286753
Author s...@apple.com
Date 2021-12-08 16:36:26 -0800 (Wed, 08 Dec 2021)


Log Message
[GPU Process] [Filters] Add the encoding and decoding for SVGFilter
https://bugs.webkit.org/show_bug.cgi?id=234024

Reviewed by Wenson Hsieh.

Source/WebCore:

Add new methods to help encoding and decoding SVGFilter members. Also
add a new constructor for SVGFilter which is going to be called from
FilterReference.

* Headers.cmake:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/filters/FilterEffectGeometry.h:
(WebCore::FilterEffectGeometry::encode const):
(WebCore::FilterEffectGeometry::decode):

* platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::create):
(WebCore::SourceAlpha::SourceAlpha):
* platform/graphics/filters/SourceAlpha.h:
The plan is to remove the input effects from FilterEffect. Currently it
is still used but not through FilterEffect::apply(). So it is okay for
now for GPUProcess to create SourceAlpha without input since the input
will not used inside GPUProcess.

* svg/SVGUnitTypes.h:
* svg/graphics/filters/SVGFilter.cpp:
(WebCore::SVGFilter::create):
(WebCore::SVGFilter::SVGFilter):
* svg/graphics/filters/SVGFilter.h:

Source/WebKit:

When encoding the SVGFilter we need to encode the individual FilterEffects
in filter._expression_(). And for every SVGFilterExpressionTerm we need to
encode the index of its Ref in the individual FilterEffects.

When decoding the SVGFilter we do the opposite. We get the Ref
which corresponds to index of ExpressionReferenceTerm. We send the decoded
_expression_ to the constructor of SVGFilter.

* Platform/IPC/FilterReference.h:
(IPC::FilterReference::decodeFilterEffect):
(IPC::FilterReference::ExpressionReferenceTerm::encode const):
(IPC::FilterReference::ExpressionReferenceTerm::decode):
(IPC::FilterReference::encodeSVGFilter):
(IPC::FilterReference::decodeSVGFilter):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Headers.cmake
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/platform/graphics/filters/FilterEffectGeometry.h
trunk/Source/WebCore/platform/graphics/filters/SourceAlpha.cpp
trunk/Source/WebCore/platform/graphics/filters/SourceAlpha.h
trunk/Source/WebCore/svg/SVGUnitTypes.h
trunk/Source/WebCore/svg/graphics/filters/SVGFilter.cpp
trunk/Source/WebCore/svg/graphics/filters/SVGFilter.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Platform/IPC/FilterReference.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (286752 => 286753)

--- trunk/Source/WebCore/ChangeLog	2021-12-09 00:32:05 UTC (rev 286752)
+++ trunk/Source/WebCore/ChangeLog	2021-12-09 00:36:26 UTC (rev 286753)
@@ -1,3 +1,35 @@
+2021-12-08  Said Abou-Hallawa  
+
+[GPU Process] [Filters] Add the encoding and decoding for SVGFilter
+https://bugs.webkit.org/show_bug.cgi?id=234024
+
+Reviewed by Wenson Hsieh.
+
+Add new methods to help encoding and decoding SVGFilter members. Also
+add a new constructor for SVGFilter which is going to be called from
+FilterReference.
+
+* Headers.cmake:
+* WebCore.xcodeproj/project.pbxproj:
+* platform/graphics/filters/FilterEffectGeometry.h:
+(WebCore::FilterEffectGeometry::encode const):
+(WebCore::FilterEffectGeometry::decode):
+
+* platform/graphics/filters/SourceAlpha.cpp:
+(WebCore::SourceAlpha::create):
+(WebCore::SourceAlpha::SourceAlpha):
+* platform/graphics/filters/SourceAlpha.h:
+The plan is to remove the input effects from FilterEffect. Currently it
+is still used but not through FilterEffect::apply(). So it is okay for 
+now for GPUProcess to create SourceAlpha without input since the input
+will not used inside GPUProcess.
+
+* svg/SVGUnitTypes.h:
+* svg/graphics/filters/SVGFilter.cpp:
+(WebCore::SVGFilter::create):
+(WebCore::SVGFilter::SVGFilter):
+* svg/graphics/filters/SVGFilter.h:
+
 2021-12-08  Don Olmstead  
 
 [Win] Remove CF when using Windows clipboard


Modified: trunk/Source/WebCore/Headers.cmake (286752 => 286753)

--- trunk/Source/WebCore/Headers.cmake	2021-12-09 00:32:05 UTC (rev 286752)
+++ trunk/Source/WebCore/Headers.cmake	2021-12-09 00:36:26 UTC (rev 286753)
@@ -1597,6 +1597,7 @@
 platform/graphics/filters/FilterOperation.h
 platform/graphics/filters/FilterOperations.h
 platform/graphics/filters/LightSource.h
+platform/graphics/filters/SourceAlpha.h
 platform/graphics/filters/SourceGraphic.h
 
 platform/graphics/iso/ISOBox.h


Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (286752 => 286753)

--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2021-12-09 00:32:05 UTC (rev 286752)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2021-12-09 00:36:26 UTC (rev 286753)
@@ -2756,7 +2756,7 @@
 		8485227C1190162C006EDC7F /* JSSVGHKernElement.h in Headers */ = {isa = 

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

2021-12-08 Thread don . olmstead
Title: [286752] trunk/Source/WebCore








Revision 286752
Author don.olmst...@sony.com
Date 2021-12-08 16:32:05 -0800 (Wed, 08 Dec 2021)


Log Message
[Win] Remove CF when using Windows clipboard
https://bugs.webkit.org/show_bug.cgi?id=194876

Reviewed by Brent Fulgham.

Remove any CF code from ClipboardUtilitiesWin and replace it with WTF code. The
urlFromPath function is deleted since it is no longer relevant.

* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::getURL):
(WebCore::urlFromPath): Deleted.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (286751 => 286752)

--- trunk/Source/WebCore/ChangeLog	2021-12-09 00:19:46 UTC (rev 286751)
+++ trunk/Source/WebCore/ChangeLog	2021-12-09 00:32:05 UTC (rev 286752)
@@ -1,3 +1,17 @@
+2021-12-08  Don Olmstead  
+
+[Win] Remove CF when using Windows clipboard
+https://bugs.webkit.org/show_bug.cgi?id=194876
+
+Reviewed by Brent Fulgham.
+
+Remove any CF code from ClipboardUtilitiesWin and replace it with WTF code. The
+urlFromPath function is deleted since it is no longer relevant.
+
+* platform/win/ClipboardUtilitiesWin.cpp:
+(WebCore::getURL):
+(WebCore::urlFromPath): Deleted.
+
 2021-12-08  Jer Noble  
 
 [VTT] Fix various issues with complicated rendering of VTT cues


Modified: trunk/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp (286751 => 286752)

--- trunk/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp	2021-12-09 00:19:46 UTC (rev 286751)
+++ trunk/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp	2021-12-09 00:32:05 UTC (rev 286752)
@@ -39,11 +39,6 @@
 #include 
 #include 
 
-#if USE(CF)
-#include 
-#include 
-#endif
-
 namespace WebCore {
 
 FORMATETC* cfHDropFormat()
@@ -52,27 +47,6 @@
 return 
 }
 
-#if USE(CF)
-
-static bool urlFromPath(CFStringRef path, String& url)
-{
-if (!path)
-return false;
-
-RetainPtr cfURL = adoptCF(CFURLCreateWithFileSystemPath(0, path, kCFURLWindowsPathStyle, false));
-if (!cfURL)
-return false;
-
-url = ""
-
-// Work around , where CFURLCreateWithFileSystemPath makes URLs with "localhost".
-if (url.startsWith("file://localhost/"))
-url.remove(7, 9);
-
-return true;
-}
-#endif
-
 static bool getDataMapItem(const DragDataMap* dataObject, FORMATETC* format, String& item)
 {
 DragDataMap::const_iterator found = dataObject->find(format->cfFormat);
@@ -486,14 +460,13 @@
 GlobalUnlock(store.hGlobal);
 ReleaseStgMedium();
 }
-#if USE(CF)
 else if (filenamePolicy == DragData::ConvertFilenames) {
 if (SUCCEEDED(dataObject->GetData(filenameWFormat(), ))) {
 // file using unicode
 wchar_t* data = ""
 if (data && data[0] && (PathFileExists(data) || PathIsUNC(data))) {
-RetainPtr pathAsCFString = adoptCF(CFStringCreateWithCharacters(kCFAllocatorDefault, (const UniChar*)data, wcslen(data)));
-if (urlFromPath(pathAsCFString.get(), url) && title)
+url = ""
+if (title)
 *title = url;
 }
 GlobalUnlock(store.hGlobal);
@@ -502,8 +475,8 @@
 // filename using ascii
 char* data = ""
 if (data && data[0] && (PathFileExistsA(data) || PathIsUNCA(data))) {
-RetainPtr pathAsCFString = adoptCF(CFStringCreateWithCString(kCFAllocatorDefault, data, kCFStringEncodingASCII));
-if (urlFromPath(pathAsCFString.get(), url) && title)
+url = ""
+if (title)
 *title = url;
 }
 GlobalUnlock(store.hGlobal);
@@ -510,7 +483,6 @@
 ReleaseStgMedium();
 }
 }
-#endif
 return url;
 }
 
@@ -524,7 +496,6 @@
 return extractURL(url, title);
 if (getDataMapItem(data, urlFormat(), url))
 return extractURL(url, title);
-#if USE(CF)
 if (filenamePolicy != DragData::ConvertFilenames)
 return url;
 
@@ -535,10 +506,11 @@
 auto wcharData = stringData.wideCharacters().data();
 if (stringData.isEmpty() || (!PathFileExists(wcharData) && !PathIsUNC(wcharData)))
 return url;
-RetainPtr pathAsCFString = adoptCF(CFStringCreateWithCharacters(kCFAllocatorDefault, (const UniChar *)wcharData, wcslen(wcharData)));
-if (urlFromPath(pathAsCFString.get(), url) && title)
+
+url = ""
+if (title)
 *title = url;
-#endif
+
 return url;
 }
 






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


[webkit-changes] [286751] trunk

2021-12-08 Thread achristensen
Title: [286751] trunk








Revision 286751
Author achristen...@apple.com
Date 2021-12-08 16:19:46 -0800 (Wed, 08 Dec 2021)


Log Message
Add SPI to load a resource in the context of a page
https://bugs.webkit.org/show_bug.cgi?id=233908

Reviewed by Tim Horton.

Source/WebKit:

This is similar to startDownloadUsingRequest but you don't have to get the data from the disk.
This is similar to NSURLSession's dataTaskWithRequest:completionHandler: but using the same session as the page.
This is needed because LinkPresentation is currently using _getMainResourceDataWithCompletionHandler after loading
in a WKWebView made with _relatedWebView to get the content of a resource, and that's awful and limited to certain mime types.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::requestResource):
* NetworkProcess/NetworkProcess.h:
* NetworkProcess/NetworkProcess.messages.in:
* NetworkProcess/NetworkSession.h:
(WebKit::NetworkSession::requestResource):
* NetworkProcess/cocoa/NetworkSessionCocoa.h:
* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
(WebKit::NetworkSessionCocoa::requestResource):
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _requestResource:completionHandler:]):
* UIProcess/API/Cocoa/WKWebViewPrivate.h:
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::requestResource):
* UIProcess/Network/NetworkProcessProxy.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::requestResource):
* UIProcess/WebPageProxy.h:

Tools:

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

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp
trunk/Source/WebKit/NetworkProcess/NetworkProcess.h
trunk/Source/WebKit/NetworkProcess/NetworkProcess.messages.in
trunk/Source/WebKit/NetworkProcess/NetworkSession.h
trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.h
trunk/Source/WebKit/NetworkProcess/cocoa/NetworkSessionCocoa.mm
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm
trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewPrivate.h
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.cpp
trunk/Source/WebKit/UIProcess/Network/NetworkProcessProxy.h
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
trunk/Source/WebKit/UIProcess/WebPageProxy.h
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/NetworkProcess.mm
trunk/Tools/TestWebKitAPI/cocoa/HTTPServer.h
trunk/Tools/TestWebKitAPI/cocoa/HTTPServer.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (286750 => 286751)

--- trunk/Source/WebKit/ChangeLog	2021-12-09 00:16:51 UTC (rev 286750)
+++ trunk/Source/WebKit/ChangeLog	2021-12-09 00:19:46 UTC (rev 286751)
@@ -1,3 +1,34 @@
+2021-12-08  Alex Christensen  
+
+Add SPI to load a resource in the context of a page
+https://bugs.webkit.org/show_bug.cgi?id=233908
+
+Reviewed by Tim Horton.
+
+This is similar to startDownloadUsingRequest but you don't have to get the data from the disk.
+This is similar to NSURLSession's dataTaskWithRequest:completionHandler: but using the same session as the page.
+This is needed because LinkPresentation is currently using _getMainResourceDataWithCompletionHandler after loading
+in a WKWebView made with _relatedWebView to get the content of a resource, and that's awful and limited to certain mime types.
+
+* NetworkProcess/NetworkProcess.cpp:
+(WebKit::NetworkProcess::requestResource):
+* NetworkProcess/NetworkProcess.h:
+* NetworkProcess/NetworkProcess.messages.in:
+* NetworkProcess/NetworkSession.h:
+(WebKit::NetworkSession::requestResource):
+* NetworkProcess/cocoa/NetworkSessionCocoa.h:
+* NetworkProcess/cocoa/NetworkSessionCocoa.mm:
+(WebKit::NetworkSessionCocoa::requestResource):
+* UIProcess/API/Cocoa/WKWebView.mm:
+(-[WKWebView _requestResource:completionHandler:]):
+* UIProcess/API/Cocoa/WKWebViewPrivate.h:
+* UIProcess/Network/NetworkProcessProxy.cpp:
+(WebKit::NetworkProcessProxy::requestResource):
+* UIProcess/Network/NetworkProcessProxy.h:
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::requestResource):
+* UIProcess/WebPageProxy.h:
+
 2021-12-08  BJ Burg  
 
 Web Inspector: evaluateScriptForExtension() incorrectly unwraps internal errors, causing an ASSERT


Modified: trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp (286750 => 286751)

--- trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2021-12-09 00:16:51 UTC (rev 286750)
+++ trunk/Source/WebKit/NetworkProcess/NetworkProcess.cpp	2021-12-09 00:19:46 UTC (rev 286751)
@@ -2169,6 +2169,15 @@
 }, destinationID);
 }
 
+void NetworkProcess::requestResource(WebPageProxyIdentifier pageID, PAL::SessionID sessionID, WebCore::ResourceRequest&& request, IPC::FormDataReference&& httpBody, CompletionHandler&& completionHandler)
+{
+request.setHTTPBody(httpBody.takeData());
+if (auto* 

[webkit-changes] [286750] branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/ WebPageProxy.h

2021-12-08 Thread alancoon
Title: [286750] branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.h








Revision 286750
Author alanc...@apple.com
Date 2021-12-08 16:16:51 -0800 (Wed, 08 Dec 2021)


Log Message
Revert "Unreviewed build fix. rdar://problem/85928816"

This reverts r286737.

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.h




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.h (286749 => 286750)

--- branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.h	2021-12-09 00:11:09 UTC (rev 286749)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.h	2021-12-09 00:16:51 UTC (rev 286750)
@@ -2767,7 +2767,6 @@
 std::optional m_displayID;
 #if HAVE(CVDISPLAYLINK)
 PAL::HysteresisActivity m_wheelEventActivityHysteresis;
-bool m_registeredForFullSpeedUpdates { false };
 #endif
 
 Deque m_mouseEventQueue;






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


[webkit-changes] [286748] branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.h

2021-12-08 Thread alancoon
Title: [286748] branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.h








Revision 286748
Author alanc...@apple.com
Date 2021-12-08 16:07:52 -0800 (Wed, 08 Dec 2021)


Log Message
Revert "Unreviewed build fix. rdar://problem/85928816"

This reverts r286739.

Modified Paths

branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.h




Diff

Modified: branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.h (286747 => 286748)

--- branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.h	2021-12-09 00:05:55 UTC (rev 286747)
+++ branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.h	2021-12-09 00:07:52 UTC (rev 286748)
@@ -2767,7 +2767,6 @@
 std::optional m_displayID;
 #if HAVE(CVDISPLAYLINK)
 PAL::HysteresisActivity m_wheelEventActivityHysteresis;
-bool m_registeredForFullSpeedUpdates { false };
 #endif
 
 Deque m_mouseEventQueue;






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


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

2021-12-08 Thread bburg
Title: [286747] trunk/Source/WebKit








Revision 286747
Author bb...@apple.com
Date 2021-12-08 16:05:55 -0800 (Wed, 08 Dec 2021)


Log Message
Web Inspector: evaluateScriptForExtension() incorrectly unwraps internal errors, causing an ASSERT
https://bugs.webkit.org/show_bug.cgi?id=233961


Reviewed by Patrick Angle.

Standardize the unwrapping code based on the evaluateScriptInExtensionTab version, which
correctly handles the case where an internal error is returned by the evaluation.
This happens, for example, when NotImplemented is returned for unsupported evaluation
options.

This particular issue was caused by a lack of support for the 'frameURL' option.
The fix for that is tracked by https://webkit.org/b/222568/.

* WebProcess/Inspector/WebInspectorUIExtensionController.cpp:
(WebKit::WebInspectorUIExtensionController::evaluateScriptForExtension):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebProcess/Inspector/WebInspectorUIExtensionController.cpp




Diff

Modified: trunk/Source/WebKit/ChangeLog (286746 => 286747)

--- trunk/Source/WebKit/ChangeLog	2021-12-08 23:49:16 UTC (rev 286746)
+++ trunk/Source/WebKit/ChangeLog	2021-12-09 00:05:55 UTC (rev 286747)
@@ -1,3 +1,22 @@
+2021-12-08  BJ Burg  
+
+Web Inspector: evaluateScriptForExtension() incorrectly unwraps internal errors, causing an ASSERT
+https://bugs.webkit.org/show_bug.cgi?id=233961
+
+
+Reviewed by Patrick Angle.
+
+Standardize the unwrapping code based on the evaluateScriptInExtensionTab version, which
+correctly handles the case where an internal error is returned by the evaluation.
+This happens, for example, when NotImplemented is returned for unsupported evaluation
+options.
+
+This particular issue was caused by a lack of support for the 'frameURL' option.
+The fix for that is tracked by https://webkit.org/b/222568/.
+
+* WebProcess/Inspector/WebInspectorUIExtensionController.cpp:
+(WebKit::WebInspectorUIExtensionController::evaluateScriptForExtension):
+
 2021-12-08  J Pascoe  
 
 [WebAuthn] Consider support for the displayName for FIDO authenticator


Modified: trunk/Source/WebKit/WebProcess/Inspector/WebInspectorUIExtensionController.cpp (286746 => 286747)

--- trunk/Source/WebKit/WebProcess/Inspector/WebInspectorUIExtensionController.cpp	2021-12-08 23:49:16 UTC (rev 286746)
+++ trunk/Source/WebKit/WebProcess/Inspector/WebInspectorUIExtensionController.cpp	2021-12-09 00:05:55 UTC (rev 286747)
@@ -250,8 +250,12 @@
 JSC::JSLockHolder lock(frontendGlobalObject);
 
 if (auto parsedError = weakThis->parseExtensionErrorFromEvaluationResult(result)) {
-auto exceptionDetails = result.value().error();
-LOG(Inspector, "Internal error encountered while evaluating upon the frontend: at %s:%d:%d: %s", exceptionDetails.sourceURL.utf8().data(), exceptionDetails.lineNumber, exceptionDetails.columnNumber, exceptionDetails.message.utf8().data());
+if (!result.value().has_value()) {
+auto exceptionDetails = result.value().error();
+LOG(Inspector, "Internal error encountered while evaluating upon the frontend at %s:%d:%d: %s", exceptionDetails.sourceURL.utf8().data(), exceptionDetails.lineNumber, exceptionDetails.columnNumber, exceptionDetails.message.utf8().data());
+} else
+LOG(Inspector, "Internal error encountered while evaluating upon the frontend: %s", extensionErrorToString(parsedError.value()).utf8().data());
+
 completionHandler({ }, std::nullopt, parsedError);
 return;
 }
@@ -259,7 +263,7 @@
 // Expected result is either an ErrorString or {result: }.
 auto objectResult = weakThis->unwrapEvaluationResultAsObject(result);
 if (!objectResult) {
-LOG(Inspector, "Unexpected non-object value returned from InspectorFrontendAPI.createTabForExtension().");
+LOG(Inspector, "Unexpected non-object value returned from InspectorFrontendAPI.evaluateScriptForExtension().");
 completionHandler({ }, std::nullopt, Inspector::ExtensionError::InternalError);
 return;
 }






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


[webkit-changes] [286746] trunk

2021-12-08 Thread j_pascoe
Title: [286746] trunk








Revision 286746
Author j_pas...@apple.com
Date 2021-12-08 15:49:16 -0800 (Wed, 08 Dec 2021)


Log Message
[WebAuthn] Consider support for the displayName for FIDO authenticator
https://bugs.webkit.org/show_bug.cgi?id=233389
rdar://84938707

Reviewed by Brent Fulgham.

Source/WebKit:

Start storing the displayName field with the platform authenticator
and add them to the getAllLocalAuthenticatorCredentials SPI.

The displayName is part of the WebAuthn level 2 spec:
https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialuserentity-displayname

* UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
* UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
(getAllLocalAuthenticatorCredentialsImpl):
* UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserVerification):

Tools:

Add test for new field stored with platform authenticator: displayName

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

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h
trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm
trunk/Source/WebKit/UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/_WKWebAuthenticationPanel.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (286745 => 286746)

--- trunk/Source/WebKit/ChangeLog	2021-12-08 23:27:48 UTC (rev 286745)
+++ trunk/Source/WebKit/ChangeLog	2021-12-08 23:49:16 UTC (rev 286746)
@@ -1,3 +1,23 @@
+2021-12-08  J Pascoe  
+
+[WebAuthn] Consider support for the displayName for FIDO authenticator
+https://bugs.webkit.org/show_bug.cgi?id=233389
+rdar://84938707
+
+Reviewed by Brent Fulgham.
+
+Start storing the displayName field with the platform authenticator
+and add them to the getAllLocalAuthenticatorCredentials SPI.
+
+The displayName is part of the WebAuthn level 2 spec:
+https://www.w3.org/TR/webauthn-2/#dom-publickeycredentialuserentity-displayname
+
+* UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h:
+* UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm:
+(getAllLocalAuthenticatorCredentialsImpl):
+* UIProcess/WebAuthentication/Cocoa/LocalAuthenticator.mm:
+(WebKit::LocalAuthenticator::continueMakeCredentialAfterUserVerification):
+
 2021-12-08  Truitt Savell  
 
 Unreviewed, reverting r286596.


Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h (286745 => 286746)

--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h	2021-12-08 23:27:48 UTC (rev 286745)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.h	2021-12-08 23:49:16 UTC (rev 286746)
@@ -87,6 +87,7 @@
 } WK_API_AVAILABLE(macos(WK_MAC_TBA), ios(WK_IOS_TBA));
 
 WK_EXPORT extern NSString * const _WKLocalAuthenticatorCredentialNameKey;
+WK_EXPORT extern NSString * const _WKLocalAuthenticatorCredentialDisplayNameKey;
 WK_EXPORT extern NSString * const _WKLocalAuthenticatorCredentialIDKey;
 WK_EXPORT extern NSString * const _WKLocalAuthenticatorCredentialRelyingPartyIDKey;
 WK_EXPORT extern NSString * const _WKLocalAuthenticatorCredentialLastModificationDateKey;


Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm (286745 => 286746)

--- trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm	2021-12-08 23:27:48 UTC (rev 286745)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/_WKWebAuthenticationPanel.mm	2021-12-08 23:49:16 UTC (rev 286746)
@@ -100,6 +100,7 @@
 #endif
 
 NSString * const _WKLocalAuthenticatorCredentialNameKey = @"_WKLocalAuthenticatorCredentialNameKey";
+NSString * const _WKLocalAuthenticatorCredentialDisplayNameKey = @"_WKLocalAuthenticatorCredentialDisplayNameKey";
 NSString * const _WKLocalAuthenticatorCredentialIDKey = @"_WKLocalAuthenticatorCredentialIDKey";
 NSString * const _WKLocalAuthenticatorCredentialRelyingPartyIDKey = @"_WKLocalAuthenticatorCredentialRelyingPartyIDKey";
 NSString * const _WKLocalAuthenticatorCredentialLastModificationDateKey = @"_WKLocalAuthenticatorCredentialLastModificationDateKey";
@@ -265,14 +266,20 @@
 return nullptr;
 }
 auto& username = it->second.getString();
+auto credential = adoptNS([[NSMutableDictionary alloc] initWithObjectsAndKeys:
+username, _WKLocalAuthenticatorCredentialNameKey,
+attributes[bridge_cast(kSecAttrApplicationLabel)], _WKLocalAuthenticatorCredentialIDKey,
+attributes[bridge_cast(kSecAttrLabel)], _WKLocalAuthenticatorCredentialRelyingPartyIDKey,
+attributes[bridge_cast(kSecAttrModificationDate)], _WKLocalAuthenticatorCredentialLastModificationDateKey,
+attributes[bridge_cast(kSecAttrCreationDate)], _WKLocalAuthenticatorCredentialCreationDateKey,
+nil
+]);
 
-  

[webkit-changes] [286745] tags/Safari-612.3.6.1.8/

2021-12-08 Thread alancoon
Title: [286745] tags/Safari-612.3.6.1.8/








Revision 286745
Author alanc...@apple.com
Date 2021-12-08 15:27:48 -0800 (Wed, 08 Dec 2021)


Log Message
Tag Safari-612.3.6.1.8.

Added Paths

tags/Safari-612.3.6.1.8/




Diff




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


[webkit-changes] [286744] branches/safari-612.3.6.1-branch/Source

2021-12-08 Thread alancoon
Title: [286744] branches/safari-612.3.6.1-branch/Source








Revision 286744
Author alanc...@apple.com
Date 2021-12-08 15:15:26 -0800 (Wed, 08 Dec 2021)


Log Message
Versioning.

WebKit-7612.3.6.1.8.

Modified Paths

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




Diff

Modified: branches/safari-612.3.6.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig (286743 => 286744)

--- branches/safari-612.3.6.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-12-08 22:59:49 UTC (rev 286743)
+++ branches/safari-612.3.6.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-12-08 23:15:26 UTC (rev 286744)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 7;
+NANO_VERSION = 8;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.3.6.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (286743 => 286744)

--- branches/safari-612.3.6.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-12-08 22:59:49 UTC (rev 286743)
+++ branches/safari-612.3.6.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-12-08 23:15:26 UTC (rev 286744)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 7;
+NANO_VERSION = 8;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.3.6.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (286743 => 286744)

--- branches/safari-612.3.6.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-12-08 22:59:49 UTC (rev 286743)
+++ branches/safari-612.3.6.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-12-08 23:15:26 UTC (rev 286744)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 7;
+NANO_VERSION = 8;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.3.6.1-branch/Source/WebCore/Configurations/Version.xcconfig (286743 => 286744)

--- branches/safari-612.3.6.1-branch/Source/WebCore/Configurations/Version.xcconfig	2021-12-08 22:59:49 UTC (rev 286743)
+++ branches/safari-612.3.6.1-branch/Source/WebCore/Configurations/Version.xcconfig	2021-12-08 23:15:26 UTC (rev 286744)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 7;
+NANO_VERSION = 8;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.3.6.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (286743 => 286744)

--- branches/safari-612.3.6.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-12-08 22:59:49 UTC (rev 286743)
+++ branches/safari-612.3.6.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-12-08 23:15:26 UTC (rev 286744)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 7;
+NANO_VERSION = 8;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.


Modified: branches/safari-612.3.6.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (286743 => 286744)

--- branches/safari-612.3.6.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-12-08 22:59:49 UTC (rev 286743)
+++ branches/safari-612.3.6.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-12-08 23:15:26 UTC (rev 286744)
@@ -2,7 +2,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 7;
+NANO_VERSION = 8;
 FULL_VERSION = 

[webkit-changes] [286743] trunk

2021-12-08 Thread jer . noble
Title: [286743] trunk








Revision 286743
Author jer.no...@apple.com
Date 2021-12-08 14:59:49 -0800 (Wed, 08 Dec 2021)


Log Message
[VTT] Fix various issues with complicated rendering of VTT cues
https://bugs.webkit.org/show_bug.cgi?id=233901

Reviewed by Eric Carlson.

Source/WebCore:

Tests: media/track/track-webvtt-no-snap-to-lines-overlap.html
   media/track/track-webvtt-snap-to-lines-inline-style.html
   media/track/track-webvtt-snap-to-lines-left-right.html

When positioning VTT cues, the spec requires UAs to avoid collisions between cues
by detecting that two cues overlap each other. However, WebKit's implementation
looks for collisions between non-displaying portions of the cues; namely the
::-webkit-media-text-track-display element, which is used to position the displaying
portion of the cue. Instead, the UA should look for collisions between the
::-webkit-media-text-track-display-backdrop element, which holds the background
of the cue, if present.

Add a convenience function to retrieve the backdrop element, and another to retrieve
the cue itself.

Add cast macros for RenderVTTCue to allow downcast<>ing. Use this macro to retrieve
other cues's backdrop elements for collision avoidance.

VTTCueBox::applyCSSProperties() had a section for moving cues into place that is entirely
unneeded if VTTCue::getCSSPosition() returns the pre-calculated m_displayPosition.

RenderVTTCue::initializeLayoutParameters() is a careful implementation of the specification,
accurately layout out cues' initial position so that the text run is exactly at the
bottom of the content box. However, if the cue has a border, padding, or extra height,
this will result in the cue being pushed outside the content box. To account for this,
adjust the inital layout parameter by the difference between the cue text size and the
backdrop element size.

RenderVTTCue::layout() will create a LayoutStateMaintainer, which modifies the behavior of
layout machinery during the layout itself. However, certain child renderers get dramatically
incorrect results for absoluteBoundingRect() unless the maintainer explicitly sets disableState.

* html/track/VTTCue.cpp:
(WebCore::VTTCueBox::applyCSSProperties):
(WebCore::VTTCue::getCSSPosition const):
* html/track/VTTCue.h:
* rendering/RenderObject.h:
(WebCore::RenderObject::isRenderVTTCue const):
* rendering/RenderVTTCue.cpp:
(WebCore::RenderVTTCue::layout):
(WebCore::RenderVTTCue::initializeLayoutParameters):
(WebCore::RenderVTTCue::isOutside const):
(WebCore::RenderVTTCue::overlappingObject const):
(WebCore::RenderVTTCue::overlappingObjectForRect const):
(WebCore::RenderVTTCue::moveIfNecessaryToKeepWithinContainer):
(WebCore::RenderVTTCue::findNonOverlappingPosition const):
(WebCore::RenderVTTCue::repositionGenericCue):
(WebCore::RenderVTTCue::backdropBox const):
(WebCore::RenderVTTCue::cueBox const):

LayoutTests:

* media/track/captions-webvtt/no-snap-to-lines-overlap.vtt: Added.
* media/track/captions-webvtt/snap-to-lines-inline-style.vtt: Added.
* media/track/captions-webvtt/snap-to-lines-left-and-right.vtt: Added.
* media/track/track-webvtt-no-snap-to-lines-overlap-expected.html: Added.
* media/track/track-webvtt-no-snap-to-lines-overlap.html: Added.
* media/track/track-webvtt-snap-to-lines-inline-style-expected.html: Added.
* media/track/track-webvtt-snap-to-lines-inline-style.html: Added.
* media/track/track-webvtt-snap-to-lines-left-right-expected.html: Added.
* media/track/track-webvtt-snap-to-lines-left-right.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/html/track/VTTCue.cpp
trunk/Source/WebCore/html/track/VTTCue.h
trunk/Source/WebCore/page/CaptionUserPreferences.cpp
trunk/Source/WebCore/page/CaptionUserPreferences.h
trunk/Source/WebCore/rendering/RenderObject.h
trunk/Source/WebCore/rendering/RenderVTTCue.cpp
trunk/Source/WebCore/rendering/RenderVTTCue.h
trunk/Source/WebCore/testing/Internals.cpp
trunk/Source/WebCore/testing/Internals.h


Added Paths

trunk/LayoutTests/media/track/captions-webvtt/no-snap-to-lines-overlap.vtt
trunk/LayoutTests/media/track/captions-webvtt/snap-to-lines-inline-style.vtt
trunk/LayoutTests/media/track/captions-webvtt/snap-to-lines-left-and-right.vtt
trunk/LayoutTests/media/track/track-webvtt-no-snap-to-lines-overlap-expected.html
trunk/LayoutTests/media/track/track-webvtt-no-snap-to-lines-overlap.html
trunk/LayoutTests/media/track/track-webvtt-snap-to-lines-inline-style-expected.html
trunk/LayoutTests/media/track/track-webvtt-snap-to-lines-inline-style.html
trunk/LayoutTests/media/track/track-webvtt-snap-to-lines-left-right-expected.html
trunk/LayoutTests/media/track/track-webvtt-snap-to-lines-left-right.html




Diff

Modified: trunk/LayoutTests/ChangeLog (286742 => 286743)

--- trunk/LayoutTests/ChangeLog	2021-12-08 22:57:36 UTC (rev 286742)
+++ trunk/LayoutTests/ChangeLog	2021-12-08 22:59:49 UTC (rev 286743)
@@ -1,3 +1,20 @@
+2021-12-08  Jer Noble  
+
+[VTT] Fix various 

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

2021-12-08 Thread jer . noble
Title: [286742] trunk/Source/WebCore








Revision 286742
Author jer.no...@apple.com
Date 2021-12-08 14:57:36 -0800 (Wed, 08 Dec 2021)


Log Message
[MSE] Add a Modules/mediasource/README.md file
https://bugs.webkit.org/show_bug.cgi?id=234026


Reviewed by Eric Carlson.

Follow-up to address review comments.

* Modules/mediasource/README.md:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/mediasource/README.md




Diff

Modified: trunk/Source/WebCore/ChangeLog (286741 => 286742)

--- trunk/Source/WebCore/ChangeLog	2021-12-08 22:10:34 UTC (rev 286741)
+++ trunk/Source/WebCore/ChangeLog	2021-12-08 22:57:36 UTC (rev 286742)
@@ -2,9 +2,21 @@
 
 [MSE] Add a Modules/mediasource/README.md file
 https://bugs.webkit.org/show_bug.cgi?id=234026
+
 
 Reviewed by Eric Carlson.
 
+Follow-up to address review comments.
+
+* Modules/mediasource/README.md:
+
+2021-12-08  Jer Noble  
+
+[MSE] Add a Modules/mediasource/README.md file
+https://bugs.webkit.org/show_bug.cgi?id=234026
+
+Reviewed by Eric Carlson.
+
 * Modules/mediasource/README.md: Added.
 
 2021-12-08  Truitt Savell  


Modified: trunk/Source/WebCore/Modules/mediasource/README.md (286741 => 286742)

--- trunk/Source/WebCore/Modules/mediasource/README.md	2021-12-08 22:10:34 UTC (rev 286741)
+++ trunk/Source/WebCore/Modules/mediasource/README.md	2021-12-08 22:57:36 UTC (rev 286742)
@@ -4,7 +4,7 @@
 
 ## Basic Concepts
 
-The Media Source Extensions specification defines a set of classes which allows clients to implement their own loading, buffering, and variant switching behavior, as opposed to allowing the UA to handle same.
+The Media Source Extensions specification defines a set of classes which allows clients to implement their own loading, buffering, and variant switching behavior, as opposed to requiring the UA to handle same.
 
 Clients `fetch()` media initialization segments and media segments, typically subsets of a single [fragmented MP4 file](https://www.w3.org/TR/mse-byte-stream-format-isobmff/) or [WebM file](https://www.w3.org/TR/mse-byte-stream-format-webm/), and append those segments into a SourceBuffer object, which is associated with a HTMLMediaElement through a [MediaSource](#mediasource) object.
 
@@ -52,11 +52,23 @@
 
 SourceBufferPrivate is a semi-abstract base class which accepts initialization segment and media segment buffers, parse those buffers with platform-specific parsers, and enqueue the resulting samples into platform-specific decoders. SourceBufferPrivate is also responsible for caching parsed samples in a [SampleMap](#samplemap).
 
+### MediaTime ### 
+
+_([.h](../../WTF/wtf/MediaTime.h), [.cpp](../../WTF/wtf/MediaTime.cpp))_
+
+MediaTime is a rational-number time class for manipulating time values commonly found in media files. The unit of MediaTime is seconds.
+
+Media containers such as mp4 and WebM represent time values as a ratio between a "time base" and a "time value". These values cannot necessarily be accurately represented as floating-point values without incurring cumulative rounding errors.  For example, a common frame rate in video formats is 29.97fps, however that value is an approximation of 3/1001. So a media file containing a video track with a 29.97fps content will declare a "time base" scalar of 3, and each frame will have a "time value" duration of 1001.
+
+Media Source Extension algorithms are very sensitive to small gaps between samples, and due to its rational-number behavior, MediaTime guarantees samples are contiguous by avoiding floating-point rounding errors.
+
+MediaTime offers convenience methods to convert from (`createTimeWithDouble()`) and to (`toDouble()`) floating-point values.
+
 ### MediaSample ###
 
 _([.h](../platform/MediaSample.h), [.cpp](../platform/MediaSample.cpp))_
 
-MediaSample is an abstract base class representing a sample parsed from a media segment. MediaSamples have `presentationTime()`, `decodeTime()`, and `duration()`, which are used to order these samples relative to one another in a [SampleMap](#samplemap). For codecs which support frame reordering, `presentationTime()` and `decodeTime()` for each sample may differ.
+MediaSample is an abstract base class representing a sample parsed from a media segment. MediaSamples have `presentationTime()`, `decodeTime()`, and `duration()`, each of which are [MediaTime](#mediatime) values, which are used to order these samples relative to one another in a [SampleMap](#samplemap). For codecs which support frame reordering, `presentationTime()` and `decodeTime()` for each sample may differ.
 
 ### SampleMap ###
 






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


[webkit-changes] [286741] branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess

2021-12-08 Thread alancoon
Title: [286741] branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess








Revision 286741
Author alanc...@apple.com
Date 2021-12-08 14:10:34 -0800 (Wed, 08 Dec 2021)


Log Message
Apply patch. rdar://problem/85928816

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.h




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.cpp (286740 => 286741)

--- branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-12-08 22:08:04 UTC (rev 286740)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-12-08 22:10:34 UTC (rev 286741)
@@ -2899,13 +2899,21 @@
 }
 
 #if HAVE(CVDISPLAYLINK)
-void WebPageProxy::wheelEventHysteresisUpdated(PAL::HysteresisState state)
+void WebPageProxy::wheelEventHysteresisUpdated(PAL::HysteresisState)
 {
+updateDisplayLinkFrequency();
+}
+
+void WebPageProxy::updateDisplayLinkFrequency()
+{
 if (!m_process->hasConnection() || !m_displayID)
 return;
 
-bool wantsFullSpeedUpdates = state == PAL::HysteresisState::Started;
-process().processPool().setDisplayLinkForDisplayWantsFullSpeedUpdates(*m_process->connection(), *m_displayID, wantsFullSpeedUpdates);
+bool wantsFullSpeedUpdates = m_wheelEventActivityHysteresis.state() == PAL::HysteresisState::Started;
+if (wantsFullSpeedUpdates != m_registeredForFullSpeedUpdates) {
+process().processPool().setDisplayLinkForDisplayWantsFullSpeedUpdates(*m_process->connection(), *m_displayID, wantsFullSpeedUpdates);
+m_registeredForFullSpeedUpdates = wantsFullSpeedUpdates;
+}
 }
 #endif
 
@@ -2912,13 +2920,7 @@
 void WebPageProxy::updateWheelEventActivityAfterProcessSwap()
 {
 #if HAVE(CVDISPLAYLINK)
-if (m_wheelEventActivityHysteresis.state() == PAL::HysteresisState::Started) {
-if (!m_process->hasConnection() || !m_displayID)
-return;
-
-bool wantsFullSpeedUpdates = true;
-process().processPool().setDisplayLinkForDisplayWantsFullSpeedUpdates(*m_process->connection(), *m_displayID, wantsFullSpeedUpdates);
-}
+updateDisplayLinkFrequency();
 #endif
 }
 


Modified: branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.h (286740 => 286741)

--- branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.h	2021-12-08 22:08:04 UTC (rev 286740)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.h	2021-12-08 22:10:34 UTC (rev 286741)
@@ -2383,6 +2383,7 @@
 
 #if HAVE(CVDISPLAYLINK)
 void wheelEventHysteresisUpdated(PAL::HysteresisState);
+void updateDisplayLinkFrequency();
 #endif
 void updateWheelEventActivityAfterProcessSwap();
 
@@ -2752,6 +2753,8 @@
 
 bool m_hasUpdatedRenderingAfterDidCommitLoad { true };
 
+bool m_registeredForFullSpeedUpdates { false };
+
 WebCore::ResourceRequest m_decidePolicyForResponseRequest;
 bool m_shouldSuppressAppLinksInNextNavigationPolicyDecision { false };
 






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


[webkit-changes] [286739] branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.h

2021-12-08 Thread alancoon
Title: [286739] branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.h








Revision 286739
Author alanc...@apple.com
Date 2021-12-08 14:08:01 -0800 (Wed, 08 Dec 2021)


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

Modified Paths

branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.h




Diff

Modified: branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.h (286738 => 286739)

--- branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.h	2021-12-08 21:39:08 UTC (rev 286738)
+++ branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.h	2021-12-08 22:08:01 UTC (rev 286739)
@@ -2764,6 +2764,7 @@
 std::optional m_displayID;
 #if HAVE(CVDISPLAYLINK)
 PAL::HysteresisActivity m_wheelEventActivityHysteresis;
+bool m_registeredForFullSpeedUpdates { false };
 #endif
 
 Deque m_mouseEventQueue;






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


[webkit-changes] [286740] branches/safari-612-branch/Source/WebKit/UIProcess

2021-12-08 Thread alancoon
Title: [286740] branches/safari-612-branch/Source/WebKit/UIProcess








Revision 286740
Author alanc...@apple.com
Date 2021-12-08 14:08:04 -0800 (Wed, 08 Dec 2021)


Log Message
Apply patch. rdar://problem/85928816

Modified Paths

branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.cpp
branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.h




Diff

Modified: branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.cpp (286739 => 286740)

--- branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-12-08 22:08:01 UTC (rev 286739)
+++ branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-12-08 22:08:04 UTC (rev 286740)
@@ -2899,13 +2899,21 @@
 }
 
 #if HAVE(CVDISPLAYLINK)
-void WebPageProxy::wheelEventHysteresisUpdated(PAL::HysteresisState state)
+void WebPageProxy::wheelEventHysteresisUpdated(PAL::HysteresisState)
 {
+updateDisplayLinkFrequency();
+}
+
+void WebPageProxy::updateDisplayLinkFrequency()
+{
 if (!m_process->hasConnection() || !m_displayID)
 return;
 
-bool wantsFullSpeedUpdates = state == PAL::HysteresisState::Started;
-process().processPool().setDisplayLinkForDisplayWantsFullSpeedUpdates(*m_process->connection(), *m_displayID, wantsFullSpeedUpdates);
+bool wantsFullSpeedUpdates = m_wheelEventActivityHysteresis.state() == PAL::HysteresisState::Started;
+if (wantsFullSpeedUpdates != m_registeredForFullSpeedUpdates) {
+process().processPool().setDisplayLinkForDisplayWantsFullSpeedUpdates(*m_process->connection(), *m_displayID, wantsFullSpeedUpdates);
+m_registeredForFullSpeedUpdates = wantsFullSpeedUpdates;
+}
 }
 #endif
 
@@ -2912,13 +2920,7 @@
 void WebPageProxy::updateWheelEventActivityAfterProcessSwap()
 {
 #if HAVE(CVDISPLAYLINK)
-if (m_wheelEventActivityHysteresis.state() == PAL::HysteresisState::Started) {
-if (!m_process->hasConnection() || !m_displayID)
-return;
-
-bool wantsFullSpeedUpdates = true;
-process().processPool().setDisplayLinkForDisplayWantsFullSpeedUpdates(*m_process->connection(), *m_displayID, wantsFullSpeedUpdates);
-}
+updateDisplayLinkFrequency();
 #endif
 }
 


Modified: branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.h (286739 => 286740)

--- branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.h	2021-12-08 22:08:01 UTC (rev 286739)
+++ branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.h	2021-12-08 22:08:04 UTC (rev 286740)
@@ -2383,6 +2383,7 @@
 
 #if HAVE(CVDISPLAYLINK)
 void wheelEventHysteresisUpdated(PAL::HysteresisState);
+void updateDisplayLinkFrequency();
 #endif
 void updateWheelEventActivityAfterProcessSwap();
 
@@ -2752,6 +2753,8 @@
 
 bool m_hasUpdatedRenderingAfterDidCommitLoad { true };
 
+bool m_registeredForFullSpeedUpdates { false };
+
 WebCore::ResourceRequest m_decidePolicyForResponseRequest;
 bool m_shouldSuppressAppLinksInNextNavigationPolicyDecision { false };
 






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


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

2021-12-08 Thread jer . noble
Title: [286738] trunk/Source/WebCore








Revision 286738
Author jer.no...@apple.com
Date 2021-12-08 13:39:08 -0800 (Wed, 08 Dec 2021)


Log Message
[MSE] Add a Modules/mediasource/README.md file
https://bugs.webkit.org/show_bug.cgi?id=234026

Reviewed by Eric Carlson.

* Modules/mediasource/README.md: Added.

Modified Paths

trunk/Source/WebCore/ChangeLog


Added Paths

trunk/Source/WebCore/Modules/mediasource/README.md




Diff

Modified: trunk/Source/WebCore/ChangeLog (286737 => 286738)

--- trunk/Source/WebCore/ChangeLog	2021-12-08 21:29:32 UTC (rev 286737)
+++ trunk/Source/WebCore/ChangeLog	2021-12-08 21:39:08 UTC (rev 286738)
@@ -1,3 +1,12 @@
+2021-12-08  Jer Noble  
+
+[MSE] Add a Modules/mediasource/README.md file
+https://bugs.webkit.org/show_bug.cgi?id=234026
+
+Reviewed by Eric Carlson.
+
+* Modules/mediasource/README.md: Added.
+
 2021-12-08  Truitt Savell  
 
 Unreviewed, reverting r286596.


Added: trunk/Source/WebCore/Modules/mediasource/README.md (0 => 286738)

--- trunk/Source/WebCore/Modules/mediasource/README.md	(rev 0)
+++ trunk/Source/WebCore/Modules/mediasource/README.md	2021-12-08 21:39:08 UTC (rev 286738)
@@ -0,0 +1,67 @@
+# Media Source Extensions
+
+This directory contains cross-platform implementations of the objects specified by the [Media Source Extensions Specification](https://www.w3.org/TR/media-source/).
+
+## Basic Concepts
+
+The Media Source Extensions specification defines a set of classes which allows clients to implement their own loading, buffering, and variant switching behavior, as opposed to allowing the UA to handle same.
+
+Clients `fetch()` media initialization segments and media segments, typically subsets of a single [fragmented MP4 file](https://www.w3.org/TR/mse-byte-stream-format-isobmff/) or [WebM file](https://www.w3.org/TR/mse-byte-stream-format-webm/), and append those segments into a SourceBuffer object, which is associated with a HTMLMediaElement through a [MediaSource](#mediasource) object.
+
+## Relevant Classes
+
+### MediaSource ###
+
+_([.idl](MediaSource.idl), [.h](MediaSource.h), [.cpp](MediaSource.cpp))_
+
+MediaSource serves two purposes:
+* Creating SourceBuffer objects.
+* Associating those SourceBuffer objects with a HTMLMediaElement.
+
+Once created, clients can create query for container and codec support via `isTypeSupported(type)`, [SourceBuffer](#sourcebuffer) objects via `addSourceBuffer(type)`, explicitly set the MediaSource's `duration`, and signal an end of the stream via `endOfStream(error)`.
+
+Before creating any [SourceBuffer](#sourcebuffer) objects, the MediaSource must be associated with a HTMLMediaElement. The MediaSource can be set directly as the HTMLMediaElement's `srcObject`. Alternatively, an [extension](DOMURL+MediaSource.idl) to DOMURL allows an ObjectURL to be created from a MediaSource object, and that ObjectURL can be set as the HTMLMediaElement's `src`.
+
+A MediaSource object will fire a `"sourceopen"` event when successfully associated with a HTMLMediaElement, and a `"sourceclose"` event when disassociated. The state of the MediaSource object can be queried via its `readyState` property.
+
+### SourceBuffer ###
+
+_([.idl](SourceBuffer.idl), [.h](SourceBuffer.h), [.cpp](SourceBuffer.cpp))_
+
+SourceBuffer accepts buffers of initialization segments and media segments, which are then parsed into media tracks and media samples. Those samples are cached within the SourceBuffer (inside its [SourceBufferPrivate](../platform/graphics/SourceBufferPrivate.h) object) and enqueued into platform-specific decoders on demand. The primary storage mechanism for these samples is a [SampleMap](#samplemap), which orders those samples both in terms of each sample's DecodeTime and PresentationTime. These two times can differ for codecs that support frame reordering, typically MPEG video codecs such as h.264 and HEVC.
+
+Clients append these segments via `appendBuffer()`, which sets an internal `updating` flag, fires the `"updatestart"` event, and subsequently fires the `"updateend"` event and clears the `updating` flag once parsing is complete. The results of the append are visible by querying the `buffered` property, or by querying the `audioTracks`, `videoTracks`, and `textTracks` TrackList objects.
+
+### MediaSourcePrivate ###
+
+_([.h](../platform/graphics/MediaSourcePrivate.h), [.cpp](../platform/graphics/MediaSourcePrivate.cpp))_
+
+MediaSourcePrivate is an abstract base class which allows [MediaSource](#mediasource) to communicate through the platform boundary to a platform-specific implementation of MediaSource.
+
+When the GPU Process is enabled, the MediaSourcePrivate in the WebContent process is typically a [MediaSourcePrivateRemote](../../WebKit/WebProcess/GPU/media/MediaSourcePrivateRemote.h), which will pass commands and properties across the WebContent/GPU process boundary.
+
+For Apple ports, the MediaSourcePrivate is typically a 

[webkit-changes] [286737] branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/ WebPageProxy.h

2021-12-08 Thread alancoon
Title: [286737] branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.h








Revision 286737
Author alanc...@apple.com
Date 2021-12-08 13:29:32 -0800 (Wed, 08 Dec 2021)


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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.h




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.h (286736 => 286737)

--- branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.h	2021-12-08 21:28:45 UTC (rev 286736)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.h	2021-12-08 21:29:32 UTC (rev 286737)
@@ -2764,6 +2764,7 @@
 std::optional m_displayID;
 #if HAVE(CVDISPLAYLINK)
 PAL::HysteresisActivity m_wheelEventActivityHysteresis;
+bool m_registeredForFullSpeedUpdates { false };
 #endif
 
 Deque m_mouseEventQueue;






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


[webkit-changes] [286734] branches/safari-612.4.2.1-branch/Source/WebKit

2021-12-08 Thread alancoon
Title: [286734] branches/safari-612.4.2.1-branch/Source/WebKit








Revision 286734
Author alanc...@apple.com
Date 2021-12-08 13:26:34 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286671. rdar://problem/85928816

Momentum Event Dispatcher: Momentum tail should have montonically decreasing deltas and tail gaps
https://bugs.webkit.org/show_bug.cgi?id=233993


Reviewed by Simon Fraser.

* WebProcess/WebPage/MomentumEventDispatcher.cpp:
(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
(WebKit::MomentumEventDispatcher::computeNextDelta):
In order to avoid visual stutter due to integral rounding of the
deltas we dispatch in the momentum phase, switch to a table of
deltas instead of interpolating along the offset curve during the
tail end of the animation (when the rounding makes up a large
proportion of each delta).

(WebKit::MomentumEventDispatcher::equalizeTailGaps):
Sort the deltas up until the first zero to ensure a lack of unexpected
perceptual acceleration, and then inject skipped frames in order to
ensure that frames that have effective scroll movement (non-zero deltas)
are always spaced equally-or-further apart than earlier ones, but
never closer together (which, again, would be percieved as acceleration).

(WebKit::MomentumEventDispatcher::handleWheelEvent):
(WebKit::MomentumEventDispatcher::pushLogEntry):
(WebKit::MomentumEventDispatcher::flushLog):
Lastly, adjust some logging to make it easier to tell which row in
the output corresponds to an event delta or generated delta, so it's
easier to find skipped frames.
* WebProcess/WebPage/MomentumEventDispatcher.h:

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.h




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog (286733 => 286734)

--- branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:26:29 UTC (rev 286733)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:26:34 UTC (rev 286734)
@@ -1,5 +1,76 @@
 2021-12-08  Alan Coon  
 
+Cherry-pick r286671. rdar://problem/85928816
+
+Momentum Event Dispatcher: Momentum tail should have montonically decreasing deltas and tail gaps
+https://bugs.webkit.org/show_bug.cgi?id=233993
+
+
+Reviewed by Simon Fraser.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
+(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+In order to avoid visual stutter due to integral rounding of the
+deltas we dispatch in the momentum phase, switch to a table of
+deltas instead of interpolating along the offset curve during the
+tail end of the animation (when the rounding makes up a large
+proportion of each delta).
+
+(WebKit::MomentumEventDispatcher::equalizeTailGaps):
+Sort the deltas up until the first zero to ensure a lack of unexpected
+perceptual acceleration, and then inject skipped frames in order to
+ensure that frames that have effective scroll movement (non-zero deltas)
+are always spaced equally-or-further apart than earlier ones, but
+never closer together (which, again, would be percieved as acceleration).
+
+(WebKit::MomentumEventDispatcher::handleWheelEvent):
+(WebKit::MomentumEventDispatcher::pushLogEntry):
+(WebKit::MomentumEventDispatcher::flushLog):
+Lastly, adjust some logging to make it easier to tell which row in
+the output corresponds to an event delta or generated delta, so it's
+easier to find skipped frames.
+* WebProcess/WebPage/MomentumEventDispatcher.h:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286671 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-08  Tim Horton  
+
+Momentum Event Dispatcher: Momentum tail should have montonically decreasing deltas and tail gaps
+https://bugs.webkit.org/show_bug.cgi?id=233993
+
+
+Reviewed by Simon Fraser.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
+(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+In order to avoid visual stutter due to integral rounding of the
+deltas we dispatch in the momentum phase, switch to a table of
+

[webkit-changes] [286732] branches/safari-612.4.2.1-branch/Source/WebKit

2021-12-08 Thread alancoon
Title: [286732] branches/safari-612.4.2.1-branch/Source/WebKit








Revision 286732
Author alanc...@apple.com
Date 2021-12-08 13:26:26 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286566. rdar://problem/85928816

Momentum Event Dispatcher: Momentum phase runs backwards with natural scrolling disabled
https://bugs.webkit.org/show_bug.cgi?id=233894


Reviewed by Simon Fraser.

* WebProcess/WebPage/MomentumEventDispatcher.cpp:
(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
Only flip the deltas if the trackpad is configured to use "natural"
scrolling (in which "directionInvertedFromDevice" is true).

(WebKit::MomentumEventDispatcher::computeNextDelta):
Fix initial queue state logging to log both axes before setting the "did log" bit.

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog (286731 => 286732)

--- branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:26:23 UTC (rev 286731)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:26:26 UTC (rev 286732)
@@ -1,5 +1,42 @@
 2021-12-06  Alan Coon  
 
+Cherry-pick r286566. rdar://problem/85928816
+
+Momentum Event Dispatcher: Momentum phase runs backwards with natural scrolling disabled
+https://bugs.webkit.org/show_bug.cgi?id=233894
+
+
+Reviewed by Simon Fraser.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
+Only flip the deltas if the trackpad is configured to use "natural"
+scrolling (in which "directionInvertedFromDevice" is true).
+
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+Fix initial queue state logging to log both axes before setting the "did log" bit.
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286566 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-06  Tim Horton  
+
+Momentum Event Dispatcher: Momentum phase runs backwards with natural scrolling disabled
+https://bugs.webkit.org/show_bug.cgi?id=233894
+
+
+Reviewed by Simon Fraser.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
+Only flip the deltas if the trackpad is configured to use "natural"
+scrolling (in which "directionInvertedFromDevice" is true).
+
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+Fix initial queue state logging to log both axes before setting the "did log" bit.
+
+2021-12-06  Alan Coon  
+
 Cherry-pick r286537. rdar://problem/85928816
 
 Add trace points for generated momentum events


Modified: branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp (286731 => 286732)

--- branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp	2021-12-08 21:26:23 UTC (rev 286731)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp	2021-12-08 21:26:26 UTC (rev 286732)
@@ -306,7 +306,10 @@
 
 m_currentGesture.currentOffset += delta;
 
-return -delta;
+if (m_currentGesture.initiatingEvent->directionInvertedFromDevice())
+delta.scale(-1);
+
+return delta;
 }
 
 void MomentumEventDispatcher::displayWasRefreshed(WebCore::PlatformDisplayID displayID, const WebCore::DisplayUpdate&)
@@ -478,10 +481,8 @@
 float averageDelta = totalDelta / count;
 
 #if ENABLE(MOMENTUM_EVENT_DISPATCHER_TEMPORARY_LOGGING)
-if (!m_currentGesture.didLogInitialQueueState) {
+if (!m_currentGesture.didLogInitialQueueState)
 RELEASE_LOG(ScrollAnimations, "MomentumEventDispatcher initial historical deltas: average delta %f, average time %fms, event count %d", averageDelta, averageFrameIntervalMS, count);
-m_currentGesture.didLogInitialQueueState = true;
-}
 #endif
 
 constexpr float velocityGainA = fromFixedPoint(2.f);
@@ -502,6 +503,10 @@
 accelerateAxis(m_deltaHistoryY, quantizedUnacceleratedDelta.height())
 );
 
+#if ENABLE(MOMENTUM_EVENT_DISPATCHER_TEMPORARY_LOGGING)
+m_currentGesture.didLogInitialQueueState = true;
+#endif
+
 return { unacceleratedDelta, acceleratedDelta };
 }
 






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


[webkit-changes] [286731] branches/safari-612.4.2.1-branch

2021-12-08 Thread alancoon
Title: [286731] branches/safari-612.4.2.1-branch








Revision 286731
Author alanc...@apple.com
Date 2021-12-08 13:26:23 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286537. rdar://problem/85928816

Add trace points for generated momentum events
https://bugs.webkit.org/show_bug.cgi?id=233857

Reviewed by Tim Horton.

Source/WebKit:

Add start/end points for synthetic momentum, and a trace point for each generated event.

* WebProcess/WebPage/MomentumEventDispatcher.cpp:
(WebKit::MomentumEventDispatcher::dispatchSyntheticMomentumEvent):
(WebKit::MomentumEventDispatcher::didStartMomentumPhase):
(WebKit::MomentumEventDispatcher::didEndMomentumPhase):

Source/WTF:

* wtf/SystemTracing.h:

Tools:

Add start/end points for synthetic momentum, and a trace point for each generated event.

* Tracing/SystemTracePoints.plist:

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WTF/ChangeLog
branches/safari-612.4.2.1-branch/Source/WTF/wtf/SystemTracing.h
branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp
branches/safari-612.4.2.1-branch/Tools/ChangeLog
branches/safari-612.4.2.1-branch/Tools/Tracing/SystemTracePoints.plist




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WTF/ChangeLog (286730 => 286731)

--- branches/safari-612.4.2.1-branch/Source/WTF/ChangeLog	2021-12-08 21:26:20 UTC (rev 286730)
+++ branches/safari-612.4.2.1-branch/Source/WTF/ChangeLog	2021-12-08 21:26:23 UTC (rev 286731)
@@ -1,3 +1,43 @@
+2021-12-06  Alan Coon  
+
+Cherry-pick r286537. rdar://problem/85928816
+
+Add trace points for generated momentum events
+https://bugs.webkit.org/show_bug.cgi?id=233857
+
+Reviewed by Tim Horton.
+
+Source/WebKit:
+
+Add start/end points for synthetic momentum, and a trace point for each generated event.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::dispatchSyntheticMomentumEvent):
+(WebKit::MomentumEventDispatcher::didStartMomentumPhase):
+(WebKit::MomentumEventDispatcher::didEndMomentumPhase):
+
+Source/WTF:
+
+* wtf/SystemTracing.h:
+
+Tools:
+
+Add start/end points for synthetic momentum, and a trace point for each generated event.
+
+* Tracing/SystemTracePoints.plist:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-05  Simon Fraser  
+
+Add trace points for generated momentum events
+https://bugs.webkit.org/show_bug.cgi?id=233857
+
+Reviewed by Tim Horton.
+
+* wtf/SystemTracing.h:
+
 2021-12-03  Alan Coon  
 
 Cherry-pick r286504. rdar://problem/85928816


Modified: branches/safari-612.4.2.1-branch/Source/WTF/wtf/SystemTracing.h (286730 => 286731)

--- branches/safari-612.4.2.1-branch/Source/WTF/wtf/SystemTracing.h	2021-12-08 21:26:20 UTC (rev 286730)
+++ branches/safari-612.4.2.1-branch/Source/WTF/wtf/SystemTracing.h	2021-12-08 21:26:23 UTC (rev 286731)
@@ -127,6 +127,9 @@
 RenderServerSnapshotEnd,
 TakeSnapshotStart,
 TakeSnapshotEnd,
+SyntheticMomentumStart,
+SyntheticMomentumEnd,
+SyntheticMomentumEvent,
 
 UIProcessRange = 14000,
 CommitLayerTreeStart,


Modified: branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog (286730 => 286731)

--- branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:26:20 UTC (rev 286730)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:26:23 UTC (rev 286731)
@@ -1,3 +1,48 @@
+2021-12-06  Alan Coon  
+
+Cherry-pick r286537. rdar://problem/85928816
+
+Add trace points for generated momentum events
+https://bugs.webkit.org/show_bug.cgi?id=233857
+
+Reviewed by Tim Horton.
+
+Source/WebKit:
+
+Add start/end points for synthetic momentum, and a trace point for each generated event.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::dispatchSyntheticMomentumEvent):
+(WebKit::MomentumEventDispatcher::didStartMomentumPhase):
+(WebKit::MomentumEventDispatcher::didEndMomentumPhase):
+
+Source/WTF:
+
+* wtf/SystemTracing.h:
+
+Tools:
+
+Add start/end points for synthetic momentum, and a trace point for each generated event.
+
+* Tracing/SystemTracePoints.plist:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-05  Simon Fraser  
+
+Add trace points for generated momentum events
+https://bugs.webkit.org/show_bug.cgi?id=233857
+
+Reviewed by Tim Horton.
+
+Add start/end points for 

[webkit-changes] [286735] branches/safari-612.4.2.1-branch/Source/WebKit

2021-12-08 Thread alancoon
Title: [286735] branches/safari-612.4.2.1-branch/Source/WebKit








Revision 286735
Author alanc...@apple.com
Date 2021-12-08 13:26:37 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286574. rdar://problem/86224832

Regression(r286505) imported/w3c/web-platform-tests/html/cross-origin-opener-policy/_javascript_-url.https.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=233874

Reviewed by Darin Adler.

r286505 fixed ProvisionalPageProxy so that ProvisionalPageProxy::m_provisionalLoadURL gets properly initialized when the
ProvisionalPageProxy gets constructed *after* the provisional load has already started (COOP proces-swap case). One side
effect of this though is that ProvisionalPageProxy::cancel() no longer returns early and will try to notify the client
that the provisional load failed, dereferencing m_mainFrame in doing so. In the event where the main frame has not yet
been created in the new provisional process, this would do a null-dereference of m_mainFrame.

To address the issue, we now early return in ProvisionalPageProxy::cancel() if m_isProcessSwappingOnNavigationResponse
is true (i.e. The ProvisionalPageProxy was created after the provisional load had started). In such situations, we
don't want to ProvisionalPageProxy to be the one notifying the client of the provisional load failure anyway. The reason
is that there is still a provisional load going on in the committed process/page.

No new tests, covered by existing test that is flakily crashing.

* UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::cancel):

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog (286734 => 286735)

--- branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:26:34 UTC (rev 286734)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:26:37 UTC (rev 286735)
@@ -1,5 +1,56 @@
 2021-12-08  Alan Coon  
 
+Cherry-pick r286574. rdar://problem/86224832
+
+Regression(r286505) imported/w3c/web-platform-tests/html/cross-origin-opener-policy/_javascript_-url.https.html is a flaky crash
+https://bugs.webkit.org/show_bug.cgi?id=233874
+
+Reviewed by Darin Adler.
+
+r286505 fixed ProvisionalPageProxy so that ProvisionalPageProxy::m_provisionalLoadURL gets properly initialized when the
+ProvisionalPageProxy gets constructed *after* the provisional load has already started (COOP proces-swap case). One side
+effect of this though is that ProvisionalPageProxy::cancel() no longer returns early and will try to notify the client
+that the provisional load failed, dereferencing m_mainFrame in doing so. In the event where the main frame has not yet
+been created in the new provisional process, this would do a null-dereference of m_mainFrame.
+
+To address the issue, we now early return in ProvisionalPageProxy::cancel() if m_isProcessSwappingOnNavigationResponse
+is true (i.e. The ProvisionalPageProxy was created after the provisional load had started). In such situations, we
+don't want to ProvisionalPageProxy to be the one notifying the client of the provisional load failure anyway. The reason
+is that there is still a provisional load going on in the committed process/page.
+
+No new tests, covered by existing test that is flakily crashing.
+
+* UIProcess/ProvisionalPageProxy.cpp:
+(WebKit::ProvisionalPageProxy::cancel):
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286574 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-06  Chris Dumez  
+
+Regression(r286505) imported/w3c/web-platform-tests/html/cross-origin-opener-policy/_javascript_-url.https.html is a flaky crash
+https://bugs.webkit.org/show_bug.cgi?id=233874
+
+Reviewed by Darin Adler.
+
+r286505 fixed ProvisionalPageProxy so that ProvisionalPageProxy::m_provisionalLoadURL gets properly initialized when the
+ProvisionalPageProxy gets constructed *after* the provisional load has already started (COOP proces-swap case). One side
+effect of this though is that ProvisionalPageProxy::cancel() no longer returns early and will try to notify the client
+that the provisional load failed, dereferencing m_mainFrame in doing so. In the event where the main frame has not yet
+been created in the new provisional process, this would do a null-dereference of m_mainFrame.
+
+To address the issue, we now early return in ProvisionalPageProxy::cancel() if m_isProcessSwappingOnNavigationResponse
+is true (i.e. The ProvisionalPageProxy was created 

[webkit-changes] [286728] branches/safari-612.4.2.1-branch/Source/WebKit/Shared/mac/ MediaFormatReader/MediaFormatReader.cpp

2021-12-08 Thread alancoon
Title: [286728] branches/safari-612.4.2.1-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp








Revision 286728
Author alanc...@apple.com
Date 2021-12-08 13:26:15 -0800 (Wed, 08 Dec 2021)


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

error: member access into incomplete type 'Webcore::SharedBuffer'

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp (286727 => 286728)

--- branches/safari-612.4.2.1-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp	2021-12-08 21:26:12 UTC (rev 286727)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp	2021-12-08 21:26:15 UTC (rev 286728)
@@ -35,6 +35,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 






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


[webkit-changes] [286733] branches/safari-612.4.2.1-branch/Source/WebKit

2021-12-08 Thread alancoon
Title: [286733] branches/safari-612.4.2.1-branch/Source/WebKit








Revision 286733
Author alanc...@apple.com
Date 2021-12-08 13:26:29 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286631. rdar://problem/85928816

[Scroll Momentum Generator] Pages lose ability to momentum scroll after dragging between displays
https://bugs.webkit.org/show_bug.cgi?id=233948
rdar://86110813

Reviewed by Tim Horton.

This is a conservative fix for the bug. When a view moves to a new screen, WebPageProxy
needs to unregister for full speed updates using the old displayID, and register
using the new one.

Longer term, it would be better if "full speed updates" was a per-observer concept,
but that would mean registering an observer while wheel events are being received,
which needs a bit more thought.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::windowScreenDidChange):

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.cpp




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog (286732 => 286733)

--- branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:26:26 UTC (rev 286732)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:26:29 UTC (rev 286733)
@@ -1,3 +1,46 @@
+2021-12-08  Alan Coon  
+
+Cherry-pick r286631. rdar://problem/85928816
+
+[Scroll Momentum Generator] Pages lose ability to momentum scroll after dragging between displays
+https://bugs.webkit.org/show_bug.cgi?id=233948
+rdar://86110813
+
+Reviewed by Tim Horton.
+
+This is a conservative fix for the bug. When a view moves to a new screen, WebPageProxy
+needs to unregister for full speed updates using the old displayID, and register
+using the new one.
+
+Longer term, it would be better if "full speed updates" was a per-observer concept,
+but that would mean registering an observer while wheel events are being received,
+which needs a bit more thought.
+
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::windowScreenDidChange):
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-07  Simon Fraser  
+
+[Scroll Momentum Generator] Pages lose ability to momentum scroll after dragging between displays
+https://bugs.webkit.org/show_bug.cgi?id=233948
+rdar://86110813
+
+Reviewed by Tim Horton.
+
+This is a conservative fix for the bug. When a view moves to a new screen, WebPageProxy
+needs to unregister for full speed updates using the old displayID, and register
+using the new one.
+
+Longer term, it would be better if "full speed updates" was a per-observer concept,
+but that would mean registering an observer while wheel events are being received,
+which needs a bit more thought.
+
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::windowScreenDidChange):
+
 2021-12-06  Alan Coon  
 
 Cherry-pick r286566. rdar://problem/85928816


Modified: branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.cpp (286732 => 286733)

--- branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-12-08 21:26:26 UTC (rev 286732)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-12-08 21:26:29 UTC (rev 286733)
@@ -4002,6 +4002,13 @@
 
 void WebPageProxy::windowScreenDidChange(PlatformDisplayID displayID, std::optional nominalFramesPerSecond)
 {
+#if HAVE(CVDISPLAYLINK)
+if (hasRunningProcess() && m_displayID && m_registeredForFullSpeedUpdates)
+process().processPool().setDisplayLinkForDisplayWantsFullSpeedUpdates(*m_process->connection(), *m_displayID, false);
+
+m_registeredForFullSpeedUpdates = false;
+#endif
+
 m_displayID = displayID;
 
 if (!hasRunningProcess())
@@ -4009,6 +4016,9 @@
 
 send(Messages::EventDispatcher::PageScreenDidChange(m_webPageID, displayID));
 send(Messages::WebPage::WindowScreenDidChange(displayID, nominalFramesPerSecond));
+#if HAVE(CVDISPLAYLINK)
+updateDisplayLinkFrequency();
+#endif
 }
 
 float WebPageProxy::deviceScaleFactor() const






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


[webkit-changes] [286727] branches/safari-612.4.2.1-branch/Source/WebKit

2021-12-08 Thread alancoon
Title: [286727] branches/safari-612.4.2.1-branch/Source/WebKit








Revision 286727
Author alanc...@apple.com
Date 2021-12-08 13:26:12 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286512. rdar://problem/85928816

Add more logging for MomentumEventDispatcher
https://bugs.webkit.org/show_bug.cgi?id=233811

Reviewed by Simon Fraser.

Add a temporary event log to MomentumEventDispatcher, to debug delta/offset/curve issues.

* WebProcess/WebPage/EventDispatcher.h:
(WebKit::EventDispatcher::queue):
* WebProcess/WebPage/MomentumEventDispatcher.cpp:
(WebKit::MomentumEventDispatcher::handleWheelEvent):
Accumulate event deltas. Also accumulate event deltas for the
fingers-down phase in the "generated" offset. Store the phase and
momentum phase smooshed into a single field.

(WebKit::MomentumEventDispatcher::dispatchSyntheticMomentumEvent):
Accumulate generated deltas.

(WebKit::MomentumEventDispatcher::didEndMomentumPhase):
Attempt to dump the log 1 second after each momentum phase. We'll skip
it if another scroll has started since.

(WebKit::MomentumEventDispatcher::setScrollingAccelerationCurve):
(WebKit::MomentumEventDispatcher::startDisplayLink):
(WebKit::MomentumEventDispatcher::stopDisplayLink):
(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
(WebKit::MomentumEventDispatcher::computeNextDelta):
Adopt more MOMENTUM_EVENT_DISPATCHER_TEMPORARY_LOGGING. Error logging
we leave outside of this, because that we'll keep around.

(WebKit::MomentumEventDispatcher::pushLogEntry):
(WebKit::MomentumEventDispatcher::flushLog):
Dump the event log in an easy-to-copy-into-a-CSV format.

* WebProcess/WebPage/MomentumEventDispatcher.h:

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/EventDispatcher.h
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.h




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog (286726 => 286727)

--- branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:26:09 UTC (rev 286726)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:26:12 UTC (rev 286727)
@@ -1,5 +1,88 @@
 2021-12-03  Alan Coon  
 
+Cherry-pick r286512. rdar://problem/85928816
+
+Add more logging for MomentumEventDispatcher
+https://bugs.webkit.org/show_bug.cgi?id=233811
+
+Reviewed by Simon Fraser.
+
+Add a temporary event log to MomentumEventDispatcher, to debug delta/offset/curve issues.
+
+* WebProcess/WebPage/EventDispatcher.h:
+(WebKit::EventDispatcher::queue):
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::handleWheelEvent):
+Accumulate event deltas. Also accumulate event deltas for the
+fingers-down phase in the "generated" offset. Store the phase and
+momentum phase smooshed into a single field.
+
+(WebKit::MomentumEventDispatcher::dispatchSyntheticMomentumEvent):
+Accumulate generated deltas.
+
+(WebKit::MomentumEventDispatcher::didEndMomentumPhase):
+Attempt to dump the log 1 second after each momentum phase. We'll skip
+it if another scroll has started since.
+
+(WebKit::MomentumEventDispatcher::setScrollingAccelerationCurve):
+(WebKit::MomentumEventDispatcher::startDisplayLink):
+(WebKit::MomentumEventDispatcher::stopDisplayLink):
+(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
+(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+Adopt more MOMENTUM_EVENT_DISPATCHER_TEMPORARY_LOGGING. Error logging
+we leave outside of this, because that we'll keep around.
+
+(WebKit::MomentumEventDispatcher::pushLogEntry):
+(WebKit::MomentumEventDispatcher::flushLog):
+Dump the event log in an easy-to-copy-into-a-CSV format.
+
+* WebProcess/WebPage/MomentumEventDispatcher.h:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286512 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-03  Tim Horton  
+
+Add more logging for MomentumEventDispatcher
+https://bugs.webkit.org/show_bug.cgi?id=233811
+
+Reviewed by Simon Fraser.
+
+Add a temporary event log to MomentumEventDispatcher, to debug delta/offset/curve issues.
+
+* WebProcess/WebPage/EventDispatcher.h:
+(WebKit::EventDispatcher::queue):
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+

[webkit-changes] [286724] branches/safari-612.4.2.1-branch/Source/WebKit

2021-12-08 Thread alancoon
Title: [286724] branches/safari-612.4.2.1-branch/Source/WebKit








Revision 286724
Author alanc...@apple.com
Date 2021-12-08 13:26:01 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286483. rdar://problem/85928816

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:

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/ScrollingAccelerationCurve.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/ScrollingAccelerationCurve.h
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/mac/ScrollingAccelerationCurveMac.mm
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.h




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog (286723 => 286724)

--- branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:25:57 UTC (rev 286723)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:26:01 UTC (rev 286724)
@@ -1,5 +1,136 @@
 2021-12-03  Russell Epstein  
 
+Cherry-pick r286483. rdar://problem/85928816
+
+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-changes] [286725] branches/safari-612.4.2.1-branch/Source

2021-12-08 Thread alancoon
Title: [286725] branches/safari-612.4.2.1-branch/Source








Revision 286725
Author alanc...@apple.com
Date 2021-12-08 13:26:07 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r285526. rdar://problem/85928816

Add runtime flag for momentum scrolling
https://bugs.webkit.org/show_bug.cgi?id=232898


Reviewed by Simon Fraser.

* Scripts/Preferences/WebPreferencesInternal.yaml:
Add the preference.

* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setFrameScrollingNodeState):
* page/scrolling/ScrollingStateFrameScrollingNode.cpp:
(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::applicableProperties const):
(WebCore::ScrollingStateFrameScrollingNode::setMomentumScrollingAnimatorEnabled):
* page/scrolling/ScrollingStateFrameScrollingNode.h:
* page/scrolling/ScrollingStateNode.h:
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::commitTreeState):
* page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::momentumScrollingAnimatorEnabled const):
(WebCore::ScrollingTree::setMomentumScrollingAnimatorEnabled):
* page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::momentumScrollingAnimatorEnabled const):
* page/scrolling/ScrollingTreeScrollingNode.h:
* page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
* page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::momentumScrollingAnimatorEnabled const):
* platform/ScrollingEffectsController.h:
(WebCore::ScrollingEffectsControllerClient::momentumScrollingAnimatorEnabled const):

* Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder::encode):
(ArgumentCoder::decode):

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WTF/ChangeLog
branches/safari-612.4.2.1-branch/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml
branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp
branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.h
branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ScrollingStateNode.h
branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ScrollingTree.cpp
branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ScrollingTree.h
branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp
branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h
branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h
branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm
branches/safari-612.4.2.1-branch/Source/WebCore/platform/ScrollController.h
branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WTF/ChangeLog (286724 => 286725)

--- branches/safari-612.4.2.1-branch/Source/WTF/ChangeLog	2021-12-08 21:26:01 UTC (rev 286724)
+++ branches/safari-612.4.2.1-branch/Source/WTF/ChangeLog	2021-12-08 21:26:07 UTC (rev 286725)
@@ -1,3 +1,55 @@
+2021-12-03  Alan Coon  
+
+Cherry-pick r285526. rdar://problem/85928816
+
+Add runtime flag for momentum scrolling
+https://bugs.webkit.org/show_bug.cgi?id=232898
+
+
+Reviewed by Simon Fraser.
+
+* Scripts/Preferences/WebPreferencesInternal.yaml:
+Add the preference.
+
+* page/scrolling/AsyncScrollingCoordinator.cpp:
+(WebCore::AsyncScrollingCoordinator::setFrameScrollingNodeState):
+* page/scrolling/ScrollingStateFrameScrollingNode.cpp:
+(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
+(WebCore::ScrollingStateFrameScrollingNode::applicableProperties const):
+(WebCore::ScrollingStateFrameScrollingNode::setMomentumScrollingAnimatorEnabled):
+* page/scrolling/ScrollingStateFrameScrollingNode.h:
+* page/scrolling/ScrollingStateNode.h:
+* page/scrolling/ScrollingTree.cpp:
+(WebCore::ScrollingTree::commitTreeState):
+* page/scrolling/ScrollingTree.h:
+(WebCore::ScrollingTree::momentumScrollingAnimatorEnabled const):
+(WebCore::ScrollingTree::setMomentumScrollingAnimatorEnabled):
+* page/scrolling/ScrollingTreeScrollingNode.cpp:
+(WebCore::ScrollingTreeScrollingNode::momentumScrollingAnimatorEnabled const):
+* 

[webkit-changes] [286729] branches/safari-612.4.2.1-branch/Source/WebKit/Shared/ WebPreferencesDefaultValues.cpp

2021-12-08 Thread alancoon
Title: [286729] branches/safari-612.4.2.1-branch/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp








Revision 286729
Author alanc...@apple.com
Date 2021-12-08 13:26:17 -0800 (Wed, 08 Dec 2021)


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

error: use of undeclared identifier 'isInWebProcess'; did you mean 'WebCore::isInWebProcess'?

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp (286728 => 286729)

--- branches/safari-612.4.2.1-branch/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp	2021-12-08 21:26:15 UTC (rev 286728)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp	2021-12-08 21:26:17 UTC (rev 286729)
@@ -324,7 +324,7 @@
 static dispatch_once_t onceToken;
 static bool enabled { false };
 dispatch_once(, ^{
-if (isInWebProcess())
+if (WebCore::isInWebProcess())
 enabled = WebProcess::singleton().parentProcessHasEntitlement("com.apple.developer.group-session.urlactivity");
 else
 enabled = WTF::processHasEntitlement("com.apple.developer.group-session.urlactivity");






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


[webkit-changes] [286723] branches/safari-612.4.2.1-branch/Source

2021-12-08 Thread alancoon
Title: [286723] branches/safari-612.4.2.1-branch/Source








Revision 286723
Author alanc...@apple.com
Date 2021-12-08 13:25:57 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286481. rdar://problem/85928816

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

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebCore/platform/graphics/DisplayRefreshMonitor.cpp
branches/safari-612.4.2.1-branch/Source/WebCore/platform/graphics/DisplayRefreshMonitor.h
branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/mac/DisplayRefreshMonitorMac.cpp




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog (286722 => 286723)

--- branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog	2021-12-08 21:25:52 UTC (rev 286722)
+++ branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog	2021-12-08 21:25:57 UTC (rev 286723)
@@ -1,3 +1,87 @@
+2021-12-03  Russell Epstein  
+
+Cherry-pick r286481. rdar://problem/85928816
+
+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):
+

[webkit-changes] [286726] branches/safari-612.4.2.1-branch/Source/WTF

2021-12-08 Thread alancoon
Title: [286726] branches/safari-612.4.2.1-branch/Source/WTF








Revision 286726
Author alanc...@apple.com
Date 2021-12-08 13:26:09 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286504. rdar://problem/85928816

Enable Momentum Event Generator by default
https://bugs.webkit.org/show_bug.cgi?id=233807


Reviewed by Simon Fraser.

* Scripts/Preferences/WebPreferencesInternal.yaml:
Turn it on for modern WebKit. Adjust the description slightly.

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WTF/ChangeLog
branches/safari-612.4.2.1-branch/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WTF/ChangeLog (286725 => 286726)

--- branches/safari-612.4.2.1-branch/Source/WTF/ChangeLog	2021-12-08 21:26:07 UTC (rev 286725)
+++ branches/safari-612.4.2.1-branch/Source/WTF/ChangeLog	2021-12-08 21:26:09 UTC (rev 286726)
@@ -1,5 +1,31 @@
 2021-12-03  Alan Coon  
 
+Cherry-pick r286504. rdar://problem/85928816
+
+Enable Momentum Event Generator by default
+https://bugs.webkit.org/show_bug.cgi?id=233807
+
+
+Reviewed by Simon Fraser.
+
+* Scripts/Preferences/WebPreferencesInternal.yaml:
+Turn it on for modern WebKit. Adjust the description slightly.
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-03  Tim Horton  
+
+Enable Momentum Event Generator by default
+https://bugs.webkit.org/show_bug.cgi?id=233807
+
+
+Reviewed by Simon Fraser.
+
+* Scripts/Preferences/WebPreferencesInternal.yaml:
+Turn it on for modern WebKit. Adjust the description slightly.
+
+2021-12-03  Alan Coon  
+
 Cherry-pick r285526. rdar://problem/85928816
 
 Add runtime flag for momentum scrolling


Modified: branches/safari-612.4.2.1-branch/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml (286725 => 286726)

--- branches/safari-612.4.2.1-branch/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml	2021-12-08 21:26:07 UTC (rev 286725)
+++ branches/safari-612.4.2.1-branch/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml	2021-12-08 21:26:09 UTC (rev 286726)
@@ -539,7 +539,7 @@
 MomentumScrollingAnimatorEnabled:
   type: bool
   humanReadableName: "Momentum Scrolling Animator"
-  humanReadableDescription: "Drive momentum scrolling via an internal animator instead of using momentum events"
+  humanReadableDescription: "Generate momentum events in WebKit instead of using those delivered by the system"
   defaultValue:
 WebKitLegacy:
   "PLATFORM(MAC)": true
@@ -546,7 +546,7 @@
   default: false
 WebKit:
   "PLATFORM(MAC)": true
-  default: false
+  default: true
 WebCore:
   "PLATFORM(MAC)": true
   default: false






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


[webkit-changes] [286722] branches/safari-612.4.2.1-branch/Source/WebKit

2021-12-08 Thread alancoon
Title: [286722] branches/safari-612.4.2.1-branch/Source/WebKit








Revision 286722
Author alanc...@apple.com
Date 2021-12-08 13:25:52 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286380. rdar://problem/85928816

Unreviewed build fixes after r286346.

* WebProcess/WebPage/MomentumEventDispatcher.cpp:
(WebKit::MomentumEventDispatcher::startDisplayLink):
(WebKit::MomentumEventDispatcher::displayWasRefreshed):
(WebKit::MomentumEventDispatcher::didReceiveScrollEventWithInterval):
(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
(WebKit::MomentumEventDispatcher::offsetAtTime):
(WebKit::momentumDecayRate):
(WebKit::MomentumEventDispatcher::computeNextDelta):
* WebProcess/WebPage/MomentumEventDispatcher.h:

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.h




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog (286721 => 286722)

--- branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:25:49 UTC (rev 286721)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:25:52 UTC (rev 286722)
@@ -1,3 +1,35 @@
+2021-12-03  Russell Epstein  
+
+Cherry-pick r286380. rdar://problem/85928816
+
+Unreviewed build fixes after r286346.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::startDisplayLink):
+(WebKit::MomentumEventDispatcher::displayWasRefreshed):
+(WebKit::MomentumEventDispatcher::didReceiveScrollEventWithInterval):
+(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
+(WebKit::MomentumEventDispatcher::offsetAtTime):
+(WebKit::momentumDecayRate):
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+* WebProcess/WebPage/MomentumEventDispatcher.h:
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286380 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-01  Chris Dumez  
+
+Unreviewed build fixes after r286346.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::startDisplayLink):
+(WebKit::MomentumEventDispatcher::displayWasRefreshed):
+(WebKit::MomentumEventDispatcher::didReceiveScrollEventWithInterval):
+(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
+(WebKit::MomentumEventDispatcher::offsetAtTime):
+(WebKit::momentumDecayRate):
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+* WebProcess/WebPage/MomentumEventDispatcher.h:
+
 2021-12-01  Alan Coon  
 
 Cherry-pick r286346. rdar://problem/85928816


Modified: branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp (286721 => 286722)

--- branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp	2021-12-08 21:25:49 UTC (rev 286721)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp	2021-12-08 21:25:52 UTC (rev 286722)
@@ -30,8 +30,10 @@
 
 #include "EventDispatcher.h"
 #include "Logging.h"
+#include "WebProcess.h"
 #include "WebProcessProxyMessages.h"
 #include 
+#include 
 
 namespace WebKit {
 
@@ -221,7 +223,7 @@
 }
 
 // FIXME: Switch down to lower-than-full-speed frame rates for the tail end of the curve.
-WebProcess::singleton().parentProcessConnection()->send(Messages::WebProcessProxy::StartDisplayLink(m_observerID, displayID, FullSpeedFramesPerSecond), 0);
+WebProcess::singleton().parentProcessConnection()->send(Messages::WebProcessProxy::StartDisplayLink(m_observerID, displayID, WebCore::FullSpeedFramesPerSecond), 0);
 RELEASE_LOG(ScrollAnimations, "MomentumEventDispatcher starting display link for display %d", displayID);
 }
 
@@ -262,9 +264,9 @@
 
 #if !USE(MOMENTUM_EVENT_DISPATCHER_PREMATURE_ROUNDING)
 // Intentional delta rounding (but at the end!).
-FloatSize delta = roundedIntSize(desiredOffset - m_currentGesture.currentOffset);
+WebCore::FloatSize delta = roundedIntSize(desiredOffset - m_currentGesture.currentOffset);
 #else
-FloatSize delta = desiredOffset - m_currentGesture.currentOffset;
+WebCore::FloatSize delta = desiredOffset - m_currentGesture.currentOffset;
 #endif
 
 dispatchSyntheticMomentumEvent(WebWheelEvent::PhaseChanged, -delta);
@@ -272,7 +274,7 @@
 m_currentGesture.currentOffset += delta;
 }
 
-void MomentumEventDispatcher::didReceiveScrollEventWithInterval(FloatSize size, Seconds frameInterval)
+void MomentumEventDispatcher::didReceiveScrollEventWithInterval(WebCore::FloatSize size, Seconds frameInterval)
 {
 

[webkit-changes] [286719] branches/safari-612.4.2.1-branch/Source/WebCore

2021-12-08 Thread alancoon
Title: [286719] branches/safari-612.4.2.1-branch/Source/WebCore








Revision 286719
Author alanc...@apple.com
Date 2021-12-08 13:25:44 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286411. rdar://problem/85928816

Scrolling complex websites can stutter: scrolling thread frame can fail to process wheel events
https://bugs.webkit.org/show_bug.cgi?id=233739
rdar://85946176

Reviewed by Tim Horton.

While the scrolling thread is chilling in
ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout(), waiting up to half a
frame to allow the main thread to handle the commit (for scroll synchronization), wheel
events may have been dispatched to the scrolling thread.

If we blow the timeout and commit anyway, we need to make sure we've handled these wheel
events first, so that the current frame can commit some layer movement. We can achieve this
by dispatching the applyLayerPositions(), which will enqueue it behind any waiting wheel
event dispatch from EventDispatcher::internalWheelEvent().

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::applyLayerPositions):
* page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout):

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ScrollingTree.cpp
branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog (286718 => 286719)

--- branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog	2021-12-08 21:25:41 UTC (rev 286718)
+++ branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog	2021-12-08 21:25:44 UTC (rev 286719)
@@ -1,3 +1,53 @@
+2021-12-02  Russell Epstein  
+
+Cherry-pick r286411. rdar://problem/85928816
+
+Scrolling complex websites can stutter: scrolling thread frame can fail to process wheel events
+https://bugs.webkit.org/show_bug.cgi?id=233739
+rdar://85946176
+
+Reviewed by Tim Horton.
+
+While the scrolling thread is chilling in
+ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout(), waiting up to half a
+frame to allow the main thread to handle the commit (for scroll synchronization), wheel
+events may have been dispatched to the scrolling thread.
+
+If we blow the timeout and commit anyway, we need to make sure we've handled these wheel
+events first, so that the current frame can commit some layer movement. We can achieve this
+by dispatching the applyLayerPositions(), which will enqueue it behind any waiting wheel
+event dispatch from EventDispatcher::internalWheelEvent().
+
+* page/scrolling/ScrollingTree.cpp:
+(WebCore::ScrollingTree::applyLayerPositions):
+* page/scrolling/ThreadedScrollingTree.cpp:
+(WebCore::ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout):
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286411 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-01  Simon Fraser  
+
+Scrolling complex websites can stutter: scrolling thread frame can fail to process wheel events
+https://bugs.webkit.org/show_bug.cgi?id=233739
+rdar://85946176
+
+Reviewed by Tim Horton.
+
+While the scrolling thread is chilling in
+ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout(), waiting up to half a
+frame to allow the main thread to handle the commit (for scroll synchronization), wheel
+events may have been dispatched to the scrolling thread.
+
+If we blow the timeout and commit anyway, we need to make sure we've handled these wheel
+events first, so that the current frame can commit some layer movement. We can achieve this
+by dispatching the applyLayerPositions(), which will enqueue it behind any waiting wheel
+event dispatch from EventDispatcher::internalWheelEvent().
+
+* page/scrolling/ScrollingTree.cpp:
+(WebCore::ScrollingTree::applyLayerPositions):
+* page/scrolling/ThreadedScrollingTree.cpp:
+(WebCore::ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout):
+
 2021-12-01  Alan Coon  
 
 Cherry-pick r286352. rdar://problem/85928816


Modified: branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ScrollingTree.cpp (286718 => 286719)

--- branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ScrollingTree.cpp	2021-12-08 21:25:41 UTC (rev 286718)
+++ branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ScrollingTree.cpp	2021-12-08 21:25:44 UTC (rev 286719)
@@ -416,7 +416,6 @@
 
 void ScrollingTree::applyLayerPositions()
 

[webkit-changes] [286714] branches/safari-612.4.2.1-branch/Source/WebKit

2021-12-08 Thread alancoon
Title: [286714] branches/safari-612.4.2.1-branch/Source/WebKit








Revision 286714
Author alanc...@apple.com
Date 2021-12-08 13:25:21 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286277. rdar://problem/85928816

Fix the build

* Shared/ios/WebIOSEventFactory.mm:
(WebIOSEventFactory::createWebWheelEvent):

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/ios/WebIOSEventFactory.mm




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog (286713 => 286714)

--- branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:25:18 UTC (rev 286713)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog	2021-12-08 21:25:21 UTC (rev 286714)
@@ -1,5 +1,24 @@
 2021-12-01  Alan Coon  
 
+Cherry-pick r286277. rdar://problem/85928816
+
+Fix the build
+
+* Shared/ios/WebIOSEventFactory.mm:
+(WebIOSEventFactory::createWebWheelEvent):
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286277 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-11-29  Tim Horton  
+
+Fix the build
+
+* Shared/ios/WebIOSEventFactory.mm:
+(WebIOSEventFactory::createWebWheelEvent):
+
+2021-12-01  Alan Coon  
+
 Cherry-pick r286270. rdar://problem/85928816
 
 Plumb raw platform scrolling deltas along in wheel events


Modified: branches/safari-612.4.2.1-branch/Source/WebKit/Shared/ios/WebIOSEventFactory.mm (286713 => 286714)

--- branches/safari-612.4.2.1-branch/Source/WebKit/Shared/ios/WebIOSEventFactory.mm	2021-12-08 21:25:18 UTC (rev 286713)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/Shared/ios/WebIOSEventFactory.mm	2021-12-08 21:25:21 UTC (rev 286714)
@@ -177,7 +177,8 @@
 delta,
 { },
 timestamp,
-timestamp
+timestamp,
+{ }
 };
 }
 #endif






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


[webkit-changes] [286730] branches/safari-612.4.2.1-branch/Source/WebKit/Shared/mac/ MediaFormatReader/MediaFormatReader.cpp

2021-12-08 Thread alancoon
Title: [286730] branches/safari-612.4.2.1-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp








Revision 286730
Author alanc...@apple.com
Date 2021-12-08 13:26:20 -0800 (Wed, 08 Dec 2021)


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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp (286729 => 286730)

--- branches/safari-612.4.2.1-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp	2021-12-08 21:26:17 UTC (rev 286729)
+++ branches/safari-612.4.2.1-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp	2021-12-08 21:26:20 UTC (rev 286730)
@@ -42,6 +42,7 @@
 #include 
 #include 
 
+#include 
 #include 
 
 WTF_DECLARE_CF_TYPE_TRAIT(MTPluginFormatReader);






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


[webkit-changes] [286718] branches/safari-612.4.2.1-branch/Source/WebCore

2021-12-08 Thread alancoon
Title: [286718] branches/safari-612.4.2.1-branch/Source/WebCore








Revision 286718
Author alanc...@apple.com
Date 2021-12-08 13:25:41 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286352. rdar://problem/85928816

Custom application of r286352 to introduce frameDuration() for a future patch.

Pass the timestamp for scrolling thread animations through all the serviceScrollAnimation() calls
https://bugs.webkit.org/show_bug.cgi?id=233678

Reviewed by Tim Horton.

Source/WebCore:

All scroll animations serviced at the same time should use a common timestamp, and
avoid multiple calls to MonotonicTime::now() by passing the time down through from
ThreadedScrollingTree::displayDidRefreshOnScrollingThread().

Also minor refactoring in ThreadedScrollingTree to prepare for a future patch.

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::nominalFramesPerSecond):
* page/scrolling/ScrollingTreeScrollingNode.h:
* page/scrolling/ScrollingTreeScrollingNodeDelegate.h:
* page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::frameDuration):
(WebCore::ThreadedScrollingTree::maxAllowableRenderingUpdateDurationForSynchronization):
(WebCore::ThreadedScrollingTree::serviceScrollAnimations):
(WebCore::ThreadedScrollingTree::displayDidRefreshOnScrollingThread):
* page/scrolling/ThreadedScrollingTree.h:
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::serviceScrollAnimation):
* page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.h:
* page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:
(WebCore::ScrollingTreeOverflowScrollingNodeMac::serviceScrollAnimation):
* page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
* page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::serviceScrollAnimation):
* page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::serviceScrollAnimation):
* page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.h:
* page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::serviceScrollAnimation):
* page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.h:
* page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp:
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::serviceScrollAnimation):
* page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.h:

Source/WebKit:

* UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h:

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ScrollingTree.cpp
branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp
branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.h




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog (286717 => 286718)

--- branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog	2021-12-08 21:25:37 UTC (rev 286717)
+++ branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog	2021-12-08 21:25:41 UTC (rev 286718)
@@ -1,5 +1,78 @@
 2021-12-01  Alan Coon  
 
+Cherry-pick r286352. rdar://problem/85928816
+
+Custom application of r286352 to introduce frameDuration() for a future patch.
+
+Pass the timestamp for scrolling thread animations through all the serviceScrollAnimation() calls
+https://bugs.webkit.org/show_bug.cgi?id=233678
+
+Reviewed by Tim Horton.
+
+Source/WebCore:
+
+All scroll animations serviced at the same time should use a common timestamp, and
+avoid multiple calls to MonotonicTime::now() by passing the time down through from
+ThreadedScrollingTree::displayDidRefreshOnScrollingThread().
+
+Also minor refactoring in ThreadedScrollingTree to prepare for a future patch.
+
+* page/scrolling/ScrollingTree.cpp:
+(WebCore::ScrollingTree::nominalFramesPerSecond):
+* page/scrolling/ScrollingTreeScrollingNode.h:
+* page/scrolling/ScrollingTreeScrollingNodeDelegate.h:
+* page/scrolling/ThreadedScrollingTree.cpp:
+(WebCore::ThreadedScrollingTree::frameDuration):
+(WebCore::ThreadedScrollingTree::maxAllowableRenderingUpdateDurationForSynchronization):
+(WebCore::ThreadedScrollingTree::serviceScrollAnimations):
+(WebCore::ThreadedScrollingTree::displayDidRefreshOnScrollingThread):
+* page/scrolling/ThreadedScrollingTree.h:
+* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
+* 

[webkit-changes] [286721] branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ ThreadedScrollingTree.cpp

2021-12-08 Thread alancoon
Title: [286721] branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp








Revision 286721
Author alanc...@apple.com
Date 2021-12-08 13:25:49 -0800 (Wed, 08 Dec 2021)


Log Message
Unreviewed, speculative build fix for r286410. rdar://problem/85928816

Remove reference to serviceScrollAnimations.

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp (286720 => 286721)

--- branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp	2021-12-08 21:25:47 UTC (rev 286720)
+++ branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp	2021-12-08 21:25:49 UTC (rev 286721)
@@ -390,7 +390,6 @@
 
 auto now = MonotonicTime::now();
 m_lastDisplayDidRefreshTime = now;
-serviceScrollAnimations();
 
 if (m_state != SynchronizationState::Idle && canUpdateLayersOnScrollingThread())
 applyLayerPositionsInternal();






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


[webkit-changes] [286717] branches/safari-612.4.2.1-branch/Source

2021-12-08 Thread alancoon
Title: [286717] branches/safari-612.4.2.1-branch/Source








Revision 286717
Author alanc...@apple.com
Date 2021-12-08 13:25:37 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286346. rdar://problem/85928816

Add a momentum event synthesizer
https://bugs.webkit.org/show_bug.cgi?id=233653


Reviewed by Simon Fraser.

Source/WebCore/PAL:

* pal/spi/mac/IOKitSPIMac.h:
Add some SPI.

Source/WebKit:

* Platform/Logging.h:
Add ScrollAnimations log channel to WebKit (it already exists in WebCore).

* Shared/ScrollingAccelerationCurve.cpp: Added.
(WebKit::ScrollingAccelerationCurve::ScrollingAccelerationCurve):
(WebKit::ScrollingAccelerationCurve::interpolate):
(WebKit::ScrollingAccelerationCurve::computeIntermediateValuesIfNeeded):
(WebKit::ScrollingAccelerationCurve::evaluateQuartic):
(WebKit::ScrollingAccelerationCurve::accelerationFactor):
(WebKit::ScrollingAccelerationCurve::encode const):
(WebKit::ScrollingAccelerationCurve::decode):
(WebKit::operator<<):
(WebKit::ScrollingAccelerationCurve::fromNativeWheelEvent):
* Shared/ScrollingAccelerationCurve.h: Added.
(WebKit::ScrollingAccelerationCurve::operator== const):
(WebKit::ScrollingAccelerationCurve::operator!= const):
Add a class that represents a quartic scrolling acceleration curve with
a trailing linear tangent region, and allows interpolation between curves
and evaluation of the curve at a point.

* Shared/mac/ScrollingAccelerationCurveMac.mm: Added.
(WebKit::fromFixedPoint):
(WebKit::readFixedPointParameter):
(WebKit::fromIOHIDCurve):
(WebKit::fromIOHIDCurveArrayWithAcceleration):
(WebKit::ScrollingAccelerationCurve::fromNativeWheelEvent):
Given a NativeWebWheelEvent, extract its underlying platform event
and fetch the ScrollingAccelerationCurve for the originating device.

* Sources.txt:
* SourcesCocoa.txt:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleWheelEvent):
Fetch the current ScrollingAccelerationCurve on each momentum begin event,
if the feature is enabled.

(WebKit::WebPageProxy::sendWheelEvent):
Send the ScrollingAccelerationCurve to EventDispatcher just before
we send the momentum begin event along, if it has changed.

(WebKit::WebPageProxy::windowScreenDidChange):
Keep EventDispatcher apprised of changes to the current screen of the page.

(WebKit::WebPageProxy::resetState):
* UIProcess/WebPageProxy.h:
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::EventDispatcher):
(WebKit::EventDispatcher::internalWheelEvent):
Factor most of wheelEvent out into internalWheelEvent, so that
MomentumEventDispatcher can call internalWheelEvent(), skipping the code
in wheelEvent() that forwards the event... to MomentumEventDispatcher.

Also, keep track of where the event came from (UI process or MomentumEventDispatcher)
and avoid sending didReceiveEvent replies to the UI process for synthetic
events that it doesn't know about.

(WebKit::EventDispatcher::wheelEvent):
Forward wheel events to MomentumEventDispatcher.

(WebKit::EventDispatcher::setScrollingAccelerationCurve):
Forward scrolling curve changes to MomentumEventDispatcher.

(WebKit::EventDispatcher::displayWasRefreshed):
Forward display refresh callbacks to MomentumEventDispatcher.

(WebKit::EventDispatcher::windowScreenDidChange):
Forward page screen changes to MomentumEventDispatcher.

* WebProcess/WebPage/EventDispatcher.h:
* WebProcess/WebPage/EventDispatcher.messages.in:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::wheelEvent):
(WebKit::WebPage::dispatchWheelEventWithoutScrolling):
* WebProcess/WebPage/WebPage.h:
Don't send didReceiveEvent for synthetic events from the main thread either.

* WebProcess/WebPage/MomentumEventDispatcher.cpp: Added.
(WebKit::MomentumEventDispatcher::MomentumEventDispatcher):
(WebKit::MomentumEventDispatcher::~MomentumEventDispatcher):
(WebKit::MomentumEventDispatcher::eventShouldStartSyntheticMomentumPhase const):
If we have everything we need (a scrolling curve - which also implies
that the setting is enabled - and raw platform deltas), and the event
is a momentum begin event, we can use it to start a synthetic momentum phase.

(WebKit::MomentumEventDispatcher::handleWheelEvent):
Start or stop the momentum phase as appropriate.
Record any incoming fingers-down phase events in a rolling event history structure.
Block platform-event-driven events from being further handled by WebKit
if we are inside a synthetic momentum phase, since we'll be replacing them.

(WebKit::appKitScrollMultiplierForEvent):
Determine the AppKit scroll muliplier ("accelerated" vs "unaccelerated"
deltas in NSEvent parlance) from the event via division.


[webkit-changes] [286712] branches/safari-612.4.2.1-branch/Source

2021-12-08 Thread alancoon
Title: [286712] branches/safari-612.4.2.1-branch/Source








Revision 286712
Author alanc...@apple.com
Date 2021-12-08 13:25:12 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r285790. rdar://problem/85928816

Attach IOHIDEvent timestamps to wheel events
https://bugs.webkit.org/show_bug.cgi?id=233051

Reviewed by Wenson Hsieh.
Source/WebCore:

On some macOS devices, there can be significant deltas between NSEvent timestamps,
and the timestamps on underlying IOHIDEvents (rdar://85309639). This makes momentum
velocity computation unpredictable; we can get better results by using IOHIDEvent
timestamps.

* platform/PlatformWheelEvent.cpp:
(WebCore::PlatformWheelEvent::createFromGesture):
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::ioHIDEventTimestamp const):
* platform/mac/PlatformEventFactoryMac.h:
* platform/mac/PlatformEventFactoryMac.mm:
(WebCore::eventTimeStampSince1970):
(WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
(WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
(WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):

Source/WebCore/PAL:

Expose a few bits of SPI needed.

* pal/spi/cg/CoreGraphicsSPI.h:
* pal/spi/cocoa/IOKitSPI.h:

Source/WebKit:

On some macOS devices, there can be significant deltas between NSEvent timestamps,
and the timestamps on underlying IOHIDEvents (rdar://85309639). This makes momentum
velocity computation unpredictable; we can get better results by using IOHIDEvent
timestamps.

* Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
* Shared/WebWheelEvent.cpp:
(WebKit::WebWheelEvent::WebWheelEvent):
(WebKit::WebWheelEvent::encode const):
(WebKit::WebWheelEvent::decode):
* Shared/WebWheelEvent.h:
(WebKit::WebWheelEvent::ioHIDEventTimestamp const):
* Shared/WebWheelEventCoalescer.cpp:
(WebKit::WebWheelEventCoalescer::coalesce):
* Shared/ios/WebIOSEventFactory.mm:
(WebIOSEventFactory::createWebWheelEvent):
* Shared/mac/NativeWebGestureEventMac.mm:
* Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
(WebKit::WebEventFactory::createWebKeyboardEvent):

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebCore/PAL/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h
branches/safari-612.4.2.1-branch/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h
branches/safari-612.4.2.1-branch/Source/WebCore/platform/PlatformWheelEvent.cpp
branches/safari-612.4.2.1-branch/Source/WebCore/platform/PlatformWheelEvent.h
branches/safari-612.4.2.1-branch/Source/WebCore/platform/mac/PlatformEventFactoryMac.h
branches/safari-612.4.2.1-branch/Source/WebCore/platform/mac/PlatformEventFactoryMac.mm
branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/WebEventConversion.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/WebWheelEvent.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/WebWheelEvent.h
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/WebWheelEventCoalescer.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/ios/WebIOSEventFactory.mm
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/mac/NativeWebGestureEventMac.mm
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/mac/WebEventFactory.mm




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog (286711 => 286712)

--- branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog	2021-12-08 21:25:05 UTC (rev 286711)
+++ branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog	2021-12-08 21:25:12 UTC (rev 286712)
@@ -1,5 +1,89 @@
 2021-12-01  Alan Coon  
 
+Cherry-pick r285790. rdar://problem/85928816
+
+Attach IOHIDEvent timestamps to wheel events
+https://bugs.webkit.org/show_bug.cgi?id=233051
+
+Reviewed by Wenson Hsieh.
+Source/WebCore:
+
+On some macOS devices, there can be significant deltas between NSEvent timestamps,
+and the timestamps on underlying IOHIDEvents (rdar://85309639). This makes momentum
+velocity computation unpredictable; we can get better results by using IOHIDEvent
+timestamps.
+
+* platform/PlatformWheelEvent.cpp:
+(WebCore::PlatformWheelEvent::createFromGesture):
+* platform/PlatformWheelEvent.h:
+(WebCore::PlatformWheelEvent::ioHIDEventTimestamp const):
+* platform/mac/PlatformEventFactoryMac.h:
+* platform/mac/PlatformEventFactoryMac.mm:
+(WebCore::eventTimeStampSince1970):
+(WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
+

[webkit-changes] [286711] branches/safari-612.4.2.1-branch/Source/WebCore

2021-12-08 Thread alancoon
Title: [286711] branches/safari-612.4.2.1-branch/Source/WebCore








Revision 286711
Author alanc...@apple.com
Date 2021-12-08 13:25:05 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r285786. rdar://problem/85928816

Clean up IOKit SPI headers
https://bugs.webkit.org/show_bug.cgi?id=233093

Reviewed by Simon Fraser.

Source/WebCore:

* platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
* platform/gamepad/mac/HIDGamepadProvider.h:
* platform/gamepad/mac/HIDGamepadProvider.mm:

Source/WebCore/PAL:

* PAL.xcodeproj/project.pbxproj:
* pal/spi/cg/CoreGraphicsSPI.h:
* pal/spi/cocoa/IOKitSPI.h:
* pal/spi/ios/IOKitSPIIOS.h: Added.
* pal/spi/mac/IOKitSPIMac.h:
IOKit vends a much different set of public API on iOS vs. macOS,
so we have separate SPI headers to reduce the confusion.

Unfortunately, the SPI header for iOS was not explicitly named as such,
and started being used in some macOS code. For a while, this didn't lead
to any trouble because the aforementioned macOS code didn't ALSO have
the public SDK headers included, but a future patch from Simon will
use IOKitSPI.h in a place where the macOS IOKit public headers are included,
and thus we must make the split more explicit.

Rename IOKitSPI.h to IOKitSPIIOS.h; make IOKitSPI choose the right one.
Add some SPI defintions to IOKitSPIMac.h that were missing (which the
dependent code was getting via the iOS header on macOS).

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebCore/PAL/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
branches/safari-612.4.2.1-branch/Source/WebCore/PAL/pal/spi/cocoa/IOKitSPI.h
branches/safari-612.4.2.1-branch/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h
branches/safari-612.4.2.1-branch/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm
branches/safari-612.4.2.1-branch/Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.h
branches/safari-612.4.2.1-branch/Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.mm


Added Paths

branches/safari-612.4.2.1-branch/Source/WebCore/PAL/pal/spi/ios/IOKitSPIIOS.h




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog (286710 => 286711)

--- branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog	2021-12-08 21:19:38 UTC (rev 286710)
+++ branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog	2021-12-08 21:25:05 UTC (rev 286711)
@@ -1,3 +1,53 @@
+2021-12-01  Alan Coon  
+
+Cherry-pick r285786. rdar://problem/85928816
+
+Clean up IOKit SPI headers
+https://bugs.webkit.org/show_bug.cgi?id=233093
+
+Reviewed by Simon Fraser.
+
+Source/WebCore:
+
+* platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
+* platform/gamepad/mac/HIDGamepadProvider.h:
+* platform/gamepad/mac/HIDGamepadProvider.mm:
+
+Source/WebCore/PAL:
+
+* PAL.xcodeproj/project.pbxproj:
+* pal/spi/cg/CoreGraphicsSPI.h:
+* pal/spi/cocoa/IOKitSPI.h:
+* pal/spi/ios/IOKitSPIIOS.h: Added.
+* pal/spi/mac/IOKitSPIMac.h:
+IOKit vends a much different set of public API on iOS vs. macOS,
+so we have separate SPI headers to reduce the confusion.
+
+Unfortunately, the SPI header for iOS was not explicitly named as such,
+and started being used in some macOS code. For a while, this didn't lead
+to any trouble because the aforementioned macOS code didn't ALSO have
+the public SDK headers included, but a future patch from Simon will
+use IOKitSPI.h in a place where the macOS IOKit public headers are included,
+and thus we must make the split more explicit.
+
+Rename IOKitSPI.h to IOKitSPIIOS.h; make IOKitSPI choose the right one.
+Add some SPI defintions to IOKitSPIMac.h that were missing (which the
+dependent code was getting via the iOS header on macOS).
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285786 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-11-13  Tim Horton  
+
+Clean up IOKit SPI headers
+https://bugs.webkit.org/show_bug.cgi?id=233093
+
+Reviewed by Simon Fraser.
+
+* platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
+* platform/gamepad/mac/HIDGamepadProvider.h:
+* platform/gamepad/mac/HIDGamepadProvider.mm:
+
 2021-12-02  Alan Coon  
 
 Revert r286394. rdar://problem/83070565


Modified: branches/safari-612.4.2.1-branch/Source/WebCore/PAL/ChangeLog (286710 => 286711)

--- branches/safari-612.4.2.1-branch/Source/WebCore/PAL/ChangeLog	2021-12-08 21:19:38 UTC (rev 286710)
+++ branches/safari-612.4.2.1-branch/Source/WebCore/PAL/ChangeLog	2021-12-08 21:25:05 UTC (rev 286711)
@@ -1,3 +1,68 @@
+2021-12-01  Alan Coon  
+
+ 

[webkit-changes] [286715] branches/safari-612.4.2.1-branch/Tools

2021-12-08 Thread alancoon
Title: [286715] branches/safari-612.4.2.1-branch/Tools








Revision 286715
Author alanc...@apple.com
Date 2021-12-08 13:25:24 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286368. rdar://problem/85928816

REGRESSION (r286346): ResourceLoadDelegate.LoadInfo fails
https://bugs.webkit.org/show_bug.cgi?id=233689

Reviewed by Simon Fraser.

* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
This test asserts that archiving a _WKResourceLoadInfo via NSKeyedArchiver
encodes to a particular size (607 bytes).

If you look at the resultant plist before r286346, the encoded frameID
and resourceLoadID have the same value, and because of NSKeyedArchiver
deduplication, share the same object.

If you look at the resultant plist *after* r286346, the encoded frameID
is one larger than the resourceLoadID, thus cannot be deduplicated, and
end up encoding as separate objects. This results in the encoded size
increasing to 612 bytes.

The reason that the encoded frameID is now one value larger is that
ObjectIdentifier uses a global identifier pool, and r286346 creates
one more ObjectIdentifier during EventHandler construction, destroying
our entirely coincidental ID overlap, and causing the aforementioned
encoded size change.

Remove this assertion from the test, since it is very aggressive and
seems unnecessary. We could instead just rebaseline the test, but it
seems insufficiently important to burden some future developer with
a repeat of this evening of exploration and discovery.

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

Modified Paths

branches/safari-612.4.2.1-branch/Tools/ChangeLog
branches/safari-612.4.2.1-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm




Diff

Modified: branches/safari-612.4.2.1-branch/Tools/ChangeLog (286714 => 286715)

--- branches/safari-612.4.2.1-branch/Tools/ChangeLog	2021-12-08 21:25:21 UTC (rev 286714)
+++ branches/safari-612.4.2.1-branch/Tools/ChangeLog	2021-12-08 21:25:24 UTC (rev 286715)
@@ -1,3 +1,70 @@
+2021-12-01  Alan Coon  
+
+Cherry-pick r286368. rdar://problem/85928816
+
+REGRESSION (r286346): ResourceLoadDelegate.LoadInfo fails
+https://bugs.webkit.org/show_bug.cgi?id=233689
+
+Reviewed by Simon Fraser.
+
+* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
+This test asserts that archiving a _WKResourceLoadInfo via NSKeyedArchiver
+encodes to a particular size (607 bytes).
+
+If you look at the resultant plist before r286346, the encoded frameID
+and resourceLoadID have the same value, and because of NSKeyedArchiver
+deduplication, share the same object.
+
+If you look at the resultant plist *after* r286346, the encoded frameID
+is one larger than the resourceLoadID, thus cannot be deduplicated, and
+end up encoding as separate objects. This results in the encoded size
+increasing to 612 bytes.
+
+The reason that the encoded frameID is now one value larger is that
+ObjectIdentifier uses a global identifier pool, and r286346 creates
+one more ObjectIdentifier during EventHandler construction, destroying
+our entirely coincidental ID overlap, and causing the aforementioned
+encoded size change.
+
+Remove this assertion from the test, since it is very aggressive and
+seems unnecessary. We could instead just rebaseline the test, but it
+seems insufficiently important to burden some future developer with
+a repeat of this evening of exploration and discovery.
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286368 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-01  Tim Horton  
+
+REGRESSION (r286346): ResourceLoadDelegate.LoadInfo fails
+https://bugs.webkit.org/show_bug.cgi?id=233689
+
+Reviewed by Simon Fraser.
+
+* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
+This test asserts that archiving a _WKResourceLoadInfo via NSKeyedArchiver
+encodes to a particular size (607 bytes).
+
+If you look at the resultant plist before r286346, the encoded frameID
+and resourceLoadID have the same value, and because of NSKeyedArchiver
+deduplication, share the same object.
+
+If you look at the resultant plist *after* r286346, the encoded frameID
+is one larger than the resourceLoadID, thus cannot be deduplicated, and
+end up encoding as separate objects. This results in the encoded size
+increasing to 612 bytes.
+
+The reason that the encoded frameID is now one value larger is that
+ObjectIdentifier uses a global identifier pool, and r286346 creates
+one more ObjectIdentifier during EventHandler construction, destroying
+our entirely 

[webkit-changes] [286713] branches/safari-612.4.2.1-branch/Source

2021-12-08 Thread alancoon
Title: [286713] branches/safari-612.4.2.1-branch/Source








Revision 286713
Author alanc...@apple.com
Date 2021-12-08 13:25:18 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286270. rdar://problem/85928816

Plumb raw platform scrolling deltas along in wheel events
https://bugs.webkit.org/show_bug.cgi?id=233583

Reviewed by Simon Fraser.

Source/WebCore:

* platform/PlatformWheelEvent.cpp:
(WebCore::PlatformWheelEvent::createFromGesture):
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::rawPlatformDelta const):
* PAL/pal/spi/mac/IOKitSPIMac.h:

Source/WebKit:

* Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
* Shared/WebWheelEvent.cpp:
(WebKit::WebWheelEvent::WebWheelEvent):
(WebKit::WebWheelEvent::encode const):
(WebKit::WebWheelEvent::decode):
* Shared/WebWheelEvent.h:
(WebKit::WebWheelEvent::rawPlatformDelta const):
* Shared/WebWheelEventCoalescer.cpp:
(WebKit::WebWheelEventCoalescer::coalesce):
* Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebWheelEvent):
Extract and plumb raw unaccelerated (in the HID sense) deltas in scroll
events for use in a future patch.

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h
branches/safari-612.4.2.1-branch/Source/WebCore/platform/PlatformWheelEvent.cpp
branches/safari-612.4.2.1-branch/Source/WebCore/platform/PlatformWheelEvent.h
branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/WebEventConversion.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/WebWheelEvent.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/WebWheelEvent.h
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/WebWheelEventCoalescer.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/mac/WebEventFactory.mm




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog (286712 => 286713)

--- branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog	2021-12-08 21:25:12 UTC (rev 286712)
+++ branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog	2021-12-08 21:25:18 UTC (rev 286713)
@@ -1,5 +1,55 @@
 2021-12-01  Alan Coon  
 
+Cherry-pick r286270. rdar://problem/85928816
+
+Plumb raw platform scrolling deltas along in wheel events
+https://bugs.webkit.org/show_bug.cgi?id=233583
+
+Reviewed by Simon Fraser.
+
+Source/WebCore:
+
+* platform/PlatformWheelEvent.cpp:
+(WebCore::PlatformWheelEvent::createFromGesture):
+* platform/PlatformWheelEvent.h:
+(WebCore::PlatformWheelEvent::rawPlatformDelta const):
+* PAL/pal/spi/mac/IOKitSPIMac.h:
+
+Source/WebKit:
+
+* Shared/WebEventConversion.cpp:
+(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
+* Shared/WebWheelEvent.cpp:
+(WebKit::WebWheelEvent::WebWheelEvent):
+(WebKit::WebWheelEvent::encode const):
+(WebKit::WebWheelEvent::decode):
+* Shared/WebWheelEvent.h:
+(WebKit::WebWheelEvent::rawPlatformDelta const):
+* Shared/WebWheelEventCoalescer.cpp:
+(WebKit::WebWheelEventCoalescer::coalesce):
+* Shared/mac/WebEventFactory.mm:
+(WebKit::WebEventFactory::createWebWheelEvent):
+Extract and plumb raw unaccelerated (in the HID sense) deltas in scroll
+events for use in a future patch.
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286270 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-11-29  Tim Horton  
+
+Plumb raw platform scrolling deltas along in wheel events
+https://bugs.webkit.org/show_bug.cgi?id=233583
+
+Reviewed by Simon Fraser.
+
+* platform/PlatformWheelEvent.cpp:
+(WebCore::PlatformWheelEvent::createFromGesture):
+* platform/PlatformWheelEvent.h:
+(WebCore::PlatformWheelEvent::rawPlatformDelta const):
+* PAL/pal/spi/mac/IOKitSPIMac.h:
+
+2021-12-01  Alan Coon  
+
 Cherry-pick r285790. rdar://problem/85928816
 
 Attach IOHIDEvent timestamps to wheel events


Modified: branches/safari-612.4.2.1-branch/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h (286712 => 286713)

--- branches/safari-612.4.2.1-branch/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h	2021-12-08 21:25:12 UTC (rev 286712)
+++ branches/safari-612.4.2.1-branch/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h	2021-12-08 21:25:18 UTC (rev 286713)
@@ -83,7 +83,22 @@
 };
 typedef uint32_t IOHIDEventType;
 
+typedef uint32_t IOHIDEventField;
+
+#ifdef __LP64__
+typedef double IOHIDFloat;
+#else
+typedef float IOHIDFloat;
+#endif
+
+#define IOHIDEventFieldBase(type) (type << 16)
+
+#define kIOHIDEventFieldScrollBase 

[webkit-changes] [286716] branches/safari-612.4.2.1-branch/Source

2021-12-08 Thread alancoon
Title: [286716] branches/safari-612.4.2.1-branch/Source








Revision 286716
Author alanc...@apple.com
Date 2021-12-08 13:25:30 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r283353. rdar://problem/85928816

Simplify some scrolling-related code in WebKit with use of RectEdges
https://bugs.webkit.org/show_bug.cgi?id=231037

Reviewed by Tim Horton.

Source/WebCore:

Export edgePinnedState().

* platform/ScrollableArea.h:

Source/WebKit:

Use RectEdges in code that tracks rubber banding state, and edge pinned state.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder>::encode):
(IPC::ArgumentCoder>::decode):
* Shared/WebCoreArgumentCoders.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageIsPinnedToLeftSide):
(WKPageIsPinnedToRightSide):
(WKPageIsPinnedToTopSide):
(WKPageIsPinnedToBottomSide):
(WKPageRubberBandsAtLeft):
(WKPageRubberBandsAtRight):
(WKPageRubberBandsAtTop):
(WKPageRubberBandsAtBottom):
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::toWKRectEdge):
(WebKit::toRectEdges):
(WebKit::WebViewImpl::pinnedState):
(WebKit::WebViewImpl::rubberBandingEnabled):
(WebKit::WebViewImpl::setRubberBandingEnabled):
* UIProcess/ViewGestureController.cpp:
(WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanBecomeSwipe):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::sendWheelEvent):
(WebKit::WebPageProxy::setRubberBandsAtLeft):
(WebKit::WebPageProxy::setRubberBandsAtRight):
(WebKit::WebPageProxy::setRubberBandsAtTop):
(WebKit::WebPageProxy::setRubberBandsAtBottom):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::didChangeScrollOffsetPinningForMainFrame):
(WebKit::WebPageProxy::rubberBandsAtLeft const): Deleted.
(WebKit::WebPageProxy::rubberBandsAtRight const): Deleted.
(WebKit::WebPageProxy::rubberBandsAtTop const): Deleted.
(WebKit::WebPageProxy::rubberBandsAtBottom const): Deleted.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::wheelEvent):
* WebProcess/WebPage/EventDispatcher.h:
* WebProcess/WebPage/EventDispatcher.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updateMainFrameScrollOffsetPinning):
* WebProcess/WebPage/WebPage.h:

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebCore/platform/ScrollableArea.h
branches/safari-612.4.2.1-branch/Source/WebKit/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/WebCoreArgumentCoders.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/Shared/WebCoreArgumentCoders.h
branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/API/C/WKPage.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm
branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/ViewGestureController.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.h
branches/safari-612.4.2.1-branch/Source/WebKit/UIProcess/WebPageProxy.messages.in
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/EventDispatcher.h
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/EventDispatcher.messages.in
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/WebPage.cpp
branches/safari-612.4.2.1-branch/Source/WebKit/WebProcess/WebPage/WebPage.h




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog (286715 => 286716)

--- branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog	2021-12-08 21:25:24 UTC (rev 286715)
+++ branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog	2021-12-08 21:25:30 UTC (rev 286716)
@@ -1,5 +1,81 @@
 2021-12-01  Alan Coon  
 
+Cherry-pick r283353. rdar://problem/85928816
+
+Simplify some scrolling-related code in WebKit with use of RectEdges
+https://bugs.webkit.org/show_bug.cgi?id=231037
+
+Reviewed by Tim Horton.
+
+Source/WebCore:
+
+Export edgePinnedState().
+
+* platform/ScrollableArea.h:
+
+Source/WebKit:
+
+Use RectEdges in code that tracks rubber banding state, and edge pinned state.
+
+* Shared/WebCoreArgumentCoders.cpp:
+(IPC::ArgumentCoder>::encode):
+(IPC::ArgumentCoder>::decode):
+* Shared/WebCoreArgumentCoders.h:
+* UIProcess/API/C/WKPage.cpp:
+(WKPageIsPinnedToLeftSide):
+(WKPageIsPinnedToRightSide):
+(WKPageIsPinnedToTopSide):
+(WKPageIsPinnedToBottomSide):
+(WKPageRubberBandsAtLeft):
+(WKPageRubberBandsAtRight):
+(WKPageRubberBandsAtTop):

[webkit-changes] [286720] branches/safari-612.4.2.1-branch/Source/WebCore

2021-12-08 Thread alancoon
Title: [286720] branches/safari-612.4.2.1-branch/Source/WebCore








Revision 286720
Author alanc...@apple.com
Date 2021-12-08 13:25:47 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286410. rdar://problem/85928816

Scrolling complex websites can stutter: scrolling thread commit can get blocked on scroll synchronization
https://bugs.webkit.org/show_bug.cgi?id=233738
rdar://85880147

Reviewed by Tim Horton.

The scroll synchronization added in r261985 can cause dropped frames while scrolling. This
occurs when ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout(), which is
called at the start of a rendering update on the main thread, starts at a time when it will
delay the handling of displayDidRefreshOnScrollingThread(). This can result in delaying the
CA commit for that frame on the scrolling thread.

The solution is to clamp the duration that waitForRenderingUpdateCompletionOrTimeout() waits
on the condition, so that it doesn't exceed the next expected display refresh time.

* page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout):
(WebCore::ThreadedScrollingTree::displayDidRefreshOnScrollingThread):
* page/scrolling/ThreadedScrollingTree.h:

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

Modified Paths

branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog
branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp
branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.h




Diff

Modified: branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog (286719 => 286720)

--- branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog	2021-12-08 21:25:44 UTC (rev 286719)
+++ branches/safari-612.4.2.1-branch/Source/WebCore/ChangeLog	2021-12-08 21:25:47 UTC (rev 286720)
@@ -1,5 +1,53 @@
 2021-12-02  Russell Epstein  
 
+Cherry-pick r286410. rdar://problem/85928816
+
+Scrolling complex websites can stutter: scrolling thread commit can get blocked on scroll synchronization
+https://bugs.webkit.org/show_bug.cgi?id=233738
+rdar://85880147
+
+Reviewed by Tim Horton.
+
+The scroll synchronization added in r261985 can cause dropped frames while scrolling. This
+occurs when ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout(), which is
+called at the start of a rendering update on the main thread, starts at a time when it will
+delay the handling of displayDidRefreshOnScrollingThread(). This can result in delaying the
+CA commit for that frame on the scrolling thread.
+
+The solution is to clamp the duration that waitForRenderingUpdateCompletionOrTimeout() waits
+on the condition, so that it doesn't exceed the next expected display refresh time.
+
+* page/scrolling/ThreadedScrollingTree.cpp:
+(WebCore::ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout):
+(WebCore::ThreadedScrollingTree::displayDidRefreshOnScrollingThread):
+* page/scrolling/ThreadedScrollingTree.h:
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-01  Simon Fraser  
+
+Scrolling complex websites can stutter: scrolling thread commit can get blocked on scroll synchronization
+https://bugs.webkit.org/show_bug.cgi?id=233738
+rdar://85880147
+
+Reviewed by Tim Horton.
+
+The scroll synchronization added in r261985 can cause dropped frames while scrolling. This
+occurs when ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout(), which is
+called at the start of a rendering update on the main thread, starts at a time when it will
+delay the handling of displayDidRefreshOnScrollingThread(). This can result in delaying the
+CA commit for that frame on the scrolling thread.
+
+The solution is to clamp the duration that waitForRenderingUpdateCompletionOrTimeout() waits
+on the condition, so that it doesn't exceed the next expected display refresh time.
+
+* page/scrolling/ThreadedScrollingTree.cpp:
+(WebCore::ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout):
+(WebCore::ThreadedScrollingTree::displayDidRefreshOnScrollingThread):
+* page/scrolling/ThreadedScrollingTree.h:
+
+2021-12-02  Russell Epstein  
+
 Cherry-pick r286411. rdar://problem/85928816
 
 Scrolling complex websites can stutter: scrolling thread frame can fail to process wheel events


Modified: branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp (286719 => 286720)

--- branches/safari-612.4.2.1-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp	2021-12-08 21:25:44 UTC (rev 286719)
+++ 

[webkit-changes] [286710] branches/safari-613.1.11-branch/Source/WebKit

2021-12-08 Thread repstein
Title: [286710] branches/safari-613.1.11-branch/Source/WebKit








Revision 286710
Author repst...@apple.com
Date 2021-12-08 13:19:38 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286671. rdar://problem/86226565

Momentum Event Dispatcher: Momentum tail should have montonically decreasing deltas and tail gaps
https://bugs.webkit.org/show_bug.cgi?id=233993


Reviewed by Simon Fraser.

* WebProcess/WebPage/MomentumEventDispatcher.cpp:
(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
(WebKit::MomentumEventDispatcher::computeNextDelta):
In order to avoid visual stutter due to integral rounding of the
deltas we dispatch in the momentum phase, switch to a table of
deltas instead of interpolating along the offset curve during the
tail end of the animation (when the rounding makes up a large
proportion of each delta).

(WebKit::MomentumEventDispatcher::equalizeTailGaps):
Sort the deltas up until the first zero to ensure a lack of unexpected
perceptual acceleration, and then inject skipped frames in order to
ensure that frames that have effective scroll movement (non-zero deltas)
are always spaced equally-or-further apart than earlier ones, but
never closer together (which, again, would be percieved as acceleration).

(WebKit::MomentumEventDispatcher::handleWheelEvent):
(WebKit::MomentumEventDispatcher::pushLogEntry):
(WebKit::MomentumEventDispatcher::flushLog):
Lastly, adjust some logging to make it easier to tell which row in
the output corresponds to an event delta or generated delta, so it's
easier to find skipped frames.
* WebProcess/WebPage/MomentumEventDispatcher.h:

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

Modified Paths

branches/safari-613.1.11-branch/Source/WebKit/ChangeLog
branches/safari-613.1.11-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp
branches/safari-613.1.11-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.h




Diff

Modified: branches/safari-613.1.11-branch/Source/WebKit/ChangeLog (286709 => 286710)

--- branches/safari-613.1.11-branch/Source/WebKit/ChangeLog	2021-12-08 21:06:53 UTC (rev 286709)
+++ branches/safari-613.1.11-branch/Source/WebKit/ChangeLog	2021-12-08 21:19:38 UTC (rev 286710)
@@ -1,5 +1,76 @@
 2021-12-08  Russell Epstein  
 
+Cherry-pick r286671. rdar://problem/86226565
+
+Momentum Event Dispatcher: Momentum tail should have montonically decreasing deltas and tail gaps
+https://bugs.webkit.org/show_bug.cgi?id=233993
+
+
+Reviewed by Simon Fraser.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
+(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+In order to avoid visual stutter due to integral rounding of the
+deltas we dispatch in the momentum phase, switch to a table of
+deltas instead of interpolating along the offset curve during the
+tail end of the animation (when the rounding makes up a large
+proportion of each delta).
+
+(WebKit::MomentumEventDispatcher::equalizeTailGaps):
+Sort the deltas up until the first zero to ensure a lack of unexpected
+perceptual acceleration, and then inject skipped frames in order to
+ensure that frames that have effective scroll movement (non-zero deltas)
+are always spaced equally-or-further apart than earlier ones, but
+never closer together (which, again, would be percieved as acceleration).
+
+(WebKit::MomentumEventDispatcher::handleWheelEvent):
+(WebKit::MomentumEventDispatcher::pushLogEntry):
+(WebKit::MomentumEventDispatcher::flushLog):
+Lastly, adjust some logging to make it easier to tell which row in
+the output corresponds to an event delta or generated delta, so it's
+easier to find skipped frames.
+* WebProcess/WebPage/MomentumEventDispatcher.h:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286671 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-08  Tim Horton  
+
+Momentum Event Dispatcher: Momentum tail should have montonically decreasing deltas and tail gaps
+https://bugs.webkit.org/show_bug.cgi?id=233993
+
+
+Reviewed by Simon Fraser.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
+(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+In order to avoid visual stutter due to integral rounding of the
+deltas we dispatch in the momentum phase, switch to a table of
+

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

2021-12-08 Thread don . olmstead
Title: [286708] trunk/Source/WebCore








Revision 286708
Author don.olmst...@sony.com
Date 2021-12-08 12:46:39 -0800 (Wed, 08 Dec 2021)


Log Message
[Win] WebCore::cfHDropFormat implementation is not CF specific
https://bugs.webkit.org/show_bug.cgi?id=234021

Reviewed by Alex Christensen.

The implementation of cfHDropFormat was guarded by USE(CF) but there is nothing CF specific
about the implementation. Drop the guards around it and any of its callers.

Renaming CFData functions to HDropData to better represent the underlying Windows type for
the clipboard and make sure its not mistaken for CoreFoundation functionality.

* platform/win/ClipboardUtilitiesWin.cpp:
(WebCore::getWebLocData):
(WebCore::getHDropData):
(WebCore::setHDropData):
(WebCore::getClipboardMap):
(WebCore::getCFData): Deleted.
(WebCore::setCFData): Deleted.
* platform/win/DragDataWin.cpp:
(WebCore::DragData::containsFiles const):
(WebCore::DragData::numberOfFiles const):
(WebCore::DragData::asFilenames const):
* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::read):
(WebCore::writeFileToDataObject):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp
trunk/Source/WebCore/platform/win/DragDataWin.cpp
trunk/Source/WebCore/platform/win/PasteboardWin.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (286707 => 286708)

--- trunk/Source/WebCore/ChangeLog	2021-12-08 20:44:38 UTC (rev 286707)
+++ trunk/Source/WebCore/ChangeLog	2021-12-08 20:46:39 UTC (rev 286708)
@@ -1,3 +1,31 @@
+2021-12-08  Don Olmstead  
+
+[Win] WebCore::cfHDropFormat implementation is not CF specific
+https://bugs.webkit.org/show_bug.cgi?id=234021
+
+Reviewed by Alex Christensen.
+
+The implementation of cfHDropFormat was guarded by USE(CF) but there is nothing CF specific
+about the implementation. Drop the guards around it and any of its callers.
+
+Renaming CFData functions to HDropData to better represent the underlying Windows type for
+the clipboard and make sure its not mistaken for CoreFoundation functionality.
+
+* platform/win/ClipboardUtilitiesWin.cpp:
+(WebCore::getWebLocData):
+(WebCore::getHDropData):
+(WebCore::setHDropData):
+(WebCore::getClipboardMap):
+(WebCore::getCFData): Deleted.
+(WebCore::setCFData): Deleted.
+* platform/win/DragDataWin.cpp:
+(WebCore::DragData::containsFiles const):
+(WebCore::DragData::numberOfFiles const):
+(WebCore::DragData::asFilenames const):
+* platform/win/PasteboardWin.cpp:
+(WebCore::Pasteboard::read):
+(WebCore::writeFileToDataObject):
+
 2021-12-08  Truitt Savell  
 
 Unreviewed, reverting r286632.


Modified: trunk/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp (286707 => 286708)

--- trunk/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp	2021-12-08 20:44:38 UTC (rev 286707)
+++ trunk/Source/WebCore/platform/win/ClipboardUtilitiesWin.cpp	2021-12-08 20:46:39 UTC (rev 286708)
@@ -46,7 +46,6 @@
 
 namespace WebCore {
 
-#if USE(CF)
 FORMATETC* cfHDropFormat()
 {
 static FORMATETC urlFormat = {CF_HDROP, 0, DVASPECT_CONTENT, -1, TYMED_HGLOBAL};
@@ -53,6 +52,8 @@
 return 
 }
 
+#if USE(CF)
+
 static bool urlFromPath(CFStringRef path, String& url)
 {
 if (!path)
@@ -84,7 +85,6 @@
 static bool getWebLocData(IDataObject* dataObject, String& url, String* title) 
 {
 bool succeeded = false;
-#if USE(CF)
 WCHAR filename[MAX_PATH];
 WCHAR urlBuffer[INTERNET_MAX_URL_LENGTH];
 
@@ -118,13 +118,11 @@
 // Free up memory.
 DragFinish(hdrop);
 GlobalUnlock(medium.hGlobal);
-#endif
 return succeeded;
 }
 
 static bool getWebLocData(const DragDataMap* dataObject, String& url, String* title) 
 {
-#if USE(CF)
 WCHAR filename[MAX_PATH];
 WCHAR urlBuffer[INTERNET_MAX_URL_LENGTH];
 
@@ -145,9 +143,6 @@
 
 url = ""
 return true;
-#else
-return false;
-#endif
 }
 
 static String extractURL(const String , String* title)
@@ -739,8 +734,7 @@
 ReleaseStgMedium();
 }
 
-#if USE(CF)
-void getCFData(IDataObject* data, FORMATETC* format, Vector& dataStrings)
+void getHDropData(IDataObject* data, FORMATETC* format, Vector& dataStrings)
 {
 STGMEDIUM store;
 if (FAILED(data->GetData(format, )))
@@ -761,7 +755,6 @@
 GlobalUnlock(store.hGlobal);
 ReleaseStgMedium();
 }
-#endif
 
 // Setter functions.
 
@@ -795,8 +788,7 @@
 ::GlobalFree(medium.hGlobal);
 }
 
-#if USE(CF)
-void setCFData(IDataObject* data, FORMATETC* format, const Vector& dataStrings)
+void setHDropData(IDataObject* data, FORMATETC* format, const Vector& dataStrings)
 {
 STGMEDIUM medium { };
 medium.tymed = TYMED_HGLOBAL;
@@ -815,7 +807,6 @@
 data->SetData(format, , FALSE);
 ::GlobalFree(medium.hGlobal);
 }
-#endif
 
 static const ClipboardFormatMap& getClipboardMap()
 {
@@ -825,9 +816,7 @@
 

[webkit-changes] [286707] branches/safari-612-branch/Source/WebKit

2021-12-08 Thread alancoon
Title: [286707] branches/safari-612-branch/Source/WebKit








Revision 286707
Author alanc...@apple.com
Date 2021-12-08 12:44:38 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286574. rdar://problem/86224832

Regression(r286505) imported/w3c/web-platform-tests/html/cross-origin-opener-policy/_javascript_-url.https.html is a flaky crash
https://bugs.webkit.org/show_bug.cgi?id=233874

Reviewed by Darin Adler.

r286505 fixed ProvisionalPageProxy so that ProvisionalPageProxy::m_provisionalLoadURL gets properly initialized when the
ProvisionalPageProxy gets constructed *after* the provisional load has already started (COOP proces-swap case). One side
effect of this though is that ProvisionalPageProxy::cancel() no longer returns early and will try to notify the client
that the provisional load failed, dereferencing m_mainFrame in doing so. In the event where the main frame has not yet
been created in the new provisional process, this would do a null-dereference of m_mainFrame.

To address the issue, we now early return in ProvisionalPageProxy::cancel() if m_isProcessSwappingOnNavigationResponse
is true (i.e. The ProvisionalPageProxy was created after the provisional load had started). In such situations, we
don't want to ProvisionalPageProxy to be the one notifying the client of the provisional load failure anyway. The reason
is that there is still a provisional load going on in the committed process/page.

No new tests, covered by existing test that is flakily crashing.

* UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::cancel):

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

Modified Paths

branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/UIProcess/ProvisionalPageProxy.cpp




Diff

Modified: branches/safari-612-branch/Source/WebKit/ChangeLog (286706 => 286707)

--- branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:34:10 UTC (rev 286706)
+++ branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:44:38 UTC (rev 286707)
@@ -1,5 +1,56 @@
 2021-12-08  Alan Coon  
 
+Cherry-pick r286574. rdar://problem/86224832
+
+Regression(r286505) imported/w3c/web-platform-tests/html/cross-origin-opener-policy/_javascript_-url.https.html is a flaky crash
+https://bugs.webkit.org/show_bug.cgi?id=233874
+
+Reviewed by Darin Adler.
+
+r286505 fixed ProvisionalPageProxy so that ProvisionalPageProxy::m_provisionalLoadURL gets properly initialized when the
+ProvisionalPageProxy gets constructed *after* the provisional load has already started (COOP proces-swap case). One side
+effect of this though is that ProvisionalPageProxy::cancel() no longer returns early and will try to notify the client
+that the provisional load failed, dereferencing m_mainFrame in doing so. In the event where the main frame has not yet
+been created in the new provisional process, this would do a null-dereference of m_mainFrame.
+
+To address the issue, we now early return in ProvisionalPageProxy::cancel() if m_isProcessSwappingOnNavigationResponse
+is true (i.e. The ProvisionalPageProxy was created after the provisional load had started). In such situations, we
+don't want to ProvisionalPageProxy to be the one notifying the client of the provisional load failure anyway. The reason
+is that there is still a provisional load going on in the committed process/page.
+
+No new tests, covered by existing test that is flakily crashing.
+
+* UIProcess/ProvisionalPageProxy.cpp:
+(WebKit::ProvisionalPageProxy::cancel):
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286574 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-06  Chris Dumez  
+
+Regression(r286505) imported/w3c/web-platform-tests/html/cross-origin-opener-policy/_javascript_-url.https.html is a flaky crash
+https://bugs.webkit.org/show_bug.cgi?id=233874
+
+Reviewed by Darin Adler.
+
+r286505 fixed ProvisionalPageProxy so that ProvisionalPageProxy::m_provisionalLoadURL gets properly initialized when the
+ProvisionalPageProxy gets constructed *after* the provisional load has already started (COOP proces-swap case). One side
+effect of this though is that ProvisionalPageProxy::cancel() no longer returns early and will try to notify the client
+that the provisional load failed, dereferencing m_mainFrame in doing so. In the event where the main frame has not yet
+been created in the new provisional process, this would do a null-dereference of m_mainFrame.
+
+To address the issue, we now early return in ProvisionalPageProxy::cancel() if m_isProcessSwappingOnNavigationResponse
+is true (i.e. The ProvisionalPageProxy was created after the provisional load had 

[webkit-changes] [286705] trunk/Source

2021-12-08 Thread tsavell
Title: [286705] trunk/Source








Revision 286705
Author tsav...@apple.com
Date 2021-12-08 12:34:03 -0800 (Wed, 08 Dec 2021)


Log Message
Unreviewed, reverting r286632.

Broke 3 tests on iOS

Reverted changeset:

"Add a `DOMPasteAccessCategory` to control which pasteboard
the WebProcess is granted access to when pasting"
https://bugs.webkit.org/show_bug.cgi?id=233939
https://commits.webkit.org/r286632

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/DOMPasteAccess.h
trunk/Source/WebCore/loader/EmptyClients.cpp
trunk/Source/WebCore/page/EditorClient.h
trunk/Source/WebCore/page/Frame.cpp
trunk/Source/WebCore/page/Frame.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Scripts/webkit/messages.py
trunk/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp
trunk/Source/WebKit/UIProcess/API/gtk/PageClientImpl.h
trunk/Source/WebKit/UIProcess/API/mac/WKView.mm
trunk/Source/WebKit/UIProcess/API/mac/WKWebViewMac.mm
trunk/Source/WebKit/UIProcess/API/wpe/PageClientImpl.cpp
trunk/Source/WebKit/UIProcess/API/wpe/PageClientImpl.h
trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.h
trunk/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm
trunk/Source/WebKit/UIProcess/PageClient.h
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
trunk/Source/WebKit/UIProcess/WebPageProxy.h
trunk/Source/WebKit/UIProcess/WebPageProxy.messages.in
trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.h
trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm
trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.h
trunk/Source/WebKit/UIProcess/ios/WKContentViewInteraction.mm
trunk/Source/WebKit/UIProcess/ios/WebPageProxyIOS.mm
trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.h
trunk/Source/WebKit/UIProcess/mac/PageClientImplMac.mm
trunk/Source/WebKit/UIProcess/mac/WebPageProxyMac.mm
trunk/Source/WebKit/UIProcess/playstation/PageClientImpl.cpp
trunk/Source/WebKit/UIProcess/playstation/PageClientImpl.h
trunk/Source/WebKit/UIProcess/win/PageClientImpl.cpp
trunk/Source/WebKit/UIProcess/win/PageClientImpl.h
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.cpp
trunk/Source/WebKit/WebProcess/WebCoreSupport/WebEditorClient.h
trunk/Source/WebKit/WebProcess/WebPage/WebPage.cpp
trunk/Source/WebKit/WebProcess/WebPage/WebPage.h
trunk/Source/WebKitLegacy/mac/ChangeLog
trunk/Source/WebKitLegacy/mac/WebCoreSupport/WebEditorClient.h
trunk/Source/WebKitLegacy/win/ChangeLog
trunk/Source/WebKitLegacy/win/WebCoreSupport/WebEditorClient.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (286704 => 286705)

--- trunk/Source/WebCore/ChangeLog	2021-12-08 20:31:41 UTC (rev 286704)
+++ trunk/Source/WebCore/ChangeLog	2021-12-08 20:34:03 UTC (rev 286705)
@@ -1,3 +1,16 @@
+2021-12-08  Truitt Savell  
+
+Unreviewed, reverting r286632.
+
+Broke 3 tests on iOS
+
+Reverted changeset:
+
+"Add a `DOMPasteAccessCategory` to control which pasteboard
+the WebProcess is granted access to when pasting"
+https://bugs.webkit.org/show_bug.cgi?id=233939
+https://commits.webkit.org/r286632
+
 2021-12-08  Philippe Normand  
 
 [GStreamer] Fill in client-name property on audio sinks


Modified: trunk/Source/WebCore/dom/DOMPasteAccess.h (286704 => 286705)

--- trunk/Source/WebCore/dom/DOMPasteAccess.h	2021-12-08 20:31:41 UTC (rev 286704)
+++ trunk/Source/WebCore/dom/DOMPasteAccess.h	2021-12-08 20:34:03 UTC (rev 286705)
@@ -29,10 +29,6 @@
 
 namespace WebCore {
 
-enum class DOMPasteAccessCategory : uint8_t {
-General,
-};
-
 enum class DOMPasteAccessPolicy : uint8_t {
 NotRequestedYet,
 Denied,
@@ -49,13 +45,6 @@
 
 namespace WTF {
 
-template<> struct EnumTraits {
-using values = EnumValues<
-WebCore::DOMPasteAccessCategory,
-WebCore::DOMPasteAccessCategory::General
->;
-};
-
 template<> struct EnumTraits {
 using values = EnumValues<
 WebCore::DOMPasteAccessResponse,


Modified: trunk/Source/WebCore/loader/EmptyClients.cpp (286704 => 286705)

--- trunk/Source/WebCore/loader/EmptyClients.cpp	2021-12-08 20:31:41 UTC (rev 286704)
+++ trunk/Source/WebCore/loader/EmptyClients.cpp	2021-12-08 20:34:03 UTC (rev 286705)
@@ -286,7 +286,7 @@
 void registerRedoStep(UndoStep&) final;
 void clearUndoRedoOperations() final { }
 
-DOMPasteAccessResponse requestDOMPasteAccess(DOMPasteAccessCategory, const String&) final { return DOMPasteAccessResponse::DeniedForGesture; }
+DOMPasteAccessResponse requestDOMPasteAccess(const String&) final { return DOMPasteAccessResponse::DeniedForGesture; }
 
 bool canCopyCut(Frame*, bool defaultValue) const final { return defaultValue; }
 bool canPaste(Frame*, bool defaultValue) const final { return defaultValue; }


Modified: trunk/Source/WebCore/page/EditorClient.h (286704 => 286705)

--- trunk/Source/WebCore/page/EditorClient.h	2021-12-08 20:31:41 UTC (rev 286704)
+++ trunk/Source/WebCore/page/EditorClient.h	2021-12-08 20:34:03 UTC (rev 286705)
@@ -36,7 +36,6 @@
 
 namespace WebCore {
 
-enum class 

[webkit-changes] [286706] branches/safari-612.4.2.3-branch/Source

2021-12-08 Thread repstein
Title: [286706] branches/safari-612.4.2.3-branch/Source








Revision 286706
Author repst...@apple.com
Date 2021-12-08 12:34:10 -0800 (Wed, 08 Dec 2021)


Log Message
Versioning.

WebKit-7612.4.2.3.1

Modified Paths

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




Diff

Modified: branches/safari-612.4.2.3-branch/Source/_javascript_Core/Configurations/Version.xcconfig (286705 => 286706)

--- branches/safari-612.4.2.3-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-12-08 20:34:03 UTC (rev 286705)
+++ branches/safari-612.4.2.3-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-12-08 20:34:10 UTC (rev 286706)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 3;
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-612.4.2.3-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (286705 => 286706)

--- branches/safari-612.4.2.3-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-12-08 20:34:03 UTC (rev 286705)
+++ branches/safari-612.4.2.3-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-12-08 20:34:10 UTC (rev 286706)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 3;
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-612.4.2.3-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (286705 => 286706)

--- branches/safari-612.4.2.3-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-12-08 20:34:03 UTC (rev 286705)
+++ branches/safari-612.4.2.3-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-12-08 20:34:10 UTC (rev 286706)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 3;
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-612.4.2.3-branch/Source/WebCore/Configurations/Version.xcconfig (286705 => 286706)

--- branches/safari-612.4.2.3-branch/Source/WebCore/Configurations/Version.xcconfig	2021-12-08 20:34:03 UTC (rev 286705)
+++ branches/safari-612.4.2.3-branch/Source/WebCore/Configurations/Version.xcconfig	2021-12-08 20:34:10 UTC (rev 286706)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 3;
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-612.4.2.3-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (286705 => 286706)

--- branches/safari-612.4.2.3-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-12-08 20:34:03 UTC (rev 286705)
+++ branches/safari-612.4.2.3-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-12-08 20:34:10 UTC (rev 286706)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 3;
+NANO_VERSION = 1;
+FULL_VERSION = 

[webkit-changes] [286704] branches/safari-612.4.2.2-branch/Source

2021-12-08 Thread repstein
Title: [286704] branches/safari-612.4.2.2-branch/Source








Revision 286704
Author repst...@apple.com
Date 2021-12-08 12:31:41 -0800 (Wed, 08 Dec 2021)


Log Message
Versioning.

WebKit-7612.4.2.2.1

Modified Paths

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




Diff

Modified: branches/safari-612.4.2.2-branch/Source/_javascript_Core/Configurations/Version.xcconfig (286703 => 286704)

--- branches/safari-612.4.2.2-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-12-08 20:27:51 UTC (rev 286703)
+++ branches/safari-612.4.2.2-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-12-08 20:31:41 UTC (rev 286704)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 2;
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-612.4.2.2-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (286703 => 286704)

--- branches/safari-612.4.2.2-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-12-08 20:27:51 UTC (rev 286703)
+++ branches/safari-612.4.2.2-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-12-08 20:31:41 UTC (rev 286704)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 2;
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-612.4.2.2-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (286703 => 286704)

--- branches/safari-612.4.2.2-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-12-08 20:27:51 UTC (rev 286703)
+++ branches/safari-612.4.2.2-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-12-08 20:31:41 UTC (rev 286704)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 2;
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-612.4.2.2-branch/Source/WebCore/Configurations/Version.xcconfig (286703 => 286704)

--- branches/safari-612.4.2.2-branch/Source/WebCore/Configurations/Version.xcconfig	2021-12-08 20:27:51 UTC (rev 286703)
+++ branches/safari-612.4.2.2-branch/Source/WebCore/Configurations/Version.xcconfig	2021-12-08 20:31:41 UTC (rev 286704)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 2;
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-612.4.2.2-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (286703 => 286704)

--- branches/safari-612.4.2.2-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-12-08 20:27:51 UTC (rev 286703)
+++ branches/safari-612.4.2.2-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-12-08 20:31:41 UTC (rev 286704)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 2;
+NANO_VERSION = 1;
+FULL_VERSION = 

[webkit-changes] [286703] trunk

2021-12-08 Thread commit-queue
Title: [286703] trunk








Revision 286703
Author commit-qu...@webkit.org
Date 2021-12-08 12:27:51 -0800 (Wed, 08 Dec 2021)


Log Message
Support WebAssembly.Memory imports in Wasm/ESM modules.
https://bugs.webkit.org/show_bug.cgi?id=184745

Patch by Asumu Takikawa  on 2021-12-08
Reviewed by Yusuke Suzuki.

JSTests:

* wasm/modules/wasm-imports-js-exports.js:
(then):
* wasm/modules/wasm-imports-js-exports/memory-fail-1.js: Added.
* wasm/modules/wasm-imports-js-exports/memory-fail-1.wasm: Added.
* wasm/modules/wasm-imports-js-exports/memory-fail-1.wat: Added.
* wasm/modules/wasm-imports-js-exports/memory-fail-2.js: Added.
* wasm/modules/wasm-imports-js-exports/memory-fail-2.wasm: Added.
* wasm/modules/wasm-imports-js-exports/memory-fail-2.wat: Added.
* wasm/modules/wasm-imports-js-exports/memory-fail-3.js: Added.
* wasm/modules/wasm-imports-js-exports/memory-fail-3.wasm: Added.
* wasm/modules/wasm-imports-js-exports/memory-fail-3.wat: Added.
* wasm/modules/wasm-imports-js-exports/memory-fail-4.js: Added.
* wasm/modules/wasm-imports-js-exports/memory-fail-4.wasm: Added.
* wasm/modules/wasm-imports-js-exports/memory-fail-4.wat: Added.
* wasm/modules/wasm-imports-js-exports/memory-fail-5.js: Added.
* wasm/modules/wasm-imports-js-exports/memory-fail-5.wasm: Added.
* wasm/modules/wasm-imports-js-exports/memory-fail-5.wat: Added.
* wasm/modules/wasm-imports-js-exports/memory.js: Added.
(export.setMemory):
* wasm/modules/wasm-imports-js-exports/memory.wasm: Added.
* wasm/modules/wasm-imports-js-exports/memory.wat: Added.
* wasm/modules/wasm-imports-js-exports/shared-memory.js: Added.
* wasm/modules/wasm-imports-js-exports/shared-memory.wasm: Added.
* wasm/modules/wasm-imports-js-exports/shared-memory.wat: Added.
* wasm/modules/wasm-imports-js-re-exports-wasm-exports.js:
* wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wasm:
* wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wat:
* wasm/modules/wasm-imports-js-re-exports-wasm-exports/re-export.js:
* wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wasm:
* wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wat:

Source/_javascript_Core:

Changes how Wasm code is initialized for modules that are loaded
by the module loader and have memory imports. The initial code for
the LLInt tier is copied to all memory modes, so that the memory
import can be initialized after compilation. When LLInt is turned
off, the compilation of B3/Air code is delayed until the memory is
initialized.

* wasm/WasmCodeBlock.cpp:
(JSC::Wasm::CodeBlock::createFromExisting):
(JSC::Wasm::CodeBlock::CodeBlock):
* wasm/WasmCodeBlock.h:
* wasm/WasmInstance.h:
(JSC::Wasm::Instance::finalizeCreation):
(JSC::Wasm::Instance::module const):
(JSC::Wasm::Instance::codeBlock const):
(JSC::Wasm::Instance::memory const):
(JSC::Wasm::Instance::isImportFunction const):
(JSC::Wasm::Instance::module): Deleted.
(JSC::Wasm::Instance::codeBlock): Deleted.
(JSC::Wasm::Instance::memory): Deleted.
* wasm/WasmModule.cpp:
(JSC::Wasm::Module::copyInitialCodeBlockToAllMemoryModes):
* wasm/WasmModule.h:
* wasm/js/JSWebAssembly.cpp:
(JSC::instantiate):
* wasm/js/JSWebAssemblyInstance.cpp:
(JSC::JSWebAssemblyInstance::finalizeCreation):
(JSC::JSWebAssemblyInstance::tryCreate):
* wasm/js/JSWebAssemblyInstance.h:
* wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::initializeImportsAndExports):

Modified Paths

trunk/JSTests/ChangeLog
trunk/JSTests/wasm/modules/wasm-imports-js-exports.js
trunk/JSTests/wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wasm
trunk/JSTests/wasm/modules/wasm-imports-js-re-exports-wasm-exports/imports.wat
trunk/JSTests/wasm/modules/wasm-imports-js-re-exports-wasm-exports/re-export.js
trunk/JSTests/wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wasm
trunk/JSTests/wasm/modules/wasm-imports-js-re-exports-wasm-exports/sum.wat
trunk/JSTests/wasm/modules/wasm-imports-js-re-exports-wasm-exports.js
trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/wasm/WasmCodeBlock.cpp
trunk/Source/_javascript_Core/wasm/WasmCodeBlock.h
trunk/Source/_javascript_Core/wasm/WasmInstance.h
trunk/Source/_javascript_Core/wasm/WasmModule.cpp
trunk/Source/_javascript_Core/wasm/WasmModule.h
trunk/Source/_javascript_Core/wasm/js/JSWebAssembly.cpp
trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyInstance.cpp
trunk/Source/_javascript_Core/wasm/js/JSWebAssemblyInstance.h
trunk/Source/_javascript_Core/wasm/js/WebAssemblyModuleRecord.cpp


Added Paths

trunk/JSTests/wasm/modules/wasm-imports-js-exports/memory-fail-1.js
trunk/JSTests/wasm/modules/wasm-imports-js-exports/memory-fail-1.wasm
trunk/JSTests/wasm/modules/wasm-imports-js-exports/memory-fail-1.wat
trunk/JSTests/wasm/modules/wasm-imports-js-exports/memory-fail-2.js
trunk/JSTests/wasm/modules/wasm-imports-js-exports/memory-fail-2.wasm
trunk/JSTests/wasm/modules/wasm-imports-js-exports/memory-fail-2.wat
trunk/JSTests/wasm/modules/wasm-imports-js-exports/memory-fail-3.js

[webkit-changes] [286702] branches/safari-612.4.2.1-branch/Source

2021-12-08 Thread repstein
Title: [286702] branches/safari-612.4.2.1-branch/Source








Revision 286702
Author repst...@apple.com
Date 2021-12-08 12:27:32 -0800 (Wed, 08 Dec 2021)


Log Message
Versioning.

WebKit-7612.4.2.1.1

Modified Paths

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




Diff

Modified: branches/safari-612.4.2.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig (286701 => 286702)

--- branches/safari-612.4.2.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-12-08 20:24:03 UTC (rev 286701)
+++ branches/safari-612.4.2.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-12-08 20:27:32 UTC (rev 286702)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 1;
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-612.4.2.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (286701 => 286702)

--- branches/safari-612.4.2.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-12-08 20:24:03 UTC (rev 286701)
+++ branches/safari-612.4.2.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-12-08 20:27:32 UTC (rev 286702)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 1;
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-612.4.2.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (286701 => 286702)

--- branches/safari-612.4.2.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-12-08 20:24:03 UTC (rev 286701)
+++ branches/safari-612.4.2.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-12-08 20:27:32 UTC (rev 286702)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 1;
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-612.4.2.1-branch/Source/WebCore/Configurations/Version.xcconfig (286701 => 286702)

--- branches/safari-612.4.2.1-branch/Source/WebCore/Configurations/Version.xcconfig	2021-12-08 20:24:03 UTC (rev 286701)
+++ branches/safari-612.4.2.1-branch/Source/WebCore/Configurations/Version.xcconfig	2021-12-08 20:27:32 UTC (rev 286702)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 1;
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-612.4.2.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (286701 => 286702)

--- branches/safari-612.4.2.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-12-08 20:24:03 UTC (rev 286701)
+++ branches/safari-612.4.2.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-12-08 20:27:32 UTC (rev 286702)
@@ -24,9 +24,9 @@
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
-MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+MICRO_VERSION = 1;
+NANO_VERSION = 1;
+FULL_VERSION = 

[webkit-changes] [286701] branches/safari-612-branch/Source/WebKit

2021-12-08 Thread alancoon
Title: [286701] branches/safari-612-branch/Source/WebKit








Revision 286701
Author alanc...@apple.com
Date 2021-12-08 12:24:03 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286671. rdar://problem/85928816

Momentum Event Dispatcher: Momentum tail should have montonically decreasing deltas and tail gaps
https://bugs.webkit.org/show_bug.cgi?id=233993


Reviewed by Simon Fraser.

* WebProcess/WebPage/MomentumEventDispatcher.cpp:
(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
(WebKit::MomentumEventDispatcher::computeNextDelta):
In order to avoid visual stutter due to integral rounding of the
deltas we dispatch in the momentum phase, switch to a table of
deltas instead of interpolating along the offset curve during the
tail end of the animation (when the rounding makes up a large
proportion of each delta).

(WebKit::MomentumEventDispatcher::equalizeTailGaps):
Sort the deltas up until the first zero to ensure a lack of unexpected
perceptual acceleration, and then inject skipped frames in order to
ensure that frames that have effective scroll movement (non-zero deltas)
are always spaced equally-or-further apart than earlier ones, but
never closer together (which, again, would be percieved as acceleration).

(WebKit::MomentumEventDispatcher::handleWheelEvent):
(WebKit::MomentumEventDispatcher::pushLogEntry):
(WebKit::MomentumEventDispatcher::flushLog):
Lastly, adjust some logging to make it easier to tell which row in
the output corresponds to an event delta or generated delta, so it's
easier to find skipped frames.
* WebProcess/WebPage/MomentumEventDispatcher.h:

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

Modified Paths

branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.h




Diff

Modified: branches/safari-612-branch/Source/WebKit/ChangeLog (286700 => 286701)

--- branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:24:00 UTC (rev 286700)
+++ branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:24:03 UTC (rev 286701)
@@ -1,5 +1,76 @@
 2021-12-08  Alan Coon  
 
+Cherry-pick r286671. rdar://problem/85928816
+
+Momentum Event Dispatcher: Momentum tail should have montonically decreasing deltas and tail gaps
+https://bugs.webkit.org/show_bug.cgi?id=233993
+
+
+Reviewed by Simon Fraser.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
+(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+In order to avoid visual stutter due to integral rounding of the
+deltas we dispatch in the momentum phase, switch to a table of
+deltas instead of interpolating along the offset curve during the
+tail end of the animation (when the rounding makes up a large
+proportion of each delta).
+
+(WebKit::MomentumEventDispatcher::equalizeTailGaps):
+Sort the deltas up until the first zero to ensure a lack of unexpected
+perceptual acceleration, and then inject skipped frames in order to
+ensure that frames that have effective scroll movement (non-zero deltas)
+are always spaced equally-or-further apart than earlier ones, but
+never closer together (which, again, would be percieved as acceleration).
+
+(WebKit::MomentumEventDispatcher::handleWheelEvent):
+(WebKit::MomentumEventDispatcher::pushLogEntry):
+(WebKit::MomentumEventDispatcher::flushLog):
+Lastly, adjust some logging to make it easier to tell which row in
+the output corresponds to an event delta or generated delta, so it's
+easier to find skipped frames.
+* WebProcess/WebPage/MomentumEventDispatcher.h:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286671 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-08  Tim Horton  
+
+Momentum Event Dispatcher: Momentum tail should have montonically decreasing deltas and tail gaps
+https://bugs.webkit.org/show_bug.cgi?id=233993
+
+
+Reviewed by Simon Fraser.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
+(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+In order to avoid visual stutter due to integral rounding of the
+deltas we dispatch in the momentum phase, switch to a table of
+deltas instead of interpolating along the 

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

2021-12-08 Thread alancoon
Title: [286698] branches/safari-612-branch








Revision 286698
Author alanc...@apple.com
Date 2021-12-08 12:23:54 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286537. rdar://problem/85928816

Add trace points for generated momentum events
https://bugs.webkit.org/show_bug.cgi?id=233857

Reviewed by Tim Horton.

Source/WebKit:

Add start/end points for synthetic momentum, and a trace point for each generated event.

* WebProcess/WebPage/MomentumEventDispatcher.cpp:
(WebKit::MomentumEventDispatcher::dispatchSyntheticMomentumEvent):
(WebKit::MomentumEventDispatcher::didStartMomentumPhase):
(WebKit::MomentumEventDispatcher::didEndMomentumPhase):

Source/WTF:

* wtf/SystemTracing.h:

Tools:

Add start/end points for synthetic momentum, and a trace point for each generated event.

* Tracing/SystemTracePoints.plist:

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

Modified Paths

branches/safari-612-branch/Source/WTF/ChangeLog
branches/safari-612-branch/Source/WTF/wtf/SystemTracing.h
branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp
branches/safari-612-branch/Tools/ChangeLog
branches/safari-612-branch/Tools/Tracing/SystemTracePoints.plist




Diff

Modified: branches/safari-612-branch/Source/WTF/ChangeLog (286697 => 286698)

--- branches/safari-612-branch/Source/WTF/ChangeLog	2021-12-08 20:23:51 UTC (rev 286697)
+++ branches/safari-612-branch/Source/WTF/ChangeLog	2021-12-08 20:23:54 UTC (rev 286698)
@@ -1,3 +1,43 @@
+2021-12-06  Alan Coon  
+
+Cherry-pick r286537. rdar://problem/85928816
+
+Add trace points for generated momentum events
+https://bugs.webkit.org/show_bug.cgi?id=233857
+
+Reviewed by Tim Horton.
+
+Source/WebKit:
+
+Add start/end points for synthetic momentum, and a trace point for each generated event.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::dispatchSyntheticMomentumEvent):
+(WebKit::MomentumEventDispatcher::didStartMomentumPhase):
+(WebKit::MomentumEventDispatcher::didEndMomentumPhase):
+
+Source/WTF:
+
+* wtf/SystemTracing.h:
+
+Tools:
+
+Add start/end points for synthetic momentum, and a trace point for each generated event.
+
+* Tracing/SystemTracePoints.plist:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-05  Simon Fraser  
+
+Add trace points for generated momentum events
+https://bugs.webkit.org/show_bug.cgi?id=233857
+
+Reviewed by Tim Horton.
+
+* wtf/SystemTracing.h:
+
 2021-12-03  Alan Coon  
 
 Cherry-pick r286504. rdar://problem/85928816


Modified: branches/safari-612-branch/Source/WTF/wtf/SystemTracing.h (286697 => 286698)

--- branches/safari-612-branch/Source/WTF/wtf/SystemTracing.h	2021-12-08 20:23:51 UTC (rev 286697)
+++ branches/safari-612-branch/Source/WTF/wtf/SystemTracing.h	2021-12-08 20:23:54 UTC (rev 286698)
@@ -127,6 +127,9 @@
 RenderServerSnapshotEnd,
 TakeSnapshotStart,
 TakeSnapshotEnd,
+SyntheticMomentumStart,
+SyntheticMomentumEnd,
+SyntheticMomentumEvent,
 
 UIProcessRange = 14000,
 CommitLayerTreeStart,


Modified: branches/safari-612-branch/Source/WebKit/ChangeLog (286697 => 286698)

--- branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:23:51 UTC (rev 286697)
+++ branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:23:54 UTC (rev 286698)
@@ -1,3 +1,48 @@
+2021-12-06  Alan Coon  
+
+Cherry-pick r286537. rdar://problem/85928816
+
+Add trace points for generated momentum events
+https://bugs.webkit.org/show_bug.cgi?id=233857
+
+Reviewed by Tim Horton.
+
+Source/WebKit:
+
+Add start/end points for synthetic momentum, and a trace point for each generated event.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::dispatchSyntheticMomentumEvent):
+(WebKit::MomentumEventDispatcher::didStartMomentumPhase):
+(WebKit::MomentumEventDispatcher::didEndMomentumPhase):
+
+Source/WTF:
+
+* wtf/SystemTracing.h:
+
+Tools:
+
+Add start/end points for synthetic momentum, and a trace point for each generated event.
+
+* Tracing/SystemTracePoints.plist:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286537 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-05  Simon Fraser  
+
+Add trace points for generated momentum events
+https://bugs.webkit.org/show_bug.cgi?id=233857
+
+Reviewed by Tim Horton.
+
+Add start/end points for synthetic momentum, and a trace point for each generated event.
+
+* 

[webkit-changes] [286699] branches/safari-612-branch/Source/WebKit

2021-12-08 Thread alancoon
Title: [286699] branches/safari-612-branch/Source/WebKit








Revision 286699
Author alanc...@apple.com
Date 2021-12-08 12:23:57 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286566. rdar://problem/85928816

Momentum Event Dispatcher: Momentum phase runs backwards with natural scrolling disabled
https://bugs.webkit.org/show_bug.cgi?id=233894


Reviewed by Simon Fraser.

* WebProcess/WebPage/MomentumEventDispatcher.cpp:
(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
Only flip the deltas if the trackpad is configured to use "natural"
scrolling (in which "directionInvertedFromDevice" is true).

(WebKit::MomentumEventDispatcher::computeNextDelta):
Fix initial queue state logging to log both axes before setting the "did log" bit.

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

Modified Paths

branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp




Diff

Modified: branches/safari-612-branch/Source/WebKit/ChangeLog (286698 => 286699)

--- branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:23:54 UTC (rev 286698)
+++ branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:23:57 UTC (rev 286699)
@@ -1,5 +1,42 @@
 2021-12-06  Alan Coon  
 
+Cherry-pick r286566. rdar://problem/85928816
+
+Momentum Event Dispatcher: Momentum phase runs backwards with natural scrolling disabled
+https://bugs.webkit.org/show_bug.cgi?id=233894
+
+
+Reviewed by Simon Fraser.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
+Only flip the deltas if the trackpad is configured to use "natural"
+scrolling (in which "directionInvertedFromDevice" is true).
+
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+Fix initial queue state logging to log both axes before setting the "did log" bit.
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286566 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-06  Tim Horton  
+
+Momentum Event Dispatcher: Momentum phase runs backwards with natural scrolling disabled
+https://bugs.webkit.org/show_bug.cgi?id=233894
+
+
+Reviewed by Simon Fraser.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
+Only flip the deltas if the trackpad is configured to use "natural"
+scrolling (in which "directionInvertedFromDevice" is true).
+
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+Fix initial queue state logging to log both axes before setting the "did log" bit.
+
+2021-12-06  Alan Coon  
+
 Cherry-pick r286537. rdar://problem/85928816
 
 Add trace points for generated momentum events


Modified: branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp (286698 => 286699)

--- branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp	2021-12-08 20:23:54 UTC (rev 286698)
+++ branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp	2021-12-08 20:23:57 UTC (rev 286699)
@@ -306,7 +306,10 @@
 
 m_currentGesture.currentOffset += delta;
 
-return -delta;
+if (m_currentGesture.initiatingEvent->directionInvertedFromDevice())
+delta.scale(-1);
+
+return delta;
 }
 
 void MomentumEventDispatcher::displayWasRefreshed(WebCore::PlatformDisplayID displayID, const WebCore::DisplayUpdate&)
@@ -478,10 +481,8 @@
 float averageDelta = totalDelta / count;
 
 #if ENABLE(MOMENTUM_EVENT_DISPATCHER_TEMPORARY_LOGGING)
-if (!m_currentGesture.didLogInitialQueueState) {
+if (!m_currentGesture.didLogInitialQueueState)
 RELEASE_LOG(ScrollAnimations, "MomentumEventDispatcher initial historical deltas: average delta %f, average time %fms, event count %d", averageDelta, averageFrameIntervalMS, count);
-m_currentGesture.didLogInitialQueueState = true;
-}
 #endif
 
 constexpr float velocityGainA = fromFixedPoint(2.f);
@@ -502,6 +503,10 @@
 accelerateAxis(m_deltaHistoryY, quantizedUnacceleratedDelta.height())
 );
 
+#if ENABLE(MOMENTUM_EVENT_DISPATCHER_TEMPORARY_LOGGING)
+m_currentGesture.didLogInitialQueueState = true;
+#endif
+
 return { unacceleratedDelta, acceleratedDelta };
 }
 






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


[webkit-changes] [286697] branches/safari-612-branch/Source/WebKit/Shared/mac/ MediaFormatReader/MediaFormatReader.cpp

2021-12-08 Thread alancoon
Title: [286697] branches/safari-612-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp








Revision 286697
Author alanc...@apple.com
Date 2021-12-08 12:23:51 -0800 (Wed, 08 Dec 2021)


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

Modified Paths

branches/safari-612-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp




Diff

Modified: branches/safari-612-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp (286696 => 286697)

--- branches/safari-612-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp	2021-12-08 20:23:48 UTC (rev 286696)
+++ branches/safari-612-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp	2021-12-08 20:23:51 UTC (rev 286697)
@@ -42,6 +42,7 @@
 #include 
 #include 
 
+#include 
 #include 
 
 WTF_DECLARE_CF_TYPE_TRAIT(MTPluginFormatReader);






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


[webkit-changes] [286696] branches/safari-612-branch/Source/WebKit/Shared/ WebPreferencesDefaultValues.cpp

2021-12-08 Thread alancoon
Title: [286696] branches/safari-612-branch/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp








Revision 286696
Author alanc...@apple.com
Date 2021-12-08 12:23:48 -0800 (Wed, 08 Dec 2021)


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

error: use of undeclared identifier 'isInWebProcess'; did you mean 'WebCore::isInWebProcess'?

Modified Paths

branches/safari-612-branch/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp




Diff

Modified: branches/safari-612-branch/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp (286695 => 286696)

--- branches/safari-612-branch/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp	2021-12-08 20:23:46 UTC (rev 286695)
+++ branches/safari-612-branch/Source/WebKit/Shared/WebPreferencesDefaultValues.cpp	2021-12-08 20:23:48 UTC (rev 286696)
@@ -324,7 +324,7 @@
 static dispatch_once_t onceToken;
 static bool enabled { false };
 dispatch_once(, ^{
-if (isInWebProcess())
+if (WebCore::isInWebProcess())
 enabled = WebProcess::singleton().parentProcessHasEntitlement("com.apple.developer.group-session.urlactivity");
 else
 enabled = WTF::processHasEntitlement("com.apple.developer.group-session.urlactivity");






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


[webkit-changes] [286695] branches/safari-612-branch/Source/WebKit/Shared/mac/ MediaFormatReader/MediaFormatReader.cpp

2021-12-08 Thread alancoon
Title: [286695] branches/safari-612-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp








Revision 286695
Author alanc...@apple.com
Date 2021-12-08 12:23:46 -0800 (Wed, 08 Dec 2021)


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

error: member access into incomplete type 'Webcore::SharedBuffer'

Modified Paths

branches/safari-612-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp




Diff

Modified: branches/safari-612-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp (286694 => 286695)

--- branches/safari-612-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp	2021-12-08 20:23:44 UTC (rev 286694)
+++ branches/safari-612-branch/Source/WebKit/Shared/mac/MediaFormatReader/MediaFormatReader.cpp	2021-12-08 20:23:46 UTC (rev 286695)
@@ -35,6 +35,7 @@
 #include 
 #include 
 #include 
+#include 
 #include 
 #include 
 #include 






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


[webkit-changes] [286693] branches/safari-612-branch/Source/WTF

2021-12-08 Thread alancoon
Title: [286693] branches/safari-612-branch/Source/WTF








Revision 286693
Author alanc...@apple.com
Date 2021-12-08 12:23:41 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286504. rdar://problem/85928816

Enable Momentum Event Generator by default
https://bugs.webkit.org/show_bug.cgi?id=233807


Reviewed by Simon Fraser.

* Scripts/Preferences/WebPreferencesInternal.yaml:
Turn it on for modern WebKit. Adjust the description slightly.

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

Modified Paths

branches/safari-612-branch/Source/WTF/ChangeLog
branches/safari-612-branch/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml




Diff

Modified: branches/safari-612-branch/Source/WTF/ChangeLog (286692 => 286693)

--- branches/safari-612-branch/Source/WTF/ChangeLog	2021-12-08 20:23:38 UTC (rev 286692)
+++ branches/safari-612-branch/Source/WTF/ChangeLog	2021-12-08 20:23:41 UTC (rev 286693)
@@ -1,5 +1,31 @@
 2021-12-03  Alan Coon  
 
+Cherry-pick r286504. rdar://problem/85928816
+
+Enable Momentum Event Generator by default
+https://bugs.webkit.org/show_bug.cgi?id=233807
+
+
+Reviewed by Simon Fraser.
+
+* Scripts/Preferences/WebPreferencesInternal.yaml:
+Turn it on for modern WebKit. Adjust the description slightly.
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286504 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-03  Tim Horton  
+
+Enable Momentum Event Generator by default
+https://bugs.webkit.org/show_bug.cgi?id=233807
+
+
+Reviewed by Simon Fraser.
+
+* Scripts/Preferences/WebPreferencesInternal.yaml:
+Turn it on for modern WebKit. Adjust the description slightly.
+
+2021-12-03  Alan Coon  
+
 Cherry-pick r285526. rdar://problem/85928816
 
 Add runtime flag for momentum scrolling


Modified: branches/safari-612-branch/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml (286692 => 286693)

--- branches/safari-612-branch/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml	2021-12-08 20:23:38 UTC (rev 286692)
+++ branches/safari-612-branch/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml	2021-12-08 20:23:41 UTC (rev 286693)
@@ -539,7 +539,7 @@
 MomentumScrollingAnimatorEnabled:
   type: bool
   humanReadableName: "Momentum Scrolling Animator"
-  humanReadableDescription: "Drive momentum scrolling via an internal animator instead of using momentum events"
+  humanReadableDescription: "Generate momentum events in WebKit instead of using those delivered by the system"
   defaultValue:
 WebKitLegacy:
   "PLATFORM(MAC)": true
@@ -546,7 +546,7 @@
   default: false
 WebKit:
   "PLATFORM(MAC)": true
-  default: false
+  default: true
 WebCore:
   "PLATFORM(MAC)": true
   default: false






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


[webkit-changes] [286691] branches/safari-612-branch/Source/WebKit

2021-12-08 Thread alancoon
Title: [286691] branches/safari-612-branch/Source/WebKit








Revision 286691
Author alanc...@apple.com
Date 2021-12-08 12:23:32 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286483. rdar://problem/85928816

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:

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

Modified Paths

branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/Shared/ScrollingAccelerationCurve.cpp
branches/safari-612-branch/Source/WebKit/Shared/ScrollingAccelerationCurve.h
branches/safari-612-branch/Source/WebKit/Shared/mac/ScrollingAccelerationCurveMac.mm
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.h




Diff

Modified: branches/safari-612-branch/Source/WebKit/ChangeLog (286690 => 286691)

--- branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:23:29 UTC (rev 286690)
+++ branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:23:32 UTC (rev 286691)
@@ -1,5 +1,136 @@
 2021-12-03  Russell Epstein  
 
+Cherry-pick r286483. rdar://problem/85928816
+
+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-changes] [286694] branches/safari-612-branch/Source/WebKit

2021-12-08 Thread alancoon
Title: [286694] branches/safari-612-branch/Source/WebKit








Revision 286694
Author alanc...@apple.com
Date 2021-12-08 12:23:44 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286512. rdar://problem/85928816

Add more logging for MomentumEventDispatcher
https://bugs.webkit.org/show_bug.cgi?id=233811

Reviewed by Simon Fraser.

Add a temporary event log to MomentumEventDispatcher, to debug delta/offset/curve issues.

* WebProcess/WebPage/EventDispatcher.h:
(WebKit::EventDispatcher::queue):
* WebProcess/WebPage/MomentumEventDispatcher.cpp:
(WebKit::MomentumEventDispatcher::handleWheelEvent):
Accumulate event deltas. Also accumulate event deltas for the
fingers-down phase in the "generated" offset. Store the phase and
momentum phase smooshed into a single field.

(WebKit::MomentumEventDispatcher::dispatchSyntheticMomentumEvent):
Accumulate generated deltas.

(WebKit::MomentumEventDispatcher::didEndMomentumPhase):
Attempt to dump the log 1 second after each momentum phase. We'll skip
it if another scroll has started since.

(WebKit::MomentumEventDispatcher::setScrollingAccelerationCurve):
(WebKit::MomentumEventDispatcher::startDisplayLink):
(WebKit::MomentumEventDispatcher::stopDisplayLink):
(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
(WebKit::MomentumEventDispatcher::computeNextDelta):
Adopt more MOMENTUM_EVENT_DISPATCHER_TEMPORARY_LOGGING. Error logging
we leave outside of this, because that we'll keep around.

(WebKit::MomentumEventDispatcher::pushLogEntry):
(WebKit::MomentumEventDispatcher::flushLog):
Dump the event log in an easy-to-copy-into-a-CSV format.

* WebProcess/WebPage/MomentumEventDispatcher.h:

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

Modified Paths

branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/EventDispatcher.h
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.h




Diff

Modified: branches/safari-612-branch/Source/WebKit/ChangeLog (286693 => 286694)

--- branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:23:41 UTC (rev 286693)
+++ branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:23:44 UTC (rev 286694)
@@ -1,5 +1,88 @@
 2021-12-03  Alan Coon  
 
+Cherry-pick r286512. rdar://problem/85928816
+
+Add more logging for MomentumEventDispatcher
+https://bugs.webkit.org/show_bug.cgi?id=233811
+
+Reviewed by Simon Fraser.
+
+Add a temporary event log to MomentumEventDispatcher, to debug delta/offset/curve issues.
+
+* WebProcess/WebPage/EventDispatcher.h:
+(WebKit::EventDispatcher::queue):
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::handleWheelEvent):
+Accumulate event deltas. Also accumulate event deltas for the
+fingers-down phase in the "generated" offset. Store the phase and
+momentum phase smooshed into a single field.
+
+(WebKit::MomentumEventDispatcher::dispatchSyntheticMomentumEvent):
+Accumulate generated deltas.
+
+(WebKit::MomentumEventDispatcher::didEndMomentumPhase):
+Attempt to dump the log 1 second after each momentum phase. We'll skip
+it if another scroll has started since.
+
+(WebKit::MomentumEventDispatcher::setScrollingAccelerationCurve):
+(WebKit::MomentumEventDispatcher::startDisplayLink):
+(WebKit::MomentumEventDispatcher::stopDisplayLink):
+(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
+(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+Adopt more MOMENTUM_EVENT_DISPATCHER_TEMPORARY_LOGGING. Error logging
+we leave outside of this, because that we'll keep around.
+
+(WebKit::MomentumEventDispatcher::pushLogEntry):
+(WebKit::MomentumEventDispatcher::flushLog):
+Dump the event log in an easy-to-copy-into-a-CSV format.
+
+* WebProcess/WebPage/MomentumEventDispatcher.h:
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286512 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-03  Tim Horton  
+
+Add more logging for MomentumEventDispatcher
+https://bugs.webkit.org/show_bug.cgi?id=233811
+
+Reviewed by Simon Fraser.
+
+Add a temporary event log to MomentumEventDispatcher, to debug delta/offset/curve issues.
+
+* WebProcess/WebPage/EventDispatcher.h:
+(WebKit::EventDispatcher::queue):
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::handleWheelEvent):
+

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

2021-12-08 Thread alancoon
Title: [286692] branches/safari-612-branch/Source








Revision 286692
Author alanc...@apple.com
Date 2021-12-08 12:23:38 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r285526. rdar://problem/85928816

Add runtime flag for momentum scrolling
https://bugs.webkit.org/show_bug.cgi?id=232898


Reviewed by Simon Fraser.

* Scripts/Preferences/WebPreferencesInternal.yaml:
Add the preference.

* page/scrolling/AsyncScrollingCoordinator.cpp:
(WebCore::AsyncScrollingCoordinator::setFrameScrollingNodeState):
* page/scrolling/ScrollingStateFrameScrollingNode.cpp:
(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
(WebCore::ScrollingStateFrameScrollingNode::applicableProperties const):
(WebCore::ScrollingStateFrameScrollingNode::setMomentumScrollingAnimatorEnabled):
* page/scrolling/ScrollingStateFrameScrollingNode.h:
* page/scrolling/ScrollingStateNode.h:
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::commitTreeState):
* page/scrolling/ScrollingTree.h:
(WebCore::ScrollingTree::momentumScrollingAnimatorEnabled const):
(WebCore::ScrollingTree::setMomentumScrollingAnimatorEnabled):
* page/scrolling/ScrollingTreeScrollingNode.cpp:
(WebCore::ScrollingTreeScrollingNode::momentumScrollingAnimatorEnabled const):
* page/scrolling/ScrollingTreeScrollingNode.h:
* page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
* page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::momentumScrollingAnimatorEnabled const):
* platform/ScrollingEffectsController.h:
(WebCore::ScrollingEffectsControllerClient::momentumScrollingAnimatorEnabled const):

* Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp:
(ArgumentCoder::encode):
(ArgumentCoder::decode):

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

Modified Paths

branches/safari-612-branch/Source/WTF/ChangeLog
branches/safari-612-branch/Source/WTF/Scripts/Preferences/WebPreferencesInternal.yaml
branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/page/scrolling/AsyncScrollingCoordinator.cpp
branches/safari-612-branch/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp
branches/safari-612-branch/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.h
branches/safari-612-branch/Source/WebCore/page/scrolling/ScrollingStateNode.h
branches/safari-612-branch/Source/WebCore/page/scrolling/ScrollingTree.cpp
branches/safari-612-branch/Source/WebCore/page/scrolling/ScrollingTree.h
branches/safari-612-branch/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.cpp
branches/safari-612-branch/Source/WebCore/page/scrolling/ScrollingTreeScrollingNode.h
branches/safari-612-branch/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h
branches/safari-612-branch/Source/WebCore/page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm
branches/safari-612-branch/Source/WebCore/platform/ScrollController.h
branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/Shared/RemoteLayerTree/RemoteScrollingCoordinatorTransaction.cpp




Diff

Modified: branches/safari-612-branch/Source/WTF/ChangeLog (286691 => 286692)

--- branches/safari-612-branch/Source/WTF/ChangeLog	2021-12-08 20:23:32 UTC (rev 286691)
+++ branches/safari-612-branch/Source/WTF/ChangeLog	2021-12-08 20:23:38 UTC (rev 286692)
@@ -1,3 +1,55 @@
+2021-12-03  Alan Coon  
+
+Cherry-pick r285526. rdar://problem/85928816
+
+Add runtime flag for momentum scrolling
+https://bugs.webkit.org/show_bug.cgi?id=232898
+
+
+Reviewed by Simon Fraser.
+
+* Scripts/Preferences/WebPreferencesInternal.yaml:
+Add the preference.
+
+* page/scrolling/AsyncScrollingCoordinator.cpp:
+(WebCore::AsyncScrollingCoordinator::setFrameScrollingNodeState):
+* page/scrolling/ScrollingStateFrameScrollingNode.cpp:
+(WebCore::ScrollingStateFrameScrollingNode::ScrollingStateFrameScrollingNode):
+(WebCore::ScrollingStateFrameScrollingNode::applicableProperties const):
+(WebCore::ScrollingStateFrameScrollingNode::setMomentumScrollingAnimatorEnabled):
+* page/scrolling/ScrollingStateFrameScrollingNode.h:
+* page/scrolling/ScrollingStateNode.h:
+* page/scrolling/ScrollingTree.cpp:
+(WebCore::ScrollingTree::commitTreeState):
+* page/scrolling/ScrollingTree.h:
+(WebCore::ScrollingTree::momentumScrollingAnimatorEnabled const):
+(WebCore::ScrollingTree::setMomentumScrollingAnimatorEnabled):
+* page/scrolling/ScrollingTreeScrollingNode.cpp:
+(WebCore::ScrollingTreeScrollingNode::momentumScrollingAnimatorEnabled const):
+* page/scrolling/ScrollingTreeScrollingNode.h:
+* page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
+* 

[webkit-changes] [286689] branches/safari-612-branch/Source/WebKit

2021-12-08 Thread alancoon
Title: [286689] branches/safari-612-branch/Source/WebKit








Revision 286689
Author alanc...@apple.com
Date 2021-12-08 12:23:25 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286380. rdar://problem/85928816

Unreviewed build fixes after r286346.

* WebProcess/WebPage/MomentumEventDispatcher.cpp:
(WebKit::MomentumEventDispatcher::startDisplayLink):
(WebKit::MomentumEventDispatcher::displayWasRefreshed):
(WebKit::MomentumEventDispatcher::didReceiveScrollEventWithInterval):
(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
(WebKit::MomentumEventDispatcher::offsetAtTime):
(WebKit::momentumDecayRate):
(WebKit::MomentumEventDispatcher::computeNextDelta):
* WebProcess/WebPage/MomentumEventDispatcher.h:

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

Modified Paths

branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.h




Diff

Modified: branches/safari-612-branch/Source/WebKit/ChangeLog (286688 => 286689)

--- branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:23:22 UTC (rev 286688)
+++ branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:23:25 UTC (rev 286689)
@@ -1,3 +1,35 @@
+2021-12-03  Russell Epstein  
+
+Cherry-pick r286380. rdar://problem/85928816
+
+Unreviewed build fixes after r286346.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::startDisplayLink):
+(WebKit::MomentumEventDispatcher::displayWasRefreshed):
+(WebKit::MomentumEventDispatcher::didReceiveScrollEventWithInterval):
+(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
+(WebKit::MomentumEventDispatcher::offsetAtTime):
+(WebKit::momentumDecayRate):
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+* WebProcess/WebPage/MomentumEventDispatcher.h:
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286380 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-01  Chris Dumez  
+
+Unreviewed build fixes after r286346.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::startDisplayLink):
+(WebKit::MomentumEventDispatcher::displayWasRefreshed):
+(WebKit::MomentumEventDispatcher::didReceiveScrollEventWithInterval):
+(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
+(WebKit::MomentumEventDispatcher::offsetAtTime):
+(WebKit::momentumDecayRate):
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+* WebProcess/WebPage/MomentumEventDispatcher.h:
+
 2021-12-01  Alan Coon  
 
 Cherry-pick r286346. rdar://problem/85928816


Modified: branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp (286688 => 286689)

--- branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp	2021-12-08 20:23:22 UTC (rev 286688)
+++ branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp	2021-12-08 20:23:25 UTC (rev 286689)
@@ -30,8 +30,10 @@
 
 #include "EventDispatcher.h"
 #include "Logging.h"
+#include "WebProcess.h"
 #include "WebProcessProxyMessages.h"
 #include 
+#include 
 
 namespace WebKit {
 
@@ -221,7 +223,7 @@
 }
 
 // FIXME: Switch down to lower-than-full-speed frame rates for the tail end of the curve.
-WebProcess::singleton().parentProcessConnection()->send(Messages::WebProcessProxy::StartDisplayLink(m_observerID, displayID, FullSpeedFramesPerSecond), 0);
+WebProcess::singleton().parentProcessConnection()->send(Messages::WebProcessProxy::StartDisplayLink(m_observerID, displayID, WebCore::FullSpeedFramesPerSecond), 0);
 RELEASE_LOG(ScrollAnimations, "MomentumEventDispatcher starting display link for display %d", displayID);
 }
 
@@ -262,9 +264,9 @@
 
 #if !USE(MOMENTUM_EVENT_DISPATCHER_PREMATURE_ROUNDING)
 // Intentional delta rounding (but at the end!).
-FloatSize delta = roundedIntSize(desiredOffset - m_currentGesture.currentOffset);
+WebCore::FloatSize delta = roundedIntSize(desiredOffset - m_currentGesture.currentOffset);
 #else
-FloatSize delta = desiredOffset - m_currentGesture.currentOffset;
+WebCore::FloatSize delta = desiredOffset - m_currentGesture.currentOffset;
 #endif
 
 dispatchSyntheticMomentumEvent(WebWheelEvent::PhaseChanged, -delta);
@@ -272,7 +274,7 @@
 m_currentGesture.currentOffset += delta;
 }
 
-void MomentumEventDispatcher::didReceiveScrollEventWithInterval(FloatSize size, Seconds frameInterval)
+void MomentumEventDispatcher::didReceiveScrollEventWithInterval(WebCore::FloatSize size, Seconds frameInterval)
 {
 auto push = [](HistoricalDeltas& deltas, Delta newDelta) {
  

[webkit-changes] [286688] branches/safari-612-branch/Source/WebCore/page/scrolling/ ThreadedScrollingTree.cpp

2021-12-08 Thread alancoon
Title: [286688] branches/safari-612-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp








Revision 286688
Author alanc...@apple.com
Date 2021-12-08 12:23:22 -0800 (Wed, 08 Dec 2021)


Log Message
Unreviewed, speculative build fix for r286410. rdar://problem/85928816

Remove reference to serviceScrollAnimations.

Modified Paths

branches/safari-612-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp




Diff

Modified: branches/safari-612-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp (286687 => 286688)

--- branches/safari-612-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp	2021-12-08 20:23:20 UTC (rev 286687)
+++ branches/safari-612-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp	2021-12-08 20:23:22 UTC (rev 286688)
@@ -390,7 +390,6 @@
 
 auto now = MonotonicTime::now();
 m_lastDisplayDidRefreshTime = now;
-serviceScrollAnimations();
 
 if (m_state != SynchronizationState::Idle && canUpdateLayersOnScrollingThread())
 applyLayerPositionsInternal();






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


[webkit-changes] [286700] branches/safari-612-branch/Source/WebKit

2021-12-08 Thread alancoon
Title: [286700] branches/safari-612-branch/Source/WebKit








Revision 286700
Author alanc...@apple.com
Date 2021-12-08 12:24:00 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286631. rdar://problem/85928816

[Scroll Momentum Generator] Pages lose ability to momentum scroll after dragging between displays
https://bugs.webkit.org/show_bug.cgi?id=233948
rdar://86110813

Reviewed by Tim Horton.

This is a conservative fix for the bug. When a view moves to a new screen, WebPageProxy
needs to unregister for full speed updates using the old displayID, and register
using the new one.

Longer term, it would be better if "full speed updates" was a per-observer concept,
but that would mean registering an observer while wheel events are being received,
which needs a bit more thought.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::windowScreenDidChange):

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

Modified Paths

branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.cpp




Diff

Modified: branches/safari-612-branch/Source/WebKit/ChangeLog (286699 => 286700)

--- branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:23:57 UTC (rev 286699)
+++ branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:24:00 UTC (rev 286700)
@@ -1,3 +1,46 @@
+2021-12-08  Alan Coon  
+
+Cherry-pick r286631. rdar://problem/85928816
+
+[Scroll Momentum Generator] Pages lose ability to momentum scroll after dragging between displays
+https://bugs.webkit.org/show_bug.cgi?id=233948
+rdar://86110813
+
+Reviewed by Tim Horton.
+
+This is a conservative fix for the bug. When a view moves to a new screen, WebPageProxy
+needs to unregister for full speed updates using the old displayID, and register
+using the new one.
+
+Longer term, it would be better if "full speed updates" was a per-observer concept,
+but that would mean registering an observer while wheel events are being received,
+which needs a bit more thought.
+
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::windowScreenDidChange):
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-07  Simon Fraser  
+
+[Scroll Momentum Generator] Pages lose ability to momentum scroll after dragging between displays
+https://bugs.webkit.org/show_bug.cgi?id=233948
+rdar://86110813
+
+Reviewed by Tim Horton.
+
+This is a conservative fix for the bug. When a view moves to a new screen, WebPageProxy
+needs to unregister for full speed updates using the old displayID, and register
+using the new one.
+
+Longer term, it would be better if "full speed updates" was a per-observer concept,
+but that would mean registering an observer while wheel events are being received,
+which needs a bit more thought.
+
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::windowScreenDidChange):
+
 2021-12-06  Alan Coon  
 
 Cherry-pick r286566. rdar://problem/85928816


Modified: branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.cpp (286699 => 286700)

--- branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-12-08 20:23:57 UTC (rev 286699)
+++ branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-12-08 20:24:00 UTC (rev 286700)
@@ -4002,6 +4002,13 @@
 
 void WebPageProxy::windowScreenDidChange(PlatformDisplayID displayID, std::optional nominalFramesPerSecond)
 {
+#if HAVE(CVDISPLAYLINK)
+if (hasRunningProcess() && m_displayID && m_registeredForFullSpeedUpdates)
+process().processPool().setDisplayLinkForDisplayWantsFullSpeedUpdates(*m_process->connection(), *m_displayID, false);
+
+m_registeredForFullSpeedUpdates = false;
+#endif
+
 m_displayID = displayID;
 
 if (!hasRunningProcess())
@@ -4009,6 +4016,9 @@
 
 send(Messages::EventDispatcher::PageScreenDidChange(m_webPageID, displayID));
 send(Messages::WebPage::WindowScreenDidChange(displayID, nominalFramesPerSecond));
+#if HAVE(CVDISPLAYLINK)
+updateDisplayLinkFrequency();
+#endif
 }
 
 float WebPageProxy::deviceScaleFactor() const






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


[webkit-changes] [286686] branches/safari-612-branch/Source/WebCore

2021-12-08 Thread alancoon
Title: [286686] branches/safari-612-branch/Source/WebCore








Revision 286686
Author alanc...@apple.com
Date 2021-12-08 12:23:16 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286411. rdar://problem/85928816

Scrolling complex websites can stutter: scrolling thread frame can fail to process wheel events
https://bugs.webkit.org/show_bug.cgi?id=233739
rdar://85946176

Reviewed by Tim Horton.

While the scrolling thread is chilling in
ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout(), waiting up to half a
frame to allow the main thread to handle the commit (for scroll synchronization), wheel
events may have been dispatched to the scrolling thread.

If we blow the timeout and commit anyway, we need to make sure we've handled these wheel
events first, so that the current frame can commit some layer movement. We can achieve this
by dispatching the applyLayerPositions(), which will enqueue it behind any waiting wheel
event dispatch from EventDispatcher::internalWheelEvent().

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::applyLayerPositions):
* page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout):

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

Modified Paths

branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/page/scrolling/ScrollingTree.cpp
branches/safari-612-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp




Diff

Modified: branches/safari-612-branch/Source/WebCore/ChangeLog (286685 => 286686)

--- branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-08 20:23:16 UTC (rev 286685)
+++ branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-08 20:23:16 UTC (rev 286686)
@@ -1,3 +1,53 @@
+2021-12-02  Russell Epstein  
+
+Cherry-pick r286411. rdar://problem/85928816
+
+Scrolling complex websites can stutter: scrolling thread frame can fail to process wheel events
+https://bugs.webkit.org/show_bug.cgi?id=233739
+rdar://85946176
+
+Reviewed by Tim Horton.
+
+While the scrolling thread is chilling in
+ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout(), waiting up to half a
+frame to allow the main thread to handle the commit (for scroll synchronization), wheel
+events may have been dispatched to the scrolling thread.
+
+If we blow the timeout and commit anyway, we need to make sure we've handled these wheel
+events first, so that the current frame can commit some layer movement. We can achieve this
+by dispatching the applyLayerPositions(), which will enqueue it behind any waiting wheel
+event dispatch from EventDispatcher::internalWheelEvent().
+
+* page/scrolling/ScrollingTree.cpp:
+(WebCore::ScrollingTree::applyLayerPositions):
+* page/scrolling/ThreadedScrollingTree.cpp:
+(WebCore::ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout):
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286411 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-01  Simon Fraser  
+
+Scrolling complex websites can stutter: scrolling thread frame can fail to process wheel events
+https://bugs.webkit.org/show_bug.cgi?id=233739
+rdar://85946176
+
+Reviewed by Tim Horton.
+
+While the scrolling thread is chilling in
+ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout(), waiting up to half a
+frame to allow the main thread to handle the commit (for scroll synchronization), wheel
+events may have been dispatched to the scrolling thread.
+
+If we blow the timeout and commit anyway, we need to make sure we've handled these wheel
+events first, so that the current frame can commit some layer movement. We can achieve this
+by dispatching the applyLayerPositions(), which will enqueue it behind any waiting wheel
+event dispatch from EventDispatcher::internalWheelEvent().
+
+* page/scrolling/ScrollingTree.cpp:
+(WebCore::ScrollingTree::applyLayerPositions):
+* page/scrolling/ThreadedScrollingTree.cpp:
+(WebCore::ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout):
+
 2021-12-01  Alan Coon  
 
 Cherry-pick r286352. rdar://problem/85928816


Modified: branches/safari-612-branch/Source/WebCore/page/scrolling/ScrollingTree.cpp (286685 => 286686)

--- branches/safari-612-branch/Source/WebCore/page/scrolling/ScrollingTree.cpp	2021-12-08 20:23:16 UTC (rev 286685)
+++ branches/safari-612-branch/Source/WebCore/page/scrolling/ScrollingTree.cpp	2021-12-08 20:23:16 UTC (rev 286686)
@@ -416,7 +416,6 @@
 
 void ScrollingTree::applyLayerPositions()
 {
-ASSERT(isMainThread());
 Locker locker { 

[webkit-changes] [286687] branches/safari-612-branch/Source/WebCore

2021-12-08 Thread alancoon
Title: [286687] branches/safari-612-branch/Source/WebCore








Revision 286687
Author alanc...@apple.com
Date 2021-12-08 12:23:20 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286410. rdar://problem/85928816

Scrolling complex websites can stutter: scrolling thread commit can get blocked on scroll synchronization
https://bugs.webkit.org/show_bug.cgi?id=233738
rdar://85880147

Reviewed by Tim Horton.

The scroll synchronization added in r261985 can cause dropped frames while scrolling. This
occurs when ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout(), which is
called at the start of a rendering update on the main thread, starts at a time when it will
delay the handling of displayDidRefreshOnScrollingThread(). This can result in delaying the
CA commit for that frame on the scrolling thread.

The solution is to clamp the duration that waitForRenderingUpdateCompletionOrTimeout() waits
on the condition, so that it doesn't exceed the next expected display refresh time.

* page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout):
(WebCore::ThreadedScrollingTree::displayDidRefreshOnScrollingThread):
* page/scrolling/ThreadedScrollingTree.h:

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

Modified Paths

branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp
branches/safari-612-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.h




Diff

Modified: branches/safari-612-branch/Source/WebCore/ChangeLog (286686 => 286687)

--- branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-08 20:23:16 UTC (rev 286686)
+++ branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-08 20:23:20 UTC (rev 286687)
@@ -1,5 +1,53 @@
 2021-12-02  Russell Epstein  
 
+Cherry-pick r286410. rdar://problem/85928816
+
+Scrolling complex websites can stutter: scrolling thread commit can get blocked on scroll synchronization
+https://bugs.webkit.org/show_bug.cgi?id=233738
+rdar://85880147
+
+Reviewed by Tim Horton.
+
+The scroll synchronization added in r261985 can cause dropped frames while scrolling. This
+occurs when ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout(), which is
+called at the start of a rendering update on the main thread, starts at a time when it will
+delay the handling of displayDidRefreshOnScrollingThread(). This can result in delaying the
+CA commit for that frame on the scrolling thread.
+
+The solution is to clamp the duration that waitForRenderingUpdateCompletionOrTimeout() waits
+on the condition, so that it doesn't exceed the next expected display refresh time.
+
+* page/scrolling/ThreadedScrollingTree.cpp:
+(WebCore::ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout):
+(WebCore::ThreadedScrollingTree::displayDidRefreshOnScrollingThread):
+* page/scrolling/ThreadedScrollingTree.h:
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286410 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-01  Simon Fraser  
+
+Scrolling complex websites can stutter: scrolling thread commit can get blocked on scroll synchronization
+https://bugs.webkit.org/show_bug.cgi?id=233738
+rdar://85880147
+
+Reviewed by Tim Horton.
+
+The scroll synchronization added in r261985 can cause dropped frames while scrolling. This
+occurs when ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout(), which is
+called at the start of a rendering update on the main thread, starts at a time when it will
+delay the handling of displayDidRefreshOnScrollingThread(). This can result in delaying the
+CA commit for that frame on the scrolling thread.
+
+The solution is to clamp the duration that waitForRenderingUpdateCompletionOrTimeout() waits
+on the condition, so that it doesn't exceed the next expected display refresh time.
+
+* page/scrolling/ThreadedScrollingTree.cpp:
+(WebCore::ThreadedScrollingTree::waitForRenderingUpdateCompletionOrTimeout):
+(WebCore::ThreadedScrollingTree::displayDidRefreshOnScrollingThread):
+* page/scrolling/ThreadedScrollingTree.h:
+
+2021-12-02  Russell Epstein  
+
 Cherry-pick r286411. rdar://problem/85928816
 
 Scrolling complex websites can stutter: scrolling thread frame can fail to process wheel events


Modified: branches/safari-612-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp (286686 => 286687)

--- branches/safari-612-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp	2021-12-08 20:23:16 UTC (rev 286686)
+++ 

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

2021-12-08 Thread alancoon
Title: [286683] branches/safari-612-branch/Source








Revision 286683
Author alanc...@apple.com
Date 2021-12-08 12:23:10 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286346. rdar://problem/85928816

Add a momentum event synthesizer
https://bugs.webkit.org/show_bug.cgi?id=233653


Reviewed by Simon Fraser.

Source/WebCore/PAL:

* pal/spi/mac/IOKitSPIMac.h:
Add some SPI.

Source/WebKit:

* Platform/Logging.h:
Add ScrollAnimations log channel to WebKit (it already exists in WebCore).

* Shared/ScrollingAccelerationCurve.cpp: Added.
(WebKit::ScrollingAccelerationCurve::ScrollingAccelerationCurve):
(WebKit::ScrollingAccelerationCurve::interpolate):
(WebKit::ScrollingAccelerationCurve::computeIntermediateValuesIfNeeded):
(WebKit::ScrollingAccelerationCurve::evaluateQuartic):
(WebKit::ScrollingAccelerationCurve::accelerationFactor):
(WebKit::ScrollingAccelerationCurve::encode const):
(WebKit::ScrollingAccelerationCurve::decode):
(WebKit::operator<<):
(WebKit::ScrollingAccelerationCurve::fromNativeWheelEvent):
* Shared/ScrollingAccelerationCurve.h: Added.
(WebKit::ScrollingAccelerationCurve::operator== const):
(WebKit::ScrollingAccelerationCurve::operator!= const):
Add a class that represents a quartic scrolling acceleration curve with
a trailing linear tangent region, and allows interpolation between curves
and evaluation of the curve at a point.

* Shared/mac/ScrollingAccelerationCurveMac.mm: Added.
(WebKit::fromFixedPoint):
(WebKit::readFixedPointParameter):
(WebKit::fromIOHIDCurve):
(WebKit::fromIOHIDCurveArrayWithAcceleration):
(WebKit::ScrollingAccelerationCurve::fromNativeWheelEvent):
Given a NativeWebWheelEvent, extract its underlying platform event
and fetch the ScrollingAccelerationCurve for the originating device.

* Sources.txt:
* SourcesCocoa.txt:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleWheelEvent):
Fetch the current ScrollingAccelerationCurve on each momentum begin event,
if the feature is enabled.

(WebKit::WebPageProxy::sendWheelEvent):
Send the ScrollingAccelerationCurve to EventDispatcher just before
we send the momentum begin event along, if it has changed.

(WebKit::WebPageProxy::windowScreenDidChange):
Keep EventDispatcher apprised of changes to the current screen of the page.

(WebKit::WebPageProxy::resetState):
* UIProcess/WebPageProxy.h:
* WebKit.xcodeproj/project.pbxproj:
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::EventDispatcher):
(WebKit::EventDispatcher::internalWheelEvent):
Factor most of wheelEvent out into internalWheelEvent, so that
MomentumEventDispatcher can call internalWheelEvent(), skipping the code
in wheelEvent() that forwards the event... to MomentumEventDispatcher.

Also, keep track of where the event came from (UI process or MomentumEventDispatcher)
and avoid sending didReceiveEvent replies to the UI process for synthetic
events that it doesn't know about.

(WebKit::EventDispatcher::wheelEvent):
Forward wheel events to MomentumEventDispatcher.

(WebKit::EventDispatcher::setScrollingAccelerationCurve):
Forward scrolling curve changes to MomentumEventDispatcher.

(WebKit::EventDispatcher::displayWasRefreshed):
Forward display refresh callbacks to MomentumEventDispatcher.

(WebKit::EventDispatcher::windowScreenDidChange):
Forward page screen changes to MomentumEventDispatcher.

* WebProcess/WebPage/EventDispatcher.h:
* WebProcess/WebPage/EventDispatcher.messages.in:

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::wheelEvent):
(WebKit::WebPage::dispatchWheelEventWithoutScrolling):
* WebProcess/WebPage/WebPage.h:
Don't send didReceiveEvent for synthetic events from the main thread either.

* WebProcess/WebPage/MomentumEventDispatcher.cpp: Added.
(WebKit::MomentumEventDispatcher::MomentumEventDispatcher):
(WebKit::MomentumEventDispatcher::~MomentumEventDispatcher):
(WebKit::MomentumEventDispatcher::eventShouldStartSyntheticMomentumPhase const):
If we have everything we need (a scrolling curve - which also implies
that the setting is enabled - and raw platform deltas), and the event
is a momentum begin event, we can use it to start a synthetic momentum phase.

(WebKit::MomentumEventDispatcher::handleWheelEvent):
Start or stop the momentum phase as appropriate.
Record any incoming fingers-down phase events in a rolling event history structure.
Block platform-event-driven events from being further handled by WebKit
if we are inside a synthetic momentum phase, since we'll be replacing them.

(WebKit::appKitScrollMultiplierForEvent):
Determine the AppKit scroll muliplier ("accelerated" vs "unaccelerated"
deltas in NSEvent parlance) from the event via division.


[webkit-changes] [286684] branches/safari-612-branch/Source/WebCore

2021-12-08 Thread alancoon
Title: [286684] branches/safari-612-branch/Source/WebCore








Revision 286684
Author alanc...@apple.com
Date 2021-12-08 12:23:13 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286352. rdar://problem/85928816

Custom application of r286352 to introduce frameDuration() for a future patch.

Pass the timestamp for scrolling thread animations through all the serviceScrollAnimation() calls
https://bugs.webkit.org/show_bug.cgi?id=233678

Reviewed by Tim Horton.

Source/WebCore:

All scroll animations serviced at the same time should use a common timestamp, and
avoid multiple calls to MonotonicTime::now() by passing the time down through from
ThreadedScrollingTree::displayDidRefreshOnScrollingThread().

Also minor refactoring in ThreadedScrollingTree to prepare for a future patch.

* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::nominalFramesPerSecond):
* page/scrolling/ScrollingTreeScrollingNode.h:
* page/scrolling/ScrollingTreeScrollingNodeDelegate.h:
* page/scrolling/ThreadedScrollingTree.cpp:
(WebCore::ThreadedScrollingTree::frameDuration):
(WebCore::ThreadedScrollingTree::maxAllowableRenderingUpdateDurationForSynchronization):
(WebCore::ThreadedScrollingTree::serviceScrollAnimations):
(WebCore::ThreadedScrollingTree::displayDidRefreshOnScrollingThread):
* page/scrolling/ThreadedScrollingTree.h:
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
(WebCore::ScrollingTreeFrameScrollingNodeMac::serviceScrollAnimation):
* page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.h:
* page/scrolling/mac/ScrollingTreeOverflowScrollingNodeMac.mm:
(WebCore::ScrollingTreeOverflowScrollingNodeMac::serviceScrollAnimation):
* page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.h:
* page/scrolling/mac/ScrollingTreeScrollingNodeDelegateMac.mm:
(WebCore::ScrollingTreeScrollingNodeDelegateMac::serviceScrollAnimation):
* page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeFrameScrollingNodeNicosia::serviceScrollAnimation):
* page/scrolling/nicosia/ScrollingTreeFrameScrollingNodeNicosia.h:
* page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.cpp:
(WebCore::ScrollingTreeOverflowScrollingNodeNicosia::serviceScrollAnimation):
* page/scrolling/nicosia/ScrollingTreeOverflowScrollingNodeNicosia.h:
* page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.cpp:
(WebCore::ScrollingTreeScrollingNodeDelegateNicosia::serviceScrollAnimation):
* page/scrolling/nicosia/ScrollingTreeScrollingNodeDelegateNicosia.h:

Source/WebKit:

* UIProcess/RemoteLayerTree/ios/ScrollingTreeScrollingNodeDelegateIOS.h:

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

Modified Paths

branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/page/scrolling/ScrollingTree.cpp
branches/safari-612-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.cpp
branches/safari-612-branch/Source/WebCore/page/scrolling/ThreadedScrollingTree.h




Diff

Modified: branches/safari-612-branch/Source/WebCore/ChangeLog (286683 => 286684)

--- branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-08 20:23:10 UTC (rev 286683)
+++ branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-08 20:23:13 UTC (rev 286684)
@@ -1,5 +1,78 @@
 2021-12-01  Alan Coon  
 
+Cherry-pick r286352. rdar://problem/85928816
+
+Custom application of r286352 to introduce frameDuration() for a future patch.
+
+Pass the timestamp for scrolling thread animations through all the serviceScrollAnimation() calls
+https://bugs.webkit.org/show_bug.cgi?id=233678
+
+Reviewed by Tim Horton.
+
+Source/WebCore:
+
+All scroll animations serviced at the same time should use a common timestamp, and
+avoid multiple calls to MonotonicTime::now() by passing the time down through from
+ThreadedScrollingTree::displayDidRefreshOnScrollingThread().
+
+Also minor refactoring in ThreadedScrollingTree to prepare for a future patch.
+
+* page/scrolling/ScrollingTree.cpp:
+(WebCore::ScrollingTree::nominalFramesPerSecond):
+* page/scrolling/ScrollingTreeScrollingNode.h:
+* page/scrolling/ScrollingTreeScrollingNodeDelegate.h:
+* page/scrolling/ThreadedScrollingTree.cpp:
+(WebCore::ThreadedScrollingTree::frameDuration):
+(WebCore::ThreadedScrollingTree::maxAllowableRenderingUpdateDurationForSynchronization):
+(WebCore::ThreadedScrollingTree::serviceScrollAnimations):
+(WebCore::ThreadedScrollingTree::displayDidRefreshOnScrollingThread):
+* page/scrolling/ThreadedScrollingTree.h:
+* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.h:
+* page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
+

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

2021-12-08 Thread alancoon
Title: [286682] branches/safari-612-branch/Source








Revision 286682
Author alanc...@apple.com
Date 2021-12-08 12:23:02 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r283353. rdar://problem/85928816

Simplify some scrolling-related code in WebKit with use of RectEdges
https://bugs.webkit.org/show_bug.cgi?id=231037

Reviewed by Tim Horton.

Source/WebCore:

Export edgePinnedState().

* platform/ScrollableArea.h:

Source/WebKit:

Use RectEdges in code that tracks rubber banding state, and edge pinned state.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder>::encode):
(IPC::ArgumentCoder>::decode):
* Shared/WebCoreArgumentCoders.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageIsPinnedToLeftSide):
(WKPageIsPinnedToRightSide):
(WKPageIsPinnedToTopSide):
(WKPageIsPinnedToBottomSide):
(WKPageRubberBandsAtLeft):
(WKPageRubberBandsAtRight):
(WKPageRubberBandsAtTop):
(WKPageRubberBandsAtBottom):
* UIProcess/Cocoa/WebViewImpl.mm:
(WebKit::toWKRectEdge):
(WebKit::toRectEdges):
(WebKit::WebViewImpl::pinnedState):
(WebKit::WebViewImpl::rubberBandingEnabled):
(WebKit::WebViewImpl::setRubberBandingEnabled):
* UIProcess/ViewGestureController.cpp:
(WebKit::ViewGestureController::PendingSwipeTracker::scrollEventCanBecomeSwipe):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::sendWheelEvent):
(WebKit::WebPageProxy::setRubberBandsAtLeft):
(WebKit::WebPageProxy::setRubberBandsAtRight):
(WebKit::WebPageProxy::setRubberBandsAtTop):
(WebKit::WebPageProxy::setRubberBandsAtBottom):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::resetState):
(WebKit::WebPageProxy::didChangeScrollOffsetPinningForMainFrame):
(WebKit::WebPageProxy::rubberBandsAtLeft const): Deleted.
(WebKit::WebPageProxy::rubberBandsAtRight const): Deleted.
(WebKit::WebPageProxy::rubberBandsAtTop const): Deleted.
(WebKit::WebPageProxy::rubberBandsAtBottom const): Deleted.
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::wheelEvent):
* WebProcess/WebPage/EventDispatcher.h:
* WebProcess/WebPage/EventDispatcher.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updateMainFrameScrollOffsetPinning):
* WebProcess/WebPage/WebPage.h:

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

Modified Paths

branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/platform/ScrollableArea.h
branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/Shared/WebCoreArgumentCoders.cpp
branches/safari-612-branch/Source/WebKit/Shared/WebCoreArgumentCoders.h
branches/safari-612-branch/Source/WebKit/UIProcess/API/C/WKPage.cpp
branches/safari-612-branch/Source/WebKit/UIProcess/Cocoa/WebViewImpl.mm
branches/safari-612-branch/Source/WebKit/UIProcess/ViewGestureController.cpp
branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.cpp
branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.h
branches/safari-612-branch/Source/WebKit/UIProcess/WebPageProxy.messages.in
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/EventDispatcher.cpp
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/EventDispatcher.h
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/EventDispatcher.messages.in
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/WebPage.cpp
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/WebPage.h




Diff

Modified: branches/safari-612-branch/Source/WebCore/ChangeLog (286681 => 286682)

--- branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-08 20:22:57 UTC (rev 286681)
+++ branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-08 20:23:02 UTC (rev 286682)
@@ -1,5 +1,81 @@
 2021-12-01  Alan Coon  
 
+Cherry-pick r283353. rdar://problem/85928816
+
+Simplify some scrolling-related code in WebKit with use of RectEdges
+https://bugs.webkit.org/show_bug.cgi?id=231037
+
+Reviewed by Tim Horton.
+
+Source/WebCore:
+
+Export edgePinnedState().
+
+* platform/ScrollableArea.h:
+
+Source/WebKit:
+
+Use RectEdges in code that tracks rubber banding state, and edge pinned state.
+
+* Shared/WebCoreArgumentCoders.cpp:
+(IPC::ArgumentCoder>::encode):
+(IPC::ArgumentCoder>::decode):
+* Shared/WebCoreArgumentCoders.h:
+* UIProcess/API/C/WKPage.cpp:
+(WKPageIsPinnedToLeftSide):
+(WKPageIsPinnedToRightSide):
+(WKPageIsPinnedToTopSide):
+(WKPageIsPinnedToBottomSide):
+(WKPageRubberBandsAtLeft):
+(WKPageRubberBandsAtRight):
+(WKPageRubberBandsAtTop):
+(WKPageRubberBandsAtBottom):
+* UIProcess/Cocoa/WebViewImpl.mm:
+(WebKit::toWKRectEdge):
+

[webkit-changes] [286685] branches/safari-612.4.2.0-branch/Source

2021-12-08 Thread repstein
Title: [286685] branches/safari-612.4.2.0-branch/Source








Revision 286685
Author repst...@apple.com
Date 2021-12-08 12:23:16 -0800 (Wed, 08 Dec 2021)


Log Message
Versioning.

WebKit-7612.4.2.0.1

Modified Paths

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




Diff

Modified: branches/safari-612.4.2.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig (286684 => 286685)

--- branches/safari-612.4.2.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-12-08 20:23:13 UTC (rev 286684)
+++ branches/safari-612.4.2.0-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-12-08 20:23:16 UTC (rev 286685)
@@ -25,8 +25,8 @@
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
 MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-612.4.2.0-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (286684 => 286685)

--- branches/safari-612.4.2.0-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-12-08 20:23:13 UTC (rev 286684)
+++ branches/safari-612.4.2.0-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-12-08 20:23:16 UTC (rev 286685)
@@ -25,8 +25,8 @@
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
 MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-612.4.2.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (286684 => 286685)

--- branches/safari-612.4.2.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-12-08 20:23:13 UTC (rev 286684)
+++ branches/safari-612.4.2.0-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-12-08 20:23:16 UTC (rev 286685)
@@ -25,8 +25,8 @@
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
 MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-612.4.2.0-branch/Source/WebCore/Configurations/Version.xcconfig (286684 => 286685)

--- branches/safari-612.4.2.0-branch/Source/WebCore/Configurations/Version.xcconfig	2021-12-08 20:23:13 UTC (rev 286684)
+++ branches/safari-612.4.2.0-branch/Source/WebCore/Configurations/Version.xcconfig	2021-12-08 20:23:16 UTC (rev 286685)
@@ -25,8 +25,8 @@
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
 MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = $(BUNDLE_VERSION_$(CONFIGURATION));


Modified: branches/safari-612.4.2.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (286684 => 286685)

--- branches/safari-612.4.2.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-12-08 20:23:13 UTC (rev 286684)
+++ branches/safari-612.4.2.0-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-12-08 20:23:16 UTC (rev 286685)
@@ -25,8 +25,8 @@
 MINOR_VERSION = 4;
 TINY_VERSION = 2;
 MICRO_VERSION = 0;
-NANO_VERSION = 0;
-FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);
+NANO_VERSION = 1;
+FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION).$(MICRO_VERSION).$(NANO_VERSION);
 
 // The bundle version and short version string are set based on the current build configuration, see below.
 BUNDLE_VERSION = 

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

2021-12-08 Thread alancoon
Title: [286679] branches/safari-612-branch/Source








Revision 286679
Author alanc...@apple.com
Date 2021-12-08 12:22:51 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286270. rdar://problem/85928816

Plumb raw platform scrolling deltas along in wheel events
https://bugs.webkit.org/show_bug.cgi?id=233583

Reviewed by Simon Fraser.

Source/WebCore:

* platform/PlatformWheelEvent.cpp:
(WebCore::PlatformWheelEvent::createFromGesture):
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::rawPlatformDelta const):
* PAL/pal/spi/mac/IOKitSPIMac.h:

Source/WebKit:

* Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
* Shared/WebWheelEvent.cpp:
(WebKit::WebWheelEvent::WebWheelEvent):
(WebKit::WebWheelEvent::encode const):
(WebKit::WebWheelEvent::decode):
* Shared/WebWheelEvent.h:
(WebKit::WebWheelEvent::rawPlatformDelta const):
* Shared/WebWheelEventCoalescer.cpp:
(WebKit::WebWheelEventCoalescer::coalesce):
* Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebWheelEvent):
Extract and plumb raw unaccelerated (in the HID sense) deltas in scroll
events for use in a future patch.

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

Modified Paths

branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h
branches/safari-612-branch/Source/WebCore/platform/PlatformWheelEvent.cpp
branches/safari-612-branch/Source/WebCore/platform/PlatformWheelEvent.h
branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/Shared/WebEventConversion.cpp
branches/safari-612-branch/Source/WebKit/Shared/WebWheelEvent.cpp
branches/safari-612-branch/Source/WebKit/Shared/WebWheelEvent.h
branches/safari-612-branch/Source/WebKit/Shared/WebWheelEventCoalescer.cpp
branches/safari-612-branch/Source/WebKit/Shared/mac/WebEventFactory.mm




Diff

Modified: branches/safari-612-branch/Source/WebCore/ChangeLog (286678 => 286679)

--- branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-08 20:22:46 UTC (rev 286678)
+++ branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-08 20:22:51 UTC (rev 286679)
@@ -1,5 +1,55 @@
 2021-12-01  Alan Coon  
 
+Cherry-pick r286270. rdar://problem/85928816
+
+Plumb raw platform scrolling deltas along in wheel events
+https://bugs.webkit.org/show_bug.cgi?id=233583
+
+Reviewed by Simon Fraser.
+
+Source/WebCore:
+
+* platform/PlatformWheelEvent.cpp:
+(WebCore::PlatformWheelEvent::createFromGesture):
+* platform/PlatformWheelEvent.h:
+(WebCore::PlatformWheelEvent::rawPlatformDelta const):
+* PAL/pal/spi/mac/IOKitSPIMac.h:
+
+Source/WebKit:
+
+* Shared/WebEventConversion.cpp:
+(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
+* Shared/WebWheelEvent.cpp:
+(WebKit::WebWheelEvent::WebWheelEvent):
+(WebKit::WebWheelEvent::encode const):
+(WebKit::WebWheelEvent::decode):
+* Shared/WebWheelEvent.h:
+(WebKit::WebWheelEvent::rawPlatformDelta const):
+* Shared/WebWheelEventCoalescer.cpp:
+(WebKit::WebWheelEventCoalescer::coalesce):
+* Shared/mac/WebEventFactory.mm:
+(WebKit::WebEventFactory::createWebWheelEvent):
+Extract and plumb raw unaccelerated (in the HID sense) deltas in scroll
+events for use in a future patch.
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286270 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-11-29  Tim Horton  
+
+Plumb raw platform scrolling deltas along in wheel events
+https://bugs.webkit.org/show_bug.cgi?id=233583
+
+Reviewed by Simon Fraser.
+
+* platform/PlatformWheelEvent.cpp:
+(WebCore::PlatformWheelEvent::createFromGesture):
+* platform/PlatformWheelEvent.h:
+(WebCore::PlatformWheelEvent::rawPlatformDelta const):
+* PAL/pal/spi/mac/IOKitSPIMac.h:
+
+2021-12-01  Alan Coon  
+
 Cherry-pick r285790. rdar://problem/85928816
 
 Attach IOHIDEvent timestamps to wheel events


Modified: branches/safari-612-branch/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h (286678 => 286679)

--- branches/safari-612-branch/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h	2021-12-08 20:22:46 UTC (rev 286678)
+++ branches/safari-612-branch/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h	2021-12-08 20:22:51 UTC (rev 286679)
@@ -83,7 +83,22 @@
 };
 typedef uint32_t IOHIDEventType;
 
+typedef uint32_t IOHIDEventField;
+
+#ifdef __LP64__
+typedef double IOHIDFloat;
+#else
+typedef float IOHIDFloat;
+#endif
+
+#define IOHIDEventFieldBase(type) (type << 16)
+
+#define kIOHIDEventFieldScrollBase IOHIDEventFieldBase(kIOHIDEventTypeScroll)
+static const IOHIDEventField kIOHIDEventFieldScrollX = (kIOHIDEventFieldScrollBase | 0);

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

2021-12-08 Thread alancoon
Title: [286690] branches/safari-612-branch/Source








Revision 286690
Author alanc...@apple.com
Date 2021-12-08 12:23:29 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286481. rdar://problem/85928816

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

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

Modified Paths

branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/platform/graphics/DisplayRefreshMonitor.cpp
branches/safari-612-branch/Source/WebCore/platform/graphics/DisplayRefreshMonitor.h
branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/RemoteLayerTree/RemoteLayerTreeDisplayRefreshMonitor.mm
branches/safari-612-branch/Source/WebKit/WebProcess/WebPage/mac/DisplayRefreshMonitorMac.cpp




Diff

Modified: branches/safari-612-branch/Source/WebCore/ChangeLog (286689 => 286690)

--- branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-08 20:23:25 UTC (rev 286689)
+++ branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-08 20:23:29 UTC (rev 286690)
@@ -1,3 +1,87 @@
+2021-12-03  Russell Epstein  
+
+Cherry-pick r286481. rdar://problem/85928816
+
+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):
+

[webkit-changes] [286681] branches/safari-612-branch/Tools

2021-12-08 Thread alancoon
Title: [286681] branches/safari-612-branch/Tools








Revision 286681
Author alanc...@apple.com
Date 2021-12-08 12:22:57 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286368. rdar://problem/85928816

REGRESSION (r286346): ResourceLoadDelegate.LoadInfo fails
https://bugs.webkit.org/show_bug.cgi?id=233689

Reviewed by Simon Fraser.

* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
This test asserts that archiving a _WKResourceLoadInfo via NSKeyedArchiver
encodes to a particular size (607 bytes).

If you look at the resultant plist before r286346, the encoded frameID
and resourceLoadID have the same value, and because of NSKeyedArchiver
deduplication, share the same object.

If you look at the resultant plist *after* r286346, the encoded frameID
is one larger than the resourceLoadID, thus cannot be deduplicated, and
end up encoding as separate objects. This results in the encoded size
increasing to 612 bytes.

The reason that the encoded frameID is now one value larger is that
ObjectIdentifier uses a global identifier pool, and r286346 creates
one more ObjectIdentifier during EventHandler construction, destroying
our entirely coincidental ID overlap, and causing the aforementioned
encoded size change.

Remove this assertion from the test, since it is very aggressive and
seems unnecessary. We could instead just rebaseline the test, but it
seems insufficiently important to burden some future developer with
a repeat of this evening of exploration and discovery.

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

Modified Paths

branches/safari-612-branch/Tools/ChangeLog
branches/safari-612-branch/Tools/TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm




Diff

Modified: branches/safari-612-branch/Tools/ChangeLog (286680 => 286681)

--- branches/safari-612-branch/Tools/ChangeLog	2021-12-08 20:22:54 UTC (rev 286680)
+++ branches/safari-612-branch/Tools/ChangeLog	2021-12-08 20:22:57 UTC (rev 286681)
@@ -1,3 +1,70 @@
+2021-12-01  Alan Coon  
+
+Cherry-pick r286368. rdar://problem/85928816
+
+REGRESSION (r286346): ResourceLoadDelegate.LoadInfo fails
+https://bugs.webkit.org/show_bug.cgi?id=233689
+
+Reviewed by Simon Fraser.
+
+* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
+This test asserts that archiving a _WKResourceLoadInfo via NSKeyedArchiver
+encodes to a particular size (607 bytes).
+
+If you look at the resultant plist before r286346, the encoded frameID
+and resourceLoadID have the same value, and because of NSKeyedArchiver
+deduplication, share the same object.
+
+If you look at the resultant plist *after* r286346, the encoded frameID
+is one larger than the resourceLoadID, thus cannot be deduplicated, and
+end up encoding as separate objects. This results in the encoded size
+increasing to 612 bytes.
+
+The reason that the encoded frameID is now one value larger is that
+ObjectIdentifier uses a global identifier pool, and r286346 creates
+one more ObjectIdentifier during EventHandler construction, destroying
+our entirely coincidental ID overlap, and causing the aforementioned
+encoded size change.
+
+Remove this assertion from the test, since it is very aggressive and
+seems unnecessary. We could instead just rebaseline the test, but it
+seems insufficiently important to burden some future developer with
+a repeat of this evening of exploration and discovery.
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286368 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-01  Tim Horton  
+
+REGRESSION (r286346): ResourceLoadDelegate.LoadInfo fails
+https://bugs.webkit.org/show_bug.cgi?id=233689
+
+Reviewed by Simon Fraser.
+
+* TestWebKitAPI/Tests/WebKitCocoa/ResourceLoadDelegate.mm:
+This test asserts that archiving a _WKResourceLoadInfo via NSKeyedArchiver
+encodes to a particular size (607 bytes).
+
+If you look at the resultant plist before r286346, the encoded frameID
+and resourceLoadID have the same value, and because of NSKeyedArchiver
+deduplication, share the same object.
+
+If you look at the resultant plist *after* r286346, the encoded frameID
+is one larger than the resourceLoadID, thus cannot be deduplicated, and
+end up encoding as separate objects. This results in the encoded size
+increasing to 612 bytes.
+
+The reason that the encoded frameID is now one value larger is that
+ObjectIdentifier uses a global identifier pool, and r286346 creates
+one more ObjectIdentifier during EventHandler construction, destroying
+our entirely coincidental ID overlap, and causing the 

[webkit-changes] [286677] branches/safari-612-branch/Source/WebCore

2021-12-08 Thread alancoon
Title: [286677] branches/safari-612-branch/Source/WebCore








Revision 286677
Author alanc...@apple.com
Date 2021-12-08 12:22:39 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r285786. rdar://problem/85928816

Clean up IOKit SPI headers
https://bugs.webkit.org/show_bug.cgi?id=233093

Reviewed by Simon Fraser.

Source/WebCore:

* platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
* platform/gamepad/mac/HIDGamepadProvider.h:
* platform/gamepad/mac/HIDGamepadProvider.mm:

Source/WebCore/PAL:

* PAL.xcodeproj/project.pbxproj:
* pal/spi/cg/CoreGraphicsSPI.h:
* pal/spi/cocoa/IOKitSPI.h:
* pal/spi/ios/IOKitSPIIOS.h: Added.
* pal/spi/mac/IOKitSPIMac.h:
IOKit vends a much different set of public API on iOS vs. macOS,
so we have separate SPI headers to reduce the confusion.

Unfortunately, the SPI header for iOS was not explicitly named as such,
and started being used in some macOS code. For a while, this didn't lead
to any trouble because the aforementioned macOS code didn't ALSO have
the public SDK headers included, but a future patch from Simon will
use IOKitSPI.h in a place where the macOS IOKit public headers are included,
and thus we must make the split more explicit.

Rename IOKitSPI.h to IOKitSPIIOS.h; make IOKitSPI choose the right one.
Add some SPI defintions to IOKitSPIMac.h that were missing (which the
dependent code was getting via the iOS header on macOS).

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

Modified Paths

branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/PAL/ChangeLog
branches/safari-612-branch/Source/WebCore/PAL/PAL.xcodeproj/project.pbxproj
branches/safari-612-branch/Source/WebCore/PAL/pal/spi/cocoa/IOKitSPI.h
branches/safari-612-branch/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h
branches/safari-612-branch/Source/WebCore/platform/gamepad/cocoa/GameControllerGamepadProvider.mm
branches/safari-612-branch/Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.h
branches/safari-612-branch/Source/WebCore/platform/gamepad/mac/HIDGamepadProvider.mm


Added Paths

branches/safari-612-branch/Source/WebCore/PAL/pal/spi/ios/IOKitSPIIOS.h




Diff

Modified: branches/safari-612-branch/Source/WebCore/ChangeLog (286676 => 286677)

--- branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-08 20:20:40 UTC (rev 286676)
+++ branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-08 20:22:39 UTC (rev 286677)
@@ -1,3 +1,53 @@
+2021-12-01  Alan Coon  
+
+Cherry-pick r285786. rdar://problem/85928816
+
+Clean up IOKit SPI headers
+https://bugs.webkit.org/show_bug.cgi?id=233093
+
+Reviewed by Simon Fraser.
+
+Source/WebCore:
+
+* platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
+* platform/gamepad/mac/HIDGamepadProvider.h:
+* platform/gamepad/mac/HIDGamepadProvider.mm:
+
+Source/WebCore/PAL:
+
+* PAL.xcodeproj/project.pbxproj:
+* pal/spi/cg/CoreGraphicsSPI.h:
+* pal/spi/cocoa/IOKitSPI.h:
+* pal/spi/ios/IOKitSPIIOS.h: Added.
+* pal/spi/mac/IOKitSPIMac.h:
+IOKit vends a much different set of public API on iOS vs. macOS,
+so we have separate SPI headers to reduce the confusion.
+
+Unfortunately, the SPI header for iOS was not explicitly named as such,
+and started being used in some macOS code. For a while, this didn't lead
+to any trouble because the aforementioned macOS code didn't ALSO have
+the public SDK headers included, but a future patch from Simon will
+use IOKitSPI.h in a place where the macOS IOKit public headers are included,
+and thus we must make the split more explicit.
+
+Rename IOKitSPI.h to IOKitSPIIOS.h; make IOKitSPI choose the right one.
+Add some SPI defintions to IOKitSPIMac.h that were missing (which the
+dependent code was getting via the iOS header on macOS).
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@285786 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-11-13  Tim Horton  
+
+Clean up IOKit SPI headers
+https://bugs.webkit.org/show_bug.cgi?id=233093
+
+Reviewed by Simon Fraser.
+
+* platform/gamepad/cocoa/GameControllerGamepadProvider.mm:
+* platform/gamepad/mac/HIDGamepadProvider.h:
+* platform/gamepad/mac/HIDGamepadProvider.mm:
+
 2021-12-06  Ryan Haddad  
 
 Unreviewed, fix the debug build.


Modified: branches/safari-612-branch/Source/WebCore/PAL/ChangeLog (286676 => 286677)

--- branches/safari-612-branch/Source/WebCore/PAL/ChangeLog	2021-12-08 20:20:40 UTC (rev 286676)
+++ branches/safari-612-branch/Source/WebCore/PAL/ChangeLog	2021-12-08 20:22:39 UTC (rev 286677)
@@ -1,3 +1,68 @@
+2021-12-01  Alan Coon  
+
+Cherry-pick r285786. rdar://problem/85928816
+
+Clean up IOKit SPI headers
+

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

2021-12-08 Thread alancoon
Title: [286678] branches/safari-612-branch/Source








Revision 286678
Author alanc...@apple.com
Date 2021-12-08 12:22:46 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r285790. rdar://problem/85928816

Attach IOHIDEvent timestamps to wheel events
https://bugs.webkit.org/show_bug.cgi?id=233051

Reviewed by Wenson Hsieh.
Source/WebCore:

On some macOS devices, there can be significant deltas between NSEvent timestamps,
and the timestamps on underlying IOHIDEvents (rdar://85309639). This makes momentum
velocity computation unpredictable; we can get better results by using IOHIDEvent
timestamps.

* platform/PlatformWheelEvent.cpp:
(WebCore::PlatformWheelEvent::createFromGesture):
* platform/PlatformWheelEvent.h:
(WebCore::PlatformWheelEvent::ioHIDEventTimestamp const):
* platform/mac/PlatformEventFactoryMac.h:
* platform/mac/PlatformEventFactoryMac.mm:
(WebCore::eventTimeStampSince1970):
(WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
(WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
(WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):

Source/WebCore/PAL:

Expose a few bits of SPI needed.

* pal/spi/cg/CoreGraphicsSPI.h:
* pal/spi/cocoa/IOKitSPI.h:

Source/WebKit:

On some macOS devices, there can be significant deltas between NSEvent timestamps,
and the timestamps on underlying IOHIDEvents (rdar://85309639). This makes momentum
velocity computation unpredictable; we can get better results by using IOHIDEvent
timestamps.

* Shared/WebEventConversion.cpp:
(WebKit::WebKit2PlatformWheelEvent::WebKit2PlatformWheelEvent):
* Shared/WebWheelEvent.cpp:
(WebKit::WebWheelEvent::WebWheelEvent):
(WebKit::WebWheelEvent::encode const):
(WebKit::WebWheelEvent::decode):
* Shared/WebWheelEvent.h:
(WebKit::WebWheelEvent::ioHIDEventTimestamp const):
* Shared/WebWheelEventCoalescer.cpp:
(WebKit::WebWheelEventCoalescer::coalesce):
* Shared/ios/WebIOSEventFactory.mm:
(WebIOSEventFactory::createWebWheelEvent):
* Shared/mac/NativeWebGestureEventMac.mm:
* Shared/mac/WebEventFactory.mm:
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
(WebKit::WebEventFactory::createWebKeyboardEvent):

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

Modified Paths

branches/safari-612-branch/Source/WebCore/ChangeLog
branches/safari-612-branch/Source/WebCore/PAL/ChangeLog
branches/safari-612-branch/Source/WebCore/PAL/pal/spi/cg/CoreGraphicsSPI.h
branches/safari-612-branch/Source/WebCore/PAL/pal/spi/mac/IOKitSPIMac.h
branches/safari-612-branch/Source/WebCore/platform/PlatformWheelEvent.cpp
branches/safari-612-branch/Source/WebCore/platform/PlatformWheelEvent.h
branches/safari-612-branch/Source/WebCore/platform/mac/PlatformEventFactoryMac.h
branches/safari-612-branch/Source/WebCore/platform/mac/PlatformEventFactoryMac.mm
branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/Shared/WebEventConversion.cpp
branches/safari-612-branch/Source/WebKit/Shared/WebWheelEvent.cpp
branches/safari-612-branch/Source/WebKit/Shared/WebWheelEvent.h
branches/safari-612-branch/Source/WebKit/Shared/WebWheelEventCoalescer.cpp
branches/safari-612-branch/Source/WebKit/Shared/ios/WebIOSEventFactory.mm
branches/safari-612-branch/Source/WebKit/Shared/mac/NativeWebGestureEventMac.mm
branches/safari-612-branch/Source/WebKit/Shared/mac/WebEventFactory.mm




Diff

Modified: branches/safari-612-branch/Source/WebCore/ChangeLog (286677 => 286678)

--- branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-08 20:22:39 UTC (rev 286677)
+++ branches/safari-612-branch/Source/WebCore/ChangeLog	2021-12-08 20:22:46 UTC (rev 286678)
@@ -1,5 +1,89 @@
 2021-12-01  Alan Coon  
 
+Cherry-pick r285790. rdar://problem/85928816
+
+Attach IOHIDEvent timestamps to wheel events
+https://bugs.webkit.org/show_bug.cgi?id=233051
+
+Reviewed by Wenson Hsieh.
+Source/WebCore:
+
+On some macOS devices, there can be significant deltas between NSEvent timestamps,
+and the timestamps on underlying IOHIDEvents (rdar://85309639). This makes momentum
+velocity computation unpredictable; we can get better results by using IOHIDEvent
+timestamps.
+
+* platform/PlatformWheelEvent.cpp:
+(WebCore::PlatformWheelEvent::createFromGesture):
+* platform/PlatformWheelEvent.h:
+(WebCore::PlatformWheelEvent::ioHIDEventTimestamp const):
+* platform/mac/PlatformEventFactoryMac.h:
+* platform/mac/PlatformEventFactoryMac.mm:
+(WebCore::eventTimeStampSince1970):
+(WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
+(WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
+(WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
+

[webkit-changes] [286680] branches/safari-612-branch/Source/WebKit

2021-12-08 Thread alancoon
Title: [286680] branches/safari-612-branch/Source/WebKit








Revision 286680
Author alanc...@apple.com
Date 2021-12-08 12:22:54 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286277. rdar://problem/85928816

Fix the build

* Shared/ios/WebIOSEventFactory.mm:
(WebIOSEventFactory::createWebWheelEvent):

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

Modified Paths

branches/safari-612-branch/Source/WebKit/ChangeLog
branches/safari-612-branch/Source/WebKit/Shared/ios/WebIOSEventFactory.mm




Diff

Modified: branches/safari-612-branch/Source/WebKit/ChangeLog (286679 => 286680)

--- branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:22:51 UTC (rev 286679)
+++ branches/safari-612-branch/Source/WebKit/ChangeLog	2021-12-08 20:22:54 UTC (rev 286680)
@@ -1,5 +1,24 @@
 2021-12-01  Alan Coon  
 
+Cherry-pick r286277. rdar://problem/85928816
+
+Fix the build
+
+* Shared/ios/WebIOSEventFactory.mm:
+(WebIOSEventFactory::createWebWheelEvent):
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286277 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-11-29  Tim Horton  
+
+Fix the build
+
+* Shared/ios/WebIOSEventFactory.mm:
+(WebIOSEventFactory::createWebWheelEvent):
+
+2021-12-01  Alan Coon  
+
 Cherry-pick r286270. rdar://problem/85928816
 
 Plumb raw platform scrolling deltas along in wheel events


Modified: branches/safari-612-branch/Source/WebKit/Shared/ios/WebIOSEventFactory.mm (286679 => 286680)

--- branches/safari-612-branch/Source/WebKit/Shared/ios/WebIOSEventFactory.mm	2021-12-08 20:22:51 UTC (rev 286679)
+++ branches/safari-612-branch/Source/WebKit/Shared/ios/WebIOSEventFactory.mm	2021-12-08 20:22:54 UTC (rev 286680)
@@ -177,7 +177,8 @@
 delta,
 { },
 timestamp,
-timestamp
+timestamp,
+{ }
 };
 }
 #endif






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


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

2021-12-08 Thread commit-queue
Title: [286676] trunk/Source/WebCore








Revision 286676
Author commit-qu...@webkit.org
Date 2021-12-08 12:20:40 -0800 (Wed, 08 Dec 2021)


Log Message
[GStreamer] Fill in client-name property on audio sinks
https://bugs.webkit.org/show_bug.cgi?id=233826

Patch by Philippe Normand  on 2021-12-08
Reviewed by Xabier Rodriguez-Calvar.

The audio sink client-name property is now set on sinks that support this property, such as
pulsesink and pipewiresink. This is picked-up by GNOME settings and the corresponding audio
streams now appear as owned by the WebKit application (MiniBrowser, ephy, etc) instead of
"WebKitWebProcess".

When the audio mixer is enabled, no media.role property is set, because the mixer can accept
music and/or video roles simultaneously, so it doesn't make sense in this context.

* platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer): Drive-by refactoring, using
a lambda instead of a static callback function.
(WebCore::autoAudioSinkChildAddedCallback): Deleted.
* platform/graphics/gstreamer/GStreamerAudioMixer.cpp:
(WebCore::GStreamerAudioMixer::GStreamerAudioMixer):
* platform/graphics/gstreamer/GStreamerCommon.cpp:
(WebCore::createAutoAudioSink):
(WebCore::createPlatformAudioSink):
* platform/graphics/gstreamer/GStreamerCommon.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamPropertiesCallback): Deleted.
(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties): Deleted.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerAudioMixer.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/GStreamerCommon.h
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp
trunk/Source/WebCore/platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (286675 => 286676)

--- trunk/Source/WebCore/ChangeLog	2021-12-08 20:17:29 UTC (rev 286675)
+++ trunk/Source/WebCore/ChangeLog	2021-12-08 20:20:40 UTC (rev 286676)
@@ -1,3 +1,35 @@
+2021-12-08  Philippe Normand  
+
+[GStreamer] Fill in client-name property on audio sinks
+https://bugs.webkit.org/show_bug.cgi?id=233826
+
+Reviewed by Xabier Rodriguez-Calvar.
+
+The audio sink client-name property is now set on sinks that support this property, such as
+pulsesink and pipewiresink. This is picked-up by GNOME settings and the corresponding audio
+streams now appear as owned by the WebKit application (MiniBrowser, ephy, etc) instead of
+"WebKitWebProcess".
+
+When the audio mixer is enabled, no media.role property is set, because the mixer can accept
+music and/or video roles simultaneously, so it doesn't make sense in this context.
+
+* platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
+(WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer): Drive-by refactoring, using
+a lambda instead of a static callback function.
+(WebCore::autoAudioSinkChildAddedCallback): Deleted.
+* platform/graphics/gstreamer/GStreamerAudioMixer.cpp:
+(WebCore::GStreamerAudioMixer::GStreamerAudioMixer):
+* platform/graphics/gstreamer/GStreamerCommon.cpp:
+(WebCore::createAutoAudioSink):
+(WebCore::createPlatformAudioSink):
+* platform/graphics/gstreamer/GStreamerCommon.h:
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
+(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
+(WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
+(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamPropertiesCallback): Deleted.
+(WebCore::MediaPlayerPrivateGStreamer::setAudioStreamProperties): Deleted.
+* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
+
 2021-12-08  Rob Buis  
 
 [css-contain] Prevent various kinds of propagation to RenderView


Modified: trunk/Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp (286675 => 286676)

--- trunk/Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp	2021-12-08 20:17:29 UTC (rev 286675)
+++ trunk/Source/WebCore/platform/audio/gstreamer/AudioDestinationGStreamer.cpp	2021-12-08 20:20:40 UTC (rev 286676)
@@ -92,12 +92,6 @@
 return destination->handleMessage(message);
 }
 
-static void autoAudioSinkChildAddedCallback(GstChildProxy*, GObject* object, gchar*, gpointer)
-{
-if (GST_IS_AUDIO_BASE_SINK(object))
-g_object_set(GST_AUDIO_BASE_SINK(object), 

[webkit-changes] [286675] branches/safari-613.1.11-branch/Source/WebKit

2021-12-08 Thread repstein
Title: [286675] branches/safari-613.1.11-branch/Source/WebKit








Revision 286675
Author repst...@apple.com
Date 2021-12-08 12:17:29 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286631. rdar://problem/86223494

[Scroll Momentum Generator] Pages lose ability to momentum scroll after dragging between displays
https://bugs.webkit.org/show_bug.cgi?id=233948
rdar://86110813

Reviewed by Tim Horton.

This is a conservative fix for the bug. When a view moves to a new screen, WebPageProxy
needs to unregister for full speed updates using the old displayID, and register
using the new one.

Longer term, it would be better if "full speed updates" was a per-observer concept,
but that would mean registering an observer while wheel events are being received,
which needs a bit more thought.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::windowScreenDidChange):

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

Modified Paths

branches/safari-613.1.11-branch/Source/WebKit/ChangeLog
branches/safari-613.1.11-branch/Source/WebKit/UIProcess/WebPageProxy.cpp




Diff

Modified: branches/safari-613.1.11-branch/Source/WebKit/ChangeLog (286674 => 286675)

--- branches/safari-613.1.11-branch/Source/WebKit/ChangeLog	2021-12-08 20:17:26 UTC (rev 286674)
+++ branches/safari-613.1.11-branch/Source/WebKit/ChangeLog	2021-12-08 20:17:29 UTC (rev 286675)
@@ -1,5 +1,48 @@
 2021-12-08  Russell Epstein  
 
+Cherry-pick r286631. rdar://problem/86223494
+
+[Scroll Momentum Generator] Pages lose ability to momentum scroll after dragging between displays
+https://bugs.webkit.org/show_bug.cgi?id=233948
+rdar://86110813
+
+Reviewed by Tim Horton.
+
+This is a conservative fix for the bug. When a view moves to a new screen, WebPageProxy
+needs to unregister for full speed updates using the old displayID, and register
+using the new one.
+
+Longer term, it would be better if "full speed updates" was a per-observer concept,
+but that would mean registering an observer while wheel events are being received,
+which needs a bit more thought.
+
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::windowScreenDidChange):
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286631 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-07  Simon Fraser  
+
+[Scroll Momentum Generator] Pages lose ability to momentum scroll after dragging between displays
+https://bugs.webkit.org/show_bug.cgi?id=233948
+rdar://86110813
+
+Reviewed by Tim Horton.
+
+This is a conservative fix for the bug. When a view moves to a new screen, WebPageProxy
+needs to unregister for full speed updates using the old displayID, and register
+using the new one.
+
+Longer term, it would be better if "full speed updates" was a per-observer concept,
+but that would mean registering an observer while wheel events are being received,
+which needs a bit more thought.
+
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::windowScreenDidChange):
+
+2021-12-08  Russell Epstein  
+
 Cherry-pick r286566. rdar://problem/86223477
 
 Momentum Event Dispatcher: Momentum phase runs backwards with natural scrolling disabled


Modified: branches/safari-613.1.11-branch/Source/WebKit/UIProcess/WebPageProxy.cpp (286674 => 286675)

--- branches/safari-613.1.11-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-12-08 20:17:26 UTC (rev 286674)
+++ branches/safari-613.1.11-branch/Source/WebKit/UIProcess/WebPageProxy.cpp	2021-12-08 20:17:29 UTC (rev 286675)
@@ -3955,6 +3955,13 @@
 
 void WebPageProxy::windowScreenDidChange(PlatformDisplayID displayID, std::optional nominalFramesPerSecond)
 {
+#if HAVE(CVDISPLAYLINK)
+if (hasRunningProcess() && m_displayID && m_registeredForFullSpeedUpdates)
+process().processPool().setDisplayLinkForDisplayWantsFullSpeedUpdates(*m_process->connection(), *m_displayID, false);
+
+m_registeredForFullSpeedUpdates = false;
+#endif
+
 m_displayID = displayID;
 
 if (!hasRunningProcess())
@@ -3962,6 +3969,9 @@
 
 send(Messages::EventDispatcher::PageScreenDidChange(m_webPageID, displayID));
 send(Messages::WebPage::WindowScreenDidChange(displayID, nominalFramesPerSecond));
+#if HAVE(CVDISPLAYLINK)
+updateDisplayLinkFrequency();
+#endif
 }
 
 float WebPageProxy::deviceScaleFactor() const






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


[webkit-changes] [286674] branches/safari-613.1.11-branch/Source/WebKit

2021-12-08 Thread repstein
Title: [286674] branches/safari-613.1.11-branch/Source/WebKit








Revision 286674
Author repst...@apple.com
Date 2021-12-08 12:17:26 -0800 (Wed, 08 Dec 2021)


Log Message
Cherry-pick r286566. rdar://problem/86223477

Momentum Event Dispatcher: Momentum phase runs backwards with natural scrolling disabled
https://bugs.webkit.org/show_bug.cgi?id=233894


Reviewed by Simon Fraser.

* WebProcess/WebPage/MomentumEventDispatcher.cpp:
(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
Only flip the deltas if the trackpad is configured to use "natural"
scrolling (in which "directionInvertedFromDevice" is true).

(WebKit::MomentumEventDispatcher::computeNextDelta):
Fix initial queue state logging to log both axes before setting the "did log" bit.

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

Modified Paths

branches/safari-613.1.11-branch/Source/WebKit/ChangeLog
branches/safari-613.1.11-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp




Diff

Modified: branches/safari-613.1.11-branch/Source/WebKit/ChangeLog (286673 => 286674)

--- branches/safari-613.1.11-branch/Source/WebKit/ChangeLog	2021-12-08 20:04:20 UTC (rev 286673)
+++ branches/safari-613.1.11-branch/Source/WebKit/ChangeLog	2021-12-08 20:17:26 UTC (rev 286674)
@@ -1,3 +1,40 @@
+2021-12-08  Russell Epstein  
+
+Cherry-pick r286566. rdar://problem/86223477
+
+Momentum Event Dispatcher: Momentum phase runs backwards with natural scrolling disabled
+https://bugs.webkit.org/show_bug.cgi?id=233894
+
+
+Reviewed by Simon Fraser.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
+Only flip the deltas if the trackpad is configured to use "natural"
+scrolling (in which "directionInvertedFromDevice" is true).
+
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+Fix initial queue state logging to log both axes before setting the "did log" bit.
+
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@286566 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-12-06  Tim Horton  
+
+Momentum Event Dispatcher: Momentum phase runs backwards with natural scrolling disabled
+https://bugs.webkit.org/show_bug.cgi?id=233894
+
+
+Reviewed by Simon Fraser.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
+Only flip the deltas if the trackpad is configured to use "natural"
+scrolling (in which "directionInvertedFromDevice" is true).
+
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+Fix initial queue state logging to log both axes before setting the "did log" bit.
+
 2021-12-07  Russell Epstein  
 
 Cherry-pick r286563. rdar://problem/86175400


Modified: branches/safari-613.1.11-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp (286673 => 286674)

--- branches/safari-613.1.11-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp	2021-12-08 20:04:20 UTC (rev 286673)
+++ branches/safari-613.1.11-branch/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp	2021-12-08 20:17:26 UTC (rev 286674)
@@ -300,7 +300,10 @@
 
 m_currentGesture.currentOffset += delta;
 
-return -delta;
+if (m_currentGesture.initiatingEvent->directionInvertedFromDevice())
+delta.scale(-1);
+
+return delta;
 }
 
 void MomentumEventDispatcher::displayWasRefreshed(WebCore::PlatformDisplayID displayID, const WebCore::DisplayUpdate&)
@@ -472,10 +475,8 @@
 float averageDelta = totalDelta / count;
 
 #if ENABLE(MOMENTUM_EVENT_DISPATCHER_TEMPORARY_LOGGING)
-if (!m_currentGesture.didLogInitialQueueState) {
+if (!m_currentGesture.didLogInitialQueueState)
 RELEASE_LOG(ScrollAnimations, "MomentumEventDispatcher initial historical deltas: average delta %f, average time %fms, event count %d", averageDelta, averageFrameIntervalMS, count);
-m_currentGesture.didLogInitialQueueState = true;
-}
 #endif
 
 constexpr float velocityGainA = fromFixedPoint(2.f);
@@ -496,6 +497,10 @@
 accelerateAxis(m_deltaHistoryY, quantizedUnacceleratedDelta.height())
 );
 
+#if ENABLE(MOMENTUM_EVENT_DISPATCHER_TEMPORARY_LOGGING)
+m_currentGesture.didLogInitialQueueState = true;
+#endif
+
 return { unacceleratedDelta, acceleratedDelta };
 }
 






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


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

2021-12-08 Thread pvollan
Title: [286673] trunk/Source/WebKit








Revision 286673
Author pvol...@apple.com
Date 2021-12-08 12:04:20 -0800 (Wed, 08 Dec 2021)


Log Message
[iOS][WP] Block unused sys calls
https://bugs.webkit.org/show_bug.cgi?id=233999

Reviewed by Brent Fulgham.

Block sys calls in the WebContent process on iOS that are unused according to telemetry.

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

Modified Paths

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




Diff

Modified: trunk/Source/WebKit/ChangeLog (286672 => 286673)

--- trunk/Source/WebKit/ChangeLog	2021-12-08 20:02:41 UTC (rev 286672)
+++ trunk/Source/WebKit/ChangeLog	2021-12-08 20:04:20 UTC (rev 286673)
@@ -1,3 +1,14 @@
+2021-12-08  Per Arne Vollan  
+
+[iOS][WP] Block unused sys calls
+https://bugs.webkit.org/show_bug.cgi?id=233999
+
+Reviewed by Brent Fulgham.
+
+Block sys calls in the WebContent process on iOS that are unused according to telemetry.
+
+* Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in:
+
 2021-12-08  Tim Horton  
 
 Momentum Event Dispatcher: Momentum tail should have montonically decreasing deltas and tail gaps


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

--- trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2021-12-08 20:02:41 UTC (rev 286672)
+++ trunk/Source/WebKit/Resources/SandboxProfiles/ios/com.apple.WebKit.WebContent.sb.in	2021-12-08 20:04:20 UTC (rev 286673)
@@ -1289,72 +1289,36 @@
 
 (define (syscall-unix-rarely-in-use)
 (syscall-number
+SYS_dup
 SYS_fgetxattr
+SYS_fstatat64
+SYS_fsync
 SYS_getgid
 SYS_getxattr
+SYS_mkdirat
 SYS_necp_client_action
 SYS_necp_open
+SYS_openat_nocancel
+SYS_pread_nocancel
+SYS_rmdir
 SYS_sendto
 SYS_setrlimit
 SYS_sigaltstack
+SYS_sigprocmask
 SYS_socket
-SYS_thread_selfusage))
+SYS_thread_selfusage
+SYS_unlink
+SYS_writev))
 
-(define (syscall-unix-possibly-not-in-use)
+(define (syscall-unix-rarely-in-use-need-backtrace)
 (syscall-number
 SYS___pthread_kill
-SYS___pthread_markcancel
 SYS___pthread_sigmask
 SYS___semwait_signal
-SYS___semwait_signal_nocancel
-SYS_chmod
-SYS_connect
-SYS_connect_nocancel
-SYS_connectx
-SYS_csrctl
-SYS_dup
-SYS_fchmod
-SYS_fileport_makeport
-SYS_fstatat64
-SYS_fsync
 SYS_getattrlistbulk ;; xpc_realpath and directory enumeration
-SYS_getaudit_addr
-SYS_getpeername
-SYS_getsockopt ;; used by libwebrtc
-SYS_kdebug_trace
-SYS_mkdirat
-SYS_mlock
-SYS_mremap_encrypted
-SYS_munlock
 SYS_open_dprotected_np
-SYS_openat_nocancel
-SYS_persona
-SYS_pipe
-SYS_pread_nocancel
-SYS_proc_rlimit_control
-SYS_process_policy
 SYS_psynch_rw_wrlock
-SYS_pwrite
-SYS_recvfrom
-SYS_recvfrom_nocancel
-SYS_rmdir
-SYS_select
-SYS_select_nocancel
-SYS_sem_post
-SYS_sem_wait
-SYS_sendmsg_nocancel
-SYS_sendto_nocancel
-SYS_setpriority
-SYS_setsockopt
-SYS_shutdown
-SYS_sigprocmask
-SYS_sigreturn
-SYS_socketpair
-SYS_umask
-SYS_unlink
-SYS_work_interval_ctl
-SYS_write
-SYS_writev))
+SYS_umask))
 
 (when (defined? 'syscall-unix)
 (deny syscall-unix (with send-signal SIGKILL))
@@ -1378,7 +1342,7 @@
 (syscall-unix-rarely-in-use))
 
 (allow syscall-unix (with report) (with telemetry-backtrace)
-(syscall-unix-possibly-not-in-use))
+(syscall-unix-rarely-in-use-need-backtrace))
 )
 
 (when (defined? 'SYS__map_with_linking_np)
@@ -1555,14 +1519,9 @@
 MSC_semaphore_wait_trap
 MSC_syscall_thread_switch
 MSC_task_name_for_pid
-MSC_thread_get_special_reply_port))
-
-(define (syscall-mach-possibly-unused)
-(machtrap-number
-MSC_mach_msg_overwrite_trap
-MSC_mk_timer_arm_leeway
+MSC_thread_get_special_reply_port
 MSC_thread_self_trap))
-
+
 (when (defined? 'syscall-mach)
 (deny syscall-mach
 (machtrap-number MSC_mach_wait_until))
@@ -1587,9 +1546,6 @@
 (with message "Mach syscall used after launch")
 (syscall-mach-only-in-use-during-launch)))
 #endif
-
-(allow syscall-mach (with telemetry-backtrace)
-(syscall-mach-possibly-unused))
 )
 
 (define (kernel-mig-routine-only-in-use-during-launch)
@@ -1632,26 +1588,16 @@
 thread_set_exception_ports
 thread_suspend))
 
-(define 

[webkit-changes] [286672] trunk

2021-12-08 Thread commit-queue
Title: [286672] trunk








Revision 286672
Author commit-qu...@webkit.org
Date 2021-12-08 12:02:41 -0800 (Wed, 08 Dec 2021)


Log Message
[css-contain] Prevent various kinds of propagation to RenderView
https://bugs.webkit.org/show_bug.cgi?id=233535

Patch by Rob Buis  on 2021-12-08
Reviewed by Alan Bujtas.

Source/WebCore:

Prevent direction/background/writing-mode propagation to RenderView
in cases where contain is used. The reason is in the github issue
and latest draft specification has been updated [1, 2].

[1] https://github.com/w3c/csswg-drafts/issues/5913
[2] https://drafts.csswg.org/css-contain-2/

* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::updateFromStyle):
* rendering/RenderObject.cpp:
(WebCore::shouldApplyAnyContainment):
* rendering/RenderObject.h:
* rendering/RenderView.cpp:
(WebCore::RenderView::rendererForRootBackground const):

LayoutTests:

* TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/TestExpectations
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderBox.cpp
trunk/Source/WebCore/rendering/RenderObject.cpp
trunk/Source/WebCore/rendering/RenderObject.h
trunk/Source/WebCore/rendering/RenderView.cpp




Diff

Modified: trunk/LayoutTests/ChangeLog (286671 => 286672)

--- trunk/LayoutTests/ChangeLog	2021-12-08 19:58:13 UTC (rev 286671)
+++ trunk/LayoutTests/ChangeLog	2021-12-08 20:02:41 UTC (rev 286672)
@@ -1,3 +1,12 @@
+2021-12-08  Rob Buis  
+
+[css-contain] Prevent various kinds of propagation to RenderView
+https://bugs.webkit.org/show_bug.cgi?id=233535
+
+Reviewed by Alan Bujtas.
+
+* TestExpectations:
+
 2021-12-08  Youenn Fablet  
 
 Same-site lax cookies not sent by fetch event handler after page reload


Modified: trunk/LayoutTests/TestExpectations (286671 => 286672)

--- trunk/LayoutTests/TestExpectations	2021-12-08 19:58:13 UTC (rev 286671)
+++ trunk/LayoutTests/TestExpectations	2021-12-08 20:02:41 UTC (rev 286672)
@@ -4758,37 +4758,13 @@
 imported/w3c/web-platform-tests/css/css-contain/quote-scoping-002.html [ ImageOnlyFailure ]
 imported/w3c/web-platform-tests/css/css-contain/quote-scoping-003.html [ ImageOnlyFailure ]
 imported/w3c/web-platform-tests/css/css-contain/quote-scoping-004.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-body-bg-001.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-body-bg-002.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-body-bg-003.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-body-bg-004.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-body-dir-001.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-body-dir-002.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-body-dir-003.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-body-dir-004.html [ ImageOnlyFailure ]
 imported/w3c/web-platform-tests/css/css-contain/contain-body-overflow-001.html [ ImageOnlyFailure ]
 imported/w3c/web-platform-tests/css/css-contain/contain-body-overflow-002.html [ ImageOnlyFailure ]
 imported/w3c/web-platform-tests/css/css-contain/contain-body-overflow-003.html [ ImageOnlyFailure ]
 imported/w3c/web-platform-tests/css/css-contain/contain-body-overflow-004.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-body-w-m-001.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-body-w-m-002.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-body-w-m-003.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-body-w-m-004.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-html-bg-001.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-html-bg-002.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-html-bg-003.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-html-bg-004.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-html-dir-001.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-html-dir-002.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-html-dir-003.html [ ImageOnlyFailure ]
-imported/w3c/web-platform-tests/css/css-contain/contain-html-dir-004.html [ ImageOnlyFailure ]
 imported/w3c/web-platform-tests/css/css-contain/contain-html-overflow-001.html [ ImageOnlyFailure ]
 imported/w3c/web-platform-tests/css/css-contain/contain-html-overflow-003.html [ ImageOnlyFailure ]
 imported/w3c/web-platform-tests/css/css-contain/contain-html-overflow-004.html [ ImageOnlyFailure ]

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

2021-12-08 Thread timothy_horton
Title: [286671] trunk/Source/WebKit








Revision 286671
Author timothy_hor...@apple.com
Date 2021-12-08 11:58:13 -0800 (Wed, 08 Dec 2021)


Log Message
Momentum Event Dispatcher: Momentum tail should have montonically decreasing deltas and tail gaps
https://bugs.webkit.org/show_bug.cgi?id=233993


Reviewed by Simon Fraser.

* WebProcess/WebPage/MomentumEventDispatcher.cpp:
(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
(WebKit::MomentumEventDispatcher::computeNextDelta):
In order to avoid visual stutter due to integral rounding of the
deltas we dispatch in the momentum phase, switch to a table of
deltas instead of interpolating along the offset curve during the
tail end of the animation (when the rounding makes up a large
proportion of each delta).

(WebKit::MomentumEventDispatcher::equalizeTailGaps):
Sort the deltas up until the first zero to ensure a lack of unexpected
perceptual acceleration, and then inject skipped frames in order to
ensure that frames that have effective scroll movement (non-zero deltas)
are always spaced equally-or-further apart than earlier ones, but
never closer together (which, again, would be percieved as acceleration).

(WebKit::MomentumEventDispatcher::handleWheelEvent):
(WebKit::MomentumEventDispatcher::pushLogEntry):
(WebKit::MomentumEventDispatcher::flushLog):
Lastly, adjust some logging to make it easier to tell which row in
the output corresponds to an event delta or generated delta, so it's
easier to find skipped frames.
* WebProcess/WebPage/MomentumEventDispatcher.h:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp
trunk/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.h




Diff

Modified: trunk/Source/WebKit/ChangeLog (286670 => 286671)

--- trunk/Source/WebKit/ChangeLog	2021-12-08 19:46:15 UTC (rev 286670)
+++ trunk/Source/WebKit/ChangeLog	2021-12-08 19:58:13 UTC (rev 286671)
@@ -1,3 +1,36 @@
+2021-12-08  Tim Horton  
+
+Momentum Event Dispatcher: Momentum tail should have montonically decreasing deltas and tail gaps
+https://bugs.webkit.org/show_bug.cgi?id=233993
+
+
+Reviewed by Simon Fraser.
+
+* WebProcess/WebPage/MomentumEventDispatcher.cpp:
+(WebKit::MomentumEventDispatcher::consumeDeltaForCurrentTime):
+(WebKit::MomentumEventDispatcher::buildOffsetTableWithInitialDelta):
+(WebKit::MomentumEventDispatcher::computeNextDelta):
+In order to avoid visual stutter due to integral rounding of the
+deltas we dispatch in the momentum phase, switch to a table of
+deltas instead of interpolating along the offset curve during the
+tail end of the animation (when the rounding makes up a large
+proportion of each delta).
+
+(WebKit::MomentumEventDispatcher::equalizeTailGaps):
+Sort the deltas up until the first zero to ensure a lack of unexpected
+perceptual acceleration, and then inject skipped frames in order to
+ensure that frames that have effective scroll movement (non-zero deltas)
+are always spaced equally-or-further apart than earlier ones, but
+never closer together (which, again, would be percieved as acceleration).
+
+(WebKit::MomentumEventDispatcher::handleWheelEvent):
+(WebKit::MomentumEventDispatcher::pushLogEntry):
+(WebKit::MomentumEventDispatcher::flushLog):
+Lastly, adjust some logging to make it easier to tell which row in
+the output corresponds to an event delta or generated delta, so it's
+easier to find skipped frames.
+* WebProcess/WebPage/MomentumEventDispatcher.h:
+
 2021-12-08  Chris Dumez  
 
 Make KVO work for WKWebpagePreferences._captivePortalModeEnabled


Modified: trunk/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp (286670 => 286671)

--- trunk/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp	2021-12-08 19:46:15 UTC (rev 286670)
+++ trunk/Source/WebKit/WebProcess/WebPage/MomentumEventDispatcher.cpp	2021-12-08 19:58:13 UTC (rev 286671)
@@ -113,15 +113,15 @@
 m_currentGesture.accumulatedEventOffset += event.delta();
 
 auto combinedPhase = (event.phase() << 8) | (event.momentumPhase());
-m_currentLogState.latestEventPhase = combinedPhase;
 m_currentLogState.totalEventOffset += event.delta().height();
 if (!isMomentumEventDuringSyntheticGesture) {
 // Log events that we don't block to the generated offsets log as well,
 // even though we didn't technically generate them, just passed them through.
-m_currentLogState.latestGeneratedPhase = combinedPhase;
 m_currentLogState.totalGeneratedOffset += event.delta().height();
-}
-pushLogEntry();
+pushLogEntry(combinedPhase, combinedPhase);
+} else
+pushLogEntry(0, combinedPhase);
+
 #endif
 
 // Consume any normal 

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

2021-12-08 Thread commit-queue
Title: [286670] trunk/Source/bmalloc








Revision 286670
Author commit-qu...@webkit.org
Date 2021-12-08 11:46:15 -0800 (Wed, 08 Dec 2021)


Log Message
[libpas] Guard Darwin-specific malloc zone usage in mbmalloc sources
https://bugs.webkit.org/show_bug.cgi?id=234005

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

Use PAS_OS(DARWIN) build guards for the Darwin-specific malloc header
inclusions and malloc_zone_pressure_relief() calls.

* libpas/src/mbmalloc/mbmalloc_bmalloc.c:
(mbscavenge):
* libpas/src/mbmalloc/mbmalloc_hotbit.c:
(mbscavenge):
* libpas/src/mbmalloc/mbmalloc_iso_common_primitive.c:
(mbscavenge):

Modified Paths

trunk/Source/bmalloc/ChangeLog
trunk/Source/bmalloc/libpas/src/mbmalloc/mbmalloc_bmalloc.c
trunk/Source/bmalloc/libpas/src/mbmalloc/mbmalloc_hotbit.c
trunk/Source/bmalloc/libpas/src/mbmalloc/mbmalloc_iso_common_primitive.c




Diff

Modified: trunk/Source/bmalloc/ChangeLog (286669 => 286670)

--- trunk/Source/bmalloc/ChangeLog	2021-12-08 19:33:47 UTC (rev 286669)
+++ trunk/Source/bmalloc/ChangeLog	2021-12-08 19:46:15 UTC (rev 286670)
@@ -1,5 +1,22 @@
 2021-12-08  Zan Dobersek  
 
+[libpas] Guard Darwin-specific malloc zone usage in mbmalloc sources
+https://bugs.webkit.org/show_bug.cgi?id=234005
+
+Reviewed by Yusuke Suzuki.
+
+Use PAS_OS(DARWIN) build guards for the Darwin-specific malloc header
+inclusions and malloc_zone_pressure_relief() calls.
+
+* libpas/src/mbmalloc/mbmalloc_bmalloc.c:
+(mbscavenge):
+* libpas/src/mbmalloc/mbmalloc_hotbit.c:
+(mbscavenge):
+* libpas/src/mbmalloc/mbmalloc_iso_common_primitive.c:
+(mbscavenge):
+
+2021-12-08  Zan Dobersek  
+
 [libpas] Remove the stale SkipListTests.cpp file
 https://bugs.webkit.org/show_bug.cgi?id=234000
 


Modified: trunk/Source/bmalloc/libpas/src/mbmalloc/mbmalloc_bmalloc.c (286669 => 286670)

--- trunk/Source/bmalloc/libpas/src/mbmalloc/mbmalloc_bmalloc.c	2021-12-08 19:33:47 UTC (rev 286669)
+++ trunk/Source/bmalloc/libpas/src/mbmalloc/mbmalloc_bmalloc.c	2021-12-08 19:46:15 UTC (rev 286670)
@@ -27,9 +27,12 @@
 
 #if PAS_ENABLE_BMALLOC
 
-#include 
 #include "pas_scavenger.h"
 
+#if PAS_OS(DARWIN)
+#include 
+#endif
+
 void* mbmalloc(size_t size)
 {
 return bmalloc_try_allocate(size);
@@ -53,7 +56,9 @@
 void mbscavenge(void)
 {
 pas_scavenger_run_synchronously_now();
+#if PAS_OS(DARWIN)
 malloc_zone_pressure_relief(NULL, 0);
+#endif
 }
 
 #endif /* PAS_ENABLE_BMALLOC */


Modified: trunk/Source/bmalloc/libpas/src/mbmalloc/mbmalloc_hotbit.c (286669 => 286670)

--- trunk/Source/bmalloc/libpas/src/mbmalloc/mbmalloc_hotbit.c	2021-12-08 19:33:47 UTC (rev 286669)
+++ trunk/Source/bmalloc/libpas/src/mbmalloc/mbmalloc_hotbit.c	2021-12-08 19:46:15 UTC (rev 286670)
@@ -27,9 +27,12 @@
 
 #if PAS_ENABLE_HOTBIT
 
-#include 
 #include "pas_scavenger.h"
 
+#if PAS_OS(DARWIN)
+#include 
+#endif
+
 void* mbmalloc(size_t size)
 {
 return hotbit_try_allocate(size);
@@ -53,7 +56,9 @@
 void mbscavenge(void)
 {
 pas_scavenger_run_synchronously_now();
+#if PAS_OS(DARWIN)
 malloc_zone_pressure_relief(NULL, 0);
+#endif
 }
 
 #endif /* PAS_ENABLE_HOTBIT */


Modified: trunk/Source/bmalloc/libpas/src/mbmalloc/mbmalloc_iso_common_primitive.c (286669 => 286670)

--- trunk/Source/bmalloc/libpas/src/mbmalloc/mbmalloc_iso_common_primitive.c	2021-12-08 19:33:47 UTC (rev 286669)
+++ trunk/Source/bmalloc/libpas/src/mbmalloc/mbmalloc_iso_common_primitive.c	2021-12-08 19:46:15 UTC (rev 286670)
@@ -30,7 +30,6 @@
 #include "Verifier.h"
 #include "iso_heap_config.h"
 #include "iso_heap_innards.h"
-#include 
 #include "pas_bootstrap_free_heap.h"
 #include "pas_fd_stream.h"
 #include "pas_heap.h"
@@ -45,6 +44,10 @@
 #include 
 #include 
 
+#if PAS_OS(DARWIN)
+#include 
+#endif
+
 static const bool verbose = false;
 #ifdef PAS_VERIFIED
 static const bool verbose_scavenge = true;
@@ -138,7 +141,9 @@
 
 if (really_scavenge_at_end) {
 pas_scavenger_run_synchronously_now();
+#if PAS_OS(DARWIN)
 malloc_zone_pressure_relief(NULL, 0);
+#endif
 }
 
 if (verbose_scavenge) {






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


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

2021-12-08 Thread eric . carlson
Title: [286669] trunk/Source/WebCore








Revision 286669
Author eric.carl...@apple.com
Date 2021-12-08 11:33:47 -0800 (Wed, 08 Dec 2021)


Log Message
[iOS] Always set audio session preferred input after changing the category
https://bugs.webkit.org/show_bug.cgi?id=232626
rdar://81618758

Reviewed by Youenn Fablet.

* platform/audio/PlatformMediaSessionManager.cpp:
(WebCore::PlatformMediaSessionManager::sessionCaptureConfigurationChanged): Schedule
a session update so the category and/or preferred input is setup.
* platform/audio/PlatformMediaSessionManager.h:

* platform/audio/ios/AudioSessionIOS.h:
* platform/audio/ios/AudioSessionIOS.mm:
(WebCore::AudioSessionIOS::setCategory): Don't set the audio session category unless
something has changed. Ask the AVAudioSessionCaptureDeviceManager to set the preferred
capture device if that has changed.

* platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h:
* platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:
(WebCore::AVAudioSessionCaptureDeviceManager::setPreferredAudioSessionDeviceUID):
Remember the device UID if the configuration is successful.
(WebCore::AVAudioSessionCaptureDeviceManager::configurePreferredAudioCaptureDevice):
Reset the preferred device if necessary.
(WebCore::AVAudioSessionCaptureDeviceManager::setPreferredAudioSessionDeviceUIDInternal):
Refactored from setPreferredAudioSessionDeviceUID.

* platform/mediastream/mac/CoreAudioCaptureSource.cpp:
(WebCore::CoreAudioSharedUnit::captureDeviceChanged):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.h
trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm
trunk/Source/WebCore/platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h
trunk/Source/WebCore/platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (286668 => 286669)

--- trunk/Source/WebCore/ChangeLog	2021-12-08 19:16:05 UTC (rev 286668)
+++ trunk/Source/WebCore/ChangeLog	2021-12-08 19:33:47 UTC (rev 286669)
@@ -1,3 +1,34 @@
+2021-12-08  Eric Carlson  
+
+[iOS] Always set audio session preferred input after changing the category
+https://bugs.webkit.org/show_bug.cgi?id=232626
+rdar://81618758
+
+Reviewed by Youenn Fablet.
+
+* platform/audio/PlatformMediaSessionManager.cpp:
+(WebCore::PlatformMediaSessionManager::sessionCaptureConfigurationChanged): Schedule
+a session update so the category and/or preferred input is setup.
+* platform/audio/PlatformMediaSessionManager.h:
+
+* platform/audio/ios/AudioSessionIOS.h:
+* platform/audio/ios/AudioSessionIOS.mm:
+(WebCore::AudioSessionIOS::setCategory): Don't set the audio session category unless
+something has changed. Ask the AVAudioSessionCaptureDeviceManager to set the preferred
+capture device if that has changed.
+
+* platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.h:
+* platform/mediastream/ios/AVAudioSessionCaptureDeviceManager.mm:
+(WebCore::AVAudioSessionCaptureDeviceManager::setPreferredAudioSessionDeviceUID):
+Remember the device UID if the configuration is successful.
+(WebCore::AVAudioSessionCaptureDeviceManager::configurePreferredAudioCaptureDevice):
+Reset the preferred device if necessary.
+(WebCore::AVAudioSessionCaptureDeviceManager::setPreferredAudioSessionDeviceUIDInternal):
+Refactored from setPreferredAudioSessionDeviceUID.
+
+* platform/mediastream/mac/CoreAudioCaptureSource.cpp:
+(WebCore::CoreAudioSharedUnit::captureDeviceChanged):
+
 2021-12-08  Antti Koivisto  
 
 [CSS Cascade Layers] CSSImportRule.cssText doesn't include layer parameter


Modified: trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.h (286668 => 286669)

--- trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.h	2021-12-08 19:16:05 UTC (rev 286668)
+++ trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.h	2021-12-08 19:33:47 UTC (rev 286669)
@@ -64,6 +64,7 @@
 bool isMuted() const final;
 void handleMutedStateChange() final;
 
+String m_lastSetPreferredAudioDeviceUID;
 Ref m_workQueue;
 RetainPtr m_interruptionObserverHelper;
 };


Modified: trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm (286668 => 286669)

--- trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm	2021-12-08 19:16:05 UTC (rev 286668)
+++ trunk/Source/WebCore/platform/audio/ios/AudioSessionIOS.mm	2021-12-08 19:33:47 UTC (rev 286669)
@@ -28,6 +28,7 @@
 
 #if USE(AUDIO_SESSION) && PLATFORM(IOS_FAMILY)
 
+#import "AVAudioSessionCaptureDeviceManager.h"
 #import "Logging.h"
 #import 
 #import 
@@ -233,11 +234,39 @@
 break;
 }
 
-NSError *error = nil;
-[[PAL::getAVAudioSessionClass() sharedInstance] setCategory:categoryString mode:categoryMode routeSharingPolicy:static_cast(policy) options:options error:];
+bool 

[webkit-changes] [286668] trunk

2021-12-08 Thread antti
Title: [286668] trunk








Revision 286668
Author an...@apple.com
Date 2021-12-08 11:16:05 -0800 (Wed, 08 Dec 2021)


Log Message
[CSS Cascade Layers] CSSImportRule.cssText doesn't include layer parameter
https://bugs.webkit.org/show_bug.cgi?id=234010

Reviewed by Simon Fraser.

LayoutTests/imported/w3c:

* web-platform-tests/css/css-cascade/parsing/layer-import-parsing-expected.txt:

Source/WebCore:

Fix serialization of import rules than include layer, like

@import url(foo.css) layer(A);

Also make the parsing of the layer() argument stricter.

* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::cssText const):

Serialize the layer.

* css/CSSLayerBlockRule.cpp:
(WebCore::stringFromCascadeLayerName):

Serialize layer name segments as identifiers.

* css/parser/CSSParserImpl.cpp:
(WebCore::CSSParserImpl::consumeImportRule):

Fail parsing if there is anything left in the function argument after consuming the layer name.
If the parsing fails, revert and try the full string as media query.

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/parsing/layer-import-parsing-expected.txt
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/css/CSSImportRule+Layer.idl
trunk/Source/WebCore/css/CSSImportRule.cpp
trunk/Source/WebCore/css/CSSLayerBlockRule.cpp
trunk/Source/WebCore/css/parser/CSSParserImpl.cpp




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (286667 => 286668)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-12-08 19:11:40 UTC (rev 286667)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-12-08 19:16:05 UTC (rev 286668)
@@ -1,5 +1,14 @@
 2021-12-08  Antti Koivisto  
 
+[CSS Cascade Layers] CSSImportRule.cssText doesn't include layer parameter
+https://bugs.webkit.org/show_bug.cgi?id=234010
+
+Reviewed by Simon Fraser.
+
+* web-platform-tests/css/css-cascade/parsing/layer-import-parsing-expected.txt:
+
+2021-12-08  Antti Koivisto  
+
 [CSS Cascade Layers] Update CSSOM to the spec
 https://bugs.webkit.org/show_bug.cgi?id=231340
 


Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/parsing/layer-import-parsing-expected.txt (286667 => 286668)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/parsing/layer-import-parsing-expected.txt	2021-12-08 19:11:40 UTC (rev 286667)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/css/css-cascade/parsing/layer-import-parsing-expected.txt	2021-12-08 19:16:05 UTC (rev 286668)
@@ -1,15 +1,15 @@
 
-FAIL @import url("nonexist.css") layer; should be a valid layered import rule assert_equals: serialization should be canonical expected "@import url(\"nonexist.css\") layer;" but got "@import url(\"nonexist.css\");"
-FAIL @import url("nonexist.css") layer(A); should be a valid layered import rule assert_equals: serialization should be canonical expected "@import url(\"nonexist.css\") layer(A);" but got "@import url(\"nonexist.css\");"
-FAIL @import url("nonexist.css") layer(A.B); should be a valid layered import rule assert_equals: serialization should be canonical expected "@import url(\"nonexist.css\") layer(A.B);" but got "@import url(\"nonexist.css\");"
-FAIL @import url(nonexist.css) layer; should be a valid layered import rule assert_equals: serialization should be canonical expected "@import url(\"nonexist.css\") layer;" but got "@import url(\"nonexist.css\");"
-FAIL @import url(nonexist.css) layer(A); should be a valid layered import rule assert_equals: serialization should be canonical expected "@import url(\"nonexist.css\") layer(A);" but got "@import url(\"nonexist.css\");"
-FAIL @import url(nonexist.css) layer(A.B); should be a valid layered import rule assert_equals: serialization should be canonical expected "@import url(\"nonexist.css\") layer(A.B);" but got "@import url(\"nonexist.css\");"
-FAIL @import "nonexist.css" layer; should be a valid layered import rule assert_equals: serialization should be canonical expected "@import url(\"nonexist.css\") layer;" but got "@import url(\"nonexist.css\");"
-FAIL @import "nonexist.css" layer(A); should be a valid layered import rule assert_equals: serialization should be canonical expected "@import url(\"nonexist.css\") layer(A);" but got "@import url(\"nonexist.css\");"
-FAIL @import "nonexist.css" layer(A.B); should be a valid layered import rule assert_equals: serialization should be canonical expected "@import url(\"nonexist.css\") layer(A.B);" but got "@import url(\"nonexist.css\");"
-FAIL @import url("nonexist.css") layer(); should still be a valid import rule with an invalid layer declaration assert_not_equals: invalid layer declaration should be parsed as  media query got disallowed value 0
-FAIL @import url("nonexist.css") layer(A B); should still be a valid import rule with an invalid layer declaration assert_not_equals: invalid layer declaration should be parsed as  media query got disallowed value 0
-FAIL @import 

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

2021-12-08 Thread ysuzuki
Title: [286667] trunk/Source/_javascript_Core








Revision 286667
Author ysuz...@apple.com
Date 2021-12-08 11:11:40 -0800 (Wed, 08 Dec 2021)


Log Message
[JSC] Introduce WriteBarrierStructureID
https://bugs.webkit.org/show_bug.cgi?id=233918

Reviewed by Mark Lam.

This patch adds WriteBarrierStructureID class, which is similar to WriteBarrier, but internally,
it holds StructureID, so sizeof(WriteBarrierStructureID) is 4. This class is useful to use StructureID for
memory saving while keeping WriteBarrier's useful features (automatically inserts write-barrier when
setting etc.). This also paves the way to introducing DOMStructures array with WriteBarrierStructureID instead
of costly HashMap>.

* bytecode/AccessCase.cpp:
(JSC::AccessCase::AccessCase):
(JSC::AccessCase::forEachDependentCell const):
(JSC::AccessCase::dump const):
(JSC::AccessCase::propagateTransitions const):
(JSC::AccessCase::canBeShared):
* bytecode/AccessCase.h:
(JSC::AccessCase::structure const):
(JSC::AccessCase::newStructure const):
(JSC::AccessCase::hash const):
(JSC::AccessCase::AccessCase):
* bytecode/CheckPrivateBrandStatus.cpp:
(JSC::CheckPrivateBrandStatus::computeForStubInfoWithoutExitSiteFeedback):
* bytecode/DeleteByStatus.cpp:
(JSC::DeleteByStatus::computeForStubInfoWithoutExitSiteFeedback):
* bytecode/GetByStatus.cpp:
(JSC::GetByStatus::computeForStubInfoWithoutExitSiteFeedback):
* bytecode/InByStatus.cpp:
(JSC::InByStatus::computeForStubInfoWithoutExitSiteFeedback):
* bytecode/InlineAccess.cpp:
(JSC::InlineAccess::rewireStubAsJumpInAccess):
(JSC::InlineAccess::resetStubAsJumpInAccess):
* bytecode/InstanceOfStatus.cpp:
(JSC::InstanceOfStatus::computeForStubInfo):
* bytecode/InternalFunctionAllocationProfile.h:
(JSC::InternalFunctionAllocationProfile::offsetOfStructureID):
(JSC::InternalFunctionAllocationProfile::structure):
(JSC::InternalFunctionAllocationProfile::clear):
(JSC::InternalFunctionAllocationProfile::visitAggregate):
(JSC::InternalFunctionAllocationProfile::createAllocationStructureFromBase):
(JSC::InternalFunctionAllocationProfile::offsetOfStructure): Deleted.
* bytecode/PutByStatus.cpp:
(JSC::PutByStatus::computeForStubInfo):
* bytecode/SetPrivateBrandStatus.cpp:
(JSC::SetPrivateBrandStatus::computeForStubInfoWithoutExitSiteFeedback):
* bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::initGetByIdSelf):
(JSC::StructureStubInfo::initPutByIdReplace):
(JSC::StructureStubInfo::initInByIdSelf):
(JSC::StructureStubInfo::deref):
(JSC::StructureStubInfo::aboutToDie):
(JSC::StructureStubInfo::addAccessCase):
(JSC::StructureStubInfo::reset):
(JSC::StructureStubInfo::visitAggregateImpl):
(JSC::StructureStubInfo::visitWeakReferences):
(JSC::StructureStubInfo::propagateTransitions):
(JSC::StructureStubInfo::summary const):
(JSC::StructureStubInfo::containsPC const):
* bytecode/StructureStubInfo.h:
(JSC::StructureStubInfo::inlineAccessBaseStructure):
(JSC::StructureStubInfo::offsetOfByIdSelfOffset):
(JSC::StructureStubInfo::offsetOfInlineAccessBaseStructureID):
(JSC::StructureStubInfo::offsetOfInlineAccessBaseStructure): Deleted.
* dfg/DFGSpeculativeJIT.cpp:
* ftl/FTLAbstractHeapRepository.h:
* ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCreatePromise):
(JSC::FTL::DFG::LowerDFGToB3::compileCreateInternalFieldObject):
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
* heap/AbstractSlotVisitor.h:
* heap/AbstractSlotVisitorInlines.h:
(JSC::AbstractSlotVisitor::append):
(JSC::AbstractSlotVisitor::appendHidden):
* heap/SlotVisitor.h:
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::append):
(JSC::SlotVisitor::appendHidden):
* jit/AssemblyHelpers.cpp:
(JSC::AssemblyHelpers::emitNonNullDecodeStructureID):
(JSC::AssemblyHelpers::emitLoadStructure):
* jit/AssemblyHelpers.h:
* jit/JITInlineCacheGenerator.cpp:
(JSC::generateGetByIdInlineAccess):
(JSC::JITPutByIdGenerator::generateBaselineDataICFastPath):
(JSC::JITInByIdGenerator::generateBaselineDataICFastPath):
* runtime/FunctionExecutable.cpp:
(JSC::FunctionExecutable::visitChildrenImpl):
* runtime/FunctionExecutable.h:
* runtime/FunctionRareData.cpp:
(JSC::FunctionRareData::visitChildrenImpl):
* runtime/FunctionRareData.h:
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::visitChildrenImpl):
* runtime/JSGlobalObject.h:
* runtime/JSPropertyNameEnumerator.cpp:
(JSC::JSPropertyNameEnumerator::JSPropertyNameEnumerator):
(JSC::JSPropertyNameEnumerator::visitChildrenImpl):
* runtime/JSPropertyNameEnumerator.h:
* runtime/StructureRareData.cpp:
(JSC::StructureRareData::StructureRareData):
* runtime/StructureRareData.h:
* runtime/WriteBarrier.h:
(JSC::WriteBarrierStructureID::WriteBarrierStructureID):
(JSC::WriteBarrierStructureID::get const):
(JSC::WriteBarrierStructureID::operator* const):
(JSC::WriteBarrierStructureID::operator-> const):
(JSC::WriteBarrierStructureID::clear):
(JSC::WriteBarrierStructureID::operator bool const):
(JSC::WriteBarrierStructureID::operator! const):
(JSC::WriteBarrierStructureID::setWithoutWriteBarrier):

[webkit-changes] [286666] branches/safari-612.4.2.3-branch/

2021-12-08 Thread repstein
Title: [28] branches/safari-612.4.2.3-branch/








Revision 28
Author repst...@apple.com
Date 2021-12-08 10:49:31 -0800 (Wed, 08 Dec 2021)


Log Message
New branch.

Added Paths

branches/safari-612.4.2.3-branch/




Diff




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


[webkit-changes] [286665] branches/safari-612.4.2.2-branch/

2021-12-08 Thread repstein
Title: [286665] branches/safari-612.4.2.2-branch/








Revision 286665
Author repst...@apple.com
Date 2021-12-08 10:49:24 -0800 (Wed, 08 Dec 2021)


Log Message
New branch.

Added Paths

branches/safari-612.4.2.2-branch/




Diff




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


[webkit-changes] [286664] branches/safari-612.4.2.1-branch/

2021-12-08 Thread repstein
Title: [286664] branches/safari-612.4.2.1-branch/








Revision 286664
Author repst...@apple.com
Date 2021-12-08 10:49:18 -0800 (Wed, 08 Dec 2021)


Log Message
New branch.

Added Paths

branches/safari-612.4.2.1-branch/




Diff




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


[webkit-changes] [286663] branches/safari-612.4.2.0-branch/

2021-12-08 Thread repstein
Title: [286663] branches/safari-612.4.2.0-branch/








Revision 286663
Author repst...@apple.com
Date 2021-12-08 10:49:11 -0800 (Wed, 08 Dec 2021)


Log Message
New branch.

Added Paths

branches/safari-612.4.2.0-branch/




Diff




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


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

2021-12-08 Thread repstein
Title: [286662] branches/safari-612-branch/Source








Revision 286662
Author repst...@apple.com
Date 2021-12-08 10:42:14 -0800 (Wed, 08 Dec 2021)


Log Message
Versioning.

WebKit-7612.4.3

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 (286661 => 286662)

--- branches/safari-612-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-12-08 18:04:41 UTC (rev 286661)
+++ branches/safari-612-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-12-08 18:42:14 UTC (rev 286662)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
-TINY_VERSION = 2;
+TINY_VERSION = 3;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


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

--- branches/safari-612-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-12-08 18:04:41 UTC (rev 286661)
+++ branches/safari-612-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-12-08 18:42:14 UTC (rev 286662)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
-TINY_VERSION = 2;
+TINY_VERSION = 3;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


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

--- branches/safari-612-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-12-08 18:04:41 UTC (rev 286661)
+++ branches/safari-612-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-12-08 18:42:14 UTC (rev 286662)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
-TINY_VERSION = 2;
+TINY_VERSION = 3;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


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

--- branches/safari-612-branch/Source/WebCore/Configurations/Version.xcconfig	2021-12-08 18:04:41 UTC (rev 286661)
+++ branches/safari-612-branch/Source/WebCore/Configurations/Version.xcconfig	2021-12-08 18:42:14 UTC (rev 286662)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
-TINY_VERSION = 2;
+TINY_VERSION = 3;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


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

--- branches/safari-612-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-12-08 18:04:41 UTC (rev 286661)
+++ branches/safari-612-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-12-08 18:42:14 UTC (rev 286662)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
-TINY_VERSION = 2;
+TINY_VERSION = 3;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


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

--- branches/safari-612-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-12-08 18:04:41 UTC (rev 286661)
+++ branches/safari-612-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-12-08 18:42:14 UTC (rev 286662)
@@ -1,6 +1,6 @@
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
-TINY_VERSION = 2;
+TINY_VERSION = 3;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


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

--- branches/safari-612-branch/Source/WebKit/Configurations/Version.xcconfig	2021-12-08 18:04:41 UTC (rev 286661)
+++ branches/safari-612-branch/Source/WebKit/Configurations/Version.xcconfig	2021-12-08 18:42:14 UTC (rev 286662)
@@ -23,7 +23,7 @@
 
 MAJOR_VERSION = 612;
 MINOR_VERSION = 4;
-TINY_VERSION = 2;
+TINY_VERSION = 3;
 MICRO_VERSION = 0;
 NANO_VERSION = 0;
 FULL_VERSION = $(MAJOR_VERSION).$(MINOR_VERSION).$(TINY_VERSION);


Modified: branches/safari-612-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig (286661 => 286662)

--- branches/safari-612-branch/Source/WebKitLegacy/mac/Configurations/Version.xcconfig	2021-12-08 18:04:41 UTC 

  1   2   >