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 <stddef.h> |
| 6 #include <stdint.h> |
| 7 |
5 #include <set> | 8 #include <set> |
6 | 9 |
7 #include "base/command_line.h" | 10 #include "base/command_line.h" |
8 #include "base/json/json_reader.h" | 11 #include "base/json/json_reader.h" |
9 #include "base/location.h" | 12 #include "base/location.h" |
10 #include "base/memory/ref_counted.h" | 13 #include "base/memory/ref_counted.h" |
11 #include "base/path_service.h" | 14 #include "base/path_service.h" |
12 #include "base/single_thread_task_runner.h" | 15 #include "base/single_thread_task_runner.h" |
13 #include "base/strings/string_split.h" | 16 #include "base/strings/string_split.h" |
14 #include "base/strings/utf_string_conversions.h" | 17 #include "base/strings/utf_string_conversions.h" |
15 #include "base/thread_task_runner_handle.h" | 18 #include "base/thread_task_runner_handle.h" |
16 #include "base/values.h" | 19 #include "base/values.h" |
| 20 #include "build/build_config.h" |
17 #include "content/browser/child_process_security_policy_impl.h" | 21 #include "content/browser/child_process_security_policy_impl.h" |
18 #include "content/browser/frame_host/render_frame_proxy_host.h" | 22 #include "content/browser/frame_host/render_frame_proxy_host.h" |
19 #include "content/browser/renderer_host/render_view_host_impl.h" | 23 #include "content/browser/renderer_host/render_view_host_impl.h" |
20 #include "content/browser/site_instance_impl.h" | 24 #include "content/browser/site_instance_impl.h" |
21 #include "content/browser/web_contents/web_contents_impl.h" | 25 #include "content/browser/web_contents/web_contents_impl.h" |
22 #include "content/browser/webui/web_ui_controller_factory_registry.h" | 26 #include "content/browser/webui/web_ui_controller_factory_registry.h" |
23 #include "content/browser/webui/web_ui_impl.h" | 27 #include "content/browser/webui/web_ui_impl.h" |
24 #include "content/common/content_constants_internal.h" | 28 #include "content/common/content_constants_internal.h" |
25 #include "content/common/input_messages.h" | 29 #include "content/common/input_messages.h" |
26 #include "content/common/site_isolation_policy.h" | 30 #include "content/common/site_isolation_policy.h" |
(...skipping 2035 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2062 StartEmbeddedServer(); | 2066 StartEmbeddedServer(); |
2063 | 2067 |
2064 // Do an initial navigation and capture objects we expect to be cleaned up | 2068 // Do an initial navigation and capture objects we expect to be cleaned up |
2065 // on cross-process navigation. | 2069 // on cross-process navigation. |
2066 GURL start_url = embedded_test_server()->GetURL("/title1.html"); | 2070 GURL start_url = embedded_test_server()->GetURL("/title1.html"); |
2067 NavigateToURL(shell(), start_url); | 2071 NavigateToURL(shell(), start_url); |
2068 | 2072 |
2069 FrameTreeNode* root = static_cast<WebContentsImpl*>(shell()->web_contents()) | 2073 FrameTreeNode* root = static_cast<WebContentsImpl*>(shell()->web_contents()) |
2070 ->GetFrameTree() | 2074 ->GetFrameTree() |
2071 ->root(); | 2075 ->root(); |
2072 int32 orig_site_instance_id = | 2076 int32_t orig_site_instance_id = |
2073 root->current_frame_host()->GetSiteInstance()->GetId(); | 2077 root->current_frame_host()->GetSiteInstance()->GetId(); |
2074 int initial_process_id = | 2078 int initial_process_id = |
2075 root->current_frame_host()->GetSiteInstance()->GetProcess()->GetID(); | 2079 root->current_frame_host()->GetSiteInstance()->GetProcess()->GetID(); |
2076 int initial_rfh_id = root->current_frame_host()->GetRoutingID(); | 2080 int initial_rfh_id = root->current_frame_host()->GetRoutingID(); |
2077 int initial_rvh_id = | 2081 int initial_rvh_id = |
2078 root->current_frame_host()->render_view_host()->GetRoutingID(); | 2082 root->current_frame_host()->render_view_host()->GetRoutingID(); |
2079 | 2083 |
2080 // Navigate cross-process and ensure that cleanup is performed as expected. | 2084 // Navigate cross-process and ensure that cleanup is performed as expected. |
2081 GURL cross_site_url = | 2085 GURL cross_site_url = |
2082 embedded_test_server()->GetURL("foo.com", "/title2.html"); | 2086 embedded_test_server()->GetURL("foo.com", "/title2.html"); |
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2450 navigation_observer.Wait(); | 2454 navigation_observer.Wait(); |
2451 EXPECT_EQ(cross_site_url2, web_contents->GetLastCommittedURL()); | 2455 EXPECT_EQ(cross_site_url2, web_contents->GetLastCommittedURL()); |
2452 EXPECT_EQ(pending_rfh, web_contents->GetMainFrame()); | 2456 EXPECT_EQ(pending_rfh, web_contents->GetMainFrame()); |
2453 EXPECT_FALSE( | 2457 EXPECT_FALSE( |
2454 web_contents->GetRenderManagerForTesting()->pending_frame_host()); | 2458 web_contents->GetRenderManagerForTesting()->pending_frame_host()); |
2455 | 2459 |
2456 ResourceDispatcherHost::Get()->SetDelegate(nullptr); | 2460 ResourceDispatcherHost::Get()->SetDelegate(nullptr); |
2457 } | 2461 } |
2458 | 2462 |
2459 } // namespace content | 2463 } // namespace content |
OLD | NEW |