summaryrefslogtreecommitdiffstats
path: root/chrome/browser/prerender/prerender_handle.cc
diff options
context:
space:
mode:
authormpearson@chromium.org <mpearson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-14 16:38:46 +0000
committermpearson@chromium.org <mpearson@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-14 16:38:46 +0000
commitd1e85efabceaba62186e9e839d76d424392adbc5 (patch)
treec06af82e0e5c38fb8513660758023f073e7136bc /chrome/browser/prerender/prerender_handle.cc
parentb7259b68a9ecc222e18ed1875bdee4ff746365b6 (diff)
downloadchromium_src-d1e85efabceaba62186e9e839d76d424392adbc5.zip
chromium_src-d1e85efabceaba62186e9e839d76d424392adbc5.tar.gz
chromium_src-d1e85efabceaba62186e9e839d76d424392adbc5.tar.bz2
Revert 146740 - Handle interface to prerenders.
The prerender_manager now returns a PrerenderHandle* when creating a prerender; this is a useful object for canceling the prerender, as well as signaling navigation, etc... BUG=None Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=146735 Review URL: https://chromiumcodereview.appspot.com/10553029 TBR=gavinp@chromium.org Review URL: https://chromiumcodereview.appspot.com/10779007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146741 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/prerender/prerender_handle.cc')
-rw-r--r--chrome/browser/prerender/prerender_handle.cc71
1 files changed, 0 insertions, 71 deletions
diff --git a/chrome/browser/prerender/prerender_handle.cc b/chrome/browser/prerender/prerender_handle.cc
deleted file mode 100644
index 24de791..0000000
--- a/chrome/browser/prerender/prerender_handle.cc
+++ /dev/null
@@ -1,71 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "chrome/browser/prerender/prerender_handle.h"
-
-#include <algorithm>
-
-#include "chrome/browser/prerender/prerender_contents.h"
-
-namespace prerender {
-
-PrerenderHandle::~PrerenderHandle() {
- DCHECK(!IsValid());
- // This shouldn't occur, but we also shouldn't leak if it does.
- if (IsValid())
- OnCancel();
-}
-
-void PrerenderHandle::OnNavigateAway() {
- DCHECK(CalledOnValidThread());
- if (!IsValid())
- return;
- prerender_data_->OnNavigateAwayByHandle();
- prerender_data_.reset();
-}
-
-void PrerenderHandle::OnCancel() {
- DCHECK(CalledOnValidThread());
- if (!IsValid())
- return;
- prerender_data_->OnCancelByHandle();
- prerender_data_.reset();
-}
-
-bool PrerenderHandle::IsValid() const {
- return prerender_data_ != NULL;
-}
-
-bool PrerenderHandle::IsPending() const {
- DCHECK(CalledOnValidThread());
- return prerender_data_ && !prerender_data_->contents();
-}
-
-bool PrerenderHandle::IsPrerendering() const {
- DCHECK(CalledOnValidThread());
- return prerender_data_ && prerender_data_->contents();
-}
-
-bool PrerenderHandle::IsFinishedLoading() const {
- DCHECK(CalledOnValidThread());
- if (!prerender_data_ || IsPending())
- return false;
- return prerender_data_->contents()->has_finished_loading();
-}
-
-PrerenderHandle::PrerenderHandle(
- PrerenderManager::PrerenderData* prerender_data)
- : prerender_data_(prerender_data->AsWeakPtr()),
- weak_ptr_factory_(this) {
- prerender_data->OnNewHandle();
-}
-
-void PrerenderHandle::SwapPrerenderDataWith(
- PrerenderHandle* other_prerender_handle) {
- DCHECK(CalledOnValidThread());
- DCHECK(other_prerender_handle);
- std::swap(prerender_data_, other_prerender_handle->prerender_data_);
-}
-
-} // namespace prerender