1// Copyright (c) 2010 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_DOWNLOAD_DOWNLOAD_SHELF_MAC_H_ 6#define CHROME_BROWSER_UI_COCOA_DOWNLOAD_DOWNLOAD_SHELF_MAC_H_ 7#pragma once 8 9#import <Cocoa/Cocoa.h> 10 11#include "chrome/browser/download/download_shelf.h" 12 13class BaseDownloadItemModel; 14class CustomDrawButton; 15class DownloadItemMac; 16 17@class ShelfView; 18@class DownloadShelfController; 19 20// A class to bridge the chromium download shelf to mac gui. This is just a 21// wrapper class that forward everything to DownloadShelfController. 22 23class DownloadShelfMac : public DownloadShelf { 24 public: 25 explicit DownloadShelfMac(Browser* browser, 26 DownloadShelfController* controller); 27 28 // DownloadShelf implementation. 29 virtual void AddDownload(BaseDownloadItemModel* download_model); 30 virtual bool IsShowing() const; 31 virtual bool IsClosing() const; 32 virtual void Show(); 33 virtual void Close(); 34 virtual Browser* browser() const; 35 36 private: 37 // The browser that owns this shelf. 38 Browser* browser_; 39 40 DownloadShelfController* shelf_controller_; // weak, owns us 41}; 42 43#endif // CHROME_BROWSER_UI_COCOA_DOWNLOAD_DOWNLOAD_SHELF_MAC_H_ 44