[webkit-changes] [278337] trunk/LayoutTests

2021-06-01 Thread lmoura
Title: [278337] trunk/LayoutTests








Revision 278337
Author lmo...@igalia.com
Date 2021-06-01 22:20:29 -0700 (Tue, 01 Jun 2021)


Log Message
[WPE] Garden imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/source-media-outside-doc.html flakiness

Unreviewed test gardening.

* platform/wpe/TestExpectations:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/wpe/TestExpectations




Diff

Modified: trunk/LayoutTests/ChangeLog (278336 => 278337)

--- trunk/LayoutTests/ChangeLog	2021-06-02 01:20:38 UTC (rev 278336)
+++ trunk/LayoutTests/ChangeLog	2021-06-02 05:20:29 UTC (rev 278337)
@@ -1,3 +1,11 @@
+2021-06-01  Lauro Moura  
+
+[WPE] Garden imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/source-media-outside-doc.html flakiness
+
+Unreviewed test gardening.
+
+* platform/wpe/TestExpectations:
+
 2021-06-01  Jean-Yves Avenard  
 
 MediaSession.coordinator should not be optional, relying on coordinator readyState change instead


Modified: trunk/LayoutTests/platform/wpe/TestExpectations (278336 => 278337)

--- trunk/LayoutTests/platform/wpe/TestExpectations	2021-06-02 01:20:38 UTC (rev 278336)
+++ trunk/LayoutTests/platform/wpe/TestExpectations	2021-06-02 05:20:29 UTC (rev 278337)
@@ -220,6 +220,10 @@
 webkit.org/b/212145 http/tests/navigation/no-referrer-reset.html [ Timeout ]
 webkit.org/b/212145 http/tests/navigation/no-referrer-target-blank.html [ Timeout ]
 
+# Media Queries
+webkit.org/b/226521 [ Release ] imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/source-media-outside-doc.html [ Pass Failure ]
+webkit.org/b/226521 [ Debug ] imported/w3c/web-platform-tests/html/semantics/embedded-content/the-img-element/source-media-outside-doc.html [ Pass ]
+
 # Nicosia
 webkit.org/b/213228 fast/viewport/viewport-1.html [ Crash Timeout Pass ]
 webkit.org/b/213228 fast/viewport/scroll-delegates-switch-on-page-with-no-composition-mode-asserts.html [ Pass Crash ]






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


[webkit-changes] [278336] trunk

2021-06-01 Thread jya
Title: [278336] trunk








Revision 278336
Author j...@apple.com
Date 2021-06-01 18:20:38 -0700 (Tue, 01 Jun 2021)


Log Message
LayoutTests/imported/w3c:
MediaSession.coordinator should not be optional, relying on coordinator state change instead
https://bugs.webkit.org/show_bug.cgi?id=226328
rdar://77461335

Reviewed by Eric Carlson.

* web-platform-tests/mediasession/idlharness.window-expected.txt:

Source/WebCore:
MediaSession.coordinator should not be optional, relying on coordinator state change instead
https://bugs.webkit.org/show_bug.cgi?id=226328
rdar://77461335

Reviewed by Eric Carlson.

The coordinator was a read-only optional attribute of the MediaSession element.
Testing if the attribute was to be used to determine if a MediaSessionCoordinator
was now available and for the MediaSession to join it. This made the use of an external
polyfill difficult and enforcing the validity of an user created custom
MediaSessionCoordinator due to IDL semantics limitations hard.
We instead always create a MediaSessionCoordinator which in its default state is Closed.
Once this state is changed to Waiting and an event is fire the MediaSession can now
join it.

* Modules/mediasession/MediaSession.cpp:
(WebCore::MediaSession::MediaSession): MediaSession no longer needs to fire event.
Remove no longer necessary inheritance and async event queue.
(WebCore::MediaSession::create): Drive-by fix, don't call suspendIfNeeded() in the constructor.
(WebCore::MediaSession::createCoordinator): Make method private.
* Modules/mediasession/MediaSession.h:
(WebCore::MediaSession::coordinator const): MediaSessionCoordinator always exists. Return reference instead.
* Modules/mediasession/MediaSession.idl: Amend definition, remove EventHandler
* Modules/mediasession/MediaSessionCoordinator.cpp:
(WebCore::MediaSessionCoordinator::create):
(WebCore::MediaSessionCoordinator::MediaSessionCoordinator):
(WebCore::MediaSessionCoordinator::setMediaSessionCoordinatorPrivate):
(WebCore::MediaSessionCoordinator::virtualHasPendingActivity const):
(WebCore::MediaSessionCoordinator::join):
(WebCore::MediaSessionCoordinator::close):
(WebCore::MediaSessionCoordinator::coordinatorStateChanged):
* Modules/mediasession/MediaSessionCoordinator.h:
* Modules/mediasession/MediaSessionCoordinator.idl: Added new EventHandler attribute.
* Modules/mediasession/MediaSessionCoordinatorMixin.idl: Update for new API definition.
* dom/EventNames.h:
* dom/EventTargetFactory.in:
* page/Page.cpp:
(WebCore::Page::setMediaSessionCoordinator):
(WebCore::Page::invalidateMediaSessionCoordinator):
* testing/Internals.cpp:
(WebCore::Internals::registerMockMediaSessionCoordinator):

Tools:
MediaSession.coordinator should not be optional, relying on coordinator readyState change instead
https://bugs.webkit.org/show_bug.cgi?id=226328
rdar://77461335

Reviewed by Eric Carlson.

* TestWebKitAPI/Tests/WebKit/MediaSessionCoordinatorTest.mm:
(TestWebKitAPI::MediaSessionCoordinatorTest::createCoordinator): Change test to match new API,
using coordinatorstatechange event instead.
* TestWebKitAPI/Tests/WebKitCocoa/media-remote.html:

LayoutTests:
MediaSession.coordinator should not be optional, relying on coordinator readyState change instead
https://bugs.webkit.org/show_bug.cgi?id=226328
rdar://77461335

Reviewed by Eric Carlson.

* media/media-session/mock-coordinator-expected.txt:
* media/media-session/mock-coordinator.html: Change test to match new API.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/mediasession/idlharness.window-expected.txt
trunk/LayoutTests/media/media-session/mock-coordinator-expected.txt
trunk/LayoutTests/media/media-session/mock-coordinator.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/mediasession/MediaSession.cpp
trunk/Source/WebCore/Modules/mediasession/MediaSession.h
trunk/Source/WebCore/Modules/mediasession/MediaSession.idl
trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinator.cpp
trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinator.h
trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinator.idl
trunk/Source/WebCore/Modules/mediasession/MediaSessionCoordinatorMixin.idl
trunk/Source/WebCore/dom/EventNames.h
trunk/Source/WebCore/dom/EventTargetFactory.in
trunk/Source/WebCore/page/Page.cpp
trunk/Source/WebCore/testing/Internals.cpp
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKit/MediaSessionCoordinatorTest.mm
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/media-remote.html




Diff

Modified: trunk/LayoutTests/ChangeLog (278335 => 278336)

--- trunk/LayoutTests/ChangeLog	2021-06-02 01:01:06 UTC (rev 278335)
+++ trunk/LayoutTests/ChangeLog	2021-06-02 01:20:38 UTC (rev 278336)
@@ -1,3 +1,14 @@
+2021-06-01  Jean-Yves Avenard  
+
+MediaSession.coordinator should not be optional, relying on coordinator readyState change instead
+https://bugs.webkit.org/show_bug.cgi?id=226328
+

[webkit-changes] [278335] trunk/Source/ThirdParty/ANGLE

2021-06-01 Thread kpiddington
Title: [278335] trunk/Source/ThirdParty/ANGLE








Revision 278335
Author kpidding...@apple.com
Date 2021-06-01 18:01:06 -0700 (Tue, 01 Jun 2021)


Log Message
[Metal ANGLE] transformFeedback samples on webglsamples.org do not render correctly
https://bugs.webkit.org/show_bug.cgi?id=226285


Reviewed by Dean Jackson.

Metal ANGLE does not render these samples correctly, for a number of reasons.
For transform_feedback_interleaved and seperated, We need to start a new renderEncoder to get the results from the transform feedback.
for transform_feedback-seperated_2, we need to invalidate the current render pass descriptor in order to switch to the rasterizer-enabled version of the shader.
Testing: Ran all transform feedback tests from deqp suite to ensure no regressions are present.

* src/libANGLE/renderer/metal/ContextMtl.h:
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::drawTriFanArraysWithBaseVertex):
(rx::ContextMtl::drawArraysImpl):
(rx::ContextMtl::drawTriFanElements):
(rx::ContextMtl::prepareForTransformFeedbackPassTwo):
(rx::ContextMtl::drawLineLoopElements):
(rx::ContextMtl::drawElementsImpl):
(rx::ContextMtl::onEndTransformFeedback):
* src/libANGLE/renderer/metal/TransformFeedbackMtl.mm:
(rx::TransformFeedbackMtl::end):

Modified Paths

trunk/Source/ThirdParty/ANGLE/ChangeLog
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/BufferMtl.h
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm




Diff

Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (278334 => 278335)

--- trunk/Source/ThirdParty/ANGLE/ChangeLog	2021-06-02 00:27:45 UTC (rev 278334)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog	2021-06-02 01:01:06 UTC (rev 278335)
@@ -1,3 +1,28 @@
+2021-06-01  Kyle Piddington  
+
+[Metal ANGLE] transformFeedback samples on webglsamples.org do not render correctly
+https://bugs.webkit.org/show_bug.cgi?id=226285
+
+
+Reviewed by Dean Jackson.
+
+Metal ANGLE does not render these samples correctly, for a number of reasons. 
+For transform_feedback_interleaved and seperated, We need to start a new renderEncoder to get the results from the transform feedback. 
+for transform_feedback-seperated_2, we need to invalidate the current render pass descriptor in order to switch to the rasterizer-enabled version of the shader.
+Testing: Ran all transform feedback tests from deqp suite to ensure no regressions are present.
+
+* src/libANGLE/renderer/metal/ContextMtl.h:
+* src/libANGLE/renderer/metal/ContextMtl.mm:
+(rx::ContextMtl::drawTriFanArraysWithBaseVertex):
+(rx::ContextMtl::drawArraysImpl):
+(rx::ContextMtl::drawTriFanElements):
+(rx::ContextMtl::prepareForTransformFeedbackPassTwo):
+(rx::ContextMtl::drawLineLoopElements):
+(rx::ContextMtl::drawElementsImpl):
+(rx::ContextMtl::onEndTransformFeedback):
+* src/libANGLE/renderer/metal/TransformFeedbackMtl.mm:
+(rx::TransformFeedbackMtl::end):
+
 2021-06-01  Kimmo Kinnunen  
 
 ANGLE Metal translator pre-rotation code is unused and it asserts when used


Modified: trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/BufferMtl.h (278334 => 278335)

--- trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/BufferMtl.h	2021-06-02 00:27:45 UTC (rev 278334)
+++ trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/BufferMtl.h	2021-06-02 01:01:06 UTC (rev 278335)
@@ -95,7 +95,7 @@
 // a queue of mtl::Buffer and only let CPU modifies a free mtl::Buffer.
 // So, in order to let GPU use the most recent modified content, one must call this method
 // right before the draw call to retrieved the most up-to-date mtl::Buffer.
-mtl::BufferRef getCurrentBuffer() { return mIsWeak ? mBufferWeakRef.lock() : mBuffer; }
+mtl::BufferRef getCurrentBuffer() const { return mIsWeak ? mBufferWeakRef.lock() : mBuffer; }
 
   protected:
 mtl::BufferRef mBuffer;


Modified: trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h (278334 => 278335)

--- trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h	2021-06-02 00:27:45 UTC (rev 278334)
+++ trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h	2021-06-02 01:01:06 UTC (rev 278335)
@@ -280,7 +280,7 @@
 void invalidateCurrentTextures();
 void invalidateDriverUniforms();
 void invalidateRenderPipeline();
-
+void prepareForTransformFeedbackPassTwo();
 // Call this to notify ContextMtl whenever FramebufferMtl's state changed
 void onDrawFrameBufferChangedState(const gl::Context *context,
FramebufferMtl *framebuffer,


Modified: trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm (278334 => 278335)

--- trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm	2021-06-02 00:27:45 UTC (rev 

[webkit-changes] [278334] trunk/Tools

2021-06-01 Thread cfleizach
Title: [278334] trunk/Tools








Revision 278334
Author cfleiz...@apple.com
Date 2021-06-01 17:27:45 -0700 (Tue, 01 Jun 2021)


Log Message
REGRESSION: (r277971) TestWebKitAPI.WebKit.AccessibilityReduceMotion is timing out
https://bugs.webkit.org/show_bug.cgi?id=226505


Reviewed by Darin Adler.

The distributed notification for RM is no longer re-posted within WebKit, so we don't need to listen for it.

* TestWebKitAPI/Tests/WebKit/AccessibilityReduceMotion.mm:
(TEST):
(notificationCallback): Deleted.

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKit/AccessibilityReduceMotion.mm




Diff

Modified: trunk/Tools/ChangeLog (278333 => 278334)

--- trunk/Tools/ChangeLog	2021-06-02 00:14:56 UTC (rev 278333)
+++ trunk/Tools/ChangeLog	2021-06-02 00:27:45 UTC (rev 278334)
@@ -1,3 +1,17 @@
+2021-06-01  Chris Fleizach  
+
+REGRESSION: (r277971) TestWebKitAPI.WebKit.AccessibilityReduceMotion is timing out
+https://bugs.webkit.org/show_bug.cgi?id=226505
+
+
+Reviewed by Darin Adler.
+
+The distributed notification for RM is no longer re-posted within WebKit, so we don't need to listen for it.
+
+* TestWebKitAPI/Tests/WebKit/AccessibilityReduceMotion.mm:
+(TEST):
+(notificationCallback): Deleted.
+
 2021-06-01  Jonathan Bedard  
 
 [run-webkit-tests] Move helper out of Port instance


Modified: trunk/Tools/TestWebKitAPI/Tests/WebKit/AccessibilityReduceMotion.mm (278333 => 278334)

--- trunk/Tools/TestWebKitAPI/Tests/WebKit/AccessibilityReduceMotion.mm	2021-06-02 00:14:56 UTC (rev 278333)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit/AccessibilityReduceMotion.mm	2021-06-02 00:27:45 UTC (rev 278334)
@@ -57,7 +57,6 @@
 #define ACCESSIBILITY_DOMAIN CFSTR("com.apple.universalaccess")
 #endif
 
-static bool reduceMotionNotificationReceived = false;
 static bool receivedPreferenceNotification = false;
 
 @interface WKPreferenceObserverForTesting : WKPreferenceObserver
@@ -72,15 +71,8 @@
 }
 @end
 
-static void notificationCallback(CFNotificationCenterRef center, void *observer, CFNotificationName name, const void *object, CFDictionaryRef userInfo)
-{
-reduceMotionNotificationReceived = true;
-}
-
 TEST(WebKit, AccessibilityReduceMotion)
 {
-CFNotificationCenterAddObserver(NOTIFICATION_CENTER, nullptr, , REDUCED_MOTION_CHANGED_NOTIFICATION, nullptr, CFNotificationSuspensionBehaviorDeliverImmediately);
-
 WKWebViewConfiguration *configuration = [WKWebViewConfiguration _test_configurationWithTestPlugInClassName:@"WebProcessPlugInWithInternals" configureJSCForTesting:YES];
 auto webView = adoptNS([[TestWKWebView alloc] initWithFrame:NSMakeRect(0, 0, 300, 300) configuration:configuration addToWindow:YES]);
 
@@ -96,12 +88,9 @@
 
 ASSERT_FALSE(reduceMotion());
 
-reduceMotionNotificationReceived = false;
-
 CFPreferencesSetAppValue(REDUCED_MOTION_PREFERENCE, kCFBooleanTrue, ACCESSIBILITY_DOMAIN);
 
 TestWebKitAPI::Util::run();
-TestWebKitAPI::Util::run();
 
 [webView synchronouslyLoadTestPageNamed:@"simple"];
 
@@ -108,8 +97,6 @@
 ASSERT_TRUE(reduceMotion());
 
 CFPreferencesSetAppValue(REDUCED_MOTION_PREFERENCE, nullptr, ACCESSIBILITY_DOMAIN);
-
-CFNotificationCenterRemoveObserver(NOTIFICATION_CENTER, nullptr, REDUCED_MOTION_CHANGED_NOTIFICATION, nullptr);
 }
 
 #endif






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


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

2021-06-01 Thread cdumez
Title: [278333] trunk/Source/WebCore








Revision 278333
Author cdu...@apple.com
Date 2021-06-01 17:14:56 -0700 (Tue, 01 Jun 2021)


Log Message
Drop unused AudioChannel::resizeSmaller()
https://bugs.webkit.org/show_bug.cgi?id=226516

Reviewed by Sam Weinig.

* platform/audio/AudioBus.cpp:
* platform/audio/AudioBus.h:
* platform/audio/AudioChannel.cpp:
* platform/audio/AudioChannel.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/audio/AudioBus.cpp
trunk/Source/WebCore/platform/audio/AudioBus.h
trunk/Source/WebCore/platform/audio/AudioChannel.cpp
trunk/Source/WebCore/platform/audio/AudioChannel.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (278332 => 278333)

--- trunk/Source/WebCore/ChangeLog	2021-06-01 23:23:21 UTC (rev 278332)
+++ trunk/Source/WebCore/ChangeLog	2021-06-02 00:14:56 UTC (rev 278333)
@@ -1,3 +1,15 @@
+2021-06-01  Chris Dumez  
+
+Drop unused AudioChannel::resizeSmaller()
+https://bugs.webkit.org/show_bug.cgi?id=226516
+
+Reviewed by Sam Weinig.
+
+* platform/audio/AudioBus.cpp:
+* platform/audio/AudioBus.h:
+* platform/audio/AudioChannel.cpp:
+* platform/audio/AudioChannel.h:
+
 2021-06-01  Wenson Hsieh  
 
 [macOS] Data detector highlights should appear when hovering inside image overlays


Modified: trunk/Source/WebCore/platform/audio/AudioBus.cpp (278332 => 278333)

--- trunk/Source/WebCore/platform/audio/AudioBus.cpp	2021-06-01 23:23:21 UTC (rev 278332)
+++ trunk/Source/WebCore/platform/audio/AudioBus.cpp	2021-06-02 00:14:56 UTC (rev 278333)
@@ -73,16 +73,6 @@
 }
 }
 
-void AudioBus::resizeSmaller(size_t newLength)
-{
-ASSERT(newLength <= m_length);
-if (newLength <= m_length)
-m_length = newLength;
-
-for (unsigned i = 0; i < m_channels.size(); ++i)
-m_channels[i]->resizeSmaller(newLength);
-}
-
 void AudioBus::zero()
 {
 for (unsigned i = 0; i < m_channels.size(); ++i)


Modified: trunk/Source/WebCore/platform/audio/AudioBus.h (278332 => 278333)

--- trunk/Source/WebCore/platform/audio/AudioBus.h	2021-06-01 23:23:21 UTC (rev 278332)
+++ trunk/Source/WebCore/platform/audio/AudioBus.h	2021-06-02 00:14:56 UTC (rev 278333)
@@ -83,10 +83,6 @@
 // Number of sample-frames
 size_t length() const { return m_length; }
 
-// resizeSmaller() can only be called with a new length <= the current length.
-// The data stored in the bus will remain undisturbed.
-void resizeSmaller(size_t newLength);
-
 // Sample-rate : 0.0 if unknown or "don't care"
 float sampleRate() const { return m_sampleRate; }
 void setSampleRate(float sampleRate) { m_sampleRate = sampleRate; }


Modified: trunk/Source/WebCore/platform/audio/AudioChannel.cpp (278332 => 278333)

--- trunk/Source/WebCore/platform/audio/AudioChannel.cpp	2021-06-01 23:23:21 UTC (rev 278332)
+++ trunk/Source/WebCore/platform/audio/AudioChannel.cpp	2021-06-02 00:14:56 UTC (rev 278333)
@@ -38,13 +38,6 @@
 
 namespace WebCore {
 
-void AudioChannel::resizeSmaller(size_t newLength)
-{
-ASSERT(newLength <= m_length);
-if (newLength <= m_length)
-m_length = newLength;
-}
-
 void AudioChannel::scale(float scale)
 {
 if (isSilent())


Modified: trunk/Source/WebCore/platform/audio/AudioChannel.h (278332 => 278333)

--- trunk/Source/WebCore/platform/audio/AudioChannel.h	2021-06-01 23:23:21 UTC (rev 278332)
+++ trunk/Source/WebCore/platform/audio/AudioChannel.h	2021-06-02 00:14:56 UTC (rev 278333)
@@ -44,9 +44,9 @@
 // Memory can be externally referenced, or can be internally allocated with an AudioFloatArray.
 
 // Reference an external buffer.
-explicit AudioChannel(float* storage, size_t length)
-: m_length(length)
-, m_rawPointer(storage)
+AudioChannel(float* storage, size_t length)
+: m_rawPointer(storage)
+, m_length(length)
 , m_silent(false)
 {
 }
@@ -53,9 +53,9 @@
 
 // Manage storage for us.
 explicit AudioChannel(size_t length)
-: m_length(length)
+: m_memBuffer(makeUnique(length))
+, m_length(length)
 {
-m_memBuffer = makeUnique(length);
 }
 
 // A "blank" audio channel -- must call set() before it's useful...
@@ -74,10 +74,6 @@
 // How many sample-frames do we contain?
 size_t length() const { return m_length; }
 
-// resizeSmaller() can only be called with a new length <= the current length.
-// The data stored in the bus will remain undisturbed.
-void resizeSmaller(size_t newLength);
-
 // Direct access to PCM sample data. Non-const accessor clears silent flag.
 float* mutableData()
 {
@@ -122,10 +118,9 @@
 float maxAbsValue() const;
 
 private:
-size_t m_length { 0 };
-
 float* m_rawPointer { nullptr };
 std::unique_ptr m_memBuffer;
+size_t m_length { 0 };
 bool m_silent { true };
 };
 






___
webkit-changes mailing list

[webkit-changes] [278332] trunk/Tools

2021-06-01 Thread jbedard
Title: [278332] trunk/Tools








Revision 278332
Author jbed...@apple.com
Date 2021-06-01 16:23:21 -0700 (Tue, 01 Jun 2021)


Log Message
[run-webkit-tests] Move helper out of Port instance
https://bugs.webkit.org/show_bug.cgi?id=226344


Reviewed by Dewei Zhu.

The "helper" is a popen object, which are not pickleable, and cannot
belong to an instantiated port object.

* Scripts/webkitpy/port/base.py:
(Port): Make helper class variable.
(Port.__init__):
(Port.stop_helper): All classes should share the same code to stop the helper process.
* Scripts/webkitpy/port/mac.py:
(MacPort.start_helper): Use class variable.
(MacPort.stop_helper): Moved to base class..

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py
trunk/Tools/Scripts/webkitpy/port/base.py
trunk/Tools/Scripts/webkitpy/port/mac.py




Diff

Modified: trunk/Tools/ChangeLog (278331 => 278332)

--- trunk/Tools/ChangeLog	2021-06-01 22:36:56 UTC (rev 278331)
+++ trunk/Tools/ChangeLog	2021-06-01 23:23:21 UTC (rev 278332)
@@ -1,3 +1,22 @@
+2021-06-01  Jonathan Bedard  
+
+[run-webkit-tests] Move helper out of Port instance
+https://bugs.webkit.org/show_bug.cgi?id=226344
+
+
+Reviewed by Dewei Zhu.
+
+The "helper" is a popen object, which are not pickleable, and cannot
+belong to an instantiated port object.
+
+* Scripts/webkitpy/port/base.py:
+(Port): Make helper class variable.
+(Port.__init__):
+(Port.stop_helper): All classes should share the same code to stop the helper process.
+* Scripts/webkitpy/port/mac.py:
+(MacPort.start_helper): Use class variable.
+(MacPort.stop_helper): Moved to base class..
+
 2021-06-01  Fujii Hironori  
 
 Sync Tools/win/DLLLauncher/DLLLauncherMain.cpp with Source/_javascript_Core/shell/DLLLauncherMain.cpp


Modified: trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py (278331 => 278332)

--- trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py	2021-06-01 22:36:56 UTC (rev 278331)
+++ trunk/Tools/Scripts/webkitpy/layout_tests/controllers/manager.py	2021-06-01 23:23:21 UTC (rev 278332)
@@ -575,7 +575,6 @@
 return False
 
 _log.debug("Restarting helper")
-self._port.stop_helper()
 self._options.pixel_tests = True
 return self._port.start_helper(prefer_integrated_gpu=self._options.prefer_integrated_gpu)
 


Modified: trunk/Tools/Scripts/webkitpy/port/base.py (278331 => 278332)

--- trunk/Tools/Scripts/webkitpy/port/base.py	2021-06-01 22:36:56 UTC (rev 278331)
+++ trunk/Tools/Scripts/webkitpy/port/base.py	2021-06-01 23:23:21 UTC (rev 278332)
@@ -81,6 +81,8 @@
 DEVICE_TYPE = None
 DEFAULT_DEVICE_TYPES = []
 
+helper = None
+
 @classmethod
 def determine_full_port_name(cls, host, options, port_name):
 """Return a fully-specified port name that can be used to construct objects."""
@@ -115,7 +117,6 @@
 self._config = port_config.Config(self._executive, self._filesystem, self.port_name)
 self.pretty_patch = PrettyPatch(self._executive, self.path_from_webkit_base(), self._filesystem)
 
-self._helper = None
 self._http_server = None
 self._websocket_server = None
 self._websocket_secure_server = None
@@ -958,9 +959,16 @@
 
 def stop_helper(self):
 """Shut down the test helper if it is running. Do nothing if
-it isn't, or it isn't available. If a port overrides start_helper()
-it must override this routine as well."""
-pass
+it isn't, or it isn't available."""
+if Port.helper:
+_log.debug("Stopping LayoutTestHelper")
+try:
+Port.helper.stdin.write(b"x\n")
+Port.helper.stdin.close()
+Port.helper.wait()
+except IOError as e:
+_log.debug("IOError raised while stopping helper: %s" % str(e))
+Port.helper = None
 
 def stop_http_server(self):
 """Shut down the http server if it is running. Do nothing if it isn't."""


Modified: trunk/Tools/Scripts/webkitpy/port/mac.py (278331 => 278332)

--- trunk/Tools/Scripts/webkitpy/port/mac.py	2021-06-01 22:36:56 UTC (rev 278331)
+++ trunk/Tools/Scripts/webkitpy/port/mac.py	2021-06-01 23:23:21 UTC (rev 278332)
@@ -37,6 +37,7 @@
 from webkitpy.common.system.executive import ScriptError
 from webkitpy.common.version_name_map import PUBLIC_TABLE, INTERNAL_TABLE
 from webkitpy.common.version_name_map import VersionNameMap
+from webkitpy.port.base import Port
 from webkitpy.port.config import apple_additions, Config
 from webkitpy.port.darwin import DarwinPort
 
@@ -245,6 +246,8 @@
 return min(supportable_instances, default_count)
 
 def start_helper(self, pixel_tests=False, prefer_integrated_gpu=False):
+self.stop_helper()
+
 helper_path = self._path_to_helper()
 if not helper_path:

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

2021-06-01 Thread wenson_hsieh
Title: [278331] trunk/Source/WebCore








Revision 278331
Author wenson_hs...@apple.com
Date 2021-06-01 15:36:56 -0700 (Tue, 01 Jun 2021)


Log Message
[macOS] Data detector highlights should appear when hovering inside image overlays
https://bugs.webkit.org/show_bug.cgi?id=226507

Reviewed by Tim Horton.

Refactor some logic in ImageOverlayController, such that the overlay is installed if _either_ selection painting
is required, or data detector highlights for the image overlay host element exist; additionally, add plumbing to
allow the ImageOverlayController to install a page overlay when the element under the mouse is inside an image
overlay.

* dom/Document.cpp:
(WebCore::Document::willBeRemovedFromFrame):

Drive-by fix: use `imageOverlayControllerIfExists` instead of `imageOverlayController` to avoid unnecessarily
creating a new ImageOverlayController when detaching a Document.

* page/EventHandler.cpp:
(WebCore::EventHandler::clear):

Refactor logic for clearing out `m_elementUnderMouse` into a separate helper, and call it from these two places.
This new helper clears out `m_elementUnderMouse` and additionally notifies the page's image overlay controller
(only if it has already been constructed).

(WebCore::EventHandler::updateMouseEventTargetNode):

Call out to the page's image overlay controller when changing `m_elementUnderMouse`.

(WebCore::EventHandler::clearElementUnderMouse):
* page/EventHandler.h:
* page/ImageOverlayController.cpp:
(WebCore::ImageOverlayController::selectionQuadsDidChange):

Refactor ImageOverlayController so that it only installs its page overlay if either:
1. Selection painting is needed for selected text inside an image overlay, or...
2. The cursor is over an image overlay host element with data detection results.

To achieve this, we maintain a weak pointer to the image overlay host that contains the selection separately
from the weak pointer to the image overlay host that contains data detectors, and is the element currently under
the mouse cursor.

Drive-by fix: also ignore selection updates due to temporary selections triggered as a result of gathering
dictionary popup info.

(WebCore::ImageOverlayController::documentDetached):
(WebCore::ImageOverlayController::uninstallPageOverlay):
(WebCore::ImageOverlayController::uninstallPageOverlayIfNeeded):

Split this into two functions: `uninstallPageOverlayIfNeeded`, which removes and destroys the PageOverlay if
it is no longer needed (i.e. the overlay is required for neither selection painting nor data detectors).

(WebCore::ImageOverlayController::willMoveToPage):
(WebCore::ImageOverlayController::drawRect):
(WebCore::ImageOverlayController::elementUnderMouseDidChange):
* page/ImageOverlayController.h:

Rename `m_imageOverlayBounds` to `m_selectionClipRect` to make it clear that this is only used during selection
painting, and rename `m_overlaySelectionQuads` to just `m_selectionQuads` for conciseness.

* page/Page.h:
(WebCore::Page::imageOverlayControllerIfExists):

Add a version of this getter that does not initialize the ImageOverlayController if it didn't already exist. See
call sites in EventHandler and Document.

* page/mac/ImageOverlayControllerMac.mm:
(WebCore::ImageOverlayController::clearDataDetectorHighlights):

Additionally clear out `m_hostElementForDataDetectors`.

(WebCore::ImageOverlayController::elementUnderMouseDidChange):

Update data detector highlights whenever the element under the mouse is over content inside an image overlay.
Note that we effectively ignore this method call in the case where we're clearing out `m_elementUnderMouse` for
a different Document than the one containing `m_hostElementForDataDetectors`, which prevents us from erroneously
hiding data detectors when `m_elementUnderMouse` is removed or otherwise cleared out in a different Document.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/dom/Document.cpp
trunk/Source/WebCore/page/EventHandler.cpp
trunk/Source/WebCore/page/EventHandler.h
trunk/Source/WebCore/page/ImageOverlayController.cpp
trunk/Source/WebCore/page/ImageOverlayController.h
trunk/Source/WebCore/page/Page.h
trunk/Source/WebCore/page/mac/ImageOverlayControllerMac.mm




Diff

Modified: trunk/Source/WebCore/ChangeLog (278330 => 278331)

--- trunk/Source/WebCore/ChangeLog	2021-06-01 22:36:13 UTC (rev 278330)
+++ trunk/Source/WebCore/ChangeLog	2021-06-01 22:36:56 UTC (rev 278331)
@@ -1,3 +1,81 @@
+2021-06-01  Wenson Hsieh  
+
+[macOS] Data detector highlights should appear when hovering inside image overlays
+https://bugs.webkit.org/show_bug.cgi?id=226507
+
+Reviewed by Tim Horton.
+
+Refactor some logic in ImageOverlayController, such that the overlay is installed if _either_ selection painting
+is required, or data detector highlights for the image overlay host element exist; additionally, add plumbing to
+allow the ImageOverlayController to install a page overlay when the element under the mouse is 

[webkit-changes] [278330] trunk/Source

2021-06-01 Thread commit-queue
Title: [278330] trunk/Source








Revision 278330
Author commit-qu...@webkit.org
Date 2021-06-01 15:36:13 -0700 (Tue, 01 Jun 2021)


Log Message
Adopt Reveal for phone numbers
https://bugs.webkit.org/show_bug.cgi?id=226383
rdar://78482517
Source/WebCore/PAL:

Patch by Dana Estra  on 2021-06-01
Reviewed by Tim Horton.

Add declaration for RVItem method initWithURL.

* pal/spi/cocoa/RevealSPI.h:

Source/WebKit:

Patch by Dana Estra  on 2021-06-01
Reviewed by Tim Horton.

Manually tested by selecting text containing phone numbers in Safari and viewing dropdown menu.

Switch to Reveal framework to show a dropdown menu for telephone numbers with more options.

* Platform/mac/MenuUtilities.mm:
(-[WKEmptyPresenterHighlightDelegate revealContext:rectsForItem:]):
(WebKit::menuForTelephoneNumber):

Modified Paths

trunk/Source/WebCore/PAL/ChangeLog
trunk/Source/WebCore/PAL/pal/spi/cocoa/RevealSPI.h
trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/Platform/mac/MenuUtilities.mm




Diff

Modified: trunk/Source/WebCore/PAL/ChangeLog (278329 => 278330)

--- trunk/Source/WebCore/PAL/ChangeLog	2021-06-01 22:03:35 UTC (rev 278329)
+++ trunk/Source/WebCore/PAL/ChangeLog	2021-06-01 22:36:13 UTC (rev 278330)
@@ -1,3 +1,15 @@
+2021-06-01  Dana Estra  
+
+Adopt Reveal for phone numbers
+https://bugs.webkit.org/show_bug.cgi?id=226383
+rdar://78482517
+
+Reviewed by Tim Horton.
+
+Add declaration for RVItem method initWithURL.
+
+* pal/spi/cocoa/RevealSPI.h:
+
 2021-05-30  Darin Adler  
 
 Remove WTF::Optional synonym for std::optional, using that class template directly instead


Modified: trunk/Source/WebCore/PAL/pal/spi/cocoa/RevealSPI.h (278329 => 278330)

--- trunk/Source/WebCore/PAL/pal/spi/cocoa/RevealSPI.h	2021-06-01 22:03:35 UTC (rev 278329)
+++ trunk/Source/WebCore/PAL/pal/spi/cocoa/RevealSPI.h	2021-06-01 22:36:13 UTC (rev 278330)
@@ -49,6 +49,7 @@
 @interface RVItem : NSObject 
 - (instancetype)initWithText:(NSString *)text selectedRange:(NSRange)selectedRange NS_DESIGNATED_INITIALIZER;
 - (instancetype)initWithDDResult:(DDScannerResult *)result NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithURL:(NSURL *)url rangeInContext:(NSRange)rangeInContext;
 @property (readonly, nonatomic) NSRange highlightRange;
 @end
 


Modified: trunk/Source/WebKit/ChangeLog (278329 => 278330)

--- trunk/Source/WebKit/ChangeLog	2021-06-01 22:03:35 UTC (rev 278329)
+++ trunk/Source/WebKit/ChangeLog	2021-06-01 22:36:13 UTC (rev 278330)
@@ -1,3 +1,19 @@
+2021-06-01  Dana Estra  
+
+Adopt Reveal for phone numbers
+https://bugs.webkit.org/show_bug.cgi?id=226383
+rdar://78482517
+
+Reviewed by Tim Horton.
+
+Manually tested by selecting text containing phone numbers in Safari and viewing dropdown menu.
+
+Switch to Reveal framework to show a dropdown menu for telephone numbers with more options.
+
+* Platform/mac/MenuUtilities.mm:
+(-[WKEmptyPresenterHighlightDelegate revealContext:rectsForItem:]):
+(WebKit::menuForTelephoneNumber):
+
 2021-06-01  Chris Dumez  
 
 Unreviewed build fix after r278253.


Modified: trunk/Source/WebKit/Platform/mac/MenuUtilities.mm (278329 => 278330)

--- trunk/Source/WebKit/Platform/mac/MenuUtilities.mm	2021-06-01 22:03:35 UTC (rev 278329)
+++ trunk/Source/WebKit/Platform/mac/MenuUtilities.mm	2021-06-01 22:36:13 UTC (rev 278330)
@@ -25,6 +25,7 @@
 
 #import "config.h"
 #import "MenuUtilities.h"
+#import 
 
 #if PLATFORM(MAC)
 
@@ -40,6 +41,18 @@
 SOFT_LINK_CLASS(TelephonyUtilities, TUCall)
 #endif
 
+@interface WKEmptyPresenterHighlightDelegate : NSObject 
+@end
+
+@implementation WKEmptyPresenterHighlightDelegate
+
+- (NSArray  *)revealContext:(RVPresentingContext *)context rectsForItem:(RVItem *)item
+{
+return @[ ];
+}
+
+@end
+
 namespace WebKit {
 
 #if ENABLE(TELEPHONE_NUMBER_DETECTION)
@@ -94,35 +107,22 @@
 
 RetainPtr menuForTelephoneNumber(const String& telephoneNumber)
 {
-if (!DataDetectorsLibrary())
+if (!PAL::isRevealFrameworkAvailable() || !PAL::isRevealCoreFrameworkAvailable())
 return nil;
 
 RetainPtr menu = adoptNS([[NSMenu alloc] init]);
-NSMutableArray *faceTimeItems = [NSMutableArray array];
-NSMenuItem *dialItem = nil;
+auto viewForPresenter = adoptNS([[NSView alloc] init]);
+auto urlComponents = adoptNS([[NSURLComponents alloc] init]);
+[urlComponents setScheme:@"tel"];
+[urlComponents setPath:telephoneNumber];
+auto item = adoptNS([PAL::allocRVItemInstance() initWithURL:[urlComponents URL] rangeInContext:NSMakeRange(0, telephoneNumber.length())]);
+auto presenter = adoptNS([PAL::allocRVPresenterInstance() init]);
+auto delegate = adoptNS([[WKEmptyPresenterHighlightDelegate alloc] init]);
+auto context = adoptNS([PAL::allocRVPresentingContextInstance() initWithPointerLocationInView:NSZeroPoint inView:viewForPresenter.get() highlightDelegate:delegate.get()]);
+

[webkit-changes] [278329] trunk

2021-06-01 Thread cdumez
Title: [278329] trunk








Revision 278329
Author cdu...@apple.com
Date 2021-06-01 15:03:35 -0700 (Tue, 01 Jun 2021)


Log Message
Fix unsafe access to m_upload in XMLHttpRequest::virtualHasPendingActivity()
https://bugs.webkit.org/show_bug.cgi?id=226508

Reviewed by Geoffrey Garen.

Source/WebCore:

Fix unsafe access to m_upload in XMLHttpRequest::virtualHasPendingActivity() as virtualHasPendingActivity()
may get called off the main thread and m_upload gets initialized lazily on the main thread.

Tests: fast/xmlhttprequest/xmlhttprequest-upload-sameobject.html
   http/tests/xmlhttprequest/upload-progress-events-gc.html

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::updateHasRelevantEventListener):
(WebCore::XMLHttpRequest::eventListenersDidChange):
(WebCore::XMLHttpRequest::virtualHasPendingActivity const):
* xml/XMLHttpRequest.h:
* xml/XMLHttpRequest.idl:
* xml/XMLHttpRequestUpload.cpp:
(WebCore::XMLHttpRequestUpload::eventListenersDidChange):
(WebCore::XMLHttpRequestUpload::hasRelevantEventListener const):
* xml/XMLHttpRequestUpload.h:

LayoutTests:

Improve layout test coverage to make sure that XMLHttpRequest.upload always returns
the same object and that progress events on XMLHttpRequest.upload still get fired
after GC.

* fast/xmlhttprequest/xmlhttprequest-upload-sameobject-expected.txt: Added.
* fast/xmlhttprequest/xmlhttprequest-upload-sameobject.html: Added.
* http/tests/xmlhttprequest/upload-progress-events-gc-expected.txt: Added.
* http/tests/xmlhttprequest/upload-progress-events-gc.html: Added.

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/xml/XMLHttpRequest.cpp
trunk/Source/WebCore/xml/XMLHttpRequest.h
trunk/Source/WebCore/xml/XMLHttpRequest.idl
trunk/Source/WebCore/xml/XMLHttpRequestUpload.cpp
trunk/Source/WebCore/xml/XMLHttpRequestUpload.h


Added Paths

trunk/LayoutTests/fast/xmlhttprequest/xmlhttprequest-upload-sameobject-expected.txt
trunk/LayoutTests/fast/xmlhttprequest/xmlhttprequest-upload-sameobject.html
trunk/LayoutTests/http/tests/xmlhttprequest/upload-progress-events-gc-expected.txt
trunk/LayoutTests/http/tests/xmlhttprequest/upload-progress-events-gc.html




Diff

Modified: trunk/LayoutTests/ChangeLog (278328 => 278329)

--- trunk/LayoutTests/ChangeLog	2021-06-01 21:04:36 UTC (rev 278328)
+++ trunk/LayoutTests/ChangeLog	2021-06-01 22:03:35 UTC (rev 278329)
@@ -1,3 +1,19 @@
+2021-06-01  Chris Dumez  
+
+Fix unsafe access to m_upload in XMLHttpRequest::virtualHasPendingActivity()
+https://bugs.webkit.org/show_bug.cgi?id=226508
+
+Reviewed by Geoffrey Garen.
+
+Improve layout test coverage to make sure that XMLHttpRequest.upload always returns
+the same object and that progress events on XMLHttpRequest.upload still get fired
+after GC.
+
+* fast/xmlhttprequest/xmlhttprequest-upload-sameobject-expected.txt: Added.
+* fast/xmlhttprequest/xmlhttprequest-upload-sameobject.html: Added.
+* http/tests/xmlhttprequest/upload-progress-events-gc-expected.txt: Added.
+* http/tests/xmlhttprequest/upload-progress-events-gc.html: Added.
+
 2021-06-01  Sam Weinig  
 
 Support calc() on components inside relative color syntax colors


Added: trunk/LayoutTests/fast/xmlhttprequest/xmlhttprequest-upload-sameobject-expected.txt (0 => 278329)

--- trunk/LayoutTests/fast/xmlhttprequest/xmlhttprequest-upload-sameobject-expected.txt	(rev 0)
+++ trunk/LayoutTests/fast/xmlhttprequest/xmlhttprequest-upload-sameobject-expected.txt	2021-06-01 22:03:35 UTC (rev 278329)
@@ -0,0 +1,10 @@
+Tests that XMLHttpRequest.upload always returns the same object.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS xhr.upload.foo is 1
+PASS successfullyParsed is true
+
+TEST COMPLETE
+


Added: trunk/LayoutTests/fast/xmlhttprequest/xmlhttprequest-upload-sameobject.html (0 => 278329)

--- trunk/LayoutTests/fast/xmlhttprequest/xmlhttprequest-upload-sameobject.html	(rev 0)
+++ trunk/LayoutTests/fast/xmlhttprequest/xmlhttprequest-upload-sameobject.html	2021-06-01 22:03:35 UTC (rev 278329)
@@ -0,0 +1,19 @@
+
+
+
+
+description("Tests that XMLHttpRequest.upload always returns the same object.");
+jsTestIsAsync = true;
+
+let xhr = new XMLHttpRequest();
+xhr.upload.foo = 1;
+gc();
+setTimeout(() => {
+gc();
+shouldBe("xhr.upload.foo", "1");
+finishJSTest();
+}, 0);
+
+
+


Added: trunk/LayoutTests/http/tests/xmlhttprequest/upload-progress-events-gc-expected.txt (0 => 278329)

--- trunk/LayoutTests/http/tests/xmlhttprequest/upload-progress-events-gc-expected.txt	(rev 0)
+++ trunk/LayoutTests/http/tests/xmlhttprequest/upload-progress-events-gc-expected.txt	2021-06-01 22:03:35 UTC (rev 278329)
@@ -0,0 +1,12 @@
+Makes sure that upload events are still fired after GC.
+
+On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
+
+
+PASS 

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

2021-06-01 Thread Hironori . Fujii
Title: [278328] trunk/Source/WebCore








Revision 278328
Author hironori.fu...@sony.com
Date 2021-06-01 14:04:36 -0700 (Tue, 01 Jun 2021)


Log Message
[Win] Remove unused GraphicsContext::hdc()
https://bugs.webkit.org/show_bug.cgi?id=226309

Reviewed by Anders Carlsson.

* platform/graphics/GraphicsContext.h:
* platform/graphics/win/GraphicsContextWin.cpp:
(WebCore::GraphicsContext::hdc const): Deleted.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/GraphicsContext.h
trunk/Source/WebCore/platform/graphics/win/GraphicsContextWin.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (278327 => 278328)

--- trunk/Source/WebCore/ChangeLog	2021-06-01 21:04:18 UTC (rev 278327)
+++ trunk/Source/WebCore/ChangeLog	2021-06-01 21:04:36 UTC (rev 278328)
@@ -1,3 +1,14 @@
+2021-06-01  Fujii Hironori  
+
+[Win] Remove unused GraphicsContext::hdc()
+https://bugs.webkit.org/show_bug.cgi?id=226309
+
+Reviewed by Anders Carlsson.
+
+* platform/graphics/GraphicsContext.h:
+* platform/graphics/win/GraphicsContextWin.cpp:
+(WebCore::GraphicsContext::hdc const): Deleted.
+
 2021-06-01  Cameron McCormack  
 
 Remove duplicate "behavior for fixed" entry from scrolling state tree logging


Modified: trunk/Source/WebCore/platform/graphics/GraphicsContext.h (278327 => 278328)

--- trunk/Source/WebCore/platform/graphics/GraphicsContext.h	2021-06-01 21:04:18 UTC (rev 278327)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContext.h	2021-06-01 21:04:36 UTC (rev 278328)
@@ -533,7 +533,6 @@
 #if OS(WINDOWS)
 HDC getWindowsContext(const IntRect&, bool supportAlphaBlend); // The passed in rect is used to create a bitmap for compositing inside transparency layers.
 void releaseWindowsContext(HDC, const IntRect&, bool supportAlphaBlend); // The passed in HDC should be the one handed back by getWindowsContext.
-HDC hdc() const;
 
 // FIXME: This should not exist; we need a different place to
 // put code shared between Windows CG and Windows Cairo backends.


Modified: trunk/Source/WebCore/platform/graphics/win/GraphicsContextWin.cpp (278327 => 278328)

--- trunk/Source/WebCore/platform/graphics/win/GraphicsContextWin.cpp	2021-06-01 21:04:18 UTC (rev 278327)
+++ trunk/Source/WebCore/platform/graphics/win/GraphicsContextWin.cpp	2021-06-01 21:04:36 UTC (rev 278328)
@@ -104,14 +104,6 @@
 return deprecatedPrivateContext()->m_hdc;
 }
 
-HDC GraphicsContext::hdc() const
-{
-if (!deprecatedPrivateContext())
-return nullptr;
-
-return deprecatedPrivateContext()->m_hdc;
-}
-
 #if PLATFORM(WIN) && !USE(DIRECT2D)
 void GraphicsContextPlatformPrivate::save()
 {






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


[webkit-changes] [278327] tags/Safari-611.3.6.1.4/

2021-06-01 Thread rubent_22
Title: [278327] tags/Safari-611.3.6.1.4/








Revision 278327
Author rubent...@apple.com
Date 2021-06-01 14:04:18 -0700 (Tue, 01 Jun 2021)


Log Message
Tag Safari-611.3.6.1.4.

Added Paths

tags/Safari-611.3.6.1.4/




Diff




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


[webkit-changes] [278326] branches/safari-611.3.6.1-branch/Source

2021-06-01 Thread rubent_22
Title: [278326] branches/safari-611.3.6.1-branch/Source








Revision 278326
Author rubent...@apple.com
Date 2021-06-01 14:01:16 -0700 (Tue, 01 Jun 2021)


Log Message
Versioning.

WebKit-7611.3.6.1.4

Modified Paths

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




Diff

Modified: branches/safari-611.3.6.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig (278325 => 278326)

--- branches/safari-611.3.6.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-06-01 21:01:06 UTC (rev 278325)
+++ branches/safari-611.3.6.1-branch/Source/_javascript_Core/Configurations/Version.xcconfig	2021-06-01 21:01:16 UTC (rev 278326)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 3;
+NANO_VERSION = 4;
 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-611.3.6.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig (278325 => 278326)

--- branches/safari-611.3.6.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-06-01 21:01:06 UTC (rev 278325)
+++ branches/safari-611.3.6.1-branch/Source/ThirdParty/ANGLE/Configurations/Version.xcconfig	2021-06-01 21:01:16 UTC (rev 278326)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 3;
+NANO_VERSION = 4;
 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-611.3.6.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig (278325 => 278326)

--- branches/safari-611.3.6.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-06-01 21:01:06 UTC (rev 278325)
+++ branches/safari-611.3.6.1-branch/Source/ThirdParty/libwebrtc/Configurations/Version.xcconfig	2021-06-01 21:01:16 UTC (rev 278326)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 3;
+NANO_VERSION = 4;
 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-611.3.6.1-branch/Source/WebCore/Configurations/Version.xcconfig (278325 => 278326)

--- branches/safari-611.3.6.1-branch/Source/WebCore/Configurations/Version.xcconfig	2021-06-01 21:01:06 UTC (rev 278325)
+++ branches/safari-611.3.6.1-branch/Source/WebCore/Configurations/Version.xcconfig	2021-06-01 21:01:16 UTC (rev 278326)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 3;
+NANO_VERSION = 4;
 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-611.3.6.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig (278325 => 278326)

--- branches/safari-611.3.6.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-06-01 21:01:06 UTC (rev 278325)
+++ branches/safari-611.3.6.1-branch/Source/WebCore/PAL/Configurations/Version.xcconfig	2021-06-01 21:01:16 UTC (rev 278326)
@@ -25,7 +25,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 3;
+NANO_VERSION = 4;
 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-611.3.6.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig (278325 => 278326)

--- branches/safari-611.3.6.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-06-01 21:01:06 UTC (rev 278325)
+++ branches/safari-611.3.6.1-branch/Source/WebInspectorUI/Configurations/Version.xcconfig	2021-06-01 21:01:16 UTC (rev 278326)
@@ -2,7 +2,7 @@
 MINOR_VERSION = 3;
 TINY_VERSION = 6;
 MICRO_VERSION = 1;
-NANO_VERSION = 3;
+NANO_VERSION = 4;
 FULL_VERSION = 

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

2021-06-01 Thread heycam
Title: [278325] trunk/Source/WebCore








Revision 278325
Author hey...@apple.com
Date 2021-06-01 14:01:06 -0700 (Tue, 01 Jun 2021)


Log Message
Remove duplicate "behavior for fixed" entry from scrolling state tree logging
https://bugs.webkit.org/show_bug.cgi?id=226479

Reviewed by Frédéric Wang.

* page/scrolling/ScrollingStateFrameScrollingNode.cpp:
(WebCore::ScrollingStateFrameScrollingNode::dumpProperties const):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (278324 => 278325)

--- trunk/Source/WebCore/ChangeLog	2021-06-01 20:48:55 UTC (rev 278324)
+++ trunk/Source/WebCore/ChangeLog	2021-06-01 21:01:06 UTC (rev 278325)
@@ -1,3 +1,13 @@
+2021-06-01  Cameron McCormack  
+
+Remove duplicate "behavior for fixed" entry from scrolling state tree logging
+https://bugs.webkit.org/show_bug.cgi?id=226479
+
+Reviewed by Frédéric Wang.
+
+* page/scrolling/ScrollingStateFrameScrollingNode.cpp:
+(WebCore::ScrollingStateFrameScrollingNode::dumpProperties const):
+
 2021-06-01  Fujii Hironori  
 
 [WinCairo] GraphicsContextCairo::GraphicsContextCairo(HDC, bool) leaks cairo_t


Modified: trunk/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp (278324 => 278325)

--- trunk/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp	2021-06-01 20:48:55 UTC (rev 278324)
+++ trunk/Source/WebCore/page/scrolling/ScrollingStateFrameScrollingNode.cpp	2021-06-01 21:01:06 UTC (rev 278325)
@@ -345,9 +345,6 @@
 if (m_overrideVisualViewportSize)
 ts.dumpProperty("override visual viewport size", m_overrideVisualViewportSize.value());
 
-if (m_behaviorForFixed == StickToViewportBounds)
-ts.dumpProperty("behavior for fixed", m_behaviorForFixed);
-
 if (!m_eventTrackingRegions.asynchronousDispatchRegion.isEmpty()) {
 TextStream::GroupScope scope(ts);
 ts << "asynchronous event dispatch region";






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


[webkit-changes] [278324] branches/safari-611.3.6.1-branch/Source/WTF

2021-06-01 Thread rubent_22
Title: [278324] branches/safari-611.3.6.1-branch/Source/WTF








Revision 278324
Author rubent...@apple.com
Date 2021-06-01 13:48:55 -0700 (Tue, 01 Jun 2021)


Log Message
Cherry-pick r278321. rdar://problem/78718570

Unreviewed build fix after r277881.

Silence unused parameter warnings.

* wtf/cocoa/FileSystemCocoa.mm:
(WTF::FileSystemImpl::setAllowsMaterializingDatalessFiles):
(WTF::FileSystemImpl::allowsMaterializingDatalessFiles): Deleted.
(WTF::FileSystemImpl::isSafeToUseMemoryMapForPath): Deleted.
(WTF::FileSystemImpl::makeSafeToUseMemoryMapForPath): Deleted.

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

Modified Paths

branches/safari-611.3.6.1-branch/Source/WTF/ChangeLog
branches/safari-611.3.6.1-branch/Source/WTF/wtf/cocoa/FileSystemCocoa.mm




Diff

Modified: branches/safari-611.3.6.1-branch/Source/WTF/ChangeLog (278323 => 278324)

--- branches/safari-611.3.6.1-branch/Source/WTF/ChangeLog	2021-06-01 20:08:28 UTC (rev 278323)
+++ branches/safari-611.3.6.1-branch/Source/WTF/ChangeLog	2021-06-01 20:48:55 UTC (rev 278324)
@@ -1,3 +1,31 @@
+2021-06-01  Alan Coon  
+
+Cherry-pick r278321. rdar://problem/78718570
+
+Unreviewed build fix after r277881.
+
+Silence unused parameter warnings.
+
+* wtf/cocoa/FileSystemCocoa.mm:
+(WTF::FileSystemImpl::setAllowsMaterializingDatalessFiles):
+(WTF::FileSystemImpl::allowsMaterializingDatalessFiles): Deleted.
+(WTF::FileSystemImpl::isSafeToUseMemoryMapForPath): Deleted.
+(WTF::FileSystemImpl::makeSafeToUseMemoryMapForPath): Deleted.
+
+git-svn-id: https://svn.webkit.org/repository/webkit/trunk@278321 268f45cc-cd09-0410-ab3c-d52691b4dbfc
+
+2021-06-01  Chris Dumez  
+
+Unreviewed build fix after r277881.
+
+Silence unused parameter warnings.
+
+* wtf/cocoa/FileSystemCocoa.mm:
+(WTF::FileSystemImpl::setAllowsMaterializingDatalessFiles):
+(WTF::FileSystemImpl::allowsMaterializingDatalessFiles): Deleted.
+(WTF::FileSystemImpl::isSafeToUseMemoryMapForPath): Deleted.
+(WTF::FileSystemImpl::makeSafeToUseMemoryMapForPath): Deleted.
+
 2021-05-28  Russell Epstein  
 
 Cherry-pick r278209. rdar://problem/78595584


Modified: branches/safari-611.3.6.1-branch/Source/WTF/wtf/cocoa/FileSystemCocoa.mm (278323 => 278324)

--- branches/safari-611.3.6.1-branch/Source/WTF/wtf/cocoa/FileSystemCocoa.mm	2021-06-01 20:08:28 UTC (rev 278323)
+++ branches/safari-611.3.6.1-branch/Source/WTF/wtf/cocoa/FileSystemCocoa.mm	2021-06-01 20:48:55 UTC (rev 278324)
@@ -203,6 +203,8 @@
 }
 return true;
 #else
+UNUSED_PARAM(allow);
+UNUSED_PARAM(scope);
 return false;
 #endif
 }
@@ -218,6 +220,7 @@
 LOG_ERROR("FileSystem::allowsMaterializingDatalessFiles(): getiopolicy_np call failed, errno: %d", errno);
 return WTF::nullopt;
 #else
+UNUSED_PARAM(scope);
 return WTF::nullopt;
 #endif
 }






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


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

2021-06-01 Thread Hironori . Fujii
Title: [278323] trunk/Source/WebCore








Revision 278323
Author hironori.fu...@sony.com
Date 2021-06-01 13:08:28 -0700 (Tue, 01 Jun 2021)


Log Message
[WinCairo] GraphicsContextCairo::GraphicsContextCairo(HDC, bool) leaks cairo_t
https://bugs.webkit.org/show_bug.cgi?id=226317

Reviewed by Don Olmstead.

* platform/graphics/win/GraphicsContextCairoWin.cpp:
(WebCore::createCairoContextWithHDC): Changed the return type from cairo_t* to RefPtr.
(WebCore::GraphicsContextCairo::GraphicsContextCairo):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/win/GraphicsContextCairoWin.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (278322 => 278323)

--- trunk/Source/WebCore/ChangeLog	2021-06-01 20:04:18 UTC (rev 278322)
+++ trunk/Source/WebCore/ChangeLog	2021-06-01 20:08:28 UTC (rev 278323)
@@ -1,3 +1,14 @@
+2021-06-01  Fujii Hironori  
+
+[WinCairo] GraphicsContextCairo::GraphicsContextCairo(HDC, bool) leaks cairo_t
+https://bugs.webkit.org/show_bug.cgi?id=226317
+
+Reviewed by Don Olmstead.
+
+* platform/graphics/win/GraphicsContextCairoWin.cpp:
+(WebCore::createCairoContextWithHDC): Changed the return type from cairo_t* to RefPtr.
+(WebCore::GraphicsContextCairo::GraphicsContextCairo):
+
 2021-06-01  Philippe Normand  
 
 [EME][Thunder] Build broken since r278244


Modified: trunk/Source/WebCore/platform/graphics/win/GraphicsContextCairoWin.cpp (278322 => 278323)

--- trunk/Source/WebCore/platform/graphics/win/GraphicsContextCairoWin.cpp	2021-06-01 20:04:18 UTC (rev 278322)
+++ trunk/Source/WebCore/platform/graphics/win/GraphicsContextCairoWin.cpp	2021-06-01 20:08:28 UTC (rev 278323)
@@ -30,6 +30,7 @@
 #include "DIBPixelData.h"
 #include "GraphicsContextCairo.h"
 #include "Path.h"
+#include "RefPtrCairo.h"
 
 #include 
 #include "GraphicsContextPlatformPrivateCairo.h"
@@ -38,7 +39,7 @@
 namespace WebCore {
 
 #if PLATFORM(WIN)
-static cairo_t* createCairoContextWithHDC(HDC hdc, bool hasAlpha)
+static RefPtr createCairoContextWithHDC(HDC hdc, bool hasAlpha)
 {
 // Put the HDC In advanced mode so it will honor affine transforms.
 SetGraphicsMode(hdc, GM_ADVANCED);
@@ -60,7 +61,7 @@
info.bmWidthBytes);
 }
 
-cairo_t* context = cairo_create(surface);
+auto context = adoptRef(cairo_create(surface));
 cairo_surface_destroy(surface);
 
 return context;
@@ -67,7 +68,7 @@
 }
 
 GraphicsContextCairo::GraphicsContextCairo(HDC dc, bool hasAlpha)
-: GraphicsContextCairo(createCairoContextWithHDC(dc, hasAlpha))
+: GraphicsContextCairo(createCairoContextWithHDC(dc, hasAlpha).get())
 {
 }
 #endif






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


[webkit-changes] [278322] trunk/Tools

2021-06-01 Thread Hironori . Fujii
Title: [278322] trunk/Tools








Revision 278322
Author hironori.fu...@sony.com
Date 2021-06-01 13:04:18 -0700 (Tue, 01 Jun 2021)


Log Message
Sync Tools/win/DLLLauncher/DLLLauncherMain.cpp with Source/_javascript_Core/shell/DLLLauncherMain.cpp
https://bugs.webkit.org/show_bug.cgi?id=226451

Reviewed by Don Olmstead.

Tools/win/DLLLauncher/DLLLauncherMain.cpp and
Source/_javascript_Core/shell/DLLLauncherMain.cpp should be same.
But, r231403 changed only _javascript_Core's one. r178530 changed
only Tools's one.

r178530 added flags for Debug CRT Heap. However, WebKit isn't
using Debug CRT Heap nowadays. And, using _CRTDBG_CHECK_ALWAYS_DF
flag makes WebKit unbearably slow.

Just copied _javascript_Core's one to overwrite Tools's one.

* win/DLLLauncher/DLLLauncherMain.cpp:
(copyEnvironmentVariable):
(getStringValue):
(applePathFromRegistry):
(appleApplicationSupportDirectory):
(iTunesDirectory):
(prependPath):
(fatalError):
(directoryExists):
(modifyPath):
(getLastErrorString):
(wWinMain):

Modified Paths

trunk/Tools/ChangeLog
trunk/Tools/win/DLLLauncher/DLLLauncherMain.cpp




Diff

Modified: trunk/Tools/ChangeLog (278321 => 278322)

--- trunk/Tools/ChangeLog	2021-06-01 19:24:53 UTC (rev 278321)
+++ trunk/Tools/ChangeLog	2021-06-01 20:04:18 UTC (rev 278322)
@@ -1,3 +1,34 @@
+2021-06-01  Fujii Hironori  
+
+Sync Tools/win/DLLLauncher/DLLLauncherMain.cpp with Source/_javascript_Core/shell/DLLLauncherMain.cpp
+https://bugs.webkit.org/show_bug.cgi?id=226451
+
+Reviewed by Don Olmstead.
+
+Tools/win/DLLLauncher/DLLLauncherMain.cpp and
+Source/_javascript_Core/shell/DLLLauncherMain.cpp should be same.
+But, r231403 changed only _javascript_Core's one. r178530 changed
+only Tools's one.
+
+r178530 added flags for Debug CRT Heap. However, WebKit isn't
+using Debug CRT Heap nowadays. And, using _CRTDBG_CHECK_ALWAYS_DF
+flag makes WebKit unbearably slow.
+
+Just copied _javascript_Core's one to overwrite Tools's one.
+
+* win/DLLLauncher/DLLLauncherMain.cpp:
+(copyEnvironmentVariable):
+(getStringValue):
+(applePathFromRegistry):
+(appleApplicationSupportDirectory):
+(iTunesDirectory):
+(prependPath):
+(fatalError):
+(directoryExists):
+(modifyPath):
+(getLastErrorString):
+(wWinMain):
+
 2021-06-01  Chris Dumez  
 
 REGRESSION (iOS 14.5): Can't go back and render previous page properly after "location.href"


Modified: trunk/Tools/win/DLLLauncher/DLLLauncherMain.cpp (278321 => 278322)

--- trunk/Tools/win/DLLLauncher/DLLLauncherMain.cpp	2021-06-01 19:24:53 UTC (rev 278321)
+++ trunk/Tools/win/DLLLauncher/DLLLauncherMain.cpp	2021-06-01 20:04:18 UTC (rev 278322)
@@ -35,8 +35,6 @@
 #include 
 #include 
 
-using namespace std;
-
 static void enableTerminationOnHeapCorruption()
 {
 HEAP_INFORMATION_CLASS heapEnableTerminationOnCorruption = static_cast(1);
@@ -43,64 +41,64 @@
 HeapSetInformation(0, heapEnableTerminationOnCorruption, 0, 0);
 }
 
-static wstring copyEnvironmentVariable(const wstring& variable)
+static std::wstring copyEnvironmentVariable(const std::wstring& variable)
 {
 DWORD length = ::GetEnvironmentVariableW(variable.c_str(), 0, 0);
 if (!length)
-return wstring();
-vector buffer(length);
+return std::wstring();
+std::vector buffer(length);
 if (!GetEnvironmentVariable(variable.c_str(), [0], buffer.size()) || !buffer[0])
-return wstring();
+return std::wstring();
 return [0];
 }
 
 #if !defined(WIN_CAIRO)
-static wstring getStringValue(HKEY key, const wstring& valueName)
+static std::wstring getStringValue(HKEY key, const std::wstring& valueName)
 {
 DWORD type = 0;
 DWORD bufferSize = 0;
 if (::RegQueryValueExW(key, valueName.c_str(), 0, , 0, ) != ERROR_SUCCESS || type != REG_SZ)
-return wstring();
+return std::wstring();
 
-vector buffer(bufferSize / sizeof(wchar_t));
+std::vector buffer(bufferSize / sizeof(wchar_t));
 if (::RegQueryValueExW(key, valueName.c_str(), 0, , reinterpret_cast([0]), ) != ERROR_SUCCESS)
-return wstring();
+return std::wstring();
 
 return [0];
 }
 
-static wstring applePathFromRegistry(const wstring& key, const wstring& value)
+static std::wstring applePathFromRegistry(const std::wstring& key, const std::wstring& value)
 {
 HKEY applePathKey = 0;
 if (::RegOpenKeyExW(HKEY_LOCAL_MACHINE, key.c_str(), 0, KEY_READ, ) != ERROR_SUCCESS)
-return wstring();
-wstring path = getStringValue(applePathKey, value);
+return std::wstring();
+std::wstring path = getStringValue(applePathKey, value);
 ::RegCloseKey(applePathKey);
 return path;
 }
 
-static wstring appleApplicationSupportDirectory()
+static std::wstring appleApplicationSupportDirectory()
 {
 return applePathFromRegistry(L"SOFTWARE\\Apple Inc.\\Apple Application 

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

2021-06-01 Thread cdumez
Title: [278321] trunk/Source/WTF








Revision 278321
Author cdu...@apple.com
Date 2021-06-01 12:24:53 -0700 (Tue, 01 Jun 2021)


Log Message
Unreviewed build fix after r277881.

Silence unused parameter warnings.

* wtf/cocoa/FileSystemCocoa.mm:
(WTF::FileSystemImpl::setAllowsMaterializingDatalessFiles):
(WTF::FileSystemImpl::allowsMaterializingDatalessFiles): Deleted.
(WTF::FileSystemImpl::isSafeToUseMemoryMapForPath): Deleted.
(WTF::FileSystemImpl::makeSafeToUseMemoryMapForPath): Deleted.

Modified Paths

trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/cocoa/FileSystemCocoa.mm




Diff

Modified: trunk/Source/WTF/ChangeLog (278320 => 278321)

--- trunk/Source/WTF/ChangeLog	2021-06-01 19:09:25 UTC (rev 278320)
+++ trunk/Source/WTF/ChangeLog	2021-06-01 19:24:53 UTC (rev 278321)
@@ -1,3 +1,15 @@
+2021-06-01  Chris Dumez  
+
+Unreviewed build fix after r277881.
+
+Silence unused parameter warnings.
+
+* wtf/cocoa/FileSystemCocoa.mm:
+(WTF::FileSystemImpl::setAllowsMaterializingDatalessFiles):
+(WTF::FileSystemImpl::allowsMaterializingDatalessFiles): Deleted.
+(WTF::FileSystemImpl::isSafeToUseMemoryMapForPath): Deleted.
+(WTF::FileSystemImpl::makeSafeToUseMemoryMapForPath): Deleted.
+
 2021-06-01  Adrian Perez de Castro  
 
 [WPE][GTK] Support building against uClibc


Modified: trunk/Source/WTF/wtf/cocoa/FileSystemCocoa.mm (278320 => 278321)

--- trunk/Source/WTF/wtf/cocoa/FileSystemCocoa.mm	2021-06-01 19:09:25 UTC (rev 278320)
+++ trunk/Source/WTF/wtf/cocoa/FileSystemCocoa.mm	2021-06-01 19:24:53 UTC (rev 278321)
@@ -170,6 +170,8 @@
 }
 return true;
 #else
+UNUSED_PARAM(allow);
+UNUSED_PARAM(scope);
 return false;
 #endif
 }
@@ -185,6 +187,7 @@
 LOG_ERROR("FileSystem::allowsMaterializingDatalessFiles(): getiopolicy_np call failed, errno: %d", errno);
 return std::nullopt;
 #else
+UNUSED_PARAM(scope);
 return std::nullopt;
 #endif
 }






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


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

2021-06-01 Thread cdumez
Title: [278320] trunk/Source/WebKit








Revision 278320
Author cdu...@apple.com
Date 2021-06-01 12:09:25 -0700 (Tue, 01 Jun 2021)


Log Message
Unreviewed build fix after r278253.

Revert changes to WebKitTests.swift as this is Swift's Optional<> not WTF's.

* SwiftOverlay/Tests/WebKitTests.swift:
(WebKitTests.testWKPDFConfigurationRect):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/SwiftOverlay/Tests/WebKitTests.swift




Diff

Modified: trunk/Source/WebKit/ChangeLog (278319 => 278320)

--- trunk/Source/WebKit/ChangeLog	2021-06-01 19:04:12 UTC (rev 278319)
+++ trunk/Source/WebKit/ChangeLog	2021-06-01 19:09:25 UTC (rev 278320)
@@ -2,6 +2,15 @@
 
 Unreviewed build fix after r278253.
 
+Revert changes to WebKitTests.swift as this is Swift's Optional<> not WTF's.
+
+* SwiftOverlay/Tests/WebKitTests.swift:
+(WebKitTests.testWKPDFConfigurationRect):
+
+2021-06-01  Chris Dumez  
+
+Unreviewed build fix after r278253.
+
 Revert changes to ObjectiveCBlockConversions.swift and this is Swift's Optional<> not WTF's.
 
 * SwiftOverlay/SwiftOverlay/ObjectiveCBlockConversions.swift:


Modified: trunk/Source/WebKit/SwiftOverlay/Tests/WebKitTests.swift (278319 => 278320)

--- trunk/Source/WebKit/SwiftOverlay/Tests/WebKitTests.swift	2021-06-01 19:04:12 UTC (rev 278319)
+++ trunk/Source/WebKit/SwiftOverlay/Tests/WebKitTests.swift	2021-06-01 19:09:25 UTC (rev 278320)
@@ -40,7 +40,7 @@
 func testWKPDFConfigurationRect() {
 let configuration = WKPDFConfiguration()
 
-XCTAssert(type(of: configuration.rect) == std::optional.self)
+XCTAssert(type(of: configuration.rect) == Optional.self)
 
 configuration.rect = nil
 XCTAssertEqual(configuration.rect, nil)






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


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

2021-06-01 Thread cdumez
Title: [278319] trunk/Source/WebKit








Revision 278319
Author cdu...@apple.com
Date 2021-06-01 12:04:12 -0700 (Tue, 01 Jun 2021)


Log Message
Unreviewed build fix after r278253.

Revert changes to ObjectiveCBlockConversions.swift and this is Swift's Optional<> not WTF's.

* SwiftOverlay/SwiftOverlay/ObjectiveCBlockConversions.swift:
(ObjCBlockConversion.boxingNilAsAnyForCompatibility(_:Error:Error:)):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/SwiftOverlay/SwiftOverlay/ObjectiveCBlockConversions.swift




Diff

Modified: trunk/Source/WebKit/ChangeLog (278318 => 278319)

--- trunk/Source/WebKit/ChangeLog	2021-06-01 19:02:38 UTC (rev 278318)
+++ trunk/Source/WebKit/ChangeLog	2021-06-01 19:04:12 UTC (rev 278319)
@@ -1,5 +1,14 @@
 2021-06-01  Chris Dumez  
 
+Unreviewed build fix after r278253.
+
+Revert changes to ObjectiveCBlockConversions.swift and this is Swift's Optional<> not WTF's.
+
+* SwiftOverlay/SwiftOverlay/ObjectiveCBlockConversions.swift:
+(ObjCBlockConversion.boxingNilAsAnyForCompatibility(_:Error:Error:)):
+
+2021-06-01  Chris Dumez  
+
 REGRESSION (iOS 14.5): Can't go back and render previous page properly after "location.href"
 https://bugs.webkit.org/show_bug.cgi?id=226323
 


Modified: trunk/Source/WebKit/SwiftOverlay/SwiftOverlay/ObjectiveCBlockConversions.swift (278318 => 278319)

--- trunk/Source/WebKit/SwiftOverlay/SwiftOverlay/ObjectiveCBlockConversions.swift	2021-06-01 19:02:38 UTC (rev 278318)
+++ trunk/Source/WebKit/SwiftOverlay/SwiftOverlay/ObjectiveCBlockConversions.swift	2021-06-01 19:04:12 UTC (rev 278319)
@@ -70,7 +70,7 @@
 /// Converts a block from `(Result) -> Void` to `(Value?, Error) -> Void`.
 ///
 /// This performs the same conversion as `Self.exclusive(_:)`, but if the result block is called
-/// with `(nil, nil)` then `handler` is called with `.success(std::optional.none as Any)`. This
+/// with `(nil, nil)` then `handler` is called with `.success(Optional.none as Any)`. This
 /// is a compatibility behavior for http://webkit.org/b/216198, and should not be adopted by
 /// new code.
 static func boxingNilAsAnyForCompatibility(_ handler: @escaping (Result) -> Void) -> (Any?, Error?) -> Void {
@@ -80,7 +80,7 @@
 } else if let success = value {
 handler(.success(success))
 } else {
-handler(.success(std::optional.none as Any))
+handler(.success(Optional.none as Any))
 }
 }
 }






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


[webkit-changes] [278318] trunk

2021-06-01 Thread cdumez
Title: [278318] trunk








Revision 278318
Author cdu...@apple.com
Date 2021-06-01 12:02:38 -0700 (Tue, 01 Jun 2021)


Log Message
REGRESSION (iOS 14.5): Can't go back and render previous page properly after "location.href"
https://bugs.webkit.org/show_bug.cgi?id=226323


Reviewed by Alex Christensen.

Source/WebKit:

A while back, we did an optimization to allow several WebPage objects associated with the
same WebPageProxy to live in the same WebProcess. This allowed us to reuse a process from
a SuspendedPageProxy for a forward navigation, without destroying the SuspendedPageProxy.
However, this added quite a bit of complexity and this broke some same-process back/forward
navigations like in this bug. In particular, it is really hard to get do our history
management right (with the current model) if there is more than more WebPage in a process
for the same WebPageProxy.

To address issues, we go back to the older model with one WebPage per WebProcess for a
given WebPageProxy. To achieve this, we make sure to destroy of SuspendedPageProxy objects
for the current page and destination process before we process-swap (like we used to do).

* UIProcess/WebBackForwardCache.cpp:
(WebKit::WebBackForwardCache::removeEntriesForPageAndProcess):
* UIProcess/WebBackForwardCache.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):

Tools:

New API test written by Alex Christensen to cover this case.

* TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/WebBackForwardCache.cpp
trunk/Source/WebKit/UIProcess/WebBackForwardCache.h
trunk/Source/WebKit/UIProcess/WebPageProxy.cpp
trunk/Tools/ChangeLog
trunk/Tools/TestWebKitAPI/Tests/WebKitCocoa/ProcessSwapOnNavigation.mm




Diff

Modified: trunk/Source/WebKit/ChangeLog (278317 => 278318)

--- trunk/Source/WebKit/ChangeLog	2021-06-01 18:57:43 UTC (rev 278317)
+++ trunk/Source/WebKit/ChangeLog	2021-06-01 19:02:38 UTC (rev 278318)
@@ -1,3 +1,29 @@
+2021-06-01  Chris Dumez  
+
+REGRESSION (iOS 14.5): Can't go back and render previous page properly after "location.href"
+https://bugs.webkit.org/show_bug.cgi?id=226323
+
+
+Reviewed by Alex Christensen.
+
+A while back, we did an optimization to allow several WebPage objects associated with the
+same WebPageProxy to live in the same WebProcess. This allowed us to reuse a process from
+a SuspendedPageProxy for a forward navigation, without destroying the SuspendedPageProxy.
+However, this added quite a bit of complexity and this broke some same-process back/forward
+navigations like in this bug. In particular, it is really hard to get do our history
+management right (with the current model) if there is more than more WebPage in a process
+for the same WebPageProxy.
+
+To address issues, we go back to the older model with one WebPage per WebProcess for a
+given WebPageProxy. To achieve this, we make sure to destroy of SuspendedPageProxy objects
+for the current page and destination process before we process-swap (like we used to do).
+
+* UIProcess/WebBackForwardCache.cpp:
+(WebKit::WebBackForwardCache::removeEntriesForPageAndProcess):
+* UIProcess/WebBackForwardCache.h:
+* UIProcess/WebPageProxy.cpp:
+(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
+
 2021-06-01  Sihui Liu  
 
 Resume WebIDBServer when it is about to be closed


Modified: trunk/Source/WebKit/UIProcess/WebBackForwardCache.cpp (278317 => 278318)

--- trunk/Source/WebKit/UIProcess/WebBackForwardCache.cpp	2021-06-01 18:57:43 UTC (rev 278317)
+++ trunk/Source/WebKit/UIProcess/WebBackForwardCache.cpp	2021-06-01 19:02:38 UTC (rev 278318)
@@ -145,6 +145,14 @@
 });
 }
 
+void WebBackForwardCache::removeEntriesForPageAndProcess(WebPageProxy& page, WebProcessProxy& process)
+{
+removeEntriesMatching([pageID = page.identifier(), processIdentifier = process.coreProcessIdentifier()](auto& item) {
+ASSERT(item.backForwardCacheEntry());
+return item.pageID() == pageID && item.backForwardCacheEntry()->processIdentifier() == processIdentifier;
+});
+}
+
 void WebBackForwardCache::removeEntriesMatching(const Function& matches)
 {
 Vector> itemsWithEntriesToClear;


Modified: trunk/Source/WebKit/UIProcess/WebBackForwardCache.h (278317 => 278318)

--- trunk/Source/WebKit/UIProcess/WebBackForwardCache.h	2021-06-01 18:57:43 UTC (rev 278317)
+++ trunk/Source/WebKit/UIProcess/WebBackForwardCache.h	2021-06-01 19:02:38 UTC (rev 278318)
@@ -53,6 +53,7 @@
 void pruneToSize(unsigned);
 void removeEntriesForProcess(WebProcessProxy&);
 void removeEntriesForPage(WebPageProxy&);
+void removeEntriesForPageAndProcess(WebPageProxy&, WebProcessProxy&);
 void removeEntriesForSession(PAL::SessionID);
 
 void addEntry(WebBackForwardListItem&, 

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

2021-06-01 Thread sihui_liu
Title: [278317] trunk/Source/WebKit








Revision 278317
Author sihui_...@apple.com
Date 2021-06-01 11:57:43 -0700 (Tue, 01 Jun 2021)


Log Message
Resume WebIDBServer when it is about to be closed
https://bugs.webkit.org/show_bug.cgi?id=226502
rdar://78691498

Reviewed by Chris Dumez.

We started to acquire m_serverLock in WebIDBServer::close() in r278179 to stop database activities on the main
thread. However, m_serverLock may already be held for suspension, and WebIDBServer::close() may be called
before resume(). We need to resume WebIDBServer so m_serverLock can be acquired for stopping database activities.
This also makes sure background thread is resumed before WebIDBServer is removed from NetworkProcess.

* NetworkProcess/IndexedDB/WebIDBServer.cpp:
(WebKit::WebIDBServer::~WebIDBServer):
(WebKit::WebIDBServer::close):

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.cpp




Diff

Modified: trunk/Source/WebKit/ChangeLog (278316 => 278317)

--- trunk/Source/WebKit/ChangeLog	2021-06-01 18:50:17 UTC (rev 278316)
+++ trunk/Source/WebKit/ChangeLog	2021-06-01 18:57:43 UTC (rev 278317)
@@ -1,3 +1,20 @@
+2021-06-01  Sihui Liu  
+
+Resume WebIDBServer when it is about to be closed
+https://bugs.webkit.org/show_bug.cgi?id=226502
+rdar://78691498
+
+Reviewed by Chris Dumez.
+
+We started to acquire m_serverLock in WebIDBServer::close() in r278179 to stop database activities on the main
+thread. However, m_serverLock may already be held for suspension, and WebIDBServer::close() may be called 
+before resume(). We need to resume WebIDBServer so m_serverLock can be acquired for stopping database activities.
+This also makes sure background thread is resumed before WebIDBServer is removed from NetworkProcess.
+
+* NetworkProcess/IndexedDB/WebIDBServer.cpp:
+(WebKit::WebIDBServer::~WebIDBServer):
+(WebKit::WebIDBServer::close):
+
 2021-06-01  Chris Dumez  
 
 Enable WebPageProxy's release logging in ephemeral sessions


Modified: trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.cpp (278316 => 278317)

--- trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.cpp	2021-06-01 18:50:17 UTC (rev 278316)
+++ trunk/Source/WebKit/NetworkProcess/IndexedDB/WebIDBServer.cpp	2021-06-01 18:57:43 UTC (rev 278317)
@@ -58,6 +58,7 @@
 ASSERT(RunLoop::isMain());
 // close() has to be called to make sure thread exits.
 ASSERT(!m_closeCallback);
+ASSERT(!m_isSuspended);
 }
 
 void WebIDBServer::getOrigins(CompletionHandler&&)>&& callback)
@@ -427,6 +428,11 @@
 callOnMainRunLoop([protectedThis = WTFMove(protectedThis)] { });
 });
 
+#if PLATFORM(IOS_FAMILY)
+// Network process may become active and close WebIDBServer before receiving resume message.
+resume();
+#endif
+
 {
 Locker locker { m_serverLock };
 if (m_server)






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


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

2021-06-01 Thread commit-queue
Title: [278316] trunk/Source/WebCore








Revision 278316
Author commit-qu...@webkit.org
Date 2021-06-01 11:50:17 -0700 (Tue, 01 Jun 2021)


Log Message
[EME][Thunder] Build broken since r278244
https://bugs.webkit.org/show_bug.cgi?id=226498

Patch by Philippe Normand  on 2021-06-01
Reviewed by Alex Christensen.

* platform/graphics/gstreamer/eme/CDMThunder.cpp:
(WebCore::CDMInstanceSessionThunder::cdmInstanceThunder const): Cast raw pointer instead of
its smart pointer container.

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (278315 => 278316)

--- trunk/Source/WebCore/ChangeLog	2021-06-01 18:14:29 UTC (rev 278315)
+++ trunk/Source/WebCore/ChangeLog	2021-06-01 18:50:17 UTC (rev 278316)
@@ -1,3 +1,14 @@
+2021-06-01  Philippe Normand  
+
+[EME][Thunder] Build broken since r278244
+https://bugs.webkit.org/show_bug.cgi?id=226498
+
+Reviewed by Alex Christensen.
+
+* platform/graphics/gstreamer/eme/CDMThunder.cpp:
+(WebCore::CDMInstanceSessionThunder::cdmInstanceThunder const): Cast raw pointer instead of
+its smart pointer container.
+
 2021-06-01  Antti Koivisto  
 
 Rename InlineBox to LegacyInlineBox


Modified: trunk/Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.cpp (278315 => 278316)

--- trunk/Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.cpp	2021-06-01 18:14:29 UTC (rev 278315)
+++ trunk/Source/WebCore/platform/graphics/gstreamer/eme/CDMThunder.cpp	2021-06-01 18:50:17 UTC (rev 278316)
@@ -675,7 +675,8 @@
 
 CDMInstanceThunder* CDMInstanceSessionThunder::cdmInstanceThunder() const
 {
-return static_cast(cdmInstanceProxy());
+auto proxy = cdmInstanceProxy();
+return static_cast(proxy.get());
 }
 
 } // namespace WebCore






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


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

2021-06-01 Thread cdumez
Title: [278315] trunk/Source/WebKit








Revision 278315
Author cdu...@apple.com
Date 2021-06-01 11:14:29 -0700 (Tue, 01 Jun 2021)


Log Message
Enable WebPageProxy's release logging in ephemeral sessions
https://bugs.webkit.org/show_bug.cgi?id=226342

Reviewed by Geoff Garen.

Enable WebPageProxy's release logging in ephemeral sessions. Our release logging doesn't
contain anything sensitive and not having this logging makes it hard to debug issues in
apps using ephemeral sessions.

* UIProcess/Cocoa/SOAuthorization/SOAuthorizationSession.mm:
(WebKit::SOAuthorizationSession::shouldStart):
(WebKit::SOAuthorizationSession::start):
(WebKit::SOAuthorizationSession::continueStartAfterGetAuthorizationHints):
(WebKit::SOAuthorizationSession::continueStartAfterDecidePolicy):
(WebKit::SOAuthorizationSession::fallBackToWebPath):
(WebKit::SOAuthorizationSession::abort):
(WebKit::SOAuthorizationSession::complete):
(WebKit::SOAuthorizationSession::presentViewController):
(WebKit::SOAuthorizationSession::dismissViewController):
* UIProcess/ProvisionalPageProxy.cpp:
(WebKit::ProvisionalPageProxy::ProvisionalPageProxy):
(WebKit::ProvisionalPageProxy::processDidTerminate):
(WebKit::ProvisionalPageProxy::cancel):
(WebKit::ProvisionalPageProxy::loadData):
(WebKit::ProvisionalPageProxy::loadRequest):
(WebKit::ProvisionalPageProxy::goToBackForwardItem):
(WebKit::ProvisionalPageProxy::didCreateMainFrame):
(WebKit::ProvisionalPageProxy::didStartProvisionalLoadForFrame):
(WebKit::ProvisionalPageProxy::didFailProvisionalLoadForFrame):
(WebKit::ProvisionalPageProxy::didCommitLoadForFrame):
(WebKit::ProvisionalPageProxy::didCreateContextInWebProcessForVisibilityPropagation):
(WebKit::ProvisionalPageProxy::didCreateContextInGPUProcessForVisibilityPropagation):
* UIProcess/RemoteLayerTree/RemoteLayerTreeDrawingAreaProxy.mm:
(WebKit::RemoteLayerTreeDrawingAreaProxy::isAlwaysOnLoggingAllowed const):
* UIProcess/WebPageProxy.cpp:
(WebKit::m_limitsNavigationsToAppBoundDomains):
(WebKit::WebPageProxy::~WebPageProxy):
(WebKit::WebPageProxy::launchProcess):
(WebKit::WebPageProxy::suspendCurrentPageIfPossible):
(WebKit::WebPageProxy::swapToProvisionalPage):
(WebKit::WebPageProxy::launchProcessForReload):
(WebKit::WebPageProxy::close):
(WebKit::WebPageProxy::tryClose):
(WebKit::WebPageProxy::tryCloseTimedOut):
(WebKit::WebPageProxy::loadRequest):
(WebKit::WebPageProxy::loadRequestWithNavigationShared):
(WebKit::WebPageProxy::loadFile):
(WebKit::WebPageProxy::loadData):
(WebKit::WebPageProxy::loadDataWithNavigationShared):
(WebKit::WebPageProxy::loadSimulatedRequest):
(WebKit::WebPageProxy::loadAlternateHTML):
(WebKit::WebPageProxy::loadWebArchiveData):
(WebKit::WebPageProxy::navigateToPDFLinkWithSimulatedClick):
(WebKit::WebPageProxy::stopLoading):
(WebKit::WebPageProxy::reload):
(WebKit::WebPageProxy::goToBackForwardItem):
(WebKit::WebPageProxy::tryRestoreScrollPosition):
(WebKit::WebPageProxy::updateActivityState):
(WebKit::WebPageProxy::updateThrottleState):
(WebKit::WebPageProxy::clearAudibleActivity):
(WebKit::WebPageProxy::stopMakingViewBlankDueToLackOfRenderingUpdate):
(WebKit::WebPageProxy::makeViewBlankIfUnpaintedSinceLastLoadCommit):
(WebKit::WebPageProxy::receivedNavigationPolicyDecision):
(WebKit::WebPageProxy::commitProvisionalPage):
(WebKit::WebPageProxy::continueNavigationInNewProcess):
(WebKit::WebPageProxy::suspend):
(WebKit::WebPageProxy::resume):
(WebKit::WebPageProxy::restoreFromSessionState):
(WebKit::WebPageProxy::didStartProvisionalLoadForFrameShared):
(WebKit::WebPageProxy::didExplicitOpenForFrame):
(WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrameShared):
(WebKit::WebPageProxy::willPerformClientRedirectForFrame):
(WebKit::WebPageProxy::didCancelClientRedirectForFrame):
(WebKit::WebPageProxy::didFailProvisionalLoadForFrameShared):
(WebKit::WebPageProxy::didCommitLoadForFrame):
(WebKit::WebPageProxy::didFinishDocumentLoadForFrame):
(WebKit::WebPageProxy::didFinishLoadForFrame):
(WebKit::WebPageProxy::didFailLoadForFrame):
(WebKit::WebPageProxy::didSameDocumentNavigationForFrame):
(WebKit::WebPageProxy::decidePolicyForNavigationAction):
(WebKit::WebPageProxy::didNavigateWithNavigationDataShared):
(WebKit::WebPageProxy::didPerformClientRedirectShared):
(WebKit::WebPageProxy::didPerformServerRedirectShared):
(WebKit::WebPageProxy::closePage):
(WebKit::WebPageProxy::processDidBecomeUnresponsive):
(WebKit::WebPageProxy::processDidBecomeResponsive):
(WebKit::WebPageProxy::resetStateAfterProcessTermination):
(WebKit::WebPageProxy::dispatchProcessDidTerminate):
(WebKit::WebPageProxy::tryReloadAfterProcessTermination):
(WebKit::WebPageProxy::requestStorageSpace):
(WebKit::WebPageProxy::updateReportedMediaCaptureState):
(WebKit::WebPageProxy::didExceedInactiveMemoryLimitWhileActive):
(WebKit::WebPageProxy::didExceedBackgroundCPULimitWhileInForeground):
(WebKit::WebPageProxy::logger):
* UIProcess/WebPageProxy.h:

Modified Paths

trunk/Source/WebKit/ChangeLog

[webkit-changes] [278314] branches/safari-612.1.16-branch/

2021-06-01 Thread alancoon
Title: [278314] branches/safari-612.1.16-branch/








Revision 278314
Author alanc...@apple.com
Date 2021-06-01 10:36:49 -0700 (Tue, 01 Jun 2021)


Log Message
New branch.

Added Paths

branches/safari-612.1.16-branch/




Diff




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


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

2021-06-01 Thread dino
Title: [278312] trunk/Source/WebCore








Revision 278312
Author d...@apple.com
Date 2021-06-01 10:19:04 -0700 (Tue, 01 Jun 2021)


Log Message
[WebXR] Attach IOSurface to WebXROpaqueFramebuffer
https://bugs.webkit.org/show_bug.cgi?id=225896


Add a null check to fix a test crash.

* Modules/webxr/WebXROpaqueFramebuffer.cpp:
(WebCore::WebXROpaqueFramebuffer::startFrame):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (278311 => 278312)

--- trunk/Source/WebCore/ChangeLog	2021-06-01 16:49:09 UTC (rev 278311)
+++ trunk/Source/WebCore/ChangeLog	2021-06-01 17:19:04 UTC (rev 278312)
@@ -1,3 +1,14 @@
+2021-06-01  Dean Jackson  
+
+[WebXR] Attach IOSurface to WebXROpaqueFramebuffer
+https://bugs.webkit.org/show_bug.cgi?id=225896
+
+
+Add a null check to fix a test crash.
+
+* Modules/webxr/WebXROpaqueFramebuffer.cpp:
+(WebCore::WebXROpaqueFramebuffer::startFrame):
+
 2021-06-01  Sam Weinig  
 
 Factor out token-type dependent CSS property parsing functions to allow more code sharing


Modified: trunk/Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp (278311 => 278312)

--- trunk/Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp	2021-06-01 16:49:09 UTC (rev 278311)
+++ trunk/Source/WebCore/Modules/webxr/WebXROpaqueFramebuffer.cpp	2021-06-01 17:19:04 UTC (rev 278312)
@@ -116,10 +116,15 @@
 // the textures/renderbuffers.
 
 #if USE(IOSURFACE_FOR_XR_LAYER_DATA)
+if (!data.surface)
+return;
+
 auto gCGL = static_cast(m_context.graphicsContextGL());
 GCGLenum textureTarget = GraphicsContextGLOpenGL::drawingBufferTextureTarget();
 
 auto size = data.surface->size();
+if (!size.width() || !size.height())
+return;
 
 if (!m_opaqueTexture)
 m_opaqueTexture = gCGL->createTexture();






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


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

2021-06-01 Thread weinig
Title: [278311] trunk/Source/WebCore








Revision 278311
Author wei...@apple.com
Date 2021-06-01 09:49:09 -0700 (Tue, 01 Jun 2021)


Log Message
Factor out token-type dependent CSS property parsing functions to allow more code sharing
https://bugs.webkit.org/show_bug.cgi?id=226473

Reviewed by Darin Adler.

As a step toward reducing duplicate code and making CSSPropertyParserHelpers a bit
easier to follow, this change extracts the token type specific parts of the primitive
consume functions (e.g. the part of consumeNumberRaw where the token is known to be
a FunctionToken) into their own functions. This allows sharing between functions that
both need that logic (e.g. consumeNumberRaw and consumeNumberRawOrPercentRaw can share)
without extra branches, rechecking the token type, or duplication. It also has the
benefit of creating a strict pattern for primitive consumers going forward.

The new names are rather long to make it very clear what they do, but they are unlikely
to stay for very long. Future changes will try to generalize through templates to allow
programatic combinations of the consumers without always haveing to write the boilerplate.

* css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::shouldAcceptUnitlessValue):
(WebCore::CSSPropertyParserHelpers::consumeIntegerTypeRawWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumeIntegerTypeRawWithKnownTokenTypeNumber):
(WebCore::CSSPropertyParserHelpers::consumeIntegerTypeCSSPrimitiveValueWithCalcWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumeIntegerTypeCSSPrimitiveValueWithCalcWithKnownTokenTypeNumber):
(WebCore::CSSPropertyParserHelpers::validatedNumberRaw):
(WebCore::CSSPropertyParserHelpers::consumeNumberRawWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumeNumberRawWithKnownTokenTypeNumber):
(WebCore::CSSPropertyParserHelpers::consumeNumberRawWithKnownTokenTypeIdent):
(WebCore::CSSPropertyParserHelpers::consumeNumberCSSPrimitiveValueWithCalcWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumeNumberCSSPrimitiveValueWithCalcWithKnownTokenTypeNumber):
(WebCore::CSSPropertyParserHelpers::validatedPercentRaw):
(WebCore::CSSPropertyParserHelpers::consumePercentRawWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumePercentRawWithKnownTokenTypePercentage):
(WebCore::CSSPropertyParserHelpers::consumePercentRawWithKnownTokenTypeIdent):
(WebCore::CSSPropertyParserHelpers::consumePercentCSSPrimitiveValueWithCalcWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumePercentCSSPrimitiveValueWithCalcWithKnownTokenTypePercentage):
(WebCore::CSSPropertyParserHelpers::validatedLengthRaw):
(WebCore::CSSPropertyParserHelpers::consumeLengthRawWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumeLengthRawWithKnownTokenTypeDimension):
(WebCore::CSSPropertyParserHelpers::consumeLengthRawWithKnownTokenTypeNumber):
(WebCore::CSSPropertyParserHelpers::consumeLengthCSSPrimitiveValueWithCalcWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumeLengthCSSPrimitiveValueWithCalcWithKnownTokenTypeDimension):
(WebCore::CSSPropertyParserHelpers::consumeLengthCSSPrimitiveValueWithCalcWithKnownTokenTypeNumber):
(WebCore::CSSPropertyParserHelpers::consumeAngleRawWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumeAngleRawWithKnownTokenTypeDimension):
(WebCore::CSSPropertyParserHelpers::consumeAngleRawWithKnownTokenTypeNumber):
(WebCore::CSSPropertyParserHelpers::consumeAngleCSSPrimitiveValueWithCalcWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumeAngleCSSPrimitiveValueWithCalcWithKnownTokenTypeDimension):
(WebCore::CSSPropertyParserHelpers::consumeAngleCSSPrimitiveValueWithCalcWithKnownTokenTypeNumber):
(WebCore::CSSPropertyParserHelpers::consumeTimeCSSPrimitiveValueWithCalcWithKnownTokenTypeFunction):
(WebCore::CSSPropertyParserHelpers::consumeTimeCSSPrimitiveValueWithCalcWithKnownTokenTypeDimension):
(WebCore::CSSPropertyParserHelpers::consumeTimeCSSPrimitiveValueWithCalcWithKnownTokenTypeNumber):
(WebCore::CSSPropertyParserHelpers::consumeResolutionCSSPrimitiveValueWithKnownTokenTypeDimension):
(WebCore::CSSPropertyParserHelpers::consumeIntegerTypeRaw):
(WebCore::CSSPropertyParserHelpers::consumeIntegerType):
(WebCore::CSSPropertyParserHelpers::consumeIntegerRaw):
(WebCore::CSSPropertyParserHelpers::consumeInteger):
(WebCore::CSSPropertyParserHelpers::consumePositiveIntegerRaw):
(WebCore::CSSPropertyParserHelpers::consumePositiveInteger):
(WebCore::CSSPropertyParserHelpers::consumeNumberRaw):
(WebCore::CSSPropertyParserHelpers::consumeNumber):
(WebCore::CSSPropertyParserHelpers::consumeLengthRaw):
(WebCore::CSSPropertyParserHelpers::consumeLength):
(WebCore::CSSPropertyParserHelpers::consumePercentRaw):
(WebCore::CSSPropertyParserHelpers::consumePercent):
(WebCore::CSSPropertyParserHelpers::consumePercentWorkerSafe):

[webkit-changes] [278310] trunk/Tools

2021-06-01 Thread aakash_jain
Title: [278310] trunk/Tools








Revision 278310
Author aakash_j...@apple.com
Date 2021-06-01 09:28:23 -0700 (Tue, 01 Jun 2021)


Log Message
Print bot configuration in build.webkit.org builds
https://bugs.webkit.org/show_bug.cgi?id=226353

Reviewed by Jonathan Bedard.

* CISupport/build-webkit-org/factories.py:
(Factory.__init__): Added PrintConfiguration step.
* CISupport/build-webkit-org/steps.py:
(PrintConfiguration): Copied from ews code, step to print configuration.
(PrintConfiguration.__init__):
(PrintConfiguration.run):
(PrintConfiguration.convert_build_to_os_name):
(PrintConfiguration.getResultSummary):
* CISupport/build-webkit-org/steps_unittest.py: Added unit-tests.

Modified Paths

trunk/Tools/CISupport/build-webkit-org/factories.py
trunk/Tools/CISupport/build-webkit-org/steps.py
trunk/Tools/CISupport/build-webkit-org/steps_unittest.py
trunk/Tools/ChangeLog




Diff

Modified: trunk/Tools/CISupport/build-webkit-org/factories.py (278309 => 278310)

--- trunk/Tools/CISupport/build-webkit-org/factories.py	2021-06-01 15:34:54 UTC (rev 278309)
+++ trunk/Tools/CISupport/build-webkit-org/factories.py	2021-06-01 16:28:23 UTC (rev 278310)
@@ -30,6 +30,7 @@
 def __init__(self, platform, configuration, architectures, buildOnly, additionalArguments, device_model):
 factory.BuildFactory.__init__(self)
 self.addStep(ConfigureBuild(platform=platform, configuration=configuration, architecture=" ".join(architectures), buildOnly=buildOnly, additionalArguments=additionalArguments, device_model=device_model))
+self.addStep(PrintConfiguration())
 self.addStep(CheckOutSource())
 self.addStep(ShowIdentifier())
 if not (platform == "jsc-only"):


Modified: trunk/Tools/CISupport/build-webkit-org/steps.py (278309 => 278310)

--- trunk/Tools/CISupport/build-webkit-org/steps.py	2021-06-01 15:34:54 UTC (rev 278309)
+++ trunk/Tools/CISupport/build-webkit-org/steps.py	2021-06-01 16:28:23 UTC (rev 278310)
@@ -20,18 +20,18 @@
 # OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+from buildbot.plugins import steps, util
 from buildbot.process import buildstep, factory, logobserver, properties
 from buildbot.process.results import Results, SUCCESS, FAILURE, WARNINGS, SKIPPED, EXCEPTION, RETRY
 from buildbot.steps import master, shell, transfer, trigger
 from buildbot.steps.source.svn import SVN
-
 from twisted.internet import defer
 
+import json
 import os
 import re
 import socket
 import sys
-import json
 import urllib
 
 if sys.version_info < (3, 5):
@@ -1155,6 +1155,84 @@
 return master.MasterShellCommand.finished(self, result)
 
 
+class PrintConfiguration(steps.ShellSequence):
+name = 'configuration'
+description = ['configuration']
+haltOnFailure = False
+flunkOnFailure = False
+warnOnFailure = False
+logEnviron = False
+command_list_generic = [['hostname']]
+command_list_apple = [['df', '-hl'], ['date'], ['sw_vers'], ['xcodebuild', '-sdk', '-version'], ['uptime']]
+command_list_linux = [['df', '-hl'], ['date'], ['uname', '-a'], ['uptime']]
+command_list_win = [['df', '-hl']]
+
+def __init__(self, **kwargs):
+super(PrintConfiguration, self).__init__(timeout=60, **kwargs)
+self.commands = []
+self.log_observer = logobserver.BufferLogObserver(wantStderr=True)
+self.addLogObserver('stdio', self.log_observer)
+
+def run(self):
+command_list = list(self.command_list_generic)
+platform = self.getProperty('platform', '*')
+if platform != 'jsc-only':
+platform = platform.split('-')[0]
+if platform in ('mac', 'ios', 'tvos', 'watchos', '*'):
+command_list.extend(self.command_list_apple)
+elif platform in ('gtk', 'wpe', 'jsc-only'):
+command_list.extend(self.command_list_linux)
+elif platform in ('win'):
+command_list.extend(self.command_list_win)
+
+for command in command_list:
+self.commands.append(util.ShellArg(command=command, logname='stdio'))
+return super(PrintConfiguration, self).run()
+
+def convert_build_to_os_name(self, build):
+if not build:
+return 'Unknown'
+
+build_to_name_mapping = {
+'11': 'Big Sur',
+'10.15': 'Catalina',
+'10.14': 'Mojave',
+'10.13': 'High Sierra',
+'10.12': 'Sierra',
+'10.11': 'El Capitan',
+'10.10': 'Yosemite',
+'10.9': 'Maverick',
+'10.8': 'Mountain Lion',
+'10.7': 'Lion',
+'10.6': 'Snow Leopard',
+'10.5': 'Leopard',
+}
+
+for key, value in build_to_name_mapping.items():
+if build.startswith(key):
+return value
+return 'Unknown'
+
+def getResultSummary(self):
+if self.results != SUCCESS:
+

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

2021-06-01 Thread cdumez
Title: [278309] trunk/Source/WebCore








Revision 278309
Author cdu...@apple.com
Date 2021-06-01 08:34:54 -0700 (Tue, 01 Jun 2021)


Log Message
Fix thread safety issues in MediaStreamAudioSourceNode
https://bugs.webkit.org/show_bug.cgi?id=226476

Reviewed by Youenn Fablet.

Adopt thread safety analysis annotations in MediaStreamAudioSourceNode and fix
bugs found by clang. In particular, the following issues were fixed:
- setFormat() could modify m_sourceNumberOfChannels before locking on the main
  thread.
- process() was accessing m_sourceNumberOfChannels / m_sourceSampleRate
  on the rendering thread *before* locking.

* Modules/webaudio/MediaStreamAudioSourceNode.cpp:
(WebCore::MediaStreamAudioSourceNode::setFormat):
(WebCore::MediaStreamAudioSourceNode::process):
* Modules/webaudio/MediaStreamAudioSourceNode.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.cpp
trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (278308 => 278309)

--- trunk/Source/WebCore/ChangeLog	2021-06-01 15:19:38 UTC (rev 278308)
+++ trunk/Source/WebCore/ChangeLog	2021-06-01 15:34:54 UTC (rev 278309)
@@ -1,5 +1,24 @@
 2021-06-01  Chris Dumez  
 
+Fix thread safety issues in MediaStreamAudioSourceNode
+https://bugs.webkit.org/show_bug.cgi?id=226476
+
+Reviewed by Youenn Fablet.
+
+Adopt thread safety analysis annotations in MediaStreamAudioSourceNode and fix
+bugs found by clang. In particular, the following issues were fixed:
+- setFormat() could modify m_sourceNumberOfChannels before locking on the main
+  thread.
+- process() was accessing m_sourceNumberOfChannels / m_sourceSampleRate
+  on the rendering thread *before* locking.
+
+* Modules/webaudio/MediaStreamAudioSourceNode.cpp:
+(WebCore::MediaStreamAudioSourceNode::setFormat):
+(WebCore::MediaStreamAudioSourceNode::process):
+* Modules/webaudio/MediaStreamAudioSourceNode.h:
+
+2021-06-01  Chris Dumez  
+
 Fix thread safety issues in WaveShaperProcessor
 https://bugs.webkit.org/show_bug.cgi?id=226478
 


Modified: trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.cpp (278308 => 278309)

--- trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.cpp	2021-06-01 15:19:38 UTC (rev 278308)
+++ trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.cpp	2021-06-01 15:34:54 UTC (rev 278309)
@@ -89,7 +89,9 @@
 
 void MediaStreamAudioSourceNode::setFormat(size_t numberOfChannels, float sourceSampleRate)
 {
-float sampleRate = this->sampleRate();
+// Synchronize with process().
+Locker locker { m_processLock };
+
 if (numberOfChannels == m_sourceNumberOfChannels && sourceSampleRate == m_sourceSampleRate)
 return;
 
@@ -101,12 +103,10 @@
 return;
 }
 
-// Synchronize with process().
-Locker locker { m_processLock };
-
 m_sourceNumberOfChannels = numberOfChannels;
 m_sourceSampleRate = sourceSampleRate;
 
+float sampleRate = this->sampleRate();
 if (sourceSampleRate == sampleRate)
 m_multiChannelResampler = nullptr;
 else {
@@ -134,11 +134,6 @@
 {
 AudioBus* outputBus = output(0)->bus();
 
-if (!mediaStream() || !m_sourceNumberOfChannels || !m_sourceSampleRate) {
-outputBus->zero();
-return;
-}
-
 // Use tryLock() to avoid contention in the real-time audio thread.
 // If we fail to acquire the lock then the MediaStream must be in the middle of
 // a format change, so we output silence in this case.
@@ -148,7 +143,8 @@
 return;
 }
 Locker locker { AdoptLock, m_processLock };
-if (m_sourceNumberOfChannels != outputBus->numberOfChannels()) {
+
+if (!m_sourceNumberOfChannels || !m_sourceSampleRate || m_sourceNumberOfChannels != outputBus->numberOfChannels()) {
 outputBus->zero();
 return;
 }


Modified: trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.h (278308 => 278309)

--- trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.h	2021-06-01 15:19:38 UTC (rev 278308)
+++ trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.h	2021-06-01 15:34:54 UTC (rev 278309)
@@ -46,7 +46,7 @@
 
 ~MediaStreamAudioSourceNode();
 
-MediaStream* mediaStream() { return _mediaStream.get(); }
+MediaStream& mediaStream() { return m_mediaStream; }
 
 private:
 MediaStreamAudioSourceNode(BaseAudioContext&, MediaStream&, Ref&&);
@@ -67,12 +67,12 @@
 
 Ref m_mediaStream;
 Ref m_provider;
-std::unique_ptr m_multiChannelResampler;
+std::unique_ptr m_multiChannelResampler WTF_GUARDED_BY_LOCK(m_processLock);
 
 Lock m_processLock;
 
-unsigned m_sourceNumberOfChannels { 0 };
-double m_sourceSampleRate { 0 };
+unsigned m_sourceNumberOfChannels WTF_GUARDED_BY_LOCK(m_processLock) { 0 };
+

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

2021-06-01 Thread cdumez
Title: [278307] trunk/Source/WebCore








Revision 278307
Author cdu...@apple.com
Date 2021-06-01 08:09:47 -0700 (Tue, 01 Jun 2021)


Log Message
Fix thread safety issues in WaveShaperProcessor
https://bugs.webkit.org/show_bug.cgi?id=226478

Reviewed by Youenn Fablet.

Adopt thread safety analysis annotations in WaveShaperProcessor and fix bugs
found by clang. In particular, the following issues were fixed:
- WaveShaperDSPKernel::latencyTime() was failing to grab the lock before accessing
  the WaveShaperProcessor's oversample on the rendering thread, even though
  oversample gets modified on the main thread.
- WaveShaperNode::propagatesSilence() was failing to grab the lock before accessing
  the WaveShaperProcessor's curve on the rendering thread, even though the curve
  gets modified on the main thread.

* Modules/webaudio/AudioBasicProcessorNode.h:
(WebCore::AudioBasicProcessorNode::processor const):
* Modules/webaudio/WaveShaperDSPKernel.cpp:
(WebCore::WaveShaperDSPKernel::process):
(WebCore::WaveShaperDSPKernel::processCurve):
(WebCore::WaveShaperDSPKernel::latencyTime const):
* Modules/webaudio/WaveShaperDSPKernel.h:
* Modules/webaudio/WaveShaperNode.cpp:
(WebCore::WaveShaperNode::create):
(WebCore::WaveShaperNode::setCurveForBindings):
(WebCore::WaveShaperNode::curveForBindings):
(WebCore::WaveShaperNode::setOversampleForBindings):
(WebCore::WaveShaperNode::oversampleForBindings const):
(WebCore::WaveShaperNode::propagatesSilence const):
* Modules/webaudio/WaveShaperNode.h:
* Modules/webaudio/WaveShaperNode.idl:
* Modules/webaudio/WaveShaperProcessor.cpp:
(WebCore::WaveShaperProcessor::setCurveForBindings):
(WebCore::WaveShaperProcessor::setOversampleForBindings):
(WebCore::WaveShaperProcessor::process):
* Modules/webaudio/WaveShaperProcessor.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/webaudio/AudioBasicProcessorNode.h
trunk/Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.cpp
trunk/Source/WebCore/Modules/webaudio/WaveShaperDSPKernel.h
trunk/Source/WebCore/Modules/webaudio/WaveShaperNode.cpp
trunk/Source/WebCore/Modules/webaudio/WaveShaperNode.h
trunk/Source/WebCore/Modules/webaudio/WaveShaperNode.idl
trunk/Source/WebCore/Modules/webaudio/WaveShaperProcessor.cpp
trunk/Source/WebCore/Modules/webaudio/WaveShaperProcessor.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (278306 => 278307)

--- trunk/Source/WebCore/ChangeLog	2021-06-01 14:56:04 UTC (rev 278306)
+++ trunk/Source/WebCore/ChangeLog	2021-06-01 15:09:47 UTC (rev 278307)
@@ -1,5 +1,43 @@
 2021-06-01  Chris Dumez  
 
+Fix thread safety issues in WaveShaperProcessor
+https://bugs.webkit.org/show_bug.cgi?id=226478
+
+Reviewed by Youenn Fablet.
+
+Adopt thread safety analysis annotations in WaveShaperProcessor and fix bugs
+found by clang. In particular, the following issues were fixed:
+- WaveShaperDSPKernel::latencyTime() was failing to grab the lock before accessing
+  the WaveShaperProcessor's oversample on the rendering thread, even though
+  oversample gets modified on the main thread.
+- WaveShaperNode::propagatesSilence() was failing to grab the lock before accessing
+  the WaveShaperProcessor's curve on the rendering thread, even though the curve
+  gets modified on the main thread.
+
+* Modules/webaudio/AudioBasicProcessorNode.h:
+(WebCore::AudioBasicProcessorNode::processor const):
+* Modules/webaudio/WaveShaperDSPKernel.cpp:
+(WebCore::WaveShaperDSPKernel::process):
+(WebCore::WaveShaperDSPKernel::processCurve):
+(WebCore::WaveShaperDSPKernel::latencyTime const):
+* Modules/webaudio/WaveShaperDSPKernel.h:
+* Modules/webaudio/WaveShaperNode.cpp:
+(WebCore::WaveShaperNode::create):
+(WebCore::WaveShaperNode::setCurveForBindings):
+(WebCore::WaveShaperNode::curveForBindings):
+(WebCore::WaveShaperNode::setOversampleForBindings):
+(WebCore::WaveShaperNode::oversampleForBindings const):
+(WebCore::WaveShaperNode::propagatesSilence const):
+* Modules/webaudio/WaveShaperNode.h:
+* Modules/webaudio/WaveShaperNode.idl:
+* Modules/webaudio/WaveShaperProcessor.cpp:
+(WebCore::WaveShaperProcessor::setCurveForBindings):
+(WebCore::WaveShaperProcessor::setOversampleForBindings):
+(WebCore::WaveShaperProcessor::process):
+* Modules/webaudio/WaveShaperProcessor.h:
+
+2021-06-01  Chris Dumez  
+
 Fix thread safety issues in MediaElementAudioSourceNode
 https://bugs.webkit.org/show_bug.cgi?id=226475
 


Modified: trunk/Source/WebCore/Modules/webaudio/AudioBasicProcessorNode.h (278306 => 278307)

--- trunk/Source/WebCore/Modules/webaudio/AudioBasicProcessorNode.h	2021-06-01 14:56:04 UTC (rev 278306)
+++ trunk/Source/WebCore/Modules/webaudio/AudioBasicProcessorNode.h	2021-06-01 15:09:47 UTC (rev 278307)
@@ -58,6 +58,8 @@
 bool 

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

2021-06-01 Thread cdumez
Title: [278306] trunk/Source/WebCore








Revision 278306
Author cdu...@apple.com
Date 2021-06-01 07:56:04 -0700 (Tue, 01 Jun 2021)


Log Message
Fix thread safety issues in MediaElementAudioSourceNode
https://bugs.webkit.org/show_bug.cgi?id=226475

Reviewed by Youenn Fablet.

Adopt thread safety analysis annotations in MediaElementAudioSourceNode and fix
bugs found by clang. In particular, the following issues were fixed:
- setFormat() was modifying m_muted / m_sourceNumberOfChannels / m_sourceSampleRate
  on the main thread without locking, even though those data members are accessed
  from the rendering thread.
- process() was accessing  m_muted / m_sourceNumberOfChannels / m_sourceSampleRate
  on the rendering thread *before* locking.

* Modules/webaudio/MediaElementAudioSourceNode.cpp:
(WebCore::MediaElementAudioSourceNode::setFormat):
(WebCore::MediaElementAudioSourceNode::process):
* Modules/webaudio/MediaElementAudioSourceNode.h:

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.cpp
trunk/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.h




Diff

Modified: trunk/Source/WebCore/ChangeLog (278305 => 278306)

--- trunk/Source/WebCore/ChangeLog	2021-06-01 13:58:23 UTC (rev 278305)
+++ trunk/Source/WebCore/ChangeLog	2021-06-01 14:56:04 UTC (rev 278306)
@@ -1,3 +1,23 @@
+2021-06-01  Chris Dumez  
+
+Fix thread safety issues in MediaElementAudioSourceNode
+https://bugs.webkit.org/show_bug.cgi?id=226475
+
+Reviewed by Youenn Fablet.
+
+Adopt thread safety analysis annotations in MediaElementAudioSourceNode and fix
+bugs found by clang. In particular, the following issues were fixed:
+- setFormat() was modifying m_muted / m_sourceNumberOfChannels / m_sourceSampleRate
+  on the main thread without locking, even though those data members are accessed
+  from the rendering thread.
+- process() was accessing  m_muted / m_sourceNumberOfChannels / m_sourceSampleRate
+  on the rendering thread *before* locking.
+
+* Modules/webaudio/MediaElementAudioSourceNode.cpp:
+(WebCore::MediaElementAudioSourceNode::setFormat):
+(WebCore::MediaElementAudioSourceNode::process):
+* Modules/webaudio/MediaElementAudioSourceNode.h:
+
 2021-06-01  Antti Koivisto  
 
 Rename ComplexLineLayout to LegacyLineLayout


Modified: trunk/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.cpp (278305 => 278306)

--- trunk/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.cpp	2021-06-01 13:58:23 UTC (rev 278305)
+++ trunk/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.cpp	2021-06-01 14:56:04 UTC (rev 278306)
@@ -83,6 +83,10 @@
 void MediaElementAudioSourceNode::setFormat(size_t numberOfChannels, float sourceSampleRate)
 {
 auto protectedThis = makeRef(*this);
+
+// Synchronize with process().
+Locker locker { m_processLock };
+
 m_muted = wouldTaintOrigin();
 
 if (numberOfChannels != m_sourceNumberOfChannels || sourceSampleRate != m_sourceSampleRate) {
@@ -97,9 +101,6 @@
 m_sourceNumberOfChannels = numberOfChannels;
 m_sourceSampleRate = sourceSampleRate;
 
-// Synchronize with process().
-Locker locker { m_processLock };
-
 if (sourceSampleRate != sampleRate()) {
 double scaleFactor = sourceSampleRate / sampleRate();
 m_multiChannelResampler = makeUnique(scaleFactor, numberOfChannels, AudioUtilities::renderQuantumSize, std::bind(::provideInput, this, std::placeholders::_1, std::placeholders::_2));
@@ -150,11 +151,6 @@
 {
 AudioBus* outputBus = output(0)->bus();
 
-if (m_muted || !m_sourceNumberOfChannels || !m_sourceSampleRate) {
-outputBus->zero();
-return;
-}
-
 // Use tryLock() to avoid contention in the real-time audio thread.
 // If we fail to acquire the lock then the HTMLMediaElement must be in the middle of
 // reconfiguring its playback engine, so we output silence in this case.
@@ -165,7 +161,8 @@
 }
 
 Locker locker { AdoptLock, m_processLock };
-if (m_sourceNumberOfChannels != outputBus->numberOfChannels()) {
+
+if (m_muted || !m_sourceNumberOfChannels || !m_sourceSampleRate || m_sourceNumberOfChannels != outputBus->numberOfChannels()) {
 outputBus->zero();
 return;
 }


Modified: trunk/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.h (278305 => 278306)

--- trunk/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.h	2021-06-01 13:58:23 UTC (rev 278305)
+++ trunk/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.h	2021-06-01 14:56:04 UTC (rev 278306)
@@ -72,11 +72,11 @@
 Ref m_mediaElement;
 Lock m_processLock;
 
-unsigned m_sourceNumberOfChannels { 0 };
-double m_sourceSampleRate { 0 };
-bool m_muted { false };
+unsigned m_sourceNumberOfChannels WTF_GUARDED_BY_LOCK(m_processLock) { 0 };
+ 

[webkit-changes] [278304] trunk

2021-06-01 Thread weinig
Title: [278304] trunk








Revision 278304
Author wei...@apple.com
Date 2021-06-01 06:50:16 -0700 (Tue, 01 Jun 2021)


Log Message
Support calc() on components inside relative color syntax colors
https://bugs.webkit.org/show_bug.cgi?id=226272

Reviewed by Darin Adler.

Source/WebCore:

Added new and updated test cases to fast/css/parsing-relative-color-syntax.html.

Updates support for the CSS Color 5 "Relative Color Syntax" to support
both calc() on components and component permutations within the syntax.

This allows for things like:

background: lch(from var(--primary-color) 60% calc(c * 0.8) h);

or

background: lch(from rebeccapurple g b r);

To make this work, the calc() infrastructure now supports passing a CSSCalcSymbolTable
which allows the logic in the parser to lookup unknown identifiers when parsing a value.
The relative color syntax parsers can then build an appropriate CSSCalcSymbolTable filled
with the components of the origin color.

Since these calc() values are not serialized, this can all happen in the parser, but if
we to be able serialize them in the future, CSSCalcPrimitiveValueNode could be updated
to store the symbol name in addition to storing the value and type (or we could we could
add a new node for it).

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* css/calc/CSSCalcSymbolTable.cpp: Added.
* css/calc/CSSCalcSymbolTable.h: Added.
Add CSSCalcSymbolTable which contains a mapping from CSSValueID to CSSUnitType/double pairs.

* css/calc/CSSCalcExpressionNodeParser.cpp:
(WebCore::CSSCalcExpressionNodeParser::parseValue):
When trying to construct a value node, if the token is a identifier, use the new
symbol table to look up a type/value to use instead. Use a switch to make things
a bit more clear that differentiation is being done based on token type.

* css/calc/CSSCalcExpressionNodeParser.h:
Add reference to a CSSCalcSymbolTable to the parser. The parser should only ever be used
on the stack, so this works well and allows us to avoid copying the table.

* css/calc/CSSCalcValue.cpp:
(WebCore::CSSCalcValue::create):
* css/calc/CSSCalcValue.h:
Pass the CSSCalcSymbolTable to the parser if one is provided. An overload was used
to avoid #including CSSCalcSymbolTable.h in the header just to add a default value.

* css/makevalues.pl:
Give a concrete base of uint16_t to allow it to be forward declared and add DefaultHash
and HashTraits to allow it to be used with HashTable. These match the definition of
CSSPropertyID.

* css/parser/CSSPropertyParserHelpers.cpp:
(WebCore::CSSPropertyParserHelpers::CalcParser::CalcParser):
(WebCore::CSSPropertyParserHelpers::consumeNumberRaw):
(WebCore::CSSPropertyParserHelpers::consumePercentWorkerSafe):
(WebCore::CSSPropertyParserHelpers::consumeAngleRaw):
(WebCore::CSSPropertyParserHelpers::consumeAngleWorkerSafe):
(WebCore::CSSPropertyParserHelpers::consumeAngleOrPercent):
(WebCore::CSSPropertyParserHelpers::consumeOptionalAlphaOrIdent):
(WebCore::CSSPropertyParserHelpers::consumeHueOrIdent):
(WebCore::CSSPropertyParserHelpers::consumeNumberOrIdent):
(WebCore::CSSPropertyParserHelpers::consumePercentOrIdent):
(WebCore::CSSPropertyParserHelpers::consumeNumberOrPercentOrIdentNormalizedForRelativeRGB):
(WebCore::CSSPropertyParserHelpers::parseRelativeRGBParameters):
(WebCore::CSSPropertyParserHelpers::parseRelativeHSLParameters):
(WebCore::CSSPropertyParserHelpers::parseRelativeHWBParameters):
(WebCore::CSSPropertyParserHelpers::parseRelativeLabParameters):
(WebCore::CSSPropertyParserHelpers::parseRelativeLCHParameters):
(WebCore::CSSPropertyParserHelpers::extractChannelValue): Deleted.
(WebCore::CSSPropertyParserHelpers::resolveRelativeColorChannel): Deleted.
Rework relative color syntax parsing to allow permutation of channel symbols
and use of the calc() symbol table support to allow passing in the channels.
This makes the relatative color syntax variants much closer to the normal
variants (with the exception of passing the symbol table) and a subsequent
change will attempt to merge them further.

LayoutTests:

Updated test and results for update support including calc()
and compoment permutation.

* fast/css/parsing-relative-color-syntax-expected.txt:
* fast/css/parsing-relative-color-syntax.html:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/fast/css/parsing-relative-color-syntax-expected.txt
trunk/LayoutTests/fast/css/parsing-relative-color-syntax.html
trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/Sources.txt
trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj
trunk/Source/WebCore/css/calc/CSSCalcExpressionNodeParser.cpp
trunk/Source/WebCore/css/calc/CSSCalcExpressionNodeParser.h
trunk/Source/WebCore/css/calc/CSSCalcValue.cpp
trunk/Source/WebCore/css/calc/CSSCalcValue.h
trunk/Source/WebCore/css/makevalues.pl
trunk/Source/WebCore/css/parser/CSSPropertyParserHelpers.cpp


Added Paths

trunk/Source/WebCore/css/calc/CSSCalcSymbolTable.cpp
trunk/Source/WebCore/css/calc/CSSCalcSymbolTable.h




Diff

Modified: 

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

2021-06-01 Thread zalan
Title: [278303] trunk/Source/WebCore








Revision 278303
Author za...@apple.com
Date 2021-06-01 06:43:06 -0700 (Tue, 01 Jun 2021)


Log Message
[LFC][TFC][Quirks] heightValueOfNearestContainingBlockWithFixedHeight should not need to cross formatting context boundary
https://bugs.webkit.org/show_bug.cgi?id=226470

Reviewed by Antti Koivisto.

Now that the incoming vertical constraint is applied properly for the cell layout, we don't need to cross
the formatting context boundary in heightValueOfNearestContainingBlockWithFixedHeight to check if the table
box has fixed height value.

* layout/formattingContexts/table/TableFormattingQuirks.cpp:
(WebCore::Layout::TableFormattingQuirks::heightValueOfNearestContainingBlockWithFixedHeight const):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/layout/formattingContexts/table/TableFormattingQuirks.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (278302 => 278303)

--- trunk/Source/WebCore/ChangeLog	2021-06-01 13:01:01 UTC (rev 278302)
+++ trunk/Source/WebCore/ChangeLog	2021-06-01 13:43:06 UTC (rev 278303)
@@ -1,3 +1,17 @@
+2021-06-01  Alan Bujtas  
+
+[LFC][TFC][Quirks] heightValueOfNearestContainingBlockWithFixedHeight should not need to cross formatting context boundary
+https://bugs.webkit.org/show_bug.cgi?id=226470
+
+Reviewed by Antti Koivisto.
+
+Now that the incoming vertical constraint is applied properly for the cell layout, we don't need to cross
+the formatting context boundary in heightValueOfNearestContainingBlockWithFixedHeight to check if the table
+box has fixed height value.
+
+* layout/formattingContexts/table/TableFormattingQuirks.cpp:
+(WebCore::Layout::TableFormattingQuirks::heightValueOfNearestContainingBlockWithFixedHeight const):
+
 2021-05-27  Sergio Villar Senin  
 
 Improve if condition in RenderReplaced::computeReplacedLogicalWidth


Modified: trunk/Source/WebCore/layout/formattingContexts/table/TableFormattingQuirks.cpp (278302 => 278303)

--- trunk/Source/WebCore/layout/formattingContexts/table/TableFormattingQuirks.cpp	2021-06-01 13:01:01 UTC (rev 278302)
+++ trunk/Source/WebCore/layout/formattingContexts/table/TableFormattingQuirks.cpp	2021-06-01 13:43:06 UTC (rev 278303)
@@ -62,21 +62,10 @@
 // The "let's find the nearest ancestor with fixed height to resolve percent height" quirk is limited to the table formatting
 // context. If we can't resolve it within the table subtree, we default it to 0.
 // e.g  is resolved to 0px.
-auto& tableBox = formattingContext().root();
-auto fixedLogicalHeight = [&](const auto& ancestorBox) -> std::optional {
-auto height = ancestorBox.style().logicalHeight();
-if (!height.isFixed())
-return { };
-if ( != )
+for (auto& ancestor : containingBlockChainWithinFormattingContext(layoutBox)) {
+auto height = ancestor.style().logicalHeight();
+if (height.isFixed())
 return LayoutUnit { height.value() };
-auto& grid = formattingContext().formattingState().tableGrid();
-auto verticalSpacing = grid.verticalSpacing();
-return LayoutUnit { height.value() - ((grid.rows().size() + 1) * verticalSpacing) };
-};
-
-for (auto& ancestor : containingBlockChain(layoutBox, tableBox.containingBlock())) {
-if (auto fixedHeight = fixedLogicalHeight(ancestor))
-return *fixedHeight;
 }
 return { };
 }






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


[webkit-changes] [278302] trunk/Source

2021-06-01 Thread aperez
Title: [278302] trunk/Source








Revision 278302
Author ape...@igalia.com
Date 2021-06-01 06:01:01 -0700 (Tue, 01 Jun 2021)


Log Message
[WPE][GTK] Support building against uClibc
https://bugs.webkit.org/show_bug.cgi?id=226244

Reviewed by Michael Catanzaro.

Source/_javascript_Core:

* assembler/MacroAssemblerARM64.cpp:
(getauxval): Provide a fallback implementation of getauxval() for
systems which do not provide , like those using uClibc
as their C library.

Source/WTF:

* wtf/PlatformRegisters.h: Use the  header instead of
, which is enough to gain access to the type definitions
for CPU registers and is available on every libc. On the other hand,
uClibc does not have , so this fixes the build in that
case.

Modified Paths

trunk/Source/_javascript_Core/ChangeLog
trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.cpp
trunk/Source/WTF/ChangeLog
trunk/Source/WTF/wtf/PlatformRegisters.h




Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (278301 => 278302)

--- trunk/Source/_javascript_Core/ChangeLog	2021-06-01 11:59:21 UTC (rev 278301)
+++ trunk/Source/_javascript_Core/ChangeLog	2021-06-01 13:01:01 UTC (rev 278302)
@@ -1,3 +1,15 @@
+2021-06-01  Adrian Perez de Castro  
+
+[WPE][GTK] Support building against uClibc
+https://bugs.webkit.org/show_bug.cgi?id=226244
+
+Reviewed by Michael Catanzaro.
+
+* assembler/MacroAssemblerARM64.cpp:
+(getauxval): Provide a fallback implementation of getauxval() for
+systems which do not provide , like those using uClibc
+as their C library.
+
 2021-05-30  Chris Dumez  
 
 Drop UncheckedCondition / UncheckedLock


Modified: trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.cpp (278301 => 278302)

--- trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.cpp	2021-06-01 11:59:21 UTC (rev 278301)
+++ trunk/Source/_javascript_Core/assembler/MacroAssemblerARM64.cpp	2021-06-01 13:01:01 UTC (rev 278302)
@@ -34,8 +34,26 @@
 
 #if OS(LINUX)
 #include 
+#if __has_include()
 #include 
+#else
+#include 
+// Provide an implementation for C libraries which do not ship one.
+static unsigned long getauxval(unsigned long type)
+{
+char** env = environ;
+while (*env++) { /* no-op */ }
+
+for (auto* auxv = reinterpret_cast(env); *auxv != AT_NULL; auxv += 2) {
+if (*auxv == type)
+return auxv[1];
+}
+
+errno = ENOENT;
+return 0;
+}
 #endif
+#endif
 
 namespace JSC {
 


Modified: trunk/Source/WTF/ChangeLog (278301 => 278302)

--- trunk/Source/WTF/ChangeLog	2021-06-01 11:59:21 UTC (rev 278301)
+++ trunk/Source/WTF/ChangeLog	2021-06-01 13:01:01 UTC (rev 278302)
@@ -1,3 +1,16 @@
+2021-06-01  Adrian Perez de Castro  
+
+[WPE][GTK] Support building against uClibc
+https://bugs.webkit.org/show_bug.cgi?id=226244
+
+Reviewed by Michael Catanzaro.
+
+* wtf/PlatformRegisters.h: Use the  header instead of
+, which is enough to gain access to the type definitions
+for CPU registers and is available on every libc. On the other hand,
+uClibc does not have , so this fixes the build in that
+case.
+
 2021-05-30  Chris Dumez  
 
 Drop UncheckedCondition / UncheckedLock


Modified: trunk/Source/WTF/wtf/PlatformRegisters.h (278301 => 278302)

--- trunk/Source/WTF/wtf/PlatformRegisters.h	2021-06-01 11:59:21 UTC (rev 278301)
+++ trunk/Source/WTF/wtf/PlatformRegisters.h	2021-06-01 13:01:01 UTC (rev 278302)
@@ -35,7 +35,7 @@
 #elif OS(WINDOWS)
 #include 
 #else
-#include 
+#include 
 #endif
 
 namespace WTF {






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


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

2021-06-01 Thread commit-queue
Title: [278301] trunk/Source/WebKit








Revision 278301
Author commit-qu...@webkit.org
Date 2021-06-01 04:59:21 -0700 (Tue, 01 Jun 2021)


Log Message
[GTK] Try harder to find initial WebKitWebView size
https://bugs.webkit.org/show_bug.cgi?id=226320

Patch by Alexander Mikhaylenko  on 2021-06-01
Reviewed by Michael Catanzaro.

Currently we base the viewport size on the drawing area size. The
drawing area is created with an initial size based on the viewport
size, which will be (0, 0) because the drawing area is still null
by that point.

Then, later, during the widget allocation, the drawing area receives
its proper size.

There are 2 issues here. First, this approach guarantees that the
initial viewport size will always be (0, 0), and then there's no
guarantee the widget will be allocated any time soon - for example,
while GtkNotebook in GTK3 does allocate children that aren't currently
visible, GtkStack doesn't (and that means that GtkNotebook in GTK4 and
HdyTabView don't either). This leads to a situation where a page opened
in background will load with 0, 0 size and if a page depends on that,
it won't load correctly.

The first issue can be fixed by basing the viewport size on the view
allocation as well, and then if the widget isn't allocated, we instead
try to use the size of a parent as an estimation, so that the initial
size is at least not 0 even if not fully accurate.

See https://gitlab.gnome.org/GNOME/epiphany/-/issues/1532

* UIProcess/API/gtk/PageClientImpl.cpp:
(WebKit::PageClientImpl::viewSize):
* UIProcess/API/gtk/WebKitWebViewBase.cpp:
(webkitWebViewBaseGetViewSize):
* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:

Modified Paths

trunk/Source/WebKit/ChangeLog
trunk/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp
trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp
trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBasePrivate.h




Diff

Modified: trunk/Source/WebKit/ChangeLog (278300 => 278301)

--- trunk/Source/WebKit/ChangeLog	2021-06-01 10:52:26 UTC (rev 278300)
+++ trunk/Source/WebKit/ChangeLog	2021-06-01 11:59:21 UTC (rev 278301)
@@ -1,3 +1,40 @@
+2021-06-01  Alexander Mikhaylenko  
+
+[GTK] Try harder to find initial WebKitWebView size
+https://bugs.webkit.org/show_bug.cgi?id=226320
+
+Reviewed by Michael Catanzaro.
+
+Currently we base the viewport size on the drawing area size. The
+drawing area is created with an initial size based on the viewport
+size, which will be (0, 0) because the drawing area is still null
+by that point.
+
+Then, later, during the widget allocation, the drawing area receives
+its proper size.
+
+There are 2 issues here. First, this approach guarantees that the
+initial viewport size will always be (0, 0), and then there's no
+guarantee the widget will be allocated any time soon - for example,
+while GtkNotebook in GTK3 does allocate children that aren't currently
+visible, GtkStack doesn't (and that means that GtkNotebook in GTK4 and
+HdyTabView don't either). This leads to a situation where a page opened
+in background will load with 0, 0 size and if a page depends on that,
+it won't load correctly.
+
+The first issue can be fixed by basing the viewport size on the view
+allocation as well, and then if the widget isn't allocated, we instead
+try to use the size of a parent as an estimation, so that the initial
+size is at least not 0 even if not fully accurate.
+
+See https://gitlab.gnome.org/GNOME/epiphany/-/issues/1532
+
+* UIProcess/API/gtk/PageClientImpl.cpp:
+(WebKit::PageClientImpl::viewSize):
+* UIProcess/API/gtk/WebKitWebViewBase.cpp:
+(webkitWebViewBaseGetViewSize):
+* UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
+
 2021-05-30  Dean Jackson  
 
 [WebXR] Send recommendedResolution using DeviceProxy


Modified: trunk/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp (278300 => 278301)

--- trunk/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp	2021-06-01 10:52:26 UTC (rev 278300)
+++ trunk/Source/WebKit/UIProcess/API/gtk/PageClientImpl.cpp	2021-06-01 11:59:21 UTC (rev 278301)
@@ -103,8 +103,7 @@
 
 WebCore::IntSize PageClientImpl::viewSize()
 {
-auto* drawingArea = static_cast(webkitWebViewBaseGetPage(WEBKIT_WEB_VIEW_BASE(m_viewWidget))->drawingArea());
-return drawingArea ? drawingArea->size() : IntSize();
+return webkitWebViewBaseGetViewSize(WEBKIT_WEB_VIEW_BASE(m_viewWidget));
 }
 
 bool PageClientImpl::isViewWindowActive()


Modified: trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp (278300 => 278301)

--- trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp	2021-06-01 10:52:26 UTC (rev 278300)
+++ trunk/Source/WebKit/UIProcess/API/gtk/WebKitWebViewBase.cpp	2021-06-01 11:59:21 UTC (rev 278301)
@@ -263,6 +263,7 @@
 #endif
 std::unique_ptr pageClient;
 RefPtr 

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

2021-06-01 Thread svillar
Title: [278300] trunk/Source/WebCore








Revision 278300
Author svil...@igalia.com
Date 2021-06-01 03:52:26 -0700 (Tue, 01 Jun 2021)


Log Message
Improve if condition in RenderReplaced::computeReplacedLogicalWidth
https://bugs.webkit.org/show_bug.cgi?id=226325

Reviewed by Darin Adler.

Removed the check for intrinsicRatio as we're already inside a block in which intrinsicRatio
is true. Also switched the position of the two conditions in the OR clause as it allows us
to remove the check for computedHeightIsAuto. Last but not least, used a ternary operator
to initialize the value of boxSizing instead of the if clause.

No new tests as there is no change in functionality.

* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::computeReplacedLogicalWidth const):

Modified Paths

trunk/Source/WebCore/ChangeLog
trunk/Source/WebCore/rendering/RenderReplaced.cpp




Diff

Modified: trunk/Source/WebCore/ChangeLog (278299 => 278300)

--- trunk/Source/WebCore/ChangeLog	2021-06-01 08:42:48 UTC (rev 278299)
+++ trunk/Source/WebCore/ChangeLog	2021-06-01 10:52:26 UTC (rev 278300)
@@ -1,3 +1,20 @@
+2021-05-27  Sergio Villar Senin  
+
+Improve if condition in RenderReplaced::computeReplacedLogicalWidth
+https://bugs.webkit.org/show_bug.cgi?id=226325
+
+Reviewed by Darin Adler.
+
+Removed the check for intrinsicRatio as we're already inside a block in which intrinsicRatio
+is true. Also switched the position of the two conditions in the OR clause as it allows us
+to remove the check for computedHeightIsAuto. Last but not least, used a ternary operator
+to initialize the value of boxSizing instead of the if clause.
+
+No new tests as there is no change in functionality.
+
+* rendering/RenderReplaced.cpp:
+(WebCore::RenderReplaced::computeReplacedLogicalWidth const):
+
 2021-05-31  Dean Jackson  
 
 [WebXR] Attach IOSurface to WebXROpaqueFramebuffer


Modified: trunk/Source/WebCore/rendering/RenderReplaced.cpp (278299 => 278300)

--- trunk/Source/WebCore/rendering/RenderReplaced.cpp	2021-06-01 08:42:48 UTC (rev 278299)
+++ trunk/Source/WebCore/rendering/RenderReplaced.cpp	2021-06-01 10:52:26 UTC (rev 278300)
@@ -561,16 +561,13 @@
 // If 'height' and 'width' both have computed values of 'auto' and the element has no intrinsic width, but does have an intrinsic height and intrinsic ratio;
 // or if 'width' has a computed value of 'auto', 'height' has some other computed value, and the element does have an intrinsic ratio; then the used value
 // of 'width' is: (used height) * (intrinsic ratio)
-if (intrinsicRatio && ((computedHeightIsAuto && !hasIntrinsicWidth && hasIntrinsicHeight) || !computedHeightIsAuto)) {
+if (!computedHeightIsAuto || (!hasIntrinsicWidth && hasIntrinsicHeight)) {
 LayoutUnit estimatedUsedWidth = hasIntrinsicWidth ? LayoutUnit(constrainedSize.width()) : computeConstrainedLogicalWidth(shouldComputePreferred);
 LayoutUnit logicalHeight = computeReplacedLogicalHeight(std::optional(estimatedUsedWidth));
-BoxSizing boxSizing = BoxSizing::ContentBox;
-if (style().hasAspectRatio())
-boxSizing = style().boxSizingForAspectRatio();
+BoxSizing boxSizing = style().hasAspectRatio() ? style().boxSizingForAspectRatio() : BoxSizing::ContentBox;
 return computeReplacedLogicalWidthRespectingMinMaxWidth(resolveWidthForRatio(borderAndPaddingLogicalHeight(), borderAndPaddingLogicalWidth(), logicalHeight, intrinsicRatio, boxSizing), shouldComputePreferred);
 }
 
-
 // If 'height' and 'width' both have computed values of 'auto' and the
 // element has an intrinsic ratio but no intrinsic height or width, then
 // the used value of 'width' is undefined in CSS 2.1. However, it is






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


[webkit-changes] [278299] trunk/LayoutTests/imported/w3c

2021-06-01 Thread cathiechen
Title: [278299] trunk/LayoutTests/imported/w3c








Revision 278299
Author cathiec...@igalia.com
Date 2021-06-01 01:42:48 -0700 (Tue, 01 Jun 2021)


Log Message
Update tests of mapping width and height attributes to aspect-ratio from WPT
https://bugs.webkit.org/show_bug.cgi?id=226472

Reviewed by Rob Buis.

Base commit: https://github.com/web-platform-tests/wpt/commit/da6406b38dae07a8a69c384b72ddd89b48d5194a

* web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio-expected.txt:
* web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio.html:
* web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio-expected.txt:
* web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio.html:
* web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/resources/aspect-ratio.js:
(test_computed_style_aspect_ratio):
* web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/video-aspect-ratio.html:

Modified Paths

trunk/LayoutTests/imported/w3c/ChangeLog
trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio.html
trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio-expected.txt
trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio.html
trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/resources/aspect-ratio.js
trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/video-aspect-ratio.html




Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (278298 => 278299)

--- trunk/LayoutTests/imported/w3c/ChangeLog	2021-06-01 08:01:43 UTC (rev 278298)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2021-06-01 08:42:48 UTC (rev 278299)
@@ -1,3 +1,20 @@
+2021-06-01  Cathie Chen  
+
+Update tests of mapping width and height attributes to aspect-ratio from WPT
+https://bugs.webkit.org/show_bug.cgi?id=226472
+
+Reviewed by Rob Buis.
+
+Base commit: https://github.com/web-platform-tests/wpt/commit/da6406b38dae07a8a69c384b72ddd89b48d5194a
+
+* web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio-expected.txt:
+* web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio.html:
+* web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio-expected.txt:
+* web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/img-aspect-ratio.html:
+* web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/resources/aspect-ratio.js:
+(test_computed_style_aspect_ratio):
+* web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/video-aspect-ratio.html:
+
 2021-05-31  Chris Dumez  
 
 Unreviewed, rebaseline web-platform-tests/webaudio/the-audio-api/the-convolvernode-interface/active-processing.https.html after r278233.


Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio-expected.txt (278298 => 278299)

--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio-expected.txt	2021-06-01 08:01:43 UTC (rev 278298)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/rendering/replaced-elements/attributes-for-embedded-content-and-images/canvas-aspect-ratio-expected.txt	2021-06-01 08:42:48 UTC (rev 278299)
@@ -3,11 +3,11 @@
 FAIL Canvas width and height attributes are used as the surface size with contain:size assert_approx_equals: expected 2.5 +/- 0.001 but got Infinity
 PASS Canvas width and height attributes are used as the surface size
 FAIL Computed style test: canvas with {"width":"10","height":"20"} assert_equals: expected "auto 10 / 20" but got "auto"
-PASS Computed style test: canvas with {"width":"0","height":"1"}
-PASS Computed style test: canvas with {"width":"1","height":"0"}
-PASS Computed style test: canvas with {"width":"0","height":"0"}
-FAIL Computed style test: canvas with {"width":"0.5","height":"1.5"} 

[webkit-changes] [278298] trunk/Source/ThirdParty/ANGLE

2021-06-01 Thread commit-queue
Title: [278298] trunk/Source/ThirdParty/ANGLE








Revision 278298
Author commit-qu...@webkit.org
Date 2021-06-01 01:01:43 -0700 (Tue, 01 Jun 2021)


Log Message
ANGLE Metal translator pre-rotation code is unused and it asserts when used
https://bugs.webkit.org/show_bug.cgi?id=226262

Patch by Kimmo Kinnunen  on 2021-06-01
Reviewed by Dean Jackson.

Remove the pre-rotation code. It is Android specific and most likely it is useful
only when ANGLE is used as the drawing mechanism for the primary app window picture.
Thus most likely it is not useful in WebKit on Cocoa platforms where the window
server does the compositing.

* src/compiler/translator/TranslatorMetalDirect.cpp:
(sh::TranslatorMetalDirect::translateImpl):
* src/compiler/translator/TranslatorMetalDirect.h:
* src/libANGLE/renderer/metal/ContextMtl.h:
* src/libANGLE/renderer/metal/ContextMtl.mm:
(rx::ContextMtl::handleDirtyDriverUniforms):

Modified Paths

trunk/Source/ThirdParty/ANGLE/ChangeLog
trunk/Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorMetalDirect.cpp
trunk/Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorMetalDirect.h
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.h
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/metal/ContextMtl.mm




Diff

Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (278297 => 278298)

--- trunk/Source/ThirdParty/ANGLE/ChangeLog	2021-06-01 06:59:45 UTC (rev 278297)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog	2021-06-01 08:01:43 UTC (rev 278298)
@@ -1,3 +1,22 @@
+2021-06-01  Kimmo Kinnunen  
+
+ANGLE Metal translator pre-rotation code is unused and it asserts when used
+https://bugs.webkit.org/show_bug.cgi?id=226262
+
+Reviewed by Dean Jackson.
+
+Remove the pre-rotation code. It is Android specific and most likely it is useful
+only when ANGLE is used as the drawing mechanism for the primary app window picture.
+Thus most likely it is not useful in WebKit on Cocoa platforms where the window
+server does the compositing.
+
+* src/compiler/translator/TranslatorMetalDirect.cpp:
+(sh::TranslatorMetalDirect::translateImpl):
+* src/compiler/translator/TranslatorMetalDirect.h:
+* src/libANGLE/renderer/metal/ContextMtl.h:
+* src/libANGLE/renderer/metal/ContextMtl.mm:
+(rx::ContextMtl::handleDirtyDriverUniforms):
+
 2021-05-31  Kimmo Kinnunen  
 
 Cherry-pick ANGLE: Add array bounds checks for WebGL shaders


Modified: trunk/Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorMetalDirect.cpp (278297 => 278298)

--- trunk/Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorMetalDirect.cpp	2021-06-01 06:59:45 UTC (rev 278297)
+++ trunk/Source/ThirdParty/ANGLE/src/compiler/translator/TranslatorMetalDirect.cpp	2021-06-01 08:01:43 UTC (rev 278298)
@@ -78,12 +78,11 @@
 TExtension::UNDEFINED,
 StaticType::Get());
 
-
-constexpr size_t kNumGraphicsDriverUniforms= 12;
+// Keep this list in sync with ContextMtl::DriverUniforms.
+constexpr size_t kNumGraphicsDriverUniforms= 10;
 constexpr std::array kGraphicsDriverUniformNames = {
 {kViewport, kHalfRenderArea, kFlipXY, kNegFlipXY, kClipDistancesEnabled, kXfbActiveUnpaused,
- kXfbVerticesPerDraw, kXfbBufferOffsets, kAcbBufferOffsets, kDepthRange, kPreRotation,
- kFragRotation}};
+ kXfbVerticesPerDraw, kXfbBufferOffsets, kAcbBufferOffsets, kDepthRange}};
 
 constexpr size_t kNumComputeDriverUniforms   = 1;
 constexpr std::array kComputeDriverUniformNames = {
@@ -344,7 +343,7 @@
 .first->getType()
 .getStruct();
 
-// This field list mirrors the structure of GraphicsDriverUniforms in ContextVk.cpp.
+// This field list mirrors the structure of GraphicsDriverUniforms in ContextMtl.cpp.
 TFieldList *driverFieldList = new TFieldList;
 
 const std::array kDriverUniformTypes = {{
@@ -359,8 +358,6 @@
 new TType(EbtInt, 4),
 new TType(EbtUInt, 4),
 new TType(emulatedDepthRangeParams, false),
-new TType(EbtFloat, 2, 4),
-new TType(EbtFloat, 2, 4),
 }};
 
 for (size_t uniformIndex = 0; uniformIndex < kNumGraphicsDriverUniforms; ++uniformIndex)
@@ -454,35 +451,6 @@
 return RunAtTheEndOfShader(, , assignment, );
 }
 
-// This operation performs Android pre-rotation and y-flip.  For Android (and potentially other
-// platforms), the device may rotate, such that the orientation of the application is rotated
-// relative to the native orientation of the device.  This is corrected in part by multiplying
-// gl_Position by a mat2.
-// The equations reduce to an _expression_:
-//
-// gl_Position.xy = gl_Position.xy * preRotation
-ANGLE_NO_DISCARD bool AppendPreRotation(TCompiler ,
-TIntermBlock ,
-   

[webkit-changes] [278297] trunk/LayoutTests

2021-06-01 Thread dpino
Title: [278297] trunk/LayoutTests








Revision 278297
Author dp...@igalia.com
Date 2021-05-31 23:59:45 -0700 (Mon, 31 May 2021)


Log Message
[GLIB] Unreviewed test gardening. Update baselines after r277970.

* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt:
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt:
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt:
* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt:

Modified Paths

trunk/LayoutTests/ChangeLog
trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt
trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt
trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt
trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt




Diff

Modified: trunk/LayoutTests/ChangeLog (278296 => 278297)

--- trunk/LayoutTests/ChangeLog	2021-06-01 06:18:35 UTC (rev 278296)
+++ trunk/LayoutTests/ChangeLog	2021-06-01 06:59:45 UTC (rev 278297)
@@ -1,3 +1,12 @@
+2021-05-31  Diego Pino Garcia  
+
+[GLIB] Unreviewed test gardening. Update baselines after r277970.
+
+* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt:
+* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt:
+* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt:
+* platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-006-expected.txt:
+
 2021-05-31  Commit Queue  
 
 Unreviewed, reverting r278261.


Modified: trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt (278296 => 278297)

--- trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt	2021-06-01 06:18:35 UTC (rev 278296)
+++ trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/mo-stretch-properties-dynamic-001-expected.txt	2021-06-01 06:59:45 UTC (rev 278297)
@@ -1,9 +1,9 @@
 
-FAIL minsize assert_approx_equals: attach expected 100 +/- 1 but got 0
-FAIL maxsize assert_approx_equals: attach expected 100 +/- 1 but got 0
-FAIL largeop assert_approx_equals: set true expected 50 +/- 1 but got 20
-FAIL symmetric assert_approx_equals: set true expected 150 +/- 1 but got 0
-FAIL stretchy assert_approx_equals: set true expected 75 +/- 1 but got 0
+FAIL minsize assert_approx_equals: modify expected 125 +/- 1 but got 75
+FAIL maxsize assert_approx_equals: attach expected 100 +/- 1 but got 150
+FAIL largeop assert_approx_equals: set true expected 50 +/- 1 but got 26
+FAIL symmetric assert_approx_equals: set true expected 150 +/- 1 but got 75
+PASS stretchy
 ⥯
 ⥯
 ⥯


Modified: trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt (278296 => 278297)

--- trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt	2021-06-01 06:18:35 UTC (rev 278296)
+++ trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-stretchy-003-expected.txt	2021-06-01 06:59:45 UTC (rev 278297)
@@ -3,7 +3,7 @@
 PASS Operator dictionary chunk 2 - stretchy
 PASS Operator dictionary chunk 3 - stretchy
 PASS Operator dictionary chunk 4 - stretchy
-FAIL Operator dictionary chunk 5 - stretchy assert_approx_equals: Stretchy property for  postfix should be 'true' expected 27.75 +/- 1 but got 66.75
+FAIL Operator dictionary chunk 5 - stretchy assert_approx_equals: Stretchy property for  postfix should be 'true' expected 127.75 +/- 1 but got 77.75
 stretchy for "" (postfix):
   
 


Modified: trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt (278296 => 278297)

--- trunk/LayoutTests/platform/glib/imported/w3c/web-platform-tests/mathml/presentation-markup/operators/operator-dictionary-symmetric-001-expected.txt	

[webkit-changes] [278296] trunk/Source/ThirdParty/ANGLE

2021-06-01 Thread commit-queue
Title: [278296] trunk/Source/ThirdParty/ANGLE








Revision 278296
Author commit-qu...@webkit.org
Date 2021-05-31 23:18:35 -0700 (Mon, 31 May 2021)


Log Message
Cherry-pick ANGLE: Add array bounds checks for WebGL shaders
https://bugs.webkit.org/show_bug.cgi?id=226397

Patch by Kimmo Kinnunen  on 2021-05-31
Reviewed by Dean Jackson.

Cherry-pick ANGLE commit b0d39ba2aba218402ff2f32f6e16f18cf4975ff4
At the moment does not affect any WebKit client.
Makes the code consistent with OpenGL.
Makes it easier to understand same change in Metal backend.

Upstream description:
Add array bounds checks for WebGL shaders
WebGL shaders may contain OOB array accesses which in turn
cause undefined behavior, which may result in security
issues. This was detected as an UNKNOWN READ by UBSAN while
testing with SwANGLE.

* src/libANGLE/renderer/vulkan/ShaderVk.cpp:
(rx::ShaderVk::compile):

Modified Paths

trunk/Source/ThirdParty/ANGLE/ChangeLog
trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/ShaderVk.cpp




Diff

Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (278295 => 278296)

--- trunk/Source/ThirdParty/ANGLE/ChangeLog	2021-06-01 04:52:51 UTC (rev 278295)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog	2021-06-01 06:18:35 UTC (rev 278296)
@@ -1,3 +1,25 @@
+2021-05-31  Kimmo Kinnunen  
+
+Cherry-pick ANGLE: Add array bounds checks for WebGL shaders
+https://bugs.webkit.org/show_bug.cgi?id=226397
+
+Reviewed by Dean Jackson.
+
+Cherry-pick ANGLE commit b0d39ba2aba218402ff2f32f6e16f18cf4975ff4
+At the moment does not affect any WebKit client.
+Makes the code consistent with OpenGL.
+Makes it easier to understand same change in Metal backend.
+
+Upstream description:
+Add array bounds checks for WebGL shaders
+WebGL shaders may contain OOB array accesses which in turn
+cause undefined behavior, which may result in security
+issues. This was detected as an UNKNOWN READ by UBSAN while
+testing with SwANGLE.
+
+* src/libANGLE/renderer/vulkan/ShaderVk.cpp:
+(rx::ShaderVk::compile):
+
 2021-05-28  Kimmo Kinnunen  
 
 ANGLE Metal translator should always collect variables


Modified: trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/ShaderVk.cpp (278295 => 278296)

--- trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/ShaderVk.cpp	2021-06-01 04:52:51 UTC (rev 278295)
+++ trunk/Source/ThirdParty/ANGLE/src/libANGLE/renderer/vulkan/ShaderVk.cpp	2021-06-01 06:18:35 UTC (rev 278296)
@@ -37,6 +37,10 @@
 // Extra initialization in spirv shader may affect performance.
 compileOptions |= SH_INITIALIZE_UNINITIALIZED_LOCALS;
 
+// WebGL shaders may contain OOB array accesses which in turn cause undefined behavior,
+// which may result in security issues. See https://crbug.com/1189110.
+compileOptions |= SH_CLAMP_INDIRECT_ARRAY_BOUNDS;
+
 if (mState.getShaderType() != gl::ShaderType::Compute)
 {
 compileOptions |= SH_INIT_OUTPUT_VARIABLES;






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