Index: chrome/browser/ui/views/tabs/tab_strip.cc |
diff --git a/chrome/browser/ui/views/tabs/tab_strip.cc b/chrome/browser/ui/views/tabs/tab_strip.cc |
index 3fb853bd7fc4fbb4c6f23fd9c9a356e8b640dec7..37626817930cda3ebfbcfc33f0c30a4d57f46000 100644 |
--- a/chrome/browser/ui/views/tabs/tab_strip.cc |
+++ b/chrome/browser/ui/views/tabs/tab_strip.cc |
@@ -1066,7 +1066,7 @@ void TabStrip::Layout() { |
DoLayout(); |
} |
-void TabStrip::PaintChildren(const ui::PaintContext& context) { |
+void TabStrip::PaintChildren(const views::PaintInfo& paint_info) { |
// The view order doesn't match the paint order (tabs_ contains the tab |
// ordering). Additionally we need to paint the tabs that are closing in |
// |tabs_closing_map_|. |
@@ -1079,10 +1079,10 @@ void TabStrip::PaintChildren(const ui::PaintContext& context) { |
// We pass false for |lcd_text_requires_opaque_layer| so that background |
// tab titles will get LCD AA. These are rendered opaquely on an opaque tab |
// background before the layer is composited, so this is safe. |
- ui::CompositingRecorder opacity_recorder(context, GetInactiveAlpha(false), |
- false); |
+ ui::CompositingRecorder opacity_recorder(paint_info.context(), |
+ GetInactiveAlpha(false), false); |
- PaintClosingTabs(tab_count(), context); |
+ PaintClosingTabs(tab_count(), paint_info); |
int active_tab_index = -1; |
for (int i = tab_count() - 1; i >= 0; --i) { |
@@ -1098,7 +1098,7 @@ void TabStrip::PaintChildren(const ui::PaintContext& context) { |
} else if (!tab->IsActive()) { |
if (!tab->IsSelected()) { |
if (!stacked_layout_) |
- tab->Paint(context); |
+ tab->Paint(paint_info); |
} else { |
selected_tabs.push_back(tab); |
} |
@@ -1106,19 +1106,19 @@ void TabStrip::PaintChildren(const ui::PaintContext& context) { |
active_tab = tab; |
active_tab_index = i; |
} |
- PaintClosingTabs(i, context); |
+ PaintClosingTabs(i, paint_info); |
} |
// Draw from the left and then the right if we're in touch mode. |
if (stacked_layout_ && active_tab_index >= 0) { |
for (int i = 0; i < active_tab_index; ++i) { |
Tab* tab = tab_at(i); |
- tab->Paint(context); |
+ tab->Paint(paint_info); |
} |
for (int i = tab_count() - 1; i > active_tab_index; --i) { |
Tab* tab = tab_at(i); |
- tab->Paint(context); |
+ tab->Paint(paint_info); |
} |
} |
} |
@@ -1126,34 +1126,34 @@ void TabStrip::PaintChildren(const ui::PaintContext& context) { |
// Now selected but not active. We don't want these dimmed if using native |
// frame, so they're painted after initial pass. |
for (size_t i = 0; i < selected_tabs.size(); ++i) |
- selected_tabs[i]->Paint(context); |
+ selected_tabs[i]->Paint(paint_info); |
// Next comes the active tab. |
if (active_tab && !is_dragging) |
- active_tab->Paint(context); |
+ active_tab->Paint(paint_info); |
// Paint the New Tab button. |
if (new_tab_button_->state() == views::CustomButton::STATE_PRESSED) { |
- new_tab_button_->Paint(context); |
+ new_tab_button_->Paint(paint_info); |
} else { |
// Match the inactive tab opacity for non-pressed states. See comments in |
// NewTabButton::PaintFill() for why we don't do this for the pressed state. |
// This call doesn't need to set |lcd_text_requires_opaque_layer| to false |
// because no text will be drawn. |
- ui::CompositingRecorder opacity_recorder(context, GetInactiveAlpha(true), |
- true); |
- new_tab_button_->Paint(context); |
+ ui::CompositingRecorder opacity_recorder(paint_info.context(), |
+ GetInactiveAlpha(true), true); |
+ new_tab_button_->Paint(paint_info); |
} |
// And the dragged tabs. |
for (size_t i = 0; i < tabs_dragging.size(); ++i) |
- tabs_dragging[i]->Paint(context); |
+ tabs_dragging[i]->Paint(paint_info); |
// If the active tab is being dragged, it goes last. |
if (active_tab && is_dragging) |
- active_tab->Paint(context); |
+ active_tab->Paint(paint_info); |
- ui::PaintRecorder recorder(context, size()); |
+ ui::PaintRecorder recorder(paint_info.context(), size()); |
gfx::Canvas* canvas = recorder.canvas(); |
if (active_tab) { |
canvas->sk_canvas()->clipRect( |
@@ -1784,13 +1784,13 @@ TabStrip::FindClosingTabResult TabStrip::FindClosingTab(const Tab* tab) { |
return FindClosingTabResult(tabs_closing_map_.end(), Tabs::iterator()); |
} |
-void TabStrip::PaintClosingTabs(int index, const ui::PaintContext& context) { |
+void TabStrip::PaintClosingTabs(int index, const views::PaintInfo& paint_info) { |
if (tabs_closing_map_.find(index) == tabs_closing_map_.end()) |
return; |
const Tabs& tabs = tabs_closing_map_[index]; |
for (Tabs::const_reverse_iterator i(tabs.rbegin()); i != tabs.rend(); ++i) |
- (*i)->Paint(context); |
+ (*i)->Paint(paint_info); |
} |
void TabStrip::UpdateStackedLayoutFromMouseEvent(views::View* source, |