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

Side by Side Diff: chrome/browser/ui/webui/extensions/extension_icon_source.cc

Issue 2442953002: Remove stl_util's deletion function use from chrome/. (Closed)
Patch Set: fix Created 4 years, 1 month 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
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ui/webui/extensions/extension_icon_source.h" 5 #include "chrome/browser/ui/webui/extensions/extension_icon_source.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
11 #include "base/memory/ptr_util.h"
11 #include "base/memory/ref_counted_memory.h" 12 #include "base/memory/ref_counted_memory.h"
12 #include "base/stl_util.h"
13 #include "base/strings/string_number_conversions.h" 13 #include "base/strings/string_number_conversions.h"
14 #include "base/strings/string_split.h" 14 #include "base/strings/string_split.h"
15 #include "base/strings/string_util.h" 15 #include "base/strings/string_util.h"
16 #include "base/strings/stringprintf.h" 16 #include "base/strings/stringprintf.h"
17 #include "base/threading/thread.h" 17 #include "base/threading/thread.h"
18 #include "chrome/browser/extensions/extension_service.h" 18 #include "chrome/browser/extensions/extension_service.h"
19 #include "chrome/browser/favicon/favicon_service_factory.h" 19 #include "chrome/browser/favicon/favicon_service_factory.h"
20 #include "chrome/browser/profiles/profile.h" 20 #include "chrome/browser/profiles/profile.h"
21 #include "chrome/common/extensions/extension_constants.h" 21 #include "chrome/common/extensions/extension_constants.h"
22 #include "chrome/common/extensions/manifest_handlers/app_launch_info.h" 22 #include "chrome/common/extensions/manifest_handlers/app_launch_info.h"
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 request->extension.get(), request->size, request->match); 138 request->extension.get(), request->size, request->match);
139 139
140 if (icon.relative_path().empty()) { 140 if (icon.relative_path().empty()) {
141 LoadIconFailed(next_id); 141 LoadIconFailed(next_id);
142 } else { 142 } else {
143 LoadExtensionImage(icon, next_id); 143 LoadExtensionImage(icon, next_id);
144 } 144 }
145 } 145 }
146 146
147 ExtensionIconSource::~ExtensionIconSource() { 147 ExtensionIconSource::~ExtensionIconSource() {
148 // Clean up all the temporary data we're holding for requests.
149 base::STLDeleteValues(&request_map_);
150 } 148 }
151 149
152 const SkBitmap* ExtensionIconSource::GetDefaultAppImage() { 150 const SkBitmap* ExtensionIconSource::GetDefaultAppImage() {
153 if (!default_app_data_.get()) 151 if (!default_app_data_.get())
154 default_app_data_.reset(LoadImageByResourceId(IDR_APP_DEFAULT_ICON)); 152 default_app_data_.reset(LoadImageByResourceId(IDR_APP_DEFAULT_ICON));
155 153
156 return default_app_data_.get(); 154 return default_app_data_.get();
157 } 155 }
158 156
159 const SkBitmap* ExtensionIconSource::GetDefaultExtensionImage() { 157 const SkBitmap* ExtensionIconSource::GetDefaultExtensionImage() {
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
317 return true; 315 return true;
318 } 316 }
319 317
320 void ExtensionIconSource::SetData( 318 void ExtensionIconSource::SetData(
321 int request_id, 319 int request_id,
322 const content::URLDataSource::GotDataCallback& callback, 320 const content::URLDataSource::GotDataCallback& callback,
323 const Extension* extension, 321 const Extension* extension,
324 bool grayscale, 322 bool grayscale,
325 int size, 323 int size,
326 ExtensionIconSet::MatchType match) { 324 ExtensionIconSet::MatchType match) {
327 ExtensionIconRequest* request = new ExtensionIconRequest(); 325 std::unique_ptr<ExtensionIconRequest> request =
326 base::MakeUnique<ExtensionIconRequest>();
328 request->callback = callback; 327 request->callback = callback;
329 request->extension = extension; 328 request->extension = extension;
330 request->grayscale = grayscale; 329 request->grayscale = grayscale;
331 request->size = size; 330 request->size = size;
332 request->match = match; 331 request->match = match;
333 request_map_[request_id] = request; 332 request_map_[request_id] = std::move(request);
334 } 333 }
335 334
336 ExtensionIconSource::ExtensionIconRequest* ExtensionIconSource::GetData( 335 ExtensionIconSource::ExtensionIconRequest* ExtensionIconSource::GetData(
337 int request_id) { 336 int request_id) {
338 return request_map_[request_id]; 337 return request_map_[request_id].get();
339 } 338 }
340 339
341 void ExtensionIconSource::ClearData(int request_id) { 340 void ExtensionIconSource::ClearData(int request_id) {
342 std::map<int, ExtensionIconRequest*>::iterator i = 341 request_map_.erase(request_id);
343 request_map_.find(request_id);
344 if (i == request_map_.end())
345 return;
346
347 delete i->second;
348 request_map_.erase(i);
349 } 342 }
350 343
351 } // namespace extensions 344 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/extensions/extension_icon_source.h ('k') | chrome/browser/ui/webui/inspect_ui.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698