Changeset 147127 in webkit


Ignore:
Timestamp:
Mar 28, 2013 10:03:11 AM (11 years ago)
Author:
alokp@chromium.org
Message:

RenderBox::backgroundIsKnownToBeOpaqueInRect may be wrong for theme-painted elements
https://bugs.webkit.org/show_bug.cgi?id=113419

Reviewed by Simon Fraser.

Source/WebCore:

Do not consider control elements as opaque. They are typically theme painted, and we cannot assume opaqueness on the behalf of theme. It can be improved by asking the theme if it paints opaque.

Test: compositing/contents-opaque/control-layer.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):

LayoutTests:

  • compositing/contents-opaque/control-layer-expected.txt: Added.
  • compositing/contents-opaque/control-layer.html: Added.
  • platform/chromium/compositing/contents-opaque/control-layer-expected.txt: Added.
Location:
trunk
Files:
3 added
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r147126 r147127  
     12013-03-28  Alok Priyadarshi  <alokp@chromium.org>
     2
     3        RenderBox::backgroundIsKnownToBeOpaqueInRect may be wrong for theme-painted elements
     4        https://bugs.webkit.org/show_bug.cgi?id=113419
     5
     6        Reviewed by Simon Fraser.
     7
     8        * compositing/contents-opaque/control-layer-expected.txt: Added.
     9        * compositing/contents-opaque/control-layer.html: Added.
     10        * platform/chromium/compositing/contents-opaque/control-layer-expected.txt: Added.
     11
    1122013-03-28  Zan Dobersek  <zdobersek@igalia.com>
    213
  • trunk/Source/WebCore/ChangeLog

    r147121 r147127  
     12013-03-28  Alok Priyadarshi  <alokp@chromium.org>
     2
     3        RenderBox::backgroundIsKnownToBeOpaqueInRect may be wrong for theme-painted elements
     4        https://bugs.webkit.org/show_bug.cgi?id=113419
     5
     6        Reviewed by Simon Fraser.
     7
     8        Do not consider control elements as opaque. They are typically theme painted, and we cannot assume opaqueness on the behalf of theme. It can be improved by asking the theme if it paints opaque.
     9
     10        Test: compositing/contents-opaque/control-layer.html
     11
     12        * rendering/RenderBox.cpp:
     13        (WebCore::RenderBox::backgroundIsKnownToBeOpaqueInRect):
     14
    1152013-03-28  ChangSeok Oh  <changseok.oh@collabora.com>
    216
  • trunk/Source/WebCore/rendering/RenderBox.cpp

    r147087 r147127  
    11781178        return false;
    11791179
     1180    // If the element has appearance, it might be painted by theme.
     1181    // We cannot be sure if theme paints the background opaque.
     1182    // In this case it is safe to not assume opaqueness.
     1183    // FIXME: May be ask theme if it paints opaque.
     1184    if (style()->hasAppearance())
     1185        return false;
    11801186    // FIXME: Check the opaqueness of background images.
    11811187
Note: See TracChangeset for help on using the changeset viewer.