blob: cd21a384dd8125f8b7cacc68cef6b3b5913b89d6 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "chrome/browser/ui/cocoa/download/download_shelf_mac.h"
#include "chrome/browser/download/download_item_model.h"
#include "chrome/browser/ui/browser.h"
#import "chrome/browser/ui/cocoa/download/download_shelf_controller.h"
#include "chrome/browser/ui/cocoa/download/download_item_mac.h"
DownloadShelfMac::DownloadShelfMac(Browser* browser,
DownloadShelfController* controller)
: browser_(browser),
shelf_controller_(controller) {
}
void DownloadShelfMac::DoAddDownload(content::DownloadItem* download) {
[shelf_controller_ addDownloadItem:download];
}
bool DownloadShelfMac::IsShowing() const {
return [shelf_controller_ isVisible] == YES;
}
bool DownloadShelfMac::IsClosing() const {
// TODO(estade): This is never called. For now just return false.
return false;
}
void DownloadShelfMac::DoShow() {
[shelf_controller_ showDownloadShelf:YES
isUserAction:NO];
browser_->UpdateDownloadShelfVisibility(true);
}
void DownloadShelfMac::DoClose(CloseReason reason) {
[shelf_controller_ showDownloadShelf:NO
isUserAction:reason == USER_ACTION];
browser_->UpdateDownloadShelfVisibility(false);
}
Browser* DownloadShelfMac::browser() const {
return browser_;
}