DescriptionOilpan: eagerly sweep some mediasource and mediastream objects.
The following objects provide a 'client' notification interface to
bridge objects that they themselves own or refer to:
- SourceBuffer (WebSourceBuffer, WebSourceBufferClient)
- MediaStream (MediaStreamDescriptor, MediaStreamDescriptorClient)
- MediaStreamTrack (MediaStreamSource, MediaStreamSource::Observer)
- RTCDTMFSender (WebRTCDTMFSenderHandler, WebRTCDTMFSenderHandlerClient)
- RTCDataChannel (WebRTCDataChannelHandler, WebRTCDataChannelHandlerClient)
- RTCPeerConnection (WebRTCPeerConnectionHandler,
WebRTCPeerConnectionHandlerClient)
The name of the bridge object and client given in parens. The bridge
objects allow the embedder to notify the 'client'.
To make these safe wrt Oilpan lazy sweeping (see associated bug for details
on why this is required), add annotations to the class declarations for
the objects affected.
While some of these objects are ActiveDOMObjects and will in most cases
be explicitly stopped as part of detachment, where their overridden stop()
methods will in some cases clear out the client (or bridge) object, this
is a delicate dependency. Insisting on eager sweeping & finalization
makes their embedder detachment safe, regardless.
R=haraken
BUG=491488
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=196469
Patch Set 1 #Patch Set 2 : Updated to use EAGERLY_FINALIZE() #
Total comments: 2
Messages
Total messages: 10 (3 generated)
|