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 13 class BaseDownloadItemModel; 14 class CustomDrawButton; 15 class 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 23 class 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