diff options
author | dumi@chromium.org <dumi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-17 19:51:21 +0000 |
---|---|---|
committer | dumi@chromium.org <dumi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-11-17 19:51:21 +0000 |
commit | 5457ddcce3a246db5b32ca8d76075b90505bb9c8 (patch) | |
tree | d76109289ee6209f666c042066faadcc5d953c68 | |
parent | 3ec5d77459b2bd7e994065f46e3559c471e87639 (diff) | |
download | chromium_src-5457ddcce3a246db5b32ca8d76075b90505bb9c8.zip chromium_src-5457ddcce3a246db5b32ca8d76075b90505bb9c8.tar.gz chromium_src-5457ddcce3a246db5b32ca8d76075b90505bb9c8.tar.bz2 |
Change FileRef::GetName() to return the name of the file even for
external files.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/5127002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66504 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | ppapi/tests/test_file_ref.cc | 4 | ||||
-rw-r--r-- | webkit/glue/plugins/pepper_file_ref.cc | 14 |
2 files changed, 14 insertions, 4 deletions
diff --git a/ppapi/tests/test_file_ref.cc b/ppapi/tests/test_file_ref.cc index e096903..b1062a7 100644 --- a/ppapi/tests/test_file_ref.cc +++ b/ppapi/tests/test_file_ref.cc @@ -139,8 +139,8 @@ std::string TestFileRef::TestGetName() { pp::FileRef_Dev file_ref_ext(response_info.GetBodyAsFileRef()); name = file_ref_ext.GetName().AsString(); - if (name != "") - return ReportMismatch("FileRef::GetName", name, "<empty string>"); + if (name == "") + return ReportMismatch("FileRef::GetName", name, "<a temp file>"); return ""; } diff --git a/webkit/glue/plugins/pepper_file_ref.cc b/webkit/glue/plugins/pepper_file_ref.cc index 67e39e3..6068a29 100644 --- a/webkit/glue/plugins/pepper_file_ref.cc +++ b/webkit/glue/plugins/pepper_file_ref.cc @@ -266,8 +266,18 @@ const PPB_FileRef_Dev* FileRef::GetInterface() { } std::string FileRef::GetName() const { - if (GetFileSystemType() == PP_FILESYSTEMTYPE_EXTERNAL) - return std::string(); + if (GetFileSystemType() == PP_FILESYSTEMTYPE_EXTERNAL) { + FilePath::StringType path = system_path_.value(); + size_t pos = path.rfind(FilePath::kSeparators[0]); + DCHECK(pos != FilePath::StringType::npos); +#if defined(OS_WIN) + return WideToUTF8(path.substr(pos + 1)); +#elif defined(OS_POSIX) + return path.substr(pos + 1); +#else +#error "Unsupported platform." +#endif + } if (virtual_path_.size() == 1 && virtual_path_[0] == '/') return virtual_path_; |