1dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved.
2dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// Use of this source code is governed by a BSD-style license that can be
3dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// found in the LICENSE file.
4dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
5dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#ifndef CHROME_BROWSER_UI_COCOA_INFOBARS_MOCK_CONFIRM_INFOBAR_DELEGATE_H_
6dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#define CHROME_BROWSER_UI_COCOA_INFOBARS_MOCK_CONFIRM_INFOBAR_DELEGATE_H_
7dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#pragma once
8dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
9dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "base/basictypes.h"
10dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "base/compiler_specific.h"
11dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "base/string16.h"
12dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "chrome/browser/tab_contents/confirm_infobar_delegate.h"
13dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
14dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenclass SkBitmap;
15dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
16dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenclass MockConfirmInfoBarDelegate : public ConfirmInfoBarDelegate {
17dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen public:
18dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  MockConfirmInfoBarDelegate();
19dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  virtual ~MockConfirmInfoBarDelegate();
20dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
21dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  void set_dont_close_on_action() { closes_on_action_ = false; }
22dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  bool icon_accessed() const { return icon_accessed_; }
23dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  bool message_text_accessed() const { return message_text_accessed_; }
24dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  bool link_text_accessed() const { return link_text_accessed_; }
25dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  bool ok_clicked() const { return ok_clicked_; }
26dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  bool cancel_clicked() const { return cancel_clicked_; }
27dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  bool link_clicked() const { return link_clicked_; }
28dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  bool closed() const { return closed_; }
29dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
30dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  static const char kMessage[];
31dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
32dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen private:
33dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  // ConfirmInfoBarDelegate:
34dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  virtual void InfoBarClosed() OVERRIDE;
35dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  virtual SkBitmap* GetIcon() const OVERRIDE;
36dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  virtual string16 GetMessageText() const OVERRIDE;
37dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  virtual string16 GetButtonLabel(InfoBarButton button) const OVERRIDE;
38dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  virtual bool Accept() OVERRIDE;
39dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  virtual bool Cancel() OVERRIDE;
40dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  virtual string16 GetLinkText() OVERRIDE;
41dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  virtual bool LinkClicked(WindowOpenDisposition disposition) OVERRIDE;
42dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
43dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  // Determines whether the infobar closes when an action is taken or not.
44dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  bool closes_on_action_;
45dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  mutable bool icon_accessed_;
46dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  mutable bool message_text_accessed_;
47dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  mutable bool link_text_accessed_;
48dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  bool ok_clicked_;
49dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  bool cancel_clicked_;
50dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  bool link_clicked_;
51dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  bool closed_;
52dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
53dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen  DISALLOW_COPY_AND_ASSIGN(MockConfirmInfoBarDelegate);
54dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen};
55dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen
56dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#endif  // CHROME_BROWSER_UI_COCOA_INFOBARS_MOCK_CONFIRM_INFOBAR_DELEGATE_H_
57