1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CONTENT_RENDERER_PEPPER_V8_VAR_CONVERTER_H 6 #define CONTENT_RENDERER_PEPPER_V8_VAR_CONVERTER_H 7 8 9 #include "base/basictypes.h" 10 #include "base/compiler_specific.h" 11 #include "ppapi/c/pp_var.h" 12 #include "v8/include/v8.h" 13 #include "content/common/content_export.h" 14 15 namespace content { 16 namespace V8VarConverter { 17 18 // Converts the given PP_Var to a v8::Value. True is returned upon success. 19 bool CONTENT_EXPORT ToV8Value(const PP_Var& var, 20 v8::Handle<v8::Context> context, 21 v8::Handle<v8::Value>* result); 22 // Converts the given v8::Value to a PP_Var. True is returned upon success. 23 // Every PP_Var in the reference graph of which |result| is apart will have 24 // a refcount equal to the number of references to it in the graph. |result| 25 // will have one additional reference. 26 bool CONTENT_EXPORT FromV8Value(v8::Handle<v8::Value> val, 27 v8::Handle<v8::Context> context, 28 PP_Var* result); 29 30 } // namespace V8VarConverter 31 } // namespace content 32 33 #endif // CONTENT_RENDERER_PEPPER_V8_VAR_CONVERTER_H 34