| Index: Source/WebCore/html/ImageInputType.cpp
|
| ===================================================================
|
| --- Source/WebCore/html/ImageInputType.cpp (revision 146140)
|
| +++ Source/WebCore/html/ImageInputType.cpp (working copy)
|
| @@ -119,42 +119,32 @@
|
| {
|
| if (!element()->renderer())
|
| return;
|
| - if (!m_imageLoader)
|
| - m_imageLoader = adoptPtr(new HTMLImageLoader(element()));
|
| - m_imageLoader->updateFromElementIgnoringPreviousError();
|
| + element()->imageLoader()->updateFromElementIgnoringPreviousError();
|
| }
|
|
|
| void ImageInputType::attach()
|
| {
|
| BaseButtonInputType::attach();
|
|
|
| - if (!m_imageLoader)
|
| - m_imageLoader = adoptPtr(new HTMLImageLoader(element()));
|
| - m_imageLoader->updateFromElement();
|
| + HTMLImageLoader* imageLoader = element()->imageLoader();
|
| + imageLoader->updateFromElement();
|
|
|
| RenderImage* renderer = toRenderImage(element()->renderer());
|
| if (!renderer)
|
| return;
|
|
|
| - if (m_imageLoader->hasPendingBeforeLoadEvent())
|
| + if (imageLoader->hasPendingBeforeLoadEvent())
|
| return;
|
|
|
| RenderImageResource* imageResource = renderer->imageResource();
|
| - imageResource->setCachedImage(m_imageLoader->image());
|
| + imageResource->setCachedImage(imageLoader->image());
|
|
|
| // If we have no image at all because we have no src attribute, set
|
| // image height and width for the alt text instead.
|
| - if (!m_imageLoader->image() && !imageResource->cachedImage())
|
| + if (!imageLoader->image() && !imageResource->cachedImage())
|
| renderer->setImageSizeForAltText();
|
| }
|
|
|
| -void ImageInputType::willMoveToNewOwnerDocument()
|
| -{
|
| - BaseButtonInputType::willMoveToNewOwnerDocument();
|
| - if (m_imageLoader)
|
| - m_imageLoader->elementDidMoveToNewDocument();
|
| -}
|
| -
|
| bool ImageInputType::shouldRespectAlignAttribute()
|
| {
|
| return true;
|
| @@ -191,8 +181,11 @@
|
| return height;
|
|
|
| // If the image is available, use its height.
|
| - if (m_imageLoader && m_imageLoader->image())
|
| - return m_imageLoader->image()->imageSizeForRenderer(element->renderer(), 1).height();
|
| + if (element->hasImageLoader()) {
|
| + HTMLImageLoader* imageLoader = element->imageLoader();
|
| + if (imageLoader->image())
|
| + return imageLoader->image()->imageSizeForRenderer(element->renderer(), 1).height();
|
| + }
|
| }
|
|
|
| element->document()->updateLayout();
|
| @@ -212,8 +205,11 @@
|
| return width;
|
|
|
| // If the image is available, use its width.
|
| - if (m_imageLoader && m_imageLoader->image())
|
| - return m_imageLoader->image()->imageSizeForRenderer(element->renderer(), 1).width();
|
| + if (element->hasImageLoader()) {
|
| + HTMLImageLoader* imageLoader = element->imageLoader();
|
| + if (imageLoader->image())
|
| + return imageLoader->image()->imageSizeForRenderer(element->renderer(), 1).width();
|
| + }
|
| }
|
|
|
| element->document()->updateLayout();
|
|
|