PR 284985 Steps to Reproduce: 1)Launch browser 2)go to http://luotuo.tmall.com/ 3)Wait until the full page is loaded, then rotate device to landscape mode 4) Rotate it back to portrait mode ... 5) Expected Results: There is no rendering issue Actual Results: After step 4, the right side of the webpage was cut off.
When rotating back to portrait, WebPagePrivate::overflowExceedsContentsSize() was called. It will call setViewMode(), in which we will get fixedLayoutSize() and compare with the fixedLayoutSize in the FrameView. But WebPagePrivate::fixedLaoutSize() returned wrong size because the width was reset to 0 and then fallback to defaultLayoutSize.width(). if (m_pendingOrientation != -1 && !m_nestedLayoutFinishedCount) width = 0; Can be fixed by adding a check of m_overflowExceedsContentsSize, only reset width if m_overflowExceedsContentsSize is not true.
Created attachment 185378 [details] patch
Comment on attachment 185378 [details] patch LGTM.
Comment on attachment 185378 [details] patch Clearing flags on attachment: 185378 Committed r141276: <http://trac.webkit.org/changeset/141276>
All reviewed patches have been landed. Closing bug.