Reviewed and partially fixed by Tim Hatcher.
authoradele@apple.com <adele@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 11 Dec 2007 07:24:17 +0000 (07:24 +0000)
committeradele@apple.com <adele@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 11 Dec 2007 07:24:17 +0000 (07:24 +0000)
commiteee3eab9fb131fd08e17ec95fb1e30f11516915b
treef86be022f798bfc208bcdf1269cb99f5f15d5498
parent2c14124bab19bbec54dc3b4fcd046761889e85c0
    Reviewed and partially fixed by Tim Hatcher.

        Remaining part of fix for <rdar://problem/5633400>
        Transformed <video> is not clipped correctly until a repaint is forced

        Replace the implementation of a QTKit method to avoid repaints from the NSView system associated with the QTMovie
        from clobbering the WebCore repaints.

        * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::mediaPlayerRepaint): Added.
        * html/HTMLMediaElement.h:
        * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::repaint): Added.
        * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayerClient::mediaPlayerRepaint): Added.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
        (method_setImplementation): Added for Tiger.

        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): Call detachQTMovieView, which now does more cleanup.
        (WebCore::MediaPlayerPrivate::cancelLoad): ditto.
        (WebCore::MediaPlayerPrivate::setVisible): ditto.
        (WebCore::MediaPlayerPrivate::detachQTMovieView): Clear the delegate as well as m_qtMovieView pointer.

        (WebCore::MediaPlayerPrivate::repaint): Added.  Triggers a repaint on the video renderer.
        (-[WebCoreMovieObserver repaint]): ditto.

        (WebCore::mainThreadSetNeedsDisplay): Added.
         Does a WebCore repaint instead of going through the view repaint system for QTMovieView.
        (WebCore::MediaPlayerPrivate::createQTMovieView): Replace the implementation of _mainThreadSetNeedsDisplay.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28610 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/html/HTMLMediaElement.cpp
WebCore/html/HTMLMediaElement.h
WebCore/platform/graphics/MediaPlayer.cpp
WebCore/platform/graphics/MediaPlayer.h
WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.h
WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm