| Index: ash/wm/workspace/workspace_window_resizer.cc
|
| diff --git a/ash/wm/workspace/workspace_window_resizer.cc b/ash/wm/workspace/workspace_window_resizer.cc
|
| index 4b8c0aaf7e9366f91aa1fd1bf6f8d88f9429b0c9..89041c8bb452485dd34311eccf4ba4742f5f4e6a 100644
|
| --- a/ash/wm/workspace/workspace_window_resizer.cc
|
| +++ b/ash/wm/workspace/workspace_window_resizer.cc
|
| @@ -23,7 +23,6 @@
|
| #include "ash/wm/window_properties.h"
|
| #include "ash/wm/window_util.h"
|
| #include "ash/wm/workspace/phantom_window_controller.h"
|
| -#include "ash/wm/workspace/snap_sizer.h"
|
| #include "base/command_line.h"
|
| #include "ui/aura/client/aura_constants.h"
|
| #include "ui/aura/client/screen_position_client.h"
|
| @@ -414,7 +413,7 @@ void WorkspaceWindowResizer::CompleteDrag(int event_flags) {
|
| if (wm::IsWindowNormal(window()) &&
|
| (window()->type() != aura::client::WINDOW_TYPE_PANEL ||
|
| !window()->GetProperty(kPanelAttachedKey)) &&
|
| - (snap_type_ == SNAP_LEFT_EDGE || snap_type_ == SNAP_RIGHT_EDGE)) {
|
| + (snap_type_ == SNAP_LEFT || snap_type_ == SNAP_RIGHT)) {
|
| if (!GetRestoreBoundsInScreen(window())) {
|
| gfx::Rect initial_bounds = ScreenAsh::ConvertRectToScreen(
|
| window()->parent(), details_.initial_bounds_in_parent);
|
| @@ -422,8 +421,10 @@ void WorkspaceWindowResizer::CompleteDrag(int event_flags) {
|
| initial_bounds :
|
| details_.restore_bounds);
|
| }
|
| - window()->SetBounds(snap_sizer_->target_bounds());
|
| - return;
|
| + if (snap_type_ == SNAP_LEFT)
|
| + wm::SnapWindowToEdge(window(), wm::SNAP_LEFT_EDGE);
|
| + else if (snap_type_ == SNAP_RIGHT)
|
| + wm::SnapWindowToEdge(window(), wm::SNAP_RIGHT_EDGE);
|
| }
|
| }
|
|
|
| @@ -490,7 +491,6 @@ WorkspaceWindowResizer::WorkspaceWindowResizer(
|
| // TODO: figure out how to deal with window going off the edge.
|
|
|
| // Calculate sizes so that we can maintain the ratios if we need to resize.
|
| - int total_available = 0;
|
| for (size_t i = 0; i < attached_windows_.size(); ++i) {
|
| gfx::Size min(attached_windows_[i]->delegate()->GetMinimumSize());
|
| int initial_size = PrimaryAxisSize(attached_windows_[i]->bounds().size());
|
| @@ -501,17 +501,7 @@ WorkspaceWindowResizer::WorkspaceWindowResizer(
|
| std::max(PrimaryAxisSize(min), kMinOnscreenSize));
|
| total_min_ += min_size;
|
| total_initial_size_ += initial_size;
|
| - total_available += std::max(min_size, initial_size) - min_size;
|
| - }
|
| -}
|
| -
|
| -gfx::Rect WorkspaceWindowResizer::GetFinalBounds(
|
| - const gfx::Rect& bounds) const {
|
| - if (snap_phantom_window_controller_.get() &&
|
| - snap_phantom_window_controller_->IsShowing()) {
|
| - return snap_phantom_window_controller_->bounds_in_screen();
|
| }
|
| - return bounds;
|
| }
|
|
|
| void WorkspaceWindowResizer::LayoutAttachedWindows(
|
| @@ -867,26 +857,19 @@ void WorkspaceWindowResizer::UpdateSnapPhantomWindow(const gfx::Point& location,
|
| snap_type_ = GetSnapType(location);
|
| if (snap_type_ == SNAP_NONE || snap_type_ != last_type) {
|
| snap_phantom_window_controller_.reset();
|
| - snap_sizer_.reset();
|
| if (snap_type_ == SNAP_NONE)
|
| return;
|
| }
|
| - if (!snap_sizer_) {
|
| - SnapSizer::Edge edge = (snap_type_ == SNAP_LEFT_EDGE) ?
|
| - SnapSizer::LEFT_EDGE : SnapSizer::RIGHT_EDGE;
|
| - snap_sizer_.reset(new SnapSizer(window(),
|
| - location,
|
| - edge,
|
| - internal::SnapSizer::OTHER_INPUT));
|
| - } else {
|
| - snap_sizer_->Update(location);
|
| - }
|
| if (!snap_phantom_window_controller_) {
|
| snap_phantom_window_controller_.reset(
|
| new PhantomWindowController(window()));
|
| }
|
| +
|
| + wm::SnapEdge edge = (snap_type_ == SNAP_LEFT) ?
|
| + wm::SNAP_LEFT_EDGE : wm::SNAP_RIGHT_EDGE;
|
| + gfx::Rect target_bounds = wm::GetSnappedWindowBoundsInParent(window(), edge);
|
| snap_phantom_window_controller_->Show(ScreenAsh::ConvertRectToScreen(
|
| - window()->parent(), snap_sizer_->target_bounds()));
|
| + window()->parent(), target_bounds));
|
| }
|
|
|
| void WorkspaceWindowResizer::RestackWindows() {
|
| @@ -926,9 +909,9 @@ WorkspaceWindowResizer::SnapType WorkspaceWindowResizer::GetSnapType(
|
| // display.
|
| gfx::Rect area(ScreenAsh::GetDisplayBoundsInParent(window()));
|
| if (location.x() <= area.x())
|
| - return SNAP_LEFT_EDGE;
|
| + return SNAP_LEFT;
|
| if (location.x() >= area.right() - 1)
|
| - return SNAP_RIGHT_EDGE;
|
| + return SNAP_RIGHT;
|
| return SNAP_NONE;
|
| }
|
|
|
|
|