| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2013 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/renderer/net/net_error_helper.h" | 5 #include "chrome/renderer/net/net_error_helper.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/i18n/rtl.h" | 10 #include "base/i18n/rtl.h" |
| (...skipping 246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 257 correction_fetcher_.reset( | 257 correction_fetcher_.reset( |
| 258 content::ResourceFetcher::Create(navigation_correction_url)); | 258 content::ResourceFetcher::Create(navigation_correction_url)); |
| 259 correction_fetcher_->SetMethod("POST"); | 259 correction_fetcher_->SetMethod("POST"); |
| 260 correction_fetcher_->SetBody(navigation_correction_request_body); | 260 correction_fetcher_->SetBody(navigation_correction_request_body); |
| 261 correction_fetcher_->SetHeader("Content-Type", "application/json"); | 261 correction_fetcher_->SetHeader("Content-Type", "application/json"); |
| 262 | 262 |
| 263 correction_fetcher_->Start( | 263 correction_fetcher_->Start( |
| 264 frame, | 264 frame, |
| 265 blink::WebURLRequest::RequestContextInternal, | 265 blink::WebURLRequest::RequestContextInternal, |
| 266 blink::WebURLRequest::FrameTypeTopLevel, | 266 blink::WebURLRequest::FrameTypeTopLevel, |
| 267 content::ResourceFetcher::PLATFORM_LOADER, |
| 267 base::Bind(&NetErrorHelper::OnNavigationCorrectionsFetched, | 268 base::Bind(&NetErrorHelper::OnNavigationCorrectionsFetched, |
| 268 base::Unretained(this))); | 269 base::Unretained(this))); |
| 269 | 270 |
| 270 correction_fetcher_->SetTimeout( | 271 correction_fetcher_->SetTimeout( |
| 271 base::TimeDelta::FromSeconds(kNavigationCorrectionFetchTimeoutSec)); | 272 base::TimeDelta::FromSeconds(kNavigationCorrectionFetchTimeoutSec)); |
| 272 } | 273 } |
| 273 | 274 |
| 274 void NetErrorHelper::CancelFetchNavigationCorrections() { | 275 void NetErrorHelper::CancelFetchNavigationCorrections() { |
| 275 correction_fetcher_.reset(); | 276 correction_fetcher_.reset(); |
| 276 } | 277 } |
| 277 | 278 |
| 278 void NetErrorHelper::SendTrackingRequest( | 279 void NetErrorHelper::SendTrackingRequest( |
| 279 const GURL& tracking_url, | 280 const GURL& tracking_url, |
| 280 const std::string& tracking_request_body) { | 281 const std::string& tracking_request_body) { |
| 281 blink::WebView* web_view = render_frame()->GetRenderView()->GetWebView(); | 282 blink::WebView* web_view = render_frame()->GetRenderView()->GetWebView(); |
| 282 if (!web_view) | 283 if (!web_view) |
| 283 return; | 284 return; |
| 284 blink::WebFrame* frame = web_view->mainFrame(); | 285 blink::WebFrame* frame = web_view->mainFrame(); |
| 285 | 286 |
| 286 // If there's already a pending tracking request, this will cancel it. | 287 // If there's already a pending tracking request, this will cancel it. |
| 287 tracking_fetcher_.reset(content::ResourceFetcher::Create(tracking_url)); | 288 tracking_fetcher_.reset(content::ResourceFetcher::Create(tracking_url)); |
| 288 tracking_fetcher_->SetMethod("POST"); | 289 tracking_fetcher_->SetMethod("POST"); |
| 289 tracking_fetcher_->SetBody(tracking_request_body); | 290 tracking_fetcher_->SetBody(tracking_request_body); |
| 290 tracking_fetcher_->SetHeader("Content-Type", "application/json"); | 291 tracking_fetcher_->SetHeader("Content-Type", "application/json"); |
| 291 | 292 |
| 292 tracking_fetcher_->Start( | 293 tracking_fetcher_->Start( |
| 293 frame, | 294 frame, |
| 294 blink::WebURLRequest::RequestContextInternal, | 295 blink::WebURLRequest::RequestContextInternal, |
| 295 blink::WebURLRequest::FrameTypeTopLevel, | 296 blink::WebURLRequest::FrameTypeTopLevel, |
| 297 content::ResourceFetcher::PLATFORM_LOADER, |
| 296 base::Bind(&NetErrorHelper::OnTrackingRequestComplete, | 298 base::Bind(&NetErrorHelper::OnTrackingRequestComplete, |
| 297 base::Unretained(this))); | 299 base::Unretained(this))); |
| 298 } | 300 } |
| 299 | 301 |
| 300 void NetErrorHelper::ReloadPage() { | 302 void NetErrorHelper::ReloadPage() { |
| 301 render_frame()->GetWebFrame()->reload(false); | 303 render_frame()->GetWebFrame()->reload(false); |
| 302 } | 304 } |
| 303 | 305 |
| 304 void NetErrorHelper::LoadPageFromCache(const GURL& page_url) { | 306 void NetErrorHelper::LoadPageFromCache(const GURL& page_url) { |
| 305 blink::WebFrame* web_frame = render_frame()->GetWebFrame(); | 307 blink::WebFrame* web_frame = render_frame()->GetWebFrame(); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 341 success ? data : "", | 343 success ? data : "", |
| 342 render_frame()->GetRenderView()->GetAcceptLanguages(), | 344 render_frame()->GetRenderView()->GetAcceptLanguages(), |
| 343 base::i18n::IsRTL()); | 345 base::i18n::IsRTL()); |
| 344 } | 346 } |
| 345 | 347 |
| 346 void NetErrorHelper::OnTrackingRequestComplete( | 348 void NetErrorHelper::OnTrackingRequestComplete( |
| 347 const blink::WebURLResponse& response, | 349 const blink::WebURLResponse& response, |
| 348 const std::string& data) { | 350 const std::string& data) { |
| 349 tracking_fetcher_.reset(); | 351 tracking_fetcher_.reset(); |
| 350 } | 352 } |
| OLD | NEW |