- char* cMimeType = mimeType.length() ? (char *)mimeType.c_str() : nullptr;
- char* cEncoding = encoding.length() ? (char *)encoding.c_str() : nullptr;
- char* cBaseUri = baseUri.length() ? (char *)baseUri.c_str() : nullptr;
- return ewk_view_contents_set(mWebView, contents.c_str(), contentSize, cMimeType, cEncoding, cBaseUri);
+ mContents = contents;
+ mContentSize = contentSize;
+ mMimeType = mimeType;
+ mEncoding = encoding;
+ mContentsBaseUri = baseUri;
+ if (mAsyncLoadContentsTimer.IsRunning())
+ {
+ mAsyncLoadContentsTimer.Stop();
+ }
+ mAsyncLoadContentsTimer.TickSignal().Connect(mSlotDelegate, &TizenWebEngineChromium::OnAsyncLoadContents);
+ mAsyncLoadContentsTimer.Start();
+ return true;
+}
+
+bool TizenWebEngineChromium::OnAsyncLoadContents()
+{
+ mAsyncLoadContentsTimer.TickSignal().Disconnect(mSlotDelegate, &TizenWebEngineChromium::OnAsyncLoadContents);
+ char* cMimeType = mMimeType.length() ? (char *)mMimeType.c_str() : nullptr;
+ char* cEncoding = mEncoding.length() ? (char *)mEncoding.c_str() : nullptr;
+ char* cBaseUri = mContentsBaseUri.length() ? (char *)mContentsBaseUri.c_str() : nullptr;
+ bool ret = ewk_view_contents_set(mWebView, mContents.c_str(), mContentSize, cMimeType, cEncoding, cBaseUri);
+ if (!ret)
+ {
+ DALI_LOG_ERROR("Failed to load contents asynchronously.");
+ }
+ return false;