Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(61)

Side by Side Diff: chrome/browser/gtk/browser_window_gtk.cc

Issue 115740: Move download shelf from per-tab to per-window (Closed) Base URL: http://src.chromium.org/svn/trunk/src/
Patch Set: '' Created 11 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/gtk/browser_window_gtk.h ('k') | chrome/browser/gtk/download_item_gtk.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2009 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2009 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chrome/browser/gtk/browser_window_gtk.h" 5 #include "chrome/browser/gtk/browser_window_gtk.h"
6 6
7 #include <gdk/gdkkeysyms.h> 7 #include <gdk/gdkkeysyms.h>
8 8
9 #include "app/resource_bundle.h" 9 #include "app/resource_bundle.h"
10 #include "base/base_paths_linux.h" 10 #include "base/base_paths_linux.h"
11 #include "base/gfx/gtk_util.h" 11 #include "base/gfx/gtk_util.h"
12 #include "base/logging.h" 12 #include "base/logging.h"
13 #include "base/message_loop.h" 13 #include "base/message_loop.h"
14 #include "base/path_service.h" 14 #include "base/path_service.h"
15 #include "base/string_util.h" 15 #include "base/string_util.h"
16 #include "base/time.h" 16 #include "base/time.h"
17 #include "chrome/app/chrome_dll_resource.h" 17 #include "chrome/app/chrome_dll_resource.h"
18 #include "chrome/browser/bookmarks/bookmark_utils.h" 18 #include "chrome/browser/bookmarks/bookmark_utils.h"
19 #include "chrome/browser/browser.h" 19 #include "chrome/browser/browser.h"
20 #include "chrome/browser/browser_list.h" 20 #include "chrome/browser/browser_list.h"
21 #include "chrome/browser/download/download_item_model.h"
22 #include "chrome/browser/download/download_manager.h"
21 #include "chrome/browser/gtk/about_chrome_dialog.h" 23 #include "chrome/browser/gtk/about_chrome_dialog.h"
22 #include "chrome/browser/gtk/bookmark_bar_gtk.h" 24 #include "chrome/browser/gtk/bookmark_bar_gtk.h"
23 #include "chrome/browser/gtk/browser_toolbar_gtk.h" 25 #include "chrome/browser/gtk/browser_toolbar_gtk.h"
24 #include "chrome/browser/gtk/clear_browsing_data_dialog_gtk.h" 26 #include "chrome/browser/gtk/clear_browsing_data_dialog_gtk.h"
27 #include "chrome/browser/gtk/download_shelf_gtk.h"
25 #include "chrome/browser/gtk/go_button_gtk.h" 28 #include "chrome/browser/gtk/go_button_gtk.h"
26 #include "chrome/browser/gtk/import_dialog_gtk.h" 29 #include "chrome/browser/gtk/import_dialog_gtk.h"
27 #include "chrome/browser/gtk/infobar_container_gtk.h" 30 #include "chrome/browser/gtk/infobar_container_gtk.h"
28 #include "chrome/browser/gtk/find_bar_gtk.h" 31 #include "chrome/browser/gtk/find_bar_gtk.h"
29 #include "chrome/browser/gtk/status_bubble_gtk.h" 32 #include "chrome/browser/gtk/status_bubble_gtk.h"
30 #include "chrome/browser/gtk/tab_contents_container_gtk.h" 33 #include "chrome/browser/gtk/tab_contents_container_gtk.h"
31 #include "chrome/browser/gtk/tabs/tab_strip_gtk.h" 34 #include "chrome/browser/gtk/tabs/tab_strip_gtk.h"
32 #include "chrome/browser/gtk/toolbar_star_toggle_gtk.h" 35 #include "chrome/browser/gtk/toolbar_star_toggle_gtk.h"
33 #include "chrome/browser/location_bar.h" 36 #include "chrome/browser/location_bar.h"
34 #include "chrome/browser/renderer_host/render_widget_host_view_gtk.h" 37 #include "chrome/browser/renderer_host/render_widget_host_view_gtk.h"
(...skipping 516 matching lines...) Expand 10 before | Expand all | Expand 10 after
551 554
552 void BrowserWindowGtk::ShowBookmarkManager() { 555 void BrowserWindowGtk::ShowBookmarkManager() {
553 NOTIMPLEMENTED(); 556 NOTIMPLEMENTED();
554 } 557 }
555 558
556 void BrowserWindowGtk::ShowBookmarkBubble(const GURL& url, 559 void BrowserWindowGtk::ShowBookmarkBubble(const GURL& url,
557 bool already_bookmarked) { 560 bool already_bookmarked) {
558 toolbar_->star()->ShowStarBubble(url, !already_bookmarked); 561 toolbar_->star()->ShowStarBubble(url, !already_bookmarked);
559 } 562 }
560 563
564 bool BrowserWindowGtk::IsDownloadShelfVisible() const {
565 return download_shelf_.get() && download_shelf_->IsShowing();
566 }
567
568 DownloadShelf* BrowserWindowGtk::GetDownloadShelf() {
569 if (!download_shelf_.get())
570 download_shelf_.reset(new DownloadShelfGtk(browser_.get(),
571 render_area_vbox_));
572 return download_shelf_.get();
573 }
574
561 void BrowserWindowGtk::ShowReportBugDialog() { 575 void BrowserWindowGtk::ShowReportBugDialog() {
562 NOTIMPLEMENTED(); 576 NOTIMPLEMENTED();
563 } 577 }
564 578
565 void BrowserWindowGtk::ShowClearBrowsingDataDialog() { 579 void BrowserWindowGtk::ShowClearBrowsingDataDialog() {
566 ClearBrowsingDataDialogGtk::Show(window_, browser_->profile()); 580 ClearBrowsingDataDialogGtk::Show(window_, browser_->profile());
567 } 581 }
568 582
569 void BrowserWindowGtk::ShowImportDialog() { 583 void BrowserWindowGtk::ShowImportDialog() {
570 ImportDialogGtk::Show(window_, browser_->profile()); 584 ImportDialogGtk::Show(window_, browser_->profile());
(...skipping 18 matching lines...) Expand all
589 void BrowserWindowGtk::ShowHTMLDialog(HtmlDialogUIDelegate* delegate, 603 void BrowserWindowGtk::ShowHTMLDialog(HtmlDialogUIDelegate* delegate,
590 gfx::NativeWindow parent_window) { 604 gfx::NativeWindow parent_window) {
591 NOTIMPLEMENTED(); 605 NOTIMPLEMENTED();
592 } 606 }
593 607
594 void BrowserWindowGtk::UserChangedTheme() { 608 void BrowserWindowGtk::UserChangedTheme() {
595 NOTIMPLEMENTED(); 609 NOTIMPLEMENTED();
596 } 610 }
597 611
598 int BrowserWindowGtk::GetExtraRenderViewHeight() const { 612 int BrowserWindowGtk::GetExtraRenderViewHeight() const {
599 // The download shelf is controlled by its TabContents, so we don't have to
600 // worry about it here.
601 int sum = infobar_container_->TotalHeightOfClosingBars(); 613 int sum = infobar_container_->TotalHeightOfClosingBars();
602 if (bookmark_bar_->IsClosing()) 614 if (bookmark_bar_->IsClosing())
603 sum += bookmark_bar_->GetHeight(); 615 sum += bookmark_bar_->GetHeight();
616 if (download_shelf_.get() && download_shelf_->IsClosing()) {
617 sum += download_shelf_->GetHeight();
618 }
604 return sum; 619 return sum;
605 } 620 }
606 621
607 void BrowserWindowGtk::ConfirmBrowserCloseWithPendingDownloads() { 622 void BrowserWindowGtk::ConfirmBrowserCloseWithPendingDownloads() {
608 NOTIMPLEMENTED(); 623 NOTIMPLEMENTED();
609 browser_->InProgressDownloadResponse(false); 624 browser_->InProgressDownloadResponse(false);
610 } 625 }
611 626
612 void BrowserWindowGtk::Observe(NotificationType type, 627 void BrowserWindowGtk::Observe(NotificationType type,
613 const NotificationSource& source, 628 const NotificationSource& source,
(...skipping 241 matching lines...) Expand 10 before | Expand all | Expand 10 after
855 } 870 }
856 871
857 bool BrowserWindowGtk::IsTabStripSupported() { 872 bool BrowserWindowGtk::IsTabStripSupported() {
858 return browser_->SupportsWindowFeature(Browser::FEATURE_TABSTRIP); 873 return browser_->SupportsWindowFeature(Browser::FEATURE_TABSTRIP);
859 } 874 }
860 875
861 bool BrowserWindowGtk::IsToolbarSupported() { 876 bool BrowserWindowGtk::IsToolbarSupported() {
862 return browser_->SupportsWindowFeature(Browser::FEATURE_TOOLBAR) || 877 return browser_->SupportsWindowFeature(Browser::FEATURE_TOOLBAR) ||
863 browser_->SupportsWindowFeature(Browser::FEATURE_LOCATIONBAR); 878 browser_->SupportsWindowFeature(Browser::FEATURE_LOCATIONBAR);
864 } 879 }
OLDNEW
« no previous file with comments | « chrome/browser/gtk/browser_window_gtk.h ('k') | chrome/browser/gtk/download_item_gtk.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698