mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-02-02 12:17:15 +01:00
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:
parent
c15048d75f
commit
c8a5cc9e33
@ -2,6 +2,15 @@
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "base/compiler_specific.h"
|
||||
|
||||
#include "third_party/WebKit/Source/WebCore/config.h"
|
||||
MSVC_PUSH_WARNING_LEVEL(0);
|
||||
#include "V8RecursionScope.h" // NOLINT(build/include)
|
||||
#include "V8Utilities.h" // NOLINT(build/include)
|
||||
MSVC_POP_WARNING();
|
||||
#undef LOG
|
||||
|
||||
#include "libcef/renderer/content_renderer_client.h"
|
||||
|
||||
#include "libcef/common/cef_messages.h"
|
||||
@ -190,6 +199,8 @@ void CefContentRendererClient::DidCreateScriptContext(
|
||||
|
||||
v8::HandleScope handle_scope;
|
||||
v8::Context::Scope scope(context);
|
||||
WebCore::V8RecursionScope recursion_scope(
|
||||
WebCore::getScriptExecutionContext());
|
||||
|
||||
CefRefPtr<CefV8Context> contextPtr(new CefV8ContextImpl(context));
|
||||
|
||||
@ -218,6 +229,8 @@ void CefContentRendererClient::WillReleaseScriptContext(
|
||||
|
||||
v8::HandleScope handle_scope;
|
||||
v8::Context::Scope scope(context);
|
||||
WebCore::V8RecursionScope recursion_scope(
|
||||
WebCore::getScriptExecutionContext());
|
||||
|
||||
CefRefPtr<CefV8Context> contextPtr(new CefV8ContextImpl(context));
|
||||
|
||||
|
@ -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();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user