Commit 130ed90c authored by Sammie Quon's avatar Sammie Quon Committed by Commit Bot

wm: Change some objects from raw to unique ptr in ash/wm/workspace.

They are converted later to unique ptr anyhow, so create them as unique
ptrs. Also as I did conversion did some updates:
  1) Remove duplicate code.
  2) Remove dead code.

Test: pass existing tests
Bug: none
Change-Id: I79f6bcb0a0898c7959d15db9c40dc0365657259c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2208264Reviewed-by: default avatarXiaoqian Dai <xdai@chromium.org>
Commit-Queue: Sammie Quon <sammiequon@chromium.org>
Cr-Commit-Position: refs/heads/master@{#770797}
parent 33a018fd
...@@ -16,8 +16,9 @@ DefaultWindowResizer::~DefaultWindowResizer() { ...@@ -16,8 +16,9 @@ DefaultWindowResizer::~DefaultWindowResizer() {
} }
// static // static
DefaultWindowResizer* DefaultWindowResizer::Create(WindowState* window_state) { std::unique_ptr<DefaultWindowResizer> DefaultWindowResizer::Create(
return new DefaultWindowResizer(window_state); WindowState* window_state) {
return base::WrapUnique(new DefaultWindowResizer(window_state));
} }
void DefaultWindowResizer::Drag(const gfx::PointF& location, int event_flags) { void DefaultWindowResizer::Drag(const gfx::PointF& location, int event_flags) {
...@@ -45,7 +46,7 @@ void DefaultWindowResizer::RevertDrag() { ...@@ -45,7 +46,7 @@ void DefaultWindowResizer::RevertDrag() {
void DefaultWindowResizer::FlingOrSwipe(ui::GestureEvent* event) {} void DefaultWindowResizer::FlingOrSwipe(ui::GestureEvent* event) {}
DefaultWindowResizer::DefaultWindowResizer(WindowState* window_state) DefaultWindowResizer::DefaultWindowResizer(WindowState* window_state)
: WindowResizer(window_state), did_move_or_resize_(false) { : WindowResizer(window_state) {
DCHECK(details().is_resizable); DCHECK(details().is_resizable);
Shell::Get()->cursor_manager()->LockCursor(); Shell::Get()->cursor_manager()->LockCursor();
} }
......
...@@ -5,9 +5,10 @@ ...@@ -5,9 +5,10 @@
#ifndef ASH_WM_DEFAULT_WINDOW_RESIZER_H_ #ifndef ASH_WM_DEFAULT_WINDOW_RESIZER_H_
#define ASH_WM_DEFAULT_WINDOW_RESIZER_H_ #define ASH_WM_DEFAULT_WINDOW_RESIZER_H_
#include <memory>
#include "ash/ash_export.h" #include "ash/ash_export.h"
#include "ash/wm/window_resizer.h" #include "ash/wm/window_resizer.h"
#include "base/macros.h"
namespace ash { namespace ash {
...@@ -18,16 +19,9 @@ class ASH_EXPORT DefaultWindowResizer : public WindowResizer { ...@@ -18,16 +19,9 @@ class ASH_EXPORT DefaultWindowResizer : public WindowResizer {
public: public:
~DefaultWindowResizer() override; ~DefaultWindowResizer() override;
// Creates a new DefaultWindowResizer. The caller takes ownership of the // Creates a new DefaultWindowResizer.
// returned object. static std::unique_ptr<DefaultWindowResizer> Create(
static DefaultWindowResizer* Create(WindowState* window_state); WindowState* window_state);
// Returns true if the drag will result in changing the window in anyway.
bool is_resizable() const { return details().is_resizable; }
bool changed_size() const {
return !(details().bounds_change & kBoundsChange_Repositions);
}
// WindowResizer: // WindowResizer:
void Drag(const gfx::PointF& location, int event_flags) override; void Drag(const gfx::PointF& location, int event_flags) override;
...@@ -37,11 +31,11 @@ class ASH_EXPORT DefaultWindowResizer : public WindowResizer { ...@@ -37,11 +31,11 @@ class ASH_EXPORT DefaultWindowResizer : public WindowResizer {
private: private:
explicit DefaultWindowResizer(WindowState* window_state); explicit DefaultWindowResizer(WindowState* window_state);
DefaultWindowResizer(const DefaultWindowResizer&) = delete;
DefaultWindowResizer& operator=(const DefaultWindowResizer&) = delete;
// Set to true once Drag() is invoked and the bounds of the window change. // Set to true once Drag() is invoked and the bounds of the window change.
bool did_move_or_resize_; bool did_move_or_resize_ = false;
DISALLOW_COPY_AND_ASSIGN(DefaultWindowResizer);
}; };
} // namespace aura } // namespace aura
......
...@@ -530,7 +530,7 @@ void MultiWindowResizeController::StartResize( ...@@ -530,7 +530,7 @@ void MultiWindowResizeController::StartResize(
WindowState* window_state = WindowState::Get(windows_.window1); WindowState* window_state = WindowState::Get(windows_.window1);
window_state->CreateDragDetails(location_in_parent, component, window_state->CreateDragDetails(location_in_parent, component,
::wm::WINDOW_MOVE_SOURCE_MOUSE); ::wm::WINDOW_MOVE_SOURCE_MOUSE);
window_resizer_.reset(WorkspaceWindowResizer::Create(window_state, windows)); window_resizer_ = WorkspaceWindowResizer::Create(window_state, windows);
// Do not hide the resize widget while a drag is active. // Do not hide the resize widget while a drag is active.
mouse_watcher_.reset(); mouse_watcher_.reset();
......
...@@ -407,10 +407,9 @@ std::unique_ptr<WindowResizer> CreateWindowResizer( ...@@ -407,10 +407,9 @@ std::unique_ptr<WindowResizer> CreateWindowResizer(
// TODO(afakhry): Maybe use switchable containers? // TODO(afakhry): Maybe use switchable containers?
(desks_util::IsDeskContainer(parent) || (desks_util::IsDeskContainer(parent) ||
parent->id() == kShellWindowId_AlwaysOnTopContainer)) { parent->id() == kShellWindowId_AlwaysOnTopContainer)) {
window_resizer.reset(WorkspaceWindowResizer::Create( window_resizer = WorkspaceWindowResizer::Create(window_state, {});
window_state, std::vector<aura::Window*>()));
} else { } else {
window_resizer.reset(DefaultWindowResizer::Create(window_state)); window_resizer = DefaultWindowResizer::Create(window_state);
} }
return std::make_unique<DragWindowResizer>(std::move(window_resizer), return std::make_unique<DragWindowResizer>(std::move(window_resizer),
window_state); window_state);
...@@ -485,10 +484,11 @@ WorkspaceWindowResizer::~WorkspaceWindowResizer() { ...@@ -485,10 +484,11 @@ WorkspaceWindowResizer::~WorkspaceWindowResizer() {
} }
// static // static
WorkspaceWindowResizer* WorkspaceWindowResizer::Create( std::unique_ptr<WorkspaceWindowResizer> WorkspaceWindowResizer::Create(
WindowState* window_state, WindowState* window_state,
const std::vector<aura::Window*>& attached_windows) { const std::vector<aura::Window*>& attached_windows) {
return new WorkspaceWindowResizer(window_state, attached_windows); return base::WrapUnique(
new WorkspaceWindowResizer(window_state, attached_windows));
} }
void WorkspaceWindowResizer::Drag(const gfx::PointF& location_in_parent, void WorkspaceWindowResizer::Drag(const gfx::PointF& location_in_parent,
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
#include "ash/wm/window_resizer.h" #include "ash/wm/window_resizer.h"
#include "ash/wm/workspace/magnetism_matcher.h" #include "ash/wm/workspace/magnetism_matcher.h"
#include "base/macros.h"
#include "base/memory/weak_ptr.h" #include "base/memory/weak_ptr.h"
#include "ui/aura/window_tracker.h" #include "ui/aura/window_tracker.h"
#include "ui/display/display.h" #include "ui/display/display.h"
...@@ -39,7 +38,7 @@ class ASH_EXPORT WorkspaceWindowResizer : public WindowResizer { ...@@ -39,7 +38,7 @@ class ASH_EXPORT WorkspaceWindowResizer : public WindowResizer {
~WorkspaceWindowResizer() override; ~WorkspaceWindowResizer() override;
static WorkspaceWindowResizer* Create( static std::unique_ptr<WorkspaceWindowResizer> Create(
WindowState* window_state, WindowState* window_state,
const std::vector<aura::Window*>& attached_windows); const std::vector<aura::Window*>& attached_windows);
...@@ -54,6 +53,8 @@ class ASH_EXPORT WorkspaceWindowResizer : public WindowResizer { ...@@ -54,6 +53,8 @@ class ASH_EXPORT WorkspaceWindowResizer : public WindowResizer {
WorkspaceWindowResizer(WindowState* window_state, WorkspaceWindowResizer(WindowState* window_state,
const std::vector<aura::Window*>& attached_windows); const std::vector<aura::Window*>& attached_windows);
WorkspaceWindowResizer(const WorkspaceWindowResizer&) = delete;
WorkspaceWindowResizer& operator=(const WorkspaceWindowResizer&) = delete;
// Lays out the attached windows. |bounds| is the bounds of the main window. // Lays out the attached windows. |bounds| is the bounds of the main window.
void LayoutAttachedWindows(gfx::Rect* bounds); void LayoutAttachedWindows(gfx::Rect* bounds);
...@@ -223,8 +224,6 @@ class ASH_EXPORT WorkspaceWindowResizer : public WindowResizer { ...@@ -223,8 +224,6 @@ class ASH_EXPORT WorkspaceWindowResizer : public WindowResizer {
// Used to determine if this has been deleted during a drag such as when a tab // Used to determine if this has been deleted during a drag such as when a tab
// gets dragged into another browser window. // gets dragged into another browser window.
base::WeakPtrFactory<WorkspaceWindowResizer> weak_ptr_factory_{this}; base::WeakPtrFactory<WorkspaceWindowResizer> weak_ptr_factory_{this};
DISALLOW_COPY_AND_ASSIGN(WorkspaceWindowResizer);
}; };
} // namespace ash } // namespace ash
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment