#ifndef CHROME_BROWSER_UI_TRANSLATE_TRANSLATE_BUBBLE_FACTORY_H_
#define CHROME_BROWSER_UI_TRANSLATE_TRANSLATE_BUBBLE_FACTORY_H_
#include "chrome/browser/translate/translate_tab_helper.h"
#include "chrome/browser/ui/translate/translate_bubble_model.h"
#include "components/translate/core/common/translate_errors.h"
class BrowserWindow;
namespace content {
class WebContents;
}
class TranslateBubbleFactory {
public:
virtual ~TranslateBubbleFactory();
static void Show(BrowserWindow* window,
content::WebContents* web_contents,
TranslateTabHelper::TranslateStep step,
TranslateErrors::Type error_type);
static void SetFactory(TranslateBubbleFactory* factory);
protected:
virtual void ShowImplementation(BrowserWindow* window,
content::WebContents* web_contents,
TranslateTabHelper::TranslateStep step,
TranslateErrors::Type error_type) = 0;
private:
static TranslateBubbleFactory* current_factory_;
};
#endif