| OLD | NEW |
| 1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/browser_tab_strip_tracker.h" | 5 #include "chrome/browser/ui/browser_tab_strip_tracker.h" |
| 6 | 6 |
| 7 #include "base/auto_reset.h" | 7 #include "base/auto_reset.h" |
| 8 #include "chrome/browser/ui/browser.h" | 8 #include "chrome/browser/ui/browser.h" |
| 9 #include "chrome/browser/ui/browser_list.h" | 9 #include "chrome/browser/ui/browser_list.h" |
| 10 #include "chrome/browser/ui/browser_tab_strip_tracker_delegate.h" | 10 #include "chrome/browser/ui/browser_tab_strip_tracker_delegate.h" |
| (...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 64 browsers_observing_.insert(browser); | 64 browsers_observing_.insert(browser); |
| 65 | 65 |
| 66 if (browser_list_observer_) | 66 if (browser_list_observer_) |
| 67 browser_list_observer_->OnBrowserAdded(browser); | 67 browser_list_observer_->OnBrowserAdded(browser); |
| 68 | 68 |
| 69 TabStripModel* tab_strip_model = browser->tab_strip_model(); | 69 TabStripModel* tab_strip_model = browser->tab_strip_model(); |
| 70 tab_strip_model->AddObserver(tab_strip_model_observer_); | 70 tab_strip_model->AddObserver(tab_strip_model_observer_); |
| 71 const int active_index = tab_strip_model->active_index(); | 71 const int active_index = tab_strip_model->active_index(); |
| 72 for (int i = 0; i < tab_strip_model->count(); ++i) { | 72 for (int i = 0; i < tab_strip_model->count(); ++i) { |
| 73 tab_strip_model_observer_->TabInsertedAt( | 73 tab_strip_model_observer_->TabInsertedAt( |
| 74 tab_strip_model->GetWebContentsAt(i), i, i == active_index); | 74 tab_strip_model, tab_strip_model->GetWebContentsAt(i), i, |
| 75 i == active_index); |
| 75 } | 76 } |
| 76 } | 77 } |
| 77 | 78 |
| 78 void BrowserTabStripTracker::OnBrowserAdded(Browser* browser) { | 79 void BrowserTabStripTracker::OnBrowserAdded(Browser* browser) { |
| 79 MaybeTrackBrowser(browser); | 80 MaybeTrackBrowser(browser); |
| 80 } | 81 } |
| 81 | 82 |
| 82 void BrowserTabStripTracker::OnBrowserRemoved(Browser* browser) { | 83 void BrowserTabStripTracker::OnBrowserRemoved(Browser* browser) { |
| 83 auto it = browsers_observing_.find(browser); | 84 auto it = browsers_observing_.find(browser); |
| 84 if (it == browsers_observing_.end()) | 85 if (it == browsers_observing_.end()) |
| 85 return; | 86 return; |
| 86 | 87 |
| 87 browsers_observing_.erase(it); | 88 browsers_observing_.erase(it); |
| 88 browser->tab_strip_model()->RemoveObserver(tab_strip_model_observer_); | 89 browser->tab_strip_model()->RemoveObserver(tab_strip_model_observer_); |
| 89 | 90 |
| 90 if (browser_list_observer_) | 91 if (browser_list_observer_) |
| 91 browser_list_observer_->OnBrowserRemoved(browser); | 92 browser_list_observer_->OnBrowserRemoved(browser); |
| 92 } | 93 } |
| 93 | 94 |
| 94 void BrowserTabStripTracker::OnBrowserSetLastActive(Browser* browser) { | 95 void BrowserTabStripTracker::OnBrowserSetLastActive(Browser* browser) { |
| 95 if (browser_list_observer_) | 96 if (browser_list_observer_) |
| 96 browser_list_observer_->OnBrowserSetLastActive(browser); | 97 browser_list_observer_->OnBrowserSetLastActive(browser); |
| 97 } | 98 } |
| OLD | NEW |