944
945Eina_Bool ewk_view_user_agent_set(Evas_Object* ewkView, const char* userAgent)
946{
947 EINA_SAFETY_ON_NULL_RETURN_VAL(userAgent, false);
948
949 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
950 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
951
952 if (eina_stringshare_replace(&priv->userAgent, userAgent)) {
953 WKRetainPtr<WKStringRef> userAgentString(AdoptWK, WKStringCreateWithUTF8CString(userAgent));
954 WKPageSetCustomUserAgent(toAPI(priv->pageClient->page()), userAgentString.get());
955 }
956
957 return true;
958}
959
960const char* ewk_view_user_agent_get(const Evas_Object* ewkView)
961{
962 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
963 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
964
965 if (!priv->userAgent) {
966 WKRetainPtr<WKStringRef> userAgentString(AdoptWK, WKPageCopyUserAgent(toAPI(priv->pageClient->page())));
967 eina_stringshare_replace(&priv->userAgent, toImpl(userAgentString.get())->string().utf8().data());
968 }
969
970 return priv->userAgent;
971}