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/histogram.h" | 7 #include "base/histogram.h" |
8 #include "base/path_service.h" | 8 #include "base/path_service.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 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
219 bool pending_view) { | 219 bool pending_view) { |
220 if (!renderer_pid || !renderer_id || !tab_handle) { | 220 if (!renderer_pid || !renderer_id || !tab_handle) { |
221 NOTREACHED(); | 221 NOTREACHED(); |
222 return false; | 222 return false; |
223 } | 223 } |
224 | 224 |
225 BrowserThread::PostTask( | 225 BrowserThread::PostTask( |
226 BrowserThread::IO, FROM_HERE, | 226 BrowserThread::IO, FROM_HERE, |
227 NewRunnableFunction( | 227 NewRunnableFunction( |
228 AutomationResourceMessageFilter::RegisterRenderViewInIOThread, | 228 AutomationResourceMessageFilter::RegisterRenderViewInIOThread, |
229 renderer_pid, renderer_id, tab_handle, filter, pending_view)); | 229 renderer_pid, |
| 230 renderer_id, |
| 231 tab_handle, |
| 232 make_scoped_refptr(filter), |
| 233 pending_view)); |
230 return true; | 234 return true; |
231 } | 235 } |
232 | 236 |
233 void AutomationResourceMessageFilter::UnRegisterRenderView( | 237 void AutomationResourceMessageFilter::UnRegisterRenderView( |
234 int renderer_pid, int renderer_id) { | 238 int renderer_pid, int renderer_id) { |
235 BrowserThread::PostTask( | 239 BrowserThread::PostTask( |
236 BrowserThread::IO, FROM_HERE, | 240 BrowserThread::IO, FROM_HERE, |
237 NewRunnableFunction( | 241 NewRunnableFunction( |
238 AutomationResourceMessageFilter::UnRegisterRenderViewInIOThread, | 242 AutomationResourceMessageFilter::UnRegisterRenderViewInIOThread, |
239 renderer_pid, renderer_id)); | 243 renderer_pid, renderer_id)); |
240 } | 244 } |
241 | 245 |
242 bool AutomationResourceMessageFilter::ResumePendingRenderView( | 246 bool AutomationResourceMessageFilter::ResumePendingRenderView( |
243 int renderer_pid, int renderer_id, int tab_handle, | 247 int renderer_pid, int renderer_id, int tab_handle, |
244 AutomationResourceMessageFilter* filter) { | 248 AutomationResourceMessageFilter* filter) { |
245 if (!renderer_pid || !renderer_id || !tab_handle) { | 249 if (!renderer_pid || !renderer_id || !tab_handle) { |
246 NOTREACHED(); | 250 NOTREACHED(); |
247 return false; | 251 return false; |
248 } | 252 } |
249 | 253 |
250 BrowserThread::PostTask( | 254 BrowserThread::PostTask( |
251 BrowserThread::IO, FROM_HERE, | 255 BrowserThread::IO, FROM_HERE, |
252 NewRunnableFunction( | 256 NewRunnableFunction( |
253 AutomationResourceMessageFilter::ResumePendingRenderViewInIOThread, | 257 AutomationResourceMessageFilter::ResumePendingRenderViewInIOThread, |
254 renderer_pid, renderer_id, tab_handle, filter)); | 258 renderer_pid, |
| 259 renderer_id, |
| 260 tab_handle, |
| 261 make_scoped_refptr(filter))); |
255 return true; | 262 return true; |
256 } | 263 } |
257 | 264 |
258 void AutomationResourceMessageFilter::RegisterRenderViewInIOThread( | 265 void AutomationResourceMessageFilter::RegisterRenderViewInIOThread( |
259 int renderer_pid, int renderer_id, | 266 int renderer_pid, int renderer_id, |
260 int tab_handle, AutomationResourceMessageFilter* filter, | 267 int tab_handle, AutomationResourceMessageFilter* filter, |
261 bool pending_view) { | 268 bool pending_view) { |
262 RendererId renderer_key(renderer_pid, renderer_id); | 269 RendererId renderer_key(renderer_pid, renderer_id); |
263 | 270 |
264 scoped_refptr<net::CookieStore> cookie_store = | 271 scoped_refptr<net::CookieStore> cookie_store = |
(...skipping 252 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
517 index != old_filter->pending_request_map_.end(); index++) { | 524 index != old_filter->pending_request_map_.end(); index++) { |
518 scoped_refptr<URLRequestAutomationJob> job = (*index).second; | 525 scoped_refptr<URLRequestAutomationJob> job = (*index).second; |
519 DCHECK_EQ(job->message_filter(), old_filter); | 526 DCHECK_EQ(job->message_filter(), old_filter); |
520 DCHECK(job->is_pending()); | 527 DCHECK(job->is_pending()); |
521 // StartPendingJob will register the job with the new filter. | 528 // StartPendingJob will register the job with the new filter. |
522 job->StartPendingJob(tab_handle, new_filter); | 529 job->StartPendingJob(tab_handle, new_filter); |
523 } | 530 } |
524 | 531 |
525 old_filter->pending_request_map_.clear(); | 532 old_filter->pending_request_map_.clear(); |
526 } | 533 } |
OLD | NEW |