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

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: Fix IPC_BEGIN_MESSAGE_MAP macro, as _EX version doesn't exist anymore. 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
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | content/renderer/render_view_impl_params.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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_dispatcher.h" 91 #include "content/renderer/media/media_stream_dispatcher.h"
92 #include "content/renderer/media/midi_dispatcher.h" 92 #include "content/renderer/media/midi_dispatcher.h"
93 #include "content/renderer/media/video_capture_impl_manager.h" 93 #include "content/renderer/media/video_capture_impl_manager.h"
94 #include "content/renderer/media/webrtc/peer_connection_dependency_factory.h" 94 #include "content/renderer/media/webrtc/peer_connection_dependency_factory.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 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
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,
906 int32 surface_id, 915 int32 surface_id,
907 int64 session_storage_namespace_id, 916 int64 session_storage_namespace_id,
908 const base::string16& frame_name, 917 const base::string16& frame_name,
909 bool is_renderer_created, 918 bool is_renderer_created,
910 bool swapped_out, 919 bool swapped_out,
920 int32 proxy_routing_id,
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,
923 surface_id, 933 surface_id,
924 session_storage_namespace_id, 934 session_storage_namespace_id,
925 frame_name, 935 frame_name,
926 is_renderer_created, 936 is_renderer_created,
927 swapped_out, 937 swapped_out,
938 proxy_routing_id,
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);
933 RenderViewImpl* render_view = NULL; 944 RenderViewImpl* render_view = NULL;
934 if (g_create_render_view_impl) 945 if (g_create_render_view_impl)
935 render_view = g_create_render_view_impl(&params); 946 render_view = g_create_render_view_impl(&params);
936 else 947 else
937 render_view = new RenderViewImpl(&params); 948 render_view = new RenderViewImpl(&params);
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after
1457 true, // window_was_created_with_opener 1468 true, // window_was_created_with_opener
1458 renderer_preferences_, 1469 renderer_preferences_,
1459 webkit_preferences_, 1470 webkit_preferences_,
1460 routing_id, 1471 routing_id,
1461 main_frame_routing_id, 1472 main_frame_routing_id,
1462 surface_id, 1473 surface_id,
1463 cloned_session_storage_namespace_id, 1474 cloned_session_storage_namespace_id,
1464 base::string16(), // WebCore will take care of setting the correct name. 1475 base::string16(), // WebCore will take care of setting the correct name.
1465 true, // is_renderer_created 1476 true, // is_renderer_created
1466 false, // swapped_out 1477 false, // swapped_out
1478 MSG_ROUTING_NONE, // proxy_routing_id
1467 params.disposition == NEW_BACKGROUND_TAB, // hidden 1479 params.disposition == NEW_BACKGROUND_TAB, // hidden
1468 never_visible, 1480 never_visible,
1469 1, // next_page_id 1481 1, // next_page_id
1470 screen_info_, 1482 screen_info_,
1471 accessibility_mode_); 1483 accessibility_mode_);
1472 view->opened_by_user_gesture_ = params.user_gesture; 1484 view->opened_by_user_gesture_ = params.user_gesture;
1473 1485
1474 // Record whether the creator frame is trying to suppress the opener field. 1486 // Record whether the creator frame is trying to suppress the opener field.
1475 view->opener_suppressed_ = params.opener_suppressed; 1487 view->opener_suppressed_ = params.opener_suppressed;
1476 1488
(...skipping 2616 matching lines...) Expand 10 before | Expand all | Expand 10 after
4093 std::vector<gfx::Size> sizes; 4105 std::vector<gfx::Size> sizes;
4094 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes); 4106 ConvertToFaviconSizes(icon_urls[i].sizes(), &sizes);
4095 if (!url.isEmpty()) 4107 if (!url.isEmpty())
4096 urls.push_back( 4108 urls.push_back(
4097 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes)); 4109 FaviconURL(url, ToFaviconType(icon_urls[i].iconType()), sizes));
4098 } 4110 }
4099 SendUpdateFaviconURL(urls); 4111 SendUpdateFaviconURL(urls);
4100 } 4112 }
4101 4113
4102 } // namespace content 4114 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_view_impl.h ('k') | content/renderer/render_view_impl_params.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698