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/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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 |
OLD | NEW |