diff options
author | sky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-17 18:07:02 +0000 |
---|---|---|
committer | sky@google.com <sky@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-10-17 18:07:02 +0000 |
commit | 4cdac10757c9a774c3defdaf705f0d8c99290d19 (patch) | |
tree | d175d1d492401a5b96f3880df45c603fe05aee8a /chrome/test/test_tab_contents.cc | |
parent | 09da32d543461c90fcf3490966e0c4a670b9a2a8 (diff) | |
download | chromium_src-4cdac10757c9a774c3defdaf705f0d8c99290d19.zip chromium_src-4cdac10757c9a774c3defdaf705f0d8c99290d19.tar.gz chromium_src-4cdac10757c9a774c3defdaf705f0d8c99290d19.tar.bz2 |
Adds the anti-carpet bombing dialog. More specifically a new
EventHandler now exists between the buffered event handler and
download event handler. This new event handler asks the
DownloadRequestManager whether the download is allowed. This may
prompt the user and then the download continues or is canceled. The
DownloadRequestManager receives the request on the IO thread, forwards
to the UI thread, makes the decision, then notifies back on the IO
thread.
BUG=3422
TEST=make sure you don't see any problems downloading content.
Review URL: http://codereview.chromium.org/7479
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@3543 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/test_tab_contents.cc')
-rw-r--r-- | chrome/test/test_tab_contents.cc | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/chrome/test/test_tab_contents.cc b/chrome/test/test_tab_contents.cc new file mode 100644 index 0000000..7b43b76 --- /dev/null +++ b/chrome/test/test_tab_contents.cc @@ -0,0 +1,38 @@ +// Copyright (c) 2006-2008 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/test/test_tab_contents.h" + +#include "chrome/browser/navigation_entry.h" + +// static +SiteInstance* TestTabContents::site_instance_ = NULL; + +TestTabContents::TestTabContents(TabContentsType type) + : TabContents(type), + commit_on_navigate_(false), + next_page_id_(1) { +} + +bool TestTabContents::NavigateToPendingEntry(bool reload) { + if (commit_on_navigate_) { + CompleteNavigationAsRenderer(next_page_id_++, + controller()->GetPendingEntry()->url()); + } + return true; +} + +void TestTabContents::CompleteNavigationAsRenderer(int page_id, + const GURL& url) { + ViewHostMsg_FrameNavigate_Params params; + params.page_id = page_id; + params.url = url; + params.transition = PageTransition::LINK; + params.should_update_history = false; + params.gesture = NavigationGestureUser; + params.is_post = false; + + NavigationController::LoadCommittedDetails details; + controller()->RendererDidNavigate(params, false, &details); +} |