OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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_PLUGIN_DELEGATE_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_PEPPER_PLUGIN_DELEGATE_IMPL_H_ |
6 #define CONTENT_RENDERER_PEPPER_PLUGIN_DELEGATE_IMPL_H_ | 6 #define CONTENT_RENDERER_PEPPER_PLUGIN_DELEGATE_IMPL_H_ |
7 #pragma once | 7 #pragma once |
8 | 8 |
9 #include <set> | 9 #include <set> |
10 #include <map> | 10 #include <map> |
(...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
255 virtual bool Delete( | 255 virtual bool Delete( |
256 const GURL& path, | 256 const GURL& path, |
257 fileapi::FileSystemCallbackDispatcher* dispatcher) OVERRIDE; | 257 fileapi::FileSystemCallbackDispatcher* dispatcher) OVERRIDE; |
258 virtual bool Rename( | 258 virtual bool Rename( |
259 const GURL& file_path, | 259 const GURL& file_path, |
260 const GURL& new_file_path, | 260 const GURL& new_file_path, |
261 fileapi::FileSystemCallbackDispatcher* dispatcher) OVERRIDE; | 261 fileapi::FileSystemCallbackDispatcher* dispatcher) OVERRIDE; |
262 virtual bool ReadDirectory( | 262 virtual bool ReadDirectory( |
263 const GURL& directory_path, | 263 const GURL& directory_path, |
264 fileapi::FileSystemCallbackDispatcher* dispatcher) OVERRIDE; | 264 fileapi::FileSystemCallbackDispatcher* dispatcher) OVERRIDE; |
265 virtual void PublishPolicy(const std::string& policy_json) OVERRIDE; | |
266 virtual void QueryAvailableSpace( | 265 virtual void QueryAvailableSpace( |
267 const GURL& origin, | 266 const GURL& origin, |
268 quota::StorageType type, | 267 quota::StorageType type, |
269 const AvailableSpaceCallback& callback) OVERRIDE; | 268 const AvailableSpaceCallback& callback) OVERRIDE; |
270 virtual void WillUpdateFile(const GURL& file_path) OVERRIDE; | 269 virtual void WillUpdateFile(const GURL& file_path) OVERRIDE; |
271 virtual void DidUpdateFile(const GURL& file_path, int64_t delta) OVERRIDE; | 270 virtual void DidUpdateFile(const GURL& file_path, int64_t delta) OVERRIDE; |
272 virtual base::PlatformFileError OpenFile( | 271 virtual base::PlatformFileError OpenFile( |
273 const webkit::ppapi::PepperFilePath& path, | 272 const webkit::ppapi::PepperFilePath& path, |
274 int flags, | 273 int flags, |
275 base::PlatformFile* file) OVERRIDE; | 274 base::PlatformFile* file) OVERRIDE; |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 void CompleteShowContextMenu(int request_id, | 316 void CompleteShowContextMenu(int request_id, |
318 bool did_select, | 317 bool did_select, |
319 unsigned action); | 318 unsigned action); |
320 virtual webkit::ppapi::FullscreenContainer* | 319 virtual webkit::ppapi::FullscreenContainer* |
321 CreateFullscreenContainer( | 320 CreateFullscreenContainer( |
322 webkit::ppapi::PluginInstance* instance) OVERRIDE; | 321 webkit::ppapi::PluginInstance* instance) OVERRIDE; |
323 virtual gfx::Size GetScreenSize() OVERRIDE; | 322 virtual gfx::Size GetScreenSize() OVERRIDE; |
324 virtual std::string GetDefaultEncoding() OVERRIDE; | 323 virtual std::string GetDefaultEncoding() OVERRIDE; |
325 virtual void ZoomLimitsChanged(double minimum_factor, double maximum_factor) | 324 virtual void ZoomLimitsChanged(double minimum_factor, double maximum_factor) |
326 OVERRIDE; | 325 OVERRIDE; |
327 virtual void SubscribeToPolicyUpdates( | |
328 webkit::ppapi::PluginInstance* instance) OVERRIDE; | |
329 virtual std::string ResolveProxy(const GURL& url) OVERRIDE; | 326 virtual std::string ResolveProxy(const GURL& url) OVERRIDE; |
330 virtual void DidStartLoading() OVERRIDE; | 327 virtual void DidStartLoading() OVERRIDE; |
331 virtual void DidStopLoading() OVERRIDE; | 328 virtual void DidStopLoading() OVERRIDE; |
332 virtual void SetContentRestriction(int restrictions) OVERRIDE; | 329 virtual void SetContentRestriction(int restrictions) OVERRIDE; |
333 virtual void SaveURLAs(const GURL& url) OVERRIDE; | 330 virtual void SaveURLAs(const GURL& url) OVERRIDE; |
334 virtual webkit_glue::P2PTransport* CreateP2PTransport() OVERRIDE; | 331 virtual webkit_glue::P2PTransport* CreateP2PTransport() OVERRIDE; |
335 virtual double GetLocalTimeZoneOffset(base::Time t) OVERRIDE; | 332 virtual double GetLocalTimeZoneOffset(base::Time t) OVERRIDE; |
336 virtual std::string GetFlashCommandLineArgs() OVERRIDE; | 333 virtual std::string GetFlashCommandLineArgs() OVERRIDE; |
337 virtual base::SharedMemory* CreateAnonymousSharedMemory(uint32_t size) | 334 virtual base::SharedMemory* CreateAnonymousSharedMemory(uint32_t size) |
338 OVERRIDE; | 335 OVERRIDE; |
339 virtual ::ppapi::Preferences GetPreferences() OVERRIDE; | 336 virtual ::ppapi::Preferences GetPreferences() OVERRIDE; |
340 virtual void LockMouse(webkit::ppapi::PluginInstance* instance) OVERRIDE; | 337 virtual void LockMouse(webkit::ppapi::PluginInstance* instance) OVERRIDE; |
341 virtual void UnlockMouse(webkit::ppapi::PluginInstance* instance) OVERRIDE; | 338 virtual void UnlockMouse(webkit::ppapi::PluginInstance* instance) OVERRIDE; |
342 virtual void DidChangeCursor(webkit::ppapi::PluginInstance* instance, | 339 virtual void DidChangeCursor(webkit::ppapi::PluginInstance* instance, |
343 const WebKit::WebCursorInfo& cursor) OVERRIDE; | 340 const WebKit::WebCursorInfo& cursor) OVERRIDE; |
344 virtual void DidReceiveMouseEvent( | 341 virtual void DidReceiveMouseEvent( |
345 webkit::ppapi::PluginInstance* instance) OVERRIDE; | 342 webkit::ppapi::PluginInstance* instance) OVERRIDE; |
346 virtual bool IsInFullscreenMode() OVERRIDE; | 343 virtual bool IsInFullscreenMode() OVERRIDE; |
347 | 344 |
348 CONTENT_EXPORT int GetRoutingId() const; | 345 CONTENT_EXPORT int GetRoutingId() const; |
349 | 346 |
350 private: | 347 private: |
351 void PublishInitialPolicy( | |
352 scoped_refptr<webkit::ppapi::PluginInstance> instance, | |
353 const std::string& policy); | |
354 | |
355 // Asynchronously attempts to create a PPAPI broker for the given plugin. | 348 // Asynchronously attempts to create a PPAPI broker for the given plugin. |
356 scoped_refptr<PpapiBrokerImpl> CreatePpapiBroker( | 349 scoped_refptr<PpapiBrokerImpl> CreatePpapiBroker( |
357 webkit::ppapi::PluginModule* plugin_module); | 350 webkit::ppapi::PluginModule* plugin_module); |
358 | 351 |
359 bool MouseLockedOrPending() const { | 352 bool MouseLockedOrPending() const { |
360 return mouse_locked_ || pending_lock_request_ || pending_unlock_request_; | 353 return mouse_locked_ || pending_lock_request_ || pending_unlock_request_; |
361 } | 354 } |
362 | 355 |
363 // Implementation of PepperParentContextProvider. | 356 // Implementation of PepperParentContextProvider. |
364 virtual RendererGLContext* GetParentContextForPlatformContext3D(); | 357 virtual RendererGLContext* GetParentContextForPlatformContext3D(); |
(...skipping 18 matching lines...) Expand all Loading... |
383 typedef IDMap<scoped_refptr<PpapiBrokerImpl>, IDMapOwnPointer> BrokerMap; | 376 typedef IDMap<scoped_refptr<PpapiBrokerImpl>, IDMapOwnPointer> BrokerMap; |
384 BrokerMap pending_connect_broker_; | 377 BrokerMap pending_connect_broker_; |
385 | 378 |
386 // Whether or not the focus is on a PPAPI plugin | 379 // Whether or not the focus is on a PPAPI plugin |
387 webkit::ppapi::PluginInstance* focused_plugin_; | 380 webkit::ppapi::PluginInstance* focused_plugin_; |
388 | 381 |
389 // Current text input composition text. Empty if no composition is in | 382 // Current text input composition text. Empty if no composition is in |
390 // progress. | 383 // progress. |
391 string16 composition_text_; | 384 string16 composition_text_; |
392 | 385 |
393 // Set of instances to receive a notification when the enterprise policy has | |
394 // been updated. | |
395 std::set<webkit::ppapi::PluginInstance*> subscribed_to_policy_updates_; | |
396 | |
397 // |mouse_lock_owner_| is not owned by this class. We can know about when it | 386 // |mouse_lock_owner_| is not owned by this class. We can know about when it |
398 // is destroyed via InstanceDeleted(). | 387 // is destroyed via InstanceDeleted(). |
399 // |mouse_lock_owner_| being non-NULL doesn't indicate that currently the | 388 // |mouse_lock_owner_| being non-NULL doesn't indicate that currently the |
400 // mouse has been locked. It is possible that a request to lock the mouse has | 389 // mouse has been locked. It is possible that a request to lock the mouse has |
401 // been sent, but the response hasn't arrived yet. | 390 // been sent, but the response hasn't arrived yet. |
402 webkit::ppapi::PluginInstance* mouse_lock_owner_; | 391 webkit::ppapi::PluginInstance* mouse_lock_owner_; |
403 bool mouse_locked_; | 392 bool mouse_locked_; |
404 // If both |pending_lock_request_| and |pending_unlock_request_| are true, | 393 // If both |pending_lock_request_| and |pending_unlock_request_| are true, |
405 // it means a lock request was sent before an unlock request and we haven't | 394 // it means a lock request was sent before an unlock request and we haven't |
406 // received responses for them. | 395 // received responses for them. |
407 // The logic in LockMouse() makes sure that a lock request won't be sent when | 396 // The logic in LockMouse() makes sure that a lock request won't be sent when |
408 // there is a pending unlock request. | 397 // there is a pending unlock request. |
409 bool pending_lock_request_; | 398 bool pending_lock_request_; |
410 bool pending_unlock_request_; | 399 bool pending_unlock_request_; |
411 | 400 |
412 // The plugin instance that received the last mouse event. It is set to NULL | 401 // The plugin instance that received the last mouse event. It is set to NULL |
413 // if the last mouse event went to elements other than Pepper plugins. | 402 // if the last mouse event went to elements other than Pepper plugins. |
414 // |last_mouse_event_target_| is not owned by this class. We can know about | 403 // |last_mouse_event_target_| is not owned by this class. We can know about |
415 // when it is destroyed via InstanceDeleted(). | 404 // when it is destroyed via InstanceDeleted(). |
416 webkit::ppapi::PluginInstance* last_mouse_event_target_; | 405 webkit::ppapi::PluginInstance* last_mouse_event_target_; |
417 | 406 |
418 DISALLOW_COPY_AND_ASSIGN(PepperPluginDelegateImpl); | 407 DISALLOW_COPY_AND_ASSIGN(PepperPluginDelegateImpl); |
419 }; | 408 }; |
420 | 409 |
421 #endif // CONTENT_RENDERER_PEPPER_PLUGIN_DELEGATE_IMPL_H_ | 410 #endif // CONTENT_RENDERER_PEPPER_PLUGIN_DELEGATE_IMPL_H_ |
OLD | NEW |