Fix for 3507164, scrolling really slow on hixie's web forms spec page. Hixie has...
authorhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 11 Dec 2003 19:39:28 +0000 (19:39 +0000)
committerhyatt <hyatt@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 11 Dec 2003 19:39:28 +0000 (19:39 +0000)
commit66ab7216a2c78c286a39725d1a876ac8577f5e76
tree8c44d869246e1293dd6068916eaf9ac021cc407a
parentfe8448205c7d51448e142b86d09627e0dca0cdb4
Fix for 3507164, scrolling really slow on hixie's web forms spec page.  Hixie has 12 little transparent layers
        at various points on this page, and beginning/ending transparency on only those 12 layers as you scroll
        is enough to kill scrolling performance.

This patch works around the issue by lazily beginning transparency layers only when we determine that
we're actually painting a descendant layer of a transparent ancestor or a transparent layer.

Also fixing QColor's comparison operator.  It was broken and not comparing the "valid" bit, so invalid and
valid colors were being assumed to be the same.

Also fixed the render dumper to not dump transparent and invalid background colors and fixed it do dump the
alpha for colors with an alpha < 0xFF.

Reviewed by mjs (opacity changes), darin (color changes) and john (render tree dumper changes)

        * ChangeLog:
        * khtml/rendering/render_layer.cpp:
        (RenderLayer::RenderLayer):
        (RenderLayer::beginTransparencyLayers):
        (RenderLayer::paint):
        (RenderLayer::paintLayer):
        * khtml/rendering/render_layer.h:
        * kwq/KWQColor.h:
        (operator==):
        (operator!=):
        * kwq/KWQColor.mm:
        (QColor::name):
        * kwq/KWQRenderTreeDebug.cpp:
        (operator<<):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@5764 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog-2005-08-23
WebCore/khtml/rendering/render_layer.cpp
WebCore/khtml/rendering/render_layer.h
WebCore/kwq/KWQColor.h
WebCore/kwq/KWQColor.mm
WebCore/kwq/KWQRenderTreeDebug.cpp