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

Unified Diff: ios/chrome/browser/payments/payment_request_manager.h

Issue 2585233003: Upstream Chrome on iOS source code [2/11]. (Closed)
Patch Set: Created 4 years 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: ios/chrome/browser/payments/payment_request_manager.h
diff --git a/ios/chrome/browser/payments/payment_request_manager.h b/ios/chrome/browser/payments/payment_request_manager.h
new file mode 100644
index 0000000000000000000000000000000000000000..317169d1de6163581357f5d1a3828f1d54a12912
--- /dev/null
+++ b/ios/chrome/browser/payments/payment_request_manager.h
@@ -0,0 +1,58 @@
+// Copyright 2016 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 IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_MANAGER_H_
+#define IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_MANAGER_H_
+
+#import <UIKit/UIKit.h>
+
+namespace ios {
+class ChromeBrowserState;
+}
+
+namespace web {
+class WebState;
+}
+
+// Manager for handling invocations of the Payment Request API.
+//
+// Implements the app-side of the Payment Request JavaScript API. Injects and
+// listens to the injected JavaScript and invokes the creation of the user
+// interface.
+@interface PaymentRequestManager : NSObject
+
+// YES if Payment Request is enabled on the current web state.
+@property(readonly) BOOL enabled;
+
+// The current web state being observed for PaymentRequest invocations.
+@property(nonatomic, assign) web::WebState* webState;
+
+// Designated initializer.
+- (instancetype)initWithBaseViewController:(UIViewController*)viewController
+ browserState:
+ (ios::ChromeBrowserState*)browserState
+ NS_DESIGNATED_INITIALIZER;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+// Sets the WebState to be observed for invocations of the Payment Request API.
+// |webState|'s lifetime should be greater than the reciever's. |webState| can
+// be nil.
+- (void)setWebState:(web::WebState*)webState;
+
+// Enables or disables the Payment Request API for the current webState. If
+// |enabled| is YES, the API may still not be enabled if the flag is not set;
+// the -enabled property will indicate the current status. This method functions
+// asynchronously.
+- (void)enablePaymentRequest:(BOOL)enabled;
+
+// Cancels the pending request and dismiss the UI.
+- (void)cancelRequest;
+
+// Destroys the receiver. Any following call is not supported.
+- (void)close;
+
+@end
+
+#endif // IOS_CHROME_BROWSER_PAYMENTS_PAYMENT_REQUEST_MANAGER_H_
« no previous file with comments | « ios/chrome/browser/payments/payment_request_coordinator.mm ('k') | ios/chrome/browser/payments/payment_request_manager.mm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698