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

Side by Side Diff: chrome/browser/chromeos/app_mode/kiosk_external_updater.cc

Issue 1394993004: Make ValueDeserializer::Deserialize return scoped_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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 "chrome/browser/chromeos/app_mode/kiosk_external_updater.h" 5 #include "chrome/browser/chromeos/app_mode/kiosk_external_updater.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/files/file_enumerator.h" 8 #include "base/files/file_enumerator.h"
9 #include "base/files/file_util.h" 9 #include "base/files/file_util.h"
10 #include "base/json/json_file_value_serializer.h" 10 #include "base/json/json_file_value_serializer.h"
(...skipping 26 matching lines...) Expand all
37 KioskExternalUpdater::ExternalUpdateErrorCode* error_code) { 37 KioskExternalUpdater::ExternalUpdateErrorCode* error_code) {
38 base::FilePath manifest = 38 base::FilePath manifest =
39 external_update_dir.AppendASCII(kExternalUpdateManifest); 39 external_update_dir.AppendASCII(kExternalUpdateManifest);
40 if (!base::PathExists(manifest)) { 40 if (!base::PathExists(manifest)) {
41 *error_code = KioskExternalUpdater::ERROR_NO_MANIFEST; 41 *error_code = KioskExternalUpdater::ERROR_NO_MANIFEST;
42 return; 42 return;
43 } 43 }
44 44
45 JSONFileValueDeserializer deserializer(manifest); 45 JSONFileValueDeserializer deserializer(manifest);
46 std::string error_msg; 46 std::string error_msg;
47 base::Value* extensions = deserializer.Deserialize(NULL, &error_msg); 47 base::Value* extensions =
48 deserializer.Deserialize(NULL, &error_msg).release();
48 if (!extensions) { 49 if (!extensions) {
49 *error_code = KioskExternalUpdater::ERROR_INVALID_MANIFEST; 50 *error_code = KioskExternalUpdater::ERROR_INVALID_MANIFEST;
50 return; 51 return;
51 } 52 }
52 53
53 base::DictionaryValue* dict_value = NULL; 54 base::DictionaryValue* dict_value = NULL;
54 if (!extensions->GetAsDictionary(&dict_value)) { 55 if (!extensions->GetAsDictionary(&dict_value)) {
55 *error_code = KioskExternalUpdater::ERROR_INVALID_MANIFEST; 56 *error_code = KioskExternalUpdater::ERROR_INVALID_MANIFEST;
Lei Zhang 2015/10/12 22:42:21 Sorry to bug you about these possibly existing iss
56 return; 57 return;
57 } 58 }
58 59
59 parsed_manifest->Swap(dict_value); 60 parsed_manifest->Swap(dict_value);
Lei Zhang 2015/10/12 22:42:21 After we swap, do we need to free the pointer that
60 *error_code = KioskExternalUpdater::ERROR_NONE; 61 *error_code = KioskExternalUpdater::ERROR_NONE;
61 } 62 }
62 63
63 // Copies |external_crx_file| to |temp_crx_file|, and removes |temp_dir| 64 // Copies |external_crx_file| to |temp_crx_file|, and removes |temp_dir|
64 // created for unpacking |external_crx_file|. 65 // created for unpacking |external_crx_file|.
65 void CopyExternalCrxAndDeleteTempDir(const base::FilePath& external_crx_file, 66 void CopyExternalCrxAndDeleteTempDir(const base::FilePath& external_crx_file,
66 const base::FilePath& temp_crx_file, 67 const base::FilePath& temp_crx_file,
67 const base::FilePath& temp_dir, 68 const base::FilePath& temp_dir,
68 bool* success) { 69 bool* success) {
69 base::DeleteFile(temp_dir, true); 70 base::DeleteFile(temp_dir, true);
(...skipping 454 matching lines...) Expand 10 before | Expand all | Expand 10 after
524 if (failed) { 525 if (failed) {
525 failed_app_msg = ui::ResourceBundle::GetSharedInstance().GetLocalizedString( 526 failed_app_msg = ui::ResourceBundle::GetSharedInstance().GetLocalizedString(
526 IDS_KIOSK_EXTERNAL_UPDATE_FAILED_UPDATED_APPS) + 527 IDS_KIOSK_EXTERNAL_UPDATE_FAILED_UPDATED_APPS) +
527 base::ASCIIToUTF16("\n") + failed_apps; 528 base::ASCIIToUTF16("\n") + failed_apps;
528 message = message + base::ASCIIToUTF16("\n") + failed_app_msg; 529 message = message + base::ASCIIToUTF16("\n") + failed_app_msg;
529 } 530 }
530 return message; 531 return message;
531 } 532 }
532 533
533 } // namespace chromeos 534 } // namespace chromeos
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698