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