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

Side by Side Diff: chrome/browser/sync/profile_sync_service.cc

Issue 2880001: HTML sync setup UI. (Closed) Base URL: http://src.chromium.org/git/chromium.git
Patch Set: Created 10 years, 6 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) 2006-2008 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2006-2008 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/sync/profile_sync_service.h" 5 #include "chrome/browser/sync/profile_sync_service.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 9
10 #include "app/l10n_util.h" 10 #include "app/l10n_util.h"
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
193 browser_sync::StringToNotificationMethod(notification_method_str); 193 browser_sync::StringToNotificationMethod(notification_method_str);
194 } 194 }
195 } 195 }
196 196
197 void ProfileSyncService::RegisterPreferences() { 197 void ProfileSyncService::RegisterPreferences() {
198 PrefService* pref_service = profile_->GetPrefs(); 198 PrefService* pref_service = profile_->GetPrefs();
199 if (pref_service->FindPreference(prefs::kSyncLastSyncedTime)) 199 if (pref_service->FindPreference(prefs::kSyncLastSyncedTime))
200 return; 200 return;
201 pref_service->RegisterInt64Pref(prefs::kSyncLastSyncedTime, 0); 201 pref_service->RegisterInt64Pref(prefs::kSyncLastSyncedTime, 0);
202 pref_service->RegisterBooleanPref(prefs::kSyncHasSetupCompleted, false); 202 pref_service->RegisterBooleanPref(prefs::kSyncHasSetupCompleted, false);
203 pref_service->RegisterBooleanPref(prefs::kKeepEverythingSynced, false);
203 204
204 // If you've never synced before, or if you're using Chrome OS, all datatypes 205 // If you've never synced before, or if you're using Chrome OS, all datatypes
205 // are on by default. 206 // are on by default.
206 // TODO(nick): Perhaps a better model would be to always default to false, 207 // TODO(nick): Perhaps a better model would be to always default to false,
207 // and explicitly call SetDataTypes() when the user shows the wizard. 208 // and explicitly call SetDataTypes() when the user shows the wizard.
208 #if defined(OS_CHROMEOS) 209 #if defined(OS_CHROMEOS)
209 bool enable_by_default = true; 210 bool enable_by_default = true;
210 #else 211 #else
211 bool enable_by_default = 212 bool enable_by_default =
212 !pref_service->HasPrefPath(prefs::kSyncHasSetupCompleted); 213 !pref_service->HasPrefPath(prefs::kSyncHasSetupCompleted);
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
503 UMA_HISTOGRAM_LONG_TIMES("Sync.ReauthorizationTime", 504 UMA_HISTOGRAM_LONG_TIMES("Sync.ReauthorizationTime",
504 base::TimeTicks::Now() - auth_error_time_); 505 base::TimeTicks::Now() - auth_error_time_);
505 auth_error_time_ = base::TimeTicks(); // Reset auth_error_time_ to null. 506 auth_error_time_ = base::TimeTicks(); // Reset auth_error_time_ to null.
506 } 507 }
507 508
508 if (last_auth_error_.state() != AuthError::NONE) { 509 if (last_auth_error_.state() != AuthError::NONE) {
509 wizard_.Step(SyncSetupWizard::GAIA_LOGIN); 510 wizard_.Step(SyncSetupWizard::GAIA_LOGIN);
510 } 511 }
511 } 512 }
512 513
514 void ProfileSyncService::ShowChooseDataTypes() {
515 if (WizardIsVisible()) {
516 wizard_.Focus();
517 return;
518 }
519
520 wizard_.Step(SyncSetupWizard::CHOOSE_DATA_TYPES);
521 }
522
513 SyncBackendHost::StatusSummary ProfileSyncService::QuerySyncStatusSummary() { 523 SyncBackendHost::StatusSummary ProfileSyncService::QuerySyncStatusSummary() {
514 if (backend_.get()) 524 if (backend_.get())
515 return backend_->GetStatusSummary(); 525 return backend_->GetStatusSummary();
516 else 526 else
517 return SyncBackendHost::Status::OFFLINE_UNUSABLE; 527 return SyncBackendHost::Status::OFFLINE_UNUSABLE;
518 } 528 }
519 529
520 SyncBackendHost::Status ProfileSyncService::QueryDetailedSyncStatus() { 530 SyncBackendHost::Status ProfileSyncService::QueryDetailedSyncStatus() {
521 if (backend_.get()) { 531 if (backend_.get()) {
522 return backend_->GetDetailedStatus(); 532 return backend_->GetDetailedStatus();
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
576 } 586 }
577 last_attempted_user_email_ = username; 587 last_attempted_user_email_ = username;
578 is_auth_in_progress_ = true; 588 is_auth_in_progress_ = true;
579 FOR_EACH_OBSERVER(Observer, observers_, OnStateChanged()); 589 FOR_EACH_OBSERVER(Observer, observers_, OnStateChanged());
580 590
581 auth_start_time_ = base::TimeTicks::Now(); 591 auth_start_time_ = base::TimeTicks::Now();
582 backend_->Authenticate(username, password, captcha); 592 backend_->Authenticate(username, password, captcha);
583 } 593 }
584 594
585 void ProfileSyncService::OnUserChoseDatatypes(bool sync_everything, 595 void ProfileSyncService::OnUserChoseDatatypes(bool sync_everything,
586 const syncable::ModelTypeSet& data_types) { 596 const syncable::ModelTypeSet& chosen_types) {
587 // TODO(dantasse): save sync_everything to prefs 597 if (!backend_.get()) {
588 // call StartSyncing(data_types) 598 NOTREACHED();
589 // call ChangePreferredDataTypes(data_types) 599 return;
600 }
601 profile_->GetPrefs()->SetBoolean(prefs::kKeepEverythingSynced,
602 sync_everything);
603
604 ChangePreferredDataTypes(chosen_types);
605 profile_->GetPrefs()->ScheduleSavePersistentPrefs();
606
607 // If the backend has already started syncing, that's okay;
608 // SyncerThread::Start() checks if it's already running before starting.
609 backend_->StartSyncing();
610 // TODO(dantasse): pass the chosen_types parameter through to the backend
590 } 611 }
591 612
592 void ProfileSyncService::OnUserCancelledDialog() { 613 void ProfileSyncService::OnUserCancelledDialog() {
593 if (!profile_->GetPrefs()->GetBoolean(prefs::kSyncHasSetupCompleted)) { 614 if (!profile_->GetPrefs()->GetBoolean(prefs::kSyncHasSetupCompleted)) {
594 // A sync dialog was aborted before authentication. 615 // A sync dialog was aborted before authentication.
595 // Rollback. 616 // Rollback.
596 DisableForUser(); 617 DisableForUser();
597 } 618 }
598 619
599 FOR_EACH_OBSERVER(Observer, observers_, OnStateChanged()); 620 FOR_EACH_OBSERVER(Observer, observers_, OnStateChanged());
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
712 DataTypeManager::ConfigureResult result = 733 DataTypeManager::ConfigureResult result =
713 *(Details<DataTypeManager::ConfigureResult>(details).ptr()); 734 *(Details<DataTypeManager::ConfigureResult>(details).ptr());
714 if (result != DataTypeManager::OK) { 735 if (result != DataTypeManager::OK) {
715 OnUnrecoverableError(FROM_HERE, "Sync Configuration failed."); 736 OnUnrecoverableError(FROM_HERE, "Sync Configuration failed.");
716 return; 737 return;
717 } 738 }
718 739
719 // TODO(sync): Less wizard, more toast. 740 // TODO(sync): Less wizard, more toast.
720 wizard_.Step(SyncSetupWizard::DONE); 741 wizard_.Step(SyncSetupWizard::DONE);
721 FOR_EACH_OBSERVER(Observer, observers_, OnStateChanged()); 742 FOR_EACH_OBSERVER(Observer, observers_, OnStateChanged());
743
722 break; 744 break;
723 } 745 }
724 case NotificationType::SYNC_PASSPHRASE_REQUIRED: { 746 case NotificationType::SYNC_PASSPHRASE_REQUIRED: {
725 // TODO(sync): Show the passphrase UI here. 747 // TODO(sync): Show the passphrase UI here.
726 SetPassphrase("dummy passphrase"); 748 SetPassphrase("dummy passphrase");
727 break; 749 break;
728 } 750 }
729 case NotificationType::SYNC_PASSPHRASE_ACCEPTED: { 751 case NotificationType::SYNC_PASSPHRASE_ACCEPTED: {
730 // Make sure the data types that depend on the passphrase are started at 752 // Make sure the data types that depend on the passphrase are started at
731 // this time. 753 // this time.
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
765 // is initialized, all enabled data types are consistent with one 787 // is initialized, all enabled data types are consistent with one
766 // another, and no unrecoverable error has transpired. 788 // another, and no unrecoverable error has transpired.
767 if (unrecoverable_error_detected_) 789 if (unrecoverable_error_detected_)
768 return false; 790 return false;
769 791
770 if (!data_type_manager_.get()) 792 if (!data_type_manager_.get())
771 return false; 793 return false;
772 794
773 return data_type_manager_->state() == DataTypeManager::CONFIGURED; 795 return data_type_manager_->state() == DataTypeManager::CONFIGURED;
774 } 796 }
OLDNEW
« no previous file with comments | « chrome/browser/sync/profile_sync_service.h ('k') | chrome/browser/sync/resources/choose_datatypes.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698