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

Unified Diff: components/payments/address_normalizer.h

Issue 2708933003: [Payments] Add timeout to the address_normalizer. (Closed)
Patch Set: Updated BUILD file Created 3 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: components/payments/address_normalizer.h
diff --git a/components/payments/address_normalizer.h b/components/payments/address_normalizer.h
index d2f24c58e6896fa38adff7598df6a2a3aff1d2d2..ebc75aaffd5b6d137a56617026932a733b48f9b1 100644
--- a/components/payments/address_normalizer.h
+++ b/components/payments/address_normalizer.h
@@ -6,7 +6,6 @@
#define COMPONENTS_PAYMENTS_ADDRESS_NORMALIZER_H_
#include "base/macros.h"
-#include "base/memory/weak_ptr.h"
#include "components/autofill/core/browser/autofill_profile.h"
#include "third_party/libaddressinput/chromium/chrome_address_validator.h"
@@ -15,8 +14,7 @@ using autofill::AutofillProfile;
namespace payments {
// A class used to normalize addresses.
-class AddressNormalizer : public autofill::LoadRulesListener,
- public base::SupportsWeakPtr<AddressNormalizer> {
+class AddressNormalizer : public autofill::LoadRulesListener {
public:
// The interface for the normalization delegates.
class Delegate {
@@ -43,7 +41,7 @@ class AddressNormalizer : public autofill::LoadRulesListener,
~AddressNormalizer() override;
// Start loading the validation rules for the specified |region_code|.
- void LoadRulesForRegion(const std::string& region_code);
+ virtual void LoadRulesForRegion(const std::string& region_code);
// Returns whether the rules for the specified |region_code| have finished
// loading.
@@ -51,9 +49,15 @@ class AddressNormalizer : public autofill::LoadRulesListener,
// Starts the normalization of the |profile| based on the |region_code|. The
// normalized profile will be returned to the |requester| possibly
- // asynchronously.
+ // asynchronously. If the normalization is not completed in |timeout_seconds|
+ // the requester will be informed and the request cancelled. This value should
+ // be greater or equal to 0, for which it means that the normalization should
+ // happen synchronously, or not at all if there rules are not already loaded.
please use gerrit instead 2017/02/21 19:56:16 s/there/the/
sebsg 2017/02/21 22:17:07 Done.
+ // Will start loading the rules for the |region_code| if they had not started
+ // loading.
void StartAddressNormalization(const autofill::AutofillProfile& profile,
const std::string& region_code,
+ int timeout_seconds,
Delegate* requester);
private:

Powered by Google App Engine
This is Rietveld 408576698