Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4799)

Unified Diff: chrome/browser/chrome_content_browser_client_unittest.cc

Issue 24733003: Update defaults for InstantExtended. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Remove unused. Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chrome_content_browser_client_unittest.cc
diff --git a/chrome/browser/chrome_content_browser_client_unittest.cc b/chrome/browser/chrome_content_browser_client_unittest.cc
index 66808fa5ff644d86a94634f02bb0c15895ab51bf..79bc39ce062cba1690eedc34519540a6e8cc1e46 100644
--- a/chrome/browser/chrome_content_browser_client_unittest.cc
+++ b/chrome/browser/chrome_content_browser_client_unittest.cc
@@ -4,6 +4,17 @@
#include "chrome/browser/chrome_content_browser_client.h"
+#include "base/metrics/field_trial.h"
+#include "chrome/browser/search_engines/template_url_service.h"
+#include "chrome/browser/search_engines/template_url_service_factory.h"
+#include "chrome/browser/ui/browser.h"
+#include "chrome/browser/ui/tabs/tab_strip_model.h"
+#include "chrome/test/base/browser_with_test_window_test.h"
+#include "chrome/test/base/ui_test_utils.h"
+#include "components/variations/entropy_provider.h"
+#include "content/public/browser/navigation_controller.h"
+#include "content/public/browser/navigation_entry.h"
+#include "content/public/browser/web_contents.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "url/gurl.h"
@@ -20,3 +31,52 @@ TEST_F(ChromeContentBrowserClientTest, ShouldAssignSiteForURL) {
}
} // namespace chrome
+
+#if !defined(OS_IOS) && !defined(OS_ANDROID)
+namespace content {
+
+class InstantNTPURLRewriteTest : public BrowserWithTestWindowTest {
+ protected:
+ virtual void SetUp() OVERRIDE {
+ BrowserWithTestWindowTest::SetUp();
+ field_trial_list_.reset(new base::FieldTrialList(
+ new metrics::SHA1EntropyProvider("42")));
+ }
+
+ void InstallTemplateURLWithNewTabPage(GURL new_tab_page_url) {
+ TemplateURLServiceFactory::GetInstance()->SetTestingFactoryAndUse(
+ profile(), &TemplateURLServiceFactory::BuildInstanceFor);
+ TemplateURLService* template_url_service =
+ TemplateURLServiceFactory::GetForProfile(browser()->profile());
+ ui_test_utils::WaitForTemplateURLServiceToLoad(template_url_service);
+
+ TemplateURLData data;
+ data.SetURL("http://foo.com/url?bar={searchTerms}");
+ data.new_tab_url = new_tab_page_url.spec();
+ TemplateURL* template_url = new TemplateURL(browser()->profile(), data);
+ // Takes ownership.
+ template_url_service->Add(template_url);
+ template_url_service->SetDefaultSearchProvider(template_url);
+ }
+
+ scoped_ptr<base::FieldTrialList> field_trial_list_;
+};
+
+TEST_F(InstantNTPURLRewriteTest, UberURLHandler_InstantExtendedNewTabPage) {
+ const GURL url_original("chrome://newtab");
+ const GURL url_rewritten("https://www.example.com/newtab");
+ InstallTemplateURLWithNewTabPage(url_rewritten);
+ ASSERT_TRUE(base::FieldTrialList::CreateFieldTrial("InstantExtended",
+ "Group1 use_cacheable_ntp:1"));
+ AddTab(browser(), GURL("chrome://blank"));
+ NavigateAndCommitActiveTab(url_original);
+
+ NavigationEntry* entry = browser()->tab_strip_model()->
+ GetActiveWebContents()->GetController().GetLastCommittedEntry();
+ ASSERT_TRUE(entry != NULL);
+ EXPECT_EQ(url_rewritten, entry->GetURL());
+ EXPECT_EQ(url_original, entry->GetVirtualURL());
+}
+
+} // namespace content
+#endif // !defined(OS_IOS) && !defined(OS_ANDROID)

Powered by Google App Engine
This is Rietveld 408576698