Changeset 103990 in webkit


Ignore:
Timestamp:
Jan 3, 2012 4:53:45 PM (12 years ago)
Author:
commit-queue@webkit.org
Message:

[chromium] Push drawsContent and contentsVisible into accelerated compositor
https://bugs.webkit.org/show_bug.cgi?id=71209

Patch by Shawn Singh <shawnsingh@chromium.org> on 2012-01-03
Reviewed by James Robinson.

Source/WebCore:

Tests: compositing/visibility/visibility-simple-canvas2d-layer.html

compositing/visibility/visibility-simple-video-layer.html
compositing/visibility/visibility-simple-webgl-layer.html

Rebaselined compositing/visibility/visibility-image-layers.html

The CSS visibility property was not being properly obeyed by many
specialized layer types in the accelerated compositor. The root of
the problem was that drawsContent and contentsVisible flags were
not properly propagated into the compositor. This patch removes
the drawsContent() callback, and instead makes sure that
drawsContent and contentsVisible are "pushed" through the
accelerated compositor.

  • platform/graphics/chromium/Canvas2DLayerChromium.cpp:

(WebCore::Canvas2DLayerChromium::drawsContent):

  • platform/graphics/chromium/ContentLayerChromium.cpp:
  • platform/graphics/chromium/ContentLayerChromium.h:
  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

(WebCore::GraphicsLayerChromium::setDrawsContent):
(WebCore::GraphicsLayerChromium::setContentsVisible):
(WebCore::GraphicsLayerChromium::setContentsToImage):
(WebCore::GraphicsLayerChromium::setContentsToCanvas):
(WebCore::GraphicsLayerChromium::setContentsToMedia):
(WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
(WebCore::GraphicsLayerChromium::setupContentsLayer):

  • platform/graphics/chromium/GraphicsLayerChromium.h:
  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::setIsDrawable):

  • platform/graphics/chromium/LayerChromium.h:

(WebCore::LayerChromium::drawsContent):

  • platform/graphics/chromium/PluginLayerChromium.h:
  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::drawsContent):

  • platform/graphics/chromium/VideoLayerChromium.h:
  • platform/graphics/chromium/WebGLLayerChromium.cpp:

(WebCore::WebGLLayerChromium::drawsContent):

  • platform/graphics/chromium/cc/CCLayerImpl.cpp:

(WebCore::CCLayerImpl::dumpLayerProperties):

Source/WebKit/chromium:

  • src/WebContentLayerImpl.cpp:

(WebKit::WebContentLayerImpl::WebContentLayerImpl):
(WebKit::WebContentLayerImpl::setDrawsContent):

  • src/WebContentLayerImpl.h:
  • src/WebExternalTextureLayerImpl.cpp:

(WebKit::WebExternalTextureLayerImpl::drawsContent):

  • src/WebLayerImpl.cpp:

(WebKit::WebLayerImpl::WebLayerImpl):

  • src/WebLayerImpl.h:
  • tests/CCLayerTreeHostTest.cpp:

(WTF::ContentLayerChromiumWithUpdateTracking::ContentLayerChromiumWithUpdateTracking):

  • tests/Canvas2DLayerChromiumTest.cpp:
  • tests/LayerChromiumTest.cpp:
  • tests/TiledLayerChromiumTest.cpp:

(WTF::FakeTiledLayerChromium::FakeTiledLayerChromium):

LayoutTests:

  • compositing/visibility/visibility-image-layers-expected.png:
  • compositing/visibility/visibility-image-layers-expected.txt: Renamed from LayoutTests/platform/mac/compositing/visibility/visibility-image-layers-expected.txt.
  • compositing/visibility/visibility-simple-canvas2d-layer-expected.png: Added.
  • compositing/visibility/visibility-simple-canvas2d-layer-expected.txt: Added.
  • compositing/visibility/visibility-simple-canvas2d-layer.html: Added.
  • compositing/visibility/visibility-simple-video-layer-expected.png: Added.
  • compositing/visibility/visibility-simple-video-layer-expected.txt: Added.
  • compositing/visibility/visibility-simple-video-layer.html: Added.
  • compositing/visibility/visibility-simple-webgl-layer-expected.png: Added.
  • compositing/visibility/visibility-simple-webgl-layer-expected.txt: Added.
  • compositing/visibility/visibility-simple-webgl-layer.html: Added.
  • platform/chromium-mac-snowleopard/compositing/visibility/visibility-image-layers-expected.png: Removed.
  • platform/chromium-win/compositing/visibility/visibility-image-layers-expected.png: Removed.
  • platform/chromium/test_expectations.txt:
Location:
trunk
Files:
9 added
2 deleted
26 edited
1 moved

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r103987 r103990  
     12012-01-03  Shawn Singh  <shawnsingh@chromium.org>
     2
     3        [chromium] Push drawsContent and contentsVisible into accelerated compositor
     4        https://bugs.webkit.org/show_bug.cgi?id=71209
     5
     6        Reviewed by James Robinson.
     7
     8        * compositing/visibility/visibility-image-layers-expected.png:
     9        * compositing/visibility/visibility-image-layers-expected.txt: Renamed from LayoutTests/platform/mac/compositing/visibility/visibility-image-layers-expected.txt.
     10        * compositing/visibility/visibility-simple-canvas2d-layer-expected.png: Added.
     11        * compositing/visibility/visibility-simple-canvas2d-layer-expected.txt: Added.
     12        * compositing/visibility/visibility-simple-canvas2d-layer.html: Added.
     13        * compositing/visibility/visibility-simple-video-layer-expected.png: Added.
     14        * compositing/visibility/visibility-simple-video-layer-expected.txt: Added.
     15        * compositing/visibility/visibility-simple-video-layer.html: Added.
     16        * compositing/visibility/visibility-simple-webgl-layer-expected.png: Added.
     17        * compositing/visibility/visibility-simple-webgl-layer-expected.txt: Added.
     18        * compositing/visibility/visibility-simple-webgl-layer.html: Added.
     19        * platform/chromium-mac-snowleopard/compositing/visibility/visibility-image-layers-expected.png: Removed.
     20        * platform/chromium-win/compositing/visibility/visibility-image-layers-expected.png: Removed.
     21        * platform/chromium/test_expectations.txt:
     22
    1232012-01-03  Tony Chang  <tony@chromium.org>
    224
  • trunk/LayoutTests/platform/chromium/test_expectations.txt

    r103987 r103990  
    11481148// and then baselined if necessary.
    11491149// ----------------------------------------------------------------------------
     1150
     1151// These four expectations can be removed after verifying the correctness / rebaselining on all platforms.
     1152BUGWK71209 LINUX WIN : compositing/visibility/visibility-simple-webgl-layer.html = IMAGE
     1153BUGWK71209 LINUX WIN : compositing/visibility/visibility-simple-canvas2d-layer.html = IMAGE
     1154BUGWK71209 LINUX WIN : compositing/visibility/visibility-simple-video-layer.html = IMAGE
     1155BUGWK71209 LINUX WIN : compositing/visibility/visibility-image-layers.html = IMAGE
    11501156
    11511157// This test isn't hanging, it just takes 12-13 seconds to run.
     
    36623668BUGWK70988 MAC DEBUG SLOW : fast/frames/calculate-fixed.html = PASS
    36633669
    3664 BUGWK71209 LINUX MAC : compositing/visibility/visibility-image-layers.html = IMAGE
    3665 
    36663670BUGWK71211 GPU LINUX DEBUG : fast/canvas/shadow-offset-3.html = PASS CRASH
    36673671BUGWK71214 LEOPARD CPU-CG : css2.1/20110323/block-non-replaced-width-008.htm = FAIL
  • trunk/Source/WebCore/ChangeLog

    r103988 r103990  
     12012-01-03  Shawn Singh  <shawnsingh@chromium.org>
     2
     3        [chromium] Push drawsContent and contentsVisible into accelerated compositor
     4        https://bugs.webkit.org/show_bug.cgi?id=71209
     5
     6        Reviewed by James Robinson.
     7
     8        Tests: compositing/visibility/visibility-simple-canvas2d-layer.html
     9               compositing/visibility/visibility-simple-video-layer.html
     10               compositing/visibility/visibility-simple-webgl-layer.html
     11
     12        Rebaselined compositing/visibility/visibility-image-layers.html
     13
     14        The CSS visibility property was not being properly obeyed by many
     15        specialized layer types in the accelerated compositor. The root of
     16        the problem was that drawsContent and contentsVisible flags were
     17        not properly propagated into the compositor. This patch removes
     18        the drawsContent() callback, and instead makes sure that
     19        drawsContent and contentsVisible are "pushed" through the
     20        accelerated compositor.
     21
     22        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
     23        (WebCore::Canvas2DLayerChromium::drawsContent):
     24        * platform/graphics/chromium/ContentLayerChromium.cpp:
     25        * platform/graphics/chromium/ContentLayerChromium.h:
     26        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
     27        (WebCore::GraphicsLayerChromium::setDrawsContent):
     28        (WebCore::GraphicsLayerChromium::setContentsVisible):
     29        (WebCore::GraphicsLayerChromium::setContentsToImage):
     30        (WebCore::GraphicsLayerChromium::setContentsToCanvas):
     31        (WebCore::GraphicsLayerChromium::setContentsToMedia):
     32        (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
     33        (WebCore::GraphicsLayerChromium::setupContentsLayer):
     34        * platform/graphics/chromium/GraphicsLayerChromium.h:
     35        * platform/graphics/chromium/LayerChromium.cpp:
     36        (WebCore::LayerChromium::LayerChromium):
     37        (WebCore::LayerChromium::setIsDrawable):
     38        * platform/graphics/chromium/LayerChromium.h:
     39        (WebCore::LayerChromium::drawsContent):
     40        * platform/graphics/chromium/PluginLayerChromium.h:
     41        * platform/graphics/chromium/TiledLayerChromium.cpp:
     42        (WebCore::TiledLayerChromium::drawsContent):
     43        * platform/graphics/chromium/VideoLayerChromium.h:
     44        * platform/graphics/chromium/WebGLLayerChromium.cpp:
     45        (WebCore::WebGLLayerChromium::drawsContent):
     46        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
     47        (WebCore::CCLayerImpl::dumpLayerProperties):
     48
    1492012-01-03  Shawn Singh  <shawnsingh@chromium.org>
    250
  • trunk/Source/WebCore/platform/graphics/chromium/Canvas2DLayerChromium.cpp

    r103706 r103990  
    8484bool Canvas2DLayerChromium::drawsContent() const
    8585{
    86     return m_backTextureId && !m_size.isEmpty()
     86    return LayerChromium::drawsContent() && m_backTextureId && !m_size.isEmpty()
    8787        && m_context && (m_context->getExtensions()->getGraphicsResetStatusARB() == GraphicsContext3D::NO_ERROR);
    8888}
  • trunk/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.cpp

    r103290 r103990  
    123123}
    124124
    125 bool ContentLayerChromium::drawsContent() const
    126 {
    127     return m_delegate && m_delegate->drawsContent() && TiledLayerChromium::drawsContent();
    128 }
    129 
    130125void ContentLayerChromium::createTextureUpdater(const CCLayerTreeHost* host)
    131126{
  • trunk/Source/WebCore/platform/graphics/chromium/ContentLayerChromium.h

    r103129 r103990  
    5858private:
    5959    virtual void cleanupResources();
    60     virtual bool drawsContent() const;
    6160    virtual void createTextureUpdater(const CCLayerTreeHost*);
    6261    virtual LayerTextureUpdater* textureUpdater() const { return m_textureUpdater.get(); }
  • trunk/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.cpp

    r103293 r103990  
    219219void GraphicsLayerChromium::setDrawsContent(bool drawsContent)
    220220{
     221    // Note carefully this early-exit is only correct because we also properly initialize
     222    // LayerChromium::isDrawable() whenever m_contentsLayer is set to a new layer in setupContentsLayer().
    221223    if (drawsContent == m_drawsContent)
    222224        return;
    223225
    224226    GraphicsLayer::setDrawsContent(drawsContent);
    225     updateLayerDrawsContent();
     227    updateLayerIsDrawable();
     228}
     229
     230void GraphicsLayerChromium::setContentsVisible(bool contentsVisible)
     231{
     232    // Note carefully this early-exit is only correct because we also properly initialize
     233    // LayerChromium::isDrawable() whenever m_contentsLayer is set to a new layer in setupContentsLayer().
     234    if (contentsVisible == m_contentsVisible)
     235        return;
     236
     237    GraphicsLayer::setContentsVisible(contentsVisible);
     238    updateLayerIsDrawable();
    226239}
    227240
     
    317330            RefPtr<ImageLayerChromium> imageLayer = ImageLayerChromium::create(this);
    318331            setupContentsLayer(imageLayer.get());
    319             m_contentsLayer = imageLayer;
    320332            m_contentsLayerPurpose = ContentsLayerForImage;
    321333            childrenChanged = true;
     
    345357        if (m_contentsLayer.get() != platformLayer) {
    346358            setupContentsLayer(platformLayer);
    347             m_contentsLayer = platformLayer;
    348359            m_contentsLayerPurpose = ContentsLayerForCanvas;
    349360            childrenChanged = true;
     
    370381        if (!m_contentsLayer.get() || m_contentsLayerPurpose != ContentsLayerForVideo) {
    371382            setupContentsLayer(layer);
    372             m_contentsLayer = layer;
    373383            m_contentsLayerPurpose = ContentsLayerForVideo;
    374384            childrenChanged = true;
     
    569579}
    570580
    571 void GraphicsLayerChromium::updateLayerDrawsContent()
    572 {
     581void GraphicsLayerChromium::updateLayerIsDrawable()
     582{
     583    // For the rest of the accelerated compositor code, there is no reason to make a
     584    // distinction between drawsContent and contentsVisible. So, for m_layer, these two
     585    // flags are combined here. m_contentsLayer shouldn't receive the drawsContent flag
     586    // so it is only given contentsVisible.
     587
     588    m_layer->setIsDrawable(m_drawsContent && m_contentsVisible);
     589
     590    if (m_contentsLayer)
     591        m_contentsLayer->setIsDrawable(m_contentsVisible);
     592
    573593    if (m_drawsContent)
    574594        m_layer->setNeedsDisplay();
     
    627647        m_contentsLayer->setAnchorPoint(FloatPoint(0, 0));
    628648
     649        // It is necessary to update setIsDrawable as soon as we receive the new contentsLayer, for
     650        // the correctness of early exit conditions in setDrawsContent() and setContentsVisible().
     651        m_contentsLayer->setIsDrawable(m_contentsVisible);
     652
    629653        // Insert the content layer first. Video elements require this, because they have
    630654        // shadow content that must display in front of the video.
    631655        m_layer->insertChild(m_contentsLayer.get(), 0);
    632656
    633         updateContentsRect();
    634 
    635657        if (showDebugBorders()) {
    636658            m_contentsLayer->setDebugBorderColor(Color(0, 0, 128, 180));
     
    656678}
    657679
    658 bool GraphicsLayerChromium::drawsContent() const
    659 {
    660     return GraphicsLayer::drawsContent();
    661 }
    662 
    663680void GraphicsLayerChromium::paintContents(GraphicsContext& context, const IntRect& clip)
    664681{
  • trunk/Source/WebCore/platform/graphics/chromium/GraphicsLayerChromium.h

    r103293 r103990  
    6969    virtual void setMasksToBounds(bool);
    7070    virtual void setDrawsContent(bool);
     71    virtual void setContentsVisible(bool);
    7172    virtual void setMaskLayer(GraphicsLayer*);
    7273
     
    9899
    99100    // The following functions implement the CCLayerDelegate interface.
    100     virtual bool drawsContent() const;
    101101    virtual void paintContents(GraphicsContext&, const IntRect& clip);
    102102
     
    118118    void updateMasksToBounds();
    119119    void updateLayerPreserves3D();
    120     void updateLayerDrawsContent();
     120    void updateLayerIsDrawable();
    121121    void updateLayerBackgroundColor();
    122122
  • trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.cpp

    r103944 r103990  
    6666    , m_opacity(1.0)
    6767    , m_anchorPointZ(0)
     68    , m_isDrawable(false)
    6869    , m_masksToBounds(false)
    6970    , m_opaque(false)
     
    378379        return;
    379380    m_doubleSided = doubleSided;
     381    setNeedsCommit();
     382}
     383
     384void LayerChromium::setIsDrawable(bool isDrawable)
     385{
     386    if (m_isDrawable == isDrawable)
     387        return;
     388
     389    m_isDrawable = isDrawable;
    380390    setNeedsCommit();
    381391}
  • trunk/Source/WebCore/platform/graphics/chromium/LayerChromium.h

    r103944 r103990  
    6060public:
    6161    virtual ~CCLayerDelegate() { }
    62     virtual bool drawsContent() const = 0;
    6362    virtual void paintContents(GraphicsContext&, const IntRect& clip) = 0;
    6463};
     
    155154    void setDelegate(CCLayerDelegate* delegate) { m_delegate = delegate; }
    156155
     156    void setIsDrawable(bool);
     157
    157158    void setReplicaLayer(LayerChromium*);
    158159    LayerChromium* replicaLayer() const { return m_replicaLayer.get(); }
    159160
    160161    // These methods typically need to be overwritten by derived classes.
    161     virtual bool drawsContent() const { return false; }
     162    virtual bool drawsContent() const { return m_isDrawable; }
    162163    virtual void paintContentsIfDirty() { }
    163164    virtual void idlePaintContentsIfDirty() { }
     
    264265    float m_opacity;
    265266    float m_anchorPointZ;
     267    bool m_isDrawable;
    266268    bool m_masksToBounds;
    267269    bool m_opaque;
  • trunk/Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h

    r102250 r103990  
    3838public:
    3939    static PassRefPtr<PluginLayerChromium> create(CCLayerDelegate* = 0);
    40     virtual bool drawsContent() const { return true; }
    4140    virtual void updateCompositorResources(GraphicsContext3D*, CCTextureUpdater&);
    4241
  • trunk/Source/WebCore/platform/graphics/chromium/TiledLayerChromium.cpp

    r103972 r103990  
    151151bool TiledLayerChromium::drawsContent() const
    152152{
    153     if (!m_delegate)
     153    if (!LayerChromium::drawsContent() || !m_delegate)
    154154        return false;
    155155
  • trunk/Source/WebCore/platform/graphics/chromium/VideoLayerChromium.h

    r103370 r103990  
    5252    virtual PassRefPtr<CCLayerImpl> createCCLayerImpl();
    5353
    54     virtual bool drawsContent() const { return true; }
    55 
    5654private:
    5755    VideoLayerChromium(CCLayerDelegate*, VideoFrameProvider*);
  • trunk/Source/WebCore/platform/graphics/chromium/WebGLLayerChromium.cpp

    r103264 r103990  
    6767bool WebGLLayerChromium::drawsContent() const
    6868{
    69     return (context() && context()->getExtensions()->getGraphicsResetStatusARB() == GraphicsContext3D::NO_ERROR);
     69    return LayerChromium::drawsContent() && context() && (context()->getExtensions()->getGraphicsResetStatusARB() == GraphicsContext3D::NO_ERROR);
    7070}
    7171
  • trunk/Source/WebCore/platform/graphics/chromium/cc/CCLayerImpl.cpp

    r102838 r103990  
    189189{
    190190    writeIndent(ts, indent);
     191    ts << "layer ID: " << m_layerId << "\n";
     192
     193    writeIndent(ts, indent);
    191194    ts << "bounds: " << bounds().width() << ", " << bounds().height() << "\n";
    192195
     
    202205    ts << m_drawTransform.m31() << ", " << m_drawTransform.m32() << ", " << m_drawTransform.m33() << ", " << m_drawTransform.m34() << "  //  ";
    203206    ts << m_drawTransform.m41() << ", " << m_drawTransform.m42() << ", " << m_drawTransform.m43() << ", " << m_drawTransform.m44() << "\n";
     207
     208    writeIndent(ts, indent);
     209    ts << "drawsContent: " << (m_drawsContent ? "yes" : "no") << "\n";
    204210}
    205211
  • trunk/Source/WebKit/chromium/ChangeLog

    r103988 r103990  
     12012-01-03  Shawn Singh  <shawnsingh@chromium.org>
     2
     3        [chromium] Push drawsContent and contentsVisible into accelerated compositor
     4        https://bugs.webkit.org/show_bug.cgi?id=71209
     5
     6        Reviewed by James Robinson.
     7
     8        * src/WebContentLayerImpl.cpp:
     9        (WebKit::WebContentLayerImpl::WebContentLayerImpl):
     10        (WebKit::WebContentLayerImpl::setDrawsContent):
     11        * src/WebContentLayerImpl.h:
     12        * src/WebExternalTextureLayerImpl.cpp:
     13        (WebKit::WebExternalTextureLayerImpl::drawsContent):
     14        * src/WebLayerImpl.cpp:
     15        (WebKit::WebLayerImpl::WebLayerImpl):
     16        * src/WebLayerImpl.h:
     17        * tests/CCLayerTreeHostTest.cpp:
     18        (WTF::ContentLayerChromiumWithUpdateTracking::ContentLayerChromiumWithUpdateTracking):
     19        * tests/Canvas2DLayerChromiumTest.cpp:
     20        * tests/LayerChromiumTest.cpp:
     21        * tests/TiledLayerChromiumTest.cpp:
     22        (WTF::FakeTiledLayerChromium::FakeTiledLayerChromium):
     23
    1242012-01-03  Shawn Singh  <shawnsingh@chromium.org>
    225
  • trunk/Source/WebKit/chromium/src/WebContentLayerImpl.cpp

    r103293 r103990  
    4747    : ContentLayerChromium(this)
    4848    , m_contentClient(contentClient)
    49     , m_drawsContent(true)
    5049{
     50    setIsDrawable(true);
    5151}
    5252
     
    5858void WebContentLayerImpl::setDrawsContent(bool drawsContent)
    5959{
    60     m_drawsContent = drawsContent;
    61     setNeedsCommit();
    62 }
    63 
    64 bool WebContentLayerImpl::drawsContent() const
    65 {
    66     return m_drawsContent;
     60    setIsDrawable(drawsContent);
    6761}
    6862
  • trunk/Source/WebKit/chromium/src/WebContentLayerImpl.h

    r103293 r103990  
    3838
    3939    void setDrawsContent(bool);
    40     virtual bool drawsContent() const;
    4140
    4241protected:
  • trunk/Source/WebKit/chromium/src/WebExternalTextureLayerImpl.cpp

    r103293 r103990  
    5252bool WebExternalTextureLayerImpl::drawsContent() const
    5353{
    54     return !!textureId();
     54    return !!textureId() && LayerChromium::drawsContent();
    5555}
    5656
  • trunk/Source/WebKit/chromium/src/WebLayerImpl.cpp

    r103293 r103990  
    3939    : LayerChromium(this)
    4040{
     41    // Make sure that this layer does not draw content. This way we don't have to override
     42    // the base class implementation of drawsContent().
     43    ASSERT(!drawsContent());
    4144}
    4245
     
    4649}
    4750
    48 bool WebLayerImpl::drawsContent() const
    49 {
    50     return false;
    51 }
    52 
    5351void WebLayerImpl::paintContents(GraphicsContext&, const IntRect& clip)
    5452{
  • trunk/Source/WebKit/chromium/src/WebLayerImpl.h

    r103293 r103990  
    3939    WebLayerImpl();
    4040    virtual ~WebLayerImpl();
    41     virtual bool drawsContent() const;
    4241    virtual void paintContents(WebCore::GraphicsContext&, const WebCore::IntRect& clip);
    4342};
  • trunk/Source/WebKit/chromium/tests/CCLayerTreeHostTest.cpp

    r103293 r103990  
    920920    }
    921921
    922     virtual bool drawsContent() const { return true; }
    923922    virtual bool preserves3D() { return false; }
    924923
     
    964963    {
    965964        setBounds(IntSize(10, 10));
     965        setIsDrawable(true);
    966966    }
    967967
  • trunk/Source/WebKit/chromium/tests/Canvas2DLayerChromiumTest.cpp

    r103293 r103990  
    124124
    125125    RefPtr<Canvas2DLayerChromium> canvas = Canvas2DLayerChromium::create(mainContext.get(), size);
     126    canvas->setIsDrawable(true);
    126127    setTextureManager(canvas.get(), textureManager.get());
    127128    canvas->setBounds(IntSize(600, 300));
  • trunk/Source/WebKit/chromium/tests/LayerChromiumTest.cpp

    r103293 r103990  
    437437}
    438438
    439 // FIXME: need to add a test for getDescendantDrawsContent after resolving
    440 //        some issues with LayerChromium::descendantDrawsContent().
    441 //        see discussion on issue 67750
    442 
    443439TEST_F(LayerChromiumTest, checkSetNeedsDisplayCausesCorrectBehavior)
    444440{
  • trunk/Source/WebKit/chromium/tests/TiledLayerChromiumTest.cpp

    r103944 r103990  
    8585        setTextureFormat(GraphicsContext3D::RGBA);
    8686        setBorderTexelOption(CCLayerTilingData::NoBorderTexels);
     87        setIsDrawable(true); // So that we don't get false positives if any of these tests expect to return false from drawsContent() for other reasons.
    8788    }
    8889    virtual ~FakeTiledLayerChromium() { }
Note: See TracChangeset for help on using the changeset viewer.