Allow creation of V8 objects from CEF callbacks (issue #708).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@752 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt
2012-09-04 15:18:04 +00:00
parent c15048d75f
commit c8a5cc9e33
2 changed files with 19 additions and 0 deletions

View File

@ -212,6 +212,8 @@ void GetCefString(v8::Handle<v8::String> str, CefString& out) {
// V8 function callback.
v8::Handle<v8::Value> FunctionCallbackImpl(const v8::Arguments& args) {
v8::HandleScope handle_scope;
WebCore::V8RecursionScope recursion_scope(
WebCore::getScriptExecutionContext());
CefV8Handler* handler =
static_cast<CefV8Handler*>(v8::External::Unwrap(args.Data()));
@ -244,6 +246,8 @@ v8::Handle<v8::Value> FunctionCallbackImpl(const v8::Arguments& args) {
v8::Handle<v8::Value> AccessorGetterCallbackImpl(v8::Local<v8::String> property,
const v8::AccessorInfo& info) {
v8::HandleScope handle_scope;
WebCore::V8RecursionScope recursion_scope(
WebCore::getScriptExecutionContext());
v8::Handle<v8::Object> obj = info.This();
@ -277,6 +281,8 @@ void AccessorSetterCallbackImpl(v8::Local<v8::String> property,
v8::Local<v8::Value> value,
const v8::AccessorInfo& info) {
v8::HandleScope handle_scope;
WebCore::V8RecursionScope recursion_scope(
WebCore::getScriptExecutionContext());
v8::Handle<v8::Object> obj = info.This();