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

Side by Side Diff: chrome/browser/ui/tabs/tab_strip_model.cc

Issue 2335203003: Add metrics to keep track of the tab activate/deactivate cycle (Closed)
Patch Set: Addressed comments Created 4 years, 3 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
OLDNEW
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/ui/tabs/tab_strip_model.h" 5 #include "chrome/browser/ui/tabs/tab_strip_model.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <map> 8 #include <map>
9 #include <set> 9 #include <set>
10 #include <string> 10 #include <string>
(...skipping 302 matching lines...) Expand 10 before | Expand all | Expand 10 after
313 const web_modal::WebContentsModalDialogManager* manager = 313 const web_modal::WebContentsModalDialogManager* manager =
314 web_modal::WebContentsModalDialogManager::FromWebContents(contents); 314 web_modal::WebContentsModalDialogManager::FromWebContents(contents);
315 if (manager) 315 if (manager)
316 data->set_blocked(manager->IsDialogActive()); 316 data->set_blocked(manager->IsDialogActive());
317 317
318 contents_data_.insert(contents_data_.begin() + index, data); 318 contents_data_.insert(contents_data_.begin() + index, data);
319 319
320 selection_model_.IncrementFrom(index); 320 selection_model_.IncrementFrom(index);
321 321
322 FOR_EACH_OBSERVER(TabStripModelObserver, observers_, 322 FOR_EACH_OBSERVER(TabStripModelObserver, observers_,
323 TabInsertedAt(contents, index, active)); 323 TabInsertedAt(this, contents, index, active));
324 if (active) { 324 if (active) {
325 ui::ListSelectionModel new_model; 325 ui::ListSelectionModel new_model;
326 new_model.Copy(selection_model_); 326 new_model.Copy(selection_model_);
327 new_model.SetSelectedIndex(index); 327 new_model.SetSelectedIndex(index);
328 SetSelection(new_model, NOTIFY_DEFAULT); 328 SetSelection(new_model, NOTIFY_DEFAULT);
329 } 329 }
330 } 330 }
331 331
332 WebContents* TabStripModel::ReplaceWebContentsAt(int index, 332 WebContents* TabStripModel::ReplaceWebContentsAt(int index,
333 WebContents* new_contents) { 333 WebContents* new_contents) {
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after
651 contents_data_[index]->set_pinned(pinned); 651 contents_data_[index]->set_pinned(pinned);
652 if (pinned && index != non_pinned_tab_index) { 652 if (pinned && index != non_pinned_tab_index) {
653 MoveWebContentsAtImpl(index, non_pinned_tab_index, false); 653 MoveWebContentsAtImpl(index, non_pinned_tab_index, false);
654 index = non_pinned_tab_index; 654 index = non_pinned_tab_index;
655 } else if (!pinned && index + 1 != non_pinned_tab_index) { 655 } else if (!pinned && index + 1 != non_pinned_tab_index) {
656 MoveWebContentsAtImpl(index, non_pinned_tab_index - 1, false); 656 MoveWebContentsAtImpl(index, non_pinned_tab_index - 1, false);
657 index = non_pinned_tab_index - 1; 657 index = non_pinned_tab_index - 1;
658 } 658 }
659 659
660 FOR_EACH_OBSERVER(TabStripModelObserver, observers_, 660 FOR_EACH_OBSERVER(TabStripModelObserver, observers_,
661 TabPinnedStateChanged(contents_data_[index]->web_contents(), 661 TabPinnedStateChanged(
662 index)); 662 this, contents_data_[index]->web_contents(), index));
663 } 663 }
664 664
665 bool TabStripModel::IsTabPinned(int index) const { 665 bool TabStripModel::IsTabPinned(int index) const {
666 DCHECK(ContainsIndex(index)); 666 DCHECK(ContainsIndex(index));
667 return contents_data_[index]->pinned(); 667 return contents_data_[index]->pinned();
668 } 668 }
669 669
670 bool TabStripModel::IsTabBlocked(int index) const { 670 bool TabStripModel::IsTabBlocked(int index) const {
671 return contents_data_[index]->blocked(); 671 return contents_data_[index]->blocked();
672 } 672 }
(...skipping 692 matching lines...) Expand 10 before | Expand all | Expand 10 after
1365 1365
1366 void TabStripModel::FixOpenersAndGroupsReferencing(int index) { 1366 void TabStripModel::FixOpenersAndGroupsReferencing(int index) {
1367 WebContents* old_contents = GetWebContentsAtImpl(index); 1367 WebContents* old_contents = GetWebContentsAtImpl(index);
1368 for (WebContentsData* data : contents_data_) { 1368 for (WebContentsData* data : contents_data_) {
1369 if (data->group() == old_contents) 1369 if (data->group() == old_contents)
1370 data->set_group(contents_data_[index]->group()); 1370 data->set_group(contents_data_[index]->group());
1371 if (data->opener() == old_contents) 1371 if (data->opener() == old_contents)
1372 data->set_opener(contents_data_[index]->opener()); 1372 data->set_opener(contents_data_[index]->opener());
1373 } 1373 }
1374 } 1374 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698