static void toggleCookies(GtkWidget* item, WebKitWebView* webView) { cookies_allowed = gtk_toggle_tool_button_get_active( GTK_TOGGLE_TOOL_BUTTON(item)); if (cookies_allowed == TRUE) { soup_cookie_jar_set_accept_policy(cookiejar, SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY); } else { soup_cookie_jar_set_accept_policy(cookiejar, SOUP_COOKIE_JAR_ACCEPT_NEVER); } }
/** * Sets the path where the cookies are going to be stored. Use @c NULL for keep * them just in memory. * * @param filename path to the cookies.txt file. * * @return @c EINA_FALSE if it wasn't possible to create the cookie jar, * @c EINA_FALSE otherwise. */ Eina_Bool ewk_cookies_file_set(const char *filename) { #if USE(SOUP) SoupCookieJar* cookieJar = 0; if (filename) cookieJar = soup_cookie_jar_text_new(filename, FALSE); else cookieJar = soup_cookie_jar_new(); if (!cookieJar) return EINA_FALSE; soup_cookie_jar_set_accept_policy(cookieJar, SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY); SoupSession* session = WebCore::ResourceHandle::defaultSession(); SoupSessionFeature* oldjar = soup_session_get_feature(session, SOUP_TYPE_COOKIE_JAR); if (oldjar) soup_session_remove_feature(session, oldjar); WebCore::setDefaultCookieJar(cookieJar); soup_session_add_feature(session, SOUP_SESSION_FEATURE(cookieJar)); return EINA_TRUE; #else return EINA_FALSE; #endif }
SoupCookieJar* createPrivateBrowsingCookieJar() { SoupCookieJar* jar = soup_cookie_jar_new(); soup_cookie_jar_set_accept_policy(jar, SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY); return jar; }
static void do_cookies_accept_policy_test (void) { SoupSession *session; SoupMessage *msg; SoupURI *uri; SoupCookieJar *jar; GSList *l, *p; int i; debug_printf (1, "SoupCookieJarAcceptPolicy test\n"); session = soup_test_session_new (SOUP_TYPE_SESSION_ASYNC, NULL); soup_session_add_feature_by_type (session, SOUP_TYPE_COOKIE_JAR); jar = SOUP_COOKIE_JAR (soup_session_get_feature (session, SOUP_TYPE_COOKIE_JAR)); for (i = 0; i < G_N_ELEMENTS (validResults); i++) { soup_cookie_jar_set_accept_policy (jar, validResults[i].policy); uri = soup_uri_new_with_base (first_party_uri, "/index.html"); msg = soup_message_new_from_uri ("GET", uri); soup_message_set_first_party (msg, first_party_uri); soup_session_send_message (session, msg); soup_uri_free (uri); g_object_unref (msg); /* We can't use two servers due to limitations in * test_server, so let's swap first and third party here * to simulate a cookie coming from a third party. */ uri = soup_uri_new_with_base (first_party_uri, "/foo.jpg"); msg = soup_message_new_from_uri ("GET", uri); soup_message_set_first_party (msg, third_party_uri); soup_session_send_message (session, msg); soup_uri_free (uri); g_object_unref (msg); l = soup_cookie_jar_all_cookies (jar); if (g_slist_length (l) < validResults[i].n_cookies) { debug_printf (1, " accepted less cookies than it should have\n"); errors++; } else if (g_slist_length (l) > validResults[i].n_cookies) { debug_printf (1, " accepted more cookies than it should have\n"); errors++; } for (p = l; p; p = p->next) { soup_cookie_jar_delete_cookie (jar, p->data); soup_cookie_free (p->data); } g_slist_free (l); } soup_test_session_abort_unref (session); }
SoupCookieJar* soupCookieJar() { if (GRefPtr<SoupCookieJar>& jar = defaultCookieJar()) return jar.get(); SoupCookieJar* jar = soup_cookie_jar_new(); soup_cookie_jar_set_accept_policy(jar, SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY); setSoupCookieJar(jar); return jar; }
void WebCookieManager::setCookiePersistentStorage(const String& storagePath, uint32_t storageType) { GRefPtr<SoupCookieJar> jar; switch (storageType) { case SoupCookiePersistentStorageText: jar = adoptGRef(soup_cookie_jar_text_new(storagePath.utf8().data(), FALSE)); break; case SoupCookiePersistentStorageSQLite: jar = adoptGRef(webkitSoupCookieJarSqliteNew(storagePath)); break; default: ASSERT_NOT_REACHED(); } soup_cookie_jar_set_accept_policy(jar.get(), soup_cookie_jar_get_accept_policy(WebCore::soupCookieJar())); SoupNetworkSession::defaultSession().setCookieJar(jar.get()); WebCore::setSoupCookieJar(jar.get()); }
void WebCookieManager::platformSetHTTPCookieAcceptPolicy(HTTPCookieAcceptPolicy policy) { SoupCookieJar* cookieJar = WebCore::soupCookieJar(); SoupCookieJarAcceptPolicy soupPolicy; soupPolicy = SOUP_COOKIE_JAR_ACCEPT_ALWAYS; switch (policy) { case HTTPCookieAcceptPolicyAlways: soupPolicy = SOUP_COOKIE_JAR_ACCEPT_ALWAYS; break; case HTTPCookieAcceptPolicyNever: soupPolicy = SOUP_COOKIE_JAR_ACCEPT_NEVER; break; case HTTPCookieAcceptPolicyOnlyFromMainDocumentDomain: soupPolicy = SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY; break; } soup_cookie_jar_set_accept_policy(cookieJar, soupPolicy); }
Eina_Bool ewk_cookies_file_set(const char* filename) { SoupCookieJar* cookieJar = 0; if (filename) cookieJar = soup_cookie_jar_text_new(filename, FALSE); else cookieJar = soup_cookie_jar_new(); if (!cookieJar) return false; soup_cookie_jar_set_accept_policy(cookieJar, SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY); WebCore::SoupNetworkSession::defaultSession().setCookieJar(cookieJar); WebCore::setSoupCookieJar(cookieJar); g_object_unref(cookieJar); return true; }
void ewk_cookies_policy_set(Ewk_Cookie_Policy cookiePolicy) { SoupCookieJar* cookieJar = WebCore::soupCookieJar(); SoupCookieJarAcceptPolicy policy; policy = SOUP_COOKIE_JAR_ACCEPT_ALWAYS; switch (cookiePolicy) { case EWK_COOKIE_JAR_ACCEPT_NEVER: policy = SOUP_COOKIE_JAR_ACCEPT_NEVER; break; case EWK_COOKIE_JAR_ACCEPT_ALWAYS: policy = SOUP_COOKIE_JAR_ACCEPT_ALWAYS; break; case EWK_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY: policy = SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY; break; } soup_cookie_jar_set_accept_policy(cookieJar, policy); }