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

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

Issue 21192002: Remove more methods from PluginDelegate. Some I moved the implementationto the callers. For others,… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 4 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"
21 #include "content/renderer/pepper/pepper_browser_connection.h" 20 #include "content/renderer/pepper/pepper_browser_connection.h"
22 #include "content/renderer/pepper/plugin_delegate.h" 21 #include "content/renderer/pepper/plugin_delegate.h"
23 #include "content/renderer/render_view_pepper_helper.h" 22 #include "content/renderer/render_view_pepper_helper.h"
24 #include "ppapi/c/pp_file_info.h" 23 #include "ppapi/c/pp_file_info.h"
24 #include "ppapi/c/ppb_tcp_socket.h"
25 #include "ppapi/c/private/ppb_tcp_socket_private.h"
25 #include "ppapi/shared_impl/private/ppb_tcp_server_socket_shared.h" 26 #include "ppapi/shared_impl/private/ppb_tcp_server_socket_shared.h"
26 #include "ppapi/shared_impl/private/tcp_socket_private_impl.h" 27 #include "ppapi/shared_impl/private/tcp_socket_private_impl.h"
27 #include "ui/base/ime/text_input_type.h" 28 #include "ui/base/ime/text_input_type.h"
28 29
29 namespace base { 30 namespace base {
30 class FilePath; 31 class FilePath;
31 } 32 }
32 33
33 namespace ppapi { 34 namespace ppapi {
34 class PepperFilePath; 35 class PepperFilePath;
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
69 70
70 // A pointer is returned immediately, but it is not ready to be used until 71 // A pointer is returned immediately, but it is not ready to be used until
71 // BrokerConnected has been called. 72 // BrokerConnected has been called.
72 // The caller is responsible for calling Disconnect() on the returned pointer 73 // The caller is responsible for calling Disconnect() on the returned pointer
73 // to clean up the corresponding resources allocated during this call. 74 // to clean up the corresponding resources allocated during this call.
74 PepperBroker* ConnectToBroker(PPB_Broker_Impl* client); 75 PepperBroker* ConnectToBroker(PPB_Broker_Impl* client);
75 76
76 // Removes broker from pending_connect_broker_ if present. Returns true if so. 77 // Removes broker from pending_connect_broker_ if present. Returns true if so.
77 bool StopWaitingForBrokerConnection(PepperBroker* broker); 78 bool StopWaitingForBrokerConnection(PepperBroker* broker);
78 79
79 CONTENT_EXPORT int GetRoutingID() const; 80 void RegisterTCPSocket(PPB_TCPSocket_Private_Impl* socket, uint32 socket_id);
81 void UnregisterTCPSocket(uint32 socket_id);
82 void TCPServerSocketStopListening(uint32 socket_id);
83
84 // Notifies that |instance| has changed the cursor.
85 // This will update the cursor appearance if it is currently over the plugin
86 // instance.
87 void DidChangeCursor(PepperPluginInstanceImpl* instance,
88 const WebKit::WebCursorInfo& cursor);
89
90 // Notifies that |instance| has received a mouse event.
91 void DidReceiveMouseEvent(PepperPluginInstanceImpl* instance);
80 92
81 private: 93 private:
82 // RenderViewPepperHelper implementation. 94 // RenderViewPepperHelper implementation.
83 virtual WebKit::WebPlugin* CreatePepperWebPlugin( 95 virtual WebKit::WebPlugin* CreatePepperWebPlugin(
84 const WebPluginInfo& webplugin_info, 96 const WebPluginInfo& webplugin_info,
85 const WebKit::WebPluginParams& params) OVERRIDE; 97 const WebKit::WebPluginParams& params) OVERRIDE;
86 virtual void ViewWillInitiatePaint() OVERRIDE; 98 virtual void ViewWillInitiatePaint() OVERRIDE;
87 virtual void ViewInitiatedPaint() OVERRIDE; 99 virtual void ViewInitiatedPaint() OVERRIDE;
88 virtual void ViewFlushedPaint() OVERRIDE; 100 virtual void ViewFlushedPaint() OVERRIDE;
89 virtual PepperPluginInstanceImpl* GetBitmapForOptimizedPluginPaint( 101 virtual PepperPluginInstanceImpl* GetBitmapForOptimizedPluginPaint(
(...skipping 23 matching lines...) Expand all
113 virtual void PluginFocusChanged(PepperPluginInstanceImpl* instance, 125 virtual void PluginFocusChanged(PepperPluginInstanceImpl* instance,
114 bool focused) OVERRIDE; 126 bool focused) OVERRIDE;
115 virtual void PluginTextInputTypeChanged( 127 virtual void PluginTextInputTypeChanged(
116 PepperPluginInstanceImpl* instance) OVERRIDE; 128 PepperPluginInstanceImpl* instance) OVERRIDE;
117 virtual void PluginCaretPositionChanged( 129 virtual void PluginCaretPositionChanged(
118 PepperPluginInstanceImpl* instance) OVERRIDE; 130 PepperPluginInstanceImpl* instance) OVERRIDE;
119 virtual void PluginRequestedCancelComposition( 131 virtual void PluginRequestedCancelComposition(
120 PepperPluginInstanceImpl* instance) OVERRIDE; 132 PepperPluginInstanceImpl* instance) OVERRIDE;
121 virtual void PluginSelectionChanged( 133 virtual void PluginSelectionChanged(
122 PepperPluginInstanceImpl* instance) OVERRIDE; 134 PepperPluginInstanceImpl* instance) OVERRIDE;
123 virtual void PluginCrashed(PepperPluginInstanceImpl* instance) OVERRIDE;
124 virtual void InstanceCreated(PepperPluginInstanceImpl* instance) OVERRIDE; 135 virtual void InstanceCreated(PepperPluginInstanceImpl* instance) OVERRIDE;
125 virtual void InstanceDeleted(PepperPluginInstanceImpl* instance) OVERRIDE; 136 virtual void InstanceDeleted(PepperPluginInstanceImpl* instance) OVERRIDE;
126 virtual bool AsyncOpenFile(const base::FilePath& path, 137 virtual bool AsyncOpenFile(const base::FilePath& path,
127 int flags, 138 int flags,
128 const AsyncOpenFileCallback& callback) OVERRIDE; 139 const AsyncOpenFileCallback& callback) OVERRIDE;
129 virtual scoped_refptr<base::MessageLoopProxy> 140 virtual scoped_refptr<base::MessageLoopProxy>
130 GetFileThreadMessageLoopProxy() OVERRIDE; 141 GetFileThreadMessageLoopProxy() OVERRIDE;
131 virtual uint32 TCPSocketCreate() OVERRIDE;
132 virtual void TCPSocketConnect(PPB_TCPSocket_Private_Impl* socket,
133 uint32 socket_id,
134 const std::string& host,
135 uint16_t port) OVERRIDE;
136 virtual void TCPSocketConnectWithNetAddress(
137 PPB_TCPSocket_Private_Impl* socket,
138 uint32 socket_id,
139 const PP_NetAddress_Private& addr) OVERRIDE;
140 virtual void TCPSocketSSLHandshake(
141 uint32 socket_id,
142 const std::string& server_name,
143 uint16_t server_port,
144 const std::vector<std::vector<char> >& trusted_certs,
145 const std::vector<std::vector<char> >& untrusted_certs) OVERRIDE;
146 virtual void TCPSocketRead(uint32 socket_id, int32_t bytes_to_read) OVERRIDE;
147 virtual void TCPSocketWrite(uint32 socket_id,
148 const std::string& buffer) OVERRIDE;
149 virtual void TCPSocketDisconnect(uint32 socket_id) OVERRIDE;
150 virtual void TCPSocketSetOption(
151 uint32 socket_id,
152 PP_TCPSocket_Option name,
153 const ppapi::SocketOptionData& value) OVERRIDE;
154 virtual void RegisterTCPSocket(PPB_TCPSocket_Private_Impl* socket,
155 uint32 socket_id) OVERRIDE;
156 virtual void TCPServerSocketListen(
157 PP_Resource socket_resource,
158 const PP_NetAddress_Private& addr,
159 int32_t backlog) OVERRIDE;
160 virtual void TCPServerSocketAccept(uint32 server_socket_id) OVERRIDE;
161 virtual void TCPServerSocketStopListening(
162 PP_Resource socket_resource,
163 uint32 socket_id) OVERRIDE;
164 virtual bool LockMouse(PepperPluginInstanceImpl* instance) OVERRIDE;
165 virtual void UnlockMouse(PepperPluginInstanceImpl* instance) OVERRIDE;
166 virtual bool IsMouseLocked(PepperPluginInstanceImpl* instance) OVERRIDE;
167 virtual void DidChangeCursor(PepperPluginInstanceImpl* instance,
168 const WebKit::WebCursorInfo& cursor) OVERRIDE;
169 virtual void DidReceiveMouseEvent(
170 PepperPluginInstanceImpl* instance) OVERRIDE;
171 virtual void SampleGamepads(WebKit::WebGamepads* data) OVERRIDE; 142 virtual void SampleGamepads(WebKit::WebGamepads* data) OVERRIDE;
172 virtual void HandleDocumentLoad( 143 virtual void HandleDocumentLoad(
173 PepperPluginInstanceImpl* instance, 144 PepperPluginInstanceImpl* instance,
174 const WebKit::WebURLResponse& response) OVERRIDE; 145 const WebKit::WebURLResponse& response) OVERRIDE;
175 virtual RendererPpapiHost* CreateExternalPluginModule( 146 virtual RendererPpapiHost* CreateExternalPluginModule(
176 scoped_refptr<PluginModule> module, 147 scoped_refptr<PluginModule> module,
177 const base::FilePath& path, 148 const base::FilePath& path,
178 ::ppapi::PpapiPermissions permissions, 149 ::ppapi::PpapiPermissions permissions,
179 const IPC::ChannelHandle& channel_handle, 150 const IPC::ChannelHandle& channel_handle,
180 base::ProcessId plugin_pid, 151 base::ProcessId plugin_pid,
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
242 // and perform other common initialization. 213 // and perform other common initialization.
243 RendererPpapiHost* CreateOutOfProcessModule( 214 RendererPpapiHost* CreateOutOfProcessModule(
244 PluginModule* module, 215 PluginModule* module,
245 const base::FilePath& path, 216 const base::FilePath& path,
246 ppapi::PpapiPermissions permissions, 217 ppapi::PpapiPermissions permissions,
247 const IPC::ChannelHandle& channel_handle, 218 const IPC::ChannelHandle& channel_handle,
248 base::ProcessId plugin_pid, 219 base::ProcessId plugin_pid,
249 int plugin_child_id, 220 int plugin_child_id,
250 bool is_external); 221 bool is_external);
251 222
252 MouseLockDispatcher::LockTarget* GetOrCreateLockTargetAdapter(
253 PepperPluginInstanceImpl* instance);
254 void UnSetAndDeleteLockTargetAdapter(PepperPluginInstanceImpl* instance);
255
256 MouseLockDispatcher* GetMouseLockDispatcher(
257 PepperPluginInstanceImpl* instance);
258
259 // Pointer to the RenderView that owns us. 223 // Pointer to the RenderView that owns us.
260 RenderViewImpl* render_view_; 224 RenderViewImpl* render_view_;
261 225
262 // Connection for sending and receiving pepper host-related messages to/from 226 // Connection for sending and receiving pepper host-related messages to/from
263 // the browser. 227 // the browser.
264 PepperBrowserConnection pepper_browser_connection_; 228 PepperBrowserConnection pepper_browser_connection_;
265 229
266 std::set<PepperPluginInstanceImpl*> active_instances_; 230 std::set<PepperPluginInstanceImpl*> active_instances_;
267 typedef std::map<PepperPluginInstanceImpl*,
268 MouseLockDispatcher::LockTarget*> LockTargetMap;
269 LockTargetMap mouse_lock_instances_;
270 231
271 IDMap<AsyncOpenFileCallback> pending_async_open_files_; 232 IDMap<AsyncOpenFileCallback> pending_async_open_files_;
272 233
273 IDMap<PPB_TCPSocket_Private_Impl> tcp_sockets_; 234 IDMap<PPB_TCPSocket_Private_Impl> tcp_sockets_;
274 235
275 IDMap<ppapi::PPB_TCPServerSocket_Shared> tcp_server_sockets_; 236 IDMap<ppapi::PPB_TCPServerSocket_Shared> tcp_server_sockets_;
276 237
277 typedef IDMap<scoped_refptr<PepperBroker>, IDMapOwnPointer> BrokerMap; 238 typedef IDMap<scoped_refptr<PepperBroker>, IDMapOwnPointer> BrokerMap;
278 BrokerMap pending_connect_broker_; 239 BrokerMap pending_connect_broker_;
279 240
(...skipping 16 matching lines...) Expand all
296 scoped_ptr<GamepadSharedMemoryReader> gamepad_shared_memory_reader_; 257 scoped_ptr<GamepadSharedMemoryReader> gamepad_shared_memory_reader_;
297 258
298 scoped_refptr<ContextProviderCommandBuffer> offscreen_context3d_; 259 scoped_refptr<ContextProviderCommandBuffer> offscreen_context3d_;
299 260
300 DISALLOW_COPY_AND_ASSIGN(PepperPluginDelegateImpl); 261 DISALLOW_COPY_AND_ASSIGN(PepperPluginDelegateImpl);
301 }; 262 };
302 263
303 } // namespace content 264 } // namespace content
304 265
305 #endif // CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_DELEGATE_IMPL_H_ 266 #endif // CONTENT_RENDERER_PEPPER_PEPPER_PLUGIN_DELEGATE_IMPL_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698