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

Unified Diff: chrome/browser/extensions/extensions_ui.cc

Issue 1075006: Eliminate all UI thread decoding of extension images.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/extensions_ui.cc
===================================================================
--- chrome/browser/extensions/extensions_ui.cc (revision 42362)
+++ chrome/browser/extensions/extensions_ui.cc (working copy)
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 The Chromium Authors. All rights reserved.
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -372,6 +372,12 @@
return ExtensionResource();
}
+ExtensionInstallUI* ExtensionsDOMHandler::GetExtensionInstallUI() {
+ if (!install_ui_.get())
+ install_ui_.reset(new ExtensionInstallUI(dom_ui_->GetProfile()));
+ return install_ui_.get();
+}
+
void ExtensionsDOMHandler::HandleToggleDeveloperMode(const Value* value) {
bool developer_mode = dom_ui_->GetProfile()->GetPrefs()
->GetBoolean(prefs::kExtensionsUIDeveloperMode);
@@ -448,13 +454,10 @@
return; // only one prompt at a time
// Prompt the user first.
- scoped_ptr<SkBitmap> icon;
- Extension::DecodeIcon(extension, Extension::EXTENSION_ICON_LARGE, &icon);
-
ui_prompt_type_ = ExtensionInstallUI::ENABLE_INCOGNITO_PROMPT;
extension_id_prompting_ = extension_id;
- ExtensionInstallUI client(dom_ui_->GetProfile());
- client.ConfirmEnableIncognito(this, extension, icon.get());
+
+ GetExtensionInstallUI()->ConfirmEnableIncognito(this, extension);
} else {
extensions_service_->SetIsIncognitoEnabled(extension, false);
}
@@ -475,14 +478,10 @@
if (!extension_id_prompting_.empty())
return; // only one prompt at a time
- scoped_ptr<SkBitmap> uninstall_icon;
- Extension::DecodeIcon(extension, Extension::EXTENSION_ICON_LARGE,
- &uninstall_icon);
-
ui_prompt_type_ = ExtensionInstallUI::UNINSTALL_PROMPT;
extension_id_prompting_ = extension_id;
- ExtensionInstallUI client(dom_ui_->GetProfile());
- client.ConfirmUninstall(this, extension, uninstall_icon.get());
+
+ GetExtensionInstallUI()->ConfirmUninstall(this, extension);
}
void ExtensionsDOMHandler::InstallUIProceed(bool create_app_shortcut) {

Powered by Google App Engine
This is Rietveld 408576698