Commit 27ec06e3 authored by Aga Wronska's avatar Aga Wronska Committed by Commit Bot

Remove UsageTimeLimitPolicy feature flag

The feature is enabled since July 2018.

Bug: 1013650
Change-Id: I23fdbb2a15ec68c6fc7f975c1d800dacb85ca5ff
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1857197Reviewed-by: default avatarSergey Poromov <poromov@chromium.org>
Reviewed-by: default avatarAga Wronska <agawronska@chromium.org>
Reviewed-by: default avatarMarc Treib <treib@chromium.org>
Reviewed-by: default avatarMichael Giuffrida <michaelpg@chromium.org>
Commit-Queue: Aga Wronska <agawronska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#706198}
parent 5940df71
...@@ -219,8 +219,7 @@ void ChildStatusCollector::UpdateReportingSettings() { ...@@ -219,8 +219,7 @@ void ChildStatusCollector::UpdateReportingSettings() {
} }
// Activity times. // Activity times.
report_activity_times_ = report_activity_times_ = true;
base::FeatureList::IsEnabled(features::kUsageTimeLimitPolicy);
// Settings related. // Settings related.
report_version_info_ = true; report_version_info_ = true;
......
...@@ -12,12 +12,12 @@ ...@@ -12,12 +12,12 @@
#include "base/bind.h" #include "base/bind.h"
#include "base/environment.h" #include "base/environment.h"
#include "base/macros.h"
#include "base/memory/ptr_util.h" #include "base/memory/ptr_util.h"
#include "base/run_loop.h" #include "base/run_loop.h"
#include "base/strings/stringprintf.h" #include "base/strings/stringprintf.h"
#include "base/strings/utf_string_conversions.h" #include "base/strings/utf_string_conversions.h"
#include "base/system/sys_info.h" #include "base/system/sys_info.h"
#include "base/test/scoped_feature_list.h"
#include "base/test/scoped_path_override.h" #include "base/test/scoped_path_override.h"
#include "base/threading/thread_task_runner_handle.h" #include "base/threading/thread_task_runner_handle.h"
#include "chrome/browser/chrome_content_browser_client.h" #include "chrome/browser/chrome_content_browser_client.h"
...@@ -28,7 +28,6 @@ ...@@ -28,7 +28,6 @@
#include "chrome/browser/chromeos/settings/scoped_testing_cros_settings.h" #include "chrome/browser/chromeos/settings/scoped_testing_cros_settings.h"
#include "chrome/browser/chromeos/settings/stub_cros_settings_provider.h" #include "chrome/browser/chromeos/settings/stub_cros_settings_provider.h"
#include "chrome/common/chrome_content_client.h" #include "chrome/common/chrome_content_client.h"
#include "chrome/common/chrome_features.h"
#include "chrome/common/chrome_paths.h" #include "chrome/common/chrome_paths.h"
#include "chrome/common/pref_names.h" #include "chrome/common/pref_names.h"
#include "chrome/test/base/chrome_unit_test_suite.h" #include "chrome/test/base/chrome_unit_test_suite.h"
...@@ -73,6 +72,7 @@ constexpr TimeDelta kSixAm = TimeDelta::FromHours(6); ...@@ -73,6 +72,7 @@ constexpr TimeDelta kSixAm = TimeDelta::FromHours(6);
constexpr TimeDelta kHour = TimeDelta::FromHours(1); constexpr TimeDelta kHour = TimeDelta::FromHours(1);
constexpr int64_t kMillisecondsPerDay = Time::kMicrosecondsPerDay / 1000; constexpr int64_t kMillisecondsPerDay = Time::kMicrosecondsPerDay / 1000;
const char kArcStatus[] = R"( const char kArcStatus[] = R"(
{ {
"applications":[ "applications":[
...@@ -187,9 +187,9 @@ namespace policy { ...@@ -187,9 +187,9 @@ namespace policy {
// Though it is a unit test, this test is linked with browser_tests so that it // Though it is a unit test, this test is linked with browser_tests so that it
// runs in a separate process. The intention is to avoid overriding the timezone // runs in a separate process. The intention is to avoid overriding the timezone
// environment variable for other tests. // environment variable for other tests.
class BaseChildStatusCollectorTest : public testing::Test { class ChildStatusCollectorTest : public testing::Test {
public: public:
BaseChildStatusCollectorTest() ChildStatusCollectorTest()
: user_manager_(new chromeos::MockUserManager()), : user_manager_(new chromeos::MockUserManager()),
user_manager_enabler_(base::WrapUnique(user_manager_)), user_manager_enabler_(base::WrapUnique(user_manager_)),
user_data_dir_override_(chrome::DIR_USER_DATA), user_data_dir_override_(chrome::DIR_USER_DATA),
...@@ -229,9 +229,11 @@ class BaseChildStatusCollectorTest : public testing::Test { ...@@ -229,9 +229,11 @@ class BaseChildStatusCollectorTest : public testing::Test {
chromeos::PowerManagerClient::InitializeFake(); chromeos::PowerManagerClient::InitializeFake();
chromeos::LoginState::Initialize(); chromeos::LoginState::Initialize();
MockChildUser(AccountId::FromUserEmail("user0@gmail.com"));
} }
~BaseChildStatusCollectorTest() override { ~ChildStatusCollectorTest() override {
chromeos::LoginState::Shutdown(); chromeos::LoginState::Shutdown();
chromeos::PowerManagerClient::Shutdown(); chromeos::PowerManagerClient::Shutdown();
TestingBrowserProcess::GetGlobal()->SetLocalState(nullptr); TestingBrowserProcess::GetGlobal()->SetLocalState(nullptr);
...@@ -306,17 +308,16 @@ class BaseChildStatusCollectorTest : public testing::Test { ...@@ -306,17 +308,16 @@ class BaseChildStatusCollectorTest : public testing::Test {
android_status_fetcher, android_status_fetcher,
const TimeDelta activity_day_start = kMidnight) { const TimeDelta activity_day_start = kMidnight) {
status_collector_ = std::make_unique<TestingChildStatusCollector>( status_collector_ = std::make_unique<TestingChildStatusCollector>(
&local_state_, &fake_statistics_provider_, android_status_fetcher, &profile_pref_service_, &fake_statistics_provider_,
activity_day_start); android_status_fetcher, activity_day_start);
} }
void GetStatus() { void GetStatus() {
device_status_.Clear(); device_status_.Clear();
session_status_.Clear(); session_status_.Clear();
run_loop_.reset(new base::RunLoop()); run_loop_.reset(new base::RunLoop());
status_collector_->GetStatusAsync( status_collector_->GetStatusAsync(base::BindRepeating(
base::BindRepeating(&BaseChildStatusCollectorTest::OnStatusReceived, &ChildStatusCollectorTest::OnStatusReceived, base::Unretained(this)));
base::Unretained(this)));
run_loop_->Run(); run_loop_->Run();
run_loop_.reset(); run_loop_.reset();
} }
...@@ -353,12 +354,6 @@ class BaseChildStatusCollectorTest : public testing::Test { ...@@ -353,12 +354,6 @@ class BaseChildStatusCollectorTest : public testing::Test {
.WillRepeatedly(Return(false)); .WillRepeatedly(Return(false));
} }
void MockRegularUserWithAffiliation(const AccountId& account_id,
bool is_affiliated) {
MockUserWithTypeAndAffiliation(account_id, user_manager::USER_TYPE_REGULAR,
is_affiliated);
}
void MockChildUser(const AccountId& account_id) { void MockChildUser(const AccountId& account_id) {
MockUserWithTypeAndAffiliation(account_id, user_manager::USER_TYPE_CHILD, MockUserWithTypeAndAffiliation(account_id, user_manager::USER_TYPE_CHILD,
false); false);
...@@ -378,6 +373,29 @@ class BaseChildStatusCollectorTest : public testing::Test { ...@@ -378,6 +373,29 @@ class BaseChildStatusCollectorTest : public testing::Test {
return policy::ChildStatusCollector::kIdlePollIntervalSeconds * 1000; return policy::ChildStatusCollector::kIdlePollIntervalSeconds * 1000;
} }
void ExpectChildScreenTimeMilliseconds(int64_t duration) {
profile_pref_service_.CommitPendingWrite(
base::OnceClosure(),
base::BindOnce(
[](int64_t duration,
TestingPrefServiceSimple* profile_pref_service_) {
EXPECT_EQ(duration, profile_pref_service_->GetInteger(
prefs::kChildScreenTimeMilliseconds));
},
duration, &profile_pref_service_));
}
void ExpectLastChildScreenTimeReset(Time time) {
profile_pref_service_.CommitPendingWrite(
base::OnceClosure(),
base::BindOnce(
[](Time time, TestingPrefServiceSimple* profile_pref_service_) {
EXPECT_EQ(time, profile_pref_service_->GetTime(
prefs::kLastChildScreenTimeReset));
},
time, &profile_pref_service_));
}
// Since this is a unit test running in browser_tests we must do additional // Since this is a unit test running in browser_tests we must do additional
// unit test setup and make a TestingBrowserProcess. Must be first member. // unit test setup and make a TestingBrowserProcess. Must be first member.
TestingBrowserProcessInitializer initializer_; TestingBrowserProcessInitializer initializer_;
...@@ -408,59 +426,10 @@ class BaseChildStatusCollectorTest : public testing::Test { ...@@ -408,59 +426,10 @@ class BaseChildStatusCollectorTest : public testing::Test {
session_manager::SessionManager session_manager_; session_manager::SessionManager session_manager_;
private: private:
DISALLOW_COPY_AND_ASSIGN(BaseChildStatusCollectorTest); DISALLOW_COPY_AND_ASSIGN(ChildStatusCollectorTest);
}; };
// Tests collecting device status for registered consumer device. TEST_F(ChildStatusCollectorTest, ReportingBootMode) {
class ChildStatusCollectorTimeLimitDisabledTest
: public BaseChildStatusCollectorTest {
public:
ChildStatusCollectorTimeLimitDisabledTest() {
user_account_id_ = AccountId::FromUserEmail("user0@gmail.com");
MockChildUser(user_account_id_);
scoped_feature_list_.InitAndDisableFeature(features::kUsageTimeLimitPolicy);
}
~ChildStatusCollectorTimeLimitDisabledTest() override = default;
protected:
void RestartStatusCollector(
const policy::ChildStatusCollector::AndroidStatusFetcher&
android_status_fetcher,
const TimeDelta activity_day_start = kMidnight) override {
status_collector_ = std::make_unique<TestingChildStatusCollector>(
&profile_pref_service_, &fake_statistics_provider_,
android_status_fetcher, activity_day_start);
}
void ExpectChildScreenTimeMilliseconds(int64_t duration) {
profile_pref_service_.CommitPendingWrite(
base::OnceClosure(),
base::BindOnce(
[](int64_t duration,
TestingPrefServiceSimple* profile_pref_service_) {
EXPECT_EQ(duration, profile_pref_service_->GetInteger(
prefs::kChildScreenTimeMilliseconds));
},
duration, &profile_pref_service_));
}
void ExpectLastChildScreenTimeReset(Time time) {
profile_pref_service_.CommitPendingWrite(
base::OnceClosure(),
base::BindOnce(
[](Time time, TestingPrefServiceSimple* profile_pref_service_) {
EXPECT_EQ(time, profile_pref_service_->GetTime(
prefs::kLastChildScreenTimeReset));
},
time, &profile_pref_service_));
}
AccountId user_account_id_;
base::test::ScopedFeatureList scoped_feature_list_;
};
TEST_F(ChildStatusCollectorTimeLimitDisabledTest, ReportingBootMode) {
fake_statistics_provider_.SetMachineStatistic( fake_statistics_provider_.SetMachineStatistic(
chromeos::system::kDevSwitchBootKey, chromeos::system::kDevSwitchBootKey,
chromeos::system::kDevSwitchBootValueVerified); chromeos::system::kDevSwitchBootValueVerified);
...@@ -477,8 +446,7 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest, ReportingBootMode) { ...@@ -477,8 +446,7 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest, ReportingBootMode) {
} }
// TODO(crbug.com/827386): remove after migration. // TODO(crbug.com/827386): remove after migration.
TEST_F(ChildStatusCollectorTimeLimitDisabledTest, TEST_F(ChildStatusCollectorTest, NotReportingWriteProtectSwitch) {
NotReportingWriteProtectSwitch) {
fake_statistics_provider_.SetMachineStatistic( fake_statistics_provider_.SetMachineStatistic(
chromeos::system::kFirmwareWriteProtectBootKey, chromeos::system::kFirmwareWriteProtectBootKey,
chromeos::system::kFirmwareWriteProtectBootValueOn); chromeos::system::kFirmwareWriteProtectBootValueOn);
...@@ -489,7 +457,7 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest, ...@@ -489,7 +457,7 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest,
} }
// END. // END.
TEST_F(ChildStatusCollectorTimeLimitDisabledTest, ReportingArcStatus) { TEST_F(ChildStatusCollectorTest, ReportingArcStatus) {
RestartStatusCollector( RestartStatusCollector(
base::BindRepeating(&GetFakeAndroidStatus, kArcStatus, kDroidGuardInfo)); base::BindRepeating(&GetFakeAndroidStatus, kArcStatus, kDroidGuardInfo));
testing_profile_->GetPrefs()->SetBoolean(prefs::kReportArcStatusEnabled, testing_profile_->GetPrefs()->SetBoolean(prefs::kReportArcStatusEnabled,
...@@ -509,7 +477,7 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest, ReportingArcStatus) { ...@@ -509,7 +477,7 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest, ReportingArcStatus) {
EXPECT_EQ(kFakeDmToken, child_status_.user_dm_token()); EXPECT_EQ(kFakeDmToken, child_status_.user_dm_token());
} }
TEST_F(ChildStatusCollectorTimeLimitDisabledTest, ReportingPartialVersionInfo) { TEST_F(ChildStatusCollectorTest, ReportingPartialVersionInfo) {
GetStatus(); GetStatus();
// TODO(crbug.com/827386): remove after migration. // TODO(crbug.com/827386): remove after migration.
...@@ -525,7 +493,7 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest, ReportingPartialVersionInfo) { ...@@ -525,7 +493,7 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest, ReportingPartialVersionInfo) {
} }
// TODO(crbug.com/827386): remove after migration. // TODO(crbug.com/827386): remove after migration.
TEST_F(ChildStatusCollectorTimeLimitDisabledTest, NotReportingVolumeInfo) { TEST_F(ChildStatusCollectorTest, NotReportingVolumeInfo) {
RestartStatusCollector(base::BindRepeating(&GetEmptyAndroidStatus)); RestartStatusCollector(base::BindRepeating(&GetEmptyAndroidStatus));
content::RunAllTasksUntilIdle(); content::RunAllTasksUntilIdle();
...@@ -534,7 +502,7 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest, NotReportingVolumeInfo) { ...@@ -534,7 +502,7 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest, NotReportingVolumeInfo) {
EXPECT_EQ(0, device_status_.volume_infos_size()); EXPECT_EQ(0, device_status_.volume_infos_size());
} }
TEST_F(ChildStatusCollectorTimeLimitDisabledTest, NotReportingUsers) { TEST_F(ChildStatusCollectorTest, NotReportingUsers) {
const AccountId account_id0(AccountId::FromUserEmail("user0@gmail.com")); const AccountId account_id0(AccountId::FromUserEmail("user0@gmail.com"));
const AccountId account_id1(AccountId::FromUserEmail("user1@gmail.com")); const AccountId account_id1(AccountId::FromUserEmail("user1@gmail.com"));
user_manager_->AddUserWithAffiliationAndType(account_id0, true, user_manager_->AddUserWithAffiliationAndType(account_id0, true,
...@@ -547,7 +515,7 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest, NotReportingUsers) { ...@@ -547,7 +515,7 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest, NotReportingUsers) {
EXPECT_EQ(0, device_status_.users_size()); EXPECT_EQ(0, device_status_.users_size());
} }
TEST_F(ChildStatusCollectorTimeLimitDisabledTest, NotReportingOSUpdateStatus) { TEST_F(ChildStatusCollectorTest, NotReportingOSUpdateStatus) {
MockPlatformVersion("1234.0.0"); MockPlatformVersion("1234.0.0");
GetStatus(); GetStatus();
...@@ -555,8 +523,7 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest, NotReportingOSUpdateStatus) { ...@@ -555,8 +523,7 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest, NotReportingOSUpdateStatus) {
EXPECT_FALSE(device_status_.has_os_update_status()); EXPECT_FALSE(device_status_.has_os_update_status());
} }
TEST_F(ChildStatusCollectorTimeLimitDisabledTest, TEST_F(ChildStatusCollectorTest, NotReportingDeviceHardwareStatus) {
NotReportingDeviceHardwareStatus) {
EXPECT_FALSE(device_status_.has_sound_volume()); EXPECT_FALSE(device_status_.has_sound_volume());
EXPECT_EQ(0, device_status_.cpu_utilization_pct_samples().size()); EXPECT_EQ(0, device_status_.cpu_utilization_pct_samples().size());
EXPECT_EQ(0, device_status_.cpu_temp_infos_size()); EXPECT_EQ(0, device_status_.cpu_temp_infos_size());
...@@ -564,9 +531,8 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest, ...@@ -564,9 +531,8 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest,
EXPECT_FALSE(device_status_.has_system_ram_total()); EXPECT_FALSE(device_status_.has_system_ram_total());
EXPECT_FALSE(device_status_.has_tpm_status_info()); EXPECT_FALSE(device_status_.has_tpm_status_info());
} }
// END.
TEST_F(ChildStatusCollectorTimeLimitDisabledTest, TimeZoneReporting) { TEST_F(ChildStatusCollectorTest, TimeZoneReporting) {
const std::string timezone = const std::string timezone =
base::UTF16ToUTF8(chromeos::system::TimezoneSettings::GetInstance() base::UTF16ToUTF8(chromeos::system::TimezoneSettings::GetInstance()
->GetCurrentTimezoneID()); ->GetCurrentTimezoneID());
...@@ -582,48 +548,7 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest, TimeZoneReporting) { ...@@ -582,48 +548,7 @@ TEST_F(ChildStatusCollectorTimeLimitDisabledTest, TimeZoneReporting) {
EXPECT_EQ(timezone, child_status_.time_zone()); EXPECT_EQ(timezone, child_status_.time_zone());
} }
TEST_F(ChildStatusCollectorTimeLimitDisabledTest, ActivityTimesFeatureDisable) { TEST_F(ChildStatusCollectorTest, ReportingActivityTimesSessionTransistions) {
scoped_testing_cros_settings_.device_settings()->SetBoolean(
chromeos::kReportDeviceActivityTimes, true);
scoped_testing_cros_settings_.device_settings()->SetBoolean(
chromeos::kReportDeviceUsers, true);
DeviceStateTransitions test_states[] = {
DeviceStateTransitions::kEnterSessionActive,
DeviceStateTransitions::kPeriodicCheckTriggered,
DeviceStateTransitions::kPeriodicCheckTriggered,
DeviceStateTransitions::kLeaveSessionActive,
DeviceStateTransitions::kPeriodicCheckTriggered, // Check while inactive
DeviceStateTransitions::kEnterSessionActive,
DeviceStateTransitions::kPeriodicCheckTriggered,
DeviceStateTransitions::kLeaveSessionActive};
SimulateStateChanges(test_states,
sizeof(test_states) / sizeof(DeviceStateTransitions));
GetStatus();
// TODO(crbug.com/827386): remove after migration.
EXPECT_EQ(0, device_status_.active_periods_size());
// END.
EXPECT_EQ(0, child_status_.screen_time_span_size());
}
// Tests collecting device status for registered consumer device when time
// limit feature is enabled.
class ChildStatusCollectorTimeLimitEnabledTest
: public ChildStatusCollectorTimeLimitDisabledTest {
public:
ChildStatusCollectorTimeLimitEnabledTest() {
scoped_feature_list_.InitAndEnableFeature(features::kUsageTimeLimitPolicy);
}
~ChildStatusCollectorTimeLimitEnabledTest() override = default;
private:
base::test::ScopedFeatureList scoped_feature_list_;
};
TEST_F(ChildStatusCollectorTimeLimitEnabledTest,
ReportingActivityTimesSessionTransistions) {
DeviceStateTransitions test_states[] = { DeviceStateTransitions test_states[] = {
DeviceStateTransitions::kEnterSessionActive, DeviceStateTransitions::kEnterSessionActive,
DeviceStateTransitions::kPeriodicCheckTriggered, DeviceStateTransitions::kPeriodicCheckTriggered,
...@@ -652,8 +577,7 @@ TEST_F(ChildStatusCollectorTimeLimitEnabledTest, ...@@ -652,8 +577,7 @@ TEST_F(ChildStatusCollectorTimeLimitEnabledTest,
ExpectChildScreenTimeMilliseconds(5 * ActivePeriodMilliseconds()); ExpectChildScreenTimeMilliseconds(5 * ActivePeriodMilliseconds());
} }
TEST_F(ChildStatusCollectorTimeLimitEnabledTest, TEST_F(ChildStatusCollectorTest, ReportingActivityTimesSleepTransistions) {
ReportingActivityTimesSleepTransistions) {
DeviceStateTransitions test_states[] = { DeviceStateTransitions test_states[] = {
DeviceStateTransitions::kEnterSessionActive, DeviceStateTransitions::kEnterSessionActive,
DeviceStateTransitions::kPeriodicCheckTriggered, DeviceStateTransitions::kPeriodicCheckTriggered,
...@@ -684,8 +608,7 @@ TEST_F(ChildStatusCollectorTimeLimitEnabledTest, ...@@ -684,8 +608,7 @@ TEST_F(ChildStatusCollectorTimeLimitEnabledTest,
ExpectChildScreenTimeMilliseconds(4 * ActivePeriodMilliseconds()); ExpectChildScreenTimeMilliseconds(4 * ActivePeriodMilliseconds());
} }
TEST_F(ChildStatusCollectorTimeLimitEnabledTest, TEST_F(ChildStatusCollectorTest, ReportingActivityTimesIdleTransitions) {
ReportingActivityTimesIdleTransitions) {
DeviceStateTransitions test_states[] = { DeviceStateTransitions test_states[] = {
DeviceStateTransitions::kEnterSessionActive, DeviceStateTransitions::kEnterSessionActive,
DeviceStateTransitions::kPeriodicCheckTriggered, DeviceStateTransitions::kPeriodicCheckTriggered,
...@@ -715,7 +638,7 @@ TEST_F(ChildStatusCollectorTimeLimitEnabledTest, ...@@ -715,7 +638,7 @@ TEST_F(ChildStatusCollectorTimeLimitEnabledTest,
ExpectChildScreenTimeMilliseconds(5 * ActivePeriodMilliseconds()); ExpectChildScreenTimeMilliseconds(5 * ActivePeriodMilliseconds());
} }
TEST_F(ChildStatusCollectorTimeLimitEnabledTest, ActivityKeptInPref) { TEST_F(ChildStatusCollectorTest, ActivityKeptInPref) {
EXPECT_TRUE( EXPECT_TRUE(
profile_pref_service_.GetDictionary(prefs::kUserActivityTimes)->empty()); profile_pref_service_.GetDictionary(prefs::kUserActivityTimes)->empty());
base::Time initial_time = base::Time::Now() + kHour; base::Time initial_time = base::Time::Now() + kHour;
...@@ -757,8 +680,7 @@ TEST_F(ChildStatusCollectorTimeLimitEnabledTest, ActivityKeptInPref) { ...@@ -757,8 +680,7 @@ TEST_F(ChildStatusCollectorTimeLimitEnabledTest, ActivityKeptInPref) {
GetActiveMilliseconds(child_status_)); GetActiveMilliseconds(child_status_));
} }
TEST_F(ChildStatusCollectorTimeLimitEnabledTest, TEST_F(ChildStatusCollectorTest, ActivityNotWrittenToLocalState) {
ActivityNotWrittenToLocalState) {
DeviceStateTransitions test_states[] = { DeviceStateTransitions test_states[] = {
DeviceStateTransitions::kEnterSessionActive, DeviceStateTransitions::kEnterSessionActive,
DeviceStateTransitions::kPeriodicCheckTriggered, DeviceStateTransitions::kPeriodicCheckTriggered,
...@@ -789,7 +711,7 @@ TEST_F(ChildStatusCollectorTimeLimitEnabledTest, ...@@ -789,7 +711,7 @@ TEST_F(ChildStatusCollectorTimeLimitEnabledTest,
// enterprise reporting. // enterprise reporting.
} }
TEST_F(ChildStatusCollectorTimeLimitEnabledTest, BeforeDayStart) { TEST_F(ChildStatusCollectorTest, BeforeDayStart) {
RestartStatusCollector(base::BindRepeating(&GetEmptyAndroidStatus), kSixAm); RestartStatusCollector(base::BindRepeating(&GetEmptyAndroidStatus), kSixAm);
// 04:00 AM // 04:00 AM
Time initial_time = Time::Now().LocalMidnight() + TimeDelta::FromHours(4); Time initial_time = Time::Now().LocalMidnight() + TimeDelta::FromHours(4);
...@@ -819,7 +741,7 @@ TEST_F(ChildStatusCollectorTimeLimitEnabledTest, BeforeDayStart) { ...@@ -819,7 +741,7 @@ TEST_F(ChildStatusCollectorTimeLimitEnabledTest, BeforeDayStart) {
ExpectLastChildScreenTimeReset(initial_time); ExpectLastChildScreenTimeReset(initial_time);
} }
TEST_F(ChildStatusCollectorTimeLimitEnabledTest, ActivityCrossingMidnight) { TEST_F(ChildStatusCollectorTest, ActivityCrossingMidnight) {
DeviceStateTransitions test_states[] = { DeviceStateTransitions test_states[] = {
DeviceStateTransitions::kEnterSessionActive, DeviceStateTransitions::kEnterSessionActive,
DeviceStateTransitions::kLeaveSessionActive}; DeviceStateTransitions::kLeaveSessionActive};
...@@ -872,7 +794,7 @@ TEST_F(ChildStatusCollectorTimeLimitEnabledTest, ActivityCrossingMidnight) { ...@@ -872,7 +794,7 @@ TEST_F(ChildStatusCollectorTimeLimitEnabledTest, ActivityCrossingMidnight) {
ExpectChildScreenTimeMilliseconds(0.5 * ActivePeriodMilliseconds()); ExpectChildScreenTimeMilliseconds(0.5 * ActivePeriodMilliseconds());
} }
TEST_F(ChildStatusCollectorTimeLimitEnabledTest, ClockChanged) { TEST_F(ChildStatusCollectorTest, ClockChanged) {
DeviceStateTransitions test_states[1] = { DeviceStateTransitions test_states[1] = {
DeviceStateTransitions::kEnterSessionActive}; DeviceStateTransitions::kEnterSessionActive};
base::Time initial_time = base::Time initial_time =
......
...@@ -1586,13 +1586,11 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildHandlerList( ...@@ -1586,13 +1586,11 @@ std::unique_ptr<ConfigurationPolicyHandlerList> BuildHandlerList(
prefs::kNoteTakingAppsLockScreenWhitelist, false /*allow_wildcards*/)); prefs::kNoteTakingAppsLockScreenWhitelist, false /*allow_wildcards*/));
handlers->AddHandler( handlers->AddHandler(
std::make_unique<SecondaryGoogleAccountSigninPolicyHandler>()); std::make_unique<SecondaryGoogleAccountSigninPolicyHandler>());
if (base::FeatureList::IsEnabled(features::kUsageTimeLimitPolicy)) {
handlers->AddHandler(std::make_unique<SimpleSchemaValidatingPolicyHandler>( handlers->AddHandler(std::make_unique<SimpleSchemaValidatingPolicyHandler>(
key::kUsageTimeLimit, prefs::kUsageTimeLimit, chrome_schema, key::kUsageTimeLimit, prefs::kUsageTimeLimit, chrome_schema,
SCHEMA_ALLOW_UNKNOWN, SCHEMA_ALLOW_UNKNOWN,
SimpleSchemaValidatingPolicyHandler::RECOMMENDED_PROHIBITED, SimpleSchemaValidatingPolicyHandler::RECOMMENDED_PROHIBITED,
SimpleSchemaValidatingPolicyHandler::MANDATORY_ALLOWED)); SimpleSchemaValidatingPolicyHandler::MANDATORY_ALLOWED));
}
handlers->AddHandler(std::make_unique<ArcServicePolicyHandler>( handlers->AddHandler(std::make_unique<ArcServicePolicyHandler>(
key::kArcBackupRestoreServiceEnabled, key::kArcBackupRestoreServiceEnabled,
arc::prefs::kArcBackupRestoreEnabled)); arc::prefs::kArcBackupRestoreEnabled));
......
...@@ -223,10 +223,6 @@ const base::Feature kCupsPrintersUiOverhaul{"CupsPrintersUiOverhaul", ...@@ -223,10 +223,6 @@ const base::Feature kCupsPrintersUiOverhaul{"CupsPrintersUiOverhaul",
// Enable support for "Plugin VMs" on Chrome OS. // Enable support for "Plugin VMs" on Chrome OS.
const base::Feature kPluginVm{"PluginVm", base::FEATURE_DISABLED_BY_DEFAULT}; const base::Feature kPluginVm{"PluginVm", base::FEATURE_DISABLED_BY_DEFAULT};
// Whether the UsageTimeLimit policy should be applied to the user.
const base::Feature kUsageTimeLimitPolicy{"UsageTimeLimitPolicy",
base::FEATURE_ENABLED_BY_DEFAULT};
// Allow a Wilco DTC (diagnostics and telemetry controller) on Chrome OS. // Allow a Wilco DTC (diagnostics and telemetry controller) on Chrome OS.
// More info about the project may be found here: // More info about the project may be found here:
// https://docs.google.com/document/d/18Ijj8YlC8Q3EWRzLspIi2dGxg4vIBVe5sJgMPt9SWYo // https://docs.google.com/document/d/18Ijj8YlC8Q3EWRzLspIi2dGxg4vIBVe5sJgMPt9SWYo
......
...@@ -132,8 +132,6 @@ extern const base::Feature kCrostiniForceClose; ...@@ -132,8 +132,6 @@ extern const base::Feature kCrostiniForceClose;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kCupsPrintersUiOverhaul; extern const base::Feature kCupsPrintersUiOverhaul;
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kPluginVm; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kPluginVm;
COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kUsageTimeLimitPolicy;
COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kWilcoDtc; COMPONENT_EXPORT(CHROME_FEATURES) extern const base::Feature kWilcoDtc;
COMPONENT_EXPORT(CHROME_FEATURES) COMPONENT_EXPORT(CHROME_FEATURES)
extern const base::Feature kUploadZippedSystemLogs; extern const base::Feature kUploadZippedSystemLogs;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment