18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*
28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright 2007, The Android Open Source Project
38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Redistribution and use in source and binary forms, with or without
58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modification, are permitted provided that the following conditions
68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * are met:
78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *  * Redistributions of source code must retain the above copyright
88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    notice, this list of conditions and the following disclaimer.
98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *  * Redistributions in binary form must reproduce the above copyright
108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    notice, this list of conditions and the following disclaimer in the
118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *    documentation and/or other materials provided with the distribution.
128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16e03118fd5d9b776df29de3f96232ed6b5395c845Steve Block * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
25e03118fd5d9b776df29de3f96232ed6b5395c845Steve Block
268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "config.h"
27730ef1944495761bb07f38e435da91f1ad059972Andrei Popescu
288457f5dc1324682e3874821191e733aa37d95edbAndrei Popescu#include "CookieJar.h"
298457f5dc1324682e3874821191e733aa37d95edbAndrei Popescu
3040a90188cf739cbcc2a44669c05ca526aaf0b0d8Andrei Popescu#include "PlatformBridge.h"
318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace WebCore {
338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
34918f81255bd5490e0536420428111e71d31ae209Elliott Slaughtervoid setCookies(Document* document, const KURL& url, const String& value)
35730ef1944495761bb07f38e435da91f1ad059972Andrei Popescu{
36918f81255bd5490e0536420428111e71d31ae209Elliott Slaughter    PlatformBridge::setCookies(document, url, value);
37730ef1944495761bb07f38e435da91f1ad059972Andrei Popescu}
38730ef1944495761bb07f38e435da91f1ad059972Andrei Popescu
39918f81255bd5490e0536420428111e71d31ae209Elliott SlaughterString cookies(const Document* document, const KURL& url)
40730ef1944495761bb07f38e435da91f1ad059972Andrei Popescu{
41918f81255bd5490e0536420428111e71d31ae209Elliott Slaughter    return PlatformBridge::cookies(document, url);
42730ef1944495761bb07f38e435da91f1ad059972Andrei Popescu}
43730ef1944495761bb07f38e435da91f1ad059972Andrei Popescu
44918f81255bd5490e0536420428111e71d31ae209Elliott SlaughterString cookieRequestHeaderFieldValue(const Document* document, const KURL& url)
458a0914b749bbe7da7768e07a7db5c6d4bb09472bSteve Block{
468a0914b749bbe7da7768e07a7db5c6d4bb09472bSteve Block    // FIXME: include HttpOnly cookie.
47918f81255bd5490e0536420428111e71d31ae209Elliott Slaughter    return PlatformBridge::cookies(document, url);
488a0914b749bbe7da7768e07a7db5c6d4bb09472bSteve Block}
498a0914b749bbe7da7768e07a7db5c6d4bb09472bSteve Block
50918f81255bd5490e0536420428111e71d31ae209Elliott Slaughterbool cookiesEnabled(const Document* document)
51730ef1944495761bb07f38e435da91f1ad059972Andrei Popescu{
52918f81255bd5490e0536420428111e71d31ae209Elliott Slaughter    return PlatformBridge::cookiesEnabled(document);
53730ef1944495761bb07f38e435da91f1ad059972Andrei Popescu}
548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
5581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochvoid getHostnamesWithCookies(HashSet<String>& hostnames)
5681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
5781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    // FIXME: Not yet implemented
5881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
5981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
6081bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochvoid deleteCookiesForHostname(const String& hostname)
6181bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
6281bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    // FIXME: Not yet implemented
6381bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
6481bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
6581bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdochvoid deleteAllCookies()
6681bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch{
6781bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch    // FIXME: Not yet implemented
6881bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch}
6981bc750723a18f21cd17d1b173cd2a4dda9cea6eBen Murdoch
708e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
71