| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/favicon/favicon_tab_helper.h" | 5 #include "chrome/browser/favicon/favicon_tab_helper.h" |
| 6 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h" | 6 #include "chrome/browser/ui/bookmarks/bookmark_tab_helper.h" |
| 7 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" | 7 #include "chrome/browser/ui/tab_contents/tab_contents_wrapper.h" |
| 8 #include "chrome/browser/ui/tab_contents/test_tab_contents_wrapper.h" | 8 #include "chrome/browser/ui/tab_contents/test_tab_contents_wrapper.h" |
| 9 #include "chrome/common/url_constants.h" | 9 #include "chrome/common/url_constants.h" |
| 10 #include "chrome/test/base/testing_profile.h" | 10 #include "chrome/test/base/testing_profile.h" |
| 11 #include "content/browser/site_instance.h" | |
| 12 #include "content/browser/tab_contents/test_tab_contents.h" | 11 #include "content/browser/tab_contents/test_tab_contents.h" |
| 13 #include "content/public/browser/navigation_controller.h" | 12 #include "content/public/browser/navigation_controller.h" |
| 13 #include "content/public/browser/site_instance.h" |
| 14 #include "content/test/test_browser_thread.h" | 14 #include "content/test/test_browser_thread.h" |
| 15 #include "testing/gtest/include/gtest/gtest.h" | 15 #include "testing/gtest/include/gtest/gtest.h" |
| 16 | 16 |
| 17 using content::BrowserThread; | 17 using content::BrowserThread; |
| 18 using content::NavigationController; | 18 using content::NavigationController; |
| 19 using content::SiteInstance; |
| 19 using content::WebContents; | 20 using content::WebContents; |
| 20 | 21 |
| 21 class WebUITest : public TabContentsWrapperTestHarness { | 22 class WebUITest : public TabContentsWrapperTestHarness { |
| 22 public: | 23 public: |
| 23 WebUITest() : ui_thread_(BrowserThread::UI, MessageLoop::current()) {} | 24 WebUITest() : ui_thread_(BrowserThread::UI, MessageLoop::current()) {} |
| 24 | 25 |
| 25 // Tests navigating with a Web UI from a fresh (nothing pending or committed) | 26 // Tests navigating with a Web UI from a fresh (nothing pending or committed) |
| 26 // state, through pending, committed, then another navigation. The first page | 27 // state, through pending, committed, then another navigation. The first page |
| 27 // ID that we should use is passed as a parameter. We'll use the next two | 28 // ID that we should use is passed as a parameter. We'll use the next two |
| 28 // values. This must be increasing for the life of the tests. | 29 // values. This must be increasing for the life of the tests. |
| (...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 163 int focus_called() const { return focus_called_; } | 164 int focus_called() const { return focus_called_; } |
| 164 | 165 |
| 165 private: | 166 private: |
| 166 int focus_called_; | 167 int focus_called_; |
| 167 }; | 168 }; |
| 168 | 169 |
| 169 TEST_F(WebUITest, FocusOnNavigate) { | 170 TEST_F(WebUITest, FocusOnNavigate) { |
| 170 // Setup. |tc| will be used to track when we try to focus the location bar. | 171 // Setup. |tc| will be used to track when we try to focus the location bar. |
| 171 TabContentsForFocusTest* tc = new TabContentsForFocusTest( | 172 TabContentsForFocusTest* tc = new TabContentsForFocusTest( |
| 172 contents()->GetBrowserContext(), | 173 contents()->GetBrowserContext(), |
| 173 SiteInstance::CreateSiteInstance(contents()->GetBrowserContext())); | 174 SiteInstance::Create(contents()->GetBrowserContext())); |
| 174 tc->GetController().CopyStateFrom(controller()); | 175 tc->GetController().CopyStateFrom(controller()); |
| 175 SetContents(tc); | 176 SetContents(tc); |
| 176 int page_id = 200; | 177 int page_id = 200; |
| 177 | 178 |
| 178 // Load the NTP. | 179 // Load the NTP. |
| 179 GURL new_tab_url(chrome::kChromeUINewTabURL); | 180 GURL new_tab_url(chrome::kChromeUINewTabURL); |
| 180 controller().LoadURL(new_tab_url, content::Referrer(), | 181 controller().LoadURL(new_tab_url, content::Referrer(), |
| 181 content::PAGE_TRANSITION_LINK, | 182 content::PAGE_TRANSITION_LINK, |
| 182 std::string()); | 183 std::string()); |
| 183 rvh()->SendNavigate(page_id, new_tab_url); | 184 rvh()->SendNavigate(page_id, new_tab_url); |
| (...skipping 22 matching lines...) Expand all Loading... |
| 206 // Navigate forward. Shouldn't focus the location bar. | 207 // Navigate forward. Shouldn't focus the location bar. |
| 207 focus_called = tc->focus_called(); | 208 focus_called = tc->focus_called(); |
| 208 ASSERT_TRUE(controller().CanGoForward()); | 209 ASSERT_TRUE(controller().CanGoForward()); |
| 209 controller().GoForward(); | 210 controller().GoForward(); |
| 210 old_rvh = rvh(); | 211 old_rvh = rvh(); |
| 211 old_rvh->SendShouldCloseACK(true); | 212 old_rvh->SendShouldCloseACK(true); |
| 212 pending_rvh()->SendNavigate(next_page_id, next_url); | 213 pending_rvh()->SendNavigate(next_page_id, next_url); |
| 213 old_rvh->OnSwapOutACK(); | 214 old_rvh->OnSwapOutACK(); |
| 214 EXPECT_EQ(focus_called, tc->focus_called()); | 215 EXPECT_EQ(focus_called, tc->focus_called()); |
| 215 } | 216 } |
| OLD | NEW |