Changeset 225567 in webkit


Ignore:
Timestamp:
Dec 5, 2017 9:25:15 PM (6 years ago)
Author:
commit-queue@webkit.org
Message:

[GTK] Layout test media/track/track-in-band-duplicate-tracks-when-source-changes.html crashes and times out
https://bugs.webkit.org/show_bug.cgi?id=160131

Patch by Fujii Hironori <Fujii Hironori> on 2017-12-05
Reviewed by Eric Carlson.

Source/WebCore:

Null dereference can be happen if VideoTrack and AudioTrack are
disconnected from its media element.

No new tests, no behavior change.

  • html/track/AudioTrack.cpp:

(WebCore::AudioTrack::willRemove): Null-check mediaElement.

  • html/track/VideoTrack.cpp:

(WebCore::VideoTrack::setLanguage): Ditto.

LayoutTests:

  • platform/gtk/TestExpectations:
Location:
trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r225566 r225567  
     12017-12-05  Fujii Hironori  <Hironori.Fujii@sony.com>
     2
     3        [GTK] Layout test media/track/track-in-band-duplicate-tracks-when-source-changes.html crashes and times out
     4        https://bugs.webkit.org/show_bug.cgi?id=160131
     5
     6        Reviewed by Eric Carlson.
     7
     8        * platform/gtk/TestExpectations:
     9
    1102017-12-05  Chris Dumez  <cdumez@apple.com>
    211
  • trunk/LayoutTests/platform/gtk/TestExpectations

    r225561 r225567  
    30533053webkit.org/b/163512 media/media-controls-accessibility.html [ Failure ]
    30543054webkit.org/b/163521 media/tab-focus-inside-media-elements.html [ Failure ]
    3055 webkit.org/b/163523 media/track/track-manual-mode.html [ Failure Crash ]
     3055webkit.org/b/163523 media/track/track-manual-mode.html [ Failure ]
    30563056webkit.org/b/163524 media/track/video-track-alternate-groups.html [ Failure ]
    30573057webkit.org/b/163525 media/video-background-tab-playback.html [ Failure Pass Crash Timeout ]
     
    35013501webkit.org/b/160119 media/click-volume-bar-not-pausing.html [ Timeout Failure Pass ]
    35023502
    3503 # This one has its own bug because the crashes were preexisting; only the
    3504 # timeout is caused by the switch to threaded compositor.
    3505 webkit.org/b/160131 media/track/track-in-band-duplicate-tracks-when-source-changes.html [ Crash Timeout Pass ]
     3503webkit.org/b/160131 media/track/track-in-band-duplicate-tracks-when-source-changes.html [ Timeout Pass ]
    35063504
    35073505webkit.org/b/160131 plugins/return-error-from-new-stream-doesnt-invoke-destroy-stream.html [ Timeout Pass ]
  • trunk/Source/WebCore/ChangeLog

    r225566 r225567  
     12017-12-05  Fujii Hironori  <Hironori.Fujii@sony.com>
     2
     3        [GTK] Layout test media/track/track-in-band-duplicate-tracks-when-source-changes.html crashes and times out
     4        https://bugs.webkit.org/show_bug.cgi?id=160131
     5
     6        Reviewed by Eric Carlson.
     7
     8        Null dereference can be happen if VideoTrack and AudioTrack are
     9        disconnected from its media element.
     10
     11        No new tests, no behavior change.
     12
     13        * html/track/AudioTrack.cpp:
     14        (WebCore::AudioTrack::willRemove): Null-check mediaElement.
     15        * html/track/VideoTrack.cpp:
     16        (WebCore::VideoTrack::setLanguage): Ditto.
     17
    1182017-12-05  Chris Dumez  <cdumez@apple.com>
    219
  • trunk/Source/WebCore/html/track/AudioTrack.cpp

    r222091 r225567  
    161161void AudioTrack::willRemove()
    162162{
    163     mediaElement()->removeAudioTrack(*this);
     163    auto element = makeRefPtr(mediaElement());
     164    if (!element)
     165        return;
     166    element->removeAudioTrack(*this);
    164167}
    165168
  • trunk/Source/WebCore/html/track/VideoTrack.cpp

    r224390 r225567  
    211211    // 4. Queue a task to fire a simple event named change at the VideoTrackList object referenced by
    212212    // the videoTracks attribute on the HTMLMediaElement.
    213     mediaElement()->videoTracks().scheduleChangeEvent();
     213    if (mediaElement())
     214        mediaElement()->videoTracks().scheduleChangeEvent();
    214215}
    215216
Note: See TracChangeset for help on using the changeset viewer.