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 "content/test/test_render_frame_host.h" | 5 #include "content/test/test_render_frame_host.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "content/browser/frame_host/frame_tree.h" | 8 #include "content/browser/frame_host/frame_tree.h" |
9 #include "content/browser/frame_host/navigation_request.h" | 9 #include "content/browser/frame_host/navigation_request.h" |
10 #include "content/browser/frame_host/navigator.h" | 10 #include "content/browser/frame_host/navigator.h" |
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
47 render_view_host, | 47 render_view_host, |
48 delegate, | 48 delegate, |
49 rwh_delegate, | 49 rwh_delegate, |
50 frame_tree, | 50 frame_tree, |
51 frame_tree_node, | 51 frame_tree_node, |
52 routing_id, | 52 routing_id, |
53 flags), | 53 flags), |
54 child_creation_observer_(delegate ? delegate->GetAsWebContents() : NULL), | 54 child_creation_observer_(delegate ? delegate->GetAsWebContents() : NULL), |
55 contents_mime_type_("text/html"), | 55 contents_mime_type_("text/html"), |
56 simulate_history_list_was_cleared_(false) { | 56 simulate_history_list_was_cleared_(false) { |
| 57 if (frame_tree_node_->IsMainFrame()) |
| 58 SetRenderFrameCreated(true); |
57 } | 59 } |
58 | 60 |
59 TestRenderFrameHost::~TestRenderFrameHost() {} | 61 TestRenderFrameHost::~TestRenderFrameHost() { |
| 62 SetRenderFrameCreated(false); |
| 63 } |
60 | 64 |
61 TestRenderViewHost* TestRenderFrameHost::GetRenderViewHost() { | 65 TestRenderViewHost* TestRenderFrameHost::GetRenderViewHost() { |
62 return static_cast<TestRenderViewHost*>( | 66 return static_cast<TestRenderViewHost*>( |
63 RenderFrameHostImpl::GetRenderViewHost()); | 67 RenderFrameHostImpl::GetRenderViewHost()); |
64 } | 68 } |
65 | 69 |
66 TestRenderFrameHost* TestRenderFrameHost::AppendChild( | 70 TestRenderFrameHost* TestRenderFrameHost::AppendChild( |
67 const std::string& frame_name) { | 71 const std::string& frame_name) { |
68 OnCreateChildFrame(GetProcess()->GetNextRoutingID(), frame_name, | 72 OnCreateChildFrame(GetProcess()->GetNextRoutingID(), frame_name, |
69 SandboxFlags::NONE); | 73 SandboxFlags::NONE); |
(...skipping 30 matching lines...) Expand all Loading... |
100 page_id, url, ui::PAGE_TRANSITION_RELOAD, 500); | 104 page_id, url, ui::PAGE_TRANSITION_RELOAD, 500); |
101 } | 105 } |
102 | 106 |
103 void TestRenderFrameHost::SendNavigateWithTransitionAndResponseCode( | 107 void TestRenderFrameHost::SendNavigateWithTransitionAndResponseCode( |
104 int page_id, | 108 int page_id, |
105 const GURL& url, ui::PageTransition transition, | 109 const GURL& url, ui::PageTransition transition, |
106 int response_code) { | 110 int response_code) { |
107 // DidStartProvisionalLoad may delete the pending entry that holds |url|, | 111 // DidStartProvisionalLoad may delete the pending entry that holds |url|, |
108 // so we keep a copy of it to use in SendNavigateWithParameters. | 112 // so we keep a copy of it to use in SendNavigateWithParameters. |
109 GURL url_copy(url); | 113 GURL url_copy(url); |
| 114 |
| 115 // Ensure that the RenderFrameCreated notification has been sent to observers |
| 116 // before navigating the frame. |
| 117 SetRenderFrameCreated(true); |
| 118 |
110 OnDidStartProvisionalLoadForFrame(url_copy, false); | 119 OnDidStartProvisionalLoadForFrame(url_copy, false); |
111 SendNavigateWithParameters(page_id, url_copy, transition, url_copy, | 120 SendNavigateWithParameters(page_id, url_copy, transition, url_copy, |
112 response_code, 0, std::vector<GURL>()); | 121 response_code, 0, std::vector<GURL>()); |
113 } | 122 } |
114 | 123 |
115 void TestRenderFrameHost::SendNavigateWithOriginalRequestURL( | 124 void TestRenderFrameHost::SendNavigateWithOriginalRequestURL( |
116 int page_id, | 125 int page_id, |
117 const GURL& url, | 126 const GURL& url, |
118 const GURL& original_request_url) { | 127 const GURL& original_request_url) { |
| 128 // Ensure that the RenderFrameCreated notification has been sent to observers |
| 129 // before navigating the frame. |
| 130 SetRenderFrameCreated(true); |
| 131 |
119 OnDidStartProvisionalLoadForFrame(url, false); | 132 OnDidStartProvisionalLoadForFrame(url, false); |
120 SendNavigateWithParameters(page_id, url, ui::PAGE_TRANSITION_LINK, | 133 SendNavigateWithParameters(page_id, url, ui::PAGE_TRANSITION_LINK, |
121 original_request_url, 200, 0, std::vector<GURL>()); | 134 original_request_url, 200, 0, std::vector<GURL>()); |
122 } | 135 } |
123 | 136 |
124 void TestRenderFrameHost::SendNavigateWithFile( | 137 void TestRenderFrameHost::SendNavigateWithFile( |
125 int page_id, | 138 int page_id, |
126 const GURL& url, | 139 const GURL& url, |
127 const base::FilePath& file_path) { | 140 const base::FilePath& file_path) { |
128 SendNavigateWithParameters(page_id, url, ui::PAGE_TRANSITION_LINK, url, 200, | 141 SendNavigateWithParameters(page_id, url, ui::PAGE_TRANSITION_LINK, url, 200, |
(...skipping 114 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
243 | 256 |
244 void TestRenderFrameHost::SendBeforeUnloadHandlersPresent(bool present) { | 257 void TestRenderFrameHost::SendBeforeUnloadHandlersPresent(bool present) { |
245 OnBeforeUnloadHandlersPresent(present); | 258 OnBeforeUnloadHandlersPresent(present); |
246 } | 259 } |
247 | 260 |
248 void TestRenderFrameHost::SendUnloadHandlersPresent(bool present) { | 261 void TestRenderFrameHost::SendUnloadHandlersPresent(bool present) { |
249 OnUnloadHandlersPresent(present); | 262 OnUnloadHandlersPresent(present); |
250 } | 263 } |
251 | 264 |
252 } // namespace content | 265 } // namespace content |
OLD | NEW |