Changeset 148423 in webkit


Ignore:
Timestamp:
Apr 15, 2013 2:18:21 AM (11 years ago)
Author:
anilsson@rim.com
Message:

[BlackBerry][CSS Filters] Non-image content disappears when filter applied
https://bugs.webkit.org/show_bug.cgi?id=114498

Reviewed by Carlos Garcia Campos.

Applying a filter to a div with simple text content caused the div to
disappear.

In https://bugs.webkit.org/show_bug.cgi?id=114276, we added some GL
state save/restore code for vertex attributes to make sure the state
changes done by BlackBerry::Platform::Graphics don't interfere with
GL code executing in WebKit. However, saving and restoring vertex
attribute state won't do much good if those attributes were never
enabled to begin with. Fixed by enabling vertex attributes
appropriately when setting them, so that state can be saved and
restored.

All the CSS Filters layout tests apply the filters to simple rectangles
or images, there's nothing sufficiently complex that we manage to
trigger this GL state conflict in the BlackBerry port. This suggests
adding a new platform-specific layout test would be appropriate, but
since we don't use pixel tests yet, such a test would not help detect
regressions. Ultimately we decided against adding a layout test for
this bug at this time.

  • platform/graphics/blackberry/LayerFilterRenderer.cpp:

(WebCore::LayerFilterRenderer::applyActions):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r148414 r148423  
     12013-04-15  Arvid Nilsson  <anilsson@rim.com>
     2
     3        [BlackBerry][CSS Filters] Non-image content disappears when filter applied
     4        https://bugs.webkit.org/show_bug.cgi?id=114498
     5
     6        Reviewed by Carlos Garcia Campos.
     7
     8        Applying a filter to a div with simple text content caused the div to
     9        disappear.
     10
     11        In https://bugs.webkit.org/show_bug.cgi?id=114276, we added some GL
     12        state save/restore code for vertex attributes to make sure the state
     13        changes done by BlackBerry::Platform::Graphics don't interfere with
     14        GL code executing in WebKit. However, saving and restoring vertex
     15        attribute state won't do much good if those attributes were never
     16        enabled to begin with. Fixed by enabling vertex attributes
     17        appropriately when setting them, so that state can be saved and
     18        restored.
     19
     20        All the CSS Filters layout tests apply the filters to simple rectangles
     21        or images, there's nothing sufficiently complex that we manage to
     22        trigger this GL state conflict in the BlackBerry port. This suggests
     23        adding a new platform-specific layout test would be appropriate, but
     24        since we don't use pixel tests yet, such a test would not help detect
     25        regressions. Ultimately we decided against adding a layout test for
     26        this bug at this time.
     27
     28        * platform/graphics/blackberry/LayerFilterRenderer.cpp:
     29        (WebCore::LayerFilterRenderer::applyActions):
     30
    1312013-04-14  Jaehun Lim  <ljaehun.lim@samsung.com>
    232
  • trunk/Source/WebCore/platform/graphics/blackberry/LayerFilterRenderer.cpp

    r148201 r148423  
    710710    LayerRendererSurface* surface = layer->layerRendererSurface();
    711711
    712     glVertexAttribPointer(0, 2, GL_FLOAT, GL_FALSE, 0, &layer->getTransformedBounds() );
     712    glVertexAttribPointer(m_positionLocation, 2, GL_FLOAT, GL_FALSE, 0, &layer->getTransformedBounds());
     713    glEnableVertexAttribArray(m_positionLocation);
    713714    glVertexAttribPointer(m_texCoordLocation, 2, GL_FLOAT, GL_FALSE, 0, texcoords);
     715    glEnableVertexAttribArray(m_texCoordLocation);
    714716
    715717    m_texture->protect(surface->texture()->size(), BlackBerry::Platform::Graphics::AlwaysBacked);
Note: See TracChangeset for help on using the changeset viewer.