Source/WebKit2/ChangeLog

 12012-07-17 Hyerim Bae <hyerim.bae@samsung.com>
 2
 3 [EFL][WK2] Add ewk_view_user_agent_set / ewk_view_user_agent_get API.
 4 https://bugs.webkit.org/show_bug.cgi?id=91351
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 ewk_view_user_agent_set is for wrapping WKPageSetCustomUserAgent.
 9 Set The userAgent char* as a member of _Ewk_View_Private_Data.
 10
 11 * UIProcess/API/efl/ewk_view.cpp:
 12 (_Ewk_View_Private_Data):
 13 (_Ewk_View_Private_Data::_Ewk_View_Private_Data):
 14 (_Ewk_View_Private_Data::~_Ewk_View_Private_Data):
 15 (ewk_view_user_agent_set):
 16 (ewk_view_user_agent_get):
 17 * UIProcess/API/efl/ewk_view.h:
 18
1192012-07-17 Christophe Dumez <christophe.dumez@intel.com>
220
321 [EFL] Replace 0 by NULL in public headers documentation

Source/WebKit2/UIProcess/API/efl/ewk_view.cpp

2727#include "PageClientImpl.h"
2828#include "WKAPICast.h"
2929#include "WKRetainPtr.h"
 30#include "WKString.h"
3031#include "WKURL.h"
3132#include "ewk_context.h"
3233#include "ewk_context_private.h"

@@struct _Ewk_View_Private_Data {
5051 const char* uri;
5152 const char* title;
5253 const char* theme;
 54 const char* userAgent;
5355 LoadingResourcesMap loadingResourcesMap;
5456
5557 _Ewk_View_Private_Data()
5658 : uri(0)
5759 , title(0)
5860 , theme(0)
 61 , userAgent(0)
5962 { }
6063
6164 ~_Ewk_View_Private_Data()

@@struct _Ewk_View_Private_Data {
6366 eina_stringshare_del(uri);
6467 eina_stringshare_del(title);
6568 eina_stringshare_del(theme);
 69 eina_stringshare_del(userAgent);
6670 }
6771};
6872

@@WebPageProxy* ewk_view_page_get(const Evas_Object* ewkView)
960964
961965 return priv->pageClient->page();
962966}
 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}

Source/WebKit2/UIProcess/API/efl/ewk_view.h

@@EAPI void ewk_view_theme_set(Evas_Object *o, const char *path);
420420 */
421421EAPI const char *ewk_view_theme_get(const Evas_Object *o);
422422
 423/**
 424 * Sets the user agent string
 425 *
 426 * @param o view object to set the user agent string
 427 * @param user_agent user agent, may be @c NULL to reset the user agent
 428 *
 429 * @return @c EINA_TRUE on success or @c EINA_FALSE on failure
 430 */
 431EAPI Eina_Bool ewk_view_user_agent_set(Evas_Object *o, const char *user_agent);
 432
 433/**
 434 * Gets user agent string.
 435 *
 436 * If the user agent isn't set by ewk_view_user_agent_set(), this returns default user agent.
 437 *
 438 * @param o view object to get the user agent string
 439 *
 440 * @return the user agent, this pointer is
 441 * guaranteed to be eina_stringshare, so whenever possible
 442 * save yourself some cpu cycles and use
 443 * eina_stringshare_ref() instead of eina_stringshare_add() or
 444 * strdup().
 445 */
 446EAPI const char *ewk_view_user_agent_get(const Evas_Object *o);
 447
423448#ifdef __cplusplus
424449}
425450#endif