OLD | NEW |
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/download/download_crx_util.h" | 5 #include "chrome/browser/download/download_crx_util.h" |
6 #include "chrome/browser/download/download_service.h" | 6 #include "chrome/browser/download/download_service.h" |
7 #include "chrome/browser/download/download_service_factory.h" | 7 #include "chrome/browser/download/download_service_factory.h" |
8 #include "chrome/browser/download/download_test_observer.h" | 8 #include "chrome/browser/download/download_test_observer.h" |
9 #include "chrome/browser/extensions/crx_installer.h" | 9 #include "chrome/browser/extensions/crx_installer.h" |
10 #include "chrome/browser/extensions/extension_browsertest.h" | 10 #include "chrome/browser/extensions/extension_browsertest.h" |
11 #include "chrome/browser/extensions/extension_install_prompt.h" | 11 #include "chrome/browser/extensions/extension_install_prompt.h" |
12 #include "chrome/browser/extensions/extension_service.h" | 12 #include "chrome/browser/extensions/extension_service.h" |
13 #include "chrome/browser/profiles/profile.h" | 13 #include "chrome/browser/profiles/profile.h" |
14 #include "chrome/browser/ui/browser.h" | 14 #include "chrome/browser/ui/browser.h" |
15 #include "chrome/common/chrome_switches.h" | 15 #include "chrome/common/chrome_switches.h" |
16 #include "chrome/common/extensions/extension.h" | 16 #include "chrome/common/extensions/extension.h" |
17 #include "chrome/common/extensions/extension_file_util.h" | 17 #include "chrome/common/extensions/extension_file_util.h" |
18 #include "chrome/common/extensions/extension_switch_utils.h" | 18 #include "chrome/common/extensions/extension_switch_utils.h" |
19 #include "chrome/common/extensions/permissions/permission_set.h" | 19 #include "chrome/common/extensions/permissions/permission_set.h" |
20 #include "chrome/test/base/ui_test_utils.h" | 20 #include "chrome/test/base/ui_test_utils.h" |
21 #include "grit/generated_resources.h" | 21 #include "grit/generated_resources.h" |
22 #include "ui/base/l10n/l10n_util.h" | 22 #include "ui/base/l10n/l10n_util.h" |
23 | 23 |
24 class SkBitmap; | 24 class SkBitmap; |
25 | 25 |
26 using extensions::Extension; | 26 namespace extensions { |
27 | 27 |
28 namespace { | 28 namespace { |
29 | 29 |
30 // Observer waits for exactly one download to finish. | 30 // Observer waits for exactly one download to finish. |
31 | 31 |
32 class MockInstallPrompt : public ExtensionInstallPrompt { | 32 class MockInstallPrompt : public ExtensionInstallPrompt { |
33 public: | 33 public: |
34 explicit MockInstallPrompt(Browser* browser) : | 34 explicit MockInstallPrompt(Browser* browser) : |
35 ExtensionInstallPrompt(browser), | 35 ExtensionInstallPrompt(browser), |
36 confirmation_requested_(false), | 36 confirmation_requested_(false), |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
111 CommandLine::ForCurrentProcess()->AppendSwitch( | 111 CommandLine::ForCurrentProcess()->AppendSwitch( |
112 switches::kEnableExperimentalExtensionApis); | 112 switches::kEnableExperimentalExtensionApis); |
113 | 113 |
114 ExtensionService* service = browser()->profile()->GetExtensionService(); | 114 ExtensionService* service = browser()->profile()->GetExtensionService(); |
115 | 115 |
116 MockInstallPrompt* mock_prompt = new MockInstallPrompt(browser()); | 116 MockInstallPrompt* mock_prompt = new MockInstallPrompt(browser()); |
117 mock_prompt->set_record_oauth2_grant(record_oauth2_grant); | 117 mock_prompt->set_record_oauth2_grant(record_oauth2_grant); |
118 scoped_refptr<CrxInstaller> installer = | 118 scoped_refptr<CrxInstaller> installer = |
119 InstallWithPrompt("browsertest/scopes", std::string(), mock_prompt); | 119 InstallWithPrompt("browsertest/scopes", std::string(), mock_prompt); |
120 | 120 |
121 scoped_refptr<extensions::PermissionSet> permissions = | 121 scoped_refptr<PermissionSet> permissions = |
122 service->extension_prefs()->GetGrantedPermissions( | 122 service->extension_prefs()->GetGrantedPermissions( |
123 mock_prompt->extension()->id()); | 123 mock_prompt->extension()->id()); |
124 ASSERT_TRUE(permissions.get()); | 124 ASSERT_TRUE(permissions.get()); |
125 EXPECT_NE(record_oauth2_grant, permissions->scopes().empty()); | 125 EXPECT_NE(record_oauth2_grant, permissions->scopes().empty()); |
126 } | 126 } |
127 }; | 127 }; |
128 | 128 |
129 #if defined(OS_CHROMEOS) | 129 #if defined(OS_CHROMEOS) |
130 #define MAYBE_Whitelisting DISABLED_Whitelisting | 130 #define MAYBE_Whitelisting DISABLED_Whitelisting |
131 #else | 131 #else |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
163 } | 163 } |
164 | 164 |
165 IN_PROC_BROWSER_TEST_F(ExtensionCrxInstallerTest, PlatformAppCrx) { | 165 IN_PROC_BROWSER_TEST_F(ExtensionCrxInstallerTest, PlatformAppCrx) { |
166 CommandLine::ForCurrentProcess()->AppendSwitch( | 166 CommandLine::ForCurrentProcess()->AppendSwitch( |
167 switches::kEnableExperimentalExtensionApis); | 167 switches::kEnableExperimentalExtensionApis); |
168 EXPECT_TRUE(InstallExtension( | 168 EXPECT_TRUE(InstallExtension( |
169 test_data_dir_.AppendASCII("minimal_platform_app.crx"), 1)); | 169 test_data_dir_.AppendASCII("minimal_platform_app.crx"), 1)); |
170 } | 170 } |
171 | 171 |
172 IN_PROC_BROWSER_TEST_F(ExtensionCrxInstallerTest, PackAndInstallExtension) { | 172 IN_PROC_BROWSER_TEST_F(ExtensionCrxInstallerTest, PackAndInstallExtension) { |
173 if (!extensions::switch_utils::IsEasyOffStoreInstallEnabled()) | 173 if (!switch_utils::IsEasyOffStoreInstallEnabled()) |
174 return; | 174 return; |
175 | 175 |
176 const int kNumDownloadsExpected = 1; | 176 const int kNumDownloadsExpected = 1; |
177 const bool kExpectFileSelectDialog = false; | 177 const bool kExpectFileSelectDialog = false; |
178 | 178 |
179 LOG(ERROR) << "PackAndInstallExtension: Packing extension"; | 179 LOG(ERROR) << "PackAndInstallExtension: Packing extension"; |
180 FilePath crx_path = PackExtension( | 180 FilePath crx_path = PackExtension( |
181 test_data_dir_.AppendASCII("common/background_page")); | 181 test_data_dir_.AppendASCII("common/background_page")); |
182 ASSERT_FALSE(crx_path.empty()); | 182 ASSERT_FALSE(crx_path.empty()); |
183 std::string crx_path_string(crx_path.value().begin(), crx_path.value().end()); | 183 std::string crx_path_string(crx_path.value().begin(), crx_path.value().end()); |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
246 kTestData[i]; | 246 kTestData[i]; |
247 if (kTestData[i]) { | 247 if (kTestData[i]) { |
248 EXPECT_EQ(string16(), mock_prompt->error()) << kTestData[i]; | 248 EXPECT_EQ(string16(), mock_prompt->error()) << kTestData[i]; |
249 } else { | 249 } else { |
250 EXPECT_EQ(l10n_util::GetStringUTF16( | 250 EXPECT_EQ(l10n_util::GetStringUTF16( |
251 IDS_EXTENSION_INSTALL_DISALLOWED_ON_SITE), | 251 IDS_EXTENSION_INSTALL_DISALLOWED_ON_SITE), |
252 mock_prompt->error()) << kTestData[i]; | 252 mock_prompt->error()) << kTestData[i]; |
253 } | 253 } |
254 } | 254 } |
255 } | 255 } |
| 256 |
| 257 } // namespace extensions |
OLD | NEW |