Index: ui/devtools/string_util.h |
diff --git a/ui/devtools/string_util.h b/ui/devtools/string_util.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..45df304b68bfcf802da6a2aff960552a481638a1 |
--- /dev/null |
+++ b/ui/devtools/string_util.h |
@@ -0,0 +1,58 @@ |
+// Copyright 2016 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. |
+ |
+#ifndef UI_DEVTOOLS_STRING_UTIL_H_ |
+#define UI_DEVTOOLS_STRING_UTIL_H_ |
+ |
+#include <memory> |
+ |
+#include "base/json/json_reader.h" |
+#include "base/strings/string_number_conversions.h" |
+ |
+namespace ui { |
+namespace devtools { |
+ |
+using String = std::string; |
+ |
+namespace protocol { |
+ |
+class Value; |
+ |
+std::unique_ptr<Value> parseJSON(const String& string); |
+ |
+class CustomStringBuilder { |
+ String s_; |
+ |
+ public: |
+ CustomStringBuilder() : s_("") {} |
sadrul
2016/10/18 01:09:15
You shouldn't need s_("").
Sarmad Hashmi
2016/10/18 02:40:49
Done.
|
+ CustomStringBuilder(String& s) : s_(s) {} |
+ void reserveCapacity(std::size_t size) { s_.reserve(size); } |
+ void append(const String& s) { s_ += s; } |
+ void append(char c) { s_ += c; } |
+ void append(const char*, unsigned int length) { return; } |
sadrul
2016/10/18 01:09:15
This is incomplete?
Sarmad Hashmi
2016/10/18 02:40:49
Was going to keep this file simple until we figure
|
+ String toString() { return s_; } |
+}; |
+ |
+using StringBuilder = CustomStringBuilder; |
+ |
+class StringUtil { |
+ public: |
+ static String substring(const String& s, unsigned pos, unsigned len) { |
+ return s.substr(pos, len); |
+ } |
+ static String fromInteger(int number) { return base::IntToString(number); } |
+ static String fromDouble(double number) { |
+ return base::DoubleToString(number); |
+ } |
+ static void builderReserve(StringBuilder& builder, unsigned capacity) { |
+ builder.reserveCapacity(capacity); |
+ } |
+ static const size_t kNotFound = -1; |
+}; |
+ |
+} // namespace protocol |
+} // namespace devtools |
+} // namespace ui |
+ |
+#endif // UI_DEVTOOLS_STRING_UTIL_H_ |