#ifndef IOS_CHROME_BROWSER_PRERENDER_FAKE_PRERENDER_SERVICE_H_
#define IOS_CHROME_BROWSER_PRERENDER_FAKE_PRERENDER_SERVICE_H_
#import "ios/chrome/browser/prerender/prerender_service.h"
class FakePrerenderService : public PrerenderService {
public:
FakePrerenderService();
~FakePrerenderService() override;
void set_prerender_web_state(web::WebState* web_state) {
prerender_web_state_ = web_state;
}
private:
void SetDelegate(id<PreloadControllerDelegate> delegate) override;
void StartPrerender(const GURL& url,
const web::Referrer& referrer,
ui::PageTransition transition,
web::WebState* web_state_to_replace,
bool immediately) override;
bool MaybeLoadPrerenderedURL(const GURL& url,
ui::PageTransition transition,
Browser* browser) override;
bool IsLoadingPrerender() override;
void CancelPrerender() override;
bool HasPrerenderForUrl(const GURL& url) override;
bool IsWebStatePrerendered(web::WebState* web_state) override;
web::WebState* prerender_web_state_ = nullptr;
GURL preload_url_;
};
#endif