// Copyright 2014 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 CHROME_BROWSER_UI_AUTOFILL_CREDIT_CARD_SCANNER_VIEW_H_ #define CHROME_BROWSER_UI_AUTOFILL_CREDIT_CARD_SCANNER_VIEW_H_ #include "base/memory/scoped_ptr.h" #include "base/memory/weak_ptr.h" namespace content { class WebContents; } namespace autofill { class CreditCardScannerViewDelegate; // View for the credit card scanner UI. Owned by the controller. class CreditCardScannerView { public: // Returns true if the platform implements the credit card scanner UI and the // device supports scanning credit cards, e.g., it has a camera. static bool CanShow(); // Creates a view for the credit card scanner UI. The view is associated with // the |web_contents| and notifies the |delegate| when a scan is cancelled or // completed. Should be called only if CanShow() returns true. static scoped_ptr Create( const base::WeakPtr& delegate, content::WebContents* web_contents); virtual ~CreditCardScannerView() {} // Shows the UI for scanning credit cards. virtual void Show() = 0; }; } // namespace autofill #endif // CHROME_BROWSER_UI_AUTOFILL_CREDIT_CARD_SCANNER_VIEW_H_