OLD | NEW |
1 // Copyright (c) 2010 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 #include "chrome/browser/extensions/extensions_ui.h" | 5 #include "chrome/browser/extensions/extensions_ui.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "app/l10n_util.h" | 9 #include "app/l10n_util.h" |
10 #include "app/resource_bundle.h" | 10 #include "app/resource_bundle.h" |
11 #include "base/base64.h" | 11 #include "base/base64.h" |
12 #include "base/callback.h" | 12 #include "base/callback.h" |
13 #include "base/file_util.h" | 13 #include "base/file_util.h" |
14 #include "base/singleton.h" | 14 #include "base/singleton.h" |
15 #include "base/string_number_conversions.h" | 15 #include "base/string_number_conversions.h" |
16 #include "base/string_util.h" | 16 #include "base/string_util.h" |
17 #include "base/utf_string_conversions.h" | 17 #include "base/utf_string_conversions.h" |
18 #include "base/thread.h" | 18 #include "base/thread.h" |
19 #include "base/version.h" | 19 #include "base/version.h" |
20 #include "chrome/browser/browser_list.h" | 20 #include "chrome/browser/browser_list.h" |
21 #include "chrome/browser/debugger/devtools_manager.h" | 21 #include "chrome/browser/debugger/devtools_manager.h" |
22 #include "chrome/browser/debugger/devtools_toggle_action.h" | 22 #include "chrome/browser/debugger/devtools_toggle_action.h" |
23 #include "chrome/browser/extensions/crx_installer.h" | 23 #include "chrome/browser/extensions/crx_installer.h" |
24 #include "chrome/browser/extensions/extension_disabled_infobar_delegate.h" | 24 #include "chrome/browser/extensions/extension_disabled_infobar_delegate.h" |
25 #include "chrome/browser/extensions/extension_error_reporter.h" | 25 #include "chrome/browser/extensions/extension_error_reporter.h" |
26 #include "chrome/browser/extensions/extension_function_dispatcher.h" | 26 #include "chrome/browser/extensions/extension_function_dispatcher.h" |
27 #include "chrome/browser/extensions/extension_host.h" | 27 #include "chrome/browser/extensions/extension_host.h" |
28 #include "chrome/browser/extensions/extension_message_service.h" | 28 #include "chrome/browser/extensions/extension_message_service.h" |
29 #include "chrome/browser/extensions/extensions_service.h" | 29 #include "chrome/browser/extensions/extension_service.h" |
30 #include "chrome/browser/extensions/extension_updater.h" | 30 #include "chrome/browser/extensions/extension_updater.h" |
31 #include "chrome/browser/google/google_util.h" | 31 #include "chrome/browser/google/google_util.h" |
32 #include "chrome/browser/prefs/pref_service.h" | 32 #include "chrome/browser/prefs/pref_service.h" |
33 #include "chrome/browser/profiles/profile.h" | 33 #include "chrome/browser/profiles/profile.h" |
34 #include "chrome/browser/renderer_host/render_process_host.h" | 34 #include "chrome/browser/renderer_host/render_process_host.h" |
35 #include "chrome/browser/renderer_host/render_widget_host.h" | 35 #include "chrome/browser/renderer_host/render_widget_host.h" |
36 #include "chrome/browser/renderer_host/render_view_host.h" | 36 #include "chrome/browser/renderer_host/render_view_host.h" |
37 #include "chrome/browser/tab_contents/background_contents.h" | 37 #include "chrome/browser/tab_contents/background_contents.h" |
38 #include "chrome/browser/tab_contents/tab_contents.h" | 38 #include "chrome/browser/tab_contents/tab_contents.h" |
39 #include "chrome/browser/tab_contents/tab_contents_view.h" | 39 #include "chrome/browser/tab_contents/tab_contents_view.h" |
(...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 handler_->OnIconsLoaded(json); | 286 handler_->OnIconsLoaded(json); |
287 } | 287 } |
288 | 288 |
289 | 289 |
290 /////////////////////////////////////////////////////////////////////////////// | 290 /////////////////////////////////////////////////////////////////////////////// |
291 // | 291 // |
292 // ExtensionsDOMHandler | 292 // ExtensionsDOMHandler |
293 // | 293 // |
294 /////////////////////////////////////////////////////////////////////////////// | 294 /////////////////////////////////////////////////////////////////////////////// |
295 | 295 |
296 ExtensionsDOMHandler::ExtensionsDOMHandler(ExtensionsService* extension_service) | 296 ExtensionsDOMHandler::ExtensionsDOMHandler(ExtensionService* extension_service) |
297 : extensions_service_(extension_service), | 297 : extensions_service_(extension_service), |
298 ignore_notifications_(false), | 298 ignore_notifications_(false), |
299 deleting_rvh_(NULL) { | 299 deleting_rvh_(NULL) { |
300 } | 300 } |
301 | 301 |
302 void ExtensionsDOMHandler::RegisterMessages() { | 302 void ExtensionsDOMHandler::RegisterMessages() { |
303 dom_ui_->RegisterMessageCallback("requestExtensionsData", | 303 dom_ui_->RegisterMessageCallback("requestExtensionsData", |
304 NewCallback(this, &ExtensionsDOMHandler::HandleRequestExtensionsData)); | 304 NewCallback(this, &ExtensionsDOMHandler::HandleRequestExtensionsData)); |
305 dom_ui_->RegisterMessageCallback("toggleDeveloperMode", | 305 dom_ui_->RegisterMessageCallback("toggleDeveloperMode", |
306 NewCallback(this, &ExtensionsDOMHandler::HandleToggleDeveloperMode)); | 306 NewCallback(this, &ExtensionsDOMHandler::HandleToggleDeveloperMode)); |
(...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
786 if (pattern->MatchesScheme(chrome::kFileScheme)) | 786 if (pattern->MatchesScheme(chrome::kFileScheme)) |
787 return true; | 787 return true; |
788 } | 788 } |
789 } | 789 } |
790 | 790 |
791 return false; | 791 return false; |
792 } | 792 } |
793 | 793 |
794 // Static | 794 // Static |
795 DictionaryValue* ExtensionsDOMHandler::CreateExtensionDetailValue( | 795 DictionaryValue* ExtensionsDOMHandler::CreateExtensionDetailValue( |
796 ExtensionsService* service, const Extension* extension, | 796 ExtensionService* service, const Extension* extension, |
797 const std::vector<ExtensionPage>& pages, bool enabled) { | 797 const std::vector<ExtensionPage>& pages, bool enabled) { |
798 DictionaryValue* extension_data = new DictionaryValue(); | 798 DictionaryValue* extension_data = new DictionaryValue(); |
799 | 799 |
800 extension_data->SetString("id", extension->id()); | 800 extension_data->SetString("id", extension->id()); |
801 extension_data->SetString("name", extension->name()); | 801 extension_data->SetString("name", extension->name()); |
802 extension_data->SetString("description", extension->description()); | 802 extension_data->SetString("description", extension->description()); |
803 extension_data->SetString("version", extension->version()->GetString()); | 803 extension_data->SetString("version", extension->version()->GetString()); |
804 extension_data->SetBoolean("enabled", enabled); | 804 extension_data->SetBoolean("enabled", enabled); |
805 extension_data->SetBoolean("enabledIncognito", | 805 extension_data->SetBoolean("enabledIncognito", |
806 service ? service->IsIncognitoEnabled(extension) : false); | 806 service ? service->IsIncognitoEnabled(extension) : false); |
(...skipping 124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
931 if (pack_job_.get()) | 931 if (pack_job_.get()) |
932 pack_job_->ClearClient(); | 932 pack_job_->ClearClient(); |
933 | 933 |
934 if (icon_loader_.get()) | 934 if (icon_loader_.get()) |
935 icon_loader_->Cancel(); | 935 icon_loader_->Cancel(); |
936 } | 936 } |
937 | 937 |
938 // ExtensionsDOMHandler, public: ----------------------------------------------- | 938 // ExtensionsDOMHandler, public: ----------------------------------------------- |
939 | 939 |
940 ExtensionsUI::ExtensionsUI(TabContents* contents) : DOMUI(contents) { | 940 ExtensionsUI::ExtensionsUI(TabContents* contents) : DOMUI(contents) { |
941 ExtensionsService *exstension_service = | 941 ExtensionService *exstension_service = |
942 GetProfile()->GetOriginalProfile()->GetExtensionsService(); | 942 GetProfile()->GetOriginalProfile()->GetExtensionService(); |
943 | 943 |
944 ExtensionsDOMHandler* handler = new ExtensionsDOMHandler(exstension_service); | 944 ExtensionsDOMHandler* handler = new ExtensionsDOMHandler(exstension_service); |
945 AddMessageHandler(handler); | 945 AddMessageHandler(handler); |
946 handler->Attach(this); | 946 handler->Attach(this); |
947 | 947 |
948 ExtensionsUIHTMLSource* html_source = new ExtensionsUIHTMLSource(); | 948 ExtensionsUIHTMLSource* html_source = new ExtensionsUIHTMLSource(); |
949 | 949 |
950 // Set up the chrome://extensions/ source. | 950 // Set up the chrome://extensions/ source. |
951 BrowserThread::PostTask( | 951 BrowserThread::PostTask( |
952 BrowserThread::IO, FROM_HERE, | 952 BrowserThread::IO, FROM_HERE, |
953 NewRunnableMethod( | 953 NewRunnableMethod( |
954 ChromeURLDataManager::GetInstance(), | 954 ChromeURLDataManager::GetInstance(), |
955 &ChromeURLDataManager::AddDataSource, | 955 &ChromeURLDataManager::AddDataSource, |
956 make_scoped_refptr(html_source))); | 956 make_scoped_refptr(html_source))); |
957 } | 957 } |
958 | 958 |
959 // static | 959 // static |
960 RefCountedMemory* ExtensionsUI::GetFaviconResourceBytes() { | 960 RefCountedMemory* ExtensionsUI::GetFaviconResourceBytes() { |
961 return ResourceBundle::GetSharedInstance(). | 961 return ResourceBundle::GetSharedInstance(). |
962 LoadDataResourceBytes(IDR_PLUGIN); | 962 LoadDataResourceBytes(IDR_PLUGIN); |
963 } | 963 } |
964 | 964 |
965 // static | 965 // static |
966 void ExtensionsUI::RegisterUserPrefs(PrefService* prefs) { | 966 void ExtensionsUI::RegisterUserPrefs(PrefService* prefs) { |
967 prefs->RegisterBooleanPref(prefs::kExtensionsUIDeveloperMode, false); | 967 prefs->RegisterBooleanPref(prefs::kExtensionsUIDeveloperMode, false); |
968 } | 968 } |
OLD | NEW |