1// Copyright (c) 2012 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#include "chrome/browser/ui/cocoa/infobars/mock_confirm_infobar_delegate.h"
6
7#include "base/strings/utf_string_conversions.h"
8
9const char MockConfirmInfoBarDelegate::kMessage[] = "MockConfirmInfoBarMessage";
10
11MockConfirmInfoBarDelegate::MockConfirmInfoBarDelegate(Owner* owner)
12    : ConfirmInfoBarDelegate(),
13      owner_(owner),
14      closes_on_action_(true),
15      icon_accessed_(false),
16      message_text_accessed_(false),
17      link_text_accessed_(false),
18      ok_clicked_(false),
19      cancel_clicked_(false),
20      link_clicked_(false) {
21}
22
23MockConfirmInfoBarDelegate::~MockConfirmInfoBarDelegate() {
24  if (owner_)
25    owner_->OnInfoBarDelegateClosed();
26}
27
28int MockConfirmInfoBarDelegate::GetIconID() const {
29  icon_accessed_ = true;
30  return kNoIconID;
31}
32
33base::string16 MockConfirmInfoBarDelegate::GetMessageText() const {
34  message_text_accessed_ = true;
35  return base::ASCIIToUTF16(kMessage);
36}
37
38base::string16 MockConfirmInfoBarDelegate::GetButtonLabel(
39    InfoBarButton button) const {
40  return base::ASCIIToUTF16((button == BUTTON_OK) ? "OK" : "Cancel");
41}
42
43bool MockConfirmInfoBarDelegate::Accept() {
44  ok_clicked_ = true;
45  return closes_on_action_;
46}
47
48bool MockConfirmInfoBarDelegate::Cancel() {
49  cancel_clicked_ = true;
50  return closes_on_action_;
51}
52
53base::string16 MockConfirmInfoBarDelegate::GetLinkText() const {
54  link_text_accessed_ = true;
55  return base::string16();
56}
57
58bool MockConfirmInfoBarDelegate::LinkClicked(
59    WindowOpenDisposition disposition) {
60  link_clicked_ = true;
61  return closes_on_action_;
62}
63