| OLD | NEW | 
|---|
| 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2009 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/renderer_host/buffered_resource_handler.h" | 5 #include "chrome/browser/renderer_host/buffered_resource_handler.h" | 
| 6 | 6 | 
| 7 #include <vector> | 7 #include <vector> | 
| 8 | 8 | 
| 9 #include "base/histogram.h" | 9 #include "base/histogram.h" | 
| 10 #include "base/logging.h" | 10 #include "base/logging.h" | 
| (...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 395       ResourceDispatcherHost::InfoForRequest(request_); | 395       ResourceDispatcherHost::InfoForRequest(request_); | 
| 396   host_->PauseRequest(info->child_id(), info->request_id(), true); | 396   host_->PauseRequest(info->child_id(), info->request_id(), true); | 
| 397 | 397 | 
| 398   // Schedule plugin loading on the file thread. | 398   // Schedule plugin loading on the file thread. | 
| 399   // Note: it's possible that the only reference to this object is the task.  If | 399   // Note: it's possible that the only reference to this object is the task.  If | 
| 400   // If the task executes on the file thread, and before it returns, the task it | 400   // If the task executes on the file thread, and before it returns, the task it | 
| 401   // posts to the IO thread runs, then this object will get destructed on the | 401   // posts to the IO thread runs, then this object will get destructed on the | 
| 402   // file thread.  This breaks assumptions in other message handlers (i.e. when | 402   // file thread.  This breaks assumptions in other message handlers (i.e. when | 
| 403   // unregistering with NotificationService in the destructor). | 403   // unregistering with NotificationService in the destructor). | 
| 404   AddRef(); | 404   AddRef(); | 
| 405   ChromeThread::GetMessageLoop(ChromeThread::FILE)->PostTask(FROM_HERE, | 405   ChromeThread::PostTask( | 
|  | 406       ChromeThread::FILE, FROM_HERE, | 
| 406       NewRunnableFunction(&BufferedResourceHandler::LoadPlugins, | 407       NewRunnableFunction(&BufferedResourceHandler::LoadPlugins, | 
| 407           this, host_->ui_loop())); | 408           this, host_->ui_loop())); | 
| 408   return true; | 409   return true; | 
| 409 } | 410 } | 
| 410 | 411 | 
| 411 // This test mirrors the decision that WebKit makes in | 412 // This test mirrors the decision that WebKit makes in | 
| 412 // WebFrameLoaderClient::dispatchDecidePolicyForMIMEType. | 413 // WebFrameLoaderClient::dispatchDecidePolicyForMIMEType. | 
| 413 bool BufferedResourceHandler::ShouldDownload(bool* need_plugin_list) { | 414 bool BufferedResourceHandler::ShouldDownload(bool* need_plugin_list) { | 
| 414   if (need_plugin_list) | 415   if (need_plugin_list) | 
| 415     *need_plugin_list = false; | 416     *need_plugin_list = false; | 
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 492   wait_for_plugins_ = false; | 493   wait_for_plugins_ = false; | 
| 493   if (request_) { | 494   if (request_) { | 
| 494     ResourceDispatcherHostRequestInfo* info = | 495     ResourceDispatcherHostRequestInfo* info = | 
| 495         ResourceDispatcherHost::InfoForRequest(request_); | 496         ResourceDispatcherHost::InfoForRequest(request_); | 
| 496     host_->PauseRequest(info->child_id(), info->request_id(), false); | 497     host_->PauseRequest(info->child_id(), info->request_id(), false); | 
| 497     if (!CompleteResponseStarted(info->request_id(), false)) | 498     if (!CompleteResponseStarted(info->request_id(), false)) | 
| 498       host_->CancelRequest(info->child_id(), info->request_id(), false); | 499       host_->CancelRequest(info->child_id(), info->request_id(), false); | 
| 499   } | 500   } | 
| 500   Release(); | 501   Release(); | 
| 501 } | 502 } | 
| OLD | NEW | 
|---|