When favicon of web page is null, it would cause crash.
This patch is to add a check if pixel data is null or not.
Change-Id: I2c3d1f90a8195affa92a76a47b1228dad43c78a4
DALI_TEST_EQUALS( output, testValue, TEST_LOCATION );
// Check default value of favicon
- Dali::Toolkit::ImageView* favicon = &view.GetFavicon();
+ 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 );
END_TEST;
return Dali::Toolkit::GetImpl( *this ).GetBackForwardList();
}
-Dali::Toolkit::ImageView& WebView::GetFavicon()
+Dali::Toolkit::ImageView WebView::GetFavicon() const
{
return Dali::Toolkit::GetImpl( *this ).GetFavicon();
}
Dali::Toolkit::WebBackForwardList* GetBackForwardList() const;
/**
- * @brief Get Favicon of web page.
+ * @brief Get favicon of web page.
*
- * @return Handle to a fav icon
+ * @return Handle to a favicon
*/
- Dali::Toolkit::ImageView& GetFavicon();
+ Dali::Toolkit::ImageView GetFavicon() const;
/**
* @brief Loads a web page based on a given URL.
return mWebBackForwardList.get();
}
-Dali::Toolkit::ImageView& WebView::GetFavicon()
+Dali::Toolkit::ImageView WebView::GetFavicon() const
{
- if ( mWebEngine )
+ Dali::Toolkit::ImageView faviconView;
+ if(mWebEngine)
{
Dali::PixelData pixelData = mWebEngine.GetFavicon();
- std::string url = Dali::Toolkit::Image::GenerateUrl( pixelData );
- mFaviconView = Dali::Toolkit::ImageView::New( url );
- mFaviconView.SetResizePolicy( ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS );
- mFaviconView.SetProperty( Dali::Actor::Property::SIZE, Vector2( pixelData.GetWidth(), pixelData.GetHeight() ) );
+ if(pixelData)
+ {
+ std::string url = Dali::Toolkit::Image::GenerateUrl(pixelData);
+ faviconView = Dali::Toolkit::ImageView::New(url);
+ faviconView.SetResizePolicy(ResizePolicy::FILL_TO_PARENT, Dimension::ALL_DIMENSIONS);
+ }
}
- return mFaviconView;
+ return faviconView;
}
void WebView::LoadUrl( const std::string& url )
static Toolkit::WebView New( int argc, char** argv );
/**
- * @brief Get Favicon of web page.
+ * @brief Get favicon of web page.
*
- * @return Handle to a fav icon
+ * @return Handle to a favicon
*/
- Dali::Toolkit::ImageView& GetFavicon();
+ Dali::Toolkit::ImageView GetFavicon() const;
/**
* @copydoc Dali::Toolkit::WebView::LoadUrl()
std::unique_ptr<Dali::Toolkit::WebCookieManager> mWebCookieManager;
std::unique_ptr<Dali::Toolkit::WebSettings> mWebSettings;
std::unique_ptr<Dali::Toolkit::WebBackForwardList> mWebBackForwardList;
- Dali::Toolkit::ImageView mFaviconView;
Dali::PropertyNotification mPositionUpdateNotification;
Dali::PropertyNotification mSizeUpdateNotification;