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

Side by Side Diff: chrome/browser/extensions/extensions_ui.h

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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2006-2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSIONS_UI_H_ 5 #ifndef CHROME_BROWSER_EXTENSIONS_EXTENSIONS_UI_H_
6 #define CHROME_BROWSER_EXTENSIONS_EXTENSIONS_UI_H_ 6 #define CHROME_BROWSER_EXTENSIONS_EXTENSIONS_UI_H_
7 7
8 #include <string> 8 #include <string>
9 #include <vector> 9 #include <vector>
10 10
11 #include "chrome/browser/dom_ui/chrome_url_data_manager.h" 11 #include "chrome/browser/dom_ui/chrome_url_data_manager.h"
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 virtual std::string GetMimeType(const std::string&) const { 49 virtual std::string GetMimeType(const std::string&) const {
50 return "text/html"; 50 return "text/html";
51 } 51 }
52 52
53 private: 53 private:
54 ~ExtensionsUIHTMLSource() {} 54 ~ExtensionsUIHTMLSource() {}
55 55
56 DISALLOW_COPY_AND_ASSIGN(ExtensionsUIHTMLSource); 56 DISALLOW_COPY_AND_ASSIGN(ExtensionsUIHTMLSource);
57 }; 57 };
58 58
59 // The handler for Javascript messages related to the "extensions" view. 59 // The handler for JavaScript messages related to the "extensions" view.
60 class ExtensionsDOMHandler 60 class ExtensionsDOMHandler
61 : public DOMMessageHandler, 61 : public DOMMessageHandler,
62 public NotificationObserver, 62 public NotificationObserver,
63 public PackExtensionJob::Client, 63 public PackExtensionJob::Client,
64 public SelectFileDialog::Listener, 64 public SelectFileDialog::Listener,
65 public ExtensionInstallUI::Delegate { 65 public ExtensionInstallUI::Delegate {
66 public: 66 public:
67 67
68 // Helper class that loads the icons for the extensions in the management UI. 68 // Helper class that loads the icons for the extensions in the management UI.
69 // We do this with native code instead of just using chrome-extension:// URLs 69 // We do this with native code instead of just using chrome-extension:// URLs
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after
194 // Loads the extension resources into the json data, then calls OnIconsLoaded. 194 // Loads the extension resources into the json data, then calls OnIconsLoaded.
195 // Takes ownership of |icons|. 195 // Takes ownership of |icons|.
196 // Called on the file thread. 196 // Called on the file thread.
197 void LoadExtensionIcons(std::vector<ExtensionResource>* icons, 197 void LoadExtensionIcons(std::vector<ExtensionResource>* icons,
198 DictionaryValue* json_data); 198 DictionaryValue* json_data);
199 199
200 // Takes ownership of |json_data| and tells HTML about it. 200 // Takes ownership of |json_data| and tells HTML about it.
201 // Called on the UI thread. 201 // Called on the UI thread.
202 void OnIconsLoaded(DictionaryValue* json_data); 202 void OnIconsLoaded(DictionaryValue* json_data);
203 203
204 // Returns the ExtensionInstallUI object for this class, creating it if
205 // needed.
206 ExtensionInstallUI* GetExtensionInstallUI();
207
204 // Our model. 208 // Our model.
205 scoped_refptr<ExtensionsService> extensions_service_; 209 scoped_refptr<ExtensionsService> extensions_service_;
206 210
207 // Used to pick the directory when loading an extension. 211 // Used to pick the directory when loading an extension.
208 scoped_refptr<SelectFileDialog> load_extension_dialog_; 212 scoped_refptr<SelectFileDialog> load_extension_dialog_;
209 213
210 // Used to package the extension. 214 // Used to package the extension.
211 scoped_refptr<PackExtensionJob> pack_job_; 215 scoped_refptr<PackExtensionJob> pack_job_;
212 216
213 // Used to load icons asynchronously on the file thread. 217 // Used to load icons asynchronously on the file thread.
214 scoped_refptr<IconLoader> icon_loader_; 218 scoped_refptr<IconLoader> icon_loader_;
215 219
220 // Used to show confirmation UI for uninstalling/enabling extensions in
221 // incognito mode.
222 scoped_ptr<ExtensionInstallUI> install_ui_;
223
216 // We monitor changes to the extension system so that we can reload when 224 // We monitor changes to the extension system so that we can reload when
217 // necessary. 225 // necessary.
218 NotificationRegistrar registrar_; 226 NotificationRegistrar registrar_;
219 227
220 // The id of the extension we are prompting the user about. 228 // The id of the extension we are prompting the user about.
221 std::string extension_id_prompting_; 229 std::string extension_id_prompting_;
222 230
223 // The type of prompt that is open. Only ever uninstall or enable-incognito. 231 // The type of prompt that is open. Only ever uninstall or enable-incognito.
224 // Invalid if no prompt is open. 232 // Invalid if no prompt is open.
225 ExtensionInstallUI::PromptType ui_prompt_type_; 233 ExtensionInstallUI::PromptType ui_prompt_type_;
226 234
227 DISALLOW_COPY_AND_ASSIGN(ExtensionsDOMHandler); 235 DISALLOW_COPY_AND_ASSIGN(ExtensionsDOMHandler);
228 }; 236 };
229 237
230 class ExtensionsUI : public DOMUI { 238 class ExtensionsUI : public DOMUI {
231 public: 239 public:
232 explicit ExtensionsUI(TabContents* contents); 240 explicit ExtensionsUI(TabContents* contents);
233 241
234 static RefCountedMemory* GetFaviconResourceBytes(); 242 static RefCountedMemory* GetFaviconResourceBytes();
235 243
236 static void RegisterUserPrefs(PrefService* prefs); 244 static void RegisterUserPrefs(PrefService* prefs);
237 245
238 private: 246 private:
239 DISALLOW_COPY_AND_ASSIGN(ExtensionsUI); 247 DISALLOW_COPY_AND_ASSIGN(ExtensionsUI);
240 }; 248 };
241 249
242 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSIONS_UI_H_ 250 #endif // CHROME_BROWSER_EXTENSIONS_EXTENSIONS_UI_H_
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_install_ui.cc ('k') | chrome/browser/extensions/extensions_ui.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698