diff options
25 files changed, 108 insertions, 64 deletions
diff --git a/chrome/browser/DEPS b/chrome/browser/DEPS index 08d20ee..40eea9e 100644 --- a/chrome/browser/DEPS +++ b/chrome/browser/DEPS @@ -34,6 +34,7 @@ include_rules = [ "+components/nacl/common", "+components/navigation_interception", "+components/navigation_metrics", + "+components/network_time", "+components/os_crypt", "+components/password_manager", "+components/policy", diff --git a/chrome/browser/browser_process.h b/chrome/browser/browser_process.h index 8e46d93..90a2cf6 100644 --- a/chrome/browser/browser_process.h +++ b/chrome/browser/browser_process.h @@ -29,7 +29,6 @@ class IntranetRedirectDetector; class IOThread; class MediaFileSystemRegistry; class MetricsService; -class NetworkTimeTracker; class NotificationUIManager; class PrefRegistrySimple; class PrefService; @@ -63,6 +62,10 @@ namespace net { class URLRequestContextGetter; } +namespace network_time { +class NetworkTimeTracker; +} + namespace policy { class BrowserPolicyConnector; class PolicyService; @@ -220,7 +223,7 @@ class BrowserProcess { virtual WebRtcLogUploader* webrtc_log_uploader() = 0; #endif - virtual NetworkTimeTracker* network_time_tracker() = 0; + virtual network_time::NetworkTimeTracker* network_time_tracker() = 0; private: DISALLOW_COPY_AND_ASSIGN(BrowserProcess); diff --git a/chrome/browser/browser_process_impl.cc b/chrome/browser/browser_process_impl.cc index 33969aa..19f054e 100644 --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc @@ -50,7 +50,6 @@ #include "chrome/browser/net/chrome_net_log.h" #include "chrome/browser/net/crl_set_fetcher.h" #include "chrome/browser/net/sdch_dictionary_fetcher.h" -#include "chrome/browser/network_time/network_time_tracker.h" #include "chrome/browser/notifications/notification_ui_manager.h" #include "chrome/browser/plugins/chrome_plugin_service_filter.h" #include "chrome/browser/plugins/plugin_finder.h" @@ -77,6 +76,7 @@ #include "chrome/common/url_constants.h" #include "chrome/installer/util/google_update_constants.h" #include "chrome/installer/util/google_update_settings.h" +#include "components/network_time/network_time_tracker.h" #include "components/policy/core/common/policy_service.h" #include "components/signin/core/common/profile_management_switches.h" #include "components/translate/core/browser/translate_download_manager.h" @@ -633,9 +633,9 @@ WebRtcLogUploader* BrowserProcessImpl::webrtc_log_uploader() { } #endif -NetworkTimeTracker* BrowserProcessImpl::network_time_tracker() { +network_time::NetworkTimeTracker* BrowserProcessImpl::network_time_tracker() { if (!network_time_tracker_) { - network_time_tracker_.reset(new NetworkTimeTracker( + network_time_tracker_.reset(new network_time::NetworkTimeTracker( scoped_ptr<base::TickClock>(new base::DefaultTickClock()), local_state())); } diff --git a/chrome/browser/browser_process_impl.h b/chrome/browser/browser_process_impl.h index 5631a5e..3d014d7 100644 --- a/chrome/browser/browser_process_impl.h +++ b/chrome/browser/browser_process_impl.h @@ -132,7 +132,7 @@ class BrowserProcessImpl : public BrowserProcess, #if defined(ENABLE_WEBRTC) virtual WebRtcLogUploader* webrtc_log_uploader() OVERRIDE; #endif - virtual NetworkTimeTracker* network_time_tracker() OVERRIDE; + virtual network_time::NetworkTimeTracker* network_time_tracker() OVERRIDE; static void RegisterPrefs(PrefRegistrySimple* registry); @@ -286,7 +286,7 @@ class BrowserProcessImpl : public BrowserProcess, scoped_ptr<WebRtcLogUploader> webrtc_log_uploader_; #endif - scoped_ptr<NetworkTimeTracker> network_time_tracker_; + scoped_ptr<network_time::NetworkTimeTracker> network_time_tracker_; DISALLOW_COPY_AND_ASSIGN(BrowserProcessImpl); }; diff --git a/chrome/browser/metrics/variations/variations_service.cc b/chrome/browser/metrics/variations/variations_service.cc index ce5dbd6..92612bb 100644 --- a/chrome/browser/metrics/variations/variations_service.cc +++ b/chrome/browser/metrics/variations/variations_service.cc @@ -16,10 +16,10 @@ #include "base/timer/elapsed_timer.h" #include "base/version.h" #include "chrome/browser/browser_process.h" -#include "chrome/browser/network_time/network_time_tracker.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/pref_names.h" #include "components/metrics/metrics_state_manager.h" +#include "components/network_time/network_time_tracker.h" #include "components/pref_registry/pref_registry_syncable.h" #include "components/variations/proto/variations_seed.pb.h" #include "components/variations/variations_seed_processor.h" diff --git a/chrome/browser/network_time/network_time.h b/chrome/browser/network_time/network_time.h deleted file mode 100644 index 90d5a93..0000000 --- a/chrome/browser/network_time/network_time.h +++ /dev/null @@ -1,28 +0,0 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#ifndef CHROME_BROWSER_NETWORK_TIME_NETWORK_TIME_H_ -#define CHROME_BROWSER_NETWORK_TIME_NETWORK_TIME_H_ - -#include "base/time/time.h" - -// NetworkTime is a wrapper for Time that indicates that the underlying Time -// object represents real (network) time. This is to force conversions (from -// local to network time and vice versa) to be explicit. -class NetworkTime { - public: - NetworkTime() {} - explicit NetworkTime(base::Time t) : time_internal_(t) {} - ~NetworkTime() {} - - base::Time GetTime() const { - return time_internal_; - } - - private: - // Network time value. - base::Time time_internal_; -}; - -#endif // CHROME_BROWSER_NETWORK_TIME_NETWORK_TIME_H_ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc index 2845021..fcc3191 100644 --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc @@ -45,7 +45,6 @@ #include "chrome/browser/net/predictor.h" #include "chrome/browser/net/pref_proxy_config_tracker_impl.h" #include "chrome/browser/net/ssl_config_service_manager.h" -#include "chrome/browser/network_time/network_time_tracker.h" #include "chrome/browser/notifications/desktop_notification_service.h" #include "chrome/browser/notifications/message_center_notification_manager.h" #include "chrome/browser/pepper_flash_settings_manager.h" @@ -89,6 +88,7 @@ #include "chrome/common/pref_names.h" #include "components/autofill/core/browser/autofill_manager.h" #include "components/bookmarks/browser/bookmark_utils.h" +#include "components/network_time/network_time_tracker.h" #include "components/password_manager/core/browser/password_manager.h" #include "components/pref_registry/pref_registry_syncable.h" #include "components/rappor/rappor_service.h" @@ -235,7 +235,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) { IOThread::RegisterPrefs(registry); KeywordEditorController::RegisterPrefs(registry); MetricsService::RegisterPrefs(registry); - NetworkTimeTracker::RegisterPrefs(registry); + network_time::NetworkTimeTracker::RegisterPrefs(registry); PrefProxyConfigTrackerImpl::RegisterPrefs(registry); ProfileInfoCache::RegisterPrefs(registry); profiles::RegisterPrefs(registry); diff --git a/chrome/browser/sync/glue/sync_backend_host_impl.cc b/chrome/browser/sync/glue/sync_backend_host_impl.cc index 9159037..253db61 100644 --- a/chrome/browser/sync/glue/sync_backend_host_impl.cc +++ b/chrome/browser/sync/glue/sync_backend_host_impl.cc @@ -8,12 +8,12 @@ #include "base/logging.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/chrome_notification_types.h" -#include "chrome/browser/network_time/network_time_tracker.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/sync/glue/sync_backend_host_core.h" #include "chrome/browser/sync/glue/sync_backend_registrar.h" #include "chrome/common/chrome_switches.h" #include "components/invalidation/invalidation_service.h" +#include "components/network_time/network_time_tracker.h" #include "components/sync_driver/sync_frontend.h" #include "components/sync_driver/sync_prefs.h" #include "content/public/browser/browser_thread.h" diff --git a/chrome/browser/upgrade_detector_impl.cc b/chrome/browser/upgrade_detector_impl.cc index 80f9361..3137fb0 100644 --- a/chrome/browser/upgrade_detector_impl.cc +++ b/chrome/browser/upgrade_detector_impl.cc @@ -23,10 +23,10 @@ #include "base/version.h" #include "chrome/browser/browser_process.h" #include "chrome/browser/google/google_util.h" -#include "chrome/browser/network_time/network_time_tracker.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/chrome_version_info.h" #include "chrome/common/pref_names.h" +#include "components/network_time/network_time_tracker.h" #include "content/public/browser/browser_thread.h" #include "ui/base/resource/resource_bundle.h" diff --git a/chrome/chrome_browser.gypi b/chrome/chrome_browser.gypi index be66d1c..1ed60ff 100644 --- a/chrome/chrome_browser.gypi +++ b/chrome/chrome_browser.gypi @@ -45,6 +45,7 @@ '../components/components.gyp:metrics', '../components/components.gyp:metrics_net', '../components/components.gyp:navigation_metrics', + '../components/components.gyp:network_time', '../components/components.gyp:os_crypt', '../components/components.gyp:password_manager_core_browser', '../components/components.gyp:password_manager_core_common', @@ -1356,9 +1357,6 @@ 'browser/net/timed_cache.h', 'browser/net/url_info.cc', 'browser/net/url_info.h', - 'browser/network_time/network_time.h', - 'browser/network_time/network_time_tracker.cc', - 'browser/network_time/network_time_tracker.h', 'browser/notifications/desktop_notification_service.cc', 'browser/notifications/desktop_notification_service.h', 'browser/notifications/desktop_notification_service_factory.cc', diff --git a/chrome/chrome_tests_unit.gypi b/chrome/chrome_tests_unit.gypi index d969d0c..302f9ce 100644 --- a/chrome/chrome_tests_unit.gypi +++ b/chrome/chrome_tests_unit.gypi @@ -1129,7 +1129,6 @@ 'browser/net/sqlite_server_bound_cert_store_unittest.cc', 'browser/net/ssl_config_service_manager_pref_unittest.cc', 'browser/net/url_info_unittest.cc', - 'browser/network_time/network_time_tracker_unittest.cc', 'browser/notifications/desktop_notification_service_unittest.cc', 'browser/notifications/extension_welcome_notification_unittest.cc', 'browser/notifications/login_state_notification_blocker_chromeos_unittest.cc', diff --git a/chrome/common/pref_names.cc b/chrome/common/pref_names.cc index 49980b3..3d61aa3f 100644 --- a/chrome/common/pref_names.cc +++ b/chrome/common/pref_names.cc @@ -2452,10 +2452,6 @@ const char kWatchdogExtensionActiveOld[] = // of Chrome. const char kProfilePreferenceHashes[] = "profile.preference_hashes"; -// Stores a pair of local time and corresponding network time to bootstrap -// network time tracker when browser starts. -const char kNetworkTimeMapping[] = "network_time.network_time_mapping"; - #if defined(OS_ANDROID) // A list of partner bookmark rename/remove mappings. // Each list item is a dictionary containing a "url", a "provider_title" and diff --git a/chrome/common/pref_names.h b/chrome/common/pref_names.h index 6dbb1f8..c9ec3c1 100644 --- a/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h @@ -850,8 +850,6 @@ extern const char kWatchdogExtensionActiveOld[]; extern const char kProfilePreferenceHashes[]; -extern const char kNetworkTimeMapping[]; - #if defined(OS_ANDROID) extern const char kPartnerBookmarkMappings[]; #endif diff --git a/chrome/test/base/testing_browser_process.cc b/chrome/test/base/testing_browser_process.cc index 5960a0c..cbcbe1c 100644 --- a/chrome/test/base/testing_browser_process.cc +++ b/chrome/test/base/testing_browser_process.cc @@ -13,10 +13,10 @@ #include "chrome/browser/browser_process.h" #include "chrome/browser/browser_process_impl.h" #include "chrome/browser/extensions/chrome_extensions_browser_client.h" -#include "chrome/browser/network_time/network_time_tracker.h" #include "chrome/browser/printing/print_job_manager.h" #include "chrome/browser/profiles/profile_manager.h" #include "chrome/test/base/testing_browser_process_platform_part.h" +#include "components/network_time/network_time_tracker.h" #include "content/public/browser/notification_service.h" #include "net/url_request/url_request_context_getter.h" #include "testing/gtest/include/gtest/gtest.h" @@ -362,10 +362,11 @@ WebRtcLogUploader* TestingBrowserProcess::webrtc_log_uploader() { } #endif -NetworkTimeTracker* TestingBrowserProcess::network_time_tracker() { +network_time::NetworkTimeTracker* +TestingBrowserProcess::network_time_tracker() { if (!network_time_tracker_) { DCHECK(local_state_); - network_time_tracker_.reset(new NetworkTimeTracker( + network_time_tracker_.reset(new network_time::NetworkTimeTracker( scoped_ptr<base::TickClock>(new base::DefaultTickClock()), local_state_)); } diff --git a/chrome/test/base/testing_browser_process.h b/chrome/test/base/testing_browser_process.h index 3ecdf47..c7d1c3d 100644 --- a/chrome/test/base/testing_browser_process.h +++ b/chrome/test/base/testing_browser_process.h @@ -118,7 +118,7 @@ class TestingBrowserProcess : public BrowserProcess { virtual WebRtcLogUploader* webrtc_log_uploader() OVERRIDE; #endif - virtual NetworkTimeTracker* network_time_tracker() OVERRIDE; + virtual network_time::NetworkTimeTracker* network_time_tracker() OVERRIDE; // Set the local state for tests. Consumer is responsible for cleaning it up // afterwards (using ScopedTestingLocalState, for example). @@ -163,7 +163,7 @@ class TestingBrowserProcess : public BrowserProcess { scoped_ptr<MediaFileSystemRegistry> media_file_system_registry_; #endif - scoped_ptr<NetworkTimeTracker> network_time_tracker_; + scoped_ptr<network_time::NetworkTimeTracker> network_time_tracker_; // The following objects are not owned by TestingBrowserProcess: PrefService* local_state_; diff --git a/components/OWNERS b/components/OWNERS index 7567c8d..985af30 100644 --- a/components/OWNERS +++ b/components/OWNERS @@ -80,6 +80,9 @@ per-file nacl*=teravest@chromium.org per-file navigation_interception.gypi=mkosiba@chromium.org +per-file network_time.gypi=zea@chromium.org +per-file network_time.gypi=haitaol@chromium.org + per-file onc.gypi=armansito@chromium.org per-file onc.gypi=gauravsh@chromium.org per-file onc.gypi=gspencer@chromium.org diff --git a/components/components.gyp b/components/components.gyp index 2783682..c879fb6 100644 --- a/components/components.gyp +++ b/components/components.gyp @@ -31,6 +31,7 @@ 'language_usage_metrics.gypi', 'metrics.gypi', 'navigation_metrics.gypi', + 'network_time.gypi', 'onc.gypi', 'os_crypt.gypi', 'password_manager.gypi', diff --git a/components/components_tests.gyp b/components/components_tests.gyp index 54fa78a..30ff41a 100644 --- a/components/components_tests.gyp +++ b/components/components_tests.gyp @@ -116,6 +116,7 @@ 'metrics/net/compression_utils_unittest.cc', 'metrics/persisted_logs_unittest.cc', 'navigation_interception/intercept_navigation_resource_throttle_unittest.cc', + 'network_time/network_time_tracker_unittest.cc', 'os_crypt/ie7_password_win_unittest.cc', 'os_crypt/keychain_password_mac_unittest.mm', 'os_crypt/os_crypt_unittest.cc', @@ -270,6 +271,9 @@ 'components.gyp:metrics', 'components.gyp:metrics_net', + # Dependencies of network_time + 'components.gyp:network_time', + # Dependencies of os_crypt 'components.gyp:os_crypt', @@ -380,6 +384,7 @@ ['include', '^keyed_service/core/'], ['include', '^language_usage_metrics/'], ['include', '^metrics/'], + ['include', '^network_time/'], ['include', '^password_manager/'], ['include', '^precache/core/'], ['include', '^search_provider_logos/'], diff --git a/components/network_time.gypi b/components/network_time.gypi new file mode 100644 index 0000000..22426d9 --- /dev/null +++ b/components/network_time.gypi @@ -0,0 +1,24 @@ +# Copyright 2014 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +{ + 'targets': [ + { + 'target_name': 'network_time', + 'type': 'static_library', + 'dependencies': [ + '../base/base.gyp:base', + ], + 'include_dirs': [ + '..', + ], + 'sources': [ + 'network_time/network_time_tracker.cc', + 'network_time/network_time_tracker.h', + 'network_time/network_time_pref_names.cc', + 'network_time/network_time_pref_names.h', + ], + }, + ], +} diff --git a/chrome/browser/network_time/OWNERS b/components/network_time/OWNERS index 4067d41..4067d41 100644 --- a/chrome/browser/network_time/OWNERS +++ b/components/network_time/OWNERS diff --git a/components/network_time/network_time_pref_names.cc b/components/network_time/network_time_pref_names.cc new file mode 100644 index 0000000..a1160e2 --- /dev/null +++ b/components/network_time/network_time_pref_names.cc @@ -0,0 +1,15 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#include "components/network_time/network_time_pref_names.h" + +namespace network_time { +namespace prefs { + +// Stores a pair of local time and corresponding network time to bootstrap +// network time tracker when browser starts. +const char kNetworkTimeMapping[] = "network_time.network_time_mapping"; + +} // namespace prefs +} // namespace network_time diff --git a/components/network_time/network_time_pref_names.h b/components/network_time/network_time_pref_names.h new file mode 100644 index 0000000..3476c53 --- /dev/null +++ b/components/network_time/network_time_pref_names.h @@ -0,0 +1,16 @@ +// Copyright 2014 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef COMPONENTS_NETWORK_TIME_NETWORK_TIME_PREF_NAMES_H_ +#define COMPONENTS_NETWORK_TIME_NETWORK_TIME_PREF_NAMES_H_ + +namespace network_time { +namespace prefs { + +extern const char kNetworkTimeMapping[]; + +} // namespace prefs +} // namespace network_time + +#endif // COMPONENTS_NETWORK_TIME_NETWORK_TIME_PREF_NAMES_H_ diff --git a/chrome/browser/network_time/network_time_tracker.cc b/components/network_time/network_time_tracker.cc index 0098b5b..76ee415 100644 --- a/chrome/browser/network_time/network_time_tracker.cc +++ b/components/network_time/network_time_tracker.cc @@ -1,8 +1,8 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. +// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/network_time/network_time_tracker.h" +#include "components/network_time/network_time_tracker.h" #include "base/basictypes.h" #include "base/i18n/time_formatting.h" @@ -11,7 +11,9 @@ #include "base/prefs/pref_service.h" #include "base/strings/utf_string_conversions.h" #include "base/time/tick_clock.h" -#include "chrome/common/pref_names.h" +#include "components/network_time/network_time_pref_names.h" + +namespace network_time { namespace { @@ -119,3 +121,5 @@ bool NetworkTimeTracker::GetNetworkTime(base::TimeTicks time_ticks, *uncertainty = network_time_uncertainty_; return true; } + +} // namespace network_time diff --git a/chrome/browser/network_time/network_time_tracker.h b/components/network_time/network_time_tracker.h index 4c670d3..80fd0c2 100644 --- a/chrome/browser/network_time/network_time_tracker.h +++ b/components/network_time/network_time_tracker.h @@ -1,9 +1,9 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. +// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#ifndef CHROME_BROWSER_NETWORK_TIME_NETWORK_TIME_TRACKER_H_ -#define CHROME_BROWSER_NETWORK_TIME_NETWORK_TIME_TRACKER_H_ +#ifndef COMPONENTS_NETWORK_TIME_NETWORK_TIME_TRACKER_H_ +#define COMPONENTS_NETWORK_TIME_NETWORK_TIME_TRACKER_H_ #include "base/memory/scoped_ptr.h" #include "base/threading/thread_checker.h" @@ -16,6 +16,8 @@ namespace base { class TickClock; } +namespace network_time { + // A class that receives network time updates and can provide the network time // for a corresponding local time. This class is not thread safe. class NetworkTimeTracker { @@ -73,4 +75,6 @@ class NetworkTimeTracker { DISALLOW_COPY_AND_ASSIGN(NetworkTimeTracker); }; -#endif // CHROME_BROWSER_NETWORK_TIME_NETWORK_TIME_TRACKER_H_ +} // namespace network_time + +#endif // COMPONENTS_NETWORK_TIME_NETWORK_TIME_TRACKER_H_ diff --git a/chrome/browser/network_time/network_time_tracker_unittest.cc b/components/network_time/network_time_tracker_unittest.cc index 6cd9972..3febae8 100644 --- a/chrome/browser/network_time/network_time_tracker_unittest.cc +++ b/components/network_time/network_time_tracker_unittest.cc @@ -1,8 +1,8 @@ -// Copyright 2013 The Chromium Authors. All rights reserved. +// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -#include "chrome/browser/network_time/network_time_tracker.h" +#include "components/network_time/network_time_tracker.h" #include <math.h> @@ -11,6 +11,8 @@ #include "base/time/tick_clock.h" #include "testing/gtest/include/gtest/gtest.h" +namespace network_time { + namespace { // These are all in milliseconds. @@ -157,3 +159,5 @@ TEST_F(NetworkTimeTrackerTest, NetworkTimeUpdates) { old_ticks); EXPECT_TRUE(ValidateExpectedTime()); } + +} // namespace network_time |