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

Unified Diff: chrome/browser/ui/passwords/manage_passwords_bubble_model.cc

Issue 2617543002: Create Desktop to iOS Promotion skeleton. (Closed)
Patch Set: Created 3 years, 11 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/passwords/manage_passwords_bubble_model.cc
diff --git a/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc b/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc
index 4fd0b1a75f274a9ee62d17b2c85e92d6e6cddf7e..3f735022af651c9e1e54ee520759d1bf3b401e31 100644
--- a/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc
+++ b/chrome/browser/ui/passwords/manage_passwords_bubble_model.cc
@@ -17,6 +17,7 @@
#include "chrome/browser/password_manager/password_store_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/sync/profile_sync_service_factory.h"
+#include "chrome/browser/ui/desktop_ios_promotion/desktop_ios_promotion_util.h"
#include "chrome/browser/ui/passwords/manage_passwords_view_utils.h"
#include "chrome/browser/ui/passwords/passwords_model_delegate.h"
#include "chrome/grit/chromium_strings.h"
@@ -282,6 +283,7 @@ ManagePasswordsBubbleModel::ManagePasswordsBubbleModel(
case password_manager::ui::CREDENTIAL_REQUEST_STATE:
case password_manager::ui::AUTO_SIGNIN_STATE:
case password_manager::ui::CHROME_SIGN_IN_PROMO_STATE:
+ case password_manager::ui::CHROME_DESKTOP_IOS_PROMO_STATE:
case password_manager::ui::INACTIVE_STATE:
NOTREACHED();
break;
@@ -305,6 +307,7 @@ ManagePasswordsBubbleModel::ManagePasswordsBubbleModel(
case password_manager::ui::MANAGE_STATE:
case password_manager::ui::CREDENTIAL_REQUEST_STATE:
case password_manager::ui::CHROME_SIGN_IN_PROMO_STATE:
+ case password_manager::ui::CHROME_DESKTOP_IOS_PROMO_STATE:
case password_manager::ui::INACTIVE_STATE:
NOTREACHED();
break;
@@ -423,11 +426,12 @@ bool ManagePasswordsBubbleModel::ShouldShowMultipleAccountUpdateUI() const {
local_credentials_.size() > 1 && !password_overridden_;
}
-bool ManagePasswordsBubbleModel::ReplaceToShowSignInPromoIfNeeded() {
+bool ManagePasswordsBubbleModel::ReplaceToShowPromotionIfNeeded() {
DCHECK_EQ(password_manager::ui::PENDING_PASSWORD_STATE, state_);
PrefService* prefs = GetProfile()->GetPrefs();
const browser_sync::ProfileSyncService* sync_service =
ProfileSyncServiceFactory::GetForProfile(GetProfile());
+ // Signin promotion.
if (password_bubble_experiment::ShouldShowChromeSignInPasswordPromo(
prefs, sync_service)) {
interaction_keeper_->ReportInteractions(this);
@@ -442,6 +446,17 @@ bool ManagePasswordsBubbleModel::ReplaceToShowSignInPromoIfNeeded() {
interaction_keeper_->set_sign_in_promo_shown_count(show_count);
return true;
}
+ // Desktop to mobile promotion.
+ if (desktop_ios_promotion::IsEligibleForIOSPromotion()) {
+ interaction_keeper_->ReportInteractions(this);
+ title_brand_link_range_ = gfx::Range();
+ title_ =
+ l10n_util::GetStringUTF16(IDS_PASSWORD_MANAGER_DESKTOP_IOS_PROMO_TITLE);
+ state_ = password_manager::ui::CHROME_DESKTOP_IOS_PROMO_STATE;
+ // TODO(crbug.com/676655): Update impression count.
+ // TODO(crbug.com/676655): Add required logging.
+ return true;
+ }
return false;
}

Powered by Google App Engine
This is Rietveld 408576698