Stop pretty-printing pref JSON

To reduce the amount of data written out to the disk during shutdown to avoid slowing it down.
In practice, this results in about 30% size reduction of Preferences file.

BUG=463366

Review URL: https://codereview.chromium.org/974753002

Cr-Commit-Position: refs/heads/master@{#319211}
diff --git a/base/prefs/json_pref_store.cc b/base/prefs/json_pref_store.cc
index c52a95c9..0522a45a 100644
--- a/base/prefs/json_pref_store.cc
+++ b/base/prefs/json_pref_store.cc
@@ -8,12 +8,14 @@
 
 #include "base/bind.h"
 #include "base/callback.h"
+#include "base/command_line.h"
 #include "base/files/file_path.h"
 #include "base/files/file_util.h"
 #include "base/json/json_file_value_serializer.h"
 #include "base/json/json_string_value_serializer.h"
 #include "base/memory/ref_counted.h"
 #include "base/metrics/histogram.h"
+#include "base/prefs/base_prefs_switches.h"
 #include "base/prefs/pref_filter.h"
 #include "base/sequenced_task_runner.h"
 #include "base/strings/string_util.h"
@@ -398,7 +400,10 @@
     pref_filter_->FilterSerializeData(prefs_.get());
 
   JSONStringValueSerializer serializer(output);
-  serializer.set_pretty_print(true);
+  if (base::CommandLine::ForCurrentProcess()->HasSwitch(
+          switches::kPrettyPrintPrefs)) {
+    serializer.set_pretty_print(true);
+  }
   return serializer.Serialize(*prefs_);
 }