| 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 "chrome/browser/ui/search/search_tab_helper.h" | 5 #include "chrome/browser/ui/search/search_tab_helper.h" |
| 6 | 6 |
| 7 #include <stdint.h> | 7 #include <stdint.h> |
| 8 | 8 |
| 9 #include <memory> |
| 9 #include <string> | 10 #include <string> |
| 10 #include <tuple> | 11 #include <tuple> |
| 11 | 12 |
| 12 #include "base/command_line.h" | 13 #include "base/command_line.h" |
| 13 #include "base/memory/scoped_ptr.h" | |
| 14 #include "base/metrics/field_trial.h" | 14 #include "base/metrics/field_trial.h" |
| 15 #include "base/strings/utf_string_conversions.h" | 15 #include "base/strings/utf_string_conversions.h" |
| 16 #include "base/time/time.h" | 16 #include "base/time/time.h" |
| 17 #include "chrome/browser/prerender/prerender_manager.h" | 17 #include "chrome/browser/prerender/prerender_manager.h" |
| 18 #include "chrome/browser/prerender/prerender_manager_factory.h" | 18 #include "chrome/browser/prerender/prerender_manager_factory.h" |
| 19 #include "chrome/browser/search/instant_unittest_base.h" | 19 #include "chrome/browser/search/instant_unittest_base.h" |
| 20 #include "chrome/browser/search/search.h" | 20 #include "chrome/browser/search/search.h" |
| 21 #include "chrome/browser/search_engines/template_url_service_factory.h" | 21 #include "chrome/browser/search_engines/template_url_service_factory.h" |
| 22 #include "chrome/browser/signin/fake_signin_manager_builder.h" | 22 #include "chrome/browser/signin/fake_signin_manager_builder.h" |
| 23 #include "chrome/browser/signin/signin_manager_factory.h" | 23 #include "chrome/browser/signin/signin_manager_factory.h" |
| (...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 146 process()->sink().ClearMessages(); | 146 process()->sink().ClearMessages(); |
| 147 EXPECT_CALL(*mock_delegate(), OnInstantSupportDetermined(true)).Times(1); | 147 EXPECT_CALL(*mock_delegate(), OnInstantSupportDetermined(true)).Times(1); |
| 148 | 148 |
| 149 SearchTabHelper* search_tab_helper = | 149 SearchTabHelper* search_tab_helper = |
| 150 SearchTabHelper::FromWebContents(web_contents()); | 150 SearchTabHelper::FromWebContents(web_contents()); |
| 151 ASSERT_NE(static_cast<SearchTabHelper*>(NULL), search_tab_helper); | 151 ASSERT_NE(static_cast<SearchTabHelper*>(NULL), search_tab_helper); |
| 152 search_tab_helper->ipc_router().set_delegate_for_testing(mock_delegate()); | 152 search_tab_helper->ipc_router().set_delegate_for_testing(mock_delegate()); |
| 153 search_tab_helper->DetermineIfPageSupportsInstant(); | 153 search_tab_helper->DetermineIfPageSupportsInstant(); |
| 154 ASSERT_TRUE(MessageWasSent(ChromeViewMsg_DetermineIfPageSupportsInstant::ID)); | 154 ASSERT_TRUE(MessageWasSent(ChromeViewMsg_DetermineIfPageSupportsInstant::ID)); |
| 155 | 155 |
| 156 scoped_ptr<IPC::Message> response( | 156 std::unique_ptr<IPC::Message> response( |
| 157 new ChromeViewHostMsg_InstantSupportDetermined( | 157 new ChromeViewHostMsg_InstantSupportDetermined( |
| 158 web_contents()->GetRoutingID(), | 158 web_contents()->GetRoutingID(), |
| 159 search_tab_helper->ipc_router().page_seq_no_for_testing(), | 159 search_tab_helper->ipc_router().page_seq_no_for_testing(), true)); |
| 160 true)); | |
| 161 search_tab_helper->ipc_router().OnMessageReceived(*response); | 160 search_tab_helper->ipc_router().OnMessageReceived(*response); |
| 162 } | 161 } |
| 163 | 162 |
| 164 TEST_F(SearchTabHelperTest, PageURLDoesntBelongToInstantRenderer) { | 163 TEST_F(SearchTabHelperTest, PageURLDoesntBelongToInstantRenderer) { |
| 165 // Navigate to a page URL that doesn't belong to Instant renderer. | 164 // Navigate to a page URL that doesn't belong to Instant renderer. |
| 166 // SearchTabHelper::DeterminerIfPageSupportsInstant() should return | 165 // SearchTabHelper::DeterminerIfPageSupportsInstant() should return |
| 167 // immediately without dispatching any message to the renderer. | 166 // immediately without dispatching any message to the renderer. |
| 168 NavigateAndCommit(GURL("http://www.example.com")); | 167 NavigateAndCommit(GURL("http://www.example.com")); |
| 169 process()->sink().ClearMessages(); | 168 process()->sink().ClearMessages(); |
| 170 EXPECT_CALL(*mock_delegate(), OnInstantSupportDetermined(false)).Times(0); | 169 EXPECT_CALL(*mock_delegate(), OnInstantSupportDetermined(false)).Times(0); |
| (...skipping 283 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 454 } | 453 } |
| 455 | 454 |
| 456 TEST_F(SearchTabHelperPrerenderTest, | 455 TEST_F(SearchTabHelperPrerenderTest, |
| 457 OnTabActivatedNoPrerenderIfOmniboxBlurred) { | 456 OnTabActivatedNoPrerenderIfOmniboxBlurred) { |
| 458 SearchTabHelperPrerenderTest::omnibox_has_focus_ = false; | 457 SearchTabHelperPrerenderTest::omnibox_has_focus_ = false; |
| 459 SearchTabHelper* search_tab_helper = | 458 SearchTabHelper* search_tab_helper = |
| 460 SearchTabHelper::FromWebContents(web_contents()); | 459 SearchTabHelper::FromWebContents(web_contents()); |
| 461 search_tab_helper->OnTabActivated(); | 460 search_tab_helper->OnTabActivated(); |
| 462 ASSERT_FALSE(IsInstantURLMarkedForPrerendering()); | 461 ASSERT_FALSE(IsInstantURLMarkedForPrerendering()); |
| 463 } | 462 } |
| OLD | NEW |