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

Side by Side Diff: chrome/browser/extensions/api/webstore_private/webstore_private_api.cc

Issue 634313004: Display dialog when app install succeeds / fails on Athena (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 2 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/api/webstore_private/webstore_private_api.h" 5 #include "chrome/browser/extensions/api/webstore_private/webstore_private_api.h"
6 6
7 #include "base/bind_helpers.h" 7 #include "base/bind_helpers.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/memory/scoped_vector.h" 10 #include "base/memory/scoped_vector.h"
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
99 WebstoreInstaller::Approval* approval = approvals_[i]; 99 WebstoreInstaller::Approval* approval = approvals_[i];
100 if (approval->extension_id == id && 100 if (approval->extension_id == id &&
101 profile->IsSameProfile(approval->profile)) { 101 profile->IsSameProfile(approval->profile)) {
102 approvals_.weak_erase(approvals_.begin() + i); 102 approvals_.weak_erase(approvals_.begin() + i);
103 return scoped_ptr<WebstoreInstaller::Approval>(approval); 103 return scoped_ptr<WebstoreInstaller::Approval>(approval);
104 } 104 }
105 } 105 }
106 return scoped_ptr<WebstoreInstaller::Approval>(); 106 return scoped_ptr<WebstoreInstaller::Approval>();
107 } 107 }
108 108
109 chrome::HostDesktopType GetHostDesktopTypeForWebContents(
110 content::WebContents* contents) {
111 return chrome::GetHostDesktopTypeForNativeView(
112 contents->GetTopLevelNativeWindow());
113 }
114
109 static base::LazyInstance<PendingApprovals> g_pending_approvals = 115 static base::LazyInstance<PendingApprovals> g_pending_approvals =
110 LAZY_INSTANCE_INITIALIZER; 116 LAZY_INSTANCE_INITIALIZER;
111 117
112 // A preference set by the web store to indicate login information for 118 // A preference set by the web store to indicate login information for
113 // purchased apps. 119 // purchased apps.
114 const char kWebstoreLogin[] = "extensions.webstore_login"; 120 const char kWebstoreLogin[] = "extensions.webstore_login";
115 const char kAlreadyInstalledError[] = "This item is already installed"; 121 const char kAlreadyInstalledError[] = "This item is already installed";
116 const char kCannotSpecifyIconDataAndUrlError[] = 122 const char kCannotSpecifyIconDataAndUrlError[] =
117 "You cannot specify both icon data and an icon url"; 123 "You cannot specify both icon data and an icon url";
118 const char kInvalidIconUrlError[] = "Invalid icon url"; 124 const char kInvalidIconUrlError[] = "Invalid icon url";
(...skipping 347 matching lines...) Expand 10 before | Expand all | Expand 10 after
466 .Pass(); 472 .Pass();
467 if (!approval_) { 473 if (!approval_) {
468 error_ = ErrorUtils::FormatErrorMessage( 474 error_ = ErrorUtils::FormatErrorMessage(
469 kNoPreviousBeginInstallWithManifestError, params->expected_id); 475 kNoPreviousBeginInstallWithManifestError, params->expected_id);
470 return false; 476 return false;
471 } 477 }
472 478
473 scoped_active_install_.reset(new ScopedActiveInstall( 479 scoped_active_install_.reset(new ScopedActiveInstall(
474 InstallTracker::Get(GetProfile()), params->expected_id)); 480 InstallTracker::Get(GetProfile()), params->expected_id));
475 481
476 AppListService* app_list_service = 482 AppListService* app_list_service = AppListService::Get(
Jun Mukai 2014/10/09 23:34:53 This warns me a bit. Right now Athena doesn't use
pkotwicz 2014/10/10 00:51:31 I changed the gyp includes such that Athena uses a
Jun Mukai 2014/10/10 01:01:08 That seems a right direction to me. Eventually I w
477 AppListService::Get(GetCurrentBrowser()->host_desktop_type()); 483 GetHostDesktopTypeForWebContents(GetAssociatedWebContents()));
478 484
479 if (approval_->enable_launcher) { 485 if (approval_->enable_launcher) {
480 app_list_service->EnableAppList(GetProfile(), 486 app_list_service->EnableAppList(GetProfile(),
481 AppListService::ENABLE_FOR_APP_INSTALL); 487 AppListService::ENABLE_FOR_APP_INSTALL);
482 } 488 }
483 489
484 if (IsAppLauncherEnabled() && approval_->manifest->is_app()) { 490 if (IsAppLauncherEnabled() && approval_->manifest->is_app()) {
485 // Show the app list to show download is progressing. Don't show the app 491 // Show the app list to show download is progressing. Don't show the app
486 // list on first app install so users can be trained to open it themselves. 492 // list on first app install so users can be trained to open it themselves.
487 app_list_service->ShowForAppInstall( 493 app_list_service->ShowForAppInstall(
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
561 SendResponse(true); 567 SendResponse(true);
562 } 568 }
563 569
564 WebstorePrivateEnableAppLauncherFunction:: 570 WebstorePrivateEnableAppLauncherFunction::
565 WebstorePrivateEnableAppLauncherFunction() {} 571 WebstorePrivateEnableAppLauncherFunction() {}
566 572
567 WebstorePrivateEnableAppLauncherFunction:: 573 WebstorePrivateEnableAppLauncherFunction::
568 ~WebstorePrivateEnableAppLauncherFunction() {} 574 ~WebstorePrivateEnableAppLauncherFunction() {}
569 575
570 bool WebstorePrivateEnableAppLauncherFunction::RunSync() { 576 bool WebstorePrivateEnableAppLauncherFunction::RunSync() {
571 AppListService::Get(GetCurrentBrowser()->host_desktop_type()) 577 AppListService* app_list_service = AppListService::Get(
572 ->EnableAppList(GetProfile(), AppListService::ENABLE_VIA_WEBSTORE_LINK); 578 GetHostDesktopTypeForWebContents(GetAssociatedWebContents()));
579 app_list_service->EnableAppList(GetProfile(),
580 AppListService::ENABLE_VIA_WEBSTORE_LINK);
573 return true; 581 return true;
574 } 582 }
575 583
576 bool WebstorePrivateGetBrowserLoginFunction::RunSync() { 584 bool WebstorePrivateGetBrowserLoginFunction::RunSync() {
577 GetBrowserLogin::Results::Info info; 585 GetBrowserLogin::Results::Info info;
578 info.login = GetProfile()->GetOriginalProfile()->GetPrefs()->GetString( 586 info.login = GetProfile()->GetOriginalProfile()->GetPrefs()->GetString(
579 prefs::kGoogleServicesUsername); 587 prefs::kGoogleServicesUsername);
580 results_ = GetBrowserLogin::Results::Create(info); 588 results_ = GetBrowserLogin::Results::Create(info);
581 return true; 589 return true;
582 } 590 }
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
750 WebstorePrivateGetEphemeralAppsEnabledFunction:: 758 WebstorePrivateGetEphemeralAppsEnabledFunction::
751 ~WebstorePrivateGetEphemeralAppsEnabledFunction() {} 759 ~WebstorePrivateGetEphemeralAppsEnabledFunction() {}
752 760
753 bool WebstorePrivateGetEphemeralAppsEnabledFunction::RunSync() { 761 bool WebstorePrivateGetEphemeralAppsEnabledFunction::RunSync() {
754 results_ = GetEphemeralAppsEnabled::Results::Create( 762 results_ = GetEphemeralAppsEnabled::Results::Create(
755 EphemeralAppLauncher::IsFeatureEnabled()); 763 EphemeralAppLauncher::IsFeatureEnabled());
756 return true; 764 return true;
757 } 765 }
758 766
759 } // namespace extensions 767 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698