| 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)); |
| 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 |