Index: chrome/browser/browser.cc |
=================================================================== |
--- chrome/browser/browser.cc (revision 23340) |
+++ chrome/browser/browser.cc (working copy) |
@@ -1792,6 +1792,18 @@ |
initial_pos, user_gesture); |
browser->window()->Show(); |
} else if (disposition != SUPPRESS_OPEN) { |
+ // Ensure that the new TabContentsView begins at the same size as the |
+ // previous TabContentsView if it existed. Otherwise, the initial WebKit |
+ // layout will be performed based on a width of 0 pixels, causing a |
+ // very long, narrow, inaccurate layout. Because some scripts on pages (as |
+ // well as WebKit's anchor link location calculation) are run on the |
+ // initial layout and not recalculated later, we need to ensure the first |
+ // layout is performed with sane view dimensions even when we're opening a |
+ // new background tab. |
+ if (TabContents* old_contents = tabstrip_model_.GetSelectedTabContents()) { |
+ new_contents->view()->SizeContents( |
+ old_contents->view()->GetContainerSize()); |
+ } |
tabstrip_model_.AddTabContents(new_contents, -1, false, |
PageTransition::LINK, |
disposition == NEW_FOREGROUND_TAB); |
Property changes on: chrome\browser\browser.cc |
___________________________________________________________________ |
Modified: svn:mergeinfo |
Merged /trunk/src/chrome/browser/browser.cc:r23332 |