Home | History | Annotate | Download | only in download
      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