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

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

Issue 2512563003: Convert enable_plugins to a buildflag header. (Closed)
Patch Set: Merge Created 4 years, 1 month 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
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | content/renderer/render_thread_impl.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
202 #include "third_party/WebKit/public/web/WebSerializedScriptValue.h" 202 #include "third_party/WebKit/public/web/WebSerializedScriptValue.h"
203 #include "third_party/WebKit/public/web/WebSettings.h" 203 #include "third_party/WebKit/public/web/WebSettings.h"
204 #include "third_party/WebKit/public/web/WebSurroundingText.h" 204 #include "third_party/WebKit/public/web/WebSurroundingText.h"
205 #include "third_party/WebKit/public/web/WebUserGestureIndicator.h" 205 #include "third_party/WebKit/public/web/WebUserGestureIndicator.h"
206 #include "third_party/WebKit/public/web/WebView.h" 206 #include "third_party/WebKit/public/web/WebView.h"
207 #include "third_party/WebKit/public/web/WebWidget.h" 207 #include "third_party/WebKit/public/web/WebWidget.h"
208 #include "url/origin.h" 208 #include "url/origin.h"
209 #include "url/url_constants.h" 209 #include "url/url_constants.h"
210 #include "url/url_util.h" 210 #include "url/url_util.h"
211 211
212 #if defined(ENABLE_PLUGINS) 212 #if BUILDFLAG(ENABLE_PLUGINS)
213 #include "content/renderer/pepper/pepper_browser_connection.h" 213 #include "content/renderer/pepper/pepper_browser_connection.h"
214 #include "content/renderer/pepper/pepper_plugin_instance_impl.h" 214 #include "content/renderer/pepper/pepper_plugin_instance_impl.h"
215 #include "content/renderer/pepper/pepper_plugin_registry.h" 215 #include "content/renderer/pepper/pepper_plugin_registry.h"
216 #include "content/renderer/pepper/pepper_webplugin_impl.h" 216 #include "content/renderer/pepper/pepper_webplugin_impl.h"
217 #include "content/renderer/pepper/plugin_module.h" 217 #include "content/renderer/pepper/plugin_module.h"
218 #endif 218 #endif
219 219
220 #if defined(ENABLE_WEBRTC) 220 #if defined(ENABLE_WEBRTC)
221 #include "content/renderer/media/rtc_peer_connection_handler.h" 221 #include "content/renderer/media/rtc_peer_connection_handler.h"
222 #endif 222 #endif
(...skipping 852 matching lines...) Expand 10 before | Expand all | Expand 10 after
1075 1075
1076 // RenderFrameImpl ---------------------------------------------------------- 1076 // RenderFrameImpl ----------------------------------------------------------
1077 RenderFrameImpl::RenderFrameImpl(const CreateParams& params) 1077 RenderFrameImpl::RenderFrameImpl(const CreateParams& params)
1078 : frame_(NULL), 1078 : frame_(NULL),
1079 is_main_frame_(true), 1079 is_main_frame_(true),
1080 in_browser_initiated_detach_(false), 1080 in_browser_initiated_detach_(false),
1081 in_frame_tree_(false), 1081 in_frame_tree_(false),
1082 render_view_(params.render_view), 1082 render_view_(params.render_view),
1083 routing_id_(params.routing_id), 1083 routing_id_(params.routing_id),
1084 proxy_routing_id_(MSG_ROUTING_NONE), 1084 proxy_routing_id_(MSG_ROUTING_NONE),
1085 #if defined(ENABLE_PLUGINS) 1085 #if BUILDFLAG(ENABLE_PLUGINS)
1086 plugin_power_saver_helper_(nullptr), 1086 plugin_power_saver_helper_(nullptr),
1087 plugin_find_handler_(nullptr), 1087 plugin_find_handler_(nullptr),
1088 #endif 1088 #endif
1089 cookie_jar_(this), 1089 cookie_jar_(this),
1090 selection_text_offset_(0), 1090 selection_text_offset_(0),
1091 selection_range_(gfx::Range::InvalidRange()), 1091 selection_range_(gfx::Range::InvalidRange()),
1092 handling_select_range_(false), 1092 handling_select_range_(false),
1093 web_user_media_client_(NULL), 1093 web_user_media_client_(NULL),
1094 #if defined(OS_ANDROID) 1094 #if defined(OS_ANDROID)
1095 media_player_manager_(NULL), 1095 media_player_manager_(NULL),
1096 media_session_manager_(NULL), 1096 media_session_manager_(NULL),
1097 #endif 1097 #endif
1098 media_surface_manager_(nullptr), 1098 media_surface_manager_(nullptr),
1099 devtools_agent_(nullptr), 1099 devtools_agent_(nullptr),
1100 push_messaging_dispatcher_(NULL), 1100 push_messaging_dispatcher_(NULL),
1101 presentation_dispatcher_(NULL), 1101 presentation_dispatcher_(NULL),
1102 screen_orientation_dispatcher_(NULL), 1102 screen_orientation_dispatcher_(NULL),
1103 manifest_manager_(NULL), 1103 manifest_manager_(NULL),
1104 accessibility_mode_(AccessibilityModeOff), 1104 accessibility_mode_(AccessibilityModeOff),
1105 render_accessibility_(NULL), 1105 render_accessibility_(NULL),
1106 media_player_delegate_(NULL), 1106 media_player_delegate_(NULL),
1107 is_using_lofi_(false), 1107 is_using_lofi_(false),
1108 effective_connection_type_( 1108 effective_connection_type_(
1109 blink::WebEffectiveConnectionType::TypeUnknown), 1109 blink::WebEffectiveConnectionType::TypeUnknown),
1110 is_pasting_(false), 1110 is_pasting_(false),
1111 suppress_further_dialogs_(false), 1111 suppress_further_dialogs_(false),
1112 blame_context_(nullptr), 1112 blame_context_(nullptr),
1113 #if defined(ENABLE_PLUGINS) 1113 #if BUILDFLAG(ENABLE_PLUGINS)
1114 focused_pepper_plugin_(nullptr), 1114 focused_pepper_plugin_(nullptr),
1115 pepper_last_mouse_event_target_(nullptr), 1115 pepper_last_mouse_event_target_(nullptr),
1116 #endif 1116 #endif
1117 frame_binding_(this), 1117 frame_binding_(this),
1118 host_zoom_binding_(this), 1118 host_zoom_binding_(this),
1119 has_accessed_initial_document_(false), 1119 has_accessed_initial_document_(false),
1120 weak_factory_(this) { 1120 weak_factory_(this) {
1121 // We don't have a service_manager::Connection at this point, so use empty 1121 // We don't have a service_manager::Connection at this point, so use empty
1122 // identity/specs. 1122 // identity/specs.
1123 // TODO(beng): We should fix this, so we can apply policy about which 1123 // TODO(beng): We should fix this, so we can apply policy about which
(...skipping 16 matching lines...) Expand all
1140 RenderThread::Get()->AddRoute(routing_id_, this); 1140 RenderThread::Get()->AddRoute(routing_id_, this);
1141 1141
1142 render_view_->RegisterRenderFrame(this); 1142 render_view_->RegisterRenderFrame(this);
1143 1143
1144 // Everything below subclasses RenderFrameObserver and is automatically 1144 // Everything below subclasses RenderFrameObserver and is automatically
1145 // deleted when the RenderFrame gets deleted. 1145 // deleted when the RenderFrame gets deleted.
1146 #if defined(OS_ANDROID) 1146 #if defined(OS_ANDROID)
1147 new GinJavaBridgeDispatcher(this); 1147 new GinJavaBridgeDispatcher(this);
1148 #endif 1148 #endif
1149 1149
1150 #if defined(ENABLE_PLUGINS) 1150 #if BUILDFLAG(ENABLE_PLUGINS)
1151 // Manages its own lifetime. 1151 // Manages its own lifetime.
1152 plugin_power_saver_helper_ = new PluginPowerSaverHelper(this); 1152 plugin_power_saver_helper_ = new PluginPowerSaverHelper(this);
1153 #endif 1153 #endif
1154 1154
1155 manifest_manager_ = new ManifestManager(this); 1155 manifest_manager_ = new ManifestManager(this);
1156 1156
1157 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) 1157 #if BUILDFLAG(ENABLE_MEDIA_REMOTING)
1158 // Create the RemotingSinkObserver to monitor the remoting sink availablity. 1158 // Create the RemotingSinkObserver to monitor the remoting sink availablity.
1159 media::mojom::RemotingSourcePtr remoting_source; 1159 media::mojom::RemotingSourcePtr remoting_source;
1160 media::mojom::RemotingSourceRequest remoting_source_request = 1160 media::mojom::RemotingSourceRequest remoting_source_request =
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
1230 TRACE_EVENT_CATEGORY_GROUP_ENABLED("rail", &is_tracing_rail); 1230 TRACE_EVENT_CATEGORY_GROUP_ENABLED("rail", &is_tracing_rail);
1231 if (is_tracing_rail || is_tracing_navigation) { 1231 if (is_tracing_rail || is_tracing_navigation) {
1232 int parent_id = GetRoutingIdForFrameOrProxy(frame_->parent()); 1232 int parent_id = GetRoutingIdForFrameOrProxy(frame_->parent());
1233 TRACE_EVENT2("navigation,rail", "RenderFrameImpl::Initialize", 1233 TRACE_EVENT2("navigation,rail", "RenderFrameImpl::Initialize",
1234 "id", routing_id_, 1234 "id", routing_id_,
1235 "parent", parent_id); 1235 "parent", parent_id);
1236 } 1236 }
1237 1237
1238 MaybeEnableMojoBindings(); 1238 MaybeEnableMojoBindings();
1239 1239
1240 #if defined(ENABLE_PLUGINS) 1240 #if BUILDFLAG(ENABLE_PLUGINS)
1241 new PepperBrowserConnection(this); 1241 new PepperBrowserConnection(this);
1242 #endif 1242 #endif
1243 new SharedWorkerRepository(this); 1243 new SharedWorkerRepository(this);
1244 1244
1245 if (IsLocalRoot()) { 1245 if (IsLocalRoot()) {
1246 // DevToolsAgent is a RenderFrameObserver, and will destruct itself 1246 // DevToolsAgent is a RenderFrameObserver, and will destruct itself
1247 // when |this| is deleted. 1247 // when |this| is deleted.
1248 devtools_agent_ = new DevToolsAgent(this); 1248 devtools_agent_ = new DevToolsAgent(this);
1249 } 1249 }
1250 1250
(...skipping 22 matching lines...) Expand all
1273 blame_context_ = base::MakeUnique<FrameBlameContext>(this, parent_frame); 1273 blame_context_ = base::MakeUnique<FrameBlameContext>(this, parent_frame);
1274 blame_context_->Initialize(); 1274 blame_context_->Initialize();
1275 } 1275 }
1276 1276
1277 RenderWidget* RenderFrameImpl::GetRenderWidget() { 1277 RenderWidget* RenderFrameImpl::GetRenderWidget() {
1278 RenderFrameImpl* local_root = 1278 RenderFrameImpl* local_root =
1279 RenderFrameImpl::FromWebFrame(frame_->localRoot()); 1279 RenderFrameImpl::FromWebFrame(frame_->localRoot());
1280 return local_root->render_widget_.get(); 1280 return local_root->render_widget_.get();
1281 } 1281 }
1282 1282
1283 #if defined(ENABLE_PLUGINS) 1283 #if BUILDFLAG(ENABLE_PLUGINS)
1284 void RenderFrameImpl::PepperPluginCreated(RendererPpapiHost* host) { 1284 void RenderFrameImpl::PepperPluginCreated(RendererPpapiHost* host) {
1285 for (auto& observer : observers_) 1285 for (auto& observer : observers_)
1286 observer.DidCreatePepperPlugin(host); 1286 observer.DidCreatePepperPlugin(host);
1287 } 1287 }
1288 1288
1289 void RenderFrameImpl::PepperDidChangeCursor( 1289 void RenderFrameImpl::PepperDidChangeCursor(
1290 PepperPluginInstanceImpl* instance, 1290 PepperPluginInstanceImpl* instance,
1291 const blink::WebCursorInfo& cursor) { 1291 const blink::WebCursorInfo& cursor) {
1292 // Update the cursor appearance immediately if the requesting plugin is the 1292 // Update the cursor appearance immediately if the requesting plugin is the
1293 // one which receives the last mouse event. Otherwise, the new cursor won't be 1293 // one which receives the last mouse event. Otherwise, the new cursor won't be
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
1428 void RenderFrameImpl::OnImeCommitText(const base::string16& text, 1428 void RenderFrameImpl::OnImeCommitText(const base::string16& text,
1429 const gfx::Range& replacement_range, 1429 const gfx::Range& replacement_range,
1430 int relative_cursor_pos) { 1430 int relative_cursor_pos) {
1431 HandlePepperImeCommit(text); 1431 HandlePepperImeCommit(text);
1432 } 1432 }
1433 1433
1434 void RenderFrameImpl::OnImeFinishComposingText(bool keep_selection) { 1434 void RenderFrameImpl::OnImeFinishComposingText(bool keep_selection) {
1435 const base::string16& text = pepper_composition_text_; 1435 const base::string16& text = pepper_composition_text_;
1436 HandlePepperImeCommit(text); 1436 HandlePepperImeCommit(text);
1437 } 1437 }
1438 #endif // defined(ENABLE_PLUGINS) 1438 #endif // BUILDFLAG(ENABLE_PLUGINS)
1439 1439
1440 MediaStreamDispatcher* RenderFrameImpl::GetMediaStreamDispatcher() { 1440 MediaStreamDispatcher* RenderFrameImpl::GetMediaStreamDispatcher() {
1441 if (!web_user_media_client_) 1441 if (!web_user_media_client_)
1442 InitializeUserMediaClient(); 1442 InitializeUserMediaClient();
1443 return web_user_media_client_ 1443 return web_user_media_client_
1444 ? web_user_media_client_->media_stream_dispatcher() 1444 ? web_user_media_client_->media_stream_dispatcher()
1445 : nullptr; 1445 : nullptr;
1446 } 1446 }
1447 1447
1448 void RenderFrameImpl::ScriptedPrint(bool user_initiated) { 1448 void RenderFrameImpl::ScriptedPrint(bool user_initiated) {
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
1492 bool handled = true; 1492 bool handled = true;
1493 IPC_BEGIN_MESSAGE_MAP(RenderFrameImpl, msg) 1493 IPC_BEGIN_MESSAGE_MAP(RenderFrameImpl, msg)
1494 IPC_MESSAGE_HANDLER(FrameMsg_Navigate, OnNavigate) 1494 IPC_MESSAGE_HANDLER(FrameMsg_Navigate, OnNavigate)
1495 IPC_MESSAGE_HANDLER(FrameMsg_BeforeUnload, OnBeforeUnload) 1495 IPC_MESSAGE_HANDLER(FrameMsg_BeforeUnload, OnBeforeUnload)
1496 IPC_MESSAGE_HANDLER(FrameMsg_SwapOut, OnSwapOut) 1496 IPC_MESSAGE_HANDLER(FrameMsg_SwapOut, OnSwapOut)
1497 IPC_MESSAGE_HANDLER(FrameMsg_Delete, OnDeleteFrame) 1497 IPC_MESSAGE_HANDLER(FrameMsg_Delete, OnDeleteFrame)
1498 IPC_MESSAGE_HANDLER(FrameMsg_Stop, OnStop) 1498 IPC_MESSAGE_HANDLER(FrameMsg_Stop, OnStop)
1499 IPC_MESSAGE_HANDLER(FrameMsg_ContextMenuClosed, OnContextMenuClosed) 1499 IPC_MESSAGE_HANDLER(FrameMsg_ContextMenuClosed, OnContextMenuClosed)
1500 IPC_MESSAGE_HANDLER(FrameMsg_CustomContextMenuAction, 1500 IPC_MESSAGE_HANDLER(FrameMsg_CustomContextMenuAction,
1501 OnCustomContextMenuAction) 1501 OnCustomContextMenuAction)
1502 #if defined(ENABLE_PLUGINS) 1502 #if BUILDFLAG(ENABLE_PLUGINS)
1503 IPC_MESSAGE_HANDLER(FrameMsg_SetPepperVolume, OnSetPepperVolume) 1503 IPC_MESSAGE_HANDLER(FrameMsg_SetPepperVolume, OnSetPepperVolume)
1504 #endif 1504 #endif
1505 IPC_MESSAGE_HANDLER(InputMsg_Undo, OnUndo) 1505 IPC_MESSAGE_HANDLER(InputMsg_Undo, OnUndo)
1506 IPC_MESSAGE_HANDLER(InputMsg_Redo, OnRedo) 1506 IPC_MESSAGE_HANDLER(InputMsg_Redo, OnRedo)
1507 IPC_MESSAGE_HANDLER(InputMsg_Cut, OnCut) 1507 IPC_MESSAGE_HANDLER(InputMsg_Cut, OnCut)
1508 IPC_MESSAGE_HANDLER(InputMsg_Copy, OnCopy) 1508 IPC_MESSAGE_HANDLER(InputMsg_Copy, OnCopy)
1509 IPC_MESSAGE_HANDLER(InputMsg_Paste, OnPaste) 1509 IPC_MESSAGE_HANDLER(InputMsg_Paste, OnPaste)
1510 IPC_MESSAGE_HANDLER(InputMsg_PasteAndMatchStyle, OnPasteAndMatchStyle) 1510 IPC_MESSAGE_HANDLER(InputMsg_PasteAndMatchStyle, OnPasteAndMatchStyle)
1511 IPC_MESSAGE_HANDLER(InputMsg_Delete, OnDelete) 1511 IPC_MESSAGE_HANDLER(InputMsg_Delete, OnDelete)
1512 IPC_MESSAGE_HANDLER(InputMsg_SelectAll, OnSelectAll) 1512 IPC_MESSAGE_HANDLER(InputMsg_SelectAll, OnSelectAll)
(...skipping 869 matching lines...) Expand 10 before | Expand all | Expand 10 after
2382 } 2382 }
2383 2383
2384 void RenderFrameImpl::DidCommitCompositorFrame() { 2384 void RenderFrameImpl::DidCommitCompositorFrame() {
2385 if (BrowserPluginManager::Get()) 2385 if (BrowserPluginManager::Get())
2386 BrowserPluginManager::Get()->DidCommitCompositorFrame(GetRoutingID()); 2386 BrowserPluginManager::Get()->DidCommitCompositorFrame(GetRoutingID());
2387 for (auto& observer : observers_) 2387 for (auto& observer : observers_)
2388 observer.DidCommitCompositorFrame(); 2388 observer.DidCommitCompositorFrame();
2389 } 2389 }
2390 2390
2391 void RenderFrameImpl::DidCommitAndDrawCompositorFrame() { 2391 void RenderFrameImpl::DidCommitAndDrawCompositorFrame() {
2392 #if defined(ENABLE_PLUGINS) 2392 #if BUILDFLAG(ENABLE_PLUGINS)
2393 // Notify all instances that we painted. The same caveats apply as for 2393 // Notify all instances that we painted. The same caveats apply as for
2394 // ViewFlushedPaint regarding instances closing themselves, so we take 2394 // ViewFlushedPaint regarding instances closing themselves, so we take
2395 // similar precautions. 2395 // similar precautions.
2396 PepperPluginSet plugins = active_pepper_instances_; 2396 PepperPluginSet plugins = active_pepper_instances_;
2397 for (auto* plugin : plugins) { 2397 for (auto* plugin : plugins) {
2398 if (active_pepper_instances_.find(plugin) != active_pepper_instances_.end()) 2398 if (active_pepper_instances_.find(plugin) != active_pepper_instances_.end())
2399 plugin->ViewInitiatedPaint(); 2399 plugin->ViewInitiatedPaint();
2400 } 2400 }
2401 #endif 2401 #endif
2402 } 2402 }
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
2441 DCHECK(pending_context_menus_.Lookup(request_id)); 2441 DCHECK(pending_context_menus_.Lookup(request_id));
2442 pending_context_menus_.Remove(request_id); 2442 pending_context_menus_.Remove(request_id);
2443 } 2443 }
2444 2444
2445 blink::WebPlugin* RenderFrameImpl::CreatePlugin( 2445 blink::WebPlugin* RenderFrameImpl::CreatePlugin(
2446 blink::WebFrame* frame, 2446 blink::WebFrame* frame,
2447 const WebPluginInfo& info, 2447 const WebPluginInfo& info,
2448 const blink::WebPluginParams& params, 2448 const blink::WebPluginParams& params,
2449 std::unique_ptr<content::PluginInstanceThrottler> throttler) { 2449 std::unique_ptr<content::PluginInstanceThrottler> throttler) {
2450 DCHECK_EQ(frame_, frame); 2450 DCHECK_EQ(frame_, frame);
2451 #if defined(ENABLE_PLUGINS) 2451 #if BUILDFLAG(ENABLE_PLUGINS)
2452 if (info.type == WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN) { 2452 if (info.type == WebPluginInfo::PLUGIN_TYPE_BROWSER_PLUGIN) {
2453 return BrowserPluginManager::Get()->CreateBrowserPlugin( 2453 return BrowserPluginManager::Get()->CreateBrowserPlugin(
2454 this, GetContentClient() 2454 this, GetContentClient()
2455 ->renderer() 2455 ->renderer()
2456 ->CreateBrowserPluginDelegate(this, params.mimeType.utf8(), 2456 ->CreateBrowserPluginDelegate(this, params.mimeType.utf8(),
2457 GURL(params.url)) 2457 GURL(params.url))
2458 ->GetWeakPtr()); 2458 ->GetWeakPtr());
2459 } 2459 }
2460 2460
2461 bool pepper_plugin_was_registered = false; 2461 bool pepper_plugin_was_registered = false;
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
2512 } else { 2512 } else {
2513 // In some tests the thread may be null, 2513 // In some tests the thread may be null,
2514 // so set up a self-contained interface provider instead. 2514 // so set up a self-contained interface provider instead.
2515 remote_associated_interfaces_.reset( 2515 remote_associated_interfaces_.reset(
2516 new AssociatedInterfaceProviderImpl()); 2516 new AssociatedInterfaceProviderImpl());
2517 } 2517 }
2518 } 2518 }
2519 return remote_associated_interfaces_.get(); 2519 return remote_associated_interfaces_.get();
2520 } 2520 }
2521 2521
2522 #if defined(ENABLE_PLUGINS) 2522 #if BUILDFLAG(ENABLE_PLUGINS)
2523 void RenderFrameImpl::RegisterPeripheralPlugin( 2523 void RenderFrameImpl::RegisterPeripheralPlugin(
2524 const url::Origin& content_origin, 2524 const url::Origin& content_origin,
2525 const base::Closure& unthrottle_callback) { 2525 const base::Closure& unthrottle_callback) {
2526 return plugin_power_saver_helper_->RegisterPeripheralPlugin( 2526 return plugin_power_saver_helper_->RegisterPeripheralPlugin(
2527 content_origin, unthrottle_callback); 2527 content_origin, unthrottle_callback);
2528 } 2528 }
2529 2529
2530 RenderFrame::PeripheralContentStatus 2530 RenderFrame::PeripheralContentStatus
2531 RenderFrameImpl::GetPeripheralContentStatus( 2531 RenderFrameImpl::GetPeripheralContentStatus(
2532 const url::Origin& main_frame_origin, 2532 const url::Origin& main_frame_origin,
2533 const url::Origin& content_origin, 2533 const url::Origin& content_origin,
2534 const gfx::Size& unobscured_size, 2534 const gfx::Size& unobscured_size,
2535 RecordPeripheralDecision record_decision) const { 2535 RecordPeripheralDecision record_decision) const {
2536 return plugin_power_saver_helper_->GetPeripheralContentStatus( 2536 return plugin_power_saver_helper_->GetPeripheralContentStatus(
2537 main_frame_origin, content_origin, unobscured_size, record_decision); 2537 main_frame_origin, content_origin, unobscured_size, record_decision);
2538 } 2538 }
2539 2539
2540 void RenderFrameImpl::WhitelistContentOrigin( 2540 void RenderFrameImpl::WhitelistContentOrigin(
2541 const url::Origin& content_origin) { 2541 const url::Origin& content_origin) {
2542 return plugin_power_saver_helper_->WhitelistContentOrigin(content_origin); 2542 return plugin_power_saver_helper_->WhitelistContentOrigin(content_origin);
2543 } 2543 }
2544 2544
2545 void RenderFrameImpl::DidStartLoading() { 2545 void RenderFrameImpl::DidStartLoading() {
2546 didStartLoading(true); 2546 didStartLoading(true);
2547 } 2547 }
2548 2548
2549 void RenderFrameImpl::DidStopLoading() { 2549 void RenderFrameImpl::DidStopLoading() {
2550 didStopLoading(); 2550 didStopLoading();
2551 } 2551 }
2552 #endif // defined(ENABLE_PLUGINS) 2552 #endif // BUILDFLAG(ENABLE_PLUGINS)
2553 2553
2554 bool RenderFrameImpl::IsFTPDirectoryListing() { 2554 bool RenderFrameImpl::IsFTPDirectoryListing() {
2555 WebURLResponseExtraDataImpl* extra_data = 2555 WebURLResponseExtraDataImpl* extra_data =
2556 GetExtraDataFromResponse(frame_->dataSource()->response()); 2556 GetExtraDataFromResponse(frame_->dataSource()->response());
2557 return extra_data ? extra_data->is_ftp_directory_listing() : false; 2557 return extra_data ? extra_data->is_ftp_directory_listing() : false;
2558 } 2558 }
2559 2559
2560 void RenderFrameImpl::AttachGuest(int element_instance_id) { 2560 void RenderFrameImpl::AttachGuest(int element_instance_id) {
2561 BrowserPluginManager::Get()->Attach(element_instance_id); 2561 BrowserPluginManager::Get()->Attach(element_instance_id);
2562 } 2562 }
(...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after
2679 if (base::UTF16ToUTF8(base::StringPiece16(params.mimeType)) == 2679 if (base::UTF16ToUTF8(base::StringPiece16(params.mimeType)) ==
2680 kBrowserPluginMimeType) { 2680 kBrowserPluginMimeType) {
2681 return BrowserPluginManager::Get()->CreateBrowserPlugin( 2681 return BrowserPluginManager::Get()->CreateBrowserPlugin(
2682 this, GetContentClient() 2682 this, GetContentClient()
2683 ->renderer() 2683 ->renderer()
2684 ->CreateBrowserPluginDelegate(this, kBrowserPluginMimeType, 2684 ->CreateBrowserPluginDelegate(this, kBrowserPluginMimeType,
2685 GURL(params.url)) 2685 GURL(params.url))
2686 ->GetWeakPtr()); 2686 ->GetWeakPtr());
2687 } 2687 }
2688 2688
2689 #if defined(ENABLE_PLUGINS) 2689 #if BUILDFLAG(ENABLE_PLUGINS)
2690 WebPluginInfo info; 2690 WebPluginInfo info;
2691 std::string mime_type; 2691 std::string mime_type;
2692 bool found = false; 2692 bool found = false;
2693 Send(new FrameHostMsg_GetPluginInfo( 2693 Send(new FrameHostMsg_GetPluginInfo(
2694 routing_id_, params.url, frame->top()->getSecurityOrigin(), 2694 routing_id_, params.url, frame->top()->getSecurityOrigin(),
2695 params.mimeType.utf8(), &found, &info, &mime_type)); 2695 params.mimeType.utf8(), &found, &info, &mime_type));
2696 if (!found) 2696 if (!found)
2697 return NULL; 2697 return NULL;
2698 2698
2699 WebPluginParams params_to_use = params; 2699 WebPluginParams params_to_use = params;
2700 params_to_use.mimeType = WebString::fromUTF8(mime_type); 2700 params_to_use.mimeType = WebString::fromUTF8(mime_type);
2701 return CreatePlugin(frame, info, params_to_use, nullptr /* throttler */); 2701 return CreatePlugin(frame, info, params_to_use, nullptr /* throttler */);
2702 #else 2702 #else
2703 return NULL; 2703 return NULL;
2704 #endif // defined(ENABLE_PLUGINS) 2704 #endif // BUILDFLAG(ENABLE_PLUGINS)
2705 } 2705 }
2706 2706
2707 #if BUILDFLAG(ENABLE_MEDIA_REMOTING) 2707 #if BUILDFLAG(ENABLE_MEDIA_REMOTING)
2708 std::unique_ptr<media::RemotingRendererController> 2708 std::unique_ptr<media::RemotingRendererController>
2709 RenderFrameImpl::CreateRemotingRendererController() { 2709 RenderFrameImpl::CreateRemotingRendererController() {
2710 media::mojom::RemotingSourcePtr remoting_source; 2710 media::mojom::RemotingSourcePtr remoting_source;
2711 media::mojom::RemotingSourceRequest remoting_source_request = 2711 media::mojom::RemotingSourceRequest remoting_source_request =
2712 mojo::GetProxy(&remoting_source); 2712 mojo::GetProxy(&remoting_source);
2713 media::mojom::RemoterPtr remoter; 2713 media::mojom::RemoterPtr remoter;
2714 GetRemoterFactory()->Create(std::move(remoting_source), 2714 GetRemoterFactory()->Create(std::move(remoting_source),
(...skipping 288 matching lines...) Expand 10 before | Expand all | Expand 10 after
3003 Send(new FrameHostMsg_DidChangeOpener(routing_id_, opener_routing_id)); 3003 Send(new FrameHostMsg_DidChangeOpener(routing_id_, opener_routing_id));
3004 } 3004 }
3005 3005
3006 void RenderFrameImpl::frameDetached(blink::WebLocalFrame* frame, 3006 void RenderFrameImpl::frameDetached(blink::WebLocalFrame* frame,
3007 DetachType type) { 3007 DetachType type) {
3008 // NOTE: This function is called on the frame that is being detached and not 3008 // NOTE: This function is called on the frame that is being detached and not
3009 // the parent frame. This is different from createChildFrame() which is 3009 // the parent frame. This is different from createChildFrame() which is
3010 // called on the parent frame. 3010 // called on the parent frame.
3011 DCHECK_EQ(frame_, frame); 3011 DCHECK_EQ(frame_, frame);
3012 3012
3013 #if defined(ENABLE_PLUGINS) 3013 #if BUILDFLAG(ENABLE_PLUGINS)
3014 if (focused_pepper_plugin_) 3014 if (focused_pepper_plugin_)
3015 GetRenderWidget()->set_focused_pepper_plugin(nullptr); 3015 GetRenderWidget()->set_focused_pepper_plugin(nullptr);
3016 #endif 3016 #endif
3017 3017
3018 for (auto& observer : observers_) 3018 for (auto& observer : observers_)
3019 observer.FrameDetached(); 3019 observer.FrameDetached();
3020 for (auto& observer : render_view_->observers()) 3020 for (auto& observer : render_view_->observers())
3021 observer.FrameDetached(frame); 3021 observer.FrameDetached(frame);
3022 3022
3023 // Send a state update before the frame is detached. 3023 // Send a state update before the frame is detached.
(...skipping 1614 matching lines...) Expand 10 before | Expand all | Expand 10 after
4638 } 4638 }
4639 4639
4640 for (auto& observer : observers_) 4640 for (auto& observer : observers_)
4641 observer.OnStop(); 4641 observer.OnStop();
4642 } 4642 }
4643 4643
4644 void RenderFrameImpl::WasHidden() { 4644 void RenderFrameImpl::WasHidden() {
4645 for (auto& observer : observers_) 4645 for (auto& observer : observers_)
4646 observer.WasHidden(); 4646 observer.WasHidden();
4647 4647
4648 #if defined(ENABLE_PLUGINS) 4648 #if BUILDFLAG(ENABLE_PLUGINS)
4649 for (auto* plugin : active_pepper_instances_) 4649 for (auto* plugin : active_pepper_instances_)
4650 plugin->PageVisibilityChanged(false); 4650 plugin->PageVisibilityChanged(false);
4651 #endif // ENABLE_PLUGINS 4651 #endif // ENABLE_PLUGINS
4652 4652
4653 if (GetWebFrame()->frameWidget()) { 4653 if (GetWebFrame()->frameWidget()) {
4654 GetWebFrame()->frameWidget()->setVisibilityState(visibilityState()); 4654 GetWebFrame()->frameWidget()->setVisibilityState(visibilityState());
4655 } 4655 }
4656 } 4656 }
4657 4657
4658 void RenderFrameImpl::WasShown() { 4658 void RenderFrameImpl::WasShown() {
4659 for (auto& observer : observers_) 4659 for (auto& observer : observers_)
4660 observer.WasShown(); 4660 observer.WasShown();
4661 4661
4662 #if defined(ENABLE_PLUGINS) 4662 #if BUILDFLAG(ENABLE_PLUGINS)
4663 for (auto* plugin : active_pepper_instances_) 4663 for (auto* plugin : active_pepper_instances_)
4664 plugin->PageVisibilityChanged(true); 4664 plugin->PageVisibilityChanged(true);
4665 #endif // ENABLE_PLUGINS 4665 #endif // ENABLE_PLUGINS
4666 4666
4667 if (GetWebFrame()->frameWidget()) { 4667 if (GetWebFrame()->frameWidget()) {
4668 GetWebFrame()->frameWidget()->setVisibilityState(visibilityState()); 4668 GetWebFrame()->frameWidget()->setVisibilityState(visibilityState());
4669 } 4669 }
4670 } 4670 }
4671 4671
4672 void RenderFrameImpl::WidgetWillClose() { 4672 void RenderFrameImpl::WidgetWillClose() {
(...skipping 1229 matching lines...) Expand 10 before | Expand all | Expand 10 after
5902 const std::string& encoding_name) { 5902 const std::string& encoding_name) {
5903 // Only update main frame's encoding_name. 5903 // Only update main frame's encoding_name.
5904 if (!frame->parent()) 5904 if (!frame->parent())
5905 Send(new FrameHostMsg_UpdateEncoding(routing_id_, encoding_name)); 5905 Send(new FrameHostMsg_UpdateEncoding(routing_id_, encoding_name));
5906 } 5906 }
5907 5907
5908 void RenderFrameImpl::SyncSelectionIfRequired() { 5908 void RenderFrameImpl::SyncSelectionIfRequired() {
5909 base::string16 text; 5909 base::string16 text;
5910 size_t offset; 5910 size_t offset;
5911 gfx::Range range; 5911 gfx::Range range;
5912 #if defined(ENABLE_PLUGINS) 5912 #if BUILDFLAG(ENABLE_PLUGINS)
5913 if (focused_pepper_plugin_) { 5913 if (focused_pepper_plugin_) {
5914 focused_pepper_plugin_->GetSurroundingText(&text, &range); 5914 focused_pepper_plugin_->GetSurroundingText(&text, &range);
5915 offset = 0; // Pepper API does not support offset reporting. 5915 offset = 0; // Pepper API does not support offset reporting.
5916 // TODO(kinaba): cut as needed. 5916 // TODO(kinaba): cut as needed.
5917 } else 5917 } else
5918 #endif 5918 #endif
5919 { 5919 {
5920 WebRange selection = 5920 WebRange selection =
5921 GetRenderWidget()->GetWebWidget()->caretOrSelectionRange(); 5921 GetRenderWidget()->GetWebWidget()->caretOrSelectionRange();
5922 if (selection.isNull()) 5922 if (selection.isNull())
(...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after
6410 media::DecoderFactory* RenderFrameImpl::GetDecoderFactory() { 6410 media::DecoderFactory* RenderFrameImpl::GetDecoderFactory() {
6411 #if defined(ENABLE_MOJO_AUDIO_DECODER) || defined(ENABLE_MOJO_VIDEO_DECODER) 6411 #if defined(ENABLE_MOJO_AUDIO_DECODER) || defined(ENABLE_MOJO_VIDEO_DECODER)
6412 if (!decoder_factory_) { 6412 if (!decoder_factory_) {
6413 decoder_factory_.reset( 6413 decoder_factory_.reset(
6414 new media::MojoDecoderFactory(GetMediaInterfaceProvider())); 6414 new media::MojoDecoderFactory(GetMediaInterfaceProvider()));
6415 } 6415 }
6416 #endif 6416 #endif
6417 return decoder_factory_.get(); 6417 return decoder_factory_.get();
6418 } 6418 }
6419 6419
6420 #if defined(ENABLE_PLUGINS) 6420 #if BUILDFLAG(ENABLE_PLUGINS)
6421 void RenderFrameImpl::HandlePepperImeCommit(const base::string16& text) { 6421 void RenderFrameImpl::HandlePepperImeCommit(const base::string16& text) {
6422 if (text.empty()) 6422 if (text.empty())
6423 return; 6423 return;
6424 6424
6425 if (!IsPepperAcceptingCompositionEvents()) { 6425 if (!IsPepperAcceptingCompositionEvents()) {
6426 // For pepper plugins unable to handle IME events, send the plugin a 6426 // For pepper plugins unable to handle IME events, send the plugin a
6427 // sequence of characters instead. 6427 // sequence of characters instead.
6428 base::i18n::UTF16CharIterator iterator(&text); 6428 base::i18n::UTF16CharIterator iterator(&text);
6429 int32_t i = 0; 6429 int32_t i = 0;
6430 while (iterator.Advance()) { 6430 while (iterator.Advance()) {
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after
6522 } 6522 }
6523 6523
6524 bool RenderFrameImpl::IsBrowserSideNavigationPending() { 6524 bool RenderFrameImpl::IsBrowserSideNavigationPending() {
6525 return browser_side_navigation_pending_; 6525 return browser_side_navigation_pending_;
6526 } 6526 }
6527 6527
6528 blink::WebPlugin* RenderFrameImpl::GetWebPluginForFind() { 6528 blink::WebPlugin* RenderFrameImpl::GetWebPluginForFind() {
6529 if (frame_->document().isPluginDocument()) 6529 if (frame_->document().isPluginDocument())
6530 return frame_->document().to<WebPluginDocument>().plugin(); 6530 return frame_->document().to<WebPluginDocument>().plugin();
6531 6531
6532 #if defined(ENABLE_PLUGINS) 6532 #if BUILDFLAG(ENABLE_PLUGINS)
6533 if (plugin_find_handler_) 6533 if (plugin_find_handler_)
6534 return plugin_find_handler_->container()->plugin(); 6534 return plugin_find_handler_->container()->plugin();
6535 #endif 6535 #endif
6536 6536
6537 return nullptr; 6537 return nullptr;
6538 } 6538 }
6539 6539
6540 void RenderFrameImpl::SendFindReply(int request_id, 6540 void RenderFrameImpl::SendFindReply(int request_id,
6541 int match_count, 6541 int match_count,
6542 int ordinal, 6542 int ordinal,
6543 const WebRect& selection_rect, 6543 const WebRect& selection_rect,
6544 bool final_status_update) { 6544 bool final_status_update) {
6545 if (final_status_update && !ordinal) 6545 if (final_status_update && !ordinal)
6546 frame_->executeCommand(WebString::fromUTF8("Unselect")); 6546 frame_->executeCommand(WebString::fromUTF8("Unselect"));
6547 DCHECK(ordinal >= -1); 6547 DCHECK(ordinal >= -1);
6548 6548
6549 Send(new FrameHostMsg_Find_Reply(routing_id_, 6549 Send(new FrameHostMsg_Find_Reply(routing_id_,
6550 request_id, 6550 request_id,
6551 match_count, 6551 match_count,
6552 selection_rect, 6552 selection_rect,
6553 ordinal, 6553 ordinal,
6554 final_status_update)); 6554 final_status_update));
6555 } 6555 }
6556 6556
6557 #if defined(ENABLE_PLUGINS) 6557 #if BUILDFLAG(ENABLE_PLUGINS)
6558 void RenderFrameImpl::PepperInstanceCreated( 6558 void RenderFrameImpl::PepperInstanceCreated(
6559 PepperPluginInstanceImpl* instance) { 6559 PepperPluginInstanceImpl* instance) {
6560 active_pepper_instances_.insert(instance); 6560 active_pepper_instances_.insert(instance);
6561 6561
6562 Send(new FrameHostMsg_PepperInstanceCreated( 6562 Send(new FrameHostMsg_PepperInstanceCreated(
6563 routing_id_, instance->pp_instance())); 6563 routing_id_, instance->pp_instance()));
6564 } 6564 }
6565 6565
6566 void RenderFrameImpl::PepperInstanceDeleted( 6566 void RenderFrameImpl::PepperInstanceDeleted(
6567 PepperPluginInstanceImpl* instance) { 6567 PepperPluginInstanceImpl* instance) {
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
6617 6617
6618 void RenderFrameImpl::OnSetPepperVolume(int32_t pp_instance, double volume) { 6618 void RenderFrameImpl::OnSetPepperVolume(int32_t pp_instance, double volume) {
6619 PepperPluginInstanceImpl* instance = static_cast<PepperPluginInstanceImpl*>( 6619 PepperPluginInstanceImpl* instance = static_cast<PepperPluginInstanceImpl*>(
6620 PepperPluginInstance::Get(pp_instance)); 6620 PepperPluginInstance::Get(pp_instance));
6621 if (instance) 6621 if (instance)
6622 instance->audio_controller().SetVolume(volume); 6622 instance->audio_controller().SetVolume(volume);
6623 } 6623 }
6624 #endif // ENABLE_PLUGINS 6624 #endif // ENABLE_PLUGINS
6625 6625
6626 void RenderFrameImpl::RenderWidgetSetFocus(bool enable) { 6626 void RenderFrameImpl::RenderWidgetSetFocus(bool enable) {
6627 #if defined(ENABLE_PLUGINS) 6627 #if BUILDFLAG(ENABLE_PLUGINS)
6628 // Notify all Pepper plugins. 6628 // Notify all Pepper plugins.
6629 for (auto* plugin : active_pepper_instances_) 6629 for (auto* plugin : active_pepper_instances_)
6630 plugin->SetContentAreaFocus(enable); 6630 plugin->SetContentAreaFocus(enable);
6631 #endif 6631 #endif
6632 } 6632 }
6633 6633
6634 void RenderFrameImpl::RenderWidgetWillHandleMouseEvent() { 6634 void RenderFrameImpl::RenderWidgetWillHandleMouseEvent() {
6635 #if defined(ENABLE_PLUGINS) 6635 #if BUILDFLAG(ENABLE_PLUGINS)
6636 // This method is called for every mouse event that the RenderWidget receives. 6636 // This method is called for every mouse event that the RenderWidget receives.
6637 // And then the mouse event is forwarded to blink, which dispatches it to the 6637 // And then the mouse event is forwarded to blink, which dispatches it to the
6638 // event target. Potentially a Pepper plugin will receive the event. 6638 // event target. Potentially a Pepper plugin will receive the event.
6639 // In order to tell whether a plugin gets the last mouse event and which it 6639 // In order to tell whether a plugin gets the last mouse event and which it
6640 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets 6640 // is, we set |pepper_last_mouse_event_target_| to null here. If a plugin gets
6641 // the event, it will notify us via DidReceiveMouseEvent() and set itself as 6641 // the event, it will notify us via DidReceiveMouseEvent() and set itself as
6642 // |pepper_last_mouse_event_target_|. 6642 // |pepper_last_mouse_event_target_|.
6643 pepper_last_mouse_event_target_ = nullptr; 6643 pepper_last_mouse_event_target_ = nullptr;
6644 #endif 6644 #endif
6645 } 6645 }
6646 6646
6647 } // namespace content 6647 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/render_frame_impl.h ('k') | content/renderer/render_thread_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698