Title: [259085] trunk/Source
Revision
259085
Author
timothy_hor...@apple.com
Date
2020-03-26 15:37:34 -0700 (Thu, 26 Mar 2020)

Log Message

Pinch to zoom gesture has to be repeated twice if the cursor isn't moved between gestures
https://bugs.webkit.org/show_bug.cgi?id=203132
<rdar://problem/27439348>

Reviewed by Simon Fraser.

* page/EventHandler.h:

* UIProcess/WebPageProxy.cpp:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::endMagnificationGesture):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::didEndMagnificationGesture):
Plumb the end of a pinch-zoom gesture to EventHandler.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (259084 => 259085)


--- trunk/Source/WebCore/ChangeLog	2020-03-26 22:22:56 UTC (rev 259084)
+++ trunk/Source/WebCore/ChangeLog	2020-03-26 22:37:34 UTC (rev 259085)
@@ -1,3 +1,13 @@
+2020-03-26  Tim Horton  <timothy_hor...@apple.com>
+
+        Pinch to zoom gesture has to be repeated twice if the cursor isn't moved between gestures
+        https://bugs.webkit.org/show_bug.cgi?id=203132
+        <rdar://problem/27439348>
+
+        Reviewed by Simon Fraser.
+
+        * page/EventHandler.h:
+
 2020-03-26  Chris Dumez  <cdu...@apple.com>
 
         [StressGC] ASSERTION FAILED: m_wrapper under WebCore::HTMLMediaElement::dispatchEvent

Modified: trunk/Source/WebCore/page/EventHandler.h (259084 => 259085)


--- trunk/Source/WebCore/page/EventHandler.h	2020-03-26 22:22:56 UTC (rev 259084)
+++ trunk/Source/WebCore/page/EventHandler.h	2020-03-26 22:37:34 UTC (rev 259085)
@@ -238,6 +238,7 @@
 #elif ENABLE(MAC_GESTURE_EVENTS)
     bool dispatchGestureEvent(const PlatformGestureEvent&, const AtomString&, const EventTargetSet&, float, float);
     WEBCORE_EXPORT bool handleGestureEvent(const PlatformGestureEvent&);
+    WEBCORE_EXPORT void didEndMagnificationGesture();
 #endif
 
 #if PLATFORM(IOS_FAMILY)

Modified: trunk/Source/WebKit/ChangeLog (259084 => 259085)


--- trunk/Source/WebKit/ChangeLog	2020-03-26 22:22:56 UTC (rev 259084)
+++ trunk/Source/WebKit/ChangeLog	2020-03-26 22:37:34 UTC (rev 259085)
@@ -1,3 +1,22 @@
+2020-03-26  Tim Horton  <timothy_hor...@apple.com>
+
+        Pinch to zoom gesture has to be repeated twice if the cursor isn't moved between gestures
+        https://bugs.webkit.org/show_bug.cgi?id=203132
+        <rdar://problem/27439348>
+
+        Reviewed by Simon Fraser.
+
+        * UIProcess/WebPageProxy.cpp:
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebPageProxy.messages.in:
+        * UIProcess/mac/ViewGestureControllerMac.mm:
+        (WebKit::ViewGestureController::endMagnificationGesture):
+        * WebProcess/WebPage/WebPage.h:
+        * WebProcess/WebPage/WebPage.messages.in:
+        * WebProcess/WebPage/mac/WebPageMac.mm:
+        (WebKit::WebPage::didEndMagnificationGesture):
+        Plumb the end of a pinch-zoom gesture to EventHandler.
+
 2020-03-26  Chris Dumez  <cdu...@apple.com>
 
         Regression(r258949) Safari sometimes crashes when becoming the foreground application

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (259084 => 259085)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2020-03-26 22:22:56 UTC (rev 259084)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2020-03-26 22:37:34 UTC (rev 259085)
@@ -8955,6 +8955,11 @@
     send(Messages::WebPage::SetFooterBannerHeightForTesting(height));
 }
 
+void WebPageProxy::didEndMagnificationGesture()
+{
+    send(Messages::WebPage::DidEndMagnificationGesture());
+}
+
 #endif
 
 void WebPageProxy::installActivityStateChangeCompletionHandler(Function<void()>&& completionHandler)

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (259084 => 259085)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.h	2020-03-26 22:22:56 UTC (rev 259084)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h	2020-03-26 22:37:34 UTC (rev 259085)
@@ -1440,6 +1440,8 @@
 
     void setHeaderBannerHeightForTesting(int);
     void setFooterBannerHeightForTesting(int);
+
+    void didEndMagnificationGesture();
 #endif
 
     bool scrollingUpdatesDisabledForTesting();

Modified: trunk/Source/WebKit/UIProcess/mac/ViewGestureControllerMac.mm (259084 => 259085)


--- trunk/Source/WebKit/UIProcess/mac/ViewGestureControllerMac.mm	2020-03-26 22:22:56 UTC (rev 259084)
+++ trunk/Source/WebKit/UIProcess/mac/ViewGestureControllerMac.mm	2020-03-26 22:37:34 UTC (rev 259085)
@@ -187,6 +187,8 @@
             drawingArea->commitTransientZoom(newMagnification, scaledMagnificationOrigin(m_magnificationOrigin, newMagnification));
     }
 
+    m_webPageProxy.didEndMagnificationGesture();
+
     didEndGesture();
     m_visibleContentRectIsValid = false;
 }

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.h (259084 => 259085)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2020-03-26 22:22:56 UTC (rev 259084)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.h	2020-03-26 22:37:34 UTC (rev 259085)
@@ -578,6 +578,8 @@
     void setBottomOverhangImage(WebImage*);
     
     void setUseSystemAppearance(bool);
+
+    void didEndMagnificationGesture();
 #endif
 
     void effectiveAppearanceDidChange(bool useDarkAppearance, bool useElevatedUserInterfaceLevel);

Modified: trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in (259084 => 259085)


--- trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in	2020-03-26 22:22:56 UTC (rev 259084)
+++ trunk/Source/WebKit/WebProcess/WebPage/WebPage.messages.in	2020-03-26 22:37:34 UTC (rev 259085)
@@ -493,13 +493,15 @@
 
     HandleAcceptedCandidate(struct WebCore::TextCheckingResult acceptedCandidate)
 
-    SetUseSystemAppearance(bool useSystemAppearance);
+    SetUseSystemAppearance(bool useSystemAppearance)
 
-    SetHeaderBannerHeightForTesting(int height);
-    SetFooterBannerHeightForTesting(int height);
+    SetHeaderBannerHeightForTesting(int height)
+    SetFooterBannerHeightForTesting(int height)
+
+    DidEndMagnificationGesture()
 #endif
 
-    EffectiveAppearanceDidChange(bool useDarkAppearance, bool useElevatedUserInterfaceLevel);
+    EffectiveAppearanceDidChange(bool useDarkAppearance, bool useElevatedUserInterfaceLevel)
 
 #if PLATFORM(GTK)
     ThemeDidChange(String themeName)

Modified: trunk/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm (259084 => 259085)


--- trunk/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm	2020-03-26 22:22:56 UTC (rev 259084)
+++ trunk/Source/WebKit/WebProcess/WebPage/mac/WebPageMac.mm	2020-03-26 22:37:34 UTC (rev 259085)
@@ -1046,6 +1046,13 @@
 }
 #endif
 
+void WebPage::didEndMagnificationGesture()
+{
+#if ENABLE(MAC_GESTURE_EVENTS)
+    m_page->mainFrame().eventHandler().didEndMagnificationGesture();
+#endif
+}
+
 } // namespace WebKit
 
 #endif // PLATFORM(MAC)
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to