2011-02-01 Gyuyoung Kim <gyuyoung.kim@samsung.com>
authorgyuyoung.kim@samsung.com <gyuyoung.kim@samsung.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 1 Feb 2011 12:42:44 +0000 (12:42 +0000)
committergyuyoung.kim@samsung.com <gyuyoung.kim@samsung.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 1 Feb 2011 12:42:44 +0000 (12:42 +0000)
        Reviewed by Antonio Gomes.

        [EFL] Add an API to get proxy address.
        https://bugs.webkit.org/show_bug.cgi?id=52990

        Gets the proxy URI from network backend. This API returns a proxy URI
        which is set up by ewk_settings_proxy_uri_set(). But, it only implements
        this API for libsoup backend.

        * ewk/ewk_settings.cpp:
        (ewk_settings_proxy_uri_get):
        * ewk/ewk_settings.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@77243 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit/efl/ChangeLog
Source/WebKit/efl/ewk/ewk_settings.cpp
Source/WebKit/efl/ewk/ewk_settings.h

index d617048f26b966dbe7887bf9da5124dffa6da937..a231837dec7dc325108324a8fd8f22c8e9cb7d5e 100644 (file)
@@ -1,3 +1,18 @@
+2011-02-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
+
+        Reviewed by Antonio Gomes.
+
+        [EFL] Add an API to get proxy address.
+        https://bugs.webkit.org/show_bug.cgi?id=52990
+
+        Gets the proxy URI from network backend. This API returns a proxy URI
+        which is set up by ewk_settings_proxy_uri_set(). But, it only implements
+        this API for libsoup backend.
+
+        * ewk/ewk_settings.cpp:
+        (ewk_settings_proxy_uri_get):
+        * ewk/ewk_settings.h:
+
 2011-01-29  Dan Winship  <danw@gnome.org>
 
         Reviewed by Xan Lopez.
index 20051ea9654b81b8a90c217260630bb649323152..028a49a0c0d44158488aca68c0fec005de82646e 100644 (file)
@@ -290,6 +290,30 @@ void ewk_settings_proxy_uri_set(const char* proxy)
 #endif
 }
 
+/**
+ * Gets the proxy URI from the network backend.
+ *
+ * @return current proxy URI or @c 0 if it's not set. 
+ */
+const char* ewk_settings_proxy_uri_get()
+{
+#if USE(SOUP)
+    SoupURI* uri;
+    SoupSession* session = WebCore::ResourceHandle::defaultSession();
+    g_object_get(session, SOUP_SESSION_PROXY_URI, &uri, NULL);
+
+    if (!uri) {
+        ERR("no proxy uri");
+        return 0;
+    }
+
+    WTF::String proxy = soup_uri_to_string(uri, EINA_FALSE);
+    return eina_stringshare_add(proxy.utf8().data());
+#elif USE(CURL)
+    EINA_SAFETY_ON_TRUE_RETURN(1);
+#endif
+}
+
 /**
 * @internal
 * Gets the default user agent string.
index 3c1668fc29f0959cf903046af40e52fe2565aede..d1e12c000f9b3fc1ecc1c4cd51bb0e0e4802e69a 100644 (file)
@@ -49,6 +49,7 @@ EAPI cairo_surface_t *ewk_settings_icon_database_icon_surface_get(const char *ur
 EAPI Evas_Object     *ewk_settings_icon_database_icon_object_add(const char *url, Evas *canvas);
 
 EAPI void            ewk_settings_proxy_uri_set(const char* proxy);
+EAPI const char*     ewk_settings_proxy_uri_get();
 
 #ifdef __cplusplus
 }