// 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/cpptoc/browser_cpptoc.h" #include "libcef_dll/ctocpp/client_ctocpp.h" #include "libcef_dll/ctocpp/life_span_handler_ctocpp.h" // VIRTUAL METHODS - Body may be edited by hand. bool CefLifeSpanHandlerCToCpp::OnBeforePopup( CefRefPtr parentBrowser, const CefPopupFeatures& popupFeatures, CefWindowInfo& windowInfo, const CefString& url, CefRefPtr& client, CefBrowserSettings& settings) { if (CEF_MEMBER_MISSING(struct_, on_before_popup)) return false; cef_browser_t* browserStruct = CefBrowserCppToC::Wrap(parentBrowser); cef_client_t* clientStruct = NULL; if(client.get()) clientStruct = CefClientCToCpp::Unwrap(client); cef_client_t* origClientStruct = clientStruct; int rv = struct_->on_before_popup(struct_, browserStruct, &popupFeatures, &windowInfo, url.GetStruct(), &clientStruct, &settings); if (clientStruct) { if (clientStruct != origClientStruct) { // The handler was changed. client = CefClientCToCpp::Wrap(clientStruct); } } else { client = NULL; } return (rv ? true : false); } void CefLifeSpanHandlerCToCpp::OnAfterCreated(CefRefPtr browser) { if (CEF_MEMBER_MISSING(struct_, on_after_created)) return; struct_->on_after_created(struct_, CefBrowserCppToC::Wrap(browser)); } bool CefLifeSpanHandlerCToCpp::RunModal(CefRefPtr browser) { if (CEF_MEMBER_MISSING(struct_, run_modal)) return false; int rv = struct_->run_modal(struct_, CefBrowserCppToC::Wrap(browser)); return (rv ? true : false); } bool CefLifeSpanHandlerCToCpp::DoClose(CefRefPtr browser) { if (CEF_MEMBER_MISSING(struct_, do_close)) return false; int rv = struct_->do_close(struct_, CefBrowserCppToC::Wrap(browser)); return (rv ? true : false); } void CefLifeSpanHandlerCToCpp::OnBeforeClose(CefRefPtr browser) { if (CEF_MEMBER_MISSING(struct_, on_before_close)) return; struct_->on_before_close(struct_, CefBrowserCppToC::Wrap(browser)); } #ifndef NDEBUG template<> long CefCToCpp::DebugObjCt = 0; #endif