blob: 3f96e722a2fc5616581c83e9ce4d30bf16ac15c9 [file] [log] [blame]
// Copyright 2021 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/policy/chrome_browser_cloud_management_controller_android.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/net/system_network_context_manager.h"
#include "chrome/browser/policy/browser_dm_token_storage_android.h"
#include "chrome/browser/policy/chrome_browser_policy_connector.h"
#include "chrome/common/chrome_paths.h"
#include "components/policy/core/common/cloud/machine_level_user_cloud_policy_manager.h"
#include "content/public/browser/browser_task_traits.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/network_service_instance.h"
#include "services/network/public/cpp/shared_url_loader_factory.h"
namespace policy {
ChromeBrowserCloudManagementControllerAndroid::
ChromeBrowserCloudManagementControllerAndroid() = default;
ChromeBrowserCloudManagementControllerAndroid::
~ChromeBrowserCloudManagementControllerAndroid() = default;
void ChromeBrowserCloudManagementControllerAndroid::
SetDMTokenStorageDelegate() {
BrowserDMTokenStorage::SetDelegate(
std::make_unique<BrowserDMTokenStorageAndroid>());
}
int ChromeBrowserCloudManagementControllerAndroid::GetUserDataDirKey() {
return chrome::DIR_USER_DATA;
}
base::FilePath
ChromeBrowserCloudManagementControllerAndroid::GetExternalPolicyDir() {
// External policies are not supported on Android.
return base::FilePath();
}
ChromeBrowserCloudManagementController::Delegate::NetworkConnectionTrackerGetter
ChromeBrowserCloudManagementControllerAndroid::
CreateNetworkConnectionTrackerGetter() {
return base::BindRepeating(&content::GetNetworkConnectionTracker);
}
void ChromeBrowserCloudManagementControllerAndroid::InitializeOAuthTokenFactory(
scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory,
PrefService* local_state) {
// Policy invalidations aren't currently supported on Android.
}
void ChromeBrowserCloudManagementControllerAndroid::StartWatchingRegistration(
ChromeBrowserCloudManagementController* controller) {
// Enrollment isn't blocking or mandatory on Android.
}
bool ChromeBrowserCloudManagementControllerAndroid::
IsEnterpriseStartupDialogShowing() {
// There is no enterprise startup dialog on Android.
return false;
}
bool ChromeBrowserCloudManagementControllerAndroid::
WaitUntilPolicyEnrollmentFinished() {
// Enrollment currently isn't blocking or mandatory on Android, so this method
// isn't used. Always report success.
return true;
}
void ChromeBrowserCloudManagementControllerAndroid::OnServiceAccountSet(
CloudPolicyClient* client,
const std::string& account_email) {
// Policy invalidations aren't currently supported on Android.
}
void ChromeBrowserCloudManagementControllerAndroid::ShutDown() {
// No additional shutdown to perform on Android.
}
MachineLevelUserCloudPolicyManager*
ChromeBrowserCloudManagementControllerAndroid::
GetMachineLevelUserCloudPolicyManager() {
return g_browser_process->browser_policy_connector()
->machine_level_user_cloud_policy_manager();
}
DeviceManagementService*
ChromeBrowserCloudManagementControllerAndroid::GetDeviceManagementService() {
return g_browser_process->browser_policy_connector()
->device_management_service();
}
scoped_refptr<network::SharedURLLoaderFactory>
ChromeBrowserCloudManagementControllerAndroid::GetSharedURLLoaderFactory() {
return g_browser_process->system_network_context_manager()
->GetSharedURLLoaderFactory();
}
scoped_refptr<base::SingleThreadTaskRunner>
ChromeBrowserCloudManagementControllerAndroid::GetBestEffortTaskRunner() {
// ChromeBrowserCloudManagementControllerAndroid is bound to BrowserThread::UI
// and so must its best-effort task runner.
DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
return content::GetUIThreadTaskRunner({base::TaskPriority::BEST_EFFORT});
}
void ChromeBrowserCloudManagementControllerAndroid::SetGaiaURLLoaderFactory(
scoped_refptr<network::SharedURLLoaderFactory> url_loader_factory) {
// Policy invalidations aren't currently supported on Android.
}
} // namespace policy