summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authortsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-01 20:46:52 +0000
committertsepez@chromium.org <tsepez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-06-01 20:46:52 +0000
commit042ba8592ac73507fda0135d977b63347b77b873 (patch)
tree1472630f6960ec5ee2214bd11f33939f7282a70a
parent7e1dc3d25fb9211ae4baf7577ef72afcad78f2e1 (diff)
downloadchromium_src-042ba8592ac73507fda0135d977b63347b77b873.zip
chromium_src-042ba8592ac73507fda0135d977b63347b77b873.tar.gz
chromium_src-042ba8592ac73507fda0135d977b63347b77b873.tar.bz2
Revert 140093 - Open pepper files directly in browser.
This CL merges in the changes for the per-profile plugin process from the previously retired CL. Review URL: https://chromiumcodereview.appspot.com/10387195 TBR=tsepez@chromium.org Review URL: https://chromiumcodereview.appspot.com/10477006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140094 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--chrome/common/all_messages.h3
-rw-r--r--content/browser/ppapi_plugin_process_host.cc17
-rw-r--r--content/browser/ppapi_plugin_process_host.h13
-rw-r--r--content/browser/renderer_host/pepper_file_message_filter.cc60
-rw-r--r--content/browser/renderer_host/pepper_file_message_filter.h50
-rw-r--r--content/browser/renderer_host/render_process_host_impl.cc2
-rw-r--r--content/common/content_message_generator.h1
-rw-r--r--content/common/pepper_file_messages.cc39
-rw-r--r--content/common/pepper_file_messages.h (renamed from ppapi/proxy/pepper_file_messages.h)33
-rw-r--r--content/content_common.gypi2
-rw-r--r--content/renderer/pepper/pepper_plugin_delegate_impl.cc20
-rw-r--r--content/renderer/pepper/pepper_plugin_delegate_impl.h18
-rw-r--r--ppapi/ppapi_proxy.gypi2
-rw-r--r--ppapi/ppapi_proxy_untrusted.gypi1
-rw-r--r--ppapi/ppapi_shared.gypi4
-rw-r--r--ppapi/proxy/pepper_file_messages.cc68
-rw-r--r--ppapi/proxy/ppapi_messages.h32
-rw-r--r--ppapi/proxy/ppb_flash_proxy.cc273
-rw-r--r--ppapi/proxy/ppb_flash_proxy.h24
-rw-r--r--webkit/glue/webkit_glue.gypi2
-rw-r--r--webkit/plugins/ppapi/dir_contents.h (renamed from ppapi/shared_impl/dir_contents.h)11
-rw-r--r--webkit/plugins/ppapi/file_path.cc (renamed from ppapi/shared_impl/file_path.cc)12
-rw-r--r--webkit/plugins/ppapi/file_path.h (renamed from ppapi/shared_impl/file_path.h)20
-rw-r--r--webkit/plugins/ppapi/mock_plugin_delegate.cc16
-rw-r--r--webkit/plugins/ppapi/mock_plugin_delegate.h30
-rw-r--r--webkit/plugins/ppapi/plugin_delegate.h34
-rw-r--r--webkit/plugins/ppapi/ppb_flash_impl.cc29
27 files changed, 431 insertions, 385 deletions
diff --git a/chrome/common/all_messages.h b/chrome/common/all_messages.h
index c27e689..5b396b6 100644
--- a/chrome/common/all_messages.h
+++ b/chrome/common/all_messages.h
@@ -1,4 +1,4 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
@@ -17,5 +17,4 @@
#include "chrome/common/common_message_generator.h"
#include "chrome/common/nacl_messages.h"
#include "content/common/content_message_generator.h"
-#include "ppapi/proxy/pepper_file_messages.h"
#include "ppapi/proxy/ppapi_messages.h"
diff --git a/content/browser/ppapi_plugin_process_host.cc b/content/browser/ppapi_plugin_process_host.cc
index de2770a..71cadc4 100644
--- a/content/browser/ppapi_plugin_process_host.cc
+++ b/content/browser/ppapi_plugin_process_host.cc
@@ -74,8 +74,8 @@ PpapiPluginProcessHost* PpapiPluginProcessHost::CreatePluginHost(
const content::PepperPluginInfo& info,
const FilePath& profile_data_directory,
net::HostResolver* host_resolver) {
- PpapiPluginProcessHost* plugin_host = new PpapiPluginProcessHost(
- info.name, profile_data_directory, host_resolver);
+ PpapiPluginProcessHost* plugin_host =
+ new PpapiPluginProcessHost(profile_data_directory, host_resolver);
if (plugin_host->Init(info))
return plugin_host;
@@ -112,23 +112,16 @@ void PpapiPluginProcessHost::OpenChannelToPlugin(Client* client) {
}
PpapiPluginProcessHost::PpapiPluginProcessHost(
- const std::string& plugin_name,
const FilePath& profile_data_directory,
net::HostResolver* host_resolver)
- : network_observer_(new PluginNetworkObserver(this)),
+ : filter_(new PepperMessageFilter(PepperMessageFilter::PLUGIN,
+ host_resolver)),
+ network_observer_(new PluginNetworkObserver(this)),
profile_data_directory_(profile_data_directory),
is_broker_(false) {
process_.reset(new BrowserChildProcessHostImpl(
content::PROCESS_TYPE_PPAPI_PLUGIN, this));
-
- filter_ = new PepperMessageFilter(
- PepperMessageFilter::PLUGIN, host_resolver);
-
- file_filter_ = new PepperTrustedFileMessageFilter(
- process_->GetData().id, plugin_name, profile_data_directory);
-
process_->GetHost()->AddFilter(filter_.get());
- process_->GetHost()->AddFilter(file_filter_.get());
}
PpapiPluginProcessHost::PpapiPluginProcessHost()
diff --git a/content/browser/ppapi_plugin_process_host.h b/content/browser/ppapi_plugin_process_host.h
index f5954f5..71314b1 100644
--- a/content/browser/ppapi_plugin_process_host.h
+++ b/content/browser/ppapi_plugin_process_host.h
@@ -6,14 +6,12 @@
#define CONTENT_BROWSER_PPAPI_PLUGIN_PROCESS_HOST_H_
#pragma once
-#include <string>
#include <queue>
#include "base/basictypes.h"
#include "base/file_path.h"
-#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
-#include "content/browser/renderer_host/pepper_file_message_filter.h"
+#include "base/memory/ref_counted.h"
#include "content/browser/renderer_host/pepper_message_filter.h"
#include "content/public/browser/browser_child_process_host_delegate.h"
#include "content/public/browser/browser_child_process_host_iterator.h"
@@ -81,8 +79,7 @@ class PpapiPluginProcessHost : public content::BrowserChildProcessHostDelegate,
const FilePath& plugin_path() const { return plugin_path_; }
const FilePath& profile_data_directory() const {
- return profile_data_directory_;
- }
+ return profile_data_directory_; }
// The client pointer must remain valid until its callback is issued.
@@ -91,8 +88,7 @@ class PpapiPluginProcessHost : public content::BrowserChildProcessHostDelegate,
// Constructors for plugin and broker process hosts, respectively.
// You must call Init before doing anything else.
- PpapiPluginProcessHost(const std::string& plugin_name,
- const FilePath& profile_data_directory,
+ PpapiPluginProcessHost(const FilePath& profile_data_directory,
net::HostResolver* host_resolver);
PpapiPluginProcessHost();
@@ -116,9 +112,6 @@ class PpapiPluginProcessHost : public content::BrowserChildProcessHostDelegate,
// Handles most requests from the plugin. May be NULL.
scoped_refptr<PepperMessageFilter> filter_;
- // Handles filesystem requests from flash plugins. May be NULL.
- scoped_refptr<PepperFileMessageFilter> file_filter_;
-
// Observes network changes. May be NULL.
scoped_ptr<PluginNetworkObserver> network_observer_;
diff --git a/content/browser/renderer_host/pepper_file_message_filter.cc b/content/browser/renderer_host/pepper_file_message_filter.cc
index df728c0..e8b3a92 100644
--- a/content/browser/renderer_host/pepper_file_message_filter.cc
+++ b/content/browser/renderer_host/pepper_file_message_filter.cc
@@ -11,11 +11,12 @@
#include "base/process_util.h"
#include "content/browser/child_process_security_policy_impl.h"
#include "content/browser/renderer_host/render_process_host_impl.h"
+#include "content/common/pepper_file_messages.h"
+#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_thread.h"
#include "content/public/common/content_constants.h"
#include "ipc/ipc_platform_file.h"
-#include "ppapi/proxy/pepper_file_messages.h"
-#include "ppapi/shared_impl/file_path.h"
+#include "webkit/plugins/ppapi/file_path.h"
#if defined(OS_POSIX)
#include "base/file_descriptor_posix.h"
@@ -37,9 +38,11 @@ const int kWritePermissions = base::PLATFORM_FILE_OPEN |
base::PLATFORM_FILE_EXCLUSIVE_WRITE |
base::PLATFORM_FILE_WRITE_ATTRIBUTES;
-PepperFileMessageFilter::PepperFileMessageFilter(int child_id)
+PepperFileMessageFilter::PepperFileMessageFilter(
+ int child_id, content::BrowserContext* browser_context)
: child_id_(child_id),
channel_(NULL) {
+ pepper_path_ = GetDataDirName(browser_context->GetPath());
}
void PepperFileMessageFilter::OverrideThreadForMessage(
@@ -80,7 +83,7 @@ PepperFileMessageFilter::~PepperFileMessageFilter() {
// Called on the FILE thread:
void PepperFileMessageFilter::OnOpenFile(
- const ppapi::PepperFilePath& path,
+ const webkit::ppapi::PepperFilePath& path,
int flags,
base::PlatformFileError* error,
IPC::PlatformFileForTransit* file) {
@@ -125,8 +128,8 @@ void PepperFileMessageFilter::OnOpenFile(
}
void PepperFileMessageFilter::OnRenameFile(
- const ppapi::PepperFilePath& from_path,
- const ppapi::PepperFilePath& to_path,
+ const webkit::ppapi::PepperFilePath& from_path,
+ const webkit::ppapi::PepperFilePath& to_path,
base::PlatformFileError* error) {
FilePath from_full_path = ValidateAndConvertPepperFilePath(from_path,
kWritePermissions);
@@ -143,7 +146,7 @@ void PepperFileMessageFilter::OnRenameFile(
}
void PepperFileMessageFilter::OnDeleteFileOrDir(
- const ppapi::PepperFilePath& path,
+ const webkit::ppapi::PepperFilePath& path,
bool recursive,
base::PlatformFileError* error) {
FilePath full_path = ValidateAndConvertPepperFilePath(path,
@@ -159,7 +162,7 @@ void PepperFileMessageFilter::OnDeleteFileOrDir(
}
void PepperFileMessageFilter::OnCreateDir(
- const ppapi::PepperFilePath& path,
+ const webkit::ppapi::PepperFilePath& path,
base::PlatformFileError* error) {
FilePath full_path = ValidateAndConvertPepperFilePath(path,
kWritePermissions);
@@ -174,7 +177,7 @@ void PepperFileMessageFilter::OnCreateDir(
}
void PepperFileMessageFilter::OnQueryFile(
- const ppapi::PepperFilePath& path,
+ const webkit::ppapi::PepperFilePath& path,
base::PlatformFileInfo* info,
base::PlatformFileError* error) {
FilePath full_path = ValidateAndConvertPepperFilePath(path, kReadPermissions);
@@ -189,8 +192,8 @@ void PepperFileMessageFilter::OnQueryFile(
}
void PepperFileMessageFilter::OnGetDirContents(
- const ppapi::PepperFilePath& path,
- ppapi::DirContents* contents,
+ const webkit::ppapi::PepperFilePath& path,
+ webkit::ppapi::DirContents* contents,
base::PlatformFileError* error) {
FilePath full_path = ValidateAndConvertPepperFilePath(path, kReadPermissions);
if (full_path.empty()) {
@@ -210,7 +213,7 @@ void PepperFileMessageFilter::OnGetDirContents(
while (!enumerator.Next().empty()) {
file_util::FileEnumerator::FindInfo info;
enumerator.GetFindInfo(&info);
- ppapi::DirEntry entry = {
+ webkit::ppapi::DirEntry entry = {
file_util::FileEnumerator::GetFilename(info),
file_util::FileEnumerator::IsDirectory(info)
};
@@ -221,44 +224,19 @@ void PepperFileMessageFilter::OnGetDirContents(
}
FilePath PepperFileMessageFilter::ValidateAndConvertPepperFilePath(
- const ppapi::PepperFilePath& pepper_path, int flags) {
- FilePath file_path; // Empty path returned on error.
- if (pepper_path.domain() == ppapi::PepperFilePath::DOMAIN_ABSOLUTE) {
- if (pepper_path.path().IsAbsolute() &&
- ChildProcessSecurityPolicyImpl::GetInstance()->HasPermissionsForFile(
- child_id(), pepper_path.path(), flags))
- file_path = pepper_path.path();
- }
- return file_path;
-}
-
-PepperTrustedFileMessageFilter::PepperTrustedFileMessageFilter(
- int child_id,
- const std::string& plugin_name,
- const FilePath& profile_data_directory)
- : PepperFileMessageFilter(child_id) {
- plugin_data_directory_ =
- GetDataDirName(profile_data_directory).Append(plugin_name);
-}
-
-PepperTrustedFileMessageFilter::~PepperTrustedFileMessageFilter() {
-}
-
-FilePath PepperTrustedFileMessageFilter::ValidateAndConvertPepperFilePath(
- const ppapi::PepperFilePath& pepper_path,
- int flags) {
+ const webkit::ppapi::PepperFilePath& pepper_path, int flags) {
FilePath file_path; // Empty path returned on error.
switch(pepper_path.domain()) {
- case ppapi::PepperFilePath::DOMAIN_ABSOLUTE:
+ case webkit::ppapi::PepperFilePath::DOMAIN_ABSOLUTE:
if (pepper_path.path().IsAbsolute() &&
ChildProcessSecurityPolicyImpl::GetInstance()->HasPermissionsForFile(
child_id(), pepper_path.path(), flags))
file_path = pepper_path.path();
break;
- case ppapi::PepperFilePath::DOMAIN_MODULE_LOCAL:
+ case webkit::ppapi::PepperFilePath::DOMAIN_MODULE_LOCAL:
if (!pepper_path.path().IsAbsolute() &&
!pepper_path.path().ReferencesParent())
- file_path = plugin_data_directory_.Append(pepper_path.path());
+ file_path = pepper_path_.Append(pepper_path.path());
break;
default:
NOTREACHED();
diff --git a/content/browser/renderer_host/pepper_file_message_filter.h b/content/browser/renderer_host/pepper_file_message_filter.h
index 167f1f3..09f01f6 100644
--- a/content/browser/renderer_host/pepper_file_message_filter.h
+++ b/content/browser/renderer_host/pepper_file_message_filter.h
@@ -16,20 +16,23 @@
#include "build/build_config.h"
#include "content/public/browser/browser_message_filter.h"
#include "ipc/ipc_platform_file.h"
-#include "ppapi/shared_impl/dir_contents.h"
+#include "webkit/plugins/ppapi/dir_contents.h"
namespace content {
class BrowserContext;
}
+namespace webkit {
namespace ppapi {
class PepperFilePath;
}
+}
// A message filter for Pepper-specific File I/O messages.
class PepperFileMessageFilter : public content::BrowserMessageFilter {
public:
- explicit PepperFileMessageFilter(int child_id);
+ PepperFileMessageFilter(int child_id,
+ content::BrowserContext* browser_context);
// content::BrowserMessageFilter methods:
virtual void OverrideThreadForMessage(
@@ -54,29 +57,29 @@ class PepperFileMessageFilter : public content::BrowserMessageFilter {
friend class base::DeleteHelper<PepperFileMessageFilter>;
// Called on the FILE thread:
- void OnOpenFile(const ppapi::PepperFilePath& path,
+ void OnOpenFile(const webkit::ppapi::PepperFilePath& path,
int flags,
base::PlatformFileError* error,
IPC::PlatformFileForTransit* file);
- void OnRenameFile(const ppapi::PepperFilePath& from_path,
- const ppapi::PepperFilePath& to_path,
+ void OnRenameFile(const webkit::ppapi::PepperFilePath& from_path,
+ const webkit::ppapi::PepperFilePath& to_path,
base::PlatformFileError* error);
- void OnDeleteFileOrDir(const ppapi::PepperFilePath& path,
+ void OnDeleteFileOrDir(const webkit::ppapi::PepperFilePath& path,
bool recursive,
base::PlatformFileError* error);
- void OnCreateDir(const ppapi::PepperFilePath& path,
+ void OnCreateDir(const webkit::ppapi::PepperFilePath& path,
base::PlatformFileError* error);
- void OnQueryFile(const ppapi::PepperFilePath& path,
+ void OnQueryFile(const webkit::ppapi::PepperFilePath& path,
base::PlatformFileInfo* info,
base::PlatformFileError* error);
- void OnGetDirContents(const ppapi::PepperFilePath& path,
- ppapi::DirContents* contents,
+ void OnGetDirContents(const webkit::ppapi::PepperFilePath& path,
+ webkit::ppapi::DirContents* contents,
base::PlatformFileError* error);
// Validate and convert the Pepper file path to a "real" |FilePath|. Returns
// an empty |FilePath| on error.
- virtual FilePath ValidateAndConvertPepperFilePath(
- const ppapi::PepperFilePath& pepper_path, int flags);
+ FilePath ValidateAndConvertPepperFilePath(
+ const webkit::ppapi::PepperFilePath& pepper_path, int flags);
// The ID of the child process.
const int child_id_;
@@ -85,27 +88,10 @@ class PepperFileMessageFilter : public content::BrowserMessageFilter {
// owned by this class.
IPC::Channel* channel_;
- DISALLOW_COPY_AND_ASSIGN(PepperFileMessageFilter);
-};
-
-// Class for out-of-process plugins providing relaxed path validation.
-class PepperTrustedFileMessageFilter : public PepperFileMessageFilter {
- public:
- PepperTrustedFileMessageFilter(int child_id,
- const std::string& plugin_name,
- const FilePath& profile_data_directory);
+ // The base path for the pepper data.
+ FilePath pepper_path_;
- protected:
- virtual ~PepperTrustedFileMessageFilter();
-
- private:
- virtual FilePath ValidateAndConvertPepperFilePath(
- const ppapi::PepperFilePath& pepper_path, int flags) OVERRIDE;
-
- // The path to the per-plugin directory under the per-profile data directory.
- FilePath plugin_data_directory_;
-
- DISALLOW_COPY_AND_ASSIGN(PepperTrustedFileMessageFilter);
+ DISALLOW_COPY_AND_ASSIGN(PepperFileMessageFilter);
};
#endif // CONTENT_BROWSER_RENDERER_HOST_PEPPER_FILE_MESSAGE_FILTER_H_
diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc
index 9f490bb..5493eca 100644
--- a/content/browser/renderer_host/render_process_host_impl.cc
+++ b/content/browser/renderer_host/render_process_host_impl.cc
@@ -482,7 +482,7 @@ void RenderProcessHostImpl::CreateMessageFilters() {
channel_->AddFilter(new media_stream::MediaStreamDispatcherHost(
resource_context, GetID(), BrowserMainLoop::GetAudioManager()));
#endif
- channel_->AddFilter(new PepperFileMessageFilter(GetID()));
+ channel_->AddFilter(new PepperFileMessageFilter(GetID(), browser_context));
channel_->AddFilter(new PepperMessageFilter(PepperMessageFilter::RENDERER,
GetID(), browser_context));
#if defined(ENABLE_INPUT_SPEECH)
diff --git a/content/common/content_message_generator.h b/content/common/content_message_generator.h
index 2bb605c..82e650e 100644
--- a/content/common/content_message_generator.h
+++ b/content/common/content_message_generator.h
@@ -30,6 +30,7 @@
#include "content/common/media/video_capture_messages.h"
#include "content/common/mime_registry_messages.h"
#include "content/common/p2p_messages.h"
+#include "content/common/pepper_file_messages.h"
#include "content/common/pepper_messages.h"
#include "content/common/plugin_messages.h"
#include "content/common/quota_messages.h"
diff --git a/content/common/pepper_file_messages.cc b/content/common/pepper_file_messages.cc
new file mode 100644
index 0000000..313c2b7
--- /dev/null
+++ b/content/common/pepper_file_messages.cc
@@ -0,0 +1,39 @@
+// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "content/common/pepper_file_messages.h"
+
+namespace IPC {
+
+void ParamTraits<webkit::ppapi::PepperFilePath>::Write(Message* m,
+ const param_type& p) {
+ WriteParam(m, static_cast<unsigned>(p.domain()));
+ WriteParam(m, p.path());
+}
+
+bool ParamTraits<webkit::ppapi::PepperFilePath>::Read(const Message* m,
+ PickleIterator* iter,
+ param_type* p) {
+ unsigned domain;
+ FilePath path;
+ if (!ReadParam(m, iter, &domain) || !ReadParam(m, iter, &path))
+ return false;
+ if (domain > webkit::ppapi::PepperFilePath::DOMAIN_MAX_VALID)
+ return false;
+
+ *p = webkit::ppapi::PepperFilePath(
+ static_cast<webkit::ppapi::PepperFilePath::Domain>(domain), path);
+ return true;
+}
+
+void ParamTraits<webkit::ppapi::PepperFilePath>::Log(const param_type& p,
+ std::string* l) {
+ l->append("(");
+ LogParam(static_cast<unsigned>(p.domain()), l);
+ l->append(", ");
+ LogParam(p.path(), l);
+ l->append(")");
+}
+
+} // namespace IPC
diff --git a/ppapi/proxy/pepper_file_messages.h b/content/common/pepper_file_messages.h
index b8ec98c..d202d53 100644
--- a/ppapi/proxy/pepper_file_messages.h
+++ b/content/common/pepper_file_messages.h
@@ -3,21 +3,22 @@
// found in the LICENSE file.
// Multiply-included message file, no traditional include guard.
+#include "content/public/common/common_param_traits.h"
#include "ipc/ipc_message_macros.h"
#include "ipc/ipc_param_traits.h"
#include "ipc/ipc_platform_file.h"
-#include "ppapi/shared_impl/dir_contents.h"
-#include "ppapi/shared_impl/file_path.h"
+#include "webkit/plugins/ppapi/dir_contents.h"
+#include "webkit/plugins/ppapi/file_path.h"
// Singly-included section since need custom serialization.
-#ifndef PPAPI_SHARED_IMPL_PEPPER_FILE_MESSAGES_H_
-#define PPAPI_SHARED_IMPL_PEPPER_FILE_MESSAGES_H_
+#ifndef CONTENT_COMMON_PEPPER_FILE_MESSAGES_H_
+#define CONTENT_COMMON_PEPPER_FILE_MESSAGES_H_
namespace IPC {
template <>
-struct ParamTraits<ppapi::PepperFilePath> {
- typedef ppapi::PepperFilePath param_type;
+struct ParamTraits<webkit::ppapi::PepperFilePath> {
+ typedef webkit::ppapi::PepperFilePath param_type;
static void Write(Message* m, const param_type& p);
static bool Read(const Message* m, PickleIterator* iter, param_type* p);
static void Log(const param_type& p, std::string* l);
@@ -25,11 +26,11 @@ struct ParamTraits<ppapi::PepperFilePath> {
} // namespace IPC
-#endif // PPAPI_SHARED_IMPL_PEPPER_FILE_MESSAGES_H_
+#endif // CONTENT_COMMON_PEPPER_FILE_MESSAGES_H_
#define IPC_MESSAGE_START PepperFileMsgStart
-IPC_STRUCT_TRAITS_BEGIN(ppapi::DirEntry)
+IPC_STRUCT_TRAITS_BEGIN(webkit::ppapi::DirEntry)
IPC_STRUCT_TRAITS_MEMBER(name)
IPC_STRUCT_TRAITS_MEMBER(is_dir)
IPC_STRUCT_TRAITS_END()
@@ -38,37 +39,37 @@ IPC_STRUCT_TRAITS_END()
// Open the file.
IPC_SYNC_MESSAGE_CONTROL2_2(PepperFileMsg_OpenFile,
- ppapi::PepperFilePath /* path */,
+ webkit::ppapi::PepperFilePath /* path */,
int /* flags */,
base::PlatformFileError /* error_code */,
IPC::PlatformFileForTransit /* result */)
// Rename the file.
IPC_SYNC_MESSAGE_CONTROL2_1(PepperFileMsg_RenameFile,
- ppapi::PepperFilePath /* from_path */,
- ppapi::PepperFilePath /* to_path */,
+ webkit::ppapi::PepperFilePath /* from_path */,
+ webkit::ppapi::PepperFilePath /* to_path */,
base::PlatformFileError /* error_code */)
// Delete the file.
IPC_SYNC_MESSAGE_CONTROL2_1(PepperFileMsg_DeleteFileOrDir,
- ppapi::PepperFilePath /* path */,
+ webkit::ppapi::PepperFilePath /* path */,
bool /* recursive */,
base::PlatformFileError /* error_code */)
// Create the directory.
IPC_SYNC_MESSAGE_CONTROL1_1(PepperFileMsg_CreateDir,
- ppapi::PepperFilePath /* path */,
+ webkit::ppapi::PepperFilePath /* path */,
base::PlatformFileError /* error_code */)
// Query the file's info.
IPC_SYNC_MESSAGE_CONTROL1_2(PepperFileMsg_QueryFile,
- ppapi::PepperFilePath /* path */,
+ webkit::ppapi::PepperFilePath /* path */,
base::PlatformFileInfo, /* info */
base::PlatformFileError /* error_code */)
// Get the directory's contents.
IPC_SYNC_MESSAGE_CONTROL1_2(PepperFileMsg_GetDirContents,
- ppapi::PepperFilePath /* path */,
- ppapi::DirContents, /* contents */
+ webkit::ppapi::PepperFilePath /* path */,
+ webkit::ppapi::DirContents, /* contents */
base::PlatformFileError /* error_code */)
diff --git a/content/content_common.gypi b/content/content_common.gypi
index 38b27a7..f61c556 100644
--- a/content/content_common.gypi
+++ b/content/content_common.gypi
@@ -272,6 +272,8 @@
'common/p2p_messages.h',
'common/p2p_sockets.h',
'common/page_zoom.cc',
+ 'common/pepper_file_messages.cc',
+ 'common/pepper_file_messages.h',
'common/pepper_messages.h',
'common/pepper_plugin_registry.cc',
'common/pepper_plugin_registry.h',
diff --git a/content/renderer/pepper/pepper_plugin_delegate_impl.cc b/content/renderer/pepper/pepper_plugin_delegate_impl.cc
index 4be4291..630dc78 100644
--- a/content/renderer/pepper/pepper_plugin_delegate_impl.cc
+++ b/content/renderer/pepper/pepper_plugin_delegate_impl.cc
@@ -24,6 +24,7 @@
#include "content/common/fileapi/file_system_dispatcher.h"
#include "content/common/fileapi/file_system_messages.h"
#include "content/common/gpu/client/webgraphicscontext3d_command_buffer_impl.h"
+#include "content/common/pepper_file_messages.h"
#include "content/common/pepper_plugin_registry.h"
#include "content/common/pepper_messages.h"
#include "content/common/quota_dispatcher.h"
@@ -63,9 +64,7 @@
#include "ppapi/c/pp_errors.h"
#include "ppapi/c/private/ppb_flash.h"
#include "ppapi/proxy/host_dispatcher.h"
-#include "ppapi/proxy/pepper_file_messages.h"
#include "ppapi/proxy/ppapi_messages.h"
-#include "ppapi/shared_impl/file_path.h"
#include "ppapi/shared_impl/platform_file.h"
#include "ppapi/shared_impl/ppapi_preferences.h"
#include "ppapi/shared_impl/ppb_device_ref_shared.h"
@@ -83,6 +82,7 @@
#include "ui/gfx/size.h"
#include "webkit/fileapi/file_system_callback_dispatcher.h"
#include "webkit/plugins/npapi/webplugin.h"
+#include "webkit/plugins/ppapi/file_path.h"
#include "webkit/plugins/ppapi/ppb_file_io_impl.h"
#include "webkit/plugins/ppapi/plugin_module.h"
#include "webkit/plugins/ppapi/ppapi_plugin_instance.h"
@@ -913,7 +913,7 @@ bool PepperPluginDelegateImpl::AsyncOpenFileSystemURL(
}
base::PlatformFileError PepperPluginDelegateImpl::OpenFile(
- const ppapi::PepperFilePath& path,
+ const webkit::ppapi::PepperFilePath& path,
int flags,
base::PlatformFile* file) {
IPC::PlatformFileForTransit transit_file;
@@ -929,8 +929,8 @@ base::PlatformFileError PepperPluginDelegateImpl::OpenFile(
}
base::PlatformFileError PepperPluginDelegateImpl::RenameFile(
- const ppapi::PepperFilePath& from_path,
- const ppapi::PepperFilePath& to_path) {
+ const webkit::ppapi::PepperFilePath& from_path,
+ const webkit::ppapi::PepperFilePath& to_path) {
base::PlatformFileError error;
IPC::Message* msg = new PepperFileMsg_RenameFile(from_path, to_path, &error);
if (!render_view_->Send(msg))
@@ -939,7 +939,7 @@ base::PlatformFileError PepperPluginDelegateImpl::RenameFile(
}
base::PlatformFileError PepperPluginDelegateImpl::DeleteFileOrDir(
- const ppapi::PepperFilePath& path,
+ const webkit::ppapi::PepperFilePath& path,
bool recursive) {
base::PlatformFileError error;
IPC::Message* msg = new PepperFileMsg_DeleteFileOrDir(
@@ -950,7 +950,7 @@ base::PlatformFileError PepperPluginDelegateImpl::DeleteFileOrDir(
}
base::PlatformFileError PepperPluginDelegateImpl::CreateDir(
- const ppapi::PepperFilePath& path) {
+ const webkit::ppapi::PepperFilePath& path) {
base::PlatformFileError error;
IPC::Message* msg = new PepperFileMsg_CreateDir(path, &error);
if (!render_view_->Send(msg))
@@ -959,7 +959,7 @@ base::PlatformFileError PepperPluginDelegateImpl::CreateDir(
}
base::PlatformFileError PepperPluginDelegateImpl::QueryFile(
- const ppapi::PepperFilePath& path,
+ const webkit::ppapi::PepperFilePath& path,
base::PlatformFileInfo* info) {
base::PlatformFileError error;
IPC::Message* msg = new PepperFileMsg_QueryFile(path, info, &error);
@@ -969,8 +969,8 @@ base::PlatformFileError PepperPluginDelegateImpl::QueryFile(
}
base::PlatformFileError PepperPluginDelegateImpl::GetDirContents(
- const ppapi::PepperFilePath& path,
- ppapi::DirContents* contents) {
+ const webkit::ppapi::PepperFilePath& path,
+ webkit::ppapi::DirContents* contents) {
base::PlatformFileError error;
IPC::Message* msg = new PepperFileMsg_GetDirContents(path, contents, &error);
if (!render_view_->Send(msg))
diff --git a/content/renderer/pepper/pepper_plugin_delegate_impl.h b/content/renderer/pepper/pepper_plugin_delegate_impl.h
index 381d67d3..54ac84c 100644
--- a/content/renderer/pepper/pepper_plugin_delegate_impl.h
+++ b/content/renderer/pepper/pepper_plugin_delegate_impl.h
@@ -42,7 +42,6 @@ struct ChannelHandle;
}
namespace ppapi {
-class PepperFilePath;
class PPB_X509Certificate_Fields;
}
@@ -53,6 +52,7 @@ class Range;
namespace webkit {
struct WebPluginInfo;
namespace ppapi {
+class PepperFilePath;
class PluginInstance;
class PluginModule;
}
@@ -251,23 +251,23 @@ class PepperPluginDelegateImpl
virtual void WillUpdateFile(const GURL& file_path) OVERRIDE;
virtual void DidUpdateFile(const GURL& file_path, int64_t delta) OVERRIDE;
virtual base::PlatformFileError OpenFile(
- const ppapi::PepperFilePath& path,
+ const webkit::ppapi::PepperFilePath& path,
int flags,
base::PlatformFile* file) OVERRIDE;
virtual base::PlatformFileError RenameFile(
- const ppapi::PepperFilePath& from_path,
- const ppapi::PepperFilePath& to_path) OVERRIDE;
+ const webkit::ppapi::PepperFilePath& from_path,
+ const webkit::ppapi::PepperFilePath& to_path) OVERRIDE;
virtual base::PlatformFileError DeleteFileOrDir(
- const ppapi::PepperFilePath& path,
+ const webkit::ppapi::PepperFilePath& path,
bool recursive) OVERRIDE;
virtual base::PlatformFileError CreateDir(
- const ppapi::PepperFilePath& path) OVERRIDE;
+ const webkit::ppapi::PepperFilePath& path) OVERRIDE;
virtual base::PlatformFileError QueryFile(
- const ppapi::PepperFilePath& path,
+ const webkit::ppapi::PepperFilePath& path,
base::PlatformFileInfo* info) OVERRIDE;
virtual base::PlatformFileError GetDirContents(
- const ppapi::PepperFilePath& path,
- ppapi::DirContents* contents) OVERRIDE;
+ const webkit::ppapi::PepperFilePath& path,
+ webkit::ppapi::DirContents* contents) OVERRIDE;
virtual void SyncGetFileSystemPlatformPath(
const GURL& url,
FilePath* platform_path) OVERRIDE;
diff --git a/ppapi/ppapi_proxy.gypi b/ppapi/ppapi_proxy.gypi
index fde6415..538c333 100644
--- a/ppapi/ppapi_proxy.gypi
+++ b/ppapi/ppapi_proxy.gypi
@@ -48,8 +48,6 @@
'proxy/interface_list.h',
'proxy/interface_proxy.cc',
'proxy/interface_proxy.h',
- 'proxy/pepper_file_messages.cc',
- 'proxy/pepper_file_messages.h',
'proxy/plugin_array_buffer_var.cc',
'proxy/plugin_array_buffer_var.h',
'proxy/plugin_dispatcher.cc',
diff --git a/ppapi/ppapi_proxy_untrusted.gypi b/ppapi/ppapi_proxy_untrusted.gypi
index 4985f76..82e9936 100644
--- a/ppapi/ppapi_proxy_untrusted.gypi
+++ b/ppapi/ppapi_proxy_untrusted.gypi
@@ -344,7 +344,6 @@
'proxy/host_var_serialization_rules.cc',
'proxy/interface_list.cc',
'proxy/interface_proxy.cc',
- 'proxy/pepper_file_messages.cc',
'proxy/plugin_array_buffer_var.cc',
'proxy/plugin_dispatcher.cc',
'proxy/plugin_globals.cc',
diff --git a/ppapi/ppapi_shared.gypi b/ppapi/ppapi_shared.gypi
index 5afcefe..d9d0140 100644
--- a/ppapi/ppapi_shared.gypi
+++ b/ppapi/ppapi_shared.gypi
@@ -41,7 +41,7 @@
],
'export_dependent_settings': [
'../base/base.gyp:base',
- '<(webkit_src_dir)/Source/WebKit/chromium/WebKit.gyp:webkit',
+ '<(webkit_src_dir)/Source/WebKit/chromium/WebKit.gyp:webkit',
],
'conditions': [
['OS=="mac"', {
@@ -57,8 +57,6 @@
'shared_impl/array_writer.h',
'shared_impl/callback_tracker.cc',
'shared_impl/callback_tracker.h',
- 'shared_impl/file_path.cc',
- 'shared_impl/file_path.h',
'shared_impl/file_type_conversion.cc',
'shared_impl/file_type_conversion.h',
'shared_impl/host_resource.h',
diff --git a/ppapi/proxy/pepper_file_messages.cc b/ppapi/proxy/pepper_file_messages.cc
deleted file mode 100644
index 53b4fcb..0000000
--- a/ppapi/proxy/pepper_file_messages.cc
+++ /dev/null
@@ -1,68 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-
-// Get basic type definitions.
-#define IPC_MESSAGE_IMPL
-#include "ppapi/proxy/pepper_file_messages.h"
-
-// Generate constructors.
-#include "ipc/struct_constructor_macros.h"
-#include "ppapi/proxy/pepper_file_messages.h"
-
-// Generate destructors.
-#include "ipc/struct_destructor_macros.h"
-#include "ppapi/proxy/pepper_file_messages.h"
-
-// Generate param traits write methods.
-#include "ipc/param_traits_write_macros.h"
-namespace IPC {
-#include "ppapi/proxy/pepper_file_messages.h"
-} // namespace IPC
-
-// Generate param traits read methods.
-#include "ipc/param_traits_read_macros.h"
-namespace IPC {
-#include "ppapi/proxy/pepper_file_messages.h"
-} // namespace IPC
-
-// Generate param traits log methods.
-#include "ipc/param_traits_log_macros.h"
-namespace IPC {
-#include "ppapi/proxy/pepper_file_messages.h"
-} // namespace IPC
-
-namespace IPC {
-
-void ParamTraits<ppapi::PepperFilePath>::Write(Message* m,
- const param_type& p) {
- WriteParam(m, static_cast<unsigned>(p.domain()));
- WriteParam(m, p.path());
-}
-
-bool ParamTraits<ppapi::PepperFilePath>::Read(const Message* m,
- PickleIterator* iter,
- param_type* p) {
- unsigned domain;
- FilePath path;
- if (!ReadParam(m, iter, &domain) || !ReadParam(m, iter, &path))
- return false;
- if (domain > ppapi::PepperFilePath::DOMAIN_MAX_VALID)
- return false;
-
- *p = ppapi::PepperFilePath(
- static_cast<ppapi::PepperFilePath::Domain>(domain), path);
- return true;
-}
-
-void ParamTraits<ppapi::PepperFilePath>::Log(const param_type& p,
- std::string* l) {
- l->append("(");
- LogParam(static_cast<unsigned>(p.domain()), l);
- l->append(", ");
- LogParam(p.path(), l);
- l->append(")");
-}
-
-} // namespace IPC
diff --git a/ppapi/proxy/ppapi_messages.h b/ppapi/proxy/ppapi_messages.h
index 72de40b..3eba62e 100644
--- a/ppapi/proxy/ppapi_messages.h
+++ b/ppapi/proxy/ppapi_messages.h
@@ -1206,6 +1206,38 @@ IPC_MESSAGE_ROUTED4(PpapiHostMsg_PPBFlash_WriteClipboardData,
int /* clipboard_type */,
std::vector<int> /* formats */,
std::vector<ppapi::proxy::SerializedVar> /* data */)
+IPC_SYNC_MESSAGE_ROUTED3_2(PpapiHostMsg_PPBFlash_OpenFile,
+ PP_Instance /* instance */,
+ std::string /* path */,
+ int32_t /* mode */,
+ IPC::PlatformFileForTransit /* file_handle */,
+ int32_t /* result */)
+IPC_SYNC_MESSAGE_ROUTED3_1(PpapiHostMsg_PPBFlash_RenameFile,
+ PP_Instance /* instance */,
+ std::string /* path_from */,
+ std::string /* path_to */,
+ int32_t /* result */)
+IPC_SYNC_MESSAGE_ROUTED3_1(
+ PpapiHostMsg_PPBFlash_DeleteFileOrDir,
+ PP_Instance /* instance */,
+ std::string /* path */,
+ PP_Bool /* recursive */,
+ int32_t /* result */)
+IPC_SYNC_MESSAGE_ROUTED2_1(PpapiHostMsg_PPBFlash_CreateDir,
+ PP_Instance /* instance */,
+ std::string /* path */,
+ int32_t /* result */)
+IPC_SYNC_MESSAGE_ROUTED2_2(PpapiHostMsg_PPBFlash_QueryFile,
+ PP_Instance /* instance */,
+ std::string /* path */,
+ PP_FileInfo /* info */,
+ int32_t /* result */)
+IPC_SYNC_MESSAGE_ROUTED2_2(
+ PpapiHostMsg_PPBFlash_GetDirContents,
+ PP_Instance /* instance */,
+ std::string /* path */,
+ std::vector<ppapi::proxy::SerializedDirEntry> /* entries */,
+ int32_t /* result */)
IPC_SYNC_MESSAGE_ROUTED3_2(PpapiHostMsg_PPBFlash_OpenFileRef,
PP_Instance /* instance */,
ppapi::HostResource /* file_ref */,
diff --git a/ppapi/proxy/ppb_flash_proxy.cc b/ppapi/proxy/ppb_flash_proxy.cc
index 4692d6e..901a61f 100644
--- a/ppapi/proxy/ppb_flash_proxy.cc
+++ b/ppapi/proxy/ppb_flash_proxy.cc
@@ -20,21 +20,17 @@
#include "ppapi/c/private/ppb_flash.h"
#include "ppapi/c/private/ppb_flash_print.h"
#include "ppapi/proxy/host_dispatcher.h"
-#include "ppapi/proxy/pepper_file_messages.h"
#include "ppapi/proxy/plugin_dispatcher.h"
#include "ppapi/proxy/plugin_globals.h"
#include "ppapi/proxy/plugin_proxy_delegate.h"
#include "ppapi/proxy/ppapi_messages.h"
#include "ppapi/proxy/proxy_module.h"
#include "ppapi/proxy/serialized_var.h"
-#include "ppapi/shared_impl/dir_contents.h"
-#include "ppapi/shared_impl/file_type_conversion.h"
#include "ppapi/shared_impl/ppapi_globals.h"
#include "ppapi/shared_impl/proxy_lock.h"
#include "ppapi/shared_impl/resource.h"
#include "ppapi/shared_impl/resource_tracker.h"
#include "ppapi/shared_impl/scoped_pp_resource.h"
-#include "ppapi/shared_impl/time_conversion.h"
#include "ppapi/shared_impl/var.h"
#include "ppapi/thunk/enter.h"
#include "ppapi/thunk/ppb_instance_api.h"
@@ -430,6 +426,18 @@ bool PPB_Flash_Proxy::OnMessageReceived(const IPC::Message& msg) {
OnHostMsgReadClipboardData)
IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_WriteClipboardData,
OnHostMsgWriteClipboardData)
+ IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_OpenFile,
+ OnHostMsgOpenFile)
+ IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_RenameFile,
+ OnHostMsgRenameFile)
+ IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_DeleteFileOrDir,
+ OnHostMsgDeleteFileOrDir)
+ IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_CreateDir,
+ OnHostMsgCreateDir)
+ IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_QueryFile,
+ OnHostMsgQueryFile)
+ IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_GetDirContents,
+ OnHostMsgGetDirContents)
IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_OpenFileRef,
OnHostMsgOpenFileRef)
IPC_MESSAGE_HANDLER(PpapiHostMsg_PPBFlash_QueryFileRef,
@@ -660,126 +668,102 @@ void PPB_Flash_Proxy::ClearThreadAdapterForInstance(PP_Instance instance) {
g_module_local_thread_adapter->ClearInstanceRouting(instance);
}
-int32_t PPB_Flash_Proxy::OpenFile(PP_Instance,
+int32_t PPB_Flash_Proxy::OpenFile(PP_Instance instance,
const char* path,
int32_t mode,
PP_FileHandle* file) {
- int flags = 0;
- if (!path ||
- !ppapi::PepperFileOpenFlagsToPlatformFileFlags(mode, &flags) ||
- !file)
- return PP_ERROR_BADARGUMENT;
-
- base::PlatformFileError error;
- IPC::PlatformFileForTransit transit_file;
- ppapi::PepperFilePath pepper_path(
- ppapi::PepperFilePath::DOMAIN_MODULE_LOCAL, FilePath(path));
-
- if (PluginGlobals::Get()->plugin_proxy_delegate()->SendToBrowser(
- new PepperFileMsg_OpenFile(pepper_path, flags,
- &error, &transit_file))) {
- *file = IPC::PlatformFileForTransitToPlatformFile(transit_file);
- } else {
- *file = base::kInvalidPlatformFileValue;
- error = base::PLATFORM_FILE_ERROR_FAILED;
- }
+ if (!g_module_local_thread_adapter)
+ return PP_ERROR_FAILED;
- return ppapi::PlatformFileErrorToPepperError(error);
+ int32_t result = PP_ERROR_FAILED;
+ IPC::PlatformFileForTransit transit;
+ g_module_local_thread_adapter->Send(instance,
+ new PpapiHostMsg_PPBFlash_OpenFile(
+ API_ID_PPB_FLASH, instance, path, mode, &transit, &result));
+ *file = IPC::PlatformFileForTransitToPlatformFile(transit);
+ return result;
}
-int32_t PPB_Flash_Proxy::RenameFile(PP_Instance,
- const char* from_path,
- const char* to_path) {
- base::PlatformFileError error = base::PLATFORM_FILE_ERROR_FAILED;
- ppapi::PepperFilePath pepper_from(
- ppapi::PepperFilePath::DOMAIN_MODULE_LOCAL, FilePath(from_path));
- ppapi::PepperFilePath pepper_to(
- ppapi::PepperFilePath::DOMAIN_MODULE_LOCAL, FilePath(to_path));
-
- PluginGlobals::Get()->plugin_proxy_delegate()->SendToBrowser(
- new PepperFileMsg_RenameFile(pepper_from, pepper_to, &error));
+int32_t PPB_Flash_Proxy::RenameFile(PP_Instance instance,
+ const char* path_from,
+ const char* path_to) {
+ if (!g_module_local_thread_adapter)
+ return PP_ERROR_FAILED;
- return ppapi::PlatformFileErrorToPepperError(error);
+ int32_t result = PP_ERROR_FAILED;
+ g_module_local_thread_adapter->Send(instance,
+ new PpapiHostMsg_PPBFlash_RenameFile(
+ API_ID_PPB_FLASH, instance, path_from, path_to, &result));
+ return result;
}
-int32_t PPB_Flash_Proxy::DeleteFileOrDir(PP_Instance,
+int32_t PPB_Flash_Proxy::DeleteFileOrDir(PP_Instance instance,
const char* path,
PP_Bool recursive) {
- base::PlatformFileError error = base::PLATFORM_FILE_ERROR_FAILED;
- ppapi::PepperFilePath pepper_path(
- ppapi::PepperFilePath::DOMAIN_MODULE_LOCAL, FilePath(path));
+ if (!g_module_local_thread_adapter)
+ return PP_ERROR_FAILED;
- PluginGlobals::Get()->plugin_proxy_delegate()->SendToBrowser(
- new PepperFileMsg_DeleteFileOrDir(pepper_path, recursive, &error));
-
- return ppapi::PlatformFileErrorToPepperError(error);
+ int32_t result = PP_ERROR_FAILED;
+ g_module_local_thread_adapter->Send(instance,
+ new PpapiHostMsg_PPBFlash_DeleteFileOrDir(
+ API_ID_PPB_FLASH, instance, path, recursive, &result));
+ return result;
}
-int32_t PPB_Flash_Proxy::CreateDir(PP_Instance, const char* path) {
- base::PlatformFileError error = base::PLATFORM_FILE_ERROR_FAILED;
- ppapi::PepperFilePath pepper_path(
- ppapi::PepperFilePath::DOMAIN_MODULE_LOCAL, FilePath(path));
-
- PluginGlobals::Get()->plugin_proxy_delegate()->SendToBrowser(
- new PepperFileMsg_CreateDir(pepper_path, &error));
+int32_t PPB_Flash_Proxy::CreateDir(PP_Instance instance, const char* path) {
+ if (!g_module_local_thread_adapter)
+ return PP_ERROR_FAILED;
- return ppapi::PlatformFileErrorToPepperError(error);
+ int32_t result = PP_ERROR_FAILED;
+ g_module_local_thread_adapter->Send(instance,
+ new PpapiHostMsg_PPBFlash_CreateDir(
+ API_ID_PPB_FLASH, instance, path, &result));
+ return result;
}
-int32_t PPB_Flash_Proxy::QueryFile(PP_Instance,
+int32_t PPB_Flash_Proxy::QueryFile(PP_Instance instance,
const char* path,
PP_FileInfo* info) {
- base::PlatformFileInfo file_info;
- base::PlatformFileError error = base::PLATFORM_FILE_ERROR_FAILED;
- ppapi::PepperFilePath pepper_path(
- ppapi::PepperFilePath::DOMAIN_MODULE_LOCAL, FilePath(path));
+ if (!g_module_local_thread_adapter)
+ return PP_ERROR_FAILED;
- PluginGlobals::Get()->plugin_proxy_delegate()->SendToBrowser(
- new PepperFileMsg_QueryFile(pepper_path, &file_info, &error));
-
- if (error == base::PLATFORM_FILE_OK) {
- info->size = file_info.size;
- info->creation_time = TimeToPPTime(file_info.creation_time);
- info->last_access_time = TimeToPPTime(file_info.last_accessed);
- info->last_modified_time = TimeToPPTime(file_info.last_modified);
- info->system_type = PP_FILESYSTEMTYPE_EXTERNAL;
- if (file_info.is_directory)
- info->type = PP_FILETYPE_DIRECTORY;
- else
- info->type = PP_FILETYPE_REGULAR;
- }
-
- return ppapi::PlatformFileErrorToPepperError(error);
+ int32_t result = PP_ERROR_FAILED;
+ g_module_local_thread_adapter->Send(instance,
+ new PpapiHostMsg_PPBFlash_QueryFile(
+ API_ID_PPB_FLASH, instance, path, info, &result));
+ return result;
}
-int32_t PPB_Flash_Proxy::GetDirContents(PP_Instance,
+int32_t PPB_Flash_Proxy::GetDirContents(PP_Instance instance,
const char* path,
PP_DirContents_Dev** contents) {
- ppapi::DirContents entries;
- base::PlatformFileError error = base::PLATFORM_FILE_ERROR_FAILED;
- ppapi::PepperFilePath pepper_path(
- ppapi::PepperFilePath::DOMAIN_MODULE_LOCAL, FilePath(path));
+ if (!g_module_local_thread_adapter)
+ return PP_ERROR_FAILED;
- PluginGlobals::Get()->plugin_proxy_delegate()->SendToBrowser(
- new PepperFileMsg_GetDirContents(pepper_path, &entries, &error));
-
- if (error == base::PLATFORM_FILE_OK) {
- // Copy the serialized dir entries to the output struct.
- *contents = new PP_DirContents_Dev;
- (*contents)->count = static_cast<int32_t>(entries.size());
- (*contents)->entries = new PP_DirEntry_Dev[entries.size()];
- for (size_t i = 0; i < entries.size(); i++) {
- const ppapi::DirEntry& source = entries[i];
- PP_DirEntry_Dev* dest = &(*contents)->entries[i];
- std::string name = source.name.AsUTF8Unsafe();
- char* name_copy = new char[name.size() + 1];
- memcpy(name_copy, name.c_str(), name.size() + 1);
- dest->name = name_copy;
- dest->is_dir = PP_FromBool(source.is_dir);
- }
+ int32_t result = PP_ERROR_FAILED;
+ std::vector<SerializedDirEntry> entries;
+ g_module_local_thread_adapter->Send(instance,
+ new PpapiHostMsg_PPBFlash_GetDirContents(
+ API_ID_PPB_FLASH, instance, path, &entries, &result));
+
+ if (result != PP_OK)
+ return result;
+
+ // Copy the serialized dir entries to the output struct.
+ *contents = new PP_DirContents_Dev;
+ (*contents)->count = static_cast<int32_t>(entries.size());
+ (*contents)->entries = new PP_DirEntry_Dev[entries.size()];
+ for (size_t i = 0; i < entries.size(); i++) {
+ const SerializedDirEntry& source = entries[i];
+ PP_DirEntry_Dev* dest = &(*contents)->entries[i];
+
+ char* name_copy = new char[source.name.size() + 1];
+ memcpy(name_copy, source.name.c_str(), source.name.size() + 1);
+ dest->name = name_copy;
+ dest->is_dir = PP_FromBool(source.is_dir);
}
- return ppapi::PlatformFileErrorToPepperError(error);
+ return result;
}
int32_t PPB_Flash_Proxy::OpenFileRef(PP_Instance instance,
@@ -1045,6 +1029,101 @@ void PPB_Flash_Proxy::OnHostMsgWriteClipboardData(
}
}
+void PPB_Flash_Proxy::OnHostMsgOpenFile(
+ PP_Instance instance,
+ const std::string& path,
+ int32_t mode,
+ IPC::PlatformFileForTransit* file_handle,
+ int32_t* result) {
+ EnterInstanceNoLock enter(instance);
+ if (enter.succeeded()) {
+ base::PlatformFile file;
+ *result = enter.functions()->GetFlashAPI()->OpenFile(
+ instance, path.c_str(), mode, &file);
+ *file_handle = PlatformFileToPlatformFileForTransit(
+ dispatcher(), result, file);
+ } else {
+ *result = PP_ERROR_BADARGUMENT;
+ }
+}
+
+void PPB_Flash_Proxy::OnHostMsgRenameFile(PP_Instance instance,
+ const std::string& from_path,
+ const std::string& to_path,
+ int32_t* result) {
+ EnterInstanceNoLock enter(instance);
+ if (enter.succeeded()) {
+ *result = enter.functions()->GetFlashAPI()->RenameFile(
+ instance, from_path.c_str(), to_path.c_str());
+ } else {
+ *result = PP_ERROR_BADARGUMENT;
+ }
+}
+
+void PPB_Flash_Proxy::OnHostMsgDeleteFileOrDir(PP_Instance instance,
+ const std::string& path,
+ PP_Bool recursive,
+ int32_t* result) {
+ EnterInstanceNoLock enter(instance);
+ if (enter.succeeded()) {
+ *result = enter.functions()->GetFlashAPI()->DeleteFileOrDir(
+ instance, path.c_str(), recursive);
+ } else {
+ *result = PP_ERROR_BADARGUMENT;
+ }
+}
+
+void PPB_Flash_Proxy::OnHostMsgCreateDir(PP_Instance instance,
+ const std::string& path,
+ int32_t* result) {
+ EnterInstanceNoLock enter(instance);
+ if (enter.succeeded()) {
+ *result = enter.functions()->GetFlashAPI()->CreateDir(
+ instance, path.c_str());
+ } else {
+ *result = PP_ERROR_BADARGUMENT;
+ }
+}
+
+void PPB_Flash_Proxy::OnHostMsgQueryFile(PP_Instance instance,
+ const std::string& path,
+ PP_FileInfo* info,
+ int32_t* result) {
+ EnterInstanceNoLock enter(instance);
+ if (enter.succeeded()) {
+ *result = enter.functions()->GetFlashAPI()->QueryFile(
+ instance, path.c_str(), info);
+ } else {
+ *result = PP_ERROR_BADARGUMENT;
+ }
+}
+
+void PPB_Flash_Proxy::OnHostMsgGetDirContents(
+ PP_Instance instance,
+ const std::string& path,
+ std::vector<SerializedDirEntry>* entries,
+ int32_t* result) {
+ EnterInstanceNoLock enter(instance);
+ if (enter.failed()) {
+ *result = PP_ERROR_BADARGUMENT;
+ return;
+ }
+
+ PP_DirContents_Dev* contents = NULL;
+ *result = enter.functions()->GetFlashAPI()->GetDirContents(
+ instance, path.c_str(), &contents);
+ if (*result != PP_OK)
+ return;
+
+ // Convert the list of entries to the serialized version.
+ entries->resize(contents->count);
+ for (int32_t i = 0; i < contents->count; i++) {
+ (*entries)[i].name.assign(contents->entries[i].name);
+ (*entries)[i].is_dir = PP_ToBool(contents->entries[i].is_dir);
+ }
+ enter.functions()->GetFlashAPI()->FreeDirContents(instance, contents);
+}
+
void PPB_Flash_Proxy::OnHostMsgOpenFileRef(
PP_Instance instance,
const HostResource& host_resource,
diff --git a/ppapi/proxy/ppb_flash_proxy.h b/ppapi/proxy/ppb_flash_proxy.h
index 8cbf144..b9ae9d0 100644
--- a/ppapi/proxy/ppb_flash_proxy.h
+++ b/ppapi/proxy/ppb_flash_proxy.h
@@ -160,6 +160,30 @@ class PPB_Flash_Proxy : public InterfaceProxy, public PPB_Flash_Shared {
int clipboard_type,
const std::vector<int>& formats,
SerializedVarVectorReceiveInput data_items);
+ void OnHostMsgOpenFile(PP_Instance instance,
+ const std::string& path,
+ int32_t mode,
+ IPC::PlatformFileForTransit* file_handle,
+ int32_t* result);
+ void OnHostMsgRenameFile(PP_Instance instance,
+ const std::string& path_from,
+ const std::string& path_to,
+ int32_t* result);
+ void OnHostMsgDeleteFileOrDir(PP_Instance instance,
+ const std::string& path,
+ PP_Bool recursive,
+ int32_t* result);
+ void OnHostMsgCreateDir(PP_Instance instance,
+ const std::string& path,
+ int32_t* result);
+ void OnHostMsgQueryFile(PP_Instance instance,
+ const std::string& path,
+ PP_FileInfo* info,
+ int32_t* result);
+ void OnHostMsgGetDirContents(PP_Instance instance,
+ const std::string& path,
+ std::vector<SerializedDirEntry>* entries,
+ int32_t* result);
void OnHostMsgOpenFileRef(PP_Instance instance,
const ppapi::HostResource& host_resource,
int32_t mode,
diff --git a/webkit/glue/webkit_glue.gypi b/webkit/glue/webkit_glue.gypi
index 967ffa0..0f3e0c6 100644
--- a/webkit/glue/webkit_glue.gypi
+++ b/webkit/glue/webkit_glue.gypi
@@ -226,6 +226,8 @@
'../plugins/ppapi/event_conversion.h',
'../plugins/ppapi/file_callbacks.cc',
'../plugins/ppapi/file_callbacks.h',
+ '../plugins/ppapi/file_path.cc',
+ '../plugins/ppapi/file_path.h',
'../plugins/ppapi/fullscreen_container.h',
'../plugins/ppapi/gfx_conversion.h',
'../plugins/ppapi/host_array_buffer_var.cc',
diff --git a/ppapi/shared_impl/dir_contents.h b/webkit/plugins/ppapi/dir_contents.h
index 23b1ec3..f9a6c45 100644
--- a/ppapi/shared_impl/dir_contents.h
+++ b/webkit/plugins/ppapi/dir_contents.h
@@ -1,15 +1,15 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef PPAPI_SHARED_IMPL_DIR_CONTENTS_H_
-#define PPAPI_SHARED_IMPL_DIR_CONTENTS_H_
-
+#ifndef WEBKIT_PLUGINS_PPAPI_DIR_CONTENTS_H_
+#define WEBKIT_PLUGINS_PPAPI_DIR_CONTENTS_H_
#include <vector>
#include "base/file_path.h"
+namespace webkit {
namespace ppapi {
struct DirEntry {
@@ -20,5 +20,6 @@ struct DirEntry {
typedef std::vector<DirEntry> DirContents;
} // namespace ppapi
+} // namespace webkit
-#endif // PPAPI_SHARED_IMPL_DIR_CONTENTS_H_
+#endif // WEBKIT_PLUGINS_PPAPI_DIR_CONTENTS_H_
diff --git a/ppapi/shared_impl/file_path.cc b/webkit/plugins/ppapi/file_path.cc
index abea27d..14d8970 100644
--- a/ppapi/shared_impl/file_path.cc
+++ b/webkit/plugins/ppapi/file_path.cc
@@ -1,15 +1,18 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#include "ppapi/shared_impl/file_path.h"
+#include "webkit/plugins/ppapi/file_path.h"
#include <string>
+#include "webkit/plugins/ppapi/plugin_module.h"
+
#if defined(OS_WIN)
#include "base/utf_string_conversions.h"
#endif
+namespace webkit {
namespace ppapi {
namespace {
@@ -41,11 +44,12 @@ PepperFilePath PepperFilePath::MakeAbsolute(const FilePath& path) {
}
// static
-PepperFilePath PepperFilePath::MakeModuleLocal(const std::string& name,
+PepperFilePath PepperFilePath::MakeModuleLocal(PluginModule* module,
const char* utf8_path) {
- FilePath full_path = GetFilePathFromUTF8(name).Append(
+ FilePath full_path = GetFilePathFromUTF8(module->name()).Append(
GetFilePathFromUTF8(utf8_path));
return PepperFilePath(DOMAIN_MODULE_LOCAL, full_path);
}
} // namespace ppapi
+} // namespace webkit
diff --git a/ppapi/shared_impl/file_path.h b/webkit/plugins/ppapi/file_path.h
index 9d44f7c..ce8fe53 100644
--- a/ppapi/shared_impl/file_path.h
+++ b/webkit/plugins/ppapi/file_path.h
@@ -1,17 +1,20 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
+// Copyright (c) 2011 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-#ifndef PPAPI_SHARED_IMPL_FILE_PATH_H_
-#define PPAPI_SHARED_IMPL_FILE_PATH_H_
+#ifndef WEBKIT_PLUGINS_PPAPI_FILE_PATH_H_
+#define WEBKIT_PLUGINS_PPAPI_FILE_PATH_H_
#include <string>
#include "base/file_path.h"
-#include "ppapi/shared_impl/ppapi_shared_export.h"
+#include "webkit/plugins/webkit_plugins_export.h"
+namespace webkit {
namespace ppapi {
+class PluginModule;
+
// TODO(vtl): Once we put |::FilePath| into the |base| namespace, get rid of the
// |Pepper| (or |PEPPER_|) prefixes. Right now, it's just too
// confusing/dangerous!
@@ -27,11 +30,11 @@ class PepperFilePath {
DOMAIN_MAX_VALID = DOMAIN_MODULE_LOCAL
};
- PPAPI_SHARED_EXPORT PepperFilePath();
- PPAPI_SHARED_EXPORT PepperFilePath(Domain d, const FilePath& p);
+ WEBKIT_PLUGINS_EXPORT PepperFilePath();
+ WEBKIT_PLUGINS_EXPORT PepperFilePath(Domain d, const FilePath& p);
static PepperFilePath MakeAbsolute(const FilePath& path);
- static PepperFilePath MakeModuleLocal(const std::string& name,
+ static PepperFilePath MakeModuleLocal(PluginModule* module,
const char* utf8_path);
Domain domain() const { return domain_; }
@@ -43,5 +46,6 @@ class PepperFilePath {
};
} // namespace ppapi
+} // namespace webkit
-#endif // PPAPI_SHARED_IMPL_FILE_PATH_H_
+#endif // WEBKIT_PLUGINS_PPAPI_FILE_PATH_H_
diff --git a/webkit/plugins/ppapi/mock_plugin_delegate.cc b/webkit/plugins/ppapi/mock_plugin_delegate.cc
index f82fe93..7c7329f 100644
--- a/webkit/plugins/ppapi/mock_plugin_delegate.cc
+++ b/webkit/plugins/ppapi/mock_plugin_delegate.cc
@@ -202,38 +202,38 @@ void MockPluginDelegate::DidUpdateFile(const GURL& file_path, int64_t delta) {
}
base::PlatformFileError MockPluginDelegate::OpenFile(
- const ::ppapi::PepperFilePath& path,
+ const PepperFilePath& path,
int flags,
base::PlatformFile* file) {
return base::PLATFORM_FILE_ERROR_FAILED;
}
base::PlatformFileError MockPluginDelegate::RenameFile(
- const ::ppapi::PepperFilePath& from_path,
- const ::ppapi::PepperFilePath& to_path) {
+ const PepperFilePath& from_path,
+ const PepperFilePath& to_path) {
return base::PLATFORM_FILE_ERROR_FAILED;
}
base::PlatformFileError MockPluginDelegate::DeleteFileOrDir(
- const ::ppapi::PepperFilePath& path,
+ const PepperFilePath& path,
bool recursive) {
return base::PLATFORM_FILE_ERROR_FAILED;
}
base::PlatformFileError MockPluginDelegate::CreateDir(
- const ::ppapi::PepperFilePath& path) {
+ const PepperFilePath& path) {
return base::PLATFORM_FILE_ERROR_FAILED;
}
base::PlatformFileError MockPluginDelegate::QueryFile(
- const ::ppapi::PepperFilePath& path,
+ const PepperFilePath& path,
base::PlatformFileInfo* info) {
return base::PLATFORM_FILE_ERROR_FAILED;
}
base::PlatformFileError MockPluginDelegate::GetDirContents(
- const ::ppapi::PepperFilePath& path,
- ::ppapi::DirContents* contents) {
+ const PepperFilePath& path,
+ DirContents* contents) {
return base::PLATFORM_FILE_ERROR_FAILED;
}
diff --git a/webkit/plugins/ppapi/mock_plugin_delegate.h b/webkit/plugins/ppapi/mock_plugin_delegate.h
index 276342f..3136847 100644
--- a/webkit/plugins/ppapi/mock_plugin_delegate.h
+++ b/webkit/plugins/ppapi/mock_plugin_delegate.h
@@ -96,24 +96,18 @@ class MockPluginDelegate : public PluginDelegate {
const AvailableSpaceCallback& callback);
virtual void WillUpdateFile(const GURL& file_path);
virtual void DidUpdateFile(const GURL& file_path, int64_t delta);
- virtual base::PlatformFileError OpenFile(
- const ::ppapi::PepperFilePath& path,
- int flags,
- base::PlatformFile* file);
- virtual base::PlatformFileError RenameFile(
- const ::ppapi::PepperFilePath& from_path,
- const ::ppapi::PepperFilePath& to_path);
- virtual base::PlatformFileError DeleteFileOrDir(
- const ::ppapi::PepperFilePath& path,
- bool recursive);
- virtual base::PlatformFileError CreateDir(
- const ::ppapi::PepperFilePath& path);
- virtual base::PlatformFileError QueryFile(
- const ::ppapi::PepperFilePath& path,
- base::PlatformFileInfo* info);
- virtual base::PlatformFileError GetDirContents(
- const ::ppapi::PepperFilePath& path,
- ::ppapi::DirContents* contents);
+ virtual base::PlatformFileError OpenFile(const PepperFilePath& path,
+ int flags,
+ base::PlatformFile* file);
+ virtual base::PlatformFileError RenameFile(const PepperFilePath& from_path,
+ const PepperFilePath& to_path);
+ virtual base::PlatformFileError DeleteFileOrDir(const PepperFilePath& path,
+ bool recursive);
+ virtual base::PlatformFileError CreateDir(const PepperFilePath& path);
+ virtual base::PlatformFileError QueryFile(const PepperFilePath& path,
+ base::PlatformFileInfo* info);
+ virtual base::PlatformFileError GetDirContents(const PepperFilePath& path,
+ DirContents* contents);
virtual void SyncGetFileSystemPlatformPath(const GURL& url,
FilePath* platform_path);
virtual scoped_refptr<base::MessageLoopProxy>
diff --git a/webkit/plugins/ppapi/plugin_delegate.h b/webkit/plugins/ppapi/plugin_delegate.h
index 0db111d..c9bf986 100644
--- a/webkit/plugins/ppapi/plugin_delegate.h
+++ b/webkit/plugins/ppapi/plugin_delegate.h
@@ -25,10 +25,10 @@
#include "ppapi/c/pp_instance.h"
#include "ppapi/c/pp_resource.h"
#include "ppapi/c/pp_stdint.h"
-#include "ppapi/shared_impl/dir_contents.h"
#include "ui/gfx/size.h"
#include "webkit/fileapi/file_system_types.h"
#include "webkit/glue/clipboard_client.h"
+#include "webkit/plugins/ppapi/dir_contents.h"
#include "webkit/quota/quota_types.h"
class GURL;
@@ -55,7 +55,6 @@ class CommandBuffer;
}
namespace ppapi {
-class PepperFilePath;
class PPB_HostResolver_Shared;
class PPB_X509Certificate_Fields;
struct DeviceRefData;
@@ -87,6 +86,7 @@ namespace ppapi {
class FileIO;
class FullscreenContainer;
+class PepperFilePath;
class PluginInstance;
class PluginModule;
class PPB_Broker_Impl;
@@ -452,24 +452,18 @@ class PluginDelegate {
virtual void WillUpdateFile(const GURL& file_path) = 0;
virtual void DidUpdateFile(const GURL& file_path, int64_t delta) = 0;
- virtual base::PlatformFileError OpenFile(
- const ::ppapi::PepperFilePath& path,
- int flags,
- base::PlatformFile* file) = 0;
- virtual base::PlatformFileError RenameFile(
- const ::ppapi::PepperFilePath& from_path,
- const ::ppapi::PepperFilePath& to_path) = 0;
- virtual base::PlatformFileError DeleteFileOrDir(
- const ::ppapi::PepperFilePath& path,
- bool recursive) = 0;
- virtual base::PlatformFileError CreateDir(
- const ::ppapi::PepperFilePath& path) = 0;
- virtual base::PlatformFileError QueryFile(
- const ::ppapi::PepperFilePath& path,
- base::PlatformFileInfo* info) = 0;
- virtual base::PlatformFileError GetDirContents(
- const ::ppapi::PepperFilePath& path,
- ::ppapi::DirContents* contents) = 0;
+ virtual base::PlatformFileError OpenFile(const PepperFilePath& path,
+ int flags,
+ base::PlatformFile* file) = 0;
+ virtual base::PlatformFileError RenameFile(const PepperFilePath& from_path,
+ const PepperFilePath& to_path) = 0;
+ virtual base::PlatformFileError DeleteFileOrDir(const PepperFilePath& path,
+ bool recursive) = 0;
+ virtual base::PlatformFileError CreateDir(const PepperFilePath& path) = 0;
+ virtual base::PlatformFileError QueryFile(const PepperFilePath& path,
+ base::PlatformFileInfo* info) = 0;
+ virtual base::PlatformFileError GetDirContents(const PepperFilePath& path,
+ DirContents* contents) = 0;
// Synchronously returns the platform file path for a filesystem URL.
virtual void SyncGetFileSystemPlatformPath(const GURL& url,
diff --git a/webkit/plugins/ppapi/ppb_flash_impl.cc b/webkit/plugins/ppapi/ppb_flash_impl.cc
index 059bd39..668a8c1 100644
--- a/webkit/plugins/ppapi/ppb_flash_impl.cc
+++ b/webkit/plugins/ppapi/ppb_flash_impl.cc
@@ -13,7 +13,6 @@
#include "googleurl/src/gurl.h"
#include "ppapi/c/dev/ppb_font_dev.h"
#include "ppapi/c/private/ppb_flash.h"
-#include "ppapi/shared_impl/file_path.h"
#include "ppapi/shared_impl/file_type_conversion.h"
#include "ppapi/shared_impl/time_conversion.h"
#include "ppapi/shared_impl/var.h"
@@ -31,6 +30,7 @@
#include "webkit/glue/clipboard_client.h"
#include "webkit/glue/scoped_clipboard_writer_glue.h"
#include "webkit/plugins/ppapi/common.h"
+#include "webkit/plugins/ppapi/file_path.h"
#include "webkit/plugins/ppapi/host_globals.h"
#include "webkit/plugins/ppapi/plugin_delegate.h"
#include "webkit/plugins/ppapi/plugin_module.h"
@@ -397,8 +397,7 @@ int32_t PPB_Flash_Impl::OpenFile(PP_Instance pp_instance,
base::PlatformFile base_file;
base::PlatformFileError result = instance->delegate()->OpenFile(
- ::ppapi::PepperFilePath::MakeModuleLocal(
- instance->module()->name(), path),
+ PepperFilePath::MakeModuleLocal(instance->module(), path),
flags,
&base_file);
*file = base_file;
@@ -416,10 +415,8 @@ int32_t PPB_Flash_Impl::RenameFile(PP_Instance pp_instance,
return PP_ERROR_FAILED;
base::PlatformFileError result = instance->delegate()->RenameFile(
- ::ppapi::PepperFilePath::MakeModuleLocal(
- instance->module()->name(), path_from),
- ::ppapi::PepperFilePath::MakeModuleLocal(
- instance->module()->name(), path_to));
+ PepperFilePath::MakeModuleLocal(instance->module(), path_from),
+ PepperFilePath::MakeModuleLocal(instance->module(), path_to));
return ::ppapi::PlatformFileErrorToPepperError(result);
}
@@ -434,8 +431,7 @@ int32_t PPB_Flash_Impl::DeleteFileOrDir(PP_Instance pp_instance,
return PP_ERROR_FAILED;
base::PlatformFileError result = instance->delegate()->DeleteFileOrDir(
- ::ppapi::PepperFilePath::MakeModuleLocal(
- instance->module()->name(), path),
+ PepperFilePath::MakeModuleLocal(instance->module(), path),
PPBoolToBool(recursive));
return ::ppapi::PlatformFileErrorToPepperError(result);
}
@@ -449,8 +445,7 @@ int32_t PPB_Flash_Impl::CreateDir(PP_Instance pp_instance, const char* path) {
return PP_ERROR_FAILED;
base::PlatformFileError result = instance->delegate()->CreateDir(
- ::ppapi::PepperFilePath::MakeModuleLocal(
- instance->module()->name(), path));
+ PepperFilePath::MakeModuleLocal(instance->module(), path));
return ::ppapi::PlatformFileErrorToPepperError(result);
}
@@ -466,8 +461,7 @@ int32_t PPB_Flash_Impl::QueryFile(PP_Instance pp_instance,
base::PlatformFileInfo file_info;
base::PlatformFileError result = instance->delegate()->QueryFile(
- ::ppapi::PepperFilePath::MakeModuleLocal(
- instance->module()->name(), path),
+ PepperFilePath::MakeModuleLocal(instance->module(), path),
&file_info);
if (result == base::PLATFORM_FILE_OK) {
info->size = file_info.size;
@@ -493,10 +487,9 @@ int32_t PPB_Flash_Impl::GetDirContents(PP_Instance pp_instance,
return PP_ERROR_FAILED;
*contents = NULL;
- ::ppapi::DirContents pepper_contents;
+ DirContents pepper_contents;
base::PlatformFileError result = instance->delegate()->GetDirContents(
- ::ppapi::PepperFilePath::MakeModuleLocal(
- instance->module()->name(), path),
+ PepperFilePath::MakeModuleLocal(instance->module(), path),
&pepper_contents);
if (result != base::PLATFORM_FILE_OK)
@@ -541,7 +534,7 @@ int32_t PPB_Flash_Impl::OpenFileRef(PP_Instance pp_instance,
base::PlatformFile base_file;
base::PlatformFileError result = instance->delegate()->OpenFile(
- ::ppapi::PepperFilePath::MakeAbsolute(file_ref->GetSystemPath()),
+ PepperFilePath::MakeAbsolute(file_ref->GetSystemPath()),
flags,
&base_file);
*file = base_file;
@@ -562,7 +555,7 @@ int32_t PPB_Flash_Impl::QueryFileRef(PP_Instance pp_instance,
base::PlatformFileInfo file_info;
base::PlatformFileError result = instance->delegate()->QueryFile(
- ::ppapi::PepperFilePath::MakeAbsolute(file_ref->GetSystemPath()),
+ PepperFilePath::MakeAbsolute(file_ref->GetSystemPath()),
&file_info);
if (result == base::PLATFORM_FILE_OK) {
info->size = file_info.size;