967
968Eina_Bool ewk_view_user_agent_set(Evas_Object* ewkView, const char* userAgent)
969{
970 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, false);
971 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, false);
972
973 if (!userAgent) {
974 if (priv->userAgent) {
975 eina_stringshare_del(priv->userAgent);
976 priv->userAgent = 0;
977 }
978 WKPageSetCustomUserAgent(toAPI(priv->pageClient->page()), 0);
979 } else {
980 if (eina_stringshare_replace(&priv->userAgent, userAgent)) {
981 WKRetainPtr<WKStringRef> userAgentString(AdoptWK, WKStringCreateWithUTF8CString(userAgent));
982 WKPageSetCustomUserAgent(toAPI(priv->pageClient->page()), userAgentString.get());
983 }
984 }
985
986 return true;
987}
988
989const char* ewk_view_user_agent_get(const Evas_Object* ewkView)
990{
991 EWK_VIEW_SD_GET_OR_RETURN(ewkView, smartData, 0);
992 EWK_VIEW_PRIV_GET_OR_RETURN(smartData, priv, 0);
993
994 if (!priv->userAgent) {
995 WKRetainPtr<WKStringRef> userAgentString(AdoptWK, WKPageCopyUserAgent(toAPI(priv->pageClient->page())));
996 priv->userAgent = eina_stringshare_add(toImpl(userAgentString.get())->string().utf8().data());
997 }
998
999 return priv->userAgent;
1000}