OLD | NEW |
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_RESOURCE_CREATION_IMPL_H_ | 5 #ifndef CONTENT_RENDERER_PEPPER_RESOURCE_CREATION_IMPL_H_ |
6 #define CONTENT_RENDERER_PEPPER_RESOURCE_CREATION_IMPL_H_ | 6 #define CONTENT_RENDERER_PEPPER_RESOURCE_CREATION_IMPL_H_ |
7 | 7 |
8 #include "base/basictypes.h" | 8 #include "base/basictypes.h" |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #include "ppapi/thunk/resource_creation_api.h" | 10 #include "ppapi/thunk/resource_creation_api.h" |
11 | 11 |
12 namespace content { | 12 namespace content { |
13 | 13 |
14 class PepperPluginInstanceImpl; | 14 class PepperPluginInstanceImpl; |
15 | 15 |
16 // This is an abstract class. ResourceCreationAPI functions that implement | 16 // This is an abstract class. ResourceCreationAPI functions that implement |
17 // "old-style" resources are handled here. See | 17 // "old-style" resources are handled here. See |
18 // content/renderer/pepper/pepper_in_process_resource_creation.h for functions | 18 // content/renderer/pepper/pepper_in_process_resource_creation.h for functions |
19 // that implement "new-style" resources. | 19 // that implement "new-style" resources. |
20 class ResourceCreationImpl : public ppapi::thunk::ResourceCreationAPI { | 20 class ResourceCreationImpl : public ppapi::thunk::ResourceCreationAPI { |
21 public: | 21 public: |
22 explicit ResourceCreationImpl(PepperPluginInstanceImpl* instance); | 22 explicit ResourceCreationImpl(PepperPluginInstanceImpl* instance); |
23 virtual ~ResourceCreationImpl(); | 23 ~ResourceCreationImpl() override; |
24 | 24 |
25 // ResourceCreationAPI implementation. | 25 // ResourceCreationAPI implementation. |
26 virtual PP_Resource CreateAudio1_0(PP_Instance instance, | 26 PP_Resource CreateAudio1_0(PP_Instance instance, |
27 PP_Resource config_id, | 27 PP_Resource config_id, |
28 PPB_Audio_Callback_1_0 audio_callback, | 28 PPB_Audio_Callback_1_0 audio_callback, |
29 void* user_data) override; | 29 void* user_data) override; |
30 virtual PP_Resource CreateAudio(PP_Instance instance, | 30 PP_Resource CreateAudio(PP_Instance instance, |
31 PP_Resource config_id, | 31 PP_Resource config_id, |
32 PPB_Audio_Callback audio_callback, | 32 PPB_Audio_Callback audio_callback, |
33 void* user_data) override; | 33 void* user_data) override; |
34 virtual PP_Resource CreateAudioTrusted(PP_Instance instance) override; | 34 PP_Resource CreateAudioTrusted(PP_Instance instance) override; |
35 virtual PP_Resource CreateAudioConfig(PP_Instance instance, | 35 PP_Resource CreateAudioConfig(PP_Instance instance, |
36 PP_AudioSampleRate sample_rate, | 36 PP_AudioSampleRate sample_rate, |
37 uint32_t sample_frame_count) override; | 37 uint32_t sample_frame_count) override; |
38 virtual PP_Resource CreateAudioInput(PP_Instance instance) override; | 38 PP_Resource CreateAudioInput(PP_Instance instance) override; |
39 virtual PP_Resource CreateCompositor(PP_Instance instance) override; | 39 PP_Resource CreateCompositor(PP_Instance instance) override; |
40 virtual PP_Resource CreateBroker(PP_Instance instance) override; | 40 PP_Resource CreateBroker(PP_Instance instance) override; |
41 virtual PP_Resource CreateBuffer(PP_Instance instance, | 41 PP_Resource CreateBuffer(PP_Instance instance, uint32_t size) override; |
42 uint32_t size) override; | 42 PP_Resource CreateFlashDRM(PP_Instance instance) override; |
43 virtual PP_Resource CreateFlashDRM(PP_Instance instance) override; | 43 PP_Resource CreateFlashFontFile( |
44 virtual PP_Resource CreateFlashFontFile( | |
45 PP_Instance instance, | 44 PP_Instance instance, |
46 const PP_BrowserFont_Trusted_Description* description, | 45 const PP_BrowserFont_Trusted_Description* description, |
47 PP_PrivateFontCharset charset) override; | 46 PP_PrivateFontCharset charset) override; |
48 virtual PP_Resource CreateFlashMenu(PP_Instance instance, | 47 PP_Resource CreateFlashMenu(PP_Instance instance, |
49 const PP_Flash_Menu* menu_data) override; | 48 const PP_Flash_Menu* menu_data) override; |
50 virtual PP_Resource CreateFlashMessageLoop(PP_Instance instance) override; | 49 PP_Resource CreateFlashMessageLoop(PP_Instance instance) override; |
51 virtual PP_Resource CreateGraphics3D(PP_Instance instance, | 50 PP_Resource CreateGraphics3D(PP_Instance instance, |
52 PP_Resource share_context, | 51 PP_Resource share_context, |
53 const int32_t* attrib_list) override; | 52 const int32_t* attrib_list) override; |
54 virtual PP_Resource CreateGraphics3DRaw( | 53 PP_Resource CreateGraphics3DRaw( |
55 PP_Instance instance, | 54 PP_Instance instance, |
56 PP_Resource share_context, | 55 PP_Resource share_context, |
57 const int32_t* attrib_list, | 56 const int32_t* attrib_list, |
58 base::SharedMemoryHandle* shared_state) override; | 57 base::SharedMemoryHandle* shared_state) override; |
59 virtual PP_Resource CreateHostResolver(PP_Instance instance) override; | 58 PP_Resource CreateHostResolver(PP_Instance instance) override; |
60 virtual PP_Resource CreateHostResolverPrivate(PP_Instance instance) override; | 59 PP_Resource CreateHostResolverPrivate(PP_Instance instance) override; |
61 virtual PP_Resource CreateImageData(PP_Instance instance, | 60 PP_Resource CreateImageData(PP_Instance instance, |
62 PP_ImageDataFormat format, | 61 PP_ImageDataFormat format, |
63 const PP_Size* size, | 62 const PP_Size* size, |
64 PP_Bool init_to_zero) override; | 63 PP_Bool init_to_zero) override; |
65 virtual PP_Resource CreateImageDataSimple(PP_Instance instance, | 64 PP_Resource CreateImageDataSimple(PP_Instance instance, |
66 PP_ImageDataFormat format, | 65 PP_ImageDataFormat format, |
67 const PP_Size* size, | 66 const PP_Size* size, |
68 PP_Bool init_to_zero) override; | 67 PP_Bool init_to_zero) override; |
69 virtual PP_Resource CreateIMEInputEvent(PP_Instance instance, | 68 PP_Resource CreateIMEInputEvent(PP_Instance instance, |
70 PP_InputEvent_Type type, | 69 PP_InputEvent_Type type, |
71 PP_TimeTicks time_stamp, | 70 PP_TimeTicks time_stamp, |
72 struct PP_Var text, | 71 struct PP_Var text, |
73 uint32_t segment_number, | 72 uint32_t segment_number, |
74 const uint32_t* segment_offsets, | 73 const uint32_t* segment_offsets, |
75 int32_t target_segment, | 74 int32_t target_segment, |
76 uint32_t selection_start, | 75 uint32_t selection_start, |
77 uint32_t selection_end) override; | 76 uint32_t selection_end) override; |
78 virtual PP_Resource CreateKeyboardInputEvent_1_0(PP_Instance instance, | 77 PP_Resource CreateKeyboardInputEvent_1_0(PP_Instance instance, |
79 PP_InputEvent_Type type, | 78 PP_InputEvent_Type type, |
80 PP_TimeTicks time_stamp, | 79 PP_TimeTicks time_stamp, |
81 uint32_t modifiers, | 80 uint32_t modifiers, |
82 uint32_t key_code, | 81 uint32_t key_code, |
83 PP_Var character_text) | 82 PP_Var character_text) override; |
84 override; | 83 PP_Resource CreateKeyboardInputEvent_1_2(PP_Instance instance, |
85 virtual PP_Resource CreateKeyboardInputEvent_1_2(PP_Instance instance, | 84 PP_InputEvent_Type type, |
86 PP_InputEvent_Type type, | 85 PP_TimeTicks time_stamp, |
87 PP_TimeTicks time_stamp, | 86 uint32_t modifiers, |
88 uint32_t modifiers, | 87 uint32_t key_code, |
89 uint32_t key_code, | 88 PP_Var character_text, |
90 PP_Var character_text, | 89 PP_Var code) override; |
91 PP_Var code) override; | 90 PP_Resource CreateMediaStreamVideoTrack(PP_Instance instance) override; |
92 virtual PP_Resource CreateMediaStreamVideoTrack( | 91 PP_Resource CreateMouseInputEvent(PP_Instance instance, |
93 PP_Instance instance) override; | 92 PP_InputEvent_Type type, |
94 virtual PP_Resource CreateMouseInputEvent( | 93 PP_TimeTicks time_stamp, |
95 PP_Instance instance, | 94 uint32_t modifiers, |
96 PP_InputEvent_Type type, | 95 PP_InputEvent_MouseButton mouse_button, |
97 PP_TimeTicks time_stamp, | 96 const PP_Point* mouse_position, |
98 uint32_t modifiers, | 97 int32_t click_count, |
99 PP_InputEvent_MouseButton mouse_button, | 98 const PP_Point* mouse_movement) override; |
100 const PP_Point* mouse_position, | 99 PP_Resource CreateNetAddressFromIPv4Address( |
101 int32_t click_count, | |
102 const PP_Point* mouse_movement) override; | |
103 virtual PP_Resource CreateNetAddressFromIPv4Address( | |
104 PP_Instance instance, | 100 PP_Instance instance, |
105 const PP_NetAddress_IPv4* ipv4_addr) override; | 101 const PP_NetAddress_IPv4* ipv4_addr) override; |
106 virtual PP_Resource CreateNetAddressFromIPv6Address( | 102 PP_Resource CreateNetAddressFromIPv6Address( |
107 PP_Instance instance, | 103 PP_Instance instance, |
108 const PP_NetAddress_IPv6* ipv6_addr) override; | 104 const PP_NetAddress_IPv6* ipv6_addr) override; |
109 virtual PP_Resource CreateNetAddressFromNetAddressPrivate( | 105 PP_Resource CreateNetAddressFromNetAddressPrivate( |
110 PP_Instance instance, | 106 PP_Instance instance, |
111 const PP_NetAddress_Private& private_addr) override; | 107 const PP_NetAddress_Private& private_addr) override; |
112 virtual PP_Resource CreateNetworkMonitor(PP_Instance instance) override; | 108 PP_Resource CreateNetworkMonitor(PP_Instance instance) override; |
113 virtual PP_Resource CreatePlatformVerificationPrivate(PP_Instance instance) | 109 PP_Resource CreatePlatformVerificationPrivate(PP_Instance instance) override; |
114 override; | 110 PP_Resource CreateScrollbar(PP_Instance instance, PP_Bool vertical) override; |
115 virtual PP_Resource CreateScrollbar(PP_Instance instance, | 111 PP_Resource CreateOutputProtectionPrivate(PP_Instance instance) override; |
116 PP_Bool vertical) override; | 112 PP_Resource CreateTalk(PP_Instance instance) override; |
117 virtual PP_Resource CreateOutputProtectionPrivate(PP_Instance instance) | 113 PP_Resource CreateTCPServerSocketPrivate(PP_Instance instance) override; |
118 override; | 114 PP_Resource CreateTCPSocket1_0(PP_Instance instance) override; |
119 virtual PP_Resource CreateTalk(PP_Instance instance) override; | 115 PP_Resource CreateTCPSocket(PP_Instance instance) override; |
120 virtual PP_Resource CreateTCPServerSocketPrivate(PP_Instance instance) | 116 PP_Resource CreateTCPSocketPrivate(PP_Instance instance) override; |
121 override; | 117 PP_Resource CreateTouchInputEvent(PP_Instance instance, |
122 virtual PP_Resource CreateTCPSocket1_0(PP_Instance instance) override; | 118 PP_InputEvent_Type type, |
123 virtual PP_Resource CreateTCPSocket(PP_Instance instance) override; | 119 PP_TimeTicks time_stamp, |
124 virtual PP_Resource CreateTCPSocketPrivate(PP_Instance instance) override; | 120 uint32_t modifiers) override; |
125 virtual PP_Resource CreateTouchInputEvent(PP_Instance instance, | 121 PP_Resource CreateUDPSocket(PP_Instance instance) override; |
126 PP_InputEvent_Type type, | 122 PP_Resource CreateUDPSocketPrivate(PP_Instance instance) override; |
127 PP_TimeTicks time_stamp, | 123 PP_Resource CreateVideoCapture(PP_Instance instance) override; |
128 uint32_t modifiers) override; | 124 PP_Resource CreateVideoDecoder(PP_Instance instance) override; |
129 virtual PP_Resource CreateUDPSocket(PP_Instance instance) override; | 125 PP_Resource CreateVideoDecoderDev(PP_Instance instance, |
130 virtual PP_Resource CreateUDPSocketPrivate(PP_Instance instance) override; | 126 PP_Resource graphics3d_id, |
131 virtual PP_Resource CreateVideoCapture(PP_Instance instance) override; | 127 PP_VideoDecoder_Profile profile) override; |
132 virtual PP_Resource CreateVideoDecoder(PP_Instance instance) override; | 128 PP_Resource CreateVideoDestination(PP_Instance instance) override; |
133 virtual PP_Resource CreateVideoDecoderDev(PP_Instance instance, | 129 PP_Resource CreateVideoSource(PP_Instance instance) override; |
134 PP_Resource graphics3d_id, | 130 PP_Resource CreateWheelInputEvent(PP_Instance instance, |
135 PP_VideoDecoder_Profile profile) | 131 PP_TimeTicks time_stamp, |
136 override; | 132 uint32_t modifiers, |
137 virtual PP_Resource CreateVideoDestination(PP_Instance instance) override; | 133 const PP_FloatPoint* wheel_delta, |
138 virtual PP_Resource CreateVideoSource(PP_Instance instance) override; | 134 const PP_FloatPoint* wheel_ticks, |
139 virtual PP_Resource CreateWheelInputEvent(PP_Instance instance, | 135 PP_Bool scroll_by_page) override; |
140 PP_TimeTicks time_stamp, | 136 PP_Resource CreateX509CertificatePrivate(PP_Instance instance) override; |
141 uint32_t modifiers, | |
142 const PP_FloatPoint* wheel_delta, | |
143 const PP_FloatPoint* wheel_ticks, | |
144 PP_Bool scroll_by_page) override; | |
145 virtual PP_Resource CreateX509CertificatePrivate(PP_Instance instance) | |
146 override; | |
147 | 137 |
148 private: | 138 private: |
149 DISALLOW_COPY_AND_ASSIGN(ResourceCreationImpl); | 139 DISALLOW_COPY_AND_ASSIGN(ResourceCreationImpl); |
150 }; | 140 }; |
151 | 141 |
152 } // namespace content | 142 } // namespace content |
153 | 143 |
154 #endif // CONTENT_RENDERER_PEPPER_RESOURCE_CREATION_IMPL_H_ | 144 #endif // CONTENT_RENDERER_PEPPER_RESOURCE_CREATION_IMPL_H_ |
OLD | NEW |