| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/startup_controller.h" | 5 #include "chrome/browser/sync/startup_controller.h" |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/message_loop/message_loop.h" | 8 #include "base/location.h" |
| 9 #include "base/metrics/histogram.h" | 9 #include "base/metrics/histogram.h" |
| 10 #include "base/single_thread_task_runner.h" |
| 10 #include "base/strings/string_number_conversions.h" | 11 #include "base/strings/string_number_conversions.h" |
| 12 #include "base/thread_task_runner_handle.h" |
| 11 #include "chrome/browser/sync/supervised_user_signin_manager_wrapper.h" | 13 #include "chrome/browser/sync/supervised_user_signin_manager_wrapper.h" |
| 12 #include "chrome/common/chrome_switches.h" | 14 #include "chrome/common/chrome_switches.h" |
| 13 #include "components/signin/core/browser/profile_oauth2_token_service.h" | 15 #include "components/signin/core/browser/profile_oauth2_token_service.h" |
| 14 #include "components/sync_driver/sync_prefs.h" | 16 #include "components/sync_driver/sync_prefs.h" |
| 15 | 17 |
| 16 namespace browser_sync { | 18 namespace browser_sync { |
| 17 | 19 |
| 18 namespace { | 20 namespace { |
| 19 | 21 |
| 20 // The amount of time we'll wait to initialize sync if no data type triggers | 22 // The amount of time we'll wait to initialize sync if no data type triggers |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 85 const bool first_start = start_up_time_.is_null(); | 87 const bool first_start = start_up_time_.is_null(); |
| 86 if (first_start) | 88 if (first_start) |
| 87 start_up_time_ = base::Time::Now(); | 89 start_up_time_ = base::Time::Now(); |
| 88 | 90 |
| 89 if (deferred_option == STARTUP_BACKEND_DEFERRED && | 91 if (deferred_option == STARTUP_BACKEND_DEFERRED && |
| 90 !base::CommandLine::ForCurrentProcess()->HasSwitch( | 92 !base::CommandLine::ForCurrentProcess()->HasSwitch( |
| 91 switches::kSyncDisableDeferredStartup) && | 93 switches::kSyncDisableDeferredStartup) && |
| 92 sync_prefs_->GetPreferredDataTypes(registered_types_) | 94 sync_prefs_->GetPreferredDataTypes(registered_types_) |
| 93 .Has(syncer::SESSIONS)) { | 95 .Has(syncer::SESSIONS)) { |
| 94 if (first_start) { | 96 if (first_start) { |
| 95 base::MessageLoop::current()->PostDelayedTask( | 97 base::ThreadTaskRunnerHandle::Get()->PostDelayedTask( |
| 96 FROM_HERE, | 98 FROM_HERE, |
| 97 base::Bind(&StartupController::OnFallbackStartupTimerExpired, | 99 base::Bind(&StartupController::OnFallbackStartupTimerExpired, |
| 98 weak_factory_.GetWeakPtr()), fallback_timeout_); | 100 weak_factory_.GetWeakPtr()), |
| 101 fallback_timeout_); |
| 99 } | 102 } |
| 100 return false; | 103 return false; |
| 101 } | 104 } |
| 102 | 105 |
| 103 if (start_backend_time_.is_null()) { | 106 if (start_backend_time_.is_null()) { |
| 104 start_backend_time_ = base::Time::Now(); | 107 start_backend_time_ = base::Time::Now(); |
| 105 start_backend_.Run(); | 108 start_backend_.Run(); |
| 106 first_start_ = false; | 109 first_start_ = false; |
| 107 } | 110 } |
| 108 | 111 |
| (...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 syncer::MODEL_TYPE_COUNT); | 233 syncer::MODEL_TYPE_COUNT); |
| 231 UMA_HISTOGRAM_ENUMERATION("Sync.Startup.DeferredInitTrigger", | 234 UMA_HISTOGRAM_ENUMERATION("Sync.Startup.DeferredInitTrigger", |
| 232 TRIGGER_DATA_TYPE_REQUEST, | 235 TRIGGER_DATA_TYPE_REQUEST, |
| 233 MAX_TRIGGER_VALUE); | 236 MAX_TRIGGER_VALUE); |
| 234 } | 237 } |
| 235 received_start_request_ = true; | 238 received_start_request_ = true; |
| 236 TryStart(); | 239 TryStart(); |
| 237 } | 240 } |
| 238 | 241 |
| 239 } // namespace browser_sync | 242 } // namespace browser_sync |
| OLD | NEW |