Chromium Code Reviews| Index: Source/WebCore/page/FrameView.cpp |
| diff --git a/Source/WebCore/page/FrameView.cpp b/Source/WebCore/page/FrameView.cpp |
| index 3fe41c9ffec46ee4cabe8e6434496e3fc28d83cb..d9f10b718ed40649f1d8deef663c567bb8ff84b8 100644 |
| --- a/Source/WebCore/page/FrameView.cpp |
| +++ b/Source/WebCore/page/FrameView.cpp |
| @@ -1108,15 +1108,21 @@ void FrameView::layout(bool allowSubtree) |
| if (document->styleResolver()->affectedByViewportChange()) { |
| document->styleResolverChanged(RecalcStyleImmediately); |
| InspectorInstrumentation::mediaQueryResultChanged(document); |
| - } else |
| + } else { |
| document->evaluateMediaQueryList(); |
| + if (document->styleSheetCollection()->usesViewportUnits()) { |
| + document->styleResolver()->invalidateMatchedPropertiesCache(); |
| + document->scheduleForcedStyleRecalc(); |
|
esprehn
2013/04/09 08:20:27
This is a big hammer. It's going to mean pretty cr
|
| + } |
| + } |
| // If there is any pagination to apply, it will affect the RenderView's style, so we should |
| // take care of that now. |
| applyPaginationToViewport(); |
| // Always ensure our style info is up-to-date. This can happen in situations where |
| - // the layout beats any sort of style recalc update that needs to occur. |
| + // the layout beats any sort of style recalc update that needs to occur, and if we |
|
esprehn
2013/04/09 08:20:27
"or if" is probably more clear. I had to read this
|
| + // have to recalc due to the presence of viewport units. |
| TemporaryChange<bool> changeDoingPreLayoutStyleUpdate(m_doingPreLayoutStyleUpdate, true); |
| document->updateStyleIfNeeded(); |