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

Side by Side Diff: Source/bindings/core/v8/V8NPUtils.h

Issue 1278983003: Adding allocator annotations to blink classes and structs. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fixed patch conflict Created 5 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
OLDNEW
1 /* Copyright (C) 2006, 2007, 2008, 2009 Google Inc. All rights reserved. 1 /* Copyright (C) 2006, 2007, 2008, 2009 Google Inc. All rights reserved.
2 * 2 *
3 * Redistribution and use in source and binary forms, with or without 3 * Redistribution and use in source and binary forms, with or without
4 * modification, are permitted provided that the following conditions are 4 * modification, are permitted provided that the following conditions are
5 * met: 5 * met:
6 * 6 *
7 * * Redistributions of source code must retain the above copyright 7 * * Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * * Redistributions in binary form must reproduce the above 9 * * Redistributions in binary form must reproduce the above
10 * copyright notice, this list of conditions and the following disclaimer 10 * copyright notice, this list of conditions and the following disclaimer
(...skipping 13 matching lines...) Expand all
24 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 24 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 25 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 26 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 27 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28 */ 28 */
29 29
30 #ifndef V8NPUtils_h 30 #ifndef V8NPUtils_h
31 #define V8NPUtils_h 31 #define V8NPUtils_h
32 32
33 #include "core/CoreExport.h" 33 #include "core/CoreExport.h"
34 #include "wtf/Allocator.h"
34 #include <bindings/npruntime.h> 35 #include <bindings/npruntime.h>
35 #include <v8.h> 36 #include <v8.h>
36 37
37 namespace blink { 38 namespace blink {
38 39
39 // Convert a V8 Value of any type (string, bool, object, etc) to a NPVariant. 40 // Convert a V8 Value of any type (string, bool, object, etc) to a NPVariant.
40 CORE_EXPORT void convertV8ObjectToNPVariant(v8::Isolate*, v8::Local<v8::Value>, NPObject*, NPVariant*); 41 CORE_EXPORT void convertV8ObjectToNPVariant(v8::Isolate*, v8::Local<v8::Value>, NPObject*, NPVariant*);
41 42
42 // Convert a NPVariant (string, bool, object, etc) back to a V8 Value. The owner object is the NPObject which relates to the 43 // Convert a NPVariant (string, bool, object, etc) back to a V8 Value. The owner object is the NPObject which relates to the
43 // object, if the object is an Object. The created NPObject will be tied to the lifetime of the owner. 44 // object, if the object is an Object. The created NPObject will be tied to the lifetime of the owner.
44 CORE_EXPORT v8::Local<v8::Value> convertNPVariantToV8Object(v8::Isolate*, const NPVariant*, NPObject*); 45 CORE_EXPORT v8::Local<v8::Value> convertNPVariantToV8Object(v8::Isolate*, const NPVariant*, NPObject*);
45 46
46 // Helper function to create an NPN String Identifier from a v8 string. 47 // Helper function to create an NPN String Identifier from a v8 string.
47 NPIdentifier getStringIdentifier(v8::Local<v8::String>); 48 NPIdentifier getStringIdentifier(v8::Local<v8::String>);
48 49
49 // The ExceptionHandler will be notified of any exceptions thrown while 50 // The ExceptionHandler will be notified of any exceptions thrown while
50 // operating on a NPObject. 51 // operating on a NPObject.
51 typedef void (*ExceptionHandler)(void* data, const NPUTF8* message); 52 typedef void (*ExceptionHandler)(void* data, const NPUTF8* message);
52 CORE_EXPORT void pushExceptionHandler(ExceptionHandler, void* data); 53 CORE_EXPORT void pushExceptionHandler(ExceptionHandler, void* data);
53 CORE_EXPORT void popExceptionHandler(); 54 CORE_EXPORT void popExceptionHandler();
54 55
55 // Upon destruction, an ExceptionCatcher will pass a caught exception to the 56 // Upon destruction, an ExceptionCatcher will pass a caught exception to the
56 // current ExceptionHandler. 57 // current ExceptionHandler.
57 class ExceptionCatcher { 58 class ExceptionCatcher {
59 STACK_ALLOCATED();
58 public: 60 public:
59 ExceptionCatcher(); 61 ExceptionCatcher();
60 ~ExceptionCatcher(); 62 ~ExceptionCatcher();
61 private: 63 private:
62 v8::TryCatch m_tryCatch; 64 v8::TryCatch m_tryCatch;
63 }; 65 };
64 66
65 } // namespace blink 67 } // namespace blink
66 68
67 #endif // V8NPUtils_h 69 #endif // V8NPUtils_h
OLDNEW
« no previous file with comments | « Source/bindings/core/v8/V8MutationCallback.h ('k') | Source/bindings/core/v8/V8ObjectConstructor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698