| Index: chrome/renderer/chrome_render_frame_observer.cc
|
| diff --git a/chrome/renderer/chrome_render_frame_observer.cc b/chrome/renderer/chrome_render_frame_observer.cc
|
| index 8f6594890a42e857d6e12308ea138abeae9eaa95..09375b3190bce359bb2f0c7ade76ea48117aa652 100644
|
| --- a/chrome/renderer/chrome_render_frame_observer.cc
|
| +++ b/chrome/renderer/chrome_render_frame_observer.cc
|
| @@ -26,7 +26,13 @@ bool ChromeRenderFrameObserver::OnMessageReceived(const IPC::Message& message) {
|
|
|
| void ChromeRenderFrameObserver::OnSetIsPrerendering(bool is_prerendering) {
|
| if (is_prerendering) {
|
| - DCHECK(!prerender::PrerenderHelper::Get(render_frame()));
|
| + // 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.
|
| + if (prerender::PrerenderHelper::Get(render_frame()))
|
| + return;
|
| +
|
| // The PrerenderHelper will destroy itself either after recording histograms
|
| // or on destruction of the RenderView.
|
| new prerender::PrerenderHelper(render_frame());
|
|
|