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/instant_search_prerenderer.h" | 5 #include "chrome/browser/ui/search/instant_search_prerenderer.h" |
6 | 6 |
7 #include <stdint.h> | 7 #include <stdint.h> |
8 | 8 |
9 #include <memory> | 9 #include <memory> |
10 #include <tuple> | 10 #include <tuple> |
(...skipping 184 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
195 InstantSuggestion(query, std::string()); | 195 InstantSuggestion(query, std::string()); |
196 } | 196 } |
197 | 197 |
198 content::WebContents* prerender_contents() { | 198 content::WebContents* prerender_contents() { |
199 return GetInstantSearchPrerenderer()->prerender_contents(); | 199 return GetInstantSearchPrerenderer()->prerender_contents(); |
200 } | 200 } |
201 | 201 |
202 bool MessageWasSent(uint32_t id) { | 202 bool MessageWasSent(uint32_t id) { |
203 content::MockRenderProcessHost* process = | 203 content::MockRenderProcessHost* process = |
204 static_cast<content::MockRenderProcessHost*>( | 204 static_cast<content::MockRenderProcessHost*>( |
205 prerender_contents()->GetRenderViewHost()->GetProcess()); | 205 prerender_contents()->GetMainFrame()->GetProcess()); |
206 return process->sink().GetFirstMessageMatching(id) != NULL; | 206 return process->sink().GetFirstMessageMatching(id) != NULL; |
207 } | 207 } |
208 | 208 |
209 content::WebContents* GetActiveWebContents() const { | 209 content::WebContents* GetActiveWebContents() const { |
210 return browser()->tab_strip_model()->GetWebContentsAt(0); | 210 return browser()->tab_strip_model()->GetWebContentsAt(0); |
211 } | 211 } |
212 | 212 |
213 PrerenderHandle* prerender_handle() { | 213 PrerenderHandle* prerender_handle() { |
214 return GetInstantSearchPrerenderer()->prerender_handle_.get(); | 214 return GetInstantSearchPrerenderer()->prerender_handle_.get(); |
215 } | 215 } |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
421 url, Referrer(), WindowOpenDisposition::NEW_FOREGROUND_TAB, | 421 url, Referrer(), WindowOpenDisposition::NEW_FOREGROUND_TAB, |
422 ui::PAGE_TRANSITION_TYPED, false)); | 422 ui::PAGE_TRANSITION_TYPED, false)); |
423 content::WebContents* new_tab = | 423 content::WebContents* new_tab = |
424 browser()->tab_strip_model()->GetWebContentsAt(1); | 424 browser()->tab_strip_model()->GetWebContentsAt(1); |
425 EXPECT_NE(GetPrerenderURL(), new_tab->GetURL()); | 425 EXPECT_NE(GetPrerenderURL(), new_tab->GetURL()); |
426 EXPECT_EQ(url, new_tab->GetURL()); | 426 EXPECT_EQ(url, new_tab->GetURL()); |
427 EXPECT_EQ(static_cast<PrerenderHandle*>(NULL), prerender_handle()); | 427 EXPECT_EQ(static_cast<PrerenderHandle*>(NULL), prerender_handle()); |
428 } | 428 } |
429 | 429 |
430 class ReuseInstantSearchBasePageTest : public InstantSearchPrerendererTest { | 430 class ReuseInstantSearchBasePageTest : public InstantSearchPrerendererTest { |
431 public: | 431 public: |
432 ReuseInstantSearchBasePageTest() {} | 432 ReuseInstantSearchBasePageTest() {} |
433 | 433 |
434 protected: | 434 protected: |
435 void SetUp() override { | 435 void SetUp() override { |
436 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial("EmbeddedSearch", | 436 ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial("EmbeddedSearch", |
437 "Group1 strk:20")); | 437 "Group1 strk:20")); |
438 InstantUnitTestBase::SetUp(); | 438 InstantUnitTestBase::SetUp(); |
439 } | 439 } |
440 }; | 440 }; |
441 | 441 |
442 TEST_F(ReuseInstantSearchBasePageTest, CanCommitQuery) { | 442 TEST_F(ReuseInstantSearchBasePageTest, CanCommitQuery) { |
443 Init(true, true); | 443 Init(true, true); |
444 InstantSearchPrerenderer* prerenderer = GetInstantSearchPrerenderer(); | 444 InstantSearchPrerenderer* prerenderer = GetInstantSearchPrerenderer(); |
445 base::string16 query = ASCIIToUTF16("flowers"); | 445 base::string16 query = ASCIIToUTF16("flowers"); |
446 prerenderer->Prerender(InstantSuggestion(query, std::string())); | 446 prerenderer->Prerender(InstantSuggestion(query, std::string())); |
447 EXPECT_TRUE(prerenderer->CanCommitQuery(GetActiveWebContents(), query)); | 447 EXPECT_TRUE(prerenderer->CanCommitQuery(GetActiveWebContents(), query)); |
448 | 448 |
449 // When the Instant search base page has finished loading, | 449 // When the Instant search base page has finished loading, |
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
506 EXPECT_TRUE(browser()->instant_controller()); | 506 EXPECT_TRUE(browser()->instant_controller()); |
507 | 507 |
508 // Open a search results page. Query extraction flag is disabled in field | 508 // Open a search results page. Query extraction flag is disabled in field |
509 // trials. Search results page URL does not contain search terms replacement | 509 // trials. Search results page URL does not contain search terms replacement |
510 // key. | 510 // key. |
511 GURL url("https://www.google.com/url?bar=foo&aqs=chrome...0&ie=utf-8&oq=f"); | 511 GURL url("https://www.google.com/url?bar=foo&aqs=chrome...0&ie=utf-8&oq=f"); |
512 browser()->instant_controller()->OpenInstant( | 512 browser()->instant_controller()->OpenInstant( |
513 WindowOpenDisposition::CURRENT_TAB, url); | 513 WindowOpenDisposition::CURRENT_TAB, url); |
514 content::MockRenderProcessHost* process = | 514 content::MockRenderProcessHost* process = |
515 static_cast<content::MockRenderProcessHost*>( | 515 static_cast<content::MockRenderProcessHost*>( |
516 prerender_contents()->GetRenderViewHost()->GetProcess()); | 516 prerender_contents()->GetMainFrame()->GetProcess()); |
517 const IPC::Message* message = process->sink().GetFirstMessageMatching( | 517 const IPC::Message* message = process->sink().GetFirstMessageMatching( |
518 ChromeViewMsg_SearchBoxSubmit::ID); | 518 ChromeViewMsg_SearchBoxSubmit::ID); |
519 ASSERT_TRUE(message); | 519 ASSERT_TRUE(message); |
520 | 520 |
521 // Verify the IPC message params. | 521 // Verify the IPC message params. |
522 std::tuple<base::string16, EmbeddedSearchRequestParams> params; | 522 std::tuple<base::string16, EmbeddedSearchRequestParams> params; |
523 ChromeViewMsg_SearchBoxSubmit::Read(message, ¶ms); | 523 ChromeViewMsg_SearchBoxSubmit::Read(message, ¶ms); |
524 EXPECT_EQ("foo", base::UTF16ToASCII(std::get<0>(params))); | 524 EXPECT_EQ("foo", base::UTF16ToASCII(std::get<0>(params))); |
525 EXPECT_EQ("f", base::UTF16ToASCII(std::get<1>(params).original_query)); | 525 EXPECT_EQ("f", base::UTF16ToASCII(std::get<1>(params).original_query)); |
526 EXPECT_EQ("utf-8", base::UTF16ToASCII(std::get<1>(params).input_encoding)); | 526 EXPECT_EQ("utf-8", base::UTF16ToASCII(std::get<1>(params).input_encoding)); |
527 EXPECT_EQ("", base::UTF16ToASCII(std::get<1>(params).rlz_parameter_value)); | 527 EXPECT_EQ("", base::UTF16ToASCII(std::get<1>(params).rlz_parameter_value)); |
528 EXPECT_EQ("chrome...0", | 528 EXPECT_EQ("chrome...0", |
529 base::UTF16ToASCII(std::get<1>(params).assisted_query_stats)); | 529 base::UTF16ToASCII(std::get<1>(params).assisted_query_stats)); |
530 } | 530 } |
531 #endif | 531 #endif |
OLD | NEW |