#include "ui/events/event_utils.h"
#include "ui/gfx/insets.h"
#include "ui/native_theme/native_theme.h"
+#include "ui/ozone/public/ozone_platform.h"
#include "ui/ozone/public/surface_factory_ozone.h"
+#include "ui/platform_window/platform_window.h"
+#include "ui/platform_window/platform_window_delegate.h"
#include "ui/views/corewm/tooltip_aura.h"
#include "ui/views/ime/input_method.h"
#include "ui/views/linux_ui/linux_ui.h"
void DesktopWindowTreeHostWayland::InitWaylandWindow(
const Widget::InitParams& params) {
- ui::SurfaceFactoryOzone* surface_factory =
- ui::SurfaceFactoryOzone::GetInstance();
- window_ = surface_factory->GetAcceleratedWidget();
+ bounds_ = params.bounds;
+ platform_window_ =
+ ui::OzonePlatform::GetInstance()->CreatePlatformWindow(this, bounds_);
+ DCHECK(window_);
// Maintain parent child relation as done in X11 version.
// If we have a parent, record the parent/child relationship. We use this
// data during destruction to make sure that when we try to close a parent
window_parent_->window_children_.insert(this);
}
- bounds_ = params.bounds;
ui::WindowStateChangeHandler* state_handler =
ui::WindowStateChangeHandler::GetInstance();
switch (params.type) {
CreateCompositor(GetAcceleratedWidget());
}
+void DesktopWindowTreeHostWayland::OnAcceleratedWidgetAvailable(
+ gfx::AcceleratedWidget widget) {
+ window_ = widget;
+}
+
////////////////////////////////////////////////////////////////////////////////
// DesktopWindowTreeHostWayland, DesktopWindowTreeHost implementation:
ui::WindowShowState* show_state) const {
*bounds = GetRestoredBounds();
- if (IsFullscreen()) {
- *show_state = ui::SHOW_STATE_FULLSCREEN;
- } else if (IsMinimized()) {
+ if (IsMinimized()) {
*show_state = ui::SHOW_STATE_MINIMIZED;
+ } else if (IsFullscreen()) {
+ *show_state = ui::SHOW_STATE_FULLSCREEN;
} else if (IsMaximized()) {
*show_state = ui::SHOW_STATE_MAXIMIZED;
} else if (!IsActive()) {
if (state_ & Minimized)
return;
- state_ &= ~Maximized;
state_ |= Minimized;
- state_ &= ~Normal;
previous_bounds_ = bounds_;
ui::WindowStateChangeHandler::GetInstance()->SetWidgetState(window_,
ui::MINIMIZED);
NOTIMPLEMENTED();
}
-void DesktopWindowTreeHostWayland::OnRootViewLayout() const {
+void DesktopWindowTreeHostWayland::OnRootViewLayout() {
NOTIMPLEMENTED();
}
return false;
}
+bool DesktopWindowTreeHostWayland::IsTranslucentWindowOpacitySupported() const {
+ return false;
+}
+
////////////////////////////////////////////////////////////////////////////////
// DesktopWindowTreeHostWayland, aura::WindowTreeHost implementation:
NOTIMPLEMENTED();
}
-void DesktopWindowTreeHostWayland::OnDeviceScaleFactorChanged(
- float device_scale_factor) {
-}
-
////////////////////////////////////////////////////////////////////////////////
// DesktopWindowTreeHostWayland, Private implementation:
}
}
+void DesktopWindowTreeHostWayland::HandleWindowUnminimized() {
+ state_ &= ~Minimized;
+}
+
void DesktopWindowTreeHostWayland::HandleCommit(const std::string& text) {
ui::InputMethodAuraLinux* inputMethod =
static_cast<ui::InputMethodAuraLinux*>(desktop_native_widget_aura_->