diff options
| author | Simon Hausmann <simon.hausmann@digia.com> | 2012-11-07 11:22:47 +0100 |
|---|---|---|
| committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-11-07 11:22:47 +0100 |
| commit | cfd86b747d32ac22246a1aa908eaa720c63a88c1 (patch) | |
| tree | 24d68c6f61c464ecba1e05670b80390ea3b0e50c /Source/WebKit/chromium/src/LinkHighlight.cpp | |
| parent | 69d7c744c9de19d152dbe2d8e46eb7dfd4511d1a (diff) | |
| download | qtwebkit-cfd86b747d32ac22246a1aa908eaa720c63a88c1.tar.gz | |
Imported WebKit commit 20271caf2e2c016d5cef40184cddeefeac4f1876 (http://svn.webkit.org/repository/webkit/trunk@133733)
New snapshot that contains all previous fixes as well as build fix for latest QtMultimedia API changes.
Diffstat (limited to 'Source/WebKit/chromium/src/LinkHighlight.cpp')
| -rw-r--r-- | Source/WebKit/chromium/src/LinkHighlight.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/Source/WebKit/chromium/src/LinkHighlight.cpp b/Source/WebKit/chromium/src/LinkHighlight.cpp index 815a0c300..0d4d154f0 100644 --- a/Source/WebKit/chromium/src/LinkHighlight.cpp +++ b/Source/WebKit/chromium/src/LinkHighlight.cpp @@ -48,6 +48,7 @@ #include <public/WebFloatPoint.h> #include <public/WebRect.h> #include <public/WebSize.h> +#include <public/WebTransformationMatrix.h> using namespace WebCore; @@ -125,10 +126,10 @@ RenderLayer* LinkHighlight::computeEnclosingCompositingLayer() if (!renderLayer || !renderLayer->isComposited()) return 0; - m_graphicsLayerOffset = FloatPoint(); GraphicsLayerChromium* newGraphicsLayer = static_cast<GraphicsLayerChromium*>(renderLayer->backing()->graphicsLayer()); + m_clipLayer->setSublayerTransform(WebTransformationMatrix()); if (!newGraphicsLayer->drawsContent()) { - m_graphicsLayerOffset = newGraphicsLayer->position(); + m_clipLayer->setSublayerTransform(WebTransformationMatrix(newGraphicsLayer->transform())); newGraphicsLayer = static_cast<GraphicsLayerChromium*>(m_owningWebViewImpl->nonCompositedContentHost()->topLevelRootLayer()); } @@ -225,7 +226,7 @@ bool LinkHighlight::computeHighlightLayerPathAndPosition(RenderLayer* compositin return pathHasChanged; } -void LinkHighlight::paintContents(WebCanvas* canvas, const WebRect& webClipRect, WebFloatRect&) +void LinkHighlight::paintContents(WebCanvas* canvas, const WebRect& webClipRect, bool, WebFloatRect&) { if (!m_node || !m_node->renderer()) return; @@ -302,6 +303,9 @@ void LinkHighlight::updateGeometry() // We only need to invalidate the layer if the highlight size has changed, otherwise // we can just re-position the layer without needing to repaint. m_contentLayer->layer()->invalidate(); + + if (m_currentGraphicsLayer) + m_currentGraphicsLayer->addRepaintRect(FloatRect(layer()->position().x, layer()->position().y, layer()->bounds().width, layer()->bounds().height)); } } |
