| Differences between
and this patch
- WebCore/ChangeLog +12 lines
Lines 1-3 WebCore/ChangeLog_sec1
1
2011-03-14  Alok priyadarshi  <alokp@chromium.org>
2
3
        Reviewed by NOBODY (OOPS!).
4
5
        Valgrind error due to uninitialized PluginLayerChromium::m_textureId
6
        https://bugs.webkit.org/show_bug.cgi?id=56390
7
8
        * platform/graphics/chromium/PluginLayerChromium.cpp:
9
        (WebCore::PluginLayerChromium::PluginLayerChromium):
10
        * platform/graphics/chromium/PluginLayerChromium.h:
11
        (WebCore::PluginLayerChromium::textureId):
12
1
2011-03-15  Beth Dakin  <bdakin@apple.com>
13
2011-03-15  Beth Dakin  <bdakin@apple.com>
2
14
3
        Reviewed by Simon Fraser.
15
        Reviewed by Simon Fraser.
- WebCore/platform/graphics/chromium/PluginLayerChromium.cpp +1 lines
Lines 43-48 PassRefPtr<PluginLayerChromium> PluginLa WebCore/platform/graphics/chromium/PluginLayerChromium.cpp_sec1
43
43
44
PluginLayerChromium::PluginLayerChromium(GraphicsLayerChromium* owner)
44
PluginLayerChromium::PluginLayerChromium(GraphicsLayerChromium* owner)
45
    : LayerChromium(owner)
45
    : LayerChromium(owner)
46
    , m_textureId(0)
46
{
47
{
47
}
48
}
48
49
- WebCore/platform/graphics/chromium/PluginLayerChromium.h -1 / +1 lines
Lines 41-48 public: WebCore/platform/graphics/chromium/PluginLayerChromium.h_sec1
41
    virtual void updateContentsIfDirty();
41
    virtual void updateContentsIfDirty();
42
    virtual void draw();
42
    virtual void draw();
43
    
43
    
44
    unsigned textureId() const { return m_textureId; }
44
    void setTextureId(unsigned textureId);
45
    void setTextureId(unsigned textureId);
45
    unsigned getTextureId() const { return m_textureId; }
46
46
47
    typedef ProgramBinding<VertexShaderPosTex, FragmentShaderRGBATexFlipAlpha> Program;
47
    typedef ProgramBinding<VertexShaderPosTex, FragmentShaderRGBATexFlipAlpha> Program;
48
48
- WebKit/chromium/ChangeLog +12 lines
Lines 1-3 WebKit/chromium/ChangeLog_sec1
1
2011-03-14  Alok priyadarshi  <alokp@chromium.org>
2
3
        Reviewed by NOBODY (OOPS!).
4
5
        Valgrind error due to uninitialized PluginLayerChromium::m_textureId
6
        https://bugs.webkit.org/show_bug.cgi?id=56390
7
8
        * public/WebPlugin.h:
9
        * src/WebPluginContainerImpl.cpp:
10
        (WebKit::WebPluginContainerImpl::setBackingTextureId):
11
        (WebKit::WebPluginContainerImpl::platformLayer):
12
1
2011-03-15  Tony Chang  <tony@chromium.org>
13
2011-03-15  Tony Chang  <tony@chromium.org>
2
14
3
        Revert r81147 and r81149, broke the chromium win build.
15
        Revert r81147 and r81149, broke the chromium win build.
- WebKit/chromium/public/WebPlugin.h -4 lines
Lines 64-73 public: WebKit/chromium/public/WebPlugin.h_sec1
64
    virtual void updateGeometry(
64
    virtual void updateGeometry(
65
        const WebRect& frameRect, const WebRect& clipRect,
65
        const WebRect& frameRect, const WebRect& clipRect,
66
        const WebVector<WebRect>& cutOutsRects, bool isVisible) = 0;
66
        const WebVector<WebRect>& cutOutsRects, bool isVisible) = 0;
67
    
68
    // If the plugin instance is backed by an OpenGL texture, return its ID in the
69
    // compositors namespace. Otherwise return 0. Returns 0 by default.
70
    virtual unsigned getBackingTextureId() { return 0; }
71
67
72
    virtual void updateFocus(bool) = 0;
68
    virtual void updateFocus(bool) = 0;
73
    virtual void updateVisibility(bool) = 0;
69
    virtual void updateVisibility(bool) = 0;
- WebKit/chromium/src/WebPluginContainerImpl.cpp -10 / +2 lines
Lines 310-316 void WebPluginContainerImpl::reportGeome WebKit/chromium/src/WebPluginContainerImpl.cpp_sec1
310
void WebPluginContainerImpl::setBackingTextureId(unsigned id)
310
void WebPluginContainerImpl::setBackingTextureId(unsigned id)
311
{
311
{
312
#if USE(ACCELERATED_COMPOSITING)
312
#if USE(ACCELERATED_COMPOSITING)
313
    unsigned currId = m_platformLayer->getTextureId();
313
    unsigned currId = m_platformLayer->textureId();
314
    if (currId == id)
314
    if (currId == id)
315
        return;
315
        return;
316
316
Lines 443-457 void WebPluginContainerImpl::willDestroy WebKit/chromium/src/WebPluginContainerImpl.cpp_sec2
443
#if USE(ACCELERATED_COMPOSITING)
443
#if USE(ACCELERATED_COMPOSITING)
444
WebCore::LayerChromium* WebPluginContainerImpl::platformLayer() const
444
WebCore::LayerChromium* WebPluginContainerImpl::platformLayer() const
445
{
445
{
446
    // FIXME: In the event of a context lost, the texture needs to be recreated on the compositor's
446
    return m_platformLayer->textureId() ? m_platformLayer.get() : 0;
447
    // context and rebound to the platform layer here.
448
    unsigned backingTextureId = m_webPlugin->getBackingTextureId();
449
    if (!backingTextureId)
450
        return 0;
451
452
    m_platformLayer->setTextureId(backingTextureId);
453
454
    return m_platformLayer.get();
455
}
447
}
456
#endif
448
#endif
457
449

Return to Bug 56390