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