blob: 6689e59910cf4cf2c53b902dfc3f208caec50e03 [file] [log] [blame]
// Copyright 2015 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 "blimp/engine/app/blimp_network_delegate.h"
#include "net/base/net_errors.h"
#include "net/base/static_cookie_policy.h"
#include "net/url_request/url_request.h"
namespace blimp {
namespace engine {
namespace {
bool g_accept_all_cookies = true;
net::StaticCookiePolicy::Type GetPolicyType() {
return g_accept_all_cookies
? net::StaticCookiePolicy::ALLOW_ALL_COOKIES
: net::StaticCookiePolicy::BLOCK_ALL_THIRD_PARTY_COOKIES;
}
} // namespace
BlimpNetworkDelegate::BlimpNetworkDelegate() {}
BlimpNetworkDelegate::~BlimpNetworkDelegate() {}
void BlimpNetworkDelegate::SetAcceptAllCookies(bool accept) {
g_accept_all_cookies = accept;
}
bool BlimpNetworkDelegate::OnCanGetCookies(const net::URLRequest& request,
const net::CookieList& cookie_list) {
net::StaticCookiePolicy policy(GetPolicyType());
int rv =
policy.CanGetCookies(request.url(), request.first_party_for_cookies());
return rv == net::OK;
}
bool BlimpNetworkDelegate::OnCanSetCookie(const net::URLRequest& request,
const std::string& cookie_line,
net::CookieOptions* options) {
net::StaticCookiePolicy policy(GetPolicyType());
int rv =
policy.CanSetCookie(request.url(), request.first_party_for_cookies());
return rv == net::OK;
}
} // namespace engine
} // namespace blimp