Bug 104195 - [WK2][EFL] Gardening. Rebase fast/block/basic/020.html
Summary: [WK2][EFL] Gardening. Rebase fast/block/basic/020.html
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit EFL (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: KyungTae Kim
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-12-05 17:37 PST by KyungTae Kim
Modified: 2012-12-05 18:40 PST (History)
4 users (show)

See Also:


Attachments
Patch (3.09 KB, patch)
2012-12-05 17:50 PST, KyungTae Kim
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description KyungTae Kim 2012-12-05 17:37:12 PST
The layer for "visibility:hidden; position: absolute;" object should be shown in RenderLayer Tree when USE(ACCELERATED_COMPOSITING).

It's because the HiddenLayers are included in zOrderList when CompositingMode is on.

void RenderLayer::rebuildZOrderLists()
{
#if USE(ACCELERATED_COMPOSITING)
    bool includeHiddenLayers = compositor()->inCompositingMode();  // TRUE or FALSE by RenderLayerCompositor::m_compositing
#else
    bool includeHiddenLayers = false; // Always FALSE -> other ports' case
#endif
    for (RenderLayer* child = firstChild(); child; child = child->nextSibling())
        if (!m_reflection || reflectionLayer() != child)
            child->collectLayers(includeHiddenLayers, m_posZOrderList, m_negZOrderList);
Comment 1 KyungTae Kim 2012-12-05 17:50:30 PST
Created attachment 177890 [details]
Patch
Comment 2 Kangil Han 2012-12-05 17:57:26 PST
(In reply to comment #0)
> The layer for "visibility:hidden; position: absolute;" object should be shown in RenderLayer Tree when USE(ACCELERATED_COMPOSITING).
> 
> It's because the HiddenLayers are included in zOrderList when CompositingMode is on.
> 
> void RenderLayer::rebuildZOrderLists()
> {
> #if USE(ACCELERATED_COMPOSITING)
>     bool includeHiddenLayers = compositor()->inCompositingMode();  // TRUE or FALSE by RenderLayerCompositor::m_compositing
> #else
>     bool includeHiddenLayers = false; // Always FALSE -> other ports' case
> #endif
>     for (RenderLayer* child = firstChild(); child; child = child->nextSibling())
>         if (!m_reflection || reflectionLayer() != child)
>             child->collectLayers(includeHiddenLayers, m_posZOrderList, m_negZOrderList);

Love to know this! :)
Comment 3 Ryuan Choi 2012-12-05 18:05:43 PST
Comment on attachment 177890 [details]
Patch

I think that this is reasonable.
Comment 4 WebKit Review Bot 2012-12-05 18:37:18 PST
Comment on attachment 177890 [details]
Patch

Clearing flags on attachment: 177890

Committed r136786: <http://trac.webkit.org/changeset/136786>
Comment 5 WebKit Review Bot 2012-12-05 18:37:22 PST
All reviewed patches have been landed.  Closing bug.
Comment 6 KyungTae Kim 2012-12-05 18:40:07 PST
(In reply to comment #2)
> (In reply to comment #0)
Just for reference)
That code was originated from the bug 38829,
fixing a bug that the first frame of the <video> was displayed even though the video has been set to hidden.