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

Side by Side Diff: chrome/browser/ui/webui/sync_promo/sync_promo_handler2.cc

Issue 9225053: Add a blocking version of the sync promo dialog (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 8 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/ui/webui/sync_promo/sync_promo_handler2.h" 5 #include "chrome/browser/ui/webui/sync_promo/sync_promo_handler2.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/bind_helpers.h" 8 #include "base/bind_helpers.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "base/time.h" 10 #include "base/time.h"
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 // confirming that they're signed in. 198 // confirming that they're signed in.
199 std::string username = prefs_->GetString(prefs::kGoogleServicesUsername); 199 std::string username = prefs_->GetString(prefs::kGoogleServicesUsername);
200 if (!username.empty()) 200 if (!username.empty())
201 prefs_->SetBoolean(prefs::kSyncPromoShowNTPBubble, true); 201 prefs_->SetBoolean(prefs::kSyncPromoShowNTPBubble, true);
202 202
203 // If the browser window is being closed then don't try to navigate to 203 // If the browser window is being closed then don't try to navigate to
204 // another URL. This prevents the browser window from flashing during 204 // another URL. This prevents the browser window from flashing during
205 // close. 205 // close.
206 Browser* browser = 206 Browser* browser =
207 BrowserList::FindBrowserWithWebContents(web_ui()->GetWebContents()); 207 BrowserList::FindBrowserWithWebContents(web_ui()->GetWebContents());
208 if (browser && !browser->IsAttemptingToCloseBrowser()) { 208 if (|browser || !browser->IsAttemptingToCloseBrowser()) {
209 GURL url = SyncPromoUI::GetNextPageURLForSyncPromoURL( 209 GURL url = SyncPromoUI::GetNextPageURLForSyncPromoURL(
210 web_ui_->tab_contents()->GetURL()); 210 web_ui_->tab_contents()->GetURL());
211 web_ui_->tab_contents()->OpenURL(url, GURL(), CURRENT_TAB, 211 web_ui_->tab_contents()->OpenURL(url, GURL(), CURRENT_TAB,
212 content::PAGE_TRANSITION_LINK); 212 content::PAGE_TRANSITION_LINK);
213 } 213 }
214 } 214 }
215 215
216 int SyncPromoHandler2::GetPromoVersion() {
217 switch (SyncPromoUI::GetSyncPromoVersion()) {
218 case SyncPromoUI::VERSION_DEFAULT:
219 return 0;
220 case SyncPromoUI::VERSION_DEVICES:
221 return 1;
222 case SyncPromoUI::VERSION_VERBOSE:
223 return 2;
224 case SyncPromoUI::VERSION_SIMPLE:
225 return 3;
226 case SyncPromoUI::VERSION_DIALOG:
227 // Use the simple sync promo layout for the dialog version.
228 return 3;
229 default:
230 NOTREACHED();
231 return 0;
232 }
233 }
234
216 void SyncPromoHandler2::HandleInitializeSyncPromo(const base::ListValue* args) { 235 void SyncPromoHandler2::HandleInitializeSyncPromo(const base::ListValue* args) {
217 base::FundamentalValue version(SyncPromoUI::GetSyncPromoVersion()); 236 base::FundamentalValue version(GetPromoVersion());
218 web_ui_->CallJavascriptFunction("SyncSetupOverlay.showPromoVersion", 237 web_ui_->CallJavascriptFunction("SyncSetupOverlay.showPromoVersion",
219 version); 238 version);
220 239
221 OpenSyncSetup(); 240 OpenSyncSetup();
222 // We don't need to compute anything for this, just do this every time. 241 // We don't need to compute anything for this, just do this every time.
223 RecordUserFlowAction(SYNC_PROMO_VIEWED); 242 RecordUserFlowAction(SYNC_PROMO_VIEWED);
224 // Increment view count first and show natural numbers in stats rather than 0 243 // Increment view count first and show natural numbers in stats rather than 0
225 // based starting point (if it happened to be our first time showing this). 244 // based starting point (if it happened to be our first time showing this).
226 IncrementViewCountBy(1); 245 IncrementViewCountBy(1);
227 // Record +1 for every view. This is the only thing we record that's not part 246 // Record +1 for every view. This is the only thing we record that's not part
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
294 // static variables that won't work if the name changes on differnt calls. 313 // static variables that won't work if the name changes on differnt calls.
295 if (!histogram_name_.empty()) { 314 if (!histogram_name_.empty()) {
296 base::Histogram* histogram = base::LinearHistogram::FactoryGet( 315 base::Histogram* histogram = base::LinearHistogram::FactoryGet(
297 histogram_name_, 1, SYNC_PROMO_BUCKET_BOUNDARY, 316 histogram_name_, 1, SYNC_PROMO_BUCKET_BOUNDARY,
298 SYNC_PROMO_BUCKET_BOUNDARY + 1, base::Histogram::kNoFlags); 317 SYNC_PROMO_BUCKET_BOUNDARY + 1, base::Histogram::kNoFlags);
299 histogram->Add(action); 318 histogram->Add(action);
300 } 319 }
301 } 320 }
302 321
303 } // namespace options2 322 } // namespace options2
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698