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

NoStatePrefetch: Remove mojom::PrerenderMode from mojom::PrerenderMessages::SetIsPrerendering()

The mode is deterministically kPrefetchOnly. It's not necessary to
propagate it.

Bug: 755921
Change-Id: Ib297fba318436d78d72be3c1f2507bb86a372ba5
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2592273Reviewed-by: default avatarKinuko Yasuda <kinuko@chromium.org>
Reviewed-by: default avatarMatt Falkenhagen <falken@chromium.org>
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Cr-Commit-Position: refs/heads/master@{#837589}
parent 74cd25c0
...@@ -382,7 +382,7 @@ void PrerenderContents::RenderFrameCreated( ...@@ -382,7 +382,7 @@ void PrerenderContents::RenderFrameCreated(
render_frame_host->GetRemoteAssociatedInterfaces()->GetInterface( render_frame_host->GetRemoteAssociatedInterfaces()->GetInterface(
&prerender_render_frame); &prerender_render_frame);
prerender_render_frame->SetIsPrerendering( prerender_render_frame->SetIsPrerendering(
prerender_mode_, PrerenderHistograms::GetHistogramPrefix(origin_)); PrerenderHistograms::GetHistogramPrefix(origin_));
} }
void PrerenderContents::DidStopLoading() { void PrerenderContents::DidStopLoading() {
...@@ -558,19 +558,6 @@ std::unique_ptr<base::DictionaryValue> PrerenderContents::GetAsValue() const { ...@@ -558,19 +558,6 @@ std::unique_ptr<base::DictionaryValue> PrerenderContents::GetAsValue() const {
void PrerenderContents::MarkAsUsedForTesting() { void PrerenderContents::MarkAsUsedForTesting() {
SetFinalStatus(FINAL_STATUS_USED); SetFinalStatus(FINAL_STATUS_USED);
if (prerender_contents_.get()) {
auto frames = prerender_contents_->GetAllFrames();
for (auto* frame : frames) {
mojo::AssociatedRemote<prerender::mojom::PrerenderMessages>
prerender_render_frame;
frame->GetRemoteAssociatedInterfaces()->GetInterface(
&prerender_render_frame);
prerender_render_frame->SetIsPrerendering(
prerender::mojom::PrerenderMode::kNoPrerender, std::string());
}
}
NotifyPrerenderStop(); NotifyPrerenderStop();
} }
......
...@@ -4,13 +4,9 @@ ...@@ -4,13 +4,9 @@
module prerender.mojom; module prerender.mojom;
import "components/no_state_prefetch/common/prerender_types.mojom";
// Prerender messages sent from the browser to the render frame. // Prerender messages sent from the browser to the render frame.
interface PrerenderMessages { interface PrerenderMessages {
// Tells a renderer if it's currently being prerendered. Must only be set // Tells a renderer that it's currently being prerendered. Must only be set
// before any navigation occurs, and only set to kNoPrerender at most once // before any navigation occurs.
// after that. SetIsPrerendering(string histogram_prefix);
SetIsPrerendering(prerender.mojom.PrerenderMode mode,
string histogram_prefix);
}; };
...@@ -4,7 +4,6 @@ ...@@ -4,7 +4,6 @@
#include "components/no_state_prefetch/renderer/prerender_render_frame_observer.h" #include "components/no_state_prefetch/renderer/prerender_render_frame_observer.h"
#include "components/no_state_prefetch/common/prerender_types.mojom.h"
#include "components/no_state_prefetch/renderer/prerender_helper.h" #include "components/no_state_prefetch/renderer/prerender_helper.h"
#include "components/no_state_prefetch/renderer/prerender_observer_list.h" #include "components/no_state_prefetch/renderer/prerender_observer_list.h"
#include "content/public/renderer/render_frame.h" #include "content/public/renderer/render_frame.h"
...@@ -34,25 +33,21 @@ void PrerenderRenderFrameObserver::OnDestruct() { ...@@ -34,25 +33,21 @@ void PrerenderRenderFrameObserver::OnDestruct() {
} }
void PrerenderRenderFrameObserver::SetIsPrerendering( void PrerenderRenderFrameObserver::SetIsPrerendering(
prerender::mojom::PrerenderMode mode,
const std::string& histogram_prefix) { const std::string& histogram_prefix) {
bool is_prerendering = mode != prerender::mojom::PrerenderMode::kNoPrerender; // If the PrerenderHelper for this frame already exists, don't create it. It
if (is_prerendering) { // can already be created for subframes during handling of RenderFrameCreated,
// If the PrerenderHelper for this frame already exists, don't create it. It // if the parent frame was prerendering at time of subframe creation.
// can already be created for subframes during handling of auto* prerender_helper = prerender::PrerenderHelper::Get(render_frame());
// RenderFrameCreated, if the parent frame was prerendering at time of if (!prerender_helper) {
// subframe creation. // The PrerenderHelper will destroy itself either after recording
auto* prerender_helper = prerender::PrerenderHelper::Get(render_frame()); // histograms or on destruction of the RenderView.
if (!prerender_helper) { prerender_helper = new prerender::PrerenderHelper(
// The PrerenderHelper will destroy itself either after recording render_frame(), /*prerender_mode=*/mojom::PrerenderMode::kPrefetchOnly,
// histograms or on destruction of the RenderView. histogram_prefix);
prerender_helper = new prerender::PrerenderHelper(render_frame(), mode,
histogram_prefix);
}
} }
prerender::PrerenderObserverList::SetIsPrerenderingForFrame(render_frame(), prerender::PrerenderObserverList::SetIsPrerenderingForFrame(
is_prerendering); render_frame(), /*is_prerendering=*/true);
} }
} // namespace prerender } // namespace prerender
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
#ifndef COMPONENTS_NO_STATE_PREFETCH_RENDERER_PRERENDER_RENDER_FRAME_OBSERVER_H_ #ifndef COMPONENTS_NO_STATE_PREFETCH_RENDERER_PRERENDER_RENDER_FRAME_OBSERVER_H_
#define COMPONENTS_NO_STATE_PREFETCH_RENDERER_PRERENDER_RENDER_FRAME_OBSERVER_H_ #define COMPONENTS_NO_STATE_PREFETCH_RENDERER_PRERENDER_RENDER_FRAME_OBSERVER_H_
#include "components/no_state_prefetch/common/prerender_types.mojom.h"
#include "components/no_state_prefetch/common/render_frame_prerender_messages.mojom.h" #include "components/no_state_prefetch/common/render_frame_prerender_messages.mojom.h"
#include "content/public/renderer/render_frame_observer.h" #include "content/public/renderer/render_frame_observer.h"
#include "mojo/public/cpp/bindings/associated_receiver_set.h" #include "mojo/public/cpp/bindings/associated_receiver_set.h"
...@@ -25,8 +24,7 @@ class PrerenderRenderFrameObserver ...@@ -25,8 +24,7 @@ class PrerenderRenderFrameObserver
~PrerenderRenderFrameObserver() override; ~PrerenderRenderFrameObserver() override;
// prerender::mojom::PrerenderMessages: // prerender::mojom::PrerenderMessages:
void SetIsPrerendering(prerender::mojom::PrerenderMode mode, void SetIsPrerendering(const std::string& histogram_prefix) override;
const std::string& histogram_prefix) override;
private: private:
// RenderFrameObserver implementation. // RenderFrameObserver implementation.
...@@ -41,4 +39,4 @@ class PrerenderRenderFrameObserver ...@@ -41,4 +39,4 @@ class PrerenderRenderFrameObserver
} // namespace prerender } // namespace prerender
#endif // COMPONENTS_NO_STATE_PREFETCH_RENDERER_PRERENDER_RENDER_FRAME_OBSERVER_H_ #endif // COMPONENTS_NO_STATE_PREFETCH_RENDERER_PRERENDER_RENDER_FRAME_OBSERVER_H_
\ No newline at end of file
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