Title: [152384] trunk/Source/WebCore
Revision
152384
Author
[email protected]
Date
2013-07-03 17:03:10 -0700 (Wed, 03 Jul 2013)

Log Message

Simplify PageThrottler ownership.
https://bugs.webkit.org/show_bug.cgi?id=118372

Reviewed by Sam Weinig.

* page/Page.cpp:
(WebCore::Page::~Page):
    - 'clearPage' method removed - just clear the own pointer.
* page/Page.h:
    - make m_pageThrottler an OwnPtr.
* page/PageThrottler.cpp:
(WebCore::PageThrottler::~PageThrottler):
    - moved 'setThrottled(false)' from 'clearPage' (removed).
(WebCore::PageThrottler::throttlePage):
(WebCore::PageThrottler::unthrottlePage):
    - no need to check 'm_page'
* page/PageThrottler.h:
(WebCore::PageThrottler::create):
    - create a PassOwnPtr, not PassRefPtr.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (152383 => 152384)


--- trunk/Source/WebCore/ChangeLog	2013-07-04 00:01:58 UTC (rev 152383)
+++ trunk/Source/WebCore/ChangeLog	2013-07-04 00:03:10 UTC (rev 152384)
@@ -1,3 +1,25 @@
+2013-07-03  Gavin Barraclough  <[email protected]>
+
+        Simplify PageThrottler ownership.
+        https://bugs.webkit.org/show_bug.cgi?id=118372
+
+        Reviewed by Sam Weinig.
+
+        * page/Page.cpp:
+        (WebCore::Page::~Page):
+            - 'clearPage' method removed - just clear the own pointer.
+        * page/Page.h:
+            - make m_pageThrottler an OwnPtr.
+        * page/PageThrottler.cpp:
+        (WebCore::PageThrottler::~PageThrottler):
+            - moved 'setThrottled(false)' from 'clearPage' (removed).
+        (WebCore::PageThrottler::throttlePage):
+        (WebCore::PageThrottler::unthrottlePage):
+            - no need to check 'm_page'
+        * page/PageThrottler.h:
+        (WebCore::PageThrottler::create):
+            - create a PassOwnPtr, not PassRefPtr.
+
 2013-07-03  Brent Fulgham  <[email protected]>
 
         [Windows] Updates to support changes in CoreGraphics libraries.

Modified: trunk/Source/WebCore/page/Page.cpp (152383 => 152384)


--- trunk/Source/WebCore/page/Page.cpp	2013-07-04 00:01:58 UTC (rev 152383)
+++ trunk/Source/WebCore/page/Page.cpp	2013-07-04 00:03:10 UTC (rev 152384)
@@ -233,8 +233,8 @@
 #ifndef NDEBUG
     pageCounter.decrement();
 #endif
-    m_pageThrottler->clearPage();
 
+    m_pageThrottler.clear();
 }
 
 ArenaSize Page::renderTreeSize() const

Modified: trunk/Source/WebCore/page/Page.h (152383 => 152384)


--- trunk/Source/WebCore/page/Page.h	2013-07-04 00:01:58 UTC (rev 152383)
+++ trunk/Source/WebCore/page/Page.h	2013-07-04 00:03:10 UTC (rev 152384)
@@ -536,7 +536,7 @@
     AlternativeTextClient* m_alternativeTextClient;
 
     bool m_scriptedAnimationsSuspended;
-    RefPtr<PageThrottler> m_pageThrottler;
+    OwnPtr<PageThrottler> m_pageThrottler;
 
     OwnPtr<PageConsole> m_console;
 

Modified: trunk/Source/WebCore/page/PageThrottler.cpp (152383 => 152384)


--- trunk/Source/WebCore/page/PageThrottler.cpp	2013-07-04 00:01:58 UTC (rev 152383)
+++ trunk/Source/WebCore/page/PageThrottler.cpp	2013-07-04 00:03:10 UTC (rev 152384)
@@ -48,28 +48,21 @@
 
 PageThrottler::~PageThrottler()
 {
+    setThrottled(false);
+
     for (HashSet<PageActivityAssertionToken*>::iterator i = m_activityTokens.begin(); i != m_activityTokens.end(); ++i)
         (*i)->invalidate();
 
-    if (m_throttleState != PageThrottledState && m_page) {
+    if (m_throttleState != PageThrottledState) {
         if (ChromeClient* chromeClient = m_page->chrome().client())
             chromeClient->decrementActivePageCount();
     }
 }
 
-void PageThrottler::clearPage()
-{
-    setThrottled(false);
-    m_page = 0;
-}
-
 void PageThrottler::throttlePage()
 {
     m_throttleState = PageThrottledState;
 
-    if (!m_page)
-        return;
-
     if (ChromeClient* chromeClient = m_page->chrome().client())
         chromeClient->decrementActivePageCount();
 
@@ -86,7 +79,7 @@
     PageThrottleState oldState = m_throttleState;
     m_throttleState = PageNotThrottledState;
 
-    if (!m_page || oldState == PageNotThrottledState)
+    if (oldState == PageNotThrottledState)
         return;
 
     if (oldState == PageThrottledState) {

Modified: trunk/Source/WebCore/page/PageThrottler.h (152383 => 152384)


--- trunk/Source/WebCore/page/PageThrottler.h	2013-07-04 00:01:58 UTC (rev 152383)
+++ trunk/Source/WebCore/page/PageThrottler.h	2013-07-04 00:03:10 UTC (rev 152384)
@@ -29,18 +29,19 @@
 #include "Timer.h"
 
 #include <wtf/HashSet.h>
-#include <wtf/RefCounted.h>
+#include <wtf/OwnPtr.h>
+#include <wtf/PassOwnPtr.h>
 
 namespace WebCore {
 
 class Page;
 class PageActivityAssertionToken;
 
-class PageThrottler : public RefCounted<PageThrottler> {
+class PageThrottler {
 public:
-    static PassRefPtr<PageThrottler> create(Page* page)
+    static PassOwnPtr<PageThrottler> create(Page* page)
     {
-        return adoptRef(new PageThrottler(page));
+        return adoptPtr(new PageThrottler(page));
     }
 
     bool shouldThrottleAnimations() const { return m_throttleState != PageNotThrottledState; }
@@ -51,7 +52,6 @@
     void preventThrottling();
     void reportInterestingEvent();
     void allowThrottling();
-    void clearPage();
 
     ~PageThrottler();
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to