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

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: All comments addressed. 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 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 517 matching lines...) Expand 10 before | Expand all | Expand 10 after
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,
1460 surface_id, 1471 surface_id,
1461 cloned_session_storage_namespace_id, 1472 cloned_session_storage_namespace_id,
1462 base::string16(), // WebCore will take care of setting the correct name. 1473 base::string16(), // WebCore will take care of setting the correct name.
1463 true, // is_renderer_created 1474 true, // is_renderer_created
1464 false, // swapped_out 1475 false, // swapped_out
1476 MSG_ROUTING_NONE, // proxy_routing_id
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_);
1470 view->opened_by_user_gesture_ = params.user_gesture; 1482 view->opened_by_user_gesture_ = params.user_gesture;
1471 1483
1472 // Record whether the creator frame is trying to suppress the opener field. 1484 // Record whether the creator frame is trying to suppress the opener field.
1473 view->opener_suppressed_ = params.opener_suppressed; 1485 view->opener_suppressed_ = params.opener_suppressed;
1474 1486
(...skipping 2590 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