#define DALI_WEB_ENGINE_PLUGIN_H
/*
- * Copyright (c) 2022 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2023 Samsung Electronics Co., Ltd.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
// EXTERNAL INCLUDES
#include <dali/public-api/images/native-image-interface.h>
#include <dali/public-api/math/rect.h>
-#include <dali/public-api/signals/dali-signal.h>
#include <functional>
#include <memory>
class WebEngineBackForwardList;
class WebEngineCertificate;
class WebEngineConsoleMessage;
-class WebEngineContext;
class WebEngineContextMenu;
-class WebEngineCookieManager;
class WebEngineFormRepostDecision;
class WebEngineHitTest;
class WebEngineHttpAuthHandler;
{
public:
/**
- * @brief WebView signal type related with frame rendered.
- */
- using WebEngineFrameRenderedSignalType = Signal<void(void)>;
-
- /**
* @brief WebEngine callback related with page loading.
*/
using WebEnginePageLoadCallback = std::function<void(const std::string&)>;
using WebEngineNavigationPolicyDecidedCallback = std::function<void(std::unique_ptr<Dali::WebEnginePolicyDecision>)>;
/**
+ * @brief WebView callback related with a new window would be created.
+ */
+ using WebEngineNewWindowCreatedCallback = std::function<void(Dali::WebEnginePlugin*&)>;
+
+ /**
* @brief Hit test callback called after hit test is created asynchronously.
*/
using WebEngineHitTestCreatedCallback = std::function<bool(std::unique_ptr<Dali::WebEngineHitTest>)>;
*
* @return true if successfully request, false otherwise
*/
- virtual bool LoadContents(const std::string& contents, uint32_t contentSize, const std::string& mimeType, const std::string& encoding, const std::string& baseUri) = 0;
+ virtual bool LoadContents(const int8_t* contents, uint32_t contentSize, const std::string& mimeType, const std::string& encoding, const std::string& baseUri) = 0;
/**
* @brief Reload the Web.
virtual bool SendWheelEvent(const WheelEvent& event) = 0;
/**
- * @brief Connect to this signal to be notified when frame is rendered.
+ * @brief Callback to be called when frame would be rendered.
*
- * @return A signal object to connect with.
+ * @param[in] callback
*/
- virtual WebEngineFrameRenderedSignalType& FrameRenderedSignal() = 0;
+ virtual void RegisterFrameRenderedCallback(WebEngineFrameRenderedCallback callback) = 0;
/**
* @brief Callback to be called when page loading is started.
virtual void RegisterNavigationPolicyDecidedCallback(WebEngineNavigationPolicyDecidedCallback callback) = 0;
/**
+ * @brief Callback to be called when a new window would be created.
+ *
+ * @param[in] callback
+ */
+ virtual void RegisterNewWindowCreatedCallback(WebEngineNewWindowCreatedCallback callback) = 0;
+
+ /**
* @brief Callback to be called when certificate need be confirmed.
*
* @param[in] callback