| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 <sstream> | 5 #include <sstream> |
| 6 | 6 |
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
| 8 #include "base/metrics/field_trial.h" | 8 #include "base/metrics/field_trial.h" |
| 9 #include "base/metrics/histogram_base.h" | 9 #include "base/metrics/histogram_base.h" |
| 10 #include "base/metrics/histogram_samples.h" | 10 #include "base/metrics/histogram_samples.h" |
| (...skipping 864 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 875 | 875 |
| 876 // NTP contents should be preloaded. | 876 // NTP contents should be preloaded. |
| 877 ASSERT_NE(static_cast<InstantNTP*>(NULL), instant()->ntp()); | 877 ASSERT_NE(static_cast<InstantNTP*>(NULL), instant()->ntp()); |
| 878 EXPECT_FALSE(instant()->ntp()->IsLocal()); | 878 EXPECT_FALSE(instant()->ntp()->IsLocal()); |
| 879 | 879 |
| 880 // NTP not reloaded after being killed. | 880 // NTP not reloaded after being killed. |
| 881 instant()->InstantPageRenderViewGone(instant()->ntp()->contents()); | 881 instant()->InstantPageRenderViewGone(instant()->ntp()->contents()); |
| 882 EXPECT_EQ(NULL, instant()->ntp()); | 882 EXPECT_EQ(NULL, instant()->ntp()); |
| 883 | 883 |
| 884 // Open new tab. Should use local NTP. | 884 // Open new tab. Should use local NTP. |
| 885 // TODO(creis): Same problem. |
| 885 ui_test_utils::NavigateToURLWithDisposition( | 886 ui_test_utils::NavigateToURLWithDisposition( |
| 886 browser(), | 887 browser(), |
| 887 GURL(chrome::kChromeUINewTabURL), | 888 GURL(chrome::kChromeUINewTabURL), |
| 888 NEW_FOREGROUND_TAB, | 889 NEW_FOREGROUND_TAB, |
| 889 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); | 890 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); |
| 890 content::WebContents* active_tab = | 891 content::WebContents* active_tab = |
| 891 browser()->tab_strip_model()->GetActiveWebContents(); | 892 browser()->tab_strip_model()->GetActiveWebContents(); |
| 892 EXPECT_EQ(instant()->GetLocalInstantURL(), active_tab->GetURL().spec()); | 893 EXPECT_EQ(instant()->GetLocalInstantURL(), active_tab->GetURL().spec()); |
| 893 } | 894 } |
| 894 | 895 |
| 895 IN_PROC_BROWSER_TEST_F(InstantExtendedTest, PreloadedNTPDoesntSupportInstant) { | 896 IN_PROC_BROWSER_TEST_F(InstantExtendedTest, PreloadedNTPDoesntSupportInstant) { |
| 896 // Setup Instant. | 897 // Setup Instant. |
| 897 GURL instant_url = test_server()->GetURL("files/empty.html?strk=1"); | 898 GURL instant_url = test_server()->GetURL("files/empty.html?strk=1"); |
| 898 InstantTestBase::Init(instant_url); | 899 InstantTestBase::Init(instant_url); |
| 899 ASSERT_NO_FATAL_FAILURE(SetupInstant(browser())); | 900 ASSERT_NO_FATAL_FAILURE(SetupInstant(browser())); |
| 900 FocusOmniboxAndWaitForInstantOverlayAndNTPSupport(); | 901 FocusOmniboxAndWaitForInstantOverlayAndNTPSupport(); |
| 901 | 902 |
| 902 // NTP contents should have fallen back to the local page. | 903 // NTP contents should have fallen back to the local page. |
| 903 ASSERT_NE(static_cast<InstantNTP*>(NULL), instant()->ntp()); | 904 ASSERT_NE(static_cast<InstantNTP*>(NULL), instant()->ntp()); |
| 904 EXPECT_TRUE(instant()->ntp()->IsLocal()); | 905 EXPECT_TRUE(instant()->ntp()->IsLocal()); |
| 905 | 906 |
| 906 // Open new tab. Should use local NTP. | 907 // Open new tab. Should use local NTP. |
| 908 // TODO(creis): Same problem. |
| 907 ui_test_utils::NavigateToURLWithDisposition( | 909 ui_test_utils::NavigateToURLWithDisposition( |
| 908 browser(), | 910 browser(), |
| 909 GURL(chrome::kChromeUINewTabURL), | 911 GURL(chrome::kChromeUINewTabURL), |
| 910 NEW_FOREGROUND_TAB, | 912 NEW_FOREGROUND_TAB, |
| 911 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); | 913 ui_test_utils::BROWSER_TEST_WAIT_FOR_TAB); |
| 912 content::WebContents* active_tab = | 914 content::WebContents* active_tab = |
| 913 browser()->tab_strip_model()->GetActiveWebContents(); | 915 browser()->tab_strip_model()->GetActiveWebContents(); |
| 914 EXPECT_EQ(instant()->GetLocalInstantURL(), active_tab->GetURL().spec()); | 916 EXPECT_EQ(instant()->GetLocalInstantURL(), active_tab->GetURL().spec()); |
| 915 } | 917 } |
| 916 | 918 |
| (...skipping 1530 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2447 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { | 2449 virtual void SetUpCommandLine(CommandLine* command_line) OVERRIDE { |
| 2448 command_line->AppendSwitch(switches::kEnableInstantExtendedAPI); | 2450 command_line->AppendSwitch(switches::kEnableInstantExtendedAPI); |
| 2449 command_line->AppendSwitch(switches::kDisableLocalFirstLoadNTP); | 2451 command_line->AppendSwitch(switches::kDisableLocalFirstLoadNTP); |
| 2450 } | 2452 } |
| 2451 }; | 2453 }; |
| 2452 | 2454 |
| 2453 // Flaky: http://crbug.com/238863 | 2455 // Flaky: http://crbug.com/238863 |
| 2454 IN_PROC_BROWSER_TEST_F( | 2456 IN_PROC_BROWSER_TEST_F( |
| 2455 InstantExtendedFirstTabTest, DISABLED_RedirectToLocalOnLoadFailure) { | 2457 InstantExtendedFirstTabTest, DISABLED_RedirectToLocalOnLoadFailure) { |
| 2456 // Create a new window to test the first NTP load. | 2458 // Create a new window to test the first NTP load. |
| 2459 // TODO(creis): This fails in BrowserInstantController's |
| 2460 // MaybeSwapInInstantNTPContents because the pending entry hasn't |
| 2461 // committed yet. It's trying to SwapInInstantNTP as part of the OpenURL |
| 2462 // call, which can't work. (What if the navigation were to fail?) |
| 2457 ui_test_utils::NavigateToURLWithDisposition( | 2463 ui_test_utils::NavigateToURLWithDisposition( |
| 2458 browser(), | 2464 browser(), |
| 2459 GURL(chrome::kChromeUINewTabURL), | 2465 GURL(chrome::kChromeUINewTabURL), |
| 2460 NEW_WINDOW, | 2466 NEW_WINDOW, |
| 2461 ui_test_utils::BROWSER_TEST_WAIT_FOR_BROWSER); | 2467 ui_test_utils::BROWSER_TEST_WAIT_FOR_BROWSER); |
| 2462 | 2468 |
| 2463 const BrowserList* native_browser_list = BrowserList::GetInstance( | 2469 const BrowserList* native_browser_list = BrowserList::GetInstance( |
| 2464 chrome::HOST_DESKTOP_TYPE_NATIVE); | 2470 chrome::HOST_DESKTOP_TYPE_NATIVE); |
| 2465 ASSERT_EQ(2u, native_browser_list->size()); | 2471 ASSERT_EQ(2u, native_browser_list->size()); |
| 2466 set_browser(native_browser_list->get(1)); | 2472 set_browser(native_browser_list->get(1)); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 2478 // NTP contents should be preloaded. | 2484 // NTP contents should be preloaded. |
| 2479 ASSERT_NE(static_cast<InstantNTP*>(NULL), instant()->ntp()); | 2485 ASSERT_NE(static_cast<InstantNTP*>(NULL), instant()->ntp()); |
| 2480 EXPECT_TRUE(instant()->ntp()->IsLocal()); | 2486 EXPECT_TRUE(instant()->ntp()->IsLocal()); |
| 2481 | 2487 |
| 2482 // Overlay contents should be preloaded. | 2488 // Overlay contents should be preloaded. |
| 2483 ASSERT_NE(static_cast<InstantOverlay*>(NULL), instant()->overlay()); | 2489 ASSERT_NE(static_cast<InstantOverlay*>(NULL), instant()->overlay()); |
| 2484 EXPECT_TRUE(instant()->overlay()->IsLocal()); | 2490 EXPECT_TRUE(instant()->overlay()->IsLocal()); |
| 2485 | 2491 |
| 2486 // Instant tab contents should be preloaded. | 2492 // Instant tab contents should be preloaded. |
| 2487 ASSERT_NE(static_cast<InstantTab*>(NULL), instant()->instant_tab()); | 2493 ASSERT_NE(static_cast<InstantTab*>(NULL), instant()->instant_tab()); |
| 2494 // TODO(creis): This is where the test fails. |
| 2488 EXPECT_TRUE(instant()->instant_tab()->IsLocal()); | 2495 EXPECT_TRUE(instant()->instant_tab()->IsLocal()); |
| 2489 } | 2496 } |
| 2490 | 2497 |
| 2491 IN_PROC_BROWSER_TEST_F(InstantExtendedTest, | 2498 IN_PROC_BROWSER_TEST_F(InstantExtendedTest, |
| 2492 PageVisibilityEventOnCommit) { | 2499 PageVisibilityEventOnCommit) { |
| 2493 ASSERT_NO_FATAL_FAILURE(SetupInstant(browser())); | 2500 ASSERT_NO_FATAL_FAILURE(SetupInstant(browser())); |
| 2494 FocusOmniboxAndWaitForInstantOverlayAndNTPSupport(); | 2501 FocusOmniboxAndWaitForInstantOverlayAndNTPSupport(); |
| 2495 | 2502 |
| 2496 // Set the text, and wait for suggestions to show up. | 2503 // Set the text, and wait for suggestions to show up. |
| 2497 ASSERT_TRUE(SetOmniboxTextAndWaitForOverlayToShow("search")); | 2504 ASSERT_TRUE(SetOmniboxTextAndWaitForOverlayToShow("search")); |
| (...skipping 16 matching lines...) Expand all Loading... |
| 2514 | 2521 |
| 2515 // Test that if the LogDropdownShown() call records a histogram value. | 2522 // Test that if the LogDropdownShown() call records a histogram value. |
| 2516 IN_PROC_BROWSER_TEST_F(InstantExtendedTest, LogDropdownShown) { | 2523 IN_PROC_BROWSER_TEST_F(InstantExtendedTest, LogDropdownShown) { |
| 2517 ASSERT_NO_FATAL_FAILURE(SetupInstant(browser())); | 2524 ASSERT_NO_FATAL_FAILURE(SetupInstant(browser())); |
| 2518 FocusOmniboxAndWaitForInstantOverlayAndNTPSupport(); | 2525 FocusOmniboxAndWaitForInstantOverlayAndNTPSupport(); |
| 2519 int64 histogramValue = GetHistogramCount("Instant.TimeToFirstShowFromWeb"); | 2526 int64 histogramValue = GetHistogramCount("Instant.TimeToFirstShowFromWeb"); |
| 2520 ASSERT_TRUE(SetOmniboxTextAndWaitForOverlayToShow("a")); | 2527 ASSERT_TRUE(SetOmniboxTextAndWaitForOverlayToShow("a")); |
| 2521 EXPECT_EQ(histogramValue + 1, | 2528 EXPECT_EQ(histogramValue + 1, |
| 2522 GetHistogramCount("Instant.TimeToFirstShowFromWeb")); | 2529 GetHistogramCount("Instant.TimeToFirstShowFromWeb")); |
| 2523 } | 2530 } |
| OLD | NEW |