diff options
author | jianli@chromium.org <jianli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-28 22:30:53 +0000 |
---|---|---|
committer | jianli@chromium.org <jianli@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-09-28 22:30:53 +0000 |
commit | ca3f22c070a6b61a3ec40ace07244890bbdd6ebe (patch) | |
tree | f2106dbb965ae0493238b25770e4e9503a3fae60 | |
parent | 5ad11a036d3686318997cbcdd1340275ca8c9709 (diff) | |
download | chromium_src-ca3f22c070a6b61a3ec40ace07244890bbdd6ebe.zip chromium_src-ca3f22c070a6b61a3ec40ace07244890bbdd6ebe.tar.gz chromium_src-ca3f22c070a6b61a3ec40ace07244890bbdd6ebe.tar.bz2 |
Chromium side implementations of some FileSystem methods. This is needed to complete the WebKit bug fix https://bugs.webkit.org/show_bug.cgi?id=29109.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/209072
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27420 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | DEPS | 2 | ||||
-rw-r--r-- | webkit/api/public/WebKitClient.h | 3 | ||||
-rw-r--r-- | webkit/api/src/ChromiumBridge.cpp | 15 | ||||
-rw-r--r-- | webkit/glue/webkitclient_impl.cc | 19 | ||||
-rw-r--r-- | webkit/glue/webkitclient_impl.h | 3 |
5 files changed, 41 insertions, 1 deletions
@@ -1,7 +1,7 @@ vars = { "webkit_trunk": "http://svn.webkit.org/repository/webkit/trunk", - "webkit_revision": "48820", + "webkit_revision": "48821", "ffmpeg_revision": "26428", } diff --git a/webkit/api/public/WebKitClient.h b/webkit/api/public/WebKitClient.h index 722ba97..b95dc1f 100644 --- a/webkit/api/public/WebKitClient.h +++ b/webkit/api/public/WebKitClient.h @@ -104,6 +104,9 @@ namespace WebKit { virtual WebString directoryName(const WebString& path) = 0; virtual WebString pathByAppendingComponent(const WebString& path, const WebString& component) = 0; virtual bool makeAllDirectories(const WebString& path) = 0; + virtual WebString getAbsolutePath(const WebString& path) = 0; + virtual bool isDirectory(const WebString& path) = 0; + virtual WebURL filePathToURL(const WebString& path) = 0; // History ------------------------------------------------------------- diff --git a/webkit/api/src/ChromiumBridge.cpp b/webkit/api/src/ChromiumBridge.cpp index 6ef8d76..dc0c8c7 100644 --- a/webkit/api/src/ChromiumBridge.cpp +++ b/webkit/api/src/ChromiumBridge.cpp @@ -195,6 +195,21 @@ bool ChromiumBridge::makeAllDirectories(const String& path) return webKitClient()->makeAllDirectories(path); } +String ChromiumBridge::getAbsolutePath(const String& path) +{ + return webKitClient()->getAbsolutePath(path); +} + +bool ChromiumBridge::isDirectory(const String& path) +{ + return webKitClient()->isDirectory(path); +} + +KURL ChromiumBridge::filePathToURL(const String& path) +{ + return webKitClient()->filePathToURL(path); +} + // Font ----------------------------------------------------------------------- #if PLATFORM(WIN_OS) diff --git a/webkit/glue/webkitclient_impl.cc b/webkit/glue/webkitclient_impl.cc index 4315db7..34c7ba5 100644 --- a/webkit/glue/webkitclient_impl.cc +++ b/webkit/glue/webkitclient_impl.cc @@ -20,6 +20,7 @@ #include "base/trace_event.h" #include "grit/webkit_resources.h" #include "grit/webkit_strings.h" +#include "net/base/net_util.h" #include "webkit/api/public/WebCursorInfo.h" #include "webkit/api/public/WebData.h" #include "webkit/api/public/WebFrameClient.h" @@ -462,4 +463,22 @@ WebCore::WorkerContextProxy* WebKitClientImpl::createWorkerContextProxy( WebCore::Worker* worker) { return WebWorkerClientImpl::createWorkerContextProxy(worker); } + +WebKit::WebString WebKitClientImpl::getAbsolutePath( + const WebKit::WebString& path) { + FilePath file_path(webkit_glue::WebStringToFilePathString(path)); + file_util::AbsolutePath(&file_path); + return webkit_glue::FilePathStringToWebString(file_path.value()); +} + +bool WebKitClientImpl::isDirectory(const WebKit::WebString& path) { + FilePath file_path(webkit_glue::WebStringToFilePathString(path)); + return file_util::DirectoryExists(file_path); +} + +WebKit::WebURL WebKitClientImpl::filePathToURL(const WebKit::WebString& path) { + FilePath file_path(webkit_glue::WebStringToFilePathString(path)); + GURL file_url = net::FilePathToFileURL(file_path); + return webkit_glue::KURLToWebURL(webkit_glue::GURLToKURL(file_url)); +} } // namespace webkit_glue diff --git a/webkit/glue/webkitclient_impl.h b/webkit/glue/webkitclient_impl.h index 1c4a177..ba25918 100644 --- a/webkit/glue/webkitclient_impl.h +++ b/webkit/glue/webkitclient_impl.h @@ -58,6 +58,9 @@ class WebKitClientImpl : public WebKit::WebKitClient { virtual WebKit::WebString pathByAppendingComponent( const WebKit::WebString& path, const WebKit::WebString& component); virtual bool makeAllDirectories(const WebKit::WebString& path); + virtual WebKit::WebString getAbsolutePath(const WebKit::WebString& path); + virtual bool isDirectory(const WebKit::WebString& path); + virtual WebKit::WebURL filePathToURL(const WebKit::WebString& path); virtual WebKit::WebApplicationCacheHost* createApplicationCacheHost( WebKit::WebApplicationCacheHostClient*); |