OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 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/automation/testing_automation_provider.h" | 5 #include "chrome/browser/automation/testing_automation_provider.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <set> | 8 #include <set> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 3675 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3686 "Missing or invalid 'path'"); | 3686 "Missing or invalid 'path'"); |
3687 return; | 3687 return; |
3688 } | 3688 } |
3689 if (!args->GetBoolean("with_ui", &with_ui)) { | 3689 if (!args->GetBoolean("with_ui", &with_ui)) { |
3690 AutomationJSONReply(this, reply_message).SendError( | 3690 AutomationJSONReply(this, reply_message).SendError( |
3691 "Missing or invalid 'with_ui'"); | 3691 "Missing or invalid 'with_ui'"); |
3692 return; | 3692 return; |
3693 } | 3693 } |
3694 args->GetBoolean("from_webstore", &from_webstore); | 3694 args->GetBoolean("from_webstore", &from_webstore); |
3695 | 3695 |
3696 ExtensionService* service = browser->profile()->GetExtensionService(); | 3696 ExtensionService* service = extensions::ExtensionSystem::Get( |
| 3697 browser->profile())->extension_service(); |
3697 ExtensionProcessManager* manager = | 3698 ExtensionProcessManager* manager = |
3698 extensions::ExtensionSystem::Get(browser->profile())->process_manager(); | 3699 extensions::ExtensionSystem::Get(browser->profile())->process_manager(); |
3699 if (service && manager) { | 3700 if (service && manager) { |
3700 // The observer will delete itself when done. | 3701 // The observer will delete itself when done. |
3701 new ExtensionReadyNotificationObserver( | 3702 new ExtensionReadyNotificationObserver( |
3702 manager, | 3703 manager, |
3703 service, | 3704 service, |
3704 this, | 3705 this, |
3705 reply_message); | 3706 reply_message); |
3706 | 3707 |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3767 // output. | 3768 // output. |
3768 void TestingAutomationProvider::GetExtensionsInfo(DictionaryValue* args, | 3769 void TestingAutomationProvider::GetExtensionsInfo(DictionaryValue* args, |
3769 IPC::Message* reply_message) { | 3770 IPC::Message* reply_message) { |
3770 AutomationJSONReply reply(this, reply_message); | 3771 AutomationJSONReply reply(this, reply_message); |
3771 Browser* browser; | 3772 Browser* browser; |
3772 std::string error_msg; | 3773 std::string error_msg; |
3773 if (!GetBrowserFromJSONArgs(args, &browser, &error_msg)) { | 3774 if (!GetBrowserFromJSONArgs(args, &browser, &error_msg)) { |
3774 reply.SendError(error_msg); | 3775 reply.SendError(error_msg); |
3775 return; | 3776 return; |
3776 } | 3777 } |
3777 ExtensionService* service = browser->profile()->GetExtensionService(); | 3778 ExtensionService* service = extensions::ExtensionSystem::Get( |
| 3779 browser->profile())->extension_service(); |
3778 if (!service) { | 3780 if (!service) { |
3779 reply.SendError("No extensions service."); | 3781 reply.SendError("No extensions service."); |
3780 return; | 3782 return; |
3781 } | 3783 } |
3782 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); | 3784 scoped_ptr<DictionaryValue> return_value(new DictionaryValue); |
3783 ListValue* extensions_values = new ListValue; | 3785 ListValue* extensions_values = new ListValue; |
3784 const ExtensionSet* extensions = service->extensions(); | 3786 const ExtensionSet* extensions = service->extensions(); |
3785 const ExtensionSet* disabled_extensions = service->disabled_extensions(); | 3787 const ExtensionSet* disabled_extensions = service->disabled_extensions(); |
3786 ExtensionList all; | 3788 ExtensionList all; |
3787 all.insert(all.end(), | 3789 all.insert(all.end(), |
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3842 Browser* browser; | 3844 Browser* browser; |
3843 if (!GetBrowserFromJSONArgs(args, &browser, &error)) { | 3845 if (!GetBrowserFromJSONArgs(args, &browser, &error)) { |
3844 AutomationJSONReply(this, reply_message).SendError(error); | 3846 AutomationJSONReply(this, reply_message).SendError(error); |
3845 return; | 3847 return; |
3846 } | 3848 } |
3847 if (!GetExtensionFromJSONArgs( | 3849 if (!GetExtensionFromJSONArgs( |
3848 args, "id", browser->profile(), &extension, &error)) { | 3850 args, "id", browser->profile(), &extension, &error)) { |
3849 AutomationJSONReply(this, reply_message).SendError(error); | 3851 AutomationJSONReply(this, reply_message).SendError(error); |
3850 return; | 3852 return; |
3851 } | 3853 } |
3852 ExtensionService* service = browser->profile()->GetExtensionService(); | 3854 ExtensionService* service = extensions::ExtensionSystem::Get( |
| 3855 browser->profile())->extension_service(); |
3853 if (!service) { | 3856 if (!service) { |
3854 AutomationJSONReply(this, reply_message).SendError( | 3857 AutomationJSONReply(this, reply_message).SendError( |
3855 "No extensions service."); | 3858 "No extensions service."); |
3856 return; | 3859 return; |
3857 } | 3860 } |
3858 | 3861 |
3859 // Wait for a notification indicating that the extension with the given ID | 3862 // Wait for a notification indicating that the extension with the given ID |
3860 // has been uninstalled. This observer will delete itself. | 3863 // has been uninstalled. This observer will delete itself. |
3861 new ExtensionUninstallObserver(this, reply_message, extension->id()); | 3864 new ExtensionUninstallObserver(this, reply_message, extension->id()); |
3862 service->UninstallExtension(extension->id(), false, NULL); | 3865 service->UninstallExtension(extension->id(), false, NULL); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3894 return; | 3897 return; |
3895 } | 3898 } |
3896 | 3899 |
3897 if (allow_in_incognito && !enable) { | 3900 if (allow_in_incognito && !enable) { |
3898 AutomationJSONReply(this, reply_message) | 3901 AutomationJSONReply(this, reply_message) |
3899 .SendError("Invalid state: Disabled extension " | 3902 .SendError("Invalid state: Disabled extension " |
3900 "cannot be allowed in incognito mode."); | 3903 "cannot be allowed in incognito mode."); |
3901 return; | 3904 return; |
3902 } | 3905 } |
3903 | 3906 |
3904 ExtensionService* service = browser->profile()->GetExtensionService(); | 3907 ExtensionService* service = extensions::ExtensionSystem::Get( |
| 3908 browser->profile())->extension_service(); |
3905 ExtensionProcessManager* manager = | 3909 ExtensionProcessManager* manager = |
3906 extensions::ExtensionSystem::Get(browser->profile())->process_manager(); | 3910 extensions::ExtensionSystem::Get(browser->profile())->process_manager(); |
3907 if (!service) { | 3911 if (!service) { |
3908 AutomationJSONReply(this, reply_message) | 3912 AutomationJSONReply(this, reply_message) |
3909 .SendError("No extensions service or process manager."); | 3913 .SendError("No extensions service or process manager."); |
3910 return; | 3914 return; |
3911 } | 3915 } |
3912 | 3916 |
3913 if (enable) { | 3917 if (enable) { |
3914 if (!service->IsExtensionEnabled(extension->id())) { | 3918 if (!service->IsExtensionEnabled(extension->id())) { |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4110 // Sample json output: {} | 4114 // Sample json output: {} |
4111 void TestingAutomationProvider::UpdateExtensionsNow( | 4115 void TestingAutomationProvider::UpdateExtensionsNow( |
4112 DictionaryValue* args, | 4116 DictionaryValue* args, |
4113 IPC::Message* reply_message) { | 4117 IPC::Message* reply_message) { |
4114 std::string error; | 4118 std::string error; |
4115 Browser* browser; | 4119 Browser* browser; |
4116 if (!GetBrowserFromJSONArgs(args, &browser, &error)) { | 4120 if (!GetBrowserFromJSONArgs(args, &browser, &error)) { |
4117 AutomationJSONReply(this, reply_message).SendError(error); | 4121 AutomationJSONReply(this, reply_message).SendError(error); |
4118 return; | 4122 return; |
4119 } | 4123 } |
4120 ExtensionService* service = browser->profile()->GetExtensionService(); | 4124 ExtensionService* service = extensions::ExtensionSystem::Get( |
| 4125 browser->profile())->extension_service(); |
4121 if (!service) { | 4126 if (!service) { |
4122 AutomationJSONReply(this, reply_message).SendError( | 4127 AutomationJSONReply(this, reply_message).SendError( |
4123 "No extensions service."); | 4128 "No extensions service."); |
4124 return; | 4129 return; |
4125 } | 4130 } |
4126 | 4131 |
4127 extensions::ExtensionUpdater* updater = service->updater(); | 4132 extensions::ExtensionUpdater* updater = service->updater(); |
4128 if (!updater) { | 4133 if (!updater) { |
4129 AutomationJSONReply(this, reply_message).SendError( | 4134 AutomationJSONReply(this, reply_message).SendError( |
4130 "No updater for extensions service."); | 4135 "No updater for extensions service."); |
(...skipping 876 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5007 Browser* browser, | 5012 Browser* browser, |
5008 DictionaryValue* args, | 5013 DictionaryValue* args, |
5009 IPC::Message* reply_message) { | 5014 IPC::Message* reply_message) { |
5010 std::string id; | 5015 std::string id; |
5011 if (!args->GetString("id", &id)) { | 5016 if (!args->GetString("id", &id)) { |
5012 AutomationJSONReply(this, reply_message).SendError( | 5017 AutomationJSONReply(this, reply_message).SendError( |
5013 "Must include string id."); | 5018 "Must include string id."); |
5014 return; | 5019 return; |
5015 } | 5020 } |
5016 | 5021 |
5017 ExtensionService* service = browser->profile()->GetExtensionService(); | 5022 ExtensionService* service = extensions::ExtensionSystem::Get( |
| 5023 browser->profile())->extension_service(); |
5018 if (!service) { | 5024 if (!service) { |
5019 AutomationJSONReply(this, reply_message).SendError( | 5025 AutomationJSONReply(this, reply_message).SendError( |
5020 "No extensions service."); | 5026 "No extensions service."); |
5021 return; | 5027 return; |
5022 } | 5028 } |
5023 | 5029 |
5024 const Extension* extension = service->GetExtensionById( | 5030 const Extension* extension = service->GetExtensionById( |
5025 id, false /* do not include disabled extensions */); | 5031 id, false /* do not include disabled extensions */); |
5026 if (!extension) { | 5032 if (!extension) { |
5027 AutomationJSONReply(this, reply_message).SendError( | 5033 AutomationJSONReply(this, reply_message).SendError( |
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5065 reply.SendError("Must include string id."); | 5071 reply.SendError("Must include string id."); |
5066 return; | 5072 return; |
5067 } | 5073 } |
5068 | 5074 |
5069 std::string launch_type_str; | 5075 std::string launch_type_str; |
5070 if (!args->GetString("launch_type", &launch_type_str)) { | 5076 if (!args->GetString("launch_type", &launch_type_str)) { |
5071 reply.SendError("Must specify app launch type."); | 5077 reply.SendError("Must specify app launch type."); |
5072 return; | 5078 return; |
5073 } | 5079 } |
5074 | 5080 |
5075 ExtensionService* service = browser->profile()->GetExtensionService(); | 5081 ExtensionService* service = extensions::ExtensionSystem::Get( |
| 5082 browser->profile())->extension_service(); |
5076 if (!service) { | 5083 if (!service) { |
5077 reply.SendError("No extensions service."); | 5084 reply.SendError("No extensions service."); |
5078 return; | 5085 return; |
5079 } | 5086 } |
5080 | 5087 |
5081 const Extension* extension = service->GetExtensionById( | 5088 const Extension* extension = service->GetExtensionById( |
5082 id, true /* include disabled extensions */); | 5089 id, true /* include disabled extensions */); |
5083 if (!extension) { | 5090 if (!extension) { |
5084 reply.SendError( | 5091 reply.SendError( |
5085 StringPrintf("Extension with ID '%s' doesn't exist.", id.c_str())); | 5092 StringPrintf("Extension with ID '%s' doesn't exist.", id.c_str())); |
(...skipping 1264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6350 if (g_browser_process) | 6357 if (g_browser_process) |
6351 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); | 6358 g_browser_process->GetAutomationProviderList()->RemoveProvider(this); |
6352 } | 6359 } |
6353 | 6360 |
6354 void TestingAutomationProvider::EnsureTabSelected(Browser* browser, | 6361 void TestingAutomationProvider::EnsureTabSelected(Browser* browser, |
6355 WebContents* tab) { | 6362 WebContents* tab) { |
6356 TabStripModel* tab_strip = browser->tab_strip_model(); | 6363 TabStripModel* tab_strip = browser->tab_strip_model(); |
6357 if (tab_strip->GetActiveWebContents() != tab) | 6364 if (tab_strip->GetActiveWebContents() != tab) |
6358 tab_strip->ActivateTabAt(tab_strip->GetIndexOfWebContents(tab), true); | 6365 tab_strip->ActivateTabAt(tab_strip->GetIndexOfWebContents(tab), true); |
6359 } | 6366 } |
OLD | NEW |