#ifndef CHROME_BROWSER_DATA_SHARING_DATA_SHARING_NAVIGATION_THROTTLE_H_
#define CHROME_BROWSER_DATA_SHARING_DATA_SHARING_NAVIGATION_THROTTLE_H_
#include "base/memory/raw_ptr.h"
#include "components/collaboration/public/collaboration_service.h"
#include "content/public/browser/navigation_throttle.h"
namespace data_sharing {
class DataSharingNavigationThrottle : public content::NavigationThrottle {
public:
static void MaybeCreateAndAdd(
content::NavigationThrottleRegistry& registry);
explicit DataSharingNavigationThrottle(
content::NavigationThrottleRegistry& registry);
ThrottleCheckResult WillStartRequest() override;
ThrottleCheckResult WillRedirectRequest() override;
const char* GetNameForLogging() override;
void SetServiceForTesting(collaboration::CollaborationService* test_service);
private:
ThrottleCheckResult CheckIfShouldIntercept();
raw_ptr<collaboration::CollaborationService> test_service_;
};
}
#endif