1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include "chrome/common/pref_names_util.h" 6 7 #include "base/strings/string_util.h" 8 9 namespace pref_names_util { 10 11 const char kWebKitFontPrefPrefix[] = "webkit.webprefs.fonts."; 12 ParseFontNamePrefPath(const std::string & pref_path,std::string * generic_family,std::string * script)13bool ParseFontNamePrefPath(const std::string& pref_path, 14 std::string* generic_family, 15 std::string* script) { 16 if (!StartsWithASCII(pref_path, kWebKitFontPrefPrefix, true)) 17 return false; 18 19 size_t start = strlen(kWebKitFontPrefPrefix); 20 size_t pos = pref_path.find('.', start); 21 if (pos == std::string::npos || pos + 1 == pref_path.length()) 22 return false; 23 if (generic_family) 24 *generic_family = pref_path.substr(start, pos - start); 25 if (script) 26 *script = pref_path.substr(pos + 1); 27 return true; 28 } 29 30 } // namespace pref_names_util 31