Commit df2a6a85 authored by Melissa Zhang's avatar Melissa Zhang Committed by Commit Bot

[Sharesheet] Give Sharesheet rounded corners

Bug: 1097623
Change-Id: I3b09b083884924c21f87e02d24900b8e17d12615
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2308433Reviewed-by: default avatarAvi Drissman <avi@chromium.org>
Commit-Queue: Melissa Zhang <melzhang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#790605}
parent 01462f98
...@@ -4,6 +4,7 @@ ...@@ -4,6 +4,7 @@
#include "chrome/browser/ui/views/sharesheet_bubble_view.h" #include "chrome/browser/ui/views/sharesheet_bubble_view.h"
#include <memory>
#include <utility> #include <utility>
#include "base/strings/string16.h" #include "base/strings/string16.h"
...@@ -14,6 +15,8 @@ ...@@ -14,6 +15,8 @@
#include "ui/gfx/geometry/insets.h" #include "ui/gfx/geometry/insets.h"
#include "ui/gfx/geometry/size.h" #include "ui/gfx/geometry/size.h"
#include "ui/gfx/image/image_skia.h" #include "ui/gfx/image/image_skia.h"
#include "ui/views/bubble/bubble_border.h"
#include "ui/views/bubble/bubble_frame_view.h"
#include "ui/views/controls/button/image_button.h" #include "ui/views/controls/button/image_button.h"
#include "ui/views/controls/button/image_button_factory.h" #include "ui/views/controls/button/image_button_factory.h"
#include "ui/views/controls/image_view.h" #include "ui/views/controls/image_view.h"
...@@ -25,6 +28,7 @@ ...@@ -25,6 +28,7 @@
namespace { namespace {
constexpr int kButtonSize = 64; constexpr int kButtonSize = 64;
constexpr int kCornerRadius = 12;
constexpr int kMaxTargetRowSize = 4; constexpr int kMaxTargetRowSize = 4;
constexpr int kSpacing = 24; constexpr int kSpacing = 24;
constexpr char kTitle[] = "Share"; constexpr char kTitle[] = "Share";
...@@ -187,6 +191,18 @@ void SharesheetBubbleView::ButtonPressed(views::Button* sender, ...@@ -187,6 +191,18 @@ void SharesheetBubbleView::ButtonPressed(views::Button* sender,
RequestFocus(); RequestFocus();
} }
std::unique_ptr<views::NonClientFrameView>
SharesheetBubbleView::CreateNonClientFrameView(views::Widget* widget) {
auto bubble_border =
std::make_unique<views::BubbleBorder>(arrow(), GetShadow(), color());
bubble_border->SetCornerRadius(kCornerRadius);
auto frame =
views::BubbleDialogDelegateView::CreateNonClientFrameView(widget);
static_cast<views::BubbleFrameView*>(frame.get())
->SetBubbleBorder(std::move(bubble_border));
return frame;
}
void SharesheetBubbleView::OnWidgetDestroyed(views::Widget* widget) { void SharesheetBubbleView::OnWidgetDestroyed(views::Widget* widget) {
delegate_->OnBubbleClosed(active_target_); delegate_->OnBubbleClosed(active_target_);
} }
......
...@@ -33,6 +33,10 @@ class SharesheetBubbleView : public views::BubbleDialogDelegateView, ...@@ -33,6 +33,10 @@ class SharesheetBubbleView : public views::BubbleDialogDelegateView,
// views::ButtonListener overrides // views::ButtonListener overrides
void ButtonPressed(views::Button* sender, const ui::Event& event) override; void ButtonPressed(views::Button* sender, const ui::Event& event) override;
// views::WidgetDelegate override
std::unique_ptr<views::NonClientFrameView> CreateNonClientFrameView(
views::Widget* widget) override;
// views::BubbleDialogDelegateView overrides // views::BubbleDialogDelegateView overrides
gfx::Size CalculatePreferredSize() const override; gfx::Size CalculatePreferredSize() const override;
void OnWidgetDestroyed(views::Widget* widget) override; void OnWidgetDestroyed(views::Widget* widget) override;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment