#ifndef IOS_WEB_BROWSER_URL_REWRITER_IMPL_H_
#define IOS_WEB_BROWSER_URL_REWRITER_IMPL_H_
#include <vector>
#include "base/no_destructor.h"
#include "ios/web/public/navigation/browser_url_rewriter.h"
class GURL;
namespace web {
class BrowserURLRewriterImpl : public BrowserURLRewriter {
public:
static BrowserURLRewriterImpl* GetInstance();
BrowserURLRewriterImpl(const BrowserURLRewriterImpl&) = delete;
BrowserURLRewriterImpl& operator=(const BrowserURLRewriterImpl&) = delete;
bool RewriteURLIfNecessary(GURL* url, BrowserState* browser_state) override;
void AddURLRewriter(URLRewriter rewriter) override;
private:
BrowserURLRewriterImpl();
~BrowserURLRewriterImpl() override;
friend class base::NoDestructor<BrowserURLRewriterImpl>;
std::vector<URLRewriter> url_rewriters_;
};
}
#endif