filename_util_unsafe.h revision 0de6073388f4e2780db8536178b129cd8f6ab386
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