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

Side by Side Diff: content/renderer/pepper/pepper_plugin_delegate_impl.cc

Issue 10984094: Hook up PpapiPermissions in more places. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 2 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/pepper/pepper_plugin_delegate_impl.h" 5 #include "content/renderer/pepper/pepper_plugin_delegate_impl.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 #include <cstddef> 8 #include <cstddef>
9 #include <map> 9 #include <map>
10 #include <queue> 10 #include <queue>
(...skipping 13 matching lines...) Expand all
24 #include "content/common/fileapi/file_system_dispatcher.h" 24 #include "content/common/fileapi/file_system_dispatcher.h"
25 #include "content/common/fileapi/file_system_messages.h" 25 #include "content/common/fileapi/file_system_messages.h"
26 #include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h" 26 #include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h"
27 #include "content/common/pepper_messages.h" 27 #include "content/common/pepper_messages.h"
28 #include "content/common/pepper_plugin_registry.h" 28 #include "content/common/pepper_plugin_registry.h"
29 #include "content/common/quota_dispatcher.h" 29 #include "content/common/quota_dispatcher.h"
30 #include "content/common/view_messages.h" 30 #include "content/common/view_messages.h"
31 #include "content/public/common/content_switches.h" 31 #include "content/public/common/content_switches.h"
32 #include "content/public/common/context_menu_params.h" 32 #include "content/public/common/context_menu_params.h"
33 #include "content/public/common/media_stream_request.h" 33 #include "content/public/common/media_stream_request.h"
34 #include "content/public/common/pepper_permissions_config.h"
34 #include "content/public/common/referrer.h" 35 #include "content/public/common/referrer.h"
35 #include "content/public/renderer/content_renderer_client.h" 36 #include "content/public/renderer/content_renderer_client.h"
36 #include "content/public/renderer/renderer_restrict_dispatch_group.h" 37 #include "content/public/renderer/renderer_restrict_dispatch_group.h"
37 #include "content/renderer/browser_plugin/old/browser_plugin_constants.h" 38 #include "content/renderer/browser_plugin/old/browser_plugin_constants.h"
38 #include "content/renderer/browser_plugin/old/browser_plugin_registry.h" 39 #include "content/renderer/browser_plugin/old/browser_plugin_registry.h"
39 #include "content/renderer/gamepad_shared_memory_reader.h" 40 #include "content/renderer/gamepad_shared_memory_reader.h"
40 #include "content/renderer/media/audio_hardware.h" 41 #include "content/renderer/media/audio_hardware.h"
41 #include "content/renderer/media/media_stream_dispatcher.h" 42 #include "content/renderer/media/media_stream_dispatcher.h"
42 #include "content/renderer/media/pepper_platform_video_decoder_impl.h" 43 #include "content/renderer/media/pepper_platform_video_decoder_impl.h"
43 #include "content/renderer/p2p/socket_dispatcher.h" 44 #include "content/renderer/p2p/socket_dispatcher.h"
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 return false; 127 return false;
127 128
128 #if defined(OS_POSIX) 129 #if defined(OS_POSIX)
129 DCHECK_NE(-1, channel_handle.socket.fd); 130 DCHECK_NE(-1, channel_handle.socket.fd);
130 if (channel_handle.socket.fd == -1) 131 if (channel_handle.socket.fd == -1)
131 return false; 132 return false;
132 #endif 133 #endif
133 134
134 dispatcher_delegate_.reset(new PepperProxyChannelDelegateImpl); 135 dispatcher_delegate_.reset(new PepperProxyChannelDelegateImpl);
135 dispatcher_.reset(new ppapi::proxy::HostDispatcher( 136 dispatcher_.reset(new ppapi::proxy::HostDispatcher(
136 module_->pp_module(), local_get_interface, filter)); 137 module_->pp_module(), local_get_interface, filter, permissions_));
137 138
138 if (!dispatcher_->InitHostWithChannel(dispatcher_delegate_.get(), 139 if (!dispatcher_->InitHostWithChannel(dispatcher_delegate_.get(),
139 channel_handle, 140 channel_handle,
140 true, // Client. 141 true, // Client.
141 preferences)) { 142 preferences)) {
142 dispatcher_.reset(); 143 dispatcher_.reset();
143 dispatcher_delegate_.reset(); 144 dispatcher_delegate_.reset();
144 return false; 145 return false;
145 } 146 }
146 dispatcher_->channel()->SetRestrictDispatchChannelGroup( 147 dispatcher_->channel()->SetRestrictDispatchChannelGroup(
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after
362 // be out of process. 363 // be out of process.
363 const PepperPluginInfo* info = 364 const PepperPluginInfo* info =
364 PepperPluginRegistry::GetInstance()->GetInfoForPlugin(webplugin_info); 365 PepperPluginRegistry::GetInstance()->GetInfoForPlugin(webplugin_info);
365 if (!info) { 366 if (!info) {
366 *pepper_plugin_was_registered = false; 367 *pepper_plugin_was_registered = false;
367 return scoped_refptr<webkit::ppapi::PluginModule>(); 368 return scoped_refptr<webkit::ppapi::PluginModule>();
368 } else if (!info->is_out_of_process) { 369 } else if (!info->is_out_of_process) {
369 // In-process plugin not preloaded, it probably couldn't be initialized. 370 // In-process plugin not preloaded, it probably couldn't be initialized.
370 return scoped_refptr<webkit::ppapi::PluginModule>(); 371 return scoped_refptr<webkit::ppapi::PluginModule>();
371 } 372 }
372 ppapi::PpapiPermissions permissions(info->permissions); 373
374 ppapi::PpapiPermissions permissions =
375 content::CreatePepperPermissionsForPlugin(*info);
373 376
374 // Out of process: have the browser start the plugin process for us. 377 // Out of process: have the browser start the plugin process for us.
375 IPC::ChannelHandle channel_handle; 378 IPC::ChannelHandle channel_handle;
376 int plugin_child_id = 0; 379 int plugin_child_id = 0;
377 render_view_->Send(new ViewHostMsg_OpenChannelToPepperPlugin( 380 render_view_->Send(new ViewHostMsg_OpenChannelToPepperPlugin(
378 path, &channel_handle, &plugin_child_id)); 381 path, &channel_handle, &plugin_child_id));
379 if (channel_handle.name.empty()) { 382 if (channel_handle.name.empty()) {
380 // Couldn't be initialized. 383 // Couldn't be initialized.
381 return scoped_refptr<webkit::ppapi::PluginModule>(); 384 return scoped_refptr<webkit::ppapi::PluginModule>();
382 } 385 }
(...skipping 1489 matching lines...) Expand 10 before | Expand all | Expand 10 after
1872 else 1875 else
1873 return render_view_->mouse_lock_dispatcher(); 1876 return render_view_->mouse_lock_dispatcher();
1874 } 1877 }
1875 1878
1876 webkit_glue::ClipboardClient* 1879 webkit_glue::ClipboardClient*
1877 PepperPluginDelegateImpl::CreateClipboardClient() const { 1880 PepperPluginDelegateImpl::CreateClipboardClient() const {
1878 return new RendererClipboardClient; 1881 return new RendererClipboardClient;
1879 } 1882 }
1880 1883
1881 } // namespace content 1884 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698