Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(498)

Unified Diff: third_party/WebKit/Source/core/fetch/MockResourceClients.cpp

Issue 1998073002: Move some ResourceClients for testing to Oilpan heap (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/fetch/MockResourceClients.cpp
diff --git a/third_party/WebKit/Source/core/fetch/MockResourceClients.cpp b/third_party/WebKit/Source/core/fetch/MockResourceClients.cpp
index ffe8072ed1123d786cc1cb8a2cc0441e1bac604d..463c6ea2502f97a9fc2dcadf57f303174edacee5 100644
--- a/third_party/WebKit/Source/core/fetch/MockResourceClients.cpp
+++ b/third_party/WebKit/Source/core/fetch/MockResourceClients.cpp
@@ -13,14 +13,12 @@ MockResourceClient::MockResourceClient(Resource* resource)
: m_resource(resource)
, m_notifyFinishedCalled(false)
{
+ ThreadState::current()->registerPreFinalizer(this);
m_resource->addClient(this);
}
-MockResourceClient::~MockResourceClient()
-{
- if (m_resource)
- m_resource->removeClient(this);
-}
+MockResourceClient::~MockResourceClient() {}
+
void MockResourceClient::notifyFinished(Resource*)
{
ASSERT_FALSE(m_notifyFinishedCalled);
@@ -33,6 +31,19 @@ void MockResourceClient::removeAsClient()
m_resource = nullptr;
}
+void MockResourceClient::dispose()
+{
+ if (m_resource) {
+ m_resource->removeClient(this);
+ m_resource = nullptr;
+ }
+}
+
+DEFINE_TRACE(MockResourceClient)
+{
+ visitor->trace(m_resource);
+}
+
MockImageResourceClient::MockImageResourceClient(ImageResource* resource)
: MockResourceClient(resource)
, m_imageChangedCount(0)
@@ -41,11 +52,7 @@ MockImageResourceClient::MockImageResourceClient(ImageResource* resource)
toImageResource(m_resource.get())->addObserver(this);
}
-MockImageResourceClient::~MockImageResourceClient()
-{
- if (m_resource)
- toImageResource(m_resource.get())->removeObserver(this);
-}
+MockImageResourceClient::~MockImageResourceClient() {}
void MockImageResourceClient::removeAsClient()
{
@@ -53,6 +60,13 @@ void MockImageResourceClient::removeAsClient()
MockResourceClient::removeAsClient();
}
+void MockImageResourceClient::dispose()
+{
+ if (m_resource)
+ toImageResource(m_resource.get())->removeObserver(this);
haraken 2016/05/20 07:37:38 Not related to this CL, we might want to move Imag
yhirano 2016/05/20 07:45:45 LayoutObject inherits ImageResourceObserver and ac
+ MockResourceClient::dispose();
+}
+
void MockImageResourceClient::imageChanged(ImageResource*, const IntRect*)
{
m_imageChangedCount++;
« no previous file with comments | « third_party/WebKit/Source/core/fetch/MockResourceClients.h ('k') | third_party/WebKit/Source/core/fetch/RawResourceTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698