// Copyright (c) 2011 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.
// Constants for the Chrome Extensions Proxy Settings API.
#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_PROXY_API_CONSTANTS_H_
#define CHROME_BROWSER_EXTENSIONS_EXTENSION_PROXY_API_CONSTANTS_H_
#pragma once
namespace extension_proxy_api_constants {
// String literals in dictionaries used to communicate with extension.
extern const char kProxyConfigMode[];
extern const char kProxyConfigPacScript[];
extern const char kProxyConfigPacScriptUrl[];
extern const char kProxyConfigPacScriptData[];
extern const char kProxyConfigRules[];
extern const char kProxyConfigRuleHost[];
extern const char kProxyConfigRulePort[];
extern const char kProxyConfigRuleScheme[];
extern const char kProxyConfigBypassList[];
extern const char kProxyConfigValue[];
extern const char kProxyEventFatal[];
extern const char kProxyEventError[];
extern const char kProxyEventDetails[];
extern const char kProxyEventOnProxyError[];
// Prefix that identifies PAC-script encoding urls.
extern const char kPACDataUrlPrefix[];
// The scheme for which to use a manually specified proxy, not of the proxy URI
// itself.
enum {
SCHEME_ALL = 0,
SCHEME_HTTP,
SCHEME_HTTPS,
SCHEME_FTP,
SCHEME_FALLBACK,
SCHEME_MAX = SCHEME_FALLBACK // Keep this value up to date.
};
// The names of the JavaScript properties to extract from the proxy_rules.
// These must be kept in sync with the SCHEME_* constants.
extern const char* field_name[];
// The names of the schemes to be used to build the preference value string
// for manual proxy settings. These must be kept in sync with the SCHEME_*
// constants.
extern const char* scheme_name[];
} // namespace extension_proxy_api_constants
#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_PROXY_API_CONSTANTS_H_