| OLD | NEW |
| 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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/ui/views/toolbar_view.h" | 5 #include "chrome/browser/ui/views/toolbar_view.h" |
| 6 | 6 |
| 7 #include "base/i18n/number_formatting.h" | 7 #include "base/i18n/number_formatting.h" |
| 8 #include "base/utf_string_conversions.h" | 8 #include "base/utf_string_conversions.h" |
| 9 #include "chrome/app/chrome_command_ids.h" | 9 #include "chrome/app/chrome_command_ids.h" |
| 10 #include "chrome/browser/accessibility/browser_accessibility_state.h" | 10 #include "chrome/browser/accessibility/browser_accessibility_state.h" |
| (...skipping 448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 459 static SkBitmap normal_background; | 459 static SkBitmap normal_background; |
| 460 if (normal_background.isNull()) { | 460 if (normal_background.isNull()) { |
| 461 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); | 461 ResourceBundle& rb = ResourceBundle::GetSharedInstance(); |
| 462 normal_background = *rb.GetBitmapNamed(IDR_CONTENT_TOP_CENTER); | 462 normal_background = *rb.GetBitmapNamed(IDR_CONTENT_TOP_CENTER); |
| 463 } | 463 } |
| 464 | 464 |
| 465 return gfx::Size(min_width, normal_background.height()); | 465 return gfx::Size(min_width, normal_background.height()); |
| 466 } | 466 } |
| 467 | 467 |
| 468 int vertical_spacing = PopupTopSpacing() + | 468 int vertical_spacing = PopupTopSpacing() + |
| 469 (GetWindow()->ShouldUseNativeFrame() ? | 469 (GetWindow()->non_client_view()->UseNativeFrame() ? |
| 470 kPopupBottomSpacingGlass : kPopupBottomSpacingNonGlass); | 470 kPopupBottomSpacingGlass : kPopupBottomSpacingNonGlass); |
| 471 return gfx::Size(0, location_bar_->GetPreferredSize().height() + | 471 return gfx::Size(0, location_bar_->GetPreferredSize().height() + |
| 472 vertical_spacing); | 472 vertical_spacing); |
| 473 } | 473 } |
| 474 | 474 |
| 475 void ToolbarView::Layout() { | 475 void ToolbarView::Layout() { |
| 476 // If we have not been initialized yet just do nothing. | 476 // If we have not been initialized yet just do nothing. |
| 477 if (back_ == NULL) | 477 if (back_ == NULL) |
| 478 return; | 478 return; |
| 479 | 479 |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 559 int top_spacing = PopupTopSpacing(); | 559 int top_spacing = PopupTopSpacing(); |
| 560 canvas->DrawBitmapInt(*kPopupBackgroundEdge, 0, top_spacing); | 560 canvas->DrawBitmapInt(*kPopupBackgroundEdge, 0, top_spacing); |
| 561 canvas->DrawBitmapInt(*kPopupBackgroundEdge, | 561 canvas->DrawBitmapInt(*kPopupBackgroundEdge, |
| 562 width() - kPopupBackgroundEdge->width(), top_spacing); | 562 width() - kPopupBackgroundEdge->width(), top_spacing); |
| 563 } | 563 } |
| 564 | 564 |
| 565 // For glass, we need to draw a black line below the location bar to separate | 565 // For glass, we need to draw a black line below the location bar to separate |
| 566 // it from the content area. For non-glass, the NonClientView draws the | 566 // it from the content area. For non-glass, the NonClientView draws the |
| 567 // toolbar background below the location bar for us. | 567 // toolbar background below the location bar for us. |
| 568 // NOTE: Keep this in sync with BrowserView::GetInfoBarSeparatorColor()! | 568 // NOTE: Keep this in sync with BrowserView::GetInfoBarSeparatorColor()! |
| 569 if (GetWindow()->ShouldUseNativeFrame()) | 569 if (GetWindow()->non_client_view()->UseNativeFrame()) |
| 570 canvas->FillRectInt(SK_ColorBLACK, 0, height() - 1, width(), 1); | 570 canvas->FillRectInt(SK_ColorBLACK, 0, height() - 1, width(), 1); |
| 571 } | 571 } |
| 572 | 572 |
| 573 // Note this method is ignored on Windows, but needs to be implemented for | 573 // Note this method is ignored on Windows, but needs to be implemented for |
| 574 // linux, where it is called before CanDrop(). | 574 // linux, where it is called before CanDrop(). |
| 575 bool ToolbarView::GetDropFormats( | 575 bool ToolbarView::GetDropFormats( |
| 576 int* formats, | 576 int* formats, |
| 577 std::set<OSExchangeData::CustomFormat>* custom_formats) { | 577 std::set<OSExchangeData::CustomFormat>* custom_formats) { |
| 578 *formats = ui::OSExchangeData::URL | ui::OSExchangeData::STRING; | 578 *formats = ui::OSExchangeData::URL | ui::OSExchangeData::STRING; |
| 579 return true; | 579 return true; |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 639 | 639 |
| 640 int ToolbarView::PopupTopSpacing() const { | 640 int ToolbarView::PopupTopSpacing() const { |
| 641 // TODO(beng): For some reason GetWindow() returns NULL here in some | 641 // TODO(beng): For some reason GetWindow() returns NULL here in some |
| 642 // unidentified circumstances on ChromeOS. This means GetWidget() | 642 // unidentified circumstances on ChromeOS. This means GetWidget() |
| 643 // succeeded but we were (probably) unable to locate a WidgetGtk* | 643 // succeeded but we were (probably) unable to locate a WidgetGtk* |
| 644 // on it using NativeWidget::GetNativeWidgetForNativeView. | 644 // on it using NativeWidget::GetNativeWidgetForNativeView. |
| 645 // I am throwing in a NULL check for now to stop the hurt, but | 645 // I am throwing in a NULL check for now to stop the hurt, but |
| 646 // it's possible the crash may just show up somewhere else. | 646 // it's possible the crash may just show up somewhere else. |
| 647 const views::Window* window = GetWindow(); | 647 const views::Window* window = GetWindow(); |
| 648 DCHECK(window) << "If you hit this please talk to beng"; | 648 DCHECK(window) << "If you hit this please talk to beng"; |
| 649 return window && window->ShouldUseNativeFrame() ? | 649 return window && window->non_client_view()->UseNativeFrame() ? |
| 650 0 : kPopupTopSpacingNonGlass; | 650 0 : kPopupTopSpacingNonGlass; |
| 651 } | 651 } |
| 652 | 652 |
| 653 void ToolbarView::LoadImages() { | 653 void ToolbarView::LoadImages() { |
| 654 ui::ThemeProvider* tp = GetThemeProvider(); | 654 ui::ThemeProvider* tp = GetThemeProvider(); |
| 655 | 655 |
| 656 back_->SetImage(views::CustomButton::BS_NORMAL, tp->GetBitmapNamed(IDR_BACK)); | 656 back_->SetImage(views::CustomButton::BS_NORMAL, tp->GetBitmapNamed(IDR_BACK)); |
| 657 back_->SetImage(views::CustomButton::BS_HOT, tp->GetBitmapNamed(IDR_BACK_H)); | 657 back_->SetImage(views::CustomButton::BS_HOT, tp->GetBitmapNamed(IDR_BACK_H)); |
| 658 back_->SetImage(views::CustomButton::BS_PUSHED, | 658 back_->SetImage(views::CustomButton::BS_PUSHED, |
| 659 tp->GetBitmapNamed(IDR_BACK_P)); | 659 tp->GetBitmapNamed(IDR_BACK_P)); |
| (...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 693 app_menu_->SetHoverIcon(GetAppMenuIcon(views::CustomButton::BS_HOT)); | 693 app_menu_->SetHoverIcon(GetAppMenuIcon(views::CustomButton::BS_HOT)); |
| 694 app_menu_->SetPushedIcon(GetAppMenuIcon(views::CustomButton::BS_PUSHED)); | 694 app_menu_->SetPushedIcon(GetAppMenuIcon(views::CustomButton::BS_PUSHED)); |
| 695 } | 695 } |
| 696 | 696 |
| 697 void ToolbarView::UpdateAppMenuBadge() { | 697 void ToolbarView::UpdateAppMenuBadge() { |
| 698 app_menu_->SetIcon(GetAppMenuIcon(views::CustomButton::BS_NORMAL)); | 698 app_menu_->SetIcon(GetAppMenuIcon(views::CustomButton::BS_NORMAL)); |
| 699 app_menu_->SetHoverIcon(GetAppMenuIcon(views::CustomButton::BS_HOT)); | 699 app_menu_->SetHoverIcon(GetAppMenuIcon(views::CustomButton::BS_HOT)); |
| 700 app_menu_->SetPushedIcon(GetAppMenuIcon(views::CustomButton::BS_PUSHED)); | 700 app_menu_->SetPushedIcon(GetAppMenuIcon(views::CustomButton::BS_PUSHED)); |
| 701 SchedulePaint(); | 701 SchedulePaint(); |
| 702 } | 702 } |
| OLD | NEW |