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

Unified Diff: base/json/json_writer.h

Issue 9590002: JSONWriter cleanup: integrate pretty print into write options. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix merge conflict 7. Created 8 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
« no previous file with comments | « base/json/json_string_value_serializer.cc ('k') | base/json/json_writer.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/json/json_writer.h
diff --git a/base/json/json_writer.h b/base/json/json_writer.h
index 43f8e564f327cdc07b4c5c5a7f753f7f66d715d1..d27fd6b5d65b2268d992c11130b5f1a0f6901547 100644
--- a/base/json/json_writer.h
+++ b/base/json/json_writer.h
@@ -31,36 +31,36 @@ class BASE_EXPORT JSONWriter {
// part as a normal integer (i.e., without using exponential notation
// or appending a '.0') as long as the value is within the range of a
// 64-bit int.
- OPTIONS_OMIT_DOUBLE_TYPE_PRESERVATION = 1 << 2
+ OPTIONS_OMIT_DOUBLE_TYPE_PRESERVATION = 1 << 2,
+
+ // Return a slightly nicer formatted json string (pads with whitespace to
+ // help with readability).
+ OPTIONS_PRETTY_PRINT = 1 << 3
};
// Given a root node, generates a JSON string and puts it into |json|.
- // If |pretty_print| is true, return a slightly nicer formated json string
- // (pads with whitespace to help readability). If |pretty_print| is false,
- // we try to generate as compact a string as possible.
// TODO(tc): Should we generate json if it would be invalid json (e.g.,
// |node| is not a DictionaryValue/ListValue or if there are inf/-inf float
// values)?
- static void Write(const Value* const node, bool pretty_print,
- std::string* json);
+ static void Write(const Value* const node, std::string* json);
// Same as above but with |options| which is a bunch of JSONWriter::Options
// bitwise ORed together.
- static void WriteWithOptions(const Value* const node, bool pretty_print,
- int options, std::string* json);
+ static void WriteWithOptions(const Value* const node, int options,
+ std::string* json);
// A static, constant JSON string representing an empty array. Useful
// for empty JSON argument passing.
static const char* kEmptyArray;
private:
- JSONWriter(bool pretty_print, std::string* json);
+ JSONWriter(bool escape, bool omit_binary_values,
+ bool omit_double_type_preservation, bool pretty_print,
+ std::string* json);
// Called recursively to build the JSON string. Whe completed, value is
// json_string_ will contain the JSON.
- void BuildJSONString(const Value* const node, int depth, bool escape,
- bool ignore_binary_values,
- bool omit_double_type_preservation);
+ void BuildJSONString(const Value* const node, int depth);
// Appends a quoted, escaped, version of (UTF-8) str to json_string_.
void AppendQuotedString(const std::string& str);
@@ -68,11 +68,14 @@ class BASE_EXPORT JSONWriter {
// Adds space to json_string_ for the indent level.
void IndentLine(int depth);
+ bool escape_;
+ bool omit_binary_values_;
+ bool omit_double_type_preservation_;
+ bool pretty_print_;
+
// Where we write JSON data as we generate it.
std::string* json_string_;
- bool pretty_print_;
-
DISALLOW_COPY_AND_ASSIGN(JSONWriter);
};
« no previous file with comments | « base/json/json_string_value_serializer.cc ('k') | base/json/json_writer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698