[webkit-changes] [278337] trunk/LayoutTests
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
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
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
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
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
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
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
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
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
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/
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
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
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
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
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
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
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
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
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
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
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
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
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/
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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