| 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 // Navigates the browser to server and client redirect pages and makes sure | 5 // Navigates the browser to server and client redirect pages and makes sure |
| 6 // that the correct redirects are reflected in the history database. Errors | 6 // that the correct redirects are reflected in the history database. Errors |
| 7 // here might indicate that WebKit changed the calls our glue layer gets in | 7 // here might indicate that WebKit changed the calls our glue layer gets in |
| 8 // the case of redirects. It may also mean problems with the history system. | 8 // the case of redirects. It may also mean problems with the history system. |
| 9 | 9 |
| 10 #include "base/file_util.h" | 10 #include "base/file_util.h" |
| (...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 253 GURL file_url = net::FilePathToFileURL(test_file); | 253 GURL file_url = net::FilePathToFileURL(test_file); |
| 254 | 254 |
| 255 GURL initial_url = test_server_.GetURL( | 255 GURL initial_url = test_server_.GetURL( |
| 256 "client-redirect?" + file_url.spec()); | 256 "client-redirect?" + file_url.spec()); |
| 257 | 257 |
| 258 NavigateToURL(initial_url); | 258 NavigateToURL(initial_url); |
| 259 // UITest will check for crashes. We make sure the title doesn't match the | 259 // UITest will check for crashes. We make sure the title doesn't match the |
| 260 // title from the file, because the nav should not have taken place. | 260 // title from the file, because the nav should not have taken place. |
| 261 scoped_refptr<TabProxy> tab_proxy(GetActiveTab()); | 261 scoped_refptr<TabProxy> tab_proxy(GetActiveTab()); |
| 262 ASSERT_TRUE(tab_proxy.get()); | 262 ASSERT_TRUE(tab_proxy.get()); |
| 263 std::wstring actual_title; | 263 string16 actual_title; |
| 264 ASSERT_TRUE(tab_proxy->GetTabTitle(&actual_title)); | 264 ASSERT_TRUE(tab_proxy->GetTabTitle(&actual_title)); |
| 265 EXPECT_NE("File!", WideToUTF8(actual_title)); | 265 EXPECT_NE("File!", UTF16ToUTF8(actual_title)); |
| 266 } | 266 } |
| 267 | 267 |
| 268 // Ensures that non-user initiated location changes (within page) are | 268 // Ensures that non-user initiated location changes (within page) are |
| 269 // flagged as client redirects. See bug 1139823. | 269 // flagged as client redirects. See bug 1139823. |
| 270 TEST_F(RedirectTest, ClientFragments) { | 270 TEST_F(RedirectTest, ClientFragments) { |
| 271 ASSERT_TRUE(test_server_.Start()); | 271 ASSERT_TRUE(test_server_.Start()); |
| 272 | 272 |
| 273 FilePath test_file(test_data_directory_); | 273 FilePath test_file(test_data_directory_); |
| 274 test_file = test_file.AppendASCII("ref_redirect.html"); | 274 test_file = test_file.AppendASCII("ref_redirect.html"); |
| 275 GURL first_url = net::FilePathToFileURL(test_file); | 275 GURL first_url = net::FilePathToFileURL(test_file); |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 308 "client-redirect?" + slow.spec()); | 308 "client-redirect?" + slow.spec()); |
| 309 std::vector<GURL> redirects; | 309 std::vector<GURL> redirects; |
| 310 | 310 |
| 311 NavigateToURL(first_url); | 311 NavigateToURL(first_url); |
| 312 // We don't sleep here - the first navigation won't have been committed yet | 312 // We don't sleep here - the first navigation won't have been committed yet |
| 313 // because we told the server to wait a minute. This means the browser has | 313 // because we told the server to wait a minute. This means the browser has |
| 314 // started it's provisional load for the client redirect destination page but | 314 // started it's provisional load for the client redirect destination page but |
| 315 // hasn't completed. Our time is now! | 315 // hasn't completed. Our time is now! |
| 316 NavigateToURL(final_url); | 316 NavigateToURL(final_url); |
| 317 | 317 |
| 318 std::wstring tab_title; | 318 string16 tab_title; |
| 319 std::wstring final_url_title = UTF8ToWide("Title Of Awesomeness"); | 319 string16 final_url_title = ASCIIToUTF16("Title Of Awesomeness"); |
| 320 // Wait till the final page has been loaded. | 320 // Wait till the final page has been loaded. |
| 321 for (int i = 0; i < 10; ++i) { | 321 for (int i = 0; i < 10; ++i) { |
| 322 base::PlatformThread::Sleep(TestTimeouts::action_timeout_ms()); | 322 base::PlatformThread::Sleep(TestTimeouts::action_timeout_ms()); |
| 323 scoped_refptr<TabProxy> tab_proxy(GetActiveTab()); | 323 scoped_refptr<TabProxy> tab_proxy(GetActiveTab()); |
| 324 ASSERT_TRUE(tab_proxy.get()); | 324 ASSERT_TRUE(tab_proxy.get()); |
| 325 ASSERT_TRUE(tab_proxy->GetTabTitle(&tab_title)); | 325 ASSERT_TRUE(tab_proxy->GetTabTitle(&tab_title)); |
| 326 if (tab_title == final_url_title) { | 326 if (tab_title == final_url_title) { |
| 327 ASSERT_TRUE(tab_proxy->GetRedirectsFrom(first_url, &redirects)); | 327 ASSERT_TRUE(tab_proxy->GetRedirectsFrom(first_url, &redirects)); |
| 328 break; | 328 break; |
| 329 } | 329 } |
| (...skipping 10 matching lines...) Expand all Loading... |
| 340 it != redirects.end(); ++it) { | 340 it != redirects.end(); ++it) { |
| 341 if (final_url.spec() == it->spec()) { | 341 if (final_url.spec() == it->spec()) { |
| 342 final_navigation_not_redirect = false; | 342 final_navigation_not_redirect = false; |
| 343 break; | 343 break; |
| 344 } | 344 } |
| 345 } | 345 } |
| 346 EXPECT_TRUE(final_navigation_not_redirect); | 346 EXPECT_TRUE(final_navigation_not_redirect); |
| 347 } | 347 } |
| 348 | 348 |
| 349 } // namespace | 349 } // namespace |
| OLD | NEW |