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

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

Issue 2321503002: (Re-)introduce AncestorThrottle to handle 'X-Frame-Options'. (Closed)
Patch Set: Rebase after a month... Created 4 years, 1 month 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
« no previous file with comments | « no previous file | components/error_page/common/localized_error.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/command_line.h" 10 #include "base/command_line.h"
(...skipping 996 matching lines...) Expand 10 before | Expand all | Expand 10 after
1007 bool ChromeContentRendererClient::ShouldSuppressErrorPage( 1007 bool ChromeContentRendererClient::ShouldSuppressErrorPage(
1008 content::RenderFrame* render_frame, 1008 content::RenderFrame* render_frame,
1009 const GURL& url) { 1009 const GURL& url) {
1010 // Unit tests for ChromeContentRendererClient pass a NULL RenderFrame here. 1010 // Unit tests for ChromeContentRendererClient pass a NULL RenderFrame here.
1011 // Unfortunately it's very difficult to construct a mock RenderView, so skip 1011 // Unfortunately it's very difficult to construct a mock RenderView, so skip
1012 // this functionality in this case. 1012 // this functionality in this case.
1013 if (render_frame && 1013 if (render_frame &&
1014 NetErrorHelper::Get(render_frame)->ShouldSuppressErrorPage(url)) { 1014 NetErrorHelper::Get(render_frame)->ShouldSuppressErrorPage(url)) {
1015 return true; 1015 return true;
1016 } 1016 }
1017
1018 #if defined(ENABLE_EXTENSIONS)
1019 // Suppress error pages for the webstore when it's loaded in a frame. This
1020 // mitigates confusion which could arise from the fact that error pages commit
1021 // with the same URL as the failed load. Since pieces of the browser sometimes
1022 // rely on the last-committed URL as a permission check of sorts, and the
1023 // webstore is a special flower, this can cause problems that we can avoid by
1024 // simply suppressing the error page (see https://crbug.com/622385, for
1025 // example).
1026 GURL webstore_url(extension_urls::GetWebstoreLaunchURL());
1027 if (!render_frame->IsMainFrame() && url.SchemeIsHTTPOrHTTPS() &&
1028 url.DomainIs(webstore_url.host().c_str())) {
1029 return true;
1030 }
1031 #endif
1032
1017 // Do not flash an error page if the Instant new tab page fails to load. 1033 // Do not flash an error page if the Instant new tab page fails to load.
1018 return SearchBouncer::GetInstance()->IsNewTabPage(url); 1034 return SearchBouncer::GetInstance()->IsNewTabPage(url);
1019 } 1035 }
1020 1036
1021 void ChromeContentRendererClient::GetNavigationErrorStrings( 1037 void ChromeContentRendererClient::GetNavigationErrorStrings(
1022 content::RenderFrame* render_frame, 1038 content::RenderFrame* render_frame,
1023 const WebURLRequest& failed_request, 1039 const WebURLRequest& failed_request,
1024 const WebURLError& error, 1040 const WebURLError& error,
1025 std::string* error_html, 1041 std::string* error_html,
1026 base::string16* error_description) { 1042 base::string16* error_description) {
(...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after
1483 1499
1484 url::Replacements<char> r; 1500 url::Replacements<char> r;
1485 r.SetPath(path.c_str(), url::Component(0, path.length())); 1501 r.SetPath(path.c_str(), url::Component(0, path.length()));
1486 1502
1487 if (result == internal::NUM_PLUGIN_ERROR) 1503 if (result == internal::NUM_PLUGIN_ERROR)
1488 result = invalid_url ? internal::SUCCESS_PARAMS_REWRITE : internal::SUCCESS; 1504 result = invalid_url ? internal::SUCCESS_PARAMS_REWRITE : internal::SUCCESS;
1489 1505
1490 RecordYouTubeRewriteUMA(result); 1506 RecordYouTubeRewriteUMA(result);
1491 return corrected_url.ReplaceComponents(r); 1507 return corrected_url.ReplaceComponents(r);
1492 } 1508 }
OLDNEW
« no previous file with comments | « no previous file | components/error_page/common/localized_error.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698