| Index: chrome/renderer/prerender/prerender_helper.cc
|
| diff --git a/chrome/renderer/prerender/prerender_helper.cc b/chrome/renderer/prerender/prerender_helper.cc
|
| index 2ea8d076cfdbce133dd32adc38bb1e0989b153b7..70f6637c8d45f478f4edafca01ca75ab0398989b 100644
|
| --- a/chrome/renderer/prerender/prerender_helper.cc
|
| +++ b/chrome/renderer/prerender/prerender_helper.cc
|
| @@ -34,18 +34,39 @@ void UpdateVisibilityState(content::RenderFrame* render_frame) {
|
|
|
| namespace prerender {
|
|
|
| -PrerenderHelper::PrerenderHelper(content::RenderFrame* render_frame)
|
| +PrerenderHelper::PrerenderHelper(content::RenderFrame* render_frame,
|
| + PrerenderMode prerender_mode)
|
| : content::RenderFrameObserver(render_frame),
|
| - content::RenderFrameObserverTracker<PrerenderHelper>(render_frame) {
|
| + content::RenderFrameObserverTracker<PrerenderHelper>(render_frame),
|
| + prerender_mode_(prerender_mode) {
|
| + DCHECK_NE(prerender_mode_, NO_PRERENDER);
|
| UpdateVisibilityState(render_frame);
|
| }
|
|
|
| +PrerenderHelper::PrerenderHelper(content::RenderFrame* sub_frame)
|
| + : PrerenderHelper(sub_frame,
|
| + GetPrerenderMode(
|
| + sub_frame->GetRenderView()->GetMainRenderFrame())) {
|
| + DCHECK(!render_frame()->IsMainFrame());
|
| +}
|
| +
|
| PrerenderHelper::~PrerenderHelper() {
|
| }
|
|
|
| // static.
|
| bool PrerenderHelper::IsPrerendering(const content::RenderFrame* render_frame) {
|
| - return PrerenderHelper::Get(render_frame) != NULL;
|
| + return PrerenderHelper::GetPrerenderMode(render_frame) != NO_PRERENDER;
|
| +}
|
| +
|
| +// static.
|
| +PrerenderMode PrerenderHelper::GetPrerenderMode(
|
| + const content::RenderFrame* render_frame) {
|
| + PrerenderHelper* helper = PrerenderHelper::Get(render_frame);
|
| + if (!helper)
|
| + return NO_PRERENDER;
|
| +
|
| + DCHECK_NE(helper->prerender_mode_, NO_PRERENDER);
|
| + return helper->prerender_mode_;
|
| }
|
|
|
| bool PrerenderHelper::OnMessageReceived(
|
|
|