- Update to Chromium revision 133430.

- Move custom scheme registration to CefApp::OnRegisterCustomSchemes(). This is required by the introduction of ContentClient::AddAdditionalSchemes() and fixes a race condition when registering standard schemes in different processes.
- Execute V8 functions using V8Proxy. This is required for inspector instrumentation to work correctly and fixes an assertion in WebCore related to V8RecursionScope.
- Enable verbose V8 TryCatch logging.
- Mac: Expose UnderlayOpenGLHostingWindow interface that should be used for all CEF windows.
- Add CefSettings.remote_debugging_port option.

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@602 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt
2012-04-24 18:01:48 +00:00
parent 97561ac51a
commit 6c8f4644aa
51 changed files with 758 additions and 546 deletions

View File

@@ -11,6 +11,7 @@
//
#include "libcef_dll/cpptoc/command_line_cpptoc.h"
#include "libcef_dll/cpptoc/scheme_registrar_cpptoc.h"
#include "libcef_dll/ctocpp/app_ctocpp.h"
#include "libcef_dll/ctocpp/proxy_handler_ctocpp.h"
#include "libcef_dll/ctocpp/render_process_handler_ctocpp.h"
@@ -38,6 +39,23 @@ void CefAppCToCpp::OnBeforeCommandLineProcessing(const CefString& process_type,
CefCommandLineCppToC::Wrap(command_line));
}
void CefAppCToCpp::OnRegisterCustomSchemes(
CefRefPtr<CefSchemeRegistrar> registrar) {
if (CEF_MEMBER_MISSING(struct_, on_register_custom_schemes))
return;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Verify param: registrar; type: refptr_diff
DCHECK(registrar.get());
if (!registrar.get())
return;
// Execute
struct_->on_register_custom_schemes(struct_,
CefSchemeRegistrarCppToC::Wrap(registrar));
}
CefRefPtr<CefRenderProcessHandler> CefAppCToCpp::GetRenderProcessHandler() {
if (CEF_MEMBER_MISSING(struct_, get_render_process_handler))
return NULL;

View File

@@ -34,6 +34,8 @@ class CefAppCToCpp
// CefApp methods
virtual void OnBeforeCommandLineProcessing(const CefString& process_type,
CefRefPtr<CefCommandLine> command_line) OVERRIDE;
virtual void OnRegisterCustomSchemes(
CefRefPtr<CefSchemeRegistrar> registrar) OVERRIDE;
virtual CefRefPtr<CefRenderProcessHandler> GetRenderProcessHandler() OVERRIDE;
virtual CefRefPtr<CefResourceBundleHandler> GetResourceBundleHandler(
) OVERRIDE;

View File

@@ -198,24 +198,24 @@ void CefFrameCToCpp::LoadString(const CefString& string_val,
url.GetStruct());
}
void CefFrameCToCpp::ExecuteJavaScript(const CefString& jsCode,
const CefString& scriptUrl, int startLine) {
void CefFrameCToCpp::ExecuteJavaScript(const CefString& code,
const CefString& script_url, int start_line) {
if (CEF_MEMBER_MISSING(struct_, execute_java_script))
return;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Verify param: jsCode; type: string_byref_const
DCHECK(!jsCode.empty());
if (jsCode.empty())
// Verify param: code; type: string_byref_const
DCHECK(!code.empty());
if (code.empty())
return;
// Unverified params: scriptUrl
// Unverified params: script_url
// Execute
struct_->execute_java_script(struct_,
jsCode.GetStruct(),
scriptUrl.GetStruct(),
startLine);
code.GetStruct(),
script_url.GetStruct(),
start_line);
}
bool CefFrameCToCpp::IsMain() {

View File

@@ -51,8 +51,8 @@ class CefFrameCToCpp
virtual void LoadURL(const CefString& url) OVERRIDE;
virtual void LoadString(const CefString& string_val,
const CefString& url) OVERRIDE;
virtual void ExecuteJavaScript(const CefString& jsCode,
const CefString& scriptUrl, int startLine) OVERRIDE;
virtual void ExecuteJavaScript(const CefString& code,
const CefString& script_url, int start_line) OVERRIDE;
virtual bool IsMain() OVERRIDE;
virtual bool IsFocused() OVERRIDE;
virtual CefString GetName() OVERRIDE;

View File

@@ -0,0 +1,46 @@
// Copyright (c) 2012 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.
//
// ---------------------------------------------------------------------------
//
// This file was generated by the CEF translator tool. If making changes by
// hand only do so within the body of existing method and function
// implementations. See the translator.README.txt file in the tools directory
// for more information.
//
#include "libcef_dll/ctocpp/scheme_registrar_ctocpp.h"
// VIRTUAL METHODS - Body may be edited by hand.
bool CefSchemeRegistrarCToCpp::AddCustomScheme(const CefString& scheme_name,
bool is_standard, bool is_local, bool is_display_isolated) {
if (CEF_MEMBER_MISSING(struct_, add_custom_scheme))
return false;
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
// Verify param: scheme_name; type: string_byref_const
DCHECK(!scheme_name.empty());
if (scheme_name.empty())
return false;
// Execute
int _retval = struct_->add_custom_scheme(struct_,
scheme_name.GetStruct(),
is_standard,
is_local,
is_display_isolated);
// Return type: bool
return _retval?true:false;
}
#ifndef NDEBUG
template<> long CefCToCpp<CefSchemeRegistrarCToCpp, CefSchemeRegistrar,
cef_scheme_registrar_t>::DebugObjCt = 0;
#endif

View File

@@ -0,0 +1,43 @@
// Copyright (c) 2012 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.
//
// ---------------------------------------------------------------------------
//
// This file was generated by the CEF translator tool. If making changes by
// hand only do so within the body of existing method and function
// implementations. See the translator.README.txt file in the tools directory
// for more information.
//
#ifndef CEF_LIBCEF_DLL_CTOCPP_SCHEME_REGISTRAR_CTOCPP_H_
#define CEF_LIBCEF_DLL_CTOCPP_SCHEME_REGISTRAR_CTOCPP_H_
#pragma once
#ifndef USING_CEF_SHARED
#pragma message("Warning: "__FILE__" may be accessed wrapper-side only")
#else // USING_CEF_SHARED
#include "include/cef_scheme.h"
#include "include/capi/cef_scheme_capi.h"
#include "libcef_dll/ctocpp/ctocpp.h"
// Wrap a C structure with a C++ class.
// This class may be instantiated and accessed wrapper-side only.
class CefSchemeRegistrarCToCpp
: public CefCToCpp<CefSchemeRegistrarCToCpp, CefSchemeRegistrar,
cef_scheme_registrar_t> {
public:
explicit CefSchemeRegistrarCToCpp(cef_scheme_registrar_t* str)
: CefCToCpp<CefSchemeRegistrarCToCpp, CefSchemeRegistrar,
cef_scheme_registrar_t>(str) {}
virtual ~CefSchemeRegistrarCToCpp() {}
// CefSchemeRegistrar methods
virtual bool AddCustomScheme(const CefString& scheme_name, bool is_standard,
bool is_local, bool is_display_isolated) OVERRIDE;
};
#endif // USING_CEF_SHARED
#endif // CEF_LIBCEF_DLL_CTOCPP_SCHEME_REGISTRAR_CTOCPP_H_