| 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 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc
e-loading | 5 // See http://dev.chromium.org/developers/design-documents/multi-process-resourc
e-loading |
| 6 | 6 |
| 7 #include "content/browser/loader/resource_dispatcher_host_impl.h" | 7 #include "content/browser/loader/resource_dispatcher_host_impl.h" |
| 8 | 8 |
| 9 #include <set> | 9 #include <set> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 685 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 696 ResourceRequestInfoImpl* info = loader->GetRequestInfo(); | 696 ResourceRequestInfoImpl* info = loader->GetRequestInfo(); |
| 697 | 697 |
| 698 int render_process_id, render_view_id; | 698 int render_process_id, render_view_id; |
| 699 if (!info->GetAssociatedRenderView(&render_process_id, &render_view_id)) | 699 if (!info->GetAssociatedRenderView(&render_process_id, &render_view_id)) |
| 700 return; | 700 return; |
| 701 | 701 |
| 702 // Notify the observers on the UI thread. | 702 // Notify the observers on the UI thread. |
| 703 scoped_ptr<ResourceRedirectDetails> detail(new ResourceRedirectDetails( | 703 scoped_ptr<ResourceRedirectDetails> detail(new ResourceRedirectDetails( |
| 704 loader->request(), | 704 loader->request(), |
| 705 GetCertID(loader->request(), info->GetChildID()), | 705 GetCertID(loader->request(), info->GetChildID()), |
| 706 info->GetPageTransition(), |
| 706 new_url)); | 707 new_url)); |
| 707 BrowserThread::PostTask( | 708 BrowserThread::PostTask( |
| 708 BrowserThread::UI, FROM_HERE, | 709 BrowserThread::UI, FROM_HERE, |
| 709 base::Bind( | 710 base::Bind( |
| 710 &NotifyOnUI<ResourceRedirectDetails>, | 711 &NotifyOnUI<ResourceRedirectDetails>, |
| 711 static_cast<int>(NOTIFICATION_RESOURCE_RECEIVED_REDIRECT), | 712 static_cast<int>(NOTIFICATION_RESOURCE_RECEIVED_REDIRECT), |
| 712 render_process_id, render_view_id, base::Passed(&detail))); | 713 render_process_id, render_view_id, base::Passed(&detail))); |
| 713 } | 714 } |
| 714 | 715 |
| 715 void ResourceDispatcherHostImpl::DidReceiveResponse(ResourceLoader* loader) { | 716 void ResourceDispatcherHostImpl::DidReceiveResponse(ResourceLoader* loader) { |
| (...skipping 10 matching lines...) Expand all Loading... |
| 726 // this request traversed Begin{Download,SaveFile,Request}. | 727 // this request traversed Begin{Download,SaveFile,Request}. |
| 727 // TODO(rdsmith): This isn't currently true; see http://crbug.com/241176. | 728 // TODO(rdsmith): This isn't currently true; see http://crbug.com/241176. |
| 728 NOTREACHED(); | 729 NOTREACHED(); |
| 729 } | 730 } |
| 730 | 731 |
| 731 int render_process_id, render_view_id; | 732 int render_process_id, render_view_id; |
| 732 if (!info->GetAssociatedRenderView(&render_process_id, &render_view_id)) | 733 if (!info->GetAssociatedRenderView(&render_process_id, &render_view_id)) |
| 733 return; | 734 return; |
| 734 | 735 |
| 735 // Notify the observers on the UI thread. | 736 // Notify the observers on the UI thread. |
| 737 int cert_id = GetCertID(loader->request(), info->GetChildID()); |
| 736 scoped_ptr<ResourceRequestDetails> detail(new ResourceRequestDetails( | 738 scoped_ptr<ResourceRequestDetails> detail(new ResourceRequestDetails( |
| 737 loader->request(), | 739 loader->request(), cert_id, info->GetPageTransition())); |
| 738 GetCertID(loader->request(), info->GetChildID()))); | |
| 739 BrowserThread::PostTask( | 740 BrowserThread::PostTask( |
| 740 BrowserThread::UI, FROM_HERE, | 741 BrowserThread::UI, FROM_HERE, |
| 741 base::Bind( | 742 base::Bind( |
| 742 &NotifyOnUI<ResourceRequestDetails>, | 743 &NotifyOnUI<ResourceRequestDetails>, |
| 743 static_cast<int>(NOTIFICATION_RESOURCE_RESPONSE_STARTED), | 744 static_cast<int>(NOTIFICATION_RESOURCE_RESPONSE_STARTED), |
| 744 render_process_id, render_view_id, base::Passed(&detail))); | 745 render_process_id, render_view_id, base::Passed(&detail))); |
| 745 } | 746 } |
| 746 | 747 |
| 747 void ResourceDispatcherHostImpl::DidFinishLoading(ResourceLoader* loader) { | 748 void ResourceDispatcherHostImpl::DidFinishLoading(ResourceLoader* loader) { |
| 748 ResourceRequestInfo* info = loader->GetRequestInfo(); | 749 ResourceRequestInfo* info = loader->GetRequestInfo(); |
| (...skipping 1093 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1842 DelegateMap::iterator it = delegate_map_.find(id); | 1843 DelegateMap::iterator it = delegate_map_.find(id); |
| 1843 DCHECK(it->second->HasObserver(delegate)); | 1844 DCHECK(it->second->HasObserver(delegate)); |
| 1844 it->second->RemoveObserver(delegate); | 1845 it->second->RemoveObserver(delegate); |
| 1845 if (it->second->size() == 0) { | 1846 if (it->second->size() == 0) { |
| 1846 delete it->second; | 1847 delete it->second; |
| 1847 delegate_map_.erase(it); | 1848 delegate_map_.erase(it); |
| 1848 } | 1849 } |
| 1849 } | 1850 } |
| 1850 | 1851 |
| 1851 } // namespace content | 1852 } // namespace content |
| OLD | NEW |