Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / ppapi / thunk / ppb_view_thunk.cc
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
3 // found in the LICENSE file.
4
5 // From ppb_view.idl modified Wed Nov  5 14:29:15 2014.
6
7 #include "ppapi/c/pp_errors.h"
8 #include "ppapi/c/ppb_view.h"
9 #include "ppapi/shared_impl/tracked_callback.h"
10 #include "ppapi/thunk/enter.h"
11 #include "ppapi/thunk/ppapi_thunk_export.h"
12 #include "ppapi/thunk/ppb_view_api.h"
13
14 namespace ppapi {
15 namespace thunk {
16
17 namespace {
18
19 PP_Bool IsView(PP_Resource resource) {
20   VLOG(4) << "PPB_View::IsView()";
21   EnterResource<PPB_View_API> enter(resource, false);
22   return PP_FromBool(enter.succeeded());
23 }
24
25 PP_Bool GetRect(PP_Resource resource, struct PP_Rect* rect) {
26   VLOG(4) << "PPB_View::GetRect()";
27   EnterResource<PPB_View_API> enter(resource, true);
28   if (enter.failed())
29     return PP_FALSE;
30   return enter.object()->GetRect(rect);
31 }
32
33 PP_Bool IsFullscreen(PP_Resource resource) {
34   VLOG(4) << "PPB_View::IsFullscreen()";
35   EnterResource<PPB_View_API> enter(resource, true);
36   if (enter.failed())
37     return PP_FALSE;
38   return enter.object()->IsFullscreen();
39 }
40
41 PP_Bool IsVisible(PP_Resource resource) {
42   VLOG(4) << "PPB_View::IsVisible()";
43   EnterResource<PPB_View_API> enter(resource, true);
44   if (enter.failed())
45     return PP_FALSE;
46   return enter.object()->IsVisible();
47 }
48
49 PP_Bool IsPageVisible(PP_Resource resource) {
50   VLOG(4) << "PPB_View::IsPageVisible()";
51   EnterResource<PPB_View_API> enter(resource, true);
52   if (enter.failed())
53     return PP_FALSE;
54   return enter.object()->IsPageVisible();
55 }
56
57 PP_Bool GetClipRect(PP_Resource resource, struct PP_Rect* clip) {
58   VLOG(4) << "PPB_View::GetClipRect()";
59   EnterResource<PPB_View_API> enter(resource, true);
60   if (enter.failed())
61     return PP_FALSE;
62   return enter.object()->GetClipRect(clip);
63 }
64
65 float GetDeviceScale(PP_Resource resource) {
66   VLOG(4) << "PPB_View::GetDeviceScale()";
67   EnterResource<PPB_View_API> enter(resource, true);
68   if (enter.failed())
69     return 0.0f;
70   return enter.object()->GetDeviceScale();
71 }
72
73 float GetCSSScale(PP_Resource resource) {
74   VLOG(4) << "PPB_View::GetCSSScale()";
75   EnterResource<PPB_View_API> enter(resource, true);
76   if (enter.failed())
77     return 0.0f;
78   return enter.object()->GetCSSScale();
79 }
80
81 PP_Bool GetScrollOffset(PP_Resource resource, struct PP_Point* offset) {
82   VLOG(4) << "PPB_View::GetScrollOffset()";
83   EnterResource<PPB_View_API> enter(resource, true);
84   if (enter.failed())
85     return PP_FALSE;
86   return enter.object()->GetScrollOffset(offset);
87 }
88
89 const PPB_View_1_0 g_ppb_view_thunk_1_0 = {&IsView,
90                                            &GetRect,
91                                            &IsFullscreen,
92                                            &IsVisible,
93                                            &IsPageVisible,
94                                            &GetClipRect};
95
96 const PPB_View_1_1 g_ppb_view_thunk_1_1 = {&IsView,
97                                            &GetRect,
98                                            &IsFullscreen,
99                                            &IsVisible,
100                                            &IsPageVisible,
101                                            &GetClipRect,
102                                            &GetDeviceScale,
103                                            &GetCSSScale};
104
105 const PPB_View_1_2 g_ppb_view_thunk_1_2 = {&IsView,
106                                            &GetRect,
107                                            &IsFullscreen,
108                                            &IsVisible,
109                                            &IsPageVisible,
110                                            &GetClipRect,
111                                            &GetDeviceScale,
112                                            &GetCSSScale,
113                                            &GetScrollOffset};
114
115 }  // namespace
116
117 PPAPI_THUNK_EXPORT const PPB_View_1_0* GetPPB_View_1_0_Thunk() {
118   return &g_ppb_view_thunk_1_0;
119 }
120
121 PPAPI_THUNK_EXPORT const PPB_View_1_1* GetPPB_View_1_1_Thunk() {
122   return &g_ppb_view_thunk_1_1;
123 }
124
125 PPAPI_THUNK_EXPORT const PPB_View_1_2* GetPPB_View_1_2_Thunk() {
126   return &g_ppb_view_thunk_1_2;
127 }
128
129 }  // namespace thunk
130 }  // namespace ppapi