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 PPAPI_PPB_FLASH_PROXY_H_ | 5 #ifndef PPAPI_PPB_FLASH_PROXY_H_ |
6 #define PPAPI_PPB_FLASH_PROXY_H_ | 6 #define PPAPI_PPB_FLASH_PROXY_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 11 matching lines...) Expand all Loading... |
22 | 22 |
23 struct PPB_URLRequestInfo_Data; | 23 struct PPB_URLRequestInfo_Data; |
24 | 24 |
25 namespace proxy { | 25 namespace proxy { |
26 | 26 |
27 struct PPBFlash_DrawGlyphs_Params; | 27 struct PPBFlash_DrawGlyphs_Params; |
28 class SerializedVarReturnValue; | 28 class SerializedVarReturnValue; |
29 | 29 |
30 class PPB_Flash_Proxy : public InterfaceProxy { | 30 class PPB_Flash_Proxy : public InterfaceProxy { |
31 public: | 31 public: |
32 PPB_Flash_Proxy(Dispatcher* dispatcher, const void* target_interface); | 32 PPB_Flash_Proxy(Dispatcher* dispatcher); |
33 virtual ~PPB_Flash_Proxy(); | 33 virtual ~PPB_Flash_Proxy(); |
34 | 34 |
35 static const Info* GetInfo(); | 35 static const Info* GetInfo(); |
36 | 36 |
37 const PPB_Flash* ppb_flash_target() const { | |
38 return static_cast<const PPB_Flash*>(target_interface()); | |
39 } | |
40 | |
41 // InterfaceProxy implementation. | 37 // InterfaceProxy implementation. |
42 virtual bool OnMessageReceived(const IPC::Message& msg); | 38 virtual bool OnMessageReceived(const IPC::Message& msg); |
43 | 39 |
44 private: | 40 private: |
45 // Message handlers. | 41 // Message handlers. |
46 void OnMsgSetInstanceAlwaysOnTop(PP_Instance instance, | 42 void OnMsgSetInstanceAlwaysOnTop(PP_Instance instance, |
47 PP_Bool on_top); | 43 PP_Bool on_top); |
48 void OnMsgDrawGlyphs(const PPBFlash_DrawGlyphs_Params& params, | 44 void OnMsgDrawGlyphs(const PPBFlash_DrawGlyphs_Params& params, |
49 PP_Bool* result); | 45 PP_Bool* result); |
50 void OnMsgGetProxyForURL(PP_Instance instance, | 46 void OnMsgGetProxyForURL(PP_Instance instance, |
51 const std::string& url, | 47 const std::string& url, |
52 SerializedVarReturnValue result); | 48 SerializedVarReturnValue result); |
53 void OnMsgNavigate(PP_Instance instance, | 49 void OnMsgNavigate(PP_Instance instance, |
54 const PPB_URLRequestInfo_Data& data, | 50 const PPB_URLRequestInfo_Data& data, |
55 const std::string& target, | 51 const std::string& target, |
56 bool from_user_action, | 52 bool from_user_action, |
57 int32_t* result); | 53 int32_t* result); |
58 void OnMsgRunMessageLoop(PP_Instance instance); | 54 void OnMsgRunMessageLoop(PP_Instance instance); |
59 void OnMsgQuitMessageLoop(PP_Instance instance); | 55 void OnMsgQuitMessageLoop(PP_Instance instance); |
60 void OnMsgGetLocalTimeZoneOffset(PP_Instance instance, PP_Time t, | 56 void OnMsgGetLocalTimeZoneOffset(PP_Instance instance, PP_Time t, |
61 double* result); | 57 double* result); |
| 58 |
| 59 // When this proxy is in the host side, this value caches the interface |
| 60 // pointer so we don't have to retrieve it from the dispatcher each time. |
| 61 // In the plugin, this value is always NULL. |
| 62 const PPB_Flash* ppb_flash_impl_; |
| 63 |
| 64 DISALLOW_COPY_AND_ASSIGN(PPB_Flash_Proxy); |
62 }; | 65 }; |
63 | 66 |
64 } // namespace proxy | 67 } // namespace proxy |
65 } // namespace ppapi | 68 } // namespace ppapi |
66 | 69 |
67 #endif // PPAPI_PPB_FLASH_PROXY_H_ | 70 #endif // PPAPI_PPB_FLASH_PROXY_H_ |
OLD | NEW |