Roll src/third_party/WebKit d9c6159:8139f33 (svn 201974:201975)
[chromium-blink-merge.git] / chrome / test / data / nacl / bad / ppapi_bad_ppp_instance_didcreate_crash.cc
blob2fd4ec625034938c8aaaca12a21a6f98a3238ef6
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"
11 #include "ppapi/c/pp_errors.h"
12 #include "ppapi/c/pp_instance.h"
13 #include "ppapi/c/pp_module.h"
14 #include "ppapi/c/pp_var.h"
15 #include "ppapi/c/ppb.h"
16 #include "ppapi/c/ppb_instance.h"
17 #include "ppapi/c/ppp.h"
18 #include "ppapi/c/ppp_instance.h"
20 #include "ppapi/native_client/tests/ppapi_test_lib/test_interface.h"
22 PP_EXPORT int32_t PPP_InitializeModule(PP_Module module_id,
23 PPB_GetInterface get_browser_interface) {
24 printf("PPP_InitializeModule\n");
25 return PP_OK;
28 PP_EXPORT void PPP_ShutdownModule() {
29 printf("PPP_ShutdownModule\n");
30 fflush(stdout);
33 namespace {
35 PP_Bool DidCreate(PP_Instance /*instance*/,
36 uint32_t /*argc*/,
37 const char* /*argn*/[],
38 const char* /*argv*/[]) {
39 CRASH;
40 return PP_FALSE;
43 const PPP_Instance instance_interface = {
44 DidCreate,
45 // Normally one is not alowed to register NULLs for functions, but
46 // since DidCreate is going to crash, these will never be called.
47 NULL,
48 NULL,
49 NULL,
50 NULL
53 } // namespace
55 PP_EXPORT const void* PPP_GetInterface(const char* interface_name) {
56 printf("PPP_GetInterface(%s)\n", interface_name);
57 if (0 == std::strcmp(interface_name, PPP_INSTANCE_INTERFACE)) // Required.
58 return reinterpret_cast<const void*>(&instance_interface);
59 return NULL;