Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(107)

Side by Side Diff: chrome/browser/ui/views/tabs/dragged_tab_controller.cc

Issue 7327007: Moving notification types which are chrome specific to a new header file chrome_notification_type... (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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/views/tabs/dragged_tab_controller.h" 5 #include "chrome/browser/ui/views/tabs/dragged_tab_controller.h"
6 6
7 #include <math.h> 7 #include <math.h>
8 #include <set> 8 #include <set>
9 9
10 #include "base/callback.h" 10 #include "base/callback.h"
(...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 } 390 }
391 391
392 void DraggedTabController::InitTabDragData(BaseTab* tab, 392 void DraggedTabController::InitTabDragData(BaseTab* tab,
393 TabDragData* drag_data) { 393 TabDragData* drag_data) {
394 drag_data->source_model_index = 394 drag_data->source_model_index =
395 source_tabstrip_->GetModelIndexOfBaseTab(tab); 395 source_tabstrip_->GetModelIndexOfBaseTab(tab);
396 drag_data->contents = GetModel(source_tabstrip_)->GetTabContentsAt( 396 drag_data->contents = GetModel(source_tabstrip_)->GetTabContentsAt(
397 drag_data->source_model_index); 397 drag_data->source_model_index);
398 drag_data->pinned = source_tabstrip_->IsTabPinned(tab); 398 drag_data->pinned = source_tabstrip_->IsTabPinned(tab);
399 registrar_.Add(this, 399 registrar_.Add(this,
400 NotificationType::TAB_CONTENTS_DESTROYED, 400 content::NOTIFICATION_TAB_CONTENTS_DESTROYED,
401 Source<TabContents>(drag_data->contents->tab_contents())); 401 Source<TabContents>(drag_data->contents->tab_contents()));
402 402
403 // We need to be the delegate so we receive messages about stuff, otherwise 403 // We need to be the delegate so we receive messages about stuff, otherwise
404 // our dragged TabContents may be replaced and subsequently 404 // our dragged TabContents may be replaced and subsequently
405 // collected/destroyed while the drag is in process, leading to nasty crashes. 405 // collected/destroyed while the drag is in process, leading to nasty crashes.
406 drag_data->original_delegate = 406 drag_data->original_delegate =
407 drag_data->contents->tab_contents()->delegate(); 407 drag_data->contents->tab_contents()->delegate();
408 drag_data->contents->tab_contents()->set_delegate(this); 408 drag_data->contents->tab_contents()->set_delegate(this);
409 } 409 }
410 410
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
464 } 464 }
465 465
466 content::JavaScriptDialogCreator* 466 content::JavaScriptDialogCreator*
467 DraggedTabController::GetJavaScriptDialogCreator() { 467 DraggedTabController::GetJavaScriptDialogCreator() {
468 return GetJavaScriptDialogCreatorInstance(); 468 return GetJavaScriptDialogCreatorInstance();
469 } 469 }
470 470
471 /////////////////////////////////////////////////////////////////////////////// 471 ///////////////////////////////////////////////////////////////////////////////
472 // DraggedTabController, NotificationObserver implementation: 472 // DraggedTabController, NotificationObserver implementation:
473 473
474 void DraggedTabController::Observe(NotificationType type, 474 void DraggedTabController::Observe(int type,
475 const NotificationSource& source, 475 const NotificationSource& source,
476 const NotificationDetails& details) { 476 const NotificationDetails& details) {
477 DCHECK_EQ(type.value, NotificationType::TAB_CONTENTS_DESTROYED); 477 DCHECK_EQ(type, content::NOTIFICATION_TAB_CONTENTS_DESTROYED);
478 TabContents* destroyed_contents = Source<TabContents>(source).ptr(); 478 TabContents* destroyed_contents = Source<TabContents>(source).ptr();
479 for (size_t i = 0; i < drag_data_.size(); ++i) { 479 for (size_t i = 0; i < drag_data_.size(); ++i) {
480 if (drag_data_[i].contents->tab_contents() == destroyed_contents) { 480 if (drag_data_[i].contents->tab_contents() == destroyed_contents) {
481 // One of the tabs we're dragging has been destroyed. Cancel the drag. 481 // One of the tabs we're dragging has been destroyed. Cancel the drag.
482 if (destroyed_contents->delegate() == this) 482 if (destroyed_contents->delegate() == this)
483 destroyed_contents->set_delegate(NULL); 483 destroyed_contents->set_delegate(NULL);
484 drag_data_[i].contents = NULL; 484 drag_data_[i].contents = NULL;
485 drag_data_[i].original_delegate = NULL; 485 drag_data_[i].original_delegate = NULL;
486 EndDragImpl(TAB_DESTROYED); 486 EndDragImpl(TAB_DESTROYED);
487 return; 487 return;
(...skipping 932 matching lines...) Expand 10 before | Expand all | Expand 10 after
1420 1420
1421 bool DraggedTabController::AreTabsConsecutive() { 1421 bool DraggedTabController::AreTabsConsecutive() {
1422 for (size_t i = 1; i < drag_data_.size(); ++i) { 1422 for (size_t i = 1; i < drag_data_.size(); ++i) {
1423 if (drag_data_[i - 1].source_model_index + 1 != 1423 if (drag_data_[i - 1].source_model_index + 1 !=
1424 drag_data_[i].source_model_index) { 1424 drag_data_[i].source_model_index) {
1425 return false; 1425 return false;
1426 } 1426 }
1427 } 1427 }
1428 return true; 1428 return true;
1429 } 1429 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/tabs/dragged_tab_controller.h ('k') | chrome/browser/ui/views/theme_install_bubble_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698