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

Side by Side Diff: chrome/browser/extensions/api/developer_private/developer_private_api.cc

Issue 166573005: Rename apps::ShellWindow to apps::AppWindow (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase, nits (rename) Created 6 years, 10 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 | Annotate | Revision Log
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/api/developer_private/developer_private_api. h" 5 #include "chrome/browser/extensions/api/developer_private/developer_private_api. h"
6 6
7 #include "apps/app_load_service.h" 7 #include "apps/app_load_service.h"
8 #include "apps/app_restore_service.h" 8 #include "apps/app_restore_service.h"
9 #include "apps/app_window.h"
10 #include "apps/app_window_registry.h"
9 #include "apps/saved_files_service.h" 11 #include "apps/saved_files_service.h"
10 #include "apps/shell_window.h"
11 #include "apps/shell_window_registry.h"
12 #include "base/base64.h" 12 #include "base/base64.h"
13 #include "base/bind.h" 13 #include "base/bind.h"
14 #include "base/command_line.h" 14 #include "base/command_line.h"
15 #include "base/file_util.h" 15 #include "base/file_util.h"
16 #include "base/files/file_enumerator.h" 16 #include "base/files/file_enumerator.h"
17 #include "base/i18n/file_util_icu.h" 17 #include "base/i18n/file_util_icu.h"
18 #include "base/strings/string_number_conversions.h" 18 #include "base/strings/string_number_conversions.h"
19 #include "base/strings/utf_string_conversions.h" 19 #include "base/strings/utf_string_conversions.h"
20 #include "base/values.h" 20 #include "base/values.h"
21 #include "chrome/browser/chrome_notification_types.h" 21 #include "chrome/browser/chrome_notification_types.h"
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 #include "net/base/net_util.h" 69 #include "net/base/net_util.h"
70 #include "ui/base/l10n/l10n_util.h" 70 #include "ui/base/l10n/l10n_util.h"
71 #include "ui/base/resource/resource_bundle.h" 71 #include "ui/base/resource/resource_bundle.h"
72 #include "ui/base/webui/web_ui_util.h" 72 #include "ui/base/webui/web_ui_util.h"
73 #include "webkit/browser/fileapi/external_mount_points.h" 73 #include "webkit/browser/fileapi/external_mount_points.h"
74 #include "webkit/browser/fileapi/file_system_context.h" 74 #include "webkit/browser/fileapi/file_system_context.h"
75 #include "webkit/browser/fileapi/file_system_operation.h" 75 #include "webkit/browser/fileapi/file_system_operation.h"
76 #include "webkit/browser/fileapi/file_system_operation_runner.h" 76 #include "webkit/browser/fileapi/file_system_operation_runner.h"
77 #include "webkit/common/blob/shareable_file_reference.h" 77 #include "webkit/common/blob/shareable_file_reference.h"
78 78
79 using apps::ShellWindow; 79 using apps::AppWindow;
80 using apps::ShellWindowRegistry; 80 using apps::AppWindowRegistry;
81 using content::RenderViewHost; 81 using content::RenderViewHost;
82 82
83 namespace extensions { 83 namespace extensions {
84 84
85 namespace developer_private = api::developer_private; 85 namespace developer_private = api::developer_private;
86 86
87 namespace { 87 namespace {
88 88
89 const base::FilePath::CharType kUnpackedAppsFolder[] 89 const base::FilePath::CharType kUnpackedAppsFolder[]
90 = FILE_PATH_LITERAL("apps_target"); 90 = FILE_PATH_LITERAL("apps_target");
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 (web_contents->GetURL() == BackgroundInfo::GetBackgroundURL(extension)); 466 (web_contents->GetURL() == BackgroundInfo::GetBackgroundURL(extension));
467 result->push_back(constructInspectView( 467 result->push_back(constructInspectView(
468 web_contents->GetURL(), 468 web_contents->GetURL(),
469 process->GetID(), 469 process->GetID(),
470 host->GetRoutingID(), 470 host->GetRoutingID(),
471 process->GetBrowserContext()->IsOffTheRecord(), 471 process->GetBrowserContext()->IsOffTheRecord(),
472 is_background_page && has_generated_background_page)); 472 is_background_page && has_generated_background_page));
473 } 473 }
474 } 474 }
475 475
476 void DeveloperPrivateGetItemsInfoFunction:: 476 void DeveloperPrivateGetItemsInfoFunction::GetAppWindowPagesForExtensionProfile(
477 GetShellWindowPagesForExtensionProfile( 477 const Extension* extension,
478 const Extension* extension, 478 ItemInspectViewList* result) {
479 ItemInspectViewList* result) { 479 AppWindowRegistry* registry = AppWindowRegistry::Get(GetProfile());
480 ShellWindowRegistry* registry = ShellWindowRegistry::Get(GetProfile());
481 if (!registry) return; 480 if (!registry) return;
482 481
483 const ShellWindowRegistry::ShellWindowList windows = 482 const AppWindowRegistry::AppWindowList windows =
484 registry->GetShellWindowsForApp(extension->id()); 483 registry->GetAppWindowsForApp(extension->id());
485 484
486 bool has_generated_background_page = 485 bool has_generated_background_page =
487 BackgroundInfo::HasGeneratedBackgroundPage(extension); 486 BackgroundInfo::HasGeneratedBackgroundPage(extension);
488 for (ShellWindowRegistry::const_iterator it = windows.begin(); 487 for (AppWindowRegistry::const_iterator it = windows.begin();
489 it != windows.end(); ++it) { 488 it != windows.end();
489 ++it) {
490 content::WebContents* web_contents = (*it)->web_contents(); 490 content::WebContents* web_contents = (*it)->web_contents();
491 RenderViewHost* host = web_contents->GetRenderViewHost(); 491 RenderViewHost* host = web_contents->GetRenderViewHost();
492 content::RenderProcessHost* process = host->GetProcess(); 492 content::RenderProcessHost* process = host->GetProcess();
493 bool is_background_page = 493 bool is_background_page =
494 (web_contents->GetURL() == BackgroundInfo::GetBackgroundURL(extension)); 494 (web_contents->GetURL() == BackgroundInfo::GetBackgroundURL(extension));
495 result->push_back(constructInspectView( 495 result->push_back(constructInspectView(
496 web_contents->GetURL(), 496 web_contents->GetURL(),
497 process->GetID(), 497 process->GetID(),
498 host->GetRoutingID(), 498 host->GetRoutingID(),
499 process->GetBrowserContext()->IsOffTheRecord(), 499 process->GetBrowserContext()->IsOffTheRecord(),
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
532 532
533 ItemInspectViewList result; 533 ItemInspectViewList result;
534 // Get the extension process's active views. 534 // Get the extension process's active views.
535 extensions::ProcessManager* process_manager = 535 extensions::ProcessManager* process_manager =
536 ExtensionSystem::Get(GetProfile())->process_manager(); 536 ExtensionSystem::Get(GetProfile())->process_manager();
537 GetInspectablePagesForExtensionProcess( 537 GetInspectablePagesForExtensionProcess(
538 extension, 538 extension,
539 process_manager->GetRenderViewHostsForExtension(extension->id()), 539 process_manager->GetRenderViewHostsForExtension(extension->id()),
540 &result); 540 &result);
541 541
542 // Get shell window views 542 // Get app window views
543 GetShellWindowPagesForExtensionProfile(extension, &result); 543 GetAppWindowPagesForExtensionProfile(extension, &result);
544 544
545 // Include a link to start the lazy background page, if applicable. 545 // Include a link to start the lazy background page, if applicable.
546 if (BackgroundInfo::HasLazyBackgroundPage(extension) && 546 if (BackgroundInfo::HasLazyBackgroundPage(extension) &&
547 extension_is_enabled && 547 extension_is_enabled &&
548 !process_manager->GetBackgroundHostForExtension(extension->id())) { 548 !process_manager->GetBackgroundHostForExtension(extension->id())) {
549 result.push_back(constructInspectView( 549 result.push_back(constructInspectView(
550 BackgroundInfo::GetBackgroundURL(extension), 550 BackgroundInfo::GetBackgroundURL(extension),
551 -1, 551 -1,
552 -1, 552 -1,
553 false, 553 false,
554 BackgroundInfo::HasGeneratedBackgroundPage(extension))); 554 BackgroundInfo::HasGeneratedBackgroundPage(extension)));
555 } 555 }
556 556
557 ExtensionService* service = GetProfile()->GetExtensionService(); 557 ExtensionService* service = GetProfile()->GetExtensionService();
558 // Repeat for the incognito process, if applicable. Don't try to get 558 // Repeat for the incognito process, if applicable. Don't try to get
559 // shell windows for incognito process. 559 // app windows for incognito process.
560 if (service->profile()->HasOffTheRecordProfile() && 560 if (service->profile()->HasOffTheRecordProfile() &&
561 IncognitoInfo::IsSplitMode(extension)) { 561 IncognitoInfo::IsSplitMode(extension)) {
562 process_manager = ExtensionSystem::Get( 562 process_manager = ExtensionSystem::Get(
563 service->profile()->GetOffTheRecordProfile())->process_manager(); 563 service->profile()->GetOffTheRecordProfile())->process_manager();
564 GetInspectablePagesForExtensionProcess( 564 GetInspectablePagesForExtensionProcess(
565 extension, 565 extension,
566 process_manager->GetRenderViewHostsForExtension(extension->id()), 566 process_manager->GetRenderViewHostsForExtension(extension->id()),
567 &result); 567 &result);
568 568
569 if (BackgroundInfo::HasLazyBackgroundPage(extension) && 569 if (BackgroundInfo::HasLazyBackgroundPage(extension) &&
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
697 ExtensionService* service = GetProfile()->GetExtensionService(); 697 ExtensionService* service = GetProfile()->GetExtensionService();
698 CHECK(!params->item_id.empty()); 698 CHECK(!params->item_id.empty());
699 service->ReloadExtension(params->item_id); 699 service->ReloadExtension(params->item_id);
700 return true; 700 return true;
701 } 701 }
702 702
703 bool DeveloperPrivateShowPermissionsDialogFunction::RunImpl() { 703 bool DeveloperPrivateShowPermissionsDialogFunction::RunImpl() {
704 EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &extension_id_)); 704 EXTENSION_FUNCTION_VALIDATE(args_->GetString(0, &extension_id_));
705 ExtensionService* service = GetProfile()->GetExtensionService(); 705 ExtensionService* service = GetProfile()->GetExtensionService();
706 CHECK(!extension_id_.empty()); 706 CHECK(!extension_id_.empty());
707 ShellWindowRegistry* registry = ShellWindowRegistry::Get(GetProfile()); 707 AppWindowRegistry* registry = AppWindowRegistry::Get(GetProfile());
708 DCHECK(registry); 708 DCHECK(registry);
709 ShellWindow* shell_window = registry->GetShellWindowForRenderViewHost( 709 AppWindow* app_window =
710 render_view_host()); 710 registry->GetAppWindowForRenderViewHost(render_view_host());
711 prompt_.reset(new ExtensionInstallPrompt(shell_window->web_contents())); 711 prompt_.reset(new ExtensionInstallPrompt(app_window->web_contents()));
712 const Extension* extension = service->GetInstalledExtension(extension_id_); 712 const Extension* extension = service->GetInstalledExtension(extension_id_);
713 713
714 if (!extension) 714 if (!extension)
715 return false; 715 return false;
716 716
717 // Released by InstallUIAbort or InstallUIProceed. 717 // Released by InstallUIAbort or InstallUIProceed.
718 AddRef(); 718 AddRef();
719 std::vector<base::FilePath> retained_file_paths; 719 std::vector<base::FilePath> retained_file_paths;
720 if (extension->HasAPIPermission(extensions::APIPermission::kFileSystem)) { 720 if (extension->HasAPIPermission(extensions::APIPermission::kFileSystem)) {
721 std::vector<apps::SavedFileEntry> retained_file_entries = 721 std::vector<apps::SavedFileEntry> retained_file_entries =
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
777 (!enable && policy->MustRemainEnabled(extension, NULL)) || 777 (!enable && policy->MustRemainEnabled(extension, NULL)) ||
778 (enable && policy->MustRemainDisabled(extension, NULL, NULL))) { 778 (enable && policy->MustRemainDisabled(extension, NULL, NULL))) {
779 LOG(ERROR) << "Attempt to change enable state denied by management policy. " 779 LOG(ERROR) << "Attempt to change enable state denied by management policy. "
780 << "Extension id: " << extension_id.c_str(); 780 << "Extension id: " << extension_id.c_str();
781 return false; 781 return false;
782 } 782 }
783 783
784 if (enable) { 784 if (enable) {
785 ExtensionPrefs* prefs = service->extension_prefs(); 785 ExtensionPrefs* prefs = service->extension_prefs();
786 if (prefs->DidExtensionEscalatePermissions(extension_id)) { 786 if (prefs->DidExtensionEscalatePermissions(extension_id)) {
787 ShellWindowRegistry* registry = ShellWindowRegistry::Get(GetProfile()); 787 AppWindowRegistry* registry = AppWindowRegistry::Get(GetProfile());
788 CHECK(registry); 788 CHECK(registry);
789 ShellWindow* shell_window = registry->GetShellWindowForRenderViewHost( 789 AppWindow* app_window =
790 render_view_host()); 790 registry->GetAppWindowForRenderViewHost(render_view_host());
791 if (!shell_window) { 791 if (!app_window) {
792 return false; 792 return false;
793 } 793 }
794 794
795 ShowExtensionDisabledDialog( 795 ShowExtensionDisabledDialog(
796 service, shell_window->web_contents(), extension); 796 service, app_window->web_contents(), extension);
797 } else if ((prefs->GetDisableReasons(extension_id) & 797 } else if ((prefs->GetDisableReasons(extension_id) &
798 Extension::DISABLE_UNSUPPORTED_REQUIREMENT) && 798 Extension::DISABLE_UNSUPPORTED_REQUIREMENT) &&
799 !requirements_checker_.get()) { 799 !requirements_checker_.get()) {
800 // Recheck the requirements. 800 // Recheck the requirements.
801 scoped_refptr<const Extension> extension = 801 scoped_refptr<const Extension> extension =
802 service->GetExtensionById(extension_id, 802 service->GetExtensionById(extension_id,
803 true );// include_disabled 803 true );// include_disabled
804 requirements_checker_.reset(new RequirementsChecker); 804 requirements_checker_.reset(new RequirementsChecker);
805 // Released by OnRequirementsChecked. 805 // Released by OnRequirementsChecked.
806 AddRef(); 806 AddRef();
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
905 SendResponse(false); 905 SendResponse(false);
906 Release(); 906 Release();
907 } 907 }
908 908
909 bool DeveloperPrivateChooseEntryFunction::ShowPicker( 909 bool DeveloperPrivateChooseEntryFunction::ShowPicker(
910 ui::SelectFileDialog::Type picker_type, 910 ui::SelectFileDialog::Type picker_type,
911 const base::FilePath& last_directory, 911 const base::FilePath& last_directory,
912 const base::string16& select_title, 912 const base::string16& select_title,
913 const ui::SelectFileDialog::FileTypeInfo& info, 913 const ui::SelectFileDialog::FileTypeInfo& info,
914 int file_type_index) { 914 int file_type_index) {
915 ShellWindowRegistry* registry = ShellWindowRegistry::Get(GetProfile()); 915 AppWindowRegistry* registry = AppWindowRegistry::Get(GetProfile());
916 DCHECK(registry); 916 DCHECK(registry);
917 ShellWindow* shell_window = registry->GetShellWindowForRenderViewHost( 917 AppWindow* app_window =
918 render_view_host()); 918 registry->GetAppWindowForRenderViewHost(render_view_host());
919 if (!shell_window) { 919 if (!app_window) {
920 return false; 920 return false;
921 } 921 }
922 922
923 // The entry picker will hold a reference to this function instance, 923 // The entry picker will hold a reference to this function instance,
924 // and subsequent sending of the function response) until the user has 924 // and subsequent sending of the function response) until the user has
925 // selected a file or cancelled the picker. At that point, the picker will 925 // selected a file or cancelled the picker. At that point, the picker will
926 // delete itself. 926 // delete itself.
927 new EntryPicker(this, shell_window->web_contents(), picker_type, 927 new EntryPicker(this,
928 last_directory, select_title, info, file_type_index); 928 app_window->web_contents(),
929 picker_type,
930 last_directory,
931 select_title,
932 info,
933 file_type_index);
929 return true; 934 return true;
930 } 935 }
931 936
932 bool DeveloperPrivateChooseEntryFunction::RunImpl() { return false; } 937 bool DeveloperPrivateChooseEntryFunction::RunImpl() { return false; }
933 938
934 DeveloperPrivateChooseEntryFunction::~DeveloperPrivateChooseEntryFunction() {} 939 DeveloperPrivateChooseEntryFunction::~DeveloperPrivateChooseEntryFunction() {}
935 940
936 void DeveloperPrivatePackDirectoryFunction::OnPackSuccess( 941 void DeveloperPrivatePackDirectoryFunction::OnPackSuccess(
937 const base::FilePath& crx_file, 942 const base::FilePath& crx_file,
938 const base::FilePath& pem_file) { 943 const base::FilePath& pem_file) {
(...skipping 398 matching lines...) Expand 10 before | Expand all | Expand 10 after
1337 } 1342 }
1338 1343
1339 error_ui_util::HandleOpenDevTools(dict); 1344 error_ui_util::HandleOpenDevTools(dict);
1340 1345
1341 return true; 1346 return true;
1342 } 1347 }
1343 1348
1344 } // namespace api 1349 } // namespace api
1345 1350
1346 } // namespace extensions 1351 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698