diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-04 03:30:22 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-06-04 03:30:22 +0000 |
commit | 59560e0ba999d5edc33453d4a0fbf44831025817 (patch) | |
tree | f365944f6f0eca593a28747a7fed4caf169578fb /chrome/browser/cocoa | |
parent | 4d2868972ff25746d39ecea58e88480ae0463145 (diff) | |
download | chromium_src-59560e0ba999d5edc33453d4a0fbf44831025817.zip chromium_src-59560e0ba999d5edc33453d4a0fbf44831025817.tar.gz chromium_src-59560e0ba999d5edc33453d4a0fbf44831025817.tar.bz2 |
Move download shelf from per-tab to per-window. Also disable auto-hiding of
the shelf.
BUG=9025
TEST=Download file in one tab, open new tab, and check that download shelf is
still open. Also try the shelf's close button and the "show all downloads"
link. When saving a file, the download animation should not show up.
Review URL: http://codereview.chromium.org/115740
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17595 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa')
-rw-r--r-- | chrome/browser/cocoa/browser_window_cocoa.h | 8 | ||||
-rw-r--r-- | chrome/browser/cocoa/browser_window_cocoa.mm | 19 |
2 files changed, 26 insertions, 1 deletions
diff --git a/chrome/browser/cocoa/browser_window_cocoa.h b/chrome/browser/cocoa/browser_window_cocoa.h index 4cec480..69b9715 100644 --- a/chrome/browser/cocoa/browser_window_cocoa.h +++ b/chrome/browser/cocoa/browser_window_cocoa.h @@ -57,6 +57,8 @@ class BrowserWindowCocoa : public BrowserWindow, virtual void ShowAboutChromeDialog(); virtual void ShowBookmarkManager(); virtual void ShowBookmarkBubble(const GURL& url, bool already_bookmarked); + virtual bool IsDownloadShelfVisible() const; + virtual DownloadShelf* GetDownloadShelf(); virtual void ShowReportBugDialog(); virtual void ShowClearBrowsingDataDialog(); virtual void ShowImportDialog(); @@ -86,6 +88,12 @@ class BrowserWindowCocoa : public BrowserWindow, NSWindow* window_; // weak, owned by controller Browser* browser_; // weak, owned by controller BrowserWindowController* controller_; // weak, owns us + + // Data for shelves and stuff ------------------------------------------------ + // FIXME(thakis): This should probably in the controller on OS X. + + // The download shelf view (view at the bottom of the page). + scoped_ptr<DownloadShelf> download_shelf_; }; #endif // CHROME_BROWSER_COCOA_BROWSER_WINDOW_COCOA_H_ diff --git a/chrome/browser/cocoa/browser_window_cocoa.mm b/chrome/browser/cocoa/browser_window_cocoa.mm index 429c0be..d052f61 100644 --- a/chrome/browser/cocoa/browser_window_cocoa.mm +++ b/chrome/browser/cocoa/browser_window_cocoa.mm @@ -10,15 +10,20 @@ #import "chrome/browser/cocoa/browser_window_controller.h" #import "chrome/browser/cocoa/clear_browsing_data_controller.h" #include "chrome/browser/browser.h" +#include "chrome/browser/download/download_shelf.h" #include "chrome/common/notification_service.h" #include "chrome/common/pref_names.h" #include "chrome/common/pref_service.h" +#include "chrome/common/temp_scaffolding_stubs.h" #include "chrome/browser/profile.h" BrowserWindowCocoa::BrowserWindowCocoa(Browser* browser, BrowserWindowController* controller, NSWindow* window) - : window_(window), browser_(browser), controller_(controller) { + : window_(window), + browser_(browser), + controller_(controller), + download_shelf_() { // This pref applies to all windows, so all must watch for it. registrar_.Add(this, NotificationType::BOOKMARK_BAR_VISIBILITY_PREF_CHANGED, NotificationService::AllSources()); @@ -182,6 +187,18 @@ void BrowserWindowCocoa::ShowBookmarkBubble(const GURL& url, NOTIMPLEMENTED(); } +bool BrowserWindowCocoa::IsDownloadShelfVisible() const { + return download_shelf_ != NULL && download_shelf_->IsShowing(); +} + +DownloadShelf* BrowserWindowCocoa::GetDownloadShelf() { + NOTIMPLEMENTED(); + if (!download_shelf_.get()) { + download_shelf_.reset(new DownloadShelfMac(browser_)); + } + return download_shelf_.get(); +} + void BrowserWindowCocoa::ShowReportBugDialog() { NOTIMPLEMENTED(); } |