diff options
author | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-08 19:12:11 +0000 |
---|---|---|
committer | avi@chromium.org <avi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-06-08 19:12:11 +0000 |
commit | 732b2a893a7a02dc3a2da0500526bc811f030b7c (patch) | |
tree | 2d70ea40f6c9cb54e09ecf6516efa02e55193066 /chrome | |
parent | 42f2378f9740907a78eb4857ec8ae97820e5b36b (diff) | |
download | chromium_src-732b2a893a7a02dc3a2da0500526bc811f030b7c.zip chromium_src-732b2a893a7a02dc3a2da0500526bc811f030b7c.tar.gz chromium_src-732b2a893a7a02dc3a2da0500526bc811f030b7c.tar.bz2 |
TabContentsWrapper -> TabContents, part 23.
Prerender.
BUG=131026
TEST=no change
Review URL: https://chromiumcodereview.appspot.com/10540078
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@141249 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome')
-rw-r--r-- | chrome/browser/prerender/prefetch_browsertest.cc | 6 | ||||
-rw-r--r-- | chrome/browser/prerender/prerender_browsertest.cc | 24 | ||||
-rw-r--r-- | chrome/browser/prerender/prerender_contents.cc | 12 | ||||
-rw-r--r-- | chrome/browser/prerender/prerender_contents.h | 13 | ||||
-rw-r--r-- | chrome/browser/prerender/prerender_manager.cc | 29 | ||||
-rw-r--r-- | chrome/browser/prerender/prerender_manager.h | 4 | ||||
-rw-r--r-- | chrome/browser/prerender/prerender_tab_helper.cc | 4 | ||||
-rw-r--r-- | chrome/browser/prerender/prerender_tab_helper.h | 7 |
8 files changed, 46 insertions, 53 deletions
diff --git a/chrome/browser/prerender/prefetch_browsertest.cc b/chrome/browser/prerender/prefetch_browsertest.cc index 9401a3d..a7f13dc 100644 --- a/chrome/browser/prerender/prefetch_browsertest.cc +++ b/chrome/browser/prerender/prefetch_browsertest.cc @@ -1,4 +1,4 @@ -// Copyright (c) 2011 The Chromium Authors. All rights reserved. +// 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. @@ -53,7 +53,7 @@ IN_PROC_BROWSER_TEST_F(PrefetchBrowserTest, PrefetchOn) { GURL url = test_server()->GetURL(kPrefetchPage); const string16 expected_title = ASCIIToUTF16("link onload"); - ui_test_utils::TitleWatcher title_watcher(browser()->GetSelectedWebContents(), + ui_test_utils::TitleWatcher title_watcher(browser()->GetActiveWebContents(), expected_title); ui_test_utils::NavigateToURL(browser(), url); @@ -65,7 +65,7 @@ IN_PROC_BROWSER_TEST_F(PrefetchBrowserTestNoPrefetching, PrefetchOff) { GURL url = test_server()->GetURL(kPrefetchPage); const string16 expected_title = ASCIIToUTF16("link onerror"); - ui_test_utils::TitleWatcher title_watcher(browser()->GetSelectedWebContents(), + ui_test_utils::TitleWatcher title_watcher(browser()->GetActiveWebContents(), expected_title); ui_test_utils::NavigateToURL(browser(), url); diff --git a/chrome/browser/prerender/prerender_browsertest.cc b/chrome/browser/prerender/prerender_browsertest.cc index e9a0955..00d48f4 100644 --- a/chrome/browser/prerender/prerender_browsertest.cc +++ b/chrome/browser/prerender/prerender_browsertest.cc @@ -28,7 +28,7 @@ #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_finder.h" #include "chrome/browser/ui/browser_window.h" -#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" +#include "chrome/browser/ui/tab_contents/tab_contents.h" #include "chrome/common/chrome_notification_types.h" #include "chrome/common/chrome_paths.h" #include "chrome/common/chrome_switches.h" @@ -641,7 +641,7 @@ class PrerenderBrowserTest : public InProcessBrowserTest { content::NOTIFICATION_NAV_ENTRY_COMMITTED, content::NotificationService::AllSources()); RenderViewHost* render_view_host = - current_browser()->GetSelectedWebContents()->GetRenderViewHost(); + current_browser()->GetActiveWebContents()->GetRenderViewHost(); render_view_host->ExecuteJavascriptInWebFrame( string16(), ASCIIToUTF16("ClickOpenLink()")); @@ -673,7 +673,7 @@ class PrerenderBrowserTest : public InProcessBrowserTest { back_nav_observer.Wait(); bool original_prerender_page = false; ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( - current_browser()->GetSelectedWebContents()->GetRenderViewHost(), L"", + current_browser()->GetActiveWebContents()->GetRenderViewHost(), L"", L"window.domAutomationController.send(IsOriginalPrerenderPage())", &original_prerender_page)); EXPECT_TRUE(original_prerender_page); @@ -683,7 +683,7 @@ class PrerenderBrowserTest : public InProcessBrowserTest { // in. This must be called when the prerendered page is the current page // in the active tab. void GoBackToPageBeforePrerender() { - WebContents* tab = current_browser()->GetSelectedWebContents(); + WebContents* tab = current_browser()->GetActiveWebContents(); ASSERT_TRUE(tab); EXPECT_FALSE(tab->IsLoading()); ui_test_utils::WindowedNotificationObserver back_nav_observer( @@ -731,16 +731,14 @@ class PrerenderBrowserTest : public InProcessBrowserTest { } PrerenderManager* GetPrerenderManager() const { - Profile* profile = - current_browser()->GetSelectedTabContentsWrapper()->profile(); + Profile* profile = current_browser()->GetActiveTabContents()->profile(); PrerenderManager* prerender_manager = PrerenderManagerFactory::GetForProfile(profile); return prerender_manager; } const PrerenderLinkManager* GetPrerenderLinkManager() const { - Profile* profile = - current_browser()->GetSelectedTabContentsWrapper()->profile(); + Profile* profile = current_browser()->GetActiveTabContents()->profile(); PrerenderLinkManager* prerender_link_manager = PrerenderLinkManagerFactory::GetForProfile(profile); return prerender_link_manager; @@ -953,7 +951,7 @@ class PrerenderBrowserTest : public InProcessBrowserTest { ASSERT_TRUE(prerender_contents != NULL); RenderViewHost* render_view_host = - current_browser()->GetSelectedWebContents()->GetRenderViewHost(); + current_browser()->GetActiveWebContents()->GetRenderViewHost(); render_view_host->ExecuteJavascriptInWebFrame( string16(), ASCIIToUTF16(javascript_function_name)); @@ -1118,7 +1116,7 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderNaClPluginDisabled) { // TODO(mmenke): While this should reliably fail on regressions, the // reliability depends on the specifics of ppapi plugin // loading. It would be great if we could avoid that. - WebContents* web_contents = browser()->GetSelectedWebContents(); + WebContents* web_contents = browser()->GetActiveWebContents(); bool display_test_result = false; ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( web_contents->GetRenderViewHost(), L"", @@ -2029,7 +2027,7 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, MAYBE_PrerenderUnload) { PrerenderTestURL("files/prerender/prerender_page.html", FINAL_STATUS_USED, 1); string16 expected_title = ASCIIToUTF16("Unloaded"); ui_test_utils::TitleWatcher title_watcher( - current_browser()->GetSelectedWebContents(), expected_title); + current_browser()->GetActiveWebContents(), expected_title); NavigateToDestURL(); EXPECT_EQ(expected_title, title_watcher.WaitAndGetTitle()); } @@ -2156,7 +2154,7 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, PrerenderClickNewBackgroundTab) { IN_PROC_BROWSER_TEST_F(PrerenderBrowserTest, NavigateToPrerenderedPageWhenDevToolsAttached) { DisableJavascriptCalls(); - WebContents* web_contents = current_browser()->GetSelectedWebContents(); + WebContents* web_contents = current_browser()->GetActiveWebContents(); DevToolsAgentHost* agent = DevToolsAgentHostRegistry::GetDevToolsAgentHost( web_contents->GetRenderViewHost()); DevToolsManager* manager = DevToolsManager::GetInstance(); @@ -2224,7 +2222,7 @@ IN_PROC_BROWSER_TEST_F(PrerenderBrowserTestWithNaCl, // To avoid any chance of a race, we have to let the script send its response // asynchronously. - WebContents* web_contents = browser()->GetSelectedWebContents(); + WebContents* web_contents = browser()->GetActiveWebContents(); bool display_test_result = false; ASSERT_TRUE(ui_test_utils::ExecuteJavaScriptAndExtractBool( web_contents->GetRenderViewHost(), L"", diff --git a/chrome/browser/prerender/prerender_contents.cc b/chrome/browser/prerender/prerender_contents.cc index f079da4..033e64e 100644 --- a/chrome/browser/prerender/prerender_contents.cc +++ b/chrome/browser/prerender/prerender_contents.cc @@ -18,7 +18,7 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_finder.h" -#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" +#include "chrome/browser/ui/tab_contents/tab_contents.h" #include "chrome/common/chrome_notification_types.h" #include "chrome/common/icon_messages.h" #include "chrome/common/prerender_messages.h" @@ -189,8 +189,8 @@ class PrerenderContents::TabContentsDelegateImpl return prerender_contents_->ShouldSuppressDialogs(); } - // Commits the History of Pages to the given TabContentsWrapper. - void CommitHistory(TabContentsWrapper* tab) { + // Commits the History of Pages to the given TabContents. + void CommitHistory(TabContents* tab) { for (size_t i = 0; i < add_page_vector_.size(); ++i) tab->history_tab_helper()->UpdateHistoryForNavigation( add_page_vector_[i].get()); @@ -320,7 +320,7 @@ void PrerenderContents::StartPrerendering( prerendering_has_started_ = true; WebContents* new_contents = CreateWebContents(session_storage_namespace); - prerender_contents_.reset(new TabContentsWrapper(new_contents)); + prerender_contents_.reset(new TabContents(new_contents)); content::WebContentsObserver::Observe(new_contents); tab_contents_delegate_.reset(new TabContentsDelegateImpl(this)); @@ -674,7 +674,7 @@ void PrerenderContents::DestroyWhenUsingTooManyResources() { } } -TabContentsWrapper* PrerenderContents::ReleasePrerenderContents() { +TabContents* PrerenderContents::ReleasePrerenderContents() { prerender_contents_->web_contents()->SetDelegate(NULL); render_view_host_observer_.reset(); content::WebContentsObserver::Observe(NULL); @@ -697,7 +697,7 @@ const RenderViewHost* PrerenderContents::GetRenderViewHost() const { return prerender_contents_->web_contents()->GetRenderViewHost(); } -void PrerenderContents::CommitHistory(TabContentsWrapper* tab) { +void PrerenderContents::CommitHistory(TabContents* tab) { if (tab_contents_delegate_.get()) tab_contents_delegate_->CommitHistory(tab); } diff --git a/chrome/browser/prerender/prerender_contents.h b/chrome/browser/prerender/prerender_contents.h index 0859c3b..cb9f458 100644 --- a/chrome/browser/prerender/prerender_contents.h +++ b/chrome/browser/prerender/prerender_contents.h @@ -23,7 +23,6 @@ class Profile; class TabContents; -typedef TabContents TabContentsWrapper; struct FaviconURL; namespace base { @@ -188,12 +187,12 @@ class PrerenderContents : public content::NotificationObserver, // Adds all alias URLs from another prerender. void AddAliasURLsFromOtherPrerenderContents(PrerenderContents* other_pc); - // The preview TabContentsWrapper (may be null). - TabContentsWrapper* prerender_contents() const { + // The preview TabContents (may be null). + TabContents* prerender_contents() const { return prerender_contents_.get(); } - TabContentsWrapper* ReleasePrerenderContents(); + TabContents* ReleasePrerenderContents(); // Sets the final status, calls OnDestroy and adds |this| to the // PrerenderManager's pending deletes list. @@ -201,7 +200,7 @@ class PrerenderContents : public content::NotificationObserver, // Applies all the URL history encountered during prerendering to the // new tab. - void CommitHistory(TabContentsWrapper* tab); + void CommitHistory(TabContents* tab); base::Value* GetAsValue() const; @@ -328,8 +327,8 @@ class PrerenderContents : public content::NotificationObserver, // RenderViewHost for this object. scoped_ptr<base::ProcessMetrics> process_metrics_; - // The prerendered TabContentsWrapper; may be null. - scoped_ptr<TabContentsWrapper> prerender_contents_; + // The prerendered TabContents; may be null. + scoped_ptr<TabContents> prerender_contents_; scoped_ptr<PrerenderRenderViewHostObserver> render_view_host_observer_; diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc index 6a64741..c1196c6 100644 --- a/chrome/browser/prerender/prerender_manager.cc +++ b/chrome/browser/prerender/prerender_manager.cc @@ -34,7 +34,7 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/tab_contents/core_tab_helper.h" #include "chrome/browser/ui/tab_contents/core_tab_helper_delegate.h" -#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" +#include "chrome/browser/ui/tab_contents/tab_contents.h" #include "chrome/common/chrome_notification_types.h" #include "chrome/common/chrome_switches.h" #include "chrome/common/prerender_messages.h" @@ -124,7 +124,7 @@ class PrerenderManager::OnCloseTabContentsDeleter PrerenderManager::OnCloseTabContentsDeleter> { public: OnCloseTabContentsDeleter(PrerenderManager* manager, - TabContentsWrapper* tab) + TabContents* tab) : manager_(manager), tab_(tab) { tab_->web_contents()->SetDelegate(this); @@ -158,7 +158,7 @@ class PrerenderManager::OnCloseTabContentsDeleter } PrerenderManager* manager_; - scoped_ptr<TabContentsWrapper> tab_; + scoped_ptr<TabContents> tab_; DISALLOW_COPY_AND_ASSIGN(OnCloseTabContentsDeleter); }; @@ -408,10 +408,9 @@ bool PrerenderManager::MaybeUsePrerenderedPage(WebContents* web_contents, new PrerenderMsg_SetIsPrerendering(new_render_view_host->GetRoutingID(), false)); - TabContentsWrapper* new_tab_contents = + TabContents* new_tab_contents = prerender_contents->ReleasePrerenderContents(); - TabContentsWrapper* old_tab_contents = - TabContentsWrapper::GetCurrentWrapperForContents(web_contents); + TabContents* old_tab_contents = TabContents::FromWebContents(web_contents); DCHECK(new_tab_contents); DCHECK(old_tab_contents); @@ -626,10 +625,9 @@ bool PrerenderManager::IsWebContentsPrerendering( for (PrerenderContentsDataList::const_iterator it = prerender_list_.begin(); it != prerender_list_.end(); ++it) { - TabContentsWrapper* prerender_tab_contents_wrapper = - it->contents_->prerender_contents(); - if (prerender_tab_contents_wrapper && - prerender_tab_contents_wrapper->web_contents() == web_contents) { + TabContents* prerender_tab_contents = it->contents_->prerender_contents(); + if (prerender_tab_contents && + prerender_tab_contents->web_contents() == web_contents) { return true; } } @@ -639,10 +637,9 @@ bool PrerenderManager::IsWebContentsPrerendering( pending_delete_list_.begin(); it != pending_delete_list_.end(); ++it) { - TabContentsWrapper* prerender_tab_contents_wrapper = - (*it)->prerender_contents(); - if (prerender_tab_contents_wrapper && - prerender_tab_contents_wrapper->web_contents() == web_contents) + TabContents* prerender_tab_contents = (*it)->prerender_contents(); + if (prerender_tab_contents && + prerender_tab_contents->web_contents() == web_contents) return true; } @@ -1096,7 +1093,7 @@ bool PrerenderManager::DoesRateLimitAllowPrerender() const { void PrerenderManager::DeleteOldTabContents() { while (!old_tab_contents_list_.empty()) { - TabContentsWrapper* tab_contents = old_tab_contents_list_.front(); + TabContents* tab_contents = old_tab_contents_list_.front(); old_tab_contents_list_.pop_front(); // TODO(dominich): should we use Instant Unload Handler here? delete tab_contents; @@ -1117,7 +1114,7 @@ void PrerenderManager::CleanUpOldNavigations() { } void PrerenderManager::ScheduleDeleteOldTabContents( - TabContentsWrapper* tab, + TabContents* tab, OnCloseTabContentsDeleter* deleter) { old_tab_contents_list_.push_back(tab); PostCleanupTask(); diff --git a/chrome/browser/prerender/prerender_manager.h b/chrome/browser/prerender/prerender_manager.h index 3d25b1c..ea96861 100644 --- a/chrome/browser/prerender/prerender_manager.h +++ b/chrome/browser/prerender/prerender_manager.h @@ -389,7 +389,7 @@ class PrerenderManager : public base::SupportsWeakPtr<PrerenderManager>, // Arrange for the given tab contents to be deleted asap. If deleter is not // NULL, deletes that as well. - void ScheduleDeleteOldTabContents(TabContentsWrapper* tab, + void ScheduleDeleteOldTabContents(TabContents* tab, OnCloseTabContentsDeleter* deleter); // Adds to the history list. @@ -475,7 +475,7 @@ class PrerenderManager : public base::SupportsWeakPtr<PrerenderManager>, // Track time of last prerender to limit prerender spam. base::TimeTicks last_prerender_start_time_; - std::list<TabContentsWrapper*> old_tab_contents_list_; + std::list<TabContents*> old_tab_contents_list_; // Cancels pending tasks on deletion. base::WeakPtrFactory<PrerenderManager> weak_factory_; diff --git a/chrome/browser/prerender/prerender_tab_helper.cc b/chrome/browser/prerender/prerender_tab_helper.cc index 2175abf..b63c879 100644 --- a/chrome/browser/prerender/prerender_tab_helper.cc +++ b/chrome/browser/prerender/prerender_tab_helper.cc @@ -12,7 +12,7 @@ #include "chrome/browser/prerender/prerender_manager_factory.h" #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/tab_contents/core_tab_helper.h" -#include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" +#include "chrome/browser/ui/tab_contents/tab_contents.h" #include "content/public/browser/notification_service.h" #include "content/public/browser/notification_types.h" #include "content/public/browser/render_view_host.h" @@ -131,7 +131,7 @@ class PrerenderTabHelper::PixelStats { PrerenderTabHelper* tab_helper_; }; -PrerenderTabHelper::PrerenderTabHelper(TabContentsWrapper* tab) +PrerenderTabHelper::PrerenderTabHelper(TabContents* tab) : content::WebContentsObserver(tab->web_contents()), pixel_stats_(new PixelStats(this)), tab_(tab) { diff --git a/chrome/browser/prerender/prerender_tab_helper.h b/chrome/browser/prerender/prerender_tab_helper.h index c9748af..5557933 100644 --- a/chrome/browser/prerender/prerender_tab_helper.h +++ b/chrome/browser/prerender/prerender_tab_helper.h @@ -13,7 +13,6 @@ #include "googleurl/src/gurl.h" class TabContents; -typedef TabContents TabContentsWrapper; namespace prerender { @@ -24,7 +23,7 @@ class PrerenderManager; class PrerenderTabHelper : public content::NotificationObserver, public content::WebContentsObserver { public: - explicit PrerenderTabHelper(TabContentsWrapper* tab); + explicit PrerenderTabHelper(TabContents* tab); virtual ~PrerenderTabHelper(); // content::WebContentsObserver implementation. @@ -68,8 +67,8 @@ class PrerenderTabHelper : public content::NotificationObserver, const content::NotificationSource& source, const content::NotificationDetails& details) OVERRIDE; - // TabContentsWrapper we're created for. - TabContentsWrapper* tab_; + // TabContents we're created for. + TabContents* tab_; // System time at which the current load was started for the purpose of // the perceived page load time (PPLT). |