Index: chrome/browser/policy/device_token_fetcher.cc |
diff --git a/chrome/browser/policy/device_token_fetcher.cc b/chrome/browser/policy/device_token_fetcher.cc |
index a0ae34fd5080ff1cd7d9474fd0eb1adcad85ed6d..be9a4d5154561e2d36c681dc485765a1435c8c63 100644 |
--- a/chrome/browser/policy/device_token_fetcher.cc |
+++ b/chrome/browser/policy/device_token_fetcher.cc |
@@ -78,6 +78,13 @@ void DeviceTokenFetcher::HandleRegisterResponse( |
void DeviceTokenFetcher::OnError(DeviceManagementBackend::ErrorCode code) { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
+ // For privacy reasons, delete all identifying data when this device is not |
+ // managed. |
+ if (code == DeviceManagementBackend::kErrorServiceManagementNotSupported) { |
+ device_token_ = std::string(); |
+ device_id_ = std::string(); |
+ file_util::Delete(token_path_, false); |
+ } |
SetState(kStateFailure); |
} |
@@ -206,4 +213,4 @@ std::string DeviceTokenFetcher::GenerateNewDeviceID() { |
return guid::GenerateGUID(); |
} |
-} |
+} // namespace policy |