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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 } | 68 } |
69 | 69 |
70 TestRenderFrameHost* TestRenderFrameHost::AppendChild( | 70 TestRenderFrameHost* TestRenderFrameHost::AppendChild( |
71 const std::string& frame_name) { | 71 const std::string& frame_name) { |
72 OnCreateChildFrame(GetProcess()->GetNextRoutingID(), frame_name, | 72 OnCreateChildFrame(GetProcess()->GetNextRoutingID(), frame_name, |
73 SandboxFlags::NONE); | 73 SandboxFlags::NONE); |
74 return static_cast<TestRenderFrameHost*>( | 74 return static_cast<TestRenderFrameHost*>( |
75 child_creation_observer_.last_created_frame()); | 75 child_creation_observer_.last_created_frame()); |
76 } | 76 } |
77 | 77 |
78 void TestRenderFrameHost::SendNavigateWithTransition( | |
79 int page_id, | |
80 const GURL& url, | |
81 ui::PageTransition transition) { | |
82 SendNavigateWithTransitionAndResponseCode(page_id, url, transition, 200); | |
83 } | |
84 | |
85 void TestRenderFrameHost::SetContentsMimeType(const std::string& mime_type) { | 78 void TestRenderFrameHost::SetContentsMimeType(const std::string& mime_type) { |
86 contents_mime_type_ = mime_type; | 79 contents_mime_type_ = mime_type; |
87 } | 80 } |
88 | 81 |
89 void TestRenderFrameHost::SendBeforeUnloadACK(bool proceed) { | 82 void TestRenderFrameHost::SendBeforeUnloadACK(bool proceed) { |
90 base::TimeTicks now = base::TimeTicks::Now(); | 83 base::TimeTicks now = base::TimeTicks::Now(); |
91 OnBeforeUnloadACK(proceed, now, now); | 84 OnBeforeUnloadACK(proceed, now, now); |
92 } | 85 } |
93 | 86 |
94 void TestRenderFrameHost::SimulateSwapOutACK() { | 87 void TestRenderFrameHost::SimulateSwapOutACK() { |
95 OnSwappedOut(); | 88 OnSwappedOut(); |
96 } | 89 } |
97 | 90 |
98 void TestRenderFrameHost::SendNavigate(int page_id, const GURL& url) { | 91 void TestRenderFrameHost::SendNavigate(int page_id, |
99 SendNavigateWithTransition(page_id, url, ui::PAGE_TRANSITION_LINK); | 92 int nav_entry_id, |
| 93 bool did_create_new_entry, |
| 94 const GURL& url) { |
| 95 SendNavigateWithTransition(page_id, nav_entry_id, did_create_new_entry, url, |
| 96 ui::PAGE_TRANSITION_LINK); |
100 } | 97 } |
101 | 98 |
102 void TestRenderFrameHost::SendFailedNavigate(int page_id, const GURL& url) { | 99 void TestRenderFrameHost::SendFailedNavigate(int page_id, |
| 100 int nav_entry_id, |
| 101 bool did_create_new_entry, |
| 102 const GURL& url) { |
| 103 SendNavigateWithTransitionAndResponseCode(page_id, nav_entry_id, |
| 104 did_create_new_entry, url, |
| 105 ui::PAGE_TRANSITION_RELOAD, 500); |
| 106 } |
| 107 |
| 108 void TestRenderFrameHost::SendNavigateWithTransition( |
| 109 int page_id, |
| 110 int nav_entry_id, |
| 111 bool did_create_new_entry, |
| 112 const GURL& url, |
| 113 ui::PageTransition transition) { |
103 SendNavigateWithTransitionAndResponseCode( | 114 SendNavigateWithTransitionAndResponseCode( |
104 page_id, url, ui::PAGE_TRANSITION_RELOAD, 500); | 115 page_id, nav_entry_id, did_create_new_entry, url, transition, 200); |
105 } | 116 } |
106 | 117 |
107 void TestRenderFrameHost::SendNavigateWithTransitionAndResponseCode( | 118 void TestRenderFrameHost::SendNavigateWithTransitionAndResponseCode( |
108 int page_id, | 119 int page_id, |
109 const GURL& url, ui::PageTransition transition, | 120 int nav_entry_id, |
| 121 bool did_create_new_entry, |
| 122 const GURL& url, |
| 123 ui::PageTransition transition, |
110 int response_code) { | 124 int response_code) { |
111 // DidStartProvisionalLoad may delete the pending entry that holds |url|, | 125 // DidStartProvisionalLoad may delete the pending entry that holds |url|, |
112 // so we keep a copy of it to use in SendNavigateWithParameters. | 126 // so we keep a copy of it to use in SendNavigateWithParameters. |
113 GURL url_copy(url); | 127 GURL url_copy(url); |
114 | 128 |
115 // Ensure that the RenderFrameCreated notification has been sent to observers | 129 // Ensure that the RenderFrameCreated notification has been sent to observers |
116 // before navigating the frame. | 130 // before navigating the frame. |
117 SetRenderFrameCreated(true); | 131 SetRenderFrameCreated(true); |
118 | 132 |
119 OnDidStartProvisionalLoadForFrame(url_copy, false); | 133 OnDidStartProvisionalLoadForFrame(url_copy, false); |
120 SendNavigateWithParameters(page_id, url_copy, transition, url_copy, | 134 SendNavigateWithParameters(page_id, nav_entry_id, did_create_new_entry, |
121 response_code, 0, std::vector<GURL>()); | 135 url_copy, transition, url_copy, response_code, 0, |
| 136 std::vector<GURL>()); |
122 } | 137 } |
123 | 138 |
124 void TestRenderFrameHost::SendNavigateWithOriginalRequestURL( | 139 void TestRenderFrameHost::SendNavigateWithOriginalRequestURL( |
125 int page_id, | 140 int page_id, |
| 141 int nav_entry_id, |
| 142 bool did_create_new_entry, |
126 const GURL& url, | 143 const GURL& url, |
127 const GURL& original_request_url) { | 144 const GURL& original_request_url) { |
128 // Ensure that the RenderFrameCreated notification has been sent to observers | 145 // Ensure that the RenderFrameCreated notification has been sent to observers |
129 // before navigating the frame. | 146 // before navigating the frame. |
130 SetRenderFrameCreated(true); | 147 SetRenderFrameCreated(true); |
131 | 148 |
132 OnDidStartProvisionalLoadForFrame(url, false); | 149 OnDidStartProvisionalLoadForFrame(url, false); |
133 SendNavigateWithParameters(page_id, url, ui::PAGE_TRANSITION_LINK, | 150 SendNavigateWithParameters(page_id, nav_entry_id, did_create_new_entry, url, |
134 original_request_url, 200, 0, std::vector<GURL>()); | 151 ui::PAGE_TRANSITION_LINK, original_request_url, |
| 152 200, 0, std::vector<GURL>()); |
135 } | 153 } |
136 | 154 |
137 void TestRenderFrameHost::SendNavigateWithFile( | 155 void TestRenderFrameHost::SendNavigateWithFile( |
138 int page_id, | 156 int page_id, |
| 157 int nav_entry_id, |
| 158 bool did_create_new_entry, |
139 const GURL& url, | 159 const GURL& url, |
140 const base::FilePath& file_path) { | 160 const base::FilePath& file_path) { |
141 SendNavigateWithParameters(page_id, url, ui::PAGE_TRANSITION_LINK, url, 200, | 161 SendNavigateWithParameters(page_id, nav_entry_id, did_create_new_entry, url, |
142 &file_path, std::vector<GURL>()); | 162 ui::PAGE_TRANSITION_LINK, url, 200, &file_path, |
| 163 std::vector<GURL>()); |
143 } | 164 } |
144 | 165 |
145 void TestRenderFrameHost::SendNavigateWithParams( | 166 void TestRenderFrameHost::SendNavigateWithParams( |
146 FrameHostMsg_DidCommitProvisionalLoad_Params* params) { | 167 FrameHostMsg_DidCommitProvisionalLoad_Params* params) { |
147 FrameHostMsg_DidCommitProvisionalLoad msg(GetRoutingID(), *params); | 168 FrameHostMsg_DidCommitProvisionalLoad msg(GetRoutingID(), *params); |
148 OnDidCommitProvisionalLoad(msg); | 169 OnDidCommitProvisionalLoad(msg); |
149 } | 170 } |
150 | 171 |
151 void TestRenderFrameHost::SendNavigateWithRedirects( | 172 void TestRenderFrameHost::SendNavigateWithRedirects( |
152 int page_id, | 173 int page_id, |
| 174 int nav_entry_id, |
| 175 bool did_create_new_entry, |
153 const GURL& url, | 176 const GURL& url, |
154 const std::vector<GURL>& redirects) { | 177 const std::vector<GURL>& redirects) { |
155 SendNavigateWithParameters( | 178 SendNavigateWithParameters(page_id, nav_entry_id, did_create_new_entry, url, |
156 page_id, url, ui::PAGE_TRANSITION_LINK, url, 200, 0, redirects); | 179 ui::PAGE_TRANSITION_LINK, url, 200, 0, redirects); |
157 } | 180 } |
158 | 181 |
159 void TestRenderFrameHost::SendNavigateWithParameters( | 182 void TestRenderFrameHost::SendNavigateWithParameters( |
160 int page_id, | 183 int page_id, |
| 184 int nav_entry_id, |
| 185 bool did_create_new_entry, |
161 const GURL& url, | 186 const GURL& url, |
162 ui::PageTransition transition, | 187 ui::PageTransition transition, |
163 const GURL& original_request_url, | 188 const GURL& original_request_url, |
164 int response_code, | 189 int response_code, |
165 const base::FilePath* file_path_for_history_item, | 190 const base::FilePath* file_path_for_history_item, |
166 const std::vector<GURL>& redirects) { | 191 const std::vector<GURL>& redirects) { |
167 FrameHostMsg_DidCommitProvisionalLoad_Params params; | 192 FrameHostMsg_DidCommitProvisionalLoad_Params params; |
168 params.page_id = page_id; | 193 params.page_id = page_id; |
| 194 params.nav_entry_id = nav_entry_id; |
169 params.url = url; | 195 params.url = url; |
170 params.referrer = Referrer(); | 196 params.referrer = Referrer(); |
171 params.transition = transition; | 197 params.transition = transition; |
172 params.redirects = redirects; | 198 params.redirects = redirects; |
173 params.should_update_history = true; | 199 params.should_update_history = true; |
174 params.searchable_form_url = GURL(); | 200 params.searchable_form_url = GURL(); |
175 params.searchable_form_encoding = std::string(); | 201 params.searchable_form_encoding = std::string(); |
| 202 params.did_create_new_entry = did_create_new_entry; |
176 params.security_info = std::string(); | 203 params.security_info = std::string(); |
177 params.gesture = NavigationGestureUser; | 204 params.gesture = NavigationGestureUser; |
178 params.contents_mime_type = contents_mime_type_; | 205 params.contents_mime_type = contents_mime_type_; |
179 params.is_post = false; | 206 params.is_post = false; |
180 params.http_status_code = response_code; | 207 params.http_status_code = response_code; |
181 params.socket_address.set_host("2001:db8::1"); | 208 params.socket_address.set_host("2001:db8::1"); |
182 params.socket_address.set_port(80); | 209 params.socket_address.set_port(80); |
183 params.history_list_was_cleared = simulate_history_list_was_cleared_; | 210 params.history_list_was_cleared = simulate_history_list_was_cleared_; |
184 params.original_request_url = original_request_url; | 211 params.original_request_url = original_request_url; |
185 | 212 |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
262 url_loader->SimulateServerRedirect(redirect_url); | 289 url_loader->SimulateServerRedirect(redirect_url); |
263 | 290 |
264 // Simulate the network stack commit. | 291 // Simulate the network stack commit. |
265 scoped_refptr<ResourceResponse> response(new ResourceResponse); | 292 scoped_refptr<ResourceResponse> response(new ResourceResponse); |
266 // TODO(carlosk): ideally with PlzNavigate it should be possible someday to | 293 // TODO(carlosk): ideally with PlzNavigate it should be possible someday to |
267 // fully commit the navigation at this call to CallOnResponseStarted. | 294 // fully commit the navigation at this call to CallOnResponseStarted. |
268 url_loader->CallOnResponseStarted(response, MakeEmptyStream()); | 295 url_loader->CallOnResponseStarted(response, MakeEmptyStream()); |
269 } | 296 } |
270 | 297 |
271 } // namespace content | 298 } // namespace content |
OLD | NEW |