blob: e8adb508600f5b59354aebe91c258f96935bca28 [file] [log] [blame]
// Copyright 2018 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "net/proxy_resolution/proxy_config_with_annotation.h"
namespace net {
namespace {
constexpr NetworkTrafficAnnotationTag kDirectProxyTrafficAnnotation =
DefineNetworkTrafficAnnotation("proxy_config_direct", R"(
semantics {
sender: "Proxy Config"
description:
"Direct connections are being used instead of a proxy. This is a place "
"holder annotation that would include details about where the "
"configuration, which can trigger fetching a PAC file, came from."
trigger:
"Connecting directly to destination sites instead of using a proxy is "
"the default behavior."
data:
"None."
destination: WEBSITE
}
policy {
cookies_allowed: NO
setting:
"This isn't a real network request. A proxy can be selected in "
"settings."
policy_exception_justification:
"Using 'ProxySettings' policy can set Chrome to use specific proxy "
"settings and avoid directly connecting to the websites."
})");
} // namespace
ProxyConfigWithAnnotation::ProxyConfigWithAnnotation()
: value_(ProxyConfig::CreateDirect()),
traffic_annotation_(
MutableNetworkTrafficAnnotationTag(kDirectProxyTrafficAnnotation)) {}
ProxyConfigWithAnnotation::ProxyConfigWithAnnotation(
const ProxyConfig& proxy_config,
const NetworkTrafficAnnotationTag& traffic_annotation)
: value_(proxy_config),
traffic_annotation_(
MutableNetworkTrafficAnnotationTag(traffic_annotation)) {}
} // namespace net