#ifndef CHROME_BROWSER_DEV_UI_ANDROID_DEV_UI_LOADER_THROTTLE_H_
#define CHROME_BROWSER_DEV_UI_ANDROID_DEV_UI_LOADER_THROTTLE_H_
#include "base/memory/weak_ptr.h"
#include "content/public/browser/navigation_throttle.h"
class GURL;
namespace dev_ui {
class DevUiLoaderThrottle : public content::NavigationThrottle {
public:
static bool ShouldInstallDevUiDfm(const GURL& url);
static void MaybeCreateAndAdd(content::NavigationThrottleRegistry& registry);
explicit DevUiLoaderThrottle(content::NavigationThrottleRegistry& registry);
~DevUiLoaderThrottle() override;
DevUiLoaderThrottle(const DevUiLoaderThrottle&) = delete;
const DevUiLoaderThrottle& operator=(const DevUiLoaderThrottle&) = delete;
const char* GetNameForLogging() override;
ThrottleCheckResult WillStartRequest() override;
private:
void OnDevUiDfmInstallWithStatus(bool success);
base::WeakPtrFactory<DevUiLoaderThrottle> weak_ptr_factory_{this};
};
}
#endif