HTML-Object
view release on metacpan or search on metacpan
lib/HTML/Object/DOM/TextTrackList.pm view on Meta::CPAN
sub onchange : lvalue { return( shift->on( 'change', @_ ) ); }
sub onremovetrack : lvalue { return( shift->on( 'removetrack', @_ ) ); }
sub _on_children_add
{
my $self = shift( @_ );
my( $pos, $ref ) = @_;
my $track = $ref->[0];
$self->_trigger_event_for( addtrack => {
class => 'HTML::Object::DOM::TrackEvent',
callback => sub
{
my $event = shift( @_ );
$event->track( $track );
}
});
}
sub _on_children_remove
{
my $self = shift( @_ );
my( $pos, $ref ) = @_;
my $track = $ref->[0];
$self->_trigger_event_for( addtrack => {
class => 'HTML::Object::DOM::TrackEvent',
callback => sub
{
my $event = shift( @_ );
$event->track( $track );
}
});
}
1;
# NOTE: POD
__END__
=encoding utf-8
=head1 NAME
HTML::Object::DOM::TextTrackList - HTML Object DOM Track List Class
=head1 SYNOPSIS
use HTML::Object::DOM::TextTrackList;
my $list = HTML::Object::DOM::TextTrackList->new ||
die( HTML::Object::DOM::TextTrackList->error, "\n" );
Getting a video element's text track list:
my $textTracks = $doc->querySelector( 'video' )->textTracks;
Monitoring track count changes:
$textTracks->onaddtrack = \&updateTrackCount;
$textTracks->onremovetrack = \&updateTrackCount;
sub updateTrackCount
{
my $event = shift( @_ );
my $trackCount = $textTracks->length;
drawTrackCountIndicator( $trackCount );
}
=head1 VERSION
v0.2.0
=head1 DESCRIPTION
The C<TextTrackList> interface is used to represent a list of the text tracks defined by the C<<track>> element, with each track represented by a separate textTrack object in the list. It inherits from L<HTML::Object::EventTarget>
=head1 INHERITANCE
+-----------------------+ +---------------------------+ +-------------------------+ +----------------------------------+
| HTML::Object::Element | --> | HTML::Object::EventTarget | --> | HTML::Object::DOM::List | --> | HTML::Object::DOM::TextTrackList |
+-----------------------+ +---------------------------+ +-------------------------+ +----------------------------------+
=head1 PROPERTIES
Inherits properties from its parent L<HTML::Object::DOM::List>
=head2 length
The number of tracks in the list.
Example:
my $media = $doc->querySelector( 'video, audio' );
my $numTextTracks = 0;
if( $media->textTracks )
{
$numTextTracks = $media->textTracks->length;
}
See also L<Mozilla documentation|https://developer.mozilla.org/en-US/docs/Web/API/TextTrackList/length>
=head1 METHODS
Inherits methods from its parent L<HTML::Object::DOM::List>
=head2 addEventListener
Set a new event listener for the provided event type. See L<HTML::Object::EventTarget>
=head2 children
Set or get an L<array object|Module::Generic::Array> of elements.
=head2 forEach
Provided with a callback code reference and this will call it for each child element.
See L<Module::Generic::Array/foreach>
=head2 getTrackById
( run in 0.695 second using v1.01-cache-2.11-cpan-5735350b133 )