void PasswordGeneratorButtonElement::updateImage() { if (!renderer() || !renderer()->isImage()) return; RenderImageResource* resource = toRenderImage(renderer())->imageResource(); ImageResource* image = m_isInHoverState ? imageForHoverState() : imageForNormalState(); ASSERT(image); resource->setImageResource(image); }
void ImageLoader::updateRenderer() { RenderImageResource* imageResource = renderImageResource(); if (!imageResource) return; // Only update the renderer if it doesn't have an image or if what we have // is a complete image. This prevents flickering in the case where a dynamic // change is happening between two images. ImageResource* cachedImage = imageResource->cachedImage(); if (m_image != cachedImage && (m_imageComplete || !cachedImage)) imageResource->setImageResource(m_image.get()); }
void HTMLImageElement::attach(const AttachContext& context) { HTMLElement::attach(context); if (renderer() && renderer()->isImage()) { RenderImage* renderImage = toRenderImage(renderer()); RenderImageResource* renderImageResource = renderImage->imageResource(); if (renderImageResource->hasImage()) return; // If we have no image at all because we have no src attribute, set // image height and width for the alt text instead. if (!imageLoader().image() && !renderImageResource->cachedImage()) renderImage->setImageSizeForAltText(); else renderImageResource->setImageResource(imageLoader().image()); } }
void ImageInputType::startResourceLoading() { BaseButtonInputType::startResourceLoading(); HTMLImageLoader* imageLoader = element().imageLoader(); imageLoader->updateFromElement(); RenderImage* renderer = toRenderImage(element().renderer()); if (!renderer) return; RenderImageResource* imageResource = renderer->imageResource(); imageResource->setImageResource(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 (!imageLoader->image() && !imageResource->cachedImage()) renderer->setImageSizeForAltText(); }