alternate_nav_infobar_delegate.h revision 2a99a7e74a7f215066514fe81d2bfa6639d9eddd
1// Copyright 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#ifndef CHROME_BROWSER_UI_OMNIBOX_ALTERNATE_NAV_INFOBAR_DELEGATE_H_ 6#define CHROME_BROWSER_UI_OMNIBOX_ALTERNATE_NAV_INFOBAR_DELEGATE_H_ 7 8#include "base/basictypes.h" 9#include "base/compiler_specific.h" 10#include "chrome/browser/infobars/infobar_delegate.h" 11#include "googleurl/src/gurl.h" 12 13class AlternateNavInfoBarDelegate : public InfoBarDelegate { 14 public: 15 // Creates an alternate nav delegate and adds it to |infobar_service|. 16 static void Create(InfoBarService* infobar_service, 17 const GURL& alternate_nav_url); 18 19 string16 GetMessageTextWithOffset(size_t* link_offset) const; 20 string16 GetLinkText() const; 21 bool LinkClicked(WindowOpenDisposition disposition); 22 23 private: 24 AlternateNavInfoBarDelegate(InfoBarService* owner, 25 const GURL& alternate_nav_url); 26 virtual ~AlternateNavInfoBarDelegate(); 27 28 // InfoBarDelegate: 29 virtual InfoBar* CreateInfoBar(InfoBarService* owner) OVERRIDE; 30 virtual gfx::Image* GetIcon() const OVERRIDE; 31 virtual Type GetInfoBarType() const OVERRIDE; 32 33 GURL alternate_nav_url_; 34 35 DISALLOW_COPY_AND_ASSIGN(AlternateNavInfoBarDelegate); 36}; 37 38#endif // CHROME_BROWSER_UI_OMNIBOX_ALTERNATE_NAV_INFOBAR_DELEGATE_H_ 39