OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/plugin/plugin_channel.h" | 5 #include "content/plugin/plugin_channel.h" |
6 | 6 |
7 #include "base/bind.h" | 7 #include "base/bind.h" |
8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
9 #include "base/process_util.h" | 9 #include "base/process_util.h" |
10 #include "base/string_util.h" | 10 #include "base/string_util.h" |
(...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
251 *route_id = GenerateRouteID(); | 251 *route_id = GenerateRouteID(); |
252 } | 252 } |
253 | 253 |
254 int PluginChannel::GenerateRouteID() { | 254 int PluginChannel::GenerateRouteID() { |
255 static int last_id = 0; | 255 static int last_id = 0; |
256 return ++last_id; | 256 return ++last_id; |
257 } | 257 } |
258 | 258 |
259 void PluginChannel::OnClearSiteData(const std::string& site, | 259 void PluginChannel::OnClearSiteData(const std::string& site, |
260 uint64 flags, | 260 uint64 flags, |
261 base::Time begin_time) { | 261 uint64 max_age) { |
262 bool success = false; | 262 bool success = false; |
263 CommandLine* command_line = CommandLine::ForCurrentProcess(); | 263 CommandLine* command_line = CommandLine::ForCurrentProcess(); |
264 FilePath path = command_line->GetSwitchValuePath(switches::kPluginPath); | 264 FilePath path = command_line->GetSwitchValuePath(switches::kPluginPath); |
265 scoped_refptr<webkit::npapi::PluginLib> plugin_lib( | 265 scoped_refptr<webkit::npapi::PluginLib> plugin_lib( |
266 webkit::npapi::PluginLib::CreatePluginLib(path)); | 266 webkit::npapi::PluginLib::CreatePluginLib(path)); |
267 if (plugin_lib.get()) { | 267 if (plugin_lib.get()) { |
268 NPError err = plugin_lib->NP_Initialize(); | 268 NPError err = plugin_lib->NP_Initialize(); |
269 if (err == NPERR_NO_ERROR) { | 269 if (err == NPERR_NO_ERROR) { |
270 const char* site_str = site.empty() ? NULL : site.c_str(); | 270 const char* site_str = site.empty() ? NULL : site.c_str(); |
271 uint64 max_age; | |
272 if (begin_time > base::Time()) { | |
273 base::TimeDelta delta = base::Time::Now() - begin_time; | |
274 max_age = delta.InSeconds(); | |
275 } else { | |
276 max_age = kuint64max; | |
277 } | |
278 err = plugin_lib->NP_ClearSiteData(site_str, flags, max_age); | 271 err = plugin_lib->NP_ClearSiteData(site_str, flags, max_age); |
279 std::string site_name = | 272 std::string site_name = |
280 site.empty() ? "NULL" | 273 site.empty() ? "NULL" |
281 : base::StringPrintf("\"%s\"", site_str); | 274 : base::StringPrintf("\"%s\"", site_str); |
282 VLOG(1) << "NPP_ClearSiteData(" << site_name << ", " << flags << ", " | 275 VLOG(1) << "NPP_ClearSiteData(" << site_name << ", " << flags << ", " |
283 << max_age << ") returned " << err; | 276 << max_age << ") returned " << err; |
284 success = (err == NPERR_NO_ERROR); | 277 success = (err == NPERR_NO_ERROR); |
285 } | 278 } |
286 } | 279 } |
287 Send(new PluginHostMsg_ClearSiteDataResult(success)); | 280 Send(new PluginHostMsg_ClearSiteDataResult(success)); |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
327 bool PluginChannel::Init(base::MessageLoopProxy* ipc_message_loop, | 320 bool PluginChannel::Init(base::MessageLoopProxy* ipc_message_loop, |
328 bool create_pipe_now, | 321 bool create_pipe_now, |
329 base::WaitableEvent* shutdown_event) { | 322 base::WaitableEvent* shutdown_event) { |
330 if (!NPChannelBase::Init(ipc_message_loop, create_pipe_now, shutdown_event)) | 323 if (!NPChannelBase::Init(ipc_message_loop, create_pipe_now, shutdown_event)) |
331 return false; | 324 return false; |
332 | 325 |
333 channel_->AddFilter(filter_.get()); | 326 channel_->AddFilter(filter_.get()); |
334 return true; | 327 return true; |
335 } | 328 } |
336 | 329 |
OLD | NEW |