| Index: content/browser/plugin_data_remover_impl.cc
|
| diff --git a/content/browser/plugin_data_remover_impl.cc b/content/browser/plugin_data_remover_impl.cc
|
| index fd62447f73c684918ec8506ffec9d0fa4fe008e8..42079cf3e54312313dee3c30f99e31df35d02fe2 100644
|
| --- a/content/browser/plugin_data_remover_impl.cc
|
| +++ b/content/browser/plugin_data_remover_impl.cc
|
| @@ -109,6 +109,7 @@ class PluginDataRemoverImpl::Context
|
| PepperPluginInfo* pepper_info =
|
| plugin_service->GetRegisteredPpapiPluginInfo(plugin_path);
|
| if (pepper_info) {
|
| + plugin_name_ = pepper_info->name;
|
| // Use the broker since we run this function outside the sandbox.
|
| plugin_service->OpenChannelToPpapiBroker(plugin_path, this);
|
| } else {
|
| @@ -222,15 +223,19 @@ class PluginDataRemoverImpl::Context
|
|
|
| IPC::Message* msg;
|
| if (is_ppapi) {
|
| - // Pass the path as 8-bit on all platforms.
|
| FilePath profile_path =
|
| PepperFileMessageFilter::GetDataDirName(browser_context_path_);
|
| + // TODO(vtl): This "duplicates" logic in webkit/plugins/ppapi/file_path.cc
|
| + // (which prepends the plugin name to the relative part of the path
|
| + // instead, with the absolute, profile-dependent part being enforced by
|
| + // the browser).
|
| #if defined(OS_WIN)
|
| - std::string path_utf8 = UTF16ToUTF8(profile_path.value());
|
| + FilePath plugin_data_path =
|
| + profile_path.Append(FilePath(UTF8ToUTF16(plugin_name_)));
|
| #else
|
| - const std::string& path_utf8 = profile_path.value();
|
| + FilePath plugin_data_path = profile_path.Append(FilePath(plugin_name_));
|
| #endif
|
| - msg = new PpapiMsg_ClearSiteData(profile_path, path_utf8,
|
| + msg = new PpapiMsg_ClearSiteData(plugin_data_path, std::string(),
|
| kClearAllData, max_age);
|
| } else {
|
| msg = new PluginMsg_ClearSiteData(std::string(), kClearAllData, max_age);
|
| @@ -274,6 +279,9 @@ class PluginDataRemoverImpl::Context
|
| // The resource context for the profile. Use only on the I/O thread.
|
| ResourceContext* resource_context_;
|
|
|
| + // The name of the plugin. Use only on the I/O thread.
|
| + std::string plugin_name_;
|
| +
|
| // The channel is NULL until we have opened a connection to the plug-in
|
| // process.
|
| scoped_ptr<IPC::Channel> channel_;
|
|
|