Changeset 248896 in webkit


Ignore:
Timestamp:
Aug 20, 2019 2:39:25 AM (5 years ago)
Author:
youenn@apple.com
Message:

PendingActivationMediaStream does not need to be refcounted
https://bugs.webkit.org/show_bug.cgi?id=200879

Reviewed by Alex Christensen.

No observable change of behavior.

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::allow):
(WebCore::UserMediaRequest::mediaStreamDidFail):
No need to asynchronously remove the observer since MediaStreamPrivate handles that properply now.

  • Modules/mediastream/UserMediaRequest.h:
Location:
trunk/Source/WebCore
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r248894 r248896  
     12019-08-20  Youenn Fablet  <youenn@apple.com>
     2
     3        PendingActivationMediaStream does not need to be refcounted
     4        https://bugs.webkit.org/show_bug.cgi?id=200879
     5
     6        Reviewed by Alex Christensen.
     7
     8        No observable change of behavior.
     9
     10        * Modules/mediastream/UserMediaRequest.cpp:
     11        (WebCore::UserMediaRequest::allow):
     12        (WebCore::UserMediaRequest::mediaStreamDidFail):
     13        No need to asynchronously remove the observer since MediaStreamPrivate handles that properply now.
     14        * Modules/mediastream/UserMediaRequest.h:
     15
    1162019-08-19  Devin Rousso  <drousso@apple.com>
    217
  • trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp

    r246470 r248896  
    241241
    242242        scopeExit.release();
    243         m_pendingActivationMediaStream = PendingActivationMediaStream::create(WTFMove(protector), *this, WTFMove(stream), WTFMove(completionHandler));
     243        m_pendingActivationMediaStream = makeUnique<PendingActivationMediaStream>(WTFMove(protector), *this, WTFMove(stream), WTFMove(completionHandler));
    244244    };
    245245
     
    396396    }
    397397    m_promise.reject(NotReadableError, makeString("Failed starting capture of a "_s, typeDescription, " track"_s));
    398     // We are in an observer iterator loop, we do not want to change the observers within this loop.
    399     callOnMainThread([stream = WTFMove(m_pendingActivationMediaStream)] { });
     398    m_pendingActivationMediaStream = nullptr;
    400399}
    401400
  • trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.h

    r245335 r248896  
    8383    void mediaStreamDidFail(RealtimeMediaSource::Type);
    8484
    85     class PendingActivationMediaStream : public RefCounted<PendingActivationMediaStream>, private MediaStreamPrivate::Observer {
     85    class PendingActivationMediaStream : private MediaStreamPrivate::Observer {
     86        WTF_MAKE_FAST_ALLOCATED;
    8687    public:
    87         static Ref<PendingActivationMediaStream> create(Ref<PendingActivity<UserMediaRequest>>&& protectingUserMediaRequest, UserMediaRequest& userMediaRequest, Ref<MediaStream>&& stream, CompletionHandler<void()>&& completionHandler)
    88         {
    89             return adoptRef(*new PendingActivationMediaStream { WTFMove(protectingUserMediaRequest), userMediaRequest, WTFMove(stream), WTFMove(completionHandler) });
    90         }
     88        PendingActivationMediaStream(Ref<PendingActivity<UserMediaRequest>>&&, UserMediaRequest&, Ref<MediaStream>&&, CompletionHandler<void()>&&);
    9189        ~PendingActivationMediaStream();
    9290
    9391    private:
    94         PendingActivationMediaStream(Ref<PendingActivity<UserMediaRequest>>&&, UserMediaRequest&, Ref<MediaStream>&&, CompletionHandler<void()>&&);
    95 
    9692        void characteristicsChanged() final;
    9793
     
    106102
    107103    DOMPromiseDeferred<IDLInterface<MediaStream>> m_promise;
    108     RefPtr<PendingActivationMediaStream> m_pendingActivationMediaStream;
     104    std::unique_ptr<PendingActivationMediaStream> m_pendingActivationMediaStream;
    109105    MediaStreamRequest m_request;
    110106};
Note: See TracChangeset for help on using the changeset viewer.