-
eric.carlson@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=107046 Reviewed by Sam Weinig. * CMakeLists.txt: Add new files. * GNUmakefile.list.am: Ditto. * Target.pri: Ditto. * WebCore.gypi: Ditto. * WebCore.vcproj/WebCore.vcproj: Ditto. * WebCore.xcodeproj/project.pbxproj: Ditto. * html/shadow/MediaControlElements.cpp: (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Pass video size to getDisplayTree. * html/track/InbandTextTrack.cpp: (WebCore::InbandTextTrack::addGenericCue): New, create a generic cue if it doesn't already exist. (WebCore::InbandTextTrack::addWebVTTCue): Renamed from addCue. * html/track/InbandTextTrack.h: * html/track/TextTrack.cpp: (WebCore::TextTrack::hasCue): Moved from InbandTextTrack.cpp, use operator == instead of inline comparison so derived TextTrackCues can be compared. * html/track/TextTrack.h: * html/track/TextTrackCue.cpp: (WebCore::TextTrackCueBox::applyCSSProperties): Interface change. (WebCore::TextTrackCue::TextTrackCue): Don't create the display tree in the constructor, it may never be needed. (WebCore::TextTrackCue::createDisplayTree): New, create the display tree. (WebCore::TextTrackCue::displayTreeInternal): Display tree accessor, allows it to be created lazily. (WebCore::TextTrackCue::setAlign): Alignment -> CueAlignment. (WebCore::TextTrackCue::setIsActive): Use displayTreeInternal(). (WebCore::TextTrackCue::getDisplayTree): Use displayTreeInternal(), pass video size to applyCSSProperties. (WebCore::TextTrackCue::removeDisplayTree): Use displayTreeInternal(). (WebCore::TextTrackCue::operator==): New. * html/track/TextTrackCue.h: (WebCore::TextTrackCue::getAlignment): Alignment -> CueAlignment. (WebCore::TextTrackCue::operator!=): New. (WebCore::TextTrackCue::cueType): New, cue type identified needed by operator==. (WebCore::TextTrackCue::ownerDocument): New. * html/track/TextTrackCueGeneric.cpp: Added. (WebCore::TextTrackCueGenericBox::create): (WebCore::TextTrackCueGenericBox::TextTrackCueGenericBox): (WebCore::TextTrackCueGenericBox::applyCSSProperties): (WebCore:::TextTrackCue): (WebCore::TextTrackCueGeneric::createDisplayTree): (WebCore::TextTrackCueGeneric::operator==): * html/track/TextTrackCueGeneric.h: Added. (WebCore::TextTrackCueGeneric::create): (WebCore::TextTrackCueGeneric::~TextTrackCueGeneric): (WebCore::TextTrackCueGeneric::baseFontSizeRelativeToVideoHeight): (WebCore::TextTrackCueGeneric::setBaseFontSizeRelativeToVideoHeight): (WebCore::TextTrackCueGeneric::fontSizeMultiplier): (WebCore::TextTrackCueGeneric::setFontSizeMultiplier): (WebCore::TextTrackCueGeneric::fontName): (WebCore::TextTrackCueGeneric::setFontName): (WebCore::TextTrackCueGeneric::operator!=): (WebCore::TextTrackCueGeneric::cueType): * platform/graphics/InbandTextTrackPrivateClient.h: * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp: (WebCore::InbandTextTrackPrivateAVF::processCueAttributes): Copy cue attributes into GenericCueData struct instead of trying to convert to WebVTT settings string. Process font size,font base size, font name, and vertical layout attributes, (WebCore::InbandTextTrackPrivateAVF::processCue): Create separate cues for each attributed string in the array because each one can be at a different screen location. (WebCore::InbandTextTrackPrivateAVF::resetCueValues): * platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h: (InbandTextTrackPrivateAVF): * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Reset any partially accumulated cues delivered since the seek was started. (WebCore::MediaPlayerPrivateAVFoundation::addGenericCue): Renamed from flushCurrentCue. * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Whitespace cleanup. (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): Ditto. (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Tell legible output to deliver cues without any additional styling needed by the internal renderer. (WebCore::MediaPlayerPrivateAVFoundationObjC::processTextTracks): (WebCore::MediaPlayerPrivateAVFoundationObjC::setCurrentTrack): Do nothing if asked to change to the track that is already current. (-[WebCoreAVFMovieObserver legibleOutput:didOutputAttributedStrings:nativeSampleBuffers:forItemTime:]): Check to make sure that the client callback isn't NULL. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@140359 268f45cc-cd09-0410-ab3c-d52691b4dbfc
6a82ee2a