Changeset 133085 in webkit


Ignore:
Timestamp:
Oct 31, 2012 3:27:49 PM (11 years ago)
Author:
commit-queue@webkit.org
Message:

Apply transformation for highlights on non-composited contents
https://bugs.webkit.org/show_bug.cgi?id=100438

Patch by Tien-Ren Chen <trchen@chromium.org> on 2012-10-31
Reviewed by Adam Barth.

Non-composited content host layer "steals" the contents on the
RenderView layer, including the highlight layer.
The transformation for regular contents are applied by the paint
function of the non-composited content host however the highlight
uses its own WebLayer. Need to apply the same transformation to
the highlight layer as well.

Source/WebKit/chromium:

  • src/LinkHighlight.cpp:

(WebKit::LinkHighlight::computeEnclosingCompositingLayer):

  • src/LinkHighlight.h:

(LinkHighlight):

LayoutTests:

  • platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document.html: Added.
  • platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document-expected.png: Added.
  • platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document-expected.txt: Added.
Location:
trunk
Files:
3 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r133084 r133085  
     12012-10-31  Tien-Ren Chen  <trchen@chromium.org>
     2
     3        Apply transformation for highlights on non-composited contents
     4        https://bugs.webkit.org/show_bug.cgi?id=100438
     5
     6        Reviewed by Adam Barth.
     7
     8        Non-composited content host layer "steals" the contents on the
     9        RenderView layer, including the highlight layer.
     10        The transformation for regular contents are applied by the paint
     11        function of the non-composited content host however the highlight
     12        uses its own WebLayer. Need to apply the same transformation to
     13        the highlight layer as well.
     14
     15        * platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document.html: Added.
     16        * platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document-expected.png: Added.
     17        * platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document-expected.txt: Added.
     18
    1192012-10-31  Thiago Marcos P. Santos  <thiago.santos@intel.com>
    220
  • trunk/Source/WebKit/chromium/ChangeLog

    r133053 r133085  
     12012-10-31  Tien-Ren Chen  <trchen@chromium.org>
     2
     3        Apply transformation for highlights on non-composited contents
     4        https://bugs.webkit.org/show_bug.cgi?id=100438
     5
     6        Reviewed by Adam Barth.
     7
     8        Non-composited content host layer "steals" the contents on the
     9        RenderView layer, including the highlight layer.
     10        The transformation for regular contents are applied by the paint
     11        function of the non-composited content host however the highlight
     12        uses its own WebLayer. Need to apply the same transformation to
     13        the highlight layer as well.
     14
     15        * src/LinkHighlight.cpp:
     16        (WebKit::LinkHighlight::computeEnclosingCompositingLayer):
     17        * src/LinkHighlight.h:
     18        (LinkHighlight):
     19
    1202012-10-31  Mike West  <mkwst@chromium.org>
    221
  • trunk/Source/WebKit/chromium/src/LinkHighlight.cpp

    r131111 r133085  
    4949#include <public/WebRect.h>
    5050#include <public/WebSize.h>
     51#include <public/WebTransformationMatrix.h>
    5152
    5253using namespace WebCore;
     
    126127        return 0;
    127128
    128     m_graphicsLayerOffset = FloatPoint();
    129129    GraphicsLayerChromium* newGraphicsLayer = static_cast<GraphicsLayerChromium*>(renderLayer->backing()->graphicsLayer());
     130    m_clipLayer->setSublayerTransform(WebTransformationMatrix());
    130131    if (!newGraphicsLayer->drawsContent()) {
    131         m_graphicsLayerOffset = newGraphicsLayer->position();
     132        m_clipLayer->setSublayerTransform(WebTransformationMatrix(newGraphicsLayer->transform()));
    132133        newGraphicsLayer = static_cast<GraphicsLayerChromium*>(m_owningWebViewImpl->nonCompositedContentHost()->topLevelRootLayer());
    133134    }
  • trunk/Source/WebKit/chromium/src/LinkHighlight.h

    r130539 r133085  
    9292    bool m_geometryNeedsUpdate;
    9393    bool m_isAnimating;
    94     WebCore::FloatPoint m_graphicsLayerOffset;
    9594};
    9695
Note: See TracChangeset for help on using the changeset viewer.