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 #include "ppapi/cpp/private/flash.h" | 5 #include "ppapi/cpp/private/flash.h" |
6 | 6 |
7 #include "ppapi/c/pp_bool.h" | 7 #include "ppapi/c/pp_bool.h" |
8 #include "ppapi/c/pp_errors.h" | 8 #include "ppapi/c/pp_errors.h" |
9 #include "ppapi/cpp/dev/font_dev.h" | 9 #include "ppapi/cpp/dev/font_dev.h" |
10 #include "ppapi/cpp/image_data.h" | 10 #include "ppapi/cpp/image_data.h" |
11 #include "ppapi/cpp/instance.h" | 11 #include "ppapi/cpp/instance_handle.h" |
12 #include "ppapi/cpp/module.h" | 12 #include "ppapi/cpp/module.h" |
13 #include "ppapi/cpp/module_impl.h" | 13 #include "ppapi/cpp/module_impl.h" |
14 #include "ppapi/cpp/point.h" | 14 #include "ppapi/cpp/point.h" |
15 #include "ppapi/cpp/rect.h" | 15 #include "ppapi/cpp/rect.h" |
16 #include "ppapi/cpp/url_request_info.h" | 16 #include "ppapi/cpp/url_request_info.h" |
17 #include "ppapi/cpp/var.h" | 17 #include "ppapi/cpp/var.h" |
18 #include "ppapi/c/private/ppb_flash.h" | 18 #include "ppapi/c/private/ppb_flash.h" |
19 | 19 |
20 namespace pp { | 20 namespace pp { |
21 | 21 |
(...skipping 16 matching lines...) Expand all Loading... |
38 namespace flash { | 38 namespace flash { |
39 | 39 |
40 // static | 40 // static |
41 bool Flash::IsAvailable() { | 41 bool Flash::IsAvailable() { |
42 return has_interface<PPB_Flash>() || | 42 return has_interface<PPB_Flash>() || |
43 has_interface<PPB_Flash_12_0>() || | 43 has_interface<PPB_Flash_12_0>() || |
44 has_interface<PPB_Flash_11>(); | 44 has_interface<PPB_Flash_11>(); |
45 } | 45 } |
46 | 46 |
47 // static | 47 // static |
48 void Flash::SetInstanceAlwaysOnTop(Instance* instance, bool on_top) { | 48 void Flash::SetInstanceAlwaysOnTop(const InstanceHandle& instance, |
| 49 bool on_top) { |
49 if (has_interface<PPB_Flash>()) { | 50 if (has_interface<PPB_Flash>()) { |
50 get_interface<PPB_Flash>()->SetInstanceAlwaysOnTop(instance->pp_instance(), | 51 get_interface<PPB_Flash>()->SetInstanceAlwaysOnTop(instance.pp_instance(), |
51 PP_FromBool(on_top)); | 52 PP_FromBool(on_top)); |
52 } else if (has_interface<PPB_Flash_12_0>()) { | 53 } else if (has_interface<PPB_Flash_12_0>()) { |
53 get_interface<PPB_Flash_12_0>()->SetInstanceAlwaysOnTop( | 54 get_interface<PPB_Flash_12_0>()->SetInstanceAlwaysOnTop( |
54 instance->pp_instance(), PP_FromBool(on_top)); | 55 instance.pp_instance(), PP_FromBool(on_top)); |
55 } else if (has_interface<PPB_Flash_11>()) { | 56 } else if (has_interface<PPB_Flash_11>()) { |
56 get_interface<PPB_Flash_11>()->SetInstanceAlwaysOnTop( | 57 get_interface<PPB_Flash_11>()->SetInstanceAlwaysOnTop( |
57 instance->pp_instance(), PP_FromBool(on_top)); | 58 instance.pp_instance(), PP_FromBool(on_top)); |
58 } | 59 } |
59 } | 60 } |
60 | 61 |
61 // static | 62 // static |
62 bool Flash::DrawGlyphs(Instance* instance, | 63 bool Flash::DrawGlyphs(const InstanceHandle& instance, |
63 ImageData* image, | 64 ImageData* image, |
64 const FontDescription_Dev& font_desc, | 65 const FontDescription_Dev& font_desc, |
65 uint32_t color, | 66 uint32_t color, |
66 const Point& position, | 67 const Point& position, |
67 const Rect& clip, | 68 const Rect& clip, |
68 const float transformation[3][3], | 69 const float transformation[3][3], |
69 bool allow_subpixel_aa, | 70 bool allow_subpixel_aa, |
70 uint32_t glyph_count, | 71 uint32_t glyph_count, |
71 const uint16_t glyph_indices[], | 72 const uint16_t glyph_indices[], |
72 const PP_Point glyph_advances[]) { | 73 const PP_Point glyph_advances[]) { |
73 bool rv = false; | 74 bool rv = false; |
74 if (has_interface<PPB_Flash>()) { | 75 if (has_interface<PPB_Flash>()) { |
75 rv = PP_ToBool(get_interface<PPB_Flash>()->DrawGlyphs( | 76 rv = PP_ToBool(get_interface<PPB_Flash>()->DrawGlyphs( |
76 instance->pp_instance(), | 77 instance.pp_instance(), |
77 image->pp_resource(), | 78 image->pp_resource(), |
78 &font_desc.pp_font_description(), | 79 &font_desc.pp_font_description(), |
79 color, | 80 color, |
80 &position.pp_point(), | 81 &position.pp_point(), |
81 &clip.pp_rect(), | 82 &clip.pp_rect(), |
82 transformation, | 83 transformation, |
83 PP_FromBool(allow_subpixel_aa), | 84 PP_FromBool(allow_subpixel_aa), |
84 glyph_count, | 85 glyph_count, |
85 glyph_indices, | 86 glyph_indices, |
86 glyph_advances)); | 87 glyph_advances)); |
87 } else if (has_interface<PPB_Flash_12_0>()) { | 88 } else if (has_interface<PPB_Flash_12_0>()) { |
88 rv = PP_ToBool(get_interface<PPB_Flash_12_0>()->DrawGlyphs( | 89 rv = PP_ToBool(get_interface<PPB_Flash_12_0>()->DrawGlyphs( |
89 instance->pp_instance(), | 90 instance.pp_instance(), |
90 image->pp_resource(), | 91 image->pp_resource(), |
91 &font_desc.pp_font_description(), | 92 &font_desc.pp_font_description(), |
92 color, | 93 color, |
93 &position.pp_point(), | 94 &position.pp_point(), |
94 &clip.pp_rect(), | 95 &clip.pp_rect(), |
95 transformation, | 96 transformation, |
96 PP_FromBool(allow_subpixel_aa), | 97 PP_FromBool(allow_subpixel_aa), |
97 glyph_count, | 98 glyph_count, |
98 glyph_indices, | 99 glyph_indices, |
99 glyph_advances)); | 100 glyph_advances)); |
100 } else if (has_interface<PPB_Flash_11>()) { | 101 } else if (has_interface<PPB_Flash_11>()) { |
101 rv = PP_ToBool(get_interface<PPB_Flash_11>()->DrawGlyphs( | 102 rv = PP_ToBool(get_interface<PPB_Flash_11>()->DrawGlyphs( |
102 instance->pp_instance(), | 103 instance.pp_instance(), |
103 image->pp_resource(), | 104 image->pp_resource(), |
104 &font_desc.pp_font_description(), | 105 &font_desc.pp_font_description(), |
105 color, | 106 color, |
106 position.pp_point(), | 107 position.pp_point(), |
107 clip.pp_rect(), | 108 clip.pp_rect(), |
108 transformation, | 109 transformation, |
109 glyph_count, | 110 glyph_count, |
110 glyph_indices, | 111 glyph_indices, |
111 glyph_advances)); | 112 glyph_advances)); |
112 } | 113 } |
113 return rv; | 114 return rv; |
114 } | 115 } |
115 | 116 |
116 // static | 117 // static |
117 Var Flash::GetProxyForURL(Instance* instance, const std::string& url) { | 118 Var Flash::GetProxyForURL(const InstanceHandle& instance, |
| 119 const std::string& url) { |
118 Var rv; | 120 Var rv; |
119 if (has_interface<PPB_Flash>()) { | 121 if (has_interface<PPB_Flash>()) { |
120 rv = Var(Var::PassRef(), | 122 rv = Var(PASS_REF, |
121 get_interface<PPB_Flash>()->GetProxyForURL(instance->pp_instance(), | 123 get_interface<PPB_Flash>()->GetProxyForURL(instance.pp_instance(), |
122 url.c_str())); | 124 url.c_str())); |
123 } else if (has_interface<PPB_Flash_12_0>()) { | 125 } else if (has_interface<PPB_Flash_12_0>()) { |
124 rv = Var(Var::PassRef(), | 126 rv = Var(PASS_REF, |
125 get_interface<PPB_Flash_12_0>()->GetProxyForURL( | 127 get_interface<PPB_Flash_12_0>()->GetProxyForURL( |
126 instance->pp_instance(), url.c_str())); | 128 instance.pp_instance(), url.c_str())); |
127 } else if (has_interface<PPB_Flash_11>()) { | 129 } else if (has_interface<PPB_Flash_11>()) { |
128 rv = Var(Var::PassRef(), | 130 rv = Var(PASS_REF, |
129 get_interface<PPB_Flash_11>()->GetProxyForURL( | 131 get_interface<PPB_Flash_11>()->GetProxyForURL( |
130 instance->pp_instance(), url.c_str())); | 132 instance.pp_instance(), url.c_str())); |
131 } | 133 } |
132 return rv; | 134 return rv; |
133 } | 135 } |
134 | 136 |
135 // static | 137 // static |
136 int32_t Flash::Navigate(const URLRequestInfo& request_info, | 138 int32_t Flash::Navigate(const URLRequestInfo& request_info, |
137 const std::string& target, | 139 const std::string& target, |
138 bool from_user_action) { | 140 bool from_user_action) { |
139 int32_t rv = PP_ERROR_FAILED; | 141 int32_t rv = PP_ERROR_FAILED; |
140 if (has_interface<PPB_Flash>()) { | 142 if (has_interface<PPB_Flash>()) { |
141 rv = get_interface<PPB_Flash>()->Navigate(request_info.pp_resource(), | 143 rv = get_interface<PPB_Flash>()->Navigate(request_info.pp_resource(), |
142 target.c_str(), | 144 target.c_str(), |
143 PP_FromBool(from_user_action)); | 145 PP_FromBool(from_user_action)); |
144 } else if (has_interface<PPB_Flash_12_0>()) { | 146 } else if (has_interface<PPB_Flash_12_0>()) { |
145 rv = get_interface<PPB_Flash_12_0>()->Navigate( | 147 rv = get_interface<PPB_Flash_12_0>()->Navigate( |
146 request_info.pp_resource(), | 148 request_info.pp_resource(), |
147 target.c_str(), | 149 target.c_str(), |
148 PP_FromBool(from_user_action)); | 150 PP_FromBool(from_user_action)); |
149 } else if (has_interface<PPB_Flash_11>()) { | 151 } else if (has_interface<PPB_Flash_11>()) { |
150 rv = get_interface<PPB_Flash_11>()->Navigate(request_info.pp_resource(), | 152 rv = get_interface<PPB_Flash_11>()->Navigate(request_info.pp_resource(), |
151 target.c_str(), | 153 target.c_str(), |
152 from_user_action); | 154 from_user_action); |
153 } | 155 } |
154 return rv; | 156 return rv; |
155 } | 157 } |
156 | 158 |
157 // static | 159 // static |
158 void Flash::RunMessageLoop(Instance* instance) { | 160 void Flash::RunMessageLoop(const InstanceHandle& instance) { |
159 if (has_interface<PPB_Flash>()) | 161 if (has_interface<PPB_Flash>()) |
160 get_interface<PPB_Flash>()->RunMessageLoop(instance->pp_instance()); | 162 get_interface<PPB_Flash>()->RunMessageLoop(instance.pp_instance()); |
161 else if (has_interface<PPB_Flash_12_0>()) | 163 else if (has_interface<PPB_Flash_12_0>()) |
162 get_interface<PPB_Flash_12_0>()->RunMessageLoop(instance->pp_instance()); | 164 get_interface<PPB_Flash_12_0>()->RunMessageLoop(instance.pp_instance()); |
163 else if (has_interface<PPB_Flash_11>()) | 165 else if (has_interface<PPB_Flash_11>()) |
164 get_interface<PPB_Flash_11>()->RunMessageLoop(instance->pp_instance()); | 166 get_interface<PPB_Flash_11>()->RunMessageLoop(instance.pp_instance()); |
165 } | 167 } |
166 | 168 |
167 // static | 169 // static |
168 void Flash::QuitMessageLoop(Instance* instance) { | 170 void Flash::QuitMessageLoop(const InstanceHandle& instance) { |
169 if (has_interface<PPB_Flash>()) | 171 if (has_interface<PPB_Flash>()) |
170 get_interface<PPB_Flash>()->QuitMessageLoop(instance->pp_instance()); | 172 get_interface<PPB_Flash>()->QuitMessageLoop(instance.pp_instance()); |
171 else if (has_interface<PPB_Flash_12_0>()) | 173 else if (has_interface<PPB_Flash_12_0>()) |
172 get_interface<PPB_Flash_12_0>()->QuitMessageLoop(instance->pp_instance()); | 174 get_interface<PPB_Flash_12_0>()->QuitMessageLoop(instance.pp_instance()); |
173 else if (has_interface<PPB_Flash_11>()) | 175 else if (has_interface<PPB_Flash_11>()) |
174 get_interface<PPB_Flash_11>()->QuitMessageLoop(instance->pp_instance()); | 176 get_interface<PPB_Flash_11>()->QuitMessageLoop(instance.pp_instance()); |
175 } | 177 } |
176 | 178 |
177 // static | 179 // static |
178 double Flash::GetLocalTimeZoneOffset(Instance* instance, PP_Time t) { | 180 double Flash::GetLocalTimeZoneOffset(const InstanceHandle& instance, |
| 181 PP_Time t) { |
179 double rv = 0; | 182 double rv = 0; |
180 if (has_interface<PPB_Flash>()) { | 183 if (has_interface<PPB_Flash>()) { |
181 rv = get_interface<PPB_Flash>()->GetLocalTimeZoneOffset( | 184 rv = get_interface<PPB_Flash>()->GetLocalTimeZoneOffset( |
182 instance->pp_instance(), t); | 185 instance.pp_instance(), t); |
183 } else if (has_interface<PPB_Flash_12_0>()) { | 186 } else if (has_interface<PPB_Flash_12_0>()) { |
184 rv = get_interface<PPB_Flash_12_0>()->GetLocalTimeZoneOffset( | 187 rv = get_interface<PPB_Flash_12_0>()->GetLocalTimeZoneOffset( |
185 instance->pp_instance(), t); | 188 instance.pp_instance(), t); |
186 } else if (has_interface<PPB_Flash_11>()) { | 189 } else if (has_interface<PPB_Flash_11>()) { |
187 rv = get_interface<PPB_Flash_11>()->GetLocalTimeZoneOffset( | 190 rv = get_interface<PPB_Flash_11>()->GetLocalTimeZoneOffset( |
188 instance->pp_instance(), t); | 191 instance.pp_instance(), t); |
189 } | 192 } |
190 return rv; | 193 return rv; |
191 } | 194 } |
192 | 195 |
193 // static | 196 // static |
194 Var Flash::GetCommandLineArgs(Module* module) { | 197 Var Flash::GetCommandLineArgs(Module* module) { |
195 Var rv; | 198 Var rv; |
196 if (has_interface<PPB_Flash>()) { | 199 if (has_interface<PPB_Flash>()) { |
197 rv = Var(Var::PassRef(), | 200 rv = Var(PASS_REF, |
198 get_interface<PPB_Flash>()->GetCommandLineArgs( | 201 get_interface<PPB_Flash>()->GetCommandLineArgs( |
199 module->pp_module())); | 202 module->pp_module())); |
200 } else if (has_interface<PPB_Flash_12_0>()) { | 203 } else if (has_interface<PPB_Flash_12_0>()) { |
201 rv = Var(Var::PassRef(), | 204 rv = Var(PASS_REF, |
202 get_interface<PPB_Flash_12_0>()->GetCommandLineArgs( | 205 get_interface<PPB_Flash_12_0>()->GetCommandLineArgs( |
203 module->pp_module())); | 206 module->pp_module())); |
204 } else if (has_interface<PPB_Flash_11>()) { | 207 } else if (has_interface<PPB_Flash_11>()) { |
205 rv = Var(Var::PassRef(), | 208 rv = Var(PASS_REF, |
206 get_interface<PPB_Flash_11>()->GetCommandLineArgs( | 209 get_interface<PPB_Flash_11>()->GetCommandLineArgs( |
207 module->pp_module())); | 210 module->pp_module())); |
208 } | 211 } |
209 return rv; | 212 return rv; |
210 } | 213 } |
211 | 214 |
212 // static | 215 // static |
213 void Flash::PreloadFontWin(const void* logfontw) { | 216 void Flash::PreloadFontWin(const void* logfontw) { |
214 if (has_interface<PPB_Flash>()) | 217 if (has_interface<PPB_Flash>()) |
215 get_interface<PPB_Flash>()->PreloadFontWin(logfontw); | 218 get_interface<PPB_Flash>()->PreloadFontWin(logfontw); |
216 else if (has_interface<PPB_Flash_12_0>()) | 219 else if (has_interface<PPB_Flash_12_0>()) |
217 get_interface<PPB_Flash_12_0>()->PreloadFontWin(logfontw); | 220 get_interface<PPB_Flash_12_0>()->PreloadFontWin(logfontw); |
218 } | 221 } |
219 | 222 |
220 // static | 223 // static |
221 bool Flash::IsRectTopmost(Instance* instance, const Rect& rect) { | 224 bool Flash::IsRectTopmost(const InstanceHandle& instance, const Rect& rect) { |
222 bool rv = false; | 225 bool rv = false; |
223 if (has_interface<PPB_Flash>()) { | 226 if (has_interface<PPB_Flash>()) { |
224 rv = PP_ToBool(get_interface<PPB_Flash>()->IsRectTopmost( | 227 rv = PP_ToBool(get_interface<PPB_Flash>()->IsRectTopmost( |
225 instance->pp_instance(), &rect.pp_rect())); | 228 instance.pp_instance(), &rect.pp_rect())); |
226 } | 229 } |
227 return rv; | 230 return rv; |
228 } | 231 } |
229 | 232 |
230 // static | 233 // static |
231 int32_t Flash::InvokePrinting(Instance* instance) { | 234 int32_t Flash::InvokePrinting(const InstanceHandle& instance) { |
232 int32_t rv = PP_ERROR_NOTSUPPORTED; | 235 int32_t rv = PP_ERROR_NOTSUPPORTED; |
233 if (has_interface<PPB_Flash>()) | 236 if (has_interface<PPB_Flash>()) |
234 rv = get_interface<PPB_Flash>()->InvokePrinting(instance->pp_instance()); | 237 rv = get_interface<PPB_Flash>()->InvokePrinting(instance.pp_instance()); |
235 return rv; | 238 return rv; |
236 } | 239 } |
237 | 240 |
238 // static | 241 // static |
239 void Flash::UpdateActivity(Instance* instance) { | 242 void Flash::UpdateActivity(const InstanceHandle& instance) { |
240 if (has_interface<PPB_Flash>()) | 243 if (has_interface<PPB_Flash>()) |
241 get_interface<PPB_Flash>()->UpdateActivity(instance->pp_instance()); | 244 get_interface<PPB_Flash>()->UpdateActivity(instance.pp_instance()); |
242 } | 245 } |
243 | 246 |
244 } // namespace flash | 247 } // namespace flash |
245 } // namespace pp | 248 } // namespace pp |
OLD | NEW |