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
9namespace pref_names_util {
10
11const char kWebKitFontPrefPrefix[] = "webkit.webprefs.fonts.";
12
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