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

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

Issue 2554573012: Fix early prerender cancellation not working with PlzNavigate. (Closed)
Patch Set: Created 4 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
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 "base/memory/ptr_util.h" 10 #include "base/memory/ptr_util.h"
(...skipping 30 matching lines...) Expand all
41 } 41 }
42 42
43 void PrerenderHandle::OnCancel() { 43 void PrerenderHandle::OnCancel() {
44 DCHECK_CURRENTLY_ON(BrowserThread::UI); 44 DCHECK_CURRENTLY_ON(BrowserThread::UI);
45 if (prerender_data_) 45 if (prerender_data_)
46 prerender_data_->OnHandleCanceled(this); 46 prerender_data_->OnHandleCanceled(this);
47 } 47 }
48 48
49 bool PrerenderHandle::IsPrerendering() const { 49 bool PrerenderHandle::IsPrerendering() const {
50 DCHECK_CURRENTLY_ON(BrowserThread::UI); 50 DCHECK_CURRENTLY_ON(BrowserThread::UI);
51 return prerender_data_.get() != nullptr; 51 return prerender_data_.get() != nullptr &&
52 !prerender_data_->contents()->prerendering_has_been_cancelled();
52 } 53 }
53 54
54 bool PrerenderHandle::IsFinishedLoading() const { 55 bool PrerenderHandle::IsFinishedLoading() const {
55 DCHECK_CURRENTLY_ON(BrowserThread::UI); 56 DCHECK_CURRENTLY_ON(BrowserThread::UI);
56 return prerender_data_ && prerender_data_->contents()->has_finished_loading(); 57 return prerender_data_ && prerender_data_->contents()->has_finished_loading();
57 } 58 }
58 59
59 bool PrerenderHandle::IsAbandoned() const { 60 bool PrerenderHandle::IsAbandoned() const {
60 DCHECK_CURRENTLY_ON(BrowserThread::UI); 61 DCHECK_CURRENTLY_ON(BrowserThread::UI);
61 return prerender_data_ && !prerender_data_->abandon_time().is_null(); 62 return prerender_data_ && !prerender_data_->abandon_time().is_null();
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
116 observer_->OnPrerenderStop(this); 117 observer_->OnPrerenderStop(this);
117 } 118 }
118 119
119 bool PrerenderHandle::RepresentingSamePrerenderAs( 120 bool PrerenderHandle::RepresentingSamePrerenderAs(
120 PrerenderHandle* other) const { 121 PrerenderHandle* other) const {
121 return other && other->prerender_data_ && prerender_data_ && 122 return other && other->prerender_data_ && prerender_data_ &&
122 prerender_data_.get() == other->prerender_data_.get(); 123 prerender_data_.get() == other->prerender_data_.get();
123 } 124 }
124 125
125 } // namespace prerender 126 } // namespace prerender
OLDNEW
« no previous file with comments | « chrome/browser/prerender/prerender_contents.h ('k') | chrome/browser/prerender/prerender_link_manager.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698