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

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

Issue 16032007: Create RenderFrame/RenderFrameHost for the main frame of a page. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Added basic renderer and browser test for existence. Created 7 years, 6 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 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
94 #include "content/renderer/media/media_stream_dispatcher.h" 94 #include "content/renderer/media/media_stream_dispatcher.h"
95 #include "content/renderer/media/media_stream_impl.h" 95 #include "content/renderer/media/media_stream_impl.h"
96 #include "content/renderer/media/render_media_log.h" 96 #include "content/renderer/media/render_media_log.h"
97 #include "content/renderer/media/renderer_gpu_video_decoder_factories.h" 97 #include "content/renderer/media/renderer_gpu_video_decoder_factories.h"
98 #include "content/renderer/media/rtc_peer_connection_handler.h" 98 #include "content/renderer/media/rtc_peer_connection_handler.h"
99 #include "content/renderer/media/video_capture_impl_manager.h" 99 #include "content/renderer/media/video_capture_impl_manager.h"
100 #include "content/renderer/mhtml_generator.h" 100 #include "content/renderer/mhtml_generator.h"
101 #include "content/renderer/notification_provider.h" 101 #include "content/renderer/notification_provider.h"
102 #include "content/renderer/pepper/pepper_plugin_delegate_impl.h" 102 #include "content/renderer/pepper/pepper_plugin_delegate_impl.h"
103 #include "content/renderer/plugin_channel_host.h" 103 #include "content/renderer/plugin_channel_host.h"
104 #include "content/renderer/render_frame_impl.h"
104 #include "content/renderer/render_process.h" 105 #include "content/renderer/render_process.h"
105 #include "content/renderer/render_thread_impl.h" 106 #include "content/renderer/render_thread_impl.h"
106 #include "content/renderer/render_view_impl_params.h" 107 #include "content/renderer/render_view_impl_params.h"
107 #include "content/renderer/render_view_mouse_lock_dispatcher.h" 108 #include "content/renderer/render_view_mouse_lock_dispatcher.h"
108 #include "content/renderer/render_widget_fullscreen_pepper.h" 109 #include "content/renderer/render_widget_fullscreen_pepper.h"
109 #include "content/renderer/renderer_date_time_picker.h" 110 #include "content/renderer/renderer_date_time_picker.h"
110 #include "content/renderer/renderer_webapplicationcachehost_impl.h" 111 #include "content/renderer/renderer_webapplicationcachehost_impl.h"
111 #include "content/renderer/renderer_webcolorchooser_impl.h" 112 #include "content/renderer/renderer_webcolorchooser_impl.h"
112 #include "content/renderer/savable_resources.h" 113 #include "content/renderer/savable_resources.h"
113 #include "content/renderer/speech_recognition_dispatcher.h" 114 #include "content/renderer/speech_recognition_dispatcher.h"
(...skipping 567 matching lines...) Expand 10 before | Expand all | Expand 10 after
681 load_progress_tracker_(new LoadProgressTracker(this)), 682 load_progress_tracker_(new LoadProgressTracker(this)),
682 #endif 683 #endif
683 session_storage_namespace_id_(params->session_storage_namespace_id), 684 session_storage_namespace_id_(params->session_storage_namespace_id),
684 decrement_shared_popup_at_destruction_(false), 685 decrement_shared_popup_at_destruction_(false),
685 handling_select_range_(false), 686 handling_select_range_(false),
686 next_snapshot_id_(0), 687 next_snapshot_id_(0),
687 allow_partial_swap_(params->allow_partial_swap) { 688 allow_partial_swap_(params->allow_partial_swap) {
688 } 689 }
689 690
690 void RenderViewImpl::Initialize(RenderViewImplParams* params) { 691 void RenderViewImpl::Initialize(RenderViewImplParams* params) {
692 main_render_frame_.reset(new RenderFrameImpl(
693 this, params->main_frame_routing_id));
Charlie Reis 2013/05/30 00:41:53 nit: Wrong indent.
nasko 2013/05/30 17:07:03 Done.
694
691 #if defined(ENABLE_PLUGINS) 695 #if defined(ENABLE_PLUGINS)
692 pepper_helper_.reset(new PepperPluginDelegateImpl(this)); 696 pepper_helper_.reset(new PepperPluginDelegateImpl(this));
693 #else 697 #else
694 pepper_helper_.reset(new RenderViewPepperHelper()); 698 pepper_helper_.reset(new RenderViewPepperHelper());
695 #endif 699 #endif
696 set_throttle_input_events(params->renderer_prefs.throttle_input_events); 700 set_throttle_input_events(params->renderer_prefs.throttle_input_events);
697 routing_id_ = params->routing_id; 701 routing_id_ = params->routing_id;
698 surface_id_ = params->surface_id; 702 surface_id_ = params->surface_id;
699 if (params->opener_id != MSG_ROUTING_NONE && params->is_renderer_created) 703 if (params->opener_id != MSG_ROUTING_NONE && params->is_renderer_created)
700 opener_id_ = params->opener_id; 704 opener_id_ = params->opener_id;
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
890 } 894 }
891 } 895 }
892 896
893 /*static*/ 897 /*static*/
894 RenderViewImpl* RenderViewImpl::Create( 898 RenderViewImpl* RenderViewImpl::Create(
895 int32 opener_id, 899 int32 opener_id,
896 const RendererPreferences& renderer_prefs, 900 const RendererPreferences& renderer_prefs,
897 const WebPreferences& webkit_prefs, 901 const WebPreferences& webkit_prefs,
898 SharedRenderViewCounter* counter, 902 SharedRenderViewCounter* counter,
899 int32 routing_id, 903 int32 routing_id,
904 int32 main_frame_routing_id,
900 int32 surface_id, 905 int32 surface_id,
901 int64 session_storage_namespace_id, 906 int64 session_storage_namespace_id,
902 const string16& frame_name, 907 const string16& frame_name,
903 bool is_renderer_created, 908 bool is_renderer_created,
904 bool swapped_out, 909 bool swapped_out,
905 int32 next_page_id, 910 int32 next_page_id,
906 const WebKit::WebScreenInfo& screen_info, 911 const WebKit::WebScreenInfo& screen_info,
907 AccessibilityMode accessibility_mode, 912 AccessibilityMode accessibility_mode,
908 bool allow_partial_swap) { 913 bool allow_partial_swap) {
909 DCHECK(routing_id != MSG_ROUTING_NONE); 914 DCHECK(routing_id != MSG_ROUTING_NONE);
910 RenderViewImplParams params( 915 RenderViewImplParams params(
911 opener_id, 916 opener_id,
912 renderer_prefs, 917 renderer_prefs,
913 webkit_prefs, 918 webkit_prefs,
914 counter, 919 counter,
915 routing_id, 920 routing_id,
921 main_frame_routing_id,
916 surface_id, 922 surface_id,
917 session_storage_namespace_id, 923 session_storage_namespace_id,
918 frame_name, 924 frame_name,
919 is_renderer_created, 925 is_renderer_created,
920 swapped_out, 926 swapped_out,
921 next_page_id, 927 next_page_id,
922 screen_info, 928 screen_info,
923 accessibility_mode, 929 accessibility_mode,
924 allow_partial_swap); 930 allow_partial_swap);
925 RenderViewImpl* render_view = NULL; 931 RenderViewImpl* render_view = NULL;
(...skipping 1038 matching lines...) Expand 10 before | Expand all | Expand 10 after
1964 GURL security_url(creator->document().securityOrigin().toString().utf8()); 1970 GURL security_url(creator->document().securityOrigin().toString().utf8());
1965 if (!security_url.is_valid()) 1971 if (!security_url.is_valid())
1966 security_url = GURL(); 1972 security_url = GURL();
1967 params.opener_security_origin = security_url; 1973 params.opener_security_origin = security_url;
1968 params.opener_suppressed = creator->willSuppressOpenerInNewFrame(); 1974 params.opener_suppressed = creator->willSuppressOpenerInNewFrame();
1969 params.disposition = NavigationPolicyToDisposition(policy); 1975 params.disposition = NavigationPolicyToDisposition(policy);
1970 if (!request.isNull()) 1976 if (!request.isNull())
1971 params.target_url = request.url(); 1977 params.target_url = request.url();
1972 1978
1973 int32 routing_id = MSG_ROUTING_NONE; 1979 int32 routing_id = MSG_ROUTING_NONE;
1980 int32 main_frame_routing_id = MSG_ROUTING_NONE;
1974 int32 surface_id = 0; 1981 int32 surface_id = 0;
1975 int64 cloned_session_storage_namespace_id; 1982 int64 cloned_session_storage_namespace_id;
1976 1983
1977 RenderThread::Get()->Send( 1984 RenderThread::Get()->Send(
1978 new ViewHostMsg_CreateWindow(params, 1985 new ViewHostMsg_CreateWindow(params,
1979 &routing_id, 1986 &routing_id,
1987 &main_frame_routing_id,
1980 &surface_id, 1988 &surface_id,
1981 &cloned_session_storage_namespace_id)); 1989 &cloned_session_storage_namespace_id));
1982 if (routing_id == MSG_ROUTING_NONE) 1990 if (routing_id == MSG_ROUTING_NONE)
1983 return NULL; 1991 return NULL;
1984 1992
1985 WebUserGestureIndicator::consumeUserGesture(); 1993 WebUserGestureIndicator::consumeUserGesture();
1986 1994
1987 WebPreferences transferred_preferences = webkit_preferences_; 1995 WebPreferences transferred_preferences = webkit_preferences_;
1988 1996
1989 // Unless accelerated compositing has been explicitly disabled from the 1997 // Unless accelerated compositing has been explicitly disabled from the
1990 // command line (e.g. via the blacklist or about:flags) re-enable it for 1998 // command line (e.g. via the blacklist or about:flags) re-enable it for
1991 // new views that get spawned by this view. This gets around the issue that 1999 // new views that get spawned by this view. This gets around the issue that
1992 // background extension pages disable accelerated compositing via web prefs 2000 // background extension pages disable accelerated compositing via web prefs
1993 // but can themselves spawn a visible render view which should be allowed 2001 // but can themselves spawn a visible render view which should be allowed
1994 // use gpu acceleration. 2002 // use gpu acceleration.
1995 if (!webkit_preferences_.accelerated_compositing_enabled) { 2003 if (!webkit_preferences_.accelerated_compositing_enabled) {
1996 const CommandLine& command_line = *CommandLine::ForCurrentProcess(); 2004 const CommandLine& command_line = *CommandLine::ForCurrentProcess();
1997 if (!command_line.HasSwitch(switches::kDisableAcceleratedCompositing)) 2005 if (!command_line.HasSwitch(switches::kDisableAcceleratedCompositing))
1998 transferred_preferences.accelerated_compositing_enabled = true; 2006 transferred_preferences.accelerated_compositing_enabled = true;
1999 } 2007 }
2000 2008
2001 RenderViewImpl* view = RenderViewImpl::Create( 2009 RenderViewImpl* view = RenderViewImpl::Create(
2002 routing_id_, 2010 routing_id_,
2003 renderer_preferences_, 2011 renderer_preferences_,
2004 transferred_preferences, 2012 transferred_preferences,
2005 shared_popup_counter_, 2013 shared_popup_counter_,
2006 routing_id, 2014 routing_id,
2015 main_frame_routing_id,
2007 surface_id, 2016 surface_id,
2008 cloned_session_storage_namespace_id, 2017 cloned_session_storage_namespace_id,
2009 string16(), // WebCore will take care of setting the correct name. 2018 string16(), // WebCore will take care of setting the correct name.
2010 true, 2019 true,
2011 false, 2020 false,
2012 1, 2021 1,
2013 screen_info_, 2022 screen_info_,
2014 accessibility_mode_, 2023 accessibility_mode_,
2015 allow_partial_swap_); 2024 allow_partial_swap_);
2016 view->opened_by_user_gesture_ = params.user_gesture; 2025 view->opened_by_user_gesture_ = params.user_gesture;
(...skipping 4541 matching lines...) Expand 10 before | Expand all | Expand 10 after
6558 WebURL url = icon_urls[i].iconURL(); 6567 WebURL url = icon_urls[i].iconURL();
6559 if (!url.isEmpty()) 6568 if (!url.isEmpty())
6560 urls.push_back(FaviconURL(url, 6569 urls.push_back(FaviconURL(url,
6561 ToFaviconType(icon_urls[i].iconType()))); 6570 ToFaviconType(icon_urls[i].iconType())));
6562 } 6571 }
6563 SendUpdateFaviconURL(urls); 6572 SendUpdateFaviconURL(urls);
6564 } 6573 }
6565 6574
6566 6575
6567 } // namespace content 6576 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698