script/dom/navigator/
pluginarray.rs1use dom_struct::dom_struct;
6use js::context::{JSContext, NoGC};
7use script_bindings::reflector::{Reflector, reflect_dom_object_with_cx};
8
9use crate::dom::bindings::codegen::Bindings::PluginArrayBinding::PluginArrayMethods;
10use crate::dom::bindings::root::DomRoot;
11use crate::dom::bindings::str::DOMString;
12use crate::dom::globalscope::GlobalScope;
13use crate::dom::plugin::Plugin;
14
15#[dom_struct]
16pub(crate) struct PluginArray {
17 reflector_: Reflector,
18}
19
20impl PluginArray {
21 pub(crate) fn new_inherited() -> PluginArray {
22 PluginArray {
23 reflector_: Reflector::new(),
24 }
25 }
26
27 pub(crate) fn new(cx: &mut JSContext, global: &GlobalScope) -> DomRoot<PluginArray> {
28 reflect_dom_object_with_cx(Box::new(PluginArray::new_inherited()), global, cx)
29 }
30}
31
32impl PluginArrayMethods<crate::DomTypeHolder> for PluginArray {
33 fn Refresh(&self, _reload: bool) {}
35
36 fn Length(&self) -> u32 {
38 0
39 }
40
41 fn Item(&self, _index: u32) -> Option<DomRoot<Plugin>> {
43 None
44 }
45
46 fn NamedItem(&self, _name: DOMString) -> Option<DomRoot<Plugin>> {
48 None
49 }
50
51 fn IndexedGetter(&self, _index: u32) -> Option<DomRoot<Plugin>> {
53 None
54 }
55
56 fn NamedGetter(&self, _name: DOMString) -> Option<DomRoot<Plugin>> {
58 None
59 }
60
61 fn SupportedPropertyNames(&self, _: &NoGC) -> Vec<DOMString> {
63 vec![]
64 }
65}