| Index: chrome/browser/ui/views/location_bar/action_box_button_view.cc
|
| diff --git a/chrome/browser/ui/views/location_bar/action_box_button_view.cc b/chrome/browser/ui/views/location_bar/action_box_button_view.cc
|
| index 3e46328cb6e67e1824cf4a38c1a280fa6b980577..9daa70ace44002c5f9d32513fc2cf6b76cd8bf71 100644
|
| --- a/chrome/browser/ui/views/location_bar/action_box_button_view.cc
|
| +++ b/chrome/browser/ui/views/location_bar/action_box_button_view.cc
|
| @@ -15,12 +15,19 @@
|
| #include "ui/base/accessibility/accessible_view_state.h"
|
| #include "ui/base/l10n/l10n_util.h"
|
| #include "ui/base/resource/resource_bundle.h"
|
| +#include "ui/gfx/path.h"
|
| +
|
| +
|
| +// static
|
| +const int ActionBoxButtonView::kTopBorderOverlapThickness = 1;
|
| +
|
|
|
| ActionBoxButtonView::ActionBoxButtonView(Browser* browser,
|
| const gfx::Point& menu_offset)
|
| : views::MenuButton(NULL, string16(), this, false),
|
| browser_(browser),
|
| menu_offset_(menu_offset),
|
| + clickable_height_(0),
|
| ALLOW_THIS_IN_INITIALIZER_LIST(controller_(browser, this)) {
|
| set_id(VIEW_ID_ACTION_BOX_BUTTON);
|
| SetTooltipText(l10n_util::GetStringUTF16(IDS_TOOLTIP_ACTION_BOX_BUTTON));
|
| @@ -48,6 +55,17 @@ void ActionBoxButtonView::OnMenuButtonClicked(View* source,
|
| controller_.OnButtonClicked();
|
| }
|
|
|
| +bool ActionBoxButtonView::HasHitTestMask() const {
|
| + return true;
|
| +}
|
| +
|
| +void ActionBoxButtonView::GetHitTestMask(gfx::Path* mask) const {
|
| + SkRect clickable_rect;
|
| + clickable_rect.iset(0, kTopBorderOverlapThickness, width(),
|
| + kTopBorderOverlapThickness + clickable_height_);
|
| + mask->addRect(clickable_rect);
|
| +}
|
| +
|
| void ActionBoxButtonView::ShowMenu(scoped_ptr<ActionBoxMenuModel> menu_model) {
|
| menu_ = ActionBoxMenu::Create(browser_, menu_model.Pass());
|
| menu_->RunMenu(this, menu_offset_);
|
|
|