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 10namespace net { 11 12// static 13scoped_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 21scoped_refptr<ProxyResolverScriptData> ProxyResolverScriptData::FromUTF16( 22 const string16& utf16) { 23 return new ProxyResolverScriptData(TYPE_SCRIPT_CONTENTS, GURL(), utf16); 24} 25 26// static 27scoped_refptr<ProxyResolverScriptData> ProxyResolverScriptData::FromURL( 28 const GURL& url) { 29 return new ProxyResolverScriptData(TYPE_SCRIPT_URL, url, string16()); 30} 31 32// static 33scoped_refptr<ProxyResolverScriptData> 34ProxyResolverScriptData::ForAutoDetect() { 35 return new ProxyResolverScriptData(TYPE_AUTO_DETECT, GURL(), string16()); 36} 37 38const string16& ProxyResolverScriptData::utf16() const { 39 DCHECK_EQ(TYPE_SCRIPT_CONTENTS, type_); 40 return utf16_; 41} 42 43const GURL& ProxyResolverScriptData::url() const { 44 DCHECK_EQ(TYPE_SCRIPT_URL, type_); 45 return url_; 46} 47 48ProxyResolverScriptData::ProxyResolverScriptData(Type type, 49 const GURL& url, 50 const string16& utf16) 51 : type_(type), 52 url_(url), 53 utf16_(utf16) { 54} 55 56ProxyResolverScriptData::~ProxyResolverScriptData() {} 57 58} // namespace net 59