diff options
author | jcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-23 21:05:34 +0000 |
---|---|---|
committer | jcampan@chromium.org <jcampan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-23 21:05:34 +0000 |
commit | 1b277e7f6d171b9cb2383f925373ffedcd3e4672 (patch) | |
tree | 931b42af6d84753cb1d24c1eec80e913f104c625 /chrome/browser/tab_contents/interstitial_page.h | |
parent | deb17b8d4fc8ef1bc2222bbb83414d6983fd7d02 (diff) | |
download | chromium_src-1b277e7f6d171b9cb2383f925373ffedcd3e4672.zip chromium_src-1b277e7f6d171b9cb2383f925373ffedcd3e4672.tar.gz chromium_src-1b277e7f6d171b9cb2383f925373ffedcd3e4672.tar.bz2 |
This CL makes the safe browsing interstitial page support multiple unsafe resources in one page.
We had a bug when an interstitial was showing and another unsafe resource was detected. We would show another interstitial on top of the original one, causing the DontProceed method to be invoked several times. That would cause us to remove more than once an entry from the navigation controller and cause crashers.
With this new CL, if an interstitial shows and a new resource is flagged as bad, the SafeBrowsingBlockingPage will queue that notification. If the user decides to proceed through the interstitial, we'll create another interstitial warning about all the unsafe resources we have received so far.
This CL also contains a fix for a crasher that would happen when closing a tab with a safe browsing interstitial.
BUG=5916,6207,6306
TEST=Test all actions in the interstitial you get when opening pages with the followin scenarios:
- Main page is malware
- Main page is fishing
- Main page is OK contains resources (images,iframes...) which are malware
- Main page is OK contains resources (images,iframes...) which are phishing
- Main page is OK contains resources (images,iframes...) some of them phishing, some of then malware.
Note that when there are more than one bad resource, it is normal to see a 1st interstitial, then another one listing all the other bad resources.
(ex of malware site http://ianfette.org, phishing site http://cvisit.tripod.com)
Review URL: http://codereview.chromium.org/18346
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8578 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/tab_contents/interstitial_page.h')
-rw-r--r-- | chrome/browser/tab_contents/interstitial_page.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/chrome/browser/tab_contents/interstitial_page.h b/chrome/browser/tab_contents/interstitial_page.h index 755ec65..eb18b60 100644 --- a/chrome/browser/tab_contents/interstitial_page.h +++ b/chrome/browser/tab_contents/interstitial_page.h @@ -150,10 +150,18 @@ class InterstitialPage : public NotificationObserver, // The RenderViewHost displaying the interstitial contents. RenderViewHost* render_view_host_; + // The IDs for the RenderViewHost hidden by this interstitial. + int original_rvh_process_id_; + int original_rvh_id_; + // Whether or not we should change the title of the tab when hidden (to revert // it to its original value). bool should_revert_tab_title_; + // Whether the ResourceDispatcherHost has been notified to cancel/resume the + // resource requests blocked for the RenderViewHost. + bool resource_dispatcher_host_notified_; + // The original title of the tab that should be reverted to when the // interstitial is hidden. std::wstring original_tab_title_; |