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

Side by Side Diff: chrome/browser/extensions/extension_browsertest.cc

Issue 10750010: Add an installType property to the management API (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Forgot to remove param from LoadExtensionWithOptions (sorry) Created 8 years, 4 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
OLDNEW
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/extensions/extension_browsertest.h" 5 #include "chrome/browser/extensions/extension_browsertest.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/file_path.h" 10 #include "base/file_path.h"
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
127 extension = service->GetExtensionById(extension_id, false); 127 extension = service->GetExtensionById(extension_id, false);
128 CHECK(extension) << extension_id << " not found after reloading."; 128 CHECK(extension) << extension_id << " not found after reloading.";
129 } 129 }
130 } 130 }
131 131
132 { 132 {
133 content::WindowedNotificationObserver load_signal( 133 content::WindowedNotificationObserver load_signal(
134 chrome::NOTIFICATION_EXTENSION_LOADED, 134 chrome::NOTIFICATION_EXTENSION_LOADED,
135 content::Source<Profile>(browser()->profile())); 135 content::Source<Profile>(browser()->profile()));
136 CHECK(service->AllowFileAccess(extension)); 136 CHECK(service->AllowFileAccess(extension));
137
138 if (!fileaccess_enabled) { 137 if (!fileaccess_enabled) {
139 service->SetAllowFileAccess(extension, fileaccess_enabled); 138 service->SetAllowFileAccess(extension, fileaccess_enabled);
140 load_signal.Wait(); 139 load_signal.Wait();
141 extension = service->GetExtensionById(extension_id, false); 140 extension = service->GetExtensionById(extension_id, false);
142 CHECK(extension) << extension_id << " not found after reloading."; 141 CHECK(extension) << extension_id << " not found after reloading.";
143 } 142 }
144 } 143 }
145 144
146 if (!WaitForExtensionViewsToLoad()) 145 if (!WaitForExtensionViewsToLoad())
147 return NULL; 146 return NULL;
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 // Proceed without confirmation prompt. 257 // Proceed without confirmation prompt.
259 virtual void ConfirmInstall(Delegate* delegate, const Extension* extension) { 258 virtual void ConfirmInstall(Delegate* delegate, const Extension* extension) {
260 delegate->InstallUIProceed(); 259 delegate->InstallUIProceed();
261 } 260 }
262 }; 261 };
263 262
264 const Extension* ExtensionBrowserTest::InstallExtensionFromWebstore( 263 const Extension* ExtensionBrowserTest::InstallExtensionFromWebstore(
265 const FilePath& path, 264 const FilePath& path,
266 int expected_change) { 265 int expected_change) {
267 return InstallOrUpdateExtension("", path, INSTALL_UI_TYPE_NONE, 266 return InstallOrUpdateExtension("", path, INSTALL_UI_TYPE_NONE,
268 expected_change, browser(), true); 267 expected_change, Extension::INTERNAL,
268 browser(), true);
269 } 269 }
270 270
271 const Extension* ExtensionBrowserTest::InstallOrUpdateExtension( 271 const Extension* ExtensionBrowserTest::InstallOrUpdateExtension(
272 const std::string& id, 272 const std::string& id,
273 const FilePath& path, 273 const FilePath& path,
274 InstallUIType ui_type, 274 InstallUIType ui_type,
275 int expected_change) { 275 int expected_change) {
276 return InstallOrUpdateExtension(id, path, ui_type, expected_change, 276 return InstallOrUpdateExtension(id, path, ui_type, expected_change,
277 browser(), false); 277 Extension::INTERNAL, browser(), false);
278 } 278 }
279 279
280 const Extension* ExtensionBrowserTest::InstallOrUpdateExtension( 280 const Extension* ExtensionBrowserTest::InstallOrUpdateExtension(
281 const std::string& id,
282 const FilePath& path,
283 InstallUIType ui_type,
284 int expected_change,
285 Browser* browser,
286 bool from_webstore) {
287 return InstallOrUpdateExtension(id, path, ui_type, expected_change,
288 Extension::INTERNAL, browser, from_webstore);
289 }
290
291 const Extension* ExtensionBrowserTest::InstallOrUpdateExtension(
292 const std::string& id,
293 const FilePath& path,
294 InstallUIType ui_type,
295 int expected_change,
296 Extension::Location install_source) {
297 return InstallOrUpdateExtension(id, path, ui_type, expected_change,
298 install_source, browser(), false);
299 }
300
301 const Extension* ExtensionBrowserTest::InstallOrUpdateExtension(
281 const std::string& id, 302 const std::string& id,
282 const FilePath& path, 303 const FilePath& path,
283 InstallUIType ui_type, 304 InstallUIType ui_type,
284 int expected_change, 305 int expected_change,
306 Extension::Location install_source,
285 Browser* browser, 307 Browser* browser,
286 bool from_webstore) { 308 bool from_webstore) {
287 ExtensionService* service = browser->profile()->GetExtensionService(); 309 ExtensionService* service = browser->profile()->GetExtensionService();
288 service->set_show_extensions_prompts(false); 310 service->set_show_extensions_prompts(false);
289 size_t num_before = service->extensions()->size(); 311 size_t num_before = service->extensions()->size();
290 312
291 { 313 {
292 ExtensionInstallPrompt* install_ui = NULL; 314 ExtensionInstallPrompt* install_ui = NULL;
293 if (ui_type == INSTALL_UI_TYPE_CANCEL) { 315 if (ui_type == INSTALL_UI_TYPE_CANCEL) {
294 install_ui = new MockAbortExtensionInstallPrompt(); 316 install_ui = new MockAbortExtensionInstallPrompt();
(...skipping 14 matching lines...) Expand all
309 if (crx_path.Extension() != FILE_PATH_LITERAL(".crx")) { 331 if (crx_path.Extension() != FILE_PATH_LITERAL(".crx")) {
310 crx_path = PackExtension(path); 332 crx_path = PackExtension(path);
311 } 333 }
312 if (crx_path.empty()) 334 if (crx_path.empty())
313 return NULL; 335 return NULL;
314 336
315 scoped_refptr<extensions::CrxInstaller> installer( 337 scoped_refptr<extensions::CrxInstaller> installer(
316 extensions::CrxInstaller::Create(service, install_ui)); 338 extensions::CrxInstaller::Create(service, install_ui));
317 installer->set_expected_id(id); 339 installer->set_expected_id(id);
318 installer->set_is_gallery_install(from_webstore); 340 installer->set_is_gallery_install(from_webstore);
341 installer->set_install_source(install_source);
319 if (!from_webstore) { 342 if (!from_webstore) {
320 installer->set_off_store_install_allow_reason( 343 installer->set_off_store_install_allow_reason(
321 extensions::CrxInstaller::OffStoreInstallAllowedInTest); 344 extensions::CrxInstaller::OffStoreInstallAllowedInTest);
322 } 345 }
323 346
324 content::NotificationRegistrar registrar; 347 content::NotificationRegistrar registrar;
325 registrar.Add(this, chrome::NOTIFICATION_CRX_INSTALLER_DONE, 348 registrar.Add(this, chrome::NOTIFICATION_CRX_INSTALLER_DONE,
326 content::Source<extensions::CrxInstaller>(installer.get())); 349 content::Source<extensions::CrxInstaller>(installer.get()));
327 350
328 installer->InstallCrx(crx_path); 351 installer->InstallCrx(crx_path);
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
632 case content::NOTIFICATION_LOAD_STOP: 655 case content::NOTIFICATION_LOAD_STOP:
633 VLOG(1) << "Got LOAD_STOP notification."; 656 VLOG(1) << "Got LOAD_STOP notification.";
634 MessageLoopForUI::current()->Quit(); 657 MessageLoopForUI::current()->Quit();
635 break; 658 break;
636 659
637 default: 660 default:
638 NOTREACHED(); 661 NOTREACHED();
639 break; 662 break;
640 } 663 }
641 } 664 }
OLDNEW
« no previous file with comments | « chrome/browser/extensions/extension_browsertest.h ('k') | chrome/browser/extensions/extension_function_registry.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698