OLD | NEW |
1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 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 "chrome/browser/automation/automation_resource_message_filter.h" | 5 #include "chrome/browser/automation/automation_resource_message_filter.h" |
6 | 6 |
7 #include "base/path_service.h" | 7 #include "base/path_service.h" |
8 #include "base/metrics/histogram.h" | 8 #include "base/metrics/histogram.h" |
9 #include "base/stl_util-inl.h" | 9 #include "base/stl_util-inl.h" |
10 #include "chrome/browser/automation/url_request_automation_job.h" | 10 #include "chrome/browser/automation/url_request_automation_job.h" |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
229 bool pending_view) { | 229 bool pending_view) { |
230 if (!renderer_pid || !renderer_id || !tab_handle) { | 230 if (!renderer_pid || !renderer_id || !tab_handle) { |
231 NOTREACHED(); | 231 NOTREACHED(); |
232 return false; | 232 return false; |
233 } | 233 } |
234 | 234 |
235 BrowserThread::PostTask( | 235 BrowserThread::PostTask( |
236 BrowserThread::IO, FROM_HERE, | 236 BrowserThread::IO, FROM_HERE, |
237 NewRunnableFunction( | 237 NewRunnableFunction( |
238 AutomationResourceMessageFilter::RegisterRenderViewInIOThread, | 238 AutomationResourceMessageFilter::RegisterRenderViewInIOThread, |
239 renderer_pid, renderer_id, tab_handle, filter, pending_view)); | 239 renderer_pid, |
| 240 renderer_id, |
| 241 tab_handle, |
| 242 make_scoped_refptr(filter), |
| 243 pending_view)); |
240 return true; | 244 return true; |
241 } | 245 } |
242 | 246 |
243 void AutomationResourceMessageFilter::UnRegisterRenderView( | 247 void AutomationResourceMessageFilter::UnRegisterRenderView( |
244 int renderer_pid, int renderer_id) { | 248 int renderer_pid, int renderer_id) { |
245 BrowserThread::PostTask( | 249 BrowserThread::PostTask( |
246 BrowserThread::IO, FROM_HERE, | 250 BrowserThread::IO, FROM_HERE, |
247 NewRunnableFunction( | 251 NewRunnableFunction( |
248 AutomationResourceMessageFilter::UnRegisterRenderViewInIOThread, | 252 AutomationResourceMessageFilter::UnRegisterRenderViewInIOThread, |
249 renderer_pid, renderer_id)); | 253 renderer_pid, renderer_id)); |
250 } | 254 } |
251 | 255 |
252 bool AutomationResourceMessageFilter::ResumePendingRenderView( | 256 bool AutomationResourceMessageFilter::ResumePendingRenderView( |
253 int renderer_pid, int renderer_id, int tab_handle, | 257 int renderer_pid, int renderer_id, int tab_handle, |
254 AutomationResourceMessageFilter* filter) { | 258 AutomationResourceMessageFilter* filter) { |
255 if (!renderer_pid || !renderer_id || !tab_handle) { | 259 if (!renderer_pid || !renderer_id || !tab_handle) { |
256 NOTREACHED(); | 260 NOTREACHED(); |
257 return false; | 261 return false; |
258 } | 262 } |
259 | 263 |
260 BrowserThread::PostTask( | 264 BrowserThread::PostTask( |
261 BrowserThread::IO, FROM_HERE, | 265 BrowserThread::IO, FROM_HERE, |
262 NewRunnableFunction( | 266 NewRunnableFunction( |
263 AutomationResourceMessageFilter::ResumePendingRenderViewInIOThread, | 267 AutomationResourceMessageFilter::ResumePendingRenderViewInIOThread, |
264 renderer_pid, renderer_id, tab_handle, filter)); | 268 renderer_pid, |
| 269 renderer_id, |
| 270 tab_handle, |
| 271 make_scoped_refptr(filter))); |
265 return true; | 272 return true; |
266 } | 273 } |
267 | 274 |
268 void AutomationResourceMessageFilter::RegisterRenderViewInIOThread( | 275 void AutomationResourceMessageFilter::RegisterRenderViewInIOThread( |
269 int renderer_pid, int renderer_id, | 276 int renderer_pid, int renderer_id, |
270 int tab_handle, AutomationResourceMessageFilter* filter, | 277 int tab_handle, AutomationResourceMessageFilter* filter, |
271 bool pending_view) { | 278 bool pending_view) { |
272 RendererId renderer_key(renderer_pid, renderer_id); | 279 RendererId renderer_key(renderer_pid, renderer_id); |
273 | 280 |
274 scoped_refptr<net::CookieStore> cookie_store = | 281 scoped_refptr<net::CookieStore> cookie_store = |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
527 index != old_filter->pending_request_map_.end(); index++) { | 534 index != old_filter->pending_request_map_.end(); index++) { |
528 scoped_refptr<URLRequestAutomationJob> job = (*index).second; | 535 scoped_refptr<URLRequestAutomationJob> job = (*index).second; |
529 DCHECK_EQ(job->message_filter(), old_filter); | 536 DCHECK_EQ(job->message_filter(), old_filter); |
530 DCHECK(job->is_pending()); | 537 DCHECK(job->is_pending()); |
531 // StartPendingJob will register the job with the new filter. | 538 // StartPendingJob will register the job with the new filter. |
532 job->StartPendingJob(tab_handle, new_filter); | 539 job->StartPendingJob(tab_handle, new_filter); |
533 } | 540 } |
534 | 541 |
535 old_filter->pending_request_map_.clear(); | 542 old_filter->pending_request_map_.clear(); |
536 } | 543 } |
OLD | NEW |