15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Constants for the Chrome Extensions Proxy Settings API.
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/extensions/api/proxy/proxy_api_constants.h"
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/basictypes.h"
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace extensions {
125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)namespace proxy_api_constants {
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kProxyConfigMode[] = "mode";
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kProxyConfigPacScript[] = "pacScript";
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kProxyConfigPacScriptMandatory[] = "mandatory";
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kProxyConfigPacScriptUrl[] = "url";
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kProxyConfigPacScriptData[] = "data";
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kProxyConfigRules[] = "rules";
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kProxyConfigRuleHost[] = "host";
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kProxyConfigRulePort[] = "port";
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kProxyConfigRuleScheme[] = "scheme";
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kProxyConfigBypassList[] = "bypassList";
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kProxyEventFatal[] = "fatal";
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kProxyEventError[] = "error";
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kProxyEventDetails[] = "details";
285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kProxyEventOnProxyError[] = "proxy.onProxyError";
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char kPACDataUrlPrefix[] =
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    "data:application/x-ns-proxy-autoconfig;base64,";
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char* field_name[] = { "singleProxy",
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                             "proxyForHttp",
355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                             "proxyForHttps",
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                             "proxyForFtp",
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                             "fallbackProxy" };
385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char* scheme_name[] = { "*error*",
405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                              "http",
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                              "https",
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                              "ftp",
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)                              "socks" };
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)COMPILE_ASSERT(SCHEME_MAX == SCHEME_FALLBACK,
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)               SCHEME_MAX_must_equal_SCHEME_FALLBACK);
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)COMPILE_ASSERT(arraysize(field_name) == SCHEME_MAX + 1,
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)               field_name_array_is_wrong_size);
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)COMPILE_ASSERT(arraysize(scheme_name) == SCHEME_MAX + 1,
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)               scheme_name_array_is_wrong_size);
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)COMPILE_ASSERT(SCHEME_ALL == 0, singleProxy_must_be_first_option);
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // namespace proxy_api_constants
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}  // extensions
55