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

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

Issue 6357011: Stop using browser signin for passphrase migration, just use the normal signi... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | chrome/browser/sync/profile_sync_service.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 #ifndef CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ 5 #ifndef CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_
6 #define CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ 6 #define CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_
7 #pragma once 7 #pragma once
8 8
9 #include <string> 9 #include <string>
10 10
11 #include "base/basictypes.h" 11 #include "base/basictypes.h"
12 #include "base/gtest_prod_util.h" 12 #include "base/gtest_prod_util.h"
13 #include "base/observer_list.h" 13 #include "base/observer_list.h"
14 #include "base/scoped_ptr.h" 14 #include "base/scoped_ptr.h"
15 #include "base/string16.h" 15 #include "base/string16.h"
16 #include "base/time.h" 16 #include "base/time.h"
17 #include "base/timer.h" 17 #include "base/timer.h"
18 #include "chrome/browser/browser_signin.h"
19 #include "chrome/browser/prefs/pref_member.h" 18 #include "chrome/browser/prefs/pref_member.h"
20 #include "chrome/browser/sync/engine/syncapi.h" 19 #include "chrome/browser/sync/engine/syncapi.h"
21 #include "chrome/browser/sync/glue/data_type_controller.h" 20 #include "chrome/browser/sync/glue/data_type_controller.h"
22 #include "chrome/browser/sync/glue/data_type_manager.h" 21 #include "chrome/browser/sync/glue/data_type_manager.h"
23 #include "chrome/browser/sync/glue/session_model_associator.h" 22 #include "chrome/browser/sync/glue/session_model_associator.h"
24 #include "chrome/browser/sync/glue/sync_backend_host.h" 23 #include "chrome/browser/sync/glue/sync_backend_host.h"
25 #include "chrome/browser/sync/profile_sync_service_observer.h" 24 #include "chrome/browser/sync/profile_sync_service_observer.h"
26 #include "chrome/browser/sync/signin_manager.h" 25 #include "chrome/browser/sync/signin_manager.h"
27 #include "chrome/browser/sync/sync_setup_wizard.h" 26 #include "chrome/browser/sync/sync_setup_wizard.h"
28 #include "chrome/browser/sync/syncable/model_type.h" 27 #include "chrome/browser/sync/syncable/model_type.h"
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 // actively installed ChangeProcessor that listens for changes to this 77 // actively installed ChangeProcessor that listens for changes to this
79 // datatype, propagating such changes into and out of the sync backend 78 // datatype, propagating such changes into and out of the sync backend
80 // as necessary. 79 // as necessary.
81 // 80 //
82 // When a datatype is in the process of becoming active, it may be 81 // When a datatype is in the process of becoming active, it may be
83 // in some intermediate state. Those finer-grained intermediate states 82 // in some intermediate state. Those finer-grained intermediate states
84 // are differentiated by the DataTypeController state. 83 // are differentiated by the DataTypeController state.
85 // 84 //
86 class ProfileSyncService : public browser_sync::SyncFrontend, 85 class ProfileSyncService : public browser_sync::SyncFrontend,
87 public browser_sync::UnrecoverableErrorHandler, 86 public browser_sync::UnrecoverableErrorHandler,
88 public BrowserSignin::SigninDelegate,
89 public NotificationObserver { 87 public NotificationObserver {
90 public: 88 public:
91 typedef ProfileSyncServiceObserver Observer; 89 typedef ProfileSyncServiceObserver Observer;
92 typedef browser_sync::SyncBackendHost::Status Status; 90 typedef browser_sync::SyncBackendHost::Status Status;
93 91
94 enum SyncEventCodes { 92 enum SyncEventCodes {
95 MIN_SYNC_EVENT_CODE = 0, 93 MIN_SYNC_EVENT_CODE = 0,
96 94
97 // Events starting the sync service. 95 // Events starting the sync service.
98 START_FROM_NTP = 1, // Sync was started from the ad in NTP 96 START_FROM_NTP = 1, // Sync was started from the ad in NTP
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
227 return wizard_.IsVisible(); 225 return wizard_.IsVisible();
228 } 226 }
229 virtual void ShowLoginDialog(gfx::NativeWindow parent_window); 227 virtual void ShowLoginDialog(gfx::NativeWindow parent_window);
230 228
231 // This method handles clicks on "sync error" UI, showing the appropriate 229 // This method handles clicks on "sync error" UI, showing the appropriate
232 // dialog for the error condition (relogin / enter passphrase). 230 // dialog for the error condition (relogin / enter passphrase).
233 virtual void ShowErrorUI(gfx::NativeWindow parent_window); 231 virtual void ShowErrorUI(gfx::NativeWindow parent_window);
234 232
235 void ShowConfigure(gfx::NativeWindow parent_window); 233 void ShowConfigure(gfx::NativeWindow parent_window);
236 void PromptForExistingPassphrase(gfx::NativeWindow parent_window); 234 void PromptForExistingPassphrase(gfx::NativeWindow parent_window);
237 void SigninForPassphrase(TabContents* container); 235 void SigninForPassphraseMigration(gfx::NativeWindow parent_window);
238 void ShowPassphraseMigration(gfx::NativeWindow parent_window);
239 236
240 // Pretty-printed strings for a given StatusSummary. 237 // Pretty-printed strings for a given StatusSummary.
241 static std::string BuildSyncStatusSummaryText( 238 static std::string BuildSyncStatusSummaryText(
242 const browser_sync::SyncBackendHost::StatusSummary& summary); 239 const browser_sync::SyncBackendHost::StatusSummary& summary);
243 240
244 // Returns true if the SyncBackendHost has told us it's ready to accept 241 // Returns true if the SyncBackendHost has told us it's ready to accept
245 // changes. 242 // changes.
246 // [REMARK] - it is safe to call this function only from the ui thread. 243 // [REMARK] - it is safe to call this function only from the ui thread.
247 // because the variable is not thread safe and should only be accessed from 244 // because the variable is not thread safe and should only be accessed from
248 // single thread. If we want multiple threads to access this(and there is 245 // single thread. If we want multiple threads to access this(and there is
(...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 browser_sync::ChangeProcessor* change_processor); 330 browser_sync::ChangeProcessor* change_processor);
334 virtual void DeactivateDataType( 331 virtual void DeactivateDataType(
335 browser_sync::DataTypeController* data_type_controller, 332 browser_sync::DataTypeController* data_type_controller,
336 browser_sync::ChangeProcessor* change_processor); 333 browser_sync::ChangeProcessor* change_processor);
337 334
338 // NotificationObserver implementation. 335 // NotificationObserver implementation.
339 virtual void Observe(NotificationType type, 336 virtual void Observe(NotificationType type,
340 const NotificationSource& source, 337 const NotificationSource& source,
341 const NotificationDetails& details); 338 const NotificationDetails& details);
342 339
343 // BrowserSignin::SigninDelegate interface.
344 virtual void OnLoginSuccess();
345 virtual void OnLoginFailure(const GoogleServiceAuthError& error);
346
347 // Changes which data types we're going to be syncing to |preferred_types|. 340 // Changes which data types we're going to be syncing to |preferred_types|.
348 // If it is running, the DataTypeManager will be instructed to reconfigure 341 // If it is running, the DataTypeManager will be instructed to reconfigure
349 // the sync backend so that exactly these datatypes are actively synced. See 342 // the sync backend so that exactly these datatypes are actively synced. See
350 // class comment for more on what it means for a datatype to be Preferred. 343 // class comment for more on what it means for a datatype to be Preferred.
351 virtual void ChangePreferredDataTypes( 344 virtual void ChangePreferredDataTypes(
352 const syncable::ModelTypeSet& preferred_types); 345 const syncable::ModelTypeSet& preferred_types);
353 346
354 // Get the set of currently enabled data types (as chosen or configured by 347 // Get the set of currently enabled data types (as chosen or configured by
355 // the user). See class comment for more on what it means for a datatype 348 // the user). See class comment for more on what it means for a datatype
356 // to be Preferred. 349 // to be Preferred.
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 bool tried_setting_explicit_passphrase_; 439 bool tried_setting_explicit_passphrase_;
447 440
448 // Whether we have seen a SYNC_PASSPHRASE_REQUIRED since initializing the 441 // Whether we have seen a SYNC_PASSPHRASE_REQUIRED since initializing the
449 // backend, telling us that it is safe to send a passphrase down ASAP. 442 // backend, telling us that it is safe to send a passphrase down ASAP.
450 bool observed_passphrase_required_; 443 bool observed_passphrase_required_;
451 444
452 // Was the last SYNC_PASSPHRASE_REQUIRED notification sent because it 445 // Was the last SYNC_PASSPHRASE_REQUIRED notification sent because it
453 // was required for decryption? 446 // was required for decryption?
454 bool passphrase_required_for_decryption_; 447 bool passphrase_required_for_decryption_;
455 448
449 // Is the user in a passphrase migration?
450 bool passphrase_migration_in_progress_;
451
456 private: 452 private:
457 friend class ProfileSyncServiceTest; 453 friend class ProfileSyncServiceTest;
458 friend class ProfileSyncServicePasswordTest; 454 friend class ProfileSyncServicePasswordTest;
459 friend class ProfileSyncServicePreferenceTest; 455 friend class ProfileSyncServicePreferenceTest;
460 friend class ProfileSyncServiceSessionTest; 456 friend class ProfileSyncServiceSessionTest;
461 FRIEND_TEST_ALL_PREFIXES(ProfileSyncServiceTest, InitialState); 457 FRIEND_TEST_ALL_PREFIXES(ProfileSyncServiceTest, InitialState);
462 FRIEND_TEST_ALL_PREFIXES(ProfileSyncServiceTest, 458 FRIEND_TEST_ALL_PREFIXES(ProfileSyncServiceTest,
463 UnrecoverableErrorSuspendsService); 459 UnrecoverableErrorSuspendsService);
464 460
465 // If |delete_sync_data_folder| is true, then this method will delete all 461 // If |delete_sync_data_folder| is true, then this method will delete all
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
578 // and is necessary because the nudge sync framework can drop nudges for 574 // and is necessary because the nudge sync framework can drop nudges for
579 // a wide variety of sync-related conditions (throttling, connections issues, 575 // a wide variety of sync-related conditions (throttling, connections issues,
580 // syncer paused, etc.). It can only be removed correctly when the framework 576 // syncer paused, etc.). It can only be removed correctly when the framework
581 // is reworked to allow one-shot commands like clearing server data. 577 // is reworked to allow one-shot commands like clearing server data.
582 base::OneShotTimer<ProfileSyncService> clear_server_data_timer_; 578 base::OneShotTimer<ProfileSyncService> clear_server_data_timer_;
583 579
584 DISALLOW_COPY_AND_ASSIGN(ProfileSyncService); 580 DISALLOW_COPY_AND_ASSIGN(ProfileSyncService);
585 }; 581 };
586 582
587 #endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ 583 #endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/sync/profile_sync_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698