OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/gtk/tabs/dragged_tab_controller_gtk.h" | 5 #include "chrome/browser/ui/gtk/tabs/dragged_tab_controller_gtk.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/callback_old.h" | 9 #include "base/callback_old.h" |
10 #include "base/i18n/rtl.h" | 10 #include "base/i18n/rtl.h" |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
157 } | 157 } |
158 | 158 |
159 content::JavaScriptDialogCreator* | 159 content::JavaScriptDialogCreator* |
160 DraggedTabControllerGtk::GetJavaScriptDialogCreator() { | 160 DraggedTabControllerGtk::GetJavaScriptDialogCreator() { |
161 return GetJavaScriptDialogCreatorInstance(); | 161 return GetJavaScriptDialogCreatorInstance(); |
162 } | 162 } |
163 | 163 |
164 //////////////////////////////////////////////////////////////////////////////// | 164 //////////////////////////////////////////////////////////////////////////////// |
165 // DraggedTabControllerGtk, NotificationObserver implementation: | 165 // DraggedTabControllerGtk, NotificationObserver implementation: |
166 | 166 |
167 void DraggedTabControllerGtk::Observe(NotificationType type, | 167 void DraggedTabControllerGtk::Observe(int type, |
168 const NotificationSource& source, | 168 const NotificationSource& source, |
169 const NotificationDetails& details) { | 169 const NotificationDetails& details) { |
170 DCHECK(type == NotificationType::TAB_CONTENTS_DESTROYED); | 170 DCHECK(type == content::NOTIFICATION_TAB_CONTENTS_DESTROYED); |
171 DCHECK_EQ(Source<TabContents>(source).ptr(), | 171 DCHECK_EQ(Source<TabContents>(source).ptr(), |
172 dragged_contents_->tab_contents()); | 172 dragged_contents_->tab_contents()); |
173 EndDragImpl(TAB_DESTROYED); | 173 EndDragImpl(TAB_DESTROYED); |
174 } | 174 } |
175 | 175 |
176 void DraggedTabControllerGtk::InitWindowCreatePoint() { | 176 void DraggedTabControllerGtk::InitWindowCreatePoint() { |
177 window_create_point_.SetPoint(mouse_offset_.x(), mouse_offset_.y()); | 177 window_create_point_.SetPoint(mouse_offset_.x(), mouse_offset_.y()); |
178 } | 178 } |
179 | 179 |
180 gfx::Point DraggedTabControllerGtk::GetWindowCreatePoint() const { | 180 gfx::Point DraggedTabControllerGtk::GetWindowCreatePoint() const { |
181 gfx::Point cursor_point = GetCursorScreenPoint(); | 181 gfx::Point cursor_point = GetCursorScreenPoint(); |
182 return gfx::Point(cursor_point.x() - window_create_point_.x(), | 182 return gfx::Point(cursor_point.x() - window_create_point_.x(), |
183 cursor_point.y() - window_create_point_.y()); | 183 cursor_point.y() - window_create_point_.y()); |
184 } | 184 } |
185 | 185 |
186 void DraggedTabControllerGtk::SetDraggedContents( | 186 void DraggedTabControllerGtk::SetDraggedContents( |
187 TabContentsWrapper* new_contents) { | 187 TabContentsWrapper* new_contents) { |
188 if (dragged_contents_) { | 188 if (dragged_contents_) { |
189 registrar_.Remove(this, | 189 registrar_.Remove(this, |
190 NotificationType::TAB_CONTENTS_DESTROYED, | 190 content::NOTIFICATION_TAB_CONTENTS_DESTROYED, |
191 Source<TabContents>(dragged_contents_->tab_contents())); | 191 Source<TabContents>(dragged_contents_->tab_contents())); |
192 if (original_delegate_) | 192 if (original_delegate_) |
193 dragged_contents_->tab_contents()->set_delegate(original_delegate_); | 193 dragged_contents_->tab_contents()->set_delegate(original_delegate_); |
194 } | 194 } |
195 original_delegate_ = NULL; | 195 original_delegate_ = NULL; |
196 dragged_contents_ = new_contents; | 196 dragged_contents_ = new_contents; |
197 if (dragged_contents_) { | 197 if (dragged_contents_) { |
198 registrar_.Add(this, | 198 registrar_.Add(this, |
199 NotificationType::TAB_CONTENTS_DESTROYED, | 199 content::NOTIFICATION_TAB_CONTENTS_DESTROYED, |
200 Source<TabContents>(dragged_contents_->tab_contents())); | 200 Source<TabContents>(dragged_contents_->tab_contents())); |
201 | 201 |
202 // We need to be the delegate so we receive messages about stuff, | 202 // We need to be the delegate so we receive messages about stuff, |
203 // otherwise our dragged_contents() may be replaced and subsequently | 203 // otherwise our dragged_contents() may be replaced and subsequently |
204 // collected/destroyed while the drag is in process, leading to | 204 // collected/destroyed while the drag is in process, leading to |
205 // nasty crashes. | 205 // nasty crashes. |
206 original_delegate_ = dragged_contents_->tab_contents()->delegate(); | 206 original_delegate_ = dragged_contents_->tab_contents()->delegate(); |
207 dragged_contents_->tab_contents()->set_delegate(this); | 207 dragged_contents_->tab_contents()->set_delegate(this); |
208 } | 208 } |
209 } | 209 } |
(...skipping 550 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
760 gfx::NativeView dragged_tab = dragged_tab_->widget(); | 760 gfx::NativeView dragged_tab = dragged_tab_->widget(); |
761 dock_windows_.insert(dragged_tab); | 761 dock_windows_.insert(dragged_tab); |
762 window = DockInfo::GetLocalProcessWindowAtPoint(GetCursorScreenPoint(), | 762 window = DockInfo::GetLocalProcessWindowAtPoint(GetCursorScreenPoint(), |
763 dock_windows_); | 763 dock_windows_); |
764 dock_windows_.erase(dragged_tab); | 764 dock_windows_.erase(dragged_tab); |
765 } | 765 } |
766 | 766 |
767 if (window) | 767 if (window) |
768 gtk_window_present(GTK_WINDOW(window)); | 768 gtk_window_present(GTK_WINDOW(window)); |
769 } | 769 } |
OLD | NEW |