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

Unified Diff: chrome/browser/ui/views/infobars/infobar_view.cc

Issue 81833007: Remove unnecessary Border subclasses where we can achieve the same functionality (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/views/infobars/infobar_view.cc
===================================================================
--- chrome/browser/ui/views/infobars/infobar_view.cc (revision 236651)
+++ chrome/browser/ui/views/infobars/infobar_view.cc (working copy)
@@ -14,8 +14,6 @@
#include "base/strings/utf_string_conversions.h"
#include "chrome/browser/infobars/infobar_delegate.h"
#include "chrome/browser/ui/views/infobars/infobar_background.h"
-#include "chrome/browser/ui/views/infobars/infobar_button_border.h"
-#include "chrome/browser/ui/views/infobars/infobar_label_button_border.h"
#include "grit/generated_resources.h"
#include "grit/theme_resources.h"
#include "grit/ui_resources.h"
@@ -27,6 +25,7 @@
#include "ui/gfx/image/image.h"
#include "ui/views/controls/button/image_button.h"
#include "ui/views/controls/button/label_button.h"
+#include "ui/views/controls/button/label_button_border.h"
#include "ui/views/controls/button/menu_button.h"
#include "ui/views/controls/image_view.h"
#include "ui/views/controls/label.h"
@@ -42,6 +41,12 @@
#include "ui/gfx/win/hwnd_util.h"
#endif
+namespace {
+
+const int kInfoBarBorderPaddingVertical = 5;
+
+}; // namespace
sky 2013/11/22 14:42:44 nit: no ;
+
// static
const int InfoBar::kSeparatorLineHeight =
views::NonClientFrameView::kClientEdgeThickness;
@@ -98,9 +103,23 @@
views::MenuButton* InfoBarView::CreateMenuButton(
const string16& text,
views::MenuButtonListener* menu_button_listener) {
+ scoped_ptr<views::TextButtonDefaultBorder> menu_button_border(
+ new views::TextButtonDefaultBorder());
+ menu_button_border->SetInsets(gfx::Insets(kInfoBarBorderPaddingVertical, 0,
+ kInfoBarBorderPaddingVertical, 0));
+ const int kNormalImageSet[] = IMAGE_GRID(IDR_INFOBARBUTTON_NORMAL);
+ menu_button_border->set_normal_painter(
+ views::Painter::CreateImageGridPainter(kNormalImageSet));
+ const int kHotImageSet[] = IMAGE_GRID(IDR_INFOBARBUTTON_HOVER);
+ menu_button_border->set_hot_painter(
+ views::Painter::CreateImageGridPainter(kHotImageSet));
+ const int kPushedImageSet[] = IMAGE_GRID(IDR_INFOBARBUTTON_PRESSED);
+ menu_button_border->set_pushed_painter(
+ views::Painter::CreateImageGridPainter(kPushedImageSet));
+
views::MenuButton* menu_button = new views::MenuButton(
NULL, text, menu_button_listener, true);
- menu_button->set_border(new InfoBarButtonBorder);
+ menu_button->set_border(menu_button_border.release());
menu_button->set_animate_on_state_change(false);
ui::ResourceBundle& rb = ui::ResourceBundle::GetSharedInstance();
menu_button->set_menu_marker(
@@ -117,8 +136,26 @@
views::ButtonListener* listener,
const string16& text,
bool needs_elevation) {
+ scoped_ptr<views::LabelButtonBorder> label_button_border(
+ new views::LabelButtonBorder(views::Button::STYLE_TEXTBUTTON));
+ label_button_border->set_insets(gfx::Insets(
+ kInfoBarBorderPaddingVertical, 0,
+ kInfoBarBorderPaddingVertical, 0));
+ const int kNormalImageSet[] = IMAGE_GRID(IDR_INFOBARBUTTON_NORMAL);
+ label_button_border->SetPainter(
+ false, views::Button::STATE_NORMAL,
+ views::Painter::CreateImageGridPainter(kNormalImageSet));
+ const int kHoveredImageSet[] = IMAGE_GRID(IDR_INFOBARBUTTON_HOVER);
+ label_button_border->SetPainter(
+ false, views::Button::STATE_HOVERED,
+ views::Painter::CreateImageGridPainter(kHoveredImageSet));
+ const int kPressedImageSet[] = IMAGE_GRID(IDR_INFOBARBUTTON_PRESSED);
+ label_button_border->SetPainter(
+ false, views::Button::STATE_PRESSED,
+ views::Painter::CreateImageGridPainter(kPressedImageSet));
+
views::LabelButton* label_button = new views::LabelButton(listener, text);
- label_button->set_border(new InfoBarLabelButtonBorder);
+ label_button->set_border(label_button_border.release());
label_button->set_animate_on_state_change(false);
label_button->SetTextColor(views::Button::STATE_NORMAL, SK_ColorBLACK);
label_button->SetTextColor(views::Button::STATE_HOVERED, SK_ColorBLACK);
« no previous file with comments | « chrome/browser/ui/views/infobars/infobar_label_button_border.cc ('k') | chrome/browser/ui/views/profile_chooser_view.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698