| Index: chrome/browser/translate/translate_infobar_delegate.h
|
| ===================================================================
|
| --- chrome/browser/translate/translate_infobar_delegate.h (revision 239110)
|
| +++ chrome/browser/translate/translate_infobar_delegate.h (working copy)
|
| @@ -13,6 +13,7 @@
|
| #include "base/memory/scoped_ptr.h"
|
| #include "chrome/browser/infobars/infobar_delegate.h"
|
| #include "chrome/browser/translate/translate_prefs.h"
|
| +#include "chrome/browser/translate/translate_ui_delegate.h"
|
| #include "chrome/common/translate/translate_errors.h"
|
| #include "components/translate/common/translate_constants.h"
|
|
|
| @@ -25,8 +26,6 @@
|
| int never_translate_min_count;
|
| };
|
|
|
| -// NOTE: TranslateUIDelegate should be updated if this implementation is
|
| -// updated.
|
| class TranslateInfoBarDelegate : public InfoBarDelegate {
|
| public:
|
| // The different types of infobars that can be shown for translation.
|
| @@ -71,23 +70,16 @@
|
| const ShortcutConfiguration& shortcut_config);
|
|
|
| // Returns the number of languages supported.
|
| - size_t num_languages() const {
|
| + size_t num_languages() const { return ui_delegate_.GetNumberOfLanguages(); }
|
|
|
| - return languages_.size();
|
| - }
|
| -
|
| // Returns the ISO code for the language at |index|.
|
| std::string language_code_at(size_t index) const {
|
| - DCHECK_LT(index, num_languages());
|
| - return languages_[index].first;
|
| + return ui_delegate_.GetLanguageCodeAt(index);
|
| }
|
|
|
| // Returns the displayable name for the language at |index|.
|
| string16 language_name_at(size_t index) const {
|
| - if (index == static_cast<size_t>(kNoIndex))
|
| - return string16();
|
| - DCHECK_LT(index, num_languages());
|
| - return languages_[index].second;
|
| + return ui_delegate_.GetLanguageNameAt(index);
|
| }
|
|
|
| Type infobar_type() const { return infobar_type_; }
|
| @@ -94,22 +86,22 @@
|
|
|
| TranslateErrors::Type error_type() const { return error_type_; }
|
|
|
| - size_t original_language_index() const { return original_language_index_; }
|
| -
|
| + size_t original_language_index() const {
|
| + return ui_delegate_.GetOriginalLanguageIndex();
|
| + }
|
| void UpdateOriginalLanguageIndex(size_t language_index);
|
|
|
| - size_t target_language_index() const { return target_language_index_; }
|
| -
|
| + size_t target_language_index() const {
|
| + return ui_delegate_.GetTargetLanguageIndex();
|
| + }
|
| void UpdateTargetLanguageIndex(size_t language_index);
|
|
|
| // Convenience methods.
|
| std::string original_language_code() const {
|
| - return (original_language_index() == static_cast<size_t>(kNoIndex)) ?
|
| - translate::kUnknownLanguageCode :
|
| - language_code_at(original_language_index());
|
| + return ui_delegate_.GetOriginalLanguageCode();
|
| }
|
| std::string target_language_code() const {
|
| - return language_code_at(target_language_index());
|
| + return ui_delegate_.GetTargetLanguageCode();
|
| }
|
|
|
| // Returns true if the current infobar indicates an error (in which case it
|
| @@ -180,7 +172,8 @@
|
| bool autodetermined_source_language);
|
|
|
| protected:
|
| - TranslateInfoBarDelegate(Type infobar_type,
|
| + TranslateInfoBarDelegate(content::WebContents* web_contents,
|
| + Type infobar_type,
|
| TranslateInfoBarDelegate* old_delegate,
|
| const std::string& original_language,
|
| const std::string& target_language,
|
| @@ -210,15 +203,8 @@
|
| // infobar.
|
| BackgroundAnimationType background_animation_;
|
|
|
| - // The list of the languages supported for translation.
|
| - std::vector<LanguageNamePair> languages_;
|
| + TranslateUIDelegate ui_delegate_;
|
|
|
| - // The index of the webpage's original language.
|
| - size_t original_language_index_;
|
| -
|
| - // The index of the language the webpage will be translated into.
|
| - size_t target_language_index_;
|
| -
|
| // The error that occurred when trying to translate (NONE if no error).
|
| TranslateErrors::Type error_type_;
|
|
|
|
|