[Mac] Enable CrZombie for subprocesses in release builds.
[chromium-blink-merge.git] / ppapi / thunk / ppb_broker_thunk.cc
blobc6c1cd10969353a9903ce422ef37493dad7c4f94
1 // Copyright (c) 2011 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 "ppapi/c/trusted/ppb_broker_trusted.h"
6 #include "ppapi/c/pp_errors.h"
7 #include "ppapi/thunk/common.h"
8 #include "ppapi/thunk/enter.h"
9 #include "ppapi/thunk/thunk.h"
10 #include "ppapi/thunk/ppb_broker_api.h"
11 #include "ppapi/thunk/resource_creation_api.h"
13 namespace ppapi {
14 namespace thunk {
16 namespace {
18 PP_Resource CreateTrusted(PP_Instance instance) {
19 EnterFunction<ResourceCreationAPI> enter(instance, true);
20 if (enter.failed())
21 return 0;
22 return enter.functions()->CreateBroker(instance);
25 PP_Bool IsBrokerTrusted(PP_Resource resource) {
26 EnterResource<PPB_Broker_API> enter(resource, false);
27 return PP_FromBool(enter.succeeded());
30 int32_t Connect(PP_Resource resource,
31 PP_CompletionCallback connect_callback) {
32 EnterResource<PPB_Broker_API> enter(resource, true);
33 if (enter.failed())
34 return MayForceCallback(connect_callback, PP_ERROR_BADRESOURCE);
35 int32_t result = enter.object()->Connect(connect_callback);
36 return MayForceCallback(connect_callback, result);
39 int32_t GetHandle(PP_Resource resource, int32_t* handle) {
40 EnterResource<PPB_Broker_API> enter(resource, true);
41 if (enter.failed())
42 return PP_ERROR_BADRESOURCE;
43 return enter.object()->GetHandle(handle);
46 const PPB_BrokerTrusted g_ppb_broker_thunk = {
47 &CreateTrusted,
48 &IsBrokerTrusted,
49 &Connect,
50 &GetHandle,
53 } // namespace
55 const PPB_BrokerTrusted* GetPPB_BrokerTrusted_Thunk() {
56 return &g_ppb_broker_thunk;
59 } // namespace thunk
60 } // namespace ppapi