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

Unified Diff: chrome/browser/browser_process_platform_part_chromeos.cc

Issue 834073002: ChromeOS: Implement periodic timezone refresh on geolocation data. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Cleanup. Created 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/browser_process_platform_part_chromeos.cc
diff --git a/chrome/browser/browser_process_platform_part_chromeos.cc b/chrome/browser/browser_process_platform_part_chromeos.cc
index 9ae7863744c1f7a3376b9ef05e2fd6629ce9fdf4..5345e6ec8f06aacb38aa9a8b503363a7a4164140 100644
--- a/chrome/browser/browser_process_platform_part_chromeos.cc
+++ b/chrome/browser/browser_process_platform_part_chromeos.cc
@@ -12,16 +12,30 @@
#include "chrome/browser/chromeos/login/session/chrome_session_manager.h"
#include "chrome/browser/chromeos/login/users/chrome_user_manager_impl.h"
#include "chrome/browser/chromeos/memory/oom_priority_manager.h"
+#include "chrome/browser/chromeos/net/delay_network_call.h"
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h"
#include "chrome/browser/chromeos/profiles/profile_helper.h"
#include "chrome/browser/chromeos/settings/cros_settings.h"
#include "chrome/browser/chromeos/system/automatic_reboot_manager.h"
#include "chrome/browser/chromeos/system/device_disabling_manager.h"
#include "chrome/browser/chromeos/system/device_disabling_manager_default_delegate.h"
+#include "chrome/browser/chromeos/system/timezone_util.h"
#include "chrome/browser/profiles/profile.h"
+#include "chromeos/geolocation/simple_geolocation_provider.h"
#include "components/session_manager/core/session_manager.h"
#include "components/user_manager/user_manager.h"
+namespace {
+
+// We need DelayNetworkCall() with different order of arguments to be able to
sky 2015/01/20 16:47:30 Is there a reason you can't change the signature i
Alexander Alekseev 2015/01/22 18:55:22 Probably no. Done.
+// bind the first argument.
+void DelayNetworkCallWithDelay(base::TimeDelta delay,
+ const base::Closure& callback) {
+ chromeos::DelayNetworkCall(callback, delay);
+}
+
+} // anonymous namespace
+
BrowserProcessPlatformPart::BrowserProcessPlatformPart()
: created_profile_helper_(false) {
}
@@ -107,6 +121,19 @@ BrowserProcessPlatformPart::browser_policy_connector_chromeos() {
g_browser_process->browser_policy_connector());
}
+chromeos::TimeZoneResolver* BrowserProcessPlatformPart::timezone_resolver() {
+ if (!timezone_resolver_.get()) {
+ timezone_resolver_.reset(new chromeos::TimeZoneResolver(
+ g_browser_process->system_request_context(),
+ chromeos::SimpleGeolocationProvider::DefaultGeolocationProviderURL(),
+ base::Bind(&chromeos::system::ApplyTimeZone),
+ base::Bind(&DelayNetworkCallWithDelay,
+ base::TimeDelta::FromMilliseconds(
+ chromeos::kDefaultNetworkRetryDelayMS))));
+ }
+ return timezone_resolver_.get();
+}
+
void BrowserProcessPlatformPart::StartTearDown() {
profile_helper_.reset();
}

Powered by Google App Engine
This is Rietveld 408576698