Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(262)

Side by Side Diff: chrome/renderer/chrome_content_renderer_client.cc

Issue 136203009: Support auto-reload on errors. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: Add experiment Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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/renderer/chrome_content_renderer_client.h" 5 #include "chrome/renderer/chrome_content_renderer_client.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/debug/crash_logging.h" 8 #include "base/debug/crash_logging.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after
344 // requests. 344 // requests.
345 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_resource_scheme); 345 WebSecurityPolicy::registerURLSchemeAsCORSEnabled(extension_resource_scheme);
346 346
347 // chrome-extension: resources should bypass Content Security Policy checks 347 // chrome-extension: resources should bypass Content Security Policy checks
348 // when included in protected resources. 348 // when included in protected resources.
349 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( 349 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy(
350 extension_scheme); 350 extension_scheme);
351 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy( 351 WebSecurityPolicy::registerURLSchemeAsBypassingContentSecurityPolicy(
352 extension_resource_scheme); 352 extension_resource_scheme);
353 353
354 auto_reload_enabled_ =
355 command_line->HasSwitch(switches::kEnableOfflineAutoReload);
356 LOG(ERROR) << "CCRC: auto_reload_enabled_ = " << auto_reload_enabled_;
357
354 extensions::ExtensionsClient::Set( 358 extensions::ExtensionsClient::Set(
355 extensions::ChromeExtensionsClient::GetInstance()); 359 extensions::ChromeExtensionsClient::GetInstance());
356 } 360 }
357 361
358 void ChromeContentRendererClient::RenderFrameCreated( 362 void ChromeContentRendererClient::RenderFrameCreated(
359 content::RenderFrame* render_frame) { 363 content::RenderFrame* render_frame) {
360 new ChromeRenderFrameObserver(render_frame); 364 new ChromeRenderFrameObserver(render_frame);
361 365
362 ContentSettingsObserver* content_settings = 366 ContentSettingsObserver* content_settings =
363 new ContentSettingsObserver(render_frame, extension_dispatcher_.get()); 367 new ContentSettingsObserver(render_frame, extension_dispatcher_.get());
(...skipping 15 matching lines...) Expand all
379 // they're prerendering. 383 // they're prerendering.
380 if (prerender::PrerenderHelper::IsPrerendering( 384 if (prerender::PrerenderHelper::IsPrerendering(
381 render_frame->GetRenderView()->GetMainRenderFrame())) { 385 render_frame->GetRenderView()->GetMainRenderFrame())) {
382 new prerender::PrerenderHelper(render_frame); 386 new prerender::PrerenderHelper(render_frame);
383 } 387 }
384 } 388 }
385 389
386 if (render_frame->GetRenderView()->GetMainRenderFrame() == render_frame) { 390 if (render_frame->GetRenderView()->GetMainRenderFrame() == render_frame) {
387 // Only attach NetErrorHelper to the main frame, since only the main frame 391 // Only attach NetErrorHelper to the main frame, since only the main frame
388 // should get error pages. 392 // should get error pages.
389 new NetErrorHelper(render_frame); 393 main_frame_net_error_helper_ = new NetErrorHelper(render_frame,
394 auto_reload_enabled_);
390 } 395 }
391 } 396 }
392 397
393 void ChromeContentRendererClient::RenderViewCreated( 398 void ChromeContentRendererClient::RenderViewCreated(
394 content::RenderView* render_view) { 399 content::RenderView* render_view) {
395 new extensions::ExtensionHelper(render_view, extension_dispatcher_.get()); 400 new extensions::ExtensionHelper(render_view, extension_dispatcher_.get());
396 new PageLoadHistograms(render_view); 401 new PageLoadHistograms(render_view);
397 #if defined(ENABLE_PRINTING) 402 #if defined(ENABLE_PRINTING)
398 new printing::PrintWebViewHelper(render_view); 403 new printing::PrintWebViewHelper(render_view);
399 #endif 404 #endif
(...skipping 561 matching lines...) Expand 10 before | Expand all | Expand 10 after
961 return false; 966 return false;
962 } 967 }
963 968
964 *error_domain = LocalizedError::kHttpErrorDomain; 969 *error_domain = LocalizedError::kHttpErrorDomain;
965 return true; 970 return true;
966 } 971 }
967 972
968 bool ChromeContentRendererClient::ShouldSuppressErrorPage( 973 bool ChromeContentRendererClient::ShouldSuppressErrorPage(
969 content::RenderFrame* render_frame, 974 content::RenderFrame* render_frame,
970 const GURL& url) { 975 const GURL& url) {
976 if (render_frame->GetRenderView()->GetMainRenderFrame() == render_frame
977 && main_frame_net_error_helper_->ShouldSuppressErrorPage(url))
978 return true;
mmenke 2014/02/25 22:09:52 This isn't right. There's only one ContentRendere
Randy Smith (Not in Mondays) 2014/02/26 00:07:38 +1.
Elly Fong-Jones 2014/03/03 19:31:07 Done.
Elly Fong-Jones 2014/03/03 19:31:07 Done.
971 // Do not flash an error page if the Instant new tab page fails to load. 979 // Do not flash an error page if the Instant new tab page fails to load.
972 return search_bouncer_.get() && search_bouncer_->IsNewTabPage(url); 980 return search_bouncer_.get() && search_bouncer_->IsNewTabPage(url);
973 } 981 }
974 982
975 void ChromeContentRendererClient::GetNavigationErrorStrings( 983 void ChromeContentRendererClient::GetNavigationErrorStrings(
976 content::RenderView* render_view, 984 content::RenderView* render_view,
977 blink::WebFrame* frame, 985 blink::WebFrame* frame,
978 const blink::WebURLRequest& failed_request, 986 const blink::WebURLRequest& failed_request,
979 const blink::WebURLError& error, 987 const blink::WebURLError& error,
980 std::string* error_html, 988 std::string* error_html,
(...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after
1417 CommandLine* command_line = CommandLine::ForCurrentProcess(); 1425 CommandLine* command_line = CommandLine::ForCurrentProcess();
1418 return !command_line->HasSwitch(extensions::switches::kExtensionProcess); 1426 return !command_line->HasSwitch(extensions::switches::kExtensionProcess);
1419 } 1427 }
1420 1428
1421 blink::WebWorkerPermissionClientProxy* 1429 blink::WebWorkerPermissionClientProxy*
1422 ChromeContentRendererClient::CreateWorkerPermissionClientProxy( 1430 ChromeContentRendererClient::CreateWorkerPermissionClientProxy(
1423 content::RenderFrame* render_frame, 1431 content::RenderFrame* render_frame,
1424 blink::WebFrame* frame) { 1432 blink::WebFrame* frame) {
1425 return new WorkerPermissionClientProxy(render_frame, frame); 1433 return new WorkerPermissionClientProxy(render_frame, frame);
1426 } 1434 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698