| // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #include "chrome/common/pref_names_util.h" |
| |
| #include "base/strings/string_util.h" |
| |
| namespace pref_names_util { |
| |
| const char kWebKitFontPrefPrefix[] = "webkit.webprefs.fonts."; |
| |
| bool ParseFontNamePrefPath(const std::string& pref_path, |
| std::string* generic_family, |
| std::string* script) { |
| if (!StartsWithASCII(pref_path, kWebKitFontPrefPrefix, true)) |
| return false; |
| |
| size_t start = strlen(kWebKitFontPrefPrefix); |
| size_t pos = pref_path.find('.', start); |
| if (pos == std::string::npos || pos + 1 == pref_path.length()) |
| return false; |
| if (generic_family) |
| *generic_family = pref_path.substr(start, pos - start); |
| if (script) |
| *script = pref_path.substr(pos + 1); |
| return true; |
| } |
| |
| } // namespace pref_names_util |