15821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)// Copyright (c) 2011 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)#ifndef CHROME_BROWSER_UI_COCOA_INFOBARS_MOCK_CONFIRM_INFOBAR_DELEGATE_H_ 65821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#define CHROME_BROWSER_UI_COCOA_INFOBARS_MOCK_CONFIRM_INFOBAR_DELEGATE_H_ 75821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 85821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/basictypes.h" 95821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#include "base/compiler_specific.h" 10868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/string16.h" 112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)#include "chrome/browser/infobars/confirm_infobar_delegate.h" 125821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 135821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)class MockConfirmInfoBarDelegate : public ConfirmInfoBarDelegate { 145821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 155821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Called when |this| is about to be destroyed. 165821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) class Owner { 175821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) public: 185821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual void OnInfoBarDelegateClosed() = 0; 195821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 205821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) protected: 215821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual ~Owner() {} 225821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) }; 235821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 245821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) explicit MockConfirmInfoBarDelegate(Owner* owner); 255821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual ~MockConfirmInfoBarDelegate(); 265821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 275821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) void set_dont_close_on_action() { closes_on_action_ = false; } 285821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool icon_accessed() const { return icon_accessed_; } 295821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool message_text_accessed() const { return message_text_accessed_; } 305821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool link_text_accessed() const { return link_text_accessed_; } 315821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool ok_clicked() const { return ok_clicked_; } 325821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool cancel_clicked() const { return cancel_clicked_; } 335821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool link_clicked() const { return link_clicked_; } 345821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 355821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) static const char kMessage[]; 365821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 375821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) private: 385821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // ConfirmInfoBarDelegate: 3990dce4d38c5ff5333bea97d859d4e484e27edf0cTorne (Richard Coles) virtual int GetIconID() const OVERRIDE; 405821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual string16 GetMessageText() const OVERRIDE; 415821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual string16 GetButtonLabel(InfoBarButton button) const OVERRIDE; 425821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool Accept() OVERRIDE; 435821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool Cancel() OVERRIDE; 445821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual string16 GetLinkText() const OVERRIDE; 455821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) virtual bool LinkClicked(WindowOpenDisposition disposition) OVERRIDE; 465821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 475821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) Owner* owner_; 485821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) // Determines whether the infobar closes when an action is taken or not. 495821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool closes_on_action_; 505821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mutable bool icon_accessed_; 515821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mutable bool message_text_accessed_; 525821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) mutable bool link_text_accessed_; 535821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool ok_clicked_; 545821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool cancel_clicked_; 555821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) bool link_clicked_; 565821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 575821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) DISALLOW_COPY_AND_ASSIGN(MockConfirmInfoBarDelegate); 585821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)}; 595821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles) 605821806d5e7f356e8fa4b058a389a808ea183019Torne (Richard Coles)#endif // CHROME_BROWSER_UI_COCOA_INFOBARS_MOCK_CONFIRM_INFOBAR_DELEGATE_H_ 61