OLD | NEW |
1 // Copyright 2017 The Chromium Authors. All rights reserved. | 1 // Copyright 2017 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 #import "ios/chrome/browser/tabs/tab_model_observers_bridge.h" | 5 #import "ios/chrome/browser/tabs/tab_model_observers_bridge.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #import "ios/chrome/browser/tabs/legacy_tab_helper.h" | 8 #import "ios/chrome/browser/tabs/legacy_tab_helper.h" |
9 #import "ios/chrome/browser/tabs/tab_model.h" | 9 #import "ios/chrome/browser/tabs/tab_model.h" |
10 #import "ios/chrome/browser/tabs/tab_model_observers.h" | 10 #import "ios/chrome/browser/tabs/tab_model_observers.h" |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 didRemoveTab:LegacyTabHelper::GetTabForWebState(webState) | 73 didRemoveTab:LegacyTabHelper::GetTabForWebState(webState) |
74 atIndex:static_cast<NSUInteger>(index)]; | 74 atIndex:static_cast<NSUInteger>(index)]; |
75 [_tabModelObservers tabModelDidChangeTabCount:_tabModel]; | 75 [_tabModelObservers tabModelDidChangeTabCount:_tabModel]; |
76 } | 76 } |
77 | 77 |
78 - (void)webStateList:(WebStateList*)webStateList | 78 - (void)webStateList:(WebStateList*)webStateList |
79 didChangeActiveWebState:(web::WebState*)newWebState | 79 didChangeActiveWebState:(web::WebState*)newWebState |
80 oldWebState:(web::WebState*)oldWebState | 80 oldWebState:(web::WebState*)oldWebState |
81 atIndex:(int)atIndex | 81 atIndex:(int)atIndex |
82 userAction:(BOOL)userAction { | 82 userAction:(BOOL)userAction { |
83 DCHECK_GE(atIndex, 0); | |
84 if (!newWebState) | 83 if (!newWebState) |
85 return; | 84 return; |
86 | 85 |
| 86 // If there is no new active WebState, then it means that the atIndex will be |
| 87 // set to WebStateList::kInvalidIndex, so only check for a positive index if |
| 88 // there is a new WebState. |
| 89 DCHECK_GE(atIndex, 0); |
| 90 |
87 Tab* oldTab = | 91 Tab* oldTab = |
88 oldWebState ? LegacyTabHelper::GetTabForWebState(oldWebState) : nil; | 92 oldWebState ? LegacyTabHelper::GetTabForWebState(oldWebState) : nil; |
89 [_tabModelObservers tabModel:_tabModel | 93 [_tabModelObservers tabModel:_tabModel |
90 didChangeActiveTab:LegacyTabHelper::GetTabForWebState(newWebState) | 94 didChangeActiveTab:LegacyTabHelper::GetTabForWebState(newWebState) |
91 previousTab:oldTab | 95 previousTab:oldTab |
92 atIndex:static_cast<NSUInteger>(atIndex)]; | 96 atIndex:static_cast<NSUInteger>(atIndex)]; |
93 } | 97 } |
94 | 98 |
95 @end | 99 @end |
OLD | NEW |