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

Side by Side Diff: chrome/browser/supervised_user/supervised_user_navigation_observer.h

Issue 2845053002: Avoid showing the supervised user block interstitial more than once (Closed)
Patch Set: comment Created 3 years, 7 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #ifndef CHROME_BROWSER_SUPERVISED_USER_SUPERVISED_USER_NAVIGATION_OBSERVER_H_ 5 #ifndef CHROME_BROWSER_SUPERVISED_USER_SUPERVISED_USER_NAVIGATION_OBSERVER_H_
6 #define CHROME_BROWSER_SUPERVISED_USER_SUPERVISED_USER_NAVIGATION_OBSERVER_H_ 6 #define CHROME_BROWSER_SUPERVISED_USER_SUPERVISED_USER_NAVIGATION_OBSERVER_H_
7 7
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/macros.h" 10 #include "base/macros.h"
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 content::NavigationHandle* navigation_handle) override; 47 content::NavigationHandle* navigation_handle) override;
48 48
49 // SupervisedUserServiceObserver implementation. 49 // SupervisedUserServiceObserver implementation.
50 void OnURLFilterChanged() override; 50 void OnURLFilterChanged() override;
51 51
52 private: 52 private:
53 friend class content::WebContentsUserData<SupervisedUserNavigationObserver>; 53 friend class content::WebContentsUserData<SupervisedUserNavigationObserver>;
54 54
55 explicit SupervisedUserNavigationObserver(content::WebContents* web_contents); 55 explicit SupervisedUserNavigationObserver(content::WebContents* web_contents);
56 56
57 void OnRequestBlockedInternal(const GURL& url); 57 void OnRequestBlockedInternal(
58 const GURL& url,
59 supervised_user_error_page::FilteringBehaviorReason reason,
60 const base::Callback<void(bool)>& callback);
58 61
59 void URLFilterCheckCallback( 62 void URLFilterCheckCallback(
60 const GURL& url, 63 const GURL& url,
61 SupervisedUserURLFilter::FilteringBehavior behavior, 64 SupervisedUserURLFilter::FilteringBehavior behavior,
62 supervised_user_error_page::FilteringBehaviorReason reason, 65 supervised_user_error_page::FilteringBehaviorReason reason,
63 bool uncertain); 66 bool uncertain);
64 67
68 void MaybeShowInterstitial(
69 const GURL& url,
70 supervised_user_error_page::FilteringBehaviorReason reason,
71 bool initial_page_load,
72 const base::Callback<void(bool)>& callback);
73
74 void OnInterstitialResult(const base::Callback<void(bool)>& callback,
75 bool result);
76
65 // Owned by SupervisedUserService. 77 // Owned by SupervisedUserService.
66 const SupervisedUserURLFilter* url_filter_; 78 const SupervisedUserURLFilter* url_filter_;
67 79
68 // Owned by SupervisedUserServiceFactory (lifetime of Profile). 80 // Owned by SupervisedUserServiceFactory (lifetime of Profile).
69 SupervisedUserService* supervised_user_service_; 81 SupervisedUserService* supervised_user_service_;
70 82
83 bool is_showing_interstitial_ = false;
84
71 std::vector<std::unique_ptr<const sessions::SerializedNavigationEntry>> 85 std::vector<std::unique_ptr<const sessions::SerializedNavigationEntry>>
72 blocked_navigations_; 86 blocked_navigations_;
73 87
74 base::WeakPtrFactory<SupervisedUserNavigationObserver> weak_ptr_factory_; 88 base::WeakPtrFactory<SupervisedUserNavigationObserver> weak_ptr_factory_;
75 89
76 DISALLOW_COPY_AND_ASSIGN(SupervisedUserNavigationObserver); 90 DISALLOW_COPY_AND_ASSIGN(SupervisedUserNavigationObserver);
77 }; 91 };
78 92
79 #endif // CHROME_BROWSER_SUPERVISED_USER_SUPERVISED_USER_NAVIGATION_OBSERVER_H_ 93 #endif // CHROME_BROWSER_SUPERVISED_USER_SUPERVISED_USER_NAVIGATION_OBSERVER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698