Chromium Code Reviews| 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; |
|
hiroshige
2016/07/19 06:56:14
Lines 93--127: same as the comment for DocumentThr
yhirano
2016/07/19 08:05:04
Yes
|
| + 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) |