diff options
author | dmichael <dmichael@chromium.org> | 2015-01-13 09:13:39 -0800 |
---|---|---|
committer | Commit bot <commit-bot@chromium.org> | 2015-01-13 17:14:32 +0000 |
commit | d8c8e56321d4c9135ad7d5015db99fbb0e2ec4c2 (patch) | |
tree | 2365f952fcf27fdcb504c94c827caa85c27f9f71 /ios | |
parent | 6b427814f9463b3f4bb8b2abd62a4f9bb51f7eb5 (diff) | |
download | chromium_src-d8c8e56321d4c9135ad7d5015db99fbb0e2ec4c2.zip chromium_src-d8c8e56321d4c9135ad7d5015db99fbb0e2ec4c2.tar.gz chromium_src-d8c8e56321d4c9135ad7d5015db99fbb0e2ec4c2.tar.bz2 |
Move WeakPtrFactory member to the end in ImageFetcher
This forces WeakPtrs to be invalidated before other members' destructors run.
See the bug or the documentation of WeakPtrFactory for more information. I'm
in the process of trying to turn on a clang check for this (see the bug).
BUG=303818
R=sdefresne@chromium.org
Review URL: https://codereview.chromium.org/808113005
Cr-Commit-Position: refs/heads/master@{#311280}
Diffstat (limited to 'ios')
-rw-r--r-- | ios/chrome/browser/net/image_fetcher.h | 6 | ||||
-rw-r--r-- | ios/chrome/browser/net/image_fetcher.mm | 4 |
2 files changed, 5 insertions, 5 deletions
diff --git a/ios/chrome/browser/net/image_fetcher.h b/ios/chrome/browser/net/image_fetcher.h index 1d7232a..e579a36 100644 --- a/ios/chrome/browser/net/image_fetcher.h +++ b/ios/chrome/browser/net/image_fetcher.h @@ -81,12 +81,12 @@ class ImageFetcher : public net::URLFetcherDelegate { std::map<const net::URLFetcher*, ImageFetchedCallback> downloads_in_progress_; scoped_refptr<net::URLRequestContextGetter> request_context_getter_; + // The task runner used to decode images if necessary. + const scoped_refptr<base::TaskRunner> task_runner_; + // The WeakPtrFactory is used to cancel callbacks if ImageFetcher is destroyed // during WebP decoding. base::WeakPtrFactory<ImageFetcher> weak_factory_; - - // The task runner used to decode images if necessary. - const scoped_refptr<base::TaskRunner> task_runner_; }; } // namespace image_fetcher diff --git a/ios/chrome/browser/net/image_fetcher.mm b/ios/chrome/browser/net/image_fetcher.mm index 2d45c01..1434f77 100644 --- a/ios/chrome/browser/net/image_fetcher.mm +++ b/ios/chrome/browser/net/image_fetcher.mm @@ -63,8 +63,8 @@ namespace image_fetcher { ImageFetcher::ImageFetcher(const scoped_refptr<base::TaskRunner>& task_runner) : request_context_getter_(nullptr), - weak_factory_(this), - task_runner_(task_runner) { + task_runner_(task_runner), + weak_factory_(this) { DCHECK(task_runner_.get()); } |