mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Issue #188:
- Add a CefV8Context object and CefV8Value::ExecuteFunctionWithContext method to support asynchronous V8 ExecuteFunction callbacks. - Add a CefFrame::GetBrowser() method. - Ensure that V8 types are only referenced on the UI thread. - Accept a empty |object| parameter to CefV8Value::ExecuteFunction. git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@188 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
81
libcef_dll/ctocpp/v8context_ctocpp.cc
Normal file
81
libcef_dll/ctocpp/v8context_ctocpp.cc
Normal file
@ -0,0 +1,81 @@
|
||||
// Copyright (c) 2010 The Chromium Embedded Framework Authors. All rights
|
||||
// reserved. Use of this source code is governed by a BSD-style license that
|
||||
// can be found in the LICENSE file.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// A portion of this file was generated by the CEF translator tool. When
|
||||
// making changes by hand only do so within the body of existing static and
|
||||
// virtual method implementations. See the translator.README.txt file in the
|
||||
// tools directory for more information.
|
||||
//
|
||||
|
||||
#include "libcef_dll/ctocpp/browser_ctocpp.h"
|
||||
#include "libcef_dll/ctocpp/frame_ctocpp.h"
|
||||
#include "libcef_dll/ctocpp/v8context_ctocpp.h"
|
||||
#include "libcef_dll/ctocpp/v8value_ctocpp.h"
|
||||
|
||||
|
||||
// STATIC METHODS - Body may be edited by hand.
|
||||
|
||||
CefRefPtr<CefV8Context> CefV8Context::GetCurrentContext()
|
||||
{
|
||||
cef_v8context_t* impl = cef_v8context_get_current_context();
|
||||
if(impl)
|
||||
return CefV8ContextCToCpp::Wrap(impl);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
CefRefPtr<CefV8Context> CefV8Context::GetEnteredContext()
|
||||
{
|
||||
cef_v8context_t* impl = cef_v8context_get_entered_context();
|
||||
if(impl)
|
||||
return CefV8ContextCToCpp::Wrap(impl);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
// VIRTUAL METHODS - Body may be edited by hand.
|
||||
|
||||
CefRefPtr<CefBrowser> CefV8ContextCToCpp::GetBrowser()
|
||||
{
|
||||
if(CEF_MEMBER_MISSING(struct_, get_browser))
|
||||
return NULL;
|
||||
|
||||
cef_browser_t* browserStruct = struct_->get_browser(struct_);
|
||||
if(browserStruct)
|
||||
return CefBrowserCToCpp::Wrap(browserStruct);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
CefRefPtr<CefFrame> CefV8ContextCToCpp::GetFrame()
|
||||
{
|
||||
if(CEF_MEMBER_MISSING(struct_, get_frame))
|
||||
return NULL;
|
||||
|
||||
cef_frame_t* frameStruct = struct_->get_frame(struct_);
|
||||
if(frameStruct)
|
||||
return CefFrameCToCpp::Wrap(frameStruct);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
CefRefPtr<CefV8Value> CefV8ContextCToCpp::GetGlobal()
|
||||
{
|
||||
if(CEF_MEMBER_MISSING(struct_, get_global))
|
||||
return NULL;
|
||||
|
||||
cef_v8value_t* v8valueStruct = struct_->get_global(struct_);
|
||||
if(v8valueStruct)
|
||||
return CefV8ValueCToCpp::Wrap(v8valueStruct);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
#ifdef _DEBUG
|
||||
template<> long CefCToCpp<CefV8ContextCToCpp, CefV8Context,
|
||||
cef_v8context_t>::DebugObjCt = 0;
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user