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

Side by Side Diff: ppapi/cpp/dev/widget_client_dev.cc

Issue 9381010: Convert resources to take an instance key instead of an Instance*. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Comments Created 8 years, 10 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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/cpp/dev/widget_client_dev.h" 5 #include "ppapi/cpp/dev/widget_client_dev.h"
6 6
7 #include "ppapi/c/dev/ppp_scrollbar_dev.h" 7 #include "ppapi/c/dev/ppp_scrollbar_dev.h"
8 #include "ppapi/c/dev/ppp_widget_dev.h" 8 #include "ppapi/c/dev/ppp_widget_dev.h"
9 #include "ppapi/cpp/dev/scrollbar_dev.h" 9 #include "ppapi/cpp/dev/scrollbar_dev.h"
10 #include "ppapi/cpp/dev/widget_dev.h" 10 #include "ppapi/cpp/dev/widget_dev.h"
11 #include "ppapi/cpp/instance.h" 11 #include "ppapi/cpp/instance.h"
12 #include "ppapi/cpp/instance_handle.h"
12 #include "ppapi/cpp/module.h" 13 #include "ppapi/cpp/module.h"
13 #include "ppapi/cpp/module_impl.h" 14 #include "ppapi/cpp/module_impl.h"
14 #include "ppapi/cpp/rect.h" 15 #include "ppapi/cpp/rect.h"
15 16
16 namespace pp { 17 namespace pp {
17 18
18 namespace { 19 namespace {
19 20
20 // PPP_Widget_Dev -------------------------------------------------------------- 21 // PPP_Widget_Dev --------------------------------------------------------------
21 22
22 const char kPPPWidgetInterface[] = PPP_WIDGET_DEV_INTERFACE; 23 const char kPPPWidgetInterface[] = PPP_WIDGET_DEV_INTERFACE;
23 24
24 void Widget_Invalidate(PP_Instance instance, 25 void Widget_Invalidate(PP_Instance instance,
25 PP_Resource widget_id, 26 PP_Resource widget_id,
26 const PP_Rect* dirty_rect) { 27 const PP_Rect* dirty_rect) {
27 void* object = 28 void* object = Instance::GetPerInstanceObject(instance, kPPPWidgetInterface);
28 pp::Instance::GetPerInstanceObject(instance, kPPPWidgetInterface);
29 if (!object) 29 if (!object)
30 return; 30 return;
31 return static_cast<WidgetClient_Dev*>(object)->InvalidateWidget( 31 return static_cast<WidgetClient_Dev*>(object)->InvalidateWidget(
32 Widget_Dev(widget_id), *dirty_rect); 32 Widget_Dev(widget_id), *dirty_rect);
33 } 33 }
34 34
35 static PPP_Widget_Dev widget_interface = { 35 static PPP_Widget_Dev widget_interface = {
36 &Widget_Invalidate, 36 &Widget_Invalidate,
37 }; 37 };
38 38
39 // PPP_Scrollbar_Dev ----------------------------------------------------------- 39 // PPP_Scrollbar_Dev -----------------------------------------------------------
40 40
41 const char kPPPScrollbarInterface[] = PPP_SCROLLBAR_DEV_INTERFACE; 41 const char kPPPScrollbarInterface[] = PPP_SCROLLBAR_DEV_INTERFACE;
42 42
43 void Scrollbar_ValueChanged(PP_Instance instance, 43 void Scrollbar_ValueChanged(PP_Instance instance,
44 PP_Resource scrollbar_id, 44 PP_Resource scrollbar_id,
45 uint32_t value) { 45 uint32_t value) {
46 void* object = 46 void* object =
47 pp::Instance::GetPerInstanceObject(instance, kPPPScrollbarInterface); 47 Instance::GetPerInstanceObject(instance, kPPPScrollbarInterface);
48 if (!object) 48 if (!object)
49 return; 49 return;
50 return static_cast<WidgetClient_Dev*>(object)->ScrollbarValueChanged( 50 return static_cast<WidgetClient_Dev*>(object)->ScrollbarValueChanged(
51 Scrollbar_Dev(scrollbar_id), value); 51 Scrollbar_Dev(scrollbar_id), value);
52 } 52 }
53 53
54 void Scrollbar_OverlayChanged(PP_Instance instance, 54 void Scrollbar_OverlayChanged(PP_Instance instance,
55 PP_Resource scrollbar_id, 55 PP_Resource scrollbar_id,
56 PP_Bool overlay) { 56 PP_Bool overlay) {
57 void* object = 57 void* object =
58 pp::Instance::GetPerInstanceObject(instance, kPPPScrollbarInterface); 58 Instance::GetPerInstanceObject(instance, kPPPScrollbarInterface);
59 if (!object) 59 if (!object)
60 return; 60 return;
61 return static_cast<WidgetClient_Dev*>(object)->ScrollbarOverlayChanged( 61 return static_cast<WidgetClient_Dev*>(object)->ScrollbarOverlayChanged(
62 Scrollbar_Dev(scrollbar_id), PP_ToBool(overlay)); 62 Scrollbar_Dev(scrollbar_id), PP_ToBool(overlay));
63 } 63 }
64 64
65 static PPP_Scrollbar_Dev scrollbar_interface = { 65 static PPP_Scrollbar_Dev scrollbar_interface = {
66 &Scrollbar_ValueChanged, 66 &Scrollbar_ValueChanged,
67 &Scrollbar_OverlayChanged, 67 &Scrollbar_OverlayChanged,
68 }; 68 };
69 69
70 } // namespace 70 } // namespace
71 71
72 WidgetClient_Dev::WidgetClient_Dev(Instance* instance) 72 WidgetClient_Dev::WidgetClient_Dev(const InstanceHandle& instance)
73 : associated_instance_(instance) { 73 : associated_instance_(instance) {
74 pp::Module::Get()->AddPluginInterface(kPPPWidgetInterface, &widget_interface); 74 Module::Get()->AddPluginInterface(kPPPWidgetInterface, &widget_interface);
75 associated_instance_->AddPerInstanceObject(kPPPWidgetInterface, this); 75 Instance::AddPerInstanceObject(instance, kPPPWidgetInterface, this);
76 pp::Module::Get()->AddPluginInterface(kPPPScrollbarInterface, 76 Module::Get()->AddPluginInterface(kPPPScrollbarInterface,
77 &scrollbar_interface); 77 &scrollbar_interface);
dmichael (off chromium) 2012/02/22 21:38:44 nit: indentation
78 associated_instance_->AddPerInstanceObject(kPPPScrollbarInterface, this); 78 Instance::AddPerInstanceObject(instance, kPPPScrollbarInterface, this);
79 } 79 }
80 80
81 WidgetClient_Dev::~WidgetClient_Dev() { 81 WidgetClient_Dev::~WidgetClient_Dev() {
82 associated_instance_->RemovePerInstanceObject(kPPPScrollbarInterface, this); 82 Instance::RemovePerInstanceObject(associated_instance_,
83 associated_instance_->RemovePerInstanceObject(kPPPWidgetInterface, this); 83 kPPPScrollbarInterface, this);
84 Instance::RemovePerInstanceObject(associated_instance_,
85 kPPPWidgetInterface, this);
84 } 86 }
85 87
86 } // namespace pp 88 } // namespace pp
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698