| 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 "base/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/strings/utf_string_conversions.h" | 6 #include "base/strings/utf_string_conversions.h" |
| 7 #include "base/threading/thread_restrictions.h" |
| 7 #include "chrome/browser/browser_process.h" | 8 #include "chrome/browser/browser_process.h" |
| 8 #include "chrome/browser/chrome_notification_types.h" | 9 #include "chrome/browser/chrome_notification_types.h" |
| 9 #include "chrome/browser/search/search.h" | 10 #include "chrome/browser/search/search.h" |
| 10 #include "chrome/browser/search_engines/template_url_service_factory.h" | 11 #include "chrome/browser/search_engines/template_url_service_factory.h" |
| 11 #include "chrome/browser/ui/browser_commands.h" | 12 #include "chrome/browser/ui/browser_commands.h" |
| 12 #include "chrome/browser/ui/search/instant_test_utils.h" | 13 #include "chrome/browser/ui/search/instant_test_utils.h" |
| 13 #include "chrome/browser/ui/tabs/tab_strip_model.h" | 14 #include "chrome/browser/ui/tabs/tab_strip_model.h" |
| 14 #include "chrome/common/pref_names.h" | 15 #include "chrome/common/pref_names.h" |
| 15 #include "chrome/common/url_constants.h" | 16 #include "chrome/common/url_constants.h" |
| 16 #include "chrome/test/base/in_process_browser_test.h" | 17 #include "chrome/test/base/in_process_browser_test.h" |
| (...skipping 16 matching lines...) Expand all Loading... |
| 33 #include "net/test/embedded_test_server/embedded_test_server.h" | 34 #include "net/test/embedded_test_server/embedded_test_server.h" |
| 34 #include "ui/base/resource/resource_bundle.h" | 35 #include "ui/base/resource/resource_bundle.h" |
| 35 #include "ui/gfx/geometry/point.h" | 36 #include "ui/gfx/geometry/point.h" |
| 36 #include "ui/gfx/geometry/rect.h" | 37 #include "ui/gfx/geometry/rect.h" |
| 37 #include "ui/gfx/geometry/vector2d.h" | 38 #include "ui/gfx/geometry/vector2d.h" |
| 38 | 39 |
| 39 namespace { | 40 namespace { |
| 40 | 41 |
| 41 // Switches the browser language to French, and returns true iff successful. | 42 // Switches the browser language to French, and returns true iff successful. |
| 42 bool SwitchToFrench() { | 43 bool SwitchToFrench() { |
| 44 base::ThreadRestrictions::ScopedAllowIO allow_io; |
| 43 // Make sure the default language is not French. | 45 // Make sure the default language is not French. |
| 44 std::string default_locale = g_browser_process->GetApplicationLocale(); | 46 std::string default_locale = g_browser_process->GetApplicationLocale(); |
| 45 EXPECT_NE("fr", default_locale); | 47 EXPECT_NE("fr", default_locale); |
| 46 | 48 |
| 47 // Switch browser language to French. | 49 // Switch browser language to French. |
| 48 std::string loaded_locale = | 50 std::string loaded_locale = |
| 49 ui::ResourceBundle::GetSharedInstance().ReloadLocaleResources("fr"); | 51 ui::ResourceBundle::GetSharedInstance().ReloadLocaleResources("fr"); |
| 50 | 52 |
| 51 return loaded_locale == "fr"; | 53 return loaded_locale == "fr"; |
| 52 } | 54 } |
| (...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 298 EXPECT_EQ(0, failed_imgs); | 300 EXPECT_EQ(0, failed_imgs); |
| 299 } | 301 } |
| 300 | 302 |
| 301 IN_PROC_BROWSER_TEST_F(LocalNTPTest, | 303 IN_PROC_BROWSER_TEST_F(LocalNTPTest, |
| 302 NTPRespectsBrowserLanguageSetting) { | 304 NTPRespectsBrowserLanguageSetting) { |
| 303 // Make sure the default language is not French. | 305 // Make sure the default language is not French. |
| 304 std::string default_locale = g_browser_process->GetApplicationLocale(); | 306 std::string default_locale = g_browser_process->GetApplicationLocale(); |
| 305 EXPECT_NE("fr", default_locale); | 307 EXPECT_NE("fr", default_locale); |
| 306 | 308 |
| 307 // Switch browser language to French. | 309 // Switch browser language to French. |
| 310 base::ThreadRestrictions::ScopedAllowIO allow_io; |
| 308 std::string loaded_locale = | 311 std::string loaded_locale = |
| 309 ui::ResourceBundle::GetSharedInstance().ReloadLocaleResources("fr"); | 312 ui::ResourceBundle::GetSharedInstance().ReloadLocaleResources("fr"); |
| 310 | 313 |
| 311 // If the platform cannot load the French locale (GetApplicationLocale() is | 314 // If the platform cannot load the French locale (GetApplicationLocale() is |
| 312 // platform specific, and has been observed to fail on a small number of | 315 // platform specific, and has been observed to fail on a small number of |
| 313 // platforms), abort the test. | 316 // platforms), abort the test. |
| 314 if (!SwitchToFrench()) { | 317 if (!SwitchToFrench()) { |
| 315 LOG(ERROR) << "Failed switching to French language, aborting test."; | 318 LOG(ERROR) << "Failed switching to French language, aborting test."; |
| 316 return; | 319 return; |
| 317 } | 320 } |
| (...skipping 24 matching lines...) Expand all Loading... |
| 342 class LocalNTPSmokeTest : public InProcessBrowserTest { | 345 class LocalNTPSmokeTest : public InProcessBrowserTest { |
| 343 public: | 346 public: |
| 344 LocalNTPSmokeTest() {} | 347 LocalNTPSmokeTest() {} |
| 345 | 348 |
| 346 protected: | 349 protected: |
| 347 void SetUpCommandLine(base::CommandLine* cmdline) override { | 350 void SetUpCommandLine(base::CommandLine* cmdline) override { |
| 348 cmdline->AppendSwitchASCII(switches::kEnableFeatures, "UseGoogleLocalNtp"); | 351 cmdline->AppendSwitchASCII(switches::kEnableFeatures, "UseGoogleLocalNtp"); |
| 349 } | 352 } |
| 350 | 353 |
| 351 void SetUserSelectedDefaultSearchProvider(const std::string& base_url) { | 354 void SetUserSelectedDefaultSearchProvider(const std::string& base_url) { |
| 355 base::ThreadRestrictions::ScopedAllowIO allow_io; |
| 352 TemplateURLData data; | 356 TemplateURLData data; |
| 353 data.SetShortName(base::UTF8ToUTF16(base_url)); | 357 data.SetShortName(base::UTF8ToUTF16(base_url)); |
| 354 data.SetKeyword(base::UTF8ToUTF16(base_url)); | 358 data.SetKeyword(base::UTF8ToUTF16(base_url)); |
| 355 data.SetURL(base_url + "url?bar={searchTerms}"); | 359 data.SetURL(base_url + "url?bar={searchTerms}"); |
| 356 | 360 |
| 357 TemplateURLService* template_url_service = | 361 TemplateURLService* template_url_service = |
| 358 TemplateURLServiceFactory::GetForProfile(browser()->profile()); | 362 TemplateURLServiceFactory::GetForProfile(browser()->profile()); |
| 359 TemplateURL* template_url = | 363 TemplateURL* template_url = |
| 360 template_url_service->Add(base::MakeUnique<TemplateURL>(data)); | 364 template_url_service->Add(base::MakeUnique<TemplateURL>(data)); |
| 361 template_url_service->SetUserSelectedDefaultSearchProvider(template_url); | 365 template_url_service->SetUserSelectedDefaultSearchProvider(template_url); |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 435 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUINewTabURL)); | 439 ui_test_utils::NavigateToURL(browser(), GURL(chrome::kChromeUINewTabURL)); |
| 436 ASSERT_TRUE(search::IsInstantNTP(active_tab)); | 440 ASSERT_TRUE(search::IsInstantNTP(active_tab)); |
| 437 ASSERT_EQ(GURL(chrome::kChromeSearchLocalNtpUrl), | 441 ASSERT_EQ(GURL(chrome::kChromeSearchLocalNtpUrl), |
| 438 active_tab->GetController().GetVisibleEntry()->GetURL()); | 442 active_tab->GetController().GetVisibleEntry()->GetURL()); |
| 439 // Make sure it's actually in French. | 443 // Make sure it's actually in French. |
| 440 ASSERT_EQ(base::ASCIIToUTF16("Nouvel onglet"), active_tab->GetTitle()); | 444 ASSERT_EQ(base::ASCIIToUTF16("Nouvel onglet"), active_tab->GetTitle()); |
| 441 | 445 |
| 442 // We shouldn't have gotten any console error messages. | 446 // We shouldn't have gotten any console error messages. |
| 443 EXPECT_TRUE(console_observer.message().empty()) << console_observer.message(); | 447 EXPECT_TRUE(console_observer.message().empty()) << console_observer.message(); |
| 444 } | 448 } |
| OLD | NEW |