| 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 "nacl_mounts/pepper_interface.h" | 5 #include "nacl_mounts/pepper_interface.h" |
| 6 #include <errno.h> | 6 #include <errno.h> |
| 7 #include <ppapi/c/pp_errors.h> | 7 #include <ppapi/c/pp_errors.h> |
| 8 | 8 |
| 9 ScopedResource::ScopedResource(PepperInterface* ppapi, PP_Resource resource) | 9 ScopedResource::ScopedResource(PepperInterface* ppapi, PP_Resource resource) |
| 10 : ppapi_(ppapi), | 10 : ppapi_(ppapi), |
| 11 resource_(resource) { | 11 resource_(resource) { |
| 12 ppapi_->AddRefResource(resource_); | |
| 13 } | |
| 14 | |
| 15 ScopedResource::ScopedResource(PepperInterface* ppapi, PP_Resource resource, | |
| 16 NoAddRef) | |
| 17 : ppapi_(ppapi), | |
| 18 resource_(resource) { | |
| 19 } | 12 } |
| 20 | 13 |
| 21 ScopedResource::~ScopedResource() { | 14 ScopedResource::~ScopedResource() { |
| 22 ppapi_->ReleaseResource(resource_); | 15 if (resource_) |
| 16 ppapi_->ReleaseResource(resource_); |
| 17 } |
| 18 |
| 19 PP_Resource ScopedResource::Release() { |
| 20 PP_Resource result = resource_; |
| 21 resource_ = 0; |
| 22 return result; |
| 23 } | 23 } |
| 24 | 24 |
| 25 int PPErrorToErrno(int32_t err) { | 25 int PPErrorToErrno(int32_t err) { |
| 26 switch (err) { | 26 switch (err) { |
| 27 case PP_OK: return 0; | 27 case PP_OK: return 0; |
| 28 case PP_OK_COMPLETIONPENDING: return 0; | 28 case PP_OK_COMPLETIONPENDING: return 0; |
| 29 case PP_ERROR_FAILED: return EPERM; | 29 case PP_ERROR_FAILED: return EPERM; |
| 30 case PP_ERROR_ABORTED: return EPERM; | 30 case PP_ERROR_ABORTED: return EPERM; |
| 31 case PP_ERROR_BADARGUMENT: return EINVAL; | 31 case PP_ERROR_BADARGUMENT: return EINVAL; |
| 32 case PP_ERROR_BADRESOURCE: return EBADF; | 32 case PP_ERROR_BADRESOURCE: return EBADF; |
| (...skipping 13 matching lines...) Expand all Loading... |
| 46 case PP_ERROR_USERCANCEL: return EPERM; | 46 case PP_ERROR_USERCANCEL: return EPERM; |
| 47 case PP_ERROR_NO_USER_GESTURE: return EPERM; | 47 case PP_ERROR_NO_USER_GESTURE: return EPERM; |
| 48 case PP_ERROR_CONTEXT_LOST: return EPERM; | 48 case PP_ERROR_CONTEXT_LOST: return EPERM; |
| 49 case PP_ERROR_NO_MESSAGE_LOOP: return EPERM; | 49 case PP_ERROR_NO_MESSAGE_LOOP: return EPERM; |
| 50 case PP_ERROR_WRONG_THREAD: return EPERM; | 50 case PP_ERROR_WRONG_THREAD: return EPERM; |
| 51 } | 51 } |
| 52 | 52 |
| 53 return EINVAL; | 53 return EINVAL; |
| 54 } | 54 } |
| 55 | 55 |
| OLD | NEW |