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

Side by Side Diff: ppapi/thunk/ppb_scrollbar_thunk.cc

Issue 7538006: Pepper and WebKit API change to support a plugin knowing if a scrollbar is an overlay one. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Get rid of ScrollbarGroup's methods and the ResizeClient interface Created 9 years, 4 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/thunk/thunk.h" 5 #include "ppapi/thunk/thunk.h"
6 #include "ppapi/thunk/enter.h" 6 #include "ppapi/thunk/enter.h"
7 #include "ppapi/thunk/ppb_scrollbar_api.h" 7 #include "ppapi/thunk/ppb_scrollbar_api.h"
8 #include "ppapi/thunk/resource_creation_api.h" 8 #include "ppapi/thunk/resource_creation_api.h"
9 9
10 namespace ppapi { 10 namespace ppapi {
11 namespace thunk { 11 namespace thunk {
12 12
13 typedef EnterResource<PPB_Scrollbar_API> EnterScrollbar; 13 typedef EnterResource<PPB_Scrollbar_API> EnterScrollbar;
14 14
15 namespace { 15 namespace {
16 16
17 PP_Resource Create(PP_Instance instance, PP_Bool vertical) { 17 PP_Resource Create(PP_Instance instance,
18 PP_Instance scrollbar_group,
19 PP_Bool vertical) {
18 EnterFunction<ResourceCreationAPI> enter(instance, true); 20 EnterFunction<ResourceCreationAPI> enter(instance, true);
19 if (enter.failed()) 21 if (enter.failed())
20 return 0; 22 return 0;
21 return enter.functions()->CreateScrollbar(instance, vertical); 23 return enter.functions()->CreateScrollbar(
24 instance, scrollbar_group, vertical);
22 } 25 }
23 26
24 PP_Bool IsScrollbar(PP_Resource resource) { 27 PP_Bool IsScrollbar(PP_Resource resource) {
25 EnterScrollbar enter(resource, false); 28 EnterScrollbar enter(resource, false);
26 return PP_FromBool(enter.succeeded()); 29 return PP_FromBool(enter.succeeded());
27 } 30 }
28 31
29 uint32_t GetThickness(PP_Resource scrollbar) { 32 uint32_t GetThickness(PP_Resource scrollbar) {
30 EnterScrollbar enter(scrollbar, true); 33 EnterScrollbar enter(scrollbar, true);
31 if (enter.failed()) 34 if (enter.failed())
32 return 0; 35 return 0;
33 return enter.object()->GetThickness(); 36 return enter.object()->GetThickness();
34 } 37 }
35 38
39 PP_Bool IsOverlay(PP_Resource scrollbar) {
40 EnterScrollbar enter(scrollbar, true);
41 if (enter.failed())
42 return PP_FALSE;
43 return PP_FromBool(enter.object()->IsOverlay());
44 }
45
36 uint32_t GetValue(PP_Resource scrollbar) { 46 uint32_t GetValue(PP_Resource scrollbar) {
37 EnterScrollbar enter(scrollbar, true); 47 EnterScrollbar enter(scrollbar, true);
38 if (enter.failed()) 48 if (enter.failed())
39 return 0; 49 return 0;
40 return enter.object()->GetValue(); 50 return enter.object()->GetValue();
41 } 51 }
42 52
43 void SetValue(PP_Resource scrollbar, uint32_t value) { 53 void SetValue(PP_Resource scrollbar, uint32_t value) {
44 EnterScrollbar enter(scrollbar, true); 54 EnterScrollbar enter(scrollbar, true);
45 if (enter.succeeded()) 55 if (enter.succeeded())
(...skipping 13 matching lines...) Expand all
59 if (enter.succeeded()) 69 if (enter.succeeded())
60 enter.object()->SetTickMarks(tick_marks, count); 70 enter.object()->SetTickMarks(tick_marks, count);
61 } 71 }
62 72
63 void ScrollBy(PP_Resource scrollbar, PP_ScrollBy_Dev unit, int32_t multiplier) { 73 void ScrollBy(PP_Resource scrollbar, PP_ScrollBy_Dev unit, int32_t multiplier) {
64 EnterScrollbar enter(scrollbar, true); 74 EnterScrollbar enter(scrollbar, true);
65 if (enter.succeeded()) 75 if (enter.succeeded())
66 enter.object()->ScrollBy(unit, multiplier); 76 enter.object()->ScrollBy(unit, multiplier);
67 } 77 }
68 78
69 const PPB_Scrollbar_0_4_Dev g_ppb_scrollbar_thunk = { 79 const PPB_Scrollbar_Dev g_ppb_scrollbar_thunk = {
70 &Create, 80 &Create,
71 &IsScrollbar, 81 &IsScrollbar,
72 &GetThickness, 82 &GetThickness,
83 &IsOverlay,
73 &GetValue, 84 &GetValue,
74 &SetValue, 85 &SetValue,
75 &SetDocumentSize, 86 &SetDocumentSize,
76 &SetTickMarks, 87 &SetTickMarks,
77 &ScrollBy 88 &ScrollBy
78 }; 89 };
79 90
80 } // namespace 91 } // namespace
81 92
82 const PPB_Scrollbar_0_4_Dev* GetPPB_Scrollbar_Thunk() { 93 const PPB_Scrollbar_Dev* GetPPB_Scrollbar_Thunk() {
83 return &g_ppb_scrollbar_thunk; 94 return &g_ppb_scrollbar_thunk;
84 } 95 }
85 96
86 } // namespace thunk 97 } // namespace thunk
87 } // namespace ppapi 98 } // namespace ppapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698