示例#1
0
void ImageElement::setImageIfNecessary(RenderObject* renderObject, ImageLoader* imageLoader)
{
    if (renderObject && renderObject->isImage() && !imageLoader->hasPendingBeforeLoadEvent()) {
        RenderImage* renderImage = toRenderImage(renderObject);
        RenderImageResource* renderImageResource = renderImage->imageResource();
        if (renderImageResource->hasImage())
            return;
        renderImageResource->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 (!imageLoader->image() && !renderImageResource->cachedImage())
            renderImage->setImageSizeForAltText();
    }
}
示例#2
0
void HTMLImageElement::attach()
{
    HTMLElement::attach();

    if (renderer() && renderer()->isImage() && !m_imageLoader.hasPendingBeforeLoadEvent()) {
        RenderImage* renderImage = toRenderImage(renderer());
        RenderImageResource* renderImageResource = renderImage->imageResource();
        if (renderImageResource->hasImage())
            return;
        renderImageResource->setCachedImage(m_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() && !renderImageResource->cachedImage())
            renderImage->setImageSizeForAltText();
    }
}
示例#3
0
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());

    }
}
示例#4
0
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();
}
示例#5
0
void ImageInputType::attach()
{
    BaseButtonInputType::attach();

    if (!m_imageLoader)
        m_imageLoader = adoptPtr(new HTMLImageLoader(element()));
    m_imageLoader->updateFromElement();

    RenderImage* renderer = toRenderImage(element()->renderer());
    if (!renderer)
        return;

    if (m_imageLoader->hasPendingBeforeLoadEvent())
        return;

    RenderImageResource* imageResource = renderer->imageResource();
    imageResource->setCachedImage(m_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())
        renderer->setImageSizeForAltText();
}