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_LINK_INFOBAR_DELEGATE_H_ 6dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#define CHROME_BROWSER_UI_COCOA_INFOBARS_MOCK_LINK_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/link_infobar_delegate.h" 13dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 14dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenclass SkBitmap; 15dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 16dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenclass MockLinkInfoBarDelegate : public LinkInfoBarDelegate { 17dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen public: 18dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen MockLinkInfoBarDelegate(); 19dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual ~MockLinkInfoBarDelegate(); 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 link_clicked() const { return link_clicked_; } 26dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen bool closed() const { return closed_; } 27dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 28dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen static const char kMessage[]; 29dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen static const char kLink[]; 30dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 31dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen private: 32dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen // LinkInfoBarDelegate: 33dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual void InfoBarClosed() OVERRIDE; 34dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual SkBitmap* GetIcon() const OVERRIDE; 35dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual string16 GetMessageTextWithOffset(size_t* link_offset) const OVERRIDE; 36dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual string16 GetLinkText() const OVERRIDE; 37dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual bool LinkClicked(WindowOpenDisposition disposition) OVERRIDE; 38dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 39dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen // Determines whether the infobar closes when an action is taken or not. 40dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen bool closes_on_action_; 41dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen mutable bool icon_accessed_; 42dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen mutable bool message_text_accessed_; 43dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen mutable bool link_text_accessed_; 44dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen bool link_clicked_; 45dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen bool closed_; 46dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 47dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen DISALLOW_COPY_AND_ASSIGN(MockLinkInfoBarDelegate); 48dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}; 49dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 50dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#endif // CHROME_BROWSER_UI_COCOA_INFOBARS_MOCK_LINK_INFOBAR_DELEGATE_H_ 51