| Index: chrome/browser/prerender/prerender_observer.cc
|
| diff --git a/chrome/browser/prerender/prerender_observer.cc b/chrome/browser/prerender/prerender_observer.cc
|
| index 52d377a80ba53725210bcb1a350d4cd65559819a..81f553044f838fc48d2c6b5980cb33d608a24f10 100644
|
| --- a/chrome/browser/prerender/prerender_observer.cc
|
| +++ b/chrome/browser/prerender/prerender_observer.cc
|
| @@ -20,11 +20,12 @@ PrerenderObserver::PrerenderObserver(TabContents* tab_contents)
|
| PrerenderObserver::~PrerenderObserver() {
|
| }
|
|
|
| -void PrerenderObserver::ProvisionalChangeToMainFrameUrl(const GURL& url) {
|
| +void PrerenderObserver::ProvisionalChangeToMainFrameUrl(const GURL& url,
|
| + bool has_opener_set) {
|
| PrerenderManager* prerender_manager = MaybeGetPrerenderManager();
|
| if (prerender_manager)
|
| prerender_manager->MarkTabContentsAsNotPrerendered(tab_contents());
|
| - MaybeUsePreloadedPage(url);
|
| + MaybeUsePreloadedPage(url, has_opener_set);
|
| }
|
|
|
| bool PrerenderObserver::OnMessageReceived(const IPC::Message& message) {
|
| @@ -37,6 +38,7 @@ bool PrerenderObserver::OnMessageReceived(const IPC::Message& message) {
|
|
|
| void PrerenderObserver::OnDidStartProvisionalLoadForFrame(int64 frame_id,
|
| bool is_main_frame,
|
| + bool has_opener_set,
|
| const GURL& url) {
|
| if (is_main_frame) {
|
| // Record the beginning of a new PPLT navigation.
|
| @@ -59,12 +61,17 @@ PrerenderManager* PrerenderObserver::MaybeGetPrerenderManager() {
|
| return tab_contents()->profile()->GetPrerenderManager();
|
| }
|
|
|
| -bool PrerenderObserver::MaybeUsePreloadedPage(const GURL& url) {
|
| +bool PrerenderObserver::MaybeUsePreloadedPage(const GURL& url,
|
| + bool has_opener_set) {
|
| PrerenderManager* prerender_manager = MaybeGetPrerenderManager();
|
| - if (prerender_manager &&
|
| - prerender_manager->MaybeUsePreloadedPage(tab_contents(), url))
|
| - return true;
|
| - return false;
|
| +
|
| + PrerenderManager::PrerenderedPageProperties properties;
|
| + properties.has_opener_set_ = has_opener_set;
|
| +
|
| + return prerender_manager &&
|
| + prerender_manager->MaybeUsePreloadedPage(tab_contents(),
|
| + url,
|
| + properties);
|
| }
|
|
|
| } // namespace prerender
|
|
|