#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/browser_process.h"
#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/translate/translate_manager.h"
+#include "chrome/browser/translate/translate_service.h"
#include "chrome/browser/translate/translate_tab_helper.h"
-#include "chrome/browser/translate/translate_ui_delegate.h"
+#include "chrome/browser/ui/chrome_pages.h"
#include "chrome/browser/ui/translate/translate_bubble_model_impl.h"
#include "chrome/common/url_constants.h"
#include "components/translate/core/browser/translate_download_manager.h"
+#include "components/translate/core/browser/translate_manager.h"
+#include "components/translate/core/browser/translate_ui_delegate.h"
#include "content/public/browser/web_contents.h"
#include "grit/generated_resources.h"
#include "ui/base/l10n/l10n_util.h"
return link;
}
-void GetTranslateLanguages(content::WebContents* web_contents,
- std::string* source,
- std::string* target) {
- DCHECK(source != NULL);
- DCHECK(target != NULL);
-
- TranslateTabHelper* translate_tab_helper =
- TranslateTabHelper::FromWebContents(web_contents);
- *source = translate_tab_helper->GetLanguageState().original_language();
- *source = TranslateDownloadManager::GetLanguageCode(*source);
-
- Profile* profile =
- Profile::FromBrowserContext(web_contents->GetBrowserContext());
- Profile* original_profile = profile->GetOriginalProfile();
- PrefService* prefs = original_profile->GetPrefs();
- if (!web_contents->GetBrowserContext()->IsOffTheRecord()) {
- std::string auto_translate_language =
- TranslateManager::GetAutoTargetLanguage(*source, prefs);
- if (!auto_translate_language.empty()) {
- *target = auto_translate_language;
- return;
- }
- }
- *target = TranslateManager::GetTargetLanguage(prefs);
-}
-
class TranslateDenialComboboxModel : public ui::ComboboxModel {
public:
enum {
// static
void TranslateBubbleView::ShowBubble(views::View* anchor_view,
content::WebContents* web_contents,
- TranslateTabHelper::TranslateStep step,
+ translate::TranslateStep step,
TranslateErrors::Type error_type) {
if (IsShowing()) {
// When the user reads the advanced setting panel, the bubble should not be
TranslateBubbleModel::VIEW_STATE_ADVANCED) {
return;
}
- if (step != TranslateTabHelper::TRANSLATE_ERROR) {
+ if (step != translate::TRANSLATE_STEP_TRANSLATE_ERROR) {
TranslateBubbleModel::ViewState state =
TranslateBubbleModelImpl::TranslateStepToViewState(step);
translate_bubble_view_->SwitchView(state);
std::string source_language;
std::string target_language;
- GetTranslateLanguages(web_contents, &source_language, &target_language);
-
- scoped_ptr<TranslateUIDelegate> ui_delegate(
- new TranslateUIDelegate(web_contents, source_language, target_language));
+ TranslateTabHelper::GetTranslateLanguages(web_contents,
+ &source_language, &target_language);
+
+ scoped_ptr<TranslateUIDelegate> ui_delegate(new TranslateUIDelegate(
+ TranslateTabHelper::FromWebContents(web_contents),
+ TranslateTabHelper::GetManagerFromWebContents(web_contents),
+ source_language,
+ target_language));
scoped_ptr<TranslateBubbleModel> model(
new TranslateBubbleModelImpl(step, ui_delegate.Pass()));
TranslateBubbleView* view = new TranslateBubbleView(anchor_view,
HandleLinkClicked(static_cast<LinkID>(source->id()));
}
-void TranslateBubbleView::WebContentsDestroyed(
- content::WebContents* web_contents) {
+void TranslateBubbleView::WebContentsDestroyed() {
GetWidget()->CloseNow();
}
}
case BUTTON_ID_SHOW_ORIGINAL: {
model_->RevertTranslation();
- StartFade(false);
+ GetWidget()->Close();
break;
}
case BUTTON_ID_ALWAYS_TRANSLATE: {
break;
}
case LINK_ID_LANGUAGE_SETTINGS: {
- std::string url = std::string(chrome::kChromeUISettingsURL) +
- chrome::kLanguageOptionsSubPage;
+ GURL url = chrome::GetSettingsUrl(chrome::kLanguageOptionsSubPage);
web_contents()->OpenURL(content::OpenURLParams(
- GURL(url),
+ url,
content::Referrer(),
NEW_FOREGROUND_TAB,
content::PAGE_TRANSITION_LINK,
NOTREACHED();
break;
}
- StartFade(false);
+ GetWidget()->Close();
break;
}
case COMBOBOX_ID_SOURCE_LANGUAGE: {