Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1158)

Side by Side Diff: content/renderer/render_view_impl.cc

Issue 281663002: Create RenderFrameProxyHost at time of swap-out instead of commit. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Ready for review Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/renderer/render_view_impl.h" 5 #include "content/renderer/render_view_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <cmath> 8 #include <cmath>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 #include "content/renderer/load_progress_tracker.h" 89 #include "content/renderer/load_progress_tracker.h"
90 #include "content/renderer/media/audio_device_factory.h" 90 #include "content/renderer/media/audio_device_factory.h"
91 #include "content/renderer/media/media_stream_dependency_factory.h" 91 #include "content/renderer/media/media_stream_dependency_factory.h"
92 #include "content/renderer/media/media_stream_dispatcher.h" 92 #include "content/renderer/media/media_stream_dispatcher.h"
93 #include "content/renderer/media/midi_dispatcher.h" 93 #include "content/renderer/media/midi_dispatcher.h"
94 #include "content/renderer/media/video_capture_impl_manager.h" 94 #include "content/renderer/media/video_capture_impl_manager.h"
95 #include "content/renderer/memory_benchmarking_extension.h" 95 #include "content/renderer/memory_benchmarking_extension.h"
96 #include "content/renderer/mhtml_generator.h" 96 #include "content/renderer/mhtml_generator.h"
97 #include "content/renderer/push_messaging_dispatcher.h" 97 #include "content/renderer/push_messaging_dispatcher.h"
98 #include "content/renderer/render_frame_impl.h" 98 #include "content/renderer/render_frame_impl.h"
99 #include "content/renderer/render_frame_proxy.h"
99 #include "content/renderer/render_process.h" 100 #include "content/renderer/render_process.h"
100 #include "content/renderer/render_thread_impl.h" 101 #include "content/renderer/render_thread_impl.h"
101 #include "content/renderer/render_view_impl_params.h" 102 #include "content/renderer/render_view_impl_params.h"
102 #include "content/renderer/render_view_mouse_lock_dispatcher.h" 103 #include "content/renderer/render_view_mouse_lock_dispatcher.h"
103 #include "content/renderer/render_widget_fullscreen_pepper.h" 104 #include "content/renderer/render_widget_fullscreen_pepper.h"
104 #include "content/renderer/renderer_webapplicationcachehost_impl.h" 105 #include "content/renderer/renderer_webapplicationcachehost_impl.h"
105 #include "content/renderer/resizing_mode_selector.h" 106 #include "content/renderer/resizing_mode_selector.h"
106 #include "content/renderer/savable_resources.h" 107 #include "content/renderer/savable_resources.h"
107 #include "content/renderer/skia_benchmarking_extension.h" 108 #include "content/renderer/skia_benchmarking_extension.h"
108 #include "content/renderer/speech_recognition_dispatcher.h" 109 #include "content/renderer/speech_recognition_dispatcher.h"
(...skipping 577 matching lines...) Expand 10 before | Expand all | Expand 10 after
686 // Ensure we start with a valid next_page_id_ from the browser. 687 // Ensure we start with a valid next_page_id_ from the browser.
687 DCHECK_GE(next_page_id_, 0); 688 DCHECK_GE(next_page_id_, 0);
688 689
689 RenderFrameImpl* main_render_frame = RenderFrameImpl::Create( 690 RenderFrameImpl* main_render_frame = RenderFrameImpl::Create(
690 this, params->main_frame_routing_id); 691 this, params->main_frame_routing_id);
691 // The main frame WebLocalFrame object is closed by 692 // The main frame WebLocalFrame object is closed by
692 // RenderFrameImpl::frameDetached(). 693 // RenderFrameImpl::frameDetached().
693 WebLocalFrame* web_frame = WebLocalFrame::create(main_render_frame); 694 WebLocalFrame* web_frame = WebLocalFrame::create(main_render_frame);
694 main_render_frame->SetWebFrame(web_frame); 695 main_render_frame->SetWebFrame(web_frame);
695 696
697 if (params->proxy_routing_id != MSG_ROUTING_NONE) {
698 CHECK(params->swapped_out);
699 RenderFrameProxy* proxy =
700 RenderFrameProxy::CreateFrameProxy(params->proxy_routing_id,
701 params->main_frame_routing_id);
702 main_render_frame->set_render_frame_proxy(proxy);
703 }
704
696 webwidget_ = WebView::create(this); 705 webwidget_ = WebView::create(this);
697 webwidget_mouse_lock_target_.reset(new WebWidgetLockTarget(webwidget_)); 706 webwidget_mouse_lock_target_.reset(new WebWidgetLockTarget(webwidget_));
698 707
699 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); 708 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
700 709
701 if (command_line.HasSwitch(switches::kStatsCollectionController)) 710 if (command_line.HasSwitch(switches::kStatsCollectionController))
702 stats_collection_observer_.reset(new StatsCollectionObserver(this)); 711 stats_collection_observer_.reset(new StatsCollectionObserver(this));
703 712
704 #if defined(OS_ANDROID) 713 #if defined(OS_ANDROID)
705 const std::string region_code = 714 const std::string region_code =
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after
896 } 905 }
897 906
898 /*static*/ 907 /*static*/
899 RenderViewImpl* RenderViewImpl::Create( 908 RenderViewImpl* RenderViewImpl::Create(
900 int32 opener_id, 909 int32 opener_id,
901 bool window_was_created_with_opener, 910 bool window_was_created_with_opener,
902 const RendererPreferences& renderer_prefs, 911 const RendererPreferences& renderer_prefs,
903 const WebPreferences& webkit_prefs, 912 const WebPreferences& webkit_prefs,
904 int32 routing_id, 913 int32 routing_id,
905 int32 main_frame_routing_id, 914 int32 main_frame_routing_id,
915 int32 proxy_routing_id,
906 int32 surface_id, 916 int32 surface_id,
907 int64 session_storage_namespace_id, 917 int64 session_storage_namespace_id,
908 const base::string16& frame_name, 918 const base::string16& frame_name,
909 bool is_renderer_created, 919 bool is_renderer_created,
910 bool swapped_out, 920 bool swapped_out,
911 bool hidden, 921 bool hidden,
912 bool never_visible, 922 bool never_visible,
913 int32 next_page_id, 923 int32 next_page_id,
914 const blink::WebScreenInfo& screen_info, 924 const blink::WebScreenInfo& screen_info,
915 AccessibilityMode accessibility_mode) { 925 AccessibilityMode accessibility_mode) {
916 DCHECK(routing_id != MSG_ROUTING_NONE); 926 DCHECK(routing_id != MSG_ROUTING_NONE);
917 RenderViewImplParams params(opener_id, 927 RenderViewImplParams params(opener_id,
918 window_was_created_with_opener, 928 window_was_created_with_opener,
919 renderer_prefs, 929 renderer_prefs,
920 webkit_prefs, 930 webkit_prefs,
921 routing_id, 931 routing_id,
922 main_frame_routing_id, 932 main_frame_routing_id,
933 proxy_routing_id,
923 surface_id, 934 surface_id,
924 session_storage_namespace_id, 935 session_storage_namespace_id,
925 frame_name, 936 frame_name,
926 is_renderer_created, 937 is_renderer_created,
927 swapped_out, 938 swapped_out,
928 hidden, 939 hidden,
929 never_visible, 940 never_visible,
930 next_page_id, 941 next_page_id,
931 screen_info, 942 screen_info,
932 accessibility_mode); 943 accessibility_mode);
(...skipping 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
1450 // return from this call synchronously, we just have to make our best guess 1461 // return from this call synchronously, we just have to make our best guess
1451 // and rely on the browser sending a WasHidden / WasShown message if it 1462 // and rely on the browser sending a WasHidden / WasShown message if it
1452 // disagrees. 1463 // disagrees.
1453 RenderViewImpl* view = RenderViewImpl::Create( 1464 RenderViewImpl* view = RenderViewImpl::Create(
1454 routing_id_, 1465 routing_id_,
1455 true, // window_was_created_with_opener 1466 true, // window_was_created_with_opener
1456 renderer_preferences_, 1467 renderer_preferences_,
1457 webkit_preferences_, 1468 webkit_preferences_,
1458 routing_id, 1469 routing_id,
1459 main_frame_routing_id, 1470 main_frame_routing_id,
1471 MSG_ROUTING_NONE,
1460 surface_id, 1472 surface_id,
1461 cloned_session_storage_namespace_id, 1473 cloned_session_storage_namespace_id,
1462 base::string16(), // WebCore will take care of setting the correct name. 1474 base::string16(), // WebCore will take care of setting the correct name.
1463 true, // is_renderer_created 1475 true, // is_renderer_created
1464 false, // swapped_out 1476 false, // swapped_out
1465 params.disposition == NEW_BACKGROUND_TAB, // hidden 1477 params.disposition == NEW_BACKGROUND_TAB, // hidden
1466 never_visible, 1478 never_visible,
1467 1, // next_page_id 1479 1, // next_page_id
1468 screen_info_, 1480 screen_info_,
1469 accessibility_mode_); 1481 accessibility_mode_);
(...skipping 2595 matching lines...) Expand 10 before | Expand all | Expand 10 after
4065 std::vector<gfx::Size> sizes; 4077 std::vector<gfx::Size> sizes;
4066 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes); 4078 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes);
4067 if (!url.isEmpty()) 4079 if (!url.isEmpty())
4068 urls.push_back( 4080 urls.push_back(
4069 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes)); 4081 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes));
4070 } 4082 }
4071 SendUpdateFaviconURL(urls); 4083 SendUpdateFaviconURL(urls);
4072 } 4084 }
4073 4085
4074 } // namespace content 4086 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698