92 lines
2.7 KiB
C++
92 lines
2.7 KiB
C++
// 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<CefBrowser> parentBrowser, const CefPopupFeatures& popupFeatures,
|
|
CefWindowInfo& windowInfo, const CefString& url,
|
|
CefRefPtr<CefClient>& 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<CefBrowser> browser)
|
|
{
|
|
if (CEF_MEMBER_MISSING(struct_, on_after_created))
|
|
return;
|
|
|
|
struct_->on_after_created(struct_, CefBrowserCppToC::Wrap(browser));
|
|
}
|
|
|
|
bool CefLifeSpanHandlerCToCpp::RunModal(CefRefPtr<CefBrowser> 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<CefBrowser> 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<CefBrowser> browser)
|
|
{
|
|
if (CEF_MEMBER_MISSING(struct_, on_before_close))
|
|
return;
|
|
|
|
struct_->on_before_close(struct_, CefBrowserCppToC::Wrap(browser));
|
|
}
|
|
|
|
|
|
#ifndef NDEBUG
|
|
template<> long CefCToCpp<CefLifeSpanHandlerCToCpp, CefLifeSpanHandler,
|
|
cef_life_span_handler_t>::DebugObjCt = 0;
|
|
#endif
|
|
|