| Index: chrome/browser/ui/views/infobars/infobar_container_view.cc
|
| diff --git a/chrome/browser/ui/views/infobars/infobar_container_view.cc b/chrome/browser/ui/views/infobars/infobar_container_view.cc
|
| index b50662f55c9ddab6131b7bd2be25e79674bc7329..d2f1fab0d7df556be99a9f4b86078b168a3a4756 100644
|
| --- a/chrome/browser/ui/views/infobars/infobar_container_view.cc
|
| +++ b/chrome/browser/ui/views/infobars/infobar_container_view.cc
|
| @@ -18,8 +18,6 @@ InfoBarContainerView::InfoBarContainerView(Delegate* delegate)
|
| : infobars::InfoBarContainer(delegate) {
|
| set_id(VIEW_ID_INFO_BAR_CONTAINER);
|
| SetEventTargeter(make_scoped_ptr(new views::ViewTargeter(this)));
|
| - SetPaintToLayer(true);
|
| - SetFillsBoundsOpaquely(false);
|
| }
|
|
|
| InfoBarContainerView::~InfoBarContainerView() {
|
| @@ -71,7 +69,8 @@ void InfoBarContainerView::PlatformSpecificRemoveInfoBar(
|
| bool InfoBarContainerView::DoesIntersectRect(const View* target,
|
| const gfx::Rect& rect) const {
|
| DCHECK_EQ(this, target);
|
| - // Don't handle events on the vertical overlap portion of the view (the
|
| - // vertical space occupied by the arrow).
|
| - return rect.bottom() >= GetVerticalOverlap(nullptr);
|
| + // Only events that intersect the portion below the arrow are interesting.
|
| + gfx::Rect non_arrow_bounds = GetLocalBounds();
|
| + non_arrow_bounds.Inset(0, GetVerticalOverlap(nullptr), 0, 0);
|
| + return rect.Intersects(non_arrow_bounds);
|
| }
|
|
|