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

Side by Side Diff: components/autofill/content/browser/wallet/wallet_address.h

Issue 1859453002: components/autofill: scoped_ptr -> unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Comments addressed Created 4 years, 8 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 #ifndef COMPONENTS_AUTOFILL_CONTENT_BROWSER_WALLET_WALLET_ADDRESS_H_ 5 #ifndef COMPONENTS_AUTOFILL_CONTENT_BROWSER_WALLET_WALLET_ADDRESS_H_
6 #define COMPONENTS_AUTOFILL_CONTENT_BROWSER_WALLET_WALLET_ADDRESS_H_ 6 #define COMPONENTS_AUTOFILL_CONTENT_BROWSER_WALLET_WALLET_ADDRESS_H_
7 7
8 #include <stddef.h> 8 #include <stddef.h>
9 9
10 #include <memory>
10 #include <string> 11 #include <string>
11 12
12 #include "base/macros.h" 13 #include "base/macros.h"
13 #include "base/memory/scoped_ptr.h"
14 #include "base/strings/string16.h" 14 #include "base/strings/string16.h"
15 #include "components/autofill/core/browser/phone_number_i18n.h" 15 #include "components/autofill/core/browser/phone_number_i18n.h"
16 16
17 namespace base { 17 namespace base {
18 class DictionaryValue; 18 class DictionaryValue;
19 } 19 }
20 20
21 namespace autofill { 21 namespace autofill {
22 22
23 class AutofillProfile; 23 class AutofillProfile;
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 const base::string16& sorting_code, 55 const base::string16& sorting_code,
56 const base::string16& phone_number, 56 const base::string16& phone_number,
57 const std::string& object_id, 57 const std::string& object_id,
58 const std::string& language_code); 58 const std::string& language_code);
59 59
60 ~Address(); 60 ~Address();
61 61
62 // Returns an empty scoped_ptr if input is invalid or a valid address that is 62 // Returns an empty scoped_ptr if input is invalid or a valid address that is
63 // selectable for Google Wallet use. Does not require "id" in |dictionary|. 63 // selectable for Google Wallet use. Does not require "id" in |dictionary|.
64 // IDs are not required for billing addresses. 64 // IDs are not required for billing addresses.
65 static scoped_ptr<Address> CreateAddress( 65 static std::unique_ptr<Address> CreateAddress(
66 const base::DictionaryValue& dictionary); 66 const base::DictionaryValue& dictionary);
67 67
68 // TODO(ahutter): Make obvious in the function name that this public method 68 // TODO(ahutter): Make obvious in the function name that this public method
69 // only works for shipping address and assumes existance of "postal_address". 69 // only works for shipping address and assumes existance of "postal_address".
70 // Builds an Address from |dictionary|, which must have an "id" field. This 70 // Builds an Address from |dictionary|, which must have an "id" field. This
71 // function is designed for use with shipping addresses. The function may fail 71 // function is designed for use with shipping addresses. The function may fail
72 // and return an empty pointer if its input is invalid. 72 // and return an empty pointer if its input is invalid.
73 static scoped_ptr<Address> CreateAddressWithID( 73 static std::unique_ptr<Address> CreateAddressWithID(
74 const base::DictionaryValue& dictionary); 74 const base::DictionaryValue& dictionary);
75 75
76 // Returns an empty scoped_ptr if input in invalid or a valid address that 76 // Returns an empty scoped_ptr if input in invalid or a valid address that
77 // can only be used for displaying to the user. 77 // can only be used for displaying to the user.
78 static scoped_ptr<Address> CreateDisplayAddress( 78 static std::unique_ptr<Address> CreateDisplayAddress(
79 const base::DictionaryValue& dictionary); 79 const base::DictionaryValue& dictionary);
80 80
81 // If an address is being upgraded, it will be sent to the server in a 81 // If an address is being upgraded, it will be sent to the server in a
82 // different format and with a few additional fields set, most importantly 82 // different format and with a few additional fields set, most importantly
83 // |object_id_|. 83 // |object_id_|.
84 scoped_ptr<base::DictionaryValue> ToDictionaryWithID() const; 84 std::unique_ptr<base::DictionaryValue> ToDictionaryWithID() const;
85 85
86 // Newly created addresses will not have an associated |object_id_| and are 86 // Newly created addresses will not have an associated |object_id_| and are
87 // sent to the server in a slightly different format. 87 // sent to the server in a slightly different format.
88 scoped_ptr<base::DictionaryValue> ToDictionaryWithoutID() const; 88 std::unique_ptr<base::DictionaryValue> ToDictionaryWithoutID() const;
89 89
90 // Returns a string that summarizes this address, suitable for display to 90 // Returns a string that summarizes this address, suitable for display to
91 // the user. 91 // the user.
92 base::string16 DisplayName() const; 92 base::string16 DisplayName() const;
93 93
94 // Returns a string that could be used as a sub-label, suitable for display 94 // Returns a string that could be used as a sub-label, suitable for display
95 // to the user together with DisplayName(). 95 // to the user together with DisplayName().
96 base::string16 DisplayNameDetail() const; 96 base::string16 DisplayNameDetail() const;
97 97
98 // Returns the phone number as a string that is suitable for display to the 98 // Returns the phone number as a string that is suitable for display to the
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
224 std::string language_code_; 224 std::string language_code_;
225 225
226 // This class is intentionally copyable. 226 // This class is intentionally copyable.
227 DISALLOW_ASSIGN(Address); 227 DISALLOW_ASSIGN(Address);
228 }; 228 };
229 229
230 } // namespace wallet 230 } // namespace wallet
231 } // namespace autofill 231 } // namespace autofill
232 232
233 #endif // COMPONENTS_AUTOFILL_CONTENT_BROWSER_WALLET_WALLET_ADDRESS_H_ 233 #endif // COMPONENTS_AUTOFILL_CONTENT_BROWSER_WALLET_WALLET_ADDRESS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698