Changeset 110741 in webkit


Ignore:
Timestamp:
Mar 14, 2012 1:52:42 PM (12 years ago)
Author:
jamesr@google.com
Message:

[Chromium] Layout Test compositing/repaint/opacity-between-absolute.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=79823

Reviewed by Adrienne Walker.

Source/WebCore:

LayerRendererChromium was storing a weak pointer to the current render surface in m_currentRenderSurface and
using this in useRenderSurface() to avoid rebinding if we called useRenderSurface() multiple times in a row on
the same surface. This pointer was never cleared, so if any subsequent surface landed at the same address this
caching would misbehave and we'd fail to correctly initialize the new render surface. The caching wasn't
actually buying us anything anyway since we only call useRenderSurface() once per surface per frame and we
always set the viewport for the default render surface.

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::beginDrawingFrame):
(WebCore::LayerRendererChromium::useRenderSurface):

LayoutTests:

  • platform/chromium/test_expectations.txt:
Location:
trunk
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r110740 r110741  
    1 2012-03-14  Jessie Berlin  <jberlin@apple.com>
    2 
    3         WKTR doesn't have an implemenation of hasSpellingMarker yet.
    4 
    5         Add more tests that rely on it to the WK2 Skipped list.
    6 
    7         * platform/wk2/Skipped:
     12012-03-14  James Robinson  <jamesr@chromium.org>
     2
     3        [Chromium] Layout Test compositing/repaint/opacity-between-absolute.html is flaky
     4        https://bugs.webkit.org/show_bug.cgi?id=79823
     5
     6        Reviewed by Adrienne Walker.
     7
     8        * platform/chromium/test_expectations.txt:
    89
    9102012-03-14  Zalan Bujtas  <zbujtas@gmail.com>
     
    107108
    108109        * platform/chromium/test_expectations.txt:
     110
     1112012-03-14  Jessie Berlin  <jberlin@apple.com>
     112
     113        WKTR doesn't have an implemenation of hasSpellingMarker yet.
     114
     115        Add more tests that rely on it to the WK2 Skipped list.
     116
     117        * platform/wk2/Skipped:
    109118
    1101192012-03-14  Jessie Berlin  <jberlin@apple.com>
  • trunk/LayoutTests/platform/chromium/test_expectations.txt

    r110736 r110741  
    26152615BUGWK47949 MAC : compositing/reflections/nested-reflection-anchor-point.html = IMAGE
    26162616BUGWK47949 LINUX WIN : compositing/reflections/reflection-opacity.html = IMAGE+TEXT
     2617
    26172618// The following are flaky on Mac 10.6; occasionally the layers fail to show up.
    26182619BUGWK47949 MAC : compositing/reflections/nested-reflection.html = IMAGE PASS
    2619 BUGWK47949 : compositing/reflections/nested-reflection-transformed.html = IMAGE PASS
    26202620BUGWK47949 MAC : compositing/reflections/reflection-opacity.html = IMAGE PASS
    26212621BUGWK47949 : compositing/reflections/reflection-positioning.html = IMAGE PASS
    2622 BUGWK47949 : compositing/reflections/nested-reflection-transformed2.html = IMAGE PASS
    26232622BUGWK47949 : compositing/reflections/nested-reflection-transition.html = IMAGE PASS
    26242623BUGWK47949 MAC : compositing/reflections/nested-reflection-size-change.html = IMAGE PASS
    26252624BUGWK79647 WIN MAC : compositing/reflections/reflection-ordering.html = IMAGE PASS
    26262625BUGWK79647 WIN LINUX : compositing/reflections/remove-add-reflection.html = IMAGE PASS
     2626
     2627// Need rebaselines
     2628BUGWK47949 : compositing/reflections/nested-reflection-transformed.html = IMAGE
     2629BUGWK47949 : compositing/reflections/nested-reflection-transformed2.html = IMAGE
    26272630
    26282631// Flaky because these are a poorly written tests. Need dino's new animation API
     
    35393542BUGWK74634 WIN : compositing/absolute-position-changed-with-composited-parent-layer.html = IMAGE
    35403543
    3541 BUGWK74731 : compositing/reflections/reflection-positioning2.html = PASS IMAGE
    3542 
    35433544BUGWK74746 : fast/filesystem/workers/file-from-file-entry-sync.html = PASS CRASH
    35443545BUGWK74746 : fast/filesystem/workers/file-entry-to-uri-sync.html = PASS CRASH
     
    36723673
    36733674// Will need rebaselines for mock scrollbars
    3674 
    3675 // Flaky, needs investigation
    3676 BUGJAMESR : compositing/masks/masked-ancestor.html = IMAGE PASS
    36773675
    36783676BUGWK77534 LINUX : plugins/createScriptableObject-before-start.html = PASS MISSING
     
    37743772BUGWK79540 LEOPARD DEBUG : fast/files/workers/worker-read-file-async.html = PASS CRASH
    37753773
    3776 BUGWK79572 : css3/filters/effect-drop-shadow-hw.html = PASS IMAGE
    3777 BUGWK80007 : css3/filters/filtered-compositing-descendant.html = PASS IMAGE
    3778 
    37793774BUGWK79642 : accessibility/aria-describedby-on-input.html = TIMEOUT
    37803775BUGWK79642 : fast/loader/subresource-willSendRequest-null.html = TIMEOUT
     
    37823777BUGWK79702 : fast/regex/lastIndex.html = TEXT
    37833778BUGWK79703 : fast/regex/overflow.html = TEXT
    3784 
    3785 BUGWK79823 : compositing/repaint/opacity-between-absolute.html = PASS IMAGE
    3786 BUGWK79823 : compositing/reflections/masked-reflection-on-composited.html = PASS IMAGE
    3787 BUGWK79823 : compositing/reflections/reflection-on-composited.html = PASS IMAGE
    3788 BUGWK79823 : compositing/geometry/fixed-position.html = PASS IMAGE
    3789 BUGWK79823 : compositing/reflections/compositing-change-inside-reflection.html = PASS IMAGE
    3790 BUGWK79823 : compositing/webgl/webgl-reflection.html = PASS IMAGE
    3791 BUGWK79823 : compositing/masks/direct-image-mask.html = PASS IMAGE
    3792 BUGWK79823 : platform/chromium/compositing/render-surface-alpha-blending.html = PASS IMAGE
    3793 BUGWK79823 : platform/chromium/compositing/child-layer-3d-sorting.html = PASS IMAGE
    3794 BUGWK79823 : platform/chromium/compositing/plugins/webplugin-reflection.html = PASS IMAGE
    3795 
    3796 // Already associated with bug 47949 on Mac.
    3797 BUGWK79823 WIN LINUX : compositing/reflections/nested-reflection.html = PASS IMAGE
    37983779
    37993780BUGWK79862 : fast/js/primitive-property-access-edge-cases.html = TEXT
     
    38883869BUGWK80743 WIN MAC : compositing/direct-image-compositing.html = PASS IMAGE
    38893870BUGWK80743 WIN MAC : platform/chromium/compositing/huge-layer-rotated.html = PASS IMAGE
    3890 
    3891 BUGWK80563 : css3/filters/effect-combined-hw.html = PASS IMAGE
    3892 BUGWK80563 : css3/filters/effect-hue-rotate-hw.html = PASS IMAGE
    3893 BUGWK80563 : css3/filters/effect-opacity-hw.html = PASS IMAGE
    3894 BUGWK80563 : compositing/reflections/nested-reflection-opacity.html = PASS IMAGE
    38953871
    38963872BUGWK80665 : fast/js/string-match.html = TEXT
  • trunk/Source/WebCore/ChangeLog

    r110738 r110741  
     12012-03-14  James Robinson  <jamesr@chromium.org>
     2
     3        [Chromium] Layout Test compositing/repaint/opacity-between-absolute.html is flaky
     4        https://bugs.webkit.org/show_bug.cgi?id=79823
     5
     6        Reviewed by Adrienne Walker.
     7
     8        LayerRendererChromium was storing a weak pointer to the current render surface in m_currentRenderSurface and
     9        using this in useRenderSurface() to avoid rebinding if we called useRenderSurface() multiple times in a row on
     10        the same surface. This pointer was never cleared, so if any subsequent surface landed at the same address this
     11        caching would misbehave and we'd fail to correctly initialize the new render surface. The caching wasn't
     12        actually buying us anything anyway since we only call useRenderSurface() once per surface per frame and we
     13        always set the viewport for the default render surface.
     14
     15        * platform/graphics/chromium/LayerRendererChromium.cpp:
     16        (WebCore::LayerRendererChromium::beginDrawingFrame):
     17        (WebCore::LayerRendererChromium::useRenderSurface):
     18
    1192012-03-14  Zalan Bujtas  <zbujtas@gmail.com>
    220
  • trunk/Source/WebCore/platform/graphics/chromium/LayerRendererChromium.cpp

    r110596 r110741  
    390390
    391391    makeContextCurrent();
    392     // The GL viewport covers the entire visible area, including the scrollbars.
    393     GLC(m_context.get(), m_context->viewport(0, 0, viewportWidth(), viewportHeight()));
    394     m_windowMatrix = screenMatrix(0, 0, viewportWidth(), viewportHeight());
    395 
    396392    // Bind the common vertex attributes used for drawing all the layers.
    397393    m_sharedGeometry->prepareForDraw();
     
    11441140bool LayerRendererChromium::useRenderSurface(CCRenderSurface* renderSurface)
    11451141{
    1146     if (m_currentRenderSurface == renderSurface)
    1147         return true;
    1148 
    11491142    m_currentRenderSurface = renderSurface;
    11501143
Note: See TracChangeset for help on using the changeset viewer.