Changeset 138724 in webkit


Ignore:
Timestamp:
Jan 3, 2013 11:52:26 AM (11 years ago)
Author:
adamk@chromium.org
Message:

Clear failed image loads when an <img> is adopted into a different document
https://bugs.webkit.org/show_bug.cgi?id=104409

Reviewed by Nate Chapin.

Source/WebCore:

This avoids an assertion failure setImageWithoutConsideringPendingLoadEvent().

Test: loader/image-loader-adoptNode-assert.html

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updateFromElement): Use new helper.
(WebCore::ImageLoader::updateFromElementIgnoringPreviousError): ditto
(WebCore::ImageLoader::elementDidMoveToNewDocument): ditto
(WebCore::ImageLoader::clearFailedLoadURL): Added a helper method to self-document the code.
(WebCore):

  • loader/ImageLoader.h:

(ImageLoader):

LayoutTests:

  • loader/image-loader-adoptNode-assert-expected.txt: Added.
  • loader/image-loader-adoptNode-assert.html: Added.
Location:
trunk
Files:
2 added
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r138722 r138724  
     12013-01-03  Adam Klein  <adamk@chromium.org>
     2
     3        Clear failed image loads when an <img> is adopted into a different document
     4        https://bugs.webkit.org/show_bug.cgi?id=104409
     5
     6        Reviewed by Nate Chapin.
     7
     8        * loader/image-loader-adoptNode-assert-expected.txt: Added.
     9        * loader/image-loader-adoptNode-assert.html: Added.
     10
    1112013-01-03  Vincent Scheib  <scheib@chromium.org>
    212
  • trunk/Source/WebCore/ChangeLog

    r138722 r138724  
     12013-01-03  Adam Klein  <adamk@chromium.org>
     2
     3        Clear failed image loads when an <img> is adopted into a different document
     4        https://bugs.webkit.org/show_bug.cgi?id=104409
     5
     6        Reviewed by Nate Chapin.
     7
     8        This avoids an assertion failure setImageWithoutConsideringPendingLoadEvent().
     9
     10        Test: loader/image-loader-adoptNode-assert.html
     11
     12        * loader/ImageLoader.cpp:
     13        (WebCore::ImageLoader::updateFromElement): Use new helper.
     14        (WebCore::ImageLoader::updateFromElementIgnoringPreviousError): ditto
     15        (WebCore::ImageLoader::elementDidMoveToNewDocument): ditto
     16        (WebCore::ImageLoader::clearFailedLoadURL): Added a helper method to self-document the code.
     17        (WebCore):
     18        * loader/ImageLoader.h:
     19        (ImageLoader):
     20
    1212013-01-03  Vincent Scheib  <scheib@chromium.org>
    222
  • trunk/Source/WebCore/loader/ImageLoader.cpp

    r137615 r138724  
    215215            errorEventSender().dispatchEventSoon(this);
    216216        } else
    217             m_failedLoadURL = AtomicString();
     217            clearFailedLoadURL();
    218218    } else if (!attr.isNull()) {
    219219        // Fire an error event if the url is empty.
     
    264264void ImageLoader::updateFromElementIgnoringPreviousError()
    265265{
    266     // Clear previous error.
    267     m_failedLoadURL = AtomicString();
     266    clearFailedLoadURL();
    268267    updateFromElement();
    269268}
     
    453452void ImageLoader::elementDidMoveToNewDocument()
    454453{
     454    clearFailedLoadURL();
    455455    setImage(0);
    456456}
    457457
    458 }
     458inline void ImageLoader::clearFailedLoadURL()
     459{
     460    m_failedLoadURL = AtomicString();
     461}
     462
     463}
  • trunk/Source/WebCore/loader/ImageLoader.h

    r131670 r138724  
    9393
    9494    void setImageWithoutConsideringPendingLoadEvent(CachedImage*);
     95    void clearFailedLoadURL();
    9596
    9697    ImageLoaderClient* m_client;
Note: See TracChangeset for help on using the changeset viewer.