Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(352)

Side by Side Diff: chrome/browser/character_encoding.cc

Issue 8573021: chrome: Remove 14 exit time destructors and 2 static initializers. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Hopefully fix problems seen on the bots Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/character_encoding.h" 5 #include "chrome/browser/character_encoding.h"
6 6
7 #include <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 392 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 if (alias_name == "US-ASCII") 403 if (alias_name == "US-ASCII")
404 return GetCanonicalEncodingNameByCommandId(IDC_ENCODING_ISO88591); 404 return GetCanonicalEncodingNameByCommandId(IDC_ENCODING_ISO88591);
405 return canonical_name; 405 return canonical_name;
406 } else { 406 } else {
407 return std::string(); 407 return std::string();
408 } 408 }
409 } 409 }
410 410
411 // Static 411 // Static
412 // According to the behavior of user recently selected encoding short list in 412 // According to the behavior of user recently selected encoding short list in
413 // FireFox, we always put UTF-8 as toppest position, after then put user 413 // Firefox, we always put UTF-8 as top position, after then put user
414 // recently selected encodings, then put local dependent encoding items. 414 // recent selected encodings, then put local dependent encoding items.
415 // At last, we put all rest encoding items. 415 // At last, we put all remaining encoding items.
416 const std::vector<CharacterEncoding::EncodingInfo>* 416 const std::vector<CharacterEncoding::EncodingInfo>*
417 CharacterEncoding::GetCurrentDisplayEncodings( 417 CharacterEncoding::GetCurrentDisplayEncodings(
418 const std::string& locale, 418 const std::string& locale,
419 const std::string& locale_encodings, 419 const std::string& locale_encodings,
420 const std::string& recently_select_encodings) { 420 const std::string& recently_select_encodings) {
421 std::vector<int>* const locale_dependent_encoding_list = 421 std::vector<int>* const locale_dependent_encoding_list =
422 CanonicalEncodingMapSingleton()->locale_dependent_encoding_ids(); 422 CanonicalEncodingMapSingleton()->locale_dependent_encoding_ids();
423 std::vector<CharacterEncoding::EncodingInfo>* const encoding_list = 423 std::vector<CharacterEncoding::EncodingInfo>* const encoding_list =
424 CanonicalEncodingMapSingleton()->current_display_encodings(); 424 CanonicalEncodingMapSingleton()->current_display_encodings();
425 425
426 // Initialize locale dependent static encoding list. 426 // Initialize locale dependent static encoding list.
427 if (locale_dependent_encoding_list->empty() && !locale_encodings.empty()) 427 if (locale_dependent_encoding_list->empty() && !locale_encodings.empty())
428 ParseEncodingListSeparatedWithComma(locale_encodings, 428 ParseEncodingListSeparatedWithComma(locale_encodings,
429 locale_dependent_encoding_list, 429 locale_dependent_encoding_list,
430 kUserSelectedEncodingsMaxLength); 430 kUserSelectedEncodingsMaxLength);
431 431
432 static std::string cached_user_selected_encodings; 432 CR_DEFINE_STATIC_LOCAL(std::string, cached_user_selected_encodings, ());
433 // Build current display encoding list. 433 // Build current display encoding list.
434 if (encoding_list->empty() || 434 if (encoding_list->empty() ||
435 cached_user_selected_encodings != recently_select_encodings) { 435 cached_user_selected_encodings != recently_select_encodings) {
436 // Update user recently selected encodings. 436 // Update user recently selected encodings.
437 cached_user_selected_encodings = recently_select_encodings; 437 cached_user_selected_encodings = recently_select_encodings;
438 // Clear old encoding list since user recently selected encodings changed. 438 // Clear old encoding list since user recently selected encodings changed.
439 encoding_list->clear(); 439 encoding_list->clear();
440 // Always add UTF-8 to first encoding position. 440 // Always add UTF-8 to first encoding position.
441 encoding_list->push_back(EncodingInfo(IDC_ENCODING_UTF8)); 441 encoding_list->push_back(EncodingInfo(IDC_ENCODING_UTF8));
442 std::set<int> inserted_encoding; 442 std::set<int> inserted_encoding;
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
537 // Insert new encoding to head of selected encoding list. 537 // Insert new encoding to head of selected encoding list.
538 *selected_encodings = encoding_name; 538 *selected_encodings = encoding_name;
539 // Generate the string for rest selected encoding list. 539 // Generate the string for rest selected encoding list.
540 for (std::vector<int>::const_iterator it = selected_encoding_list.begin(); 540 for (std::vector<int>::const_iterator it = selected_encoding_list.begin();
541 it != selected_encoding_list.end(); ++it) { 541 it != selected_encoding_list.end(); ++it) {
542 selected_encodings->append(1, L','); 542 selected_encodings->append(1, L',');
543 selected_encodings->append(GetCanonicalEncodingNameByCommandId(*it)); 543 selected_encodings->append(GetCanonicalEncodingNameByCommandId(*it));
544 } 544 }
545 return true; 545 return true;
546 } 546 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698