Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(63)

Side by Side Diff: chrome/browser/prerender/prerender_handle.cc

Issue 11571037: Pass load events from prerenders to launching elements. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: ready for review Created 8 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/prerender/prerender_handle.h" 5 #include "chrome/browser/prerender/prerender_handle.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "chrome/browser/prerender/prerender_contents.h" 10 #include "chrome/browser/prerender/prerender_contents.h"
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 } 84 }
85 85
86 void PrerenderHandle::OnPrerenderStart(PrerenderContents* prerender_contents) { 86 void PrerenderHandle::OnPrerenderStart(PrerenderContents* prerender_contents) {
87 DCHECK(CalledOnValidThread()); 87 DCHECK(CalledOnValidThread());
88 DCHECK(prerender_data_); 88 DCHECK(prerender_data_);
89 DCHECK_EQ(prerender_data_->contents(), prerender_contents); 89 DCHECK_EQ(prerender_data_->contents(), prerender_contents);
90 if (observer_) 90 if (observer_)
91 observer_->OnPrerenderStart(this); 91 observer_->OnPrerenderStart(this);
92 } 92 }
93 93
94 void PrerenderHandle::OnPrerenderAddAlias(PrerenderContents* prerender_contents, 94 void PrerenderHandle::OnPrerenderStopLoading(
95 const GURL& alias_url) { 95 PrerenderContents* prerender_contents) {
96 DCHECK(CalledOnValidThread()); 96 DCHECK(CalledOnValidThread());
97 DCHECK(prerender_data_); 97 DCHECK(prerender_data_);
98 DCHECK_EQ(prerender_data_->contents(), prerender_contents); 98 DCHECK_EQ(prerender_data_->contents(), prerender_contents);
99 if (observer_) 99 if (observer_)
100 observer_->OnPrerenderAddAlias(this, alias_url); 100 observer_->OnPrerenderStopLoading(this);
101 } 101 }
102 102
103 void PrerenderHandle::OnPrerenderStop(PrerenderContents* prerender_contents) { 103 void PrerenderHandle::OnPrerenderStop(PrerenderContents* prerender_contents) {
104 DCHECK(CalledOnValidThread()); 104 DCHECK(CalledOnValidThread());
105 if (observer_) 105 if (observer_)
106 observer_->OnPrerenderStop(this); 106 observer_->OnPrerenderStop(this);
107 } 107 }
108 108
109 void PrerenderHandle::OnPrerenderAddAlias(PrerenderContents* prerender_contents,
110 const GURL& alias_url) {
111 DCHECK(CalledOnValidThread());
112 DCHECK(prerender_data_);
113 DCHECK_EQ(prerender_data_->contents(), prerender_contents);
114 if (observer_)
115 observer_->OnPrerenderAddAlias(this, alias_url);
116 }
117
109 void PrerenderHandle::OnPrerenderCreatedMatchCompleteReplacement( 118 void PrerenderHandle::OnPrerenderCreatedMatchCompleteReplacement(
110 PrerenderContents* contents, PrerenderContents* replacement) { 119 PrerenderContents* contents, PrerenderContents* replacement) {
111 DCHECK(CalledOnValidThread()); 120 DCHECK(CalledOnValidThread());
112 121
113 // This should occur in the middle of the surgery on the PrerenderData, and 122 // This should occur in the middle of the surgery on the PrerenderData, and
114 // so we expect to not have our new contents in our PrerenderData yet. The 123 // so we expect to not have our new contents in our PrerenderData yet. The
115 // switch occurs in 124 // switch occurs in
116 // PrerenderManager::PrerenderData::MakeIntoMatchCompleteReplacement, so 125 // PrerenderManager::PrerenderData::MakeIntoMatchCompleteReplacement, so
117 // this method only needs to switch observing. 126 // this method only needs to switch observing.
118 127
119 contents->RemoveObserver(this); 128 contents->RemoveObserver(this);
120 replacement->AddObserver(this); 129 replacement->AddObserver(this);
121 } 130 }
122 131
123 } // namespace prerender 132 } // namespace prerender
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698