Significant API changes for issue #218:

- Replace CefHandler with a new CefClient interface and separate handler interfaces.
- Add support for virtual inheritance to allow multiple CefBase parented interfaces to be implemented in the same class.
- Replace CefThreadSafeBase with IMPLEMENT_* macros to support virtual inheritance and to only provide locking implementations when needed.
- Move the CefBrowserSettings parameter from CefInitialize to CreateBrowser.
- Add a new cef_build.h header that provides platform-specific and OS_* defines.
- Introduce the use of OVERRIDE to generate compiler errors on Windows if a child virtual method declaration doesn't match the parent declaration.
- Use NDEBUG instead of _DEBUG because _DEBUG is not defined on Mac. (issue #240).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@235 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt
2011-05-20 14:42:25 +00:00
parent 9a69e96950
commit dbe8de277f
251 changed files with 7127 additions and 4945 deletions

View File

@@ -1,4 +1,4 @@
// Copyright (c) 2010 The Chromium Embedded Framework Authors. All rights
// Copyright (c) 2011 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.
//
@@ -10,7 +10,7 @@
// tools directory for more information.
//
#include "libcef_dll/cpptoc/handler_cpptoc.h"
#include "libcef_dll/cpptoc/client_cpptoc.h"
#include "libcef_dll/ctocpp/browser_ctocpp.h"
#include "libcef_dll/ctocpp/frame_ctocpp.h"
#include "libcef_dll/transfer_util.h"
@@ -18,18 +18,20 @@
// STATIC METHODS - Body may be edited by hand.
bool CefBrowser::CreateBrowser(CefWindowInfo& windowInfo, bool popup,
CefRefPtr<CefHandler> handler, const CefString& url)
bool CefBrowser::CreateBrowser(CefWindowInfo& windowInfo,
CefRefPtr<CefClient> client, const CefString& url,
const CefBrowserSettings& settings)
{
return cef_browser_create(&windowInfo, popup, CefHandlerCppToC::Wrap(handler),
url.GetStruct())?true:false;
return cef_browser_create(&windowInfo, CefClientCppToC::Wrap(client),
url.GetStruct(), &settings)?true:false;
}
CefRefPtr<CefBrowser> CefBrowser::CreateBrowserSync(CefWindowInfo& windowInfo,
bool popup, CefRefPtr<CefHandler> handler, const CefString& url)
CefRefPtr<CefClient> client, const CefString& url,
const CefBrowserSettings& settings)
{
cef_browser_t* impl = cef_browser_create_sync(&windowInfo, popup,
CefHandlerCppToC::Wrap(handler), url.GetStruct());
cef_browser_t* impl = cef_browser_create_sync(&windowInfo,
CefClientCppToC::Wrap(client), url.GetStruct(), &settings);
if(impl)
return CefBrowserCToCpp::Wrap(impl);
return NULL;
@@ -126,14 +128,14 @@ bool CefBrowserCToCpp::IsPopup()
return struct_->is_popup(struct_)?true:false;
}
CefRefPtr<CefHandler> CefBrowserCToCpp::GetHandler()
CefRefPtr<CefClient> CefBrowserCToCpp::GetClient()
{
if(CEF_MEMBER_MISSING(struct_, get_handler))
if (CEF_MEMBER_MISSING(struct_, get_client))
return NULL;
cef_handler_t* handlerStruct = struct_->get_handler(struct_);
if(handlerStruct)
return CefHandlerCppToC::Unwrap(handlerStruct);
cef_client_t* clientStruct = struct_->get_client(struct_);
if(clientStruct)
return CefClientCppToC::Unwrap(clientStruct);
return NULL;
}
@@ -341,7 +343,7 @@ void CefBrowserCToCpp::SendCaptureLostEvent()
}
#ifdef _DEBUG
#ifndef NDEBUG
template<> long CefCToCpp<CefBrowserCToCpp, CefBrowser,
cef_browser_t>::DebugObjCt = 0;
#endif