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

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

Issue 1710253003: Misc. Tab-related cleanup. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Better structure for #ifdefs Created 4 years, 9 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
« no previous file with comments | « chrome/browser/ui/views/tabs/tab_strip.h ('k') | chrome/browser/ui/views/tabs/tab_unittest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/views/tabs/tab_strip.h" 5 #include "chrome/browser/ui/views/tabs/tab_strip.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <iterator> 10 #include <iterator>
(...skipping 738 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 } 749 }
750 750
751 void TabStrip::StopAllHighlighting() { 751 void TabStrip::StopAllHighlighting() {
752 for (int i = 0; i < tab_count(); ++i) 752 for (int i = 0; i < tab_count(); ++i)
753 tab_at(i)->StopPulse(); 753 tab_at(i)->StopPulse();
754 } 754 }
755 755
756 void TabStrip::AddTabAt(int model_index, 756 void TabStrip::AddTabAt(int model_index,
757 const TabRendererData& data, 757 const TabRendererData& data,
758 bool is_active) { 758 bool is_active) {
759 Tab* tab = CreateTab(); 759 Tab* tab = new Tab(this, animation_container_.get());
760 AddChildView(tab); 760 AddChildView(tab);
761 tab->SetData(data); 761 tab->SetData(data);
762 UpdateTabsClosingMap(model_index, 1); 762 UpdateTabsClosingMap(model_index, 1);
763 tabs_.Add(tab, model_index); 763 tabs_.Add(tab, model_index);
764 764
765 if (touch_layout_) { 765 if (touch_layout_) {
766 GenerateIdealBoundsForPinnedTabs(NULL); 766 GenerateIdealBoundsForPinnedTabs(NULL);
767 int add_types = 0; 767 int add_types = 0;
768 if (data.pinned) 768 if (data.pinned)
769 add_types |= StackedTabStripLayout::kAddTypePinned; 769 add_types |= StackedTabStripLayout::kAddTypePinned;
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
1086 newtab_button_->set_background_offset(offset); 1086 newtab_button_->set_background_offset(offset);
1087 } 1087 }
1088 1088
1089 void TabStrip::SetImmersiveStyle(bool enable) { 1089 void TabStrip::SetImmersiveStyle(bool enable) {
1090 if (immersive_style_ == enable) 1090 if (immersive_style_ == enable)
1091 return; 1091 return;
1092 immersive_style_ = enable; 1092 immersive_style_ = enable;
1093 } 1093 }
1094 1094
1095 SkAlpha TabStrip::GetInactiveAlpha(bool for_new_tab_button) const { 1095 SkAlpha TabStrip::GetInactiveAlpha(bool for_new_tab_button) const {
1096 static const SkAlpha kInactiveTabAlphaOpaque = 255;
1097 static const double kMultiSelectionMultiplier = 0.6;
1098
1099 SkAlpha base_alpha = kInactiveTabAlphaOpaque;
1100 #if defined(USE_ASH) 1096 #if defined(USE_ASH)
1101 static const SkAlpha kInactiveTabAlphaAsh = 230; 1097 static const SkAlpha kInactiveTabAlphaAsh = 230;
1102 base_alpha = kInactiveTabAlphaAsh; 1098 const SkAlpha base_alpha = kInactiveTabAlphaAsh;
1103 #else 1099 #else
1104 static const SkAlpha kInactiveTabAlphaGlass = 200; 1100 static const SkAlpha kInactiveTabAlphaGlass = 200;
1105 if (GetWidget()->ShouldWindowContentsBeTransparent()) 1101 static const SkAlpha kInactiveTabAlphaOpaque = 255;
1106 base_alpha = kInactiveTabAlphaGlass; 1102 const SkAlpha base_alpha = GetWidget()->ShouldWindowContentsBeTransparent() ?
1103 kInactiveTabAlphaGlass : kInactiveTabAlphaOpaque;
1107 #endif // USE_ASH 1104 #endif // USE_ASH
1105 static const double kMultiSelectionMultiplier = 0.6;
1108 return (for_new_tab_button || (GetSelectionModel().size() <= 1)) ? 1106 return (for_new_tab_button || (GetSelectionModel().size() <= 1)) ?
1109 base_alpha : static_cast<SkAlpha>(kMultiSelectionMultiplier * base_alpha); 1107 base_alpha : static_cast<SkAlpha>(kMultiSelectionMultiplier * base_alpha);
1110 } 1108 }
1111 1109
1112 bool TabStrip::IsAnimating() const { 1110 bool TabStrip::IsAnimating() const {
1113 return bounds_animator_.IsAnimating(); 1111 return bounds_animator_.IsAnimating();
1114 } 1112 }
1115 1113
1116 void TabStrip::StopAnimating(bool layout) { 1114 void TabStrip::StopAnimating(bool layout) {
1117 if (!IsAnimating()) 1115 if (!IsAnimating())
(...skipping 277 matching lines...) Expand 10 before | Expand all | Expand 10 after
1395 1393
1396 // If a custom theme does not provide a replacement tab background, but does 1394 // If a custom theme does not provide a replacement tab background, but does
1397 // provide a replacement frame image, HasCustomImage() on the tab background 1395 // provide a replacement frame image, HasCustomImage() on the tab background
1398 // ID will return false, but the theme provider will make a custom image from 1396 // ID will return false, but the theme provider will make a custom image from
1399 // the frame image. Furthermore, since the theme provider will create the 1397 // the frame image. Furthermore, since the theme provider will create the
1400 // incognito frame image from the normal frame image, in incognito mode we 1398 // incognito frame image from the normal frame image, in incognito mode we
1401 // need to look for a custom incognito _or_ regular frame image. 1399 // need to look for a custom incognito _or_ regular frame image.
1402 const bool incognito = controller()->IsIncognito(); 1400 const bool incognito = controller()->IsIncognito();
1403 const int id = incognito ? 1401 const int id = incognito ?
1404 IDR_THEME_TAB_BACKGROUND_INCOGNITO : IDR_THEME_TAB_BACKGROUND; 1402 IDR_THEME_TAB_BACKGROUND_INCOGNITO : IDR_THEME_TAB_BACKGROUND;
1405 const int frame_id = incognito ? IDR_THEME_FRAME_INCOGNITO : IDR_THEME_FRAME; 1403 *custom_image =
1406 *custom_image = tp->HasCustomImage(id) || tp->HasCustomImage(frame_id) || 1404 tp->HasCustomImage(id) || tp->HasCustomImage(IDR_THEME_FRAME) ||
1407 (incognito && tp->HasCustomImage(IDR_THEME_FRAME)); 1405 (incognito && tp->HasCustomImage(IDR_THEME_FRAME_INCOGNITO));
1408 return id; 1406 return id;
1409 } 1407 }
1410 1408
1411 void TabStrip::UpdateTabAccessibilityState(const Tab* tab, 1409 void TabStrip::UpdateTabAccessibilityState(const Tab* tab,
1412 ui::AXViewState* state) { 1410 ui::AXViewState* state) {
1413 state->count = tab_count(); 1411 state->count = tab_count();
1414 state->index = GetModelIndexOfTab(tab); 1412 state->index = GetModelIndexOfTab(tab);
1415 } 1413 }
1416 1414
1417 void TabStrip::MouseMovedOutOfHost() { 1415 void TabStrip::MouseMovedOutOfHost() {
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
1697 AddChildView(newtab_button_); 1695 AddChildView(newtab_button_);
1698 1696
1699 if (drop_indicator_width == 0) { 1697 if (drop_indicator_width == 0) {
1700 // Direction doesn't matter, both images are the same size. 1698 // Direction doesn't matter, both images are the same size.
1701 gfx::ImageSkia* drop_image = GetDropArrowImage(true); 1699 gfx::ImageSkia* drop_image = GetDropArrowImage(true);
1702 drop_indicator_width = drop_image->width(); 1700 drop_indicator_width = drop_image->width();
1703 drop_indicator_height = drop_image->height(); 1701 drop_indicator_height = drop_image->height();
1704 } 1702 }
1705 } 1703 }
1706 1704
1707 Tab* TabStrip::CreateTab() {
1708 Tab* tab = new Tab(this);
1709 tab->SetAnimationContainer(animation_container_.get());
1710 return tab;
1711 }
1712
1713 void TabStrip::StartInsertTabAnimation(int model_index) { 1705 void TabStrip::StartInsertTabAnimation(int model_index) {
1714 PrepareForAnimation(); 1706 PrepareForAnimation();
1715 1707
1716 // The TabStrip can now use its entire width to lay out Tabs. 1708 // The TabStrip can now use its entire width to lay out Tabs.
1717 in_tab_close_ = false; 1709 in_tab_close_ = false;
1718 available_width_for_tabs_ = -1; 1710 available_width_for_tabs_ = -1;
1719 1711
1720 GenerateIdealBounds(); 1712 GenerateIdealBounds();
1721 1713
1722 Tab* tab = tab_at(model_index); 1714 Tab* tab = tab_at(model_index);
(...skipping 1148 matching lines...) Expand 10 before | Expand all | Expand 10 after
2871 ConvertPointToViewAndGetEventHandler(this, newtab_button_, point); 2863 ConvertPointToViewAndGetEventHandler(this, newtab_button_, point);
2872 if (view) 2864 if (view)
2873 return view; 2865 return view;
2874 } 2866 }
2875 Tab* tab = FindTabForEvent(point); 2867 Tab* tab = FindTabForEvent(point);
2876 if (tab) 2868 if (tab)
2877 return ConvertPointToViewAndGetEventHandler(this, tab, point); 2869 return ConvertPointToViewAndGetEventHandler(this, tab, point);
2878 } 2870 }
2879 return this; 2871 return this;
2880 } 2872 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/tabs/tab_strip.h ('k') | chrome/browser/ui/views/tabs/tab_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698