Commit 62288633 authored by Hiroki Nakagawa's avatar Hiroki Nakagawa Committed by Chromium LUCI CQ

NoStatePrefetch: Replace PrerenderHelper::GetPrerenderMode() with IsPrerendering()

Callers of GetPrerenderMode() don't have to know PrerenderMode. They
just want to know if the render frame is used for prerendering
(NoStatePrefetch). Therefore, this CL replaces GetPrerenderMode() calls
with PrerenderHelper::IsPrerendering() for code simplification.

Bug: 755921
Change-Id: Ibaf7ab7a2b1759a8f18d3a6488444f9edd832de1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2596285Reviewed-by: default avatarColin Blundell <blundell@chromium.org>
Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#842494}
parent 35feab91
...@@ -87,7 +87,6 @@ ...@@ -87,7 +87,6 @@
#include "components/error_page/common/localized_error.h" #include "components/error_page/common/localized_error.h"
#include "components/grit/components_scaled_resources.h" #include "components/grit/components_scaled_resources.h"
#include "components/network_hints/renderer/web_prescient_networking_impl.h" #include "components/network_hints/renderer/web_prescient_networking_impl.h"
#include "components/no_state_prefetch/common/prerender_types.mojom.h"
#include "components/no_state_prefetch/common/prerender_url_loader_throttle.h" #include "components/no_state_prefetch/common/prerender_url_loader_throttle.h"
#include "components/no_state_prefetch/renderer/no_state_prefetch_client.h" #include "components/no_state_prefetch/renderer/no_state_prefetch_client.h"
#include "components/no_state_prefetch/renderer/prerender_helper.h" #include "components/no_state_prefetch/renderer/prerender_helper.h"
...@@ -1309,10 +1308,8 @@ void ChromeContentRendererClient::WillSendRequest( ...@@ -1309,10 +1308,8 @@ void ChromeContentRendererClient::WillSendRequest(
} }
bool ChromeContentRendererClient::IsPrefetchOnly( bool ChromeContentRendererClient::IsPrefetchOnly(
content::RenderFrame* render_frame, content::RenderFrame* render_frame) {
const blink::WebURLRequest& request) { return prerender::PrerenderHelper::IsPrerendering(render_frame);
return prerender::PrerenderHelper::GetPrerenderMode(render_frame) ==
prerender::mojom::PrerenderMode::kPrefetchOnly;
} }
uint64_t ChromeContentRendererClient::VisitedLinkHash(const char* canonical_url, uint64_t ChromeContentRendererClient::VisitedLinkHash(const char* canonical_url,
......
...@@ -130,8 +130,7 @@ class ChromeContentRendererClient ...@@ -130,8 +130,7 @@ class ChromeContentRendererClient
const net::SiteForCookies& site_for_cookies, const net::SiteForCookies& site_for_cookies,
const url::Origin* initiator_origin, const url::Origin* initiator_origin,
GURL* new_url) override; GURL* new_url) override;
bool IsPrefetchOnly(content::RenderFrame* render_frame, bool IsPrefetchOnly(content::RenderFrame* render_frame) override;
const blink::WebURLRequest& request) override;
uint64_t VisitedLinkHash(const char* canonical_url, size_t length) override; uint64_t VisitedLinkHash(const char* canonical_url, size_t length) override;
bool IsLinkVisited(uint64_t link_hash) override; bool IsLinkVisited(uint64_t link_hash) override;
std::unique_ptr<blink::WebPrescientNetworking> CreatePrescientNetworking( std::unique_ptr<blink::WebPrescientNetworking> CreatePrescientNetworking(
......
...@@ -22,9 +22,7 @@ NoStatePrefetchClient::NoStatePrefetchClient(content::RenderView* render_view) ...@@ -22,9 +22,7 @@ NoStatePrefetchClient::NoStatePrefetchClient(content::RenderView* render_view)
NoStatePrefetchClient::~NoStatePrefetchClient() = default; NoStatePrefetchClient::~NoStatePrefetchClient() = default;
bool NoStatePrefetchClient::IsPrefetchOnly() { bool NoStatePrefetchClient::IsPrefetchOnly() {
return PrerenderHelper::GetPrerenderMode( return PrerenderHelper::IsPrerendering(render_view()->GetMainRenderFrame());
render_view()->GetMainRenderFrame()) ==
prerender::mojom::PrerenderMode::kPrefetchOnly;
} }
void NoStatePrefetchClient::OnDestruct() { void NoStatePrefetchClient::OnDestruct() {
......
...@@ -51,17 +51,7 @@ std::unique_ptr<blink::URLLoaderThrottle> PrerenderHelper::MaybeCreateThrottle( ...@@ -51,17 +51,7 @@ std::unique_ptr<blink::URLLoaderThrottle> PrerenderHelper::MaybeCreateThrottle(
// static. // static.
bool PrerenderHelper::IsPrerendering(const content::RenderFrame* render_frame) { bool PrerenderHelper::IsPrerendering(const content::RenderFrame* render_frame) {
return PrerenderHelper::GetPrerenderMode(render_frame) != return PrerenderHelper::Get(render_frame) != nullptr;
mojom::PrerenderMode::kNoPrerender;
}
// static.
mojom::PrerenderMode PrerenderHelper::GetPrerenderMode(
const content::RenderFrame* render_frame) {
PrerenderHelper* helper = PrerenderHelper::Get(render_frame);
if (!helper)
return mojom::PrerenderMode::kNoPrerender;
return mojom::PrerenderMode::kPrefetchOnly;
} }
void PrerenderHelper::DidFinishDocumentLoad() { void PrerenderHelper::DidFinishDocumentLoad() {
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
#include "base/macros.h" #include "base/macros.h"
#include "base/memory/weak_ptr.h" #include "base/memory/weak_ptr.h"
#include "base/time/time.h" #include "base/time/time.h"
#include "components/no_state_prefetch/common/prerender_types.mojom.h"
#include "content/public/renderer/render_frame_observer.h" #include "content/public/renderer/render_frame_observer.h"
#include "content/public/renderer/render_frame_observer_tracker.h" #include "content/public/renderer/render_frame_observer_tracker.h"
...@@ -39,9 +38,6 @@ class PrerenderHelper ...@@ -39,9 +38,6 @@ class PrerenderHelper
// Returns true if |render_frame| is currently prerendering. // Returns true if |render_frame| is currently prerendering.
static bool IsPrerendering(const content::RenderFrame* render_frame); static bool IsPrerendering(const content::RenderFrame* render_frame);
static mojom::PrerenderMode GetPrerenderMode(
const content::RenderFrame* render_frame);
std::string histogram_prefix() const { return histogram_prefix_; } std::string histogram_prefix() const { return histogram_prefix_; }
private: private:
......
...@@ -125,9 +125,7 @@ void ContentRendererClient::WillSendRequest( ...@@ -125,9 +125,7 @@ void ContentRendererClient::WillSendRequest(
const url::Origin* initiator_origin, const url::Origin* initiator_origin,
GURL* new_url) {} GURL* new_url) {}
bool ContentRendererClient::IsPrefetchOnly( bool ContentRendererClient::IsPrefetchOnly(RenderFrame* render_frame) {
RenderFrame* render_frame,
const blink::WebURLRequest& request) {
return false; return false;
} }
......
...@@ -224,10 +224,9 @@ class CONTENT_EXPORT ContentRendererClient { ...@@ -224,10 +224,9 @@ class CONTENT_EXPORT ContentRendererClient {
const url::Origin* initiator_origin, const url::Origin* initiator_origin,
GURL* new_url); GURL* new_url);
// Returns true if the request is associated with a document that is in // Returns true if the render frame is used for NoStatePrefetch and will not
// ""prefetch only" mode, and will not be rendered. // be rendered.
virtual bool IsPrefetchOnly(RenderFrame* render_frame, virtual bool IsPrefetchOnly(RenderFrame* render_frame);
const blink::WebURLRequest& request);
// See blink::Platform. // See blink::Platform.
virtual uint64_t VisitedLinkHash(const char* canonical_url, size_t length); virtual uint64_t VisitedLinkHash(const char* canonical_url, size_t length);
......
...@@ -4530,7 +4530,7 @@ void RenderFrameImpl::WillSendRequestInternal( ...@@ -4530,7 +4530,7 @@ void RenderFrameImpl::WillSendRequestInternal(
url_request_extra_data->set_is_main_frame(IsMainFrame()); url_request_extra_data->set_is_main_frame(IsMainFrame());
url_request_extra_data->set_transition_type(transition_type); url_request_extra_data->set_transition_type(transition_type);
bool is_for_no_state_prefetch = bool is_for_no_state_prefetch =
GetContentClient()->renderer()->IsPrefetchOnly(this, request); GetContentClient()->renderer()->IsPrefetchOnly(this);
url_request_extra_data->set_is_for_no_state_prefetch( url_request_extra_data->set_is_for_no_state_prefetch(
is_for_no_state_prefetch); is_for_no_state_prefetch);
url_request_extra_data->set_frame_request_blocker(frame_request_blocker_); url_request_extra_data->set_frame_request_blocker(frame_request_blocker_);
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
#include "components/error_page/common/error.h" #include "components/error_page/common/error.h"
#include "components/grit/components_scaled_resources.h" #include "components/grit/components_scaled_resources.h"
#include "components/js_injection/renderer/js_communication.h" #include "components/js_injection/renderer/js_communication.h"
#include "components/no_state_prefetch/common/prerender_types.mojom.h"
#include "components/no_state_prefetch/common/prerender_url_loader_throttle.h" #include "components/no_state_prefetch/common/prerender_url_loader_throttle.h"
#include "components/no_state_prefetch/renderer/no_state_prefetch_client.h" #include "components/no_state_prefetch/renderer/no_state_prefetch_client.h"
#include "components/no_state_prefetch/renderer/prerender_helper.h" #include "components/no_state_prefetch/renderer/prerender_helper.h"
...@@ -198,10 +197,8 @@ void ContentRendererClientImpl:: ...@@ -198,10 +197,8 @@ void ContentRendererClientImpl::
} }
bool ContentRendererClientImpl::IsPrefetchOnly( bool ContentRendererClientImpl::IsPrefetchOnly(
content::RenderFrame* render_frame, content::RenderFrame* render_frame) {
const blink::WebURLRequest& request) { return prerender::PrerenderHelper::IsPrerendering(render_frame);
return prerender::PrerenderHelper::GetPrerenderMode(render_frame) ==
prerender::mojom::PrerenderMode::kPrefetchOnly;
} }
bool ContentRendererClientImpl::DeferMediaLoad( bool ContentRendererClientImpl::DeferMediaLoad(
......
...@@ -45,8 +45,7 @@ class ContentRendererClientImpl : public content::ContentRendererClient { ...@@ -45,8 +45,7 @@ class ContentRendererClientImpl : public content::ContentRendererClient {
std::vector<std::unique_ptr<::media::KeySystemProperties>>* key_systems) std::vector<std::unique_ptr<::media::KeySystemProperties>>* key_systems)
override; override;
void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() override; void SetRuntimeFeaturesDefaultsBeforeBlinkInitialization() override;
bool IsPrefetchOnly(content::RenderFrame* render_frame, bool IsPrefetchOnly(content::RenderFrame* render_frame) override;
const blink::WebURLRequest& request) override;
bool DeferMediaLoad(content::RenderFrame* render_frame, bool DeferMediaLoad(content::RenderFrame* render_frame,
bool has_played_media_before, bool has_played_media_before,
base::OnceClosure closure) override; base::OnceClosure closure) override;
......
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