1 // Copyright 2013 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef CHROME_BROWSER_UI_AUTOFILL_TEST_GENERATED_CREDIT_CARD_BUBBLE_VIEW_H_ 6 #define CHROME_BROWSER_UI_AUTOFILL_TEST_GENERATED_CREDIT_CARD_BUBBLE_VIEW_H_ 7 8 #include "base/basictypes.h" 9 #include "base/compiler_specific.h" 10 #include "base/memory/weak_ptr.h" 11 #include "chrome/browser/ui/autofill/generated_credit_card_bubble_view.h" 12 13 namespace autofill { 14 15 //////////////////////////////////////////////////////////////////////////////// 16 // 17 // TestGeneratedCreditCardBubbleView 18 // 19 // A cross-platform, headless bubble that doesn't conflict with other top-level 20 // widgets/windows. 21 // 22 //////////////////////////////////////////////////////////////////////////////// 23 class TestGeneratedCreditCardBubbleView : public GeneratedCreditCardBubbleView { 24 public: 25 // Creates a bubble and returns a weak reference to it. 26 static base::WeakPtr<TestGeneratedCreditCardBubbleView> Create( 27 const base::WeakPtr<GeneratedCreditCardBubbleController>& controller); 28 29 virtual ~TestGeneratedCreditCardBubbleView(); 30 31 // GeneratedCreditCardBubbleView: 32 virtual void Show() OVERRIDE; 33 virtual void Hide() OVERRIDE; 34 virtual bool IsHiding() const OVERRIDE; 35 36 base::WeakPtr<TestGeneratedCreditCardBubbleView> GetWeakPtr(); 37 38 bool showing() const { return showing_; } 39 40 private: 41 explicit TestGeneratedCreditCardBubbleView( 42 const base::WeakPtr<GeneratedCreditCardBubbleController>& controller); 43 44 // A weak reference to the controller that operates this bubble. 45 base::WeakPtr<GeneratedCreditCardBubbleController> controller_; 46 47 // Whether the bubble is currently showing or not. 48 bool showing_; 49 50 base::WeakPtrFactory<TestGeneratedCreditCardBubbleView> weak_ptr_factory_; 51 52 DISALLOW_COPY_AND_ASSIGN(TestGeneratedCreditCardBubbleView); 53 }; 54 55 } // namespace autofill 56 57 #endif // CHROME_BROWSER_UI_AUTOFILL_TEST_GENERATED_CREDIT_CARD_BUBBLE_VIEW_H_ 58