| Index: headless/lib/browser/headless_network_delegate.cc
|
| diff --git a/headless/lib/browser/headless_network_delegate.cc b/headless/lib/browser/headless_network_delegate.cc
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..248fdeddf783712c00ac8305dc03c91c036cfdbe
|
| --- /dev/null
|
| +++ b/headless/lib/browser/headless_network_delegate.cc
|
| @@ -0,0 +1,108 @@
|
| +// 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 "headless/lib/browser/headless_network_delegate.h"
|
| +
|
| +#include "base/command_line.h"
|
| +#include "base/strings/string_util.h"
|
| +#include "content/public/common/content_switches.h"
|
| +#include "net/base/net_errors.h"
|
| +#include "net/base/static_cookie_policy.h"
|
| +#include "net/url_request/url_request.h"
|
| +
|
| +namespace headless {
|
| +
|
| +HeadlessNetworkDelegate::HeadlessNetworkDelegate() {}
|
| +
|
| +HeadlessNetworkDelegate::~HeadlessNetworkDelegate() {}
|
| +
|
| +int HeadlessNetworkDelegate::OnBeforeURLRequest(
|
| + net::URLRequest* request,
|
| + const net::CompletionCallback& callback,
|
| + GURL* new_url) {
|
| + return net::OK;
|
| +}
|
| +
|
| +int HeadlessNetworkDelegate::OnBeforeSendHeaders(
|
| + net::URLRequest* request,
|
| + const net::CompletionCallback& callback,
|
| + net::HttpRequestHeaders* headers) {
|
| + return net::OK;
|
| +}
|
| +
|
| +void HeadlessNetworkDelegate::OnSendHeaders(
|
| + net::URLRequest* request,
|
| + const net::HttpRequestHeaders& headers) {}
|
| +
|
| +int HeadlessNetworkDelegate::OnHeadersReceived(
|
| + net::URLRequest* request,
|
| + const net::CompletionCallback& callback,
|
| + const net::HttpResponseHeaders* original_response_headers,
|
| + scoped_refptr<net::HttpResponseHeaders>* override_response_headers,
|
| + GURL* allowed_unsafe_redirect_url) {
|
| + return net::OK;
|
| +}
|
| +
|
| +void HeadlessNetworkDelegate::OnBeforeRedirect(net::URLRequest* request,
|
| + const GURL& new_location) {}
|
| +
|
| +void HeadlessNetworkDelegate::OnResponseStarted(net::URLRequest* request) {}
|
| +
|
| +void HeadlessNetworkDelegate::OnCompleted(net::URLRequest* request,
|
| + bool started) {}
|
| +
|
| +void HeadlessNetworkDelegate::OnURLRequestDestroyed(net::URLRequest* request) {}
|
| +
|
| +void HeadlessNetworkDelegate::OnPACScriptError(int line_number,
|
| + const base::string16& error) {}
|
| +
|
| +HeadlessNetworkDelegate::AuthRequiredResponse
|
| +HeadlessNetworkDelegate::OnAuthRequired(net::URLRequest* request,
|
| + const net::AuthChallengeInfo& auth_info,
|
| + const AuthCallback& callback,
|
| + net::AuthCredentials* credentials) {
|
| + return AUTH_REQUIRED_RESPONSE_NO_ACTION;
|
| +}
|
| +
|
| +bool HeadlessNetworkDelegate::OnCanGetCookies(
|
| + const net::URLRequest& request,
|
| + const net::CookieList& cookie_list) {
|
| + // TODO(skyostil): Make this configurable.
|
| + net::StaticCookiePolicy::Type policy_type =
|
| + net::StaticCookiePolicy::ALLOW_ALL_COOKIES;
|
| + net::StaticCookiePolicy policy(policy_type);
|
| + int rv =
|
| + policy.CanGetCookies(request.url(), request.first_party_for_cookies());
|
| + return rv == net::OK;
|
| +}
|
| +
|
| +bool HeadlessNetworkDelegate::OnCanSetCookie(const net::URLRequest& request,
|
| + const std::string& cookie_line,
|
| + net::CookieOptions* options) {
|
| + // TODO(skyostil): Make this configurable.
|
| + net::StaticCookiePolicy::Type policy_type =
|
| + net::StaticCookiePolicy::ALLOW_ALL_COOKIES;
|
| + net::StaticCookiePolicy policy(policy_type);
|
| + int rv =
|
| + policy.CanSetCookie(request.url(), request.first_party_for_cookies());
|
| + return rv == net::OK;
|
| +}
|
| +
|
| +bool HeadlessNetworkDelegate::OnCanAccessFile(
|
| + const net::URLRequest& request,
|
| + const base::FilePath& path) const {
|
| + // TODO(skyostil): Make this configurable.
|
| + return true;
|
| +}
|
| +
|
| +bool HeadlessNetworkDelegate::OnAreExperimentalCookieFeaturesEnabled() const {
|
| + return base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kEnableExperimentalWebPlatformFeatures);
|
| +}
|
| +
|
| +bool HeadlessNetworkDelegate::OnAreStrictSecureCookiesEnabled() const {
|
| + return OnAreExperimentalCookieFeaturesEnabled();
|
| +}
|
| +
|
| +} // namespace headless
|
|
|