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

Side by Side Diff: webkit/glue/cpp_bound_class.h

Issue 8741006: Add exports needed for glue to build as a component. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase to r112585 Created 9 years 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
« no previous file with comments | « webkit/glue/cpp_binding_example.h ('k') | webkit/glue/cpp_variant.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 /* 5 /*
6 CppBoundClass class: 6 CppBoundClass class:
7 This base class serves as a parent for C++ classes designed to be bound to 7 This base class serves as a parent for C++ classes designed to be bound to
8 JavaScript objects. 8 JavaScript objects.
9 9
10 Subclasses should define the constructor to build the property and method 10 Subclasses should define the constructor to build the property and method
11 lists needed to bind this class to a JS object. They should also declare 11 lists needed to bind this class to a JS object. They should also declare
12 and define member variables and methods to be exposed to JS through 12 and define member variables and methods to be exposed to JS through
13 that object. 13 that object.
14 14
15 See cpp_binding_example.{h|cc} for an example. 15 See cpp_binding_example.{h|cc} for an example.
16 */ 16 */
17 17
18 #ifndef WEBKIT_GLUE_CPP_BOUNDCLASS_H__ 18 #ifndef WEBKIT_GLUE_CPP_BOUNDCLASS_H__
19 #define WEBKIT_GLUE_CPP_BOUNDCLASS_H__ 19 #define WEBKIT_GLUE_CPP_BOUNDCLASS_H__
20 20
21 #include <map> 21 #include <map>
22 #include <vector> 22 #include <vector>
23 23
24 #include "webkit/glue/cpp_variant.h" 24 #include "webkit/glue/cpp_variant.h"
25 25
26 #include "base/callback.h" 26 #include "base/callback.h"
27 #include "base/memory/scoped_ptr.h" 27 #include "base/memory/scoped_ptr.h"
28 #include "webkit/glue/webkit_glue_export.h"
28 29
29 namespace WebKit { 30 namespace WebKit {
30 class WebFrame; 31 class WebFrame;
31 } 32 }
32 33
33 typedef std::vector<CppVariant> CppArgumentList; 34 typedef std::vector<CppVariant> CppArgumentList;
34 35
35 // CppBoundClass lets you map Javascript method calls and property accesses 36 // CppBoundClass lets you map Javascript method calls and property accesses
36 // directly to C++ method calls and CppVariant* variable access. 37 // directly to C++ method calls and CppVariant* variable access.
37 class CppBoundClass { 38 class WEBKIT_GLUE_EXPORT CppBoundClass {
38 public: 39 public:
39 class PropertyCallback { 40 class PropertyCallback {
40 public: 41 public:
41 virtual ~PropertyCallback() { } 42 virtual ~PropertyCallback() { }
42 43
43 // Sets |value| to the value of the property. Returns false in case of 44 // Sets |value| to the value of the property. Returns false in case of
44 // failure. |value| is always non-NULL. 45 // failure. |value| is always non-NULL.
45 virtual bool GetValue(CppVariant* value) = 0; 46 virtual bool GetValue(CppVariant* value) = 0;
46 47
47 // sets the property value to |value|. Returns false in case of failure. 48 // sets the property value to |value|. Returns false in case of failure.
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
133 CppVariant self_variant_; 134 CppVariant self_variant_;
134 135
135 // True if our np_object has been bound to a WebFrame, in which case it must 136 // True if our np_object has been bound to a WebFrame, in which case it must
136 // be unregistered with V8 when we delete it. 137 // be unregistered with V8 when we delete it.
137 bool bound_to_frame_; 138 bool bound_to_frame_;
138 139
139 DISALLOW_COPY_AND_ASSIGN(CppBoundClass); 140 DISALLOW_COPY_AND_ASSIGN(CppBoundClass);
140 }; 141 };
141 142
142 #endif // CPP_BOUNDCLASS_H__ 143 #endif // CPP_BOUNDCLASS_H__
OLDNEW
« no previous file with comments | « webkit/glue/cpp_binding_example.h ('k') | webkit/glue/cpp_variant.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698