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

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

Issue 15947004: Allow renderer to create pepper ResourceHosts in the browser (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 6 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 #ifndef CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_DELEGATE_IMPL_H_ 5 #ifndef CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_DELEGATE_IMPL_H_
6 #define CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_DELEGATE_IMPL_H_ 6 #define CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_DELEGATE_IMPL_H_
7 7
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
11 #include <vector> 11 #include <vector>
12 12
13 #include "base/basictypes.h" 13 #include "base/basictypes.h"
14 #include "base/id_map.h" 14 #include "base/id_map.h"
15 #include "base/memory/ref_counted.h" 15 #include "base/memory/ref_counted.h"
16 #include "base/memory/scoped_ptr.h" 16 #include "base/memory/scoped_ptr.h"
17 #include "base/memory/weak_ptr.h" 17 #include "base/memory/weak_ptr.h"
18 #include "base/observer_list.h" 18 #include "base/observer_list.h"
19 #include "content/public/renderer/render_view_observer.h" 19 #include "content/public/renderer/render_view_observer.h"
20 #include "content/renderer/mouse_lock_dispatcher.h" 20 #include "content/renderer/mouse_lock_dispatcher.h"
21 #include "content/renderer/pepper/pepper_browser_connection.h"
21 #include "content/renderer/render_view_pepper_helper.h" 22 #include "content/renderer/render_view_pepper_helper.h"
22 #include "ppapi/c/pp_file_info.h" 23 #include "ppapi/c/pp_file_info.h"
23 #include "ppapi/shared_impl/private/ppb_tcp_server_socket_shared.h" 24 #include "ppapi/shared_impl/private/ppb_tcp_server_socket_shared.h"
24 #include "ppapi/shared_impl/private/tcp_socket_private_impl.h" 25 #include "ppapi/shared_impl/private/tcp_socket_private_impl.h"
25 #include "ui/base/ime/text_input_type.h" 26 #include "ui/base/ime/text_input_type.h"
26 #include "webkit/plugins/ppapi/plugin_delegate.h" 27 #include "webkit/plugins/ppapi/plugin_delegate.h"
27 28
28 namespace base { 29 namespace base {
29 class FilePath; 30 class FilePath;
30 } 31 }
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 : public webkit::ppapi::PluginDelegate, 64 : public webkit::ppapi::PluginDelegate,
64 public RenderViewPepperHelper, 65 public RenderViewPepperHelper,
65 public base::SupportsWeakPtr<PepperPluginDelegateImpl>, 66 public base::SupportsWeakPtr<PepperPluginDelegateImpl>,
66 public RenderViewObserver { 67 public RenderViewObserver {
67 public: 68 public:
68 explicit PepperPluginDelegateImpl(RenderViewImpl* render_view); 69 explicit PepperPluginDelegateImpl(RenderViewImpl* render_view);
69 virtual ~PepperPluginDelegateImpl(); 70 virtual ~PepperPluginDelegateImpl();
70 71
71 RenderViewImpl* render_view() { return render_view_; } 72 RenderViewImpl* render_view() { return render_view_; }
72 73
74 PepperBrowserConnection* pepper_browser_connection() {
75 return &pepper_browser_connection_;
76 }
77
73 // Sets up the renderer host and out-of-process proxy for an external plugin 78 // Sets up the renderer host and out-of-process proxy for an external plugin
74 // module. Returns the renderer host, or NULL if it couldn't be created. 79 // module. Returns the renderer host, or NULL if it couldn't be created.
75 RendererPpapiHost* CreateExternalPluginModule( 80 RendererPpapiHost* CreateExternalPluginModule(
76 scoped_refptr<webkit::ppapi::PluginModule> module, 81 scoped_refptr<webkit::ppapi::PluginModule> module,
77 const base::FilePath& path, 82 const base::FilePath& path,
78 ppapi::PpapiPermissions permissions, 83 ppapi::PpapiPermissions permissions,
79 const IPC::ChannelHandle& channel_handle, 84 const IPC::ChannelHandle& channel_handle,
80 base::ProcessId plugin_pid, 85 base::ProcessId plugin_pid,
81 int plugin_child_id); 86 int plugin_child_id);
82 87
(...skipping 321 matching lines...) Expand 10 before | Expand all | Expand 10 after
404 virtual IPC::PlatformFileForTransit ShareHandleWithRemote( 409 virtual IPC::PlatformFileForTransit ShareHandleWithRemote(
405 base::PlatformFile handle, 410 base::PlatformFile handle,
406 base::ProcessId target_process_id, 411 base::ProcessId target_process_id,
407 bool should_close_source) const OVERRIDE; 412 bool should_close_source) const OVERRIDE;
408 413
409 virtual bool IsRunningInProcess(PP_Instance instance) const OVERRIDE; 414 virtual bool IsRunningInProcess(PP_Instance instance) const OVERRIDE;
410 415
411 // Pointer to the RenderView that owns us. 416 // Pointer to the RenderView that owns us.
412 RenderViewImpl* render_view_; 417 RenderViewImpl* render_view_;
413 418
419 // Connection for sending and receiving pepper host-related messages to/from
420 // the browser.
421 PepperBrowserConnection pepper_browser_connection_;
422
414 std::set<webkit::ppapi::PluginInstance*> active_instances_; 423 std::set<webkit::ppapi::PluginInstance*> active_instances_;
415 typedef std::map<webkit::ppapi::PluginInstance*, 424 typedef std::map<webkit::ppapi::PluginInstance*,
416 MouseLockDispatcher::LockTarget*> LockTargetMap; 425 MouseLockDispatcher::LockTarget*> LockTargetMap;
417 LockTargetMap mouse_lock_instances_; 426 LockTargetMap mouse_lock_instances_;
418 427
419 IDMap<AsyncOpenFileCallback> pending_async_open_files_; 428 IDMap<AsyncOpenFileCallback> pending_async_open_files_;
420 429
421 IDMap<webkit::ppapi::PPB_TCPSocket_Private_Impl> tcp_sockets_; 430 IDMap<webkit::ppapi::PPB_TCPSocket_Private_Impl> tcp_sockets_;
422 431
423 IDMap<ppapi::PPB_TCPServerSocket_Shared> tcp_server_sockets_; 432 IDMap<ppapi::PPB_TCPServerSocket_Shared> tcp_server_sockets_;
(...skipping 24 matching lines...) Expand all
448 device_enumeration_event_handler_; 457 device_enumeration_event_handler_;
449 458
450 scoped_refptr<ContextProviderCommandBuffer> offscreen_context3d_; 459 scoped_refptr<ContextProviderCommandBuffer> offscreen_context3d_;
451 460
452 DISALLOW_COPY_AND_ASSIGN(PepperPluginDelegateImpl); 461 DISALLOW_COPY_AND_ASSIGN(PepperPluginDelegateImpl);
453 }; 462 };
454 463
455 } // namespace content 464 } // namespace content
456 465
457 #endif // CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_DELEGATE_IMPL_H_ 466 #endif // CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_DELEGATE_IMPL_H_
OLDNEW
« no previous file with comments | « content/renderer/pepper/pepper_browser_connection.cc ('k') | content/renderer/pepper/pepper_plugin_delegate_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698