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

Side by Side Diff: Source/platform/fonts/WidthCache.h

Issue 138643003: Simpler return value of HashTable::add/HashMap:add and others (Closed)
Patch Set: Daily master update (now with base url?) Created 6 years, 10 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 /* 1 /*
2 * Copyright (C) 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2012 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 152
153 private: 153 private:
154 float* addSlowCase(const TextRun& run, float entry) 154 float* addSlowCase(const TextRun& run, float entry)
155 { 155 {
156 int length = run.length(); 156 int length = run.length();
157 bool isNewEntry; 157 bool isNewEntry;
158 float *value; 158 float *value;
159 if (length == 1) { 159 if (length == 1) {
160 SingleCharMap::AddResult addResult = m_singleCharMap.add(run[0], ent ry); 160 SingleCharMap::AddResult addResult = m_singleCharMap.add(run[0], ent ry);
161 isNewEntry = addResult.isNewEntry; 161 isNewEntry = addResult.isNewEntry;
162 value = &addResult.iterator->value; 162 value = &addResult.storedValue->value;
163 } else { 163 } else {
164 SmallStringKey smallStringKey; 164 SmallStringKey smallStringKey;
165 if (run.is8Bit()) 165 if (run.is8Bit())
166 smallStringKey = SmallStringKey(run.characters8(), length); 166 smallStringKey = SmallStringKey(run.characters8(), length);
167 else 167 else
168 smallStringKey = SmallStringKey(run.characters16(), length); 168 smallStringKey = SmallStringKey(run.characters16(), length);
169 169
170 Map::AddResult addResult = m_map.add(smallStringKey, entry); 170 Map::AddResult addResult = m_map.add(smallStringKey, entry);
171 isNewEntry = addResult.isNewEntry; 171 isNewEntry = addResult.isNewEntry;
172 value = &addResult.iterator->value; 172 value = &addResult.storedValue->value;
173 } 173 }
174 174
175 // Cache hit: ramp up by sampling the next few words. 175 // Cache hit: ramp up by sampling the next few words.
176 if (!isNewEntry) { 176 if (!isNewEntry) {
177 m_interval = s_minInterval; 177 m_interval = s_minInterval;
178 return value; 178 return value;
179 } 179 }
180 180
181 // Cache miss: ramp down by increasing our sampling interval. 181 // Cache miss: ramp down by increasing our sampling interval.
182 if (m_interval < s_maxInterval) 182 if (m_interval < s_maxInterval)
(...skipping 24 matching lines...) Expand all
207 inline bool operator==(const WidthCache::SmallStringKey& a, const WidthCache::Sm allStringKey& b) 207 inline bool operator==(const WidthCache::SmallStringKey& a, const WidthCache::Sm allStringKey& b)
208 { 208 {
209 if (a.length() != b.length()) 209 if (a.length() != b.length())
210 return false; 210 return false;
211 return WTF::equal(a.characters(), b.characters(), a.length()); 211 return WTF::equal(a.characters(), b.characters(), a.length());
212 } 212 }
213 213
214 } // namespace WebCore 214 } // namespace WebCore
215 215
216 #endif // WidthCache_h 216 #endif // WidthCache_h
OLDNEW
« no previous file with comments | « Source/platform/exported/WebHTTPLoadInfo.cpp ('k') | Source/platform/fonts/harfbuzz/HarfBuzzFace.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698