Index: ppapi/shared_impl/ppapi_permissions.cc |
diff --git a/ppapi/shared_impl/ppapi_permissions.cc b/ppapi/shared_impl/ppapi_permissions.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bcfdd9601f3573c35a7e94bca1b817facaec9a42 |
--- /dev/null |
+++ b/ppapi/shared_impl/ppapi_permissions.cc |
@@ -0,0 +1,30 @@ |
+// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "ppapi/shared_impl/ppapi_permissions.h" |
+ |
+#include "base/logging.h" |
+ |
+namespace ppapi { |
+ |
+PpapiPermissions::PpapiPermissions() : permissions_(0) { |
+} |
+ |
+PpapiPermissions::PpapiPermissions(uint32 perms) : permissions_(perms) { |
+} |
+ |
+PpapiPermissions::~PpapiPermissions() { |
+} |
+ |
+bool PpapiPermissions::HasPermission(Permission perm) const { |
+ // Check that "perm" is a power of two to make sure the caller didn't set |
+ // more than one permission bit. We may want to change how permissions are |
+ // represented in the future so don't want callers making assumptions about |
+ // bits. |
+ uint32 perm_int = static_cast<uint32>(perm); |
+ DCHECK((perm_int & (perm_int - 1)) == 0); |
+ return !!(permissions_ & perm_int); |
+} |
+ |
+} // namespace ppapi |