diff options
| author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-01 10:36:58 +0200 |
|---|---|---|
| committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-06-01 10:36:58 +0200 |
| commit | b1e9e47fa11f608ae16bc07f97a2acf95bf80272 (patch) | |
| tree | c88c45e80c9c44506e7cdf9a3bb39ebf82a8cd5b /Source/WebCore/rendering/RenderGeometryMap.cpp | |
| parent | be01689f43cf6882cf670d33df49ead1f570c53a (diff) | |
| download | qtwebkit-b1e9e47fa11f608ae16bc07f97a2acf95bf80272.tar.gz | |
Imported WebKit commit 499c84c99aa98e9870fa7eaa57db476c6d160d46 (http://svn.webkit.org/repository/webkit/trunk@119200)
Weekly update :). Particularly relevant changes for Qt are the use of the WebCore image decoders and direct usage
of libpng/libjpeg if available in the system.
Diffstat (limited to 'Source/WebCore/rendering/RenderGeometryMap.cpp')
| -rw-r--r-- | Source/WebCore/rendering/RenderGeometryMap.cpp | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/Source/WebCore/rendering/RenderGeometryMap.cpp b/Source/WebCore/rendering/RenderGeometryMap.cpp index 65f189bb1..77e04855d 100644 --- a/Source/WebCore/rendering/RenderGeometryMap.cpp +++ b/Source/WebCore/rendering/RenderGeometryMap.cpp @@ -143,12 +143,13 @@ void RenderGeometryMap::mapToAbsolute(TransformState& transformState) const for (int i = m_mapping.size() - 1; i >= 0; --i) { const RenderGeometryMapStep* currStep = m_mapping[i].get(); - if (currStep->m_hasTransform) { - // If this box has a transform, it acts as a fixed position container for fixed descendants, - // and may itself also be fixed position. So propagate 'fixed' up only if this box is fixed position. - inFixed &= currStep->m_isFixedPosition; - } else - inFixed |= currStep->m_isFixedPosition; + // If this box has a transform, it acts as a fixed position container + // for fixed descendants, which prevents the propagation of 'fixed' + // unless the layer itself is also fixed position. + if (currStep->m_hasTransform && !currStep->m_isFixedPosition) + inFixed = false; + else if (currStep->m_isFixedPosition) + inFixed = true; if (!i) { if (currStep->m_transform) |
