Index: chrome/common/pref_names_util.cc |
diff --git a/chrome/common/pref_names_util.cc b/chrome/common/pref_names_util.cc |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1b1e4dd4d5b56a56f569f6be40af63554278d0f5 |
--- /dev/null |
+++ b/chrome/common/pref_names_util.cc |
@@ -0,0 +1,30 @@ |
+// 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/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 |