REGRESSION(189668?): http/tests/notifications/events.html flakily asserts or times out
authormmaxfield@apple.com <mmaxfield@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 5 Oct 2015 23:45:56 +0000 (23:45 +0000)
committermmaxfield@apple.com <mmaxfield@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 5 Oct 2015 23:45:56 +0000 (23:45 +0000)
commitc9eeba2d54f3a584f995ccb6b9c1ed3b516de604
treeb6b56ca9a6287befda2fdc066cd895fd8f3275c5
parentc967ab648bfb8bcf9df0ca33624bda3b59439425
REGRESSION(189668?): http/tests/notifications/events.html flakily asserts or times out
https://bugs.webkit.org/show_bug.cgi?id=149218

Reviewed by Alexey Proskuryakov.

Tools:

Because of r189668, WebKitTestRunner now tears down and recreates its WKNotificationManagerRef
when the TestOptions change. Previously, WebNotificationProvider only could handle a single
WKNotificationManagerRef. Because the ower of the WKNotificationManagerRef is reference counted,
and AppKit internally retains some objects which end up retaining the WKNotificationManagerRef,
the old WKNotificationManager may not be destroyed before the new one is created. Therefore,
WebNotificationProvider must be updated to appropriately handle multiple
WKNotificationManagerRefs in flight at the same time.

* WebKitTestRunner/WebNotificationProvider.cpp:
(WTR::WebNotificationProvider::~WebNotificationProvider):
(WTR::WebNotificationProvider::showWebNotification):
(WTR::WebNotificationProvider::closeWebNotification):
(WTR::WebNotificationProvider::addNotificationManager):
(WTR::WebNotificationProvider::removeNotificationManager):
(WTR::WebNotificationProvider::simulateWebNotificationClick):
(WTR::WebNotificationProvider::reset):
* WebKitTestRunner/WebNotificationProvider.h:

LayoutTests:

* TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@190593 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LayoutTests/ChangeLog
LayoutTests/TestExpectations
Tools/ChangeLog
Tools/WebKitTestRunner/WebNotificationProvider.cpp
Tools/WebKitTestRunner/WebNotificationProvider.h