Home | History | Annotate | Download | only in infobars
      1 // Copyright (c) 2011 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_COCOA_INFOBARS_MOCK_CONFIRM_INFOBAR_DELEGATE_H_
      6 #define CHROME_BROWSER_UI_COCOA_INFOBARS_MOCK_CONFIRM_INFOBAR_DELEGATE_H_
      7 
      8 #include "base/basictypes.h"
      9 #include "base/compiler_specific.h"
     10 #include "base/strings/string16.h"
     11 #include "components/infobars/core/confirm_infobar_delegate.h"
     12 
     13 class MockConfirmInfoBarDelegate : public ConfirmInfoBarDelegate {
     14  public:
     15   // Called when |this| is about to be destroyed.
     16   class Owner {
     17    public:
     18     virtual void OnInfoBarDelegateClosed() = 0;
     19 
     20    protected:
     21     virtual ~Owner() {}
     22   };
     23 
     24   explicit MockConfirmInfoBarDelegate(Owner* owner);
     25   virtual ~MockConfirmInfoBarDelegate();
     26 
     27   void set_dont_close_on_action() { closes_on_action_ = false; }
     28   bool icon_accessed() const { return icon_accessed_; }
     29   bool message_text_accessed() const { return message_text_accessed_; }
     30   bool link_text_accessed() const { return link_text_accessed_; }
     31   bool ok_clicked() const { return ok_clicked_; }
     32   bool cancel_clicked() const { return cancel_clicked_; }
     33   bool link_clicked() const { return link_clicked_; }
     34 
     35   static const char kMessage[];
     36 
     37  private:
     38   // ConfirmInfoBarDelegate:
     39   virtual int GetIconID() const OVERRIDE;
     40   virtual base::string16 GetMessageText() const OVERRIDE;
     41   virtual base::string16 GetButtonLabel(InfoBarButton button) const OVERRIDE;
     42   virtual bool Accept() OVERRIDE;
     43   virtual bool Cancel() OVERRIDE;
     44   virtual base::string16 GetLinkText() const OVERRIDE;
     45   virtual bool LinkClicked(WindowOpenDisposition disposition) OVERRIDE;
     46 
     47   Owner* owner_;
     48   // Determines whether the infobar closes when an action is taken or not.
     49   bool closes_on_action_;
     50   mutable bool icon_accessed_;
     51   mutable bool message_text_accessed_;
     52   mutable bool link_text_accessed_;
     53   bool ok_clicked_;
     54   bool cancel_clicked_;
     55   bool link_clicked_;
     56 
     57   DISALLOW_COPY_AND_ASSIGN(MockConfirmInfoBarDelegate);
     58 };
     59 
     60 #endif  // CHROME_BROWSER_UI_COCOA_INFOBARS_MOCK_CONFIRM_INFOBAR_DELEGATE_H_
     61