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(
render_frame_host->GetRemoteAssociatedInterfaces()->GetInterface(
&prerender_render_frame);
prerender_render_frame->SetIsPrerendering(
prerender_mode_, PrerenderHistograms::GetHistogramPrefix(origin_));
PrerenderHistograms::GetHistogramPrefix(origin_));
}
void PrerenderContents::DidStopLoading() {
......@@ -558,19 +558,6 @@ std::unique_ptr<base::DictionaryValue> PrerenderContents::GetAsValue() const {
void PrerenderContents::MarkAsUsedForTesting() {
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();
}
......
......@@ -4,13 +4,9 @@
module prerender.mojom;
import "components/no_state_prefetch/common/prerender_types.mojom";
// Prerender messages sent from the browser to the render frame.
interface PrerenderMessages {
// Tells a renderer if it's currently being prerendered. Must only be set
// before any navigation occurs, and only set to kNoPrerender at most once
// after that.
SetIsPrerendering(prerender.mojom.PrerenderMode mode,
string histogram_prefix);
// Tells a renderer that it's currently being prerendered. Must only be set
// before any navigation occurs.
SetIsPrerendering(string histogram_prefix);
};
......@@ -4,7 +4,6 @@
#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_observer_list.h"
#include "content/public/renderer/render_frame.h"
......@@ -34,25 +33,21 @@ void PrerenderRenderFrameObserver::OnDestruct() {
}
void PrerenderRenderFrameObserver::SetIsPrerendering(
prerender::mojom::PrerenderMode mode,
const std::string& histogram_prefix) {
bool is_prerendering = mode != prerender::mojom::PrerenderMode::kNoPrerender;
if (is_prerendering) {
// If the PrerenderHelper for this frame already exists, don't create it. It
// can already be created for subframes during handling of
// RenderFrameCreated, if the parent frame was prerendering at time of
// subframe creation.
// can already be created for subframes during handling of RenderFrameCreated,
// if the parent frame was prerendering at time of subframe creation.
auto* prerender_helper = prerender::PrerenderHelper::Get(render_frame());
if (!prerender_helper) {
// The PrerenderHelper will destroy itself either after recording
// histograms or on destruction of the RenderView.
prerender_helper = new prerender::PrerenderHelper(render_frame(), mode,
prerender_helper = new prerender::PrerenderHelper(
render_frame(), /*prerender_mode=*/mojom::PrerenderMode::kPrefetchOnly,
histogram_prefix);
}
}
prerender::PrerenderObserverList::SetIsPrerenderingForFrame(render_frame(),
is_prerendering);
prerender::PrerenderObserverList::SetIsPrerenderingForFrame(
render_frame(), /*is_prerendering=*/true);
}
} // namespace prerender
......@@ -5,7 +5,6 @@
#ifndef 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 "content/public/renderer/render_frame_observer.h"
#include "mojo/public/cpp/bindings/associated_receiver_set.h"
......@@ -25,8 +24,7 @@ class PrerenderRenderFrameObserver
~PrerenderRenderFrameObserver() override;
// prerender::mojom::PrerenderMessages:
void SetIsPrerendering(prerender::mojom::PrerenderMode mode,
const std::string& histogram_prefix) override;
void SetIsPrerendering(const std::string& histogram_prefix) override;
private:
// RenderFrameObserver implementation.
......
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