mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
- Add cookie get/set support (issue #88).
- Move classes that extend structures to cef_types_wrappers.h and implement using the new CefStructBase template class. - Change the HandleProtocolExecution |allow_os_execution| argument to pass by reference to maintain consistency with other API functions. git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@217 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
53
libcef_dll/cpptoc/cookie_visitor_cpptoc.cc
Normal file
53
libcef_dll/cpptoc/cookie_visitor_cpptoc.cc
Normal file
@ -0,0 +1,53 @@
|
||||
// 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 function
|
||||
// implementations. See the translator.README.txt file in the tools directory
|
||||
// for more information.
|
||||
//
|
||||
|
||||
#include "libcef_dll/cpptoc/cookie_visitor_cpptoc.h"
|
||||
|
||||
|
||||
// MEMBER FUNCTIONS - Body may be edited by hand.
|
||||
|
||||
int CEF_CALLBACK cookie_visitor_visit(struct _cef_cookie_visitor_t* self,
|
||||
const struct _cef_cookie_t* cookie, int count, int total,
|
||||
int* deleteCookie)
|
||||
{
|
||||
DCHECK(self);
|
||||
DCHECK(cookie);
|
||||
if(!self || !cookie)
|
||||
return 0;
|
||||
|
||||
// Reference the existing values without copying.
|
||||
CefCookie cookieObj;
|
||||
cookieObj.Set(*cookie, false);
|
||||
|
||||
bool delVal = (*deleteCookie)?true:false;
|
||||
bool retVal = CefCookieVisitorCppToC::Get(self)->Visit(cookieObj, count,
|
||||
total, delVal);
|
||||
*deleteCookie = delVal;
|
||||
|
||||
return retVal;
|
||||
}
|
||||
|
||||
|
||||
// CONSTRUCTOR - Do not edit by hand.
|
||||
|
||||
CefCookieVisitorCppToC::CefCookieVisitorCppToC(CefCookieVisitor* cls)
|
||||
: CefCppToC<CefCookieVisitorCppToC, CefCookieVisitor, cef_cookie_visitor_t>(
|
||||
cls)
|
||||
{
|
||||
struct_.struct_.visit = cookie_visitor_visit;
|
||||
}
|
||||
|
||||
#ifdef _DEBUG
|
||||
template<> long CefCppToC<CefCookieVisitorCppToC, CefCookieVisitor,
|
||||
cef_cookie_visitor_t>::DebugObjCt = 0;
|
||||
#endif
|
||||
|
35
libcef_dll/cpptoc/cookie_visitor_cpptoc.h
Normal file
35
libcef_dll/cpptoc/cookie_visitor_cpptoc.h
Normal file
@ -0,0 +1,35 @@
|
||||
// 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.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// 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 _COOKIEVISITOR_CPPTOC_H
|
||||
#define _COOKIEVISITOR_CPPTOC_H
|
||||
|
||||
#ifndef USING_CEF_SHARED
|
||||
#pragma message("Warning: "__FILE__" may be accessed wrapper-side only")
|
||||
#else // USING_CEF_SHARED
|
||||
|
||||
#include "include/cef.h"
|
||||
#include "include/cef_capi.h"
|
||||
#include "libcef_dll/cpptoc/cpptoc.h"
|
||||
|
||||
// Wrap a C++ class with a C structure.
|
||||
// This class may be instantiated and accessed wrapper-side only.
|
||||
class CefCookieVisitorCppToC
|
||||
: public CefCppToC<CefCookieVisitorCppToC, CefCookieVisitor,
|
||||
cef_cookie_visitor_t>
|
||||
{
|
||||
public:
|
||||
CefCookieVisitorCppToC(CefCookieVisitor* cls);
|
||||
virtual ~CefCookieVisitorCppToC() {}
|
||||
};
|
||||
|
||||
#endif // USING_CEF_SHARED
|
||||
#endif // _COOKIEVISITOR_CPPTOC_H
|
||||
|
@ -39,10 +39,12 @@ enum cef_retval_t CEF_CALLBACK handler_handle_before_created(
|
||||
CefBrowserSettings browserSettings;
|
||||
CefPopupFeatures features;
|
||||
|
||||
// Take ownership of the pointers instead of copying.
|
||||
wndInfo.Attach(*windowInfo);
|
||||
browserSettings.Attach(*settings);
|
||||
features.Attach(*popupFeatures);
|
||||
// Take ownership of the values.
|
||||
wndInfo.AttachTo(*windowInfo);
|
||||
browserSettings.AttachTo(*settings);
|
||||
|
||||
// Reference the existing values instead of copying.
|
||||
features.Set(*popupFeatures, false);
|
||||
|
||||
// |newHandler| will start off pointing to the current handler.
|
||||
CefRefPtr<CefHandler> handlerPtr = CefHandlerCppToC::Unwrap(*handler);
|
||||
@ -63,16 +65,9 @@ enum cef_retval_t CEF_CALLBACK handler_handle_before_created(
|
||||
*handler = CefHandlerCppToC::Wrap(handlerPtr);
|
||||
}
|
||||
|
||||
// Window info may or may not have changed.
|
||||
*windowInfo = wndInfo;
|
||||
|
||||
// Browser settings may or may not have changed.
|
||||
*settings = browserSettings;
|
||||
|
||||
// Don't free the pointers.
|
||||
features.Detach();
|
||||
wndInfo.Detach();
|
||||
browserSettings.Detach();
|
||||
// Return the values to the structures.
|
||||
wndInfo.DetachTo(*windowInfo);
|
||||
browserSettings.DetachTo(*settings);
|
||||
|
||||
return rv;
|
||||
}
|
||||
@ -239,8 +234,8 @@ enum cef_retval_t CEF_CALLBACK handler_handle_protocol_execution(
|
||||
|
||||
bool allowExec = *allow_os_execution?true:false;
|
||||
enum cef_retval_t rv = CefHandlerCppToC::Get(self)->HandleProtocolExecution(
|
||||
CefBrowserCToCpp::Wrap(browser), CefString(url), &allowExec);
|
||||
*allow_os_execution = allowExec?true:false;
|
||||
CefBrowserCToCpp::Wrap(browser), CefString(url), allowExec);
|
||||
*allow_os_execution = allowExec;
|
||||
return rv;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user