| 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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 using error_page::DnsProbeStatusToString; | 50 using error_page::DnsProbeStatusToString; |
| 51 using error_page::ErrorPageParams; | 51 using error_page::ErrorPageParams; |
| 52 using error_page::NetErrorHelperCore; | 52 using error_page::NetErrorHelperCore; |
| 53 | 53 |
| 54 namespace { | 54 namespace { |
| 55 | 55 |
| 56 // Number of seconds to wait for the navigation correction service to return | 56 // Number of seconds to wait for the navigation correction service to return |
| 57 // suggestions. If it takes too long, just use the local error page. | 57 // suggestions. If it takes too long, just use the local error page. |
| 58 const int kNavigationCorrectionFetchTimeoutSec = 3; | 58 const int kNavigationCorrectionFetchTimeoutSec = 3; |
| 59 | 59 |
| 60 NetErrorHelperCore::PageType GetLoadingPageType(const blink::WebFrame* frame) { | 60 NetErrorHelperCore::PageType GetLoadingPageType( |
| 61 GURL url = frame->provisionalDataSource()->request().url(); | 61 const blink::WebDataSource* datasource) { |
| 62 GURL url = datasource->request().url(); |
| 62 if (!url.is_valid() || url.spec() != kUnreachableWebDataURL) | 63 if (!url.is_valid() || url.spec() != kUnreachableWebDataURL) |
| 63 return NetErrorHelperCore::NON_ERROR_PAGE; | 64 return NetErrorHelperCore::NON_ERROR_PAGE; |
| 64 return NetErrorHelperCore::ERROR_PAGE; | 65 return NetErrorHelperCore::ERROR_PAGE; |
| 65 } | 66 } |
| 66 | 67 |
| 67 NetErrorHelperCore::FrameType GetFrameType(const blink::WebFrame* frame) { | 68 NetErrorHelperCore::FrameType GetFrameType(const blink::WebFrame* frame) { |
| 68 if (!frame->parent()) | 69 if (!frame->parent()) |
| 69 return NetErrorHelperCore::MAIN_FRAME; | 70 return NetErrorHelperCore::MAIN_FRAME; |
| 70 return NetErrorHelperCore::SUB_FRAME; | 71 return NetErrorHelperCore::SUB_FRAME; |
| 71 } | 72 } |
| (...skipping 22 matching lines...) Expand all Loading... |
| 94 | 95 |
| 95 void NetErrorHelper::ButtonPressed( | 96 void NetErrorHelper::ButtonPressed( |
| 96 error_page::NetErrorHelperCore::Button button) { | 97 error_page::NetErrorHelperCore::Button button) { |
| 97 core_->ExecuteButtonPress(button); | 98 core_->ExecuteButtonPress(button); |
| 98 } | 99 } |
| 99 | 100 |
| 100 void NetErrorHelper::TrackClick(int tracking_id) { | 101 void NetErrorHelper::TrackClick(int tracking_id) { |
| 101 core_->TrackClick(tracking_id); | 102 core_->TrackClick(tracking_id); |
| 102 } | 103 } |
| 103 | 104 |
| 104 void NetErrorHelper::DidStartProvisionalLoad() { | 105 void NetErrorHelper::DidStartProvisionalLoad(blink::WebDataSource* datasource) { |
| 105 blink::WebFrame* frame = render_frame()->GetWebFrame(); | 106 blink::WebFrame* frame = render_frame()->GetWebFrame(); |
| 106 core_->OnStartLoad(GetFrameType(frame), GetLoadingPageType(frame)); | 107 core_->OnStartLoad(GetFrameType(frame), GetLoadingPageType(datasource)); |
| 107 } | 108 } |
| 108 | 109 |
| 109 void NetErrorHelper::DidCommitProvisionalLoad(bool is_new_navigation, | 110 void NetErrorHelper::DidCommitProvisionalLoad(bool is_new_navigation, |
| 110 bool is_same_page_navigation) { | 111 bool is_same_page_navigation) { |
| 111 // Invalidate weak pointers from old error page controllers. If loading a new | 112 // Invalidate weak pointers from old error page controllers. If loading a new |
| 112 // error page, the controller has not yet been attached, so this won't affect | 113 // error page, the controller has not yet been attached, so this won't affect |
| 113 // it. | 114 // it. |
| 114 weak_controller_delegate_factory_.InvalidateWeakPtrs(); | 115 weak_controller_delegate_factory_.InvalidateWeakPtrs(); |
| 115 | 116 |
| 116 blink::WebFrame* frame = render_frame()->GetWebFrame(); | 117 blink::WebFrame* frame = render_frame()->GetWebFrame(); |
| (...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 358 success ? data : "", | 359 success ? data : "", |
| 359 render_frame()->GetRenderView()->GetAcceptLanguages(), | 360 render_frame()->GetRenderView()->GetAcceptLanguages(), |
| 360 base::i18n::IsRTL()); | 361 base::i18n::IsRTL()); |
| 361 } | 362 } |
| 362 | 363 |
| 363 void NetErrorHelper::OnTrackingRequestComplete( | 364 void NetErrorHelper::OnTrackingRequestComplete( |
| 364 const blink::WebURLResponse& response, | 365 const blink::WebURLResponse& response, |
| 365 const std::string& data) { | 366 const std::string& data) { |
| 366 tracking_fetcher_.reset(); | 367 tracking_fetcher_.reset(); |
| 367 } | 368 } |
| OLD | NEW |