summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy/ppb_surface_3d_proxy.cc
diff options
context:
space:
mode:
Diffstat (limited to 'ppapi/proxy/ppb_surface_3d_proxy.cc')
-rw-r--r--ppapi/proxy/ppb_surface_3d_proxy.cc23
1 files changed, 16 insertions, 7 deletions
diff --git a/ppapi/proxy/ppb_surface_3d_proxy.cc b/ppapi/proxy/ppb_surface_3d_proxy.cc
index eaca110..fc97c46 100644
--- a/ppapi/proxy/ppb_surface_3d_proxy.cc
+++ b/ppapi/proxy/ppb_surface_3d_proxy.cc
@@ -98,7 +98,7 @@ int32_t SwapBuffers(PP_Resource surface_id,
return PP_ERROR_WOULDBLOCK;
}
-const PPB_Surface3D_Dev ppb_surface_3d = {
+const PPB_Surface3D_Dev surface_3d_interface = {
&Create,
&IsSurface3D,
&SetAttrib,
@@ -106,6 +106,11 @@ const PPB_Surface3D_Dev ppb_surface_3d = {
&SwapBuffers
};
+InterfaceProxy* CreateSurface3DProxy(Dispatcher* dispatcher,
+ const void* target_interface) {
+ return new PPB_Surface3D_Proxy(dispatcher, target_interface);
+}
+
} // namespace
PPB_Surface3D_Proxy::PPB_Surface3D_Proxy(Dispatcher* dispatcher,
@@ -117,12 +122,16 @@ PPB_Surface3D_Proxy::PPB_Surface3D_Proxy(Dispatcher* dispatcher,
PPB_Surface3D_Proxy::~PPB_Surface3D_Proxy() {
}
-const void* PPB_Surface3D_Proxy::GetSourceInterface() const {
- return &ppb_surface_3d;
-}
-
-InterfaceID PPB_Surface3D_Proxy::GetInterfaceId() const {
- return INTERFACE_ID_PPB_SURFACE_3D;
+// static
+const InterfaceProxy::Info* PPB_Surface3D_Proxy::GetInfo() {
+ static const Info info = {
+ &surface_3d_interface,
+ PPB_SURFACE_3D_DEV_INTERFACE,
+ INTERFACE_ID_PPB_SURFACE_3D,
+ false,
+ &CreateSurface3DProxy,
+ };
+ return &info;
}
bool PPB_Surface3D_Proxy::OnMessageReceived(const IPC::Message& msg) {