Reviewed by Antti Koivisto and Kevin Decker.
authordarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 7 Dec 2007 18:44:05 +0000 (18:44 +0000)
committerdarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 7 Dec 2007 18:44:05 +0000 (18:44 +0000)
commit48ab285ffec7a5c8bbfedfc1ff821712b44e3c56
tree730a3e0654be4d5f696e1f2e6628a5e035ea7820
parent4b83b15b02d423316ccbb94e8de1c8a139faa5b2
    Reviewed by Antti Koivisto and Kevin Decker.

        - fix <rdar://problem/5601586> QtKit should be dynamically loaded upon need, not linked at startup

        Also did a lot of small tweaks to MediaPlayerPrivateQTKit.

        * WebCore.xcodeproj/project.pbxproj: Don't link to QTKit.

        * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Omit unneeded includes and declarations.
        Made a lot more functions const. Made a few more members private and a couple inline.
        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: Added soft linking machinery for all the
        things we currently use in QTKit. It's a little more awkward for classes and other data objects
        than it is for functions, but still relatively straightforward, with no changes needed to the
        client code. Added using namespace directives. Made a cuePointTimerInterval constant and put
        it at the top of the file. Use 0 consistently instead of sometimes 0 and sometimes 0.0f.
        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Removed unneeded initialization of RetainPtr
        members to nil.
        (WebCore::MediaPlayerPrivate::createQTMovie): Use adoptNS instead of autorelease.
        (WebCore::MediaPlayerPrivate::createQTMovieView): Ditto. Also use -[NSColor clearColor].
        (WebCore::MediaPlayerPrivate::createQTTime): Remove an unneeded type cast that had no effect.
        Changed to use long instead of int because that's the type for a QTTime time scale anyway.
        (WebCore::MediaPlayerPrivate::duration): Use a static_cast instead of a C-style cast.
        (WebCore::MediaPlayerPrivate::currentTime): Ditto. Also merged into a single expression.
        (WebCore::MediaPlayerPrivate::cuePointTimerFired): Added code to make a copy of the cue
        points set to avoid a potential problem with a set being modified as we iterate it.
        (WebCore::MediaPlayerPrivate::bytesLoaded): Removed unneeded null check of m_qtMovie.
        (WebCore::MediaPlayerPrivate::updateStates): Instead of comments explaining the numeric
        values, used the constants from the headers directly.
        (WebCore::MediaPlayerPrivate::getSupportedTypes): Instead of (QTMovieFileTypeOptions)0,
        pass the named constant with value 0, QTIncludeCommonTypes. Skipped the intermediate type
        of NSString to remove one cast. Replaced C-style cast with reinterpret_cast (arguably
        no better). Used RetainPtr instead of explicit CFRelease calls.

        * platform/mac/SoftLinking.h: Added macros to do soft linking for classes and for pointers.
        It's not quite as automatic as the soft linking we can do for functions, since these define
        functions to get the values, so you need to define macros to make what look like variable
        accesses turn into function calls. See MediaPlayerPrivateQTKit for the details.

        * html/HTMLMediaElement.h:
        * html/TimeRanges.h:
        * html/VoidCallback.h:
        * platform/graphics/MediaPlayer.h:
        Use angle brackets for wtf includes. Omit unneeded includes.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@28521 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore/ChangeLog
WebCore/WebCore.xcodeproj/project.pbxproj
WebCore/html/HTMLElementFactory.cpp
WebCore/html/HTMLMediaElement.cpp
WebCore/html/HTMLMediaElement.h
WebCore/html/TimeRanges.h
WebCore/html/VoidCallback.h
WebCore/platform/graphics/MediaPlayer.h
WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.h
WebCore/platform/graphics/mac/MediaPlayerPrivateQTKit.mm
WebCore/platform/mac/SoftLinking.h