Bug 196097

Summary: Test for: 196095 Inband Text Track cues interspersed with Data cues can display out of order.
Product: WebKit Reporter: Jer Noble <jer.noble>
Component: MediaAssignee: Jer Noble <jer.noble>
Status: RESOLVED FIXED    
Severity: Normal CC: commit-queue, eric.carlson, ews-watchlist, Hironori.Fujii, rniwa, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 196095    
Bug Blocks:    
Attachments:
Description Flags
Patch
ews-watchlist: commit-queue-
Archive of layout-test-results from ews105 for mac-highsierra-wk2
none
Archive of layout-test-results from ews121 for ios-simulator-wk2
none
Patch
none
Archive of layout-test-results from ews125 for ios-simulator-wk2
none
Patch
none
Patch
none
Patch
none
Patch for landing none

Description Jer Noble 2019-03-21 11:21:05 PDT
Add test for fix of #196095
Comment 1 Jer Noble 2019-03-22 07:20:29 PDT
Created attachment 365724 [details]
Patch
Comment 2 EWS Watchlist 2019-03-22 08:42:25 PDT Comment hidden (obsolete)
Comment 3 EWS Watchlist 2019-03-22 08:42:26 PDT Comment hidden (obsolete)
Comment 4 EWS Watchlist 2019-03-22 09:32:59 PDT Comment hidden (obsolete)
Comment 5 EWS Watchlist 2019-03-22 09:33:01 PDT Comment hidden (obsolete)
Comment 6 Jer Noble 2019-03-25 08:17:25 PDT
Created attachment 365865 [details]
Patch
Comment 7 EWS Watchlist 2019-03-25 10:33:45 PDT Comment hidden (obsolete)
Comment 8 EWS Watchlist 2019-03-25 10:33:47 PDT Comment hidden (obsolete)
Comment 9 Jer Noble 2019-03-25 11:35:21 PDT
Created attachment 365878 [details]
Patch
Comment 10 WebKit Commit Bot 2019-03-25 13:40:06 PDT
Comment on attachment 365878 [details]
Patch

Clearing flags on attachment: 365878

Committed r243450: <https://trac.webkit.org/changeset/243450>
Comment 11 WebKit Commit Bot 2019-03-25 13:40:07 PDT
All reviewed patches have been landed.  Closing bug.
Comment 12 Radar WebKit Bug Importer 2019-03-25 13:41:33 PDT
<rdar://problem/49227212>
Comment 13 Fujii Hironori 2019-03-25 19:01:03 PDT
AppleWin and WinCairo port builds get broken.

https://build.webkit.org/builders/Apple%20Win%207%20Release%20%28Build%29/builds/3374/steps/compile-webkit/logs/stdio

> WebCoreTestSupport.lib(JSInternals.obj) : error LNK2019: unresolved external symbol "protected: __thiscall WebCore::JSTextTrackCueGeneric::JSTextTrackCueGeneric(class JSC::Structure *,class WebCore::JSDOMGlobalObject &,class WTF::Ref<class WebCore::TextTrackCueGeneric,struct WTF::DumbPtrTraits<class WebCore::TextTrackCueGeneric> > &&)" (??0JSTextTrackCueGeneric@WebCore@@IAE@PAVStructure@JSC@@AAVJSDOMGlobalObject@1@$$QAV?$Ref@VTextTrackCueGeneric@WebCore@@U?$DumbPtrTraits@VTextTrackCueGeneric@WebCore@@@WTF@@@WTF@@@Z) referenced in function "public: static class WebCore::JSTextTrackCueGeneric * __cdecl WebCore::JSTextTrackCueGeneric::create(class JSC::Structure *,class WebCore::JSDOMGlobalObject *,class WTF::Ref<class WebCore::TextTrackCueGeneric,struct WTF::DumbPtrTraits<class WebCore::TextTrackCueGeneric> > &&)" (?create@JSTextTrackCueGeneric@WebCore@@SAPAV12@PAVStructure@JSC@@PAVJSDOMGlobalObject@2@$$QAV?$Ref@VTextTrackCueGeneric@WebCore@@U?$DumbPtrTraits@VTextTrackCueGeneric@WebCore@@@WTF@@@WTF@@@Z) [C:\cygwin\home\buildbot\worker\win7-release-i386\build\WebKitBuild\Release\Tools\DumpRenderTree\DumpRenderTreeLib.vcxproj]
> WebCoreTestSupport.lib(JSInternals.obj) : error LNK2019: unresolved external symbol "protected: void __thiscall WebCore::JSTextTrackCueGeneric::finishCreation(class JSC::VM &)" (?finishCreation@JSTextTrackCueGeneric@WebCore@@IAEXAAVVM@JSC@@@Z) referenced in function "public: static class WebCore::JSTextTrackCueGeneric * __cdecl WebCore::JSTextTrackCueGeneric::create(class JSC::Structure *,class WebCore::JSDOMGlobalObject *,class WTF::Ref<class WebCore::TextTrackCueGeneric,struct WTF::DumbPtrTraits<class WebCore::TextTrackCueGeneric> > &&)" (?create@JSTextTrackCueGeneric@WebCore@@SAPAV12@PAVStructure@JSC@@PAVJSDOMGlobalObject@2@$$QAV?$Ref@VTextTrackCueGeneric@WebCore@@U?$DumbPtrTraits@VTextTrackCueGeneric@WebCore@@@WTF@@@WTF@@@Z) [C:\cygwin\home\buildbot\worker\win7-release-i386\build\WebKitBuild\Release\Tools\DumpRenderTree\DumpRenderTreeLib.vcxproj]
> WebCoreTestSupport.lib(JSInternals.obj) : error LNK2019: unresolved external symbol "class JSC::JSValue __cdecl WebCore::toJS(class JSC::ExecState *,class WebCore::JSDOMGlobalObject *,class WebCore::TextTrackCueGeneric &)" (?toJS@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@PAVJSDOMGlobalObject@1@AAVTextTrackCueGeneric@1@@Z) referenced in function "__int64 __cdecl WebCore::jsInternalsPrototypeFunctionCreateGenericCueBody(class JSC::ExecState *,class WebCore::JSInternals *,class JSC::ThrowScope &)" (?jsInternalsPrototypeFunctionCreateGenericCueBody@WebCore@@YA_JPAVExecState@JSC@@PAVJSInternals@1@AAVThrowScope@3@@Z) [C:\cygwin\home\buildbot\worker\win7-release-i386\build\WebKitBuild\Release\Tools\DumpRenderTree\DumpRenderTreeLib.vcxproj]
> WebCoreTestSupport.lib(JSInternals.obj) : error LNK2001: unresolved external symbol "protected: static struct JSC::ClassInfo const WebCore::JSTextTrackCueGeneric::s_info" (?s_info@JSTextTrackCueGeneric@WebCore@@1UClassInfo@JSC@@B) [C:\cygwin\home\buildbot\worker\win7-release-i386\build\WebKitBuild\Release\Tools\DumpRenderTree\DumpRenderTreeLib.vcxproj]

Hmm, weird. I don't know how to fix this. Seems we should revert this until someone find a solution.
Comment 14 Fujii Hironori 2019-03-25 20:32:30 PDT
Reverted. https://trac.webkit.org/changeset/243482/
Comment 15 Jer Noble 2019-04-02 10:53:58 PDT
Created attachment 366502 [details]
Patch
Comment 16 Jer Noble 2019-04-02 12:46:12 PDT
Created attachment 366527 [details]
Patch
Comment 17 Fujii Hironori 2019-04-08 00:25:20 PDT
Comment on attachment 366527 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=366527&action=review

> Source/WebCore/html/track/TextTrackCueGeneric.idl:31
> +    ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,

Windows ports are still broken.
If I replace this WEBCORE_TESTSUPPORT_EXPORT with WEBCORE_EXPORT, it can compile.
I don't understand WEBCORE_TESTSUPPORT_EXPORT. What is the difference WEBCORE_TESTSUPPORT_EXPORT and WEBCORE_EXPORT?
Comment 18 Jer Noble 2019-04-08 08:29:30 PDT
(In reply to Fujii Hironori from comment #17)
> Comment on attachment 366527 [details]
> Patch
> 
> View in context:
> https://bugs.webkit.org/attachment.cgi?id=366527&action=review
> 
> > Source/WebCore/html/track/TextTrackCueGeneric.idl:31
> > +    ExportMacro=WEBCORE_TESTSUPPORT_EXPORT,
> 
> Windows ports are still broken.
> If I replace this WEBCORE_TESTSUPPORT_EXPORT with WEBCORE_EXPORT, it can
> compile.
> I don't understand WEBCORE_TESTSUPPORT_EXPORT. What is the difference
> WEBCORE_TESTSUPPORT_EXPORT and WEBCORE_EXPORT?

The intent of WEBCORE_TESTSUPPORT_EXPORT is for symbols that need to be exported to the Internals library, WebKitTestRunner, etc., but not generally exported for third parties.

The definition of WEBCORE_TESTSUPPORT_EXPORT for Windows is in WebCorePrefix.h:

#if PLATFORM(WIN)
#undef WEBCORE_EXPORT
#define WEBCORE_EXPORT WTF_EXPORT_DECLARATION
#undef WEBCORE_TESTSUPPORT_EXPORT
#define WEBCORE_TESTSUPPORT_EXPORT WTF_EXPORT_DECLARATION
Comment 19 Jer Noble 2019-04-08 13:07:06 PDT
Created attachment 366970 [details]
Patch for landing
Comment 20 Fujii Hironori 2019-04-08 18:29:16 PDT
(In reply to Jer Noble from comment #18)
> The intent of WEBCORE_TESTSUPPORT_EXPORT is for symbols that need to be
> exported to the Internals library, WebKitTestRunner, etc., but not generally
> exported for third parties.

Windows doesn't have such export level functionality as far as I know.
It can export a symbol or not export it.
Comment 21 WebKit Commit Bot 2019-04-09 08:57:51 PDT
Comment on attachment 366970 [details]
Patch for landing

Clearing flags on attachment: 366970

Committed r244078: <https://trac.webkit.org/changeset/244078>
Comment 22 WebKit Commit Bot 2019-04-09 08:57:53 PDT
All reviewed patches have been landed.  Closing bug.