Index: chrome/browser/web_data_service_factory.cc |
diff --git a/chrome/browser/web_data_service_factory.cc b/chrome/browser/web_data_service_factory.cc |
index 258de38ca6a12b8fe4bfeac1e405a03b0d6d2f03..e0cf5cb3169611b3d8fe34296468eed14cacf3c1 100644 |
--- a/chrome/browser/web_data_service_factory.cc |
+++ b/chrome/browser/web_data_service_factory.cc |
@@ -25,6 +25,10 @@ |
#include "components/password_manager/core/browser/webdata/password_web_data_service_win.h" |
#endif |
+#if defined(OS_ANDROID) |
+#include "components/payments/android/payment_manifest_web_data_service.h" |
+#endif |
+ |
using content::BrowserThread; |
namespace { |
@@ -45,6 +49,9 @@ ProfileErrorType ProfileErrorFromWebDataServiceWrapperError( |
case WebDataServiceWrapper::ERROR_LOADING_PASSWORD: |
return ProfileErrorType::DB_WEB_DATA; |
+ case WebDataServiceWrapper::ERROR_LOADING_PAYMENT_MANIFEST: |
+ return ProfileErrorType::DB_PAYMENT_MANIFEST_WEB_DATA; |
+ |
default: |
NOTREACHED() |
<< "Unknown WebDataServiceWrapper::ErrorType: " << error_type; |
@@ -150,6 +157,21 @@ WebDataServiceFactory::GetPasswordWebDataForProfile( |
} |
#endif |
+#if defined(OS_ANDROID) |
+// static |
+scoped_refptr<payments::PaymentManifestWebDataService> |
+WebDataServiceFactory::GetPaymentManifestWebDataForProfile( |
+ Profile* profile, |
+ ServiceAccessType access_type) { |
+ WebDataServiceWrapper* wrapper = |
+ WebDataServiceFactory::GetForProfile(profile, access_type); |
+ // |wrapper| can be null in Incognito mode. |
+ return wrapper |
+ ? wrapper->GetPaymentManifestWebData() |
+ : scoped_refptr<payments::PaymentManifestWebDataService>(nullptr); |
+} |
+#endif |
+ |
// static |
WebDataServiceFactory* WebDataServiceFactory::GetInstance() { |
return base::Singleton<WebDataServiceFactory>::get(); |