- Add a new CefApp interface that provides global handlers and gets passed to CefInitialize() (issue #399).

- Add a new CefProxyHandler interface to allow applications to resolve proxy information (issue #389).

git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@394 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
Marshall Greenblatt
2011-11-23 22:47:09 +00:00
parent 8c5b56cbf5
commit 7361732f92
27 changed files with 693 additions and 76 deletions

View File

@@ -0,0 +1,35 @@
// 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.
//
// ---------------------------------------------------------------------------
//
// 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/app_ctocpp.h"
#include "libcef_dll/ctocpp/proxy_handler_ctocpp.h"
// VIRTUAL METHODS - Body may be edited by hand.
CefRefPtr<CefProxyHandler> CefAppCToCpp::GetProxyHandler()
{
if (CEF_MEMBER_MISSING(struct_, get_proxy_handler))
return NULL;
cef_proxy_handler_t* handlerStruct = struct_->get_proxy_handler(struct_);
if(handlerStruct)
return CefProxyHandlerCToCpp::Wrap(handlerStruct);
return NULL;
}
#ifndef NDEBUG
template<> long CefCToCpp<CefAppCToCpp, CefApp, cef_app_t>::DebugObjCt = 0;
#endif

View File

@@ -0,0 +1,39 @@
// 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.
//
// -------------------------------------------------------------------------
//
// This file was generated by the CEF translator tool and should not edited
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
#ifndef _APP_CTOCPP_H
#define _APP_CTOCPP_H
#ifndef BUILDING_CEF_SHARED
#pragma message("Warning: "__FILE__" may be accessed DLL-side only")
#else // BUILDING_CEF_SHARED
#include "include/cef.h"
#include "include/cef_capi.h"
#include "libcef_dll/ctocpp/ctocpp.h"
// Wrap a C structure with a C++ class.
// This class may be instantiated and accessed DLL-side only.
class CefAppCToCpp
: public CefCToCpp<CefAppCToCpp, CefApp, cef_app_t>
{
public:
CefAppCToCpp(cef_app_t* str)
: CefCToCpp<CefAppCToCpp, CefApp, cef_app_t>(str) {}
virtual ~CefAppCToCpp() {}
// CefApp methods
virtual CefRefPtr<CefProxyHandler> GetProxyHandler() OVERRIDE;
};
#endif // BUILDING_CEF_SHARED
#endif // _APP_CTOCPP_H

View File

@@ -0,0 +1,32 @@
// 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.
//
// ---------------------------------------------------------------------------
//
// 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/proxy_handler_ctocpp.h"
// VIRTUAL METHODS - Body may be edited by hand.
void CefProxyHandlerCToCpp::GetProxyForUrl(const CefString& url,
CefProxyInfo& proxy_info)
{
if (CEF_MEMBER_MISSING(struct_, get_proxy_for_url))
return;
struct_->get_proxy_for_url(struct_, url.GetStruct(), &proxy_info);
}
#ifndef NDEBUG
template<> long CefCToCpp<CefProxyHandlerCToCpp, CefProxyHandler,
cef_proxy_handler_t>::DebugObjCt = 0;
#endif

View File

@@ -0,0 +1,42 @@
// 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.
//
// -------------------------------------------------------------------------
//
// This file was generated by the CEF translator tool and should not edited
// by hand. See the translator.README.txt file in the tools directory for
// more information.
//
#ifndef _PROXYHANDLER_CTOCPP_H
#define _PROXYHANDLER_CTOCPP_H
#ifndef BUILDING_CEF_SHARED
#pragma message("Warning: "__FILE__" may be accessed DLL-side only")
#else // BUILDING_CEF_SHARED
#include "include/cef.h"
#include "include/cef_capi.h"
#include "libcef_dll/ctocpp/ctocpp.h"
// Wrap a C structure with a C++ class.
// This class may be instantiated and accessed DLL-side only.
class CefProxyHandlerCToCpp
: public CefCToCpp<CefProxyHandlerCToCpp, CefProxyHandler,
cef_proxy_handler_t>
{
public:
CefProxyHandlerCToCpp(cef_proxy_handler_t* str)
: CefCToCpp<CefProxyHandlerCToCpp, CefProxyHandler, cef_proxy_handler_t>(
str) {}
virtual ~CefProxyHandlerCToCpp() {}
// CefProxyHandler methods
virtual void GetProxyForUrl(const CefString& url,
CefProxyInfo& proxy_info) OVERRIDE;
};
#endif // BUILDING_CEF_SHARED
#endif // _PROXYHANDLER_CTOCPP_H