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

Unified Diff: mash/wm/bridge/wm_window_mus.cc

Issue 2029883002: Moves mash/wm into ash/mus (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@remove_static_assert
Patch Set: move comment Created 4 years, 7 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 | « mash/wm/bridge/wm_window_mus.h ('k') | mash/wm/container_ids.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mash/wm/bridge/wm_window_mus.cc
diff --git a/mash/wm/bridge/wm_window_mus.cc b/mash/wm/bridge/wm_window_mus.cc
deleted file mode 100644
index 8def7d1233bee7ebc709a26ec89e10b7781d179f..0000000000000000000000000000000000000000
--- a/mash/wm/bridge/wm_window_mus.cc
+++ /dev/null
@@ -1,739 +0,0 @@
-// Copyright 2016 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.
-
-#include "mash/wm/bridge/wm_window_mus.h"
-
-#include "ash/common/wm/container_finder.h"
-#include "ash/common/wm/window_state.h"
-#include "ash/common/wm/wm_layout_manager.h"
-#include "ash/common/wm/wm_window_observer.h"
-#include "ash/common/wm/wm_window_property.h"
-#include "components/mus/public/cpp/property_type_converters.h"
-#include "components/mus/public/cpp/window.h"
-#include "components/mus/public/cpp/window_property.h"
-#include "components/mus/public/cpp/window_tree_client.h"
-#include "components/mus/public/interfaces/window_manager.mojom.h"
-#include "mash/wm/bridge/mus_layout_manager_adapter.h"
-#include "mash/wm/bridge/wm_globals_mus.h"
-#include "mash/wm/bridge/wm_root_window_controller_mus.h"
-#include "mash/wm/property_util.h"
-#include "ui/aura/mus/mus_util.h"
-#include "ui/base/hit_test.h"
-#include "ui/display/display.h"
-#include "ui/views/widget/widget.h"
-#include "ui/views/widget/widget_delegate.h"
-
-MUS_DECLARE_WINDOW_PROPERTY_TYPE(mash::wm::WmWindowMus*);
-
-// TODO(sky): fully implement this. Making DVLOG as too spammy to be useful.
-#undef NOTIMPLEMENTED
-#define NOTIMPLEMENTED() DVLOG(1) << "notimplemented"
-
-namespace mash {
-namespace wm {
-
-MUS_DEFINE_OWNED_WINDOW_PROPERTY_KEY(mash::wm::WmWindowMus,
- kWmWindowKey,
- nullptr);
-namespace {
-
-// This classes is used so that the WindowState constructor can be made
-// protected. GetWindowState() is the only place that should be creating
-// WindowState.
-class WindowStateMus : public ash::wm::WindowState {
- public:
- explicit WindowStateMus(ash::wm::WmWindow* window)
- : ash::wm::WindowState(window) {}
- ~WindowStateMus() override {}
-
- private:
- DISALLOW_COPY_AND_ASSIGN(WindowStateMus);
-};
-
-ui::WindowShowState UIWindowShowStateFromMojom(mus::mojom::ShowState state) {
- switch (state) {
- case mus::mojom::ShowState::DEFAULT:
- return ui::SHOW_STATE_DEFAULT;
- case mus::mojom::ShowState::NORMAL:
- return ui::SHOW_STATE_NORMAL;
- case mus::mojom::ShowState::MINIMIZED:
- return ui::SHOW_STATE_MINIMIZED;
- case mus::mojom::ShowState::MAXIMIZED:
- return ui::SHOW_STATE_MAXIMIZED;
- case mus::mojom::ShowState::INACTIVE:
- return ui::SHOW_STATE_INACTIVE;
- case mus::mojom::ShowState::FULLSCREEN:
- return ui::SHOW_STATE_FULLSCREEN;
- case mus::mojom::ShowState::DOCKED:
- return ui::SHOW_STATE_DOCKED;
- default:
- break;
- }
- return ui::SHOW_STATE_DEFAULT;
-}
-
-mus::mojom::ShowState MojomWindowShowStateFromUI(ui::WindowShowState state) {
- switch (state) {
- case ui::SHOW_STATE_DEFAULT:
- return mus::mojom::ShowState::DEFAULT;
- case ui::SHOW_STATE_NORMAL:
- return mus::mojom::ShowState::NORMAL;
- case ui::SHOW_STATE_MINIMIZED:
- return mus::mojom::ShowState::MINIMIZED;
- case ui::SHOW_STATE_MAXIMIZED:
- return mus::mojom::ShowState::MAXIMIZED;
- case ui::SHOW_STATE_INACTIVE:
- return mus::mojom::ShowState::INACTIVE;
- case ui::SHOW_STATE_FULLSCREEN:
- return mus::mojom::ShowState::FULLSCREEN;
- case ui::SHOW_STATE_DOCKED:
- return mus::mojom::ShowState::DOCKED;
- default:
- break;
- }
- return mus::mojom::ShowState::DEFAULT;
-}
-
-} // namespace
-
-WmWindowMus::WmWindowMus(mus::Window* window)
- : window_(window),
- // Matches aura, see aura::Window for details.
- observers_(
- base::ObserverList<ash::wm::WmWindowObserver>::NOTIFY_EXISTING_ONLY) {
- window_->AddObserver(this);
- window_->SetLocalProperty(kWmWindowKey, this);
- window_state_.reset(new WindowStateMus(this));
-}
-
-WmWindowMus::~WmWindowMus() {
- window_->RemoveObserver(this);
-}
-
-// static
-WmWindowMus* WmWindowMus::Get(mus::Window* window) {
- if (!window)
- return nullptr;
-
- wm::WmWindowMus* wm_window = window->GetLocalProperty(kWmWindowKey);
- if (wm_window)
- return wm_window;
- // WmWindowMus is owned by the mus::Window.
- return new WmWindowMus(window);
-}
-
-// static
-WmWindowMus* WmWindowMus::Get(views::Widget* widget) {
- return WmWindowMus::Get(aura::GetMusWindow(widget->GetNativeView()));
-}
-
-// static
-const mus::Window* WmWindowMus::GetMusWindow(
- const ash::wm::WmWindow* wm_window) {
- return static_cast<const WmWindowMus*>(wm_window)->mus_window();
-}
-
-// static
-std::vector<ash::wm::WmWindow*> WmWindowMus::FromMusWindows(
- const std::vector<mus::Window*>& mus_windows) {
- std::vector<ash::wm::WmWindow*> result(mus_windows.size());
- for (size_t i = 0; i < mus_windows.size(); ++i)
- result[i] = Get(mus_windows[i]);
- return result;
-}
-
-const WmRootWindowControllerMus* WmWindowMus::GetRootWindowControllerMus()
- const {
- return WmRootWindowControllerMus::Get(window_->GetRoot());
-}
-
-bool WmWindowMus::ShouldUseExtendedHitRegion() const {
- const WmWindowMus* parent = Get(window_->parent());
- return parent && parent->children_use_extended_hit_region_;
-}
-
-const ash::wm::WmWindow* WmWindowMus::GetRootWindow() const {
- return Get(window_->GetRoot());
-}
-
-ash::wm::WmRootWindowController* WmWindowMus::GetRootWindowController() {
- return GetRootWindowControllerMus();
-}
-
-ash::wm::WmGlobals* WmWindowMus::GetGlobals() const {
- return WmGlobalsMus::Get();
-}
-
-void WmWindowMus::SetName(const char* name) {
- if (name) {
- window_->SetSharedProperty<std::string>(
- mus::mojom::WindowManager::kName_Property, std::string(name));
- } else {
- window_->ClearSharedProperty(mus::mojom::WindowManager::kName_Property);
- }
-}
-
-base::string16 WmWindowMus::GetTitle() const {
- return GetWindowTitle(window_);
-}
-
-void WmWindowMus::SetShellWindowId(int id) {
- shell_window_id_ = id;
-}
-
-int WmWindowMus::GetShellWindowId() const {
- return shell_window_id_;
-}
-
-ui::wm::WindowType WmWindowMus::GetType() const {
- return GetWmWindowType(window_);
-}
-
-ui::Layer* WmWindowMus::GetLayer() {
- // TODO(sky): this function should be nuked entirely.
- NOTIMPLEMENTED();
- return widget_ ? widget_->GetLayer() : nullptr;
-}
-
-display::Display WmWindowMus::GetDisplayNearestWindow() {
- // TODO(sky): deal with null rwc.
- return GetRootWindowControllerMus()->GetDisplay();
-}
-
-bool WmWindowMus::HasNonClientArea() {
- return widget_ ? true : false;
-}
-
-int WmWindowMus::GetNonClientComponent(const gfx::Point& location) {
- return widget_ ? widget_->GetNonClientComponent(location) : HTNOWHERE;
-}
-
-gfx::Point WmWindowMus::ConvertPointToTarget(const WmWindow* target,
- const gfx::Point& point) const {
- const mus::Window* target_window = GetMusWindow(target);
- if (target_window->Contains(window_)) {
- gfx::Point result(point);
- const mus::Window* window = window_;
- while (window != target_window) {
- result += window->bounds().origin().OffsetFromOrigin();
- window = window->parent();
- }
- return result;
- }
- if (window_->Contains(target_window)) {
- gfx::Point result(point);
- result -=
- target->ConvertPointToTarget(this, gfx::Point()).OffsetFromOrigin();
- return result;
- }
- // Different roots.
- gfx::Point point_in_screen =
- GetRootWindowControllerMus()->ConvertPointToScreen(this, point);
- return AsWmWindowMus(target)
- ->GetRootWindowControllerMus()
- ->ConvertPointFromScreen(AsWmWindowMus(target), point_in_screen);
-}
-
-gfx::Point WmWindowMus::ConvertPointToScreen(const gfx::Point& point) const {
- return GetRootWindowControllerMus()->ConvertPointToScreen(this, point);
-}
-
-gfx::Point WmWindowMus::ConvertPointFromScreen(const gfx::Point& point) const {
- return GetRootWindowControllerMus()->ConvertPointFromScreen(this, point);
-}
-
-gfx::Rect WmWindowMus::ConvertRectToScreen(const gfx::Rect& rect) const {
- return gfx::Rect(ConvertPointToScreen(rect.origin()), rect.size());
-}
-
-gfx::Rect WmWindowMus::ConvertRectFromScreen(const gfx::Rect& rect) const {
- return gfx::Rect(ConvertPointFromScreen(rect.origin()), rect.size());
-}
-
-gfx::Size WmWindowMus::GetMinimumSize() const {
- return widget_ ? widget_->GetMinimumSize() : gfx::Size();
-}
-
-gfx::Size WmWindowMus::GetMaximumSize() const {
- return widget_ ? widget_->GetMaximumSize() : gfx::Size();
-}
-
-bool WmWindowMus::GetTargetVisibility() const {
- // TODO: need animation support: http://crbug.com/615087.
- NOTIMPLEMENTED();
- return window_->visible();
-}
-
-bool WmWindowMus::IsVisible() const {
- return window_->visible();
-}
-
-void WmWindowMus::SetOpacity(float opacity) {
- window_->SetOpacity(opacity);
-}
-
-float WmWindowMus::GetTargetOpacity() const {
- // TODO: need animation support: http://crbug.com/615087.
- return window_->opacity();
-}
-
-void WmWindowMus::SetTransform(const gfx::Transform& transform) {
- // TODO: mus needs to support transforms: http://crbug.com/615089.
- NOTIMPLEMENTED();
-}
-
-gfx::Transform WmWindowMus::GetTargetTransform() const {
- // TODO: need animation support: http://crbug.com/615087.
- return gfx::Transform();
-}
-
-bool WmWindowMus::IsSystemModal() const {
- NOTIMPLEMENTED();
- return false;
-}
-
-bool WmWindowMus::GetBoolProperty(ash::wm::WmWindowProperty key) {
- switch (key) {
- case ash::wm::WmWindowProperty::SNAP_CHILDREN_TO_PIXEL_BOUNDARY:
- return snap_children_to_pixel_boundary_;
-
- case ash::wm::WmWindowProperty::ALWAYS_ON_TOP:
- return IsAlwaysOnTop();
-
- default:
- NOTREACHED();
- break;
- }
-
- NOTREACHED();
- return false;
-}
-
-int WmWindowMus::GetIntProperty(ash::wm::WmWindowProperty key) {
- if (key == ash::wm::WmWindowProperty::SHELF_ID) {
- NOTIMPLEMENTED();
- return 0;
- }
-
- if (key == ash::wm::WmWindowProperty::TOP_VIEW_INSET) {
- // TODO: need support for TOP_VIEW_INSET: http://crbug.com/615100.
- NOTIMPLEMENTED();
- return 0;
- }
-
- NOTREACHED();
- return 0;
-}
-
-const ash::wm::WindowState* WmWindowMus::GetWindowState() const {
- return window_state_.get();
-}
-
-ash::wm::WmWindow* WmWindowMus::GetToplevelWindow() {
- return WmGlobalsMus::GetToplevelAncestor(window_);
-}
-
-void WmWindowMus::SetParentUsingContext(WmWindow* context,
- const gfx::Rect& screen_bounds) {
- GetDefaultParent(context, this, screen_bounds)->AddChild(this);
-}
-
-void WmWindowMus::AddChild(WmWindow* window) {
- window_->AddChild(GetMusWindow(window));
-}
-
-ash::wm::WmWindow* WmWindowMus::GetParent() {
- return Get(window_->parent());
-}
-
-const ash::wm::WmWindow* WmWindowMus::GetTransientParent() const {
- return Get(window_->transient_parent());
-}
-
-std::vector<ash::wm::WmWindow*> WmWindowMus::GetTransientChildren() {
- return FromMusWindows(window_->transient_children());
-}
-
-void WmWindowMus::SetLayoutManager(
- std::unique_ptr<ash::wm::WmLayoutManager> layout_manager) {
- if (layout_manager) {
- layout_manager_adapter_.reset(
- new MusLayoutManagerAdapter(window_, std::move(layout_manager)));
- } else {
- layout_manager_adapter_.reset();
- }
-}
-
-ash::wm::WmLayoutManager* WmWindowMus::GetLayoutManager() {
- return layout_manager_adapter_ ? layout_manager_adapter_->layout_manager()
- : nullptr;
-}
-
-void WmWindowMus::SetVisibilityAnimationType(int type) {
- // TODO: need animation support: http://crbug.com/615087.
- NOTIMPLEMENTED();
-}
-
-void WmWindowMus::SetVisibilityAnimationDuration(base::TimeDelta delta) {
- // TODO: need animation support: http://crbug.com/615087.
- NOTIMPLEMENTED();
-}
-
-void WmWindowMus::SetVisibilityAnimationTransition(
- ::wm::WindowVisibilityAnimationTransition transition) {
- // TODO: need animation support: http://crbug.com/615087.
- NOTIMPLEMENTED();
-}
-
-void WmWindowMus::Animate(::wm::WindowAnimationType type) {
- // TODO: need animation support: http://crbug.com/615087.
- NOTIMPLEMENTED();
-}
-
-void WmWindowMus::StopAnimatingProperty(
- ui::LayerAnimationElement::AnimatableProperty property) {
- // TODO: need animation support: http://crbug.com/615087.
- NOTIMPLEMENTED();
-}
-
-void WmWindowMus::SetChildWindowVisibilityChangesAnimated() {
- // TODO: need animation support: http://crbug.com/615087.
- NOTIMPLEMENTED();
-}
-
-void WmWindowMus::SetMasksToBounds(bool value) {
- // TODO: mus needs mask to bounds support: http://crbug.com/615550.
- NOTIMPLEMENTED();
-}
-
-void WmWindowMus::SetBounds(const gfx::Rect& bounds) {
- if (window_->parent()) {
- WmWindowMus* parent = WmWindowMus::Get(window_->parent());
- if (parent->layout_manager_adapter_) {
- parent->layout_manager_adapter_->layout_manager()->SetChildBounds(this,
- bounds);
- return;
- }
- }
- SetBoundsDirect(bounds);
-}
-
-void WmWindowMus::SetBoundsWithTransitionDelay(const gfx::Rect& bounds,
- base::TimeDelta delta) {
- // TODO: need animation support: http://crbug.com/615087.
- NOTIMPLEMENTED();
- SetBounds(bounds);
-}
-
-void WmWindowMus::SetBoundsDirect(const gfx::Rect& bounds) {
- window_->SetBounds(bounds);
- SnapToPixelBoundaryIfNecessary();
-}
-
-void WmWindowMus::SetBoundsDirectAnimated(const gfx::Rect& bounds) {
- // TODO: need animation support: http://crbug.com/615087.
- NOTIMPLEMENTED();
- SetBoundsDirect(bounds);
-}
-
-void WmWindowMus::SetBoundsDirectCrossFade(const gfx::Rect& bounds) {
- // TODO: need animation support: http://crbug.com/615087.
- NOTIMPLEMENTED();
- SetBoundsDirect(bounds);
-}
-
-void WmWindowMus::SetBoundsInScreen(const gfx::Rect& bounds_in_screen,
- const display::Display& dst_display) {
- // TODO: SetBoundsInScreen isn't fully implemented yet,
- // http://crbug.com/615552.
- NOTIMPLEMENTED();
- SetBounds(ConvertRectFromScreen(bounds_in_screen));
-}
-
-gfx::Rect WmWindowMus::GetBoundsInScreen() const {
- return ConvertRectToScreen(gfx::Rect(window_->bounds().size()));
-}
-
-const gfx::Rect& WmWindowMus::GetBounds() const {
- return window_->bounds();
-}
-
-gfx::Rect WmWindowMus::GetTargetBounds() {
- // TODO: need animation support: http://crbug.com/615087.
- NOTIMPLEMENTED();
- return window_->bounds();
-}
-
-void WmWindowMus::ClearRestoreBounds() {
- restore_bounds_in_screen_.reset();
-}
-
-void WmWindowMus::SetRestoreBoundsInScreen(const gfx::Rect& bounds) {
- restore_bounds_in_screen_.reset(new gfx::Rect(bounds));
-}
-
-gfx::Rect WmWindowMus::GetRestoreBoundsInScreen() const {
- return *restore_bounds_in_screen_;
-}
-
-bool WmWindowMus::Contains(const ash::wm::WmWindow* other) const {
- return other
- ? window_->Contains(
- static_cast<const WmWindowMus*>(other)->window_)
- : false;
-}
-
-void WmWindowMus::SetShowState(ui::WindowShowState show_state) {
- SetWindowShowState(window_, MojomWindowShowStateFromUI(show_state));
-}
-
-ui::WindowShowState WmWindowMus::GetShowState() const {
- return UIWindowShowStateFromMojom(GetWindowShowState(window_));
-}
-
-void WmWindowMus::SetRestoreShowState(ui::WindowShowState show_state) {
- restore_show_state_ = show_state;
-}
-
-void WmWindowMus::SetLockedToRoot(bool value) {
- // TODO(sky): there is no getter for this. Investigate where used.
- NOTIMPLEMENTED();
-}
-
-void WmWindowMus::SetCapture() {
- window_->SetCapture();
-}
-
-bool WmWindowMus::HasCapture() {
- return window_->HasCapture();
-}
-
-void WmWindowMus::ReleaseCapture() {
- window_->ReleaseCapture();
-}
-
-bool WmWindowMus::HasRestoreBounds() const {
- return restore_bounds_in_screen_.get() != nullptr;
-}
-
-bool WmWindowMus::CanMaximize() const {
- return widget_ ? widget_->widget_delegate()->CanMaximize() : false;
-}
-
-bool WmWindowMus::CanMinimize() const {
- return widget_ ? widget_->widget_delegate()->CanMinimize() : false;
-}
-
-bool WmWindowMus::CanResize() const {
- return widget_ ? widget_->widget_delegate()->CanResize() : false;
-}
-
-bool WmWindowMus::CanActivate() const {
- // TODO(sky): this isn't quite right. Should key off CanFocus(), which is not
- // replicated.
- return widget_ != nullptr;
-}
-
-void WmWindowMus::StackChildAtTop(ash::wm::WmWindow* child) {
- GetMusWindow(child)->MoveToFront();
-}
-
-void WmWindowMus::StackChildAtBottom(ash::wm::WmWindow* child) {
- GetMusWindow(child)->MoveToBack();
-}
-
-void WmWindowMus::StackChildAbove(ash::wm::WmWindow* child,
- ash::wm::WmWindow* target) {
- GetMusWindow(child)->Reorder(GetMusWindow(target),
- mus::mojom::OrderDirection::ABOVE);
-}
-
-void WmWindowMus::StackChildBelow(WmWindow* child, WmWindow* target) {
- GetMusWindow(child)->Reorder(GetMusWindow(target),
- mus::mojom::OrderDirection::BELOW);
-}
-
-void WmWindowMus::SetAlwaysOnTop(bool value) {
- mash::wm::SetAlwaysOnTop(window_, value);
-}
-
-bool WmWindowMus::IsAlwaysOnTop() const {
- return mash::wm::IsAlwaysOnTop(window_);
-}
-
-void WmWindowMus::Hide() {
- window_->SetVisible(false);
-}
-
-void WmWindowMus::Show() {
- window_->SetVisible(true);
-}
-
-void WmWindowMus::CloseWidget() {
- DCHECK(widget_);
- // Allow the client to service the close request for remote widgets.
- if (widget_creation_type_ == WidgetCreationType::FOR_CLIENT)
- window_->RequestClose();
- else
- widget_->Close();
-}
-
-bool WmWindowMus::IsFocused() const {
- return window_->HasFocus();
-}
-
-bool WmWindowMus::IsActive() const {
- mus::Window* focused = window_->window_tree()->GetFocusedWindow();
- return focused && window_->Contains(focused);
-}
-
-void WmWindowMus::Activate() {
- window_->SetFocus();
- ash::wm::WmWindow* top_level = GetToplevelWindow();
- if (!top_level)
- return;
-
- // TODO(sky): mus should do this too.
- GetMusWindow(top_level)->MoveToFront();
-}
-
-void WmWindowMus::Deactivate() {
- if (IsActive())
- window_->window_tree()->ClearFocus();
-}
-
-void WmWindowMus::SetFullscreen() {
- SetWindowShowState(window_, mus::mojom::ShowState::FULLSCREEN);
-}
-
-void WmWindowMus::Maximize() {
- SetWindowShowState(window_, mus::mojom::ShowState::MAXIMIZED);
-}
-
-void WmWindowMus::Minimize() {
- SetWindowShowState(window_, mus::mojom::ShowState::MINIMIZED);
-}
-
-void WmWindowMus::Unminimize() {
- SetWindowShowState(window_, MojomWindowShowStateFromUI(restore_show_state_));
- restore_show_state_ = ui::SHOW_STATE_DEFAULT;
-}
-
-std::vector<ash::wm::WmWindow*> WmWindowMus::GetChildren() {
- return FromMusWindows(window_->children());
-}
-
-ash::wm::WmWindow* WmWindowMus::GetChildByShellWindowId(int id) {
- if (id == shell_window_id_)
- return this;
- for (mus::Window* child : window_->children()) {
- ash::wm::WmWindow* result = Get(child)->GetChildByShellWindowId(id);
- if (result)
- return result;
- }
- return nullptr;
-}
-
-void WmWindowMus::ShowResizeShadow(int component) {
- NOTIMPLEMENTED();
-}
-
-void WmWindowMus::HideResizeShadow() {
- NOTIMPLEMENTED();
-}
-
-void WmWindowMus::SetBoundsInScreenBehaviorForChildren(
- ash::wm::WmWindow::BoundsInScreenBehavior behavior) {
- // TODO: SetBoundsInScreen isn't fully implemented yet,
- // http://crbug.com/615552.
- NOTIMPLEMENTED();
-}
-
-void WmWindowMus::SetSnapsChildrenToPhysicalPixelBoundary() {
- if (snap_children_to_pixel_boundary_)
- return;
-
- snap_children_to_pixel_boundary_ = true;
- FOR_EACH_OBSERVER(
- ash::wm::WmWindowObserver, observers_,
- OnWindowPropertyChanged(
- this, ash::wm::WmWindowProperty::SNAP_CHILDREN_TO_PIXEL_BOUNDARY));
-}
-
-void WmWindowMus::SnapToPixelBoundaryIfNecessary() {
- WmWindowMus* parent = Get(window_->parent());
- if (parent && parent->snap_children_to_pixel_boundary_) {
- // TODO: implement snap to pixel: http://crbug.com/615554.
- NOTIMPLEMENTED();
- }
-}
-
-void WmWindowMus::SetChildrenUseExtendedHitRegion() {
- children_use_extended_hit_region_ = true;
-}
-
-void WmWindowMus::SetDescendantsStayInSameRootWindow(bool value) {
- // TODO: this logic feeds into SetBoundsInScreen(), which is not implemented:
- // http://crbug.com/615552.
- NOTIMPLEMENTED();
-}
-
-void WmWindowMus::AddObserver(ash::wm::WmWindowObserver* observer) {
- observers_.AddObserver(observer);
-}
-
-void WmWindowMus::RemoveObserver(ash::wm::WmWindowObserver* observer) {
- observers_.RemoveObserver(observer);
-}
-
-void WmWindowMus::OnTreeChanged(const TreeChangeParams& params) {
- ash::wm::WmWindowObserver::TreeChangeParams wm_params;
- wm_params.target = Get(params.target);
- wm_params.new_parent = Get(params.new_parent);
- wm_params.old_parent = Get(params.old_parent);
- FOR_EACH_OBSERVER(ash::wm::WmWindowObserver, observers_,
- OnWindowTreeChanged(this, wm_params));
-}
-
-void WmWindowMus::OnWindowReordered(mus::Window* window,
- mus::Window* relative_window,
- mus::mojom::OrderDirection direction) {
- FOR_EACH_OBSERVER(ash::wm::WmWindowObserver, observers_,
- OnWindowStackingChanged(this));
-}
-
-void WmWindowMus::OnWindowSharedPropertyChanged(
- mus::Window* window,
- const std::string& name,
- const std::vector<uint8_t>* old_data,
- const std::vector<uint8_t>* new_data) {
- if (name == mus::mojom::WindowManager::kShowState_Property) {
- GetWindowState()->OnWindowShowStateChanged();
- return;
- }
- if (name == mus::mojom::WindowManager::kAlwaysOnTop_Property) {
- FOR_EACH_OBSERVER(ash::wm::WmWindowObserver, observers_,
- OnWindowPropertyChanged(
- this, ash::wm::WmWindowProperty::ALWAYS_ON_TOP));
- return;
- }
-
- // Deal with snap to pixel.
- NOTIMPLEMENTED();
-}
-
-void WmWindowMus::OnWindowBoundsChanged(mus::Window* window,
- const gfx::Rect& old_bounds,
- const gfx::Rect& new_bounds) {
- FOR_EACH_OBSERVER(ash::wm::WmWindowObserver, observers_,
- OnWindowBoundsChanged(this, old_bounds, new_bounds));
-}
-
-void WmWindowMus::OnWindowDestroying(mus::Window* window) {
- FOR_EACH_OBSERVER(ash::wm::WmWindowObserver, observers_,
- OnWindowDestroying(this));
-}
-
-} // namespace wm
-} // namespace mash
« no previous file with comments | « mash/wm/bridge/wm_window_mus.h ('k') | mash/wm/container_ids.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698