10de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 20de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 30de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles)// found in the LICENSE file. 40de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles) 50de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles)#ifndef NET_BASE_FILENAME_UTIL_UNSAFE_H_ 60de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles)#define NET_BASE_FILENAME_UTIL_UNSAFE_H_ 70de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles) 80de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles)#include <string> 90de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles) 100de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles)#include "base/files/file_path.h" 110de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles)#include "base/strings/string16.h" 120de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles)#include "net/base/net_export.h" 130de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles) 140de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles)class GURL; 150de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles) 160de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles)namespace net { 170de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles) 180de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles)// Extract extension from FilePath generated by GenerateFileName(), but without 190de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles)// replacing illegal characters. Does not depend on ICU. 200de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles)NET_EXPORT base::FilePath::StringType GenerateFileExtensionUnsafe( 210de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles) const GURL& url, 220de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles) const std::string& content_disposition, 230de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles) const std::string& referrer_charset, 240de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles) const std::string& suggested_name, 250de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles) const std::string& mime_type, 260de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles) const std::string& default_name); 270de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles) 280de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles)} // namespace net 290de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles) 300de6073388f4e2780db8536178b129cd8f6ab386Torne (Richard Coles)#endif // NET_BASE_FILENAME_UTIL_UNSAFE_H_ 31