| OLD | NEW | 
|    1 // Copyright 2014 The Chromium Authors. All rights reserved. |    1 // Copyright 2014 The Chromium Authors. All rights reserved. | 
|    2 // Use of this source code is governed by a BSD-style license that can be |    2 // Use of this source code is governed by a BSD-style license that can be | 
|    3 // found in the LICENSE file. |    3 // found in the LICENSE file. | 
|    4  |    4  | 
|    5 #include "content/renderer/manifest/manifest_parser.h" |    5 #include "content/renderer/manifest/manifest_parser.h" | 
|    6  |    6  | 
|    7 #include <stddef.h> |    7 #include <stddef.h> | 
|    8  |    8  | 
|    9 #include "base/json/json_reader.h" |    9 #include "base/json/json_reader.h" | 
 |   10 #include "base/memory/ptr_util.h" | 
|   10 #include "base/strings/nullable_string16.h" |   11 #include "base/strings/nullable_string16.h" | 
|   11 #include "base/strings/string_number_conversions.h" |   12 #include "base/strings/string_number_conversions.h" | 
|   12 #include "base/strings/string_split.h" |   13 #include "base/strings/string_split.h" | 
|   13 #include "base/strings/string_util.h" |   14 #include "base/strings/string_util.h" | 
|   14 #include "base/strings/utf_string_conversions.h" |   15 #include "base/strings/utf_string_conversions.h" | 
|   15 #include "base/values.h" |   16 #include "base/values.h" | 
|   16 #include "content/public/common/manifest.h" |   17 #include "content/public/common/manifest.h" | 
|   17 #include "content/renderer/manifest/manifest_uma_util.h" |   18 #include "content/renderer/manifest/manifest_uma_util.h" | 
|   18 #include "third_party/WebKit/public/platform/WebColor.h" |   19 #include "third_party/WebKit/public/platform/WebColor.h" | 
|   19 #include "third_party/WebKit/public/platform/WebString.h" |   20 #include "third_party/WebKit/public/platform/WebString.h" | 
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  101       failed_(false) { |  102       failed_(false) { | 
|  102 } |  103 } | 
|  103  |  104  | 
|  104 ManifestParser::~ManifestParser() { |  105 ManifestParser::~ManifestParser() { | 
|  105 } |  106 } | 
|  106  |  107  | 
|  107 void ManifestParser::Parse() { |  108 void ManifestParser::Parse() { | 
|  108   std::string error_msg; |  109   std::string error_msg; | 
|  109   int error_line = 0; |  110   int error_line = 0; | 
|  110   int error_column = 0; |  111   int error_column = 0; | 
|  111   scoped_ptr<base::Value> value = base::JSONReader::ReadAndReturnError( |  112   std::unique_ptr<base::Value> value = base::JSONReader::ReadAndReturnError( | 
|  112       data_, base::JSON_PARSE_RFC, nullptr, &error_msg, &error_line, |  113       data_, base::JSON_PARSE_RFC, nullptr, &error_msg, &error_line, | 
|  113       &error_column); |  114       &error_column); | 
|  114  |  115  | 
|  115   if (!value) { |  116   if (!value) { | 
|  116     AddErrorInfo(GetErrorPrefix() + error_msg, error_line, error_column); |  117     AddErrorInfo(GetErrorPrefix() + error_msg, error_line, error_column); | 
|  117     ManifestUmaUtil::ParseFailed(); |  118     ManifestUmaUtil::ParseFailed(); | 
|  118     failed_ = true; |  119     failed_ = true; | 
|  119     return; |  120     return; | 
|  120   } |  121   } | 
|  121  |  122  | 
| (...skipping 20 matching lines...) Expand all  Loading... | 
|  142   manifest_.background_color = ParseBackgroundColor(*dictionary); |  143   manifest_.background_color = ParseBackgroundColor(*dictionary); | 
|  143   manifest_.gcm_sender_id = ParseGCMSenderID(*dictionary); |  144   manifest_.gcm_sender_id = ParseGCMSenderID(*dictionary); | 
|  144  |  145  | 
|  145   ManifestUmaUtil::ParseSucceeded(manifest_); |  146   ManifestUmaUtil::ParseSucceeded(manifest_); | 
|  146 } |  147 } | 
|  147  |  148  | 
|  148 const Manifest& ManifestParser::manifest() const { |  149 const Manifest& ManifestParser::manifest() const { | 
|  149   return manifest_; |  150   return manifest_; | 
|  150 } |  151 } | 
|  151  |  152  | 
|  152 const std::vector<scoped_ptr<ManifestParser::ErrorInfo>>& |  153 const std::vector<std::unique_ptr<ManifestParser::ErrorInfo>>& | 
|  153 ManifestParser::errors() const { |  154 ManifestParser::errors() const { | 
|  154   return errors_; |  155   return errors_; | 
|  155 } |  156 } | 
|  156  |  157  | 
|  157 bool ManifestParser::failed() const { |  158 bool ManifestParser::failed() const { | 
|  158   return failed_; |  159   return failed_; | 
|  159 } |  160 } | 
|  160  |  161  | 
|  161 bool ManifestParser::ParseBoolean(const base::DictionaryValue& dictionary, |  162 bool ManifestParser::ParseBoolean(const base::DictionaryValue& dictionary, | 
|  162                                   const std::string& key, |  163                                   const std::string& key, | 
| (...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  453  |  454  | 
|  454 base::NullableString16 ManifestParser::ParseGCMSenderID( |  455 base::NullableString16 ManifestParser::ParseGCMSenderID( | 
|  455     const base::DictionaryValue& dictionary)  { |  456     const base::DictionaryValue& dictionary)  { | 
|  456   return ParseString(dictionary, "gcm_sender_id", Trim); |  457   return ParseString(dictionary, "gcm_sender_id", Trim); | 
|  457 } |  458 } | 
|  458  |  459  | 
|  459 void ManifestParser::AddErrorInfo(const std::string& error_msg, |  460 void ManifestParser::AddErrorInfo(const std::string& error_msg, | 
|  460                                   int error_line, |  461                                   int error_line, | 
|  461                                   int error_column) { |  462                                   int error_column) { | 
|  462   errors_.push_back( |  463   errors_.push_back( | 
|  463       make_scoped_ptr(new ErrorInfo(error_msg, error_line, error_column))); |  464       base::WrapUnique(new ErrorInfo(error_msg, error_line, error_column))); | 
|  464 } |  465 } | 
|  465 } // namespace content |  466 } // namespace content | 
| OLD | NEW |