Index: ash/shelf/shelf_view.cc |
diff --git a/ash/shelf/shelf_view.cc b/ash/shelf/shelf_view.cc |
index 0ef9b405589d1895ec23641589eed641d48d6e67..60936f6b66b0fc0086a80acd40918e3747b022bd 100644 |
--- a/ash/shelf/shelf_view.cc |
+++ b/ash/shelf/shelf_view.cc |
@@ -379,7 +379,6 @@ ShelfView::ShelfView(ShelfModel* model, |
owner_overflow_bubble_(NULL), |
drag_pointer_(NONE), |
drag_view_(NULL), |
- drag_offset_(0), |
start_drag_index_(-1), |
context_menu_id_(0), |
leading_inset_(kDefaultLeadingInset), |
@@ -970,7 +969,7 @@ void ShelfView::ContinueDrag(const ui::LocatedEvent& event) { |
int x = 0, y = 0; |
if (layout_manager_->IsHorizontalAlignment()) { |
x = std::max(view_model_->ideal_bounds(indices.first).x(), |
- drag_point.x() - drag_offset_); |
+ drag_point.x() - drag_origin_.x()); |
x = std::min(view_model_->ideal_bounds(last_drag_index).right() - |
view_model_->ideal_bounds(current_index).width(), |
x); |
@@ -979,7 +978,7 @@ void ShelfView::ContinueDrag(const ui::LocatedEvent& event) { |
drag_view_->SetX(x); |
} else { |
y = std::max(view_model_->ideal_bounds(indices.first).y(), |
- drag_point.y() - drag_offset_); |
+ drag_point.y() - drag_origin_.y()); |
y = std::min(view_model_->ideal_bounds(last_drag_index).bottom() - |
view_model_->ideal_bounds(current_index).height(), |
y); |
@@ -1574,7 +1573,7 @@ void ShelfView::PointerPressedOnButton(views::View* view, |
return; // View is being deleted or not draggable, ignore request. |
drag_view_ = view; |
- drag_offset_ = layout_manager_->PrimaryAxisValue(event.x(), event.y()); |
+ drag_origin_ = gfx::Point(event.x(), event.y()); |
UMA_HISTOGRAM_ENUMERATION("Ash.ShelfAlignmentUsage", |
layout_manager_->SelectValueForShelfAlignment( |
SHELF_ALIGNMENT_UMA_ENUM_VALUE_BOTTOM, |
@@ -1590,8 +1589,8 @@ void ShelfView::PointerDraggedOnButton(views::View* view, |
// To prepare all drag types (moving an item in the shelf and dragging off), |
// we should check the x-axis and y-axis offset. |
if (!dragging() && drag_view_ && |
- ((std::abs(event.x() - drag_offset_) >= kMinimumDragDistance) || |
- (std::abs(event.y() - drag_offset_) >= kMinimumDragDistance))) { |
+ ((std::abs(event.x() - drag_origin_.x()) >= kMinimumDragDistance) || |
+ (std::abs(event.y() - drag_origin_.y()) >= kMinimumDragDistance))) { |
PrepareForDrag(pointer, event); |
} |
if (drag_pointer_ == pointer) |