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