| Index: chrome/browser/ui/views/tabs/tab_strip.cc
|
| diff --git a/chrome/browser/ui/views/tabs/tab_strip.cc b/chrome/browser/ui/views/tabs/tab_strip.cc
|
| index 9200fbc501ffe235747f0143691804118d4e7bb9..b20e13fdb4a47407722f2d1c3d82f63a6e0eb9fc 100644
|
| --- a/chrome/browser/ui/views/tabs/tab_strip.cc
|
| +++ b/chrome/browser/ui/views/tabs/tab_strip.cc
|
| @@ -510,12 +510,12 @@ void TabStrip::MoveTab(int from_model_index,
|
| BaseTab* last_tab = tab_at(tab_count() - 1);
|
| tab_at(from_model_index)->SetData(data);
|
| if (touch_layout_.get()) {
|
| - tabs_.Move(from_model_index, to_model_index);
|
| - int mini_tab_count = 0;
|
| - int start_x = GenerateIdealBoundsForMiniTabs(&mini_tab_count);
|
| + tabs_.MoveViewOnly(from_model_index, to_model_index);
|
| + int mini_count = 0;
|
| + GenerateIdealBoundsForMiniTabs(&mini_count);
|
| touch_layout_->MoveTab(
|
| from_model_index, to_model_index, controller_->GetActiveIndex(),
|
| - start_x, mini_tab_count);
|
| + GetStartXForNormalTabs(), mini_count);
|
| } else {
|
| tabs_.Move(from_model_index, to_model_index);
|
| }
|
| @@ -796,12 +796,14 @@ void TabStrip::MaybeStartDrag(
|
| // creating the DragController remembers the WebContents delegates and we need
|
| // to make sure the existing DragController isn't still a delegate.
|
| drag_controller_.reset();
|
| + // TODO(sky): verify ET_TOUCH_PRESSED is right.
|
| + bool move_only = touch_layout_.get() &&
|
| + (event.type() == ui::ET_TOUCH_PRESSED ||
|
| + (event.type() == ui::ET_MOUSE_PRESSED &&
|
| + event.flags() & ui::EF_CONTROL_DOWN));
|
| drag_controller_.reset(TabDragController::Create(
|
| this, tab, tabs, gfx::Point(x, y), tab->GetMirroredXInView(event.x()),
|
| - selection_model, touch_layout_.get() != NULL));
|
| - // TODO: Instead of touch layout need to look at event type, eg
|
| - // event.type() == ui::ET_TOUCH_PRESSED)), and need to plumb through long
|
| - // press and touch stuff.
|
| + selection_model, move_only));
|
| }
|
|
|
| void TabStrip::ContinueDrag(const views::MouseEvent& event) {
|
| @@ -1324,11 +1326,6 @@ void TabStrip::LayoutDraggedTabsAt(const std::vector<BaseTab*>& tabs,
|
| BaseTab* active_tab,
|
| const gfx::Point& location,
|
| bool initial_drag) {
|
| - if (touch_layout_.get()) {
|
| - touch_layout_->DragActiveTab(location.x() - active_tab->bounds().x());
|
| - DoLayout();
|
| - return;
|
| - }
|
| // Immediately hide the new tab button if the last tab is being dragged.
|
| if (tab_at(tab_count() - 1)->dragging())
|
| newtab_button_->SetVisible(false);
|
|
|