diff options
Diffstat (limited to 'chrome/browser/tabs/tab_strip_model.cc')
-rw-r--r-- | chrome/browser/tabs/tab_strip_model.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/chrome/browser/tabs/tab_strip_model.cc b/chrome/browser/tabs/tab_strip_model.cc index 2883cd0..3fd5af6 100644 --- a/chrome/browser/tabs/tab_strip_model.cc +++ b/chrome/browser/tabs/tab_strip_model.cc @@ -398,8 +398,14 @@ void TabStripModel::AddTabContents(TabContents* contents, // layout is performed with sane view dimensions even when we're opening a // new background tab. if (TabContents* old_contents = GetSelectedTabContents()) { - if (!foreground) + if (!foreground) { + contents->HideContents(); contents->view()->SizeContents(old_contents->view()->GetContainerSize()); + // We need to hide the contents or else we get and execute paints for + // background tabs. With enough background tabs they will steal the + // backing store of the visible tab causing flashing. See bug 20831. + + } } } |