| Index: ppapi/proxy/interface_list.cc
|
| diff --git a/ppapi/proxy/interface_list.cc b/ppapi/proxy/interface_list.cc
|
| index 588d3545cdc13f691f52c42bcfb10301e75c98ba..8b05f7ace993144181dafb1f9a0df88f9b302b25 100644
|
| --- a/ppapi/proxy/interface_list.cc
|
| +++ b/ppapi/proxy/interface_list.cc
|
| @@ -165,6 +165,7 @@ InterfaceProxy* ProxyFactory(Dispatcher* dispatcher) {
|
| }
|
|
|
| base::LazyInstance<PpapiPermissions> g_process_global_permissions;
|
| +base::LazyInstance<bool> g_supports_dev_channel;
|
|
|
| } // namespace
|
|
|
| @@ -189,7 +190,6 @@ InterfaceList::InterfaceList() {
|
| #include "ppapi/thunk/interfaces_ppb_private_no_permissions.h"
|
| #include "ppapi/thunk/interfaces_ppb_public_stable.h"
|
| }
|
| -
|
| {
|
| Permission current_required_permission = PERMISSION_DEV;
|
| #include "ppapi/thunk/interfaces_ppb_public_dev.h"
|
| @@ -205,6 +205,8 @@ InterfaceList::InterfaceList() {
|
| #endif // !defined(OS_NACL)
|
| }
|
|
|
| + // TODO(teravest): Add dev channel interfaces here.
|
| +
|
| #undef PROXIED_API
|
| #undef PROXIED_IFACE
|
|
|
| @@ -310,6 +312,12 @@ void InterfaceList::SetProcessGlobalPermissions(
|
| g_process_global_permissions.Get() = permissions;
|
| }
|
|
|
| +// static
|
| +void InterfaceList::SetSupportsDevChannel(
|
| + bool supports_dev_channel) {
|
| + g_supports_dev_channel.Get() = supports_dev_channel;
|
| +}
|
| +
|
| ApiID InterfaceList::GetIDForPPBInterface(const std::string& name) const {
|
| NameToInterfaceInfoMap::const_iterator found =
|
| name_to_browser_info_.find(name);
|
| @@ -340,6 +348,8 @@ const void* InterfaceList::GetInterfaceForPPB(const std::string& name) const {
|
| if (found == name_to_browser_info_.end())
|
| return NULL;
|
|
|
| + // Dev channel checking goes here.
|
| +
|
| if (g_process_global_permissions.Get().HasPermission(
|
| found->second.required_permission))
|
| return found->second.iface;
|
|
|