diff options
Diffstat (limited to 'chrome/browser/encoding_menu_controller.cc')
-rw-r--r-- | chrome/browser/encoding_menu_controller.cc | 141 |
1 files changed, 0 insertions, 141 deletions
diff --git a/chrome/browser/encoding_menu_controller.cc b/chrome/browser/encoding_menu_controller.cc deleted file mode 100644 index 7d3a89e..0000000 --- a/chrome/browser/encoding_menu_controller.cc +++ /dev/null @@ -1,141 +0,0 @@ -// Copyright (c) 2009 The Chromium Authors. All rights reserved. -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file. - -#include "chrome/browser/encoding_menu_controller.h" - -#include "app/l10n_util.h" -#include "base/i18n/rtl.h" -#include "base/utf_string_conversions.h" -#include "chrome/app/chrome_command_ids.h" -#include "chrome/browser/browser_process.h" -#include "chrome/browser/character_encoding.h" -#include "chrome/browser/prefs/pref_service.h" -#include "chrome/browser/profile.h" -#include "chrome/common/pref_names.h" -#include "grit/generated_resources.h" - -const int EncodingMenuController::kValidEncodingIds[] = { - IDC_ENCODING_UTF8, - IDC_ENCODING_UTF16LE, - IDC_ENCODING_ISO88591, - IDC_ENCODING_WINDOWS1252, - IDC_ENCODING_GBK, - IDC_ENCODING_GB18030, - IDC_ENCODING_BIG5, - IDC_ENCODING_BIG5HKSCS, - IDC_ENCODING_KOREAN, - IDC_ENCODING_SHIFTJIS, - IDC_ENCODING_ISO2022JP, - IDC_ENCODING_EUCJP, - IDC_ENCODING_THAI, - IDC_ENCODING_ISO885915, - IDC_ENCODING_MACINTOSH, - IDC_ENCODING_ISO88592, - IDC_ENCODING_WINDOWS1250, - IDC_ENCODING_ISO88595, - IDC_ENCODING_WINDOWS1251, - IDC_ENCODING_KOI8R, - IDC_ENCODING_KOI8U, - IDC_ENCODING_ISO88597, - IDC_ENCODING_WINDOWS1253, - IDC_ENCODING_ISO88594, - IDC_ENCODING_ISO885913, - IDC_ENCODING_WINDOWS1257, - IDC_ENCODING_ISO88593, - IDC_ENCODING_ISO885910, - IDC_ENCODING_ISO885914, - IDC_ENCODING_ISO885916, - IDC_ENCODING_WINDOWS1254, - IDC_ENCODING_ISO88596, - IDC_ENCODING_WINDOWS1256, - IDC_ENCODING_ISO88598, - IDC_ENCODING_WINDOWS1255, - IDC_ENCODING_WINDOWS1258, - IDC_ENCODING_ISO88598I, -}; - -bool EncodingMenuController::DoesCommandBelongToEncodingMenu(int id) { - if (id == IDC_ENCODING_AUTO_DETECT) { - return true; - } - - for (size_t i = 0; i < arraysize(kValidEncodingIds); ++i) { - if (id == kValidEncodingIds[i]) { - return true; - } - } - - return false; -} - -const int* EncodingMenuController::ValidGUIEncodingIDs() { - return kValidEncodingIds; -} - -int EncodingMenuController::NumValidGUIEncodingIDs() { - return arraysize(kValidEncodingIds); -} - -bool EncodingMenuController::IsItemChecked( - Profile* browser_profile, - const std::string& current_tab_encoding, - int item_id) { - if (!DoesCommandBelongToEncodingMenu(item_id)) - return false; - - std::string encoding = current_tab_encoding; - if (encoding.empty()) - encoding = browser_profile->GetPrefs()->GetString(prefs::kDefaultCharset); - - if (item_id == IDC_ENCODING_AUTO_DETECT) { - return browser_profile->GetPrefs()->GetBoolean( - prefs::kWebKitUsesUniversalDetector); - } - - if (!encoding.empty()) { - return encoding == - CharacterEncoding::GetCanonicalEncodingNameByCommandId(item_id); - } - - return false; -} - -void EncodingMenuController::GetEncodingMenuItems(Profile* profile, - EncodingMenuItemList* menuItems) { - - DCHECK(menuItems); - EncodingMenuItem separator(0, string16()); - - menuItems->clear(); - menuItems->push_back( - EncodingMenuItem(IDC_ENCODING_AUTO_DETECT, - l10n_util::GetStringUTF16(IDS_ENCODING_AUTO_DETECT))); - menuItems->push_back(separator); - - // Create current display encoding list. - const std::vector<CharacterEncoding::EncodingInfo>* encodings; - - // Build the list of encoding ids : It is made of the - // locale-dependent short list, the cache of recently selected - // encodings and other encodings. - encodings = CharacterEncoding::GetCurrentDisplayEncodings( - g_browser_process->GetApplicationLocale(), - profile->GetPrefs()->GetString(prefs::kStaticEncodings), - profile->GetPrefs()->GetString(prefs::kRecentlySelectedEncoding)); - DCHECK(encodings); - DCHECK(!encodings->empty()); - - // Build up output list for menu. - std::vector<CharacterEncoding::EncodingInfo>::const_iterator it; - for (it = encodings->begin(); it != encodings->end(); ++it) { - if (it->encoding_id) { - std::wstring encoding = it->encoding_display_name; - base::i18n::AdjustStringForLocaleDirection(&encoding); - menuItems->push_back(EncodingMenuItem(it->encoding_id, - WideToUTF16(encoding))); - } else { - menuItems->push_back(separator); - } - } -} |