#include "content/browser/renderer_host/page_impl.h"
#include "base/barrier_closure.h"
#include "base/feature_list.h"
#include "base/i18n/character_encoding.h"
#include "base/trace_event/optional_trace_event.h"
#include "cc/base/features.h"
#include "cc/input/browser_controls_offset_tags_info.h"
#include "content/browser/manifest/manifest_manager_host.h"
#include "content/browser/renderer_host/frame_tree_node.h"
#include "content/browser/renderer_host/page_delegate.h"
#include "content/browser/renderer_host/render_frame_host_delegate.h"
#include "content/browser/renderer_host/render_frame_host_impl.h"
#include "content/browser/renderer_host/render_frame_proxy_host.h"
#include "content/browser/renderer_host/render_view_host_delegate.h"
#include "content/browser/renderer_host/render_view_host_impl.h"
#include "content/public/browser/content_browser_client.h"
#include "content/public/browser/peak_gpu_memory_tracker_factory.h"
#include "content/public/browser/render_view_host.h"
#include "content/public/common/content_client.h"
#include "services/viz/public/mojom/compositing/offset_tag.mojom.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/common/loader/loader_constants.h"
#include "third_party/blink/public/common/shared_storage/shared_storage_utils.h"
#include "third_party/blink/public/mojom/manifest/manifest.mojom.h"
#include "third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value.h"
namespace content {
PageImpl::PageImpl(RenderFrameHostImpl& rfh, PageDelegate& delegate)
: … { … }
PageImpl::~PageImpl() { … }
const std::optional<GURL>& PageImpl::GetManifestUrl() const { … }
void PageImpl::GetManifest(GetManifestCallback callback) { … }
bool PageImpl::IsPrimary() const { … }
void PageImpl::UpdateManifestUrl(const GURL& manifest_url) { … }
void PageImpl::WriteIntoTrace(perfetto::TracedValue context) { … }
base::WeakPtr<Page> PageImpl::GetWeakPtr() { … }
base::WeakPtr<PageImpl> PageImpl::GetWeakPtrImpl() { … }
bool PageImpl::IsPageScaleFactorOne() { … }
const std::string& PageImpl::GetContentsMimeType() const { … }
void PageImpl::SetResizableForTesting(std::optional<bool> resizable) { … }
void PageImpl::SetResizable(std::optional<bool> resizable) { … }
std::optional<bool> PageImpl::GetResizable() { … }
void PageImpl::OnFirstVisuallyNonEmptyPaint() { … }
void PageImpl::OnThemeColorChanged(const std::optional<SkColor>& theme_color) { … }
void PageImpl::DidChangeBackgroundColor(SkColor4f background_color,
bool color_adjust) { … }
void PageImpl::DidInferColorScheme(
blink::mojom::PreferredColorScheme color_scheme) { … }
void PageImpl::NotifyPageBecameCurrent() { … }
void PageImpl::SetContentsMimeType(std::string mime_type) { … }
void PageImpl::OnTextAutosizerPageInfoChanged(
blink::mojom::TextAutosizerPageInfoPtr page_info) { … }
void PageImpl::SetActivationStartTime(base::TimeTicks activation_start) { … }
void PageImpl::Activate(
ActivationType type,
StoredPage::RenderViewHostImplSafeRefSet& render_view_hosts,
std::optional<blink::ViewTransitionState> view_transition_state,
base::OnceCallback<void(base::TimeTicks)> completion_callback) { … }
void PageImpl::MaybeDispatchLoadEventsOnPrerenderActivation() { … }
void PageImpl::DidActivateAllRenderViewsForPrerenderingOrPreview(
base::OnceCallback<void(base::TimeTicks)> completion_callback) { … }
RenderFrameHost& PageImpl::GetMainDocumentHelper() { … }
RenderFrameHostImpl& PageImpl::GetMainDocument() const { … }
void PageImpl::UpdateBrowserControlsState(
cc::BrowserControlsState constraints,
cc::BrowserControlsState current,
bool animate,
const std::optional<cc::BrowserControlsOffsetTagsInfo>& offset_tags_info) { … }
float PageImpl::GetPageScaleFactor() const { … }
void PageImpl::UpdateEncoding(const std::string& encoding_name) { … }
void PageImpl::NotifyVirtualKeyboardOverlayRect(
const gfx::Rect& keyboard_rect) { … }
void PageImpl::SetVirtualKeyboardMode(ui::mojom::VirtualKeyboardMode mode) { … }
base::flat_map<std::string, std::string> PageImpl::GetKeyboardLayoutMap() { … }
blink::SharedStorageSelectUrlBudgetStatus
PageImpl::CheckAndMaybeDebitSelectURLBudgets(const net::SchemefulSite& site,
double bits_to_charge) { … }
void PageImpl::TakeLoadingMemoryTracker(NavigationRequest* request) { … }
void PageImpl::ResetLoadingMemoryTracker() { … }
void PageImpl::CancelLoadingMemoryTracker() { … }
void PageImpl::SetLastCommitParams(
mojom::DidCommitProvisionalLoadParamsPtr commit_params) { … }
mojom::DidCommitProvisionalLoadParamsPtr PageImpl::TakeLastCommitParams() { … }
}