summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorabarth@chromium.org <abarth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-13 09:30:22 +0000
committerabarth@chromium.org <abarth@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-01-13 09:30:22 +0000
commitc2034d9a454ee55e048d601ff2f172d24b1a28c7 (patch)
tree797d524cdf1ada05641a0d09b70735bc82c41ba2
parenta53fa7f6730aa13061007e988c94f549026d72b9 (diff)
downloadchromium_src-c2034d9a454ee55e048d601ff2f172d24b1a28c7.zip
chromium_src-c2034d9a454ee55e048d601ff2f172d24b1a28c7.tar.gz
chromium_src-c2034d9a454ee55e048d601ff2f172d24b1a28c7.tar.bz2
Finish the plumbing for cookiesEnabled.
BUG=1850 Review URL: http://codereview.chromium.org/549005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36113 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/browser/renderer_host/resource_message_filter.cc10
-rw-r--r--chrome/browser/renderer_host/resource_message_filter.h3
-rw-r--r--chrome/common/render_messages_internal.h6
-rw-r--r--chrome/renderer/renderer_webkitclient_impl.cc9
-rw-r--r--chrome/renderer/renderer_webkitclient_impl.h2
5 files changed, 30 insertions, 0 deletions
diff --git a/chrome/browser/renderer_host/resource_message_filter.cc b/chrome/browser/renderer_host/resource_message_filter.cc
index 82e964c..3821384 100644
--- a/chrome/browser/renderer_host/resource_message_filter.cc
+++ b/chrome/browser/renderer_host/resource_message_filter.cc
@@ -305,6 +305,7 @@ bool ResourceMessageFilter::OnMessageReceived(const IPC::Message& msg) {
IPC_MESSAGE_HANDLER(ViewHostMsg_GetCookies, OnGetCookies)
IPC_MESSAGE_HANDLER(ViewHostMsg_GetRawCookies, OnGetRawCookies)
IPC_MESSAGE_HANDLER(ViewHostMsg_DeleteCookie, OnDeleteCookie)
+ IPC_MESSAGE_HANDLER(ViewHostMsg_GetCookiesEnabled, OnGetCookiesEnabled)
#if defined(OS_WIN) // This hack is Windows-specific.
IPC_MESSAGE_HANDLER(ViewHostMsg_LoadFont, OnLoadFont)
#endif
@@ -541,6 +542,15 @@ void ResourceMessageFilter::OnDeleteCookie(const GURL& url,
context->cookie_store()->DeleteCookie(url, cookie_name);
}
+void ResourceMessageFilter::OnGetCookiesEnabled(
+ const GURL& url,
+ const GURL& first_party_for_cookies,
+ bool* enabled) {
+ URLRequestContext* context = GetRequestContextForURL(url);
+ *enabled =
+ context->cookie_policy()->type() != net::CookiePolicy::BLOCK_ALL_COOKIES;
+}
+
#if defined(OS_WIN) // This hack is Windows-specific.
void ResourceMessageFilter::OnLoadFont(LOGFONT font) {
// If renderer is running in a sandbox, GetTextMetrics
diff --git a/chrome/browser/renderer_host/resource_message_filter.h b/chrome/browser/renderer_host/resource_message_filter.h
index 89db5d7..0da26f0f 100644
--- a/chrome/browser/renderer_host/resource_message_filter.h
+++ b/chrome/browser/renderer_host/resource_message_filter.h
@@ -129,6 +129,9 @@ class ResourceMessageFilter : public IPC::ChannelProxy::MessageFilter,
std::vector<webkit_glue::WebCookie>* raw_cookies);
void OnDeleteCookie(const GURL& url,
const std::string& cookieName);
+ void OnGetCookiesEnabled(const GURL& url,
+ const GURL& first_party_for_cookies,
+ bool* enabled);
void OnPluginFileDialog(const IPC::Message& msg,
bool multiple_files,
const std::wstring& title,
diff --git a/chrome/common/render_messages_internal.h b/chrome/common/render_messages_internal.h
index 3ab66e2..dde0fe7 100644
--- a/chrome/common/render_messages_internal.h
+++ b/chrome/common/render_messages_internal.h
@@ -1064,6 +1064,12 @@ IPC_BEGIN_MESSAGES(ViewHost)
GURL /* url */,
std::string /* cookie_name */)
+ // Used to get raw cookie information for the given URL
+ IPC_SYNC_MESSAGE_CONTROL2_1(ViewHostMsg_GetCookiesEnabled,
+ GURL /* url */,
+ GURL /* first_party_for_cookies */,
+ bool /* enabled */)
+
// Used to get the list of plugins
IPC_SYNC_MESSAGE_CONTROL1_1(ViewHostMsg_GetPlugins,
bool /* refresh*/,
diff --git a/chrome/renderer/renderer_webkitclient_impl.cc b/chrome/renderer/renderer_webkitclient_impl.cc
index 290c011..2dcf582 100644
--- a/chrome/renderer/renderer_webkitclient_impl.cc
+++ b/chrome/renderer/renderer_webkitclient_impl.cc
@@ -158,6 +158,15 @@ void RendererWebKitClientImpl::deleteCookie(const WebURL& url,
new ViewHostMsg_DeleteCookie(url, cookie_name_utf8));
}
+bool RendererWebKitClientImpl::cookiesEnabled(
+ const WebKit::WebURL& url, const WebKit::WebURL& first_party_for_cookies) {
+ bool enabled;
+ RenderThread::current()->Send(
+ new ViewHostMsg_GetCookiesEnabled(
+ url, first_party_for_cookies, &enabled));
+ return enabled;
+}
+
void RendererWebKitClientImpl::prefetchHostName(const WebString& hostname) {
if (!hostname.isEmpty()) {
std::string hostname_utf8;
diff --git a/chrome/renderer/renderer_webkitclient_impl.h b/chrome/renderer/renderer_webkitclient_impl.h
index eb77dce..2388d07 100644
--- a/chrome/renderer/renderer_webkitclient_impl.h
+++ b/chrome/renderer/renderer_webkitclient_impl.h
@@ -44,6 +44,8 @@ class RendererWebKitClientImpl : public webkit_glue::WebKitClientImpl {
WebKit::WebVector<WebKit::WebCookie>* raw_cookies);
virtual void deleteCookie(const WebKit::WebURL& url,
const WebKit::WebString& cookie_name);
+ virtual bool cookiesEnabled(const WebKit::WebURL& url,
+ const WebKit::WebURL& first_party_for_cookies);
virtual void prefetchHostName(const WebKit::WebString&);
virtual WebKit::WebString defaultLocale();
virtual void suddenTerminationChanged(bool enabled);