Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(244)

Unified Diff: ui/views/widget/desktop_aura/desktop_root_window_host_ozone.cc

Issue 36953002: views: Support Desktop Aura creation on Ozone (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: without cast, as suggested by Elliot Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « ui/views/widget/desktop_aura/desktop_root_window_host_ozone.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/widget/desktop_aura/desktop_root_window_host_ozone.cc
diff --git a/ui/views/widget/desktop_aura/desktop_root_window_host_ozone.cc b/ui/views/widget/desktop_aura/desktop_root_window_host_ozone.cc
index ffca2a6337c55dfbd1ff0a8cf6dbc15ee9c76966..5b225f67c5ac37fa8089576b806cd1fdaf0bc2b0 100644
--- a/ui/views/widget/desktop_aura/desktop_root_window_host_ozone.cc
+++ b/ui/views/widget/desktop_aura/desktop_root_window_host_ozone.cc
@@ -2,19 +2,358 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+#include "ui/views/widget/desktop_aura/desktop_root_window_host_ozone.h"
+
+#include "ui/aura/client/drag_drop_client.h"
#include "ui/aura/window_tree_host.h"
+#include "ui/native_theme/native_theme.h"
+#include "ui/views/corewm/tooltip_aura.h"
+#include "ui/views/linux_ui/linux_ui.h"
#include "ui/views/widget/desktop_aura/desktop_root_window_host.h"
#include "ui/views/widget/desktop_aura/desktop_factory_ozone.h"
namespace views {
-DesktopRootWindowHost* DesktopRootWindowHost::Create(
+////////////////////////////////////////////////////////////////////////////////
+// DesktopRootWindowHostOzone, public:
+DesktopRootWindowHostOzone::DesktopRootWindowHostOzone(
internal::NativeWidgetDelegate* native_widget_delegate,
DesktopNativeWidgetAura* desktop_native_widget_aura) {
DesktopFactoryOzone* d_factory = DesktopFactoryOzone::GetInstance();
- return d_factory->CreateRootWindowHost(native_widget_delegate,
- desktop_native_widget_aura);
+ drwh_ozone_ = d_factory->CreateRootWindowHost(
+ native_widget_delegate,
+ desktop_native_widget_aura);
+}
+
+DesktopRootWindowHostOzone::~DesktopRootWindowHostOzone() {
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// DesktopRootWindowHostOzone, DesktopRootWindowHost implementation:
+
+void DesktopRootWindowHostOzone::Init(
+ aura::Window* content_window,
+ const Widget::InitParams& params,
+ aura::RootWindow::CreateParams* rw_create_params) {
+ drwh_ozone_->Init(content_window, params, rw_create_params);
+}
+
+void DesktopRootWindowHostOzone::OnRootWindowCreated(
+ aura::RootWindow* root,
+ const Widget::InitParams& params) {
+ drwh_ozone_->OnRootWindowCreated(root, params);
+}
+
+scoped_ptr<corewm::Tooltip> DesktopRootWindowHostOzone::CreateTooltip() {
+ return drwh_ozone_->CreateTooltip();
+}
+
+scoped_ptr<aura::client::DragDropClient>
+DesktopRootWindowHostOzone::CreateDragDropClient(
+ DesktopNativeCursorManager* cursor_manager) {
+ return drwh_ozone_->CreateDragDropClient(cursor_manager);
+}
+
+void DesktopRootWindowHostOzone::Close() {
+ drwh_ozone_->Close();
+}
+
+void DesktopRootWindowHostOzone::CloseNow() {
+ drwh_ozone_->CloseNow();
+}
+
+aura::RootWindowHost* DesktopRootWindowHostOzone::AsRootWindowHost() {
+ return drwh_ozone_->AsRootWindowHost();
+}
+
+void DesktopRootWindowHostOzone::ShowWindowWithState(
+ ui::WindowShowState show_state) {
+ drwh_ozone_->ShowWindowWithState(show_state);
+}
+
+void DesktopRootWindowHostOzone::ShowMaximizedWithBounds(
+ const gfx::Rect& restored_bounds) {
+ drwh_ozone_->ShowMaximizedWithBounds(restored_bounds);
+}
+
+bool DesktopRootWindowHostOzone::IsVisible() const {
+ return drwh_ozone_->IsVisible();
+}
+
+void DesktopRootWindowHostOzone::SetSize(const gfx::Size& size) {
+ drwh_ozone_->SetSize(size);
+}
+
+void DesktopRootWindowHostOzone::CenterWindow(const gfx::Size& size) {
+ drwh_ozone_->CenterWindow(size);
+}
+
+void DesktopRootWindowHostOzone::GetWindowPlacement(
+ gfx::Rect* bounds,
+ ui::WindowShowState* show_state) const {
+ drwh_ozone_->GetWindowPlacement(bounds, show_state);
+}
+
+gfx::Rect DesktopRootWindowHostOzone::GetWindowBoundsInScreen() const {
+ return drwh_ozone_->GetWindowBoundsInScreen();
+}
+
+gfx::Rect DesktopRootWindowHostOzone::GetClientAreaBoundsInScreen() const {
+ return drwh_ozone_->GetClientAreaBoundsInScreen();
+}
+
+gfx::Rect DesktopRootWindowHostOzone::GetRestoredBounds() const {
+ return drwh_ozone_->GetRestoredBounds();
+}
+
+gfx::Rect DesktopRootWindowHostOzone::GetWorkAreaBoundsInScreen() const {
+ return drwh_ozone_->GetWorkAreaBoundsInScreen();
+}
+
+void DesktopRootWindowHostOzone::SetShape(gfx::NativeRegion native_region) {
+ drwh_ozone_->SetShape(native_region);
+}
+
+void DesktopRootWindowHostOzone::Activate() {
+ drwh_ozone_->Activate();
+}
+
+void DesktopRootWindowHostOzone::Deactivate() {
+ drwh_ozone_->Deactivate();
+}
+
+bool DesktopRootWindowHostOzone::IsActive() const {
+ return drwh_ozone_->IsActive();
+}
+
+void DesktopRootWindowHostOzone::Maximize() {
+ drwh_ozone_->Maximize();
+}
+
+void DesktopRootWindowHostOzone::Minimize() {
+ drwh_ozone_->Minimize();
+}
+
+void DesktopRootWindowHostOzone::Restore() {
+ drwh_ozone_->Restore();
+}
+
+bool DesktopRootWindowHostOzone::IsMaximized() const {
+ return drwh_ozone_->IsMaximized();
+}
+
+bool DesktopRootWindowHostOzone::IsMinimized() const {
+ return drwh_ozone_->IsMinimized();
+}
+
+bool DesktopRootWindowHostOzone::HasCapture() const {
+ return drwh_ozone_->HasCapture();
+}
+
+void DesktopRootWindowHostOzone::SetAlwaysOnTop(bool always_on_top) {
+ drwh_ozone_->SetAlwaysOnTop(always_on_top);
+}
+
+bool DesktopRootWindowHostOzone::IsAlwaysOnTop() const {
+ return drwh_ozone_->IsAlwaysOnTop();
+}
+
+void DesktopRootWindowHostOzone::SetWindowTitle(const string16& title) {
+ drwh_ozone_->SetWindowTitle(title);
+}
+
+void DesktopRootWindowHostOzone::ClearNativeFocus() {
+ drwh_ozone_->ClearNativeFocus();
+}
+
+Widget::MoveLoopResult DesktopRootWindowHostOzone::RunMoveLoop(
+ const gfx::Vector2d& drag_offset,
+ Widget::MoveLoopSource source,
+ Widget::MoveLoopEscapeBehavior escape_behavior) {
+ return drwh_ozone_->RunMoveLoop(drag_offset, source, escape_behavior);
+}
+
+void DesktopRootWindowHostOzone::EndMoveLoop() {
+ drwh_ozone_->EndMoveLoop();
+}
+
+void DesktopRootWindowHostOzone::SetVisibilityChangedAnimationsEnabled(
+ bool value) {
+ drwh_ozone_->SetVisibilityChangedAnimationsEnabled(value);
+}
+
+bool DesktopRootWindowHostOzone::ShouldUseNativeFrame() {
+ return drwh_ozone_->ShouldUseNativeFrame();
+}
+
+void DesktopRootWindowHostOzone::FrameTypeChanged() {
+ drwh_ozone_->FrameTypeChanged();
+}
+
+NonClientFrameView* DesktopRootWindowHostOzone::CreateNonClientFrameView() {
+ return drwh_ozone_->CreateNonClientFrameView();
+}
+
+void DesktopRootWindowHostOzone::SetFullscreen(bool fullscreen) {
+ drwh_ozone_->SetFullscreen(fullscreen);
+}
+
+bool DesktopRootWindowHostOzone::IsFullscreen() const {
+ return drwh_ozone_->IsFullscreen();
+}
+
+void DesktopRootWindowHostOzone::SetOpacity(unsigned char opacity) {
+ drwh_ozone_->SetOpacity(opacity);
+}
+
+void DesktopRootWindowHostOzone::SetWindowIcons(
+ const gfx::ImageSkia& window_icon, const gfx::ImageSkia& app_icon) {
+ drwh_ozone_->SetWindowIcons(window_icon, app_icon);
+}
+
+void DesktopRootWindowHostOzone::InitModalType(ui::ModalType modal_type) {
+ drwh_ozone_->InitModalType(modal_type);
+}
+
+void DesktopRootWindowHostOzone::FlashFrame(bool flash_frame) {
+ drwh_ozone_->FlashFrame(flash_frame);
+}
+
+void DesktopRootWindowHostOzone::OnRootViewLayout() const {
+ drwh_ozone_->OnRootViewLayout();
+}
+
+void DesktopRootWindowHostOzone::OnNativeWidgetFocus() {
+ drwh_ozone_->OnNativeWidgetFocus();
+}
+
+void DesktopRootWindowHostOzone::OnNativeWidgetBlur() {
+ drwh_ozone_->OnNativeWidgetBlur();
+}
+
+bool DesktopRootWindowHostOzone::IsAnimatingClosed() const {
+ return drwh_ozone_->IsAnimatingClosed();
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// DesktopRootWindowHostOzone, aura::RootWindowHost implementation:
+
+aura::RootWindow* DesktopRootWindowHostOzone::GetRootWindow() {
+ return drwh_ozone_->GetRootWindow();
+}
+
+gfx::AcceleratedWidget DesktopRootWindowHostOzone::GetAcceleratedWidget() {
+ return drwh_ozone_->GetAcceleratedWidget();
+}
+
+void DesktopRootWindowHostOzone::Show() {
+ drwh_ozone_->Show();
+}
+
+void DesktopRootWindowHostOzone::Hide() {
+ drwh_ozone_->Hide();
+}
+
+void DesktopRootWindowHostOzone::ToggleFullScreen() {
+ drwh_ozone_->ToggleFullScreen();
+}
+
+gfx::Rect DesktopRootWindowHostOzone::GetBounds() const {
+ return drwh_ozone_->GetBounds();
+}
+
+void DesktopRootWindowHostOzone::SetBounds(const gfx::Rect& bounds) {
+ drwh_ozone_->SetBounds(bounds);
+}
+
+gfx::Insets DesktopRootWindowHostOzone::GetInsets() const {
+ return drwh_ozone_->GetInsets();
+}
+
+void DesktopRootWindowHostOzone::SetInsets(const gfx::Insets& insets) {
+ drwh_ozone_->SetInsets(insets);
+}
+
+gfx::Point DesktopRootWindowHostOzone::GetLocationOnNativeScreen() const {
+ return drwh_ozone_->GetLocationOnNativeScreen();
+}
+
+void DesktopRootWindowHostOzone::SetCapture() {
+ drwh_ozone_->SetCapture();
+}
+
+void DesktopRootWindowHostOzone::ReleaseCapture() {
+ drwh_ozone_->ReleaseCapture();
+}
+
+void DesktopRootWindowHostOzone::SetCursor(gfx::NativeCursor cursor) {
+ drwh_ozone_->SetCursor(cursor);
+}
+
+bool DesktopRootWindowHostOzone::QueryMouseLocation(
+ gfx::Point* location_return) {
+ return drwh_ozone_->QueryMouseLocation(location_return);
+}
+
+bool DesktopRootWindowHostOzone::ConfineCursorToRootWindow() {
+ return drwh_ozone_->ConfineCursorToRootWindow();
+}
+
+void DesktopRootWindowHostOzone::UnConfineCursor() {
+ drwh_ozone_->UnConfineCursor();
+}
+
+void DesktopRootWindowHostOzone::OnCursorVisibilityChanged(bool show) {
+ drwh_ozone_->OnCursorVisibilityChanged(show);
+}
+
+void DesktopRootWindowHostOzone::MoveCursorTo(const gfx::Point& location) {
+ drwh_ozone_->MoveCursorTo(location);
+}
+
+void DesktopRootWindowHostOzone::PostNativeEvent(
+ const base::NativeEvent& native_event) {
+ drwh_ozone_->PostNativeEvent(native_event);
+}
+
+void DesktopRootWindowHostOzone::OnDeviceScaleFactorChanged(
+ float device_scale_factor) {
+ drwh_ozone_->OnDeviceScaleFactorChanged(device_scale_factor);
+}
+
+void DesktopRootWindowHostOzone::PrepareForShutdown() {
+ drwh_ozone_->PrepareForShutdown();
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// DesktopRootWindowHostOzone, MessageLoop::Dispatcher implementation:
+
+bool DesktopRootWindowHostOzone::Dispatch(const base::NativeEvent& ne) {
+ return drwh_ozone_->Dispatch(ne);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// DesktopRootWindowHost, public:
+
+// static
+DesktopRootWindowHost* DesktopRootWindowHost::Create(
+ internal::NativeWidgetDelegate* native_widget_delegate,
+ DesktopNativeWidgetAura* desktop_native_widget_aura) {
+ return new DesktopRootWindowHostOzone(native_widget_delegate,
+ desktop_native_widget_aura);
+}
+
+// static
+ui::NativeTheme* DesktopRootWindowHost::GetNativeTheme(aura::Window* window) {
+ const views::LinuxUI* linux_ui = views::LinuxUI::instance();
+ if (linux_ui) {
+ ui::NativeTheme* native_theme = linux_ui->GetNativeTheme();
+ if (native_theme)
+ return native_theme;
+ }
+
+ return ui::NativeTheme::instance();
}
} // namespace views
« no previous file with comments | « ui/views/widget/desktop_aura/desktop_root_window_host_ozone.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698