15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2012 The Chromium Authors. All rights reserved.
25821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
35821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// found in the LICENSE file.
45821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
55821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "chrome/browser/ui/cocoa/infobars/mock_confirm_infobar_delegate.h"
65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
7868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/utf_string_conversions.h"
85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)const char MockConfirmInfoBarDelegate::kMessage[] = "MockConfirmInfoBarMessage";
105821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
115821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockConfirmInfoBarDelegate::MockConfirmInfoBarDelegate(Owner* owner)
12a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)    : ConfirmInfoBarDelegate(),
135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      owner_(owner),
145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      closes_on_action_(true),
155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      icon_accessed_(false),
165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      message_text_accessed_(false),
175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      link_text_accessed_(false),
185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      ok_clicked_(false),
195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      cancel_clicked_(false),
205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)      link_clicked_(false) {
215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)MockConfirmInfoBarDelegate::~MockConfirmInfoBarDelegate() {
245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  if (owner_)
255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    owner_->OnInfoBarDelegateClosed();
265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
2890dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)int MockConfirmInfoBarDelegate::GetIconID() const {
295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  icon_accessed_ = true;
3090dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles)  return kNoIconID;
315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
335d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)base::string16 MockConfirmInfoBarDelegate::GetMessageText() const {
345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  message_text_accessed_ = true;
355d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  return base::ASCIIToUTF16(kMessage);
365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
385d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)base::string16 MockConfirmInfoBarDelegate::GetButtonLabel(
395821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    InfoBarButton button) const {
405d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)  return base::ASCIIToUTF16((button == BUTTON_OK) ? "OK" : "Cancel");
415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool MockConfirmInfoBarDelegate::Accept() {
445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  ok_clicked_ = true;
455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return closes_on_action_;
465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool MockConfirmInfoBarDelegate::Cancel() {
495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  cancel_clicked_ = true;
505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return closes_on_action_;
515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
535d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)base::string16 MockConfirmInfoBarDelegate::GetLinkText() const {
545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  link_text_accessed_ = true;
55a3f6a49ab37290eeeb8db0f41ec0f1cb74a68be7Torne (Richard Coles)  return base::string16();
565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)
585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)bool MockConfirmInfoBarDelegate::LinkClicked(
595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)    WindowOpenDisposition disposition) {
605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  link_clicked_ = true;
615821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)  return closes_on_action_;
625821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}
63