Changeset 226203 in webkit


Ignore:
Timestamp:
Dec 20, 2017 4:13:09 PM (6 years ago)
Author:
commit-queue@webkit.org
Message:

com.apple.WebKit.WebContent.Development crashed in com.apple.WebCore: WebCore::UserMediaRequest::stop + 126
https://bugs.webkit.org/show_bug.cgi?id=181057

Patch by Youenn Fablet <youenn@apple.com> on 2017-12-20
Reviewed by Eric Carlson.

Covered by fast/mediastream tests to not crash anymore.

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::stop):

Location:
trunk/Source/WebCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r226202 r226203  
     12017-12-20  Youenn Fablet  <youenn@apple.com>
     2
     3        com.apple.WebKit.WebContent.Development crashed in com.apple.WebCore: WebCore::UserMediaRequest::stop + 126
     4        https://bugs.webkit.org/show_bug.cgi?id=181057
     5
     6        Reviewed by Eric Carlson.
     7
     8        Covered by fast/mediastream tests to not crash anymore.
     9
     10        * Modules/mediastream/UserMediaRequest.cpp:
     11        (WebCore::UserMediaRequest::stop):
     12
    1132017-12-20  Brady Eidson  <beidson@apple.com>
    214
  • trunk/Source/WebCore/Modules/mediastream/UserMediaRequest.cpp

    r226171 r226203  
    278278void UserMediaRequest::stop()
    279279{
     280    // Protecting 'it'this' since nulling m_pendingActivationMediaStream might destroy it.
     281    Ref<UserMediaRequest> protectedThis(*this);
     282
     283    m_pendingActivationMediaStream = nullptr;
     284
    280285    auto& document = downcast<Document>(*m_scriptExecutionContext);
    281     auto* controller = UserMediaController::from(document.page());
    282 
    283     m_pendingActivationMediaStream = nullptr;
    284     if (!controller)
    285         return;
    286 
    287     Ref<UserMediaRequest> protectedThis(*this);
    288     controller->cancelUserMediaAccessRequest(*this);
     286    if (auto* controller = UserMediaController::from(document.page()))
     287        controller->cancelUserMediaAccessRequest(*this);
    289288}
    290289
Note: See TracChangeset for help on using the changeset viewer.