summaryrefslogtreecommitdiffstats
path: root/ios
diff options
context:
space:
mode:
authordmichael <dmichael@chromium.org>2015-01-13 09:13:39 -0800
committerCommit bot <commit-bot@chromium.org>2015-01-13 17:14:32 +0000
commitd8c8e56321d4c9135ad7d5015db99fbb0e2ec4c2 (patch)
tree2365f952fcf27fdcb504c94c827caa85c27f9f71 /ios
parent6b427814f9463b3f4bb8b2abd62a4f9bb51f7eb5 (diff)
downloadchromium_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.h6
-rw-r--r--ios/chrome/browser/net/image_fetcher.mm4
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());
}