#include "chrome/browser/ui/views/location_bar/location_bar_view.h"
#include "grit/theme_resources.h"
#include "grit/ui_strings.h"
-#include "ui/base/accessibility/accessible_view_state.h"
+#include "ui/accessibility/ax_view_state.h"
#include "ui/base/l10n/l10n_util.h"
#include "ui/base/models/menu_model.h"
+#include "ui/base/theme_provider.h"
#include "ui/gfx/display.h"
#include "ui/gfx/screen.h"
#include "ui/views/controls/button/label_button_border.h"
return menu_showing_;
}
-gfx::Size ToolbarButton::GetPreferredSize() {
+gfx::Size ToolbarButton::GetPreferredSize() const {
gfx::Size size(image()->GetPreferredSize());
gfx::Size label_size = label()->GetPreferredSize();
if (label_size.width() > 0)
- size.Enlarge(label_size.width() + LocationBarView::GetItemPadding(), 0);
+ size.Enlarge(label_size.width() + LocationBarView::kItemPadding, 0);
return size;
}
LabelButton::OnGestureEvent(event);
}
-void ToolbarButton::GetAccessibleState(ui::AccessibleViewState* state) {
+void ToolbarButton::GetAccessibleState(ui::AXViewState* state) {
CustomButton::GetAccessibleState(state);
- state->role = ui::AccessibilityTypes::ROLE_BUTTONDROPDOWN;
+ state->role = ui::AX_ROLE_BUTTON_DROP_DOWN;
state->default_action = l10n_util::GetStringUTF16(IDS_APP_ACCACTION_PRESS);
- state->state = ui::AccessibilityTypes::STATE_HASPOPUP;
+ state->AddStateFlag(ui::AX_STATE_HASPOPUP);
+}
+
+scoped_ptr<views::LabelButtonBorder>
+ToolbarButton::CreateDefaultBorder() const {
+ scoped_ptr<views::LabelButtonBorder> border =
+ LabelButton::CreateDefaultBorder();
+
+ ui::ThemeProvider* provider = GetThemeProvider();
+ if (provider && provider->UsingSystemTheme()) {
+ // We set smaller insets here to accommodate the slightly larger GTK+
+ // icons.
+ border->set_insets(gfx::Insets(2, 2, 2, 2));
+ }
+
+ return border.Pass();
}
void ToolbarButton::ShowContextMenuForView(View* source,
if (model_.get()) {
views::MenuModelAdapter menu_delegate(model_.get());
menu_delegate.set_triggerable_event_flags(triggerable_event_flags());
- menu_runner_.reset(new views::MenuRunner(menu_delegate.CreateMenu()));
+ menu_runner_.reset(new views::MenuRunner(menu_delegate.CreateMenu(),
+ views::MenuRunner::HAS_MNEMONICS));
views::MenuRunner::RunResult result =
- menu_runner_->RunMenuAt(GetWidget(), NULL,
+ menu_runner_->RunMenuAt(GetWidget(),
+ NULL,
gfx::Rect(menu_position, gfx::Size(0, 0)),
- views::MenuItemView::TOPLEFT,
- source_type,
- views::MenuRunner::HAS_MNEMONICS);
+ views::MENU_ANCHOR_TOPLEFT,
+ source_type);
if (result == views::MenuRunner::MENU_DELETED)
return;
} else {
views::MenuDelegate menu_delegate;
views::MenuItemView* menu = new views::MenuItemView(&menu_delegate);
- menu_runner_.reset(new views::MenuRunner(menu));
+ menu_runner_.reset(
+ new views::MenuRunner(menu, views::MenuRunner::HAS_MNEMONICS));
views::MenuRunner::RunResult result =
- menu_runner_->RunMenuAt(GetWidget(), NULL,
+ menu_runner_->RunMenuAt(GetWidget(),
+ NULL,
gfx::Rect(menu_position, gfx::Size(0, 0)),
- views::MenuItemView::TOPLEFT,
- source_type,
- views::MenuRunner::HAS_MNEMONICS);
+ views::MENU_ANCHOR_TOPLEFT,
+ source_type);
if (result == views::MenuRunner::MENU_DELETED)
return;
}