| OLD | NEW |
| 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/command_line.h" | 5 #include "base/command_line.h" |
| 6 #include "base/strings/stringprintf.h" | 6 #include "base/strings/stringprintf.h" |
| 7 #include "content/browser/loader/resource_dispatcher_host_impl.h" | 7 #include "content/browser/loader/resource_dispatcher_host_impl.h" |
| 8 #include "content/public/browser/navigation_entry.h" | 8 #include "content/public/browser/navigation_entry.h" |
| 9 #include "content/public/browser/resource_dispatcher_host_delegate.h" | 9 #include "content/public/browser/resource_dispatcher_host_delegate.h" |
| 10 #include "content/public/browser/resource_throttle.h" | 10 #include "content/public/browser/resource_throttle.h" |
| 11 #include "content/public/browser/web_contents.h" | 11 #include "content/public/browser/web_contents.h" |
| 12 #include "content/public/common/content_switches.h" | 12 #include "content/public/common/site_isolation_policy.h" |
| 13 #include "content/public/test/browser_test_utils.h" | 13 #include "content/public/test/browser_test_utils.h" |
| 14 #include "content/public/test/content_browser_test.h" | 14 #include "content/public/test/content_browser_test.h" |
| 15 #include "content/public/test/content_browser_test_utils.h" | 15 #include "content/public/test/content_browser_test_utils.h" |
| 16 #include "content/public/test/test_navigation_observer.h" | 16 #include "content/public/test/test_navigation_observer.h" |
| 17 #include "content/shell/browser/shell.h" | 17 #include "content/shell/browser/shell.h" |
| 18 #include "content/shell/browser/shell_content_browser_client.h" | 18 #include "content/shell/browser/shell_content_browser_client.h" |
| 19 #include "content/shell/browser/shell_resource_dispatcher_host_delegate.h" | 19 #include "content/shell/browser/shell_resource_dispatcher_host_delegate.h" |
| 20 #include "net/base/escape.h" | 20 #include "net/base/escape.h" |
| 21 #include "net/dns/mock_host_resolver.h" | 21 #include "net/dns/mock_host_resolver.h" |
| 22 #include "net/test/embedded_test_server/embedded_test_server.h" | 22 #include "net/test/embedded_test_server/embedded_test_server.h" |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 202 else | 202 else |
| 203 script = base::StringPrintf("location.href = '%s'", url.spec().c_str()); | 203 script = base::StringPrintf("location.href = '%s'", url.spec().c_str()); |
| 204 TestNavigationObserver load_observer(shell()->web_contents(), 1); | 204 TestNavigationObserver load_observer(shell()->web_contents(), 1); |
| 205 bool result = ExecuteScript(window->web_contents(), script); | 205 bool result = ExecuteScript(window->web_contents(), script); |
| 206 EXPECT_TRUE(result); | 206 EXPECT_TRUE(result); |
| 207 if (should_wait_for_navigation) | 207 if (should_wait_for_navigation) |
| 208 load_observer.Wait(); | 208 load_observer.Wait(); |
| 209 } | 209 } |
| 210 | 210 |
| 211 void SetUpCommandLine(base::CommandLine* command_line) override { | 211 void SetUpCommandLine(base::CommandLine* command_line) override { |
| 212 // Use --site-per-process to force process swaps for cross-site transfers. | 212 SiteIsolationPolicy::IsolateAllSitesForTesting(command_line); |
| 213 command_line->AppendSwitch(switches::kSitePerProcess); | |
| 214 } | 213 } |
| 215 | 214 |
| 216 void InjectResourceDisptcherHostDelegate() { | 215 void InjectResourceDisptcherHostDelegate() { |
| 217 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 216 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| 218 old_delegate_ = ResourceDispatcherHostImpl::Get()->delegate(); | 217 old_delegate_ = ResourceDispatcherHostImpl::Get()->delegate(); |
| 219 ResourceDispatcherHostImpl::Get()->SetDelegate(&tracking_delegate_); | 218 ResourceDispatcherHostImpl::Get()->SetDelegate(&tracking_delegate_); |
| 220 } | 219 } |
| 221 | 220 |
| 222 void RestoreResourceDisptcherHostDelegate() { | 221 void RestoreResourceDisptcherHostDelegate() { |
| 223 DCHECK_CURRENTLY_ON(BrowserThread::IO); | 222 DCHECK_CURRENTLY_ON(BrowserThread::IO); |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 427 EXPECT_EQ(0, controller.GetCurrentEntryIndex()); | 426 EXPECT_EQ(0, controller.GetCurrentEntryIndex()); |
| 428 EXPECT_EQ(url1, controller.GetEntryAtIndex(0)->GetURL()); | 427 EXPECT_EQ(url1, controller.GetEntryAtIndex(0)->GetURL()); |
| 429 | 428 |
| 430 // Make sure the request for url2 did not complete. | 429 // Make sure the request for url2 did not complete. |
| 431 EXPECT_FALSE(tracking_delegate().WaitForTrackedURLAndGetCompleted()); | 430 EXPECT_FALSE(tracking_delegate().WaitForTrackedURLAndGetCompleted()); |
| 432 | 431 |
| 433 shell()->web_contents()->SetDelegate(old_delegate); | 432 shell()->web_contents()->SetDelegate(old_delegate); |
| 434 } | 433 } |
| 435 | 434 |
| 436 } // namespace content | 435 } // namespace content |
| OLD | NEW |