Changeset 247323 in webkit
- Timestamp:
- Jul 10, 2019 1:13:26 PM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r247316 r247323 1 2019-07-10 Chris Dumez <cdumez@apple.com> 2 3 Unreviewed, rolling out r247292. 4 5 Caused CloseWebViewDuringEnterFullscreen.VideoFullscreen API 6 test to time out on Mojave bots 7 8 Reverted changeset: 9 10 "Stop using GenericTaskQueue from multiple threads" 11 https://bugs.webkit.org/show_bug.cgi?id=199652 12 https://trac.webkit.org/changeset/247292 13 1 14 2019-07-10 Robin Morisset <rmorisset@apple.com> 2 15 -
trunk/Source/WebCore/platform/GenericTaskQueue.h
r247292 r247323 72 72 }; 73 73 74 template <typename T >75 class GenericTaskQueue : public CanMakeWeakPtr<GenericTaskQueue<T >> {74 template <typename T, typename C = unsigned> 75 class GenericTaskQueue : public CanMakeWeakPtr<GenericTaskQueue<T, C>> { 76 76 public: 77 77 GenericTaskQueue() … … 125 125 private: 126 126 TaskDispatcher<T> m_dispatcher; 127 unsignedm_pendingTasks { 0 };127 C m_pendingTasks { 0 }; 128 128 bool m_isClosed { false }; 129 129 }; -
trunk/Source/WebCore/platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm
r247292 r247323 170 170 { 171 171 WeakPtr<MediaPlayerPrivateAVFoundationObjC> m_player; 172 GenericTaskQueue<Timer, std::atomic<unsigned>> m_taskQueue; 172 173 int m_delayCallbacks; 173 174 } … … 184 185 @interface WebCoreAVFLoaderDelegate : NSObject<AVAssetResourceLoaderDelegate> { 185 186 WeakPtr<MediaPlayerPrivateAVFoundationObjC> m_player; 187 GenericTaskQueue<Timer, std::atomic<unsigned>> m_taskQueue; 186 188 } 187 189 - (id)initWithPlayer:(WeakPtr<MediaPlayerPrivateAVFoundationObjC>&&)player; … … 3286 3288 - (void)metadataLoaded 3287 3289 { 3288 callOnMainThread([player = m_player] {3290 m_taskQueue.enqueueTask([player = m_player] { 3289 3291 if (player) 3290 3292 player->metadataLoaded(); … … 3295 3297 { 3296 3298 UNUSED_PARAM(unusedNotification); 3297 callOnMainThread([player = m_player] {3299 m_taskQueue.enqueueTask([player = m_player] { 3298 3300 if (player) 3299 3301 player->didEnd(); … … 3303 3305 - (void)observeValueForKeyPath:keyPath ofObject:(id)object change:(NSDictionary *)change context:(MediaPlayerAVFoundationObservationContext)context 3304 3306 { 3305 callOnMainThread([player = m_player, keyPath = retainPtr(keyPath), change = retainPtr(change), object = retainPtr(object), context] {3307 m_taskQueue.enqueueTask([player = m_player, keyPath = retainPtr(keyPath), change = retainPtr(change), object = retainPtr(object), context] { 3306 3308 if (!player) 3307 3309 return; … … 3406 3408 UNUSED_PARAM(output); 3407 3409 3408 callOnMainThread([player = m_player, strings = retainPtr(strings), nativeSamples = retainPtr(nativeSamples), itemTime] {3410 m_taskQueue.enqueueTask([player = m_player, strings = retainPtr(strings), nativeSamples = retainPtr(nativeSamples), itemTime] { 3409 3411 if (!player) 3410 3412 return; … … 3418 3420 UNUSED_PARAM(output); 3419 3421 3420 callOnMainThread([player = m_player] {3422 m_taskQueue.enqueueTask([player = m_player] { 3421 3423 if (player) 3422 3424 player->flushCues(); … … 3445 3447 return NO; 3446 3448 3447 callOnMainThread([player = m_player, loadingRequest = retainPtr(loadingRequest)] {3449 m_taskQueue.enqueueTask([player = m_player, loadingRequest = retainPtr(loadingRequest)] { 3448 3450 if (!player) { 3449 3451 [loadingRequest finishLoadingWithError:nil]; … … 3469 3471 { 3470 3472 UNUSED_PARAM(resourceLoader); 3471 callOnMainThread([player = m_player, loadingRequest = retainPtr(loadingRequest)] {3473 m_taskQueue.enqueueTask([player = m_player, loadingRequest = retainPtr(loadingRequest)] { 3472 3474 if (player) 3473 3475 player->didCancelLoadingRequest(loadingRequest.get());
Note: See TracChangeset
for help on using the changeset viewer.