Commit 17c0d817 authored by yilkal's avatar yilkal Committed by Commit Bot

Attach WebTimeLimitEnforcer to AppTimeController.

This CL attaches the WebTimeLimitEnforcer to AppTimeController.

Bug: 1015661
Change-Id: Ic9bd0d3ed349a5300fa59fa873c94c45d24128f7
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1914940
Commit-Queue: Yilkal Abe <yilkal@chromium.org>
Reviewed-by: default avatarAga Wronska <agawronska@chromium.org>
Cr-Commit-Position: refs/heads/master@{#715402}
parent bf1f5892
...@@ -25,6 +25,14 @@ class ChildUserService : public KeyedService { ...@@ -25,6 +25,14 @@ class ChildUserService : public KeyedService {
ChildUserService& operator=(const ChildUserService&) = delete; ChildUserService& operator=(const ChildUserService&) = delete;
~ChildUserService() override; ~ChildUserService() override;
const AppTimeController* app_time_controller() const {
return app_time_controller_.get();
}
AppTimeController* app_time_controller() {
return app_time_controller_.get();
}
private: private:
// KeyedService: // KeyedService:
void Shutdown() override; void Shutdown() override;
......
...@@ -5,6 +5,7 @@ ...@@ -5,6 +5,7 @@
#include "chrome/browser/chromeos/child_accounts/time_limits/app_time_controller.h" #include "chrome/browser/chromeos/child_accounts/time_limits/app_time_controller.h"
#include "base/feature_list.h" #include "base/feature_list.h"
#include "chrome/browser/chromeos/child_accounts/time_limits/web_time_limit_enforcer.h"
#include "chrome/common/chrome_features.h" #include "chrome/common/chrome_features.h"
namespace chromeos { namespace chromeos {
...@@ -14,7 +15,10 @@ bool AppTimeController::ArePerAppTimeLimitsEnabled() { ...@@ -14,7 +15,10 @@ bool AppTimeController::ArePerAppTimeLimitsEnabled() {
return base::FeatureList::IsEnabled(features::kPerAppTimeLimits); return base::FeatureList::IsEnabled(features::kPerAppTimeLimits);
} }
AppTimeController::AppTimeController() = default; AppTimeController::AppTimeController() {
if (WebTimeLimitEnforcer::IsEnabled())
web_time_enforcer_ = std::make_unique<WebTimeLimitEnforcer>();
}
AppTimeController::~AppTimeController() = default; AppTimeController::~AppTimeController() = default;
......
...@@ -5,8 +5,12 @@ ...@@ -5,8 +5,12 @@
#ifndef CHROME_BROWSER_CHROMEOS_CHILD_ACCOUNTS_TIME_LIMITS_APP_TIME_CONTROLLER_H_ #ifndef CHROME_BROWSER_CHROMEOS_CHILD_ACCOUNTS_TIME_LIMITS_APP_TIME_CONTROLLER_H_
#define CHROME_BROWSER_CHROMEOS_CHILD_ACCOUNTS_TIME_LIMITS_APP_TIME_CONTROLLER_H_ #define CHROME_BROWSER_CHROMEOS_CHILD_ACCOUNTS_TIME_LIMITS_APP_TIME_CONTROLLER_H_
#include <memory>
namespace chromeos { namespace chromeos {
class WebTimeLimitEnforcer;
// Coordinates per-app time limit for child user. // Coordinates per-app time limit for child user.
class AppTimeController { class AppTimeController {
public: public:
...@@ -16,6 +20,15 @@ class AppTimeController { ...@@ -16,6 +20,15 @@ class AppTimeController {
AppTimeController(const AppTimeController&) = delete; AppTimeController(const AppTimeController&) = delete;
AppTimeController& operator=(const AppTimeController&) = delete; AppTimeController& operator=(const AppTimeController&) = delete;
~AppTimeController(); ~AppTimeController();
const WebTimeLimitEnforcer* web_time_enforcer() const {
return web_time_enforcer_.get();
}
WebTimeLimitEnforcer* web_time_enforcer() { return web_time_enforcer_.get(); }
private:
std::unique_ptr<WebTimeLimitEnforcer> web_time_enforcer_;
}; };
} // namespace chromeos } // namespace chromeos
......
...@@ -32,6 +32,8 @@ bool IsSchemeFiltered(const GURL& url) { ...@@ -32,6 +32,8 @@ bool IsSchemeFiltered(const GURL& url) {
} // namespace } // namespace
namespace chromeos {
// static // static
bool WebTimeLimitEnforcer::IsEnabled() { bool WebTimeLimitEnforcer::IsEnabled() {
return base::FeatureList::IsEnabled(features::kWebTimeLimits); return base::FeatureList::IsEnabled(features::kWebTimeLimits);
...@@ -90,3 +92,5 @@ void WebTimeLimitEnforcer::ReloadAllWebContents() { ...@@ -90,3 +92,5 @@ void WebTimeLimitEnforcer::ReloadAllWebContents() {
} }
} }
} }
} // namespace chromeos
...@@ -13,6 +13,8 @@ ...@@ -13,6 +13,8 @@
class GURL; class GURL;
namespace chromeos {
class WebTimeLimitEnforcer { class WebTimeLimitEnforcer {
public: public:
static bool IsEnabled(); static bool IsEnabled();
...@@ -51,4 +53,6 @@ class WebTimeLimitEnforcer { ...@@ -51,4 +53,6 @@ class WebTimeLimitEnforcer {
std::set<GURL> whitelisted_urls_; std::set<GURL> whitelisted_urls_;
}; };
} // namespace chromeos
#endif // CHROME_BROWSER_CHROMEOS_CHILD_ACCOUNTS_TIME_LIMITS_WEB_TIME_LIMIT_ENFORCER_H_ #endif // CHROME_BROWSER_CHROMEOS_CHILD_ACCOUNTS_TIME_LIMITS_WEB_TIME_LIMIT_ENFORCER_H_
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