summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/renderer_webkitclient_impl.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/renderer/renderer_webkitclient_impl.cc')
-rw-r--r--chrome/renderer/renderer_webkitclient_impl.cc36
1 files changed, 36 insertions, 0 deletions
diff --git a/chrome/renderer/renderer_webkitclient_impl.cc b/chrome/renderer/renderer_webkitclient_impl.cc
index 1f95c1ff..9affc08 100644
--- a/chrome/renderer/renderer_webkitclient_impl.cc
+++ b/chrome/renderer/renderer_webkitclient_impl.cc
@@ -24,8 +24,10 @@
#include "chrome/renderer/renderer_webstoragenamespace_impl.h"
#include "chrome/renderer/visitedlink_slave.h"
#include "googleurl/src/gurl.h"
+#include "webkit/api/public/WebCookie.h"
#include "webkit/api/public/WebString.h"
#include "webkit/api/public/WebURL.h"
+#include "webkit/api/public/WebVector.h"
#include "webkit/appcache/web_application_cache_host_impl.h"
#include "webkit/glue/glue_util.h"
#include "webkit/glue/webkit_glue.h"
@@ -40,11 +42,13 @@
using WebKit::WebApplicationCacheHost;
using WebKit::WebApplicationCacheHostClient;
+using WebKit::WebCookie;
using WebKit::WebKitClient;
using WebKit::WebStorageArea;
using WebKit::WebStorageNamespace;
using WebKit::WebString;
using WebKit::WebURL;
+using WebKit::WebVector;
//------------------------------------------------------------------------------
@@ -120,6 +124,38 @@ WebString RendererWebKitClientImpl::cookies(
return WebString::fromUTF8(value_utf8);
}
+bool RendererWebKitClientImpl::rawCookies(
+ const WebURL& url,
+ const WebURL& first_party_for_cookies,
+ WebVector<WebKit::WebCookie>* raw_cookies) {
+ std::vector<webkit_glue::WebCookie> cookies;
+ RenderThread::current()->Send(
+ new ViewHostMsg_GetRawCookies(url, first_party_for_cookies, &cookies));
+
+ WebVector<WebKit::WebCookie> result(cookies.size());
+ int i = 0;
+ for (std::vector<webkit_glue::WebCookie>::iterator it = cookies.begin();
+ it != cookies.end(); ++it)
+ result[i++] = WebKit::WebCookie(WebString::fromUTF8(it->name),
+ WebString::fromUTF8(it->value),
+ WebString::fromUTF8(it->domain),
+ WebString::fromUTF8(it->path),
+ it->expires,
+ it->http_only,
+ it->secure,
+ it->session);
+ raw_cookies->assign(result);
+ return true;
+}
+
+void RendererWebKitClientImpl::deleteCookie(const WebURL& url,
+ const WebString& cookie_name) {
+ std::string cookie_name_utf8;
+ UTF16ToUTF8(cookie_name.data(), cookie_name.length(), &cookie_name_utf8);
+ RenderThread::current()->Send(
+ new ViewHostMsg_DeleteCookie(url, cookie_name_utf8));
+}
+
void RendererWebKitClientImpl::prefetchHostName(const WebString& hostname) {
if (!hostname.isEmpty()) {
std::string hostname_utf8;