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

Unified Diff: chrome/browser/managed_mode/managed_mode_resource_throttle.h

Issue 11299035: Support manual (white|black)list, previewing and allowing after interstitial (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Minor changes Created 7 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
Index: chrome/browser/managed_mode/managed_mode_resource_throttle.h
diff --git a/chrome/browser/managed_mode/managed_mode_resource_throttle.h b/chrome/browser/managed_mode/managed_mode_resource_throttle.h
index acefa966d4fa067c95992bf09c5d8f1f1a5d01c6..1a33e665c03a7c0c7d17e04fea034356b8c824fb 100644
--- a/chrome/browser/managed_mode/managed_mode_resource_throttle.h
+++ b/chrome/browser/managed_mode/managed_mode_resource_throttle.h
@@ -15,8 +15,6 @@ namespace net {
class URLRequest;
}
-// This class temporarily blocks network requests that aren't whitelisted,
-// and allows resuming them later.
class ManagedModeResourceThrottle : public content::ResourceThrottle {
public:
ManagedModeResourceThrottle(const net::URLRequest* request,
@@ -25,10 +23,27 @@ class ManagedModeResourceThrottle : public content::ResourceThrottle {
bool is_main_frame);
virtual ~ManagedModeResourceThrottle();
+ // Adds/removes a temporary exception to filtering for a
+ // render_process_host_id and render_view_id pair (which identify a tab)
+ // to the preview map. Adding saves the last approved hostname in the map,
+ // which is then used to allow the user to browse on that hostname without
+ // getting an interstitial. See managed_mode_resource_throttle.cc for more
+ // details on the preview map.
+ static void AddTemporaryException(int render_process_host_id,
+ int render_view_id,
+ const GURL& url);
+ static void RemoveTemporaryException(int render_process_host_id,
+ int render_view_id);
+
// content::ResourceThrottle implementation:
virtual void WillStartRequest(bool* defer) OVERRIDE;
+ virtual void WillRedirectRequest(const GURL& new_url, bool* defer) OVERRIDE;
+
private:
+ void ShowInterstitialIfNeeded(bool is_redirect,
+ const GURL& url,
+ bool* defer);
void OnInterstitialResult(bool continue_request);
base::WeakPtrFactory<ManagedModeResourceThrottle> weak_ptr_factory_;
@@ -36,6 +51,7 @@ class ManagedModeResourceThrottle : public content::ResourceThrottle {
int render_process_host_id_;
int render_view_id_;
bool is_main_frame_;
+ bool temporarily_allowed_;
const ManagedModeURLFilter* url_filter_;
DISALLOW_COPY_AND_ASSIGN(ManagedModeResourceThrottle);

Powered by Google App Engine
This is Rietveld 408576698