#ifndef CHROME_BROWSER_UI_VIEWS_TOOLBAR_TOOLBAR_ORIGIN_CHIP_VIEW_H_
#define CHROME_BROWSER_UI_VIEWS_TOOLBAR_TOOLBAR_ORIGIN_CHIP_VIEW_H_
#include "chrome/browser/safe_browsing/ui_manager.h"
#include "chrome/browser/ui/toolbar/toolbar_model.h"
#include "chrome/browser/ui/views/location_bar/location_icon_view.h"
#include "chrome/browser/ui/views/toolbar/toolbar_button.h"
#include "ui/views/controls/button/button.h"
#include "ui/views/drag_controller.h"
class ToolbarOriginChipExtensionIcon;
class ToolbarView;
namespace content {
class WebContents;
}
namespace gfx {
class Canvas;
}
namespace views {
class Button;
class Label;
}
class ToolbarOriginChipView : public ToolbarButton,
                       public views::ButtonListener,
                       public views::DragController,
                       public SafeBrowsingUIManager::Observer {
 public:
  explicit ToolbarOriginChipView(ToolbarView* toolbar_view);
  virtual ~ToolbarOriginChipView();
  void Init();
  
  
  
  
  bool ShouldShow();
  
  void Update(content::WebContents* tab);
  
  
  void OnChanged();
  views::ImageView* location_icon_view() {
    return location_icon_view_;
  }
  const views::ImageView* location_icon_view() const {
    return location_icon_view_;
  }
  
  
  
  int ElideDomainTarget(int target_max_width);
  
  virtual gfx::Size GetPreferredSize() OVERRIDE;
  virtual void Layout() OVERRIDE;
  virtual void OnPaint(gfx::Canvas* canvas) OVERRIDE;
  
  virtual void ButtonPressed(views::Button* sender,
                             const ui::Event& event) OVERRIDE;
  
  virtual void WriteDragDataForView(View* sender,
                                    const gfx::Point& press_pt,
                                    OSExchangeData* data) OVERRIDE;
  virtual int GetDragOperationsForView(View* sender,
                                       const gfx::Point& p) OVERRIDE;
  virtual bool CanStartDragForView(View* sender,
                                   const gfx::Point& press_pt,
                                   const gfx::Point& p) OVERRIDE;
  
  virtual void OnSafeBrowsingHit(
      const SafeBrowsingUIManager::UnsafeResource& resource) OVERRIDE;
  virtual void OnSafeBrowsingMatch(
      const SafeBrowsingUIManager::UnsafeResource& resource) OVERRIDE;
 private:
  ToolbarView* toolbar_view_;
  views::Label* host_label_;
  LocationIconView* location_icon_view_;
  scoped_ptr<views::Painter> ev_background_painter_;
  scoped_ptr<views::Painter> broken_ssl_background_painter_;
  scoped_ptr<views::Painter> malware_background_painter_;
  
  
  views::Painter* painter_;
  bool showing_16x16_icon_;
  scoped_ptr<ToolbarOriginChipExtensionIcon> extension_icon_;
  GURL url_displayed_;
  ToolbarModel::SecurityLevel security_level_;
  bool url_malware_;
  DISALLOW_COPY_AND_ASSIGN(ToolbarOriginChipView);
};
#endif