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

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

Issue 3792007: Fix some problems with the ENTER_PASSPHRASE state in sync setup.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 10 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 | Annotate | Revision Log
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
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 // re-authentication, and returns true if it actually opened the dialog. 215 // re-authentication, and returns true if it actually opened the dialog.
216 // Returns false if a dialog is already showing, an auth attempt is in 216 // Returns false if a dialog is already showing, an auth attempt is in
217 // progress, the sync system is already authenticated, or some error 217 // progress, the sync system is already authenticated, or some error
218 // occurred preventing the action. We make it the duty of ProfileSyncService 218 // occurred preventing the action. We make it the duty of ProfileSyncService
219 // to open the dialog to easily ensure only one is ever showing. 219 // to open the dialog to easily ensure only one is ever showing.
220 virtual bool SetupInProgress() const; 220 virtual bool SetupInProgress() const;
221 bool WizardIsVisible() const { 221 bool WizardIsVisible() const {
222 return wizard_.IsVisible(); 222 return wizard_.IsVisible();
223 } 223 }
224 virtual void ShowLoginDialog(gfx::NativeWindow parent_window); 224 virtual void ShowLoginDialog(gfx::NativeWindow parent_window);
225 void ShowChooseDataTypes(gfx::NativeWindow parent_window); 225 void ShowConfigure(gfx::NativeWindow parent_window);
226 226
227 // Pretty-printed strings for a given StatusSummary. 227 // Pretty-printed strings for a given StatusSummary.
228 static std::string BuildSyncStatusSummaryText( 228 static std::string BuildSyncStatusSummaryText(
229 const browser_sync::SyncBackendHost::StatusSummary& summary); 229 const browser_sync::SyncBackendHost::StatusSummary& summary);
230 230
231 // Returns true if the SyncBackendHost has told us it's ready to accept 231 // Returns true if the SyncBackendHost has told us it's ready to accept
232 // changes. 232 // changes.
233 // TODO(timsteele): What happens if the bookmark model is loaded, a change 233 // TODO(timsteele): What happens if the bookmark model is loaded, a change
234 // takes place, and the backend isn't initialized yet? 234 // takes place, and the backend isn't initialized yet?
235 bool sync_initialized() const { return backend_initialized_; } 235 bool sync_initialized() const { return backend_initialized_; }
236 bool unrecoverable_error_detected() const { 236 bool unrecoverable_error_detected() const {
237 return unrecoverable_error_detected_; 237 return unrecoverable_error_detected_;
238 } 238 }
239 const std::string& unrecoverable_error_message() { 239 const std::string& unrecoverable_error_message() {
240 return unrecoverable_error_message_; 240 return unrecoverable_error_message_;
241 } 241 }
242 tracked_objects::Location unrecoverable_error_location() { 242 tracked_objects::Location unrecoverable_error_location() {
243 return unrecoverable_error_location_.get() ? 243 return unrecoverable_error_location_.get() ?
244 *unrecoverable_error_location_.get() : tracked_objects::Location(); 244 *unrecoverable_error_location_.get() : tracked_objects::Location();
245 } 245 }
246 246
247 bool UIShouldDepictAuthInProgress() const { 247 bool UIShouldDepictAuthInProgress() const {
248 return is_auth_in_progress_; 248 return is_auth_in_progress_;
249 } 249 }
250 250
251 bool observed_passphrase_required() const {
252 return observed_passphrase_required_;
253 }
254
251 // A timestamp marking the last time the service observed a transition from 255 // A timestamp marking the last time the service observed a transition from
252 // the SYNCING state to the READY state. Note that this does not reflect the 256 // the SYNCING state to the READY state. Note that this does not reflect the
253 // last time we polled the server to see if there were any changes; the 257 // last time we polled the server to see if there were any changes; the
254 // timestamp is only snapped when syncing takes place and we download or 258 // timestamp is only snapped when syncing takes place and we download or
255 // upload some bookmark entity. 259 // upload some bookmark entity.
256 const base::Time& last_synced_time() const { return last_synced_time_; } 260 const base::Time& last_synced_time() const { return last_synced_time_; }
257 261
258 // Returns a user-friendly string form of last synced time (in minutes). 262 // Returns a user-friendly string form of last synced time (in minutes).
259 string16 GetLastSyncedTimeString() const; 263 string16 GetLastSyncedTimeString() const;
260 264
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
387 // service using this member. Captcha and error state are reflected. 391 // service using this member. Captcha and error state are reflected.
388 GoogleServiceAuthError last_auth_error_; 392 GoogleServiceAuthError last_auth_error_;
389 393
390 // Our asynchronous backend to communicate with sync components living on 394 // Our asynchronous backend to communicate with sync components living on
391 // other threads. 395 // other threads.
392 scoped_ptr<browser_sync::SyncBackendHost> backend_; 396 scoped_ptr<browser_sync::SyncBackendHost> backend_;
393 397
394 // Cache of the last name the client attempted to authenticate. 398 // Cache of the last name the client attempted to authenticate.
395 std::string last_attempted_user_email_; 399 std::string last_attempted_user_email_;
396 400
401 // Whether we have seen a SYNC_PASSPHRASE_REQUIRED since initializing the
402 // backend, telling us that it is safe to send a passphrase down ASAP.
403 bool observed_passphrase_required_;
404
397 private: 405 private:
398 friend class ProfileSyncServiceTest; 406 friend class ProfileSyncServiceTest;
399 friend class ProfileSyncServicePasswordTest; 407 friend class ProfileSyncServicePasswordTest;
400 friend class ProfileSyncServicePreferenceTest; 408 friend class ProfileSyncServicePreferenceTest;
401 friend class ProfileSyncServiceSessionTest; 409 friend class ProfileSyncServiceSessionTest;
402 friend class ProfileSyncServiceTestHarness; 410 friend class ProfileSyncServiceTestHarness;
403 FRIEND_TEST_ALL_PREFIXES(ProfileSyncServiceTest, InitialState); 411 FRIEND_TEST_ALL_PREFIXES(ProfileSyncServiceTest, InitialState);
404 FRIEND_TEST_ALL_PREFIXES(ProfileSyncServiceTest, 412 FRIEND_TEST_ALL_PREFIXES(ProfileSyncServiceTest,
405 UnrecoverableErrorSuspendsService); 413 UnrecoverableErrorSuspendsService);
406 414
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 bool expect_sync_configuration_aborted_; 497 bool expect_sync_configuration_aborted_;
490 498
491 scoped_ptr<TokenMigrator> token_migrator_; 499 scoped_ptr<TokenMigrator> token_migrator_;
492 500
493 // Sometimes we need to temporarily hold on to a passphrase because we don't 501 // Sometimes we need to temporarily hold on to a passphrase because we don't
494 // yet have a backend to send it to. This happens during initialization as 502 // yet have a backend to send it to. This happens during initialization as
495 // we don't StartUp until we have a valid token, which happens after valid 503 // we don't StartUp until we have a valid token, which happens after valid
496 // credentials were provided. 504 // credentials were provided.
497 std::string cached_passphrase_; 505 std::string cached_passphrase_;
498 506
499 // Whether we have seen a SYNC_PASSPHRASE_REQUIRED since initializing the
500 // backend, telling us that it is safe to send a passphrase down ASAP.
501 bool observed_passphrase_required_;
502
503 // Keep track of where we are in a server clear operation 507 // Keep track of where we are in a server clear operation
504 ClearServerDataState clear_server_data_state_; 508 ClearServerDataState clear_server_data_state_;
505 509
506 // Timeout for the clear data command. This timeout is a temporary hack 510 // Timeout for the clear data command. This timeout is a temporary hack
507 // and is necessary becaue the nudge sync framework can drop nudges for 511 // and is necessary becaue the nudge sync framework can drop nudges for
508 // a wide variety of sync-related conditions (throttling, connections issues, 512 // a wide variety of sync-related conditions (throttling, connections issues,
509 // syncer paused, etc.). It can only be removed correctly when the framework 513 // syncer paused, etc.). It can only be removed correctly when the framework
510 // is reworked to allow one-shot commands like clearing server data. 514 // is reworked to allow one-shot commands like clearing server data.
511 base::OneShotTimer<ProfileSyncService> clear_server_data_timer_; 515 base::OneShotTimer<ProfileSyncService> clear_server_data_timer_;
512 516
513 DISALLOW_COPY_AND_ASSIGN(ProfileSyncService); 517 DISALLOW_COPY_AND_ASSIGN(ProfileSyncService);
514 }; 518 };
515 519
516 #endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_ 520 #endif // CHROME_BROWSER_SYNC_PROFILE_SYNC_SERVICE_H_
OLDNEW
« no previous file with comments | « chrome/browser/gtk/options/content_page_gtk.cc ('k') | chrome/browser/sync/profile_sync_service.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698