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

Unified Diff: ui/views/mus/native_widget_mus.h

Issue 2611773002: Removes code using mus client lib (Closed)
Patch Set: dont run on linux Created 3 years, 12 months 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/mus/interactive_ui_tests_mus.cc ('k') | ui/views/mus/native_widget_mus.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: ui/views/mus/native_widget_mus.h
diff --git a/ui/views/mus/native_widget_mus.h b/ui/views/mus/native_widget_mus.h
deleted file mode 100644
index d812615299a6fec45f85483308d0785ffc2b0f33..0000000000000000000000000000000000000000
--- a/ui/views/mus/native_widget_mus.h
+++ /dev/null
@@ -1,315 +0,0 @@
-// Copyright 2015 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#ifndef UI_VIEWS_MUS_NATIVE_WIDGET_MUS_H_
-#define UI_VIEWS_MUS_NATIVE_WIDGET_MUS_H_
-
-#include <stdint.h>
-
-#include <map>
-#include <memory>
-#include <string>
-#include <vector>
-
-#include "base/callback.h"
-#include "base/macros.h"
-#include "base/memory/weak_ptr.h"
-#include "services/ui/public/cpp/input_event_handler.h"
-#include "services/ui/public/interfaces/window_tree.mojom.h"
-#include "ui/aura/client/drag_drop_delegate.h"
-#include "ui/aura/window_delegate.h"
-#include "ui/aura/window_tree_host_observer.h"
-#include "ui/platform_window/platform_window_delegate.h"
-#include "ui/views/mus/mus_export.h"
-#include "ui/views/mus/window_tree_host_mus.h"
-#include "ui/views/widget/native_widget_private.h"
-
-namespace aura {
-namespace client {
-class DragDropClient;
-class ScreenPositionClient;
-class WindowParentingClient;
-}
-class Window;
-}
-
-namespace ui {
-class Window;
-class WindowTreeClient;
-namespace mojom {
-enum class Cursor;
-enum class EventResult;
-}
-}
-
-namespace ui {
-class Event;
-}
-
-namespace wm {
-class CursorManager;
-class FocusController;
-}
-
-namespace views {
-namespace corewm {
-class TooltipController;
-}
-class DropHelper;
-class DropTargetMus;
-class InputMethodMus;
-class TooltipManagerAura;
-
-// An implementation of NativeWidget that binds to a ui::Window. Because Aura
-// is used extensively within Views code, this code uses aura and binds to the
-// ui::Window via a Mus-specific aura::WindowTreeHost impl. Because the root
-// aura::Window in a hierarchy is created without a delegate by the
-// aura::WindowTreeHost, we must create a child aura::Window in this class
-// (content_) and attach it to the root.
-class VIEWS_MUS_EXPORT NativeWidgetMus
- : public internal::NativeWidgetPrivate,
- public aura::WindowDelegate,
- public aura::WindowTreeHostObserver,
- public aura::client::DragDropDelegate,
- public NON_EXPORTED_BASE(ui::InputEventHandler) {
- public:
- NativeWidgetMus(
- internal::NativeWidgetDelegate* delegate,
- ui::Window* window,
- ui::mojom::CompositorFrameSinkType compositor_frame_sink_type);
- ~NativeWidgetMus() override;
-
- // Configures the set of properties supplied to the window manager when
- // creating a new Window for a Widget.
- static void ConfigurePropertiesForNewWindow(
- const Widget::InitParams& init_params,
- std::map<std::string, std::vector<uint8_t>>* properties);
-
- // Notifies all widgets the frame constants changed in some way.
- static void NotifyFrameChanged(ui::WindowTreeClient* client);
-
- // Returns the native widget for a ui::Window, or null if there is none.
- static NativeWidgetMus* GetForWindow(ui::Window* window);
-
- // Returns the widget for a ui::Window, or null if there is none.
- static Widget* GetWidgetForWindow(ui::Window* window);
-
- ui::mojom::CompositorFrameSinkType compositor_frame_sink_type() const {
- return compositor_frame_sink_type_;
- }
- ui::Window* window() { return window_; }
- aura::Window* aura_window() { return content_; }
- WindowTreeHostMus* window_tree_host() { return window_tree_host_.get(); }
-
- aura::Window* GetRootWindow();
-
- void OnPlatformWindowClosed();
- void OnActivationChanged(bool active);
-
- protected:
- // Updates the client area in the ui::Window.
- virtual void UpdateClientArea();
-
- // internal::NativeWidgetPrivate:
- NonClientFrameView* CreateNonClientFrameView() override;
- void InitNativeWidget(const Widget::InitParams& params) override;
- void OnWidgetInitDone() override;
- bool ShouldUseNativeFrame() const override;
- bool ShouldWindowContentsBeTransparent() const override;
- void FrameTypeChanged() override;
- Widget* GetWidget() override;
- const Widget* GetWidget() const override;
- gfx::NativeView GetNativeView() const override;
- gfx::NativeWindow GetNativeWindow() const override;
- Widget* GetTopLevelWidget() override;
- const ui::Compositor* GetCompositor() const override;
- const ui::Layer* GetLayer() const override;
- void ReorderNativeViews() override;
- void ViewRemoved(View* view) override;
- void SetNativeWindowProperty(const char* name, void* value) override;
- void* GetNativeWindowProperty(const char* name) const override;
- TooltipManager* GetTooltipManager() const override;
- void SetCapture() override;
- void ReleaseCapture() override;
- bool HasCapture() const override;
- ui::InputMethod* GetInputMethod() override;
- void CenterWindow(const gfx::Size& size) override;
- void GetWindowPlacement(gfx::Rect* bounds,
- ui::WindowShowState* maximized) const override;
- bool SetWindowTitle(const base::string16& title) override;
- void SetWindowIcons(const gfx::ImageSkia& window_icon,
- const gfx::ImageSkia& app_icon) override;
- void InitModalType(ui::ModalType modal_type) override;
- gfx::Rect GetWindowBoundsInScreen() const override;
- gfx::Rect GetClientAreaBoundsInScreen() const override;
- gfx::Rect GetRestoredBounds() const override;
- std::string GetWorkspace() const override;
- void SetBounds(const gfx::Rect& bounds_in_screen) override;
- void SetSize(const gfx::Size& size) override;
- void StackAbove(gfx::NativeView native_view) override;
- void StackAtTop() override;
- void SetShape(std::unique_ptr<SkRegion> shape) override;
- void Close() override;
- void CloseNow() override;
- void Show() override;
- void Hide() override;
- void ShowMaximizedWithBounds(const gfx::Rect& restored_bounds) override;
- void ShowWithWindowState(ui::WindowShowState state) override;
- bool IsVisible() const override;
- void Activate() override;
- void Deactivate() override;
- bool IsActive() const override;
- void SetAlwaysOnTop(bool always_on_top) override;
- bool IsAlwaysOnTop() const override;
- void SetVisibleOnAllWorkspaces(bool always_visible) override;
- bool IsVisibleOnAllWorkspaces() const override;
- void Maximize() override;
- void Minimize() override;
- bool IsMaximized() const override;
- bool IsMinimized() const override;
- void Restore() override;
- void SetFullscreen(bool fullscreen) override;
- bool IsFullscreen() const override;
- void SetOpacity(float opacity) override;
- void FlashFrame(bool flash_frame) override;
- void RunShellDrag(View* view,
- const ui::OSExchangeData& data,
- const gfx::Point& location,
- int drag_operations,
- ui::DragDropTypes::DragEventSource source) override;
- void SchedulePaintInRect(const gfx::Rect& rect) override;
- void SetCursor(gfx::NativeCursor cursor) override;
- bool IsMouseEventsEnabled() const override;
- void ClearNativeFocus() override;
- gfx::Rect GetWorkAreaBoundsInScreen() const override;
- Widget::MoveLoopResult RunMoveLoop(
- const gfx::Vector2d& drag_offset,
- Widget::MoveLoopSource source,
- Widget::MoveLoopEscapeBehavior escape_behavior) override;
- void EndMoveLoop() override;
- void SetVisibilityChangedAnimationsEnabled(bool value) override;
- void SetVisibilityAnimationDuration(const base::TimeDelta& duration) override;
- void SetVisibilityAnimationTransition(
- Widget::VisibilityTransition transition) override;
- bool IsTranslucentWindowOpacitySupported() const override;
- void OnSizeConstraintsChanged() override;
- void RepostNativeEvent(gfx::NativeEvent native_event) override;
- std::string GetName() const override;
-
- // Overridden from aura::WindowDelegate:
- gfx::Size GetMinimumSize() const override;
- gfx::Size GetMaximumSize() const override;
- void OnBoundsChanged(const gfx::Rect& old_bounds,
- const gfx::Rect& new_bounds) override;
- gfx::NativeCursor GetCursor(const gfx::Point& point) override;
- int GetNonClientComponent(const gfx::Point& point) const override;
- bool ShouldDescendIntoChildForEventHandling(
- aura::Window* child,
- const gfx::Point& location) override;
- bool CanFocus() override;
- void OnCaptureLost() override;
- void OnPaint(const ui::PaintContext& context) override;
- void OnDeviceScaleFactorChanged(float device_scale_factor) override;
- void OnWindowDestroying(aura::Window* window) override;
- void OnWindowDestroyed(aura::Window* window) override;
- void OnWindowTargetVisibilityChanged(bool visible) override;
- bool HasHitTestMask() const override;
- void GetHitTestMask(gfx::Path* mask) const override;
-
- // Overridden from ui::EventHandler:
- void OnKeyEvent(ui::KeyEvent* event) override;
- void OnMouseEvent(ui::MouseEvent* event) override;
- void OnScrollEvent(ui::ScrollEvent* event) override;
- void OnGestureEvent(ui::GestureEvent* event) override;
-
- // Overridden from aura::WindowTreeHostObserver:
- void OnHostResized(const aura::WindowTreeHost* host) override;
- void OnHostMovedInPixels(const aura::WindowTreeHost* host,
- const gfx::Point& new_origin_in_pixels) override;
- void OnHostCloseRequested(const aura::WindowTreeHost* host) override;
-
- // Overridden from aura::client::DragDropDelegate:
- void OnDragEntered(const ui::DropTargetEvent& event) override;
- int OnDragUpdated(const ui::DropTargetEvent& event) override;
- void OnDragExited() override;
- int OnPerformDrop(const ui::DropTargetEvent& event) override;
-
- // Overridden from ui::InputEventHandler:
- void OnWindowInputEvent(
- ui::Window* view,
- const ui::Event& event,
- std::unique_ptr<base::Callback<void(ui::mojom::EventResult)>>*
- ack_callback) override;
-
- private:
- friend class NativeWidgetMusTest;
- class MusWindowObserver;
- class MusCaptureClient;
-
- ui::PlatformWindowDelegate* platform_window_delegate() {
- return window_tree_host();
- }
-
- // Returns true if this NativeWidgetMus exists on the window manager side
- // to provide the frame decorations.
- bool is_parallel_widget_in_window_manager() {
- return compositor_frame_sink_type_ ==
- ui::mojom::CompositorFrameSinkType::UNDERLAY;
- }
-
- void set_last_cursor(ui::mojom::Cursor cursor) { last_cursor_ = cursor; }
- void SetShowState(ui::mojom::ShowState show_state);
-
- void OnMusWindowVisibilityChanging(ui::Window* window, bool visible);
- void OnMusWindowVisibilityChanged(ui::Window* window, bool visible);
-
- // Propagates the widget hit test mask, if any, to the ui::Window.
- // TODO(jamescook): Wire this through views::Widget so widgets can push
- // updates if needed.
- void UpdateHitTestMask();
-
- ui::Window* window_;
- ui::mojom::Cursor last_cursor_;
-
- internal::NativeWidgetDelegate* native_widget_delegate_;
-
- const ui::mojom::CompositorFrameSinkType compositor_frame_sink_type_;
- ui::mojom::ShowState show_state_before_fullscreen_;
-
- // See class documentation for Widget in widget.h for a note about ownership.
- Widget::InitParams::Ownership ownership_;
-
- // Functions with the same name require the ui::WindowObserver to be in
- // a separate class.
- std::unique_ptr<MusWindowObserver> mus_window_observer_;
-
- // Receives drop events for |window_|.
- std::unique_ptr<DropTargetMus> drop_target_;
-
- // Aura configuration.
- std::unique_ptr<WindowTreeHostMus> window_tree_host_;
- aura::Window* content_;
- std::unique_ptr<wm::FocusController> focus_client_;
- std::unique_ptr<MusCaptureClient> capture_client_;
- std::unique_ptr<aura::client::DragDropClient> drag_drop_client_;
- std::unique_ptr<aura::client::WindowParentingClient> window_parenting_client_;
- std::unique_ptr<aura::client::ScreenPositionClient> screen_position_client_;
- std::unique_ptr<wm::CursorManager> cursor_manager_;
-
- std::unique_ptr<DropHelper> drop_helper_;
- int last_drop_operation_;
-
- std::unique_ptr<corewm::TooltipController> tooltip_controller_;
- std::unique_ptr<TooltipManagerAura> tooltip_manager_;
-
- std::unique_ptr<InputMethodMus> input_method_;
-
- base::WeakPtrFactory<NativeWidgetMus> close_widget_factory_;
-
- DISALLOW_COPY_AND_ASSIGN(NativeWidgetMus);
-};
-
-} // namespace views
-
-#endif // UI_VIEWS_MUS_NATIVE_WIDGET_MUS_H_
« no previous file with comments | « ui/views/mus/interactive_ui_tests_mus.cc ('k') | ui/views/mus/native_widget_mus.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698