- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / ui / cocoa / download / download_shelf_mac.mm
1 // Copyright (c) 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 #include "chrome/browser/ui/cocoa/download/download_shelf_mac.h"
6
7 #include "chrome/browser/download/download_item_model.h"
8 #include "chrome/browser/ui/browser.h"
9 #import "chrome/browser/ui/cocoa/download/download_shelf_controller.h"
10 #include "chrome/browser/ui/cocoa/download/download_item_mac.h"
11
12 DownloadShelfMac::DownloadShelfMac(Browser* browser,
13                                    DownloadShelfController* controller)
14     : browser_(browser),
15       shelf_controller_(controller) {
16 }
17
18 void DownloadShelfMac::DoAddDownload(content::DownloadItem* download) {
19   [shelf_controller_ addDownloadItem:download];
20 }
21
22 bool DownloadShelfMac::IsShowing() const {
23   return [shelf_controller_ isVisible] == YES;
24 }
25
26 bool DownloadShelfMac::IsClosing() const {
27   // TODO(estade): This is never called. For now just return false.
28   return false;
29 }
30
31 void DownloadShelfMac::DoShow() {
32   [shelf_controller_ showDownloadShelf:YES
33                           isUserAction:NO];
34   browser_->UpdateDownloadShelfVisibility(true);
35 }
36
37 void DownloadShelfMac::DoClose(CloseReason reason) {
38   [shelf_controller_ showDownloadShelf:NO
39                           isUserAction:reason == USER_ACTION];
40   browser_->UpdateDownloadShelfVisibility(false);
41 }
42
43 Browser* DownloadShelfMac::browser() const {
44   return browser_;
45 }