Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(528)

Side by Side Diff: ppapi/proxy/ppp_graphics_3d_proxy.cc

Issue 7740038: Use macros to define pepper interfaces (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Self review Created 9 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 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 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 "ppapi/proxy/ppp_graphics_3d_proxy.h" 5 #include "ppapi/proxy/ppp_graphics_3d_proxy.h"
6 6
7 #include "ppapi/c/dev/ppp_graphics_3d_dev.h" 7 #include "ppapi/c/dev/ppp_graphics_3d_dev.h"
8 #include "ppapi/proxy/host_dispatcher.h" 8 #include "ppapi/proxy/host_dispatcher.h"
9 #include "ppapi/proxy/plugin_dispatcher.h" 9 #include "ppapi/proxy/plugin_dispatcher.h"
10 #include "ppapi/proxy/ppapi_messages.h" 10 #include "ppapi/proxy/ppapi_messages.h"
11 11
12 namespace ppapi { 12 namespace ppapi {
13 namespace proxy { 13 namespace proxy {
14 14
15 namespace { 15 namespace {
16 16
17 void ContextLost(PP_Instance instance) { 17 void ContextLost(PP_Instance instance) {
18 HostDispatcher::GetForInstance(instance)->Send( 18 HostDispatcher::GetForInstance(instance)->Send(
19 new PpapiMsg_PPPGraphics3D_ContextLost(INTERFACE_ID_PPP_GRAPHICS_3D_DEV, 19 new PpapiMsg_PPPGraphics3D_ContextLost(INTERFACE_ID_PPP_GRAPHICS_3D_DEV,
20 instance)); 20 instance));
21 } 21 }
22 22
23 static const PPP_Graphics3D_Dev graphics_3d_interface = { 23 static const PPP_Graphics3D_Dev graphics_3d_interface = {
24 &ContextLost 24 &ContextLost
25 }; 25 };
26 26
27 InterfaceProxy* CreateGraphics3DProxy(Dispatcher* dispatcher, 27 InterfaceProxy* CreateGraphics3DProxy(Dispatcher* dispatcher) {
28 const void* target_interface) { 28 return new PPP_Graphics3D_Proxy(dispatcher);
29 return new PPP_Graphics3D_Proxy(dispatcher, target_interface);
30 } 29 }
31 30
32 } // namespace 31 } // namespace
33 32
34 PPP_Graphics3D_Proxy::PPP_Graphics3D_Proxy(Dispatcher* dispatcher, 33 PPP_Graphics3D_Proxy::PPP_Graphics3D_Proxy(Dispatcher* dispatcher)
35 const void* target_interface) 34 : InterfaceProxy(dispatcher),
36 : InterfaceProxy(dispatcher, target_interface) { 35 ppp_graphics_3d_impl_(NULL) {
36 if (dispatcher->IsPlugin()) {
37 ppp_graphics_3d_impl_ = static_cast<const PPP_Graphics3D_Dev*>(
38 dispatcher->local_get_interface()(PPP_GRAPHICS_3D_DEV_INTERFACE));
39 }
37 } 40 }
38 41
39 PPP_Graphics3D_Proxy::~PPP_Graphics3D_Proxy() { 42 PPP_Graphics3D_Proxy::~PPP_Graphics3D_Proxy() {
40 } 43 }
41 44
42 // static 45 // static
43 const InterfaceProxy::Info* PPP_Graphics3D_Proxy::GetInfo() { 46 const InterfaceProxy::Info* PPP_Graphics3D_Proxy::GetInfo() {
44 static const Info info = { 47 static const Info info = {
45 &graphics_3d_interface, 48 &graphics_3d_interface,
46 PPP_GRAPHICS_3D_DEV_INTERFACE, 49 PPP_GRAPHICS_3D_DEV_INTERFACE,
47 INTERFACE_ID_PPP_GRAPHICS_3D_DEV, 50 INTERFACE_ID_PPP_GRAPHICS_3D_DEV,
48 false, 51 false,
49 &CreateGraphics3DProxy, 52 &CreateGraphics3DProxy,
50 }; 53 };
51 return &info; 54 return &info;
52 } 55 }
53 56
54 bool PPP_Graphics3D_Proxy::OnMessageReceived(const IPC::Message& msg) { 57 bool PPP_Graphics3D_Proxy::OnMessageReceived(const IPC::Message& msg) {
55 bool handled = true; 58 bool handled = true;
56 IPC_BEGIN_MESSAGE_MAP(PPP_Graphics3D_Proxy, msg) 59 IPC_BEGIN_MESSAGE_MAP(PPP_Graphics3D_Proxy, msg)
57 IPC_MESSAGE_HANDLER(PpapiMsg_PPPGraphics3D_ContextLost, 60 IPC_MESSAGE_HANDLER(PpapiMsg_PPPGraphics3D_ContextLost,
58 OnMsgContextLost) 61 OnMsgContextLost)
59 IPC_MESSAGE_UNHANDLED(handled = false) 62 IPC_MESSAGE_UNHANDLED(handled = false)
60 IPC_END_MESSAGE_MAP() 63 IPC_END_MESSAGE_MAP()
61 return handled; 64 return handled;
62 } 65 }
63 66
64 void PPP_Graphics3D_Proxy::OnMsgContextLost(PP_Instance instance) { 67 void PPP_Graphics3D_Proxy::OnMsgContextLost(PP_Instance instance) {
65 if (ppp_graphics_3d_target()) 68 if (ppp_graphics_3d_impl_)
66 ppp_graphics_3d_target()->Graphics3DContextLost(instance); 69 ppp_graphics_3d_impl_->Graphics3DContextLost(instance);
67 } 70 }
68 71
69 } // namespace proxy 72 } // namespace proxy
70 } // namespace ppapi 73 } // namespace ppapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698