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 13namespace 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//////////////////////////////////////////////////////////////////////////////// 23class 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