1 // Copyright 2014 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 "content/child/webfileutilities_impl.h" 6 7 #include "base/file_util.h" 8 #include "base/files/file_path.h" 9 #include "base/logging.h" 10 #include "content/child/blink_glue.h" 11 #include "net/base/file_stream.h" 12 #include "net/base/filename_util.h" 13 #include "third_party/WebKit/public/platform/WebFileInfo.h" 14 #include "third_party/WebKit/public/platform/WebString.h" 15 #include "third_party/WebKit/public/platform/WebURL.h" 16 17 using blink::WebString; 18 19 namespace content { 20 WebFileUtilitiesImpl()21WebFileUtilitiesImpl::WebFileUtilitiesImpl() 22 : sandbox_enabled_(true) { 23 } 24 ~WebFileUtilitiesImpl()25WebFileUtilitiesImpl::~WebFileUtilitiesImpl() { 26 } 27 getFileInfo(const WebString & path,blink::WebFileInfo & web_file_info)28bool WebFileUtilitiesImpl::getFileInfo(const WebString& path, 29 blink::WebFileInfo& web_file_info) { 30 if (sandbox_enabled_) { 31 NOTREACHED(); 32 return false; 33 } 34 base::File::Info file_info; 35 if (!base::GetFileInfo(base::FilePath::FromUTF16Unsafe(path), 36 reinterpret_cast<base::File::Info*>(&file_info))) 37 return false; 38 39 FileInfoToWebFileInfo(file_info, &web_file_info); 40 web_file_info.platformPath = path; 41 return true; 42 } 43 directoryName(const WebString & path)44WebString WebFileUtilitiesImpl::directoryName(const WebString& path) { 45 return base::FilePath::FromUTF16Unsafe(path).DirName().AsUTF16Unsafe(); 46 } 47 baseName(const WebString & path)48WebString WebFileUtilitiesImpl::baseName(const WebString& path) { 49 return base::FilePath::FromUTF16Unsafe(path).BaseName().AsUTF16Unsafe(); 50 } 51 filePathToURL(const WebString & path)52blink::WebURL WebFileUtilitiesImpl::filePathToURL(const WebString& path) { 53 return net::FilePathToFileURL(base::FilePath::FromUTF16Unsafe(path)); 54 } 55 56 } // namespace content 57