#ifndef CHROME_BROWSER_SUPERVISED_USER_SUPERVISED_USER_NAVIGATION_OBSERVER_H_
#define CHROME_BROWSER_SUPERVISED_USER_SUPERVISED_USER_NAVIGATION_OBSERVER_H_
#include <map>
#include <memory>
#include <set>
#include <vector>
#include "base/memory/raw_ptr.h"
#include "chrome/browser/supervised_user/supervised_user_navigation_throttle.h"
#include "chrome/common/supervised_user_commands.mojom.h"
#include "components/sessions/core/serialized_navigation_entry.h"
#include "components/supervised_user/core/browser/supervised_user_error_page.h"
#include "components/supervised_user/core/browser/supervised_user_service_observer.h"
#include "components/supervised_user/core/browser/supervised_user_url_filter.h"
#include "components/supervised_user/core/browser/supervised_user_utils.h"
#include "components/supervised_user/core/common/supervised_users.h"
#include "content/public/browser/render_frame_host_receiver_set.h"
#include "content/public/browser/web_contents_observer.h"
#include "content/public/browser/web_contents_user_data.h"
namespace supervised_user {
class SupervisedUserService;
class SupervisedUserInterstitial;
}
namespace content {
class NavigationHandle;
class RenderFrameHost;
class WebContents;
}
OnInterstitialResultCallback;
class SupervisedUserNavigationObserver
: public content::WebContentsUserData<SupervisedUserNavigationObserver>,
public content::WebContentsObserver,
public SupervisedUserServiceObserver,
public supervised_user::mojom::SupervisedUserCommands { … };
#endif