9
9
10
10
#include " brave/browser/ui/views/frame/brave_browser_view.h"
11
11
#include " brave/browser/ui/views/side_panel/brave_side_panel.h"
12
+ #include " build/build_config.h"
13
+ #include " ui/base/metadata/metadata_impl_macros.h"
12
14
#include " ui/views/controls/resize_area.h"
13
15
#include " ui/views/layout/fill_layout.h"
14
16
#include " ui/views/widget/widget.h"
18
20
#include " ui/views/view_constants_aura.h"
19
21
#endif
20
22
23
+ #if BUILDFLAG(IS_MAC)
24
+ namespace {
25
+
26
+ // Subclassed to clear resize cursor when goes out. On macOS, it seems
27
+ // widget doesn't clear current cursor(resize) when mouse goes out in some
28
+ // specific situation unexpectedly. Because of that, cursor is not changed when
29
+ // mouse moves in. Widget doesn't update its cursor if requested one is same
30
+ // with previous one. Maybe this problem happens because it's located above
31
+ // WebView.
32
+ class CustomResizeArea : public views ::ResizeArea {
33
+ METADATA_HEADER (CustomResizeArea, views::ResizeArea)
34
+ public:
35
+ using ResizeArea::ResizeArea;
36
+
37
+ void OnMouseExited (const ui::MouseEvent& event) override {
38
+ ResizeArea::OnMouseExited (event);
39
+ GetWidget ()->SetCursor (ui::Cursor ());
40
+ }
41
+ };
42
+
43
+ BEGIN_METADATA (CustomResizeArea)
44
+ END_METADATA
45
+
46
+ } // namespace
47
+ #endif
48
+
21
49
SidePanelResizeWidget::SidePanelResizeWidget (
22
50
BraveSidePanel* panel,
23
51
BraveBrowserView* browser_view,
@@ -38,8 +66,13 @@ SidePanelResizeWidget::SidePanelResizeWidget(
38
66
params.activatable = views::Widget::InitParams::Activatable::kNo ;
39
67
widget_->Init (std::move (params));
40
68
41
- auto resize_area = std::make_unique<views::ResizeArea>(resize_area_delegate);
42
- widget_->SetContentsView (std::move (resize_area));
69
+ #if BUILDFLAG(IS_MAC)
70
+ widget_->SetContentsView (
71
+ std::make_unique<CustomResizeArea>(resize_area_delegate));
72
+ #else
73
+ widget_->SetContentsView (
74
+ std::make_unique<views::ResizeArea>(resize_area_delegate));
75
+ #endif
43
76
44
77
#if defined(USE_AURA)
45
78
widget_->GetNativeView ()->SetProperty (views::kHostViewKey ,
0 commit comments