#include "chrome/browser/profiles/renderer_updater.h"
#include <utility>
#include <vector>
#include "base/functional/bind.h"
#include "base/functional/callback.h"
#include "build/chromeos_buildflags.h"
#include "chrome/browser/content_settings/content_settings_manager_delegate.h"
#include "chrome/browser/content_settings/host_content_settings_map_factory.h"
#include "chrome/browser/profiles/profile.h"
#include "chrome/common/pref_names.h"
#include "chrome/common/renderer_configuration.mojom.h"
#include "components/content_settings/common/content_settings_manager.mojom.h"
#include "components/content_settings/core/browser/content_settings_utils.h"
#include "components/content_settings/core/common/content_settings.h"
#include "components/content_settings/core/common/content_settings_utils.h"
#include "components/policy/core/common/policy_pref_names.h"
#include "components/signin/public/base/signin_buildflags.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/browser/render_process_host.h"
#include "content/public/common/content_features.h"
#include "extensions/buildflags/buildflags.h"
#include "ipc/ipc_channel_proxy.h"
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "services/network/public/cpp/features.h"
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "chrome/browser/ash/login/signin/merge_session_throttling_utils.h"
#include "chrome/browser/ash/login/signin/oauth2_login_manager_factory.h"
#endif
#if BUILDFLAG(ENABLE_BOUND_SESSION_CREDENTIALS)
#include "chrome/browser/signin/bound_session_credentials/bound_session_cookie_refresh_service.h"
#include "chrome/browser/signin/bound_session_credentials/bound_session_cookie_refresh_service_factory.h"
#endif
RendererUpdater::RendererUpdater(Profile* profile)
: … { … }
RendererUpdater::~RendererUpdater() { … }
void RendererUpdater::Shutdown() { … }
void RendererUpdater::InitializeRenderer(
content::RenderProcessHost* render_process_host) { … }
RendererUpdater::RendererConfigurations
RendererUpdater::GetRendererConfigurations() { … }
mojo::AssociatedRemote<chrome::mojom::RendererConfiguration>
RendererUpdater::GetRendererConfiguration(
content::RenderProcessHost* render_process_host) { … }
#if BUILDFLAG(IS_CHROMEOS_ASH)
void RendererUpdater::OnSessionRestoreStateChanged(
Profile* user_profile,
ash::OAuth2LoginManager::SessionRestoreState state) {
merge_session_running_ =
ash::merge_session_throttling_utils::ShouldDelayRequestForProfile(
original_profile_);
if (merge_session_running_)
return;
for (auto& chromeos_listener : chromeos_listeners_)
chromeos_listener->MergeSessionComplete();
chromeos_listeners_.clear();
}
#endif
#if BUILDFLAG(ENABLE_BOUND_SESSION_CREDENTIALS)
std::vector<chrome::mojom::BoundSessionThrottlerParamsPtr>
RendererUpdater::GetBoundSessionThrottlerParams() const { … }
#endif
void RendererUpdater::UpdateAllRenderers() { … }
chrome::mojom::DynamicParamsPtr RendererUpdater::CreateRendererDynamicParams()
const { … }