Title: [149002] trunk/Source/WebCore
Revision
149002
Author
[email protected]
Date
2013-04-23 15:36:20 -0700 (Tue, 23 Apr 2013)

Log Message

Revert "Throttle resize events during live window resize."
<http://webkit.org/b/114292>
<rdar://problem/13411454>
<rdar://problem/13694839>

Reviewed by Geoffrey Garen.

It appears that this caused more glitches than it helped resize performance.

* page/FrameView.h:
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::sendResizeEvent):

    Turn the null-check of m_frame into an assertion since this method is
    no longer called asynchronously.

(WebCore::FrameView::willEndLiveResize):

    Ninja fix: call up to the closest superclass implementation.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (149001 => 149002)


--- trunk/Source/WebCore/ChangeLog	2013-04-23 22:34:46 UTC (rev 149001)
+++ trunk/Source/WebCore/ChangeLog	2013-04-23 22:36:20 UTC (rev 149002)
@@ -1,3 +1,27 @@
+2013-04-23  Andreas Kling  <[email protected]>
+
+        Revert "Throttle resize events during live window resize."
+        <http://webkit.org/b/114292>
+        <rdar://problem/13411454>
+        <rdar://problem/13694839>
+
+        Reviewed by Geoffrey Garen.
+
+        It appears that this caused more glitches than it helped resize performance.
+
+        * page/FrameView.h:
+        * page/FrameView.cpp:
+        (WebCore::FrameView::FrameView):
+        (WebCore::FrameView::performPostLayoutTasks):
+        (WebCore::FrameView::sendResizeEvent):
+
+            Turn the null-check of m_frame into an assertion since this method is
+            no longer called asynchronously.
+
+        (WebCore::FrameView::willEndLiveResize):
+
+            Ninja fix: call up to the closest superclass implementation.
+
 2013-04-23  Christophe Dumez  <[email protected]>
 
         Global constructors should be configurable and not enumerable

Modified: trunk/Source/WebCore/page/FrameView.cpp (149001 => 149002)


--- trunk/Source/WebCore/page/FrameView.cpp	2013-04-23 22:34:46 UTC (rev 149001)
+++ trunk/Source/WebCore/page/FrameView.cpp	2013-04-23 22:36:20 UTC (rev 149002)
@@ -126,9 +126,6 @@
 double FrameView::s_deferredRepaintDelayIncrementDuringLoading = 0;
 #endif
 
-// While the browser window is being resized, resize events will be dispatched at most this often.
-static const double minimumIntervalBetweenResizeEventsDuringLiveResizeInSeconds = 0.2;
-
 // The maximum number of updateWidgets iterations that should be done before returning.
 static const unsigned maxUpdateWidgetsIterations = 2;
 
@@ -175,7 +172,6 @@
     : m_frame(frame)
     , m_canHaveScrollbars(true)
     , m_slowRepaintObjectCount(0)
-    , m_delayedResizeEventTimer(this, &FrameView::delayedResizeEventTimerFired)
     , m_layoutTimer(this, &FrameView::layoutTimerFired)
     , m_layoutRoot(0)
     , m_inSynchronousPostLayout(false)
@@ -2770,19 +2766,14 @@
         bool resized = !m_firstLayout && (currentSize != m_lastViewportSize || currentZoomFactor != m_lastZoomFactor);
         m_lastViewportSize = currentSize;
         m_lastZoomFactor = currentZoomFactor;
-        if (resized) {
-            if (inLiveResize())
-                scheduleResizeEvent();
-            else
-                sendResizeEvent();
-        }
+        if (resized)
+            sendResizeEvent();
     }
 }
 
 void FrameView::sendResizeEvent()
 {
-    if (!m_frame)
-        return;
+    ASSERT(m_frame);
 
     m_frame->eventHandler()->sendResizeEvent();
 
@@ -2798,11 +2789,6 @@
 #endif
 }
 
-void FrameView::delayedResizeEventTimerFired(Timer<FrameView>*)
-{
-    sendResizeEvent();
-}
-
 void FrameView::willStartLiveResize()
 {
     ScrollView::willStartLiveResize();
@@ -2811,20 +2797,10 @@
     
 void FrameView::willEndLiveResize()
 {
-    ScrollableArea::willEndLiveResize();
-    if (m_delayedResizeEventTimer.isActive()) {
-        m_delayedResizeEventTimer.stop();
-        sendResizeEvent();
-    }
+    ScrollView::willEndLiveResize();
     adjustTiledBackingCoverage();
 }
 
-void FrameView::scheduleResizeEvent()
-{
-    if (!m_delayedResizeEventTimer.isActive())
-        m_delayedResizeEventTimer.startOneShot(minimumIntervalBetweenResizeEventsDuringLiveResizeInSeconds);
-}
-
 void FrameView::postLayoutTimerFired(Timer<FrameView>*)
 {
     performPostLayoutTasks();

Modified: trunk/Source/WebCore/page/FrameView.h (149001 => 149002)


--- trunk/Source/WebCore/page/FrameView.h	2013-04-23 22:34:46 UTC (rev 149001)
+++ trunk/Source/WebCore/page/FrameView.h	2013-04-23 22:36:20 UTC (rev 149002)
@@ -540,8 +540,6 @@
     int m_borderX;
     int m_borderY;
 
-    Timer<FrameView> m_delayedResizeEventTimer;
-
     Timer<FrameView> m_layoutTimer;
     bool m_delayedLayout;
     RenderObject* m_layoutRoot;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to