Commit 5a1b2c86 authored by rob.buis@samsung.com's avatar rob.buis@samsung.com

Rename HTMLInputElement::imageLoader() to ensureImageLoader()

Make clear that imageLoader is potentially constructing the
ImageLoader by renaming to ensureImageLoader. Also rename
hasImageLoader to imageLoader and make it return a pointer,
so it can be used both to check if the ImageLoader is created
as well as use it if not null.

http://trac.webkit.org/changeset/175764

Review URL: https://codereview.chromium.org/715633005

git-svn-id: svn://svn.chromium.org/blink/trunk@185143 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent e6c74c09
...@@ -149,11 +149,11 @@ void HTMLInputElement::trace(Visitor* visitor) ...@@ -149,11 +149,11 @@ void HTMLInputElement::trace(Visitor* visitor)
HTMLTextFormControlElement::trace(visitor); HTMLTextFormControlElement::trace(visitor);
} }
HTMLImageLoader* HTMLInputElement::imageLoader() HTMLImageLoader& HTMLInputElement::ensureImageLoader()
{ {
if (!m_imageLoader) if (!m_imageLoader)
m_imageLoader = HTMLImageLoader::create(this); m_imageLoader = HTMLImageLoader::create(this);
return m_imageLoader.get(); return *m_imageLoader;
} }
void HTMLInputElement::didAddUserAgentShadowRoot(ShadowRoot&) void HTMLInputElement::didAddUserAgentShadowRoot(ShadowRoot&)
...@@ -1482,7 +1482,7 @@ void HTMLInputElement::removedFrom(ContainerNode* insertionPoint) ...@@ -1482,7 +1482,7 @@ void HTMLInputElement::removedFrom(ContainerNode* insertionPoint)
void HTMLInputElement::didMoveToNewDocument(Document& oldDocument) void HTMLInputElement::didMoveToNewDocument(Document& oldDocument)
{ {
if (hasImageLoader()) if (imageLoader())
imageLoader()->elementDidMoveToNewDocument(); imageLoader()->elementDidMoveToNewDocument();
// FIXME: Remove type check. // FIXME: Remove type check.
......
...@@ -240,8 +240,8 @@ public: ...@@ -240,8 +240,8 @@ public:
virtual void setRangeText(const String& replacement, ExceptionState&) override final; virtual void setRangeText(const String& replacement, ExceptionState&) override final;
virtual void setRangeText(const String& replacement, unsigned start, unsigned end, const String& selectionMode, ExceptionState&) override final; virtual void setRangeText(const String& replacement, unsigned start, unsigned end, const String& selectionMode, ExceptionState&) override final;
bool hasImageLoader() const { return m_imageLoader; } HTMLImageLoader* imageLoader() const { return m_imageLoader.get(); }
HTMLImageLoader* imageLoader(); HTMLImageLoader& ensureImageLoader();
bool setupDateTimeChooserParameters(DateTimeChooserParameters&); bool setupDateTimeChooserParameters(DateTimeChooserParameters&);
......
...@@ -136,26 +136,26 @@ void ImageInputType::srcAttributeChanged() ...@@ -136,26 +136,26 @@ void ImageInputType::srcAttributeChanged()
{ {
if (!element().renderer()) if (!element().renderer())
return; return;
element().imageLoader()->updateFromElement(ImageLoader::UpdateIgnorePreviousError); element().ensureImageLoader().updateFromElement(ImageLoader::UpdateIgnorePreviousError);
} }
void ImageInputType::startResourceLoading() void ImageInputType::startResourceLoading()
{ {
BaseButtonInputType::startResourceLoading(); BaseButtonInputType::startResourceLoading();
HTMLImageLoader* imageLoader = element().imageLoader(); HTMLImageLoader& imageLoader = element().ensureImageLoader();
imageLoader->updateFromElement(); imageLoader.updateFromElement();
RenderImage* renderer = toRenderImage(element().renderer()); RenderImage* renderer = toRenderImage(element().renderer());
if (!renderer) if (!renderer)
return; return;
RenderImageResource* imageResource = renderer->imageResource(); RenderImageResource* imageResource = renderer->imageResource();
imageResource->setImageResource(imageLoader->image()); imageResource->setImageResource(imageLoader.image());
// If we have no image at all because we have no src attribute, set // If we have no image at all because we have no src attribute, set
// image height and width for the alt text instead. // image height and width for the alt text instead.
if (!imageLoader->image() && !imageResource->cachedImage()) if (!imageLoader.image() && !imageResource->cachedImage())
renderer->setImageSizeForAltText(); renderer->setImageSizeForAltText();
} }
...@@ -190,12 +190,10 @@ unsigned ImageInputType::height() const ...@@ -190,12 +190,10 @@ unsigned ImageInputType::height() const
return height; return height;
// If the image is available, use its height. // If the image is available, use its height.
if (element->hasImageLoader()) {
HTMLImageLoader* imageLoader = element->imageLoader(); HTMLImageLoader* imageLoader = element->imageLoader();
if (imageLoader->image()) if (imageLoader && imageLoader->image())
return imageLoader->image()->imageSizeForRenderer(element->renderer(), 1).height(); return imageLoader->image()->imageSizeForRenderer(element->renderer(), 1).height();
} }
}
element->document().updateLayout(); element->document().updateLayout();
...@@ -214,12 +212,10 @@ unsigned ImageInputType::width() const ...@@ -214,12 +212,10 @@ unsigned ImageInputType::width() const
return width; return width;
// If the image is available, use its width. // If the image is available, use its width.
if (element->hasImageLoader()) {
HTMLImageLoader* imageLoader = element->imageLoader(); HTMLImageLoader* imageLoader = element->imageLoader();
if (imageLoader->image()) if (imageLoader && imageLoader->image())
return imageLoader->image()->imageSizeForRenderer(element->renderer(), 1).width(); return imageLoader->image()->imageSizeForRenderer(element->renderer(), 1).width();
} }
}
element->document().updateLayout(); element->document().updateLayout();
......
...@@ -230,7 +230,7 @@ void PageSerializer::serializeFrame(LocalFrame* frame) ...@@ -230,7 +230,7 @@ void PageSerializer::serializeFrame(LocalFrame* frame)
addImageToResources(cachedImage, imageElement.renderer(), url); addImageToResources(cachedImage, imageElement.renderer(), url);
} else if (isHTMLInputElement(element)) { } else if (isHTMLInputElement(element)) {
HTMLInputElement& inputElement = toHTMLInputElement(element); HTMLInputElement& inputElement = toHTMLInputElement(element);
if (inputElement.type() == InputTypeNames::image && inputElement.hasImageLoader()) { if (inputElement.type() == InputTypeNames::image && inputElement.imageLoader()) {
KURL url = inputElement.src(); KURL url = inputElement.src();
ImageResource* cachedImage = inputElement.imageLoader()->image(); ImageResource* cachedImage = inputElement.imageLoader()->image();
addImageToResources(cachedImage, inputElement.renderer(), url); addImageToResources(cachedImage, inputElement.renderer(), url);
......
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