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

Unified Diff: chrome/browser/interstitial_page.h

Issue 16546: Blocking resource request for hidden page when interstitial showing (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 11 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | chrome/browser/interstitial_page.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/interstitial_page.h
===================================================================
--- chrome/browser/interstitial_page.h (revision 7403)
+++ chrome/browser/interstitial_page.h (working copy)
@@ -26,6 +26,8 @@
// through a navigation, the WebContents closing them or the tab containing them
// being closed.
+enum ResourceRequestAction;
+
class InterstitialPage : public NotificationObserver,
public RenderViewHostDelegate {
public:
@@ -34,7 +36,7 @@
// case a temporary navigation entry is created with the URL |url| and
// added to the navigation controller (so the interstitial page appears as a
// new navigation entry). |new_navigation| should be false when the
- // interstitial was triggered by a loading a sub-resource in a page.
+ // interstitial was triggered by a loading a sub-resource in a page.
InterstitialPage(WebContents* tab, bool new_navigation, const GURL& url);
virtual ~InterstitialPage();
@@ -117,6 +119,11 @@
// - any command sent by the RenderViewHost will be ignored.
void Disable();
+ // Executes the passed action on the ResourceDispatcher (on the IO thread).
+ // Used to block/resume/cancel requests for the RenderViewHost hidden by this
+ // interstitial.
+ void TakeActionOnResourceDispatcher(ResourceRequestAction action);
+
// The tab in which we are displayed.
WebContents* tab_;
@@ -147,6 +154,8 @@
// interstitial is hidden.
std::wstring original_tab_title_;
+ MessageLoop* ui_loop_;
+
// We keep a map of the various blocking pages shown as the UI tests need to
// be able to retrieve them.
typedef std::map<WebContents*,InterstitialPage*> InterstitialPageMap;
« no previous file with comments | « no previous file | chrome/browser/interstitial_page.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698