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 #include "chrome/browser/net/resource_prefetch_predictor_observer.h" | 5 #include "chrome/browser/net/resource_prefetch_predictor_observer.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 | 8 |
9 #include "content/public/browser/browser_thread.h" | 9 #include "content/public/browser/browser_thread.h" |
10 #include "content/public/browser/resource_request_info.h" | 10 #include "content/public/browser/resource_request_info.h" |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
82 | 82 |
83 BrowserThread::PostTask( | 83 BrowserThread::PostTask( |
84 BrowserThread::UI, | 84 BrowserThread::UI, |
85 FROM_HERE, | 85 FROM_HERE, |
86 base::Bind(&ResourcePrefetchPredictor::RecordURLRequest, | 86 base::Bind(&ResourcePrefetchPredictor::RecordURLRequest, |
87 predictor_, | 87 predictor_, |
88 summary)); | 88 summary)); |
89 } | 89 } |
90 | 90 |
91 void ResourcePrefetchPredictorObserver::OnRequestRedirected( | 91 void ResourcePrefetchPredictorObserver::OnRequestRedirected( |
| 92 const GURL& redirect_url, |
92 net::URLRequest* request) { | 93 net::URLRequest* request) { |
93 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 94 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
94 | 95 |
95 if (!ResourcePrefetchPredictor::ShouldRecordRedirect(request)) | 96 if (!ResourcePrefetchPredictor::ShouldRecordRedirect(request)) |
96 return; | 97 return; |
| 98 |
97 ResourcePrefetchPredictor::URLRequestSummary summary; | 99 ResourcePrefetchPredictor::URLRequestSummary summary; |
98 if (!SummarizeResponse(request, &summary)) | 100 if (!SummarizeResponse(request, &summary)) |
99 return; | 101 return; |
100 | 102 |
| 103 summary.redirect_url = redirect_url; |
| 104 |
101 BrowserThread::PostTask( | 105 BrowserThread::PostTask( |
102 BrowserThread::UI, | 106 BrowserThread::UI, |
103 FROM_HERE, | 107 FROM_HERE, |
104 base::Bind(&ResourcePrefetchPredictor::RecordUrlRedirect, | 108 base::Bind(&ResourcePrefetchPredictor::RecordUrlRedirect, |
105 predictor_, | 109 predictor_, |
106 summary)); | 110 summary)); |
107 } | 111 } |
108 | 112 |
109 void ResourcePrefetchPredictorObserver::OnResponseStarted( | 113 void ResourcePrefetchPredictorObserver::OnResponseStarted( |
110 net::URLRequest* request) { | 114 net::URLRequest* request) { |
111 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); | 115 DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO)); |
112 | 116 |
113 if (!ResourcePrefetchPredictor::ShouldRecordResponse(request)) | 117 if (!ResourcePrefetchPredictor::ShouldRecordResponse(request)) |
114 return; | 118 return; |
115 ResourcePrefetchPredictor::URLRequestSummary summary; | 119 ResourcePrefetchPredictor::URLRequestSummary summary; |
116 if (!SummarizeResponse(request, &summary)) | 120 if (!SummarizeResponse(request, &summary)) |
117 return; | 121 return; |
118 | 122 |
119 BrowserThread::PostTask( | 123 BrowserThread::PostTask( |
120 BrowserThread::UI, | 124 BrowserThread::UI, |
121 FROM_HERE, | 125 FROM_HERE, |
122 base::Bind(&ResourcePrefetchPredictor::RecordUrlResponse, | 126 base::Bind(&ResourcePrefetchPredictor::RecordUrlResponse, |
123 predictor_, | 127 predictor_, |
124 summary)); | 128 summary)); |
125 } | 129 } |
126 | 130 |
127 } // namespace chrome_browser_net | 131 } // namespace chrome_browser_net |
OLD | NEW |