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

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

Issue 819133004: Make callers of CommandLine use it via the base:: namespace. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix Created 6 years 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/component_loader.h" 5 #include "chrome/browser/extensions/component_loader.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/files/file_util.h" 10 #include "base/files/file_util.h"
(...skipping 250 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 component_extensions_.begin(); 261 component_extensions_.begin();
262 for (; it != component_extensions_.end(); ++it) 262 for (; it != component_extensions_.end(); ++it)
263 if (it->extension_id == id) 263 if (it->extension_id == id)
264 return true; 264 return true;
265 return false; 265 return false;
266 } 266 }
267 267
268 void ComponentLoader::AddFileManagerExtension() { 268 void ComponentLoader::AddFileManagerExtension() {
269 #if defined(OS_CHROMEOS) 269 #if defined(OS_CHROMEOS)
270 #ifndef NDEBUG 270 #ifndef NDEBUG
271 const CommandLine* command_line = CommandLine::ForCurrentProcess(); 271 const base::CommandLine* command_line =
272 base::CommandLine::ForCurrentProcess();
272 if (command_line->HasSwitch(switches::kFileManagerExtensionPath)) { 273 if (command_line->HasSwitch(switches::kFileManagerExtensionPath)) {
273 base::FilePath filemgr_extension_path( 274 base::FilePath filemgr_extension_path(
274 command_line->GetSwitchValuePath(switches::kFileManagerExtensionPath)); 275 command_line->GetSwitchValuePath(switches::kFileManagerExtensionPath));
275 AddWithNameAndDescription(IDR_FILEMANAGER_MANIFEST, 276 AddWithNameAndDescription(IDR_FILEMANAGER_MANIFEST,
276 filemgr_extension_path, 277 filemgr_extension_path,
277 IDS_FILEMANAGER_APP_NAME, 278 IDS_FILEMANAGER_APP_NAME,
278 IDS_FILEMANAGER_APP_DESCRIPTION); 279 IDS_FILEMANAGER_APP_DESCRIPTION);
279 return; 280 return;
280 } 281 }
281 #endif // NDEBUG 282 #endif // NDEBUG
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
348 #if defined(OS_CHROMEOS) 349 #if defined(OS_CHROMEOS)
349 void ComponentLoader::AddChromeVoxExtension( 350 void ComponentLoader::AddChromeVoxExtension(
350 const base::Closure& done_cb) { 351 const base::Closure& done_cb) {
351 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 352 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
352 base::FilePath resources_path; 353 base::FilePath resources_path;
353 PathService::Get(chrome::DIR_RESOURCES, &resources_path); 354 PathService::Get(chrome::DIR_RESOURCES, &resources_path);
354 355
355 base::FilePath chromevox_path = 356 base::FilePath chromevox_path =
356 resources_path.Append(extension_misc::kChromeVoxExtensionPath); 357 resources_path.Append(extension_misc::kChromeVoxExtensionPath);
357 358
358 const CommandLine* command_line = CommandLine::ForCurrentProcess(); 359 const base::CommandLine* command_line =
360 base::CommandLine::ForCurrentProcess();
359 bool is_guest = command_line->HasSwitch(chromeos::switches::kGuestSession); 361 bool is_guest = command_line->HasSwitch(chromeos::switches::kGuestSession);
360 const char* manifest_filename = 362 const char* manifest_filename =
361 is_guest ? extension_misc::kChromeVoxGuestManifestFilename 363 is_guest ? extension_misc::kChromeVoxGuestManifestFilename
362 : extension_misc::kChromeVoxManifestFilename; 364 : extension_misc::kChromeVoxManifestFilename;
363 365
364 BrowserThread::PostTaskAndReplyWithResult( 366 BrowserThread::PostTaskAndReplyWithResult(
365 BrowserThread::FILE, 367 BrowserThread::FILE,
366 FROM_HERE, 368 FROM_HERE,
367 base::Bind(&LoadManifestOnFileThread, chromevox_path, manifest_filename), 369 base::Bind(&LoadManifestOnFileThread, chromevox_path, manifest_filename),
368 base::Bind(&ComponentLoader::AddChromeVoxExtensionWithManifest, 370 base::Bind(&ComponentLoader::AddChromeVoxExtensionWithManifest,
369 weak_factory_.GetWeakPtr(), 371 weak_factory_.GetWeakPtr(),
370 chromevox_path, 372 chromevox_path,
371 done_cb)); 373 done_cb));
372 } 374 }
373 375
374 void ComponentLoader::AddChromeVoxExtensionWithManifest( 376 void ComponentLoader::AddChromeVoxExtensionWithManifest(
375 const base::FilePath& chromevox_path, 377 const base::FilePath& chromevox_path,
376 const base::Closure& done_cb, 378 const base::Closure& done_cb,
377 scoped_ptr<base::DictionaryValue> manifest) { 379 scoped_ptr<base::DictionaryValue> manifest) {
378 DCHECK_CURRENTLY_ON(content::BrowserThread::UI); 380 DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
379 std::string extension_id = Add(manifest.release(), chromevox_path); 381 std::string extension_id = Add(manifest.release(), chromevox_path);
380 CHECK_EQ(extension_misc::kChromeVoxExtensionId, extension_id); 382 CHECK_EQ(extension_misc::kChromeVoxExtensionId, extension_id);
381 if (!done_cb.is_null()) 383 if (!done_cb.is_null())
382 done_cb.Run(); 384 done_cb.Run();
383 } 385 }
384 386
385 std::string ComponentLoader::AddChromeOsSpeechSynthesisExtension() { 387 std::string ComponentLoader::AddChromeOsSpeechSynthesisExtension() {
386 const CommandLine* command_line = CommandLine::ForCurrentProcess(); 388 const base::CommandLine* command_line =
389 base::CommandLine::ForCurrentProcess();
387 int idr = command_line->HasSwitch(chromeos::switches::kGuestSession) ? 390 int idr = command_line->HasSwitch(chromeos::switches::kGuestSession) ?
388 IDR_SPEECH_SYNTHESIS_GUEST_MANIFEST : IDR_SPEECH_SYNTHESIS_MANIFEST; 391 IDR_SPEECH_SYNTHESIS_GUEST_MANIFEST : IDR_SPEECH_SYNTHESIS_MANIFEST;
389 std::string id = Add(idr, 392 std::string id = Add(idr,
390 base::FilePath(extension_misc::kSpeechSynthesisExtensionPath)); 393 base::FilePath(extension_misc::kSpeechSynthesisExtensionPath));
391 EnableFileSystemInGuestMode(id); 394 EnableFileSystemInGuestMode(id);
392 return id; 395 return id;
393 } 396 }
394 #endif 397 #endif
395 398
396 void ComponentLoader::AddWithNameAndDescription( 399 void ComponentLoader::AddWithNameAndDescription(
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
452 455
453 #if defined(GOOGLE_CHROME_BUILD) 456 #if defined(GOOGLE_CHROME_BUILD)
454 if (browser_defaults::enable_help_app) { 457 if (browser_defaults::enable_help_app) {
455 Add(IDR_HELP_MANIFEST, base::FilePath(FILE_PATH_LITERAL( 458 Add(IDR_HELP_MANIFEST, base::FilePath(FILE_PATH_LITERAL(
456 "/usr/share/chromeos-assets/helpapp"))); 459 "/usr/share/chromeos-assets/helpapp")));
457 } 460 }
458 #endif 461 #endif
459 462
460 // Skip all other extensions that require user session presence. 463 // Skip all other extensions that require user session presence.
461 if (!skip_session_components) { 464 if (!skip_session_components) {
462 const CommandLine* command_line = CommandLine::ForCurrentProcess(); 465 const base::CommandLine* command_line =
466 base::CommandLine::ForCurrentProcess();
463 if (!command_line->HasSwitch(chromeos::switches::kGuestSession)) 467 if (!command_line->HasSwitch(chromeos::switches::kGuestSession))
464 Add(IDR_BOOKMARKS_MANIFEST, 468 Add(IDR_BOOKMARKS_MANIFEST,
465 base::FilePath(FILE_PATH_LITERAL("bookmark_manager"))); 469 base::FilePath(FILE_PATH_LITERAL("bookmark_manager")));
466 470
467 Add(IDR_CROSH_BUILTIN_MANIFEST, base::FilePath(FILE_PATH_LITERAL( 471 Add(IDR_CROSH_BUILTIN_MANIFEST, base::FilePath(FILE_PATH_LITERAL(
468 "/usr/share/chromeos-assets/crosh_builtin"))); 472 "/usr/share/chromeos-assets/crosh_builtin")));
469 } 473 }
470 #else // !defined(OS_CHROMEOS) 474 #else // !defined(OS_CHROMEOS)
471 DCHECK(!skip_session_components); 475 DCHECK(!skip_session_components);
472 Add(IDR_BOOKMARKS_MANIFEST, 476 Add(IDR_BOOKMARKS_MANIFEST,
(...skipping 21 matching lines...) Expand all
494 498
495 // Component extensions needed for kiosk apps. 499 // Component extensions needed for kiosk apps.
496 AddFileManagerExtension(); 500 AddFileManagerExtension();
497 501
498 // Add virtual keyboard. 502 // Add virtual keyboard.
499 AddKeyboardApp(); 503 AddKeyboardApp();
500 } 504 }
501 505
502 void ComponentLoader::AddDefaultComponentExtensionsWithBackgroundPages( 506 void ComponentLoader::AddDefaultComponentExtensionsWithBackgroundPages(
503 bool skip_session_components) { 507 bool skip_session_components) {
504 const CommandLine* command_line = CommandLine::ForCurrentProcess(); 508 const base::CommandLine* command_line =
509 base::CommandLine::ForCurrentProcess();
505 510
506 // Component extensions with background pages are not enabled during tests 511 // Component extensions with background pages are not enabled during tests
507 // because they generate a lot of background behavior that can interfere. 512 // because they generate a lot of background behavior that can interfere.
508 if (!enable_background_extensions_during_testing && 513 if (!enable_background_extensions_during_testing &&
509 (command_line->HasSwitch(switches::kTestType) || 514 (command_line->HasSwitch(switches::kTestType) ||
510 command_line->HasSwitch( 515 command_line->HasSwitch(
511 switches::kDisableComponentExtensionsWithBackgroundPages))) { 516 switches::kDisableComponentExtensionsWithBackgroundPages))) {
512 return; 517 return;
513 } 518 }
514 519
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
630 void ComponentLoader::UnloadComponent(ComponentExtensionInfo* component) { 635 void ComponentLoader::UnloadComponent(ComponentExtensionInfo* component) {
631 delete component->manifest; 636 delete component->manifest;
632 if (extension_service_->is_ready()) { 637 if (extension_service_->is_ready()) {
633 extension_service_-> 638 extension_service_->
634 RemoveComponentExtension(component->extension_id); 639 RemoveComponentExtension(component->extension_id);
635 } 640 }
636 } 641 }
637 642
638 void ComponentLoader::EnableFileSystemInGuestMode(const std::string& id) { 643 void ComponentLoader::EnableFileSystemInGuestMode(const std::string& id) {
639 #if defined(OS_CHROMEOS) 644 #if defined(OS_CHROMEOS)
640 const CommandLine* command_line = CommandLine::ForCurrentProcess(); 645 const base::CommandLine* command_line =
646 base::CommandLine::ForCurrentProcess();
641 if (command_line->HasSwitch(chromeos::switches::kGuestSession)) { 647 if (command_line->HasSwitch(chromeos::switches::kGuestSession)) {
642 // TODO(dpolukhin): Hack to enable HTML5 temporary file system for 648 // TODO(dpolukhin): Hack to enable HTML5 temporary file system for
643 // the extension. Some component extensions don't work without temporary 649 // the extension. Some component extensions don't work without temporary
644 // file system access. Make sure temporary file system is enabled in the off 650 // file system access. Make sure temporary file system is enabled in the off
645 // the record browser context (as that is the one used in guest session). 651 // the record browser context (as that is the one used in guest session).
646 content::BrowserContext* off_the_record_context = 652 content::BrowserContext* off_the_record_context =
647 ExtensionsBrowserClient::Get()->GetOffTheRecordContext( 653 ExtensionsBrowserClient::Get()->GetOffTheRecordContext(
648 browser_context_); 654 browser_context_);
649 GURL site = content::SiteInstance::GetSiteForURL( 655 GURL site = content::SiteInstance::GetSiteForURL(
650 off_the_record_context, Extension::GetBaseURLFromExtensionId(id)); 656 off_the_record_context, Extension::GetBaseURLFromExtensionId(id));
651 storage::FileSystemContext* file_system_context = 657 storage::FileSystemContext* file_system_context =
652 content::BrowserContext::GetStoragePartitionForSite( 658 content::BrowserContext::GetStoragePartitionForSite(
653 off_the_record_context, site)->GetFileSystemContext(); 659 off_the_record_context, site)->GetFileSystemContext();
654 file_system_context->EnableTemporaryFileSystemInIncognito(); 660 file_system_context->EnableTemporaryFileSystemInIncognito();
655 } 661 }
656 #endif 662 #endif
657 } 663 }
658 664
659 } // namespace extensions 665 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/chrome_ui_overrides_browsertest.cc ('k') | chrome/browser/extensions/convert_web_app_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698