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

Side by Side Diff: content/renderer/manifest/manifest_parser.cc

Issue 622813002: [Manifest] Add metrics recording. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@screen_orientation_usage_count
Patch Set: Created 6 years, 2 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 unified diff | Download patch
OLDNEW
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 "base/json/json_reader.h" 7 #include "base/json/json_reader.h"
8 #include "base/strings/nullable_string16.h" 8 #include "base/strings/nullable_string16.h"
9 #include "base/strings/string_number_conversions.h" 9 #include "base/strings/string_number_conversions.h"
10 #include "base/strings/string_split.h" 10 #include "base/strings/string_split.h"
11 #include "base/strings/string_util.h" 11 #include "base/strings/string_util.h"
12 #include "base/strings/utf_string_conversions.h" 12 #include "base/strings/utf_string_conversions.h"
13 #include "base/values.h" 13 #include "base/values.h"
14 #include "content/public/common/manifest.h" 14 #include "content/public/common/manifest.h"
15 #include "content/renderer/manifest/manifest_uma_util.h"
15 #include "ui/gfx/geometry/size.h" 16 #include "ui/gfx/geometry/size.h"
16 17
17 namespace content { 18 namespace content {
18 19
19 namespace { 20 namespace {
20 21
21 enum TrimType { 22 enum TrimType {
22 Trim, 23 Trim,
23 NoTrim 24 NoTrim
24 }; 25 };
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
284 285
285 } // anonymous namespace 286 } // anonymous namespace
286 287
287 Manifest ManifestParser::Parse(const base::StringPiece& json, 288 Manifest ManifestParser::Parse(const base::StringPiece& json,
288 const GURL& manifest_url, 289 const GURL& manifest_url,
289 const GURL& document_url) { 290 const GURL& document_url) {
290 scoped_ptr<base::Value> value(base::JSONReader::Read(json)); 291 scoped_ptr<base::Value> value(base::JSONReader::Read(json));
291 if (!value) { 292 if (!value) {
292 // TODO(mlamouri): get the JSON parsing error and report it to the developer 293 // TODO(mlamouri): get the JSON parsing error and report it to the developer
293 // console. 294 // console.
295 ManifestUmaUtil::ParseFailed();
294 return Manifest(); 296 return Manifest();
295 } 297 }
296 298
297 if (value->GetType() != base::Value::TYPE_DICTIONARY) { 299 if (value->GetType() != base::Value::TYPE_DICTIONARY) {
298 // TODO(mlamouri): provide a custom message to the developer console. 300 // TODO(mlamouri): provide a custom message to the developer console.
301 ManifestUmaUtil::ParseFailed();
299 return Manifest(); 302 return Manifest();
300 } 303 }
301 304
302 base::DictionaryValue* dictionary = 0; 305 base::DictionaryValue* dictionary = 0;
303 value->GetAsDictionary(&dictionary); 306 value->GetAsDictionary(&dictionary);
304 if (!dictionary) { 307 if (!dictionary) {
305 // TODO(mlamouri): provide a custom message to the developer console. 308 // TODO(mlamouri): provide a custom message to the developer console.
309 ManifestUmaUtil::ParseFailed();
306 return Manifest(); 310 return Manifest();
307 } 311 }
308 312
309 Manifest manifest; 313 Manifest manifest;
310 314
311 manifest.name = ParseName(*dictionary); 315 manifest.name = ParseName(*dictionary);
312 manifest.short_name = ParseShortName(*dictionary); 316 manifest.short_name = ParseShortName(*dictionary);
313 manifest.start_url = ParseStartURL(*dictionary, manifest_url, document_url); 317 manifest.start_url = ParseStartURL(*dictionary, manifest_url, document_url);
314 manifest.display = ParseDisplay(*dictionary); 318 manifest.display = ParseDisplay(*dictionary);
315 manifest.orientation = ParseOrientation(*dictionary); 319 manifest.orientation = ParseOrientation(*dictionary);
316 manifest.icons = ParseIcons(*dictionary, manifest_url); 320 manifest.icons = ParseIcons(*dictionary, manifest_url);
317 manifest.gcm_sender_id = ParseGCMSenderID(*dictionary); 321 manifest.gcm_sender_id = ParseGCMSenderID(*dictionary);
318 322
323 ManifestUmaUtil::ParseSucceeded(manifest);
324
319 return manifest; 325 return manifest;
320 } 326 }
321 327
322 } // namespace content 328 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/manifest/manifest_manager.cc ('k') | content/renderer/manifest/manifest_uma_util.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698