mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Update to Chromium version 93.0.4577.0 (#902210)
This commit is contained in:
@@ -13,6 +13,7 @@
|
||||
|
||||
#include "base/logging.h"
|
||||
#include "ui/gfx/color_utils.h"
|
||||
#include "ui/views/animation/ink_drop.h"
|
||||
#include "ui/views/controls/button/button.h"
|
||||
|
||||
// Helpers for template boiler-plate.
|
||||
@@ -53,7 +54,7 @@ CEF_BUTTON_IMPL_T void CEF_BUTTON_IMPL_D::SetState(cef_button_state_t state) {
|
||||
views::Button::ButtonState new_state =
|
||||
static_cast<views::Button::ButtonState>(state);
|
||||
|
||||
if (ParentClass::root_view()->ink_drop()->ink_drop_mode() !=
|
||||
if (views::InkDrop::Get(ParentClass::root_view())->ink_drop_mode() !=
|
||||
views::InkDropHost::InkDropMode::OFF &&
|
||||
!ParentClass::root_view()->IsFocusable()) {
|
||||
// Ink drop state does not get set properly on state change when the button
|
||||
@@ -64,7 +65,8 @@ CEF_BUTTON_IMPL_T void CEF_BUTTON_IMPL_D::SetState(cef_button_state_t state) {
|
||||
} else if (old_state == views::Button::STATE_PRESSED) {
|
||||
ink_state = views::InkDropState::DEACTIVATED;
|
||||
}
|
||||
ParentClass::root_view()->ink_drop()->AnimateToState(ink_state, nullptr);
|
||||
views::InkDrop::Get(ParentClass::root_view())
|
||||
->AnimateToState(ink_state, nullptr);
|
||||
}
|
||||
|
||||
ParentClass::root_view()->SetState(new_state);
|
||||
@@ -77,12 +79,12 @@ CEF_BUTTON_IMPL_T cef_button_state_t CEF_BUTTON_IMPL_D::GetState() {
|
||||
|
||||
CEF_BUTTON_IMPL_T void CEF_BUTTON_IMPL_D::SetInkDropEnabled(bool enabled) {
|
||||
CEF_REQUIRE_VALID_RETURN_VOID();
|
||||
ParentClass::root_view()->ink_drop()->SetMode(
|
||||
enabled ? views::InkDropHost::InkDropMode::ON
|
||||
: views::InkDropHost::InkDropMode::OFF);
|
||||
views::InkDrop::Get(ParentClass::root_view())
|
||||
->SetMode(enabled ? views::InkDropHost::InkDropMode::ON
|
||||
: views::InkDropHost::InkDropMode::OFF);
|
||||
if (enabled) {
|
||||
ParentClass::root_view()->ink_drop()->SetBaseColor(
|
||||
color_utils::BlendTowardMaxContrast(
|
||||
views::InkDrop::Get(ParentClass::root_view())
|
||||
->SetBaseColor(color_utils::BlendTowardMaxContrast(
|
||||
ParentClass::root_view()->background()->get_color(), 0x61));
|
||||
}
|
||||
}
|
||||
|
@@ -12,6 +12,7 @@
|
||||
#include "libcef/browser/views/view_view.h"
|
||||
|
||||
#include "base/logging.h"
|
||||
#include "ui/views/animation/ink_drop.h"
|
||||
#include "ui/views/controls/button/button.h"
|
||||
|
||||
// Helpers for template boiler-plate.
|
||||
@@ -59,7 +60,7 @@ CEF_BUTTON_VIEW_T void CEF_BUTTON_VIEW_D::ButtonPressed(
|
||||
// Callback may trigger new animation state.
|
||||
if (ParentClass::cef_delegate())
|
||||
ParentClass::cef_delegate()->OnButtonPressed(GetCefButton());
|
||||
if (ParentClass::ink_drop()->ink_drop_mode() !=
|
||||
if (views::InkDrop::Get(this)->ink_drop_mode() !=
|
||||
views::InkDropHost::InkDropMode::OFF &&
|
||||
!ParentClass::IsFocusable() &&
|
||||
ParentClass::GetState() != views::Button::STATE_PRESSED) {
|
||||
@@ -67,7 +68,7 @@ CEF_BUTTON_VIEW_T void CEF_BUTTON_VIEW_D::ButtonPressed(
|
||||
// non-focusable. Reset the ink drop state here if the state has not been
|
||||
// explicitly set to pressed by the OnButtonPressed callback calling
|
||||
// SetState (which also sets the ink drop state).
|
||||
ParentClass::ink_drop()->AnimateToState(
|
||||
views::InkDrop::Get(this)->AnimateToState(
|
||||
views::InkDropState::HIDDEN, ui::LocatedEvent::FromIfValid(&event));
|
||||
}
|
||||
}
|
||||
|
@@ -138,7 +138,7 @@ class CaptionlessFrameView : public views::NonClientFrameView {
|
||||
// fullscreen, as it can't be resized in those states.
|
||||
int resize_border_thickness = ResizeBorderThickness();
|
||||
int frame_component = GetHTComponentForFrame(
|
||||
point, resize_border_thickness, resize_border_thickness,
|
||||
point, gfx::Insets(resize_border_thickness, resize_border_thickness),
|
||||
kResizeAreaCornerSize, kResizeAreaCornerSize, can_ever_resize);
|
||||
if (frame_component != HTNOWHERE)
|
||||
return frame_component;
|
||||
@@ -260,6 +260,12 @@ void CefWindowView::CreateWidget() {
|
||||
params.type = views::Widget::InitParams::TYPE_WINDOW;
|
||||
bool can_activate = true;
|
||||
|
||||
// WidgetDelegate::DeleteDelegate() will delete |this| after executing the
|
||||
// registered callback.
|
||||
SetOwnedByWidget(true);
|
||||
RegisterDeleteDelegateCallback(
|
||||
base::BindOnce(&CefWindowView::DeleteDelegate, base::Unretained(this)));
|
||||
|
||||
if (cef_delegate()) {
|
||||
CefRefPtr<CefWindow> cef_window = GetCefWindow();
|
||||
is_frameless_ = cef_delegate()->IsFrameless(cef_window);
|
||||
@@ -267,6 +273,8 @@ void CefWindowView::CreateWidget() {
|
||||
auto bounds = cef_delegate()->GetInitialBounds(cef_window);
|
||||
params.bounds = gfx::Rect(bounds.x, bounds.y, bounds.width, bounds.height);
|
||||
|
||||
SetCanResize(cef_delegate()->CanResize(cef_window));
|
||||
|
||||
bool is_menu = false;
|
||||
bool can_activate_menu = true;
|
||||
CefRefPtr<CefWindow> parent_window = cef_delegate()->GetParentWindow(
|
||||
@@ -335,15 +343,6 @@ void CefWindowView::DeleteDelegate() {
|
||||
RemoveAllChildViews(true);
|
||||
|
||||
window_delegate_->OnWindowViewDeleted();
|
||||
|
||||
// Deletes |this|.
|
||||
views::WidgetDelegateView::DeleteDelegate();
|
||||
}
|
||||
|
||||
bool CefWindowView::CanResize() const {
|
||||
if (!cef_delegate())
|
||||
return true;
|
||||
return cef_delegate()->CanResize(GetCefWindow());
|
||||
}
|
||||
|
||||
bool CefWindowView::CanMinimize() const {
|
||||
@@ -362,18 +361,22 @@ std::u16string CefWindowView::GetWindowTitle() const {
|
||||
return title_;
|
||||
}
|
||||
|
||||
gfx::ImageSkia CefWindowView::GetWindowIcon() {
|
||||
ui::ImageModel CefWindowView::GetWindowIcon() {
|
||||
if (!window_icon_)
|
||||
return ParentClass::GetWindowIcon();
|
||||
return static_cast<CefImageImpl*>(window_icon_.get())
|
||||
->GetForced1xScaleRepresentation(GetDisplay().device_scale_factor());
|
||||
auto image_skia =
|
||||
static_cast<CefImageImpl*>(window_icon_.get())
|
||||
->GetForced1xScaleRepresentation(GetDisplay().device_scale_factor());
|
||||
return ui::ImageModel::FromImageSkia(image_skia);
|
||||
}
|
||||
|
||||
gfx::ImageSkia CefWindowView::GetWindowAppIcon() {
|
||||
ui::ImageModel CefWindowView::GetWindowAppIcon() {
|
||||
if (!window_app_icon_)
|
||||
return ParentClass::GetWindowAppIcon();
|
||||
return static_cast<CefImageImpl*>(window_app_icon_.get())
|
||||
->GetForced1xScaleRepresentation(GetDisplay().device_scale_factor());
|
||||
auto image_skia =
|
||||
static_cast<CefImageImpl*>(window_app_icon_.get())
|
||||
->GetForced1xScaleRepresentation(GetDisplay().device_scale_factor());
|
||||
return ui::ImageModel::FromImageSkia(image_skia);
|
||||
}
|
||||
|
||||
void CefWindowView::WindowClosing() {
|
||||
|
@@ -49,16 +49,12 @@ class CefWindowView
|
||||
// CefViewView::GetCefView.
|
||||
CefRefPtr<CefWindow> GetCefWindow() const;
|
||||
|
||||
// views::WidgetDelegateView methods:
|
||||
void DeleteDelegate() override;
|
||||
|
||||
// views::WidgetDelegate methods:
|
||||
bool CanResize() const override;
|
||||
bool CanMinimize() const override;
|
||||
bool CanMaximize() const override;
|
||||
std::u16string GetWindowTitle() const override;
|
||||
gfx::ImageSkia GetWindowIcon() override;
|
||||
gfx::ImageSkia GetWindowAppIcon() override;
|
||||
ui::ImageModel GetWindowIcon() override;
|
||||
ui::ImageModel GetWindowAppIcon() override;
|
||||
void WindowClosing() override;
|
||||
views::View* GetContentsView() override;
|
||||
views::ClientView* CreateClientView(views::Widget* widget) override;
|
||||
@@ -101,6 +97,9 @@ class CefWindowView
|
||||
views::NonClientFrameView* GetNonClientFrameView() const;
|
||||
|
||||
private:
|
||||
// Called when removed from the Widget and before |this| is deleted.
|
||||
void DeleteDelegate();
|
||||
|
||||
// Not owned by this object.
|
||||
Delegate* window_delegate_;
|
||||
|
||||
|
Reference in New Issue
Block a user