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

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

Issue 889463003: GURL::Replacements methods accept a StringPiece instead of std::string&. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase (fixed some merge conflicts). Created 5 years, 10 months 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 122 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 133
134 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, CrossProcessClientRedirect) { 134 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, CrossProcessClientRedirect) {
135 host_resolver()->AddRule("*", "127.0.0.1"); 135 host_resolver()->AddRule("*", "127.0.0.1");
136 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 136 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady());
137 137
138 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1"))); 138 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1")));
139 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app2"))); 139 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app2")));
140 140
141 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/"); 141 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/");
142 GURL::Replacements replace_host; 142 GURL::Replacements replace_host;
143 std::string host_str("localhost"); // Must stay in scope with replace_host. 143 replace_host.SetHostStr("localhost");
144 replace_host.SetHostStr(host_str);
145 base_url = base_url.ReplaceComponents(replace_host); 144 base_url = base_url.ReplaceComponents(replace_host);
146 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("app1/main.html")); 145 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("app1/main.html"));
147 146
148 // Redirect to app2. 147 // Redirect to app2.
149 GURL redirect_url(embedded_test_server()->GetURL( 148 GURL redirect_url(embedded_test_server()->GetURL(
150 "/extensions/isolated_apps/app2/redirect.html")); 149 "/extensions/isolated_apps/app2/redirect.html"));
151 ui_test_utils::NavigateToURL(browser(), redirect_url); 150 ui_test_utils::NavigateToURL(browser(), redirect_url);
152 151
153 // Go back twice. 152 // Go back twice.
154 // If bug fixed, we cannot go back anymore. 153 // If bug fixed, we cannot go back anymore.
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 host_resolver()->AddRule("*", "127.0.0.1"); 204 host_resolver()->AddRule("*", "127.0.0.1");
206 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 205 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady());
207 206
208 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1"))); 207 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1")));
209 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app2"))); 208 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app2")));
210 209
211 // The app under test acts on URLs whose host is "localhost", 210 // The app under test acts on URLs whose host is "localhost",
212 // so the URLs we navigate to must have host "localhost". 211 // so the URLs we navigate to must have host "localhost".
213 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/"); 212 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/");
214 GURL::Replacements replace_host; 213 GURL::Replacements replace_host;
215 std::string host_str("localhost"); // Must stay in scope with replace_host. 214 replace_host.SetHostStr("localhost");
216 replace_host.SetHostStr(host_str);
217 base_url = base_url.ReplaceComponents(replace_host); 215 base_url = base_url.ReplaceComponents(replace_host);
218 216
219 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("app1/main.html")); 217 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("app1/main.html"));
220 ui_test_utils::NavigateToURLWithDisposition( 218 ui_test_utils::NavigateToURLWithDisposition(
221 browser(), base_url.Resolve("app2/main.html"), 219 browser(), base_url.Resolve("app2/main.html"),
222 NEW_FOREGROUND_TAB, ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); 220 NEW_FOREGROUND_TAB, ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
223 ui_test_utils::NavigateToURLWithDisposition( 221 ui_test_utils::NavigateToURLWithDisposition(
224 browser(), base_url.Resolve("non_app/main.html"), 222 browser(), base_url.Resolve("non_app/main.html"),
225 NEW_FOREGROUND_TAB, ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); 223 NEW_FOREGROUND_TAB, ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
226 224
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
298 // This test is disabled due to being flaky. http://crbug.com/145588 296 // This test is disabled due to being flaky. http://crbug.com/145588
299 // Ensure that cookies are not isolated if the isolated apps are not installed. 297 // Ensure that cookies are not isolated if the isolated apps are not installed.
300 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, DISABLED_NoCookieIsolationWithoutApp) { 298 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, DISABLED_NoCookieIsolationWithoutApp) {
301 host_resolver()->AddRule("*", "127.0.0.1"); 299 host_resolver()->AddRule("*", "127.0.0.1");
302 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 300 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady());
303 301
304 // The app under test acts on URLs whose host is "localhost", 302 // The app under test acts on URLs whose host is "localhost",
305 // so the URLs we navigate to must have host "localhost". 303 // so the URLs we navigate to must have host "localhost".
306 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/"); 304 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/");
307 GURL::Replacements replace_host; 305 GURL::Replacements replace_host;
308 std::string host_str("localhost"); // Must stay in scope with replace_host. 306 replace_host.SetHostStr("localhost");
309 replace_host.SetHostStr(host_str);
310 base_url = base_url.ReplaceComponents(replace_host); 307 base_url = base_url.ReplaceComponents(replace_host);
311 308
312 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("app1/main.html")); 309 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("app1/main.html"));
313 ui_test_utils::NavigateToURLWithDisposition( 310 ui_test_utils::NavigateToURLWithDisposition(
314 browser(), base_url.Resolve("app2/main.html"), 311 browser(), base_url.Resolve("app2/main.html"),
315 NEW_FOREGROUND_TAB, ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); 312 NEW_FOREGROUND_TAB, ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
316 ui_test_utils::NavigateToURLWithDisposition( 313 ui_test_utils::NavigateToURLWithDisposition(
317 browser(), base_url.Resolve("non_app/main.html"), 314 browser(), base_url.Resolve("non_app/main.html"),
318 NEW_FOREGROUND_TAB, ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); 315 NEW_FOREGROUND_TAB, ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
319 316
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
381 host_resolver()->AddRule("*", "127.0.0.1"); 378 host_resolver()->AddRule("*", "127.0.0.1");
382 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 379 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady());
383 380
384 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1"))); 381 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1")));
385 382
386 // The app under test acts on URLs whose host is "localhost", 383 // The app under test acts on URLs whose host is "localhost",
387 // so the URLs we navigate to must have host "localhost". 384 // so the URLs we navigate to must have host "localhost".
388 GURL root_url = embedded_test_server()->GetURL("/"); 385 GURL root_url = embedded_test_server()->GetURL("/");
389 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/"); 386 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/");
390 GURL::Replacements replace_host; 387 GURL::Replacements replace_host;
391 std::string host_str("localhost"); // Must stay in scope with replace_host. 388 replace_host.SetHostStr("localhost");
392 replace_host.SetHostStr(host_str);
393 root_url = root_url.ReplaceComponents(replace_host); 389 root_url = root_url.ReplaceComponents(replace_host);
394 base_url = base_url.ReplaceComponents(replace_host); 390 base_url = base_url.ReplaceComponents(replace_host);
395 391
396 // First set cookies inside and outside the app. 392 // First set cookies inside and outside the app.
397 ui_test_utils::NavigateToURL( 393 ui_test_utils::NavigateToURL(
398 browser(), root_url.Resolve("expect-and-set-cookie?set=nonApp%3d1")); 394 browser(), root_url.Resolve("expect-and-set-cookie?set=nonApp%3d1"));
399 WebContents* tab0 = browser()->tab_strip_model()->GetWebContentsAt(0); 395 WebContents* tab0 = browser()->tab_strip_model()->GetWebContentsAt(0);
400 ASSERT_FALSE(GetInstalledApp(tab0)); 396 ASSERT_FALSE(GetInstalledApp(tab0));
401 ui_test_utils::NavigateToURLWithDisposition( 397 ui_test_utils::NavigateToURLWithDisposition(
402 browser(), base_url.Resolve("app1/main.html"), 398 browser(), base_url.Resolve("app1/main.html"),
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
453 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, MAYBE_IsolatedAppProcessModel) { 449 IN_PROC_BROWSER_TEST_F(IsolatedAppTest, MAYBE_IsolatedAppProcessModel) {
454 host_resolver()->AddRule("*", "127.0.0.1"); 450 host_resolver()->AddRule("*", "127.0.0.1");
455 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 451 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady());
456 452
457 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1"))); 453 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1")));
458 454
459 // The app under test acts on URLs whose host is "localhost", 455 // The app under test acts on URLs whose host is "localhost",
460 // so the URLs we navigate to must have host "localhost". 456 // so the URLs we navigate to must have host "localhost".
461 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/"); 457 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/");
462 GURL::Replacements replace_host; 458 GURL::Replacements replace_host;
463 std::string host_str("localhost"); // Must stay in scope with replace_host. 459 replace_host.SetHostStr("localhost");
464 replace_host.SetHostStr(host_str);
465 base_url = base_url.ReplaceComponents(replace_host); 460 base_url = base_url.ReplaceComponents(replace_host);
466 461
467 // Create three tabs in the isolated app in different ways. 462 // Create three tabs in the isolated app in different ways.
468 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("app1/main.html")); 463 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("app1/main.html"));
469 ui_test_utils::NavigateToURLWithDisposition( 464 ui_test_utils::NavigateToURLWithDisposition(
470 browser(), base_url.Resolve("app1/main.html"), 465 browser(), base_url.Resolve("app1/main.html"),
471 NEW_FOREGROUND_TAB, ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION); 466 NEW_FOREGROUND_TAB, ui_test_utils::BROWSER_TEST_WAIT_FOR_NAVIGATION);
472 // For the third tab, use window.open to keep it in process with an opener. 467 // For the third tab, use window.open to keep it in process with an opener.
473 OpenWindow(browser()->tab_strip_model()->GetWebContentsAt(0), 468 OpenWindow(browser()->tab_strip_model()->GetWebContentsAt(0),
474 base_url.Resolve("app1/main.html"), true, NULL); 469 base_url.Resolve("app1/main.html"), true, NULL);
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 host_resolver()->AddRule("*", "127.0.0.1"); 507 host_resolver()->AddRule("*", "127.0.0.1");
513 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady()); 508 ASSERT_TRUE(embedded_test_server()->InitializeAndWaitUntilReady());
514 509
515 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1"))); 510 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app1")));
516 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app2"))); 511 ASSERT_TRUE(LoadExtension(test_data_dir_.AppendASCII("isolated_apps/app2")));
517 512
518 // The app under test acts on URLs whose host is "localhost", 513 // The app under test acts on URLs whose host is "localhost",
519 // so the URLs we navigate to must have host "localhost". 514 // so the URLs we navigate to must have host "localhost".
520 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/"); 515 GURL base_url = embedded_test_server()->GetURL("/extensions/isolated_apps/");
521 GURL::Replacements replace_host; 516 GURL::Replacements replace_host;
522 std::string host_str("localhost"); // Must stay in scope with replace_host. 517 replace_host.SetHostStr("localhost");
523 replace_host.SetHostStr(host_str);
524 base_url = base_url.ReplaceComponents(replace_host); 518 base_url = base_url.ReplaceComponents(replace_host);
525 519
526 // Enter some state into sessionStorage three times on the same origin, but 520 // Enter some state into sessionStorage three times on the same origin, but
527 // for three URLs that correspond to app1, app2, and a non-isolated site. 521 // for three URLs that correspond to app1, app2, and a non-isolated site.
528 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("app1/main.html")); 522 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("app1/main.html"));
529 ASSERT_TRUE(ExecuteScript( 523 ASSERT_TRUE(ExecuteScript(
530 browser()->tab_strip_model()->GetWebContentsAt(0), 524 browser()->tab_strip_model()->GetWebContentsAt(0),
531 "window.sessionStorage.setItem('testdata', 'ss_app1');")); 525 "window.sessionStorage.setItem('testdata', 'ss_app1');"));
532 526
533 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("app2/main.html")); 527 ui_test_utils::NavigateToURL(browser(), base_url.Resolve("app2/main.html"));
(...skipping 29 matching lines...) Expand all
563 browser(), base_url.Resolve("non_app/main.html")); 557 browser(), base_url.Resolve("non_app/main.html"));
564 ASSERT_TRUE(ExecuteScriptAndExtractString( 558 ASSERT_TRUE(ExecuteScriptAndExtractString(
565 browser()->tab_strip_model()->GetWebContentsAt(0), 559 browser()->tab_strip_model()->GetWebContentsAt(0),
566 kRetrieveSessionStorage.c_str(), &result)); 560 kRetrieveSessionStorage.c_str(), &result));
567 EXPECT_EQ("ss_normal", result); 561 EXPECT_EQ("ss_normal", result);
568 } 562 }
569 563
570 } // namespace 564 } // namespace
571 565
572 } // namespace extensions 566 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698