Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(422)

Side by Side Diff: mojo/examples/pepper_container_app/plugin_instance.cc

Issue 681203002: Remove mojo/examples/pepper_container_app (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #include "mojo/examples/pepper_container_app/plugin_instance.h"
6
7 #include "base/logging.h"
8 #include "mojo/examples/pepper_container_app/graphics_3d_resource.h"
9 #include "mojo/examples/pepper_container_app/mojo_ppapi_globals.h"
10 #include "ppapi/c/pp_errors.h"
11 #include "ppapi/c/pp_var.h"
12 #include "ppapi/c/ppp_graphics_3d.h"
13 #include "ppapi/c/ppp_instance.h"
14 #include "ppapi/shared_impl/ppb_view_shared.h"
15 #include "ppapi/shared_impl/proxy_lock.h"
16 #include "ppapi/shared_impl/tracked_callback.h"
17 #include "ppapi/thunk/enter.h"
18 #include "ppapi/thunk/ppb_graphics_3d_api.h"
19
20 namespace mojo {
21 namespace examples {
22
23 PluginInstance::PluginInstance(scoped_refptr<PluginModule> plugin_module)
24 : pp_instance_(0),
25 plugin_module_(plugin_module) {
26 pp_instance_ = MojoPpapiGlobals::Get()->AddInstance(this);
27 }
28
29 PluginInstance::~PluginInstance() {
30 MojoPpapiGlobals::Get()->InstanceDeleted(pp_instance_);
31 }
32
33 bool PluginInstance::DidCreate() {
34 ppapi::ProxyAutoUnlock unlock;
35 const PPP_Instance_1_1* instance_interface =
36 static_cast<const PPP_Instance_1_1*>(plugin_module_->GetPluginInterface(
37 PPP_INSTANCE_INTERFACE_1_1));
38 return !!instance_interface->DidCreate(pp_instance(), 0, NULL, NULL);
39 }
40
41 void PluginInstance::DidDestroy() {
42 ppapi::ProxyAutoUnlock unlock;
43 const PPP_Instance_1_1* instance_interface =
44 static_cast<const PPP_Instance_1_1*>(plugin_module_->GetPluginInterface(
45 PPP_INSTANCE_INTERFACE_1_1));
46 instance_interface->DidDestroy(pp_instance());
47 }
48
49 void PluginInstance::DidChangeView(const PP_Rect& bounds) {
50 ppapi::ViewData view_data;
51 view_data.rect = bounds;
52 view_data.is_fullscreen = false;
53 view_data.is_page_visible = true;
54 view_data.clip_rect = bounds;
55 view_data.device_scale = 1.0f;
56 view_data.css_scale = 1.0f;
57
58 ppapi::ScopedPPResource resource(ppapi::ScopedPPResource::PassRef(),
59 (new ppapi::PPB_View_Shared(
60 ppapi::OBJECT_IS_IMPL, pp_instance(), view_data))->GetReference());
61 {
62 ppapi::ProxyAutoUnlock unlock;
63 const PPP_Instance_1_1* instance_interface =
64 static_cast<const PPP_Instance_1_1*>(plugin_module_->GetPluginInterface(
65 PPP_INSTANCE_INTERFACE_1_1));
66 instance_interface->DidChangeView(pp_instance(), resource);
67 }
68 }
69
70 void PluginInstance::Graphics3DContextLost() {
71 ppapi::ProxyAutoUnlock unlock;
72 const PPP_Graphics3D_1_0* graphic_3d_interface =
73 static_cast<const PPP_Graphics3D_1_0*>(plugin_module_->GetPluginInterface(
74 PPP_GRAPHICS_3D_INTERFACE_1_0));
75 // TODO(yzshen): Maybe we only need to notify for the bound graphics context?
76 graphic_3d_interface->Graphics3DContextLost(pp_instance());
77 }
78
79 bool PluginInstance::IsBoundGraphics(PP_Resource device) const {
80 return device != 0 && device == bound_graphics_.get();
81 }
82
83 PP_Bool PluginInstance::BindGraphics(PP_Instance instance, PP_Resource device) {
84 if (bound_graphics_.get() == device)
85 return PP_TRUE;
86
87 ppapi::thunk::EnterResourceNoLock<ppapi::thunk::PPB_Graphics3D_API>
88 enter(device, false);
89 if (enter.failed())
90 return PP_FALSE;
91
92 bound_graphics_ = device;
93 static_cast<Graphics3DResource*>(enter.object())->BindGraphics();
94
95 return PP_TRUE;
96 }
97
98 PP_Bool PluginInstance::IsFullFrame(PP_Instance instance) {
99 NOTIMPLEMENTED();
100 return PP_FALSE;
101 }
102
103 const ppapi::ViewData* PluginInstance::GetViewData(PP_Instance instance) {
104 NOTIMPLEMENTED();
105 return NULL;
106 }
107
108 PP_Bool PluginInstance::FlashIsFullscreen(PP_Instance instance) {
109 NOTIMPLEMENTED();
110 return PP_FALSE;
111 }
112
113 PP_Var PluginInstance::GetWindowObject(PP_Instance instance) {
114 NOTIMPLEMENTED();
115 return PP_MakeUndefined();
116 }
117
118 PP_Var PluginInstance::GetOwnerElementObject(PP_Instance instance) {
119 NOTIMPLEMENTED();
120 return PP_MakeUndefined();
121 }
122
123 PP_Var PluginInstance::ExecuteScript(PP_Instance instance,
124 PP_Var script,
125 PP_Var* exception) {
126 NOTIMPLEMENTED();
127 return PP_MakeUndefined();
128 }
129
130 uint32_t PluginInstance::GetAudioHardwareOutputSampleRate(
131 PP_Instance instance) {
132 NOTIMPLEMENTED();
133 return 0;
134 }
135
136 uint32_t PluginInstance::GetAudioHardwareOutputBufferSize(
137 PP_Instance instance) {
138 NOTIMPLEMENTED();
139 return 0;
140 }
141
142 PP_Var PluginInstance::GetDefaultCharSet(PP_Instance instance) {
143 NOTIMPLEMENTED();
144 return PP_MakeUndefined();
145 }
146
147 void PluginInstance::Log(PP_Instance instance,
148 PP_LogLevel log_level,
149 PP_Var value) {
150 NOTIMPLEMENTED();
151 }
152
153 void PluginInstance::LogWithSource(PP_Instance instance,
154 PP_LogLevel log_level,
155 PP_Var source,
156 PP_Var value) {
157 NOTIMPLEMENTED();
158 }
159
160 void PluginInstance::SetPluginToHandleFindRequests(PP_Instance instance) {
161 NOTIMPLEMENTED();
162 }
163
164 void PluginInstance::NumberOfFindResultsChanged(PP_Instance instance,
165 int32_t total,
166 PP_Bool final_result) {
167 NOTIMPLEMENTED();
168 }
169
170 void PluginInstance::SelectedFindResultChanged(PP_Instance instance,
171 int32_t index) {
172 NOTIMPLEMENTED();
173 }
174
175 void PluginInstance::SetTickmarks(PP_Instance instance,
176 const PP_Rect* tickmarks,
177 uint32_t count) {
178 NOTIMPLEMENTED();
179 }
180
181 PP_Bool PluginInstance::IsFullscreen(PP_Instance instance) {
182 NOTIMPLEMENTED();
183 return PP_FALSE;
184 }
185
186 PP_Bool PluginInstance::SetFullscreen(PP_Instance instance,
187 PP_Bool fullscreen) {
188 NOTIMPLEMENTED();
189 return PP_FALSE;
190 }
191
192 PP_Bool PluginInstance::GetScreenSize(PP_Instance instance, PP_Size* size) {
193 NOTIMPLEMENTED();
194 return PP_FALSE;
195 }
196
197 ppapi::Resource* PluginInstance::GetSingletonResource(
198 PP_Instance instance,
199 ppapi::SingletonResourceID id) {
200 NOTIMPLEMENTED();
201 return NULL;
202 }
203
204 int32_t PluginInstance::RequestInputEvents(PP_Instance instance,
205 uint32_t event_classes) {
206 NOTIMPLEMENTED();
207 return PP_ERROR_FAILED;
208 }
209
210 int32_t PluginInstance::RequestFilteringInputEvents(PP_Instance instance,
211 uint32_t event_classes) {
212 NOTIMPLEMENTED();
213 return PP_ERROR_FAILED;
214 }
215
216 void PluginInstance::ClearInputEventRequest(PP_Instance instance,
217 uint32_t event_classes) {
218 NOTIMPLEMENTED();
219 }
220
221 void PluginInstance::StartTrackingLatency(PP_Instance instance) {
222 NOTIMPLEMENTED();
223 }
224
225 void PluginInstance::PostMessage(PP_Instance instance, PP_Var message) {
226 NOTIMPLEMENTED();
227 }
228
229 int32_t PluginInstance::RegisterMessageHandler(
230 PP_Instance instance,
231 void* user_data,
232 const PPP_MessageHandler_0_2* handler,
233 PP_Resource message_loop) {
234 NOTIMPLEMENTED();
235 return PP_ERROR_FAILED;
236 }
237
238 // TODO(dmichael): Remove this. crbug.com/414398
239 int32_t PluginInstance::RegisterMessageHandler_1_1_Deprecated(
240 PP_Instance instance,
241 void* user_data,
242 const PPP_MessageHandler_0_1_Deprecated* handler,
243 PP_Resource message_loop) {
244 NOTIMPLEMENTED();
245 return PP_ERROR_FAILED;
246 }
247
248 void PluginInstance::UnregisterMessageHandler(PP_Instance instance) {
249 NOTIMPLEMENTED();
250 }
251
252 PP_Bool PluginInstance::SetCursor(PP_Instance instance,
253 PP_MouseCursor_Type type,
254 PP_Resource image,
255 const PP_Point* hot_spot) {
256 NOTIMPLEMENTED();
257 return PP_FALSE;
258 }
259
260 int32_t PluginInstance::LockMouse(
261 PP_Instance instance,
262 scoped_refptr<ppapi::TrackedCallback> callback) {
263 NOTIMPLEMENTED();
264 return PP_ERROR_FAILED;
265 }
266
267 void PluginInstance::UnlockMouse(PP_Instance instance) {
268 NOTIMPLEMENTED();
269 }
270
271 void PluginInstance::SetTextInputType(PP_Instance instance,
272 PP_TextInput_Type type) {
273 NOTIMPLEMENTED();
274 }
275
276 void PluginInstance::UpdateCaretPosition(PP_Instance instance,
277 const PP_Rect& caret,
278 const PP_Rect& bounding_box) {
279 NOTIMPLEMENTED();
280 }
281
282 void PluginInstance::CancelCompositionText(PP_Instance instance) {
283 NOTIMPLEMENTED();
284 }
285
286 void PluginInstance::SelectionChanged(PP_Instance instance) {
287 NOTIMPLEMENTED();
288 }
289
290 void PluginInstance::UpdateSurroundingText(PP_Instance instance,
291 const char* text,
292 uint32_t caret,
293 uint32_t anchor) {
294 NOTIMPLEMENTED();
295 }
296
297 void PluginInstance::ZoomChanged(PP_Instance instance, double factor) {
298 NOTIMPLEMENTED();
299 }
300
301 void PluginInstance::ZoomLimitsChanged(PP_Instance instance,
302 double minimum_factor,
303 double maximum_factor) {
304 NOTIMPLEMENTED();
305 }
306
307 PP_Var PluginInstance::GetDocumentURL(PP_Instance instance,
308 PP_URLComponents_Dev* components) {
309 NOTIMPLEMENTED();
310 return PP_MakeUndefined();
311 }
312
313 void PluginInstance::PromiseResolved(PP_Instance instance, uint32 promise_id) {
314 NOTIMPLEMENTED();
315 }
316
317 void PluginInstance::PromiseResolvedWithSession(PP_Instance instance,
318 uint32 promise_id,
319 PP_Var web_session_id_var) {
320 NOTIMPLEMENTED();
321 }
322
323 void PluginInstance::PromiseResolvedWithKeyIds(PP_Instance instance,
324 uint32 promise_id,
325 PP_Var key_ids_var) {
326 NOTIMPLEMENTED();
327 }
328
329 void PluginInstance::PromiseRejected(PP_Instance instance,
330 uint32 promise_id,
331 PP_CdmExceptionCode exception_code,
332 uint32 system_code,
333 PP_Var error_description_var) {
334 NOTIMPLEMENTED();
335 }
336
337 void PluginInstance::SessionMessage(PP_Instance instance,
338 PP_Var web_session_id_var,
339 PP_Var message_var,
340 PP_Var destination_url_var) {
341 NOTIMPLEMENTED();
342 }
343
344 void PluginInstance::SessionKeysChange(PP_Instance instance,
345 PP_Var web_session_id_var,
346 PP_Bool has_additional_usable_key) {
347 NOTIMPLEMENTED();
348 }
349
350 void PluginInstance::SessionExpirationChange(PP_Instance instance,
351 PP_Var web_session_id_var,
352 PP_Time new_expiry_time) {
353 NOTIMPLEMENTED();
354 }
355
356 void PluginInstance::SessionReady(PP_Instance instance,
357 PP_Var web_session_id_var) {
358 NOTIMPLEMENTED();
359 }
360
361 void PluginInstance::SessionClosed(PP_Instance instance,
362 PP_Var web_session_id_var) {
363 NOTIMPLEMENTED();
364 }
365
366 void PluginInstance::SessionError(PP_Instance instance,
367 PP_Var web_session_id_var,
368 PP_CdmExceptionCode exception_code,
369 uint32 system_code,
370 PP_Var error_description_var) {
371 NOTIMPLEMENTED();
372 }
373
374 void PluginInstance::DeliverBlock(PP_Instance instance,
375 PP_Resource decrypted_block,
376 const PP_DecryptedBlockInfo* block_info) {
377 NOTIMPLEMENTED();
378 }
379
380 void PluginInstance::DecoderInitializeDone(PP_Instance instance,
381 PP_DecryptorStreamType decoder_type,
382 uint32_t request_id,
383 PP_Bool success) {
384 NOTIMPLEMENTED();
385 }
386
387 void PluginInstance::DecoderDeinitializeDone(
388 PP_Instance instance,
389 PP_DecryptorStreamType decoder_type,
390 uint32_t request_id) {
391 NOTIMPLEMENTED();
392 }
393
394 void PluginInstance::DecoderResetDone(PP_Instance instance,
395 PP_DecryptorStreamType decoder_type,
396 uint32_t request_id) {
397 NOTIMPLEMENTED();
398 }
399
400 void PluginInstance::DeliverFrame(PP_Instance instance,
401 PP_Resource decrypted_frame,
402 const PP_DecryptedFrameInfo* frame_info) {
403 NOTIMPLEMENTED();
404 }
405
406 void PluginInstance::DeliverSamples(PP_Instance instance,
407 PP_Resource audio_frames,
408 const PP_DecryptedSampleInfo* sample_info) {
409 NOTIMPLEMENTED();
410 }
411
412 PP_Var PluginInstance::ResolveRelativeToDocument(
413 PP_Instance instance,
414 PP_Var relative,
415 PP_URLComponents_Dev* components) {
416 NOTIMPLEMENTED();
417 return PP_MakeUndefined();
418 }
419
420 PP_Bool PluginInstance::DocumentCanRequest(PP_Instance instance, PP_Var url) {
421 NOTIMPLEMENTED();
422 return PP_FALSE;
423 }
424
425 PP_Bool PluginInstance::DocumentCanAccessDocument(PP_Instance instance,
426 PP_Instance target) {
427 NOTIMPLEMENTED();
428 return PP_FALSE;
429 }
430
431 PP_Var PluginInstance::GetPluginInstanceURL(PP_Instance instance,
432 PP_URLComponents_Dev* components) {
433 NOTIMPLEMENTED();
434 return PP_MakeUndefined();
435 }
436
437 PP_Var PluginInstance::GetPluginReferrerURL(PP_Instance instance,
438 PP_URLComponents_Dev* components) {
439 NOTIMPLEMENTED();
440 return PP_MakeUndefined();
441 }
442
443 } // namespace examples
444 } // namespace mojo
OLDNEW
« no previous file with comments | « mojo/examples/pepper_container_app/plugin_instance.h ('k') | mojo/examples/pepper_container_app/plugin_module.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698