Index: components/payments/content/android/payment_manifest_downloader.h |
diff --git a/components/payments/content/android/payment_manifest_downloader.h b/components/payments/content/android/payment_manifest_downloader.h |
deleted file mode 100644 |
index eb02b61e28a6bec28fb3674e28ad111bf99356e3..0000000000000000000000000000000000000000 |
--- a/components/payments/content/android/payment_manifest_downloader.h |
+++ /dev/null |
@@ -1,98 +0,0 @@ |
-// Copyright 2017 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#ifndef COMPONENTS_PAYMENTS_CONTENT_ANDROID_PAYMENT_MANIFEST_DOWNLOADER_H_ |
-#define COMPONENTS_PAYMENTS_CONTENT_ANDROID_PAYMENT_MANIFEST_DOWNLOADER_H_ |
- |
-#include <memory> |
-#include <string> |
- |
-#include "base/macros.h" |
-#include "base/memory/ref_counted.h" |
-#include "net/url_request/url_fetcher.h" |
-#include "net/url_request/url_fetcher_delegate.h" |
-#include "url/gurl.h" |
- |
-namespace net { |
-class URLRequestContextGetter; |
-} |
- |
-namespace payments { |
- |
-// Downloader of the payment method manifest based on the payment method name |
-// that is a URL with HTTPS scheme, e.g., https://bobpay.com. The download |
-// happens via two consecutive HTTP requests: |
-// |
-// 1) HEAD request for the payment method name. The HTTP response header is |
-// parsed for Link header that points to the location of the payment method |
-// manifest file. Example of a relative location: |
-// |
-// Link: <data/payment-manifest.json>; rel="payment-method-manifest" |
-// |
-// (This is relative to the payment method URL.) Example of an absolute |
-// location: |
-// |
-// Link: <https://bobpay.com/data/payment-manifest.json>; |
-// rel="payment-method-manifest" |
-// |
-// The absolute location must use HTTPS scheme. |
-// |
-// 2) GET request for the payment method manifest file. |
-// |
-// The downloader does not follow redirects. A download succeeds only if both |
-// HTTP response codes are 200. |
-class PaymentManifestDownloader : public net::URLFetcherDelegate { |
- public: |
- // The interface for receiving the result of downloading a manifest. |
- class Delegate { |
- public: |
- // Called when a manifest has been successfully downloaded. |
- virtual void OnManifestDownloadSuccess(const std::string& content) = 0; |
- |
- // Called when failed to download the manifest for any reason: |
- // - HTTP response code is not 200. |
- // - HTTP response headers are absent. |
- // - HTTP response headers does not contain Link headers. |
- // - Link header does not contain rel="payment-method-manifest". |
- // - Link header does not contain a valid URL. |
- // - HTTP GET on the manifest URL returns empty content. |
- virtual void OnManifestDownloadFailure() = 0; |
- |
- protected: |
- virtual ~Delegate() {} |
- }; |
- |
- // |delegate| should not be null and must outlive this object. |method_name| |
- // should be a valid URL that starts with "https://". |
- PaymentManifestDownloader( |
- const scoped_refptr<net::URLRequestContextGetter>& context, |
- const GURL& method_name, |
- Delegate* delegate); |
- |
- ~PaymentManifestDownloader() override; |
- |
- void Download(); |
- |
- private: |
- void InitiateDownload(const GURL& url, |
- net::URLFetcher::RequestType request_type); |
- |
- // net::URLFetcherDelegate |
- void OnURLFetchComplete(const net::URLFetcher* source) override; |
- |
- scoped_refptr<net::URLRequestContextGetter> context_; |
- const GURL method_name_; |
- |
- // Non-owned. Never null. Outlives this object. |
- Delegate* delegate_; |
- |
- bool is_downloading_http_link_header_; |
- std::unique_ptr<net::URLFetcher> fetcher_; |
- |
- DISALLOW_COPY_AND_ASSIGN(PaymentManifestDownloader); |
-}; |
- |
-} // namespace payments |
- |
-#endif // COMPONENTS_PAYMENTS_CONTENT_ANDROID_PAYMENT_MANIFEST_DOWNLOADER_H_ |