| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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/tabs/tab_strip_model.h" | 5 #include "chrome/browser/tabs/tab_strip_model.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <map> | 8 #include <map> |
| 9 | 9 |
| 10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
| (...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 555 DCHECK(ContainsIndex(index)); | 555 DCHECK(ContainsIndex(index)); |
| 556 if (contents_data_[index]->pinned == pinned) | 556 if (contents_data_[index]->pinned == pinned) |
| 557 return; | 557 return; |
| 558 | 558 |
| 559 if (IsAppTab(index)) { | 559 if (IsAppTab(index)) { |
| 560 if (!pinned) { | 560 if (!pinned) { |
| 561 // App tabs should always be pinned. | 561 // App tabs should always be pinned. |
| 562 NOTREACHED(); | 562 NOTREACHED(); |
| 563 return; | 563 return; |
| 564 } | 564 } |
| 565 // Changing the pinned state of an app tab doesn't effect it's mini-tab | 565 // Changing the pinned state of an app tab doesn't affect its mini-tab |
| 566 // status. | 566 // status. |
| 567 contents_data_[index]->pinned = pinned; | 567 contents_data_[index]->pinned = pinned; |
| 568 } else { | 568 } else { |
| 569 // The tab is not an app tab, it's position may have to change as the | 569 // The tab is not an app tab, it's position may have to change as the |
| 570 // mini-tab state is changing. | 570 // mini-tab state is changing. |
| 571 int non_mini_tab_index = IndexOfFirstNonMiniTab(); | 571 int non_mini_tab_index = IndexOfFirstNonMiniTab(); |
| 572 contents_data_[index]->pinned = pinned; | 572 contents_data_[index]->pinned = pinned; |
| 573 if (pinned && index != non_mini_tab_index) { | 573 if (pinned && index != non_mini_tab_index) { |
| 574 MoveTabContentsAtImpl(index, non_mini_tab_index, false); | 574 MoveTabContentsAtImpl(index, non_mini_tab_index, false); |
| 575 index = non_mini_tab_index; | 575 index = non_mini_tab_index; |
| (...skipping 761 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1337 void TabStripModel::ForgetOpenersAndGroupsReferencing( | 1337 void TabStripModel::ForgetOpenersAndGroupsReferencing( |
| 1338 const NavigationController* tab) { | 1338 const NavigationController* tab) { |
| 1339 for (TabContentsDataVector::const_iterator i = contents_data_.begin(); | 1339 for (TabContentsDataVector::const_iterator i = contents_data_.begin(); |
| 1340 i != contents_data_.end(); ++i) { | 1340 i != contents_data_.end(); ++i) { |
| 1341 if ((*i)->group == tab) | 1341 if ((*i)->group == tab) |
| 1342 (*i)->group = NULL; | 1342 (*i)->group = NULL; |
| 1343 if ((*i)->opener == tab) | 1343 if ((*i)->opener == tab) |
| 1344 (*i)->opener = NULL; | 1344 (*i)->opener = NULL; |
| 1345 } | 1345 } |
| 1346 } | 1346 } |
| OLD | NEW |