Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(661)

Side by Side Diff: content/browser/plugin_data_remover_impl.cc

Issue 1000373002: favor DCHECK_CURRENTLY_ON for better logs in content/browser/[f-p]* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase on master Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/browser/plugin_data_remover_impl.h" 5 #include "content/browser/plugin_data_remover_impl.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 public IPC::Listener, 62 public IPC::Listener,
63 public base::RefCountedThreadSafe<Context, 63 public base::RefCountedThreadSafe<Context,
64 BrowserThread::DeleteOnIOThread> { 64 BrowserThread::DeleteOnIOThread> {
65 public: 65 public:
66 Context(base::Time begin_time, BrowserContext* browser_context) 66 Context(base::Time begin_time, BrowserContext* browser_context)
67 : event_(new base::WaitableEvent(true, false)), 67 : event_(new base::WaitableEvent(true, false)),
68 begin_time_(begin_time), 68 begin_time_(begin_time),
69 is_removing_(false), 69 is_removing_(false),
70 browser_context_path_(browser_context->GetPath()), 70 browser_context_path_(browser_context->GetPath()),
71 resource_context_(browser_context->GetResourceContext()) { 71 resource_context_(browser_context->GetResourceContext()) {
72 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); 72 DCHECK_CURRENTLY_ON(BrowserThread::UI);
73 } 73 }
74 74
75 void Init(const std::string& mime_type) { 75 void Init(const std::string& mime_type) {
76 BrowserThread::PostTask( 76 BrowserThread::PostTask(
77 BrowserThread::IO, 77 BrowserThread::IO,
78 FROM_HERE, 78 FROM_HERE,
79 base::Bind(&Context::InitOnIOThread, this, mime_type)); 79 base::Bind(&Context::InitOnIOThread, this, mime_type));
80 BrowserThread::PostDelayedTask( 80 BrowserThread::PostDelayedTask(
81 BrowserThread::IO, 81 BrowserThread::IO,
82 FROM_HERE, 82 FROM_HERE,
83 base::Bind(&Context::OnTimeout, this), 83 base::Bind(&Context::OnTimeout, this),
84 base::TimeDelta::FromMilliseconds(kRemovalTimeoutMs)); 84 base::TimeDelta::FromMilliseconds(kRemovalTimeoutMs));
85 } 85 }
86 86
87 void InitOnIOThread(const std::string& mime_type) { 87 void InitOnIOThread(const std::string& mime_type) {
88 PluginServiceImpl* plugin_service = PluginServiceImpl::GetInstance(); 88 PluginServiceImpl* plugin_service = PluginServiceImpl::GetInstance();
89 89
90 // Get the plugin file path. 90 // Get the plugin file path.
91 std::vector<WebPluginInfo> plugins; 91 std::vector<WebPluginInfo> plugins;
92 plugin_service->GetPluginInfoArray( 92 plugin_service->GetPluginInfoArray(
93 GURL(), mime_type, false, &plugins, NULL); 93 GURL(), mime_type, false, &plugins, NULL);
94 base::FilePath plugin_path; 94 base::FilePath plugin_path;
95 if (!plugins.empty()) // May be empty for some tests. 95 if (!plugins.empty()) // May be empty for some tests.
96 plugin_path = plugins[0].path; 96 plugin_path = plugins[0].path;
97 97
98 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 98 DCHECK_CURRENTLY_ON(BrowserThread::IO);
99 remove_start_time_ = base::Time::Now(); 99 remove_start_time_ = base::Time::Now();
100 is_removing_ = true; 100 is_removing_ = true;
101 // Balanced in On[Ppapi]ChannelOpened or OnError. Exactly one them will 101 // Balanced in On[Ppapi]ChannelOpened or OnError. Exactly one them will
102 // eventually be called, so we need to keep this object around until then. 102 // eventually be called, so we need to keep this object around until then.
103 AddRef(); 103 AddRef();
104 104
105 PepperPluginInfo* pepper_info = 105 PepperPluginInfo* pepper_info =
106 plugin_service->GetRegisteredPpapiPluginInfo(plugin_path); 106 plugin_service->GetRegisteredPpapiPluginInfo(plugin_path);
107 if (pepper_info) { 107 if (pepper_info) {
108 plugin_name_ = pepper_info->name; 108 plugin_name_ = pepper_info->name;
(...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after
207 #else 207 #else
208 base::FilePath plugin_data_path = 208 base::FilePath plugin_data_path =
209 profile_path.Append(base::FilePath(plugin_name_)); 209 profile_path.Append(base::FilePath(plugin_name_));
210 #endif // defined(OS_WIN) 210 #endif // defined(OS_WIN)
211 return new PpapiMsg_ClearSiteData(0u, plugin_data_path, std::string(), 211 return new PpapiMsg_ClearSiteData(0u, plugin_data_path, std::string(),
212 kClearAllData, max_age); 212 kClearAllData, max_age);
213 } 213 }
214 214
215 // Connects the client side of a newly opened plugin channel. 215 // Connects the client side of a newly opened plugin channel.
216 void ConnectToChannel(const IPC::ChannelHandle& handle, bool is_ppapi) { 216 void ConnectToChannel(const IPC::ChannelHandle& handle, bool is_ppapi) {
217 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 217 DCHECK_CURRENTLY_ON(BrowserThread::IO);
218 218
219 // If we timed out, don't bother connecting. 219 // If we timed out, don't bother connecting.
220 if (!is_removing_) 220 if (!is_removing_)
221 return; 221 return;
222 222
223 DCHECK(!channel_.get()); 223 DCHECK(!channel_.get());
224 channel_ = IPC::Channel::CreateClient(handle, this); 224 channel_ = IPC::Channel::CreateClient(handle, this);
225 if (!channel_->Connect()) { 225 if (!channel_->Connect()) {
226 NOTREACHED() << "Couldn't connect to plugin"; 226 NOTREACHED() << "Couldn't connect to plugin";
227 SignalDone(); 227 SignalDone();
(...skipping 29 matching lines...) Expand all
257 void OnClearSiteDataResult(bool success) { 257 void OnClearSiteDataResult(bool success) {
258 LOG_IF(ERROR, !success) << "ClearSiteData returned error"; 258 LOG_IF(ERROR, !success) << "ClearSiteData returned error";
259 UMA_HISTOGRAM_TIMES("ClearPluginData.time", 259 UMA_HISTOGRAM_TIMES("ClearPluginData.time",
260 base::Time::Now() - remove_start_time_); 260 base::Time::Now() - remove_start_time_);
261 SignalDone(); 261 SignalDone();
262 } 262 }
263 263
264 // Signals that we are finished with removing data (successful or not). This 264 // Signals that we are finished with removing data (successful or not). This
265 // method is safe to call multiple times. 265 // method is safe to call multiple times.
266 void SignalDone() { 266 void SignalDone() {
267 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); 267 DCHECK_CURRENTLY_ON(BrowserThread::IO);
268 if (!is_removing_) 268 if (!is_removing_)
269 return; 269 return;
270 is_removing_ = false; 270 is_removing_ = false;
271 event_->Signal(); 271 event_->Signal();
272 } 272 }
273 273
274 scoped_ptr<base::WaitableEvent> event_; 274 scoped_ptr<base::WaitableEvent> event_;
275 // The point in time when we start removing data. 275 // The point in time when we start removing data.
276 base::Time remove_start_time_; 276 base::Time remove_start_time_;
277 // The point in time from which on we remove data. 277 // The point in time from which on we remove data.
(...skipping 26 matching lines...) Expand all
304 304
305 base::WaitableEvent* PluginDataRemoverImpl::StartRemoving( 305 base::WaitableEvent* PluginDataRemoverImpl::StartRemoving(
306 base::Time begin_time) { 306 base::Time begin_time) {
307 DCHECK(!context_.get()); 307 DCHECK(!context_.get());
308 context_ = new Context(begin_time, browser_context_); 308 context_ = new Context(begin_time, browser_context_);
309 context_->Init(mime_type_); 309 context_->Init(mime_type_);
310 return context_->event(); 310 return context_->event();
311 } 311 }
312 312
313 } // namespace content 313 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/pepper_flash_settings_helper_impl.cc ('k') | content/browser/plugin_loader_posix.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698