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

Side by Side Diff: chrome/browser/chromeos/policy/device_status_collector.cc

Issue 355203007: Remove enterprise device user report size limit. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 5 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
« no previous file with comments | « no previous file | chrome/browser/chromeos/policy/device_status_collector_browsertest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/chromeos/policy/device_status_collector.h" 5 #include "chrome/browser/chromeos/policy/device_status_collector.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/bind_helpers.h" 10 #include "base/bind_helpers.h"
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 66
67 // Determine the day key (milliseconds since epoch for corresponding day in UTC) 67 // Determine the day key (milliseconds since epoch for corresponding day in UTC)
68 // for a given |timestamp|. 68 // for a given |timestamp|.
69 int64 TimestampToDayKey(Time timestamp) { 69 int64 TimestampToDayKey(Time timestamp) {
70 Time::Exploded exploded; 70 Time::Exploded exploded;
71 timestamp.LocalMidnight().LocalExplode(&exploded); 71 timestamp.LocalMidnight().LocalExplode(&exploded);
72 return (Time::FromUTCExploded(exploded) - Time::UnixEpoch()).InMilliseconds(); 72 return (Time::FromUTCExploded(exploded) - Time::UnixEpoch()).InMilliseconds();
73 } 73 }
74 74
75 // Maximum number of users to report. 75 // Maximum number of users to report.
76 const int kMaxUserCount = 5; 76 const int kMaxUserCount = 500;
77 77
78 } // namespace 78 } // namespace
79 79
80 namespace policy { 80 namespace policy {
81 81
82 DeviceStatusCollector::DeviceStatusCollector( 82 DeviceStatusCollector::DeviceStatusCollector(
83 PrefService* local_state, 83 PrefService* local_state,
84 chromeos::system::StatisticsProvider* provider, 84 chromeos::system::StatisticsProvider* provider,
85 LocationUpdateRequester* location_update_requester) 85 LocationUpdateRequester* location_update_requester)
86 : max_stored_past_activity_days_(kMaxStoredPastActivityDays), 86 : max_stored_past_activity_days_(kMaxStoredPastActivityDays),
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
423 if (!(*device)->meid().empty()) 423 if (!(*device)->meid().empty())
424 interface->set_meid((*device)->meid()); 424 interface->set_meid((*device)->meid());
425 if (!(*device)->imei().empty()) 425 if (!(*device)->imei().empty())
426 interface->set_imei((*device)->imei()); 426 interface->set_imei((*device)->imei());
427 } 427 }
428 } 428 }
429 429
430 void DeviceStatusCollector::GetUsers(em::DeviceStatusReportRequest* request) { 430 void DeviceStatusCollector::GetUsers(em::DeviceStatusReportRequest* request) {
431 policy::BrowserPolicyConnectorChromeOS* connector = 431 policy::BrowserPolicyConnectorChromeOS* connector =
432 g_browser_process->platform_part()->browser_policy_connector_chromeos(); 432 g_browser_process->platform_part()->browser_policy_connector_chromeos();
433 bool found_managed_user = false;
434 const chromeos::UserList& users = chromeos::UserManager::Get()->GetUsers(); 433 const chromeos::UserList& users = chromeos::UserManager::Get()->GetUsers();
435 chromeos::UserList::const_iterator user; 434 chromeos::UserList::const_iterator user;
436 for (user = users.begin(); user != users.end(); ++user) { 435 for (user = users.begin(); user != users.end(); ++user) {
437 // Only regular users are reported. 436 // Only regular users are reported.
438 if ((*user)->GetType() != chromeos::User::USER_TYPE_REGULAR) 437 if ((*user)->GetType() != chromeos::User::USER_TYPE_REGULAR)
439 continue; 438 continue;
440 439
441 em::DeviceUser* device_user = request->add_user(); 440 em::DeviceUser* device_user = request->add_user();
442 const std::string& email = (*user)->email(); 441 const std::string& email = (*user)->email();
443 if (connector->GetUserAffiliation(email) == USER_AFFILIATION_MANAGED) { 442 if (connector->GetUserAffiliation(email) == USER_AFFILIATION_MANAGED) {
444 device_user->set_type(em::DeviceUser::USER_TYPE_MANAGED); 443 device_user->set_type(em::DeviceUser::USER_TYPE_MANAGED);
445 device_user->set_email(email); 444 device_user->set_email(email);
446 found_managed_user = true;
447 } else { 445 } else {
448 device_user->set_type(em::DeviceUser::USER_TYPE_UNMANAGED); 446 device_user->set_type(em::DeviceUser::USER_TYPE_UNMANAGED);
449 // Do not report the email address of unmanaged users. 447 // Do not report the email address of unmanaged users.
450 } 448 }
451 449
452 // Add only kMaxUserCount entries, unless no managed users are found in the 450 // Add only kMaxUserCount entries.
453 // first kMaxUserCount users. In that case, continue until at least one 451 if (request->user_size() >= kMaxUserCount)
Joao da Silva 2014/07/07 09:43:23 500 is an extreme limit for this... why not just r
454 // managed user is found.
455 if (request->user_size() >= kMaxUserCount && found_managed_user)
456 break; 452 break;
457 } 453 }
458 } 454 }
459 455
460 void DeviceStatusCollector::GetStatus(em::DeviceStatusReportRequest* request) { 456 void DeviceStatusCollector::GetStatus(em::DeviceStatusReportRequest* request) {
461 // TODO(mnissler): Remove once the old cloud policy stack is retired. The old 457 // TODO(mnissler): Remove once the old cloud policy stack is retired. The old
462 // stack doesn't support reporting successful submissions back to here, so 458 // stack doesn't support reporting successful submissions back to here, so
463 // just assume whatever ends up in |request| gets submitted successfully. 459 // just assume whatever ends up in |request| gets submitted successfully.
464 GetDeviceStatus(request); 460 GetDeviceStatus(request);
465 OnSubmittedSuccessfully(); 461 OnSubmittedSuccessfully();
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
559 location.SetDouble(kSpeed, position.speed); 555 location.SetDouble(kSpeed, position.speed);
560 location.SetString(kTimestamp, 556 location.SetString(kTimestamp,
561 base::Int64ToString(position.timestamp.ToInternalValue())); 557 base::Int64ToString(position.timestamp.ToInternalValue()));
562 local_state_->Set(prefs::kDeviceLocation, location); 558 local_state_->Set(prefs::kDeviceLocation, location);
563 } 559 }
564 560
565 ScheduleGeolocationUpdateRequest(); 561 ScheduleGeolocationUpdateRequest();
566 } 562 }
567 563
568 } // namespace policy 564 } // namespace policy
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/policy/device_status_collector_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698