OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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_frame_impl.h" | 5 #include "content/renderer/render_frame_impl.h" |
6 | 6 |
7 #include <map> | 7 #include <map> |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/auto_reset.h" | 10 #include "base/auto_reset.h" |
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
129 #include "third_party/WebKit/public/web/WebSurroundingText.h" | 129 #include "third_party/WebKit/public/web/WebSurroundingText.h" |
130 #include "third_party/WebKit/public/web/WebUserGestureIndicator.h" | 130 #include "third_party/WebKit/public/web/WebUserGestureIndicator.h" |
131 #include "third_party/WebKit/public/web/WebView.h" | 131 #include "third_party/WebKit/public/web/WebView.h" |
132 | 132 |
133 #if defined(ENABLE_PLUGINS) | 133 #if defined(ENABLE_PLUGINS) |
134 #include "content/renderer/npapi/webplugin_impl.h" | 134 #include "content/renderer/npapi/webplugin_impl.h" |
135 #include "content/renderer/pepper/pepper_browser_connection.h" | 135 #include "content/renderer/pepper/pepper_browser_connection.h" |
136 #include "content/renderer/pepper/pepper_plugin_instance_impl.h" | 136 #include "content/renderer/pepper/pepper_plugin_instance_impl.h" |
137 #include "content/renderer/pepper/pepper_webplugin_impl.h" | 137 #include "content/renderer/pepper/pepper_webplugin_impl.h" |
138 #include "content/renderer/pepper/plugin_module.h" | 138 #include "content/renderer/pepper/plugin_module.h" |
| 139 #include "content/renderer/pepper/plugin_power_saver_helper.h" |
139 #endif | 140 #endif |
140 | 141 |
141 #if defined(ENABLE_WEBRTC) | 142 #if defined(ENABLE_WEBRTC) |
142 #include "content/renderer/media/rtc_peer_connection_handler.h" | 143 #include "content/renderer/media/rtc_peer_connection_handler.h" |
143 #endif | 144 #endif |
144 | 145 |
145 #if defined(OS_ANDROID) | 146 #if defined(OS_ANDROID) |
146 #include <cpu-features.h> | 147 #include <cpu-features.h> |
147 | 148 |
148 #include "content/common/gpu/client/context_provider_command_buffer.h" | 149 #include "content/common/gpu/client/context_provider_command_buffer.h" |
(...skipping 406 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
555 | 556 |
556 // RenderFrameImpl ---------------------------------------------------------- | 557 // RenderFrameImpl ---------------------------------------------------------- |
557 RenderFrameImpl::RenderFrameImpl(RenderViewImpl* render_view, int routing_id) | 558 RenderFrameImpl::RenderFrameImpl(RenderViewImpl* render_view, int routing_id) |
558 : frame_(NULL), | 559 : frame_(NULL), |
559 render_view_(render_view->AsWeakPtr()), | 560 render_view_(render_view->AsWeakPtr()), |
560 routing_id_(routing_id), | 561 routing_id_(routing_id), |
561 is_swapped_out_(false), | 562 is_swapped_out_(false), |
562 render_frame_proxy_(NULL), | 563 render_frame_proxy_(NULL), |
563 is_detaching_(false), | 564 is_detaching_(false), |
564 proxy_routing_id_(MSG_ROUTING_NONE), | 565 proxy_routing_id_(MSG_ROUTING_NONE), |
| 566 #if defined(ENABLE_PLUGINS) |
| 567 plugin_power_saver_helper_(NULL), |
| 568 #endif |
565 cookie_jar_(this), | 569 cookie_jar_(this), |
566 selection_text_offset_(0), | 570 selection_text_offset_(0), |
567 selection_range_(gfx::Range::InvalidRange()), | 571 selection_range_(gfx::Range::InvalidRange()), |
568 handling_select_range_(false), | 572 handling_select_range_(false), |
569 notification_permission_dispatcher_(NULL), | 573 notification_permission_dispatcher_(NULL), |
570 notification_provider_(NULL), | 574 notification_provider_(NULL), |
571 web_user_media_client_(NULL), | 575 web_user_media_client_(NULL), |
572 midi_dispatcher_(NULL), | 576 midi_dispatcher_(NULL), |
573 #if defined(OS_ANDROID) | 577 #if defined(OS_ANDROID) |
574 media_player_manager_(NULL), | 578 media_player_manager_(NULL), |
(...skipping 12 matching lines...) Expand all Loading... |
587 renderer_accessibility_(NULL), | 591 renderer_accessibility_(NULL), |
588 weak_factory_(this) { | 592 weak_factory_(this) { |
589 std::pair<RoutingIDFrameMap::iterator, bool> result = | 593 std::pair<RoutingIDFrameMap::iterator, bool> result = |
590 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); | 594 g_routing_id_frame_map.Get().insert(std::make_pair(routing_id_, this)); |
591 CHECK(result.second) << "Inserting a duplicate item."; | 595 CHECK(result.second) << "Inserting a duplicate item."; |
592 | 596 |
593 RenderThread::Get()->AddRoute(routing_id_, this); | 597 RenderThread::Get()->AddRoute(routing_id_, this); |
594 | 598 |
595 render_view_->RegisterRenderFrame(this); | 599 render_view_->RegisterRenderFrame(this); |
596 | 600 |
| 601 // Everything below subclasses RenderFrameObserver and is automatically |
| 602 // deleted when the RenderFrame gets deleted. |
597 #if defined(OS_ANDROID) | 603 #if defined(OS_ANDROID) |
598 new GinJavaBridgeDispatcher(this); | 604 new GinJavaBridgeDispatcher(this); |
599 #endif | 605 #endif |
600 | 606 |
| 607 #if defined(ENABLE_PLUGINS) |
| 608 plugin_power_saver_helper_ = new PluginPowerSaverHelper(this); |
| 609 #endif |
| 610 |
601 #if defined(ENABLE_NOTIFICATIONS) | 611 #if defined(ENABLE_NOTIFICATIONS) |
602 notification_provider_ = new NotificationProvider(this); | 612 notification_provider_ = new NotificationProvider(this); |
603 #endif | 613 #endif |
604 | 614 |
605 manifest_manager_ = new ManifestManager(this); | 615 manifest_manager_ = new ManifestManager(this); |
606 } | 616 } |
607 | 617 |
608 RenderFrameImpl::~RenderFrameImpl() { | 618 RenderFrameImpl::~RenderFrameImpl() { |
609 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone()); | 619 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, RenderFrameGone()); |
610 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct()); | 620 FOR_EACH_OBSERVER(RenderFrameObserver, observers_, OnDestruct()); |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
820 } | 830 } |
821 } else { | 831 } else { |
822 // Mimics the order of events sent by WebKit. | 832 // Mimics the order of events sent by WebKit. |
823 // See WebCore::Editor::setComposition() for the corresponding code. | 833 // See WebCore::Editor::setComposition() for the corresponding code. |
824 render_view_->focused_pepper_plugin()->HandleCompositionEnd(last_text); | 834 render_view_->focused_pepper_plugin()->HandleCompositionEnd(last_text); |
825 render_view_->focused_pepper_plugin()->HandleTextInput(last_text); | 835 render_view_->focused_pepper_plugin()->HandleTextInput(last_text); |
826 } | 836 } |
827 pepper_composition_text_.clear(); | 837 pepper_composition_text_.clear(); |
828 } | 838 } |
829 | 839 |
| 840 PluginPowerSaverHelper* RenderFrameImpl::plugin_power_saver_helper() { |
| 841 DCHECK(plugin_power_saver_helper_); |
| 842 return plugin_power_saver_helper_; |
| 843 } |
830 #endif // defined(ENABLE_PLUGINS) | 844 #endif // defined(ENABLE_PLUGINS) |
831 | 845 |
832 MediaStreamDispatcher* RenderFrameImpl::GetMediaStreamDispatcher() { | 846 MediaStreamDispatcher* RenderFrameImpl::GetMediaStreamDispatcher() { |
833 if (!web_user_media_client_) | 847 if (!web_user_media_client_) |
834 InitializeUserMediaClient(); | 848 InitializeUserMediaClient(); |
835 return web_user_media_client_ ? | 849 return web_user_media_client_ ? |
836 web_user_media_client_->media_stream_dispatcher() : NULL; | 850 web_user_media_client_->media_stream_dispatcher() : NULL; |
837 } | 851 } |
838 | 852 |
839 bool RenderFrameImpl::Send(IPC::Message* message) { | 853 bool RenderFrameImpl::Send(IPC::Message* message) { |
(...skipping 3309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4149 | 4163 |
4150 #if defined(ENABLE_BROWSER_CDMS) | 4164 #if defined(ENABLE_BROWSER_CDMS) |
4151 RendererCdmManager* RenderFrameImpl::GetCdmManager() { | 4165 RendererCdmManager* RenderFrameImpl::GetCdmManager() { |
4152 if (!cdm_manager_) | 4166 if (!cdm_manager_) |
4153 cdm_manager_ = new RendererCdmManager(this); | 4167 cdm_manager_ = new RendererCdmManager(this); |
4154 return cdm_manager_; | 4168 return cdm_manager_; |
4155 } | 4169 } |
4156 #endif // defined(ENABLE_BROWSER_CDMS) | 4170 #endif // defined(ENABLE_BROWSER_CDMS) |
4157 | 4171 |
4158 } // namespace content | 4172 } // namespace content |
OLD | NEW |