Dali::PixelData GetImageBuffer() override
{
- uint8_t* imageData = new uint8_t[16];
- memset(imageData, 0xff, 16);
- return Dali::PixelData::New(imageData, 16, 2, 2,
- Dali::Pixel::Format::RGBA8888,
- Dali::PixelData::ReleaseFunction::DELETE_ARRAY);
+ uint8_t* faviconData = new uint8_t[ 16 ];
+ memset(faviconData, 0xff, 16);
+ return Dali::PixelData::New( faviconData, 16, 2, 2,
+ Dali::Pixel::Format::RGBA8888,
+ Dali::PixelData::ReleaseFunction::DELETE_ARRAY );
}
private:
Dali::PixelData GetFavicon() const
{
- static int testGetFaviconCount = 0;
- if (testGetFaviconCount == 0)
- {
- testGetFaviconCount++;
- uint8_t* faviconData = new uint8_t[16];
- memset(faviconData, 0xff, 16);
- return Dali::PixelData::New(faviconData, 16, 2, 2,
- Dali::Pixel::Format::RGBA8888,
- Dali::PixelData::ReleaseFunction::DELETE_ARRAY);
- }
- else
- {
- return Dali::PixelData();
- }
+ uint8_t* faviconData = new uint8_t[ 16 ];
+
+ faviconData[ 0 ] = 0xff;
+ faviconData[ 1 ] = 0x00;
+ faviconData[ 2 ] = 0x00;
+ faviconData[ 3 ] = 0xff;
+ faviconData[ 4 ] = 0xff;
+ faviconData[ 5 ] = 0x00;
+ faviconData[ 6 ] = 0x00;
+ faviconData[ 7 ] = 0xff;
+ faviconData[ 8 ] = 0xff;
+ faviconData[ 9 ] = 0x00;
+ faviconData[ 10 ] = 0x00;
+ faviconData[ 11 ] = 0xff;
+ faviconData[ 12 ] = 0xff;
+ faviconData[ 13 ] = 0x00;
+ faviconData[ 14 ] = 0x00;
+ faviconData[ 15 ] = 0xff;
+
+ return Dali::PixelData::New( faviconData, 16, 2, 2,
+ Dali::Pixel::Format::RGBA8888,
+ Dali::PixelData::ReleaseFunction::DELETE_ARRAY );
}
bool CanGoForward() const
return mConsoleMessageSignal;
}
- Dali::WebEnginePlugin::WebEngineResponsePolicyDecisionSignalType& ResponsePolicyDecisionSignal()
+ Dali::WebEnginePlugin::WebEnginePolicyDecisionSignalType& PolicyDecisionSignal()
{
- return mResponsePolicyDecisionSignal;
+ return mPolicyDecisionSignal;
}
Dali::WebEnginePlugin::WebEngineCertificateSignalType& CertificateConfirmSignal()
Dali::WebEnginePlugin::WebEngineFrameRenderedSignalType mFrameRenderedSignal;
Dali::WebEnginePlugin::WebEngineRequestInterceptorSignalType mRequestInterceptorSignal;
Dali::WebEnginePlugin::WebEngineConsoleMessageSignalType mConsoleMessageSignal;
- Dali::WebEnginePlugin::WebEngineResponsePolicyDecisionSignalType mResponsePolicyDecisionSignal;
+ Dali::WebEnginePlugin::WebEnginePolicyDecisionSignalType mPolicyDecisionSignal;
Dali::WebEnginePlugin::WebEngineCertificateSignalType mCertificateConfirmSignal;
Dali::WebEnginePlugin::WebEngineCertificateSignalType mSslCertificateChangedSignal;
Dali::WebEnginePlugin::WebEngineHttpAuthHandlerSignalType mHttpAuthHandlerSignal;
std::shared_ptr<Dali::WebEngineConsoleMessage> message(new MockWebEngineConsoleMessage());
gInstance->mConsoleMessageSignal.Emit(std::move(message));
std::shared_ptr<Dali::WebEnginePolicyDecision> policyDecision(new MockWebEnginePolicyDecision());
- gInstance->mResponsePolicyDecisionSignal.Emit(std::move(policyDecision));
+ gInstance->mPolicyDecisionSignal.Emit(std::move(policyDecision));
std::shared_ptr<Dali::WebEngineCertificate> certificate(new MockWebEngineCertificate());
gInstance->mCertificateConfirmSignal.Emit(std::move(certificate));
return Internal::Adaptor::GetImplementation(*this).ConsoleMessageSignal();
}
-Dali::WebEnginePlugin::WebEngineResponsePolicyDecisionSignalType& WebEngine::ResponsePolicyDecisionSignal()
+Dali::WebEnginePlugin::WebEnginePolicyDecisionSignalType& WebEngine::PolicyDecisionSignal()
{
- return Internal::Adaptor::GetImplementation(*this).ResponsePolicyDecisionSignal();
+ return Internal::Adaptor::GetImplementation(*this).PolicyDecisionSignal();
}
Dali::WebEnginePlugin::WebEngineCertificateSignalType& WebEngine::CertificateConfirmSignal()
static std::shared_ptr<Dali::WebEngineRequestInterceptor> gRequestInterceptorInstance = nullptr;
static int gConsoleMessageCallbackCalled = 0;
static std::shared_ptr<Dali::WebEngineConsoleMessage> gConsoleMessageInstance = nullptr;
-static int gResponsePolicyDecidedCallbackCalled = 0;
-static std::shared_ptr<Dali::WebEnginePolicyDecision> gResponsePolicyDecisionInstance = nullptr;
+static int gPolicyDecisionCallbackCalled = 0;
+static std::shared_ptr<Dali::WebEnginePolicyDecision> gPolicyDecisionInstance = nullptr;
static int gCertificateConfirmCallbackCalled = 0;
static std::shared_ptr<Dali::WebEngineCertificate> gCertificateConfirmInstance = nullptr;
static int gSslCertificateChangedCallbackCalled = 0;
gScrollEdgeReachedCallbackCalled++;
}
-static void OnResponsePolicyDecided(WebView view, std::shared_ptr<Dali::WebEnginePolicyDecision> decision)
+static void OnPolicyDecisionRequest(WebView view, std::shared_ptr<Dali::WebEnginePolicyDecision> decision)
{
- gResponsePolicyDecidedCallbackCalled++;
- gResponsePolicyDecisionInstance = std::move(decision);
+ gPolicyDecisionCallbackCalled++;
+ gPolicyDecisionInstance = std::move(decision);
}
static void OnUrlChanged( WebView view, const std::string& url )
view.GetProperty( WebView::Property::TITLE ).Get( output );
DALI_TEST_EQUALS( output, testValue, TEST_LOCATION );
- // Check the case that favicon is not null.
- Dali::Toolkit::ImageView favicon = view.GetFavicon();
+ // Check default value of favicon
+ Dali::Toolkit::ImageView* favicon = &view.GetFavicon();
DALI_TEST_CHECK( favicon );
- Dali::Vector3 iconsize = favicon.GetProperty< Vector3 >( Dali::Actor::Property::SIZE );
+ Dali::Vector3 iconsize = favicon->GetProperty< Vector3 >( Dali::Actor::Property::SIZE );
DALI_TEST_CHECK( ( int )iconsize.width == 2 && ( int )iconsize.height == 2 );
- // Check the case that favicon is null.
- favicon = view.GetFavicon();
- DALI_TEST_CHECK( !favicon );
-
END_TEST;
}
END_TEST;
}
-int UtcDaliWebViewResponsePolicyDecisionRequest(void)
+int UtcDaliWebViewPolicyDecisionRequest(void)
{
ToolkitTestApplication application;
// load url.
ConnectionTracker* testTracker = new ConnectionTracker();
- view.ResponsePolicyDecisionSignal().Connect( &OnResponsePolicyDecided );
+ view.PolicyDecisionSignal().Connect( &OnPolicyDecisionRequest );
bool signal1 = false;
- view.ConnectSignal( testTracker, "responsePolicyDecided", CallbackFunctor(&signal1) );
- DALI_TEST_EQUALS( gResponsePolicyDecidedCallbackCalled, 0, TEST_LOCATION );
- DALI_TEST_CHECK(gResponsePolicyDecisionInstance == 0);
+ view.ConnectSignal( testTracker, "policyDecision", CallbackFunctor(&signal1) );
+ DALI_TEST_EQUALS( gPolicyDecisionCallbackCalled, 0, TEST_LOCATION );
+ DALI_TEST_CHECK(gPolicyDecisionInstance == 0);
view.LoadUrl( TEST_URL1 );
Test::EmitGlobalTimerSignal();
- DALI_TEST_EQUALS( gResponsePolicyDecidedCallbackCalled, 1, TEST_LOCATION );
+ DALI_TEST_EQUALS( gPolicyDecisionCallbackCalled, 1, TEST_LOCATION );
DALI_TEST_CHECK( signal1 );
- // check response policy decision & its frame.
- DALI_TEST_CHECK(gResponsePolicyDecisionInstance != 0);
+ // check policy decision & its frame.
+ DALI_TEST_CHECK(gPolicyDecisionInstance != 0);
std::string testUrl("http://test.html");
- DALI_TEST_EQUALS(gResponsePolicyDecisionInstance->GetUrl(), testUrl, TEST_LOCATION);
+ DALI_TEST_EQUALS(gPolicyDecisionInstance->GetUrl(), testUrl, TEST_LOCATION);
std::string testCookie("test:abc");
- DALI_TEST_EQUALS(gResponsePolicyDecisionInstance->GetCookie(), testCookie, TEST_LOCATION);
+ DALI_TEST_EQUALS(gPolicyDecisionInstance->GetCookie(), testCookie, TEST_LOCATION);
Dali::WebEnginePolicyDecision::DecisionType testDecisionType = Dali::WebEnginePolicyDecision::DecisionType::USE;
- DALI_TEST_EQUALS(gResponsePolicyDecisionInstance->GetDecisionType(), testDecisionType, TEST_LOCATION);
+ DALI_TEST_EQUALS(gPolicyDecisionInstance->GetDecisionType(), testDecisionType, TEST_LOCATION);
std::string testResponseMime("txt/xml");
- DALI_TEST_EQUALS(gResponsePolicyDecisionInstance->GetResponseMime(), testResponseMime, TEST_LOCATION);
+ DALI_TEST_EQUALS(gPolicyDecisionInstance->GetResponseMime(), testResponseMime, TEST_LOCATION);
int32_t ResponseStatusCode = 500;
- DALI_TEST_EQUALS(gResponsePolicyDecisionInstance->GetResponseStatusCode(), ResponseStatusCode, TEST_LOCATION);
+ DALI_TEST_EQUALS(gPolicyDecisionInstance->GetResponseStatusCode(), ResponseStatusCode, TEST_LOCATION);
Dali::WebEnginePolicyDecision::NavigationType testNavigationType = Dali::WebEnginePolicyDecision::NavigationType::LINK_CLICKED;
- DALI_TEST_EQUALS(gResponsePolicyDecisionInstance->GetNavigationType(), testNavigationType, TEST_LOCATION);
+ DALI_TEST_EQUALS(gPolicyDecisionInstance->GetNavigationType(), testNavigationType, TEST_LOCATION);
std::string testScheme("test");
- DALI_TEST_EQUALS(gResponsePolicyDecisionInstance->GetScheme(), testScheme, TEST_LOCATION);
- DALI_TEST_CHECK(gResponsePolicyDecisionInstance->Use());
- DALI_TEST_CHECK(gResponsePolicyDecisionInstance->Ignore());
- DALI_TEST_CHECK(gResponsePolicyDecisionInstance->Suspend());
+ DALI_TEST_EQUALS(gPolicyDecisionInstance->GetScheme(), testScheme, TEST_LOCATION);
+ DALI_TEST_CHECK(gPolicyDecisionInstance->Use());
+ DALI_TEST_CHECK(gPolicyDecisionInstance->Ignore());
+ DALI_TEST_CHECK(gPolicyDecisionInstance->Suspend());
- Dali::WebEngineFrame* webFrame = &(gResponsePolicyDecisionInstance->GetFrame());
+ Dali::WebEngineFrame* webFrame = &(gPolicyDecisionInstance->GetFrame());
DALI_TEST_CHECK(webFrame);
DALI_TEST_CHECK(webFrame->IsMainFrame());
- gResponsePolicyDecisionInstance = nullptr;
+ gPolicyDecisionInstance = nullptr;
END_TEST;
}
return Dali::Toolkit::GetImpl(*this).GetBackForwardList();
}
-Dali::Toolkit::ImageView WebView::GetFavicon() const
+Dali::Toolkit::ImageView& WebView::GetFavicon()
{
return Dali::Toolkit::GetImpl(*this).GetFavicon();
}
return Dali::Toolkit::GetImpl(*this).ConsoleMessageSignal();
}
-WebView::WebViewResponsePolicyDecisionSignalType& WebView::ResponsePolicyDecisionSignal()
+WebView::WebViewPolicyDecisionSignalType& WebView::PolicyDecisionSignal()
{
- return Dali::Toolkit::GetImpl(*this).ResponsePolicyDecisionSignal();
+ return Dali::Toolkit::GetImpl(*this).PolicyDecisionSignal();
}
WebView::WebViewCertificateSignalType& WebView::CertificateConfirmSignal()
using WebViewConsoleMessageSignalType = Signal<void(WebView, std::shared_ptr<Dali::WebEngineConsoleMessage>)>;
/**
- * @brief WebView signal type related with response policy decision.
+ * @brief WebView signal type related with policy decision.
*/
- using WebViewResponsePolicyDecisionSignalType = Signal<void(WebView, std::shared_ptr<Dali::WebEnginePolicyDecision>)>;
+ using WebViewPolicyDecisionSignalType = Signal<void(WebView, std::shared_ptr<Dali::WebEnginePolicyDecision>)>;
/**
* @brief WebView signal type related with certificate changed.
Dali::Toolkit::WebBackForwardList* GetBackForwardList() const;
/**
- * @brief Get favicon of web page.
+ * @brief Get Favicon of web page.
*
- * @return Handle to a favicon
+ * @return Handle to a fav icon
*/
- Dali::Toolkit::ImageView GetFavicon() const;
+ Dali::Toolkit::ImageView& GetFavicon();
/**
* @brief Load a web page based on a given URL.
WebViewConsoleMessageSignalType& ConsoleMessageSignal();
/**
- * @brief Connect to this signal to be notified when response policy would be decided.
+ * @brief Connect to this signal to be notified when new policy would be decided.
*
* @return A signal object to connect with.
*/
- WebViewResponsePolicyDecisionSignalType& ResponsePolicyDecisionSignal();
+ WebViewPolicyDecisionSignalType& PolicyDecisionSignal();
/**
* @brief Connect to this signal to be notified when certificate need be confirmed.
DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "frameRendered", FRAME_RENDERED_SIGNAL )
DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "requestInterceptor", REQUEST_INTERCEPTOR_SIGNAL )
DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "consoleMessage", CONSOLE_MESSAGE_SIGNAL )
-DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "responsePolicyDecided", POLICY_DECISION )
+DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "policyDecision", POLICY_DECISION )
DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "certificateConfirm", CERTIFICATE_CONFIRM_SIGNAL )
DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "sslCertificateChanged", SSL_CERTIFICATE_CHANGED_SIGNAL )
DALI_SIGNAL_REGISTRATION(Toolkit, WebView, "httpAuthRequest", HTTP_AUTH_REQUEST_SIGNAL )
mWebEngine.FrameRenderedSignal().Connect(this, &WebView::OnFrameRendered);
mWebEngine.RequestInterceptorSignal().Connect(this, &WebView::OnInterceptRequest);
mWebEngine.ConsoleMessageSignal().Connect(this, &WebView::OnConsoleMessage);
- mWebEngine.ResponsePolicyDecisionSignal().Connect(this, &WebView::OnResponsePolicyDecided);
+ mWebEngine.PolicyDecisionSignal().Connect(this, &WebView::OnPolicyDecisionRequest);
mWebEngine.CertificateConfirmSignal().Connect(this, &WebView::OnCertificateConfirm);
mWebEngine.SslCertificateChangedSignal().Connect(this, &WebView::OnSslCertificateChanged);
mWebEngine.HttpAuthHandlerSignal().Connect(this, &WebView::OnHttpAuthenticationRequest);
return mWebBackForwardList.get();
}
-Dali::Toolkit::ImageView WebView::GetFavicon() const
+Dali::Toolkit::ImageView& WebView::GetFavicon()
{
- Dali::Toolkit::ImageView faviconView;
if(mWebEngine)
{
Dali::PixelData pixelData = mWebEngine.GetFavicon();
- faviconView = CreateImageView(pixelData);
+ mFaviconView = CreateImageView(pixelData);
}
- return faviconView;
+ return mFaviconView;
}
void WebView::LoadUrl(const std::string& url)
}
}
-Dali::Toolkit::ImageView WebView::CreateImageView(Dali::PixelData pixel) const
+Dali::Toolkit::ImageView WebView::CreateImageView(Dali::PixelData pixel)
{
- if(!pixel)
- {
- return Dali::Toolkit::ImageView();
- }
-
std::string url = Dali::Toolkit::Image::GenerateUrl(pixel);
Dali::Toolkit::ImageView imageView = Dali::Toolkit::ImageView::New(url);
imageView.SetProperty(Dali::Actor::Property::SIZE, Vector2(pixel.GetWidth(), pixel.GetHeight()));
return mConsoleMessageSignal;
}
-Dali::Toolkit::WebView::WebViewResponsePolicyDecisionSignalType& WebView::ResponsePolicyDecisionSignal()
+Dali::Toolkit::WebView::WebViewPolicyDecisionSignalType& WebView::PolicyDecisionSignal()
{
- return mResponsePolicyDecisionSignal;
+ return mPolicyDecisionSignal;
}
Dali::Toolkit::WebView::WebViewCertificateSignalType& WebView::CertificateConfirmSignal()
}
}
-void WebView::OnResponsePolicyDecided(std::shared_ptr<Dali::WebEnginePolicyDecision> decision)
+void WebView::OnPolicyDecisionRequest(std::shared_ptr<Dali::WebEnginePolicyDecision> decision)
{
- if(!mResponsePolicyDecisionSignal.Empty())
+ if(!mPolicyDecisionSignal.Empty())
{
Dali::Toolkit::WebView handle(GetOwner());
- mResponsePolicyDecisionSignal.Emit(handle, std::move(decision));
+ mPolicyDecisionSignal.Emit(handle, std::move(decision));
}
}
}
else if(0 == strcmp(signalName.c_str(), POLICY_DECISION))
{
- webView.ResponsePolicyDecisionSignal().Connect(tracker, functor);
+ webView.PolicyDecisionSignal().Connect(tracker, functor);
connected = true;
}
else if(0 == strcmp(signalName.c_str(), CERTIFICATE_CONFIRM_SIGNAL))
/**
* @copydoc Dali::Toolkit::WebView::GetFavicon()
*/
- Dali::Toolkit::ImageView GetFavicon() const;
+ Dali::Toolkit::ImageView& GetFavicon();
/**
* @copydoc Dali::Toolkit::WebView::LoadUrl()
Dali::Toolkit::WebView::WebViewConsoleMessageSignalType& ConsoleMessageSignal();
/**
- * @copydoc Dali::Toolkit::WebView::ResponsePolicyDecisionSignal()
+ * @copydoc Dali::Toolkit::WebView::PolicyDecisionSignal()
*/
- Dali::Toolkit::WebView::WebViewResponsePolicyDecisionSignalType& ResponsePolicyDecisionSignal();
+ Dali::Toolkit::WebView::WebViewPolicyDecisionSignalType& PolicyDecisionSignal();
/**
* @copydoc Dali::Toolkit::WebView::CertificateConfirmSignal()
* @param[in] pixel Pixel data
* @return The new image view
*/
- Dali::Toolkit::ImageView CreateImageView(Dali::PixelData pixel) const;
+ Dali::Toolkit::ImageView CreateImageView(Dali::PixelData pixel);
/**
* @brief Callback function to be called when page load started.
void OnConsoleMessage(std::shared_ptr<Dali::WebEngineConsoleMessage> message);
/**
- * @brief Callback function to be called when response policy need be decided.
+ * @brief Callback function to be called when policy need be decided.
* @param[in] decision The policy decided.
*/
- void OnResponsePolicyDecided(std::shared_ptr<Dali::WebEnginePolicyDecision> decision);
+ void OnPolicyDecisionRequest(std::shared_ptr<Dali::WebEnginePolicyDecision> decision);
/**
* @brief Callback function to be called when certificate need be confirmed.
Dali::Toolkit::WebView::WebViewFrameRenderedSignalType mFrameRenderedSignal;
Dali::Toolkit::WebView::WebViewRequestInterceptorSignalType mRequestInterceptorSignal;
Dali::Toolkit::WebView::WebViewConsoleMessageSignalType mConsoleMessageSignal;
- Dali::Toolkit::WebView::WebViewResponsePolicyDecisionSignalType mResponsePolicyDecisionSignal;
+ Dali::Toolkit::WebView::WebViewPolicyDecisionSignalType mPolicyDecisionSignal;
Dali::Toolkit::WebView::WebViewCertificateSignalType mCertificateConfirmSignal;
Dali::Toolkit::WebView::WebViewCertificateSignalType mSslCertificateChangedSignal;
Dali::Toolkit::WebView::WebViewHttpAuthHandlerSignalType mHttpAuthHandlerSignal;
std::unique_ptr<Dali::Toolkit::WebSettings> mWebSettings;
std::unique_ptr<Dali::Toolkit::WebBackForwardList> mWebBackForwardList;
+ Dali::Toolkit::ImageView mFaviconView;
+
Dali::PropertyNotification mPositionUpdateNotification;
Dali::PropertyNotification mSizeUpdateNotification;
Dali::PropertyNotification mScaleUpdateNotification;