| OLD | NEW | 
|---|
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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 #ifndef GIN_PUBLIC_WRAPPER_INFO_H_ | 5 #ifndef GIN_PUBLIC_WRAPPER_INFO_H_ | 
| 6 #define GIN_PUBLIC_WRAPPER_INFO_H_ | 6 #define GIN_PUBLIC_WRAPPER_INFO_H_ | 
| 7 | 7 | 
| 8 #include "gin/gin_export.h" | 8 #include "gin/gin_export.h" | 
| 9 #include "gin/public/gin_embedders.h" | 9 #include "gin/public/gin_embedders.h" | 
| 10 #include "v8/include/v8.h" | 10 #include "v8/include/v8.h" | 
| 11 | 11 | 
| 12 namespace gin { | 12 namespace gin { | 
| 13 | 13 | 
| 14 // Gin embedder that use their own WrapperInfo-like structs must ensure that | 14 // Gin embedder that use their own WrapperInfo-like structs must ensure that | 
| 15 // the first field is of type GinEmbedderId and has the correct id set. They | 15 // the first field is of type GinEmbedderId and has the correct id set. They | 
| 16 // also should use kWrapperInfoIndex to start their WrapperInfo-like struct | 16 // also should use kWrapperInfoIndex to start their WrapperInfo-like struct | 
| 17 // and ensure that all objects have kNumberOfInternalFields internal fields. | 17 // and ensure that all objects have kNumberOfInternalFields internal fields. | 
| 18 | 18 | 
| 19 enum InternalFields { | 19 enum InternalFields { | 
| 20   kWrapperInfoIndex, | 20   kWrapperInfoIndex, | 
| 21   kEncodedValueIndex, | 21   kEncodedValueIndex, | 
| 22   kNumberOfInternalFields, | 22   kNumberOfInternalFields, | 
| 23 }; | 23 }; | 
| 24 | 24 | 
| 25 struct GIN_EXPORT WrapperInfo { | 25 struct GIN_EXPORT WrapperInfo { | 
| 26   static WrapperInfo* From(v8::Handle<v8::Object> object); | 26   static WrapperInfo* From(v8::Local<v8::Object> object); | 
| 27   const GinEmbedder embedder; | 27   const GinEmbedder embedder; | 
| 28 }; | 28 }; | 
| 29 | 29 | 
| 30 }  // namespace gin | 30 }  // namespace gin | 
| 31 | 31 | 
| 32 #endif  // GIN_PUBLIC_WRAPPER_INFO_H_ | 32 #endif  // GIN_PUBLIC_WRAPPER_INFO_H_ | 
| OLD | NEW | 
|---|