1// Copyright 2013 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#ifndef CHROME_BROWSER_UI_COCOA_INFOBARS_INFOBAR_CONTAINER_COCOA_H_ 6#define CHROME_BROWSER_UI_COCOA_INFOBARS_INFOBAR_CONTAINER_COCOA_H_ 7 8#include "components/infobars/core/infobar_container.h" 9 10@class InfoBarContainerController; 11 12// The cocoa specific implementation of InfoBarContainer. This mostly serves as 13// a bridge for InfoBarContainerController. 14class InfoBarContainerCocoa : public infobars::InfoBarContainer, 15 public infobars::InfoBarContainer::Delegate { 16 public: 17 explicit InfoBarContainerCocoa(InfoBarContainerController* controller); 18 virtual ~InfoBarContainerCocoa(); 19 20 private: 21 // InfoBarContainer: 22 virtual void PlatformSpecificAddInfoBar(infobars::InfoBar* infobar, 23 size_t position) OVERRIDE; 24 virtual void PlatformSpecificRemoveInfoBar( 25 infobars::InfoBar* infobar) OVERRIDE; 26 27 // InfoBarContainer::Delegate: 28 virtual SkColor GetInfoBarSeparatorColor() const OVERRIDE; 29 virtual void InfoBarContainerStateChanged(bool is_animating) OVERRIDE; 30 virtual bool DrawInfoBarArrows(int* x) const OVERRIDE; 31 32 InfoBarContainerController* controller_; // weak, owns us. 33 34 DISALLOW_COPY_AND_ASSIGN(InfoBarContainerCocoa); 35}; 36 37#endif // CHROME_BROWSER_UI_COCOA_INFOBARS_INFOBAR_CONTAINER_COCOA_H_ 38