Title: [167869] trunk/Source/WebKit2
Revision
167869
Author
[email protected]
Date
2014-04-27 21:07:29 -0700 (Sun, 27 Apr 2014)

Log Message

REGRESSION (r164702): Double tap doesn't stay under the new element once the animation finishes
https://bugs.webkit.org/show_bug.cgi?id=132239
<rdar://problem/16192842>

Reviewed by Darin Adler.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::scalePage):
The change in r167864 broke iOS animated resize, because it was depending on
the dynamic size update code not running if the scale wasn't going to change.
So, as a band-aid we should bail from doing that work if the scales aren't different.
In the long term we should try to untangle this code and make it less platform dependent.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (167868 => 167869)


--- trunk/Source/WebKit2/ChangeLog	2014-04-28 02:37:42 UTC (rev 167868)
+++ trunk/Source/WebKit2/ChangeLog	2014-04-28 04:07:29 UTC (rev 167869)
@@ -1,3 +1,18 @@
+2014-04-27  Tim Horton  <[email protected]>
+
+        REGRESSION (r164702): Double tap doesn't stay under the new element once the animation finishes
+        https://bugs.webkit.org/show_bug.cgi?id=132239
+        <rdar://problem/16192842>
+
+        Reviewed by Darin Adler.
+
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::scalePage):
+        The change in r167864 broke iOS animated resize, because it was depending on
+        the dynamic size update code not running if the scale wasn't going to change.
+        So, as a band-aid we should bail from doing that work if the scales aren't different.
+        In the long term we should try to untangle this code and make it less platform dependent.
+
 2014-04-27  Eunmi Lee  <[email protected]>
 
         TouchEvent is not handled after releasing any point among touched points.

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (167868 => 167869)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2014-04-28 02:37:42 UTC (rev 167868)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2014-04-28 04:07:29 UTC (rev 167869)
@@ -1291,10 +1291,14 @@
 
 void WebPage::scalePage(double scale, const IntPoint& origin)
 {
+    bool willChangeScaleFactor = scale != pageScaleFactor();
+
 #if PLATFORM(IOS)
-    if (!m_inDynamicSizeUpdate)
-        m_dynamicSizeUpdateHistory.clear();
-    m_scaleWasSetByUIProcess = false;
+    if (willChangeScaleFactor) {
+        if (!m_inDynamicSizeUpdate)
+            m_dynamicSizeUpdateHistory.clear();
+        m_scaleWasSetByUIProcess = false;
+    }
 #endif
     PluginView* pluginView = pluginViewForFrame(&m_page->mainFrame());
     if (pluginView && pluginView->handlesPageScaleFactor()) {
@@ -1302,12 +1306,10 @@
         return;
     }
 
-    float oldPageScaleFactor = pageScaleFactor();
-
     m_page->setPageScaleFactor(scale, origin);
 
     // We can't early return before setPageScaleFactor because the origin might be different.
-    if (scale == oldPageScaleFactor)
+    if (!willChangeScaleFactor)
         return;
 
     for (auto* pluginView : m_pluginViews)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to