Title: [154577] trunk/Source/WebCore
Revision
154577
Author
[email protected]
Date
2013-08-25 07:21:44 -0700 (Sun, 25 Aug 2013)

Log Message

Unreviewed rollout of r154571. Broke internal iOS build.

Reopened: No need for clearTimers function in Frame
https://bugs.webkit.org/show_bug.cgi?id=120265

* history/CachedFrame.cpp:
(WebCore::CachedFrame::CachedFrame):
(WebCore::CachedFrame::destroy):
* page/Frame.cpp:
(WebCore::Frame::clearTimers):
* page/Frame.h:

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (154576 => 154577)


--- trunk/Source/WebCore/ChangeLog	2013-08-25 10:28:51 UTC (rev 154576)
+++ trunk/Source/WebCore/ChangeLog	2013-08-25 14:21:44 UTC (rev 154577)
@@ -1,3 +1,17 @@
+2013-08-25  David Kilzer  <[email protected]>
+
+        Unreviewed rollout of r154571. Broke internal iOS build.
+
+        Reopened: No need for clearTimers function in Frame
+        https://bugs.webkit.org/show_bug.cgi?id=120265
+
+        * history/CachedFrame.cpp:
+        (WebCore::CachedFrame::CachedFrame):
+        (WebCore::CachedFrame::destroy):
+        * page/Frame.cpp:
+        (WebCore::Frame::clearTimers):
+        * page/Frame.h:
+
 2013-08-25  Darin Adler  <[email protected]>
 
         No need for hasData in Clipboard

Modified: trunk/Source/WebCore/history/CachedFrame.cpp (154576 => 154577)


--- trunk/Source/WebCore/history/CachedFrame.cpp	2013-08-25 10:28:51 UTC (rev 154576)
+++ trunk/Source/WebCore/history/CachedFrame.cpp	2013-08-25 14:21:44 UTC (rev 154577)
@@ -149,13 +149,6 @@
     m_document->documentDidResumeFromPageCache();
 }
 
-static void clearTimers(FrameView& view, Document& document)
-{
-    view.unscheduleRelayout();
-    view.frame().animation().suspendAnimationsForDocument(&document);
-    view.frame().eventHandler().stopAutoscrollTimer();
-}
-
 CachedFrame::CachedFrame(Frame* frame)
     : CachedFrameBase(frame)
 {
@@ -198,7 +191,7 @@
 #endif
 
     // documentWillSuspendForPageCache() can set up a layout timer on the FrameView, so clear timers after that.
-    clearTimers(*m_view, *m_document);
+    frame->clearTimers();
 
     // Deconstruct the FrameTree, to restore it later.
     // We do this for two reasons:
@@ -278,7 +271,7 @@
     if (m_cachedFramePlatformData)
         m_cachedFramePlatformData->clear();
 
-    clearTimers(*m_view, *m_document);
+    Frame::clearTimers(m_view.get(), m_document.get());
 
     // FIXME: Why do we need to call removeAllEventListeners here? When the document is in page cache, this method won't work
     // fully anyway, because the document won't be able to access its DOMWindow object (due to being frameless).

Modified: trunk/Source/WebCore/page/Frame.cpp (154576 => 154577)


--- trunk/Source/WebCore/page/Frame.cpp	2013-08-25 10:28:51 UTC (rev 154576)
+++ trunk/Source/WebCore/page/Frame.cpp	2013-08-25 14:21:44 UTC (rev 154577)
@@ -597,6 +597,20 @@
     return &toFrameView(widget)->frame();
 }
 
+void Frame::clearTimers(FrameView *view, Document *document)
+{
+    if (view) {
+        view->unscheduleRelayout();
+        view->frame().animation().suspendAnimationsForDocument(document);
+        view->frame().eventHandler().stopAutoscrollTimer();
+    }
+}
+
+void Frame::clearTimers()
+{
+    clearTimers(m_view.get(), document());
+}
+
 void Frame::willDetachPage()
 {
     if (Frame* parent = tree().parent())

Modified: trunk/Source/WebCore/page/Frame.h (154576 => 154577)


--- trunk/Source/WebCore/page/Frame.h	2013-08-25 10:28:51 UTC (rev 154576)
+++ trunk/Source/WebCore/page/Frame.h	2013-08-25 14:21:44 UTC (rev 154577)
@@ -165,6 +165,9 @@
         int orientation() const { return m_orientation; }
 #endif
 
+        void clearTimers();
+        static void clearTimers(FrameView*, Document*);
+
         String displayStringModifiedByEncoding(const String&) const;
 
         DragImageRef nodeImage(Node*);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to