Chromium Code Reviews| 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 WEBKIT_PLUGINS_PPAPI_PLUGIN_DELEGATE_H_ | 5 #ifndef WEBKIT_PLUGINS_PPAPI_PLUGIN_DELEGATE_H_ |
| 6 #define WEBKIT_PLUGINS_PPAPI_PLUGIN_DELEGATE_H_ | 6 #define WEBKIT_PLUGINS_PPAPI_PLUGIN_DELEGATE_H_ |
| 7 | 7 |
| 8 #include <string> | 8 #include <string> |
| 9 | 9 |
| 10 #include "base/callback.h" | 10 #include "base/callback.h" |
| (...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 71 namespace ppapi { | 71 namespace ppapi { |
| 72 | 72 |
| 73 class FileIO; | 73 class FileIO; |
| 74 class FullscreenContainer; | 74 class FullscreenContainer; |
| 75 class PepperFilePath; | 75 class PepperFilePath; |
| 76 class PluginInstance; | 76 class PluginInstance; |
| 77 class PluginModule; | 77 class PluginModule; |
| 78 class PPB_Broker_Impl; | 78 class PPB_Broker_Impl; |
| 79 class PPB_Flash_Menu_Impl; | 79 class PPB_Flash_Menu_Impl; |
| 80 class PPB_Flash_NetConnector_Impl; | 80 class PPB_Flash_NetConnector_Impl; |
| 81 class PPB_TCPSocket_Private_Impl; | |
| 82 class PPB_UDPSocket_Private_Impl; | |
| 81 | 83 |
| 82 // Virtual interface that the browser implements to implement features for | 84 // Virtual interface that the browser implements to implement features for |
| 83 // PPAPI plugins. | 85 // PPAPI plugins. |
| 84 class PluginDelegate { | 86 class PluginDelegate { |
|
Dmitry Polukhin
2011/11/24 13:05:45
Please also implement stubs in MockPluginDelegate.
ygorshenin
2011/11/24 13:40:34
Done.
| |
| 85 public: | 87 public: |
| 86 // This interface is used for the PluginModule to tell the code in charge of | 88 // This interface is used for the PluginModule to tell the code in charge of |
| 87 // re-using modules which modules currently exist. | 89 // re-using modules which modules currently exist. |
| 88 // | 90 // |
| 89 // It is different than the other interfaces, which are scoped to the | 91 // It is different than the other interfaces, which are scoped to the |
| 90 // lifetime of the plugin instance. The implementor of this interface must | 92 // lifetime of the plugin instance. The implementor of this interface must |
| 91 // outlive all plugin modules, and is in practice a singleton | 93 // outlive all plugin modules, and is in practice a singleton |
| 92 // (PepperPluginRegistry). This requirement means we can't do the obvious | 94 // (PepperPluginRegistry). This requirement means we can't do the obvious |
| 93 // thing and just have a PluginDelegate call for this purpose (when the | 95 // thing and just have a PluginDelegate call for this purpose (when the |
| 94 // module is being deleted, we know there are no more PluginInstances that | 96 // module is being deleted, we know there are no more PluginInstances that |
| (...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 399 GetFileThreadMessageLoopProxy() = 0; | 401 GetFileThreadMessageLoopProxy() = 0; |
| 400 | 402 |
| 401 virtual int32_t ConnectTcp( | 403 virtual int32_t ConnectTcp( |
| 402 webkit::ppapi::PPB_Flash_NetConnector_Impl* connector, | 404 webkit::ppapi::PPB_Flash_NetConnector_Impl* connector, |
| 403 const char* host, | 405 const char* host, |
| 404 uint16_t port) = 0; | 406 uint16_t port) = 0; |
| 405 virtual int32_t ConnectTcpAddress( | 407 virtual int32_t ConnectTcpAddress( |
| 406 webkit::ppapi::PPB_Flash_NetConnector_Impl* connector, | 408 webkit::ppapi::PPB_Flash_NetConnector_Impl* connector, |
| 407 const PP_NetAddress_Private* addr) = 0; | 409 const PP_NetAddress_Private* addr) = 0; |
| 408 | 410 |
| 411 // For TCPSocket_Private. | |
| 412 virtual uint32 TCPSocketCreate() = 0; | |
| 413 virtual void TCPSocketConnect(PPB_TCPSocket_Private_Impl* socket, | |
| 414 uint32 socket_id, | |
| 415 const std::string& host, | |
| 416 uint16_t port) = 0; | |
| 417 virtual void TCPSocketConnectWithNetAddress( | |
| 418 PPB_TCPSocket_Private_Impl* socket, | |
| 419 uint32 socket_id, | |
| 420 const PP_NetAddress_Private& addr) = 0; | |
| 421 virtual void TCPSocketSSLHandshake(uint32 socket_id, | |
| 422 const std::string& server_name, | |
| 423 uint16_t server_port) = 0; | |
| 424 virtual void TCPSocketRead(uint32 socket_id, int32_t bytes_to_read) = 0; | |
| 425 virtual void TCPSocketWrite(uint32 socket_id, const std::string& buffer) = 0; | |
| 426 virtual void TCPSocketDisconnect(uint32 socket_id) = 0; | |
| 427 | |
| 428 // For UDPSocket_Private. | |
| 429 virtual uint32 UDPSocketCreate() = 0; | |
| 430 virtual void UDPSocketBind(PPB_UDPSocket_Private_Impl* socket, | |
| 431 uint32 socket_id, | |
| 432 const PP_NetAddress_Private& addr) = 0; | |
| 433 virtual void UDPSocketRecvFrom(uint32 socket_id, int32_t num_bytes) = 0; | |
| 434 virtual void UDPSocketSendTo(uint32 socket_id, | |
| 435 const std::string& buffer, | |
| 436 const PP_NetAddress_Private& addr) = 0; | |
| 437 virtual void UDPSocketClose(uint32 socket_id) = 0; | |
| 438 | |
| 409 // Show the given context menu at the given position (in the plugin's | 439 // Show the given context menu at the given position (in the plugin's |
| 410 // coordinates). | 440 // coordinates). |
| 411 virtual int32_t ShowContextMenu( | 441 virtual int32_t ShowContextMenu( |
| 412 PluginInstance* instance, | 442 PluginInstance* instance, |
| 413 webkit::ppapi::PPB_Flash_Menu_Impl* menu, | 443 webkit::ppapi::PPB_Flash_Menu_Impl* menu, |
| 414 const gfx::Point& position) = 0; | 444 const gfx::Point& position) = 0; |
| 415 | 445 |
| 416 // Create a fullscreen container for a plugin instance. This effectively | 446 // Create a fullscreen container for a plugin instance. This effectively |
| 417 // switches the plugin to fullscreen. | 447 // switches the plugin to fullscreen. |
| 418 virtual FullscreenContainer* CreateFullscreenContainer( | 448 virtual FullscreenContainer* CreateFullscreenContainer( |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 483 virtual void DidReceiveMouseEvent(PluginInstance* instance) = 0; | 513 virtual void DidReceiveMouseEvent(PluginInstance* instance) = 0; |
| 484 | 514 |
| 485 // Determines if the browser entered fullscreen mode. | 515 // Determines if the browser entered fullscreen mode. |
| 486 virtual bool IsInFullscreenMode() = 0; | 516 virtual bool IsInFullscreenMode() = 0; |
| 487 }; | 517 }; |
| 488 | 518 |
| 489 } // namespace ppapi | 519 } // namespace ppapi |
| 490 } // namespace webkit | 520 } // namespace webkit |
| 491 | 521 |
| 492 #endif // WEBKIT_PLUGINS_PPAPI_PLUGIN_DELEGATE_H_ | 522 #endif // WEBKIT_PLUGINS_PPAPI_PLUGIN_DELEGATE_H_ |
| OLD | NEW |