Class: Dommy::HTMLMediaElement
Overview
<audio> / <video> shared base. The actual media engine is
absent in Dommy — getters return inert values, play() returns
a resolved Promise, and pause() flips paused back to true.
Constant Summary
collapse
- NETWORK_EMPTY =
Own js_call methods, on top of Element's.
0
- NETWORK_IDLE =
1
- NETWORK_LOADING =
2
- NETWORK_NO_SOURCE =
3
- HAVE_NOTHING =
0
- HAVE_METADATA =
1
- HAVE_CURRENT_DATA =
2
- HAVE_FUTURE_DATA =
3
- HAVE_ENOUGH_DATA =
4
Constants inherited
from Element
Element::ADJACENT_POSITIONS, Element::APPROX_CHAR_PX, Element::APPROX_LINE_PX, Element::ATTRIBUTE_NODE, Element::CDATA_SECTION_NODE, Element::COMMENT_NODE, Element::DOCUMENT_FRAGMENT_NODE, Element::DOCUMENT_NODE, Element::DOCUMENT_POSITION_CONTAINED_BY, Element::DOCUMENT_POSITION_CONTAINS, Element::DOCUMENT_POSITION_DISCONNECTED, Element::DOCUMENT_POSITION_FOLLOWING, Element::DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, Element::DOCUMENT_POSITION_PRECEDING, Element::DOCUMENT_TYPE_NODE, Element::ELEMENT_NODE, Element::HTML_NAMESPACE, Element::INLINE_TAGS, Element::PROCESSING_INSTRUCTION_NODE, Element::REFLECTED_TOKEN_LIST_HOSTS, Element::SHADOW_HOST_TAGS, Element::SVG_NAMESPACE, Element::TEXT_NODE
Constants included
from Node
Node::ATTRIBUTE_NODE, Node::CDATA_SECTION_NODE, Node::COMMENT_NODE, Node::DOCUMENT_FRAGMENT_NODE, Node::DOCUMENT_NODE, Node::DOCUMENT_POSITION_CONTAINED_BY, Node::DOCUMENT_POSITION_CONTAINS, Node::DOCUMENT_POSITION_DISCONNECTED, Node::DOCUMENT_POSITION_FOLLOWING, Node::DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, Node::DOCUMENT_POSITION_PRECEDING, Node::DOCUMENT_TYPE_NODE, Node::ELEMENT_NODE, Node::HTML_NAMESPACE, Node::PROCESSING_INSTRUCTION_NODE, Node::TEXT_NODE, Node::XMLNS_NAMESPACE, Node::XML_NAMESPACE
Instance Attribute Summary
Attributes inherited from Element
#document
Instance Method Summary
collapse
Methods inherited from HTMLElement
#case_sensitive_attribute_names?, #disabled_by_ancestor_fieldset?, #labels_node_list, #parse_non_negative_reflected, #set_non_negative_reflected
included
Methods inherited from Element
#[], #[]=, #__dommy_backend_node__, #__internal_approx_box, #__internal_case_sensitive_attribute_names__?, #__internal_created_namespace__, #__internal_normalize_attr_key__, #__internal_set_namespace__, #__internal_shadow_root__, #__js_attribute_snapshot__, #__run_click_activation_behavior__, #__test_scroll_log__, #access_key_label, #accessibility_tree, #activation_behavior, #activation_target, #activation_target?, #after, #anchor_href, #animate, #approximate_layout?, #aria_content_attr, #aria_element_attr, #aria_element_get, #aria_element_set, #aria_elements_attr, #aria_elements_current, #aria_elements_get, #aria_elements_set, #aria_find_in_root, #aria_get, #aria_ref_in_valid_scope?, #aria_set, #aria_snapshot, #assigned_slot, #at_xpath, #attach_shadow, #attributes, #base_uri, #before, #blur, #child_element_count, #child_nodes, #children, #class_list, #class_name, #class_name=, #clear_aria_element_ref_for, #click, #clone_node, #closest, #computed_description, #computed_label, #computed_role, #contains?, #dataset, #element_prefix, #equal_node?, #first_child, #first_element_child, #focus, #get_animations, #get_attribute, #get_attribute_names, #get_attribute_node, #get_attribute_node_ns, #get_attribute_ns, #get_bounding_client_rect, #get_client_rects, #get_elements_by_class_name, #get_elements_by_tag_name, #get_elements_by_tag_name_ns, #get_html, #get_inner_html, #has_attribute?, #has_attribute_ns?, #has_attributes?, #has_child_nodes?, #hide_popover, #id, #id=, #initialize, #inner_html, #inner_html=, #insert_adjacent_element, #insert_adjacent_html, #insert_adjacent_text, #insert_before, #insertion_parent!, #is_connected?, #last_child, #last_element_child, #live_child_nodes, #local_name, #mark_fragment_scripts_started, #matches?, #namespace_uri, #next_element_sibling, #next_sibling, #on, #outer_html, #outer_html=, #owner_document, #parent_element, #parent_node, #path, #pre_click_activation_state, #previous_element_sibling, #previous_sibling, #query_selector, #query_selector_all, #reflected_attr_name, #reflected_token_list, #remove, #remove_attribute, #remove_attribute_node, #remove_attribute_ns, #remove_child, #replace_child, #replace_with_nodes, #request_fullscreen, #restore_pre_click_activation, #role, #role=, #root_node, #run_post_click_activation, #same_node?, #set_attribute, #set_attribute_node, #set_attribute_ns, #shadow_root, #show_popover, #slot, #slot=, #style, #tag_name, #text_content, #text_content=, #to_s, #toggle_attribute, #toggle_popover, #translate_mode?, #validate_adjacent_document_insert!, #with_selector_errors, #xpath
included
#append, #append_child, #normalize, #prepend, #replace_children
#child_node_after, #child_node_before, #child_node_replace_with, #nullable_dom_string, #validate_insert_before_ref!
Methods included from Node
#compare_document_position, #get_root_node, #is_default_namespace, #is_equal_node, #is_same_node, #lookup_namespace_uri, #lookup_prefix
#__dommy_dump_event_failure__, #__internal_deliver_event__, #__internal_event_parent__, #__internal_process_event_handler_return__, #add_event_listener, capture_flag, #deliver_at, #dispatch_event, #event_name_from_on, #invoke_listener_isolated, js_truthy?, #on_handler, #remove_event_listener, #set_on_handler
Constructor Details
This class inherits a constructor from Dommy::Element
Instance Method Details
#__js_call__(method, args) ⇒ Object
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
|
# File 'lib/dommy/html_elements.rb', line 4097
def __js_call__(method, args)
case method
when "play"
play
when "pause"
pause
when "load"
load
when "canPlayType"
can_play_type(args[0])
else
super
end
end
|
#__js_get__(key) ⇒ Object
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
|
# File 'lib/dommy/html_elements.rb', line 4030
def __js_get__(key)
case key
when "currentSrc"
current_src
when "muted"
muted
when "paused"
paused
when "ended"
ended
when "seeking"
seeking
when "volume"
volume
when "playbackRate"
playback_rate
when "defaultPlaybackRate"
default_playback_rate
when "currentTime"
current_time
when "duration"
duration
when "networkState"
network_state
when "readyState"
ready_state
when "NETWORK_EMPTY"
NETWORK_EMPTY
when "NETWORK_IDLE"
NETWORK_IDLE
when "NETWORK_LOADING"
NETWORK_LOADING
when "NETWORK_NO_SOURCE"
NETWORK_NO_SOURCE
when "HAVE_NOTHING"
HAVE_NOTHING
when "HAVE_METADATA"
HAVE_METADATA
when "HAVE_CURRENT_DATA"
HAVE_CURRENT_DATA
when "HAVE_FUTURE_DATA"
HAVE_FUTURE_DATA
when "HAVE_ENOUGH_DATA"
HAVE_ENOUGH_DATA
else
super
end
end
|
#__js_set__(key, value) ⇒ Object
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
|
# File 'lib/dommy/html_elements.rb', line 4079
def __js_set__(key, value)
case key
when "muted"
self.muted = value
when "volume"
self.volume = value
when "playbackRate"
self.playback_rate = value
when "defaultPlaybackRate"
self.default_playback_rate = value
when "currentTime"
self.current_time = value
else
super
end
end
|
#can_play_type(_type) ⇒ Object
4025
4026
4027
4028
|
# File 'lib/dommy/html_elements.rb', line 4025
def can_play_type(_type)
""
end
|
#current_src ⇒ Object
3941
3942
3943
|
# File 'lib/dommy/html_elements.rb', line 3941
def current_src
src
end
|
#current_time ⇒ Object
3989
3990
3991
|
# File 'lib/dommy/html_elements.rb', line 3989
def current_time
@__current_time.to_f
end
|
#current_time=(v) ⇒ Object
3993
3994
3995
|
# File 'lib/dommy/html_elements.rb', line 3993
def current_time=(v)
@__current_time = v.to_f
end
|
#default_playback_rate ⇒ Object
3981
3982
3983
|
# File 'lib/dommy/html_elements.rb', line 3981
def default_playback_rate
@__default_rate.nil? ? 1.0 : @__default_rate
end
|
#default_playback_rate=(v) ⇒ Object
3985
3986
3987
|
# File 'lib/dommy/html_elements.rb', line 3985
def default_playback_rate=(v)
@__default_rate = v.to_f
end
|
#duration ⇒ Object
3997
3998
3999
|
# File 'lib/dommy/html_elements.rb', line 3997
def duration
Float::NAN
end
|
#ended ⇒ Object
3957
3958
3959
|
# File 'lib/dommy/html_elements.rb', line 3957
def ended
false
end
|
#load ⇒ Object
4021
4022
4023
|
# File 'lib/dommy/html_elements.rb', line 4021
def load
nil
end
|
#muted ⇒ Object
3945
3946
3947
|
# File 'lib/dommy/html_elements.rb', line 3945
def muted
@__muted == true || reflected_boolean("muted")
end
|
#muted=(v) ⇒ Object
3949
3950
3951
|
# File 'lib/dommy/html_elements.rb', line 3949
def muted=(v)
@__muted = !!v
end
|
#network_state ⇒ Object
4001
4002
4003
|
# File 'lib/dommy/html_elements.rb', line 4001
def network_state
NETWORK_EMPTY
end
|
#pause ⇒ Object
4016
4017
4018
4019
|
# File 'lib/dommy/html_elements.rb', line 4016
def pause
@__paused = true
nil
end
|
#paused ⇒ Object
3953
3954
3955
|
# File 'lib/dommy/html_elements.rb', line 3953
def paused
@__paused.nil? ? true : @__paused
end
|
#play ⇒ Object
4009
4010
4011
4012
4013
4014
|
# File 'lib/dommy/html_elements.rb', line 4009
def play
@__paused = false
promise = PromiseValue.new(@document.default_view)
promise.fulfill(nil)
promise
end
|
#playback_rate ⇒ Object
3973
3974
3975
|
# File 'lib/dommy/html_elements.rb', line 3973
def playback_rate
@__rate.nil? ? 1.0 : @__rate
end
|
#playback_rate=(v) ⇒ Object
3977
3978
3979
|
# File 'lib/dommy/html_elements.rb', line 3977
def playback_rate=(v)
@__rate = v.to_f
end
|
#ready_state ⇒ Object
4005
4006
4007
|
# File 'lib/dommy/html_elements.rb', line 4005
def ready_state
HAVE_NOTHING
end
|
#seeking ⇒ Object
3961
3962
3963
|
# File 'lib/dommy/html_elements.rb', line 3961
def seeking
false
end
|
#volume ⇒ Object
3965
3966
3967
|
# File 'lib/dommy/html_elements.rb', line 3965
def volume
@__volume.nil? ? 1.0 : @__volume
end
|
#volume=(v) ⇒ Object
3969
3970
3971
|
# File 'lib/dommy/html_elements.rb', line 3969
def volume=(v)
@__volume = v.to_f
end
|