Bug 178872

Summary: NowPlayingInfo should contain a unique identifier
Product: WebKit Reporter: Eric Carlson <eric.carlson>
Component: MediaAssignee: Eric Carlson <eric.carlson>
Status: RESOLVED FIXED    
Severity: Normal CC: cdumez, commit-queue, jer.noble, ryanhaddad, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Proposed patch.
none
Updated patch. none

Description Eric Carlson 2017-10-26 09:29:25 PDT
NowPlayingInfo should contain a unique identifier
Comment 1 Eric Carlson 2017-10-26 09:40:02 PDT
<rdar://problem/34924012>
Comment 2 Eric Carlson 2017-10-26 09:41:38 PDT
Created attachment 325020 [details]
Proposed patch.
Comment 3 Eric Carlson 2017-10-26 10:36:44 PDT
Created attachment 325026 [details]
Updated patch.
Comment 4 WebKit Commit Bot 2017-10-26 15:44:22 PDT
Comment on attachment 325026 [details]
Updated patch.

Clearing flags on attachment: 325026

Committed r224057: <https://trac.webkit.org/changeset/224057>
Comment 5 WebKit Commit Bot 2017-10-26 15:44:23 PDT
All reviewed patches have been landed.  Closing bug.
Comment 6 Ryan Haddad 2017-10-26 17:20:18 PDT
NowPlayingControlsTests.NowPlayingControlsClearInfoAfterSessionIsNoLongerValid is failing on High Sierra and Sierra:

/Volumes/Data/slave/sierra-release/build/Tools/TestWebKitAPI/Tests/WebKitCocoa/NowPlayingControlsTests.mm:194
Value of: isnan(webView.get().lastUpdatedElapsedTime)
  Actual: false
Expected: true

https://build.webkit.org/builders/Apple%20High%20Sierra%20Release%20WK1%20(Tests)/builds/833
https://build.webkit.org/builders/Apple%20Sierra%20Release%20WK1%20%28Tests%29/builds/5631
Comment 7 Ryan Haddad 2017-10-27 10:16:59 PDT
This change also caused LayoutTests to exit early due to an assertion failure on Sierra WK1:

ASSERTION FAILED: hasHash()
/Volumes/Data/slave/sierra-debug/build/WebKitBuild/Debug/usr/local/include/wtf/text/StringImpl.h(520) : unsigned int WTF::StringImpl::existingHash() const
1   0x105d84aad WTFCrash
2   0x10ef67519 WTF::StringImpl::existingHash() const
3   0x10f5cf2d1 WTF::String::existingHash() const
4   0x10f5ce87c WebCore::MediaSessionManagerMac::updateNowPlayingInfo()
5   0x10f5d110d WTF::Function<void ()>::CallableWrapper<std::__1::__bind<void (WebCore::MediaSessionManagerMac::*)(), WebCore::MediaSessionManagerMac*> >::call()
6   0x10ef1fd9b WTF::Function<void ()>::operator()() const
7   0x10f10a5b9 WebCore::GenericTaskQueue<WebCore::Timer>::enqueueTask(WTF::Function<void ()>&&)::'lambda'()::operator()() const
8   0x10f10a379 WTF::Function<void ()>::CallableWrapper<WebCore::GenericTaskQueue<WebCore::Timer>::enqueueTask(WTF::Function<void ()>&&)::'lambda'()>::call()
9   0x10ef1fd9b WTF::Function<void ()>::operator()() const
10  0x1114ccf87 WebCore::TaskDispatcher<WebCore::Timer>::dispatchOneTask()
11  0x1114ccd3f WebCore::TaskDispatcher<WebCore::Timer>::sharedTimerFired()
12  0x1114d0051 WebCore::TaskDispatcher<WebCore::Timer>::sharedTimer()::$_1::operator()() const
13  0x1114d0019 WTF::Function<void ()>::CallableWrapper<WebCore::TaskDispatcher<WebCore::Timer>::sharedTimer()::$_1>::call()
14  0x10ef1fd9b WTF::Function<void ()>::operator()() const
15  0x10ef8e5f9 WebCore::Timer::fired()
16  0x1114fd4b0 WebCore::ThreadTimers::sharedTimerFiredInternal()
17  0x111505391 WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_7::operator()() const
18  0x111505349 WTF::Function<void ()>::CallableWrapper<WebCore::ThreadTimers::setSharedTimer(WebCore::SharedTimer*)::$_7>::call()
19  0x10ef1fd9b WTF::Function<void ()>::operator()() const
20  0x1114df0d5 WebCore::MainThreadSharedTimer::fired()
21  0x11157ac09 WebCore::timerFired(__CFRunLoopTimer*, void*)
22  0x7fff94103e04 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__
23  0x7fff94103a93 __CFRunLoopDoTimer
24  0x7fff941035ea __CFRunLoopDoTimers
25  0x7fff940fafc1 __CFRunLoopRun
26  0x7fff940fa544 CFRunLoopRunSpecific
27  0x1040b9387 runTest(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)
28  0x1040b77dd runTestingServerLoop()
29  0x1040b6c97 dumpRenderTree(int, char const**)
30  0x1040b9dbd DumpRenderTreeMain(int, char const**)
31  0x104134df2 main

https://build.webkit.org/builders/Apple%20Sierra%20Debug%20WK1%20%28Tests%29/builds/4438
Comment 8 Ryan Haddad 2017-10-27 10:17:29 PDT
The assertion failures also affect High Sierra WK1.
Comment 9 Eric Carlson 2017-10-27 11:39:50 PDT
Plus https://trac.webkit.org/r224121 and https://trac.webkit.org/r224117 to address test problems.
Comment 10 Chris Dumez 2017-10-29 11:43:41 PDT
(In reply to Eric Carlson from comment #9)
> Plus https://trac.webkit.org/r224121 and https://trac.webkit.org/r224117 to
> address test problems.

One of the build fixes seems to have caused 2 tests to fail:
https://build.webkit.org/results/Apple%20High%20Sierra%20Release%20WK2%20(Tests)/r224121%20(763)/results.html