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

Side by Side Diff: chrome/browser/safe_browsing/safe_browsing_blocking_page.cc

Issue 368143002: Add a chrome://interstitials page. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Style fixes Created 6 years, 5 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 | Annotate | Revision Log
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 // Implementation of the SafeBrowsingBlockingPage class. 5 // Implementation of the SafeBrowsingBlockingPage class.
6 6
7 #include "chrome/browser/safe_browsing/safe_browsing_blocking_page.h" 7 #include "chrome/browser/safe_browsing/safe_browsing_blocking_page.h"
8 8
9 #include <string> 9 #include <string>
10 10
(...skipping 855 matching lines...) Expand 10 before | Expand all | Expand 10 after
866 ui_manager, unsafe_resources, proceed)); 866 ui_manager, unsafe_resources, proceed));
867 } 867 }
868 868
869 // static 869 // static
870 SafeBrowsingBlockingPage::UnsafeResourceMap* 870 SafeBrowsingBlockingPage::UnsafeResourceMap*
871 SafeBrowsingBlockingPage::GetUnsafeResourcesMap() { 871 SafeBrowsingBlockingPage::GetUnsafeResourcesMap() {
872 return g_unsafe_resource_map.Pointer(); 872 return g_unsafe_resource_map.Pointer();
873 } 873 }
874 874
875 // static 875 // static
876 SafeBrowsingBlockingPage* SafeBrowsingBlockingPage::CreateBlockingPage(
877 SafeBrowsingUIManager* ui_manager,
878 WebContents* web_contents,
879 const UnsafeResource& unsafe_resource) {
880 std::vector<UnsafeResource> resources;
881 resources.push_back(unsafe_resource);
882 // Set up the factory if this has not been done already (tests do that
883 // before this method is called).
884 if (!factory_)
885 factory_ = g_safe_browsing_blocking_page_factory_impl.Pointer();
886 return factory_->CreateSafeBrowsingPage(ui_manager, web_contents, resources);
887 }
888
889 // static
876 void SafeBrowsingBlockingPage::ShowBlockingPage( 890 void SafeBrowsingBlockingPage::ShowBlockingPage(
877 SafeBrowsingUIManager* ui_manager, 891 SafeBrowsingUIManager* ui_manager,
878 const UnsafeResource& unsafe_resource) { 892 const UnsafeResource& unsafe_resource) {
879 DVLOG(1) << __FUNCTION__ << " " << unsafe_resource.url.spec(); 893 DVLOG(1) << __FUNCTION__ << " " << unsafe_resource.url.spec();
880 WebContents* web_contents = tab_util::GetWebContentsByID( 894 WebContents* web_contents = tab_util::GetWebContentsByID(
881 unsafe_resource.render_process_host_id, unsafe_resource.render_view_id); 895 unsafe_resource.render_process_host_id, unsafe_resource.render_view_id);
882 896
883 InterstitialPage* interstitial = 897 InterstitialPage* interstitial =
884 InterstitialPage::GetInterstitialPage(web_contents); 898 InterstitialPage::GetInterstitialPage(web_contents);
885 if (interstitial && !unsafe_resource.is_subresource) { 899 if (interstitial && !unsafe_resource.is_subresource) {
886 // There is already an interstitial showing and we are about to display a 900 // There is already an interstitial showing and we are about to display a
887 // new one for the main frame. Just hide the current one, it is now 901 // new one for the main frame. Just hide the current one, it is now
888 // irrelevent 902 // irrelevent
889 interstitial->DontProceed(); 903 interstitial->DontProceed();
890 interstitial = NULL; 904 interstitial = NULL;
891 } 905 }
892 906
893 if (!interstitial) { 907 if (!interstitial) {
894 // There are no interstitial currently showing in that tab, go ahead and 908 // There are no interstitial currently showing in that tab, go ahead and
895 // show this interstitial. 909 // show this interstitial.
896 std::vector<UnsafeResource> resources;
897 resources.push_back(unsafe_resource);
898 // Set up the factory if this has not been done already (tests do that
899 // before this method is called).
900 if (!factory_)
901 factory_ = g_safe_browsing_blocking_page_factory_impl.Pointer();
902 SafeBrowsingBlockingPage* blocking_page = 910 SafeBrowsingBlockingPage* blocking_page =
903 factory_->CreateSafeBrowsingPage(ui_manager, web_contents, resources); 911 CreateBlockingPage(ui_manager, web_contents, unsafe_resource);
904 blocking_page->interstitial_page_->Show(); 912 blocking_page->interstitial_page_->Show();
905 return; 913 return;
906 } 914 }
907 915
908 // This is an interstitial for a page's resource, let's queue it. 916 // This is an interstitial for a page's resource, let's queue it.
909 UnsafeResourceMap* unsafe_resource_map = GetUnsafeResourcesMap(); 917 UnsafeResourceMap* unsafe_resource_map = GetUnsafeResourcesMap();
910 (*unsafe_resource_map)[web_contents].push_back(unsafe_resource); 918 (*unsafe_resource_map)[web_contents].push_back(unsafe_resource);
911 } 919 }
912 920
913 // static 921 // static
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after
1394 IDS_PHISHING_V3_PRIMARY_PARAGRAPH, 1402 IDS_PHISHING_V3_PRIMARY_PARAGRAPH,
1395 base::UTF8ToUTF16(url_.host()))); 1403 base::UTF8ToUTF16(url_.host())));
1396 load_time_data->SetString( 1404 load_time_data->SetString(
1397 "explanationParagraph", 1405 "explanationParagraph",
1398 l10n_util::GetStringFUTF16(IDS_PHISHING_V3_EXPLANATION_PARAGRAPH, 1406 l10n_util::GetStringFUTF16(IDS_PHISHING_V3_EXPLANATION_PARAGRAPH,
1399 base::UTF8ToUTF16(url_.host()))); 1407 base::UTF8ToUTF16(url_.host())));
1400 load_time_data->SetString( 1408 load_time_data->SetString(
1401 "finalParagraph", 1409 "finalParagraph",
1402 l10n_util::GetStringUTF16(IDS_PHISHING_V3_PROCEED_PARAGRAPH)); 1410 l10n_util::GetStringUTF16(IDS_PHISHING_V3_PROCEED_PARAGRAPH));
1403 } 1411 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698