2010-07-26 Darin Adler <darin@apple.com>
authorDarin Adler <darin@apple.com>
Mon, 26 Jul 2010 22:58:33 +0000 (22:58 +0000)
committerAdemar de Souza Reis Jr <ademar.reis@openbossa.org>
Thu, 20 Jan 2011 17:36:06 +0000 (14:36 -0300)
commit6cc7b078509352425c27e9202ae833079f1e4c49
tree894c632eeb450ebb1449b48b866920179ac8fd3e
parentfc5090735ea9eb2d0318249dca180e0473bdc3ab
2010-07-26  Darin Adler  <darin@apple.com>

        Reviewed by Eric Carlson.

        Don't handle empty URL attributes specially in reflection, even in cases such as <img src="">
        https://bugs.webkit.org/show_bug.cgi?id=42087

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::insertedIntoDocument): Check if the src attribute is empty
        by calling getAttribute instead of calling the src function. This keeps the behavior
        correct with the reflection change, and has a side benefit of being more efficient as
        well since there is no reason to resolve the URL.
        (WebCore::HTMLMediaElement::loadResource): Call getNonEmptyURLAttribute directly here
        instead of using the poster function.
        (WebCore::HTMLMediaElement::getPluginProxyParams): Ditto.

        * html/HTMLMediaElement.h: Removed the poster virtual function. The code that gets the
        poster attribute is already video-specific and uses generic attribute fetching code, so
        we no longer need a virtual function. Removed the src function. Since this would give
        a different result from the JavaScript reflected src attribute, it's safer not to have
        it, and it was easy to convert all the callers.

        * html/HTMLMediaElement.idl: Removed the NonEmpty extended attribute from the src
        attribute.

        * html/HTMLSourceElement.cpp: Removed the src function for the same reason as above.
        * html/HTMLSourceElement.h: Ditto.

        * html/HTMLSourceElement.idl: Removed the NonEmpty extended attribute from the src
        attribute.

        * html/HTMLVideoElement.cpp:
        (WebCore::HTMLVideoElement::parseMappedAttribute): Removed code to update m_posterURL,
        which is no longer needed. Changed call site that used the poster() function to instead
        use getNonEmptyURLAttribute.
        (WebCore::HTMLVideoElement::updatePosterImage): Check if the poster attribute is empty
        by calling getAttribute instead of calling the poster function. This keeps the behavior
        correct with the reflection change, and has a side benefit of being more efficient as
        well since there is no reason to resolve the URL.

        * html/HTMLVideoElement.h: Removed the poster function for the same reason we removed
        the src function above. Also removed now-unneeded m_posterURL data member.

        * html/HTMLVideoElement.idl: Removed the NonEmpty extended attribute from the poster
        attribute.
2010-07-26  Darin Adler  <darin@apple.com>

        Reviewed by Eric Carlson.

        Don’t handle empty URL attributes specially in reflection, even in cases such as <img src="">
        https://bugs.webkit.org/show_bug.cgi?id=42087

        * fast/dom/URL-attribute-reflection-expected.txt: Updated.
        * fast/dom/script-tests/URL-attribute-reflection.js: Updated test expectations so that even
        for URLs where "" is invalid, we reflect the empty string resolved to the base URL.

        * media/video-poster-expected.txt: Updated.
        * media/video-poster.html: Updated to expect poster="" to reflect as the base URL.
        * media/video-source-error-no-candidate-expected.txt: Updated.
        * media/video-src-none-expected.txt: Updated.
        * media/video-src-none.html: Updated to expect src="" to reflect as the base URL.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64085 268f45cc-cd09-0410-ab3c-d52691b4dbfc
18 files changed:
LayoutTests/ChangeLog
LayoutTests/fast/dom/URL-attribute-reflection-expected.txt
LayoutTests/fast/dom/script-tests/URL-attribute-reflection.js
LayoutTests/media/video-poster-expected.txt
LayoutTests/media/video-poster.html
LayoutTests/media/video-source-error-no-candidate-expected.txt
LayoutTests/media/video-src-none-expected.txt
LayoutTests/media/video-src-none.html
WebCore/ChangeLog
WebCore/html/HTMLMediaElement.cpp
WebCore/html/HTMLMediaElement.h
WebCore/html/HTMLMediaElement.idl
WebCore/html/HTMLSourceElement.cpp
WebCore/html/HTMLSourceElement.h
WebCore/html/HTMLSourceElement.idl
WebCore/html/HTMLVideoElement.cpp
WebCore/html/HTMLVideoElement.h
WebCore/html/HTMLVideoElement.idl