Chromium Code Reviews| Index: ui/views/bubble/bubble_delegate.cc |
| diff --git a/ui/views/bubble/bubble_delegate.cc b/ui/views/bubble/bubble_delegate.cc |
| index 706475f652a4d235b3367df0999d8ca05cd458e0..144343700342eee6fd12419f93f9b0ca72746c5c 100644 |
| --- a/ui/views/bubble/bubble_delegate.cc |
| +++ b/ui/views/bubble/bubble_delegate.cc |
| @@ -107,6 +107,7 @@ BubbleDelegateView::BubbleDelegateView() |
| anchor_widget_(NULL), |
| move_with_anchor_(false), |
| arrow_(BubbleBorder::TOP_LEFT), |
| + arrow_offset_(0), |
| shadow_(BubbleBorder::SMALL_SHADOW), |
| color_explicitly_set_(false), |
| margins_(kDefaultMargin, kDefaultMargin, kDefaultMargin, kDefaultMargin), |
| @@ -130,6 +131,7 @@ BubbleDelegateView::BubbleDelegateView( |
| anchor_widget_(NULL), |
| move_with_anchor_(false), |
| arrow_(arrow), |
| + arrow_offset_(0), |
| shadow_(BubbleBorder::SMALL_SHADOW), |
| color_explicitly_set_(false), |
| margins_(kDefaultMargin, kDefaultMargin, kDefaultMargin, kDefaultMargin), |
| @@ -190,7 +192,10 @@ NonClientFrameView* BubbleDelegateView::CreateNonClientFrameView( |
| BubbleFrameView* frame = new BubbleFrameView(margins()); |
| const BubbleBorder::Arrow adjusted_arrow = base::i18n::IsRTL() ? |
| BubbleBorder::horizontal_mirror(arrow()) : arrow(); |
| - frame->SetBubbleBorder(new BubbleBorder(adjusted_arrow, shadow(), color())); |
| + BubbleBorder* border = new BubbleBorder(adjusted_arrow, shadow(), color()); |
| + if (arrow_offset_) |
| + border->set_arrow_offset(arrow_offset_); |
| + frame->SetBubbleBorder(border); |
| return frame; |
| } |
| @@ -267,6 +272,12 @@ void BubbleDelegateView::SetAlignment(BubbleBorder::BubbleAlignment alignment) { |
| SizeToContents(); |
| } |
| +void BubbleDelegateView::SetArrowOffset(int offset) { |
| + arrow_offset_ = offset; |
| + if (GetBubbleFrameView() && GetBubbleFrameView()->bubble_border()) |
|
msw
2013/05/21 01:41:27
You should be able to do this in the PopupMessage:
Mr4D (OOO till 08-26)
2013/05/21 17:26:40
Well - it appears that you have never tried this b
|
| + GetBubbleFrameView()->bubble_border()->set_arrow_offset(offset); |
| +} |
| + |
| bool BubbleDelegateView::AcceleratorPressed( |
| const ui::Accelerator& accelerator) { |
| if (!close_on_esc() || accelerator.key_code() != ui::VKEY_ESCAPE) |