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 17using blink::WebString; 18 19namespace content { 20 21WebFileUtilitiesImpl::WebFileUtilitiesImpl() 22 : sandbox_enabled_(true) { 23} 24 25WebFileUtilitiesImpl::~WebFileUtilitiesImpl() { 26} 27 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 44WebString WebFileUtilitiesImpl::directoryName(const WebString& path) { 45 return base::FilePath::FromUTF16Unsafe(path).DirName().AsUTF16Unsafe(); 46} 47 48WebString WebFileUtilitiesImpl::baseName(const WebString& path) { 49 return base::FilePath::FromUTF16Unsafe(path).BaseName().AsUTF16Unsafe(); 50} 51 52blink::WebURL WebFileUtilitiesImpl::filePathToURL(const WebString& path) { 53 return net::FilePathToFileURL(base::FilePath::FromUTF16Unsafe(path)); 54} 55 56} // namespace content 57