| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 "content/renderer/render_view_impl.h" | 5 #include "content/renderer/render_view_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 #include <string> | 9 #include <string> |
| 10 #include <vector> | 10 #include <vector> |
| (...skipping 1234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1245 } | 1245 } |
| 1246 | 1246 |
| 1247 // WebViewDelegate ------------------------------------------------------------ | 1247 // WebViewDelegate ------------------------------------------------------------ |
| 1248 | 1248 |
| 1249 void RenderViewImpl::LoadNavigationErrorPage( | 1249 void RenderViewImpl::LoadNavigationErrorPage( |
| 1250 WebFrame* frame, | 1250 WebFrame* frame, |
| 1251 const WebURLRequest& failed_request, | 1251 const WebURLRequest& failed_request, |
| 1252 const WebURLError& error, | 1252 const WebURLError& error, |
| 1253 const std::string& html, | 1253 const std::string& html, |
| 1254 bool replace) { | 1254 bool replace) { |
| 1255 std::string alt_html = !html.empty() ? html : | 1255 std::string alt_html; |
| 1256 content::GetContentClient()->renderer()->GetNavigationErrorHtml( | 1256 const std::string* error_html; |
| 1257 failed_request, error); | 1257 |
| 1258 frame->loadHTMLString(alt_html, | 1258 if (!html.empty()) { |
| 1259 error_html = &html; |
| 1260 } else { |
| 1261 content::GetContentClient()->renderer()->GetNavigationErrorStrings( |
| 1262 failed_request, error, &alt_html, NULL); |
| 1263 error_html = &alt_html; |
| 1264 } |
| 1265 |
| 1266 frame->loadHTMLString(*error_html, |
| 1259 GURL(chrome::kUnreachableWebDataURL), | 1267 GURL(chrome::kUnreachableWebDataURL), |
| 1260 error.unreachableURL, | 1268 error.unreachableURL, |
| 1261 replace); | 1269 replace); |
| 1262 } | 1270 } |
| 1263 | 1271 |
| 1264 bool RenderViewImpl::RunJavaScriptMessage(int type, | 1272 bool RenderViewImpl::RunJavaScriptMessage(int type, |
| 1265 const string16& message, | 1273 const string16& message, |
| 1266 const string16& default_value, | 1274 const string16& default_value, |
| 1267 const GURL& frame_url, | 1275 const GURL& frame_url, |
| 1268 string16* result) { | 1276 string16* result) { |
| (...skipping 1076 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2345 DCHECK(ds); | 2353 DCHECK(ds); |
| 2346 | 2354 |
| 2347 const WebURLRequest& failed_request = ds->request(); | 2355 const WebURLRequest& failed_request = ds->request(); |
| 2348 | 2356 |
| 2349 FOR_EACH_OBSERVER( | 2357 FOR_EACH_OBSERVER( |
| 2350 RenderViewObserver, observers_, DidFailProvisionalLoad(frame, error)); | 2358 RenderViewObserver, observers_, DidFailProvisionalLoad(frame, error)); |
| 2351 | 2359 |
| 2352 bool show_repost_interstitial = | 2360 bool show_repost_interstitial = |
| 2353 (error.reason == net::ERR_CACHE_MISS && | 2361 (error.reason == net::ERR_CACHE_MISS && |
| 2354 EqualsASCII(failed_request.httpMethod(), "POST")); | 2362 EqualsASCII(failed_request.httpMethod(), "POST")); |
| 2363 |
| 2364 ViewHostMsg_DidFailProvisionalLoadWithError_Params params; |
| 2365 params.frame_id = frame->identifier(); |
| 2366 params.is_main_frame = !frame->parent(); |
| 2367 params.error_code = error.reason; |
| 2368 content::GetContentClient()->renderer()->GetNavigationErrorStrings( |
| 2369 failed_request, |
| 2370 error, |
| 2371 NULL, |
| 2372 ¶ms.error_description); |
| 2373 params.url = error.unreachableURL; |
| 2374 params.showing_repost_interstitial = show_repost_interstitial; |
| 2355 Send(new ViewHostMsg_DidFailProvisionalLoadWithError( | 2375 Send(new ViewHostMsg_DidFailProvisionalLoadWithError( |
| 2356 routing_id_, frame->identifier(), !frame->parent(), error.reason, | 2376 routing_id_, params)); |
| 2357 error.unreachableURL, show_repost_interstitial)); | |
| 2358 | 2377 |
| 2359 // Don't display an error page if this is simply a cancelled load. Aside | 2378 // Don't display an error page if this is simply a cancelled load. Aside |
| 2360 // from being dumb, WebCore doesn't expect it and it will cause a crash. | 2379 // from being dumb, WebCore doesn't expect it and it will cause a crash. |
| 2361 if (error.reason == net::ERR_ABORTED) | 2380 if (error.reason == net::ERR_ABORTED) |
| 2362 return; | 2381 return; |
| 2363 | 2382 |
| 2364 // Make sure we never show errors in view source mode. | 2383 // Make sure we never show errors in view source mode. |
| 2365 frame->enableViewSourceMode(false); | 2384 frame->enableViewSourceMode(false); |
| 2366 | 2385 |
| 2367 NavigationState* navigation_state = NavigationState::FromDataSource(ds); | 2386 NavigationState* navigation_state = NavigationState::FromDataSource(ds); |
| (...skipping 2191 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4559 pepper_delegate_.OnLockMouseACK(succeeded); | 4578 pepper_delegate_.OnLockMouseACK(succeeded); |
| 4560 } | 4579 } |
| 4561 | 4580 |
| 4562 void RenderViewImpl::OnMouseLockLost() { | 4581 void RenderViewImpl::OnMouseLockLost() { |
| 4563 pepper_delegate_.OnMouseLockLost(); | 4582 pepper_delegate_.OnMouseLockLost(); |
| 4564 } | 4583 } |
| 4565 | 4584 |
| 4566 bool RenderViewImpl::WebWidgetHandlesCompositorScheduling() const { | 4585 bool RenderViewImpl::WebWidgetHandlesCompositorScheduling() const { |
| 4567 return webview()->settings()->useThreadedCompositor(); | 4586 return webview()->settings()->useThreadedCompositor(); |
| 4568 } | 4587 } |
| OLD | NEW |