• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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)13 bool 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