Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(24)

Unified Diff: extensions/browser/image_util.cc

Issue 214243003: Remove some chrome dependencies from extensions app_window API (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: extensions/browser/image_util.cc
diff --git a/extensions/browser/image_util.cc b/extensions/browser/image_util.cc
new file mode 100644
index 0000000000000000000000000000000000000000..2454a632fee850b4bcb51b22314d1808921670f3
--- /dev/null
+++ b/extensions/browser/image_util.cc
@@ -0,0 +1,45 @@
+// Copyright 2014 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 "extensions/browser/image_util.h"
+
+#include <stdint.h>
+#include <vector>
+
+#include "base/strings/string_number_conversions.h"
+#include "third_party/skia/include/core/SkColor.h"
+
+namespace extensions {
+namespace image_util {
+
+bool ParseCSSColorString(const std::string& color_string, SkColor* result) {
+ std::string formatted_color;
+ // Check the string for incorrect formatting.
+ if (color_string.empty() || color_string[0] != '#')
+ return false;
+
+ // Convert the string from #FFF format to #FFFFFF format.
+ if (color_string.length() == 4) {
+ for (size_t i = 1; i < 4; ++i) {
+ formatted_color += color_string[i];
+ formatted_color += color_string[i];
+ }
+ } else if (color_string.length() == 7) {
+ formatted_color = color_string.substr(1, 6);
+ } else {
+ return false;
+ }
+
+ // Convert the string to an integer and make sure it is in the correct value
+ // range.
+ std::vector<uint8_t> color_bytes;
+ if (!base::HexStringToBytes(formatted_color, &color_bytes))
+ return false;
+
+ *result = SkColorSetARGB(255, color_bytes[0], color_bytes[1], color_bytes[2]);
+ return true;
+}
+
+} // namespace image_util
+} // namespace extensions

Powered by Google App Engine
This is Rietveld 408576698