| 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 "content/test/test_render_view_host.h" | 5 #include "content/test/test_render_view_host.h" |
| 6 | 6 |
| 7 #include "base/memory/scoped_ptr.h" | 7 #include "base/memory/scoped_ptr.h" |
| 8 #include "content/browser/dom_storage/dom_storage_context_wrapper.h" | 8 #include "content/browser/dom_storage/dom_storage_context_wrapper.h" |
| 9 #include "content/browser/dom_storage/session_storage_namespace_impl.h" | 9 #include "content/browser/dom_storage/session_storage_namespace_impl.h" |
| 10 #include "content/browser/site_instance_impl.h" | 10 #include "content/browser/site_instance_impl.h" |
| 11 #include "content/common/dom_storage/dom_storage_types.h" | 11 #include "content/common/dom_storage/dom_storage_types.h" |
| 12 #include "content/common/frame_messages.h" |
| 12 #include "content/common/view_messages.h" | 13 #include "content/common/view_messages.h" |
| 13 #include "content/public/browser/browser_context.h" | 14 #include "content/public/browser/browser_context.h" |
| 14 #include "content/public/browser/navigation_controller.h" | 15 #include "content/public/browser/navigation_controller.h" |
| 15 #include "content/public/browser/storage_partition.h" | 16 #include "content/public/browser/storage_partition.h" |
| 16 #include "content/public/common/content_client.h" | 17 #include "content/public/common/content_client.h" |
| 17 #include "content/public/common/page_state.h" | 18 #include "content/public/common/page_state.h" |
| 18 #include "content/test/test_backing_store.h" | 19 #include "content/test/test_backing_store.h" |
| 19 #include "content/test/test_web_contents.h" | 20 #include "content/test/test_web_contents.h" |
| 20 #include "media/base/video_frame.h" | 21 #include "media/base/video_frame.h" |
| 21 #include "ui/gfx/rect.h" | 22 #include "ui/gfx/rect.h" |
| 22 #include "webkit/common/webpreferences.h" | 23 #include "webkit/common/webpreferences.h" |
| 23 | 24 |
| 24 namespace content { | 25 namespace content { |
| 25 | 26 |
| 26 namespace { | 27 namespace { |
| 27 | 28 |
| 28 const int64 kFrameId = 13UL; | 29 const int64 kFrameId = 13UL; |
| 29 | 30 |
| 30 } // namespace | 31 } // namespace |
| 31 | 32 |
| 32 | 33 |
| 33 void InitNavigateParams(ViewHostMsg_FrameNavigate_Params* params, | 34 void InitNavigateParams(FrameHostMsg_DidCommitProvisionalLoad_Params* params, |
| 34 int page_id, | 35 int page_id, |
| 35 const GURL& url, | 36 const GURL& url, |
| 36 PageTransition transition) { | 37 PageTransition transition) { |
| 37 params->page_id = page_id; | 38 params->page_id = page_id; |
| 38 params->url = url; | 39 params->url = url; |
| 39 params->referrer = Referrer(); | 40 params->referrer = Referrer(); |
| 40 params->transition = transition; | 41 params->transition = transition; |
| 41 params->redirects = std::vector<GURL>(); | 42 params->redirects = std::vector<GURL>(); |
| 42 params->should_update_history = false; | 43 params->should_update_history = false; |
| 43 params->searchable_form_url = GURL(); | 44 params->searchable_form_url = GURL(); |
| (...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 267 render_view_created_ = true; | 268 render_view_created_ = true; |
| 268 opener_route_id_ = opener_route_id; | 269 opener_route_id_ = opener_route_id; |
| 269 return true; | 270 return true; |
| 270 } | 271 } |
| 271 | 272 |
| 272 bool TestRenderViewHost::IsRenderViewLive() const { | 273 bool TestRenderViewHost::IsRenderViewLive() const { |
| 273 return render_view_created_; | 274 return render_view_created_; |
| 274 } | 275 } |
| 275 | 276 |
| 276 void TestRenderViewHost::SendNavigate(int page_id, const GURL& url) { | 277 void TestRenderViewHost::SendNavigate(int page_id, const GURL& url) { |
| 277 SendNavigateWithTransition(page_id, url, PAGE_TRANSITION_LINK); | 278 main_render_frame_host_->SendNavigate(page_id, url); |
| 278 } | 279 } |
| 279 | 280 |
| 280 void TestRenderViewHost::SendFailedNavigate(int page_id, const GURL& url) { | 281 void TestRenderViewHost::SendFailedNavigate(int page_id, const GURL& url) { |
| 281 SendNavigateWithTransitionAndResponseCode( | 282 main_render_frame_host_->SendFailedNavigate(page_id, url); |
| 282 page_id, url, PAGE_TRANSITION_LINK, 500); | |
| 283 } | 283 } |
| 284 | 284 |
| 285 void TestRenderViewHost::SendNavigateWithTransition( | 285 void TestRenderViewHost::SendNavigateWithTransition( |
| 286 int page_id, const GURL& url, PageTransition transition) { | 286 int page_id, |
| 287 SendNavigateWithTransitionAndResponseCode(page_id, url, transition, 200); | 287 const GURL& url, |
| 288 PageTransition transition) { |
| 289 main_render_frame_host_->SendNavigateWithTransition(page_id, url, transition); |
| 288 } | 290 } |
| 289 | 291 |
| 290 void TestRenderViewHost::SendNavigateWithOriginalRequestURL( | 292 void TestRenderViewHost::SendNavigateWithOriginalRequestURL( |
| 291 int page_id, const GURL& url, const GURL& original_request_url) { | 293 int page_id, |
| 292 main_render_frame_host()->OnDidStartProvisionalLoadForFrame( | 294 const GURL& url, |
| 293 kFrameId, -1, true, url); | 295 const GURL& original_request_url) { |
| 294 SendNavigateWithParameters(page_id, url, PAGE_TRANSITION_LINK, | 296 main_render_frame_host_->SendNavigateWithOriginalRequestURL( |
| 295 original_request_url, 200, 0); | 297 page_id, url, original_request_url); |
| 296 } | 298 } |
| 297 | 299 |
| 298 void TestRenderViewHost::SendNavigateWithFile( | 300 void TestRenderViewHost::SendNavigateWithFile( |
| 299 int page_id, const GURL& url, const base::FilePath& file_path) { | 301 int page_id, |
| 300 SendNavigateWithParameters(page_id, url, PAGE_TRANSITION_LINK, | 302 const GURL& url, |
| 301 url, 200, &file_path); | 303 const base::FilePath& file_path) { |
| 304 main_render_frame_host_->SendNavigateWithFile(page_id, url, file_path); |
| 302 } | 305 } |
| 303 | 306 |
| 304 void TestRenderViewHost::SendNavigateWithParams( | 307 void TestRenderViewHost::SendNavigateWithParams( |
| 305 ViewHostMsg_FrameNavigate_Params* params) { | 308 FrameHostMsg_DidCommitProvisionalLoad_Params* params) { |
| 306 params->frame_id = kFrameId; | 309 main_render_frame_host_->SendNavigateWithParams(params); |
| 307 ViewHostMsg_FrameNavigate msg(1, *params); | |
| 308 OnNavigate(msg); | |
| 309 } | 310 } |
| 310 | 311 |
| 311 void TestRenderViewHost::SendNavigateWithTransitionAndResponseCode( | 312 void TestRenderViewHost::SendNavigateWithTransitionAndResponseCode( |
| 312 int page_id, const GURL& url, PageTransition transition, | 313 int page_id, |
| 314 const GURL& url, |
| 315 PageTransition transition, |
| 313 int response_code) { | 316 int response_code) { |
| 314 // DidStartProvisionalLoad may delete the pending entry that holds |url|, | 317 main_render_frame_host_->SendNavigateWithTransitionAndResponseCode( |
| 315 // so we keep a copy of it to use in SendNavigateWithParameters. | 318 page_id, url, transition, response_code); |
| 316 GURL url_copy(url); | |
| 317 main_render_frame_host()->OnDidStartProvisionalLoadForFrame( | |
| 318 kFrameId, -1, true, url_copy); | |
| 319 SendNavigateWithParameters(page_id, url_copy, transition, url_copy, | |
| 320 response_code, 0); | |
| 321 } | 319 } |
| 322 | 320 |
| 323 void TestRenderViewHost::SendNavigateWithParameters( | 321 void TestRenderViewHost::SendNavigateWithParameters( |
| 324 int page_id, const GURL& url, PageTransition transition, | 322 int page_id, |
| 325 const GURL& original_request_url, int response_code, | 323 const GURL& url, |
| 324 PageTransition transition, |
| 325 const GURL& original_request_url, |
| 326 int response_code, |
| 326 const base::FilePath* file_path_for_history_item) { | 327 const base::FilePath* file_path_for_history_item) { |
| 327 ViewHostMsg_FrameNavigate_Params params; | |
| 328 params.page_id = page_id; | |
| 329 params.frame_id = kFrameId; | |
| 330 params.url = url; | |
| 331 params.referrer = Referrer(); | |
| 332 params.transition = transition; | |
| 333 params.redirects = std::vector<GURL>(); | |
| 334 params.should_update_history = true; | |
| 335 params.searchable_form_url = GURL(); | |
| 336 params.searchable_form_encoding = std::string(); | |
| 337 params.security_info = std::string(); | |
| 338 params.gesture = NavigationGestureUser; | |
| 339 params.contents_mime_type = contents_mime_type_; | |
| 340 params.is_post = false; | |
| 341 params.was_within_same_page = false; | |
| 342 params.http_status_code = response_code; | |
| 343 params.socket_address.set_host("2001:db8::1"); | |
| 344 params.socket_address.set_port(80); | |
| 345 params.was_fetched_via_proxy = simulate_fetch_via_proxy_; | |
| 346 params.history_list_was_cleared = simulate_history_list_was_cleared_; | |
| 347 params.original_request_url = original_request_url; | |
| 348 | 328 |
| 349 params.page_state = PageState::CreateForTesting( | 329 main_render_frame_host_->SendNavigateWithParameters( |
| 350 url, | 330 page_id, url, transition, original_request_url, response_code, |
| 351 false, | |
| 352 file_path_for_history_item ? "data" : NULL, | |
| 353 file_path_for_history_item); | 331 file_path_for_history_item); |
| 354 | |
| 355 ViewHostMsg_FrameNavigate msg(1, params); | |
| 356 OnNavigate(msg); | |
| 357 } | 332 } |
| 358 | 333 |
| 359 void TestRenderViewHost::SendShouldCloseACK(bool proceed) { | 334 void TestRenderViewHost::SendShouldCloseACK(bool proceed) { |
| 360 base::TimeTicks now = base::TimeTicks::Now(); | 335 base::TimeTicks now = base::TimeTicks::Now(); |
| 361 OnShouldCloseACK(proceed, now, now); | 336 OnShouldCloseACK(proceed, now, now); |
| 362 } | 337 } |
| 363 | 338 |
| 364 void TestRenderViewHost::SetContentsMimeType(const std::string& mime_type) { | 339 void TestRenderViewHost::SetContentsMimeType(const std::string& mime_type) { |
| 365 contents_mime_type_ = mime_type; | 340 contents_mime_type_ = mime_type; |
| 341 main_render_frame_host_->set_contents_mime_type(mime_type); |
| 366 } | 342 } |
| 367 | 343 |
| 368 void TestRenderViewHost::SimulateSwapOutACK() { | 344 void TestRenderViewHost::SimulateSwapOutACK() { |
| 369 OnSwappedOut(false); | 345 OnSwappedOut(false); |
| 370 } | 346 } |
| 371 | 347 |
| 372 void TestRenderViewHost::SimulateWasHidden() { | 348 void TestRenderViewHost::SimulateWasHidden() { |
| 373 WasHidden(); | 349 WasHidden(); |
| 374 } | 350 } |
| 375 | 351 |
| (...skipping 18 matching lines...) Expand all Loading... |
| 394 "data", | 370 "data", |
| 395 &file_path)); | 371 &file_path)); |
| 396 } | 372 } |
| 397 | 373 |
| 398 void TestRenderViewHost::set_simulate_fetch_via_proxy(bool proxy) { | 374 void TestRenderViewHost::set_simulate_fetch_via_proxy(bool proxy) { |
| 399 simulate_fetch_via_proxy_ = proxy; | 375 simulate_fetch_via_proxy_ = proxy; |
| 400 } | 376 } |
| 401 | 377 |
| 402 void TestRenderViewHost::set_simulate_history_list_was_cleared(bool cleared) { | 378 void TestRenderViewHost::set_simulate_history_list_was_cleared(bool cleared) { |
| 403 simulate_history_list_was_cleared_ = cleared; | 379 simulate_history_list_was_cleared_ = cleared; |
| 380 main_render_frame_host_->set_simulate_history_list_was_cleared(cleared); |
| 404 } | 381 } |
| 405 | 382 |
| 406 RenderViewHostImplTestHarness::RenderViewHostImplTestHarness() { | 383 RenderViewHostImplTestHarness::RenderViewHostImplTestHarness() { |
| 407 std::vector<ui::ScaleFactor> scale_factors; | 384 std::vector<ui::ScaleFactor> scale_factors; |
| 408 scale_factors.push_back(ui::SCALE_FACTOR_100P); | 385 scale_factors.push_back(ui::SCALE_FACTOR_100P); |
| 409 scoped_set_supported_scale_factors_.reset( | 386 scoped_set_supported_scale_factors_.reset( |
| 410 new ui::test::ScopedSetSupportedScaleFactors(scale_factors)); | 387 new ui::test::ScopedSetSupportedScaleFactors(scale_factors)); |
| 411 } | 388 } |
| 412 | 389 |
| 413 RenderViewHostImplTestHarness::~RenderViewHostImplTestHarness() { | 390 RenderViewHostImplTestHarness::~RenderViewHostImplTestHarness() { |
| (...skipping 13 matching lines...) Expand all Loading... |
| 427 | 404 |
| 428 TestRenderFrameHost* RenderViewHostImplTestHarness::main_test_rfh() { | 405 TestRenderFrameHost* RenderViewHostImplTestHarness::main_test_rfh() { |
| 429 return static_cast<TestRenderFrameHost*>(main_rfh()); | 406 return static_cast<TestRenderFrameHost*>(main_rfh()); |
| 430 } | 407 } |
| 431 | 408 |
| 432 TestWebContents* RenderViewHostImplTestHarness::contents() { | 409 TestWebContents* RenderViewHostImplTestHarness::contents() { |
| 433 return static_cast<TestWebContents*>(web_contents()); | 410 return static_cast<TestWebContents*>(web_contents()); |
| 434 } | 411 } |
| 435 | 412 |
| 436 } // namespace content | 413 } // namespace content |
| OLD | NEW |