summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/autofill/content/browser/wallet/wallet_client_unittest.cc3
-rw-r--r--components/autofill/content/browser/wallet/wallet_items.cc27
-rw-r--r--components/autofill/content/browser/wallet/wallet_items.h3
-rw-r--r--components/autofill/content/browser/wallet/wallet_items_unittest.cc30
-rw-r--r--components/autofill/content/browser/wallet/wallet_service_url.cc4
-rw-r--r--components/autofill/content/browser/wallet/wallet_service_url.h1
-rw-r--r--components/autofill/content/browser/wallet/wallet_service_url_unittest.cc15
-rw-r--r--components/autofill/content/browser/wallet/wallet_test_util.cc1
8 files changed, 50 insertions, 34 deletions
diff --git a/components/autofill/content/browser/wallet/wallet_client_unittest.cc b/components/autofill/content/browser/wallet/wallet_client_unittest.cc
index 8f805dd..c265051 100644
--- a/components/autofill/content/browser/wallet/wallet_client_unittest.cc
+++ b/components/autofill/content/browser/wallet/wallet_client_unittest.cc
@@ -1153,6 +1153,7 @@ TEST_F(WalletClientTest, AcceptLegalDocuments) {
ScopedVector<WalletItems::LegalDocument> docs;
base::DictionaryValue document;
document.SetString("legal_document_id", "doc_id_1");
+ document.SetString("url", "https://example.com");
document.SetString("display_name", "doc_1");
docs.push_back(
WalletItems::LegalDocument::CreateLegalDocument(document).release());
@@ -1160,8 +1161,10 @@ TEST_F(WalletClientTest, AcceptLegalDocuments) {
document.SetString("display_name", "doc_2");
docs.push_back(
WalletItems::LegalDocument::CreateLegalDocument(document).release());
+ ASSERT_TRUE(docs.back());
docs.push_back(
WalletItems::LegalDocument::CreatePrivacyPolicyDocument().release());
+ ASSERT_TRUE(docs.back());
wallet_client_->AcceptLegalDocuments(docs.get(),
kGoogleTransactionId);
VerifyAndFinishRequest(net::HTTP_OK,
diff --git a/components/autofill/content/browser/wallet/wallet_items.cc b/components/autofill/content/browser/wallet/wallet_items.cc
index 2687390..3b1c26d 100644
--- a/components/autofill/content/browser/wallet/wallet_items.cc
+++ b/components/autofill/content/browser/wallet/wallet_items.cc
@@ -11,6 +11,7 @@
#include "base/strings/utf_string_conversions.h"
#include "base/values.h"
#include "components/autofill/content/browser/wallet/gaia_account.h"
+#include "components/autofill/content/browser/wallet/wallet_service_url.h"
#include "components/autofill/core/browser/autofill_type.h"
#include "components/autofill/core/browser/credit_card.h"
#include "grit/components_scaled_resources.h"
@@ -25,10 +26,6 @@ namespace wallet {
namespace {
-const char kLegalDocumentUrl[] =
- "https://wallet.google.com/legaldocument?docId=";
-const char kPrivacyNoticeUrl[] = "https://wallet.google.com/files/privacy.html";
-
// TODO(estade): move to base/.
template<class T>
bool VectorsAreEqual(const std::vector<T*>& a, const std::vector<T*>& b) {
@@ -374,13 +371,20 @@ scoped_ptr<WalletItems::LegalDocument>
return scoped_ptr<LegalDocument>();
}
- return scoped_ptr<LegalDocument>(new LegalDocument(id, display_name));
+ std::string url;
+ if (!dictionary.GetString("url", &url)) {
+ DLOG(ERROR) << "Response from Google Wallet missing URL";
+ return scoped_ptr<LegalDocument>();
+ }
+
+ return scoped_ptr<LegalDocument>(
+ new LegalDocument(id, GURL(url), display_name));
}
scoped_ptr<WalletItems::LegalDocument>
WalletItems::LegalDocument::CreatePrivacyPolicyDocument() {
return scoped_ptr<LegalDocument>(new LegalDocument(
- GURL(kPrivacyNoticeUrl),
+ std::string(), GetPrivacyNoticeUrl(),
l10n_util::GetStringUTF16(IDS_AUTOFILL_DIALOG_PRIVACY_POLICY_LINK)));
}
@@ -395,15 +399,10 @@ bool WalletItems::LegalDocument::operator!=(const LegalDocument& other) const {
}
WalletItems::LegalDocument::LegalDocument(const std::string& id,
+ const GURL& url,
const base::string16& display_name)
- : id_(id),
- url_(kLegalDocumentUrl + id),
- display_name_(display_name) {}
-
-WalletItems::LegalDocument::LegalDocument(const GURL& url,
- const base::string16& display_name)
- : url_(url),
- display_name_(display_name) {}
+ : id_(id), url_(url), display_name_(display_name) {
+}
WalletItems::WalletItems(const std::vector<RequiredAction>& required_actions,
const std::string& google_transaction_id,
diff --git a/components/autofill/content/browser/wallet/wallet_items.h b/components/autofill/content/browser/wallet/wallet_items.h
index e6121a2..fc54597 100644
--- a/components/autofill/content/browser/wallet/wallet_items.h
+++ b/components/autofill/content/browser/wallet/wallet_items.h
@@ -191,8 +191,7 @@ class WalletItems {
FRIEND_TEST_ALL_PREFIXES(WalletItemsTest, LegalDocumentUrl);
FRIEND_TEST_ALL_PREFIXES(WalletItemsTest, LegalDocumentEmptyId);
LegalDocument(const std::string& id,
- const base::string16& display_name);
- LegalDocument(const GURL& url,
+ const GURL& url,
const base::string16& display_name);
// Externalized Online Wallet id for the document, or an empty string for
diff --git a/components/autofill/content/browser/wallet/wallet_items_unittest.cc b/components/autofill/content/browser/wallet/wallet_items_unittest.cc
index 0f3493d..2ebd30d 100644
--- a/components/autofill/content/browser/wallet/wallet_items_unittest.cc
+++ b/components/autofill/content/browser/wallet/wallet_items_unittest.cc
@@ -174,17 +174,20 @@ const char kMaskedInstrumentMissingObjectId[] =
const char kLegalDocument[] =
"{"
" \"legal_document_id\":\"doc_id\","
- " \"display_name\":\"display_name\""
+ " \"display_name\":\"display_name\","
+ " \"url\":\"https://example.com\""
"}";
const char kLegalDocumentMissingDocumentId[] =
"{"
- " \"display_name\":\"display_name\""
+ " \"display_name\":\"display_name\","
+ " \"url\":\"https://example.com\""
"}";
const char kLegalDocumentMissingDisplayName[] =
"{"
- " \"legal_document_id\":\"doc_id\""
+ " \"legal_document_id\":\"doc_id\","
+ " \"url\":\"https://example.com\""
"}";
const char kWalletItemsWithRequiredActions[] =
@@ -269,7 +272,8 @@ const char kWalletItemsMissingGoogleTransactionId[] =
" ["
" {"
" \"legal_document_id\":\"doc_id\","
- " \"display_name\":\"display_name\""
+ " \"display_name\":\"display_name\","
+ " \"url\":\"https://example.com\""
" }"
" ]"
"}";
@@ -372,7 +376,8 @@ const char kRequiredLegalDocument[] =
" ["
" {"
" \"legal_document_id\":\"doc_id\","
- " \"display_name\":\"display_name\""
+ " \"display_name\":\"display_name\","
+ " \"url\":\"https://example.com\""
" }"
" ]";
@@ -471,20 +476,15 @@ TEST_F(WalletItemsTest, CreateLegalDocumentMissingDisplayName) {
TEST_F(WalletItemsTest, CreateLegalDocument) {
SetUpDictionary(kLegalDocument);
- WalletItems::LegalDocument expected("doc_id", ASCIIToUTF16("display_name"));
+ WalletItems::LegalDocument expected("doc_id", GURL("https://example.com"),
+ ASCIIToUTF16("display_name"));
EXPECT_EQ(expected,
*WalletItems::LegalDocument::CreateLegalDocument(*dict));
}
-TEST_F(WalletItemsTest, LegalDocumentUrl) {
- WalletItems::LegalDocument legal_doc("doc_id", ASCIIToUTF16("display_name"));
- EXPECT_EQ("https://wallet.google.com/legaldocument?docId=doc_id",
- legal_doc.url().spec());
-}
-
TEST_F(WalletItemsTest, LegalDocumentEmptyId) {
- WalletItems::LegalDocument legal_doc(GURL("http://example.com"),
- ASCIIToUTF16("display_name"));
+ WalletItems::LegalDocument legal_doc(
+ std::string(), GURL("https://example.com"), ASCIIToUTF16("display_name"));
EXPECT_TRUE(legal_doc.id().empty());
}
@@ -609,7 +609,7 @@ TEST_F(WalletItemsTest, CreateWalletItems) {
std::string(kRequiredLegalDocument) +
std::string(kCloseJson));
scoped_ptr<WalletItems::LegalDocument> legal_document(
- new WalletItems::LegalDocument("doc_id",
+ new WalletItems::LegalDocument("doc_id", GURL("https://example.com"),
ASCIIToUTF16("display_name")));
expected.AddLegalDocument(legal_document.Pass());
expected.AddLegalDocument(
diff --git a/components/autofill/content/browser/wallet/wallet_service_url.cc b/components/autofill/content/browser/wallet/wallet_service_url.cc
index 5049e79..89338c8 100644
--- a/components/autofill/content/browser/wallet/wallet_service_url.cc
+++ b/components/autofill/content/browser/wallet/wallet_service_url.cc
@@ -118,6 +118,10 @@ GURL GetManageAddressesUrl(size_t user_index) {
return GetBaseSecureUrl().Resolve(path);
}
+GURL GetPrivacyNoticeUrl() {
+ return GetWalletHostUrl().Resolve("legaldocument?family=0.privacynotice");
+}
+
GURL GetAcceptLegalDocumentsUrl(size_t user_index) {
return GetBaseAutocheckoutUrl(user_index).Resolve("acceptLegalDocument");
}
diff --git a/components/autofill/content/browser/wallet/wallet_service_url.h b/components/autofill/content/browser/wallet/wallet_service_url.h
index 91923e9..7d5d571 100644
--- a/components/autofill/content/browser/wallet/wallet_service_url.h
+++ b/components/autofill/content/browser/wallet/wallet_service_url.h
@@ -18,6 +18,7 @@ GURL GetGetWalletItemsUrl(size_t user_index);
GURL GetGetFullWalletUrl(size_t user_index);
GURL GetManageInstrumentsUrl(size_t user_index);
GURL GetManageAddressesUrl(size_t user_index);
+GURL GetPrivacyNoticeUrl();
GURL GetAcceptLegalDocumentsUrl(size_t user_index);
GURL GetAuthenticateInstrumentUrl(size_t user_index);
GURL GetSaveToWalletNoEscrowUrl(size_t user_index);
diff --git a/components/autofill/content/browser/wallet/wallet_service_url_unittest.cc b/components/autofill/content/browser/wallet/wallet_service_url_unittest.cc
index 2d43828..d2f562d 100644
--- a/components/autofill/content/browser/wallet/wallet_service_url_unittest.cc
+++ b/components/autofill/content/browser/wallet/wallet_service_url_unittest.cc
@@ -16,9 +16,10 @@ TEST(WalletServiceSandboxUrl, CheckSandboxUrls) {
CommandLine::ForCurrentProcess()->AppendSwitchASCII(
switches::kWalletServiceUseSandbox, "1");
- EXPECT_EQ("https://wallet-web.sandbox.google.com/online/v2/u/1/wallet/"
- "autocheckout/v1/getWalletItemsJwtless",
- GetGetWalletItemsUrl(1).spec());
+ EXPECT_EQ(
+ "https://wallet-web.sandbox.google.com/online/v2/u/1/wallet/"
+ "autocheckout/v1/getWalletItemsJwtless",
+ GetGetWalletItemsUrl(1).spec());
EXPECT_EQ("https://wallet-web.sandbox.google.com/online-secure/v2/u/1/"
"autocheckout/v1/getFullWalletJwtless?s7e=otp",
GetGetFullWalletUrl(1).spec());
@@ -27,6 +28,10 @@ TEST(WalletServiceSandboxUrl, CheckSandboxUrls) {
EXPECT_EQ("https://wallet-web.sandbox.google.com/manage/w/1/settings/"
"addresses",
GetManageAddressesUrl(1).spec());
+ EXPECT_EQ(
+ "https://wallet-web.sandbox.google.com/"
+ "legaldocument?family=0.privacynotice",
+ GetPrivacyNoticeUrl().spec());
EXPECT_EQ("https://wallet-web.sandbox.google.com/online/v2/u/1/wallet/"
"autocheckout/v1/acceptLegalDocument",
GetAcceptLegalDocumentsUrl(1).spec());
@@ -58,6 +63,10 @@ TEST(WalletServiceSandboxUrl, CheckProdUrls) {
GetManageInstrumentsUrl(1).spec());
EXPECT_EQ("https://wallet.google.com/manage/w/1/settings/addresses",
GetManageAddressesUrl(1).spec());
+ EXPECT_EQ(
+ "https://wallet.google.com/"
+ "legaldocument?family=0.privacynotice",
+ GetPrivacyNoticeUrl().spec());
EXPECT_EQ("https://wallet.google.com/online/v2/u/1/wallet/"
"autocheckout/v1/acceptLegalDocument",
GetAcceptLegalDocumentsUrl(1).spec());
diff --git a/components/autofill/content/browser/wallet/wallet_test_util.cc b/components/autofill/content/browser/wallet/wallet_test_util.cc
index 8ca992a..cd79a06 100644
--- a/components/autofill/content/browser/wallet/wallet_test_util.cc
+++ b/components/autofill/content/browser/wallet/wallet_test_util.cc
@@ -174,6 +174,7 @@ scoped_ptr<Instrument> GetTestAddressNameChangeInstrument() {
scoped_ptr<WalletItems::LegalDocument> GetTestLegalDocument() {
base::DictionaryValue dict;
dict.SetString("legal_document_id", "document_id");
+ dict.SetString("url", "https://example.com");
dict.SetString("display_name", "display_name");
return wallet::WalletItems::LegalDocument::CreateLegalDocument(dict);
}