Roll src/third_party/WebKit d9c6159:8139f33 (svn 201974:201975)
[chromium-blink-merge.git] / chrome / test / data / nacl / bad / ppapi_bad_event_replay_crash.cc
blobf3a8fb293cd8a7faca63d9400acbb5c90b4ef2e4
1 // Copyright 2013 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.
5 #include <cstdio>
6 #include <cstdlib>
7 #include <cstring>
9 #include "native_client/src/shared/platform/nacl_check.h"
10 #include "ppapi/c/pp_errors.h"
11 #include "ppapi/c/pp_instance.h"
12 #include "ppapi/c/pp_module.h"
13 #include "ppapi/c/pp_var.h"
15 #include "ppapi/c/ppb.h"
16 #include "ppapi/c/ppb_instance.h"
17 #include "ppapi/c/ppp_instance.h"
18 #include "ppapi/c/ppp.h"
20 PP_EXPORT int32_t PPP_InitializeModule(PP_Module module_id,
21 PPB_GetInterface get_browser_interface) {
22 printf("PPP_InitializeModule\n");
23 return PP_OK;
26 PP_EXPORT void PPP_ShutdownModule() {
27 printf("PPP_ShutdownModule\n");
28 fflush(stdout);
31 namespace {
33 PP_Bool DidCreate(PP_Instance /*instance*/,
34 uint32_t /*argc*/,
35 const char* /*argn*/[],
36 const char* /*argv*/[]) {
37 return PP_TRUE;
40 void DidDestroy(PP_Instance /*instance*/) {
43 void DidChangeFocus(PP_Instance /*instance*/, PP_Bool /*has_focus*/) {
46 PP_Bool HandleDocumentLoad(PP_Instance /*instance*/, PP_Resource /*loader*/) {
47 return PP_FALSE;
50 const PPP_Instance instance_interface = {
51 DidCreate,
52 DidDestroy,
53 NULL, // Calling DidChangeView will cause a crash!
54 DidChangeFocus,
55 HandleDocumentLoad
58 } // namespace
60 PP_EXPORT const void* PPP_GetInterface(const char* interface_name) {
61 printf("PPP_GetInterface(%s)\n", interface_name);
62 if (0 == std::strcmp(interface_name, PPP_INSTANCE_INTERFACE)) // Required.
63 return reinterpret_cast<const void*>(&instance_interface);
64 return NULL;