| 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 |