| Index: third_party/WebKit/Source/core/loader/ThreadableLoaderClientWrapper.h
|
| diff --git a/third_party/WebKit/Source/core/loader/ThreadableLoaderClientWrapper.h b/third_party/WebKit/Source/core/loader/ThreadableLoaderClientWrapper.h
|
| index aee4ccbab5ff8b62d9ef279099e6a7d6db5c963a..c78779b5354fa6c62d48692272e3bcf09aff82dd 100644
|
| --- a/third_party/WebKit/Source/core/loader/ThreadableLoaderClientWrapper.h
|
| +++ b/third_party/WebKit/Source/core/loader/ThreadableLoaderClientWrapper.h
|
| @@ -90,29 +90,41 @@ public:
|
| void didFinishLoading(unsigned long identifier, double finishTime)
|
| {
|
| m_done = true;
|
| - if (m_client)
|
| - m_client->didFinishLoading(identifier, finishTime);
|
| + if (m_client) {
|
| + ThreadableLoaderClient* client = m_client;
|
| + m_client = nullptr;
|
| + client->didFinishLoading(identifier, finishTime);
|
| + }
|
| }
|
|
|
| void didFail(const ResourceError& error)
|
| {
|
| m_done = true;
|
| - if (m_client)
|
| - m_client->didFail(error);
|
| + if (m_client) {
|
| + ThreadableLoaderClient* client = m_client;
|
| + m_client = nullptr;
|
| + client->didFail(error);
|
| + }
|
| }
|
|
|
| void didFailAccessControlCheck(const ResourceError& error)
|
| {
|
| m_done = true;
|
| - if (m_client)
|
| - m_client->didFailAccessControlCheck(error);
|
| + if (m_client) {
|
| + ThreadableLoaderClient* client = m_client;
|
| + m_client = nullptr;
|
| + client->didFailAccessControlCheck(error);
|
| + }
|
| }
|
|
|
| void didFailRedirectCheck()
|
| {
|
| m_done = true;
|
| - if (m_client)
|
| - m_client->didFailRedirectCheck();
|
| + if (m_client) {
|
| + ThreadableLoaderClient* client = m_client;
|
| + m_client = nullptr;
|
| + client->didFailRedirectCheck();
|
| + }
|
| }
|
|
|
| void didDownloadData(int dataLength)
|
|
|