mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
views: Add can_activate parameter to AddOverlayView
This commit is contained in:
committed by
Marshall Greenblatt
parent
2a9696c162
commit
092056ce2d
@@ -167,7 +167,9 @@ CefOverlayViewHost::CefOverlayViewHost(CefWindowView* window_view,
|
||||
cef_docking_mode_t docking_mode)
|
||||
: window_view_(window_view), docking_mode_(docking_mode) {}
|
||||
|
||||
void CefOverlayViewHost::Init(views::View* host_view, CefRefPtr<CefView> view) {
|
||||
void CefOverlayViewHost::Init(views::View* host_view,
|
||||
CefRefPtr<CefView> view,
|
||||
bool can_activate) {
|
||||
DCHECK(view);
|
||||
|
||||
// Match the logic in CEF_PANEL_IMPL_D::AddChildView().
|
||||
@@ -186,7 +188,9 @@ void CefOverlayViewHost::Init(views::View* host_view, CefRefPtr<CefView> view) {
|
||||
params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
|
||||
params.parent = window_view_->GetWidget()->GetNativeView();
|
||||
params.opacity = views::Widget::InitParams::WindowOpacity::kTranslucent;
|
||||
params.activatable = views::Widget::InitParams::Activatable::kNo;
|
||||
params.activatable = can_activate
|
||||
? views::Widget::InitParams::Activatable::kYes
|
||||
: views::Widget::InitParams::Activatable::kNo;
|
||||
widget_->Init(std::move(params));
|
||||
|
||||
view_ = widget_->GetContentsView()->AddChildView(std::move(controls_view));
|
||||
|
@@ -32,7 +32,7 @@ class CefOverlayViewHost : public views::WidgetDelegate,
|
||||
// paints into. On Aura platforms, |host_view| is the view whose position in
|
||||
// the |window_view_| view hierarchy determines the z-order of the widget
|
||||
// relative to views with layers and views with associated NativeViews.
|
||||
void Init(views::View* host_view, CefRefPtr<CefView> view);
|
||||
void Init(views::View* host_view, CefRefPtr<CefView> view, bool can_activate);
|
||||
|
||||
void Destroy();
|
||||
|
||||
|
@@ -349,10 +349,11 @@ CefRefPtr<CefImage> CefWindowImpl::GetWindowAppIcon() {
|
||||
|
||||
CefRefPtr<CefOverlayController> CefWindowImpl::AddOverlayView(
|
||||
CefRefPtr<CefView> view,
|
||||
cef_docking_mode_t docking_mode) {
|
||||
cef_docking_mode_t docking_mode,
|
||||
bool can_activate) {
|
||||
CEF_REQUIRE_VALID_RETURN(nullptr);
|
||||
if (root_view()) {
|
||||
return root_view()->AddOverlayView(view, docking_mode);
|
||||
return root_view()->AddOverlayView(view, docking_mode, can_activate);
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
@@ -67,7 +67,8 @@ class CefWindowImpl
|
||||
CefRefPtr<CefImage> GetWindowAppIcon() override;
|
||||
CefRefPtr<CefOverlayController> AddOverlayView(
|
||||
CefRefPtr<CefView> view,
|
||||
cef_docking_mode_t docking_mode) override;
|
||||
cef_docking_mode_t docking_mode,
|
||||
bool can_activate) override;
|
||||
void ShowMenu(CefRefPtr<CefMenuModel> menu_model,
|
||||
const CefPoint& screen_point,
|
||||
cef_menu_anchor_position_t anchor_position) override;
|
||||
|
@@ -795,7 +795,8 @@ void CefWindowView::SetWindowAppIcon(CefRefPtr<CefImage> window_app_icon) {
|
||||
|
||||
CefRefPtr<CefOverlayController> CefWindowView::AddOverlayView(
|
||||
CefRefPtr<CefView> view,
|
||||
cef_docking_mode_t docking_mode) {
|
||||
cef_docking_mode_t docking_mode,
|
||||
bool can_activate) {
|
||||
DCHECK(view.get());
|
||||
DCHECK(view->IsValid());
|
||||
if (!view.get() || !view->IsValid()) {
|
||||
@@ -811,7 +812,7 @@ CefRefPtr<CefOverlayController> CefWindowView::AddOverlayView(
|
||||
std::make_unique<CefOverlayViewHost>(this, docking_mode));
|
||||
|
||||
auto& overlay_host = overlay_hosts_.back();
|
||||
overlay_host->Init(overlay_host_view, view);
|
||||
overlay_host->Init(overlay_host_view, view, can_activate);
|
||||
|
||||
return overlay_host->controller();
|
||||
}
|
||||
|
@@ -105,7 +105,8 @@ class CefWindowView
|
||||
|
||||
CefRefPtr<CefOverlayController> AddOverlayView(
|
||||
CefRefPtr<CefView> view,
|
||||
cef_docking_mode_t docking_mode);
|
||||
cef_docking_mode_t docking_mode,
|
||||
bool can_activate);
|
||||
|
||||
// Set/get the draggable regions.
|
||||
void SetDraggableRegions(const std::vector<CefDraggableRegion>& regions);
|
||||
|
Reference in New Issue
Block a user