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

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

Issue 2829163004: Remove uses of base::hash_map from //chrome (Closed)
Patch Set: Downloads back Created 3 years, 5 months 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/font_family_cache.h" 5 #include "chrome/browser/font_family_cache.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <map> 9 #include <map>
10 10
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 } 84 }
85 85
86 return FetchFont(script, map_name); 86 return FetchFont(script, map_name);
87 } 87 }
88 88
89 // There are ~1000 entries in the cache. Avoid unnecessary object construction, 89 // There are ~1000 entries in the cache. Avoid unnecessary object construction,
90 // including std::string. 90 // including std::string.
91 void FontFamilyCache::OnPrefsChanged(const std::string& pref_name) { 91 void FontFamilyCache::OnPrefsChanged(const std::string& pref_name) {
92 const size_t delimiter_length = 1; 92 const size_t delimiter_length = 1;
93 const char delimiter = '.'; 93 const char delimiter = '.';
94 for (FontFamilyMap::iterator it = font_family_map_.begin(); 94 for (auto& it : font_family_map_) {
95 it != font_family_map_.end(); 95 const char* map_name = it.first;
96 ++it) {
97 const char* map_name = it->first;
98 size_t map_name_length = strlen(map_name); 96 size_t map_name_length = strlen(map_name);
99 97
100 // If the map name doesn't match, move on. 98 // If the map name doesn't match, move on.
101 if (pref_name.compare(0, map_name_length, map_name) != 0) 99 if (pref_name.compare(0, map_name_length, map_name) != 0)
102 continue; 100 continue;
103 101
104 ScriptFontMap& map = it->second; 102 ScriptFontMap& map = it.second;
105 for (ScriptFontMap::iterator it2 = map.begin(); it2 != map.end(); ++it2) { 103 for (ScriptFontMap::iterator it2 = map.begin(); it2 != map.end(); ++it2) {
106 const char* script = it2->first; 104 const char* script = it2->first;
107 size_t script_length = strlen(script); 105 size_t script_length = strlen(script);
108 106
109 // If the length doesn't match, move on. 107 // If the length doesn't match, move on.
110 if (pref_name.size() != 108 if (pref_name.size() !=
111 map_name_length + script_length + delimiter_length) 109 map_name_length + script_length + delimiter_length)
112 continue; 110 continue;
113 111
114 // If the script doesn't match, move on. 112 // If the script doesn't match, move on.
(...skipping 12 matching lines...) Expand all
127 } 125 }
128 } 126 }
129 } 127 }
130 128
131 void FontFamilyCache::Observe(int type, 129 void FontFamilyCache::Observe(int type,
132 const content::NotificationSource& source, 130 const content::NotificationSource& source,
133 const content::NotificationDetails& details) { 131 const content::NotificationDetails& details) {
134 DCHECK_EQ(chrome::NOTIFICATION_PROFILE_DESTROYED, type); 132 DCHECK_EQ(chrome::NOTIFICATION_PROFILE_DESTROYED, type);
135 profile_pref_registrar_.RemoveAll(); 133 profile_pref_registrar_.RemoveAll();
136 } 134 }
OLDNEW
« no previous file with comments | « chrome/browser/font_family_cache.h ('k') | chrome/browser/geolocation/geolocation_permission_context_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698