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

Side by Side Diff: ui/views/bubble/tray_bubble_view.cc

Issue 454173002: Fixed BubbleBorder sizing problems & added unit tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fixed construction order of the TrayBubbleView/TrayBubbleWrapper in WebNotificationBubbleWrapper co… Created 6 years, 3 months 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/views/bubble/tray_bubble_view.h" 5 #include "ui/views/bubble/tray_bubble_view.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "third_party/skia/include/core/SkCanvas.h" 9 #include "third_party/skia/include/core/SkCanvas.h"
10 #include "third_party/skia/include/core/SkColor.h" 10 #include "third_party/skia/include/core/SkColor.h"
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
51 // Detects any mouse movement. This is needed to detect mouse movements by the 51 // Detects any mouse movement. This is needed to detect mouse movements by the
52 // user over the bubble if the bubble got created underneath the cursor. 52 // user over the bubble if the bubble got created underneath the cursor.
53 class MouseMoveDetectorHost : public MouseWatcherHost { 53 class MouseMoveDetectorHost : public MouseWatcherHost {
54 public: 54 public:
55 MouseMoveDetectorHost(); 55 MouseMoveDetectorHost();
56 virtual ~MouseMoveDetectorHost(); 56 virtual ~MouseMoveDetectorHost();
57 57
58 virtual bool Contains(const gfx::Point& screen_point, 58 virtual bool Contains(const gfx::Point& screen_point,
59 MouseEventType type) OVERRIDE; 59 MouseEventType type) OVERRIDE;
60 private: 60 private:
61
62 DISALLOW_COPY_AND_ASSIGN(MouseMoveDetectorHost); 61 DISALLOW_COPY_AND_ASSIGN(MouseMoveDetectorHost);
63 }; 62 };
64 63
65 MouseMoveDetectorHost::MouseMoveDetectorHost() { 64 MouseMoveDetectorHost::MouseMoveDetectorHost() {
66 } 65 }
67 66
68 MouseMoveDetectorHost::~MouseMoveDetectorHost() { 67 MouseMoveDetectorHost::~MouseMoveDetectorHost() {
69 } 68 }
70 69
71 bool MouseMoveDetectorHost::Contains(const gfx::Point& screen_point, 70 bool MouseMoveDetectorHost::Contains(const gfx::Point& screen_point,
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after
375 if (preferred_width_ == width) 374 if (preferred_width_ == width)
376 return; 375 return;
377 preferred_width_ = width; 376 preferred_width_ = width;
378 if (GetWidget()) 377 if (GetWidget())
379 SizeToContents(); 378 SizeToContents();
380 } 379 }
381 380
382 void TrayBubbleView::SetArrowPaintType( 381 void TrayBubbleView::SetArrowPaintType(
383 views::BubbleBorder::ArrowPaintType paint_type) { 382 views::BubbleBorder::ArrowPaintType paint_type) {
384 bubble_border_->set_paint_arrow(paint_type); 383 bubble_border_->set_paint_arrow(paint_type);
384 UpdateBubble();
385 } 385 }
386 386
387 gfx::Insets TrayBubbleView::GetBorderInsets() const { 387 gfx::Insets TrayBubbleView::GetBorderInsets() const {
388 return bubble_border_->GetInsets(); 388 return bubble_border_->GetInsets();
389 } 389 }
390 390
391 void TrayBubbleView::Init() { 391 void TrayBubbleView::Init() {
392 BoxLayout* layout = new BottomAlignedBoxLayout(this); 392 BoxLayout* layout = new BottomAlignedBoxLayout(this);
393 layout->SetDefaultFlex(1); 393 layout->SetDefaultFlex(1);
394 SetLayoutManager(layout); 394 SetLayoutManager(layout);
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 void TrayBubbleView::ViewHierarchyChanged( 501 void TrayBubbleView::ViewHierarchyChanged(
502 const ViewHierarchyChangedDetails& details) { 502 const ViewHierarchyChangedDetails& details) {
503 if (details.is_add && details.child == this) { 503 if (details.is_add && details.child == this) {
504 details.parent->SetPaintToLayer(true); 504 details.parent->SetPaintToLayer(true);
505 details.parent->SetFillsBoundsOpaquely(true); 505 details.parent->SetFillsBoundsOpaquely(true);
506 details.parent->layer()->SetMasksToBounds(true); 506 details.parent->layer()->SetMasksToBounds(true);
507 } 507 }
508 } 508 }
509 509
510 } // namespace views 510 } // namespace views
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698