X-Git-Url: https://git.webkit.org/?p=WebKit-https.git;a=blobdiff_plain;f=Source%2FWebCore%2Frendering%2FRenderImageResourceStyleImage.cpp;h=4db1357d75e2c484147127cee0c6ca305e75fc0b;hp=52f6286938a4e8dea7a470d18e35392480b1d281;hb=c8058f0ae0b57496f550902278ccfe63a0a7e6cc;hpb=a66b4c8c610fb960f7bb0eebc8eef8df9c215635 diff --git a/Source/WebCore/rendering/RenderImageResourceStyleImage.cpp b/Source/WebCore/rendering/RenderImageResourceStyleImage.cpp index 52f6286938a4..4db1357d75e2 100644 --- a/Source/WebCore/rendering/RenderImageResourceStyleImage.cpp +++ b/Source/WebCore/rendering/RenderImageResourceStyleImage.cpp @@ -39,28 +39,17 @@ RenderImageResourceStyleImage::RenderImageResourceStyleImage(StyleImage& styleIm { } -RenderImageResourceStyleImage::~RenderImageResourceStyleImage() +void RenderImageResourceStyleImage::initialize(RenderElement& renderer) { -} - -void RenderImageResourceStyleImage::initialize(RenderElement* renderer) -{ - RenderImageResource::initialize(renderer); - - if (m_styleImage->isCachedImage()) - m_cachedImage = m_styleImage.get().cachedImage(); - - m_styleImage->addClient(m_renderer); + RenderImageResource::initialize(renderer, m_styleImage->isCachedImage() ? m_styleImage.get().cachedImage() : nullptr); + m_styleImage->addClient(this->renderer()); } void RenderImageResourceStyleImage::shutdown() { - ASSERT(m_renderer); - image()->stopAnimation(); - m_styleImage->removeClient(m_renderer); - if (!m_styleImage->isCachedImage() && m_cachedImage) - m_cachedImage->removeClient(*m_renderer); - m_cachedImage = nullptr; + ASSERT(renderer()); + RenderImageResource::shutdown(); + m_styleImage->removeClient(renderer()); } RefPtr RenderImageResourceStyleImage::image(const IntSize& size) const @@ -68,15 +57,15 @@ RefPtr RenderImageResourceStyleImage::image(const IntSize& size) const // Generated content may trigger calls to image() while we're still pending, don't assert but gracefully exit. if (m_styleImage->isPending()) return &Image::nullImage(); - if (auto image = m_styleImage->image(m_renderer, size)) + if (auto image = m_styleImage->image(renderer(), size)) return image; return &Image::nullImage(); } void RenderImageResourceStyleImage::setContainerSizeForRenderer(const IntSize& size) { - ASSERT(m_renderer); - m_styleImage->setContainerSizeForRenderer(m_renderer, size, m_renderer->style().effectiveZoom()); + ASSERT(renderer()); + m_styleImage->setContainerSizeForRenderer(renderer(), size, renderer()->style().effectiveZoom()); } } // namespace WebCore