Home | History | Annotate | Download | only in proxy
      1 // Copyright (c) 2010 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "net/proxy/proxy_resolver_script_data.h"
      6 
      7 #include "base/logging.h"
      8 #include "base/utf_string_conversions.h"
      9 
     10 namespace net {
     11 
     12 // static
     13 scoped_refptr<ProxyResolverScriptData> ProxyResolverScriptData::FromUTF8(
     14     const std::string& utf8) {
     15   return new ProxyResolverScriptData(TYPE_SCRIPT_CONTENTS,
     16                                      GURL(),
     17                                      UTF8ToUTF16(utf8));
     18 }
     19 
     20 // static
     21 scoped_refptr<ProxyResolverScriptData> ProxyResolverScriptData::FromUTF16(
     22     const string16& utf16) {
     23   return new ProxyResolverScriptData(TYPE_SCRIPT_CONTENTS, GURL(), utf16);
     24 }
     25 
     26 // static
     27 scoped_refptr<ProxyResolverScriptData> ProxyResolverScriptData::FromURL(
     28     const GURL& url) {
     29   return new ProxyResolverScriptData(TYPE_SCRIPT_URL, url, string16());
     30 }
     31 
     32 // static
     33 scoped_refptr<ProxyResolverScriptData>
     34 ProxyResolverScriptData::ForAutoDetect() {
     35   return new ProxyResolverScriptData(TYPE_AUTO_DETECT, GURL(), string16());
     36 }
     37 
     38 const string16& ProxyResolverScriptData::utf16() const {
     39   DCHECK_EQ(TYPE_SCRIPT_CONTENTS, type_);
     40   return utf16_;
     41 }
     42 
     43 const GURL& ProxyResolverScriptData::url() const {
     44   DCHECK_EQ(TYPE_SCRIPT_URL, type_);
     45   return url_;
     46 }
     47 
     48 ProxyResolverScriptData::ProxyResolverScriptData(Type type,
     49                                                  const GURL& url,
     50                                                  const string16& utf16)
     51     : type_(type),
     52       url_(url),
     53       utf16_(utf16) {
     54 }
     55 
     56 ProxyResolverScriptData::~ProxyResolverScriptData() {}
     57 
     58 }  // namespace net
     59