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

Side by Side Diff: chrome/browser/android/logo_service.cc

Issue 884213005: Update {virtual,override,final} to follow C++11 style. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 years, 10 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 unified diff | Download patch
« no previous file with comments | « chrome/browser/android/logo_service.h ('k') | chrome/browser/android/most_visited_sites.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/android/logo_service.h" 5 #include "chrome/browser/android/logo_service.h"
6 6
7 #include "base/memory/weak_ptr.h" 7 #include "base/memory/weak_ptr.h"
8 #include "chrome/browser/image_decoder.h" 8 #include "chrome/browser/image_decoder.h"
9 #include "chrome/browser/profiles/profile.h" 9 #include "chrome/browser/profiles/profile.h"
10 #include "chrome/browser/search_engines/template_url_service_factory.h" 10 #include "chrome/browser/search_engines/template_url_service_factory.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 // OnImageDecodeTimedOut() eventually to ensure that image_decoded_callback_ 51 // OnImageDecodeTimedOut() eventually to ensure that image_decoded_callback_
52 // is run. 52 // is run.
53 base::MessageLoopProxy::current()->PostDelayedTask( 53 base::MessageLoopProxy::current()->PostDelayedTask(
54 FROM_HERE, 54 FROM_HERE,
55 base::Bind(&LogoDecoderDelegate::OnDecodeImageFailed, 55 base::Bind(&LogoDecoderDelegate::OnDecodeImageFailed,
56 weak_ptr_factory_.GetWeakPtr(), 56 weak_ptr_factory_.GetWeakPtr(),
57 (const ImageDecoder*) NULL), 57 (const ImageDecoder*) NULL),
58 base::TimeDelta::FromSeconds(kDecodeLogoTimeoutSeconds)); 58 base::TimeDelta::FromSeconds(kDecodeLogoTimeoutSeconds));
59 } 59 }
60 60
61 virtual ~LogoDecoderDelegate() { 61 ~LogoDecoderDelegate() override { image_decoder_->set_delegate(NULL); }
62 image_decoder_->set_delegate(NULL);
63 }
64 62
65 // ImageDecoder::Delegate: 63 // ImageDecoder::Delegate:
66 virtual void OnImageDecoded(const ImageDecoder* decoder, 64 void OnImageDecoded(const ImageDecoder* decoder,
67 const SkBitmap& decoded_image) override { 65 const SkBitmap& decoded_image) override {
68 image_decoded_callback_.Run(decoded_image); 66 image_decoded_callback_.Run(decoded_image);
69 delete this; 67 delete this;
70 } 68 }
71 69
72 virtual void OnDecodeImageFailed(const ImageDecoder* decoder) override { 70 void OnDecodeImageFailed(const ImageDecoder* decoder) override {
73 image_decoded_callback_.Run(SkBitmap()); 71 image_decoded_callback_.Run(SkBitmap());
74 delete this; 72 delete this;
75 } 73 }
76 74
77 private: 75 private:
78 scoped_refptr<ImageDecoder> image_decoder_; 76 scoped_refptr<ImageDecoder> image_decoder_;
79 base::Callback<void(const SkBitmap&)> image_decoded_callback_; 77 base::Callback<void(const SkBitmap&)> image_decoded_callback_;
80 base::WeakPtrFactory<LogoDecoderDelegate> weak_ptr_factory_; 78 base::WeakPtrFactory<LogoDecoderDelegate> weak_ptr_factory_;
81 79
82 DISALLOW_COPY_AND_ASSIGN(LogoDecoderDelegate); 80 DISALLOW_COPY_AND_ASSIGN(LogoDecoderDelegate);
83 }; 81 };
84 82
85 class ChromeLogoDelegate : public search_provider_logos::LogoDelegate { 83 class ChromeLogoDelegate : public search_provider_logos::LogoDelegate {
86 public: 84 public:
87 ChromeLogoDelegate() {} 85 ChromeLogoDelegate() {}
88 virtual ~ChromeLogoDelegate() {} 86 ~ChromeLogoDelegate() override {}
89 87
90 // search_provider_logos::LogoDelegate: 88 // search_provider_logos::LogoDelegate:
91 virtual void DecodeUntrustedImage( 89 void DecodeUntrustedImage(
92 const scoped_refptr<base::RefCountedString>& encoded_image, 90 const scoped_refptr<base::RefCountedString>& encoded_image,
93 base::Callback<void(const SkBitmap&)> image_decoded_callback) override { 91 base::Callback<void(const SkBitmap&)> image_decoded_callback) override {
94 scoped_refptr<ImageDecoder> image_decoder = new ImageDecoder( 92 scoped_refptr<ImageDecoder> image_decoder = new ImageDecoder(
95 NULL, 93 NULL,
96 encoded_image->data(), 94 encoded_image->data(),
97 ImageDecoder::DEFAULT_CODEC); 95 ImageDecoder::DEFAULT_CODEC);
98 LogoDecoderDelegate* delegate = 96 LogoDecoderDelegate* delegate =
99 new LogoDecoderDelegate(image_decoder, image_decoded_callback); 97 new LogoDecoderDelegate(image_decoder, image_decoded_callback);
100 image_decoder->set_delegate(delegate); 98 image_decoder->set_delegate(delegate);
101 image_decoder->Start(base::MessageLoopProxy::current()); 99 image_decoder->Start(base::MessageLoopProxy::current());
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 } 161 }
164 162
165 LogoServiceFactory::~LogoServiceFactory() {} 163 LogoServiceFactory::~LogoServiceFactory() {}
166 164
167 KeyedService* LogoServiceFactory::BuildServiceInstanceFor( 165 KeyedService* LogoServiceFactory::BuildServiceInstanceFor(
168 content::BrowserContext* context) const { 166 content::BrowserContext* context) const {
169 Profile* profile = static_cast<Profile*>(context); 167 Profile* profile = static_cast<Profile*>(context);
170 DCHECK(!profile->IsOffTheRecord()); 168 DCHECK(!profile->IsOffTheRecord());
171 return new LogoService(profile); 169 return new LogoService(profile);
172 } 170 }
OLDNEW
« no previous file with comments | « chrome/browser/android/logo_service.h ('k') | chrome/browser/android/most_visited_sites.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698