bool OnFormPasswordAcquired();
bool OnDownloadStarted();
bool OnMimeOverridden();
+bool OnRequestIntercepted();
bool OnChangesWatch();
bool OnPlainTextReceived();
{
}
- bool GetWebDatabaseOrigins(Dali::WebEngineContext::WebEngineSecurityOriginAcquiredCallback callback)
+ bool GetWebDatabaseOrigins(Dali::WebEngineContext::WebEngineSecurityOriginAcquiredCallback callback) override
{
if (callback)
{
return true;
}
- bool DeleteWebDatabase(Dali::WebEngineSecurityOrigin& origin)
+ bool DeleteWebDatabase(Dali::WebEngineSecurityOrigin& origin) override
{
return true;
}
- bool GetWebStorageOrigins(Dali::WebEngineContext::WebEngineSecurityOriginAcquiredCallback callback)
+ bool GetWebStorageOrigins(Dali::WebEngineContext::WebEngineSecurityOriginAcquiredCallback callback) override
{
if (callback)
{
return true;
}
- bool GetWebStorageUsageForOrigin(Dali::WebEngineSecurityOrigin& origin, Dali::WebEngineContext::WebEngineStorageUsageAcquiredCallback callback)
+ bool GetWebStorageUsageForOrigin(Dali::WebEngineSecurityOrigin& origin, Dali::WebEngineContext::WebEngineStorageUsageAcquiredCallback callback) override
{
if (callback)
{
{
}
- bool DeleteWebStorage(Dali::WebEngineSecurityOrigin& origin)
+ bool DeleteWebStorage(Dali::WebEngineSecurityOrigin& origin) override
{
return true;
}
{
}
- bool DeleteApplicationCache(Dali::WebEngineSecurityOrigin& origin)
+ bool DeleteApplicationCache(Dali::WebEngineSecurityOrigin& origin) override
{
return true;
}
- void GetFormPasswordList(Dali::WebEngineContext::WebEngineFormPasswordAcquiredCallback callback)
+ void GetFormPasswordList(Dali::WebEngineContext::WebEngineFormPasswordAcquiredCallback callback) override
{
if (callback)
{
}
}
- void RegisterDownloadStartedCallback(Dali::WebEngineContext::WebEngineDownloadStartedCallback callback)
+ void RegisterDownloadStartedCallback(Dali::WebEngineContext::WebEngineDownloadStartedCallback callback) override
{
if (callback)
{
}
}
- void RegisterMimeOverriddenCallback(Dali::WebEngineContext::WebEngineMimeOverriddenCallback callback)
+ void RegisterMimeOverriddenCallback(Dali::WebEngineContext::WebEngineMimeOverriddenCallback callback) override
{
if (callback)
{
}
}
+ void RegisterRequestInterceptedCallback(Dali::WebEngineContext::WebEngineRequestInterceptedCallback callback) override
+ {
+ if (callback)
+ {
+ ConnectToGlobalSignal(&OnRequestIntercepted);
+ mRequestInterceptedCallback = callback;
+ }
+ }
+
void EnableCache( bool cacheEnabled ) override
{
mockCacheEnabled = cacheEnabled;
public:
Dali::WebEngineContext::WebEngineSecurityOriginAcquiredCallback mSecurityOriginAcquiredCallback;
- Dali::WebEngineContext::WebEngineStorageUsageAcquiredCallback mStorageUsageAcquiredCallback;
- Dali::WebEngineContext::WebEngineFormPasswordAcquiredCallback mFormPasswordAcquiredCallback;
- Dali::WebEngineContext::WebEngineDownloadStartedCallback mDownloadStartedCallback;
- Dali::WebEngineContext::WebEngineMimeOverriddenCallback mMimeOverriddenCallback;
+ Dali::WebEngineContext::WebEngineStorageUsageAcquiredCallback mStorageUsageAcquiredCallback;
+ Dali::WebEngineContext::WebEngineFormPasswordAcquiredCallback mFormPasswordAcquiredCallback;
+ Dali::WebEngineContext::WebEngineDownloadStartedCallback mDownloadStartedCallback;
+ Dali::WebEngineContext::WebEngineMimeOverriddenCallback mMimeOverriddenCallback;
+ Dali::WebEngineContext::WebEngineRequestInterceptedCallback mRequestInterceptedCallback;
private:
Dali::WebEngineContext::CacheModel mockModel;
return "http://test.html";
}
+ Dali::Property::Map GetHeaders() const override
+ {
+ return mockHeadersMap;
+ }
+
+ std::string GetMethod() const override
+ {
+ return "GET";
+ }
+
bool Ignore() override
{
return true;
}
- bool SetResponseStatus(int statusCode, const std::string &customedStatusText) override
+ bool SetResponseStatus(int statusCode, const std::string& customedStatusText) override
+ {
+ return true;
+ }
+
+ bool AddResponseHeader(const std::string& fieldName, const std::string& fieldValue) override
{
+ mockHeadersMap.Add(fieldName, fieldValue);
return true;
}
- bool AddResponseHeader(const std::string &fieldName, const std::string &fieldValue) override
+ bool AddResponseHeaders(const Dali::Property::Map& headers) override
{
+ mockHeadersMap.Merge(headers);
return true;
}
- bool AddResponseBody(const std::string &body, uint32_t length) override
+ bool AddResponseBody(const std::string& body, uint32_t length) override
{
return true;
}
+
+ bool AddResponse(const std::string& headers, const std::string& body, uint32_t length) override
+ {
+ return true;
+ }
+
+ bool WriteResponseChunk(const std::string& chunk, uint32_t length) override
+ {
+ return true;
+ }
+
+private:
+ Dali::Property::Map mockHeadersMap;
};
class MockWebEngineConsoleMessage : public Dali::WebEngineConsoleMessage
return "test";
}
- Dali::Property::Map& GetAttributes() const override
+ Dali::Property::Map GetAttributes() const override
{
return mockAttributesMap;
}
mFormRepostDecidedCallback = callback;
}
- void RegisterRequestInterceptorCallback(Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback callback)
- {
- mRequestInterceptorCallback = callback;
- }
-
void RegisterConsoleMessageReceivedCallback(Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback callback)
{
mConsoleMessageCallback = callback;
Dali::WebEnginePlugin::WebEngineUrlChangedCallback mUrlChangedCallback;
Dali::WebEnginePlugin::WebEngineFormRepostDecidedCallback mFormRepostDecidedCallback;
Dali::WebEnginePlugin::WebEngineFrameRenderedCallback mFrameRenderedCallback;
- Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback mRequestInterceptorCallback;
Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback mConsoleMessageCallback;
Dali::WebEnginePlugin::WebEngineResponsePolicyDecidedCallback mResponsePolicyDecisionCallback;
Dali::WebEnginePlugin::WebEngineCertificateCallback mCertificateConfirmCallback;
{
gInstance->mFrameRenderedCallback();
}
- if (gInstance->mRequestInterceptorCallback)
- {
- std::unique_ptr<Dali::WebEngineRequestInterceptor> interceptor(new MockWebEngineRequestInterceptor());
- gInstance->mRequestInterceptorCallback(std::move(interceptor));
- }
if (gInstance->mConsoleMessageCallback)
{
std::unique_ptr<Dali::WebEngineConsoleMessage> message(new MockWebEngineConsoleMessage());
return false;
}
+bool OnRequestIntercepted()
+{
+ DisconnectFromGlobalSignal(&OnRequestIntercepted);
+ if (gWebEngineContextInstance)
+ {
+ Dali::WebEngineRequestInterceptorPtr interceptor = new MockWebEngineRequestInterceptor();
+ gWebEngineContextInstance->mRequestInterceptedCallback(interceptor);
+ }
+ return false;
+}
+
bool OnChangesWatch()
{
DisconnectFromGlobalSignal( &OnChangesWatch );
Internal::Adaptor::GetImplementation( *this ).RegisterFormRepostDecidedCallback(callback);
}
-void WebEngine::RegisterRequestInterceptorCallback(Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback callback)
-{
- Internal::Adaptor::GetImplementation( *this ).RegisterRequestInterceptorCallback(callback);
-}
-
void WebEngine::RegisterConsoleMessageReceivedCallback(Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback callback)
{
Internal::Adaptor::GetImplementation( *this ).RegisterConsoleMessageReceivedCallback(callback);
static int gFormRepostDecidedCallbackCalled = 0;
static std::unique_ptr<Dali::WebEngineFormRepostDecision> gFormRepostDecidedInstance = nullptr;
static int gFrameRenderedCallbackCalled = 0;
-static int gRequestInterceptorCallbackCalled = 0;
-static std::unique_ptr<Dali::WebEngineRequestInterceptor> gRequestInterceptorInstance = nullptr;
static int gConsoleMessageCallbackCalled = 0;
static std::unique_ptr<Dali::WebEngineConsoleMessage> gConsoleMessageInstance = nullptr;
static int gResponsePolicyDecidedCallbackCalled = 0;
static int gFormPasswordsAcquiredCallbackCalled = 0;
static int gDownloadStartedCallbackCalled = 0;
static int gMimeOverriddenCallbackCalled = 0;
+static int gRequestInterceptedCallbackCalled = 0;
+static Dali::WebEngineRequestInterceptorPtr gRequestInterceptorInstance = nullptr;
static std::vector<std::unique_ptr<Dali::WebEngineSecurityOrigin>> gSecurityOriginList;
static std::vector<std::unique_ptr<Dali::WebEngineContext::PasswordData>> gPasswordDataList;
static int gContextMenuShownCallbackCalled = 0;
gFrameRenderedCallbackCalled++;
}
-static void OnRequestInterceptor(std::unique_ptr<Dali::WebEngineRequestInterceptor> interceptor)
-{
- gRequestInterceptorCallbackCalled++;
- gRequestInterceptorInstance = std::move(interceptor);
-}
-
static void OnConsoleMessage(std::unique_ptr<Dali::WebEngineConsoleMessage> message)
{
gConsoleMessageCallbackCalled++;
return false;
}
+static bool OnRequestIntercepted(Dali::WebEngineRequestInterceptorPtr interceptor)
+{
+ gRequestInterceptedCallbackCalled++;
+ gRequestInterceptorInstance = interceptor;
+ return false;
+}
+
static void OnContextMenuShown(std::unique_ptr<Dali::WebEngineContextMenu> menu)
{
gContextMenuShownCallbackCalled++;
END_TEST;
}
-int UtcDaliWebViewHttpRequestInterceptor(void)
-{
- ToolkitTestApplication application;
-
- WebView view = WebView::New();
- DALI_TEST_CHECK( view );
-
- // load url.
- view.RegisterRequestInterceptorCallback( &OnRequestInterceptor );
- DALI_TEST_EQUALS( gRequestInterceptorCallbackCalled, 0, TEST_LOCATION );
- DALI_TEST_CHECK(gRequestInterceptorInstance == 0);
-
- view.LoadUrl( TEST_URL1 );
- Test::EmitGlobalTimerSignal();
- DALI_TEST_EQUALS( gRequestInterceptorCallbackCalled, 1, TEST_LOCATION );
-
- // check request interceptor.
- DALI_TEST_CHECK(gRequestInterceptorInstance != 0);
- DALI_TEST_CHECK(gRequestInterceptorInstance->Ignore());
- DALI_TEST_CHECK(gRequestInterceptorInstance->SetResponseStatus(400, "error"));
- DALI_TEST_CHECK(gRequestInterceptorInstance->AddResponseHeader("key", "value"));
- DALI_TEST_CHECK(gRequestInterceptorInstance->AddResponseBody("test", 4));
- std::string testUrl("http://test.html");
- DALI_TEST_EQUALS(gRequestInterceptorInstance->GetUrl(), testUrl, TEST_LOCATION);
-
- gRequestInterceptorInstance = nullptr;
-
- END_TEST;
-}
-
int UtcDaliWebViewResponsePolicyDecisionRequest(void)
{
ToolkitTestApplication application;
DALI_TEST_EQUALS(hitTest->GetTagName(), testTagName, TEST_LOCATION);
std::string testNodeValue("test");
DALI_TEST_EQUALS(hitTest->GetNodeValue(), testNodeValue, TEST_LOCATION);
- Dali::Property::Map* testMap = &hitTest->GetAttributes();
- DALI_TEST_CHECK(testMap);
+ Dali::Property::Map testMap = hitTest->GetAttributes();
+ DALI_TEST_EQUALS(testMap.Count(), 0, TEST_LOCATION);
std::string testImageFileNameExtension("jpg");
DALI_TEST_EQUALS(hitTest->GetImageFileNameExtension(), testImageFileNameExtension, TEST_LOCATION);
Dali::PixelData testImageBuffer = hitTest->GetImageBuffer();
END_TEST;
}
+int UtcDaliWebContextHttpRequestInterceptor(void)
+{
+ ToolkitTestApplication application;
+
+ WebView view = WebView::New();
+ DALI_TEST_CHECK( view );
+
+ Dali::Toolkit::WebContext* context = view.GetContext();
+ DALI_TEST_CHECK( context != 0 )
+
+ // load url.
+ context->RegisterRequestInterceptedCallback(&OnRequestIntercepted);
+ DALI_TEST_EQUALS(gRequestInterceptedCallbackCalled, 0, TEST_LOCATION);
+ DALI_TEST_CHECK(gRequestInterceptorInstance == 0);
+
+ Test::EmitGlobalTimerSignal();
+ DALI_TEST_EQUALS( gRequestInterceptedCallbackCalled, 1, TEST_LOCATION );
+
+ // check request interceptor.
+ DALI_TEST_CHECK(gRequestInterceptorInstance != 0);
+ DALI_TEST_CHECK(gRequestInterceptorInstance->Ignore());
+ DALI_TEST_CHECK(gRequestInterceptorInstance->SetResponseStatus(400, "error"));
+ DALI_TEST_CHECK(gRequestInterceptorInstance->AddResponseHeader("key1", "value1"));
+ Dali::Property::Map testHeaders;
+ testHeaders.Insert("key2", "value2");
+ DALI_TEST_CHECK(gRequestInterceptorInstance->AddResponseHeaders(testHeaders));
+ DALI_TEST_CHECK(gRequestInterceptorInstance->AddResponseBody("test", 4));
+ DALI_TEST_CHECK(gRequestInterceptorInstance->AddResponse("key:value", "test", 4));
+ DALI_TEST_CHECK(gRequestInterceptorInstance->WriteResponseChunk("test", 4));
+ std::string testUrl("http://test.html");
+ DALI_TEST_EQUALS(gRequestInterceptorInstance->GetUrl(), testUrl, TEST_LOCATION);
+ std::string testMethod("GET");
+ DALI_TEST_EQUALS(gRequestInterceptorInstance->GetMethod(), testMethod, TEST_LOCATION);
+ Dali::Property::Map resultHeaders = gRequestInterceptorInstance->GetHeaders();
+ DALI_TEST_EQUALS(resultHeaders.Count(), 2, TEST_LOCATION);
+
+ gRequestInterceptorInstance = nullptr;
+
+ END_TEST;
+}
+
// test cases for web cookie manager.
int UtcDaliWebCookieManagerGetSetCookieAcceptPolicy(void)
mWebEngineContext.RegisterMimeOverriddenCallback(callback);
}
+void WebContext::RegisterRequestInterceptedCallback(Dali::WebEngineContext::WebEngineRequestInterceptedCallback callback)
+{
+ mWebEngineContext.RegisterRequestInterceptedCallback(callback);
+}
+
void WebContext::EnableCache(bool cacheEnabled)
{
mWebEngineContext.EnableCache(cacheEnabled);
void RegisterMimeOverriddenCallback(Dali::WebEngineContext::WebEngineMimeOverriddenCallback callback);
/**
+ * @brief Callback to be called when http request need be intercepted.
+ *
+ * @param[in] callback
+ */
+ void RegisterRequestInterceptedCallback(Dali::WebEngineContext::WebEngineRequestInterceptedCallback callback);
+
+ /**
* @brief Toggle the cache to be enabled or disabled
*
* @param[in] cacheEnabled enable or disable cache
Dali::Toolkit::GetImpl(*this).RegisterFrameRenderedCallback(callback);
}
-void WebView::RegisterRequestInterceptorCallback(Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback callback)
-{
- Dali::Toolkit::GetImpl(*this).RegisterRequestInterceptorCallback(callback);
-}
-
void WebView::RegisterConsoleMessageReceivedCallback(Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback callback)
{
Dali::Toolkit::GetImpl(*this).RegisterConsoleMessageReceivedCallback(callback);
void RegisterFrameRenderedCallback(Dali::WebEnginePlugin::WebEngineFrameRenderedCallback callback);
/**
- * @brief Callback to be called when http request need be intercepted.
- *
- * @param[in] callback
- */
- void RegisterRequestInterceptorCallback(Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback callback);
-
- /**
* @brief Callback to be called when console message will be logged.
*
* @param[in] callback
#include <dali/devel-api/adaptor-framework/web-engine-http-auth-handler.h>
#include <dali/devel-api/adaptor-framework/web-engine-load-error.h>
#include <dali/devel-api/adaptor-framework/web-engine-policy-decision.h>
-#include <dali/devel-api/adaptor-framework/web-engine-request-interceptor.h>
#include <dali/devel-api/adaptor-framework/web-engine-settings.h>
#include <dali/devel-api/common/stage.h>
#include <dali/devel-api/scripting/enum-helper.h>
mFrameRenderedCallback = callback;
}
-void WebView::RegisterRequestInterceptorCallback(Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback callback)
-{
- if(mWebEngine)
- {
- mWebEngine.RegisterRequestInterceptorCallback(callback);
- }
-}
-
void WebView::RegisterConsoleMessageReceivedCallback(Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback callback)
{
if(mWebEngine)
void RegisterFrameRenderedCallback(Dali::WebEnginePlugin::WebEngineFrameRenderedCallback callback);
/**
- * @copydoc Dali::Toolkit::WebView::RegisterRequestInterceptorCallback()
- */
- void RegisterRequestInterceptorCallback(Dali::WebEnginePlugin::WebEngineRequestInterceptorCallback callback);
-
- /**
* @copydoc Dali::Toolkit::WebView::RegisterConsoleMessageReceivedCallback()
*/
void RegisterConsoleMessageReceivedCallback(Dali::WebEnginePlugin::WebEngineConsoleMessageReceivedCallback callback);