LoadData(plain_text, std::string::npos, "text/plain", NULL, NULL, NULL);
}
+void EWebView::LoadHTMLStringOverridingCurrentEntry(
+ const char* html,
+ const char* base_uri,
+ const char* unreachable_url) {
+ LoadData(html, std::string::npos, NULL, NULL, base_uri, unreachable_url,
+ true);
+}
+
void EWebView::LoadData(const char* data,
size_t size,
const char* mime_type,
const char* encoding,
const char* base_uri,
- const char* unreachable_uri) {
+ const char* unreachable_uri,
+ bool should_replace_current_entry) {
SetDefaultStringIfNull(mime_type, "text/html");
SetDefaultStringIfNull(encoding, "utf-8");
SetDefaultStringIfNull(base_uri, "about:blank"); // Webkit2 compatible
data_params.virtual_url_for_data_url = GURL(unreachable_uri);
data_params.load_type = NavigationController::LOAD_TYPE_DATA;
- data_params.should_replace_current_entry = false;
+ data_params.should_replace_current_entry = should_replace_current_entry;
data_params.override_user_agent = NavigationController::UA_OVERRIDE_TRUE;
web_contents_->GetController().LoadURLWithParams(data_params);
}
const char* base_uri,
const char* unreachable_uri);
void LoadPlainTextString(const char* plain_text);
+
+ void LoadHTMLStringOverridingCurrentEntry(const char* html,
+ const char* base_uri,
+ const char* unreachable_url);
void LoadData(const char* data,
size_t size,
const char* mime_type,
const char* encoding,
const char* base_uri,
- const char* unreachable_uri = NULL);
-
+ const char* unreachable_uri = NULL,
+ bool should_replace_current_entry = false);
void InvokeLoadError(const GURL& url, int error_code, bool is_cancellation);
void SetViewAuthCallback(Ewk_View_Authentication_Callback callback,
Eina_Bool ewk_view_html_string_override_current_entry_load(Evas_Object* view, const char* html, const char* base_uri, const char* unreachable_url)
{
- LOG_EWK_API_MOCKUP();
- return false;
+#if BUILDFLAG(IS_TIZEN_TV)
+ EWK_VIEW_IMPL_GET_OR_RETURN(view, impl, EINA_FALSE);
+ EINA_SAFETY_ON_NULL_RETURN_VAL(html, EINA_FALSE);
+ impl->LoadHTMLStringOverridingCurrentEntry(html, base_uri, unreachable_url);
+ return EINA_TRUE;
+#else
+ LOG_EWK_API_MOCKUP("Only for Tizen TV.");
+ return EINA_FALSE;
+#endif
}
Eina_Bool ewk_view_text_matches_count(Evas_Object* o, const char* text, Ewk_Find_Options options, unsigned max_match_count)