summaryrefslogtreecommitdiffstats
path: root/android_webview/browser/aw_cookie_access_policy.cc
diff options
context:
space:
mode:
Diffstat (limited to 'android_webview/browser/aw_cookie_access_policy.cc')
-rw-r--r--android_webview/browser/aw_cookie_access_policy.cc71
1 files changed, 71 insertions, 0 deletions
diff --git a/android_webview/browser/aw_cookie_access_policy.cc b/android_webview/browser/aw_cookie_access_policy.cc
new file mode 100644
index 0000000..4809fdb
--- /dev/null
+++ b/android_webview/browser/aw_cookie_access_policy.cc
@@ -0,0 +1,71 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "android_webview/browser/aw_cookie_access_policy.h"
+
+#include "base/logging.h"
+#include "base/memory/scoped_ptr.h"
+#include "content/public/browser/browser_thread.h"
+
+using base::AutoLock;
+using content::BrowserThread;
+
+namespace android_webview {
+
+namespace {
+base::LazyInstance<AwCookieAccessPolicy>::Leaky g_lazy_instance;
+} // namespace
+
+AwCookieAccessPolicy::~AwCookieAccessPolicy() {
+}
+
+AwCookieAccessPolicy::AwCookieAccessPolicy()
+ : allow_access_(false) {
+}
+
+AwCookieAccessPolicy* AwCookieAccessPolicy::GetInstance() {
+ return g_lazy_instance.Pointer();
+}
+
+bool AwCookieAccessPolicy::GetGlobalAllowAccess() {
+ AutoLock lock(lock_);
+ return allow_access_;
+}
+
+void AwCookieAccessPolicy::SetGlobalAllowAccess(bool allow) {
+ AutoLock lock(lock_);
+ allow_access_ = allow;
+}
+
+bool AwCookieAccessPolicy::OnCanGetCookies(const net::URLRequest& request,
+ const net::CookieList& cookie_list) {
+ return GetGlobalAllowAccess();
+}
+
+bool AwCookieAccessPolicy::OnCanSetCookie(const net::URLRequest& request,
+ const std::string& cookie_line,
+ net::CookieOptions* options) {
+ return GetGlobalAllowAccess();
+}
+
+bool AwCookieAccessPolicy::AllowGetCookie(const GURL& url,
+ const GURL& first_party,
+ const net::CookieList& cookie_list,
+ content::ResourceContext* context,
+ int render_process_id,
+ int render_view_id) {
+ return GetGlobalAllowAccess();
+}
+
+bool AwCookieAccessPolicy::AllowSetCookie(const GURL& url,
+ const GURL& first_party,
+ const std::string& cookie_line,
+ content::ResourceContext* context,
+ int render_process_id,
+ int render_view_id,
+ net::CookieOptions* options) {
+ return GetGlobalAllowAccess();
+}
+
+} // namespace android_webview