Changeset 141413 in webkit


Ignore:
Timestamp:
Jan 31, 2013 6:07:58 AM (11 years ago)
Author:
allan.jensen@digia.com
Message:

[Qt] Box shadows on a transparency layer is very slow
https://bugs.webkit.org/show_bug.cgi?id=107547

Reviewed by Noam Rosenthal.

Include the window boundaries in the clip returned by GraphicsContext,
since QPainter may remember clips larger than the destination, but
ShadowBlur uses the clipBounds to determine the size of the shadow layer.

  • platform/graphics/qt/GraphicsContextQt.cpp:

(WebCore::GraphicsContext::clipBounds):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r141411 r141413  
     12013-01-31  Allan Sandfeld Jensen  <allan.jensen@digia.com>
     2
     3        [Qt] Box shadows on a transparency layer is very slow
     4        https://bugs.webkit.org/show_bug.cgi?id=107547
     5
     6        Reviewed by Noam Rosenthal.
     7
     8        Include the window boundaries in the clip returned by GraphicsContext,
     9        since QPainter may remember clips larger than the destination, but
     10        ShadowBlur uses the clipBounds to determine the size of the shadow layer.
     11
     12        * platform/graphics/qt/GraphicsContextQt.cpp:
     13        (WebCore::GraphicsContext::clipBounds):
     14
    1152013-01-31  Pavel Feldman  <pfeldman@chromium.org>
    216
  • trunk/Source/WebCore/platform/graphics/qt/GraphicsContextQt.cpp

    r140094 r141413  
    822822    QRectF clipRect;
    823823
     824    clipRect = p->transform().inverted().mapRect(p->window());
     825
    824826    if (p->hasClipping())
    825         clipRect = m_data->clipBoundingRect();
    826     else
    827         clipRect = p->transform().inverted().mapRect(p->window());
     827        clipRect = clipRect.intersected(m_data->clipBoundingRect());
    828828
    829829    return enclosingIntRect(clipRect);
Note: See TracChangeset for help on using the changeset viewer.