2010-02-01 Eric Carlson <eric.carlson@apple.com>

        Reviewed by Dan Bernstein.

        https://bugs.webkit.org/show_bug.cgi?id=34448
        <rdar://problem/7598130>

        RenderVideo::intrinsicSizeChanged infinite recursion

        * rendering/RenderImage.h:
        (WebCore::RenderImage::intrinsicSizeChanged): Make protected instead of private so it can
            be called by RenderVideo.
        * rendering/RenderVideo.cpp:
        (WebCore::RenderVideo::intrinsicSizeChanged): Call RenderMedia::intrinsicSizeChanged, not
            RenderVideo::intrinsicSizeChanged.
        (WebCore::RenderVideo::imageChanged): Call RenderMedia::imageChanged instead of 
            RenderImage::imageChanged.



git-svn-id: svn://svn.chromium.org/blink/trunk@54151 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 01ac50fb
2010-02-01 Eric Carlson <eric.carlson@apple.com>
Reviewed by Dan Bernstein.
https://bugs.webkit.org/show_bug.cgi?id=34448
<rdar://problem/7598130>
RenderVideo::intrinsicSizeChanged infinite recursion
* rendering/RenderImage.h:
(WebCore::RenderImage::intrinsicSizeChanged): Make protected instead of private so it can
be called by RenderVideo.
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::intrinsicSizeChanged): Call RenderMedia::intrinsicSizeChanged, not
RenderVideo::intrinsicSizeChanged.
(WebCore::RenderVideo::imageChanged): Call RenderMedia::imageChanged instead of
RenderImage::imageChanged.
2010-02-01 Nate Chapin <japhet@chromium.org>
Reviewed by Dimitri Glazkov.
......
......@@ -64,6 +64,8 @@ protected:
bool isWidthSpecified() const;
bool isHeightSpecified() const;
virtual void intrinsicSizeChanged() { imageChanged(imagePtr()); }
private:
virtual const char* renderName() const { return "RenderImage"; }
......@@ -89,8 +91,6 @@ private:
virtual IntSize imageSize(float multiplier) const { return m_cachedImage ? m_cachedImage->imageSize(multiplier) : IntSize(); }
virtual WrappedImagePtr imagePtr() const { return m_cachedImage.get(); }
virtual void intrinsicSizeChanged() { imageChanged(imagePtr()); }
int calcAspectRatioWidth() const;
int calcAspectRatioHeight() const;
......
......@@ -85,7 +85,7 @@ RenderVideo::~RenderVideo()
void RenderVideo::intrinsicSizeChanged()
{
if (videoElement()->shouldDisplayPosterImage())
RenderVideo::intrinsicSizeChanged();
RenderMedia::intrinsicSizeChanged();
videoSizeChanged();
}
......@@ -104,7 +104,7 @@ void RenderVideo::videoSizeChanged()
void RenderVideo::imageChanged(WrappedImagePtr newImage, const IntRect* rect)
{
RenderImage::imageChanged(newImage, rect);
RenderMedia::imageChanged(newImage, rect);
// Cache the image intrinsic size so we can continue to use it to draw the image correctly
// even after we know the video intrisic size but aren't able to draw video frames yet
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment