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

Side by Side Diff: chrome/browser/extensions/isolated_app_browsertest.cc

Issue 1378123003: Adding SSL ETS Tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@ets
Patch Set: Rebase. Created 5 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/strings/stringprintf.h" 5 #include "base/strings/stringprintf.h"
6 #include "base/strings/utf_string_conversions.h" 6 #include "base/strings/utf_string_conversions.h"
7 #include "chrome/browser/extensions/extension_apitest.h" 7 #include "chrome/browser/extensions/extension_apitest.h"
8 #include "chrome/browser/ui/browser.h" 8 #include "chrome/browser/ui/browser.h"
9 #include "chrome/browser/ui/browser_commands.h" 9 #include "chrome/browser/ui/browser_commands.h"
10 #include "chrome/browser/ui/tabs/tab_strip_model.h" 10 #include "chrome/browser/ui/tabs/tab_strip_model.h"
(...skipping 23 matching lines...) Expand all
34 namespace extensions { 34 namespace extensions {
35 35
36 namespace { 36 namespace {
37 37
38 std::string WrapForJavascriptAndExtract(const char* javascript_expression) { 38 std::string WrapForJavascriptAndExtract(const char* javascript_expression) {
39 return std::string("window.domAutomationController.send(") + 39 return std::string("window.domAutomationController.send(") +
40 javascript_expression + ")"; 40 javascript_expression + ")";
41 } 41 }
42 42
43 scoped_ptr<net::test_server::HttpResponse> HandleExpectAndSetCookieRequest( 43 scoped_ptr<net::test_server::HttpResponse> HandleExpectAndSetCookieRequest(
44 const net::test_server::EmbeddedTestServer* test_server, 44 const net::EmbeddedTestServer* test_server,
45 const net::test_server::HttpRequest& request) { 45 const net::test_server::HttpRequest& request) {
46 if (!base::StartsWith(request.relative_url, "/expect-and-set-cookie?", 46 if (!base::StartsWith(request.relative_url, "/expect-and-set-cookie?",
47 base::CompareCase::SENSITIVE)) 47 base::CompareCase::SENSITIVE))
48 return scoped_ptr<net::test_server::HttpResponse>(); 48 return scoped_ptr<net::test_server::HttpResponse>();
49 49
50 scoped_ptr<net::test_server::BasicHttpResponse> http_response( 50 scoped_ptr<net::test_server::BasicHttpResponse> http_response(
51 new net::test_server::BasicHttpResponse); 51 new net::test_server::BasicHttpResponse);
52 http_response->set_code(net::HTTP_OK); 52 http_response->set_code(net::HTTP_OK);
53 53
54 std::string request_cookies; 54 std::string request_cookies;
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
129 129
130 private: 130 private:
131 void SetUpCommandLine(base::CommandLine* command_line) override { 131 void SetUpCommandLine(base::CommandLine* command_line) override {
132 ExtensionBrowserTest::SetUpCommandLine(command_line); 132 ExtensionBrowserTest::SetUpCommandLine(command_line);
133 command_line->AppendSwitch(switches::kEnableExperimentalExtensionApis); 133 command_line->AppendSwitch(switches::kEnableExperimentalExtensionApis);
134 } 134 }
135 }; 135 };
136 136
137 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, CrossProcessClientRedirect) { 137 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, CrossProcessClientRedirect) {
138 host_resolver()->AddRule("*", "127.0.0.1"); 138 host_resolver()->AddRule("*", "127.0.0.1");
139 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 139 ASSERT_TRUE(embedded_test_server()->Start());
140 140
141 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1"))); 141 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1")));
142 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app2"))); 142 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app2")));
143 143
144 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/"); 144 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/");
145 GURL::Replacements replace_host; 145 GURL::Replacements replace_host;
146 replace_host.SetHostStr("localhost"); 146 replace_host.SetHostStr("localhost");
147 base_url = base_url.ReplaceComponents(replace_host); 147 base_url = base_url.ReplaceComponents(replace_host);
148 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("app1/main.html")); 148 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("app1/main.html"));
149 149
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
198 // separation as you would expect. 198 // separation as you would expect.
199 // 199 //
200 // This test is disabled due to being flaky. http://crbug.com/86562 200 // This test is disabled due to being flaky. http://crbug.com/86562
201 #if defined(OS_WIN) 201 #if defined(OS_WIN)
202 #define MAYBE_CookieIsolation DISABLED_CookieIsolation 202 #define MAYBE_CookieIsolation DISABLED_CookieIsolation
203 #else 203 #else
204 #define MAYBE_CookieIsolation CookieIsolation 204 #define MAYBE_CookieIsolation CookieIsolation
205 #endif 205 #endif
206 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, MAYBE_CookieIsolation) { 206 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, MAYBE_CookieIsolation) {
207 host_resolver()->AddRule("*", "127.0.0.1"); 207 host_resolver()->AddRule("*", "127.0.0.1");
208 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 208 ASSERT_TRUE(embedded_test_server()->Start());
209 209
210 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1"))); 210 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1")));
211 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app2"))); 211 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app2")));
212 212
213 // The app under test acts on URLs whose host is "localhost", 213 // The app under test acts on URLs whose host is "localhost",
214 // so the URLs we navigate to must have host "localhost". 214 // so the URLs we navigate to must have host "localhost".
215 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/"); 215 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/");
216 GURL::Replacements replace_host; 216 GURL::Replacements replace_host;
217 replace_host.SetHostStr("localhost"); 217 replace_host.SetHostStr("localhost");
218 base_url = base_url.ReplaceComponents(replace_host); 218 base_url = base_url.ReplaceComponents(replace_host);
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
293 observer.Wait(); 293 observer.Wait();
294 EXPECT_TRUE(HasCookie(tab0, "app1=3")); 294 EXPECT_TRUE(HasCookie(tab0, "app1=3"));
295 EXPECT_FALSE(HasCookie(tab0, "app2")); 295 EXPECT_FALSE(HasCookie(tab0, "app2"));
296 EXPECT_FALSE(HasCookie(tab0, "normalPage")); 296 EXPECT_FALSE(HasCookie(tab0, "normalPage"));
297 } 297 }
298 298
299 // This test is disabled due to being flaky. http://crbug.com/145588 299 // This test is disabled due to being flaky. http://crbug.com/145588
300 // Ensure that cookies are not isolated if the isolated apps are not installed. 300 // Ensure that cookies are not isolated if the isolated apps are not installed.
301 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, DISABLED_NoCookieIsolationWithoutApp) { 301 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, DISABLED_NoCookieIsolationWithoutApp) {
302 host_resolver()->AddRule("*", "127.0.0.1"); 302 host_resolver()->AddRule("*", "127.0.0.1");
303 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 303 ASSERT_TRUE(embedded_test_server()->Start());
304 304
305 // The app under test acts on URLs whose host is "localhost", 305 // The app under test acts on URLs whose host is "localhost",
306 // so the URLs we navigate to must have host "localhost". 306 // so the URLs we navigate to must have host "localhost".
307 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/"); 307 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/");
308 GURL::Replacements replace_host; 308 GURL::Replacements replace_host;
309 replace_host.SetHostStr("localhost"); 309 replace_host.SetHostStr("localhost");
310 base_url = base_url.ReplaceComponents(replace_host); 310 base_url = base_url.ReplaceComponents(replace_host);
311 311
312 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("app1/main.html")); 312 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("app1/main.html"));
313 ui_test_utils::NavigateToURLWithDisposition( 313 ui_test_utils::NavigateToURLWithDisposition(
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 #define MAYBE_SubresourceCookieIsolation SubresourceCookieIsolation 372 #define MAYBE_SubresourceCookieIsolation SubresourceCookieIsolation
373 #endif // (defined(OS_WIN) && !defined(NDEBUG)) || defined(OS_MACOSX) 373 #endif // (defined(OS_WIN) && !defined(NDEBUG)) || defined(OS_MACOSX)
374 374
375 // Tests that subresource and media requests use the app's cookie store. 375 // Tests that subresource and media requests use the app's cookie store.
376 // See http://crbug.com/141172. 376 // See http://crbug.com/141172.
377 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, MAYBE_SubresourceCookieIsolation) { 377 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, MAYBE_SubresourceCookieIsolation) {
378 embedded_test_server()->RegisterRequestHandler( 378 embedded_test_server()->RegisterRequestHandler(
379 base::Bind(&HandleExpectAndSetCookieRequest, embedded_test_server())); 379 base::Bind(&HandleExpectAndSetCookieRequest, embedded_test_server()));
380 380
381 host_resolver()->AddRule("*", "127.0.0.1"); 381 host_resolver()->AddRule("*", "127.0.0.1");
382 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 382 ASSERT_TRUE(embedded_test_server()->Start());
383 383
384 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1"))); 384 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1")));
385 385
386 // The app under test acts on URLs whose host is "localhost", 386 // The app under test acts on URLs whose host is "localhost",
387 // so the URLs we navigate to must have host "localhost". 387 // so the URLs we navigate to must have host "localhost".
388 GURL root_url = embedded_test_server()->GetURL("/"); 388 GURL root_url = embedded_test_server()->GetURL("/");
389 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/"); 389 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/");
390 GURL::Replacements replace_host; 390 GURL::Replacements replace_host;
391 replace_host.SetHostStr("localhost"); 391 replace_host.SetHostStr("localhost");
392 root_url = root_url.ReplaceComponents(replace_host); 392 root_url = root_url.ReplaceComponents(replace_host);
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
444 #define MAYBE_IsolatedAppProcessModel DISABLED_IsolatedAppProcessModel 444 #define MAYBE_IsolatedAppProcessModel DISABLED_IsolatedAppProcessModel
445 #else 445 #else
446 #define MAYBE_IsolatedAppProcessModel IsolatedAppProcessModel 446 #define MAYBE_IsolatedAppProcessModel IsolatedAppProcessModel
447 #endif // defined(OS_WIN) 447 #endif // defined(OS_WIN)
448 448
449 // Tests that isolated apps processes do not render top-level non-app pages. 449 // Tests that isolated apps processes do not render top-level non-app pages.
450 // This is true even in the case of the OAuth workaround for hosted apps, 450 // This is true even in the case of the OAuth workaround for hosted apps,
451 // where non-app popups may be kept in the hosted app process. 451 // where non-app popups may be kept in the hosted app process.
452 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, MAYBE_IsolatedAppProcessModel) { 452 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, MAYBE_IsolatedAppProcessModel) {
453 host_resolver()->AddRule("*", "127.0.0.1"); 453 host_resolver()->AddRule("*", "127.0.0.1");
454 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 454 ASSERT_TRUE(embedded_test_server()->Start());
455 455
456 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1"))); 456 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1")));
457 457
458 // The app under test acts on URLs whose host is "localhost", 458 // The app under test acts on URLs whose host is "localhost",
459 // so the URLs we navigate to must have host "localhost". 459 // so the URLs we navigate to must have host "localhost".
460 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/"); 460 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/");
461 GURL::Replacements replace_host; 461 GURL::Replacements replace_host;
462 replace_host.SetHostStr("localhost"); 462 replace_host.SetHostStr("localhost");
463 base_url = base_url.ReplaceComponents(replace_host); 463 base_url = base_url.ReplaceComponents(replace_host);
464 464
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 GetRenderProcessHost()->GetID()); 501 GetRenderProcessHost()->GetID());
502 } 502 }
503 503
504 // This test no longer passes, since we don't properly isolate sessionStorage 504 // This test no longer passes, since we don't properly isolate sessionStorage
505 // for isolated apps. This was broken as part of the changes for storage 505 // for isolated apps. This was broken as part of the changes for storage
506 // partition support for webview tags. 506 // partition support for webview tags.
507 // TODO(nasko): If isolated apps is no longer developed, this test should be 507 // TODO(nasko): If isolated apps is no longer developed, this test should be
508 // removed. http://crbug.com/159932 508 // removed. http://crbug.com/159932
509 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, DISABLED_SessionStorage) { 509 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, DISABLED_SessionStorage) {
510 host_resolver()->AddRule("*", "127.0.0.1"); 510 host_resolver()->AddRule("*", "127.0.0.1");
511 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 511 ASSERT_TRUE(embedded_test_server()->Start());
512 512
513 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1"))); 513 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1")));
514 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app2"))); 514 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app2")));
515 515
516 // The app under test acts on URLs whose host is "localhost", 516 // The app under test acts on URLs whose host is "localhost",
517 // so the URLs we navigate to must have host "localhost". 517 // so the URLs we navigate to must have host "localhost".
518 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/"); 518 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/");
519 GURL::Replacements replace_host; 519 GURL::Replacements replace_host;
520 replace_host.SetHostStr("localhost"); 520 replace_host.SetHostStr("localhost");
521 base_url = base_url.ReplaceComponents(replace_host); 521 base_url = base_url.ReplaceComponents(replace_host);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
560 browser(), base_url.Resolve("non_app/main.html")); 560 browser(), base_url.Resolve("non_app/main.html"));
561 ASSERT_TRUE(ExecuteScriptAndExtractString( 561 ASSERT_TRUE(ExecuteScriptAndExtractString(
562 browser()->tab_strip_model()->GetWebContentsAt(0), 562 browser()->tab_strip_model()->GetWebContentsAt(0),
563 kRetrieveSessionStorage.c_str(), &result)); 563 kRetrieveSessionStorage.c_str(), &result));
564 EXPECT_EQ("ss_normal", result); 564 EXPECT_EQ("ss_normal", result);
565 } 565 }
566 566
567 } // namespace 567 } // namespace
568 568
569 } // namespace extensions 569 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/browser/extensions/external_provider_impl_unittest.cc ('k') | chrome/browser/extensions/page_action_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698