aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--components/canvas_traits/lib.rs18
-rw-r--r--components/devtools_traits/lib.rs4
-rw-r--r--components/layout/Cargo.toml2
-rw-r--r--components/layout/table.rs32
-rw-r--r--components/layout/table_row.rs38
-rw-r--r--components/layout_thread/lib.rs126
-rw-r--r--components/plugins/lints/unrooted_must_root.rs2
-rw-r--r--components/script/Cargo.toml3
-rw-r--r--components/script/dom/attr.rs2
-rw-r--r--components/script/dom/bindings/codegen/CodegenRust.py25
-rw-r--r--components/script/dom/bindings/iterable.rs50
-rw-r--r--components/script/dom/bindings/mod.rs3
-rw-r--r--components/script/dom/bindings/trace.rs8
-rw-r--r--components/script/dom/canvasrenderingcontext2d.rs14
-rw-r--r--components/script/dom/characterdata.rs2
-rw-r--r--components/script/dom/crypto.rs6
-rw-r--r--components/script/dom/cssstyledeclaration.rs35
-rw-r--r--components/script/dom/document.rs44
-rw-r--r--components/script/dom/domrectlist.rs3
-rw-r--r--components/script/dom/domstringmap.rs6
-rw-r--r--components/script/dom/domtokenlist.rs6
-rw-r--r--components/script/dom/element.rs47
-rw-r--r--components/script/dom/filelist.rs6
-rw-r--r--components/script/dom/htmlcanvaselement.rs3
-rw-r--r--components/script/dom/htmlcollection.rs12
-rw-r--r--components/script/dom/htmlformcontrolscollection.rs10
-rw-r--r--components/script/dom/htmlformelement.rs4
-rw-r--r--components/script/dom/htmlmetaelement.rs2
-rw-r--r--components/script/dom/htmloptionelement.rs16
-rw-r--r--components/script/dom/imagedata.rs15
-rw-r--r--components/script/dom/mimetypearray.rs4
-rw-r--r--components/script/dom/namednodemap.rs12
-rw-r--r--components/script/dom/navigator.rs6
-rw-r--r--components/script/dom/node.rs6
-rw-r--r--components/script/dom/nodelist.rs6
-rw-r--r--components/script/dom/plugin.rs4
-rw-r--r--components/script/dom/pluginarray.rs4
-rw-r--r--components/script/dom/radionodelist.rs4
-rw-r--r--components/script/dom/storage.rs6
-rw-r--r--components/script/dom/stylesheetlist.rs6
-rw-r--r--components/script/dom/testbinding.rs30
-rw-r--r--components/script/dom/testbindingiterable.rs8
-rw-r--r--components/script/dom/testbindingproxy.rs4
-rw-r--r--components/script/dom/textencoder.rs10
-rw-r--r--components/script/dom/touchlist.rs6
-rw-r--r--components/script/dom/webglrenderingcontext.rs9
-rw-r--r--components/script/dom/webidls/HTMLOptionElement.webidl2
-rw-r--r--components/script/dom/webidls/Navigator.webidl7
-rw-r--r--components/script/dom/window.rs6
-rw-r--r--components/script/dom/xmldocument.rs5
-rw-r--r--components/script/layout_wrapper.rs12
-rw-r--r--components/script/lib.rs2
-rw-r--r--components/script_layout_interface/Cargo.toml2
-rw-r--r--components/servo/Cargo.lock61
-rw-r--r--components/style/Cargo.toml2
-rw-r--r--components/style/dom.rs5
-rw-r--r--components/style/domrefcell.rs (renamed from components/script/dom/bindings/cell.rs)20
-rw-r--r--components/style/keyframes.rs31
-rw-r--r--components/style/lib.rs1
-rw-r--r--components/style/matching.rs14
-rw-r--r--components/style/media_queries.rs23
-rw-r--r--components/style/properties/gecko.mako.rs96
-rw-r--r--components/style/properties/properties.mako.rs31
-rw-r--r--components/style/refcell.rs222
-rw-r--r--components/style/restyle_hints.rs120
-rw-r--r--components/style/selector_matching.rs195
-rw-r--r--components/style/stylesheets.rs82
-rw-r--r--components/style/values/computed/mod.rs22
-rw-r--r--components/style/values/specified/mod.rs119
-rw-r--r--components/style_traits/values.rs2
-rwxr-xr-xmach3
-rw-r--r--ports/cef/Cargo.lock59
-rw-r--r--ports/geckolib/Cargo.lock18
-rw-r--r--ports/geckolib/Cargo.toml2
-rwxr-xr-xports/geckolib/binding_tools/regen.py4
-rwxr-xr-xports/geckolib/binding_tools/regen_atoms.py4
-rw-r--r--ports/geckolib/gecko_bindings/bindings.rs6
-rw-r--r--ports/geckolib/gecko_bindings/structs_debug.rs5
-rw-r--r--ports/geckolib/gecko_bindings/structs_release.rs5
-rw-r--r--ports/geckolib/gecko_bindings/sugar/mod.rs1
-rw-r--r--ports/geckolib/gecko_bindings/sugar/ns_css_shadow_array.rs65
-rw-r--r--ports/geckolib/glue.rs4
-rw-r--r--ports/geckolib/string_cache/Cargo.toml2
-rw-r--r--ports/geckolib/string_cache/atom_macro.rs4912
-rw-r--r--ports/geckolib/wrapper.rs17
-rw-r--r--python/mach_bootstrap.py71
-rw-r--r--python/tidy/servo_tidy/tidy.py3
-rw-r--r--python/tidy/servo_tidy_tests/empty_file.rs0
-rw-r--r--python/tidy/servo_tidy_tests/test_tidy.py5
-rw-r--r--python/tidy/setup.py2
-rw-r--r--resources/shaders/prim_shared.glsl371
-rw-r--r--resources/shaders/ps_angle_gradient.glsl2
-rw-r--r--resources/shaders/ps_angle_gradient.vs.glsl14
-rw-r--r--resources/shaders/ps_blend.vs.glsl12
-rw-r--r--resources/shaders/ps_border.fs.glsl324
-rw-r--r--resources/shaders/ps_border.glsl3
-rw-r--r--resources/shaders/ps_border.vs.glsl23
-rw-r--r--resources/shaders/ps_box_shadow.vs.glsl14
-rw-r--r--resources/shaders/ps_clear.vs.glsl13
-rw-r--r--resources/shaders/ps_composite.vs.glsl18
-rw-r--r--resources/shaders/ps_gradient.vs.glsl16
-rw-r--r--resources/shaders/ps_image.vs.glsl34
-rw-r--r--resources/shaders/ps_image_clip.vs.glsl34
-rw-r--r--resources/shaders/ps_rectangle.vs.glsl11
-rw-r--r--resources/shaders/ps_rectangle_clip.vs.glsl12
-rw-r--r--resources/shaders/ps_text.vs.glsl12
-rw-r--r--resources/shaders/ps_text_run.vs.glsl29
-rw-r--r--tests/html/tiny_test.html1
-rw-r--r--tests/unit/script/size_of.rs8
-rw-r--r--tests/unit/style/Cargo.toml2
-rw-r--r--tests/unit/style/properties/serialization.rs6
-rw-r--r--tests/unit/style/selector_matching.rs7
-rw-r--r--tests/unit/style/stylesheets.rs88
-rw-r--r--tests/wpt/metadata-css/css21_dev/html4/border-bottom-applies-to-004.htm.ini3
-rw-r--r--tests/wpt/metadata-css/css21_dev/html4/border-bottom-color-applies-to-004.htm.ini3
-rw-r--r--tests/wpt/metadata-css/css21_dev/html4/border-bottom-width-applies-to-004.htm.ini3
-rw-r--r--tests/wpt/metadata-css/css21_dev/html4/border-conflict-style-101.htm.ini3
-rw-r--r--tests/wpt/metadata-css/css21_dev/html4/border-left-applies-to-004.htm.ini3
-rw-r--r--tests/wpt/metadata-css/css21_dev/html4/border-left-color-applies-to-004.htm.ini3
-rw-r--r--tests/wpt/metadata-css/css21_dev/html4/border-left-width-applies-to-004.htm.ini3
-rw-r--r--tests/wpt/metadata-css/css21_dev/html4/border-right-applies-to-004.htm.ini3
-rw-r--r--tests/wpt/metadata-css/css21_dev/html4/border-right-color-applies-to-004.htm.ini3
-rw-r--r--tests/wpt/metadata-css/css21_dev/html4/border-right-width-applies-to-004.htm.ini3
-rw-r--r--tests/wpt/metadata-css/css21_dev/html4/vertical-align-121.htm.ini3
-rw-r--r--tests/wpt/metadata/MANIFEST.json12
-rw-r--r--tests/wpt/metadata/html/dom/interfaces.html.ini13
-rw-r--r--tests/wpt/metadata/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late.html.ini5
-rw-r--r--tests/wpt/mozilla/meta/MANIFEST.json90
-rw-r--r--tests/wpt/mozilla/tests/css/border_collapse_row_a.html31
-rw-r--r--tests/wpt/mozilla/tests/css/border_collapse_row_ref.html34
-rw-r--r--tests/wpt/mozilla/tests/css/border_collapse_simple_a.html13
-rw-r--r--tests/wpt/mozilla/tests/css/deferred-paint-ref.html15
-rw-r--r--tests/wpt/mozilla/tests/css/deferred-paint.html21
-rw-r--r--tests/wpt/mozilla/tests/css/media_calc_crash.html17
-rw-r--r--tests/wpt/mozilla/tests/css/restyle-nth-child-ref.html17
-rw-r--r--tests/wpt/mozilla/tests/css/restyle-nth-child.html24
-rw-r--r--tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-form.html32
-rw-r--r--tests/wpt/web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late.html25
138 files changed, 4804 insertions, 3571 deletions
diff --git a/components/canvas_traits/lib.rs b/components/canvas_traits/lib.rs
index db945750a0c..d148baf0550 100644
--- a/components/canvas_traits/lib.rs
+++ b/components/canvas_traits/lib.rs
@@ -552,3 +552,21 @@ pub fn byte_swap(data: &mut [u8]) {
i += 4;
}
}
+
+pub fn byte_swap_and_premultiply(data: &mut [u8]) {
+ let length = data.len();
+
+ let mut i = 0;
+ while i < length {
+ let r = data[i + 2];
+ let g = data[i + 1];
+ let b = data[i + 0];
+ let a = data[i + 3];
+
+ data[i + 0] = ((r as u32) * (a as u32) / 255) as u8;
+ data[i + 1] = ((g as u32) * (a as u32) / 255) as u8;
+ data[i + 2] = ((b as u32) * (a as u32) / 255) as u8;
+
+ i += 4;
+ }
+}
diff --git a/components/devtools_traits/lib.rs b/components/devtools_traits/lib.rs
index 2d8f5f0c197..ecaec49995b 100644
--- a/components/devtools_traits/lib.rs
+++ b/components/devtools_traits/lib.rs
@@ -252,7 +252,7 @@ bitflags! {
#[derive(Deserialize, Serialize)]
pub struct PageError {
- #[serde(rename = "type")]
+ #[serde(rename = "_type")]
pub type_: String,
pub errorMessage: String,
pub sourceName: String,
@@ -270,7 +270,7 @@ pub struct PageError {
#[derive(Deserialize, Serialize)]
pub struct ConsoleAPI {
- #[serde(rename = "type")]
+ #[serde(rename = "_type")]
pub type_: String,
pub level: String,
pub filename: String,
diff --git a/components/layout/Cargo.toml b/components/layout/Cargo.toml
index e974cfa9b1d..460cd5f0c07 100644
--- a/components/layout/Cargo.toml
+++ b/components/layout/Cargo.toml
@@ -33,7 +33,7 @@ range = {path = "../range"}
rustc-serialize = "0.3"
script_layout_interface = {path = "../script_layout_interface"}
script_traits = {path = "../script_traits"}
-selectors = {version = "0.12", features = ["heap_size"]}
+selectors = {version = "0.13", features = ["heap_size"]}
serde_macros = "0.8"
smallvec = "0.1"
string_cache = {version = "0.2.26", features = ["heap_size"]}
diff --git a/components/layout/table.rs b/components/layout/table.rs
index 96475f4a9e2..a67312d1bc3 100644
--- a/components/layout/table.rs
+++ b/components/layout/table.rs
@@ -311,12 +311,13 @@ impl Flow for TableFlow {
&mut self.collapsed_block_direction_border_widths_for_table);
previous_collapsed_block_end_borders =
PreviousBlockCollapsedBorders::FromPreviousRow(
- row.final_collapsed_borders.block_end.clone())
+ row.final_collapsed_borders.block_end.clone());
}
first_row = false
- }
+ };
}
+
computation.surrounding_size = computation.surrounding_size +
self.total_horizontal_spacing();
@@ -425,7 +426,7 @@ impl Flow for TableFlow {
collapsed_inline_direction_border_widths_for_table,
&mut collapsed_block_direction_border_widths_for_table);
}
- })
+ });
}
fn assign_block_size<'a>(&mut self, _: &'a LayoutContext<'a>) {
@@ -589,7 +590,7 @@ impl ColumnIntrinsicInlineSize {
///
/// TODO(pcwalton): There will probably be some `border-collapse`-related info in here too
/// eventually.
-#[derive(RustcEncodable, Clone, Copy)]
+#[derive(RustcEncodable, Clone, Copy, Debug)]
pub struct ColumnComputedInlineSize {
/// The computed size of this inline column.
pub size: Au,
@@ -629,27 +630,21 @@ fn perform_border_collapse_for_row(child_table_row: &mut TableRowFlow,
next_block_borders: NextBlockCollapsedBorders,
inline_spacing: &mut Vec<Au>,
block_spacing: &mut Vec<Au>) {
+ let number_of_borders_inline_direction = child_table_row.preliminary_collapsed_borders.inline.len();
// Compute interior inline borders.
for (i, this_inline_border) in child_table_row.preliminary_collapsed_borders
.inline
- .iter()
+ .iter_mut()
.enumerate() {
child_table_row.final_collapsed_borders.inline.push_or_set(i, *this_inline_border);
+ if i == 0 {
+ child_table_row.final_collapsed_borders.inline[i].combine(&table_inline_borders.start);
+ } else if i + 1 == number_of_borders_inline_direction {
+ child_table_row.final_collapsed_borders.inline[i].combine(&table_inline_borders.end);
+ }
let inline_spacing = inline_spacing.get_mut_or_push(i, Au(0));
- *inline_spacing = cmp::max(*inline_spacing, this_inline_border.width)
- }
-
- // Collapse edge interior borders with the table.
- if let Some(ref mut first_inline_borders) = child_table_row.final_collapsed_borders
- .inline
- .get_mut(0) {
- first_inline_borders.combine(&table_inline_borders.start)
- }
- if let Some(ref mut last_inline_borders) = child_table_row.final_collapsed_borders
- .inline
- .last_mut() {
- last_inline_borders.combine(&table_inline_borders.end)
+ *inline_spacing = cmp::max(*inline_spacing, child_table_row.final_collapsed_borders.inline[i].width)
}
// Compute block-start borders.
@@ -777,6 +772,7 @@ impl TableLikeFlow for BlockFlow {
}
/// Inline collapsed borders for the table itself.
+#[derive(Debug)]
struct TableInlineCollapsedBorders {
/// The table border at the start of the inline direction.
start: CollapsedBorder,
diff --git a/components/layout/table_row.rs b/components/layout/table_row.rs
index a941905e5e9..d3066ff0a6a 100644
--- a/components/layout/table_row.rs
+++ b/components/layout/table_row.rs
@@ -245,10 +245,13 @@ impl Flow for TableRowFlow {
.style()
.get_inheritedtable()
.border_collapse == border_collapse::T::collapse;
- // FIXME(pcwalton): Shouldn't use `CollapsedBorder::new()` here.
- self.preliminary_collapsed_borders.reset(CollapsedBorder::new());
+ let row_style = &*self.block_flow.fragment.style;
+ self.preliminary_collapsed_borders.reset(
+ CollapsedBorder::inline_start(&row_style,
+ CollapsedBorderProvenance::FromTableRow));
{
+ let children_count = self.block_flow.base.children.len();
let mut iterator = self.block_flow.base.child_iter_mut().enumerate().peekable();
while let Some((i, kid)) = iterator.next() {
assert!(kid.is_table_cell());
@@ -268,6 +271,8 @@ impl Flow for TableRowFlow {
// Perform border collapse if necessary.
if collapsing_borders {
perform_inline_direction_border_collapse_for_row(
+ row_style,
+ children_count,
i,
child_table_cell,
&mut iterator,
@@ -829,10 +834,20 @@ pub struct BorderCollapseInfoForChildTableCell<'a> {
/// table row. This is done eagerly here so that at least the inline inside border collapse
/// computations can be parallelized across all the rows of the table.
fn perform_inline_direction_border_collapse_for_row(
+ row_style: &ServoComputedValues,
+ children_count: usize,
child_index: usize,
child_table_cell: &mut TableCellFlow,
iterator: &mut Peekable<Enumerate<MutFlowListIterator>>,
preliminary_collapsed_borders: &mut CollapsedBordersForRow) {
+ // In the first cell, combine its border with the one coming from the row.
+ if child_index == 0 {
+ let first_inline_border = &mut preliminary_collapsed_borders.inline[0];
+ first_inline_border.combine(
+ &CollapsedBorder::inline_start(&*child_table_cell.block_flow.fragment.style,
+ CollapsedBorderProvenance::FromPreviousTableCell));
+ }
+
let inline_collapsed_border = preliminary_collapsed_borders.inline.push_or_set(
child_index + 1,
CollapsedBorder::inline_end(&*child_table_cell.block_flow.fragment.style,
@@ -845,12 +860,25 @@ fn perform_inline_direction_border_collapse_for_row(
CollapsedBorderProvenance::FromNextTableCell))
};
- let block_start_border =
+ // In the last cell, also take into account the border that may
+ // come from the row.
+ if child_index + 1 == children_count {
+ inline_collapsed_border.combine(
+ &CollapsedBorder::inline_end(&row_style,
+ CollapsedBorderProvenance::FromTableRow));
+ }
+
+ let mut block_start_border =
CollapsedBorder::block_start(&*child_table_cell.block_flow.fragment.style,
CollapsedBorderProvenance::FromNextTableCell);
+ block_start_border.combine(
+ &CollapsedBorder::block_start(row_style, CollapsedBorderProvenance::FromTableRow));
preliminary_collapsed_borders.block_start.push_or_set(child_index, block_start_border);
- let block_end_border =
+ let mut block_end_border =
CollapsedBorder::block_end(&*child_table_cell.block_flow.fragment.style,
- CollapsedBorderProvenance::FromPreviousTableCell);
+ CollapsedBorderProvenance::FromPreviousTableCell);
+ block_end_border.combine(
+ &CollapsedBorder::block_end(row_style, CollapsedBorderProvenance::FromTableRow));
+
preliminary_collapsed_borders.block_end.push_or_set(child_index, block_end_border);
}
diff --git a/components/layout_thread/lib.rs b/components/layout_thread/lib.rs
index 4cf5a435da7..d3be538e2b3 100644
--- a/components/layout_thread/lib.rs
+++ b/components/layout_thread/lib.rs
@@ -85,7 +85,7 @@ use net_traits::image_cache_thread::{ImageCacheChan, ImageCacheResult, ImageCach
use profile_traits::mem::{self, Report, ReportKind, ReportsChan};
use profile_traits::time::{TimerMetadataFrameType, TimerMetadataReflowType};
use profile_traits::time::{self, TimerMetadata, profile};
-use script::layout_wrapper::ServoLayoutNode;
+use script::layout_wrapper::{ServoLayoutDocument, ServoLayoutNode};
use script_layout_interface::message::{Msg, NewLayoutThreadInfo, Reflow, ReflowQueryType, ScriptReflow};
use script_layout_interface::reporter::CSSErrorReporter;
use script_layout_interface::restyle_damage::{REPAINT, STORE_OVERFLOW, REFLOW_OUT_OF_FLOW, REFLOW};
@@ -629,6 +629,7 @@ impl LayoutThread {
reflow_info.goal);
self.perform_post_style_recalc_layout_passes(&reflow_info,
+ None,
&mut *rw_data,
&mut layout_context);
@@ -901,6 +902,7 @@ impl LayoutThread {
fn compute_abs_pos_and_build_display_list(&mut self,
data: &Reflow,
+ document: Option<&ServoLayoutDocument>,
layout_root: &mut Flow,
shared_layout_context: &mut SharedLayoutContext,
rw_data: &mut LayoutThreadData) {
@@ -962,59 +964,69 @@ impl LayoutThread {
Some(Arc::new(DisplayList::new(root_stacking_context, display_list_entries)))
}
- if data.goal == ReflowGoal::ForDisplay {
- let display_list = (*rw_data.display_list.as_ref().unwrap()).clone();
+ if data.goal != ReflowGoal::ForDisplay {
+ // Defer the paint step until the next ForDisplay.
+ //
+ // We need to tell the document about this so it doesn't
+ // incorrectly suppress reflows. See #13131.
+ document.expect("No document in a non-display reflow?")
+ .needs_paint_from_layout();
+ return;
+ }
+ if let Some(document) = document {
+ document.will_paint();
+ }
+ let display_list = (*rw_data.display_list.as_ref().unwrap()).clone();
- if opts::get().dump_display_list {
- display_list.print();
- }
- if opts::get().dump_display_list_json {
- println!("{}", serde_json::to_string_pretty(&display_list).unwrap());
- }
+ if opts::get().dump_display_list {
+ display_list.print();
+ }
+ if opts::get().dump_display_list_json {
+ println!("{}", serde_json::to_string_pretty(&display_list).unwrap());
+ }
- debug!("Layout done!");
-
- self.epoch.next();
-
- if let Some(ref mut webrender_api) = self.webrender_api {
- // TODO: Avoid the temporary conversion and build webrender sc/dl directly!
- let Epoch(epoch_number) = self.epoch;
- let epoch = webrender_traits::Epoch(epoch_number);
- let pipeline_id = self.id.to_webrender();
-
- // TODO(gw) For now only create a root scrolling layer!
- let mut frame_builder = WebRenderFrameBuilder::new(pipeline_id);
- let root_scroll_layer_id = frame_builder.next_scroll_layer_id();
- let sc_id = rw_data.display_list.as_ref().unwrap().convert_to_webrender(
- webrender_api,
- pipeline_id,
- epoch,
- Some(root_scroll_layer_id),
- &mut frame_builder);
- let root_background_color = get_root_flow_background_color(layout_root);
- let root_background_color =
- webrender_traits::ColorF::new(root_background_color.r,
- root_background_color.g,
- root_background_color.b,
- root_background_color.a);
-
- let viewport_size = Size2D::new(self.viewport_size.width.to_f32_px(),
- self.viewport_size.height.to_f32_px());
-
- webrender_api.set_root_stacking_context(
- sc_id,
- root_background_color,
- epoch,
- pipeline_id,
- viewport_size,
- frame_builder.stacking_contexts,
- frame_builder.display_lists,
- frame_builder.auxiliary_lists_builder.finalize());
- } else {
- self.paint_chan
- .send(LayoutToPaintMsg::PaintInit(self.epoch, display_list))
- .unwrap();
- }
+ debug!("Layout done!");
+
+ self.epoch.next();
+
+ if let Some(ref mut webrender_api) = self.webrender_api {
+ // TODO: Avoid the temporary conversion and build webrender sc/dl directly!
+ let Epoch(epoch_number) = self.epoch;
+ let epoch = webrender_traits::Epoch(epoch_number);
+ let pipeline_id = self.id.to_webrender();
+
+ // TODO(gw) For now only create a root scrolling layer!
+ let mut frame_builder = WebRenderFrameBuilder::new(pipeline_id);
+ let root_scroll_layer_id = frame_builder.next_scroll_layer_id();
+ let sc_id = rw_data.display_list.as_ref().unwrap().convert_to_webrender(
+ webrender_api,
+ pipeline_id,
+ epoch,
+ Some(root_scroll_layer_id),
+ &mut frame_builder);
+ let root_background_color = get_root_flow_background_color(layout_root);
+ let root_background_color =
+ webrender_traits::ColorF::new(root_background_color.r,
+ root_background_color.g,
+ root_background_color.b,
+ root_background_color.a);
+
+ let viewport_size = Size2D::new(self.viewport_size.width.to_f32_px(),
+ self.viewport_size.height.to_f32_px());
+
+ webrender_api.set_root_stacking_context(
+ sc_id,
+ root_background_color,
+ epoch,
+ pipeline_id,
+ viewport_size,
+ frame_builder.stacking_contexts,
+ frame_builder.display_lists,
+ frame_builder.auxiliary_lists_builder.finalize());
+ } else {
+ self.paint_chan
+ .send(LayoutToPaintMsg::PaintInit(self.epoch, display_list))
+ .unwrap();
}
});
}
@@ -1205,6 +1217,7 @@ impl LayoutThread {
// Perform post-style recalculation layout passes.
self.perform_post_style_recalc_layout_passes(&data.reflow_info,
+ Some(&document),
&mut rw_data,
&mut shared_layout_context);
@@ -1327,7 +1340,7 @@ impl LayoutThread {
false,
reflow_info.goal);
- self.perform_post_main_layout_passes(&reflow_info, &mut *rw_data, &mut layout_context);
+ self.perform_post_main_layout_passes(&reflow_info, None, &mut *rw_data, &mut layout_context);
true
}
@@ -1385,6 +1398,7 @@ impl LayoutThread {
}
self.perform_post_style_recalc_layout_passes(&reflow_info,
+ None,
&mut *rw_data,
&mut layout_context);
}
@@ -1407,12 +1421,14 @@ impl LayoutThread {
return
}
self.perform_post_style_recalc_layout_passes(&reflow_info,
+ None,
&mut *rw_data,
&mut layout_context);
}
fn perform_post_style_recalc_layout_passes(&mut self,
data: &Reflow,
+ document: Option<&ServoLayoutDocument>,
rw_data: &mut LayoutThreadData,
layout_context: &mut SharedLayoutContext) {
if let Some(mut root_flow) = self.root_flow.clone() {
@@ -1487,17 +1503,19 @@ impl LayoutThread {
flow_ref::deref_mut(&mut root_flow) as &mut Flow);
});
- self.perform_post_main_layout_passes(data, rw_data, layout_context);
+ self.perform_post_main_layout_passes(data, document, rw_data, layout_context);
}
}
fn perform_post_main_layout_passes(&mut self,
data: &Reflow,
+ document: Option<&ServoLayoutDocument>,
rw_data: &mut LayoutThreadData,
layout_context: &mut SharedLayoutContext) {
// Build the display list if necessary, and send it to the painter.
if let Some(mut root_flow) = self.root_flow.clone() {
self.compute_abs_pos_and_build_display_list(data,
+ document,
flow_ref::deref_mut(&mut root_flow),
&mut *layout_context,
rw_data);
diff --git a/components/plugins/lints/unrooted_must_root.rs b/components/plugins/lints/unrooted_must_root.rs
index 4e4d2328324..3170bb190e7 100644
--- a/components/plugins/lints/unrooted_must_root.rs
+++ b/components/plugins/lints/unrooted_must_root.rs
@@ -53,6 +53,8 @@ fn is_unrooted_ty(cx: &LateContext, ty: &ty::TyS, in_new_function: bool) -> bool
false
} else if match_def_path(cx, did.did, &["core", "cell", "Ref"])
|| match_def_path(cx, did.did, &["core", "cell", "RefMut"])
+ || match_def_path(cx, did.did, &["style", "refcell", "Ref"])
+ || match_def_path(cx, did.did, &["style", "refcell", "RefMut"])
|| match_def_path(cx, did.did, &["core", "slice", "Iter"])
|| match_def_path(cx, did.did, &["std", "collections", "hash", "map", "OccupiedEntry"])
|| match_def_path(cx, did.did, &["std", "collections", "hash", "map", "VacantEntry"]) {
diff --git a/components/script/Cargo.toml b/components/script/Cargo.toml
index 30aab73f112..3e8e216c986 100644
--- a/components/script/Cargo.toml
+++ b/components/script/Cargo.toml
@@ -56,13 +56,12 @@ plugins = {path = "../plugins"}
profile_traits = {path = "../profile_traits"}
rand = "0.3"
range = {path = "../range"}
-ref_filter_map = "1.0"
ref_slice = "1.0"
regex = "0.1.43"
rustc-serialize = "0.3"
script_layout_interface = {path = "../script_layout_interface"}
script_traits = {path = "../script_traits"}
-selectors = {version = "0.12", features = ["heap_size"]}
+selectors = {version = "0.13", features = ["heap_size"]}
serde = "0.8"
smallvec = "0.1"
string_cache = {version = "0.2.26", features = ["heap_size", "unstable"]}
diff --git a/components/script/dom/attr.rs b/components/script/dom/attr.rs
index d5a00e6c1fa..36de48a1f9b 100644
--- a/components/script/dom/attr.rs
+++ b/components/script/dom/attr.rs
@@ -15,10 +15,10 @@ use dom::element::{AttributeMutation, Element};
use dom::virtualmethods::vtable_for;
use dom::window::Window;
use std::borrow::ToOwned;
-use std::cell::Ref;
use std::mem;
use string_cache::{Atom, Namespace};
use style::attr::{AttrIdentifier, AttrValue};
+use style::refcell::Ref;
// https://dom.spec.whatwg.org/#interface-attr
#[dom_struct]
diff --git a/components/script/dom/bindings/codegen/CodegenRust.py b/components/script/dom/bindings/codegen/CodegenRust.py
index 7842e08bfa7..cf918feb8e3 100644
--- a/components/script/dom/bindings/codegen/CodegenRust.py
+++ b/components/script/dom/bindings/codegen/CodegenRust.py
@@ -18,6 +18,7 @@ from WebIDL import (
BuiltinTypes,
IDLBuiltinType,
IDLNullValue,
+ IDLNullableType,
IDLType,
IDLInterfaceMember,
IDLUndefinedValue,
@@ -1349,7 +1350,10 @@ def getRetvalDeclarationForType(returnType, descriptorProvider):
if returnType.isAny():
return CGGeneric("JSVal")
if returnType.isObject() or returnType.isSpiderMonkeyInterface():
- return CGGeneric("*mut JSObject")
+ result = CGGeneric("NonZero<*mut JSObject>")
+ if returnType.nullable():
+ result = CGWrapper(result, pre="Option<", post=">")
+ return result
if returnType.isSequence():
result = getRetvalDeclarationForType(innerSequenceType(returnType), descriptorProvider)
result = CGWrapper(result, pre="Vec<", post=">")
@@ -4552,6 +4556,8 @@ class CGProxySpecialOperation(CGPerSignatureCall):
signature = operation.signatures()[0]
(returnType, arguments) = signature
+ if operation.isGetter() and not returnType.nullable():
+ returnType = IDLNullableType(returnType.location, returnType)
# We pass len(arguments) as the final argument so that the
# CGPerSignatureCall won't do any argument conversion of its own.
@@ -4574,8 +4580,6 @@ class CGProxySpecialOperation(CGPerSignatureCall):
self.cgRoot.prepend(instantiateJSToNativeConversionTemplate(
template, templateValues, declType, argument.identifier.name))
self.cgRoot.prepend(CGGeneric("rooted!(in(cx) let value = desc.value);"))
- elif operation.isGetter():
- self.cgRoot.prepend(CGGeneric("let mut found = false;"))
def getArguments(self):
def process(arg):
@@ -4584,10 +4588,6 @@ class CGProxySpecialOperation(CGPerSignatureCall):
argVal += ".r()"
return argVal
args = [(a, process(a)) for a in self.arguments]
- if self.idlNode.isGetter():
- args.append((FakeArgument(BuiltinTypes[IDLBuiltinType.Types.boolean],
- self.idlNode),
- "&mut found"))
return args
def wrap_return_value(self):
@@ -4595,7 +4595,7 @@ class CGProxySpecialOperation(CGPerSignatureCall):
return ""
wrap = CGGeneric(wrapForType(**self.templateValues))
- wrap = CGIfWrapper("found", wrap)
+ wrap = CGIfWrapper("let Some(result) = result", wrap)
return "\n" + wrap.define()
@@ -4971,7 +4971,7 @@ class CGDOMJSProxyHandler_hasOwn(CGAbstractExternMethod):
" let this = UnwrapProxy(proxy);\n" +
" let this = &*this;\n" +
CGIndenter(CGProxyIndexedGetter(self.descriptor)).define() + "\n" +
- " *bp = found;\n" +
+ " *bp = result.is_some();\n" +
" return true;\n" +
"}\n\n")
else:
@@ -4987,7 +4987,7 @@ if RUST_JSID_IS_STRING(id) {
}
if !has_on_proto {
%s
- *bp = found;
+ *bp = result.is_some();
return true;
}
}
@@ -5271,7 +5271,9 @@ class CGInterfaceTrait(CGThing):
infallible = 'infallible' in descriptor.getExtendedAttributes(operation)
if operation.isGetter():
- arguments = method_arguments(descriptor, rettype, arguments, trailing=("found", "&mut bool"))
+ if not rettype.nullable():
+ rettype = IDLNullableType(rettype.location, rettype)
+ arguments = method_arguments(descriptor, rettype, arguments)
# If this interface 'supports named properties', then we
# should be able to access 'supported property names'
@@ -5323,6 +5325,7 @@ def generate_imports(config, cgthings, descriptors, callbacks=None, dictionaries
enums = []
return CGImports(cgthings, descriptors, callbacks, dictionaries, enums, [
+ 'core::nonzero::NonZero',
'js',
'js::JSCLASS_GLOBAL_SLOT_COUNT',
'js::JSCLASS_IS_DOMJSCLASS',
diff --git a/components/script/dom/bindings/iterable.rs b/components/script/dom/bindings/iterable.rs
index 20eb84bffde..a3092ed73b6 100644
--- a/components/script/dom/bindings/iterable.rs
+++ b/components/script/dom/bindings/iterable.rs
@@ -6,6 +6,7 @@
//! Implementation of `iterable<...>` and `iterable<..., ...>` WebIDL declarations.
+use core::nonzero::NonZero;
use dom::bindings::codegen::Bindings::IterableIteratorBinding::IterableKeyAndValueResult;
use dom::bindings::codegen::Bindings::IterableIteratorBinding::IterableKeyOrValueResult;
use dom::bindings::error::Fallible;
@@ -95,38 +96,41 @@ impl<T: Reflectable + JSTraceable + Iterable> IterableIterator<T> {
/// Return the next value from the iterable object.
#[allow(non_snake_case)]
- pub fn Next(&self, cx: *mut JSContext) -> Fallible<*mut JSObject> {
+ pub fn Next(&self, cx: *mut JSContext) -> Fallible<NonZero<*mut JSObject>> {
let index = self.index.get();
rooted!(in(cx) let mut value = UndefinedValue());
rooted!(in(cx) let mut rval = ptr::null_mut());
- if index >= self.iterable.get_iterable_length() {
- return dict_return(cx, rval.handle_mut(), true, value.handle())
- .map(|_| rval.handle().get());
- }
- let result = match self.type_ {
- IteratorType::Keys => {
- unsafe {
- self.iterable.get_key_at_index(index).to_jsval(cx, value.handle_mut());
+ let result = if index >= self.iterable.get_iterable_length() {
+ dict_return(cx, rval.handle_mut(), true, value.handle())
+ } else {
+ match self.type_ {
+ IteratorType::Keys => {
+ unsafe {
+ self.iterable.get_key_at_index(index).to_jsval(cx, value.handle_mut());
+ }
+ dict_return(cx, rval.handle_mut(), false, value.handle())
}
- dict_return(cx, rval.handle_mut(), false, value.handle())
- }
- IteratorType::Values => {
- unsafe {
- self.iterable.get_value_at_index(index).to_jsval(cx, value.handle_mut());
+ IteratorType::Values => {
+ unsafe {
+ self.iterable.get_value_at_index(index).to_jsval(cx, value.handle_mut());
+ }
+ dict_return(cx, rval.handle_mut(), false, value.handle())
}
- dict_return(cx, rval.handle_mut(), false, value.handle())
- }
- IteratorType::Entries => {
- rooted!(in(cx) let mut key = UndefinedValue());
- unsafe {
- self.iterable.get_key_at_index(index).to_jsval(cx, key.handle_mut());
- self.iterable.get_value_at_index(index).to_jsval(cx, value.handle_mut());
+ IteratorType::Entries => {
+ rooted!(in(cx) let mut key = UndefinedValue());
+ unsafe {
+ self.iterable.get_key_at_index(index).to_jsval(cx, key.handle_mut());
+ self.iterable.get_value_at_index(index).to_jsval(cx, value.handle_mut());
+ }
+ key_and_value_return(cx, rval.handle_mut(), key.handle(), value.handle())
}
- key_and_value_return(cx, rval.handle_mut(), key.handle(), value.handle())
}
};
self.index.set(index + 1);
- result.map(|_| rval.handle().get())
+ result.map(|_| {
+ assert!(!rval.is_null());
+ unsafe { NonZero::new(rval.get()) }
+ })
}
}
diff --git a/components/script/dom/bindings/mod.rs b/components/script/dom/bindings/mod.rs
index 439016ee15b..02d5c9c8bef 100644
--- a/components/script/dom/bindings/mod.rs
+++ b/components/script/dom/bindings/mod.rs
@@ -128,8 +128,9 @@
//! return `Err()` from the method with the appropriate [error value]
//! (error/enum.Error.html).
+pub use style::domrefcell as cell;
+
pub mod callback;
-pub mod cell;
pub mod conversions;
pub mod error;
pub mod global;
diff --git a/components/script/dom/bindings/trace.rs b/components/script/dom/bindings/trace.rs
index d6969f38d6c..507e19e4bcb 100644
--- a/components/script/dom/bindings/trace.rs
+++ b/components/script/dom/bindings/trace.rs
@@ -88,6 +88,7 @@ use std::sync::mpsc::{Receiver, Sender};
use std::time::SystemTime;
use string_cache::{Atom, Namespace, QualName};
use style::attr::{AttrIdentifier, AttrValue, LengthOrPercentageOrAuto};
+use style::domrefcell::DOMRefCell;
use style::element_state::*;
use style::properties::PropertyDeclarationBlock;
use style::selector_impl::{PseudoElement, ElementSnapshot};
@@ -172,6 +173,13 @@ impl<T: JSTraceable> JSTraceable for UnsafeCell<T> {
}
}
+impl<T: JSTraceable> JSTraceable for DOMRefCell<T> {
+ fn trace(&self, trc: *mut JSTracer) {
+ unsafe {
+ (*self).borrow_for_gc_trace().trace(trc)
+ }
+ }
+}
impl JSTraceable for Heap<*mut JSObject> {
fn trace(&self, trc: *mut JSTracer) {
diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs
index 09d4a8f04e1..61cc2520165 100644
--- a/components/script/dom/canvasrenderingcontext2d.rs
+++ b/components/script/dom/canvasrenderingcontext2d.rs
@@ -5,7 +5,7 @@
use canvas_traits::{Canvas2dMsg, CanvasCommonMsg, CanvasMsg};
use canvas_traits::{CompositionOrBlending, FillOrStrokeStyle, FillRule};
use canvas_traits::{LineCapStyle, LineJoinStyle, LinearGradientStyle};
-use canvas_traits::{RadialGradientStyle, RepetitionStyle, byte_swap};
+use canvas_traits::{RadialGradientStyle, RepetitionStyle, byte_swap, byte_swap_and_premultiply};
use cssparser::Color as CSSColor;
use cssparser::{Parser, RGBA};
use dom::bindings::cell::DOMRefCell;
@@ -47,6 +47,7 @@ use std::str::FromStr;
use std::{cmp, fmt};
use unpremultiplytable::UNPREMULTIPLY_TABLE;
use url::Url;
+use util::opts;
#[must_root]
#[derive(JSTraceable, Clone, HeapSizeOf)]
@@ -299,7 +300,14 @@ impl CanvasRenderingContext2D {
Some((mut data, size)) => {
// Pixels come from cache in BGRA order and drawImage expects RGBA so we
// have to swap the color values
- byte_swap(&mut data);
+ if opts::get().use_webrender {
+ // Webrender doesn't pre-multiply alpha when decoding
+ // images, but canvas expects the images to be
+ // pre-multiplied alpha.
+ byte_swap_and_premultiply(&mut data);
+ } else {
+ byte_swap(&mut data);
+ }
let size = Size2D::new(size.width as f64, size.height as f64);
(data, size)
},
@@ -1092,7 +1100,7 @@ impl CanvasRenderingContext2DMethods for CanvasRenderingContext2D {
dirtyY: Finite<f64>,
dirtyWidth: Finite<f64>,
dirtyHeight: Finite<f64>) {
- let data = imagedata.get_data_array(&self.global().r());
+ let data = imagedata.get_data_array();
let offset = Point2D::new(*dx, *dy);
let image_data_size = Size2D::new(imagedata.Width() as f64, imagedata.Height() as f64);
diff --git a/components/script/dom/characterdata.rs b/components/script/dom/characterdata.rs
index 01f11e3ac50..979e9a70434 100644
--- a/components/script/dom/characterdata.rs
+++ b/components/script/dom/characterdata.rs
@@ -19,7 +19,7 @@ use dom::element::Element;
use dom::node::{Node, NodeDamage};
use dom::processinginstruction::ProcessingInstruction;
use dom::text::Text;
-use std::cell::Ref;
+use style::refcell::Ref;
use util::opts;
// https://dom.spec.whatwg.org/#characterdata
diff --git a/components/script/dom/crypto.rs b/components/script/dom/crypto.rs
index 6e0351d37ee..165a3834227 100644
--- a/components/script/dom/crypto.rs
+++ b/components/script/dom/crypto.rs
@@ -2,6 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+use core::nonzero::NonZero;
use dom::bindings::cell::DOMRefCell;
use dom::bindings::codegen::Bindings::CryptoBinding;
use dom::bindings::codegen::Bindings::CryptoBinding::CryptoMethods;
@@ -43,7 +44,8 @@ impl CryptoMethods for Crypto {
fn GetRandomValues(&self,
_cx: *mut JSContext,
input: *mut JSObject)
- -> Fallible<*mut JSObject> {
+ -> Fallible<NonZero<*mut JSObject>> {
+ assert!(!input.is_null());
let mut data = match unsafe { array_buffer_view_data::<u8>(input) } {
Some(data) => data,
None => {
@@ -62,7 +64,7 @@ impl CryptoMethods for Crypto {
self.rng.borrow_mut().fill_bytes(&mut data);
- Ok(input)
+ Ok(unsafe { NonZero::new(input) })
}
}
diff --git a/components/script/dom/cssstyledeclaration.rs b/components/script/dom/cssstyledeclaration.rs
index 076a2283b67..c048446d813 100644
--- a/components/script/dom/cssstyledeclaration.rs
+++ b/components/script/dom/cssstyledeclaration.rs
@@ -14,12 +14,13 @@ use dom::element::Element;
use dom::node::{Node, NodeDamage, window_from_node};
use dom::window::Window;
use std::ascii::AsciiExt;
-use std::cell::Ref;
use std::slice;
+use std::sync::Arc;
use string_cache::Atom;
use style::parser::ParserContextExtraData;
use style::properties::{PropertyDeclaration, Shorthand, Importance};
use style::properties::{is_supported_property, parse_one_declaration, parse_style_attribute};
+use style::refcell::Ref;
use style::selector_impl::PseudoElement;
// http://dev.w3.org/csswg/cssom/#the-cssstyledeclaration-interface
@@ -100,18 +101,7 @@ impl CSSStyleDeclarationMethods for CSSStyleDeclaration {
// https://dev.w3.org/csswg/cssom/#dom-cssstyledeclaration-item
fn Item(&self, index: u32) -> DOMString {
- let index = index as usize;
- let elem = self.owner.upcast::<Element>();
- let style_attribute = elem.style_attribute().borrow();
- style_attribute.as_ref().and_then(|declarations| {
- declarations.declarations.get(index)
- }).map(|&(ref declaration, importance)| {
- let mut css = declaration.to_css_string();
- if importance.important() {
- css += " !important";
- }
- DOMString::from(css)
- }).unwrap_or_else(DOMString::new)
+ self.IndexedGetter(index).unwrap_or_default()
}
// https://dev.w3.org/csswg/cssom/#dom-cssstyledeclaration-getpropertyvalue
@@ -333,10 +323,19 @@ impl CSSStyleDeclarationMethods for CSSStyleDeclaration {
}
// https://dev.w3.org/csswg/cssom/#the-cssstyledeclaration-interface
- fn IndexedGetter(&self, index: u32, found: &mut bool) -> DOMString {
- let rval = self.Item(index);
- *found = index < self.Length();
- rval
+ fn IndexedGetter(&self, index: u32) -> Option<DOMString> {
+ let index = index as usize;
+ let elem = self.owner.upcast::<Element>();
+ let style_attribute = elem.style_attribute().borrow();
+ style_attribute.as_ref().and_then(|declarations| {
+ declarations.declarations.get(index)
+ }).map(|&(ref declaration, importance)| {
+ let mut css = declaration.to_css_string();
+ if importance.important() {
+ css += " !important";
+ }
+ DOMString::from(css)
+ })
}
// https://drafts.csswg.org/cssom/#dom-cssstyledeclaration-csstext
@@ -367,7 +366,7 @@ impl CSSStyleDeclarationMethods for CSSStyleDeclaration {
*element.style_attribute().borrow_mut() = if decl_block.declarations.is_empty() {
None // Step 2
} else {
- Some(decl_block)
+ Some(Arc::new(decl_block))
};
element.sync_property_with_attrs_style();
let node = element.upcast::<Node>();
diff --git a/components/script/dom/document.rs b/components/script/dom/document.rs
index cbd4b2ac253..4322e348c92 100644
--- a/components/script/dom/document.rs
+++ b/components/script/dom/document.rs
@@ -2,6 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+use core::nonzero::NonZero;
use document_loader::{DocumentLoader, LoadType};
use dom::activation::{ActivationSource, synthetic_click_activation};
use dom::attr::Attr;
@@ -110,18 +111,18 @@ use script_traits::{TouchEventType, TouchId};
use std::ascii::AsciiExt;
use std::borrow::ToOwned;
use std::boxed::FnBox;
-use std::cell::{Cell, Ref, RefMut};
+use std::cell::Cell;
use std::collections::HashMap;
use std::collections::hash_map::Entry::{Occupied, Vacant};
use std::default::Default;
use std::iter::once;
use std::mem;
-use std::ptr;
use std::rc::Rc;
use std::sync::Arc;
use string_cache::{Atom, QualName};
use style::attr::AttrValue;
use style::context::ReflowGoal;
+use style::refcell::{Ref, RefMut};
use style::selector_impl::ElementSnapshot;
use style::str::{split_html_space_chars, str_join};
use style::stylesheets::Stylesheet;
@@ -221,6 +222,9 @@ pub struct Document {
/// For each element that has had a state or attribute change since the last restyle,
/// track the original condition of the element.
modified_elements: DOMRefCell<HashMap<JS<Element>, ElementSnapshot>>,
+ /// This flag will be true if layout suppressed a reflow attempt that was
+ /// needed in order for the page to be painted.
+ needs_paint: Cell<bool>,
/// http://w3c.github.io/touch-events/#dfn-active-touch-point
active_touch_points: DOMRefCell<Vec<JS<Touch>>>,
/// Navigation Timing properties:
@@ -376,6 +380,10 @@ impl Document {
}
}
+ pub fn needs_paint(&self) -> bool {
+ self.needs_paint.get()
+ }
+
pub fn needs_reflow(&self) -> bool {
// FIXME: This should check the dirty bit on the document,
// not the document element. Needs some layout changes to make
@@ -384,7 +392,8 @@ impl Document {
Some(root) => {
root.upcast::<Node>().is_dirty() ||
root.upcast::<Node>().has_dirty_descendants() ||
- !self.modified_elements.borrow().is_empty()
+ !self.modified_elements.borrow().is_empty() ||
+ self.needs_paint()
}
None => false,
}
@@ -1602,6 +1611,8 @@ pub enum DocumentSource {
pub trait LayoutDocumentHelpers {
unsafe fn is_html_document_for_layout(&self) -> bool;
unsafe fn drain_modified_elements(&self) -> Vec<(LayoutJS<Element>, ElementSnapshot)>;
+ unsafe fn needs_paint_from_layout(&self);
+ unsafe fn will_paint(&self);
}
#[allow(unsafe_code)]
@@ -1618,6 +1629,16 @@ impl LayoutDocumentHelpers for LayoutJS<Document> {
let result = elements.drain().map(|(k, v)| (k.to_layout(), v)).collect();
result
}
+
+ #[inline]
+ unsafe fn needs_paint_from_layout(&self) {
+ (*self.unsafe_get()).needs_paint.set(true)
+ }
+
+ #[inline]
+ unsafe fn will_paint(&self) {
+ (*self.unsafe_get()).needs_paint.set(false)
+ }
}
/// https://url.spec.whatwg.org/#network-scheme
@@ -1723,6 +1744,7 @@ impl Document {
base_element: Default::default(),
appropriate_template_contents_owner_document: Default::default(),
modified_elements: DOMRefCell::new(HashMap::new()),
+ needs_paint: Cell::new(false),
active_touch_points: DOMRefCell::new(Vec::new()),
dom_loading: Cell::new(Default::default()),
dom_interactive: Cell::new(Default::default()),
@@ -2689,8 +2711,9 @@ impl DocumentMethods for Document {
self.set_body_attribute(&atom!("text"), value)
}
+ #[allow(unsafe_code)]
// https://html.spec.whatwg.org/multipage/#dom-tree-accessors:dom-document-nameditem-filter
- fn NamedGetter(&self, _cx: *mut JSContext, name: DOMString, found: &mut bool) -> *mut JSObject {
+ fn NamedGetter(&self, _cx: *mut JSContext, name: DOMString) -> Option<NonZero<*mut JSObject>> {
#[derive(JSTraceable, HeapSizeOf)]
struct NamedElementFilter {
name: Atom,
@@ -2756,23 +2779,24 @@ impl DocumentMethods for Document {
.peekable();
if let Some(first) = elements.next() {
if elements.peek().is_none() {
- *found = true;
// TODO: Step 2.
// Step 3.
- return first.reflector().get_jsobject().get();
+ return unsafe {
+ Some(NonZero::new(first.reflector().get_jsobject().get()))
+ };
}
} else {
- *found = false;
- return ptr::null_mut();
+ return None;
}
}
// Step 4.
- *found = true;
let filter = NamedElementFilter {
name: name,
};
let collection = HTMLCollection::create(self.window(), root, box filter);
- collection.reflector().get_jsobject().get()
+ unsafe {
+ Some(NonZero::new(collection.reflector().get_jsobject().get()))
+ }
}
// https://html.spec.whatwg.org/multipage/#dom-tree-accessors:supported-property-names
diff --git a/components/script/dom/domrectlist.rs b/components/script/dom/domrectlist.rs
index adb246158f4..86774a49ff3 100644
--- a/components/script/dom/domrectlist.rs
+++ b/components/script/dom/domrectlist.rs
@@ -52,8 +52,7 @@ impl DOMRectListMethods for DOMRectList {
}
// check-tidy: no specs after this line
- fn IndexedGetter(&self, index: u32, found: &mut bool) -> Option<Root<DOMRect>> {
- *found = index < self.rects.len() as u32;
+ fn IndexedGetter(&self, index: u32) -> Option<Root<DOMRect>> {
self.Item(index)
}
}
diff --git a/components/script/dom/domstringmap.rs b/components/script/dom/domstringmap.rs
index c5e534d242e..11479d6b5df 100644
--- a/components/script/dom/domstringmap.rs
+++ b/components/script/dom/domstringmap.rs
@@ -47,10 +47,8 @@ impl DOMStringMapMethods for DOMStringMap {
}
// https://html.spec.whatwg.org/multipage/#dom-domstringmap-nameditem
- fn NamedGetter(&self, name: DOMString, found: &mut bool) -> DOMString {
- let attr = self.element.get_custom_attr(name);
- *found = attr.is_some();
- attr.unwrap_or_default()
+ fn NamedGetter(&self, name: DOMString) -> Option<DOMString> {
+ self.element.get_custom_attr(name)
}
// https://html.spec.whatwg.org/multipage/#the-domstringmap-interface:supported-property-names
diff --git a/components/script/dom/domtokenlist.rs b/components/script/dom/domtokenlist.rs
index 364b6366282..c1c09de94c2 100644
--- a/components/script/dom/domtokenlist.rs
+++ b/components/script/dom/domtokenlist.rs
@@ -171,9 +171,7 @@ impl DOMTokenListMethods for DOMTokenList {
}
// check-tidy: no specs after this line
- fn IndexedGetter(&self, index: u32, found: &mut bool) -> Option<DOMString> {
- let item = self.Item(index);
- *found = item.is_some();
- item
+ fn IndexedGetter(&self, index: u32) -> Option<DOMString> {
+ self.Item(index)
}
}
diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs
index 2d57ddab4d6..193fb16b937 100644
--- a/components/script/dom/element.rs
+++ b/components/script/dom/element.rs
@@ -70,13 +70,12 @@ use html5ever::serialize::SerializeOpts;
use html5ever::serialize::TraversalScope;
use html5ever::serialize::TraversalScope::{ChildrenOnly, IncludeNode};
use html5ever::tree_builder::{LimitedQuirks, NoQuirks, Quirks};
-use ref_filter_map::ref_filter_map;
-use selectors::matching::{ElementFlags, matches};
+use selectors::matching::{ElementFlags, MatchingReason, matches};
use selectors::matching::{HAS_SLOW_SELECTOR, HAS_EDGE_CHILD_SELECTOR, HAS_SLOW_SELECTOR_LATER_SIBLINGS};
use selectors::parser::{AttrSelector, NamespaceConstraint, parse_author_origin_selector_list_from_str};
use std::ascii::AsciiExt;
use std::borrow::Cow;
-use std::cell::{Cell, Ref};
+use std::cell::Cell;
use std::convert::TryFrom;
use std::default::Default;
use std::fmt;
@@ -90,6 +89,7 @@ use style::parser::ParserContextExtraData;
use style::properties::longhands::{self, background_image, border_spacing, font_family, overflow_x, font_size};
use style::properties::{DeclaredValue, Importance};
use style::properties::{PropertyDeclaration, PropertyDeclarationBlock, parse_style_attribute};
+use style::refcell::Ref;
use style::selector_impl::{NonTSPseudoClass, ServoSelectorImpl};
use style::selector_matching::DeclarationBlock;
use style::sink::Push;
@@ -109,7 +109,7 @@ pub struct Element {
prefix: Option<DOMString>,
attrs: DOMRefCell<Vec<JS<Attr>>>,
id_attribute: DOMRefCell<Option<Atom>>,
- style_attribute: DOMRefCell<Option<PropertyDeclarationBlock>>,
+ style_attribute: DOMRefCell<Option<Arc<PropertyDeclarationBlock>>>,
attr_list: MutNullableHeap<JS<NamedNodeMap>>,
class_list: MutNullableHeap<JS<DOMTokenList>>,
state: Cell<ElementState>,
@@ -297,7 +297,7 @@ pub trait LayoutElementHelpers {
#[allow(unsafe_code)]
unsafe fn html_element_in_html_document_for_layout(&self) -> bool;
fn id_attribute(&self) -> *const Option<Atom>;
- fn style_attribute(&self) -> *const Option<PropertyDeclarationBlock>;
+ fn style_attribute(&self) -> *const Option<Arc<PropertyDeclarationBlock>>;
fn local_name(&self) -> &Atom;
fn namespace(&self) -> &Namespace;
fn get_checked_state_for_layout(&self) -> bool;
@@ -329,7 +329,10 @@ impl LayoutElementHelpers for LayoutJS<Element> {
#[inline]
fn from_declaration(rule: PropertyDeclaration) -> DeclarationBlock {
DeclarationBlock::from_declarations(
- Arc::new(vec![(rule, Importance::Normal)]),
+ Arc::new(PropertyDeclarationBlock {
+ declarations: vec![(rule, Importance::Normal)],
+ important_count: 0,
+ }),
Importance::Normal)
}
@@ -615,7 +618,7 @@ impl LayoutElementHelpers for LayoutJS<Element> {
}
#[allow(unsafe_code)]
- fn style_attribute(&self) -> *const Option<PropertyDeclarationBlock> {
+ fn style_attribute(&self) -> *const Option<Arc<PropertyDeclarationBlock>> {
unsafe {
(*self.unsafe_get()).style_attribute.borrow_for_layout()
}
@@ -704,7 +707,7 @@ impl Element {
self.attrs.borrow()
}
- pub fn style_attribute(&self) -> &DOMRefCell<Option<PropertyDeclarationBlock>> {
+ pub fn style_attribute(&self) -> &DOMRefCell<Option<Arc<PropertyDeclarationBlock>>> {
&self.style_attribute
}
@@ -774,7 +777,8 @@ impl Element {
matching
});
if let Some(index) = index {
- Arc::make_mut(&mut declarations.declarations).remove(index);
+ let declarations = Arc::make_mut(declarations);
+ declarations.declarations.remove(index);
if importance.unwrap().important() {
declarations.important_count -= 1;
}
@@ -796,7 +800,8 @@ impl Element {
{
// Usually, the reference count will be 1 here. But transitions could make it greater
// than that.
- let existing_declarations = Arc::make_mut(&mut declaration_block.declarations);
+ let declaration_block = Arc::make_mut(declaration_block);
+ let existing_declarations = &mut declaration_block.declarations;
'outer: for incoming_declaration in declarations {
for existing_declaration in &mut *existing_declarations {
@@ -829,10 +834,10 @@ impl Element {
0
};
- *inline_declarations = Some(PropertyDeclarationBlock {
- declarations: Arc::new(declarations.into_iter().map(|d| (d, importance)).collect()),
+ *inline_declarations = Some(Arc::new(PropertyDeclarationBlock {
+ declarations: declarations.into_iter().map(|d| (d, importance)).collect(),
important_count: important_count,
- });
+ }));
}
update(self, declarations, importance);
@@ -847,7 +852,8 @@ impl Element {
if let &mut Some(ref mut block) = &mut *inline_declarations {
// Usually, the reference counts of `from` and `to` will be 1 here. But transitions
// could make them greater than that.
- let declarations = Arc::make_mut(&mut block.declarations);
+ let block = Arc::make_mut(block);
+ let declarations = &mut block.declarations;
for &mut (ref declaration, ref mut importance) in declarations {
if properties.iter().any(|p| declaration.name() == **p) {
match (*importance, new_importance) {
@@ -871,7 +877,7 @@ impl Element {
pub fn get_inline_style_declaration(&self,
property: &Atom)
-> Option<Ref<(PropertyDeclaration, Importance)>> {
- ref_filter_map(self.style_attribute.borrow(), |inline_declarations| {
+ Ref::filter_map(self.style_attribute.borrow(), |inline_declarations| {
inline_declarations.as_ref().and_then(|declarations| {
declarations.declarations
.iter()
@@ -2000,7 +2006,7 @@ impl ElementMethods for Element {
match parse_author_origin_selector_list_from_str(&selectors) {
Err(()) => Err(Error::Syntax),
Ok(ref selectors) => {
- Ok(matches(selectors, &Root::from_ref(self), None))
+ Ok(matches(selectors, &Root::from_ref(self), None, MatchingReason::Other))
}
}
}
@@ -2018,7 +2024,7 @@ impl ElementMethods for Element {
let root = self.upcast::<Node>();
for element in root.inclusive_ancestors() {
if let Some(element) = Root::downcast::<Element>(element) {
- if matches(selectors, &element, None) {
+ if matches(selectors, &element, None, MatchingReason::Other) {
return Ok(Some(element));
}
}
@@ -2102,8 +2108,11 @@ impl VirtualMethods for Element {
*self.style_attribute.borrow_mut() =
mutation.new_value(attr).map(|value| {
let win = window_from_node(self);
- parse_style_attribute(&value, &doc.base_url(), win.css_error_reporter(),
- ParserContextExtraData::default())
+ Arc::new(parse_style_attribute(
+ &value,
+ &doc.base_url(),
+ win.css_error_reporter(),
+ ParserContextExtraData::default()))
});
if node.is_in_doc() {
node.dirty(NodeDamage::NodeStyleDamaged);
diff --git a/components/script/dom/filelist.rs b/components/script/dom/filelist.rs
index 4f8e976f5f7..8adbe1ed467 100644
--- a/components/script/dom/filelist.rs
+++ b/components/script/dom/filelist.rs
@@ -55,9 +55,7 @@ impl FileListMethods for FileList {
}
// check-tidy: no specs after this line
- fn IndexedGetter(&self, index: u32, found: &mut bool) -> Option<Root<File>> {
- let item = self.Item(index);
- *found = item.is_some();
- item
+ fn IndexedGetter(&self, index: u32) -> Option<Root<File>> {
+ self.Item(index)
}
}
diff --git a/components/script/dom/htmlcanvaselement.rs b/components/script/dom/htmlcanvaselement.rs
index 45c1916f928..73b51962fe4 100644
--- a/components/script/dom/htmlcanvaselement.rs
+++ b/components/script/dom/htmlcanvaselement.rs
@@ -273,11 +273,10 @@ impl HTMLCanvasElementMethods for HTMLCanvasElement {
// Step 3.
let raw_data = match *self.context.borrow() {
Some(CanvasContext::Context2d(ref context)) => {
- let window = window_from_node(self);
let image_data = try!(context.GetImageData(Finite::wrap(0f64), Finite::wrap(0f64),
Finite::wrap(self.Width() as f64),
Finite::wrap(self.Height() as f64)));
- image_data.get_data_array(&GlobalRef::Window(window.r()))
+ image_data.get_data_array()
}
None => {
// Each pixel is fully-transparent black.
diff --git a/components/script/dom/htmlcollection.rs b/components/script/dom/htmlcollection.rs
index 95134556bc0..2f226590719 100644
--- a/components/script/dom/htmlcollection.rs
+++ b/components/script/dom/htmlcollection.rs
@@ -317,17 +317,13 @@ impl HTMLCollectionMethods for HTMLCollection {
}
// https://dom.spec.whatwg.org/#dom-htmlcollection-item
- fn IndexedGetter(&self, index: u32, found: &mut bool) -> Option<Root<Element>> {
- let maybe_elem = self.Item(index);
- *found = maybe_elem.is_some();
- maybe_elem
+ fn IndexedGetter(&self, index: u32) -> Option<Root<Element>> {
+ self.Item(index)
}
// check-tidy: no specs after this line
- fn NamedGetter(&self, name: DOMString, found: &mut bool) -> Option<Root<Element>> {
- let maybe_elem = self.NamedItem(name);
- *found = maybe_elem.is_some();
- maybe_elem
+ fn NamedGetter(&self, name: DOMString) -> Option<Root<Element>> {
+ self.NamedItem(name)
}
// https://dom.spec.whatwg.org/#interface-htmlcollection
diff --git a/components/script/dom/htmlformcontrolscollection.rs b/components/script/dom/htmlformcontrolscollection.rs
index 9229b854b26..e52a541225f 100644
--- a/components/script/dom/htmlformcontrolscollection.rs
+++ b/components/script/dom/htmlformcontrolscollection.rs
@@ -77,10 +77,8 @@ impl HTMLFormControlsCollectionMethods for HTMLFormControlsCollection {
}
// https://html.spec.whatwg.org/multipage/#dom-htmlformcontrolscollection-nameditem
- fn NamedGetter(&self, name: DOMString, found: &mut bool) -> Option<RadioNodeListOrElement> {
- let maybe_elem = self.NamedItem(name);
- *found = maybe_elem.is_some();
- maybe_elem
+ fn NamedGetter(&self, name: DOMString) -> Option<RadioNodeListOrElement> {
+ self.NamedItem(name)
}
// https://html.spec.whatwg.org/multipage/#the-htmlformcontrolscollection-interface:supported-property-names
@@ -93,7 +91,7 @@ impl HTMLFormControlsCollectionMethods for HTMLFormControlsCollection {
// https://github.com/servo/servo/issues/5875
//
// https://dom.spec.whatwg.org/#dom-htmlcollection-item
- fn IndexedGetter(&self, index: u32, found: &mut bool) -> Option<Root<Element>> {
- self.collection.IndexedGetter(index, found)
+ fn IndexedGetter(&self, index: u32) -> Option<Root<Element>> {
+ self.collection.IndexedGetter(index)
}
}
diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs
index db9e3cb8d41..fa16618b564 100644
--- a/components/script/dom/htmlformelement.rs
+++ b/components/script/dom/htmlformelement.rs
@@ -230,9 +230,9 @@ impl HTMLFormElementMethods for HTMLFormElement {
}
// https://html.spec.whatwg.org/multipage/#dom-form-item
- fn IndexedGetter(&self, index: u32, found: &mut bool) -> Option<Root<Element>> {
+ fn IndexedGetter(&self, index: u32) -> Option<Root<Element>> {
let elements = self.Elements();
- elements.IndexedGetter(index, found)
+ elements.IndexedGetter(index)
}
}
diff --git a/components/script/dom/htmlmetaelement.rs b/components/script/dom/htmlmetaelement.rs
index b8c2cd423fa..e6f86f41d86 100644
--- a/components/script/dom/htmlmetaelement.rs
+++ b/components/script/dom/htmlmetaelement.rs
@@ -79,7 +79,7 @@ impl HTMLMetaElement {
if !content.is_empty() {
if let Some(translated_rule) = ViewportRule::from_meta(&**content) {
*self.stylesheet.borrow_mut() = Some(Arc::new(Stylesheet {
- rules: vec![CSSRule::Viewport(translated_rule)],
+ rules: vec![CSSRule::Viewport(Arc::new(translated_rule))],
origin: Origin::Author,
media: None,
// Viewport constraints are always recomputed on resize; they don't need to
diff --git a/components/script/dom/htmloptionelement.rs b/components/script/dom/htmloptionelement.rs
index 737bc67bd4c..9183a78de0c 100644
--- a/components/script/dom/htmloptionelement.rs
+++ b/components/script/dom/htmloptionelement.rs
@@ -6,6 +6,7 @@ use dom::attr::Attr;
use dom::bindings::codegen::Bindings::CharacterDataBinding::CharacterDataMethods;
use dom::bindings::codegen::Bindings::HTMLOptionElementBinding;
use dom::bindings::codegen::Bindings::HTMLOptionElementBinding::HTMLOptionElementMethods;
+use dom::bindings::codegen::Bindings::HTMLSelectElementBinding::HTMLSelectElementBinding::HTMLSelectElementMethods;
use dom::bindings::codegen::Bindings::NodeBinding::NodeMethods;
use dom::bindings::inheritance::Castable;
use dom::bindings::js::Root;
@@ -14,6 +15,8 @@ use dom::characterdata::CharacterData;
use dom::document::Document;
use dom::element::{AttributeMutation, Element};
use dom::htmlelement::HTMLElement;
+use dom::htmlformelement::HTMLFormElement;
+use dom::htmloptgroupelement::HTMLOptGroupElement;
use dom::htmlscriptelement::HTMLScriptElement;
use dom::htmlselectelement::HTMLSelectElement;
use dom::node::{Node, UnbindContext};
@@ -110,6 +113,19 @@ impl HTMLOptionElementMethods for HTMLOptionElement {
self.upcast::<Node>().SetTextContent(Some(value))
}
+ // https://html.spec.whatwg.org/multipage/#dom-option-form
+ fn GetForm(&self) -> Option<Root<HTMLFormElement>> {
+ let parent = self.upcast::<Node>().GetParentNode().and_then(|p|
+ if p.is::<HTMLOptGroupElement>() {
+ p.upcast::<Node>().GetParentNode()
+ } else {
+ Some(p)
+ }
+ );
+
+ parent.and_then(|p| p.downcast::<HTMLSelectElement>().and_then(|s| s.GetForm()))
+ }
+
// https://html.spec.whatwg.org/multipage/#attr-option-value
fn Value(&self) -> DOMString {
let element = self.upcast::<Element>();
diff --git a/components/script/dom/imagedata.rs b/components/script/dom/imagedata.rs
index abcb9b5640b..0959a52eb32 100644
--- a/components/script/dom/imagedata.rs
+++ b/components/script/dom/imagedata.rs
@@ -2,6 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+use core::nonzero::NonZero;
use dom::bindings::codegen::Bindings::ImageDataBinding;
use dom::bindings::codegen::Bindings::ImageDataBinding::ImageDataMethods;
use dom::bindings::global::GlobalRef;
@@ -37,6 +38,7 @@ impl ImageData {
unsafe {
let cx = global.get_cx();
let js_object: *mut JSObject = JS_NewUint8ClampedArray(cx, width * height * 4);
+ assert!(!js_object.is_null());
if let Some(vec) = data {
let mut is_shared = false;
@@ -52,12 +54,13 @@ impl ImageData {
}
#[allow(unsafe_code)]
- pub fn get_data_array(&self, global: &GlobalRef) -> Vec<u8> {
+ pub fn get_data_array(&self) -> Vec<u8> {
unsafe {
- let cx = global.get_cx();
let mut is_shared = false;
+ assert!(!self.data.get().is_null());
let data: *const uint8_t =
- JS_GetUint8ClampedArrayData(self.Data(cx), &mut is_shared, ptr::null()) as *const uint8_t;
+ JS_GetUint8ClampedArrayData(self.data.get(), &mut is_shared, ptr::null()) as *const uint8_t;
+ assert!(!data.is_null());
assert!(!is_shared);
let len = self.Width() * self.Height() * 4;
slice::from_raw_parts(data, len as usize).to_vec()
@@ -80,8 +83,10 @@ impl ImageDataMethods for ImageData {
self.height
}
+ #[allow(unsafe_code)]
// https://html.spec.whatwg.org/multipage/#dom-imagedata-data
- fn Data(&self, _: *mut JSContext) -> *mut JSObject {
- self.data.get()
+ fn Data(&self, _: *mut JSContext) -> NonZero<*mut JSObject> {
+ assert!(!self.data.get().is_null());
+ unsafe { NonZero::new(self.data.get()) }
}
}
diff --git a/components/script/dom/mimetypearray.rs b/components/script/dom/mimetypearray.rs
index 96fc48c86d0..de820f6d06a 100644
--- a/components/script/dom/mimetypearray.rs
+++ b/components/script/dom/mimetypearray.rs
@@ -46,12 +46,12 @@ impl MimeTypeArrayMethods for MimeTypeArray {
}
// https://html.spec.whatwg.org/multipage/#dom-mimetypearray-item
- fn IndexedGetter(&self, _index: u32, _found: &mut bool) -> Option<Root<MimeType>> {
+ fn IndexedGetter(&self, _index: u32) -> Option<Root<MimeType>> {
None
}
// check-tidy: no specs after this line
- fn NamedGetter(&self, _name: DOMString, _found: &mut bool) -> Option<Root<MimeType>> {
+ fn NamedGetter(&self, _name: DOMString) -> Option<Root<MimeType>> {
None
}
diff --git a/components/script/dom/namednodemap.rs b/components/script/dom/namednodemap.rs
index 10b6b8982ae..9edc1b1e93b 100644
--- a/components/script/dom/namednodemap.rs
+++ b/components/script/dom/namednodemap.rs
@@ -85,17 +85,13 @@ impl NamedNodeMapMethods for NamedNodeMap {
}
// https://dom.spec.whatwg.org/#dom-namednodemap-item
- fn IndexedGetter(&self, index: u32, found: &mut bool) -> Option<Root<Attr>> {
- let item = self.Item(index);
- *found = item.is_some();
- item
+ fn IndexedGetter(&self, index: u32) -> Option<Root<Attr>> {
+ self.Item(index)
}
// check-tidy: no specs after this line
- fn NamedGetter(&self, name: DOMString, found: &mut bool) -> Option<Root<Attr>> {
- let item = self.GetNamedItem(name);
- *found = item.is_some();
- item
+ fn NamedGetter(&self, name: DOMString) -> Option<Root<Attr>> {
+ self.GetNamedItem(name)
}
// https://heycam.github.io/webidl/#dfn-supported-property-names
diff --git a/components/script/dom/navigator.rs b/components/script/dom/navigator.rs
index 75bd2c13c23..61936c59e5f 100644
--- a/components/script/dom/navigator.rs
+++ b/components/script/dom/navigator.rs
@@ -107,4 +107,10 @@ impl NavigatorMethods for Navigator {
fn ServiceWorker(&self) -> Root<ServiceWorkerContainer> {
self.serviceWorker.or_init(|| ServiceWorkerContainer::new(self.global().r()))
}
+
+ // https://html.spec.whatwg.org/multipage/#dom-navigator-cookieenabled
+ fn CookieEnabled(&self) -> bool {
+ true
+ }
+
}
diff --git a/components/script/dom/node.rs b/components/script/dom/node.rs
index 49aa8242b34..555c7719fb1 100644
--- a/components/script/dom/node.rs
+++ b/components/script/dom/node.rs
@@ -63,7 +63,7 @@ use script_layout_interface::message::Msg;
use script_layout_interface::{HTMLCanvasData, OpaqueStyleAndLayoutData};
use script_layout_interface::{LayoutNodeType, LayoutElementType, TrustedNodeAddress};
use script_traits::UntrustedNodeAddress;
-use selectors::matching::matches;
+use selectors::matching::{MatchingReason, matches};
use selectors::parser::Selector;
use selectors::parser::parse_author_origin_selector_list_from_str;
use std::borrow::ToOwned;
@@ -319,7 +319,7 @@ impl<'a> Iterator for QuerySelectorIterator {
// (instead of passing `None`)? Probably.
self.iterator.by_ref().filter_map(|node| {
if let Some(element) = Root::downcast(node) {
- if matches(selectors, &element, None) {
+ if matches(selectors, &element, None, MatchingReason::Other) {
return Some(Root::upcast(element));
}
}
@@ -711,7 +711,7 @@ impl Node {
// Step 3.
Ok(ref selectors) => {
Ok(self.traverse_preorder().filter_map(Root::downcast).find(|element| {
- matches(selectors, element, None)
+ matches(selectors, element, None, MatchingReason::Other)
}))
}
}
diff --git a/components/script/dom/nodelist.rs b/components/script/dom/nodelist.rs
index 2503378187e..8f8a5515592 100644
--- a/components/script/dom/nodelist.rs
+++ b/components/script/dom/nodelist.rs
@@ -75,10 +75,8 @@ impl NodeListMethods for NodeList {
}
// https://dom.spec.whatwg.org/#dom-nodelist-item
- fn IndexedGetter(&self, index: u32, found: &mut bool) -> Option<Root<Node>> {
- let item = self.Item(index);
- *found = item.is_some();
- item
+ fn IndexedGetter(&self, index: u32) -> Option<Root<Node>> {
+ self.Item(index)
}
}
diff --git a/components/script/dom/plugin.rs b/components/script/dom/plugin.rs
index dc4ca4fe42d..222e9a2840a 100644
--- a/components/script/dom/plugin.rs
+++ b/components/script/dom/plugin.rs
@@ -45,12 +45,12 @@ impl PluginMethods for Plugin {
}
// https://html.spec.whatwg.org/multipage/#dom-plugin-item
- fn IndexedGetter(&self, _index: u32, _found: &mut bool) -> Option<Root<MimeType>> {
+ fn IndexedGetter(&self, _index: u32) -> Option<Root<MimeType>> {
unreachable!()
}
// check-tidy: no specs after this line
- fn NamedGetter(&self, _name: DOMString, _found: &mut bool) -> Option<Root<MimeType>> {
+ fn NamedGetter(&self, _name: DOMString) -> Option<Root<MimeType>> {
unreachable!()
}
diff --git a/components/script/dom/pluginarray.rs b/components/script/dom/pluginarray.rs
index aabba4928a4..aa6b779280d 100644
--- a/components/script/dom/pluginarray.rs
+++ b/components/script/dom/pluginarray.rs
@@ -50,12 +50,12 @@ impl PluginArrayMethods for PluginArray {
}
// https://html.spec.whatwg.org/multipage/#dom-pluginarray-item
- fn IndexedGetter(&self, _index: u32, _found: &mut bool) -> Option<Root<Plugin>> {
+ fn IndexedGetter(&self, _index: u32) -> Option<Root<Plugin>> {
None
}
// check-tidy: no specs after this line
- fn NamedGetter(&self, _name: DOMString, _found: &mut bool) -> Option<Root<Plugin>> {
+ fn NamedGetter(&self, _name: DOMString) -> Option<Root<Plugin>> {
None
}
diff --git a/components/script/dom/radionodelist.rs b/components/script/dom/radionodelist.rs
index d88fc69eacd..9bbdae00c85 100644
--- a/components/script/dom/radionodelist.rs
+++ b/components/script/dom/radionodelist.rs
@@ -105,7 +105,7 @@ impl RadioNodeListMethods for RadioNodeList {
// https://github.com/servo/servo/issues/5875
//
// https://dom.spec.whatwg.org/#dom-nodelist-item
- fn IndexedGetter(&self, index: u32, found: &mut bool) -> Option<Root<Node>> {
- self.node_list.IndexedGetter(index, found)
+ fn IndexedGetter(&self, index: u32) -> Option<Root<Node>> {
+ self.node_list.IndexedGetter(index)
}
}
diff --git a/components/script/dom/storage.rs b/components/script/dom/storage.rs
index d6d1e1968f8..7827cdb6b15 100644
--- a/components/script/dom/storage.rs
+++ b/components/script/dom/storage.rs
@@ -136,10 +136,8 @@ impl StorageMethods for Storage {
}
// check-tidy: no specs after this line
- fn NamedGetter(&self, name: DOMString, found: &mut bool) -> Option<DOMString> {
- let item = self.GetItem(name);
- *found = item.is_some();
- item
+ fn NamedGetter(&self, name: DOMString) -> Option<DOMString> {
+ self.GetItem(name)
}
fn NamedSetter(&self, name: DOMString, value: DOMString) -> ErrorResult {
diff --git a/components/script/dom/stylesheetlist.rs b/components/script/dom/stylesheetlist.rs
index 1b7eb643e50..721ac06525c 100644
--- a/components/script/dom/stylesheetlist.rs
+++ b/components/script/dom/stylesheetlist.rs
@@ -46,9 +46,7 @@ impl StyleSheetListMethods for StyleSheetList {
}
// check-tidy: no specs after this line
- fn IndexedGetter(&self, index: u32, found: &mut bool) -> Option<Root<StyleSheet>>{
- let item = self.Item(index);
- *found = item.is_some();
- item
+ fn IndexedGetter(&self, index: u32) -> Option<Root<StyleSheet>> {
+ self.Item(index)
}
}
diff --git a/components/script/dom/testbinding.rs b/components/script/dom/testbinding.rs
index 9143c8b0188..21439c0b19a 100644
--- a/components/script/dom/testbinding.rs
+++ b/components/script/dom/testbinding.rs
@@ -4,6 +4,7 @@
// check-tidy: no specs after this line
+use core::nonzero::NonZero;
use dom::bindings::codegen::Bindings::EventListenerBinding::EventListener;
use dom::bindings::codegen::Bindings::FunctionBinding::Function;
use dom::bindings::codegen::Bindings::TestBindingBinding;
@@ -26,6 +27,7 @@ use dom::bindings::weakref::MutableWeakRef;
use dom::blob::{Blob, BlobImpl};
use dom::url::URL;
use js::jsapi::{HandleObject, HandleValue, JSContext, JSObject};
+use js::jsapi::{JS_NewPlainObject, JS_NewUint8ClampedArray};
use js::jsval::{JSVal, NullValue};
use std::borrow::ToOwned;
use std::ptr;
@@ -137,10 +139,24 @@ impl TestBindingMethods for TestBinding {
ByteStringOrLong::ByteString(ByteString::new(vec!()))
}
fn SetUnion9Attribute(&self, _: ByteStringOrLong) {}
- fn ArrayAttribute(&self, _: *mut JSContext) -> *mut JSObject { NullValue().to_object_or_null() }
+ #[allow(unsafe_code)]
+ fn ArrayAttribute(&self, cx: *mut JSContext) -> NonZero<*mut JSObject> {
+ unsafe {
+ rooted!(in(cx) let array = JS_NewUint8ClampedArray(cx, 16));
+ assert!(!array.is_null());
+ NonZero::new(array.get())
+ }
+ }
fn AnyAttribute(&self, _: *mut JSContext) -> JSVal { NullValue() }
fn SetAnyAttribute(&self, _: *mut JSContext, _: HandleValue) {}
- fn ObjectAttribute(&self, _: *mut JSContext) -> *mut JSObject { panic!() }
+ #[allow(unsafe_code)]
+ fn ObjectAttribute(&self, cx: *mut JSContext) -> NonZero<*mut JSObject> {
+ unsafe {
+ rooted!(in(cx) let obj = JS_NewPlainObject(cx));
+ assert!(!obj.is_null());
+ NonZero::new(obj.get())
+ }
+ }
fn SetObjectAttribute(&self, _: *mut JSContext, _: *mut JSObject) {}
fn GetBooleanAttributeNullable(&self) -> Option<bool> { Some(false) }
@@ -193,7 +209,7 @@ impl TestBindingMethods for TestBinding {
fn SetInterfaceAttributeWeak(&self, url: Option<&URL>) {
self.url.set(url);
}
- fn GetObjectAttributeNullable(&self, _: *mut JSContext) -> *mut JSObject { ptr::null_mut() }
+ fn GetObjectAttributeNullable(&self, _: *mut JSContext) -> Option<NonZero<*mut JSObject>> { None }
fn SetObjectAttributeNullable(&self, _: *mut JSContext, _: *mut JSObject) {}
fn GetUnionAttributeNullable(&self) -> Option<HTMLElementOrLong> {
Some(HTMLElementOrLong::Long(0))
@@ -242,7 +258,9 @@ impl TestBindingMethods for TestBinding {
Blob::new(self.global().r(), BlobImpl::new_from_bytes(vec![]), "".to_owned())
}
fn ReceiveAny(&self, _: *mut JSContext) -> JSVal { NullValue() }
- fn ReceiveObject(&self, _: *mut JSContext) -> *mut JSObject { panic!() }
+ fn ReceiveObject(&self, cx: *mut JSContext) -> NonZero<*mut JSObject> {
+ self.ObjectAttribute(cx)
+ }
fn ReceiveUnion(&self) -> HTMLElementOrLong { HTMLElementOrLong::Long(0) }
fn ReceiveUnion2(&self) -> EventOrString { EventOrString::String(DOMString::new()) }
fn ReceiveUnion3(&self) -> StringOrLongSequence { StringOrLongSequence::LongSequence(vec![]) }
@@ -283,7 +301,9 @@ impl TestBindingMethods for TestBinding {
fn ReceiveNullableInterface(&self) -> Option<Root<Blob>> {
Some(Blob::new(self.global().r(), BlobImpl::new_from_bytes(vec![]), "".to_owned()))
}
- fn ReceiveNullableObject(&self, _: *mut JSContext) -> *mut JSObject { ptr::null_mut() }
+ fn ReceiveNullableObject(&self, cx: *mut JSContext) -> Option<NonZero<*mut JSObject>> {
+ self.GetObjectAttributeNullable(cx)
+ }
fn ReceiveNullableUnion(&self) -> Option<HTMLElementOrLong> {
Some(HTMLElementOrLong::Long(0))
}
diff --git a/components/script/dom/testbindingiterable.rs b/components/script/dom/testbindingiterable.rs
index 1e462a98531..2ad0df6dbb6 100644
--- a/components/script/dom/testbindingiterable.rs
+++ b/components/script/dom/testbindingiterable.rs
@@ -34,10 +34,8 @@ impl TestBindingIterable {
impl TestBindingIterableMethods for TestBindingIterable {
fn Add(&self, v: DOMString) { self.vals.borrow_mut().push(v); }
fn Length(&self) -> u32 { self.vals.borrow().len() as u32 }
- fn GetItem(&self, n: u32) -> DOMString { self.vals.borrow().get(n as usize).unwrap().clone() }
- fn IndexedGetter(&self, n: u32, found: &mut bool) -> DOMString {
- let s = self.GetItem(n);
- *found = true;
- s
+ fn GetItem(&self, n: u32) -> DOMString { self.IndexedGetter(n).unwrap_or_default() }
+ fn IndexedGetter(&self, n: u32) -> Option<DOMString> {
+ self.vals.borrow().get(n as usize).cloned()
}
}
diff --git a/components/script/dom/testbindingproxy.rs b/components/script/dom/testbindingproxy.rs
index 3308639305c..45e66bc5919 100644
--- a/components/script/dom/testbindingproxy.rs
+++ b/components/script/dom/testbindingproxy.rs
@@ -23,10 +23,10 @@ impl TestBindingProxyMethods for TestBindingProxy {
fn SetItem(&self, _: u32, _: DOMString) -> () {}
fn RemoveItem(&self, _: DOMString) -> () {}
fn Stringifier(&self) -> DOMString { DOMString::new() }
- fn IndexedGetter(&self, _: u32, _: &mut bool) -> DOMString { DOMString::new() }
+ fn IndexedGetter(&self, _: u32) -> Option<DOMString> { None }
fn NamedDeleter(&self, _: DOMString) -> () {}
fn IndexedSetter(&self, _: u32, _: DOMString) -> () {}
fn NamedSetter(&self, _: DOMString, _: DOMString) -> () {}
- fn NamedGetter(&self, _: DOMString, _: &mut bool) -> DOMString { DOMString::new() }
+ fn NamedGetter(&self, _: DOMString) -> Option<DOMString> { None }
}
diff --git a/components/script/dom/textencoder.rs b/components/script/dom/textencoder.rs
index 84100e723ba..674243dded8 100644
--- a/components/script/dom/textencoder.rs
+++ b/components/script/dom/textencoder.rs
@@ -2,6 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+use core::nonzero::NonZero;
use dom::bindings::codegen::Bindings::TextEncoderBinding;
use dom::bindings::codegen::Bindings::TextEncoderBinding::TextEncoderMethods;
use dom::bindings::error::{Error, Fallible};
@@ -70,16 +71,17 @@ impl TextEncoderMethods for TextEncoder {
#[allow(unsafe_code)]
// https://encoding.spec.whatwg.org/#dom-textencoder-encode
- fn Encode(&self, cx: *mut JSContext, input: USVString) -> *mut JSObject {
+ fn Encode(&self, cx: *mut JSContext, input: USVString) -> NonZero<*mut JSObject> {
unsafe {
let encoded = self.encoder.encode(&input.0, EncoderTrap::Strict).unwrap();
let length = encoded.len() as u32;
- let js_object: *mut JSObject = JS_NewUint8Array(cx, length);
+ rooted!(in(cx) let js_object = JS_NewUint8Array(cx, length));
+ assert!(!js_object.is_null());
let mut is_shared = false;
- let js_object_data: *mut uint8_t = JS_GetUint8ArrayData(js_object, &mut is_shared, ptr::null());
+ let js_object_data: *mut uint8_t = JS_GetUint8ArrayData(js_object.get(), &mut is_shared, ptr::null());
assert!(!is_shared);
ptr::copy_nonoverlapping(encoded.as_ptr(), js_object_data, length as usize);
- js_object
+ NonZero::new(js_object.get())
}
}
}
diff --git a/components/script/dom/touchlist.rs b/components/script/dom/touchlist.rs
index ae5313e855e..14bb8a68766 100644
--- a/components/script/dom/touchlist.rs
+++ b/components/script/dom/touchlist.rs
@@ -42,9 +42,7 @@ impl TouchListMethods for TouchList {
}
/// https://w3c.github.io/touch-events/#widl-TouchList-item-getter-Touch-unsigned-long-index
- fn IndexedGetter(&self, index: u32, found: &mut bool) -> Option<Root<Touch>> {
- let item = self.Item(index);
- *found = item.is_some();
- item
+ fn IndexedGetter(&self, index: u32) -> Option<Root<Touch>> {
+ self.Item(index)
}
}
diff --git a/components/script/dom/webglrenderingcontext.rs b/components/script/dom/webglrenderingcontext.rs
index 5ff793527ec..aadf03d4211 100644
--- a/components/script/dom/webglrenderingcontext.rs
+++ b/components/script/dom/webglrenderingcontext.rs
@@ -3,6 +3,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
use canvas_traits::{CanvasCommonMsg, CanvasMsg, byte_swap};
+use core::nonzero::NonZero;
use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderingContextConstants as constants;
use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::WebGLRenderingContextMethods;
use dom::bindings::codegen::Bindings::WebGLRenderingContextBinding::{self, WebGLContextAttributes};
@@ -305,8 +306,7 @@ impl WebGLRenderingContext {
// complexity is worth it.
let (pixels, size) = match source {
ImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement::ImageData(image_data) => {
- let global = self.global();
- (image_data.get_data_array(&global.r()), image_data.get_size())
+ (image_data.get_data_array(), image_data.get_size())
},
ImageDataOrHTMLImageElementOrHTMLCanvasElementOrHTMLVideoElement::HTMLImageElement(image) => {
let img_url = match image.get_url() {
@@ -632,8 +632,9 @@ impl WebGLRenderingContextMethods for WebGLRenderingContext {
}
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.14
- fn GetExtension(&self, _cx: *mut JSContext, _name: DOMString) -> *mut JSObject {
- 0 as *mut JSObject
+ fn GetExtension(&self, _cx: *mut JSContext, _name: DOMString)
+ -> Option<NonZero<*mut JSObject>> {
+ None
}
// https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.14.3
diff --git a/components/script/dom/webidls/HTMLOptionElement.webidl b/components/script/dom/webidls/HTMLOptionElement.webidl
index a5c7c3295da..d4bc5bcdc83 100644
--- a/components/script/dom/webidls/HTMLOptionElement.webidl
+++ b/components/script/dom/webidls/HTMLOptionElement.webidl
@@ -9,7 +9,7 @@
[Exposed=(Window,Worker)]
interface HTMLOptionElement : HTMLElement {
attribute boolean disabled;
- //readonly attribute HTMLFormElement? form;
+ readonly attribute HTMLFormElement? form;
attribute DOMString label;
attribute boolean defaultSelected;
attribute boolean selected;
diff --git a/components/script/dom/webidls/Navigator.webidl b/components/script/dom/webidls/Navigator.webidl
index 493c4ba34e4..ba24348b7f8 100644
--- a/components/script/dom/webidls/Navigator.webidl
+++ b/components/script/dom/webidls/Navigator.webidl
@@ -14,6 +14,7 @@ Navigator implements NavigatorLanguage;
//Navigator implements NavigatorContentUtils;
//Navigator implements NavigatorStorageUtils;
Navigator implements NavigatorPlugins;
+Navigator implements NavigatorCookies;
// https://html.spec.whatwg.org/multipage/#navigatorid
[NoInterfaceObject, Exposed=(Window,Worker)]
@@ -52,3 +53,9 @@ interface NavigatorPlugins {
[SameObject] readonly attribute MimeTypeArray mimeTypes;
boolean javaEnabled();
};
+
+// https://html.spec.whatwg.org/multipage/#navigatorcookies
+[NoInterfaceObject, Exposed=(Window,Worker)]
+interface NavigatorCookies {
+ readonly attribute boolean cookieEnabled;
+};
diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs
index cd00390a305..b6bf6a35643 100644
--- a/components/script/dom/window.rs
+++ b/components/script/dom/window.rs
@@ -1200,9 +1200,11 @@ impl Window {
if !for_display || self.Document().needs_reflow() {
issued_reflow = self.force_reflow(goal, query_type, reason);
- // If window_size is `None`, we don't reflow, so the document stays dirty.
- // Otherwise, we shouldn't need a reflow immediately after a reflow.
+ // If window_size is `None`, we don't reflow, so the document stays
+ // dirty. Otherwise, we shouldn't need a reflow immediately after a
+ // reflow, except if we're waiting for a deferred paint.
assert!(!self.Document().needs_reflow() ||
+ (!for_display && self.Document().needs_paint()) ||
self.window_size.get().is_none() ||
self.suppress_reflow.get());
} else {
diff --git a/components/script/dom/xmldocument.rs b/components/script/dom/xmldocument.rs
index 5f6b6e1919c..1a00f67b80c 100644
--- a/components/script/dom/xmldocument.rs
+++ b/components/script/dom/xmldocument.rs
@@ -2,6 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+use core::nonzero::NonZero;
use document_loader::DocumentLoader;
use dom::bindings::codegen::Bindings::DocumentBinding::DocumentMethods;
use dom::bindings::codegen::Bindings::XMLDocumentBinding::{self, XMLDocumentMethods};
@@ -87,7 +88,7 @@ impl XMLDocumentMethods for XMLDocument {
}
// https://html.spec.whatwg.org/multipage/#dom-tree-accessors:dom-document-nameditem-filter
- fn NamedGetter(&self, _cx: *mut JSContext, name: DOMString, found: &mut bool) -> *mut JSObject {
- self.upcast::<Document>().NamedGetter(_cx, name, found)
+ fn NamedGetter(&self, _cx: *mut JSContext, name: DOMString) -> Option<NonZero<*mut JSObject>> {
+ self.upcast::<Document>().NamedGetter(_cx, name)
}
}
diff --git a/components/script/layout_wrapper.rs b/components/script/layout_wrapper.rs
index 906bde60550..a7f0a5019f3 100644
--- a/components/script/layout_wrapper.rs
+++ b/components/script/layout_wrapper.rs
@@ -405,6 +405,14 @@ impl<'ld> TDocument for ServoLayoutDocument<'ld> {
let elements = unsafe { self.document.drain_modified_elements() };
elements.into_iter().map(|(el, snapshot)| (ServoLayoutElement::from_layout_js(el), snapshot)).collect()
}
+
+ fn needs_paint_from_layout(&self) {
+ unsafe { self.document.needs_paint_from_layout(); }
+ }
+
+ fn will_paint(&self) {
+ unsafe { self.document.will_paint(); }
+ }
}
impl<'ld> ServoLayoutDocument<'ld> {
@@ -451,9 +459,9 @@ impl<'le> TElement for ServoLayoutElement<'le> {
ServoLayoutNode::from_layout_js(self.element.upcast())
}
- fn style_attribute(&self) -> &Option<PropertyDeclarationBlock> {
+ fn style_attribute(&self) -> Option<&Arc<PropertyDeclarationBlock>> {
unsafe {
- &*self.element.style_attribute()
+ (*self.element.style_attribute()).as_ref()
}
}
diff --git a/components/script/lib.rs b/components/script/lib.rs
index ff3715de24c..910706f4a1a 100644
--- a/components/script/lib.rs
+++ b/components/script/lib.rs
@@ -17,7 +17,6 @@
#![feature(slice_patterns)]
#![feature(stmt_expr_attributes)]
#![feature(question_mark)]
-#![feature(try_borrow)]
#![feature(try_from)]
#![deny(unsafe_code)]
@@ -69,7 +68,6 @@ extern crate phf;
extern crate profile_traits;
extern crate rand;
extern crate range;
-extern crate ref_filter_map;
extern crate ref_slice;
extern crate regex;
extern crate rustc_serialize;
diff --git a/components/script_layout_interface/Cargo.toml b/components/script_layout_interface/Cargo.toml
index 93a240680d4..ad051d4a9ae 100644
--- a/components/script_layout_interface/Cargo.toml
+++ b/components/script_layout_interface/Cargo.toml
@@ -27,7 +27,7 @@ plugins = {path = "../plugins"}
profile_traits = {path = "../profile_traits"}
range = {path = "../range"}
script_traits = {path = "../script_traits"}
-selectors = {version = "0.12", features = ["heap_size"]}
+selectors = {version = "0.13", features = ["heap_size"]}
string_cache = {version = "0.2.26", features = ["heap_size"]}
style = {path = "../style"}
url = {version = "1.2", features = ["heap_size"]}
diff --git a/components/servo/Cargo.lock b/components/servo/Cargo.lock
index 005624d1ff2..7686aeb2102 100644
--- a/components/servo/Cargo.lock
+++ b/components/servo/Cargo.lock
@@ -219,7 +219,7 @@ dependencies = [
"ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
- "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "offscreen_gl_context 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"plugins 0.0.1",
"util 0.0.1",
"webrender_traits 0.5.1 (git+https://github.com/servo/webrender)",
@@ -353,7 +353,7 @@ dependencies = [
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"msg 0.0.1",
"net_traits 0.0.1",
- "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "offscreen_gl_context 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"plugins 0.0.1",
"profile_traits 0.0.1",
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -686,7 +686,7 @@ dependencies = [
[[package]]
name = "fnv"
-version = "1.0.3"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@@ -767,7 +767,7 @@ dependencies = [
"core-graphics 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-text 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"fontsan 0.3.2 (git+https://github.com/servo/fontsan)",
"freetype 0.1.0 (git+https://github.com/servo/rust-freetype)",
"gfx_traits 0.0.1",
@@ -1086,7 +1086,7 @@ dependencies = [
[[package]]
name = "js"
version = "0.1.3"
-source = "git+https://github.com/servo/rust-mozjs#f06428fab33a6ae633584a1a7e1bf4e3ef7914b3"
+source = "git+https://github.com/servo/rust-mozjs#f5444dd82b864a88cf874c66c75aed478fd88d22"
dependencies = [
"cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1147,7 +1147,7 @@ dependencies = [
"canvas_traits 0.0.1",
"cssparser 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"gfx 0.0.1",
"gfx_traits 0.0.1",
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1164,7 +1164,7 @@ dependencies = [
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
"script_layout_interface 0.0.1",
"script_traits 0.0.1",
- "selectors 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "selectors 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_macros 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.26 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1191,7 +1191,7 @@ dependencies = [
"app_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"azure 0.8.0 (git+https://github.com/servo/rust-azure)",
"euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"gfx 0.0.1",
"gfx_traits 0.0.1",
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1579,7 +1579,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "offscreen_gl_context"
-version = "0.4.0"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1840,11 +1840,6 @@ dependencies = [
]
[[package]]
-name = "ref_filter_map"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
name = "ref_slice"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1904,7 +1899,7 @@ dependencies = [
"devtools_traits 0.0.1",
"encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"gfx_traits 0.0.1",
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1921,7 +1916,7 @@ dependencies = [
"msg 0.0.1",
"net_traits 0.0.1",
"num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
- "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "offscreen_gl_context 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"open 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"phf 0.7.16 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_macros 0.7.16 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1929,13 +1924,12 @@ dependencies = [
"profile_traits 0.0.1",
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
"range 0.0.1",
- "ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
"ref_slice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
"script_layout_interface 0.0.1",
"script_traits 0.0.1",
- "selectors 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "selectors 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.26 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1971,7 +1965,7 @@ dependencies = [
"profile_traits 0.0.1",
"range 0.0.1",
"script_traits 0.0.1",
- "selectors 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "selectors 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.26 (registry+https://github.com/rust-lang/crates.io-index)",
"style 0.0.1",
"url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2006,7 +2000,7 @@ dependencies = [
"libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)",
"msg 0.0.1",
"net_traits 0.0.1",
- "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "offscreen_gl_context 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"plugins 0.0.1",
"profile_traits 0.0.1",
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2020,12 +2014,12 @@ dependencies = [
[[package]]
name = "selectors"
-version = "0.12.0"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2227,7 +2221,7 @@ dependencies = [
"deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2242,7 +2236,7 @@ dependencies = [
"quickersort 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
- "selectors 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "selectors 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_macros 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2262,7 +2256,7 @@ dependencies = [
"cssparser 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
- "selectors 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "selectors 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.26 (registry+https://github.com/rust-lang/crates.io-index)",
"style 0.0.1",
"style_traits 0.0.1",
@@ -2591,7 +2585,7 @@ dependencies = [
[[package]]
name = "webrender"
version = "0.5.1"
-source = "git+https://github.com/servo/webrender#4171ab07f36d9dff12cc4fc31b23c037851cd747"
+source = "git+https://github.com/servo/webrender#a235d5bd9d3d5174e5b71542277358a9534e7f44"
dependencies = [
"app_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"bincode 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2600,14 +2594,14 @@ dependencies = [
"core-graphics 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-text 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"freetype 0.1.0 (git+https://github.com/servo/rust-freetype)",
"gleam 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
"ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
- "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "offscreen_gl_context 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"rayon 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
"webrender_traits 0.5.1 (git+https://github.com/servo/webrender)",
@@ -2616,7 +2610,7 @@ dependencies = [
[[package]]
name = "webrender_traits"
version = "0.5.1"
-source = "git+https://github.com/servo/webrender#4171ab07f36d9dff12cc4fc31b23c037851cd747"
+source = "git+https://github.com/servo/webrender#a235d5bd9d3d5174e5b71542277358a9534e7f44"
dependencies = [
"app_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2625,7 +2619,7 @@ dependencies = [
"gleam 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "offscreen_gl_context 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_macros 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -2777,7 +2771,7 @@ dependencies = [
"checksum euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cce91503add3d0a1787b9bc8a9a59ee66ea5de1c3aaa6faf67b62997843160d3"
"checksum expat-sys 2.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cef36cd1a8a02d28b91d97347c63247b9e4cb8a8e36df36f8201dc87a1c0859c"
"checksum flate2 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "3eeb481e957304178d2e782f2da1257f1434dfecbae883bafb61ada2a9fea3bb"
-"checksum fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d3d4285d5aa1cf04504b7d8c2d1fdccf4586b56739499a04cc58663b2543cd30"
+"checksum fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8e8af7b5408ab0c4910cad114c8f9eb454bf75df7afe8964307eeafb68a13a5e"
"checksum fontsan 0.3.2 (git+https://github.com/servo/fontsan)" = "<none>"
"checksum freetype 0.1.0 (git+https://github.com/servo/rust-freetype)" = "<none>"
"checksum fs2 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "bcd414e5a1a979b931bb92f41b7a54106d3f6d2e6c253e9ce943b7cd468251ef"
@@ -2844,7 +2838,7 @@ dependencies = [
"checksum num_cpus 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "cee7e88156f3f9e19bdd598f8d6c9db7bf4078f99f8381f43a55b09648d1a6e3"
"checksum objc 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7c9311aa5acd7bee14476afa0f0557f564e9d0d61218a8b833d9b1f871fa5fba"
"checksum odds 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)" = "e2adb44c4e3ae8c998874fa73ec4fd885fc7a3389ca44994217b19b8a7b1f269"
-"checksum offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "15cf62642c737de52808433b64d8f6cf55b95dc6506d7aa71f136a82f50964d8"
+"checksum offscreen_gl_context 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9145c0e9e9a303d5859ea38675c86a62f50b9eb4ed89b0f7bdec21920d7f006a"
"checksum open 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c228597177bc4a6876e278f7c7948ac033bfcb4d163ccdd5a009557c8fe5fa1e"
"checksum openssl 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)" = "c4117b6244aac42ed0150a6019b4d953d28247c5dd6ae6f46ae469b5f2318733"
"checksum openssl-sys 0.7.17 (registry+https://github.com/rust-lang/crates.io-index)" = "89c47ee94c352eea9ddaf8e364be7f978a3bb6d66d73176572484238dd5a5c3f"
@@ -2866,7 +2860,6 @@ dependencies = [
"checksum quickersort 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e952ea7699262481636004bc4ab8afaccf2bc13f91b79d1aee6617bd8fc39651"
"checksum rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "2791d88c6defac799c3f20d74f094ca33b9332612d9aef9078519c82e4fe04a5"
"checksum rayon 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8e501871917624668fe601ad12a730450414f9b0b64722a898b040ce3ae1b0fa"
-"checksum ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2b5ceb840e4009da4841ed22a15eb49f64fdd00a2138945c5beacf506b2fb5ed"
"checksum ref_slice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "24c91f8f8903c37f0525112df98ef53b1985abca5702972e5e00854cd874baf2"
"checksum regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)" = "56b7ee9f764ecf412c6e2fff779bca4b22980517ae335a21aeaf4e32625a5df2"
"checksum regex-syntax 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "31040aad7470ad9d8c46302dcffba337bb4289ca5da2e3cd6e37b64109a85199"
@@ -2874,7 +2867,7 @@ dependencies = [
"checksum rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)" = "6159e4e6e559c81bd706afe9c8fd68f547d3e851ce12e76b1de7914bab61691b"
"checksum rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084"
"checksum scoped_threadpool 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "3ef399c8893e8cb7aa9696e895427fab3a6bf265977bb96e126f24ddd2cda85a"
-"checksum selectors 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd81c2af3eba55ccc7048696c517a0e594ae9a4045b8fb3cc6ad80cd6d65ca5"
+"checksum selectors 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9eee17ca1807581fc4cf0bfddda311dc421f295a71314b9276ecc787cc63ed6f"
"checksum semver 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)" = "d4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac"
"checksum serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bfdad8985ce7708e21ada7f3f188a0079de4f8e239155348a024e31f13cddf86"
"checksum serde_codegen 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "5ae9f0068a5f3266ac4d69eb0c1f9f048a2ac24a42af3db567bcd9a3ffe9d47e"
diff --git a/components/style/Cargo.toml b/components/style/Cargo.toml
index 41d56af8379..f782f62d70a 100644
--- a/components/style/Cargo.toml
+++ b/components/style/Cargo.toml
@@ -40,7 +40,7 @@ ordered-float = "0.2.2"
quickersort = "2.0.0"
rand = "0.3"
rustc-serialize = "0.3"
-selectors = "0.12"
+selectors = "0.13"
serde = {version = "0.8", optional = true}
serde_macros = {version = "0.8", optional = true}
smallvec = "0.1"
diff --git a/components/style/dom.rs b/components/style/dom.rs
index ce7ba70a1bf..85b2d12c356 100644
--- a/components/style/dom.rs
+++ b/components/style/dom.rs
@@ -179,6 +179,9 @@ pub trait TDocument : Sized + Copy + Clone {
fn drain_modified_elements(&self) -> Vec<(Self::ConcreteElement,
<Self::ConcreteElement as ElementExt>::Snapshot)>;
+
+ fn needs_paint_from_layout(&self);
+ fn will_paint(&self);
}
pub trait PresentationalHintsSynthetizer {
@@ -192,7 +195,7 @@ pub trait TElement : PartialEq + Debug + Sized + Copy + Clone + ElementExt + Pre
fn as_node(&self) -> Self::ConcreteNode;
- fn style_attribute(&self) -> &Option<PropertyDeclarationBlock>;
+ fn style_attribute(&self) -> Option<&Arc<PropertyDeclarationBlock>>;
fn get_state(&self) -> ElementState;
diff --git a/components/script/dom/bindings/cell.rs b/components/style/domrefcell.rs
index d1b40af5b1a..a61a2a0d7fe 100644
--- a/components/script/dom/bindings/cell.rs
+++ b/components/style/domrefcell.rs
@@ -4,17 +4,15 @@
//! A shareable mutable container for the DOM.
-use dom::bindings::trace::JSTraceable;
-use js::jsapi::JSTracer;
-use std::cell::{BorrowError, BorrowMutError, Ref, RefCell, RefMut};
-use style::thread_state;
-use style::thread_state::SCRIPT;
+use refcell::{BorrowError, BorrowMutError, Ref, RefCell, RefMut};
+use thread_state;
/// A mutable field in the DOM.
///
/// This extends the API of `core::cell::RefCell` to allow unsafe access in
/// certain situations, with dynamic checking in debug builds.
-#[derive(Clone, HeapSizeOf)]
+#[derive(Clone)]
+#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
pub struct DOMRefCell<T> {
value: RefCell<T>,
}
@@ -48,7 +46,7 @@ impl<T> DOMRefCell<T> {
///
#[allow(unsafe_code)]
pub unsafe fn borrow_for_script_deallocation(&self) -> &mut T {
- debug_assert!(thread_state::get().contains(SCRIPT));
+ debug_assert!(thread_state::get().contains(thread_state::SCRIPT));
&mut *self.value.as_ptr()
}
@@ -60,14 +58,6 @@ impl<T> DOMRefCell<T> {
}
}
-impl<T: JSTraceable> JSTraceable for DOMRefCell<T> {
- fn trace(&self, trc: *mut JSTracer) {
- unsafe {
- (*self).borrow_for_gc_trace().trace(trc)
- }
- }
-}
-
// Functionality duplicated with `core::cell::RefCell`
// ===================================================
impl<T> DOMRefCell<T> {
diff --git a/components/style/keyframes.rs b/components/style/keyframes.rs
index 56bf4607d4d..d5ee58157b4 100644
--- a/components/style/keyframes.rs
+++ b/components/style/keyframes.rs
@@ -7,7 +7,7 @@ use cssparser::{DeclarationListParser, DeclarationParser};
use parser::{ParserContext, log_css_error};
use properties::PropertyDeclarationParseResult;
use properties::animated_properties::TransitionProperty;
-use properties::{PropertyDeclaration, Importance};
+use properties::{PropertyDeclaration, PropertyDeclarationBlock, Importance};
use std::sync::Arc;
/// A number from 1 to 100, indicating the percentage of the animation where
@@ -77,7 +77,7 @@ pub struct Keyframe {
/// so the second value of these tuples is always `Importance::Normal`.
/// But including them enables `compute_style_for_animation_step` to create a `DeclarationBlock`
/// by cloning an `Arc<_>` (incrementing a reference count) rather than re-creating a `Vec<_>`.
- pub declarations: Arc<Vec<(PropertyDeclaration, Importance)>>,
+ pub block: Arc<PropertyDeclarationBlock>,
}
/// A keyframes step value. This can be a synthetised keyframes animation, that
@@ -88,7 +88,7 @@ pub struct Keyframe {
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
pub enum KeyframesStepValue {
/// See `Keyframe::declarations`’s docs about the presence of `Importance`.
- Declarations(Arc<Vec<(PropertyDeclaration, Importance)>>),
+ Declarations(Arc<PropertyDeclarationBlock>),
ComputedValues,
}
@@ -113,8 +113,8 @@ impl KeyframesStep {
fn new(percentage: KeyframePercentage,
value: KeyframesStepValue) -> Self {
let declared_timing_function = match value {
- KeyframesStepValue::Declarations(ref declarations) => {
- declarations.iter().any(|&(ref prop_decl, _)| {
+ KeyframesStepValue::Declarations(ref block) => {
+ block.declarations.iter().any(|&(ref prop_decl, _)| {
match *prop_decl {
PropertyDeclaration::AnimationTimingFunction(..) => true,
_ => false,
@@ -154,7 +154,7 @@ fn get_animated_properties(keyframe: &Keyframe) -> Vec<TransitionProperty> {
let mut ret = vec![];
// NB: declarations are already deduplicated, so we don't have to check for
// it here.
- for &(ref declaration, _) in keyframe.declarations.iter() {
+ for &(ref declaration, _) in keyframe.block.declarations.iter() {
if let Some(property) = TransitionProperty::from_declaration(declaration) {
ret.push(property);
}
@@ -164,7 +164,7 @@ fn get_animated_properties(keyframe: &Keyframe) -> Vec<TransitionProperty> {
}
impl KeyframesAnimation {
- pub fn from_keyframes(keyframes: &[Keyframe]) -> Option<Self> {
+ pub fn from_keyframes(keyframes: &[Arc<Keyframe>]) -> Option<Self> {
if keyframes.is_empty() {
return None;
}
@@ -179,7 +179,7 @@ impl KeyframesAnimation {
for keyframe in keyframes {
for percentage in keyframe.selector.0.iter() {
steps.push(KeyframesStep::new(*percentage,
- KeyframesStepValue::Declarations(keyframe.declarations.clone())));
+ KeyframesStepValue::Declarations(keyframe.block.clone())));
}
}
@@ -216,7 +216,7 @@ struct KeyframeListParser<'a> {
context: &'a ParserContext<'a>,
}
-pub fn parse_keyframe_list(context: &ParserContext, input: &mut Parser) -> Vec<Keyframe> {
+pub fn parse_keyframe_list(context: &ParserContext, input: &mut Parser) -> Vec<Arc<Keyframe>> {
RuleListParser::new_for_nested_rule(input, KeyframeListParser { context: context })
.filter_map(Result::ok)
.collect()
@@ -225,12 +225,12 @@ pub fn parse_keyframe_list(context: &ParserContext, input: &mut Parser) -> Vec<K
enum Void {}
impl<'a> AtRuleParser for KeyframeListParser<'a> {
type Prelude = Void;
- type AtRule = Keyframe;
+ type AtRule = Arc<Keyframe>;
}
impl<'a> QualifiedRuleParser for KeyframeListParser<'a> {
type Prelude = KeyframeSelector;
- type QualifiedRule = Keyframe;
+ type QualifiedRule = Arc<Keyframe>;
fn parse_prelude(&self, input: &mut Parser) -> Result<Self::Prelude, ()> {
let start = input.position();
@@ -263,10 +263,13 @@ impl<'a> QualifiedRuleParser for KeyframeListParser<'a> {
}
// `parse_important` is not called here, `!important` is not allowed in keyframe blocks.
}
- Ok(Keyframe {
+ Ok(Arc::new(Keyframe {
selector: prelude,
- declarations: Arc::new(declarations),
- })
+ block: Arc::new(PropertyDeclarationBlock {
+ declarations: declarations,
+ important_count: 0,
+ }),
+ }))
}
}
diff --git a/components/style/lib.rs b/components/style/lib.rs
index fe1957d7c4e..9c1387b79c5 100644
--- a/components/style/lib.rs
+++ b/components/style/lib.rs
@@ -81,6 +81,7 @@ pub mod context;
pub mod custom_properties;
pub mod data;
pub mod dom;
+pub mod domrefcell;
pub mod element_state;
pub mod error_reporting;
pub mod font_face;
diff --git a/components/style/matching.rs b/components/style/matching.rs
index ca040c9670b..aba47943e2d 100644
--- a/components/style/matching.rs
+++ b/components/style/matching.rs
@@ -14,11 +14,11 @@ use context::{StyleContext, SharedStyleContext};
use data::PrivateStyleData;
use dom::{TElement, TNode, TRestyleDamage, UnsafeNode};
use properties::longhands::display::computed_value as display;
-use properties::{ComputedValues, cascade};
+use properties::{ComputedValues, cascade, PropertyDeclarationBlock};
use selector_impl::{TheSelectorImpl, PseudoElement};
use selector_matching::{DeclarationBlock, Stylist};
use selectors::bloom::BloomFilter;
-use selectors::matching::{StyleRelations, AFFECTED_BY_PSEUDO_ELEMENTS};
+use selectors::matching::{MatchingReason, StyleRelations, AFFECTED_BY_PSEUDO_ELEMENTS};
use selectors::{Element, MatchAttr};
use sink::ForgetfulSink;
use smallvec::SmallVec;
@@ -139,7 +139,7 @@ impl<'a> Hash for ApplicableDeclarationsCacheQuery<'a> {
for declaration in self.declarations {
// Each declaration contians an Arc, which is a stable
// pointer; we use that for hashing and equality.
- let ptr: *const Vec<_> = &*declaration.mixed_declarations;
+ let ptr: *const PropertyDeclarationBlock = &*declaration.mixed_declarations;
ptr.hash(state);
declaration.importance.hash(state);
}
@@ -651,14 +651,15 @@ pub trait ElementMatchMethods : TElement {
applicable_declarations: &mut ApplicableDeclarations)
-> StyleRelations {
use traversal::relations_are_shareable;
- let style_attribute = self.style_attribute().as_ref();
+ let style_attribute = self.style_attribute();
let mut relations =
stylist.push_applicable_declarations(self,
parent_bf,
style_attribute,
None,
- &mut applicable_declarations.normal);
+ &mut applicable_declarations.normal,
+ MatchingReason::ForStyling);
applicable_declarations.normal_shareable = relations_are_shareable(&relations);
@@ -667,7 +668,8 @@ pub trait ElementMatchMethods : TElement {
parent_bf,
None,
Some(&pseudo.clone()),
- applicable_declarations.per_pseudo.entry(pseudo).or_insert(vec![]));
+ applicable_declarations.per_pseudo.entry(pseudo).or_insert(vec![]),
+ MatchingReason::ForStyling);
});
let has_pseudos =
diff --git a/components/style/media_queries.rs b/components/style/media_queries.rs
index a5a4206a4a1..ed6dd2607bd 100644
--- a/components/style/media_queries.rs
+++ b/components/style/media_queries.rs
@@ -30,18 +30,23 @@ pub enum Range<T> {
impl Range<specified::Length> {
fn to_computed_range(&self, viewport_size: Size2D<Au>) -> Range<Au> {
+ // http://dev.w3.org/csswg/mediaqueries3/#units
+ // em units are relative to the initial font-size.
+ let initial_font_size = longhands::font_size::get_initial_value();
let compute_width = |&width| {
match width {
specified::Length::Absolute(value) => value,
- specified::Length::FontRelative(value) => {
- // http://dev.w3.org/csswg/mediaqueries3/#units
- // em units are relative to the initial font-size.
- let initial_font_size = longhands::font_size::get_initial_value();
- value.to_computed_value(initial_font_size, initial_font_size)
- }
- specified::Length::ViewportPercentage(value) =>
- value.to_computed_value(viewport_size),
- _ => unreachable!()
+ specified::Length::FontRelative(value)
+ => value.to_computed_value(initial_font_size, initial_font_size),
+ specified::Length::ViewportPercentage(value)
+ => value.to_computed_value(viewport_size),
+ specified::Length::Calc(val)
+ => val.compute_from_viewport_and_font_size(viewport_size,
+ initial_font_size,
+ initial_font_size)
+ .length(),
+ specified::Length::ServoCharacterWidth(..)
+ => unreachable!(),
}
};
diff --git a/components/style/properties/gecko.mako.rs b/components/style/properties/gecko.mako.rs
index 0676df08c57..38896677800 100644
--- a/components/style/properties/gecko.mako.rs
+++ b/components/style/properties/gecko.mako.rs
@@ -1210,13 +1210,107 @@ fn static_assert() {
</%self:impl_trait>
+<%self:impl_trait style_struct_name="Effects"
+ skip_longhands="box-shadow">
+ pub fn set_box_shadow(&mut self, v: longhands::box_shadow::computed_value::T) {
+ use cssparser::Color;
+
+ self.gecko.mBoxShadow.replace_with_new(v.0.len() as u32);
+
+ for (servo, gecko_shadow) in v.0.into_iter()
+ .zip(self.gecko.mBoxShadow.iter_mut()) {
+
+ gecko_shadow.mXOffset = servo.offset_x.0;
+ gecko_shadow.mYOffset = servo.offset_y.0;
+ gecko_shadow.mRadius = servo.blur_radius.0;
+ gecko_shadow.mSpread = servo.spread_radius.0;
+ gecko_shadow.mSpread = servo.spread_radius.0;
+ gecko_shadow.mInset = servo.inset;
+ gecko_shadow.mColor = match servo.color {
+ Color::RGBA(rgba) => {
+ gecko_shadow.mHasColor = true;
+ convert_rgba_to_nscolor(&rgba)
+ },
+ // TODO handle currentColor
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=760345
+ Color::CurrentColor => 0,
+ }
+
+ }
+ }
+
+ pub fn copy_box_shadow_from(&mut self, other: &Self) {
+ self.gecko.mBoxShadow.copy_from(&other.gecko.mBoxShadow);
+ }
+
+ pub fn clone_box_shadow(&self) -> longhands::box_shadow::computed_value::T {
+ use cssparser::Color;
+
+ let buf = self.gecko.mBoxShadow.iter().map(|shadow| {
+ longhands::box_shadow::single_value::computed_value::T {
+ offset_x: Au(shadow.mXOffset),
+ offset_y: Au(shadow.mYOffset),
+ blur_radius: Au(shadow.mRadius),
+ spread_radius: Au(shadow.mSpread),
+ inset: shadow.mInset,
+ color: Color::RGBA(convert_nscolor_to_rgba(shadow.mColor)),
+ }
+ }).collect();
+ longhands::box_shadow::computed_value::T(buf)
+ }
+</%self:impl_trait>
+
+
<%self:impl_trait style_struct_name="InheritedText"
- skip_longhands="text-align line-height word-spacing">
+ skip_longhands="text-align text-shadow line-height word-spacing">
<% text_align_keyword = Keyword("text-align", "start end left right center justify -moz-center -moz-left " +
"-moz-right match-parent") %>
${impl_keyword('text_align', 'mTextAlign', text_align_keyword, need_clone=False)}
+ pub fn set_text_shadow(&mut self, v: longhands::text_shadow::computed_value::T) {
+ use cssparser::Color;
+ self.gecko.mTextShadow.replace_with_new(v.0.len() as u32);
+
+ for (servo, gecko_shadow) in v.0.into_iter()
+ .zip(self.gecko.mTextShadow.iter_mut()) {
+
+ gecko_shadow.mXOffset = servo.offset_x.0;
+ gecko_shadow.mYOffset = servo.offset_y.0;
+ gecko_shadow.mRadius = servo.blur_radius.0;
+ gecko_shadow.mHasColor = false;
+ gecko_shadow.mColor = match servo.color {
+ Color::RGBA(rgba) => {
+ gecko_shadow.mHasColor = true;
+ convert_rgba_to_nscolor(&rgba)
+ },
+ // TODO handle currentColor
+ // https://bugzilla.mozilla.org/show_bug.cgi?id=760345
+ Color::CurrentColor => 0,
+ }
+
+ }
+ }
+
+ pub fn copy_text_shadow_from(&mut self, other: &Self) {
+ self.gecko.mTextShadow.copy_from(&other.gecko.mTextShadow);
+ }
+
+ pub fn clone_text_shadow(&self) -> longhands::text_shadow::computed_value::T {
+ use cssparser::Color;
+
+ let buf = self.gecko.mTextShadow.iter().map(|shadow| {
+ longhands::text_shadow::computed_value::TextShadow {
+ offset_x: Au(shadow.mXOffset),
+ offset_y: Au(shadow.mYOffset),
+ blur_radius: Au(shadow.mRadius),
+ color: Color::RGBA(convert_nscolor_to_rgba(shadow.mColor)),
+ }
+
+ }).collect();
+ longhands::text_shadow::computed_value::T(buf)
+ }
+
pub fn set_line_height(&mut self, v: longhands::line_height::computed_value::T) {
use properties::longhands::line_height::computed_value::T;
// FIXME: Align binary representations and ditch |match| for cast + static_asserts
diff --git a/components/style/properties/properties.mako.rs b/components/style/properties/properties.mako.rs
index 1c3c87501e3..09809cdc113 100644
--- a/components/style/properties/properties.mako.rs
+++ b/components/style/properties/properties.mako.rs
@@ -282,16 +282,36 @@ impl Importance {
/// Overridden declarations are skipped.
// FIXME (https://github.com/servo/servo/issues/3426)
-#[derive(Debug, PartialEq)]
+#[derive(Debug, PartialEq, Clone)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
pub struct PropertyDeclarationBlock {
#[cfg_attr(feature = "servo", ignore_heap_size_of = "#7038")]
- pub declarations: Arc<Vec<(PropertyDeclaration, Importance)>>,
+ pub declarations: Vec<(PropertyDeclaration, Importance)>,
/// The number of entries in `self.declaration` with `Importance::Important`
pub important_count: u32,
}
+impl PropertyDeclarationBlock {
+ /// Returns wheather this block contains any declaration with `!important`.
+ ///
+ /// This is based on the `important_count` counter,
+ /// which should be maintained whenever `declarations` is changed.
+ // FIXME: make fields private and maintain it here in methods?
+ pub fn any_important(&self) -> bool {
+ self.important_count > 0
+ }
+
+ /// Returns wheather this block contains any declaration without `!important`.
+ ///
+ /// This is based on the `important_count` counter,
+ /// which should be maintained whenever `declarations` is changed.
+ // FIXME: make fields private and maintain it here in methods?
+ pub fn any_normal(&self) -> bool {
+ self.declarations.len() > self.important_count as usize
+ }
+}
+
impl ToCss for PropertyDeclarationBlock {
// https://drafts.csswg.org/cssom/#serialize-a-css-declaration-block
fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: fmt::Write {
@@ -567,7 +587,7 @@ pub fn parse_property_declaration_list(context: &ParserContext, input: &mut Pars
}
}
let mut block = PropertyDeclarationBlock {
- declarations: Arc::new(declarations),
+ declarations: declarations,
important_count: important_count,
};
deduplicate_property_declarations(&mut block);
@@ -583,8 +603,7 @@ fn deduplicate_property_declarations(block: &mut PropertyDeclarationBlock) {
let mut seen_custom_normal = Vec::new();
let mut seen_custom_important = Vec::new();
- let declarations = Arc::get_mut(&mut block.declarations).unwrap();
- for (declaration, importance) in declarations.drain(..).rev() {
+ for (declaration, importance) in block.declarations.drain(..).rev() {
match declaration {
% for property in data.longhands:
PropertyDeclaration::${property.camel_case}(..) => {
@@ -636,7 +655,7 @@ fn deduplicate_property_declarations(block: &mut PropertyDeclarationBlock) {
deduplicated.push((declaration, importance))
}
deduplicated.reverse();
- *declarations = deduplicated;
+ block.declarations = deduplicated;
}
#[inline]
diff --git a/components/style/refcell.rs b/components/style/refcell.rs
index a2413b94ab2..f9a2b4a0672 100644
--- a/components/style/refcell.rs
+++ b/components/style/refcell.rs
@@ -15,8 +15,11 @@
#![allow(unsafe_code)]
+#[cfg(feature = "servo")] use heapsize::HeapSizeOf;
use std::cell::{UnsafeCell, Cell};
use std::cmp::Ordering;
+use std::fmt::{self, Debug, Display};
+use std::marker::PhantomData;
use std::ops::{Deref, DerefMut};
/// A fork of std::cell::RefCell that makes `as_unsafe_cell` usable on stable Rust.
@@ -28,7 +31,13 @@ pub struct RefCell<T: ?Sized> {
borrow: Cell<BorrowFlag>,
value: UnsafeCell<T>,
}
-type BorrowFlag = usize;
+
+#[cfg(feature = "servo")]
+impl<T: HeapSizeOf> HeapSizeOf for RefCell<T> {
+ fn heap_size_of_children(&self) -> usize {
+ self.borrow().heap_size_of_children()
+ }
+}
/// An enumeration of values returned from the `state` method on a `RefCell<T>`.
#[derive(Copy, Clone, PartialEq, Eq, Debug)]
@@ -41,8 +50,43 @@ pub enum BorrowState {
Unused,
}
+/// An error returned by [`RefCell::try_borrow`](struct.RefCell.html#method.try_borrow).
+pub struct BorrowError<'a, T: 'a + ?Sized> {
+ marker: PhantomData<&'a RefCell<T>>,
+}
+
+impl<'a, T: ?Sized> Debug for BorrowError<'a, T> {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ f.debug_struct("BorrowError").finish()
+ }
+}
+
+impl<'a, T: ?Sized> Display for BorrowError<'a, T> {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ Display::fmt("already mutably borrowed", f)
+ }
+}
+
+/// An error returned by [`RefCell::try_borrow_mut`](struct.RefCell.html#method.try_borrow_mut).
+pub struct BorrowMutError<'a, T: 'a + ?Sized> {
+ marker: PhantomData<&'a RefCell<T>>,
+}
+
+impl<'a, T: ?Sized> Debug for BorrowMutError<'a, T> {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ f.debug_struct("BorrowMutError").finish()
+ }
+}
+
+impl<'a, T: ?Sized> Display for BorrowMutError<'a, T> {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ Display::fmt("already borrowed", f)
+ }
+}
+
// Values [1, MAX-1] represent the number of `Ref` active
// (will not outgrow its range since `usize` is the size of the address space)
+type BorrowFlag = usize;
const UNUSED: BorrowFlag = 0;
const WRITING: BorrowFlag = !0;
@@ -90,6 +134,22 @@ impl<T: ?Sized> RefCell<T> {
///
/// The returned value can be dispatched on to determine if a call to
/// `borrow` or `borrow_mut` would succeed.
+ ///
+ /// # Examples
+ ///
+ /// ```
+ /// #![feature(borrow_state)]
+ ///
+ /// use std::cell::{BorrowState, RefCell};
+ ///
+ /// let c = RefCell::new(5);
+ ///
+ /// match c.borrow_state() {
+ /// BorrowState::Writing => println!("Cannot be borrowed"),
+ /// BorrowState::Reading => println!("Cannot be borrowed mutably"),
+ /// BorrowState::Unused => println!("Can be borrowed (mutably as well)"),
+ /// }
+ /// ```
#[inline]
pub fn borrow_state(&self) -> BorrowState {
match self.borrow.get() {
@@ -106,7 +166,8 @@ impl<T: ?Sized> RefCell<T> {
///
/// # Panics
///
- /// Panics if the value is currently mutably borrowed.
+ /// Panics if the value is currently mutably borrowed. For a non-panicking variant, use
+ /// [`try_borrow`](#method.try_borrow).
///
/// # Examples
///
@@ -136,12 +197,44 @@ impl<T: ?Sized> RefCell<T> {
/// ```
#[inline]
pub fn borrow(&self) -> Ref<T> {
+ self.try_borrow().expect("already mutably borrowed")
+ }
+
+ /// Immutably borrows the wrapped value, returning an error if the value is currently mutably
+ /// borrowed.
+ ///
+ /// The borrow lasts until the returned `Ref` exits scope. Multiple immutable borrows can be
+ /// taken out at the same time.
+ ///
+ /// This is the non-panicking variant of [`borrow`](#method.borrow).
+ ///
+ /// # Examples
+ ///
+ /// ```
+ /// #![feature(try_borrow)]
+ ///
+ /// use std::cell::RefCell;
+ ///
+ /// let c = RefCell::new(5);
+ ///
+ /// {
+ /// let m = c.borrow_mut();
+ /// assert!(c.try_borrow().is_err());
+ /// }
+ ///
+ /// {
+ /// let m = c.borrow();
+ /// assert!(c.try_borrow().is_ok());
+ /// }
+ /// ```
+ #[inline]
+ pub fn try_borrow(&self) -> Result<Ref<T>, BorrowError<T>> {
match BorrowRef::new(&self.borrow) {
- Some(b) => Ref {
+ Some(b) => Ok(Ref {
value: unsafe { &*self.value.get() },
borrow: b,
- },
- None => panic!("RefCell<T> already mutably borrowed"),
+ }),
+ None => Err(BorrowError { marker: PhantomData }),
}
}
@@ -152,7 +245,8 @@ impl<T: ?Sized> RefCell<T> {
///
/// # Panics
///
- /// Panics if the value is currently borrowed.
+ /// Panics if the value is currently borrowed. For a non-panicking variant, use
+ /// [`try_borrow_mut`](#method.try_borrow_mut).
///
/// # Examples
///
@@ -183,12 +277,40 @@ impl<T: ?Sized> RefCell<T> {
/// ```
#[inline]
pub fn borrow_mut(&self) -> RefMut<T> {
+ self.try_borrow_mut().expect("already borrowed")
+ }
+
+ /// Mutably borrows the wrapped value, returning an error if the value is currently borrowed.
+ ///
+ /// The borrow lasts until the returned `RefMut` exits scope. The value cannot be borrowed
+ /// while this borrow is active.
+ ///
+ /// This is the non-panicking variant of [`borrow_mut`](#method.borrow_mut).
+ ///
+ /// # Examples
+ ///
+ /// ```
+ /// #![feature(try_borrow)]
+ ///
+ /// use std::cell::RefCell;
+ ///
+ /// let c = RefCell::new(5);
+ ///
+ /// {
+ /// let m = c.borrow();
+ /// assert!(c.try_borrow_mut().is_err());
+ /// }
+ ///
+ /// assert!(c.try_borrow_mut().is_ok());
+ /// ```
+ #[inline]
+ pub fn try_borrow_mut(&self) -> Result<RefMut<T>, BorrowMutError<T>> {
match BorrowRefMut::new(&self.borrow) {
- Some(b) => RefMut {
+ Some(b) => Ok(RefMut {
value: unsafe { &mut *self.value.get() },
borrow: b,
- },
- None => panic!("RefCell<T> already borrowed"),
+ }),
+ None => Err(BorrowMutError { marker: PhantomData }),
}
}
@@ -197,15 +319,53 @@ impl<T: ?Sized> RefCell<T> {
/// This can be used to circumvent `RefCell`'s safety checks.
///
/// This function is `unsafe` because `UnsafeCell`'s field is public.
+ ///
+ /// # Examples
+ ///
+ /// ```
+ /// #![feature(as_unsafe_cell)]
+ ///
+ /// use std::cell::RefCell;
+ ///
+ /// let c = RefCell::new(5);
+ /// let c = unsafe { c.as_unsafe_cell() };
+ /// ```
#[inline]
pub unsafe fn as_unsafe_cell(&self) -> &UnsafeCell<T> {
&self.value
}
+ /// Returns a raw pointer to the underlying data in this cell.
+ ///
+ /// # Examples
+ ///
+ /// ```
+ /// use std::cell::RefCell;
+ ///
+ /// let c = RefCell::new(5);
+ ///
+ /// let ptr = c.as_ptr();
+ /// ```
+ #[inline]
+ pub fn as_ptr(&self) -> *mut T {
+ self.value.get()
+ }
+
/// Returns a mutable reference to the underlying data.
///
/// This call borrows `RefCell` mutably (at compile-time) so there is no
/// need for dynamic checks.
+ ///
+ /// # Examples
+ ///
+ /// ```
+ /// use std::cell::RefCell;
+ ///
+ /// let mut c = RefCell::new(5);
+ /// *c.get_mut() += 1;
+ ///
+ /// assert_eq!(c, RefCell::new(6));
+ /// ```
#[inline]
pub fn get_mut(&mut self) -> &mut T {
unsafe {
@@ -375,6 +535,18 @@ impl<'b, T: ?Sized> Ref<'b, T> {
borrow: orig.borrow,
}
}
+
+ #[inline]
+ pub fn filter_map<U: ?Sized, F>(orig: Ref<'b, T>, f: F) -> Option<Ref<'b, U>>
+ where F: FnOnce(&T) -> Option<&U>
+ {
+ f(orig.value).map(move |new_value| {
+ Ref {
+ value: new_value,
+ borrow: orig.borrow,
+ }
+ })
+ }
}
impl<'b, T: ?Sized> RefMut<'b, T> {
@@ -461,3 +633,35 @@ impl<'b, T: ?Sized> DerefMut for RefMut<'b, T> {
self.value
}
}
+
+
+// Imported from src/libcore/fmt/mod.rs
+
+impl<T: ?Sized + Debug> Debug for RefCell<T> {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ match self.borrow_state() {
+ BorrowState::Unused | BorrowState::Reading => {
+ f.debug_struct("RefCell")
+ .field("value", &self.borrow())
+ .finish()
+ }
+ BorrowState::Writing => {
+ f.debug_struct("RefCell")
+ .field("value", &"<borrowed>")
+ .finish()
+ }
+ }
+ }
+}
+
+impl<'b, T: ?Sized + Debug> Debug for Ref<'b, T> {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ Debug::fmt(&**self, f)
+ }
+}
+
+impl<'b, T: ?Sized + Debug> Debug for RefMut<'b, T> {
+ fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
+ Debug::fmt(&*(self.deref()), f)
+ }
+}
diff --git a/components/style/restyle_hints.rs b/components/style/restyle_hints.rs
index 2a9ca8b0569..2801b17e368 100644
--- a/components/style/restyle_hints.rs
+++ b/components/style/restyle_hints.rs
@@ -5,9 +5,11 @@
//! Restyle hints: an optimization to avoid unnecessarily matching selectors.
use element_state::*;
+#[cfg(feature = "servo")]
+use heapsize::HeapSizeOf;
use selector_impl::{ElementExt, TheSelectorImpl, NonTSPseudoClass, AttrValue};
-use selectors::matching::StyleRelations;
use selectors::matching::matches_complex_selector;
+use selectors::matching::{MatchingReason, StyleRelations};
use selectors::parser::{AttrSelector, Combinator, ComplexSelector, SimpleSelector, SelectorImpl};
use selectors::{Element, MatchAttr};
use std::clone::Clone;
@@ -33,6 +35,11 @@ bitflags! {
}
}
+#[cfg(feature = "servo")]
+impl HeapSizeOf for RestyleHint {
+ fn heap_size_of_children(&self) -> usize { 0 }
+}
+
/// In order to compute restyle hints, we perform a selector match against a
/// list of partial selectors whose rightmost simple selector may be sensitive
/// to the thing being changed. We do this matching twice, once for the element
@@ -334,23 +341,50 @@ impl Sensitivities {
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
struct Dependency {
selector: Arc<ComplexSelector<TheSelectorImpl>>,
- combinator: Option<Combinator>,
+ hint: RestyleHint,
sensitivities: Sensitivities,
}
+/// A set of dependencies for a given stylist.
+///
+/// Note that there are measurable perf wins from storing them separately
+/// depending on what kind of change they affect, and its also not a big deal to
+/// do it, since the dependencies are per-document.
#[derive(Debug)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
pub struct DependencySet {
- deps: Vec<Dependency>,
+ /// Dependencies only affected by state.
+ state_deps: Vec<Dependency>,
+ /// Dependencies only affected by attributes.
+ attr_deps: Vec<Dependency>,
+ /// Dependencies affected by both.
+ common_deps: Vec<Dependency>,
}
impl DependencySet {
+ fn add_dependency(&mut self, dep: Dependency) {
+ let affects_attrs = dep.sensitivities.attrs;
+ let affects_states = !dep.sensitivities.states.is_empty();
+
+ if affects_attrs && affects_states {
+ self.common_deps.push(dep)
+ } else if affects_attrs {
+ self.attr_deps.push(dep)
+ } else {
+ self.state_deps.push(dep)
+ }
+ }
+
pub fn new() -> Self {
- DependencySet { deps: Vec::new() }
+ DependencySet {
+ state_deps: vec![],
+ attr_deps: vec![],
+ common_deps: vec![],
+ }
}
pub fn len(&self) -> usize {
- self.deps.len()
+ self.common_deps.len() + self.attr_deps.len() + self.state_deps.len()
}
pub fn note_selector(&mut self, selector: &Arc<ComplexSelector<TheSelectorImpl>>) {
@@ -365,9 +399,9 @@ impl DependencySet {
}
}
if !sensitivities.is_empty() {
- self.deps.push(Dependency {
+ self.add_dependency(Dependency {
selector: cur.clone(),
- combinator: combinator,
+ hint: combinator_to_restyle_hint(combinator),
sensitivities: sensitivities,
});
}
@@ -383,38 +417,78 @@ impl DependencySet {
}
pub fn clear(&mut self) {
- self.deps.clear();
+ self.common_deps.clear();
+ self.attr_deps.clear();
+ self.state_deps.clear();
}
-}
-impl DependencySet {
pub fn compute_hint<E>(&self, el: &E,
snapshot: &E::Snapshot,
current_state: ElementState)
-> RestyleHint
- where E: ElementExt + Clone
+ where E: ElementExt + Clone
{
debug!("About to calculate restyle hint for element. Deps: {}",
- self.deps.len());
+ self.len());
- let state_changes = snapshot.state().map_or_else(ElementState::empty, |old_state| current_state ^ old_state);
+ let state_changes = snapshot.state()
+ .map_or_else(ElementState::empty, |old_state| current_state ^ old_state);
let attrs_changed = snapshot.has_attrs();
+
+ if state_changes.is_empty() && !attrs_changed {
+ return RestyleHint::empty();
+ }
+
let mut hint = RestyleHint::empty();
- for dep in &self.deps {
- if state_changes.intersects(dep.sensitivities.states) || (attrs_changed && dep.sensitivities.attrs) {
- let old_el: ElementWrapper<E> = ElementWrapper::new_with_snapshot(el.clone(), snapshot);
+ let snapshot = ElementWrapper::new_with_snapshot(el.clone(), snapshot);
+
+ Self::compute_partial_hint(&self.common_deps, el, &snapshot,
+ &state_changes, attrs_changed, &mut hint);
+
+ if !state_changes.is_empty() {
+ Self::compute_partial_hint(&self.state_deps, el, &snapshot,
+ &state_changes, attrs_changed, &mut hint);
+ }
+
+ if attrs_changed {
+ Self::compute_partial_hint(&self.attr_deps, el, &snapshot,
+ &state_changes, attrs_changed, &mut hint);
+ }
+
+ hint
+ }
+
+ fn compute_partial_hint<E>(deps: &[Dependency],
+ element: &E,
+ snapshot: &ElementWrapper<E>,
+ state_changes: &ElementState,
+ attrs_changed: bool,
+ hint: &mut RestyleHint)
+ where E: ElementExt
+ {
+ if hint.is_all() {
+ return;
+ }
+ for dep in deps {
+ debug_assert!((!state_changes.is_empty() && !dep.sensitivities.states.is_empty()) ||
+ (attrs_changed && dep.sensitivities.attrs),
+ "Testing a known ineffective dependency?");
+ if (attrs_changed || state_changes.intersects(dep.sensitivities.states)) && !hint.intersects(dep.hint) {
let matched_then =
- matches_complex_selector(&*dep.selector, &old_el, None, &mut StyleRelations::empty());
+ matches_complex_selector(&dep.selector, snapshot, None,
+ &mut StyleRelations::empty(),
+ MatchingReason::Other);
let matches_now =
- matches_complex_selector(&*dep.selector, el, None, &mut StyleRelations::empty());
+ matches_complex_selector(&dep.selector, element, None,
+ &mut StyleRelations::empty(),
+ MatchingReason::Other);
if matched_then != matches_now {
- hint.insert(combinator_to_restyle_hint(dep.combinator));
- if hint.is_all() {
- break
- }
+ hint.insert(dep.hint);
+ }
+ if hint.is_all() {
+ break;
}
}
}
- hint
}
}
diff --git a/components/style/selector_matching.rs b/components/style/selector_matching.rs
index 66f533d174b..db082f5d480 100644
--- a/components/style/selector_matching.rs
+++ b/components/style/selector_matching.rs
@@ -16,7 +16,7 @@ use selector_impl::{ElementExt, TheSelectorImpl, PseudoElement};
use selectors::Element;
use selectors::bloom::BloomFilter;
use selectors::matching::{AFFECTED_BY_STYLE_ATTRIBUTE, AFFECTED_BY_PRESENTATIONAL_HINTS};
-use selectors::matching::{StyleRelations, matches_complex_selector};
+use selectors::matching::{MatchingReason, StyleRelations, matches_complex_selector};
use selectors::parser::{Selector, SimpleSelector, LocalName, ComplexSelector};
use sink::Push;
use smallvec::VecLike;
@@ -165,28 +165,26 @@ impl Stylist {
// Take apart the StyleRule into individual Rules and insert
// them into the SelectorMap of that priority.
macro_rules! append(
- ($style_rule: ident, $priority: ident, $importance: expr, $count: expr) => {
- if $count > 0 {
- for selector in &$style_rule.selectors {
- let map = if let Some(ref pseudo) = selector.pseudo_element {
- self.pseudos_map
- .entry(pseudo.clone())
- .or_insert_with(PerPseudoElementSelectorMap::new)
- .borrow_for_origin(&stylesheet.origin)
- } else {
- self.element_map.borrow_for_origin(&stylesheet.origin)
- };
-
- map.$priority.insert(Rule {
- selector: selector.complex_selector.clone(),
- declarations: DeclarationBlock {
- specificity: selector.specificity,
- mixed_declarations: $style_rule.declarations.declarations.clone(),
- importance: $importance,
- source_order: rules_source_order,
- },
- });
- }
+ ($style_rule: ident, $priority: ident, $importance: expr) => {
+ for selector in &$style_rule.selectors {
+ let map = if let Some(ref pseudo) = selector.pseudo_element {
+ self.pseudos_map
+ .entry(pseudo.clone())
+ .or_insert_with(PerPseudoElementSelectorMap::new)
+ .borrow_for_origin(&stylesheet.origin)
+ } else {
+ self.element_map.borrow_for_origin(&stylesheet.origin)
+ };
+
+ map.$priority.insert(Rule {
+ selector: selector.complex_selector.clone(),
+ declarations: DeclarationBlock {
+ specificity: selector.specificity,
+ mixed_declarations: $style_rule.declarations.clone(),
+ importance: $importance,
+ source_order: rules_source_order,
+ },
+ });
}
};
);
@@ -194,10 +192,8 @@ impl Stylist {
for rule in stylesheet.effective_rules(&self.device) {
match *rule {
CSSRule::Style(ref style_rule) => {
- let important_count = style_rule.declarations.important_count;
- let normal_count = style_rule.declarations.declarations.len() as u32 - important_count;
- append!(style_rule, normal, Importance::Normal, normal_count);
- append!(style_rule, important, Importance::Important, important_count);
+ append!(style_rule, normal, Importance::Normal);
+ append!(style_rule, important, Importance::Important);
rules_source_order += 1;
for selector in &style_rule.selectors {
@@ -297,7 +293,8 @@ impl Stylist {
None,
None,
Some(pseudo),
- &mut declarations);
+ &mut declarations,
+ MatchingReason::ForStyling);
let (computed, _) =
properties::cascade(self.device.au_viewport_size(),
@@ -346,9 +343,10 @@ impl Stylist {
&self,
element: &E,
parent_bf: Option<&BloomFilter>,
- style_attribute: Option<&PropertyDeclarationBlock>,
+ style_attribute: Option<&Arc<PropertyDeclarationBlock>>,
pseudo_element: Option<&PseudoElement>,
- applicable_declarations: &mut V) -> StyleRelations
+ applicable_declarations: &mut V,
+ reason: MatchingReason) -> StyleRelations
where E: Element<Impl=TheSelectorImpl> +
fmt::Debug +
PresentationalHintsSynthetizer,
@@ -373,7 +371,9 @@ impl Stylist {
map.user_agent.normal.get_all_matching_rules(element,
parent_bf,
applicable_declarations,
- &mut relations);
+ &mut relations,
+ reason,
+ Importance::Normal);
debug!("UA normal: {:?}", relations);
// Step 2: Presentational hints.
@@ -389,23 +389,25 @@ impl Stylist {
map.user.normal.get_all_matching_rules(element,
parent_bf,
applicable_declarations,
- &mut relations);
+ &mut relations,
+ reason,
+ Importance::Normal);
debug!("user normal: {:?}", relations);
map.author.normal.get_all_matching_rules(element,
parent_bf,
applicable_declarations,
- &mut relations);
+ &mut relations,
+ reason,
+ Importance::Normal);
debug!("author normal: {:?}", relations);
// Step 4: Normal style attributes.
- if let Some(ref sa) = style_attribute {
- if sa.declarations.len() as u32 - sa.important_count > 0 {
+ if let Some(sa) = style_attribute {
+ if sa.any_normal() {
relations |= AFFECTED_BY_STYLE_ATTRIBUTE;
Push::push(
applicable_declarations,
- DeclarationBlock::from_declarations(
- sa.declarations.clone(),
- Importance::Normal));
+ DeclarationBlock::from_declarations(sa.clone(), Importance::Normal));
}
}
@@ -415,19 +417,19 @@ impl Stylist {
map.author.important.get_all_matching_rules(element,
parent_bf,
applicable_declarations,
- &mut relations);
+ &mut relations,
+ reason,
+ Importance::Important);
debug!("author important: {:?}", relations);
// Step 6: `!important` style attributes.
- if let Some(ref sa) = style_attribute {
- if sa.important_count > 0 {
+ if let Some(sa) = style_attribute {
+ if sa.any_important() {
relations |= AFFECTED_BY_STYLE_ATTRIBUTE;
Push::push(
applicable_declarations,
- DeclarationBlock::from_declarations(
- sa.declarations.clone(),
- Importance::Important));
+ DeclarationBlock::from_declarations(sa.clone(), Importance::Important));
}
}
@@ -437,14 +439,18 @@ impl Stylist {
map.user.important.get_all_matching_rules(element,
parent_bf,
applicable_declarations,
- &mut relations);
+ &mut relations,
+ reason,
+ Importance::Important);
debug!("user important: {:?}", relations);
map.user_agent.important.get_all_matching_rules(element,
parent_bf,
applicable_declarations,
- &mut relations);
+ &mut relations,
+ reason,
+ Importance::Important);
debug!("UA important: {:?}", relations);
@@ -470,19 +476,22 @@ impl Stylist {
{
use selectors::matching::StyleRelations;
use selectors::matching::matches_complex_selector;
- // XXX we can probably do better, the candidate should already know what
- // rules it matches.
+ // TODO(emilio): we can probably do better, the candidate should already
+ // know what rules it matches. Also, we should only match until we find
+ // a descendant combinator, the rest should be ok, since the parent is
+ // the same.
//
- // XXX Could the bloom filter help here? Should be available.
+ // TODO(emilio): Use the bloom filter, since they contain the element's
+ // ancestor chain and it's correct for the candidate too.
for ref selector in self.non_common_style_affecting_attributes_selectors.iter() {
- let element_matches = matches_complex_selector(&selector.complex_selector,
- element,
- None,
- &mut StyleRelations::empty());
- let candidate_matches = matches_complex_selector(&selector.complex_selector,
- candidate,
- None,
- &mut StyleRelations::empty());
+ let element_matches =
+ matches_complex_selector(&selector.complex_selector, element,
+ None, &mut StyleRelations::empty(),
+ MatchingReason::Other);
+ let candidate_matches =
+ matches_complex_selector(&selector.complex_selector, candidate,
+ None, &mut StyleRelations::empty(),
+ MatchingReason::Other);
if element_matches != candidate_matches {
return false;
@@ -499,20 +508,21 @@ impl Stylist {
{
use selectors::matching::StyleRelations;
use selectors::matching::matches_complex_selector;
- // XXX we can probably do better, the candidate should already know what
- // rules it matches.
+ // TODO(emilio): we can probably do better, the candidate should already
+ // know what rules it matches.
//
- // XXX The bloom filter would help here, and should be available.
+ // TODO(emilio): Use the bloom filter, since they contain the element's
+ // ancestor chain and it's correct for the candidate too.
for ref selector in self.sibling_affecting_selectors.iter() {
- let element_matches = matches_complex_selector(&selector.complex_selector,
- element,
- None,
- &mut StyleRelations::empty());
+ let element_matches =
+ matches_complex_selector(&selector.complex_selector, element,
+ None, &mut StyleRelations::empty(),
+ MatchingReason::Other);
- let candidate_matches = matches_complex_selector(&selector.complex_selector,
- candidate,
- None,
- &mut StyleRelations::empty());
+ let candidate_matches =
+ matches_complex_selector(&selector.complex_selector, candidate,
+ None, &mut StyleRelations::empty(),
+ MatchingReason::Other);
if element_matches != candidate_matches {
debug!("match_same_sibling_affecting_rules: Failure due to {:?}",
@@ -651,7 +661,9 @@ impl SelectorMap {
element: &E,
parent_bf: Option<&BloomFilter>,
matching_rules_list: &mut V,
- relations: &mut StyleRelations)
+ relations: &mut StyleRelations,
+ reason: MatchingReason,
+ importance: Importance)
where E: Element<Impl=TheSelectorImpl>,
V: VecLike<DeclarationBlock>
{
@@ -667,7 +679,9 @@ impl SelectorMap {
&self.id_hash,
&id,
matching_rules_list,
- relations)
+ relations,
+ reason,
+ importance)
}
element.each_class(|class| {
@@ -676,7 +690,9 @@ impl SelectorMap {
&self.class_hash,
class,
matching_rules_list,
- relations);
+ relations,
+ reason,
+ importance);
});
let local_name_hash = if element.is_html_element_in_html_document() {
@@ -689,13 +705,17 @@ impl SelectorMap {
local_name_hash,
element.get_local_name(),
matching_rules_list,
- relations);
+ relations,
+ reason,
+ importance);
SelectorMap::get_matching_rules(element,
parent_bf,
&self.other_rules,
matching_rules_list,
- relations);
+ relations,
+ reason,
+ importance);
// Sort only the rules we just added.
sort_by_key(&mut matching_rules_list[init_len..],
@@ -731,7 +751,9 @@ impl SelectorMap {
hash: &FnvHashMap<Str, Vec<Rule>>,
key: &BorrowedStr,
matching_rules: &mut Vector,
- relations: &mut StyleRelations)
+ relations: &mut StyleRelations,
+ reason: MatchingReason,
+ importance: Importance)
where E: Element<Impl=TheSelectorImpl>,
Str: Borrow<BorrowedStr> + Eq + Hash,
BorrowedStr: Eq + Hash,
@@ -742,7 +764,9 @@ impl SelectorMap {
parent_bf,
rules,
matching_rules,
- relations)
+ relations,
+ reason,
+ importance)
}
}
@@ -751,13 +775,22 @@ impl SelectorMap {
parent_bf: Option<&BloomFilter>,
rules: &[Rule],
matching_rules: &mut V,
- relations: &mut StyleRelations)
+ relations: &mut StyleRelations,
+ reason: MatchingReason,
+ importance: Importance)
where E: Element<Impl=TheSelectorImpl>,
V: VecLike<DeclarationBlock>
{
for rule in rules.iter() {
- if matches_complex_selector(&*rule.selector,
- element, parent_bf, relations) {
+ let block = &rule.declarations.mixed_declarations;
+ let any_declaration_for_importance = if importance.important() {
+ block.any_important()
+ } else {
+ block.any_normal()
+ };
+ if any_declaration_for_importance &&
+ matches_complex_selector(&*rule.selector, element, parent_bf,
+ relations, reason) {
matching_rules.push(rule.declarations.clone());
}
}
@@ -845,7 +878,7 @@ pub struct Rule {
pub struct DeclarationBlock {
/// Contains declarations of either importance, but only those of self.importance are relevant.
/// Use DeclarationBlock::iter
- pub mixed_declarations: Arc<Vec<(PropertyDeclaration, Importance)>>,
+ pub mixed_declarations: Arc<PropertyDeclarationBlock>,
pub importance: Importance,
pub source_order: usize,
pub specificity: u32,
@@ -853,7 +886,7 @@ pub struct DeclarationBlock {
impl DeclarationBlock {
#[inline]
- pub fn from_declarations(declarations: Arc<Vec<(PropertyDeclaration, Importance)>>,
+ pub fn from_declarations(declarations: Arc<PropertyDeclarationBlock>,
importance: Importance)
-> Self {
DeclarationBlock {
@@ -866,7 +899,7 @@ impl DeclarationBlock {
pub fn iter(&self) -> DeclarationBlockIter {
DeclarationBlockIter {
- iter: self.mixed_declarations.iter(),
+ iter: self.mixed_declarations.declarations.iter(),
importance: self.importance,
}
}
diff --git a/components/style/stylesheets.rs b/components/style/stylesheets.rs
index e622679fee5..6c4f452f7d9 100644
--- a/components/style/stylesheets.rs
+++ b/components/style/stylesheets.rs
@@ -19,6 +19,7 @@ use smallvec::SmallVec;
use std::cell::Cell;
use std::iter::Iterator;
use std::slice;
+use std::sync::Arc;
use string_cache::{Atom, Namespace};
use url::Url;
use viewport::ViewportRule;
@@ -64,31 +65,37 @@ pub struct UserAgentStylesheets {
#[derive(Debug, PartialEq)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
pub enum CSSRule {
- Charset(String),
- Namespace {
- /// `None` for the default Namespace
- prefix: Option<Atom>,
- url: Namespace,
- },
- Style(StyleRule),
- Media(MediaRule),
- FontFace(FontFaceRule),
- Viewport(ViewportRule),
- Keyframes(KeyframesRule),
+ // No Charset here, CSSCharsetRule has been removed from CSSOM
+ // https://drafts.csswg.org/cssom/#changes-from-5-december-2013
+
+ Namespace(Arc<NamespaceRule>),
+ Style(Arc<StyleRule>),
+ Media(Arc<MediaRule>),
+ FontFace(Arc<FontFaceRule>),
+ Viewport(Arc<ViewportRule>),
+ Keyframes(Arc<KeyframesRule>),
}
#[derive(Debug, PartialEq)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
+pub struct NamespaceRule {
+ /// `None` for the default Namespace
+ pub prefix: Option<Atom>,
+ pub url: Namespace,
+}
+
+#[derive(Debug, PartialEq)]
+#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
pub struct KeyframesRule {
pub name: Atom,
- pub keyframes: Vec<Keyframe>,
+ pub keyframes: Vec<Arc<Keyframe>>,
}
#[derive(Debug, PartialEq)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
pub struct MediaRule {
- pub media_queries: MediaQueryList,
+ pub media_queries: Arc<MediaQueryList>,
pub rules: Vec<CSSRule>,
}
@@ -104,7 +111,7 @@ impl MediaRule {
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
pub struct StyleRule {
pub selectors: Vec<Selector<TheSelectorImpl>>,
- pub declarations: PropertyDeclarationBlock,
+ pub declarations: Arc<PropertyDeclarationBlock>,
}
@@ -154,13 +161,13 @@ impl Stylesheet {
while let Some(result) = iter.next() {
match result {
Ok(rule) => {
- if let CSSRule::Namespace { ref prefix, ref url } = rule {
- if let Some(prefix) = prefix.as_ref() {
+ if let CSSRule::Namespace(ref rule) = rule {
+ if let Some(ref prefix) = rule.prefix {
iter.parser.context.selector_context.namespace_prefixes.insert(
- prefix.clone(), url.clone());
+ prefix.clone(), rule.url.clone());
} else {
iter.parser.context.selector_context.default_namespace =
- Some(url.clone());
+ Some(rule.url.clone());
}
}
@@ -408,7 +415,7 @@ enum AtRulePrelude {
/// A @font-face rule prelude.
FontFace,
/// A @media rule prelude, with its media queries.
- Media(MediaQueryList),
+ Media(Arc<MediaQueryList>),
/// A @viewport rule prelude.
Viewport,
/// A @keyframes rule, with its animation name.
@@ -423,16 +430,6 @@ impl<'a> AtRuleParser for TopLevelRuleParser<'a> {
fn parse_prelude(&self, name: &str, input: &mut Parser)
-> Result<AtRuleType<AtRulePrelude, CSSRule>, ()> {
match_ignore_ascii_case! { name,
- "charset" => {
- if self.state.get() <= State::Start {
- // Valid @charset rules are just ignored
- self.state.set(State::Imports);
- let charset = try!(input.expect_string()).into_owned();
- return Ok(AtRuleType::WithoutBlock(CSSRule::Charset(charset)))
- } else {
- return Err(()) // "@charset must be the first rule"
- }
- },
"import" => {
if self.state.get() <= State::Imports {
self.state.set(State::Imports);
@@ -448,14 +445,17 @@ impl<'a> AtRuleParser for TopLevelRuleParser<'a> {
let prefix = input.try(|input| input.expect_ident()).ok().map(|p| p.into());
let url = Namespace(Atom::from(try!(input.expect_url_or_string())));
- return Ok(AtRuleType::WithoutBlock(CSSRule::Namespace {
+ return Ok(AtRuleType::WithoutBlock(CSSRule::Namespace(Arc::new(NamespaceRule {
prefix: prefix,
url: url,
- }))
+ }))))
} else {
return Err(()) // "@namespace must be before any rule but @charset and @import"
}
},
+ // @charset is removed by rust-cssparser if it’s the first rule in the stylesheet
+ // anything left is invalid.
+ "charset" => return Err(()), // (insert appropriate error message)
_ => {}
}
@@ -502,7 +502,7 @@ impl<'a, 'b> AtRuleParser for NestedRuleParser<'a, 'b> {
match_ignore_ascii_case! { name,
"media" => {
let media_queries = parse_media_query_list(input);
- Ok(AtRuleType::WithBlock(AtRulePrelude::Media(media_queries)))
+ Ok(AtRuleType::WithBlock(AtRulePrelude::Media(Arc::new(media_queries))))
},
"font-face" => {
Ok(AtRuleType::WithBlock(AtRulePrelude::FontFace))
@@ -530,22 +530,22 @@ impl<'a, 'b> AtRuleParser for NestedRuleParser<'a, 'b> {
fn parse_block(&self, prelude: AtRulePrelude, input: &mut Parser) -> Result<CSSRule, ()> {
match prelude {
AtRulePrelude::FontFace => {
- parse_font_face_block(self.context, input).map(CSSRule::FontFace)
+ Ok(CSSRule::FontFace(Arc::new(try!(parse_font_face_block(self.context, input)))))
}
AtRulePrelude::Media(media_queries) => {
- Ok(CSSRule::Media(MediaRule {
+ Ok(CSSRule::Media(Arc::new(MediaRule {
media_queries: media_queries,
rules: parse_nested_rules(self.context, input),
- }))
+ })))
}
AtRulePrelude::Viewport => {
- ViewportRule::parse(input, self.context).map(CSSRule::Viewport)
+ Ok(CSSRule::Viewport(Arc::new(try!(ViewportRule::parse(input, self.context)))))
}
AtRulePrelude::Keyframes(name) => {
- Ok(CSSRule::Keyframes(KeyframesRule {
+ Ok(CSSRule::Keyframes(Arc::new(KeyframesRule {
name: name,
keyframes: parse_keyframe_list(&self.context, input),
- }))
+ })))
}
}
}
@@ -560,9 +560,9 @@ impl<'a, 'b> QualifiedRuleParser for NestedRuleParser<'a, 'b> {
}
fn parse_block(&self, prelude: Vec<Selector<TheSelectorImpl>>, input: &mut Parser) -> Result<CSSRule, ()> {
- Ok(CSSRule::Style(StyleRule {
+ Ok(CSSRule::Style(Arc::new(StyleRule {
selectors: prelude,
- declarations: parse_property_declaration_list(self.context, input)
- }))
+ declarations: Arc::new(parse_property_declaration_list(self.context, input))
+ })))
}
}
diff --git a/components/style/values/computed/mod.rs b/components/style/values/computed/mod.rs
index 9864cd67983..28fc7b3892f 100644
--- a/components/style/values/computed/mod.rs
+++ b/components/style/values/computed/mod.rs
@@ -164,26 +164,10 @@ impl ToComputedValue for specified::CalcLengthOrPercentage {
type ComputedValue = CalcLengthOrPercentage;
fn to_computed_value(&self, context: &Context) -> CalcLengthOrPercentage {
- let mut length = None;
+ self.compute_from_viewport_and_font_size(context.viewport_size(),
+ context.style().get_font().clone_font_size(),
+ context.style().root_font_size())
- if let Some(absolute) = self.absolute {
- length = Some(length.unwrap_or(Au(0)) + absolute);
- }
-
- for val in &[self.vw, self.vh, self.vmin, self.vmax] {
- if let Some(val) = *val {
- length = Some(length.unwrap_or(Au(0)) +
- val.to_computed_value(context.viewport_size()));
- }
- }
- for val in &[self.ch, self.em, self.ex, self.rem] {
- if let Some(val) = *val {
- length = Some(length.unwrap_or(Au(0)) + val.to_computed_value(
- context.style().get_font().clone_font_size(), context.style().root_font_size()));
- }
- }
-
- CalcLengthOrPercentage { length: length, percentage: self.percentage.map(|p| p.0) }
}
}
diff --git a/components/style/values/specified/mod.rs b/components/style/values/specified/mod.rs
index 77df3f94bdb..3bbdcb1ccb9 100644
--- a/components/style/values/specified/mod.rs
+++ b/components/style/values/specified/mod.rs
@@ -16,7 +16,7 @@ use std::f32::consts::PI;
use std::fmt;
use std::ops::Mul;
use style_traits::values::specified::AllowedNumericType;
-use super::computed::{Context, ToComputedValue};
+use super::computed::{self, Context, ToComputedValue};
use super::{CSSFloat, FONT_MEDIUM_PX, HasViewportPercentage, LocalToCss, NoViewportPercentage};
use url::Url;
@@ -286,22 +286,24 @@ impl Length {
}
#[inline]
- fn parse_internal(input: &mut Parser, context: &AllowedNumericType) -> Result<Length, ()> {
+ fn parse_internal(input: &mut Parser, context: AllowedNumericType) -> Result<Length, ()> {
match try!(input.next()) {
Token::Dimension(ref value, ref unit) if context.is_ok(value.value) =>
Length::parse_dimension(value.value, unit),
Token::Number(ref value) if value.value == 0. =>
Ok(Length::Absolute(Au(0))),
Token::Function(ref name) if name.eq_ignore_ascii_case("calc") =>
- input.parse_nested_block(CalcLengthOrPercentage::parse_length),
+ input.parse_nested_block(|input| {
+ CalcLengthOrPercentage::parse_length(input, context)
+ }),
_ => Err(())
}
}
pub fn parse(input: &mut Parser) -> Result<Length, ()> {
- Length::parse_internal(input, &AllowedNumericType::All)
+ Length::parse_internal(input, AllowedNumericType::All)
}
pub fn parse_non_negative(input: &mut Parser) -> Result<Length, ()> {
- Length::parse_internal(input, &AllowedNumericType::NonNegative)
+ Length::parse_internal(input, AllowedNumericType::NonNegative)
}
pub fn parse_dimension(value: CSSFloat, unit: &str) -> Result<Length, ()> {
match_ignore_ascii_case! { unit,
@@ -467,6 +469,8 @@ pub struct CalcLengthOrPercentage {
pub ch: Option<FontRelativeLength>,
pub rem: Option<FontRelativeLength>,
pub percentage: Option<Percentage>,
+ /// Whether the value returned can be negative at computed value time.
+ pub allowed_numeric_type: AllowedNumericType,
}
impl CalcLengthOrPercentage {
@@ -617,15 +621,19 @@ impl CalcLengthOrPercentage {
}
}
- fn parse_length(input: &mut Parser) -> Result<Length, ()> {
- CalcLengthOrPercentage::parse(input, CalcUnit::Length).map(Length::Calc)
+ fn parse_length(input: &mut Parser,
+ context: AllowedNumericType) -> Result<Length, ()> {
+ CalcLengthOrPercentage::parse(input, CalcUnit::Length, context).map(Length::Calc)
}
- fn parse_length_or_percentage(input: &mut Parser) -> Result<CalcLengthOrPercentage, ()> {
- CalcLengthOrPercentage::parse(input, CalcUnit::LengthOrPercentage)
+ fn parse_length_or_percentage(input: &mut Parser,
+ context: AllowedNumericType) -> Result<CalcLengthOrPercentage, ()> {
+ CalcLengthOrPercentage::parse(input, CalcUnit::LengthOrPercentage, context)
}
- fn parse(input: &mut Parser, expected_unit: CalcUnit) -> Result<CalcLengthOrPercentage, ()> {
+ fn parse(input: &mut Parser,
+ expected_unit: CalcUnit,
+ context: AllowedNumericType) -> Result<CalcLengthOrPercentage, ()> {
let ast = try!(CalcLengthOrPercentage::parse_sum(input, expected_unit));
let mut simplified = Vec::new();
@@ -692,6 +700,7 @@ impl CalcLengthOrPercentage {
ch: ch.map(FontRelativeLength::Ch),
rem: rem.map(FontRelativeLength::Rem),
percentage: percentage.map(Percentage),
+ allowed_numeric_type: context,
})
}
@@ -751,6 +760,52 @@ impl CalcLengthOrPercentage {
_ => Err(())
}
}
+
+ pub fn compute_from_viewport_and_font_size(&self,
+ viewport_size: Size2D<Au>,
+ font_size: Au,
+ root_font_size: Au)
+ -> computed::CalcLengthOrPercentage
+ {
+ let mut length = None;
+
+ if let Some(absolute) = self.absolute {
+ length = Some(length.unwrap_or(Au(0)) + absolute);
+ }
+
+ for val in &[self.vw, self.vh, self.vmin, self.vmax] {
+ if let Some(val) = *val {
+ length = Some(length.unwrap_or(Au(0)) +
+ val.to_computed_value(viewport_size));
+ }
+ }
+
+ for val in &[self.ch, self.em, self.ex, self.rem] {
+ if let Some(val) = *val {
+ length = Some(length.unwrap_or(Au(0)) + val.to_computed_value(
+ font_size, root_font_size));
+ }
+ }
+
+ // https://drafts.csswg.org/css-values/#calc-range
+ let mut percentage = self.percentage.map(|p| p.0);
+ if let AllowedNumericType::NonNegative = self.allowed_numeric_type {
+ if let Some(ref mut length) = length {
+ *length = cmp::max(*length, Au(0));
+ }
+
+ if let Some(ref mut percentage) = percentage {
+ if *percentage < 0. {
+ *percentage = 0.;
+ }
+ }
+ }
+
+ computed::CalcLengthOrPercentage {
+ length: length,
+ percentage: percentage,
+ }
+ }
}
impl HasViewportPercentage for CalcLengthOrPercentage {
@@ -853,7 +908,7 @@ impl LengthOrPercentage {
LengthOrPercentage::Length(Length::Absolute(Au(0)))
}
- fn parse_internal(input: &mut Parser, context: &AllowedNumericType)
+ fn parse_internal(input: &mut Parser, context: AllowedNumericType)
-> Result<LengthOrPercentage, ()>
{
match try!(input.next()) {
@@ -864,7 +919,9 @@ impl LengthOrPercentage {
Token::Number(ref value) if value.value == 0. =>
Ok(LengthOrPercentage::Length(Length::Absolute(Au(0)))),
Token::Function(ref name) if name.eq_ignore_ascii_case("calc") => {
- let calc = try!(input.parse_nested_block(CalcLengthOrPercentage::parse_length_or_percentage));
+ let calc = try!(input.parse_nested_block(|input| {
+ CalcLengthOrPercentage::parse_length_or_percentage(input, context)
+ }));
Ok(LengthOrPercentage::Calc(calc))
},
_ => Err(())
@@ -872,11 +929,11 @@ impl LengthOrPercentage {
}
#[inline]
pub fn parse(input: &mut Parser) -> Result<LengthOrPercentage, ()> {
- LengthOrPercentage::parse_internal(input, &AllowedNumericType::All)
+ LengthOrPercentage::parse_internal(input, AllowedNumericType::All)
}
#[inline]
pub fn parse_non_negative(input: &mut Parser) -> Result<LengthOrPercentage, ()> {
- LengthOrPercentage::parse_internal(input, &AllowedNumericType::NonNegative)
+ LengthOrPercentage::parse_internal(input, AllowedNumericType::NonNegative)
}
}
@@ -911,7 +968,7 @@ impl ToCss for LengthOrPercentageOrAuto {
}
impl LengthOrPercentageOrAuto {
- fn parse_internal(input: &mut Parser, context: &AllowedNumericType)
+ fn parse_internal(input: &mut Parser, context: AllowedNumericType)
-> Result<LengthOrPercentageOrAuto, ()>
{
match try!(input.next()) {
@@ -924,7 +981,9 @@ impl LengthOrPercentageOrAuto {
Token::Ident(ref value) if value.eq_ignore_ascii_case("auto") =>
Ok(LengthOrPercentageOrAuto::Auto),
Token::Function(ref name) if name.eq_ignore_ascii_case("calc") => {
- let calc = try!(input.parse_nested_block(CalcLengthOrPercentage::parse_length_or_percentage));
+ let calc = try!(input.parse_nested_block(|input| {
+ CalcLengthOrPercentage::parse_length_or_percentage(input, context)
+ }));
Ok(LengthOrPercentageOrAuto::Calc(calc))
},
_ => Err(())
@@ -932,11 +991,11 @@ impl LengthOrPercentageOrAuto {
}
#[inline]
pub fn parse(input: &mut Parser) -> Result<LengthOrPercentageOrAuto, ()> {
- LengthOrPercentageOrAuto::parse_internal(input, &AllowedNumericType::All)
+ LengthOrPercentageOrAuto::parse_internal(input, AllowedNumericType::All)
}
#[inline]
pub fn parse_non_negative(input: &mut Parser) -> Result<LengthOrPercentageOrAuto, ()> {
- LengthOrPercentageOrAuto::parse_internal(input, &AllowedNumericType::NonNegative)
+ LengthOrPercentageOrAuto::parse_internal(input, AllowedNumericType::NonNegative)
}
}
@@ -970,7 +1029,7 @@ impl ToCss for LengthOrPercentageOrNone {
}
}
impl LengthOrPercentageOrNone {
- fn parse_internal(input: &mut Parser, context: &AllowedNumericType)
+ fn parse_internal(input: &mut Parser, context: AllowedNumericType)
-> Result<LengthOrPercentageOrNone, ()>
{
match try!(input.next()) {
@@ -981,7 +1040,9 @@ impl LengthOrPercentageOrNone {
Token::Number(ref value) if value.value == 0. =>
Ok(LengthOrPercentageOrNone::Length(Length::Absolute(Au(0)))),
Token::Function(ref name) if name.eq_ignore_ascii_case("calc") => {
- let calc = try!(input.parse_nested_block(CalcLengthOrPercentage::parse_length_or_percentage));
+ let calc = try!(input.parse_nested_block(|input| {
+ CalcLengthOrPercentage::parse_length_or_percentage(input, context)
+ }));
Ok(LengthOrPercentageOrNone::Calc(calc))
},
Token::Ident(ref value) if value.eq_ignore_ascii_case("none") =>
@@ -991,11 +1052,11 @@ impl LengthOrPercentageOrNone {
}
#[inline]
pub fn parse(input: &mut Parser) -> Result<LengthOrPercentageOrNone, ()> {
- LengthOrPercentageOrNone::parse_internal(input, &AllowedNumericType::All)
+ LengthOrPercentageOrNone::parse_internal(input, AllowedNumericType::All)
}
#[inline]
pub fn parse_non_negative(input: &mut Parser) -> Result<LengthOrPercentageOrNone, ()> {
- LengthOrPercentageOrNone::parse_internal(input, &AllowedNumericType::NonNegative)
+ LengthOrPercentageOrNone::parse_internal(input, AllowedNumericType::NonNegative)
}
}
@@ -1024,7 +1085,7 @@ impl ToCss for LengthOrNone {
}
}
impl LengthOrNone {
- fn parse_internal(input: &mut Parser, context: &AllowedNumericType)
+ fn parse_internal(input: &mut Parser, context: AllowedNumericType)
-> Result<LengthOrNone, ()>
{
match try!(input.next()) {
@@ -1033,7 +1094,9 @@ impl LengthOrNone {
Token::Number(ref value) if value.value == 0. =>
Ok(LengthOrNone::Length(Length::Absolute(Au(0)))),
Token::Function(ref name) if name.eq_ignore_ascii_case("calc") =>
- input.parse_nested_block(CalcLengthOrPercentage::parse_length).map(LengthOrNone::Length),
+ input.parse_nested_block(|input| {
+ CalcLengthOrPercentage::parse_length(input, context)
+ }).map(LengthOrNone::Length),
Token::Ident(ref value) if value.eq_ignore_ascii_case("none") =>
Ok(LengthOrNone::None),
_ => Err(())
@@ -1041,11 +1104,11 @@ impl LengthOrNone {
}
#[inline]
pub fn parse(input: &mut Parser) -> Result<LengthOrNone, ()> {
- LengthOrNone::parse_internal(input, &AllowedNumericType::All)
+ LengthOrNone::parse_internal(input, AllowedNumericType::All)
}
#[inline]
pub fn parse_non_negative(input: &mut Parser) -> Result<LengthOrNone, ()> {
- LengthOrNone::parse_internal(input, &AllowedNumericType::NonNegative)
+ LengthOrNone::parse_internal(input, AllowedNumericType::NonNegative)
}
}
@@ -1096,7 +1159,9 @@ impl LengthOrPercentageOrAutoOrContent {
Token::Ident(ref value) if value.eq_ignore_ascii_case("content") =>
Ok(LengthOrPercentageOrAutoOrContent::Content),
Token::Function(ref name) if name.eq_ignore_ascii_case("calc") => {
- let calc = try!(input.parse_nested_block(CalcLengthOrPercentage::parse_length_or_percentage));
+ let calc = try!(input.parse_nested_block(|input| {
+ CalcLengthOrPercentage::parse_length_or_percentage(input, context)
+ }));
Ok(LengthOrPercentageOrAutoOrContent::Calc(calc))
},
_ => Err(())
diff --git a/components/style_traits/values.rs b/components/style_traits/values.rs
index 995e98fcfef..eb6f3c13a55 100644
--- a/components/style_traits/values.rs
+++ b/components/style_traits/values.rs
@@ -63,6 +63,8 @@ macro_rules! __define_css_keyword_enum__actual {
pub mod specified {
+ #[repr(u8)]
+ #[cfg_attr(feature = "servo", derive(HeapSizeOf))]
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
pub enum AllowedNumericType {
All,
diff --git a/mach b/mach
index 4a8d7a349b0..f7453d22bbc 100755
--- a/mach
+++ b/mach
@@ -12,11 +12,10 @@
from __future__ import print_function, unicode_literals
import os
-from os import path
import sys
def main(args):
- topdir = path.abspath(path.dirname(sys.argv[0]))
+ topdir = os.path.abspath(os.path.dirname(sys.argv[0]))
sys.path.insert(0, os.path.join(topdir, "python"))
import mach_bootstrap
mach = mach_bootstrap.bootstrap(topdir)
diff --git a/ports/cef/Cargo.lock b/ports/cef/Cargo.lock
index ce817a3f9f8..61a0c37c836 100644
--- a/ports/cef/Cargo.lock
+++ b/ports/cef/Cargo.lock
@@ -193,7 +193,7 @@ dependencies = [
"ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
- "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "offscreen_gl_context 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"plugins 0.0.1",
"util 0.0.1",
"webrender_traits 0.5.1 (git+https://github.com/servo/webrender)",
@@ -311,7 +311,7 @@ dependencies = [
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"msg 0.0.1",
"net_traits 0.0.1",
- "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "offscreen_gl_context 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"plugins 0.0.1",
"profile_traits 0.0.1",
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -603,7 +603,7 @@ dependencies = [
[[package]]
name = "fnv"
-version = "1.0.3"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@@ -684,7 +684,7 @@ dependencies = [
"core-graphics 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-text 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"fontsan 0.3.2 (git+https://github.com/servo/fontsan)",
"freetype 0.1.0 (git+https://github.com/servo/rust-freetype)",
"gfx_traits 0.0.1",
@@ -994,7 +994,7 @@ dependencies = [
[[package]]
name = "js"
version = "0.1.3"
-source = "git+https://github.com/servo/rust-mozjs#f06428fab33a6ae633584a1a7e1bf4e3ef7914b3"
+source = "git+https://github.com/servo/rust-mozjs#f5444dd82b864a88cf874c66c75aed478fd88d22"
dependencies = [
"cmake 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1055,7 +1055,7 @@ dependencies = [
"canvas_traits 0.0.1",
"cssparser 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"gfx 0.0.1",
"gfx_traits 0.0.1",
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1072,7 +1072,7 @@ dependencies = [
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
"script_layout_interface 0.0.1",
"script_traits 0.0.1",
- "selectors 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "selectors 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_macros 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.26 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1092,7 +1092,7 @@ dependencies = [
"app_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"azure 0.8.0 (git+https://github.com/servo/rust-azure)",
"euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"gfx 0.0.1",
"gfx_traits 0.0.1",
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1451,7 +1451,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "offscreen_gl_context"
-version = "0.4.0"
+version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"cgl 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1692,11 +1692,6 @@ dependencies = [
]
[[package]]
-name = "ref_filter_map"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-
-[[package]]
name = "ref_slice"
version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1756,7 +1751,7 @@ dependencies = [
"devtools_traits 0.0.1",
"encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"gfx_traits 0.0.1",
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1773,7 +1768,7 @@ dependencies = [
"msg 0.0.1",
"net_traits 0.0.1",
"num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
- "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "offscreen_gl_context 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"open 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)",
"phf 0.7.16 (registry+https://github.com/rust-lang/crates.io-index)",
"phf_macros 0.7.16 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1781,13 +1776,12 @@ dependencies = [
"profile_traits 0.0.1",
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
"range 0.0.1",
- "ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)",
"ref_slice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
"script_layout_interface 0.0.1",
"script_traits 0.0.1",
- "selectors 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "selectors 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.26 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1823,7 +1817,7 @@ dependencies = [
"profile_traits 0.0.1",
"range 0.0.1",
"script_traits 0.0.1",
- "selectors 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "selectors 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.26 (registry+https://github.com/rust-lang/crates.io-index)",
"style 0.0.1",
"url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1848,7 +1842,7 @@ dependencies = [
"libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)",
"msg 0.0.1",
"net_traits 0.0.1",
- "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "offscreen_gl_context 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"plugins 0.0.1",
"profile_traits 0.0.1",
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -1862,12 +1856,12 @@ dependencies = [
[[package]]
name = "selectors"
-version = "0.12.0"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2110,7 +2104,7 @@ dependencies = [
"deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize_plugin 0.1.5 (registry+https://github.com/rust-lang/crates.io-index)",
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2125,7 +2119,7 @@ dependencies = [
"quickersort 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
- "selectors 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "selectors 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_macros 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2451,7 +2445,7 @@ dependencies = [
[[package]]
name = "webrender"
version = "0.5.1"
-source = "git+https://github.com/servo/webrender#4171ab07f36d9dff12cc4fc31b23c037851cd747"
+source = "git+https://github.com/servo/webrender#a235d5bd9d3d5174e5b71542277358a9534e7f44"
dependencies = [
"app_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"bincode 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2460,14 +2454,14 @@ dependencies = [
"core-graphics 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"core-text 2.0.0 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"freetype 0.1.0 (git+https://github.com/servo/rust-freetype)",
"gleam 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
"ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
"lazy_static 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"num-traits 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
- "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "offscreen_gl_context 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"rayon 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
"webrender_traits 0.5.1 (git+https://github.com/servo/webrender)",
@@ -2476,7 +2470,7 @@ dependencies = [
[[package]]
name = "webrender_traits"
version = "0.5.1"
-source = "git+https://github.com/servo/webrender#4171ab07f36d9dff12cc4fc31b23c037851cd747"
+source = "git+https://github.com/servo/webrender#a235d5bd9d3d5174e5b71542277358a9534e7f44"
dependencies = [
"app_units 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)",
"byteorder 0.5.3 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -2485,7 +2479,7 @@ dependencies = [
"gleam 0.2.20 (registry+https://github.com/rust-lang/crates.io-index)",
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"ipc-channel 0.5.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "offscreen_gl_context 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)",
"serde_macros 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -2631,7 +2625,7 @@ dependencies = [
"checksum euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cce91503add3d0a1787b9bc8a9a59ee66ea5de1c3aaa6faf67b62997843160d3"
"checksum expat-sys 2.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "cef36cd1a8a02d28b91d97347c63247b9e4cb8a8e36df36f8201dc87a1c0859c"
"checksum flate2 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "3eeb481e957304178d2e782f2da1257f1434dfecbae883bafb61ada2a9fea3bb"
-"checksum fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d3d4285d5aa1cf04504b7d8c2d1fdccf4586b56739499a04cc58663b2543cd30"
+"checksum fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8e8af7b5408ab0c4910cad114c8f9eb454bf75df7afe8964307eeafb68a13a5e"
"checksum fontsan 0.3.2 (git+https://github.com/servo/fontsan)" = "<none>"
"checksum freetype 0.1.0 (git+https://github.com/servo/rust-freetype)" = "<none>"
"checksum fs2 0.2.5 (registry+https://github.com/rust-lang/crates.io-index)" = "bcd414e5a1a979b931bb92f41b7a54106d3f6d2e6c253e9ce943b7cd468251ef"
@@ -2698,7 +2692,7 @@ dependencies = [
"checksum num_cpus 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)" = "cee7e88156f3f9e19bdd598f8d6c9db7bf4078f99f8381f43a55b09648d1a6e3"
"checksum objc 0.2.1 (registry+https://github.com/rust-lang/crates.io-index)" = "7c9311aa5acd7bee14476afa0f0557f564e9d0d61218a8b833d9b1f871fa5fba"
"checksum odds 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)" = "e2adb44c4e3ae8c998874fa73ec4fd885fc7a3389ca44994217b19b8a7b1f269"
-"checksum offscreen_gl_context 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "15cf62642c737de52808433b64d8f6cf55b95dc6506d7aa71f136a82f50964d8"
+"checksum offscreen_gl_context 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "9145c0e9e9a303d5859ea38675c86a62f50b9eb4ed89b0f7bdec21920d7f006a"
"checksum open 1.1.1 (registry+https://github.com/rust-lang/crates.io-index)" = "c228597177bc4a6876e278f7c7948ac033bfcb4d163ccdd5a009557c8fe5fa1e"
"checksum openssl 0.7.14 (registry+https://github.com/rust-lang/crates.io-index)" = "c4117b6244aac42ed0150a6019b4d953d28247c5dd6ae6f46ae469b5f2318733"
"checksum openssl-sys 0.7.17 (registry+https://github.com/rust-lang/crates.io-index)" = "89c47ee94c352eea9ddaf8e364be7f978a3bb6d66d73176572484238dd5a5c3f"
@@ -2720,7 +2714,6 @@ dependencies = [
"checksum quickersort 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e952ea7699262481636004bc4ab8afaccf2bc13f91b79d1aee6617bd8fc39651"
"checksum rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)" = "2791d88c6defac799c3f20d74f094ca33b9332612d9aef9078519c82e4fe04a5"
"checksum rayon 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8e501871917624668fe601ad12a730450414f9b0b64722a898b040ce3ae1b0fa"
-"checksum ref_filter_map 1.0.1 (registry+https://github.com/rust-lang/crates.io-index)" = "2b5ceb840e4009da4841ed22a15eb49f64fdd00a2138945c5beacf506b2fb5ed"
"checksum ref_slice 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)" = "24c91f8f8903c37f0525112df98ef53b1985abca5702972e5e00854cd874baf2"
"checksum regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)" = "56b7ee9f764ecf412c6e2fff779bca4b22980517ae335a21aeaf4e32625a5df2"
"checksum regex-syntax 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "31040aad7470ad9d8c46302dcffba337bb4289ca5da2e3cd6e37b64109a85199"
@@ -2728,7 +2721,7 @@ dependencies = [
"checksum rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)" = "6159e4e6e559c81bd706afe9c8fd68f547d3e851ce12e76b1de7914bab61691b"
"checksum rustc_version 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "c5f5376ea5e30ce23c03eb77cbe4962b988deead10910c372b226388b594c084"
"checksum scoped_threadpool 0.1.7 (registry+https://github.com/rust-lang/crates.io-index)" = "3ef399c8893e8cb7aa9696e895427fab3a6bf265977bb96e126f24ddd2cda85a"
-"checksum selectors 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd81c2af3eba55ccc7048696c517a0e594ae9a4045b8fb3cc6ad80cd6d65ca5"
+"checksum selectors 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9eee17ca1807581fc4cf0bfddda311dc421f295a71314b9276ecc787cc63ed6f"
"checksum semver 0.1.20 (registry+https://github.com/rust-lang/crates.io-index)" = "d4f410fedcf71af0345d7607d246e7ad15faaadd49d240ee3b24e5dc21a820ac"
"checksum serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bfdad8985ce7708e21ada7f3f188a0079de4f8e239155348a024e31f13cddf86"
"checksum serde_codegen 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "5ae9f0068a5f3266ac4d69eb0c1f9f048a2ac24a42af3db567bcd9a3ffe9d47e"
diff --git a/ports/geckolib/Cargo.lock b/ports/geckolib/Cargo.lock
index b764f7803c1..6f489176f8d 100644
--- a/ports/geckolib/Cargo.lock
+++ b/ports/geckolib/Cargo.lock
@@ -11,7 +11,7 @@ dependencies = [
"libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)",
"log 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"num_cpus 0.2.13 (registry+https://github.com/rust-lang/crates.io-index)",
- "selectors 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "selectors 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
"style 0.0.1",
"style_traits 0.0.1",
"url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -151,7 +151,7 @@ dependencies = [
[[package]]
name = "fnv"
-version = "1.0.3"
+version = "1.0.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
@@ -169,7 +169,7 @@ dependencies = [
"gecko_bindings 0.0.1",
"heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)",
"libc 0.2.15 (registry+https://github.com/rust-lang/crates.io-index)",
- "selectors 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "selectors 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
"serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -318,12 +318,12 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
[[package]]
name = "selectors"
-version = "0.12.0"
+version = "0.13.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
dependencies = [
"bitflags 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)",
"cssparser 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
"string_cache 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)",
]
@@ -360,7 +360,7 @@ dependencies = [
"deque 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)",
"encoding 0.2.32 (registry+https://github.com/rust-lang/crates.io-index)",
"euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)",
- "fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)",
+ "fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)",
"gecko_bindings 0.0.1",
"gecko_string_cache 0.2.20",
"kernel32-sys 0.2.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -374,7 +374,7 @@ dependencies = [
"quickersort 2.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
"rand 0.3.14 (registry+https://github.com/rust-lang/crates.io-index)",
"rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)",
- "selectors 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)",
+ "selectors 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)",
"smallvec 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
"style_traits 0.0.1",
"time 0.1.35 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -517,7 +517,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
"checksum encoding_index_tests 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)" = "a246d82be1c9d791c5dfde9a2bd045fc3cbba3fa2b11ad558f27d01712f00569"
"checksum env_logger 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "82dcb9ceed3868a03b335657b85a159736c961900f7e7747d3b0b97b9ccb5ccb"
"checksum euclid 0.10.1 (registry+https://github.com/rust-lang/crates.io-index)" = "cce91503add3d0a1787b9bc8a9a59ee66ea5de1c3aaa6faf67b62997843160d3"
-"checksum fnv 1.0.3 (registry+https://github.com/rust-lang/crates.io-index)" = "d3d4285d5aa1cf04504b7d8c2d1fdccf4586b56739499a04cc58663b2543cd30"
+"checksum fnv 1.0.4 (registry+https://github.com/rust-lang/crates.io-index)" = "8e8af7b5408ab0c4910cad114c8f9eb454bf75df7afe8964307eeafb68a13a5e"
"checksum getopts 0.2.14 (registry+https://github.com/rust-lang/crates.io-index)" = "d9047cfbd08a437050b363d35ef160452c5fe8ea5187ae0a624708c91581d685"
"checksum heapsize 0.3.6 (registry+https://github.com/rust-lang/crates.io-index)" = "abb306abb8d398e053cfb1b3e7b72c2f580be048b85745c52652954f8ad1439c"
"checksum idna 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1053236e00ce4f668aeca4a769a09b3bf5a682d802abd6f3cb39374f6b162c11"
@@ -538,7 +538,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
"checksum regex 0.1.73 (registry+https://github.com/rust-lang/crates.io-index)" = "56b7ee9f764ecf412c6e2fff779bca4b22980517ae335a21aeaf4e32625a5df2"
"checksum regex-syntax 0.3.4 (registry+https://github.com/rust-lang/crates.io-index)" = "31040aad7470ad9d8c46302dcffba337bb4289ca5da2e3cd6e37b64109a85199"
"checksum rustc-serialize 0.3.19 (registry+https://github.com/rust-lang/crates.io-index)" = "6159e4e6e559c81bd706afe9c8fd68f547d3e851ce12e76b1de7914bab61691b"
-"checksum selectors 0.12.0 (registry+https://github.com/rust-lang/crates.io-index)" = "cdd81c2af3eba55ccc7048696c517a0e594ae9a4045b8fb3cc6ad80cd6d65ca5"
+"checksum selectors 0.13.0 (registry+https://github.com/rust-lang/crates.io-index)" = "9eee17ca1807581fc4cf0bfddda311dc421f295a71314b9276ecc787cc63ed6f"
"checksum serde 0.8.3 (registry+https://github.com/rust-lang/crates.io-index)" = "bfdad8985ce7708e21ada7f3f188a0079de4f8e239155348a024e31f13cddf86"
"checksum smallvec 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)" = "fcc8d19212aacecf95e4a7a2179b26f7aeb9732a915cf01f05b0d3e044865410"
"checksum string_cache 0.2.25 (registry+https://github.com/rust-lang/crates.io-index)" = "32e79c75e2fc7bbe0cd0bafa9eeacef16a09e269e8518382a7283904c105c20e"
diff --git a/ports/geckolib/Cargo.toml b/ports/geckolib/Cargo.toml
index 47b65234ff2..bcf38096e85 100644
--- a/ports/geckolib/Cargo.toml
+++ b/ports/geckolib/Cargo.toml
@@ -19,7 +19,7 @@ lazy_static = "0.2"
libc = "0.2"
log = {version = "0.3.5", features = ["release_max_level_info"]}
num_cpus = "0.2.2"
-selectors = "0.12"
+selectors = "0.13"
style = {path = "../../components/style", features = ["gecko"]}
style_traits = {path = "../../components/style_traits"}
url = "1.2"
diff --git a/ports/geckolib/binding_tools/regen.py b/ports/geckolib/binding_tools/regen.py
index 98965e6facf..770c756dedc 100755
--- a/ports/geckolib/binding_tools/regen.py
+++ b/ports/geckolib/binding_tools/regen.py
@@ -145,7 +145,7 @@ COMPILATION_TARGETS = {
"nsChangeHint", "SheetParsingMode", "nsMainThreadPtrHandle",
"nsMainThreadPtrHolder", "nscolor", "nsFont", "FontFamilyList",
"FontFamilyType", "nsIAtom", "nsStyleContext", "StyleClipPath",
- "StyleBasicShapeType", "StyleBasicShape"
+ "StyleBasicShapeType", "StyleBasicShape", "nsCSSShadowArray",
],
"void_types": [
"nsINode", "nsIDocument", "nsIPrincipal", "nsIURI",
@@ -321,7 +321,7 @@ def build(objdir, target_name, debug, debugger, kind_name=None,
flags.append("{}Strong".format(ty))
flags.append("--raw-line")
flags.append("pub type {0}Strong = ::sugar::refptr::Strong<{0}>;".format(ty))
- flags.append("-blacklist-type")
+ flags.append("--blacklist-type")
flags.append("{}Borrowed".format(ty))
flags.append("--raw-line")
flags.append("pub type {0}Borrowed<'a> = ::sugar::refptr::Borrowed<'a, {0}>;".format(ty))
diff --git a/ports/geckolib/binding_tools/regen_atoms.py b/ports/geckolib/binding_tools/regen_atoms.py
index 23b55b009da..46398275775 100755
--- a/ports/geckolib/binding_tools/regen_atoms.py
+++ b/ports/geckolib/binding_tools/regen_atoms.py
@@ -17,7 +17,9 @@ def msvc64_symbolify(source, ident):
def msvc32_symbolify(source, ident):
- return "?" + ident + "@" + source.CLASS + "@@2PAV" + source.TYPE + "@@A"
+ # Prepend "\x01" to avoid LLVM prefixing the mangled name with "_".
+ # See https://github.com/rust-lang/rust/issues/36097
+ return "\\x01?" + ident + "@" + source.CLASS + "@@2PAV" + source.TYPE + "@@A"
class GkAtomSource:
diff --git a/ports/geckolib/gecko_bindings/bindings.rs b/ports/geckolib/gecko_bindings/bindings.rs
index 6ee617fc585..4a45f41d046 100644
--- a/ports/geckolib/gecko_bindings/bindings.rs
+++ b/ports/geckolib/gecko_bindings/bindings.rs
@@ -157,6 +157,7 @@ impl HeapSizeOf for nsStyleContext { fn heap_size_of_children(&self) -> usize {
use structs::StyleClipPath;
use structs::StyleBasicShapeType;
use structs::StyleBasicShape;
+use structs::nsCSSShadowArray;
pub type RawGeckoNode = nsINode;
pub enum Element { }
@@ -345,6 +346,11 @@ extern "C" {
max_len: u32);
pub fn Gecko_AddRefCalcArbitraryThread(aPtr: *mut Calc);
pub fn Gecko_ReleaseCalcArbitraryThread(aPtr: *mut Calc);
+ pub fn Gecko_NewCSSShadowArray(len: u32) -> *mut nsCSSShadowArray;
+ pub fn Gecko_AddRefCSSShadowArrayArbitraryThread(aPtr:
+ *mut nsCSSShadowArray);
+ pub fn Gecko_ReleaseCSSShadowArrayArbitraryThread(aPtr:
+ *mut nsCSSShadowArray);
pub fn Gecko_Construct_nsStyleFont(ptr: *mut nsStyleFont);
pub fn Gecko_CopyConstruct_nsStyleFont(ptr: *mut nsStyleFont,
other: *const nsStyleFont);
diff --git a/ports/geckolib/gecko_bindings/structs_debug.rs b/ports/geckolib/gecko_bindings/structs_debug.rs
index 7edbb0a23ac..6a27a5acc60 100644
--- a/ports/geckolib/gecko_bindings/structs_debug.rs
+++ b/ports/geckolib/gecko_bindings/structs_debug.rs
@@ -5917,14 +5917,13 @@ fn bindgen_test_layout_nsCSSShadowItem() {
#[repr(C)]
#[derive(Debug)]
pub struct nsCSSShadowArray {
- pub mRefCnt: nsAutoRefCnt,
- pub _mOwningThread: nsAutoOwningThread,
+ pub mRefCnt: ThreadSafeAutoRefCnt,
pub mLength: u32,
pub mArray: [nsCSSShadowItem; 1usize],
}
#[test]
fn bindgen_test_layout_nsCSSShadowArray() {
- assert_eq!(::std::mem::size_of::<nsCSSShadowArray>() , 48usize);
+ assert_eq!(::std::mem::size_of::<nsCSSShadowArray>() , 40usize);
assert_eq!(::std::mem::align_of::<nsCSSShadowArray>() , 8usize);
}
#[repr(C)]
diff --git a/ports/geckolib/gecko_bindings/structs_release.rs b/ports/geckolib/gecko_bindings/structs_release.rs
index 455fbdb2cf3..8a493c90dbd 100644
--- a/ports/geckolib/gecko_bindings/structs_release.rs
+++ b/ports/geckolib/gecko_bindings/structs_release.rs
@@ -5895,14 +5895,13 @@ fn bindgen_test_layout_nsCSSShadowItem() {
#[repr(C)]
#[derive(Debug)]
pub struct nsCSSShadowArray {
- pub mRefCnt: nsAutoRefCnt,
- pub _mOwningThread: nsAutoOwningThread,
+ pub mRefCnt: ThreadSafeAutoRefCnt,
pub mLength: u32,
pub mArray: [nsCSSShadowItem; 1usize],
}
#[test]
fn bindgen_test_layout_nsCSSShadowArray() {
- assert_eq!(::std::mem::size_of::<nsCSSShadowArray>() , 48usize);
+ assert_eq!(::std::mem::size_of::<nsCSSShadowArray>() , 40usize);
assert_eq!(::std::mem::align_of::<nsCSSShadowArray>() , 8usize);
}
#[repr(C)]
diff --git a/ports/geckolib/gecko_bindings/sugar/mod.rs b/ports/geckolib/gecko_bindings/sugar/mod.rs
index 4dfa016d3a9..a4c6b1b98c2 100644
--- a/ports/geckolib/gecko_bindings/sugar/mod.rs
+++ b/ports/geckolib/gecko_bindings/sugar/mod.rs
@@ -2,6 +2,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+mod ns_css_shadow_array;
mod ns_style_auto_array;
pub mod ns_style_coord;
mod ns_t_array;
diff --git a/ports/geckolib/gecko_bindings/sugar/ns_css_shadow_array.rs b/ports/geckolib/gecko_bindings/sugar/ns_css_shadow_array.rs
new file mode 100644
index 00000000000..6c0a0e6dc03
--- /dev/null
+++ b/ports/geckolib/gecko_bindings/sugar/ns_css_shadow_array.rs
@@ -0,0 +1,65 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+use bindings::Gecko_AddRefCSSShadowArrayArbitraryThread;
+use bindings::Gecko_NewCSSShadowArray;
+use bindings::Gecko_ReleaseCSSShadowArrayArbitraryThread;
+use std::ops::{Deref, DerefMut};
+use std::{ptr, slice};
+use structs::{nsCSSShadowArray, nsCSSShadowItem, RefPtr};
+
+impl RefPtr<nsCSSShadowArray> {
+ pub fn replace_with_new(&mut self, len: u32) {
+ unsafe {
+ if !self.mRawPtr.is_null() {
+ Gecko_ReleaseCSSShadowArrayArbitraryThread(self.mRawPtr);
+ }
+
+ self.mRawPtr = if len == 0 {
+ ptr::null_mut()
+ } else {
+ Gecko_NewCSSShadowArray(len)
+ }
+ }
+ }
+ pub fn copy_from(&mut self, other: &Self) {
+ unsafe {
+ if !self.mRawPtr.is_null() {
+ Gecko_ReleaseCSSShadowArrayArbitraryThread(self.mRawPtr);
+ }
+ if !other.mRawPtr.is_null() {
+ Gecko_AddRefCSSShadowArrayArbitraryThread(other.mRawPtr);
+ }
+
+ self.mRawPtr = other.mRawPtr;
+ }
+ }
+}
+
+impl Deref for RefPtr<nsCSSShadowArray> {
+ type Target = [nsCSSShadowItem];
+ fn deref(&self) -> &[nsCSSShadowItem] {
+ if self.mRawPtr.is_null() {
+ &[]
+ } else {
+ unsafe {
+ slice::from_raw_parts((*self.mRawPtr).mArray.as_ptr(),
+ (*self.mRawPtr).mLength as usize)
+ }
+ }
+ }
+}
+
+impl DerefMut for RefPtr<nsCSSShadowArray> {
+ fn deref_mut(&mut self) -> &mut [nsCSSShadowItem] {
+ if self.mRawPtr.is_null() {
+ &mut []
+ } else {
+ unsafe {
+ slice::from_raw_parts_mut((*self.mRawPtr).mArray.as_mut_ptr(),
+ (*self.mRawPtr).mLength as usize)
+ }
+ }
+ }
+}
diff --git a/ports/geckolib/glue.rs b/ports/geckolib/glue.rs
index ae682ac72e0..0874b0a44b9 100644
--- a/ports/geckolib/glue.rs
+++ b/ports/geckolib/glue.rs
@@ -356,7 +356,7 @@ pub extern "C" fn Servo_StyleSet_Drop(data: *mut RawServoStyleSet) -> () {
}
pub struct GeckoDeclarationBlock {
- pub declarations: Option<PropertyDeclarationBlock>,
+ pub declarations: Option<Arc<PropertyDeclarationBlock>>,
// XXX The following two fields are made atomic to work around the
// ownership system so that they can be changed inside a shared
// instance. It wouldn't provide safety as Rust usually promises,
@@ -377,7 +377,7 @@ pub extern "C" fn Servo_ParseStyleAttribute(bytes: *const u8, length: u32,
-> ServoDeclarationBlockStrong {
let value = unsafe { from_utf8_unchecked(slice::from_raw_parts(bytes, length as usize)) };
GeckoDeclarationBlock::from_arc(Arc::new(GeckoDeclarationBlock {
- declarations: GeckoElement::parse_style_attribute(value),
+ declarations: GeckoElement::parse_style_attribute(value).map(Arc::new),
cache: AtomicPtr::new(cache),
immutable: AtomicBool::new(false),
}))
diff --git a/ports/geckolib/string_cache/Cargo.toml b/ports/geckolib/string_cache/Cargo.toml
index 01cf743520e..4ababf8adcc 100644
--- a/ports/geckolib/string_cache/Cargo.toml
+++ b/ports/geckolib/string_cache/Cargo.toml
@@ -14,5 +14,5 @@ cfg-if = "0.1.0"
gecko_bindings = {version = "0.0.1", path = "../gecko_bindings"}
heapsize = "0.3.5"
libc = "0.2"
-selectors = "0.12"
+selectors = "0.13"
serde = "0.8"
diff --git a/ports/geckolib/string_cache/atom_macro.rs b/ports/geckolib/string_cache/atom_macro.rs
index e7ccfca12ad..96860da1882 100644
--- a/ports/geckolib/string_cache/atom_macro.rs
+++ b/ports/geckolib/string_cache/atom_macro.rs
@@ -9850,4917 +9850,4917 @@ pub enum nsICSSAnonBoxPseudo {}
}
} else {
extern {
- #[link_name = "?_empty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_empty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__empty: *mut nsIAtom;
- #[link_name = "?moz@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?moz@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_moz: *mut nsIAtom;
- #[link_name = "?mozframetype@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozframetype@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozframetype: *mut nsIAtom;
- #[link_name = "?_moz_abspos@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_abspos@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_abspos: *mut nsIAtom;
- #[link_name = "?_moz_activated@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_activated@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_activated: *mut nsIAtom;
- #[link_name = "?_moz_resizing@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_resizing@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_resizing: *mut nsIAtom;
- #[link_name = "?mozallowfullscreen@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozallowfullscreen@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozallowfullscreen: *mut nsIAtom;
- #[link_name = "?moztype@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?moztype@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_moztype: *mut nsIAtom;
- #[link_name = "?mozdirty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozdirty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozdirty: *mut nsIAtom;
- #[link_name = "?mozdisallowselectionprint@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozdisallowselectionprint@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozdisallowselectionprint: *mut nsIAtom;
- #[link_name = "?mozdonotsend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozdonotsend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozdonotsend: *mut nsIAtom;
- #[link_name = "?mozeditorbogusnode@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozeditorbogusnode@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozeditorbogusnode: *mut nsIAtom;
- #[link_name = "?mozgeneratedcontentbefore@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozgeneratedcontentbefore@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozgeneratedcontentbefore: *mut nsIAtom;
- #[link_name = "?mozgeneratedcontentafter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozgeneratedcontentafter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozgeneratedcontentafter: *mut nsIAtom;
- #[link_name = "?mozgeneratedcontentimage@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozgeneratedcontentimage@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozgeneratedcontentimage: *mut nsIAtom;
- #[link_name = "?mozquote@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozquote@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozquote: *mut nsIAtom;
- #[link_name = "?mozsignature@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozsignature@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozsignature: *mut nsIAtom;
- #[link_name = "?_moz_is_glyph@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_is_glyph@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_is_glyph: *mut nsIAtom;
- #[link_name = "?_moz_original_size@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_original_size@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_original_size: *mut nsIAtom;
- #[link_name = "?_moz_target@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_target@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_target: *mut nsIAtom;
- #[link_name = "?menuactive@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?menuactive@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_menuactive: *mut nsIAtom;
- #[link_name = "?_poundDefault@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_poundDefault@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__poundDefault: *mut nsIAtom;
- #[link_name = "?_asterisk@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_asterisk@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__asterisk: *mut nsIAtom;
- #[link_name = "?a@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?a@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_a: *mut nsIAtom;
- #[link_name = "?abbr@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?abbr@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_abbr: *mut nsIAtom;
- #[link_name = "?abort@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?abort@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_abort: *mut nsIAtom;
- #[link_name = "?above@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?above@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_above: *mut nsIAtom;
- #[link_name = "?acceltext@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?acceltext@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_acceltext: *mut nsIAtom;
- #[link_name = "?accept@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?accept@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_accept: *mut nsIAtom;
- #[link_name = "?acceptcharset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?acceptcharset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_acceptcharset: *mut nsIAtom;
- #[link_name = "?accesskey@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?accesskey@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_accesskey: *mut nsIAtom;
- #[link_name = "?acronym@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?acronym@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_acronym: *mut nsIAtom;
- #[link_name = "?action@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?action@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_action: *mut nsIAtom;
- #[link_name = "?active@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?active@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_active: *mut nsIAtom;
- #[link_name = "?activetitlebarcolor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?activetitlebarcolor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_activetitlebarcolor: *mut nsIAtom;
- #[link_name = "?activateontab@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?activateontab@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_activateontab: *mut nsIAtom;
- #[link_name = "?actuate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?actuate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_actuate: *mut nsIAtom;
- #[link_name = "?address@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?address@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_address: *mut nsIAtom;
- #[link_name = "?after@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?after@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_after: *mut nsIAtom;
- #[link_name = "?after_end@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?after_end@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_after_end: *mut nsIAtom;
- #[link_name = "?after_start@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?after_start@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_after_start: *mut nsIAtom;
- #[link_name = "?align@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?align@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_align: *mut nsIAtom;
- #[link_name = "?alink@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?alink@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_alink: *mut nsIAtom;
- #[link_name = "?all@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?all@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_all: *mut nsIAtom;
- #[link_name = "?allowdirs@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?allowdirs@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_allowdirs: *mut nsIAtom;
- #[link_name = "?allowevents@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?allowevents@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_allowevents: *mut nsIAtom;
- #[link_name = "?allownegativeassertions@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?allownegativeassertions@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_allownegativeassertions: *mut nsIAtom;
- #[link_name = "?allowforms@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?allowforms@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_allowforms: *mut nsIAtom;
- #[link_name = "?allowfullscreen@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?allowfullscreen@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_allowfullscreen: *mut nsIAtom;
- #[link_name = "?allowmodals@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?allowmodals@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_allowmodals: *mut nsIAtom;
- #[link_name = "?alloworientationlock@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?alloworientationlock@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_alloworientationlock: *mut nsIAtom;
- #[link_name = "?allowpointerlock@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?allowpointerlock@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_allowpointerlock: *mut nsIAtom;
- #[link_name = "?allowpopupstoescapesandbox@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?allowpopupstoescapesandbox@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_allowpopupstoescapesandbox: *mut nsIAtom;
- #[link_name = "?allowpopups@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?allowpopups@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_allowpopups: *mut nsIAtom;
- #[link_name = "?allowpresentation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?allowpresentation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_allowpresentation: *mut nsIAtom;
- #[link_name = "?allowsameorigin@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?allowsameorigin@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_allowsameorigin: *mut nsIAtom;
- #[link_name = "?allowscripts@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?allowscripts@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_allowscripts: *mut nsIAtom;
- #[link_name = "?allowtopnavigation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?allowtopnavigation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_allowtopnavigation: *mut nsIAtom;
- #[link_name = "?allowuntrusted@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?allowuntrusted@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_allowuntrusted: *mut nsIAtom;
- #[link_name = "?alt@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?alt@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_alt: *mut nsIAtom;
- #[link_name = "?alternate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?alternate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_alternate: *mut nsIAtom;
- #[link_name = "?always@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?always@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_always: *mut nsIAtom;
- #[link_name = "?ancestor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ancestor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ancestor: *mut nsIAtom;
- #[link_name = "?ancestorOrSelf@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ancestorOrSelf@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ancestorOrSelf: *mut nsIAtom;
- #[link_name = "?anchor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?anchor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_anchor: *mut nsIAtom;
- #[link_name = "?_and@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_and@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__and: *mut nsIAtom;
- #[link_name = "?animations@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?animations@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_animations: *mut nsIAtom;
- #[link_name = "?anonid@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?anonid@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_anonid: *mut nsIAtom;
- #[link_name = "?anonlocation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?anonlocation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_anonlocation: *mut nsIAtom;
- #[link_name = "?any@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?any@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_any: *mut nsIAtom;
- #[link_name = "?mozapp@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozapp@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozapp: *mut nsIAtom;
- #[link_name = "?mozwidget@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozwidget@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozwidget: *mut nsIAtom;
- #[link_name = "?applet@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?applet@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_applet: *mut nsIAtom;
- #[link_name = "?applyImports@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?applyImports@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_applyImports: *mut nsIAtom;
- #[link_name = "?applyTemplates@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?applyTemplates@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_applyTemplates: *mut nsIAtom;
- #[link_name = "?mozapptype@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozapptype@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozapptype: *mut nsIAtom;
- #[link_name = "?archive@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?archive@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_archive: *mut nsIAtom;
- #[link_name = "?area@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?area@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_area: *mut nsIAtom;
- #[link_name = "?arrow@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?arrow@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_arrow: *mut nsIAtom;
- #[link_name = "?article@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?article@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_article: *mut nsIAtom;
- #[link_name = "?ascending@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ascending@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ascending: *mut nsIAtom;
- #[link_name = "?aside@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aside@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aside: *mut nsIAtom;
- #[link_name = "?aspectRatio@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aspectRatio@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aspectRatio: *mut nsIAtom;
- #[link_name = "?assign@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?assign@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_assign: *mut nsIAtom;
- #[link_name = "?async@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?async@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_async: *mut nsIAtom;
- #[link_name = "?attribute@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?attribute@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_attribute: *mut nsIAtom;
- #[link_name = "?attributes@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?attributes@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_attributes: *mut nsIAtom;
- #[link_name = "?attributeSet@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?attributeSet@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_attributeSet: *mut nsIAtom;
- #[link_name = "?aural@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aural@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aural: *mut nsIAtom;
- #[link_name = "?_auto@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_auto@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__auto: *mut nsIAtom;
- #[link_name = "?autocheck@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?autocheck@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_autocheck: *mut nsIAtom;
- #[link_name = "?autocomplete@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?autocomplete@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_autocomplete: *mut nsIAtom;
- #[link_name = "?autofocus@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?autofocus@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_autofocus: *mut nsIAtom;
- #[link_name = "?autoplay@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?autoplay@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_autoplay: *mut nsIAtom;
- #[link_name = "?autorepeatbutton@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?autorepeatbutton@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_autorepeatbutton: *mut nsIAtom;
- #[link_name = "?axis@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?axis@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_axis: *mut nsIAtom;
- #[link_name = "?b@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?b@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_b: *mut nsIAtom;
- #[link_name = "?backdropFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?backdropFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_backdropFrame: *mut nsIAtom;
- #[link_name = "?background@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?background@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_background: *mut nsIAtom;
- #[link_name = "?base@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?base@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_base: *mut nsIAtom;
- #[link_name = "?basefont@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?basefont@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_basefont: *mut nsIAtom;
- #[link_name = "?baseline@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?baseline@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_baseline: *mut nsIAtom;
- #[link_name = "?bdi@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bdi@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bdi: *mut nsIAtom;
- #[link_name = "?bdo@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bdo@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bdo: *mut nsIAtom;
- #[link_name = "?before@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?before@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_before: *mut nsIAtom;
- #[link_name = "?before_end@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?before_end@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_before_end: *mut nsIAtom;
- #[link_name = "?before_start@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?before_start@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_before_start: *mut nsIAtom;
- #[link_name = "?below@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?below@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_below: *mut nsIAtom;
- #[link_name = "?bgcolor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bgcolor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bgcolor: *mut nsIAtom;
- #[link_name = "?bgsound@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bgsound@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bgsound: *mut nsIAtom;
- #[link_name = "?big@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?big@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_big: *mut nsIAtom;
- #[link_name = "?binding@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?binding@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_binding: *mut nsIAtom;
- #[link_name = "?bindings@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bindings@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bindings: *mut nsIAtom;
- #[link_name = "?bindToUntrustedContent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bindToUntrustedContent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bindToUntrustedContent: *mut nsIAtom;
- #[link_name = "?blankrow@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?blankrow@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_blankrow: *mut nsIAtom;
- #[link_name = "?block@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?block@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_block: *mut nsIAtom;
- #[link_name = "?blockquote@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?blockquote@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_blockquote: *mut nsIAtom;
- #[link_name = "?blur@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?blur@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_blur: *mut nsIAtom;
- #[link_name = "?body@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?body@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_body: *mut nsIAtom;
- #[link_name = "?boolean@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?boolean@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_boolean: *mut nsIAtom;
- #[link_name = "?border@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?border@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_border: *mut nsIAtom;
- #[link_name = "?bordercolor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bordercolor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bordercolor: *mut nsIAtom;
- #[link_name = "?both@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?both@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_both: *mut nsIAtom;
- #[link_name = "?bottom@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bottom@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bottom: *mut nsIAtom;
- #[link_name = "?bottomend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bottomend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bottomend: *mut nsIAtom;
- #[link_name = "?bottomstart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bottomstart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bottomstart: *mut nsIAtom;
- #[link_name = "?bottomleft@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bottomleft@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bottomleft: *mut nsIAtom;
- #[link_name = "?bottommargin@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bottommargin@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bottommargin: *mut nsIAtom;
- #[link_name = "?bottompadding@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bottompadding@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bottompadding: *mut nsIAtom;
- #[link_name = "?bottomright@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bottomright@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bottomright: *mut nsIAtom;
- #[link_name = "?box@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?box@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_box: *mut nsIAtom;
- #[link_name = "?br@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?br@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_br: *mut nsIAtom;
- #[link_name = "?braille@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?braille@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_braille: *mut nsIAtom;
- #[link_name = "?broadcast@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?broadcast@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_broadcast: *mut nsIAtom;
- #[link_name = "?broadcaster@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?broadcaster@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_broadcaster: *mut nsIAtom;
- #[link_name = "?broadcasterset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?broadcasterset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_broadcasterset: *mut nsIAtom;
- #[link_name = "?browser@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?browser@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_browser: *mut nsIAtom;
- #[link_name = "?mozbrowser@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozbrowser@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozbrowser: *mut nsIAtom;
- #[link_name = "?bulletinboard@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bulletinboard@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bulletinboard: *mut nsIAtom;
- #[link_name = "?button@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?button@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_button: *mut nsIAtom;
- #[link_name = "?brighttitlebarforeground@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?brighttitlebarforeground@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_brighttitlebarforeground: *mut nsIAtom;
- #[link_name = "?callTemplate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?callTemplate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_callTemplate: *mut nsIAtom;
- #[link_name = "?cancel@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cancel@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cancel: *mut nsIAtom;
- #[link_name = "?canvas@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?canvas@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_canvas: *mut nsIAtom;
- #[link_name = "?caption@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?caption@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_caption: *mut nsIAtom;
- #[link_name = "?capture@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?capture@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_capture: *mut nsIAtom;
- #[link_name = "?caseOrder@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?caseOrder@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_caseOrder: *mut nsIAtom;
- #[link_name = "?cdataSectionElements@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cdataSectionElements@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cdataSectionElements: *mut nsIAtom;
- #[link_name = "?ceiling@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ceiling@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ceiling: *mut nsIAtom;
- #[link_name = "?cell@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cell@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cell: *mut nsIAtom;
- #[link_name = "?cellpadding@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cellpadding@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cellpadding: *mut nsIAtom;
- #[link_name = "?cellspacing@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cellspacing@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cellspacing: *mut nsIAtom;
- #[link_name = "?center@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?center@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_center: *mut nsIAtom;
- #[link_name = "?ch@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ch@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ch: *mut nsIAtom;
- #[link_name = "?change@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?change@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_change: *mut nsIAtom;
- #[link_name = "?_char@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_char@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__char: *mut nsIAtom;
- #[link_name = "?characterData@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?characterData@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_characterData: *mut nsIAtom;
- #[link_name = "?charcode@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?charcode@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_charcode: *mut nsIAtom;
- #[link_name = "?charoff@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?charoff@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_charoff: *mut nsIAtom;
- #[link_name = "?charset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?charset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_charset: *mut nsIAtom;
- #[link_name = "?checkbox@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?checkbox@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_checkbox: *mut nsIAtom;
- #[link_name = "?checked@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?checked@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_checked: *mut nsIAtom;
- #[link_name = "?child@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?child@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_child: *mut nsIAtom;
- #[link_name = "?children@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?children@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_children: *mut nsIAtom;
- #[link_name = "?childList@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?childList@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_childList: *mut nsIAtom;
- #[link_name = "?choose@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?choose@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_choose: *mut nsIAtom;
- #[link_name = "?chromemargin@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?chromemargin@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_chromemargin: *mut nsIAtom;
- #[link_name = "?chromeOnlyContent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?chromeOnlyContent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_chromeOnlyContent: *mut nsIAtom;
- #[link_name = "?exposeToUntrustedContent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?exposeToUntrustedContent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_exposeToUntrustedContent: *mut nsIAtom;
- #[link_name = "?circ@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?circ@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_circ: *mut nsIAtom;
- #[link_name = "?circle@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?circle@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_circle: *mut nsIAtom;
- #[link_name = "?cite@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cite@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cite: *mut nsIAtom;
- #[link_name = "?_class@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_class@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__class: *mut nsIAtom;
- #[link_name = "?classid@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?classid@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_classid: *mut nsIAtom;
- #[link_name = "?clear@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?clear@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_clear: *mut nsIAtom;
- #[link_name = "?click@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?click@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_click: *mut nsIAtom;
- #[link_name = "?clickcount@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?clickcount@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_clickcount: *mut nsIAtom;
- #[link_name = "?clickthrough@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?clickthrough@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_clickthrough: *mut nsIAtom;
- #[link_name = "?movetoclick@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?movetoclick@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_movetoclick: *mut nsIAtom;
- #[link_name = "?clip@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?clip@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_clip: *mut nsIAtom;
- #[link_name = "?close@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?close@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_close: *mut nsIAtom;
- #[link_name = "?closed@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?closed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_closed: *mut nsIAtom;
- #[link_name = "?closemenu@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?closemenu@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_closemenu: *mut nsIAtom;
- #[link_name = "?coalesceduplicatearcs@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?coalesceduplicatearcs@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_coalesceduplicatearcs: *mut nsIAtom;
- #[link_name = "?code@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?code@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_code: *mut nsIAtom;
- #[link_name = "?codebase@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?codebase@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_codebase: *mut nsIAtom;
- #[link_name = "?codetype@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?codetype@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_codetype: *mut nsIAtom;
- #[link_name = "?col@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?col@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_col: *mut nsIAtom;
- #[link_name = "?colgroup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?colgroup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_colgroup: *mut nsIAtom;
- #[link_name = "?collapse@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?collapse@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_collapse: *mut nsIAtom;
- #[link_name = "?collapsed@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?collapsed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_collapsed: *mut nsIAtom;
- #[link_name = "?color@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?color@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_color: *mut nsIAtom;
- #[link_name = "?colorIndex@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?colorIndex@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_colorIndex: *mut nsIAtom;
- #[link_name = "?cols@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cols@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cols: *mut nsIAtom;
- #[link_name = "?colspan@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?colspan@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_colspan: *mut nsIAtom;
- #[link_name = "?column@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?column@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_column: *mut nsIAtom;
- #[link_name = "?columns@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?columns@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_columns: *mut nsIAtom;
- #[link_name = "?combobox@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?combobox@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_combobox: *mut nsIAtom;
- #[link_name = "?command@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?command@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_command: *mut nsIAtom;
- #[link_name = "?commands@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?commands@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_commands: *mut nsIAtom;
- #[link_name = "?commandset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?commandset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_commandset: *mut nsIAtom;
- #[link_name = "?commandupdate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?commandupdate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_commandupdate: *mut nsIAtom;
- #[link_name = "?commandupdater@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?commandupdater@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_commandupdater: *mut nsIAtom;
- #[link_name = "?comment@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?comment@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_comment: *mut nsIAtom;
- #[link_name = "?compact@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?compact@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_compact: *mut nsIAtom;
- #[link_name = "?concat@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?concat@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_concat: *mut nsIAtom;
- #[link_name = "?conditions@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?conditions@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_conditions: *mut nsIAtom;
- #[link_name = "?constructor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?constructor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_constructor: *mut nsIAtom;
- #[link_name = "?consumeoutsideclicks@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?consumeoutsideclicks@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_consumeoutsideclicks: *mut nsIAtom;
- #[link_name = "?container@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?container@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_container: *mut nsIAtom;
- #[link_name = "?containment@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?containment@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_containment: *mut nsIAtom;
- #[link_name = "?contains@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?contains@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_contains: *mut nsIAtom;
- #[link_name = "?content@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?content@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_content: *mut nsIAtom;
- #[link_name = "?contenteditable@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?contenteditable@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_contenteditable: *mut nsIAtom;
- #[link_name = "?headerContentDisposition@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?headerContentDisposition@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_headerContentDisposition: *mut nsIAtom;
- #[link_name = "?headerContentLanguage@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?headerContentLanguage@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_headerContentLanguage: *mut nsIAtom;
- #[link_name = "?contentLocation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?contentLocation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_contentLocation: *mut nsIAtom;
- #[link_name = "?headerContentScriptType@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?headerContentScriptType@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_headerContentScriptType: *mut nsIAtom;
- #[link_name = "?headerContentStyleType@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?headerContentStyleType@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_headerContentStyleType: *mut nsIAtom;
- #[link_name = "?headerContentType@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?headerContentType@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_headerContentType: *mut nsIAtom;
- #[link_name = "?consumeanchor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?consumeanchor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_consumeanchor: *mut nsIAtom;
- #[link_name = "?context@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?context@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_context: *mut nsIAtom;
- #[link_name = "?contextmenu@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?contextmenu@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_contextmenu: *mut nsIAtom;
- #[link_name = "?control@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?control@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_control: *mut nsIAtom;
- #[link_name = "?controls@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?controls@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_controls: *mut nsIAtom;
- #[link_name = "?coords@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?coords@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_coords: *mut nsIAtom;
- #[link_name = "?copy@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?copy@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_copy: *mut nsIAtom;
- #[link_name = "?copyOf@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?copyOf@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_copyOf: *mut nsIAtom;
- #[link_name = "?count@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?count@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_count: *mut nsIAtom;
- #[link_name = "?crop@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?crop@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_crop: *mut nsIAtom;
- #[link_name = "?crossorigin@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?crossorigin@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_crossorigin: *mut nsIAtom;
- #[link_name = "?curpos@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?curpos@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_curpos: *mut nsIAtom;
- #[link_name = "?current@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?current@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_current: *mut nsIAtom;
- #[link_name = "?cycler@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cycler@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cycler: *mut nsIAtom;
- #[link_name = "?data@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?data@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_data: *mut nsIAtom;
- #[link_name = "?datalist@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?datalist@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_datalist: *mut nsIAtom;
- #[link_name = "?dataType@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dataType@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dataType: *mut nsIAtom;
- #[link_name = "?dateTime@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dateTime@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dateTime: *mut nsIAtom;
- #[link_name = "?datasources@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?datasources@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_datasources: *mut nsIAtom;
- #[link_name = "?datetime@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?datetime@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_datetime: *mut nsIAtom;
- #[link_name = "?dblclick@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dblclick@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dblclick: *mut nsIAtom;
- #[link_name = "?dd@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dd@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dd: *mut nsIAtom;
- #[link_name = "?debug@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?debug@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_debug: *mut nsIAtom;
- #[link_name = "?decimalFormat@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?decimalFormat@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_decimalFormat: *mut nsIAtom;
- #[link_name = "?decimalSeparator@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?decimalSeparator@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_decimalSeparator: *mut nsIAtom;
- #[link_name = "?deck@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?deck@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_deck: *mut nsIAtom;
- #[link_name = "?declare@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?declare@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_declare: *mut nsIAtom;
- #[link_name = "?decoderDoctor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?decoderDoctor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_decoderDoctor: *mut nsIAtom;
- #[link_name = "?decrement@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?decrement@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_decrement: *mut nsIAtom;
- #[link_name = "?_default@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_default@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__default: *mut nsIAtom;
- #[link_name = "?headerDefaultStyle@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?headerDefaultStyle@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_headerDefaultStyle: *mut nsIAtom;
- #[link_name = "?defaultAction@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?defaultAction@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_defaultAction: *mut nsIAtom;
- #[link_name = "?defaultchecked@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?defaultchecked@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_defaultchecked: *mut nsIAtom;
- #[link_name = "?defaultLabel@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?defaultLabel@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_defaultLabel: *mut nsIAtom;
- #[link_name = "?defaultselected@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?defaultselected@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_defaultselected: *mut nsIAtom;
- #[link_name = "?defaultvalue@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?defaultvalue@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_defaultvalue: *mut nsIAtom;
- #[link_name = "?defaultplaybackrate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?defaultplaybackrate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_defaultplaybackrate: *mut nsIAtom;
- #[link_name = "?defer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?defer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_defer: *mut nsIAtom;
- #[link_name = "?del@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?del@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_del: *mut nsIAtom;
- #[link_name = "?descendant@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?descendant@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_descendant: *mut nsIAtom;
- #[link_name = "?descendantOrSelf@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?descendantOrSelf@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_descendantOrSelf: *mut nsIAtom;
- #[link_name = "?descending@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?descending@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_descending: *mut nsIAtom;
- #[link_name = "?description@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?description@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_description: *mut nsIAtom;
- #[link_name = "?destructor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?destructor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_destructor: *mut nsIAtom;
- #[link_name = "?details@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?details@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_details: *mut nsIAtom;
- #[link_name = "?deviceAspectRatio@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?deviceAspectRatio@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_deviceAspectRatio: *mut nsIAtom;
- #[link_name = "?deviceHeight@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?deviceHeight@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_deviceHeight: *mut nsIAtom;
- #[link_name = "?devicePixelRatio@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?devicePixelRatio@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_devicePixelRatio: *mut nsIAtom;
- #[link_name = "?deviceWidth@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?deviceWidth@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_deviceWidth: *mut nsIAtom;
- #[link_name = "?dfn@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dfn@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dfn: *mut nsIAtom;
- #[link_name = "?dialog@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dialog@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dialog: *mut nsIAtom;
- #[link_name = "?difference@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?difference@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_difference: *mut nsIAtom;
- #[link_name = "?digit@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?digit@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_digit: *mut nsIAtom;
- #[link_name = "?dir@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dir@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dir: *mut nsIAtom;
- #[link_name = "?dirAutoSetBy@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dirAutoSetBy@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dirAutoSetBy: *mut nsIAtom;
- #[link_name = "?directionality@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?directionality@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_directionality: *mut nsIAtom;
- #[link_name = "?directory@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?directory@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_directory: *mut nsIAtom;
- #[link_name = "?disableOutputEscaping@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?disableOutputEscaping@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_disableOutputEscaping: *mut nsIAtom;
- #[link_name = "?disabled@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?disabled@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_disabled: *mut nsIAtom;
- #[link_name = "?disableglobalhistory@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?disableglobalhistory@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_disableglobalhistory: *mut nsIAtom;
- #[link_name = "?disablehistory@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?disablehistory@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_disablehistory: *mut nsIAtom;
- #[link_name = "?display@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?display@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_display: *mut nsIAtom;
- #[link_name = "?displayMode@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?displayMode@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_displayMode: *mut nsIAtom;
- #[link_name = "?distinct@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?distinct@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_distinct: *mut nsIAtom;
- #[link_name = "?div@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?div@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_div: *mut nsIAtom;
- #[link_name = "?dl@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dl@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dl: *mut nsIAtom;
- #[link_name = "?doctypePublic@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?doctypePublic@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_doctypePublic: *mut nsIAtom;
- #[link_name = "?doctypeSystem@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?doctypeSystem@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_doctypeSystem: *mut nsIAtom;
- #[link_name = "?document@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?document@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_document: *mut nsIAtom;
- #[link_name = "?download@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?download@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_download: *mut nsIAtom;
- #[link_name = "?DOMAttrModified@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?DOMAttrModified@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_DOMAttrModified: *mut nsIAtom;
- #[link_name = "?DOMCharacterDataModified@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?DOMCharacterDataModified@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_DOMCharacterDataModified: *mut nsIAtom;
- #[link_name = "?DOMNodeInserted@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?DOMNodeInserted@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_DOMNodeInserted: *mut nsIAtom;
- #[link_name = "?DOMNodeInsertedIntoDocument@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?DOMNodeInsertedIntoDocument@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_DOMNodeInsertedIntoDocument: *mut nsIAtom;
- #[link_name = "?DOMNodeRemoved@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?DOMNodeRemoved@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_DOMNodeRemoved: *mut nsIAtom;
- #[link_name = "?DOMNodeRemovedFromDocument@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?DOMNodeRemovedFromDocument@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_DOMNodeRemovedFromDocument: *mut nsIAtom;
- #[link_name = "?DOMSubtreeModified@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?DOMSubtreeModified@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_DOMSubtreeModified: *mut nsIAtom;
- #[link_name = "?double_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?double_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_double_: *mut nsIAtom;
- #[link_name = "?drag@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?drag@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_drag: *mut nsIAtom;
- #[link_name = "?dragend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dragend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dragend: *mut nsIAtom;
- #[link_name = "?dragenter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dragenter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dragenter: *mut nsIAtom;
- #[link_name = "?dragevent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dragevent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dragevent: *mut nsIAtom;
- #[link_name = "?dragexit@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dragexit@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dragexit: *mut nsIAtom;
- #[link_name = "?draggable@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?draggable@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_draggable: *mut nsIAtom;
- #[link_name = "?dragging@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dragging@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dragging: *mut nsIAtom;
- #[link_name = "?dragleave@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dragleave@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dragleave: *mut nsIAtom;
- #[link_name = "?dragover@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dragover@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dragover: *mut nsIAtom;
- #[link_name = "?dragSession@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dragSession@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dragSession: *mut nsIAtom;
- #[link_name = "?dragstart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dragstart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dragstart: *mut nsIAtom;
- #[link_name = "?drawintitlebar@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?drawintitlebar@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_drawintitlebar: *mut nsIAtom;
- #[link_name = "?drawtitle@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?drawtitle@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_drawtitle: *mut nsIAtom;
- #[link_name = "?drop@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?drop@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_drop: *mut nsIAtom;
- #[link_name = "?dropAfter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dropAfter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dropAfter: *mut nsIAtom;
- #[link_name = "?dropBefore@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dropBefore@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dropBefore: *mut nsIAtom;
- #[link_name = "?dropOn@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dropOn@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dropOn: *mut nsIAtom;
- #[link_name = "?dropMarker@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dropMarker@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dropMarker: *mut nsIAtom;
- #[link_name = "?dt@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dt@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dt: *mut nsIAtom;
- #[link_name = "?editable@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?editable@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_editable: *mut nsIAtom;
- #[link_name = "?editing@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?editing@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_editing: *mut nsIAtom;
- #[link_name = "?editor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?editor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_editor: *mut nsIAtom;
- #[link_name = "?editorDisplayList@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?editorDisplayList@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_editorDisplayList: *mut nsIAtom;
- #[link_name = "?element@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?element@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_element: *mut nsIAtom;
- #[link_name = "?elementAvailable@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?elementAvailable@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_elementAvailable: *mut nsIAtom;
- #[link_name = "?elements@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?elements@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_elements: *mut nsIAtom;
- #[link_name = "?em@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?em@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_em: *mut nsIAtom;
- #[link_name = "?embed@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?embed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_embed: *mut nsIAtom;
- #[link_name = "?embossed@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?embossed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_embossed: *mut nsIAtom;
- #[link_name = "?empty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?empty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_empty: *mut nsIAtom;
- #[link_name = "?encoding@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?encoding@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_encoding: *mut nsIAtom;
- #[link_name = "?enctype@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?enctype@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_enctype: *mut nsIAtom;
- #[link_name = "?end@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?end@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_end: *mut nsIAtom;
- #[link_name = "?endEvent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?endEvent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_endEvent: *mut nsIAtom;
- #[link_name = "?end_after@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?end_after@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_end_after: *mut nsIAtom;
- #[link_name = "?end_before@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?end_before@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_end_before: *mut nsIAtom;
- #[link_name = "?equalsize@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?equalsize@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_equalsize: *mut nsIAtom;
- #[link_name = "?error@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?error@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_error: *mut nsIAtom;
- #[link_name = "?even@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?even@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_even: *mut nsIAtom;
- #[link_name = "?event@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?event@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_event: *mut nsIAtom;
- #[link_name = "?events@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?events@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_events: *mut nsIAtom;
- #[link_name = "?excludeResultPrefixes@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?excludeResultPrefixes@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_excludeResultPrefixes: *mut nsIAtom;
- #[link_name = "?excludes@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?excludes@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_excludes: *mut nsIAtom;
- #[link_name = "?expr@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?expr@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_expr: *mut nsIAtom;
- #[link_name = "?extends@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?extends@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_extends: *mut nsIAtom;
- #[link_name = "?extensionElementPrefixes@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?extensionElementPrefixes@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_extensionElementPrefixes: *mut nsIAtom;
- #[link_name = "?face@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?face@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_face: *mut nsIAtom;
- #[link_name = "?fallback@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fallback@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fallback: *mut nsIAtom;
- #[link_name = "?_false@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_false@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__false: *mut nsIAtom;
- #[link_name = "?farthest@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?farthest@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_farthest: *mut nsIAtom;
- #[link_name = "?field@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?field@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_field: *mut nsIAtom;
- #[link_name = "?fieldset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fieldset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fieldset: *mut nsIAtom;
- #[link_name = "?figcaption@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?figcaption@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_figcaption: *mut nsIAtom;
- #[link_name = "?figure@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?figure@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_figure: *mut nsIAtom;
- #[link_name = "?fixed@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fixed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fixed: *mut nsIAtom;
- #[link_name = "?flags@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?flags@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_flags: *mut nsIAtom;
- #[link_name = "?flex@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?flex@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_flex: *mut nsIAtom;
- #[link_name = "?flexgroup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?flexgroup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_flexgroup: *mut nsIAtom;
- #[link_name = "?flip@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?flip@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_flip: *mut nsIAtom;
- #[link_name = "?floating@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?floating@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_floating: *mut nsIAtom;
- #[link_name = "?floor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?floor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_floor: *mut nsIAtom;
- #[link_name = "?flowlength@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?flowlength@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_flowlength: *mut nsIAtom;
- #[link_name = "?focus@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?focus@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_focus: *mut nsIAtom;
- #[link_name = "?focused@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?focused@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_focused: *mut nsIAtom;
- #[link_name = "?following@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?following@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_following: *mut nsIAtom;
- #[link_name = "?followingSibling@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?followingSibling@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_followingSibling: *mut nsIAtom;
- #[link_name = "?font@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?font@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_font: *mut nsIAtom;
- #[link_name = "?fontWeight@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fontWeight@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fontWeight: *mut nsIAtom;
- #[link_name = "?fontpicker@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fontpicker@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fontpicker: *mut nsIAtom;
- #[link_name = "?footer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?footer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_footer: *mut nsIAtom;
- #[link_name = "?_for@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_for@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__for: *mut nsIAtom;
- #[link_name = "?forEach@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?forEach@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_forEach: *mut nsIAtom;
- #[link_name = "?forceOwnRefreshDriver@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?forceOwnRefreshDriver@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_forceOwnRefreshDriver: *mut nsIAtom;
- #[link_name = "?form@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?form@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_form: *mut nsIAtom;
- #[link_name = "?formaction@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?formaction@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_formaction: *mut nsIAtom;
- #[link_name = "?format@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?format@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_format: *mut nsIAtom;
- #[link_name = "?formatNumber@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?formatNumber@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_formatNumber: *mut nsIAtom;
- #[link_name = "?formenctype@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?formenctype@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_formenctype: *mut nsIAtom;
- #[link_name = "?formmethod@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?formmethod@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_formmethod: *mut nsIAtom;
- #[link_name = "?formnovalidate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?formnovalidate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_formnovalidate: *mut nsIAtom;
- #[link_name = "?formtarget@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?formtarget@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_formtarget: *mut nsIAtom;
- #[link_name = "?frame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?frame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_frame: *mut nsIAtom;
- #[link_name = "?frameborder@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?frameborder@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_frameborder: *mut nsIAtom;
- #[link_name = "?frameset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?frameset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_frameset: *mut nsIAtom;
- #[link_name = "?from@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?from@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_from: *mut nsIAtom;
- #[link_name = "?fullscreenchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fullscreenchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fullscreenchange: *mut nsIAtom;
- #[link_name = "?fullscreenerror@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fullscreenerror@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fullscreenerror: *mut nsIAtom;
- #[link_name = "?functionAvailable@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?functionAvailable@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_functionAvailable: *mut nsIAtom;
- #[link_name = "?generateId@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?generateId@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_generateId: *mut nsIAtom;
- #[link_name = "?getter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?getter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_getter: *mut nsIAtom;
- #[link_name = "?glyphchar@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?glyphchar@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_glyphchar: *mut nsIAtom;
- #[link_name = "?glyphid@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?glyphid@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_glyphid: *mut nsIAtom;
- #[link_name = "?grid@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?grid@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_grid: *mut nsIAtom;
- #[link_name = "?grippy@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?grippy@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_grippy: *mut nsIAtom;
- #[link_name = "?group@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?group@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_group: *mut nsIAtom;
- #[link_name = "?groupingSeparator@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?groupingSeparator@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_groupingSeparator: *mut nsIAtom;
- #[link_name = "?groupingSize@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?groupingSize@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_groupingSize: *mut nsIAtom;
- #[link_name = "?grow@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?grow@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_grow: *mut nsIAtom;
- #[link_name = "?gutter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?gutter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_gutter: *mut nsIAtom;
- #[link_name = "?h1@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?h1@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_h1: *mut nsIAtom;
- #[link_name = "?h2@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?h2@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_h2: *mut nsIAtom;
- #[link_name = "?h3@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?h3@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_h3: *mut nsIAtom;
- #[link_name = "?h4@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?h4@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_h4: *mut nsIAtom;
- #[link_name = "?h5@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?h5@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_h5: *mut nsIAtom;
- #[link_name = "?h6@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?h6@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_h6: *mut nsIAtom;
- #[link_name = "?handheld@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?handheld@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_handheld: *mut nsIAtom;
- #[link_name = "?handheldFriendly@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?handheldFriendly@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_handheldFriendly: *mut nsIAtom;
- #[link_name = "?handler@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?handler@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_handler: *mut nsIAtom;
- #[link_name = "?handlers@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?handlers@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_handlers: *mut nsIAtom;
- #[link_name = "?HARD@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?HARD@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_HARD: *mut nsIAtom;
- #[link_name = "?hasSameNode@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?hasSameNode@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_hasSameNode: *mut nsIAtom;
- #[link_name = "?hbox@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?hbox@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_hbox: *mut nsIAtom;
- #[link_name = "?head@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?head@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_head: *mut nsIAtom;
- #[link_name = "?header@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?header@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_header: *mut nsIAtom;
- #[link_name = "?headers@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?headers@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_headers: *mut nsIAtom;
- #[link_name = "?height@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?height@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_height: *mut nsIAtom;
- #[link_name = "?hgroup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?hgroup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_hgroup: *mut nsIAtom;
- #[link_name = "?hidden@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?hidden@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_hidden: *mut nsIAtom;
- #[link_name = "?hidechrome@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?hidechrome@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_hidechrome: *mut nsIAtom;
- #[link_name = "?hidecolumnpicker@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?hidecolumnpicker@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_hidecolumnpicker: *mut nsIAtom;
- #[link_name = "?high@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?high@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_high: *mut nsIAtom;
- #[link_name = "?highest@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?highest@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_highest: *mut nsIAtom;
- #[link_name = "?horizontal@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?horizontal@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_horizontal: *mut nsIAtom;
- #[link_name = "?hover@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?hover@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_hover: *mut nsIAtom;
- #[link_name = "?hr@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?hr@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_hr: *mut nsIAtom;
- #[link_name = "?href@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?href@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_href: *mut nsIAtom;
- #[link_name = "?hreflang@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?hreflang@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_hreflang: *mut nsIAtom;
- #[link_name = "?hspace@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?hspace@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_hspace: *mut nsIAtom;
- #[link_name = "?html@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?html@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_html: *mut nsIAtom;
- #[link_name = "?httpEquiv@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?httpEquiv@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_httpEquiv: *mut nsIAtom;
- #[link_name = "?i@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?i@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_i: *mut nsIAtom;
- #[link_name = "?icon@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?icon@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_icon: *mut nsIAtom;
- #[link_name = "?id@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?id@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_id: *mut nsIAtom;
- #[link_name = "?_if@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_if@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__if: *mut nsIAtom;
- #[link_name = "?iframe@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?iframe@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_iframe: *mut nsIAtom;
- #[link_name = "?ignorecase@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ignorecase@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ignorecase: *mut nsIAtom;
- #[link_name = "?ignorekeys@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ignorekeys@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ignorekeys: *mut nsIAtom;
- #[link_name = "?ignoreuserfocus@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ignoreuserfocus@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ignoreuserfocus: *mut nsIAtom;
- #[link_name = "?ilayer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ilayer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ilayer: *mut nsIAtom;
- #[link_name = "?image@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?image@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_image: *mut nsIAtom;
- #[link_name = "?imageClickedPoint@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?imageClickedPoint@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_imageClickedPoint: *mut nsIAtom;
- #[link_name = "?img@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?img@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_img: *mut nsIAtom;
- #[link_name = "?implementation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?implementation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_implementation: *mut nsIAtom;
- #[link_name = "?implements@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?implements@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_implements: *mut nsIAtom;
- #[link_name = "?import@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?import@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_import: *mut nsIAtom;
- #[link_name = "?inactivetitlebarcolor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?inactivetitlebarcolor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_inactivetitlebarcolor: *mut nsIAtom;
- #[link_name = "?include@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?include@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_include: *mut nsIAtom;
- #[link_name = "?includes@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?includes@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_includes: *mut nsIAtom;
- #[link_name = "?increment@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?increment@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_increment: *mut nsIAtom;
- #[link_name = "?indent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?indent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_indent: *mut nsIAtom;
- #[link_name = "?indeterminate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?indeterminate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_indeterminate: *mut nsIAtom;
- #[link_name = "?index@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?index@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_index: *mut nsIAtom;
- #[link_name = "?infer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?infer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_infer: *mut nsIAtom;
- #[link_name = "?infinity@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?infinity@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_infinity: *mut nsIAtom;
- #[link_name = "?inherit@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?inherit@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_inherit: *mut nsIAtom;
- #[link_name = "?inherits@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?inherits@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_inherits: *mut nsIAtom;
- #[link_name = "?inheritstyle@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?inheritstyle@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_inheritstyle: *mut nsIAtom;
- #[link_name = "?initial_scale@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?initial_scale@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_initial_scale: *mut nsIAtom;
- #[link_name = "?input@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?input@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_input: *mut nsIAtom;
- #[link_name = "?inputmode@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?inputmode@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_inputmode: *mut nsIAtom;
- #[link_name = "?ins@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ins@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ins: *mut nsIAtom;
- #[link_name = "?insertafter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?insertafter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_insertafter: *mut nsIAtom;
- #[link_name = "?insertbefore@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?insertbefore@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_insertbefore: *mut nsIAtom;
- #[link_name = "?install@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?install@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_install: *mut nsIAtom;
- #[link_name = "?instanceOf@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?instanceOf@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_instanceOf: *mut nsIAtom;
- #[link_name = "?int32@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?int32@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_int32: *mut nsIAtom;
- #[link_name = "?int64@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?int64@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_int64: *mut nsIAtom;
- #[link_name = "?integer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?integer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_integer: *mut nsIAtom;
- #[link_name = "?integrity@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?integrity@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_integrity: *mut nsIAtom;
- #[link_name = "?intersection@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?intersection@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_intersection: *mut nsIAtom;
- #[link_name = "?is@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?is@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_is: *mut nsIAtom;
- #[link_name = "?iscontainer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?iscontainer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_iscontainer: *mut nsIAtom;
- #[link_name = "?isempty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?isempty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_isempty: *mut nsIAtom;
- #[link_name = "?ismap@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ismap@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ismap: *mut nsIAtom;
- #[link_name = "?itemid@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?itemid@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_itemid: *mut nsIAtom;
- #[link_name = "?itemprop@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?itemprop@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_itemprop: *mut nsIAtom;
- #[link_name = "?itemref@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?itemref@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_itemref: *mut nsIAtom;
- #[link_name = "?itemscope@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?itemscope@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_itemscope: *mut nsIAtom;
- #[link_name = "?itemtype@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?itemtype@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_itemtype: *mut nsIAtom;
- #[link_name = "?kbd@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?kbd@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_kbd: *mut nsIAtom;
- #[link_name = "?keepcurrentinview@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?keepcurrentinview@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_keepcurrentinview: *mut nsIAtom;
- #[link_name = "?keepobjectsalive@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?keepobjectsalive@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_keepobjectsalive: *mut nsIAtom;
- #[link_name = "?key@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?key@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_key: *mut nsIAtom;
- #[link_name = "?keycode@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?keycode@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_keycode: *mut nsIAtom;
- #[link_name = "?keystatuseschange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?keystatuseschange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_keystatuseschange: *mut nsIAtom;
- #[link_name = "?keydown@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?keydown@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_keydown: *mut nsIAtom;
- #[link_name = "?keygen@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?keygen@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_keygen: *mut nsIAtom;
- #[link_name = "?keypress@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?keypress@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_keypress: *mut nsIAtom;
- #[link_name = "?keyset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?keyset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_keyset: *mut nsIAtom;
- #[link_name = "?keysystem@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?keysystem@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_keysystem: *mut nsIAtom;
- #[link_name = "?keytext@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?keytext@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_keytext: *mut nsIAtom;
- #[link_name = "?keyup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?keyup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_keyup: *mut nsIAtom;
- #[link_name = "?kind@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?kind@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_kind: *mut nsIAtom;
- #[link_name = "?label@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?label@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_label: *mut nsIAtom;
- #[link_name = "?lang@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lang@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lang: *mut nsIAtom;
- #[link_name = "?language@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?language@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_language: *mut nsIAtom;
- #[link_name = "?last@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?last@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_last: *mut nsIAtom;
- #[link_name = "?layer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?layer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_layer: *mut nsIAtom;
- #[link_name = "?LayerActivity@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?LayerActivity@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_LayerActivity: *mut nsIAtom;
- #[link_name = "?layout@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?layout@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_layout: *mut nsIAtom;
- #[link_name = "?leading@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?leading@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_leading: *mut nsIAtom;
- #[link_name = "?leaf@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?leaf@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_leaf: *mut nsIAtom;
- #[link_name = "?left@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?left@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_left: *mut nsIAtom;
- #[link_name = "?leftmargin@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?leftmargin@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_leftmargin: *mut nsIAtom;
- #[link_name = "?leftpadding@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?leftpadding@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_leftpadding: *mut nsIAtom;
- #[link_name = "?legend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?legend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_legend: *mut nsIAtom;
- #[link_name = "?length@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?length@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_length: *mut nsIAtom;
- #[link_name = "?letterValue@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?letterValue@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_letterValue: *mut nsIAtom;
- #[link_name = "?level@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?level@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_level: *mut nsIAtom;
- #[link_name = "?li@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?li@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_li: *mut nsIAtom;
- #[link_name = "?line@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?line@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_line: *mut nsIAtom;
- #[link_name = "?link@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?link@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_link: *mut nsIAtom;
- #[link_name = "?list@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?list@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_list: *mut nsIAtom;
- #[link_name = "?listbox@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?listbox@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_listbox: *mut nsIAtom;
- #[link_name = "?listboxbody@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?listboxbody@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_listboxbody: *mut nsIAtom;
- #[link_name = "?listcell@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?listcell@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_listcell: *mut nsIAtom;
- #[link_name = "?listcol@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?listcol@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_listcol: *mut nsIAtom;
- #[link_name = "?listcols@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?listcols@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_listcols: *mut nsIAtom;
- #[link_name = "?listener@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?listener@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_listener: *mut nsIAtom;
- #[link_name = "?listhead@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?listhead@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_listhead: *mut nsIAtom;
- #[link_name = "?listheader@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?listheader@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_listheader: *mut nsIAtom;
- #[link_name = "?listing@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?listing@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_listing: *mut nsIAtom;
- #[link_name = "?listitem@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?listitem@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_listitem: *mut nsIAtom;
- #[link_name = "?listrows@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?listrows@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_listrows: *mut nsIAtom;
- #[link_name = "?load@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?load@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_load: *mut nsIAtom;
- #[link_name = "?localedir@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?localedir@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_localedir: *mut nsIAtom;
- #[link_name = "?localName@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?localName@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_localName: *mut nsIAtom;
- #[link_name = "?longdesc@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?longdesc@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_longdesc: *mut nsIAtom;
- #[link_name = "?loop@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?loop@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_loop: *mut nsIAtom;
- #[link_name = "?low@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?low@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_low: *mut nsIAtom;
- #[link_name = "?lowerFirst@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lowerFirst@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lowerFirst: *mut nsIAtom;
- #[link_name = "?lowest@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lowest@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lowest: *mut nsIAtom;
- #[link_name = "?lowsrc@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lowsrc@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lowsrc: *mut nsIAtom;
- #[link_name = "?ltr@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ltr@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ltr: *mut nsIAtom;
- #[link_name = "?lwtheme@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lwtheme@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lwtheme: *mut nsIAtom;
- #[link_name = "?lwthemetextcolor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lwthemetextcolor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lwthemetextcolor: *mut nsIAtom;
- #[link_name = "?main@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?main@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_main: *mut nsIAtom;
- #[link_name = "?map@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?map@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_map: *mut nsIAtom;
- #[link_name = "?manifest@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?manifest@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_manifest: *mut nsIAtom;
- #[link_name = "?marginBottom@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?marginBottom@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_marginBottom: *mut nsIAtom;
- #[link_name = "?marginLeft@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?marginLeft@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_marginLeft: *mut nsIAtom;
- #[link_name = "?marginRight@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?marginRight@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_marginRight: *mut nsIAtom;
- #[link_name = "?marginTop@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?marginTop@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_marginTop: *mut nsIAtom;
- #[link_name = "?marginheight@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?marginheight@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_marginheight: *mut nsIAtom;
- #[link_name = "?marginwidth@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?marginwidth@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_marginwidth: *mut nsIAtom;
- #[link_name = "?mark@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mark@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mark: *mut nsIAtom;
- #[link_name = "?marquee@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?marquee@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_marquee: *mut nsIAtom;
- #[link_name = "?match@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?match@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_match: *mut nsIAtom;
- #[link_name = "?max@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?max@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_max: *mut nsIAtom;
- #[link_name = "?maxheight@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?maxheight@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_maxheight: *mut nsIAtom;
- #[link_name = "?maximum_scale@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?maximum_scale@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_maximum_scale: *mut nsIAtom;
- #[link_name = "?maxlength@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?maxlength@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_maxlength: *mut nsIAtom;
- #[link_name = "?maxpos@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?maxpos@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_maxpos: *mut nsIAtom;
- #[link_name = "?maxwidth@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?maxwidth@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_maxwidth: *mut nsIAtom;
- #[link_name = "?mayscript@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mayscript@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mayscript: *mut nsIAtom;
- #[link_name = "?media@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?media@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_media: *mut nsIAtom;
- #[link_name = "?mediaType@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mediaType@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mediaType: *mut nsIAtom;
- #[link_name = "?member@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?member@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_member: *mut nsIAtom;
- #[link_name = "?menu@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?menu@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_menu: *mut nsIAtom;
- #[link_name = "?menubar@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?menubar@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_menubar: *mut nsIAtom;
- #[link_name = "?menubutton@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?menubutton@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_menubutton: *mut nsIAtom;
- #[link_name = "?menuButton@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?menuButton@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_menuButton: *mut nsIAtom;
- #[link_name = "?menugroup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?menugroup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_menugroup: *mut nsIAtom;
- #[link_name = "?menuitem@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?menuitem@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_menuitem: *mut nsIAtom;
- #[link_name = "?menulist@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?menulist@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_menulist: *mut nsIAtom;
- #[link_name = "?menupopup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?menupopup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_menupopup: *mut nsIAtom;
- #[link_name = "?menuseparator@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?menuseparator@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_menuseparator: *mut nsIAtom;
- #[link_name = "?message@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?message@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_message: *mut nsIAtom;
- #[link_name = "?meta@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?meta@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_meta: *mut nsIAtom;
- #[link_name = "?referrer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?referrer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_referrer: *mut nsIAtom;
- #[link_name = "?referrerpolicy@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?referrerpolicy@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_referrerpolicy: *mut nsIAtom;
- #[link_name = "?headerReferrerPolicy@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?headerReferrerPolicy@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_headerReferrerPolicy: *mut nsIAtom;
- #[link_name = "?meter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?meter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_meter: *mut nsIAtom;
- #[link_name = "?method@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?method@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_method: *mut nsIAtom;
- #[link_name = "?middle@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?middle@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_middle: *mut nsIAtom;
- #[link_name = "?min@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?min@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_min: *mut nsIAtom;
- #[link_name = "?minheight@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?minheight@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_minheight: *mut nsIAtom;
- #[link_name = "?minimum_scale@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?minimum_scale@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_minimum_scale: *mut nsIAtom;
- #[link_name = "?minlength@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?minlength@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_minlength: *mut nsIAtom;
- #[link_name = "?minpos@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?minpos@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_minpos: *mut nsIAtom;
- #[link_name = "?minusSign@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?minusSign@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_minusSign: *mut nsIAtom;
- #[link_name = "?minwidth@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?minwidth@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_minwidth: *mut nsIAtom;
- #[link_name = "?_mixed@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_mixed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__mixed: *mut nsIAtom;
- #[link_name = "?messagemanagergroup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?messagemanagergroup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_messagemanagergroup: *mut nsIAtom;
- #[link_name = "?mod@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mod@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mod: *mut nsIAtom;
- #[link_name = "?mode@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mode@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mode: *mut nsIAtom;
- #[link_name = "?modifiers@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?modifiers@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_modifiers: *mut nsIAtom;
- #[link_name = "?monochrome@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?monochrome@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_monochrome: *mut nsIAtom;
- #[link_name = "?mousedown@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mousedown@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mousedown: *mut nsIAtom;
- #[link_name = "?mousemove@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mousemove@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mousemove: *mut nsIAtom;
- #[link_name = "?mouseout@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mouseout@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mouseout: *mut nsIAtom;
- #[link_name = "?mouseover@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mouseover@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mouseover: *mut nsIAtom;
- #[link_name = "?mousethrough@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mousethrough@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mousethrough: *mut nsIAtom;
- #[link_name = "?mouseup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mouseup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mouseup: *mut nsIAtom;
- #[link_name = "?mozaudiochannel@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozaudiochannel@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozaudiochannel: *mut nsIAtom;
- #[link_name = "?mozfullscreenchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozfullscreenchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozfullscreenchange: *mut nsIAtom;
- #[link_name = "?mozfullscreenerror@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozfullscreenerror@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozfullscreenerror: *mut nsIAtom;
- #[link_name = "?mozpasspointerevents@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozpasspointerevents@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozpasspointerevents: *mut nsIAtom;
- #[link_name = "?mozpointerlockchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozpointerlockchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozpointerlockchange: *mut nsIAtom;
- #[link_name = "?mozpointerlockerror@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozpointerlockerror@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozpointerlockerror: *mut nsIAtom;
- #[link_name = "?mozprivatebrowsing@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozprivatebrowsing@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozprivatebrowsing: *mut nsIAtom;
- #[link_name = "?moz_opaque@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?moz_opaque@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_moz_opaque: *mut nsIAtom;
- #[link_name = "?moz_action_hint@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?moz_action_hint@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_moz_action_hint: *mut nsIAtom;
- #[link_name = "?x_moz_errormessage@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_moz_errormessage@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_moz_errormessage: *mut nsIAtom;
- #[link_name = "?msthemecompatible@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?msthemecompatible@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_msthemecompatible: *mut nsIAtom;
- #[link_name = "?multicol@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?multicol@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_multicol: *mut nsIAtom;
- #[link_name = "?multiple@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?multiple@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_multiple: *mut nsIAtom;
- #[link_name = "?muted@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?muted@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_muted: *mut nsIAtom;
- #[link_name = "?name@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?name@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_name: *mut nsIAtom;
- #[link_name = "?_namespace@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_namespace@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__namespace: *mut nsIAtom;
- #[link_name = "?namespaceAlias@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?namespaceAlias@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_namespaceAlias: *mut nsIAtom;
- #[link_name = "?namespaceUri@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?namespaceUri@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_namespaceUri: *mut nsIAtom;
- #[link_name = "?NaN@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?NaN@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_NaN: *mut nsIAtom;
- #[link_name = "?nativeAnonymousChildList@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nativeAnonymousChildList@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nativeAnonymousChildList: *mut nsIAtom;
- #[link_name = "?nav@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nav@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nav: *mut nsIAtom;
- #[link_name = "?negate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?negate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_negate: *mut nsIAtom;
- #[link_name = "?never@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?never@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_never: *mut nsIAtom;
- #[link_name = "?_new@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_new@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__new: *mut nsIAtom;
- #[link_name = "?newline@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?newline@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_newline: *mut nsIAtom;
- #[link_name = "?nextBidi@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nextBidi@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nextBidi: *mut nsIAtom;
- #[link_name = "?no@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?no@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_no: *mut nsIAtom;
- #[link_name = "?noautofocus@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?noautofocus@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_noautofocus: *mut nsIAtom;
- #[link_name = "?noautohide@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?noautohide@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_noautohide: *mut nsIAtom;
- #[link_name = "?norolluponanchor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?norolluponanchor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_norolluponanchor: *mut nsIAtom;
- #[link_name = "?nobr@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nobr@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nobr: *mut nsIAtom;
- #[link_name = "?node@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?node@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_node: *mut nsIAtom;
- #[link_name = "?nodefaultsrc@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nodefaultsrc@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nodefaultsrc: *mut nsIAtom;
- #[link_name = "?nodeSet@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nodeSet@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nodeSet: *mut nsIAtom;
- #[link_name = "?noembed@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?noembed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_noembed: *mut nsIAtom;
- #[link_name = "?noframes@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?noframes@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_noframes: *mut nsIAtom;
- #[link_name = "?nohref@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nohref@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nohref: *mut nsIAtom;
- #[link_name = "?noisolation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?noisolation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_noisolation: *mut nsIAtom;
- #[link_name = "?nonce@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nonce@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nonce: *mut nsIAtom;
- #[link_name = "?none@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?none@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_none: *mut nsIAtom;
- #[link_name = "?noresize@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?noresize@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_noresize: *mut nsIAtom;
- #[link_name = "?normal@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?normal@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_normal: *mut nsIAtom;
- #[link_name = "?normalizeSpace@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?normalizeSpace@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_normalizeSpace: *mut nsIAtom;
- #[link_name = "?noscript@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?noscript@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_noscript: *mut nsIAtom;
- #[link_name = "?noshade@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?noshade@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_noshade: *mut nsIAtom;
- #[link_name = "?novalidate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?novalidate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_novalidate: *mut nsIAtom;
- #[link_name = "?_not@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_not@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__not: *mut nsIAtom;
- #[link_name = "?nowrap@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nowrap@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nowrap: *mut nsIAtom;
- #[link_name = "?number@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?number@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_number: *mut nsIAtom;
- #[link_name = "?null@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?null@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_null: *mut nsIAtom;
- #[link_name = "?object@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?object@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_object: *mut nsIAtom;
- #[link_name = "?objectType@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?objectType@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_objectType: *mut nsIAtom;
- #[link_name = "?observer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?observer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_observer: *mut nsIAtom;
- #[link_name = "?observes@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?observes@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_observes: *mut nsIAtom;
- #[link_name = "?odd@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?odd@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_odd: *mut nsIAtom;
- #[link_name = "?OFF@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?OFF@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_OFF: *mut nsIAtom;
- #[link_name = "?ol@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ol@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ol: *mut nsIAtom;
- #[link_name = "?omitXmlDeclaration@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?omitXmlDeclaration@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_omitXmlDeclaration: *mut nsIAtom;
- #[link_name = "?ona2dpstatuschanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ona2dpstatuschanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ona2dpstatuschanged: *mut nsIAtom;
- #[link_name = "?onabort@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onabort@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onabort: *mut nsIAtom;
- #[link_name = "?onmozaccesskeynotfound@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmozaccesskeynotfound@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmozaccesskeynotfound: *mut nsIAtom;
- #[link_name = "?onactivate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onactivate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onactivate: *mut nsIAtom;
- #[link_name = "?onadapteradded@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onadapteradded@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onadapteradded: *mut nsIAtom;
- #[link_name = "?onadapterremoved@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onadapterremoved@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onadapterremoved: *mut nsIAtom;
- #[link_name = "?onafterprint@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onafterprint@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onafterprint: *mut nsIAtom;
- #[link_name = "?onafterscriptexecute@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onafterscriptexecute@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onafterscriptexecute: *mut nsIAtom;
- #[link_name = "?onalerting@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onalerting@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onalerting: *mut nsIAtom;
- #[link_name = "?onanimationend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onanimationend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onanimationend: *mut nsIAtom;
- #[link_name = "?onanimationiteration@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onanimationiteration@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onanimationiteration: *mut nsIAtom;
- #[link_name = "?onanimationstart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onanimationstart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onanimationstart: *mut nsIAtom;
- #[link_name = "?onantennaavailablechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onantennaavailablechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onantennaavailablechange: *mut nsIAtom;
- #[link_name = "?onAppCommand@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onAppCommand@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onAppCommand: *mut nsIAtom;
- #[link_name = "?onattributechanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onattributechanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onattributechanged: *mut nsIAtom;
- #[link_name = "?onattributereadreq@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onattributereadreq@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onattributereadreq: *mut nsIAtom;
- #[link_name = "?onattributewritereq@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onattributewritereq@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onattributewritereq: *mut nsIAtom;
- #[link_name = "?onaudioprocess@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onaudioprocess@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onaudioprocess: *mut nsIAtom;
- #[link_name = "?onbeforecopy@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onbeforecopy@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onbeforecopy: *mut nsIAtom;
- #[link_name = "?onbeforecut@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onbeforecut@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onbeforecut: *mut nsIAtom;
- #[link_name = "?onbeforepaste@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onbeforepaste@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onbeforepaste: *mut nsIAtom;
- #[link_name = "?onbeforeevicted@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onbeforeevicted@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onbeforeevicted: *mut nsIAtom;
- #[link_name = "?onbeforeprint@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onbeforeprint@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onbeforeprint: *mut nsIAtom;
- #[link_name = "?onbeforescriptexecute@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onbeforescriptexecute@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onbeforescriptexecute: *mut nsIAtom;
- #[link_name = "?onbeforeunload@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onbeforeunload@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onbeforeunload: *mut nsIAtom;
- #[link_name = "?onblocked@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onblocked@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onblocked: *mut nsIAtom;
- #[link_name = "?onblur@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onblur@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onblur: *mut nsIAtom;
- #[link_name = "?onbroadcast@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onbroadcast@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onbroadcast: *mut nsIAtom;
- #[link_name = "?onbusy@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onbusy@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onbusy: *mut nsIAtom;
- #[link_name = "?onbufferedamountlow@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onbufferedamountlow@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onbufferedamountlow: *mut nsIAtom;
- #[link_name = "?oncached@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncached@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncached: *mut nsIAtom;
- #[link_name = "?oncallschanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncallschanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncallschanged: *mut nsIAtom;
- #[link_name = "?oncancel@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncancel@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncancel: *mut nsIAtom;
- #[link_name = "?oncardstatechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncardstatechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncardstatechange: *mut nsIAtom;
- #[link_name = "?oncfstatechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncfstatechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncfstatechange: *mut nsIAtom;
- #[link_name = "?onchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onchange: *mut nsIAtom;
- #[link_name = "?oncharacteristicchanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncharacteristicchanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncharacteristicchanged: *mut nsIAtom;
- #[link_name = "?onchargingchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onchargingchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onchargingchange: *mut nsIAtom;
- #[link_name = "?onchargingtimechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onchargingtimechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onchargingtimechange: *mut nsIAtom;
- #[link_name = "?onchecking@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onchecking@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onchecking: *mut nsIAtom;
- #[link_name = "?onclick@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onclick@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onclick: *mut nsIAtom;
- #[link_name = "?onclirmodechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onclirmodechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onclirmodechange: *mut nsIAtom;
- #[link_name = "?onclose@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onclose@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onclose: *mut nsIAtom;
- #[link_name = "?oncommand@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncommand@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncommand: *mut nsIAtom;
- #[link_name = "?oncommandupdate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncommandupdate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncommandupdate: *mut nsIAtom;
- #[link_name = "?oncomplete@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncomplete@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncomplete: *mut nsIAtom;
- #[link_name = "?oncompositionend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncompositionend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncompositionend: *mut nsIAtom;
- #[link_name = "?oncompositionstart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncompositionstart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncompositionstart: *mut nsIAtom;
- #[link_name = "?oncompositionupdate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncompositionupdate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncompositionupdate: *mut nsIAtom;
- #[link_name = "?onconfigurationchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onconfigurationchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onconfigurationchange: *mut nsIAtom;
- #[link_name = "?onconnect@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onconnect@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onconnect: *mut nsIAtom;
- #[link_name = "?onconnected@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onconnected@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onconnected: *mut nsIAtom;
- #[link_name = "?onconnecting@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onconnecting@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onconnecting: *mut nsIAtom;
- #[link_name = "?onconnectionavailable@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onconnectionavailable@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onconnectionavailable: *mut nsIAtom;
- #[link_name = "?onconnectionstatechanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onconnectionstatechanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onconnectionstatechanged: *mut nsIAtom;
- #[link_name = "?oncontextmenu@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncontextmenu@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncontextmenu: *mut nsIAtom;
- #[link_name = "?oncopy@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncopy@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncopy: *mut nsIAtom;
- #[link_name = "?oncurrentchannelchanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncurrentchannelchanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncurrentchannelchanged: *mut nsIAtom;
- #[link_name = "?oncurrentsourcechanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncurrentsourcechanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncurrentsourcechanged: *mut nsIAtom;
- #[link_name = "?oncut@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncut@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncut: *mut nsIAtom;
- #[link_name = "?ondatachange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondatachange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondatachange: *mut nsIAtom;
- #[link_name = "?ondataerror@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondataerror@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondataerror: *mut nsIAtom;
- #[link_name = "?ondblclick@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondblclick@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondblclick: *mut nsIAtom;
- #[link_name = "?ondeleted@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondeleted@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondeleted: *mut nsIAtom;
- #[link_name = "?ondeliverysuccess@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondeliverysuccess@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondeliverysuccess: *mut nsIAtom;
- #[link_name = "?ondeliveryerror@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondeliveryerror@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondeliveryerror: *mut nsIAtom;
- #[link_name = "?ondevicefound@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondevicefound@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondevicefound: *mut nsIAtom;
- #[link_name = "?ondevicepaired@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondevicepaired@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondevicepaired: *mut nsIAtom;
- #[link_name = "?ondeviceunpaired@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondeviceunpaired@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondeviceunpaired: *mut nsIAtom;
- #[link_name = "?ondialing@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondialing@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondialing: *mut nsIAtom;
- #[link_name = "?ondisabled@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondisabled@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondisabled: *mut nsIAtom;
- #[link_name = "?ondischargingtimechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondischargingtimechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondischargingtimechange: *mut nsIAtom;
- #[link_name = "?ondisconnect@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondisconnect@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondisconnect: *mut nsIAtom;
- #[link_name = "?ondisconnected@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondisconnected@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondisconnected: *mut nsIAtom;
- #[link_name = "?ondisconnecting@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondisconnecting@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondisconnecting: *mut nsIAtom;
- #[link_name = "?ondisplaypasskeyreq@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondisplaypasskeyreq@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondisplaypasskeyreq: *mut nsIAtom;
- #[link_name = "?ondownloading@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondownloading@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondownloading: *mut nsIAtom;
- #[link_name = "?onDOMActivate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onDOMActivate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onDOMActivate: *mut nsIAtom;
- #[link_name = "?onDOMAttrModified@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onDOMAttrModified@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onDOMAttrModified: *mut nsIAtom;
- #[link_name = "?onDOMCharacterDataModified@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onDOMCharacterDataModified@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onDOMCharacterDataModified: *mut nsIAtom;
- #[link_name = "?onDOMFocusIn@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onDOMFocusIn@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onDOMFocusIn: *mut nsIAtom;
- #[link_name = "?onDOMFocusOut@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onDOMFocusOut@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onDOMFocusOut: *mut nsIAtom;
- #[link_name = "?onDOMMouseScroll@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onDOMMouseScroll@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onDOMMouseScroll: *mut nsIAtom;
- #[link_name = "?onDOMNodeInserted@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onDOMNodeInserted@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onDOMNodeInserted: *mut nsIAtom;
- #[link_name = "?onDOMNodeInsertedIntoDocument@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onDOMNodeInsertedIntoDocument@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onDOMNodeInsertedIntoDocument: *mut nsIAtom;
- #[link_name = "?onDOMNodeRemoved@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onDOMNodeRemoved@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onDOMNodeRemoved: *mut nsIAtom;
- #[link_name = "?onDOMNodeRemovedFromDocument@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onDOMNodeRemovedFromDocument@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onDOMNodeRemovedFromDocument: *mut nsIAtom;
- #[link_name = "?onDOMSubtreeModified@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onDOMSubtreeModified@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onDOMSubtreeModified: *mut nsIAtom;
- #[link_name = "?ondata@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondata@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondata: *mut nsIAtom;
- #[link_name = "?ondrag@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondrag@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondrag: *mut nsIAtom;
- #[link_name = "?ondragdrop@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondragdrop@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondragdrop: *mut nsIAtom;
- #[link_name = "?ondragend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondragend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondragend: *mut nsIAtom;
- #[link_name = "?ondragenter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondragenter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondragenter: *mut nsIAtom;
- #[link_name = "?ondragexit@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondragexit@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondragexit: *mut nsIAtom;
- #[link_name = "?ondraggesture@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondraggesture@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondraggesture: *mut nsIAtom;
- #[link_name = "?ondragleave@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondragleave@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondragleave: *mut nsIAtom;
- #[link_name = "?ondragover@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondragover@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondragover: *mut nsIAtom;
- #[link_name = "?ondragstart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondragstart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondragstart: *mut nsIAtom;
- #[link_name = "?ondrain@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondrain@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondrain: *mut nsIAtom;
- #[link_name = "?ondrop@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondrop@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondrop: *mut nsIAtom;
- #[link_name = "?oneitbroadcasted@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oneitbroadcasted@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oneitbroadcasted: *mut nsIAtom;
- #[link_name = "?onenabled@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onenabled@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onenabled: *mut nsIAtom;
- #[link_name = "?onenterpincodereq@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onenterpincodereq@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onenterpincodereq: *mut nsIAtom;
- #[link_name = "?onemergencycbmodechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onemergencycbmodechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onemergencycbmodechange: *mut nsIAtom;
- #[link_name = "?onerror@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onerror@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onerror: *mut nsIAtom;
- #[link_name = "?onevicted@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onevicted@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onevicted: *mut nsIAtom;
- #[link_name = "?onfacesdetected@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onfacesdetected@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onfacesdetected: *mut nsIAtom;
- #[link_name = "?onfailed@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onfailed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onfailed: *mut nsIAtom;
- #[link_name = "?onfetch@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onfetch@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onfetch: *mut nsIAtom;
- #[link_name = "?onfinish@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onfinish@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onfinish: *mut nsIAtom;
- #[link_name = "?onfocus@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onfocus@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onfocus: *mut nsIAtom;
- #[link_name = "?onfrequencychange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onfrequencychange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onfrequencychange: *mut nsIAtom;
- #[link_name = "?onfullscreenchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onfullscreenchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onfullscreenchange: *mut nsIAtom;
- #[link_name = "?onfullscreenerror@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onfullscreenerror@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onfullscreenerror: *mut nsIAtom;
- #[link_name = "?onspeakerforcedchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onspeakerforcedchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onspeakerforcedchange: *mut nsIAtom;
- #[link_name = "?onget@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onget@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onget: *mut nsIAtom;
- #[link_name = "?ongroupchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ongroupchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ongroupchange: *mut nsIAtom;
- #[link_name = "?onhashchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onhashchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onhashchange: *mut nsIAtom;
- #[link_name = "?onheadphoneschange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onheadphoneschange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onheadphoneschange: *mut nsIAtom;
- #[link_name = "?onheld@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onheld@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onheld: *mut nsIAtom;
- #[link_name = "?onhfpstatuschanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onhfpstatuschanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onhfpstatuschanged: *mut nsIAtom;
- #[link_name = "?onhidstatuschanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onhidstatuschanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onhidstatuschanged: *mut nsIAtom;
- #[link_name = "?onholding@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onholding@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onholding: *mut nsIAtom;
- #[link_name = "?oniccchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oniccchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oniccchange: *mut nsIAtom;
- #[link_name = "?oniccdetected@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oniccdetected@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oniccdetected: *mut nsIAtom;
- #[link_name = "?oniccinfochange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oniccinfochange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oniccinfochange: *mut nsIAtom;
- #[link_name = "?oniccundetected@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oniccundetected@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oniccundetected: *mut nsIAtom;
- #[link_name = "?onincoming@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onincoming@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onincoming: *mut nsIAtom;
- #[link_name = "?oninput@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oninput@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oninput: *mut nsIAtom;
- #[link_name = "?oninstall@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oninstall@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oninstall: *mut nsIAtom;
- #[link_name = "?oninvalid@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oninvalid@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oninvalid: *mut nsIAtom;
- #[link_name = "?onkeydown@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onkeydown@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onkeydown: *mut nsIAtom;
- #[link_name = "?onkeypress@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onkeypress@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onkeypress: *mut nsIAtom;
- #[link_name = "?onkeyup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onkeyup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onkeyup: *mut nsIAtom;
- #[link_name = "?onlanguagechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onlanguagechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onlanguagechange: *mut nsIAtom;
- #[link_name = "?onlevelchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onlevelchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onlevelchange: *mut nsIAtom;
- #[link_name = "?onLoad@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onLoad@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onLoad: *mut nsIAtom;
- #[link_name = "?onload@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onload@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onload: *mut nsIAtom;
- #[link_name = "?onloading@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onloading@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onloading: *mut nsIAtom;
- #[link_name = "?onloadingdone@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onloadingdone@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onloadingdone: *mut nsIAtom;
- #[link_name = "?onloadingerror@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onloadingerror@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onloadingerror: *mut nsIAtom;
- #[link_name = "?onpopstate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpopstate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpopstate: *mut nsIAtom;
- #[link_name = "?only@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?only@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_only: *mut nsIAtom;
- #[link_name = "?onmessage@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmessage@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmessage: *mut nsIAtom;
- #[link_name = "?onmousedown@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmousedown@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmousedown: *mut nsIAtom;
- #[link_name = "?onmouseenter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmouseenter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmouseenter: *mut nsIAtom;
- #[link_name = "?onmouseleave@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmouseleave@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmouseleave: *mut nsIAtom;
- #[link_name = "?onmousemove@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmousemove@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmousemove: *mut nsIAtom;
- #[link_name = "?onmouseout@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmouseout@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmouseout: *mut nsIAtom;
- #[link_name = "?onmouseover@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmouseover@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmouseover: *mut nsIAtom;
- #[link_name = "?onMozMouseHittest@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozMouseHittest@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozMouseHittest: *mut nsIAtom;
- #[link_name = "?onmouseup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmouseup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmouseup: *mut nsIAtom;
- #[link_name = "?onMozAfterPaint@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozAfterPaint@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozAfterPaint: *mut nsIAtom;
- #[link_name = "?onmozbrowserafterkeydown@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmozbrowserafterkeydown@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmozbrowserafterkeydown: *mut nsIAtom;
- #[link_name = "?onmozbrowserafterkeyup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmozbrowserafterkeyup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmozbrowserafterkeyup: *mut nsIAtom;
- #[link_name = "?onmozbrowserbeforekeydown@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmozbrowserbeforekeydown@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmozbrowserbeforekeydown: *mut nsIAtom;
- #[link_name = "?onmozbrowserbeforekeyup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmozbrowserbeforekeyup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmozbrowserbeforekeyup: *mut nsIAtom;
- #[link_name = "?onmozfullscreenchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmozfullscreenchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmozfullscreenchange: *mut nsIAtom;
- #[link_name = "?onmozfullscreenerror@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmozfullscreenerror@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmozfullscreenerror: *mut nsIAtom;
- #[link_name = "?onmozkeydownonplugin@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmozkeydownonplugin@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmozkeydownonplugin: *mut nsIAtom;
- #[link_name = "?onmozkeyuponplugin@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmozkeyuponplugin@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmozkeyuponplugin: *mut nsIAtom;
- #[link_name = "?onmozpointerlockchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmozpointerlockchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmozpointerlockchange: *mut nsIAtom;
- #[link_name = "?onmozpointerlockerror@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmozpointerlockerror@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmozpointerlockerror: *mut nsIAtom;
- #[link_name = "?onmoztimechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmoztimechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmoztimechange: *mut nsIAtom;
- #[link_name = "?onMozMousePixelScroll@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozMousePixelScroll@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozMousePixelScroll: *mut nsIAtom;
- #[link_name = "?onMozScrolledAreaChanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozScrolledAreaChanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozScrolledAreaChanged: *mut nsIAtom;
- #[link_name = "?onmoznetworkupload@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmoznetworkupload@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmoznetworkupload: *mut nsIAtom;
- #[link_name = "?onmoznetworkdownload@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmoznetworkdownload@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmoznetworkdownload: *mut nsIAtom;
- #[link_name = "?onmapfolderlistingreq@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmapfolderlistingreq@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmapfolderlistingreq: *mut nsIAtom;
- #[link_name = "?onmapmessageslistingreq@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmapmessageslistingreq@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmapmessageslistingreq: *mut nsIAtom;
- #[link_name = "?onmapgetmessagereq@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmapgetmessagereq@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmapgetmessagereq: *mut nsIAtom;
- #[link_name = "?onmapsetmessagestatusreq@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmapsetmessagestatusreq@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmapsetmessagestatusreq: *mut nsIAtom;
- #[link_name = "?onmapsendmessagereq@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmapsendmessagereq@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmapsendmessagereq: *mut nsIAtom;
- #[link_name = "?onmapmessageupdatereq@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmapmessageupdatereq@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmapmessageupdatereq: *mut nsIAtom;
- #[link_name = "?onnewrdsgroup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onnewrdsgroup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onnewrdsgroup: *mut nsIAtom;
- #[link_name = "?onnotificationclick@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onnotificationclick@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onnotificationclick: *mut nsIAtom;
- #[link_name = "?onnotificationclose@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onnotificationclose@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onnotificationclose: *mut nsIAtom;
- #[link_name = "?onnoupdate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onnoupdate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onnoupdate: *mut nsIAtom;
- #[link_name = "?onobexpasswordreq@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onobexpasswordreq@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onobexpasswordreq: *mut nsIAtom;
- #[link_name = "?onobsolete@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onobsolete@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onobsolete: *mut nsIAtom;
- #[link_name = "?ononline@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ononline@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ononline: *mut nsIAtom;
- #[link_name = "?onoffline@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onoffline@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onoffline: *mut nsIAtom;
- #[link_name = "?onopen@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onopen@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onopen: *mut nsIAtom;
- #[link_name = "?onorientationchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onorientationchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onorientationchange: *mut nsIAtom;
- #[link_name = "?onotastatuschange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onotastatuschange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onotastatuschange: *mut nsIAtom;
- #[link_name = "?onoverflow@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onoverflow@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onoverflow: *mut nsIAtom;
- #[link_name = "?onoverflowchanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onoverflowchanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onoverflowchanged: *mut nsIAtom;
- #[link_name = "?onpagehide@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpagehide@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpagehide: *mut nsIAtom;
- #[link_name = "?onpageshow@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpageshow@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpageshow: *mut nsIAtom;
- #[link_name = "?onpaint@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpaint@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpaint: *mut nsIAtom;
- #[link_name = "?onpairingaborted@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpairingaborted@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpairingaborted: *mut nsIAtom;
- #[link_name = "?onpairingconfirmationreq@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpairingconfirmationreq@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpairingconfirmationreq: *mut nsIAtom;
- #[link_name = "?onpairingconsentreq@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpairingconsentreq@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpairingconsentreq: *mut nsIAtom;
- #[link_name = "?onpaste@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpaste@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpaste: *mut nsIAtom;
- #[link_name = "?onpendingchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpendingchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpendingchange: *mut nsIAtom;
- #[link_name = "?onpichange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpichange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpichange: *mut nsIAtom;
- #[link_name = "?onpicture@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpicture@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpicture: *mut nsIAtom;
- #[link_name = "?onpointerlockchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpointerlockchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpointerlockchange: *mut nsIAtom;
- #[link_name = "?onpointerlockerror@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpointerlockerror@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpointerlockerror: *mut nsIAtom;
- #[link_name = "?onpopuphidden@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpopuphidden@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpopuphidden: *mut nsIAtom;
- #[link_name = "?onpopuphiding@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpopuphiding@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpopuphiding: *mut nsIAtom;
- #[link_name = "?onpopupshowing@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpopupshowing@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpopupshowing: *mut nsIAtom;
- #[link_name = "?onpopupshown@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpopupshown@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpopupshown: *mut nsIAtom;
- #[link_name = "?onposter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onposter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onposter: *mut nsIAtom;
- #[link_name = "?onpreviewstatechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpreviewstatechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpreviewstatechange: *mut nsIAtom;
- #[link_name = "?onpullphonebookreq@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpullphonebookreq@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpullphonebookreq: *mut nsIAtom;
- #[link_name = "?onpullvcardentryreq@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpullvcardentryreq@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpullvcardentryreq: *mut nsIAtom;
- #[link_name = "?onpullvcardlistingreq@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpullvcardlistingreq@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpullvcardlistingreq: *mut nsIAtom;
- #[link_name = "?onpush@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpush@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpush: *mut nsIAtom;
- #[link_name = "?onpushsubscriptionchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpushsubscriptionchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpushsubscriptionchange: *mut nsIAtom;
- #[link_name = "?onpschange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpschange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpschange: *mut nsIAtom;
- #[link_name = "?onptychange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onptychange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onptychange: *mut nsIAtom;
- #[link_name = "?onradiostatechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onradiostatechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onradiostatechange: *mut nsIAtom;
- #[link_name = "?onrdsdisabled@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onrdsdisabled@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onrdsdisabled: *mut nsIAtom;
- #[link_name = "?onrdsenabled@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onrdsenabled@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onrdsenabled: *mut nsIAtom;
- #[link_name = "?onreaderror@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onreaderror@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onreaderror: *mut nsIAtom;
- #[link_name = "?onreadsuccess@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onreadsuccess@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onreadsuccess: *mut nsIAtom;
- #[link_name = "?onready@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onready@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onready: *mut nsIAtom;
- #[link_name = "?onreadystatechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onreadystatechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onreadystatechange: *mut nsIAtom;
- #[link_name = "?onreceived@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onreceived@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onreceived: *mut nsIAtom;
- #[link_name = "?onrecorderstatechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onrecorderstatechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onrecorderstatechange: *mut nsIAtom;
- #[link_name = "?onremoteheld@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onremoteheld@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onremoteheld: *mut nsIAtom;
- #[link_name = "?onremoteresumed@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onremoteresumed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onremoteresumed: *mut nsIAtom;
- #[link_name = "?onresourcetimingbufferfull@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onresourcetimingbufferfull@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onresourcetimingbufferfull: *mut nsIAtom;
- #[link_name = "?onretrieving@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onretrieving@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onretrieving: *mut nsIAtom;
- #[link_name = "?onRequest@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onRequest@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onRequest: *mut nsIAtom;
- #[link_name = "?onrequestmediaplaystatus@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onrequestmediaplaystatus@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onrequestmediaplaystatus: *mut nsIAtom;
- #[link_name = "?onreset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onreset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onreset: *mut nsIAtom;
- #[link_name = "?onresuming@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onresuming@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onresuming: *mut nsIAtom;
- #[link_name = "?onresize@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onresize@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onresize: *mut nsIAtom;
- #[link_name = "?onrtchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onrtchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onrtchange: *mut nsIAtom;
- #[link_name = "?onscanningstatechanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onscanningstatechanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onscanningstatechanged: *mut nsIAtom;
- #[link_name = "?onscostatuschanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onscostatuschanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onscostatuschanged: *mut nsIAtom;
- #[link_name = "?onscroll@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onscroll@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onscroll: *mut nsIAtom;
- #[link_name = "?onselect@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onselect@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onselect: *mut nsIAtom;
- #[link_name = "?onselectionchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onselectionchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onselectionchange: *mut nsIAtom;
- #[link_name = "?onselectstart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onselectstart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onselectstart: *mut nsIAtom;
- #[link_name = "?onsending@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onsending@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onsending: *mut nsIAtom;
- #[link_name = "?onsent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onsent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onsent: *mut nsIAtom;
- #[link_name = "?onset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onset: *mut nsIAtom;
- #[link_name = "?onshow@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onshow@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onshow: *mut nsIAtom;
- #[link_name = "?onshutter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onshutter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onshutter: *mut nsIAtom;
- #[link_name = "?onstatechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onstatechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onstatechange: *mut nsIAtom;
- #[link_name = "?onstatuschanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onstatuschanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onstatuschanged: *mut nsIAtom;
- #[link_name = "?onstkcommand@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onstkcommand@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onstkcommand: *mut nsIAtom;
- #[link_name = "?onstksessionend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onstksessionend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onstksessionend: *mut nsIAtom;
- #[link_name = "?onstorage@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onstorage@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onstorage: *mut nsIAtom;
- #[link_name = "?onstorageareachanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onstorageareachanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onstorageareachanged: *mut nsIAtom;
- #[link_name = "?onsubmit@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onsubmit@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onsubmit: *mut nsIAtom;
- #[link_name = "?onsuccess@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onsuccess@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onsuccess: *mut nsIAtom;
- #[link_name = "?ontypechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ontypechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ontypechange: *mut nsIAtom;
- #[link_name = "?onterminate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onterminate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onterminate: *mut nsIAtom;
- #[link_name = "?ontext@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ontext@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ontext: *mut nsIAtom;
- #[link_name = "?ontoggle@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ontoggle@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ontoggle: *mut nsIAtom;
- #[link_name = "?ontouchstart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ontouchstart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ontouchstart: *mut nsIAtom;
- #[link_name = "?ontouchend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ontouchend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ontouchend: *mut nsIAtom;
- #[link_name = "?ontouchmove@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ontouchmove@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ontouchmove: *mut nsIAtom;
- #[link_name = "?ontouchcancel@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ontouchcancel@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ontouchcancel: *mut nsIAtom;
- #[link_name = "?ontransitionend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ontransitionend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ontransitionend: *mut nsIAtom;
- #[link_name = "?onunderflow@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onunderflow@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onunderflow: *mut nsIAtom;
- #[link_name = "?onunload@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onunload@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onunload: *mut nsIAtom;
- #[link_name = "?onupdatefound@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onupdatefound@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onupdatefound: *mut nsIAtom;
- #[link_name = "?onupdateready@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onupdateready@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onupdateready: *mut nsIAtom;
- #[link_name = "?onupgradeneeded@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onupgradeneeded@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onupgradeneeded: *mut nsIAtom;
- #[link_name = "?onussdreceived@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onussdreceived@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onussdreceived: *mut nsIAtom;
- #[link_name = "?onversionchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onversionchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onversionchange: *mut nsIAtom;
- #[link_name = "?onvoicechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onvoicechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onvoicechange: *mut nsIAtom;
- #[link_name = "?onvoiceschanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onvoiceschanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onvoiceschanged: *mut nsIAtom;
- #[link_name = "?onvrdisplayconnect@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onvrdisplayconnect@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onvrdisplayconnect: *mut nsIAtom;
- #[link_name = "?onvrdisplaydisconnect@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onvrdisplaydisconnect@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onvrdisplaydisconnect: *mut nsIAtom;
- #[link_name = "?onvrdisplaypresentchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onvrdisplaypresentchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onvrdisplaypresentchange: *mut nsIAtom;
- #[link_name = "?onwebkitAnimationEnd@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onwebkitAnimationEnd@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onwebkitAnimationEnd: *mut nsIAtom;
- #[link_name = "?onwebkitAnimationIteration@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onwebkitAnimationIteration@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onwebkitAnimationIteration: *mut nsIAtom;
- #[link_name = "?onwebkitAnimationStart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onwebkitAnimationStart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onwebkitAnimationStart: *mut nsIAtom;
- #[link_name = "?onwebkitTransitionEnd@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onwebkitTransitionEnd@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onwebkitTransitionEnd: *mut nsIAtom;
- #[link_name = "?onwebkitanimationend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onwebkitanimationend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onwebkitanimationend: *mut nsIAtom;
- #[link_name = "?onwebkitanimationiteration@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onwebkitanimationiteration@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onwebkitanimationiteration: *mut nsIAtom;
- #[link_name = "?onwebkitanimationstart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onwebkitanimationstart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onwebkitanimationstart: *mut nsIAtom;
- #[link_name = "?onwebkittransitionend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onwebkittransitionend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onwebkittransitionend: *mut nsIAtom;
- #[link_name = "?onwebsocket@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onwebsocket@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onwebsocket: *mut nsIAtom;
- #[link_name = "?onwheel@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onwheel@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onwheel: *mut nsIAtom;
- #[link_name = "?open@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?open@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_open: *mut nsIAtom;
- #[link_name = "?optgroup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?optgroup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_optgroup: *mut nsIAtom;
- #[link_name = "?optimum@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?optimum@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_optimum: *mut nsIAtom;
- #[link_name = "?option@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?option@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_option: *mut nsIAtom;
- #[link_name = "?_or@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_or@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__or: *mut nsIAtom;
- #[link_name = "?order@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?order@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_order: *mut nsIAtom;
- #[link_name = "?ordinal@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ordinal@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ordinal: *mut nsIAtom;
- #[link_name = "?orient@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?orient@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_orient: *mut nsIAtom;
- #[link_name = "?orientation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?orientation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_orientation: *mut nsIAtom;
- #[link_name = "?otherwise@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?otherwise@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_otherwise: *mut nsIAtom;
- #[link_name = "?output@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?output@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_output: *mut nsIAtom;
- #[link_name = "?overflow@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?overflow@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_overflow: *mut nsIAtom;
- #[link_name = "?overflowchanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?overflowchanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_overflowchanged: *mut nsIAtom;
- #[link_name = "?overlay@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?overlay@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_overlay: *mut nsIAtom;
- #[link_name = "?overlap@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?overlap@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_overlap: *mut nsIAtom;
- #[link_name = "?p@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?p@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_p: *mut nsIAtom;
- #[link_name = "?pack@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pack@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pack: *mut nsIAtom;
- #[link_name = "?page@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?page@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_page: *mut nsIAtom;
- #[link_name = "?pageincrement@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pageincrement@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pageincrement: *mut nsIAtom;
- #[link_name = "?pagex@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pagex@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pagex: *mut nsIAtom;
- #[link_name = "?pagey@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pagey@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pagey: *mut nsIAtom;
- #[link_name = "?paint_order@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?paint_order@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_paint_order: *mut nsIAtom;
- #[link_name = "?palettename@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?palettename@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_palettename: *mut nsIAtom;
- #[link_name = "?panel@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?panel@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_panel: *mut nsIAtom;
- #[link_name = "?param@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?param@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_param: *mut nsIAtom;
- #[link_name = "?parameter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?parameter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_parameter: *mut nsIAtom;
- #[link_name = "?parent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?parent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_parent: *mut nsIAtom;
- #[link_name = "?parentapp@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?parentapp@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_parentapp: *mut nsIAtom;
- #[link_name = "?parentfocused@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?parentfocused@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_parentfocused: *mut nsIAtom;
- #[link_name = "?parsetype@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?parsetype@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_parsetype: *mut nsIAtom;
- #[link_name = "?password@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?password@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_password: *mut nsIAtom;
- #[link_name = "?pattern@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pattern@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pattern: *mut nsIAtom;
- #[link_name = "?patternSeparator@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?patternSeparator@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_patternSeparator: *mut nsIAtom;
- #[link_name = "?perMille@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?perMille@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_perMille: *mut nsIAtom;
- #[link_name = "?percent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?percent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_percent: *mut nsIAtom;
- #[link_name = "?persist@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?persist@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_persist: *mut nsIAtom;
- #[link_name = "?phase@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?phase@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_phase: *mut nsIAtom;
- #[link_name = "?picture@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?picture@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_picture: *mut nsIAtom;
- #[link_name = "?ping@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ping@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ping: *mut nsIAtom;
- #[link_name = "?pinned@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pinned@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pinned: *mut nsIAtom;
- #[link_name = "?placeholder@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?placeholder@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_placeholder: *mut nsIAtom;
- #[link_name = "?plaintext@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?plaintext@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_plaintext: *mut nsIAtom;
- #[link_name = "?playbackrate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?playbackrate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_playbackrate: *mut nsIAtom;
- #[link_name = "?pointSize@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pointSize@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pointSize: *mut nsIAtom;
- #[link_name = "?pointerlockchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pointerlockchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pointerlockchange: *mut nsIAtom;
- #[link_name = "?pointerlockerror@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pointerlockerror@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pointerlockerror: *mut nsIAtom;
- #[link_name = "?poly@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?poly@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_poly: *mut nsIAtom;
- #[link_name = "?polygon@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?polygon@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_polygon: *mut nsIAtom;
- #[link_name = "?popup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?popup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_popup: *mut nsIAtom;
- #[link_name = "?popupalign@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?popupalign@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_popupalign: *mut nsIAtom;
- #[link_name = "?popupanchor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?popupanchor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_popupanchor: *mut nsIAtom;
- #[link_name = "?popupgroup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?popupgroup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_popupgroup: *mut nsIAtom;
- #[link_name = "?popuphidden@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?popuphidden@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_popuphidden: *mut nsIAtom;
- #[link_name = "?popuphiding@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?popuphiding@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_popuphiding: *mut nsIAtom;
- #[link_name = "?popupset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?popupset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_popupset: *mut nsIAtom;
- #[link_name = "?popupshowing@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?popupshowing@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_popupshowing: *mut nsIAtom;
- #[link_name = "?popupshown@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?popupshown@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_popupshown: *mut nsIAtom;
- #[link_name = "?popupsinherittooltip@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?popupsinherittooltip@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_popupsinherittooltip: *mut nsIAtom;
- #[link_name = "?position@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?position@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_position: *mut nsIAtom;
- #[link_name = "?poster@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?poster@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_poster: *mut nsIAtom;
- #[link_name = "?pre@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pre@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pre: *mut nsIAtom;
- #[link_name = "?preceding@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?preceding@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_preceding: *mut nsIAtom;
- #[link_name = "?precedingSibling@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?precedingSibling@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_precedingSibling: *mut nsIAtom;
- #[link_name = "?predicate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?predicate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_predicate: *mut nsIAtom;
- #[link_name = "?prefix@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?prefix@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_prefix: *mut nsIAtom;
- #[link_name = "?preload@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?preload@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_preload: *mut nsIAtom;
- #[link_name = "?prerendered@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?prerendered@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_prerendered: *mut nsIAtom;
- #[link_name = "?mozpresentation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozpresentation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozpresentation: *mut nsIAtom;
- #[link_name = "?preserve@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?preserve@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_preserve: *mut nsIAtom;
- #[link_name = "?preserveSpace@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?preserveSpace@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_preserveSpace: *mut nsIAtom;
- #[link_name = "?preventdefault@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?preventdefault@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_preventdefault: *mut nsIAtom;
- #[link_name = "?primary@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?primary@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_primary: *mut nsIAtom;
- #[link_name = "?print@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?print@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_print: *mut nsIAtom;
- #[link_name = "?priority@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?priority@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_priority: *mut nsIAtom;
- #[link_name = "?processingInstruction@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?processingInstruction@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_processingInstruction: *mut nsIAtom;
- #[link_name = "?profile@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?profile@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_profile: *mut nsIAtom;
- #[link_name = "?progress@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?progress@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_progress: *mut nsIAtom;
- #[link_name = "?progressmeter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?progressmeter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_progressmeter: *mut nsIAtom;
- #[link_name = "?progressNormal@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?progressNormal@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_progressNormal: *mut nsIAtom;
- #[link_name = "?progressUndetermined@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?progressUndetermined@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_progressUndetermined: *mut nsIAtom;
- #[link_name = "?projection@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?projection@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_projection: *mut nsIAtom;
- #[link_name = "?prompt@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?prompt@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_prompt: *mut nsIAtom;
- #[link_name = "?propagate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?propagate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_propagate: *mut nsIAtom;
- #[link_name = "?properties@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?properties@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_properties: *mut nsIAtom;
- #[link_name = "?property@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?property@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_property: *mut nsIAtom;
- #[link_name = "?pubdate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pubdate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pubdate: *mut nsIAtom;
- #[link_name = "?q@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?q@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_q: *mut nsIAtom;
- #[link_name = "?query@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?query@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_query: *mut nsIAtom;
- #[link_name = "?queryset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?queryset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_queryset: *mut nsIAtom;
- #[link_name = "?querytype@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?querytype@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_querytype: *mut nsIAtom;
- #[link_name = "?radio@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?radio@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_radio: *mut nsIAtom;
- #[link_name = "?radiogroup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?radiogroup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_radiogroup: *mut nsIAtom;
- #[link_name = "?range@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?range@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_range: *mut nsIAtom;
- #[link_name = "?readonly@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?readonly@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_readonly: *mut nsIAtom;
- #[link_name = "?rect@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rect@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rect: *mut nsIAtom;
- #[link_name = "?rectangle@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rectangle@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rectangle: *mut nsIAtom;
- #[link_name = "?ref@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ref@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ref: *mut nsIAtom;
- #[link_name = "?refresh@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?refresh@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_refresh: *mut nsIAtom;
- #[link_name = "?rel@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rel@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rel: *mut nsIAtom;
- #[link_name = "?onreloadpage@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onreloadpage@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onreloadpage: *mut nsIAtom;
- #[link_name = "?rem@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rem@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rem: *mut nsIAtom;
- #[link_name = "?removeelement@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?removeelement@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_removeelement: *mut nsIAtom;
- #[link_name = "?renderingobserverlist@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?renderingobserverlist@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_renderingobserverlist: *mut nsIAtom;
- #[link_name = "?repeat@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?repeat@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_repeat: *mut nsIAtom;
- #[link_name = "?replace@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?replace@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_replace: *mut nsIAtom;
- #[link_name = "?required@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?required@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_required: *mut nsIAtom;
- #[link_name = "?reserved@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?reserved@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_reserved: *mut nsIAtom;
- #[link_name = "?reset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?reset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_reset: *mut nsIAtom;
- #[link_name = "?resizeafter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?resizeafter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_resizeafter: *mut nsIAtom;
- #[link_name = "?resizebefore@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?resizebefore@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_resizebefore: *mut nsIAtom;
- #[link_name = "?resizer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?resizer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_resizer: *mut nsIAtom;
- #[link_name = "?resolution@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?resolution@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_resolution: *mut nsIAtom;
- #[link_name = "?resource@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?resource@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_resource: *mut nsIAtom;
- #[link_name = "?resources@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?resources@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_resources: *mut nsIAtom;
- #[link_name = "?result@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?result@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_result: *mut nsIAtom;
- #[link_name = "?resultPrefix@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?resultPrefix@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_resultPrefix: *mut nsIAtom;
- #[link_name = "?retargetdocumentfocus@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?retargetdocumentfocus@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_retargetdocumentfocus: *mut nsIAtom;
- #[link_name = "?rev@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rev@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rev: *mut nsIAtom;
- #[link_name = "?reverse@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?reverse@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_reverse: *mut nsIAtom;
- #[link_name = "?reversed@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?reversed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_reversed: *mut nsIAtom;
- #[link_name = "?richlistbox@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?richlistbox@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_richlistbox: *mut nsIAtom;
- #[link_name = "?richlistitem@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?richlistitem@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_richlistitem: *mut nsIAtom;
- #[link_name = "?right@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?right@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_right: *mut nsIAtom;
- #[link_name = "?rightmargin@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rightmargin@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rightmargin: *mut nsIAtom;
- #[link_name = "?rightpadding@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rightpadding@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rightpadding: *mut nsIAtom;
- #[link_name = "?role@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?role@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_role: *mut nsIAtom;
- #[link_name = "?rolluponmousewheel@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rolluponmousewheel@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rolluponmousewheel: *mut nsIAtom;
- #[link_name = "?round@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?round@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_round: *mut nsIAtom;
- #[link_name = "?row@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?row@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_row: *mut nsIAtom;
- #[link_name = "?rows@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rows@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rows: *mut nsIAtom;
- #[link_name = "?rowspan@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rowspan@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rowspan: *mut nsIAtom;
- #[link_name = "?rb@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rb@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rb: *mut nsIAtom;
- #[link_name = "?rp@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rp@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rp: *mut nsIAtom;
- #[link_name = "?rt@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rt@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rt: *mut nsIAtom;
- #[link_name = "?rtc@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rtc@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rtc: *mut nsIAtom;
- #[link_name = "?rtl@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rtl@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rtl: *mut nsIAtom;
- #[link_name = "?ruby@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ruby@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ruby: *mut nsIAtom;
- #[link_name = "?rubyBase@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rubyBase@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rubyBase: *mut nsIAtom;
- #[link_name = "?rubyBaseContainer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rubyBaseContainer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rubyBaseContainer: *mut nsIAtom;
- #[link_name = "?rubyText@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rubyText@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rubyText: *mut nsIAtom;
- #[link_name = "?rubyTextContainer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rubyTextContainer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rubyTextContainer: *mut nsIAtom;
- #[link_name = "?rule@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rule@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rule: *mut nsIAtom;
- #[link_name = "?rules@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rules@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rules: *mut nsIAtom;
- #[link_name = "?s@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?s@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_s: *mut nsIAtom;
- #[link_name = "?samp@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?samp@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_samp: *mut nsIAtom;
- #[link_name = "?sandbox@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sandbox@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sandbox: *mut nsIAtom;
- #[link_name = "?sbattr@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sbattr@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sbattr: *mut nsIAtom;
- #[link_name = "?scale@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scale@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scale: *mut nsIAtom;
- #[link_name = "?scan@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scan@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scan: *mut nsIAtom;
- #[link_name = "?scheme@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scheme@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scheme: *mut nsIAtom;
- #[link_name = "?scope@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scope@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scope: *mut nsIAtom;
- #[link_name = "?scoped@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scoped@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scoped: *mut nsIAtom;
- #[link_name = "?screen@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?screen@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_screen: *mut nsIAtom;
- #[link_name = "?screenX@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?screenX@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_screenX: *mut nsIAtom;
- #[link_name = "?screenY@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?screenY@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_screenY: *mut nsIAtom;
- #[link_name = "?script@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?script@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_script: *mut nsIAtom;
- #[link_name = "?scriptEnabledBeforePrintOrPreview@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scriptEnabledBeforePrintOrPreview@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scriptEnabledBeforePrintOrPreview: *mut nsIAtom;
- #[link_name = "?scrollbar@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scrollbar@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scrollbar: *mut nsIAtom;
- #[link_name = "?scrollbarbutton@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scrollbarbutton@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scrollbarbutton: *mut nsIAtom;
- #[link_name = "?scrollbarDownBottom@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scrollbarDownBottom@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scrollbarDownBottom: *mut nsIAtom;
- #[link_name = "?scrollbarDownTop@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scrollbarDownTop@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scrollbarDownTop: *mut nsIAtom;
- #[link_name = "?scrollbarUpBottom@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scrollbarUpBottom@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scrollbarUpBottom: *mut nsIAtom;
- #[link_name = "?scrollbarUpTop@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scrollbarUpTop@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scrollbarUpTop: *mut nsIAtom;
- #[link_name = "?scrollbox@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scrollbox@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scrollbox: *mut nsIAtom;
- #[link_name = "?scrollcorner@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scrollcorner@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scrollcorner: *mut nsIAtom;
- #[link_name = "?scrolling@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scrolling@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scrolling: *mut nsIAtom;
- #[link_name = "?section@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?section@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_section: *mut nsIAtom;
- #[link_name = "?select@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?select@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_select: *mut nsIAtom;
- #[link_name = "?selectable@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?selectable@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_selectable: *mut nsIAtom;
- #[link_name = "?selected@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?selected@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_selected: *mut nsIAtom;
- #[link_name = "?selectedIndex@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?selectedIndex@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_selectedIndex: *mut nsIAtom;
- #[link_name = "?selectedindex@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?selectedindex@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_selectedindex: *mut nsIAtom;
- #[link_name = "?self@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?self@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_self: *mut nsIAtom;
- #[link_name = "?seltype@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?seltype@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_seltype: *mut nsIAtom;
- #[link_name = "?setcookie@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?setcookie@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_setcookie: *mut nsIAtom;
- #[link_name = "?setter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?setter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_setter: *mut nsIAtom;
- #[link_name = "?shape@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?shape@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_shape: *mut nsIAtom;
- #[link_name = "?show@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?show@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_show: *mut nsIAtom;
- #[link_name = "?showcaret@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?showcaret@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_showcaret: *mut nsIAtom;
- #[link_name = "?showresizer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?showresizer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_showresizer: *mut nsIAtom;
- #[link_name = "?simple@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?simple@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_simple: *mut nsIAtom;
- #[link_name = "?single@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?single@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_single: *mut nsIAtom;
- #[link_name = "?size@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?size@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_size: *mut nsIAtom;
- #[link_name = "?sizes@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sizes@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sizes: *mut nsIAtom;
- #[link_name = "?sizemode@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sizemode@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sizemode: *mut nsIAtom;
- #[link_name = "?sizetopopup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sizetopopup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sizetopopup: *mut nsIAtom;
- #[link_name = "?slider@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?slider@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_slider: *mut nsIAtom;
- #[link_name = "?small@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?small@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_small: *mut nsIAtom;
- #[link_name = "?smooth@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?smooth@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_smooth: *mut nsIAtom;
- #[link_name = "?snap@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?snap@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_snap: *mut nsIAtom;
- #[link_name = "?sort@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sort@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sort: *mut nsIAtom;
- #[link_name = "?sortActive@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sortActive@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sortActive: *mut nsIAtom;
- #[link_name = "?sortDirection@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sortDirection@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sortDirection: *mut nsIAtom;
- #[link_name = "?sorted@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sorted@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sorted: *mut nsIAtom;
- #[link_name = "?sorthints@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sorthints@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sorthints: *mut nsIAtom;
- #[link_name = "?sortLocked@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sortLocked@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sortLocked: *mut nsIAtom;
- #[link_name = "?sortResource@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sortResource@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sortResource: *mut nsIAtom;
- #[link_name = "?sortResource2@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sortResource2@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sortResource2: *mut nsIAtom;
- #[link_name = "?sortSeparators@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sortSeparators@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sortSeparators: *mut nsIAtom;
- #[link_name = "?sortStaticsLast@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sortStaticsLast@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sortStaticsLast: *mut nsIAtom;
- #[link_name = "?source@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?source@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_source: *mut nsIAtom;
- #[link_name = "?space@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?space@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_space: *mut nsIAtom;
- #[link_name = "?spacer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?spacer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_spacer: *mut nsIAtom;
- #[link_name = "?span@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?span@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_span: *mut nsIAtom;
- #[link_name = "?spellcheck@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?spellcheck@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_spellcheck: *mut nsIAtom;
- #[link_name = "?spinner@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?spinner@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_spinner: *mut nsIAtom;
- #[link_name = "?split@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?split@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_split: *mut nsIAtom;
- #[link_name = "?splitmenu@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?splitmenu@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_splitmenu: *mut nsIAtom;
- #[link_name = "?splitter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?splitter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_splitter: *mut nsIAtom;
- #[link_name = "?spring@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?spring@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_spring: *mut nsIAtom;
- #[link_name = "?src@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?src@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_src: *mut nsIAtom;
- #[link_name = "?srcdoc@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?srcdoc@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_srcdoc: *mut nsIAtom;
- #[link_name = "?srclang@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?srclang@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_srclang: *mut nsIAtom;
- #[link_name = "?srcset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?srcset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_srcset: *mut nsIAtom;
- #[link_name = "?stack@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stack@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stack: *mut nsIAtom;
- #[link_name = "?standalone@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?standalone@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_standalone: *mut nsIAtom;
- #[link_name = "?standby@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?standby@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_standby: *mut nsIAtom;
- #[link_name = "?start@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?start@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_start: *mut nsIAtom;
- #[link_name = "?start_after@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?start_after@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_start_after: *mut nsIAtom;
- #[link_name = "?start_before@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?start_before@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_start_before: *mut nsIAtom;
- #[link_name = "?startsWith@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?startsWith@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_startsWith: *mut nsIAtom;
- #[link_name = "?state@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?state@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_state: *mut nsIAtom;
- #[link_name = "?statedatasource@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?statedatasource@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_statedatasource: *mut nsIAtom;
- #[link_name = "?staticHint@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?staticHint@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_staticHint: *mut nsIAtom;
- #[link_name = "?statusbar@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?statusbar@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_statusbar: *mut nsIAtom;
- #[link_name = "?statustext@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?statustext@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_statustext: *mut nsIAtom;
- #[link_name = "?step@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?step@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_step: *mut nsIAtom;
- #[link_name = "?stop@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stop@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stop: *mut nsIAtom;
- #[link_name = "?stretch@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stretch@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stretch: *mut nsIAtom;
- #[link_name = "?strike@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?strike@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_strike: *mut nsIAtom;
- #[link_name = "?string@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?string@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_string: *mut nsIAtom;
- #[link_name = "?stringLength@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stringLength@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stringLength: *mut nsIAtom;
- #[link_name = "?stripSpace@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stripSpace@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stripSpace: *mut nsIAtom;
- #[link_name = "?strong@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?strong@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_strong: *mut nsIAtom;
- #[link_name = "?style@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?style@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_style: *mut nsIAtom;
- #[link_name = "?stylesheet@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stylesheet@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stylesheet: *mut nsIAtom;
- #[link_name = "?stylesheetPrefix@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stylesheetPrefix@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stylesheetPrefix: *mut nsIAtom;
- #[link_name = "?subject@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?subject@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_subject: *mut nsIAtom;
- #[link_name = "?submit@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?submit@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_submit: *mut nsIAtom;
- #[link_name = "?substate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?substate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_substate: *mut nsIAtom;
- #[link_name = "?substring@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?substring@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_substring: *mut nsIAtom;
- #[link_name = "?substringAfter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?substringAfter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_substringAfter: *mut nsIAtom;
- #[link_name = "?substringBefore@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?substringBefore@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_substringBefore: *mut nsIAtom;
- #[link_name = "?sub@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sub@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sub: *mut nsIAtom;
- #[link_name = "?sum@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sum@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sum: *mut nsIAtom;
- #[link_name = "?sup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sup: *mut nsIAtom;
- #[link_name = "?summary@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?summary@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_summary: *mut nsIAtom;
- #[link_name = "?systemProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?systemProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_systemProperty: *mut nsIAtom;
- #[link_name = "?tab@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tab@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tab: *mut nsIAtom;
- #[link_name = "?tabbox@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tabbox@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tabbox: *mut nsIAtom;
- #[link_name = "?tabindex@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tabindex@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tabindex: *mut nsIAtom;
- #[link_name = "?table@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?table@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_table: *mut nsIAtom;
- #[link_name = "?tabpanel@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tabpanel@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tabpanel: *mut nsIAtom;
- #[link_name = "?tabpanels@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tabpanels@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tabpanels: *mut nsIAtom;
- #[link_name = "?tag@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tag@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tag: *mut nsIAtom;
- #[link_name = "?target@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?target@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_target: *mut nsIAtom;
- #[link_name = "?targets@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?targets@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_targets: *mut nsIAtom;
- #[link_name = "?tbody@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tbody@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tbody: *mut nsIAtom;
- #[link_name = "?td@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?td@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_td: *mut nsIAtom;
- #[link_name = "?_template@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_template@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__template: *mut nsIAtom;
- #[link_name = "?text_decoration@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?text_decoration@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_text_decoration: *mut nsIAtom;
- #[link_name = "?terminate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?terminate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_terminate: *mut nsIAtom;
- #[link_name = "?test@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?test@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_test: *mut nsIAtom;
- #[link_name = "?text@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?text@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_text: *mut nsIAtom;
- #[link_name = "?textAlign@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?textAlign@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_textAlign: *mut nsIAtom;
- #[link_name = "?textarea@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?textarea@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_textarea: *mut nsIAtom;
- #[link_name = "?textbox@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?textbox@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_textbox: *mut nsIAtom;
- #[link_name = "?textnode@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?textnode@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_textnode: *mut nsIAtom;
- #[link_name = "?textNodeDirectionalityMap@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?textNodeDirectionalityMap@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_textNodeDirectionalityMap: *mut nsIAtom;
- #[link_name = "?tfoot@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tfoot@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tfoot: *mut nsIAtom;
- #[link_name = "?th@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?th@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_th: *mut nsIAtom;
- #[link_name = "?thead@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?thead@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_thead: *mut nsIAtom;
- #[link_name = "?thumb@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?thumb@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_thumb: *mut nsIAtom;
- #[link_name = "?time@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?time@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_time: *mut nsIAtom;
- #[link_name = "?title@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?title@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_title: *mut nsIAtom;
- #[link_name = "?titlebar@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?titlebar@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_titlebar: *mut nsIAtom;
- #[link_name = "?titletip@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?titletip@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_titletip: *mut nsIAtom;
- #[link_name = "?toggled@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?toggled@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_toggled: *mut nsIAtom;
- #[link_name = "?token@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?token@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_token: *mut nsIAtom;
- #[link_name = "?tokenize@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tokenize@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tokenize: *mut nsIAtom;
- #[link_name = "?toolbar@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?toolbar@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_toolbar: *mut nsIAtom;
- #[link_name = "?toolbarbutton@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?toolbarbutton@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_toolbarbutton: *mut nsIAtom;
- #[link_name = "?toolbaritem@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?toolbaritem@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_toolbaritem: *mut nsIAtom;
- #[link_name = "?toolbox@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?toolbox@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_toolbox: *mut nsIAtom;
- #[link_name = "?tooltip@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tooltip@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tooltip: *mut nsIAtom;
- #[link_name = "?tooltiptext@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tooltiptext@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tooltiptext: *mut nsIAtom;
- #[link_name = "?top@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?top@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_top: *mut nsIAtom;
- #[link_name = "?topleft@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?topleft@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_topleft: *mut nsIAtom;
- #[link_name = "?topmargin@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?topmargin@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_topmargin: *mut nsIAtom;
- #[link_name = "?toppadding@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?toppadding@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_toppadding: *mut nsIAtom;
- #[link_name = "?topright@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?topright@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_topright: *mut nsIAtom;
- #[link_name = "?tr@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tr@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tr: *mut nsIAtom;
- #[link_name = "?track@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?track@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_track: *mut nsIAtom;
- #[link_name = "?trailing@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?trailing@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_trailing: *mut nsIAtom;
- #[link_name = "?transform@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?transform@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_transform: *mut nsIAtom;
- #[link_name = "?transform_3d@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?transform_3d@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_transform_3d: *mut nsIAtom;
- #[link_name = "?transformiix@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?transformiix@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_transformiix: *mut nsIAtom;
- #[link_name = "?translate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?translate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_translate: *mut nsIAtom;
- #[link_name = "?transparent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?transparent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_transparent: *mut nsIAtom;
- #[link_name = "?tree@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tree@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tree: *mut nsIAtom;
- #[link_name = "?treecell@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?treecell@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_treecell: *mut nsIAtom;
- #[link_name = "?treechildren@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?treechildren@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_treechildren: *mut nsIAtom;
- #[link_name = "?treecol@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?treecol@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_treecol: *mut nsIAtom;
- #[link_name = "?treecolpicker@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?treecolpicker@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_treecolpicker: *mut nsIAtom;
- #[link_name = "?treecols@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?treecols@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_treecols: *mut nsIAtom;
- #[link_name = "?treeitem@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?treeitem@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_treeitem: *mut nsIAtom;
- #[link_name = "?treerow@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?treerow@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_treerow: *mut nsIAtom;
- #[link_name = "?treeseparator@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?treeseparator@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_treeseparator: *mut nsIAtom;
- #[link_name = "?triple@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?triple@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_triple: *mut nsIAtom;
- #[link_name = "?_true@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_true@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__true: *mut nsIAtom;
- #[link_name = "?tt@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tt@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tt: *mut nsIAtom;
- #[link_name = "?tty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tty: *mut nsIAtom;
- #[link_name = "?tv@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tv@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tv: *mut nsIAtom;
- #[link_name = "?type@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?type@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_type: *mut nsIAtom;
- #[link_name = "?typemustmatch@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?typemustmatch@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_typemustmatch: *mut nsIAtom;
- #[link_name = "?u@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?u@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_u: *mut nsIAtom;
- #[link_name = "?ul@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ul@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ul: *mut nsIAtom;
- #[link_name = "?underflow@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?underflow@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_underflow: *mut nsIAtom;
- #[link_name = "?undetermined@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?undetermined@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_undetermined: *mut nsIAtom;
- #[link_name = "?undoscope@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?undoscope@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_undoscope: *mut nsIAtom;
- #[link_name = "?unload@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?unload@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_unload: *mut nsIAtom;
- #[link_name = "?unparsedEntityUri@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?unparsedEntityUri@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_unparsedEntityUri: *mut nsIAtom;
- #[link_name = "?upperFirst@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?upperFirst@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_upperFirst: *mut nsIAtom;
- #[link_name = "?uri@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?uri@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_uri: *mut nsIAtom;
- #[link_name = "?use@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?use@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_use: *mut nsIAtom;
- #[link_name = "?useAttributeSets@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?useAttributeSets@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_useAttributeSets: *mut nsIAtom;
- #[link_name = "?usemap@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?usemap@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_usemap: *mut nsIAtom;
- #[link_name = "?user_scalable@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?user_scalable@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_user_scalable: *mut nsIAtom;
- #[link_name = "?userInput@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?userInput@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_userInput: *mut nsIAtom;
- #[link_name = "?validate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?validate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_validate: *mut nsIAtom;
- #[link_name = "?valign@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?valign@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_valign: *mut nsIAtom;
- #[link_name = "?value@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?value@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_value: *mut nsIAtom;
- #[link_name = "?values@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?values@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_values: *mut nsIAtom;
- #[link_name = "?valueOf@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?valueOf@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_valueOf: *mut nsIAtom;
- #[link_name = "?valuetype@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?valuetype@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_valuetype: *mut nsIAtom;
- #[link_name = "?var@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?var@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_var: *mut nsIAtom;
- #[link_name = "?variable@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?variable@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_variable: *mut nsIAtom;
- #[link_name = "?vbox@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?vbox@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_vbox: *mut nsIAtom;
- #[link_name = "?vcard_name@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?vcard_name@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_vcard_name: *mut nsIAtom;
- #[link_name = "?vendor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?vendor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_vendor: *mut nsIAtom;
- #[link_name = "?vendorUrl@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?vendorUrl@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_vendorUrl: *mut nsIAtom;
- #[link_name = "?version@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?version@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_version: *mut nsIAtom;
- #[link_name = "?vert@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?vert@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_vert: *mut nsIAtom;
- #[link_name = "?vertical@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?vertical@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_vertical: *mut nsIAtom;
- #[link_name = "?audio@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?audio@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_audio: *mut nsIAtom;
- #[link_name = "?video@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?video@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_video: *mut nsIAtom;
- #[link_name = "?videocontrols@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?videocontrols@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_videocontrols: *mut nsIAtom;
- #[link_name = "?viewport@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?viewport@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_viewport: *mut nsIAtom;
- #[link_name = "?viewport_height@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?viewport_height@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_viewport_height: *mut nsIAtom;
- #[link_name = "?viewport_initial_scale@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?viewport_initial_scale@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_viewport_initial_scale: *mut nsIAtom;
- #[link_name = "?viewport_maximum_scale@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?viewport_maximum_scale@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_viewport_maximum_scale: *mut nsIAtom;
- #[link_name = "?viewport_minimum_scale@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?viewport_minimum_scale@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_viewport_minimum_scale: *mut nsIAtom;
- #[link_name = "?viewport_user_scalable@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?viewport_user_scalable@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_viewport_user_scalable: *mut nsIAtom;
- #[link_name = "?viewport_width@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?viewport_width@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_viewport_width: *mut nsIAtom;
- #[link_name = "?visibility@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?visibility@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_visibility: *mut nsIAtom;
- #[link_name = "?visuallyselected@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?visuallyselected@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_visuallyselected: *mut nsIAtom;
- #[link_name = "?vlink@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?vlink@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_vlink: *mut nsIAtom;
- #[link_name = "?vspace@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?vspace@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_vspace: *mut nsIAtom;
- #[link_name = "?wbr@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?wbr@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_wbr: *mut nsIAtom;
- #[link_name = "?webkitdirectory@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?webkitdirectory@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_webkitdirectory: *mut nsIAtom;
- #[link_name = "?when@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?when@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_when: *mut nsIAtom;
- #[link_name = "?where@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?where@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_where: *mut nsIAtom;
- #[link_name = "?widget@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?widget@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_widget: *mut nsIAtom;
- #[link_name = "?width@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?width@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_width: *mut nsIAtom;
- #[link_name = "?window@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?window@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_window: *mut nsIAtom;
- #[link_name = "?headerWindowTarget@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?headerWindowTarget@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_headerWindowTarget: *mut nsIAtom;
- #[link_name = "?windowtype@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?windowtype@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_windowtype: *mut nsIAtom;
- #[link_name = "?withParam@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?withParam@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_withParam: *mut nsIAtom;
- #[link_name = "?wizard@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?wizard@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_wizard: *mut nsIAtom;
- #[link_name = "?wrap@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?wrap@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_wrap: *mut nsIAtom;
- #[link_name = "?headerDNSPrefetchControl@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?headerDNSPrefetchControl@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_headerDNSPrefetchControl: *mut nsIAtom;
- #[link_name = "?headerCSP@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?headerCSP@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_headerCSP: *mut nsIAtom;
- #[link_name = "?headerCSPReportOnly@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?headerCSPReportOnly@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_headerCSPReportOnly: *mut nsIAtom;
- #[link_name = "?headerXFO@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?headerXFO@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_headerXFO: *mut nsIAtom;
- #[link_name = "?x_western@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_western@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_western: *mut nsIAtom;
- #[link_name = "?xml@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?xml@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_xml: *mut nsIAtom;
- #[link_name = "?xml_stylesheet@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?xml_stylesheet@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_xml_stylesheet: *mut nsIAtom;
- #[link_name = "?xmlns@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?xmlns@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_xmlns: *mut nsIAtom;
- #[link_name = "?xmp@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?xmp@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_xmp: *mut nsIAtom;
- #[link_name = "?xulcontentsgenerated@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?xulcontentsgenerated@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_xulcontentsgenerated: *mut nsIAtom;
- #[link_name = "?yes@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?yes@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_yes: *mut nsIAtom;
- #[link_name = "?z_index@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?z_index@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_z_index: *mut nsIAtom;
- #[link_name = "?zeroDigit@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?zeroDigit@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_zeroDigit: *mut nsIAtom;
- #[link_name = "?percentage@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?percentage@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_percentage: *mut nsIAtom;
- #[link_name = "?A@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?A@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_A: *mut nsIAtom;
- #[link_name = "?alignment_baseline@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?alignment_baseline@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_alignment_baseline: *mut nsIAtom;
- #[link_name = "?amplitude@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?amplitude@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_amplitude: *mut nsIAtom;
- #[link_name = "?animate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?animate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_animate: *mut nsIAtom;
- #[link_name = "?animateColor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?animateColor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_animateColor: *mut nsIAtom;
- #[link_name = "?animateMotion@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?animateMotion@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_animateMotion: *mut nsIAtom;
- #[link_name = "?animateTransform@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?animateTransform@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_animateTransform: *mut nsIAtom;
- #[link_name = "?arithmetic@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?arithmetic@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_arithmetic: *mut nsIAtom;
- #[link_name = "?atop@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?atop@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_atop: *mut nsIAtom;
- #[link_name = "?azimuth@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?azimuth@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_azimuth: *mut nsIAtom;
- #[link_name = "?B@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?B@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_B: *mut nsIAtom;
- #[link_name = "?backgroundColor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?backgroundColor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_backgroundColor: *mut nsIAtom;
- #[link_name = "?background_image@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?background_image@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_background_image: *mut nsIAtom;
- #[link_name = "?baseFrequency@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?baseFrequency@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_baseFrequency: *mut nsIAtom;
- #[link_name = "?baseline_shift@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?baseline_shift@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_baseline_shift: *mut nsIAtom;
- #[link_name = "?bias@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bias@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bias: *mut nsIAtom;
- #[link_name = "?caption_side@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?caption_side@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_caption_side: *mut nsIAtom;
- #[link_name = "?clip_path@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?clip_path@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_clip_path: *mut nsIAtom;
- #[link_name = "?clip_rule@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?clip_rule@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_clip_rule: *mut nsIAtom;
- #[link_name = "?clipPath@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?clipPath@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_clipPath: *mut nsIAtom;
- #[link_name = "?clipPathUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?clipPathUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_clipPathUnits: *mut nsIAtom;
- #[link_name = "?cm@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cm@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cm: *mut nsIAtom;
- #[link_name = "?colorBurn@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?colorBurn@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_colorBurn: *mut nsIAtom;
- #[link_name = "?colorDodge@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?colorDodge@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_colorDodge: *mut nsIAtom;
- #[link_name = "?colorInterpolation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?colorInterpolation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_colorInterpolation: *mut nsIAtom;
- #[link_name = "?colorInterpolationFilters@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?colorInterpolationFilters@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_colorInterpolationFilters: *mut nsIAtom;
- #[link_name = "?colorProfile@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?colorProfile@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_colorProfile: *mut nsIAtom;
- #[link_name = "?cursor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cursor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cursor: *mut nsIAtom;
- #[link_name = "?cx@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cx@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cx: *mut nsIAtom;
- #[link_name = "?cy@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cy@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cy: *mut nsIAtom;
- #[link_name = "?d@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?d@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_d: *mut nsIAtom;
- #[link_name = "?darken@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?darken@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_darken: *mut nsIAtom;
- #[link_name = "?defs@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?defs@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_defs: *mut nsIAtom;
- #[link_name = "?deg@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?deg@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_deg: *mut nsIAtom;
- #[link_name = "?desc@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?desc@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_desc: *mut nsIAtom;
- #[link_name = "?diffuseConstant@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?diffuseConstant@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_diffuseConstant: *mut nsIAtom;
- #[link_name = "?dilate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dilate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dilate: *mut nsIAtom;
- #[link_name = "?direction@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?direction@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_direction: *mut nsIAtom;
- #[link_name = "?disable@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?disable@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_disable: *mut nsIAtom;
- #[link_name = "?discrete@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?discrete@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_discrete: *mut nsIAtom;
- #[link_name = "?divisor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?divisor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_divisor: *mut nsIAtom;
- #[link_name = "?dominant_baseline@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dominant_baseline@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dominant_baseline: *mut nsIAtom;
- #[link_name = "?duplicate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?duplicate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_duplicate: *mut nsIAtom;
- #[link_name = "?dx@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dx@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dx: *mut nsIAtom;
- #[link_name = "?dy@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dy@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dy: *mut nsIAtom;
- #[link_name = "?edgeMode@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?edgeMode@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_edgeMode: *mut nsIAtom;
- #[link_name = "?ellipse@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ellipse@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ellipse: *mut nsIAtom;
- #[link_name = "?elevation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?elevation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_elevation: *mut nsIAtom;
- #[link_name = "?erode@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?erode@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_erode: *mut nsIAtom;
- #[link_name = "?ex@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ex@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ex: *mut nsIAtom;
- #[link_name = "?exact@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?exact@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_exact: *mut nsIAtom;
- #[link_name = "?exclusion@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?exclusion@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_exclusion: *mut nsIAtom;
- #[link_name = "?exponent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?exponent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_exponent: *mut nsIAtom;
- #[link_name = "?feBlend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feBlend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feBlend: *mut nsIAtom;
- #[link_name = "?feColorMatrix@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feColorMatrix@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feColorMatrix: *mut nsIAtom;
- #[link_name = "?feComponentTransfer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feComponentTransfer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feComponentTransfer: *mut nsIAtom;
- #[link_name = "?feComposite@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feComposite@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feComposite: *mut nsIAtom;
- #[link_name = "?feConvolveMatrix@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feConvolveMatrix@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feConvolveMatrix: *mut nsIAtom;
- #[link_name = "?feDiffuseLighting@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feDiffuseLighting@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feDiffuseLighting: *mut nsIAtom;
- #[link_name = "?feDisplacementMap@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feDisplacementMap@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feDisplacementMap: *mut nsIAtom;
- #[link_name = "?feDistantLight@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feDistantLight@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feDistantLight: *mut nsIAtom;
- #[link_name = "?feDropShadow@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feDropShadow@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feDropShadow: *mut nsIAtom;
- #[link_name = "?feFlood@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feFlood@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feFlood: *mut nsIAtom;
- #[link_name = "?feFuncA@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feFuncA@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feFuncA: *mut nsIAtom;
- #[link_name = "?feFuncB@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feFuncB@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feFuncB: *mut nsIAtom;
- #[link_name = "?feFuncG@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feFuncG@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feFuncG: *mut nsIAtom;
- #[link_name = "?feFuncR@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feFuncR@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feFuncR: *mut nsIAtom;
- #[link_name = "?feGaussianBlur@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feGaussianBlur@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feGaussianBlur: *mut nsIAtom;
- #[link_name = "?feImage@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feImage@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feImage: *mut nsIAtom;
- #[link_name = "?feMerge@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feMerge@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feMerge: *mut nsIAtom;
- #[link_name = "?feMergeNode@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feMergeNode@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feMergeNode: *mut nsIAtom;
- #[link_name = "?feMorphology@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feMorphology@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feMorphology: *mut nsIAtom;
- #[link_name = "?feOffset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feOffset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feOffset: *mut nsIAtom;
- #[link_name = "?fePointLight@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fePointLight@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fePointLight: *mut nsIAtom;
- #[link_name = "?feSpecularLighting@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feSpecularLighting@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feSpecularLighting: *mut nsIAtom;
- #[link_name = "?feSpotLight@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feSpotLight@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feSpotLight: *mut nsIAtom;
- #[link_name = "?feTile@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feTile@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feTile: *mut nsIAtom;
- #[link_name = "?feTurbulence@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feTurbulence@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feTurbulence: *mut nsIAtom;
- #[link_name = "?fill@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fill@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fill: *mut nsIAtom;
- #[link_name = "?fill_opacity@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fill_opacity@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fill_opacity: *mut nsIAtom;
- #[link_name = "?fill_rule@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fill_rule@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fill_rule: *mut nsIAtom;
- #[link_name = "?filter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?filter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_filter: *mut nsIAtom;
- #[link_name = "?filterUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?filterUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_filterUnits: *mut nsIAtom;
- #[link_name = "?_float@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_float@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__float: *mut nsIAtom;
- #[link_name = "?flood_color@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?flood_color@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_flood_color: *mut nsIAtom;
- #[link_name = "?flood_opacity@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?flood_opacity@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_flood_opacity: *mut nsIAtom;
- #[link_name = "?font_face@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?font_face@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_font_face: *mut nsIAtom;
- #[link_name = "?font_face_format@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?font_face_format@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_font_face_format: *mut nsIAtom;
- #[link_name = "?font_face_name@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?font_face_name@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_font_face_name: *mut nsIAtom;
- #[link_name = "?font_face_src@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?font_face_src@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_font_face_src: *mut nsIAtom;
- #[link_name = "?font_face_uri@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?font_face_uri@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_font_face_uri: *mut nsIAtom;
- #[link_name = "?font_family@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?font_family@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_font_family: *mut nsIAtom;
- #[link_name = "?font_size@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?font_size@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_font_size: *mut nsIAtom;
- #[link_name = "?font_size_adjust@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?font_size_adjust@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_font_size_adjust: *mut nsIAtom;
- #[link_name = "?font_stretch@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?font_stretch@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_font_stretch: *mut nsIAtom;
- #[link_name = "?font_style@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?font_style@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_font_style: *mut nsIAtom;
- #[link_name = "?font_variant@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?font_variant@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_font_variant: *mut nsIAtom;
- #[link_name = "?foreignObject@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?foreignObject@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_foreignObject: *mut nsIAtom;
- #[link_name = "?fractalNoise@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fractalNoise@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fractalNoise: *mut nsIAtom;
- #[link_name = "?fx@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fx@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fx: *mut nsIAtom;
- #[link_name = "?fy@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fy@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fy: *mut nsIAtom;
- #[link_name = "?G@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?G@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_G: *mut nsIAtom;
- #[link_name = "?g@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?g@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_g: *mut nsIAtom;
- #[link_name = "?gamma@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?gamma@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_gamma: *mut nsIAtom;
- #[link_name = "?generic_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?generic_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_generic_: *mut nsIAtom;
- #[link_name = "?glyphRef@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?glyphRef@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_glyphRef: *mut nsIAtom;
- #[link_name = "?grad@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?grad@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_grad: *mut nsIAtom;
- #[link_name = "?gradientTransform@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?gradientTransform@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_gradientTransform: *mut nsIAtom;
- #[link_name = "?gradientUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?gradientUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_gradientUnits: *mut nsIAtom;
- #[link_name = "?hardLight@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?hardLight@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_hardLight: *mut nsIAtom;
- #[link_name = "?hue@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?hue@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_hue: *mut nsIAtom;
- #[link_name = "?hueRotate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?hueRotate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_hueRotate: *mut nsIAtom;
- #[link_name = "?identity@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?identity@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_identity: *mut nsIAtom;
- #[link_name = "?image_rendering@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?image_rendering@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_image_rendering: *mut nsIAtom;
- #[link_name = "?in@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?in@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_in: *mut nsIAtom;
- #[link_name = "?in2@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?in2@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_in2: *mut nsIAtom;
- #[link_name = "?intercept@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?intercept@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_intercept: *mut nsIAtom;
- #[link_name = "?k1@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?k1@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_k1: *mut nsIAtom;
- #[link_name = "?k2@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?k2@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_k2: *mut nsIAtom;
- #[link_name = "?k3@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?k3@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_k3: *mut nsIAtom;
- #[link_name = "?k4@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?k4@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_k4: *mut nsIAtom;
- #[link_name = "?kernelMatrix@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?kernelMatrix@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_kernelMatrix: *mut nsIAtom;
- #[link_name = "?kernelUnitLength@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?kernelUnitLength@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_kernelUnitLength: *mut nsIAtom;
- #[link_name = "?lengthAdjust@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lengthAdjust@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lengthAdjust: *mut nsIAtom;
- #[link_name = "?letter_spacing@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?letter_spacing@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_letter_spacing: *mut nsIAtom;
- #[link_name = "?lighten@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lighten@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lighten: *mut nsIAtom;
- #[link_name = "?lighting_color@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lighting_color@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lighting_color: *mut nsIAtom;
- #[link_name = "?limitingConeAngle@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?limitingConeAngle@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_limitingConeAngle: *mut nsIAtom;
- #[link_name = "?linear@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?linear@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_linear: *mut nsIAtom;
- #[link_name = "?linearGradient@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?linearGradient@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_linearGradient: *mut nsIAtom;
- #[link_name = "?linearRGB@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?linearRGB@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_linearRGB: *mut nsIAtom;
- #[link_name = "?list_style_type@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?list_style_type@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_list_style_type: *mut nsIAtom;
- #[link_name = "?luminanceToAlpha@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?luminanceToAlpha@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_luminanceToAlpha: *mut nsIAtom;
- #[link_name = "?luminosity@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?luminosity@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_luminosity: *mut nsIAtom;
- #[link_name = "?magnify@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?magnify@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_magnify: *mut nsIAtom;
- #[link_name = "?marker@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?marker@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_marker: *mut nsIAtom;
- #[link_name = "?marker_end@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?marker_end@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_marker_end: *mut nsIAtom;
- #[link_name = "?marker_mid@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?marker_mid@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_marker_mid: *mut nsIAtom;
- #[link_name = "?marker_start@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?marker_start@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_marker_start: *mut nsIAtom;
- #[link_name = "?markerHeight@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?markerHeight@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_markerHeight: *mut nsIAtom;
- #[link_name = "?markerUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?markerUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_markerUnits: *mut nsIAtom;
- #[link_name = "?markerWidth@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?markerWidth@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_markerWidth: *mut nsIAtom;
- #[link_name = "?mask@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mask@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mask: *mut nsIAtom;
- #[link_name = "?maskContentUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?maskContentUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_maskContentUnits: *mut nsIAtom;
- #[link_name = "?mask_type@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mask_type@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mask_type: *mut nsIAtom;
- #[link_name = "?maskUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?maskUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_maskUnits: *mut nsIAtom;
- #[link_name = "?matrix@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?matrix@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_matrix: *mut nsIAtom;
- #[link_name = "?metadata@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?metadata@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_metadata: *mut nsIAtom;
- #[link_name = "?missingGlyph@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?missingGlyph@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_missingGlyph: *mut nsIAtom;
- #[link_name = "?mm@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mm@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mm: *mut nsIAtom;
- #[link_name = "?mpath@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mpath@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mpath: *mut nsIAtom;
- #[link_name = "?noStitch@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?noStitch@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_noStitch: *mut nsIAtom;
- #[link_name = "?numOctaves@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?numOctaves@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_numOctaves: *mut nsIAtom;
- #[link_name = "?multiply@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?multiply@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_multiply: *mut nsIAtom;
- #[link_name = "?objectBoundingBox@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?objectBoundingBox@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_objectBoundingBox: *mut nsIAtom;
- #[link_name = "?offset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?offset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_offset: *mut nsIAtom;
- #[link_name = "?onSVGLoad@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onSVGLoad@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onSVGLoad: *mut nsIAtom;
- #[link_name = "?onSVGResize@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onSVGResize@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onSVGResize: *mut nsIAtom;
- #[link_name = "?onSVGScroll@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onSVGScroll@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onSVGScroll: *mut nsIAtom;
- #[link_name = "?onSVGUnload@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onSVGUnload@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onSVGUnload: *mut nsIAtom;
- #[link_name = "?onSVGZoom@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onSVGZoom@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onSVGZoom: *mut nsIAtom;
- #[link_name = "?onzoom@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onzoom@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onzoom: *mut nsIAtom;
- #[link_name = "?opacity@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?opacity@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_opacity: *mut nsIAtom;
- #[link_name = "?_operator@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_operator@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__operator: *mut nsIAtom;
- #[link_name = "?out@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?out@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_out: *mut nsIAtom;
- #[link_name = "?over@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?over@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_over: *mut nsIAtom;
- #[link_name = "?overridePreserveAspectRatio@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?overridePreserveAspectRatio@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_overridePreserveAspectRatio: *mut nsIAtom;
- #[link_name = "?pad@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pad@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pad: *mut nsIAtom;
- #[link_name = "?path@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?path@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_path: *mut nsIAtom;
- #[link_name = "?pathLength@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pathLength@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pathLength: *mut nsIAtom;
- #[link_name = "?patternContentUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?patternContentUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_patternContentUnits: *mut nsIAtom;
- #[link_name = "?patternTransform@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?patternTransform@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_patternTransform: *mut nsIAtom;
- #[link_name = "?patternUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?patternUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_patternUnits: *mut nsIAtom;
- #[link_name = "?pc@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pc@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pc: *mut nsIAtom;
- #[link_name = "?pointer_events@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pointer_events@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pointer_events: *mut nsIAtom;
- #[link_name = "?points@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?points@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_points: *mut nsIAtom;
- #[link_name = "?pointsAtX@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pointsAtX@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pointsAtX: *mut nsIAtom;
- #[link_name = "?pointsAtY@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pointsAtY@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pointsAtY: *mut nsIAtom;
- #[link_name = "?pointsAtZ@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pointsAtZ@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pointsAtZ: *mut nsIAtom;
- #[link_name = "?polyline@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?polyline@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_polyline: *mut nsIAtom;
- #[link_name = "?preserveAlpha@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?preserveAlpha@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_preserveAlpha: *mut nsIAtom;
- #[link_name = "?preserveAspectRatio@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?preserveAspectRatio@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_preserveAspectRatio: *mut nsIAtom;
- #[link_name = "?primitiveUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?primitiveUnits@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_primitiveUnits: *mut nsIAtom;
- #[link_name = "?pt@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pt@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pt: *mut nsIAtom;
- #[link_name = "?px@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?px@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_px: *mut nsIAtom;
- #[link_name = "?R@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?R@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_R: *mut nsIAtom;
- #[link_name = "?r@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?r@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_r: *mut nsIAtom;
- #[link_name = "?rad@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rad@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rad: *mut nsIAtom;
- #[link_name = "?radialGradient@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?radialGradient@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_radialGradient: *mut nsIAtom;
- #[link_name = "?radius@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?radius@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_radius: *mut nsIAtom;
- #[link_name = "?reflect@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?reflect@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_reflect: *mut nsIAtom;
- #[link_name = "?refX@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?refX@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_refX: *mut nsIAtom;
- #[link_name = "?refY@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?refY@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_refY: *mut nsIAtom;
- #[link_name = "?requiredExtensions@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?requiredExtensions@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_requiredExtensions: *mut nsIAtom;
- #[link_name = "?requiredFeatures@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?requiredFeatures@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_requiredFeatures: *mut nsIAtom;
- #[link_name = "?rotate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rotate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rotate: *mut nsIAtom;
- #[link_name = "?rx@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rx@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rx: *mut nsIAtom;
- #[link_name = "?ry@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ry@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ry: *mut nsIAtom;
- #[link_name = "?saturate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?saturate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_saturate: *mut nsIAtom;
- #[link_name = "?saturation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?saturation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_saturation: *mut nsIAtom;
- #[link_name = "?set@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?set@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_set: *mut nsIAtom;
- #[link_name = "?seed@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?seed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_seed: *mut nsIAtom;
- #[link_name = "?shadow@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?shadow@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_shadow: *mut nsIAtom;
- #[link_name = "?shape_rendering@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?shape_rendering@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_shape_rendering: *mut nsIAtom;
- #[link_name = "?skewX@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?skewX@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_skewX: *mut nsIAtom;
- #[link_name = "?skewY@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?skewY@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_skewY: *mut nsIAtom;
- #[link_name = "?slope@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?slope@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_slope: *mut nsIAtom;
- #[link_name = "?softLight@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?softLight@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_softLight: *mut nsIAtom;
- #[link_name = "?spacing@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?spacing@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_spacing: *mut nsIAtom;
- #[link_name = "?spacingAndGlyphs@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?spacingAndGlyphs@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_spacingAndGlyphs: *mut nsIAtom;
- #[link_name = "?specularConstant@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?specularConstant@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_specularConstant: *mut nsIAtom;
- #[link_name = "?specularExponent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?specularExponent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_specularExponent: *mut nsIAtom;
- #[link_name = "?spreadMethod@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?spreadMethod@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_spreadMethod: *mut nsIAtom;
- #[link_name = "?sRGB@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sRGB@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sRGB: *mut nsIAtom;
- #[link_name = "?startOffset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?startOffset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_startOffset: *mut nsIAtom;
- #[link_name = "?stdDeviation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stdDeviation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stdDeviation: *mut nsIAtom;
- #[link_name = "?stitch@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stitch@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stitch: *mut nsIAtom;
- #[link_name = "?stitchTiles@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stitchTiles@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stitchTiles: *mut nsIAtom;
- #[link_name = "?stop_color@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stop_color@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stop_color: *mut nsIAtom;
- #[link_name = "?stop_opacity@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stop_opacity@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stop_opacity: *mut nsIAtom;
- #[link_name = "?stroke@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stroke@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stroke: *mut nsIAtom;
- #[link_name = "?stroke_dasharray@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stroke_dasharray@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stroke_dasharray: *mut nsIAtom;
- #[link_name = "?stroke_dashoffset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stroke_dashoffset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stroke_dashoffset: *mut nsIAtom;
- #[link_name = "?stroke_linecap@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stroke_linecap@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stroke_linecap: *mut nsIAtom;
- #[link_name = "?stroke_linejoin@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stroke_linejoin@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stroke_linejoin: *mut nsIAtom;
- #[link_name = "?stroke_miterlimit@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stroke_miterlimit@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stroke_miterlimit: *mut nsIAtom;
- #[link_name = "?stroke_opacity@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stroke_opacity@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stroke_opacity: *mut nsIAtom;
- #[link_name = "?stroke_width@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stroke_width@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stroke_width: *mut nsIAtom;
- #[link_name = "?strokeWidth@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?strokeWidth@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_strokeWidth: *mut nsIAtom;
- #[link_name = "?surfaceScale@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?surfaceScale@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_surfaceScale: *mut nsIAtom;
- #[link_name = "?svg@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svg@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svg: *mut nsIAtom;
- #[link_name = "?svgContextPaint@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgContextPaint@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgContextPaint: *mut nsIAtom;
- #[link_name = "?svgSwitch@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgSwitch@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgSwitch: *mut nsIAtom;
- #[link_name = "?symbol@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?symbol@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_symbol: *mut nsIAtom;
- #[link_name = "?systemLanguage@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?systemLanguage@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_systemLanguage: *mut nsIAtom;
- #[link_name = "?tableValues@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tableValues@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tableValues: *mut nsIAtom;
- #[link_name = "?targetX@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?targetX@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_targetX: *mut nsIAtom;
- #[link_name = "?targetY@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?targetY@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_targetY: *mut nsIAtom;
- #[link_name = "?text_anchor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?text_anchor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_text_anchor: *mut nsIAtom;
- #[link_name = "?text_rendering@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?text_rendering@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_text_rendering: *mut nsIAtom;
- #[link_name = "?textLength@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?textLength@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_textLength: *mut nsIAtom;
- #[link_name = "?textPath@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?textPath@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_textPath: *mut nsIAtom;
- #[link_name = "?tref@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tref@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tref: *mut nsIAtom;
- #[link_name = "?tspan@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tspan@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tspan: *mut nsIAtom;
- #[link_name = "?turbulence@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?turbulence@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_turbulence: *mut nsIAtom;
- #[link_name = "?unicode_bidi@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?unicode_bidi@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_unicode_bidi: *mut nsIAtom;
- #[link_name = "?userSpaceOnUse@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?userSpaceOnUse@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_userSpaceOnUse: *mut nsIAtom;
- #[link_name = "?view@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?view@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_view: *mut nsIAtom;
- #[link_name = "?viewBox@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?viewBox@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_viewBox: *mut nsIAtom;
- #[link_name = "?viewTarget@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?viewTarget@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_viewTarget: *mut nsIAtom;
- #[link_name = "?white_space@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?white_space@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_white_space: *mut nsIAtom;
- #[link_name = "?word_spacing@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?word_spacing@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_word_spacing: *mut nsIAtom;
- #[link_name = "?writing_mode@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?writing_mode@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_writing_mode: *mut nsIAtom;
- #[link_name = "?x@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x: *mut nsIAtom;
- #[link_name = "?x1@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x1@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x1: *mut nsIAtom;
- #[link_name = "?x2@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x2@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x2: *mut nsIAtom;
- #[link_name = "?xChannelSelector@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?xChannelSelector@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_xChannelSelector: *mut nsIAtom;
- #[link_name = "?xor_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?xor_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_xor_: *mut nsIAtom;
- #[link_name = "?y@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?y@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_y: *mut nsIAtom;
- #[link_name = "?y1@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?y1@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_y1: *mut nsIAtom;
- #[link_name = "?y2@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?y2@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_y2: *mut nsIAtom;
- #[link_name = "?yChannelSelector@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?yChannelSelector@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_yChannelSelector: *mut nsIAtom;
- #[link_name = "?z@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?z@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_z: *mut nsIAtom;
- #[link_name = "?zoomAndPan@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?zoomAndPan@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_zoomAndPan: *mut nsIAtom;
- #[link_name = "?vector_effect@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?vector_effect@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_vector_effect: *mut nsIAtom;
- #[link_name = "?vertical_align@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?vertical_align@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_vertical_align: *mut nsIAtom;
- #[link_name = "?accumulate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?accumulate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_accumulate: *mut nsIAtom;
- #[link_name = "?additive@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?additive@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_additive: *mut nsIAtom;
- #[link_name = "?attributeName@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?attributeName@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_attributeName: *mut nsIAtom;
- #[link_name = "?attributeType@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?attributeType@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_attributeType: *mut nsIAtom;
- #[link_name = "?auto_reverse@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?auto_reverse@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_auto_reverse: *mut nsIAtom;
- #[link_name = "?begin@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?begin@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_begin: *mut nsIAtom;
- #[link_name = "?beginEvent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?beginEvent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_beginEvent: *mut nsIAtom;
- #[link_name = "?by@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?by@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_by: *mut nsIAtom;
- #[link_name = "?calcMode@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?calcMode@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_calcMode: *mut nsIAtom;
- #[link_name = "?css@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?css@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_css: *mut nsIAtom;
- #[link_name = "?dur@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?dur@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_dur: *mut nsIAtom;
- #[link_name = "?keyPoints@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?keyPoints@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_keyPoints: *mut nsIAtom;
- #[link_name = "?keySplines@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?keySplines@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_keySplines: *mut nsIAtom;
- #[link_name = "?keyTimes@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?keyTimes@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_keyTimes: *mut nsIAtom;
- #[link_name = "?mozAnimateMotionDummyAttr@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mozAnimateMotionDummyAttr@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mozAnimateMotionDummyAttr: *mut nsIAtom;
- #[link_name = "?onbegin@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onbegin@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onbegin: *mut nsIAtom;
- #[link_name = "?onbeginEvent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onbeginEvent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onbeginEvent: *mut nsIAtom;
- #[link_name = "?onend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onend: *mut nsIAtom;
- #[link_name = "?onendEvent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onendEvent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onendEvent: *mut nsIAtom;
- #[link_name = "?onrepeat@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onrepeat@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onrepeat: *mut nsIAtom;
- #[link_name = "?onrepeatEvent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onrepeatEvent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onrepeatEvent: *mut nsIAtom;
- #[link_name = "?repeatCount@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?repeatCount@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_repeatCount: *mut nsIAtom;
- #[link_name = "?repeatDur@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?repeatDur@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_repeatDur: *mut nsIAtom;
- #[link_name = "?repeatEvent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?repeatEvent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_repeatEvent: *mut nsIAtom;
- #[link_name = "?restart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?restart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_restart: *mut nsIAtom;
- #[link_name = "?to@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?to@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_to: *mut nsIAtom;
- #[link_name = "?XML@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?XML@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_XML: *mut nsIAtom;
- #[link_name = "?abs_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?abs_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_abs_: *mut nsIAtom;
- #[link_name = "?accent_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?accent_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_accent_: *mut nsIAtom;
- #[link_name = "?accentunder_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?accentunder_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_accentunder_: *mut nsIAtom;
- #[link_name = "?actiontype_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?actiontype_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_actiontype_: *mut nsIAtom;
- #[link_name = "?alignmentscope_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?alignmentscope_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_alignmentscope_: *mut nsIAtom;
- #[link_name = "?altimg_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?altimg_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_altimg_: *mut nsIAtom;
- #[link_name = "?altimg_height_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?altimg_height_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_altimg_height_: *mut nsIAtom;
- #[link_name = "?altimg_valign_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?altimg_valign_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_altimg_valign_: *mut nsIAtom;
- #[link_name = "?altimg_width_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?altimg_width_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_altimg_width_: *mut nsIAtom;
- #[link_name = "?annotation_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?annotation_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_annotation_: *mut nsIAtom;
- #[link_name = "?annotation_xml_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?annotation_xml_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_annotation_xml_: *mut nsIAtom;
- #[link_name = "?apply_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?apply_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_apply_: *mut nsIAtom;
- #[link_name = "?approx_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?approx_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_approx_: *mut nsIAtom;
- #[link_name = "?arccos_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?arccos_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_arccos_: *mut nsIAtom;
- #[link_name = "?arccosh_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?arccosh_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_arccosh_: *mut nsIAtom;
- #[link_name = "?arccot_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?arccot_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_arccot_: *mut nsIAtom;
- #[link_name = "?arccoth_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?arccoth_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_arccoth_: *mut nsIAtom;
- #[link_name = "?arccsc_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?arccsc_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_arccsc_: *mut nsIAtom;
- #[link_name = "?arccsch_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?arccsch_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_arccsch_: *mut nsIAtom;
- #[link_name = "?arcsec_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?arcsec_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_arcsec_: *mut nsIAtom;
- #[link_name = "?arcsech_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?arcsech_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_arcsech_: *mut nsIAtom;
- #[link_name = "?arcsin_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?arcsin_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_arcsin_: *mut nsIAtom;
- #[link_name = "?arcsinh_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?arcsinh_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_arcsinh_: *mut nsIAtom;
- #[link_name = "?arctan_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?arctan_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_arctan_: *mut nsIAtom;
- #[link_name = "?arctanh_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?arctanh_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_arctanh_: *mut nsIAtom;
- #[link_name = "?arg_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?arg_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_arg_: *mut nsIAtom;
- #[link_name = "?bevelled_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bevelled_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bevelled_: *mut nsIAtom;
- #[link_name = "?bind_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bind_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bind_: *mut nsIAtom;
- #[link_name = "?bvar_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bvar_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bvar_: *mut nsIAtom;
- #[link_name = "?card_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?card_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_card_: *mut nsIAtom;
- #[link_name = "?cartesianproduct_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cartesianproduct_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cartesianproduct_: *mut nsIAtom;
- #[link_name = "?cbytes_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cbytes_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cbytes_: *mut nsIAtom;
- #[link_name = "?cd_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cd_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cd_: *mut nsIAtom;
- #[link_name = "?cdgroup_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cdgroup_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cdgroup_: *mut nsIAtom;
- #[link_name = "?cerror_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cerror_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cerror_: *mut nsIAtom;
- #[link_name = "?charalign_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?charalign_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_charalign_: *mut nsIAtom;
- #[link_name = "?ci_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ci_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ci_: *mut nsIAtom;
- #[link_name = "?closure_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?closure_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_closure_: *mut nsIAtom;
- #[link_name = "?cn_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cn_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cn_: *mut nsIAtom;
- #[link_name = "?codomain_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?codomain_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_codomain_: *mut nsIAtom;
- #[link_name = "?columnalign_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?columnalign_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_columnalign_: *mut nsIAtom;
- #[link_name = "?columnalignment_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?columnalignment_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_columnalignment_: *mut nsIAtom;
- #[link_name = "?columnlines_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?columnlines_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_columnlines_: *mut nsIAtom;
- #[link_name = "?columnspacing_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?columnspacing_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_columnspacing_: *mut nsIAtom;
- #[link_name = "?columnspan_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?columnspan_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_columnspan_: *mut nsIAtom;
- #[link_name = "?columnwidth_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?columnwidth_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_columnwidth_: *mut nsIAtom;
- #[link_name = "?complexes_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?complexes_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_complexes_: *mut nsIAtom;
- #[link_name = "?compose_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?compose_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_compose_: *mut nsIAtom;
- #[link_name = "?condition_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?condition_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_condition_: *mut nsIAtom;
- #[link_name = "?conjugate_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?conjugate_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_conjugate_: *mut nsIAtom;
- #[link_name = "?cos_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cos_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cos_: *mut nsIAtom;
- #[link_name = "?cosh_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cosh_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cosh_: *mut nsIAtom;
- #[link_name = "?cot_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cot_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cot_: *mut nsIAtom;
- #[link_name = "?coth_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?coth_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_coth_: *mut nsIAtom;
- #[link_name = "?crossout_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?crossout_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_crossout_: *mut nsIAtom;
- #[link_name = "?csc_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?csc_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_csc_: *mut nsIAtom;
- #[link_name = "?csch_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?csch_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_csch_: *mut nsIAtom;
- #[link_name = "?cs_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cs_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cs_: *mut nsIAtom;
- #[link_name = "?csymbol_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?csymbol_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_csymbol_: *mut nsIAtom;
- #[link_name = "?curl_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?curl_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_curl_: *mut nsIAtom;
- #[link_name = "?decimalpoint_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?decimalpoint_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_decimalpoint_: *mut nsIAtom;
- #[link_name = "?definitionURL_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?definitionURL_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_definitionURL_: *mut nsIAtom;
- #[link_name = "?degree_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?degree_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_degree_: *mut nsIAtom;
- #[link_name = "?denomalign_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?denomalign_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_denomalign_: *mut nsIAtom;
- #[link_name = "?depth_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?depth_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_depth_: *mut nsIAtom;
- #[link_name = "?determinant_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?determinant_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_determinant_: *mut nsIAtom;
- #[link_name = "?diff_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?diff_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_diff_: *mut nsIAtom;
- #[link_name = "?displaystyle_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?displaystyle_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_displaystyle_: *mut nsIAtom;
- #[link_name = "?divergence_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?divergence_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_divergence_: *mut nsIAtom;
- #[link_name = "?divide_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?divide_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_divide_: *mut nsIAtom;
- #[link_name = "?domain_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?domain_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_domain_: *mut nsIAtom;
- #[link_name = "?domainofapplication_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?domainofapplication_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_domainofapplication_: *mut nsIAtom;
- #[link_name = "?edge_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?edge_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_edge_: *mut nsIAtom;
- #[link_name = "?el_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?el_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_el_: *mut nsIAtom;
- #[link_name = "?emptyset_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?emptyset_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_emptyset_: *mut nsIAtom;
- #[link_name = "?eq_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?eq_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_eq_: *mut nsIAtom;
- #[link_name = "?equalcolumns_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?equalcolumns_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_equalcolumns_: *mut nsIAtom;
- #[link_name = "?equalrows_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?equalrows_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_equalrows_: *mut nsIAtom;
- #[link_name = "?equivalent_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?equivalent_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_equivalent_: *mut nsIAtom;
- #[link_name = "?eulergamma_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?eulergamma_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_eulergamma_: *mut nsIAtom;
- #[link_name = "?exists_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?exists_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_exists_: *mut nsIAtom;
- #[link_name = "?exp_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?exp_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_exp_: *mut nsIAtom;
- #[link_name = "?exponentiale_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?exponentiale_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_exponentiale_: *mut nsIAtom;
- #[link_name = "?factorial_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?factorial_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_factorial_: *mut nsIAtom;
- #[link_name = "?factorof_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?factorof_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_factorof_: *mut nsIAtom;
- #[link_name = "?fence_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fence_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fence_: *mut nsIAtom;
- #[link_name = "?fn_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fn_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fn_: *mut nsIAtom;
- #[link_name = "?fontfamily_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fontfamily_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fontfamily_: *mut nsIAtom;
- #[link_name = "?fontsize_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fontsize_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fontsize_: *mut nsIAtom;
- #[link_name = "?fontstyle_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fontstyle_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fontstyle_: *mut nsIAtom;
- #[link_name = "?fontweight_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fontweight_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fontweight_: *mut nsIAtom;
- #[link_name = "?forall_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?forall_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_forall_: *mut nsIAtom;
- #[link_name = "?framespacing_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?framespacing_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_framespacing_: *mut nsIAtom;
- #[link_name = "?gcd_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?gcd_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_gcd_: *mut nsIAtom;
- #[link_name = "?geq_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?geq_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_geq_: *mut nsIAtom;
- #[link_name = "?groupalign_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?groupalign_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_groupalign_: *mut nsIAtom;
- #[link_name = "?gt_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?gt_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_gt_: *mut nsIAtom;
- #[link_name = "?ident_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ident_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ident_: *mut nsIAtom;
- #[link_name = "?imaginaryi_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?imaginaryi_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_imaginaryi_: *mut nsIAtom;
- #[link_name = "?imaginary_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?imaginary_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_imaginary_: *mut nsIAtom;
- #[link_name = "?implies_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?implies_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_implies_: *mut nsIAtom;
- #[link_name = "?indentalignfirst_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?indentalignfirst_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_indentalignfirst_: *mut nsIAtom;
- #[link_name = "?indentalign_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?indentalign_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_indentalign_: *mut nsIAtom;
- #[link_name = "?indentalignlast_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?indentalignlast_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_indentalignlast_: *mut nsIAtom;
- #[link_name = "?indentshiftfirst_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?indentshiftfirst_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_indentshiftfirst_: *mut nsIAtom;
- #[link_name = "?indentshift_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?indentshift_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_indentshift_: *mut nsIAtom;
- #[link_name = "?indenttarget_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?indenttarget_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_indenttarget_: *mut nsIAtom;
- #[link_name = "?integers_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?integers_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_integers_: *mut nsIAtom;
- #[link_name = "?intersect_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?intersect_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_intersect_: *mut nsIAtom;
- #[link_name = "?interval_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?interval_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_interval_: *mut nsIAtom;
- #[link_name = "?int_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?int_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_int_: *mut nsIAtom;
- #[link_name = "?inverse_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?inverse_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_inverse_: *mut nsIAtom;
- #[link_name = "?lambda_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lambda_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lambda_: *mut nsIAtom;
- #[link_name = "?laplacian_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?laplacian_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_laplacian_: *mut nsIAtom;
- #[link_name = "?largeop_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?largeop_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_largeop_: *mut nsIAtom;
- #[link_name = "?lcm_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lcm_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lcm_: *mut nsIAtom;
- #[link_name = "?leq_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?leq_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_leq_: *mut nsIAtom;
- #[link_name = "?limit_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?limit_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_limit_: *mut nsIAtom;
- #[link_name = "?linebreak_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?linebreak_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_linebreak_: *mut nsIAtom;
- #[link_name = "?linebreakmultchar_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?linebreakmultchar_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_linebreakmultchar_: *mut nsIAtom;
- #[link_name = "?linebreakstyle_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?linebreakstyle_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_linebreakstyle_: *mut nsIAtom;
- #[link_name = "?linethickness_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?linethickness_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_linethickness_: *mut nsIAtom;
- #[link_name = "?list_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?list_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_list_: *mut nsIAtom;
- #[link_name = "?ln_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ln_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ln_: *mut nsIAtom;
- #[link_name = "?location_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?location_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_location_: *mut nsIAtom;
- #[link_name = "?logbase_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?logbase_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_logbase_: *mut nsIAtom;
- #[link_name = "?log_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?log_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_log_: *mut nsIAtom;
- #[link_name = "?longdivstyle_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?longdivstyle_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_longdivstyle_: *mut nsIAtom;
- #[link_name = "?lowlimit_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lowlimit_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lowlimit_: *mut nsIAtom;
- #[link_name = "?lquote_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lquote_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lquote_: *mut nsIAtom;
- #[link_name = "?lspace_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lspace_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lspace_: *mut nsIAtom;
- #[link_name = "?lt_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lt_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lt_: *mut nsIAtom;
- #[link_name = "?maction_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?maction_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_maction_: *mut nsIAtom;
- #[link_name = "?maligngroup_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?maligngroup_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_maligngroup_: *mut nsIAtom;
- #[link_name = "?malignmark_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?malignmark_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_malignmark_: *mut nsIAtom;
- #[link_name = "?mathbackground_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mathbackground_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mathbackground_: *mut nsIAtom;
- #[link_name = "?mathcolor_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mathcolor_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mathcolor_: *mut nsIAtom;
- #[link_name = "?mathsize_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mathsize_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mathsize_: *mut nsIAtom;
- #[link_name = "?mathvariant_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mathvariant_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mathvariant_: *mut nsIAtom;
- #[link_name = "?matrixrow_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?matrixrow_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_matrixrow_: *mut nsIAtom;
- #[link_name = "?maxsize_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?maxsize_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_maxsize_: *mut nsIAtom;
- #[link_name = "?mean_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mean_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mean_: *mut nsIAtom;
- #[link_name = "?median_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?median_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_median_: *mut nsIAtom;
- #[link_name = "?menclose_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?menclose_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_menclose_: *mut nsIAtom;
- #[link_name = "?merror_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?merror_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_merror_: *mut nsIAtom;
- #[link_name = "?mfenced_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mfenced_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mfenced_: *mut nsIAtom;
- #[link_name = "?mfrac_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mfrac_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mfrac_: *mut nsIAtom;
- #[link_name = "?mglyph_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mglyph_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mglyph_: *mut nsIAtom;
- #[link_name = "?mi_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mi_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mi_: *mut nsIAtom;
- #[link_name = "?minlabelspacing_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?minlabelspacing_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_minlabelspacing_: *mut nsIAtom;
- #[link_name = "?minsize_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?minsize_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_minsize_: *mut nsIAtom;
- #[link_name = "?minus_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?minus_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_minus_: *mut nsIAtom;
- #[link_name = "?mlabeledtr_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mlabeledtr_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mlabeledtr_: *mut nsIAtom;
- #[link_name = "?mlongdiv_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mlongdiv_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mlongdiv_: *mut nsIAtom;
- #[link_name = "?mmultiscripts_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mmultiscripts_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mmultiscripts_: *mut nsIAtom;
- #[link_name = "?mn_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mn_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mn_: *mut nsIAtom;
- #[link_name = "?momentabout_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?momentabout_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_momentabout_: *mut nsIAtom;
- #[link_name = "?moment_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?moment_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_moment_: *mut nsIAtom;
- #[link_name = "?mo_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mo_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mo_: *mut nsIAtom;
- #[link_name = "?movablelimits_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?movablelimits_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_movablelimits_: *mut nsIAtom;
- #[link_name = "?mover_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mover_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mover_: *mut nsIAtom;
- #[link_name = "?mpadded_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mpadded_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mpadded_: *mut nsIAtom;
- #[link_name = "?mphantom_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mphantom_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mphantom_: *mut nsIAtom;
- #[link_name = "?mprescripts_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mprescripts_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mprescripts_: *mut nsIAtom;
- #[link_name = "?mroot_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mroot_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mroot_: *mut nsIAtom;
- #[link_name = "?mrow_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mrow_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mrow_: *mut nsIAtom;
- #[link_name = "?mscarries_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mscarries_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mscarries_: *mut nsIAtom;
- #[link_name = "?mscarry_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mscarry_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mscarry_: *mut nsIAtom;
- #[link_name = "?msgroup_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?msgroup_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_msgroup_: *mut nsIAtom;
- #[link_name = "?msline_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?msline_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_msline_: *mut nsIAtom;
- #[link_name = "?ms_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ms_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ms_: *mut nsIAtom;
- #[link_name = "?mspace_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mspace_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mspace_: *mut nsIAtom;
- #[link_name = "?msqrt_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?msqrt_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_msqrt_: *mut nsIAtom;
- #[link_name = "?msrow_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?msrow_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_msrow_: *mut nsIAtom;
- #[link_name = "?mstack_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mstack_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mstack_: *mut nsIAtom;
- #[link_name = "?mstyle_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mstyle_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mstyle_: *mut nsIAtom;
- #[link_name = "?msub_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?msub_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_msub_: *mut nsIAtom;
- #[link_name = "?msubsup_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?msubsup_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_msubsup_: *mut nsIAtom;
- #[link_name = "?msup_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?msup_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_msup_: *mut nsIAtom;
- #[link_name = "?mtable_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mtable_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mtable_: *mut nsIAtom;
- #[link_name = "?mtd_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mtd_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mtd_: *mut nsIAtom;
- #[link_name = "?mtext_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mtext_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mtext_: *mut nsIAtom;
- #[link_name = "?mtr_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mtr_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mtr_: *mut nsIAtom;
- #[link_name = "?munder_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?munder_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_munder_: *mut nsIAtom;
- #[link_name = "?munderover_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?munderover_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_munderover_: *mut nsIAtom;
- #[link_name = "?naturalnumbers_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?naturalnumbers_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_naturalnumbers_: *mut nsIAtom;
- #[link_name = "?neq_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?neq_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_neq_: *mut nsIAtom;
- #[link_name = "?notanumber_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?notanumber_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_notanumber_: *mut nsIAtom;
- #[link_name = "?notation_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?notation_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_notation_: *mut nsIAtom;
- #[link_name = "?note_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?note_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_note_: *mut nsIAtom;
- #[link_name = "?notin_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?notin_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_notin_: *mut nsIAtom;
- #[link_name = "?notprsubset_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?notprsubset_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_notprsubset_: *mut nsIAtom;
- #[link_name = "?notsubset_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?notsubset_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_notsubset_: *mut nsIAtom;
- #[link_name = "?numalign_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?numalign_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_numalign_: *mut nsIAtom;
- #[link_name = "?other_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?other_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_other_: *mut nsIAtom;
- #[link_name = "?outerproduct_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?outerproduct_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_outerproduct_: *mut nsIAtom;
- #[link_name = "?partialdiff_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?partialdiff_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_partialdiff_: *mut nsIAtom;
- #[link_name = "?piece_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?piece_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_piece_: *mut nsIAtom;
- #[link_name = "?piecewise_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?piecewise_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_piecewise_: *mut nsIAtom;
- #[link_name = "?pi_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pi_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pi_: *mut nsIAtom;
- #[link_name = "?plus_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?plus_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_plus_: *mut nsIAtom;
- #[link_name = "?power_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?power_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_power_: *mut nsIAtom;
- #[link_name = "?primes_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?primes_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_primes_: *mut nsIAtom;
- #[link_name = "?product_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?product_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_product_: *mut nsIAtom;
- #[link_name = "?prsubset_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?prsubset_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_prsubset_: *mut nsIAtom;
- #[link_name = "?quotient_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?quotient_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_quotient_: *mut nsIAtom;
- #[link_name = "?rationals_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rationals_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rationals_: *mut nsIAtom;
- #[link_name = "?real_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?real_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_real_: *mut nsIAtom;
- #[link_name = "?reals_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?reals_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_reals_: *mut nsIAtom;
- #[link_name = "?reln_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?reln_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_reln_: *mut nsIAtom;
- #[link_name = "?root_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?root_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_root_: *mut nsIAtom;
- #[link_name = "?rowalign_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rowalign_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rowalign_: *mut nsIAtom;
- #[link_name = "?rowlines_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rowlines_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rowlines_: *mut nsIAtom;
- #[link_name = "?rowspacing_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rowspacing_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rowspacing_: *mut nsIAtom;
- #[link_name = "?rquote_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rquote_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rquote_: *mut nsIAtom;
- #[link_name = "?rspace_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rspace_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rspace_: *mut nsIAtom;
- #[link_name = "?scalarproduct_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scalarproduct_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scalarproduct_: *mut nsIAtom;
- #[link_name = "?schemaLocation_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?schemaLocation_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_schemaLocation_: *mut nsIAtom;
- #[link_name = "?scriptlevel_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scriptlevel_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scriptlevel_: *mut nsIAtom;
- #[link_name = "?scriptminsize_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scriptminsize_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scriptminsize_: *mut nsIAtom;
- #[link_name = "?scriptsizemultiplier_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scriptsizemultiplier_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scriptsizemultiplier_: *mut nsIAtom;
- #[link_name = "?scriptsize_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scriptsize_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scriptsize_: *mut nsIAtom;
- #[link_name = "?sdev_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sdev_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sdev_: *mut nsIAtom;
- #[link_name = "?sech_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sech_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sech_: *mut nsIAtom;
- #[link_name = "?sec_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sec_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sec_: *mut nsIAtom;
- #[link_name = "?selection_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?selection_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_selection_: *mut nsIAtom;
- #[link_name = "?selector_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?selector_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_selector_: *mut nsIAtom;
- #[link_name = "?semantics_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?semantics_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_semantics_: *mut nsIAtom;
- #[link_name = "?separator_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?separator_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_separator_: *mut nsIAtom;
- #[link_name = "?separators_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?separators_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_separators_: *mut nsIAtom;
- #[link_name = "?sep_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sep_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sep_: *mut nsIAtom;
- #[link_name = "?setdiff_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?setdiff_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_setdiff_: *mut nsIAtom;
- #[link_name = "?set_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?set_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_set_: *mut nsIAtom;
- #[link_name = "?share_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?share_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_share_: *mut nsIAtom;
- #[link_name = "?shift_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?shift_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_shift_: *mut nsIAtom;
- #[link_name = "?side_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?side_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_side_: *mut nsIAtom;
- #[link_name = "?sinh_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sinh_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sinh_: *mut nsIAtom;
- #[link_name = "?sin_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sin_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sin_: *mut nsIAtom;
- #[link_name = "?stackalign_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stackalign_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stackalign_: *mut nsIAtom;
- #[link_name = "?stretchy_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stretchy_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stretchy_: *mut nsIAtom;
- #[link_name = "?subscriptshift_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?subscriptshift_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_subscriptshift_: *mut nsIAtom;
- #[link_name = "?subset_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?subset_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_subset_: *mut nsIAtom;
- #[link_name = "?superscriptshift_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?superscriptshift_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_superscriptshift_: *mut nsIAtom;
- #[link_name = "?symmetric_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?symmetric_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_symmetric_: *mut nsIAtom;
- #[link_name = "?tanh_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tanh_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tanh_: *mut nsIAtom;
- #[link_name = "?tan_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tan_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tan_: *mut nsIAtom;
- #[link_name = "?tendsto_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tendsto_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tendsto_: *mut nsIAtom;
- #[link_name = "?times_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?times_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_times_: *mut nsIAtom;
- #[link_name = "?transpose_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?transpose_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_transpose_: *mut nsIAtom;
- #[link_name = "?union_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?union_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_union_: *mut nsIAtom;
- #[link_name = "?uplimit_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?uplimit_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_uplimit_: *mut nsIAtom;
- #[link_name = "?variance_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?variance_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_variance_: *mut nsIAtom;
- #[link_name = "?vectorproduct_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?vectorproduct_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_vectorproduct_: *mut nsIAtom;
- #[link_name = "?vector_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?vector_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_vector_: *mut nsIAtom;
- #[link_name = "?voffset_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?voffset_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_voffset_: *mut nsIAtom;
- #[link_name = "?xref_@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?xref_@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_xref_: *mut nsIAtom;
- #[link_name = "?math@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?math@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_math: *mut nsIAtom;
- #[link_name = "?avg@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?avg@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_avg: *mut nsIAtom;
- #[link_name = "?booleanFromString@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?booleanFromString@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_booleanFromString: *mut nsIAtom;
- #[link_name = "?countNonEmpty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?countNonEmpty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_countNonEmpty: *mut nsIAtom;
- #[link_name = "?daysFromDate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?daysFromDate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_daysFromDate: *mut nsIAtom;
- #[link_name = "?init@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?init@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_init: *mut nsIAtom;
- #[link_name = "?instance@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?instance@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_instance: *mut nsIAtom;
- #[link_name = "?months@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?months@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_months: *mut nsIAtom;
- #[link_name = "?now@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?now@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_now: *mut nsIAtom;
- #[link_name = "?seconds@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?seconds@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_seconds: *mut nsIAtom;
- #[link_name = "?secondsFromDateTime@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?secondsFromDateTime@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_secondsFromDateTime: *mut nsIAtom;
- #[link_name = "?onMozSwipeGestureMayStart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozSwipeGestureMayStart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozSwipeGestureMayStart: *mut nsIAtom;
- #[link_name = "?onMozSwipeGestureStart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozSwipeGestureStart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozSwipeGestureStart: *mut nsIAtom;
- #[link_name = "?onMozSwipeGestureUpdate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozSwipeGestureUpdate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozSwipeGestureUpdate: *mut nsIAtom;
- #[link_name = "?onMozSwipeGestureEnd@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozSwipeGestureEnd@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozSwipeGestureEnd: *mut nsIAtom;
- #[link_name = "?onMozSwipeGesture@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozSwipeGesture@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozSwipeGesture: *mut nsIAtom;
- #[link_name = "?onMozMagnifyGestureStart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozMagnifyGestureStart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozMagnifyGestureStart: *mut nsIAtom;
- #[link_name = "?onMozMagnifyGestureUpdate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozMagnifyGestureUpdate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozMagnifyGestureUpdate: *mut nsIAtom;
- #[link_name = "?onMozMagnifyGesture@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozMagnifyGesture@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozMagnifyGesture: *mut nsIAtom;
- #[link_name = "?onMozRotateGestureStart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozRotateGestureStart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozRotateGestureStart: *mut nsIAtom;
- #[link_name = "?onMozRotateGestureUpdate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozRotateGestureUpdate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozRotateGestureUpdate: *mut nsIAtom;
- #[link_name = "?onMozRotateGesture@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozRotateGesture@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozRotateGesture: *mut nsIAtom;
- #[link_name = "?onMozTapGesture@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozTapGesture@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozTapGesture: *mut nsIAtom;
- #[link_name = "?onMozPressTapGesture@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozPressTapGesture@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozPressTapGesture: *mut nsIAtom;
- #[link_name = "?onMozEdgeUIStarted@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozEdgeUIStarted@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozEdgeUIStarted: *mut nsIAtom;
- #[link_name = "?onMozEdgeUICanceled@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozEdgeUICanceled@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozEdgeUICanceled: *mut nsIAtom;
- #[link_name = "?onMozEdgeUICompleted@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onMozEdgeUICompleted@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onMozEdgeUICompleted: *mut nsIAtom;
- #[link_name = "?onpointerdown@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpointerdown@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpointerdown: *mut nsIAtom;
- #[link_name = "?onpointermove@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpointermove@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpointermove: *mut nsIAtom;
- #[link_name = "?onpointerup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpointerup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpointerup: *mut nsIAtom;
- #[link_name = "?onpointercancel@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpointercancel@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpointercancel: *mut nsIAtom;
- #[link_name = "?onpointerover@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpointerover@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpointerover: *mut nsIAtom;
- #[link_name = "?onpointerout@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpointerout@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpointerout: *mut nsIAtom;
- #[link_name = "?onpointerenter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpointerenter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpointerenter: *mut nsIAtom;
- #[link_name = "?onpointerleave@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpointerleave@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpointerleave: *mut nsIAtom;
- #[link_name = "?ongotpointercapture@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ongotpointercapture@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ongotpointercapture: *mut nsIAtom;
- #[link_name = "?onlostpointercapture@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onlostpointercapture@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onlostpointercapture: *mut nsIAtom;
- #[link_name = "?ondevicemotion@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondevicemotion@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondevicemotion: *mut nsIAtom;
- #[link_name = "?ondeviceorientation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondeviceorientation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondeviceorientation: *mut nsIAtom;
- #[link_name = "?onabsolutedeviceorientation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onabsolutedeviceorientation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onabsolutedeviceorientation: *mut nsIAtom;
- #[link_name = "?ondeviceproximity@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondeviceproximity@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondeviceproximity: *mut nsIAtom;
- #[link_name = "?onmozorientationchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmozorientationchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmozorientationchange: *mut nsIAtom;
- #[link_name = "?onuserproximity@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onuserproximity@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onuserproximity: *mut nsIAtom;
- #[link_name = "?ondevicelight@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondevicelight@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondevicelight: *mut nsIAtom;
- #[link_name = "?onmozinterruptbegin@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmozinterruptbegin@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmozinterruptbegin: *mut nsIAtom;
- #[link_name = "?onmozinterruptend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmozinterruptend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmozinterruptend: *mut nsIAtom;
- #[link_name = "?ondevicechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondevicechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondevicechange: *mut nsIAtom;
- #[link_name = "?cdataTagName@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cdataTagName@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cdataTagName: *mut nsIAtom;
- #[link_name = "?commentTagName@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?commentTagName@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_commentTagName: *mut nsIAtom;
- #[link_name = "?documentNodeName@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?documentNodeName@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_documentNodeName: *mut nsIAtom;
- #[link_name = "?documentFragmentNodeName@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?documentFragmentNodeName@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_documentFragmentNodeName: *mut nsIAtom;
- #[link_name = "?documentTypeNodeName@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?documentTypeNodeName@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_documentTypeNodeName: *mut nsIAtom;
- #[link_name = "?processingInstructionTagName@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?processingInstructionTagName@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_processingInstructionTagName: *mut nsIAtom;
- #[link_name = "?textTagName@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?textTagName@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_textTagName: *mut nsIAtom;
- #[link_name = "?bcTableCellFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bcTableCellFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bcTableCellFrame: *mut nsIAtom;
- #[link_name = "?blockFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?blockFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_blockFrame: *mut nsIAtom;
- #[link_name = "?boxFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?boxFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_boxFrame: *mut nsIAtom;
- #[link_name = "?brFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?brFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_brFrame: *mut nsIAtom;
- #[link_name = "?bulletFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?bulletFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_bulletFrame: *mut nsIAtom;
- #[link_name = "?colorControlFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?colorControlFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_colorControlFrame: *mut nsIAtom;
- #[link_name = "?columnSetFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?columnSetFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_columnSetFrame: *mut nsIAtom;
- #[link_name = "?comboboxControlFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?comboboxControlFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_comboboxControlFrame: *mut nsIAtom;
- #[link_name = "?comboboxDisplayFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?comboboxDisplayFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_comboboxDisplayFrame: *mut nsIAtom;
- #[link_name = "?deckFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?deckFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_deckFrame: *mut nsIAtom;
- #[link_name = "?detailsFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?detailsFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_detailsFrame: *mut nsIAtom;
- #[link_name = "?fieldSetFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fieldSetFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fieldSetFrame: *mut nsIAtom;
- #[link_name = "?flexContainerFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?flexContainerFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_flexContainerFrame: *mut nsIAtom;
- #[link_name = "?formControlFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?formControlFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_formControlFrame: *mut nsIAtom;
- #[link_name = "?frameSetFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?frameSetFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_frameSetFrame: *mut nsIAtom;
- #[link_name = "?gfxButtonControlFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?gfxButtonControlFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_gfxButtonControlFrame: *mut nsIAtom;
- #[link_name = "?gridContainerFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?gridContainerFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_gridContainerFrame: *mut nsIAtom;
- #[link_name = "?HTMLButtonControlFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?HTMLButtonControlFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_HTMLButtonControlFrame: *mut nsIAtom;
- #[link_name = "?HTMLCanvasFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?HTMLCanvasFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_HTMLCanvasFrame: *mut nsIAtom;
- #[link_name = "?subDocumentFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?subDocumentFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_subDocumentFrame: *mut nsIAtom;
- #[link_name = "?imageBoxFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?imageBoxFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_imageBoxFrame: *mut nsIAtom;
- #[link_name = "?imageFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?imageFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_imageFrame: *mut nsIAtom;
- #[link_name = "?imageControlFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?imageControlFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_imageControlFrame: *mut nsIAtom;
- #[link_name = "?inlineFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?inlineFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_inlineFrame: *mut nsIAtom;
- #[link_name = "?leafBoxFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?leafBoxFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_leafBoxFrame: *mut nsIAtom;
- #[link_name = "?legendFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?legendFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_legendFrame: *mut nsIAtom;
- #[link_name = "?letterFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?letterFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_letterFrame: *mut nsIAtom;
- #[link_name = "?lineFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lineFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lineFrame: *mut nsIAtom;
- #[link_name = "?listControlFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?listControlFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_listControlFrame: *mut nsIAtom;
- #[link_name = "?menuFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?menuFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_menuFrame: *mut nsIAtom;
- #[link_name = "?meterFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?meterFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_meterFrame: *mut nsIAtom;
- #[link_name = "?menuPopupFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?menuPopupFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_menuPopupFrame: *mut nsIAtom;
- #[link_name = "?numberControlFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?numberControlFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_numberControlFrame: *mut nsIAtom;
- #[link_name = "?objectFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?objectFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_objectFrame: *mut nsIAtom;
- #[link_name = "?pageFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pageFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pageFrame: *mut nsIAtom;
- #[link_name = "?pageBreakFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pageBreakFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pageBreakFrame: *mut nsIAtom;
- #[link_name = "?pageContentFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pageContentFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pageContentFrame: *mut nsIAtom;
- #[link_name = "?placeholderFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?placeholderFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_placeholderFrame: *mut nsIAtom;
- #[link_name = "?popupSetFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?popupSetFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_popupSetFrame: *mut nsIAtom;
- #[link_name = "?progressFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?progressFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_progressFrame: *mut nsIAtom;
- #[link_name = "?canvasFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?canvasFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_canvasFrame: *mut nsIAtom;
- #[link_name = "?rangeFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rangeFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rangeFrame: *mut nsIAtom;
- #[link_name = "?rootFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rootFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rootFrame: *mut nsIAtom;
- #[link_name = "?rubyBaseContainerFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rubyBaseContainerFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rubyBaseContainerFrame: *mut nsIAtom;
- #[link_name = "?rubyBaseFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rubyBaseFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rubyBaseFrame: *mut nsIAtom;
- #[link_name = "?rubyFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rubyFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rubyFrame: *mut nsIAtom;
- #[link_name = "?rubyTextContainerFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rubyTextContainerFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rubyTextContainerFrame: *mut nsIAtom;
- #[link_name = "?rubyTextFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rubyTextFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rubyTextFrame: *mut nsIAtom;
- #[link_name = "?scrollFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scrollFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scrollFrame: *mut nsIAtom;
- #[link_name = "?scrollbarFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scrollbarFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scrollbarFrame: *mut nsIAtom;
- #[link_name = "?sequenceFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sequenceFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sequenceFrame: *mut nsIAtom;
- #[link_name = "?sliderFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sliderFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sliderFrame: *mut nsIAtom;
- #[link_name = "?tableCellFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tableCellFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tableCellFrame: *mut nsIAtom;
- #[link_name = "?tableColFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tableColFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tableColFrame: *mut nsIAtom;
- #[link_name = "?tableColGroupFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tableColGroupFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tableColGroupFrame: *mut nsIAtom;
- #[link_name = "?tableFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tableFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tableFrame: *mut nsIAtom;
- #[link_name = "?tableWrapperFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tableWrapperFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tableWrapperFrame: *mut nsIAtom;
- #[link_name = "?tableRowGroupFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tableRowGroupFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tableRowGroupFrame: *mut nsIAtom;
- #[link_name = "?tableRowFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tableRowFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tableRowFrame: *mut nsIAtom;
- #[link_name = "?textInputFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?textInputFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_textInputFrame: *mut nsIAtom;
- #[link_name = "?textFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?textFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_textFrame: *mut nsIAtom;
- #[link_name = "?viewportFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?viewportFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_viewportFrame: *mut nsIAtom;
- #[link_name = "?XULLabelFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?XULLabelFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_XULLabelFrame: *mut nsIAtom;
- #[link_name = "?svgAFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgAFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgAFrame: *mut nsIAtom;
- #[link_name = "?svgClipPathFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgClipPathFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgClipPathFrame: *mut nsIAtom;
- #[link_name = "?svgDefsFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgDefsFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgDefsFrame: *mut nsIAtom;
- #[link_name = "?svgFEContainerFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgFEContainerFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgFEContainerFrame: *mut nsIAtom;
- #[link_name = "?svgFEImageFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgFEImageFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgFEImageFrame: *mut nsIAtom;
- #[link_name = "?svgFELeafFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgFELeafFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgFELeafFrame: *mut nsIAtom;
- #[link_name = "?svgFEUnstyledLeafFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgFEUnstyledLeafFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgFEUnstyledLeafFrame: *mut nsIAtom;
- #[link_name = "?svgFilterFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgFilterFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgFilterFrame: *mut nsIAtom;
- #[link_name = "?svgForeignObjectFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgForeignObjectFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgForeignObjectFrame: *mut nsIAtom;
- #[link_name = "?svgGenericContainerFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgGenericContainerFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgGenericContainerFrame: *mut nsIAtom;
- #[link_name = "?svgGFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgGFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgGFrame: *mut nsIAtom;
- #[link_name = "?svgGradientFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgGradientFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgGradientFrame: *mut nsIAtom;
- #[link_name = "?svgImageFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgImageFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgImageFrame: *mut nsIAtom;
- #[link_name = "?svgInnerSVGFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgInnerSVGFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgInnerSVGFrame: *mut nsIAtom;
- #[link_name = "?svgLinearGradientFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgLinearGradientFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgLinearGradientFrame: *mut nsIAtom;
- #[link_name = "?svgMarkerFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgMarkerFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgMarkerFrame: *mut nsIAtom;
- #[link_name = "?svgMarkerAnonChildFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgMarkerAnonChildFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgMarkerAnonChildFrame: *mut nsIAtom;
- #[link_name = "?svgMaskFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgMaskFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgMaskFrame: *mut nsIAtom;
- #[link_name = "?svgOuterSVGFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgOuterSVGFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgOuterSVGFrame: *mut nsIAtom;
- #[link_name = "?svgOuterSVGAnonChildFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgOuterSVGAnonChildFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgOuterSVGAnonChildFrame: *mut nsIAtom;
- #[link_name = "?svgPathGeometryFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgPathGeometryFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgPathGeometryFrame: *mut nsIAtom;
- #[link_name = "?svgPatternFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgPatternFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgPatternFrame: *mut nsIAtom;
- #[link_name = "?svgRadialGradientFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgRadialGradientFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgRadialGradientFrame: *mut nsIAtom;
- #[link_name = "?svgStopFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgStopFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgStopFrame: *mut nsIAtom;
- #[link_name = "?svgSwitchFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgSwitchFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgSwitchFrame: *mut nsIAtom;
- #[link_name = "?svgTextFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgTextFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgTextFrame: *mut nsIAtom;
- #[link_name = "?svgUseFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgUseFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgUseFrame: *mut nsIAtom;
- #[link_name = "?svgViewFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?svgViewFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_svgViewFrame: *mut nsIAtom;
- #[link_name = "?HTMLVideoFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?HTMLVideoFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_HTMLVideoFrame: *mut nsIAtom;
- #[link_name = "?onloadend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onloadend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onloadend: *mut nsIAtom;
- #[link_name = "?onloadstart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onloadstart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onloadstart: *mut nsIAtom;
- #[link_name = "?onprogress@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onprogress@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onprogress: *mut nsIAtom;
- #[link_name = "?onsuspend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onsuspend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onsuspend: *mut nsIAtom;
- #[link_name = "?onemptied@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onemptied@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onemptied: *mut nsIAtom;
- #[link_name = "?onstalled@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onstalled@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onstalled: *mut nsIAtom;
- #[link_name = "?onplay@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onplay@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onplay: *mut nsIAtom;
- #[link_name = "?onpause@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onpause@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onpause: *mut nsIAtom;
- #[link_name = "?onloadedmetadata@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onloadedmetadata@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onloadedmetadata: *mut nsIAtom;
- #[link_name = "?onloadeddata@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onloadeddata@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onloadeddata: *mut nsIAtom;
- #[link_name = "?onwaiting@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onwaiting@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onwaiting: *mut nsIAtom;
- #[link_name = "?onplaying@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onplaying@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onplaying: *mut nsIAtom;
- #[link_name = "?oncanplay@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncanplay@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncanplay: *mut nsIAtom;
- #[link_name = "?oncanplaythrough@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncanplaythrough@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncanplaythrough: *mut nsIAtom;
- #[link_name = "?onseeking@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onseeking@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onseeking: *mut nsIAtom;
- #[link_name = "?onseeked@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onseeked@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onseeked: *mut nsIAtom;
- #[link_name = "?ontimeout@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ontimeout@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ontimeout: *mut nsIAtom;
- #[link_name = "?ontimeupdate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ontimeupdate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ontimeupdate: *mut nsIAtom;
- #[link_name = "?onended@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onended@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onended: *mut nsIAtom;
- #[link_name = "?onratechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onratechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onratechange: *mut nsIAtom;
- #[link_name = "?ondurationchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondurationchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondurationchange: *mut nsIAtom;
- #[link_name = "?onvolumechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onvolumechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onvolumechange: *mut nsIAtom;
- #[link_name = "?onaddtrack@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onaddtrack@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onaddtrack: *mut nsIAtom;
- #[link_name = "?oncontrollerchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncontrollerchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncontrollerchange: *mut nsIAtom;
- #[link_name = "?oncuechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?oncuechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_oncuechange: *mut nsIAtom;
- #[link_name = "?onenter@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onenter@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onenter: *mut nsIAtom;
- #[link_name = "?onexit@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onexit@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onexit: *mut nsIAtom;
- #[link_name = "?onencrypted@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onencrypted@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onencrypted: *mut nsIAtom;
- #[link_name = "?encrypted@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?encrypted@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_encrypted: *mut nsIAtom;
- #[link_name = "?onremovetrack@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onremovetrack@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onremovetrack: *mut nsIAtom;
- #[link_name = "?loadstart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?loadstart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_loadstart: *mut nsIAtom;
- #[link_name = "?suspend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?suspend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_suspend: *mut nsIAtom;
- #[link_name = "?emptied@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?emptied@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_emptied: *mut nsIAtom;
- #[link_name = "?stalled@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?stalled@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_stalled: *mut nsIAtom;
- #[link_name = "?play@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?play@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_play: *mut nsIAtom;
- #[link_name = "?pause@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pause@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pause: *mut nsIAtom;
- #[link_name = "?loadedmetadata@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?loadedmetadata@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_loadedmetadata: *mut nsIAtom;
- #[link_name = "?loadeddata@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?loadeddata@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_loadeddata: *mut nsIAtom;
- #[link_name = "?waiting@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?waiting@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_waiting: *mut nsIAtom;
- #[link_name = "?playing@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?playing@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_playing: *mut nsIAtom;
- #[link_name = "?seeking@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?seeking@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_seeking: *mut nsIAtom;
- #[link_name = "?seeked@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?seeked@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_seeked: *mut nsIAtom;
- #[link_name = "?timeupdate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?timeupdate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_timeupdate: *mut nsIAtom;
- #[link_name = "?ended@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ended@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ended: *mut nsIAtom;
- #[link_name = "?canplay@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?canplay@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_canplay: *mut nsIAtom;
- #[link_name = "?canplaythrough@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?canplaythrough@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_canplaythrough: *mut nsIAtom;
- #[link_name = "?ratechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ratechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ratechange: *mut nsIAtom;
- #[link_name = "?durationchange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?durationchange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_durationchange: *mut nsIAtom;
- #[link_name = "?volumechange@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?volumechange@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_volumechange: *mut nsIAtom;
- #[link_name = "?ondataavailable@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ondataavailable@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ondataavailable: *mut nsIAtom;
- #[link_name = "?onwarning@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onwarning@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onwarning: *mut nsIAtom;
- #[link_name = "?onstart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onstart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onstart: *mut nsIAtom;
- #[link_name = "?onstop@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onstop@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onstop: *mut nsIAtom;
- #[link_name = "?onphoto@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onphoto@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onphoto: *mut nsIAtom;
- #[link_name = "?onactivestatechanged@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onactivestatechanged@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onactivestatechanged: *mut nsIAtom;
- #[link_name = "?ongamepadbuttondown@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ongamepadbuttondown@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ongamepadbuttondown: *mut nsIAtom;
- #[link_name = "?ongamepadbuttonup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ongamepadbuttonup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ongamepadbuttonup: *mut nsIAtom;
- #[link_name = "?ongamepadaxismove@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ongamepadaxismove@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ongamepadaxismove: *mut nsIAtom;
- #[link_name = "?ongamepadconnected@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ongamepadconnected@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ongamepadconnected: *mut nsIAtom;
- #[link_name = "?ongamepaddisconnected@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ongamepaddisconnected@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ongamepaddisconnected: *mut nsIAtom;
- #[link_name = "?animationsProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?animationsProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_animationsProperty: *mut nsIAtom;
- #[link_name = "?animationsOfBeforeProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?animationsOfBeforeProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_animationsOfBeforeProperty: *mut nsIAtom;
- #[link_name = "?animationsOfAfterProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?animationsOfAfterProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_animationsOfAfterProperty: *mut nsIAtom;
- #[link_name = "?animationEffectsProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?animationEffectsProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_animationEffectsProperty: *mut nsIAtom;
- #[link_name = "?animationEffectsForBeforeProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?animationEffectsForBeforeProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_animationEffectsForBeforeProperty: *mut nsIAtom;
- #[link_name = "?animationEffectsForAfterProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?animationEffectsForAfterProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_animationEffectsForAfterProperty: *mut nsIAtom;
- #[link_name = "?cssPseudoElementBeforeProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cssPseudoElementBeforeProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cssPseudoElementBeforeProperty: *mut nsIAtom;
- #[link_name = "?cssPseudoElementAfterProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cssPseudoElementAfterProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cssPseudoElementAfterProperty: *mut nsIAtom;
- #[link_name = "?transitionsProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?transitionsProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_transitionsProperty: *mut nsIAtom;
- #[link_name = "?transitionsOfBeforeProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?transitionsOfBeforeProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_transitionsOfBeforeProperty: *mut nsIAtom;
- #[link_name = "?transitionsOfAfterProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?transitionsOfAfterProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_transitionsOfAfterProperty: *mut nsIAtom;
- #[link_name = "?genConInitializerProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?genConInitializerProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_genConInitializerProperty: *mut nsIAtom;
- #[link_name = "?labelMouseDownPtProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?labelMouseDownPtProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_labelMouseDownPtProperty: *mut nsIAtom;
- #[link_name = "?baseURIProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?baseURIProperty@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_baseURIProperty: *mut nsIAtom;
- #[link_name = "?lockedStyleStates@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lockedStyleStates@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lockedStyleStates: *mut nsIAtom;
- #[link_name = "?apzCallbackTransform@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?apzCallbackTransform@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_apzCallbackTransform: *mut nsIAtom;
- #[link_name = "?restylableAnonymousNode@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?restylableAnonymousNode@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_restylableAnonymousNode: *mut nsIAtom;
- #[link_name = "?paintRequestTime@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?paintRequestTime@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_paintRequestTime: *mut nsIAtom;
- #[link_name = "?Japanese@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Japanese@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Japanese: *mut nsIAtom;
- #[link_name = "?Chinese@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Chinese@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Chinese: *mut nsIAtom;
- #[link_name = "?Taiwanese@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Taiwanese@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Taiwanese: *mut nsIAtom;
- #[link_name = "?HongKongChinese@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?HongKongChinese@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_HongKongChinese: *mut nsIAtom;
- #[link_name = "?Unicode@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Unicode@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Unicode: *mut nsIAtom;
- #[link_name = "?ko@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ko@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ko: *mut nsIAtom;
- #[link_name = "?zh_cn@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?zh_cn@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_zh_cn: *mut nsIAtom;
- #[link_name = "?zh_hk@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?zh_hk@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_zh_hk: *mut nsIAtom;
- #[link_name = "?zh_tw@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?zh_tw@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_zh_tw: *mut nsIAtom;
- #[link_name = "?x_cyrillic@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_cyrillic@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_cyrillic: *mut nsIAtom;
- #[link_name = "?he@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?he@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_he: *mut nsIAtom;
- #[link_name = "?ar@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ar@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ar: *mut nsIAtom;
- #[link_name = "?x_devanagari@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_devanagari@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_devanagari: *mut nsIAtom;
- #[link_name = "?x_tamil@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_tamil@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_tamil: *mut nsIAtom;
- #[link_name = "?x_armn@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_armn@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_armn: *mut nsIAtom;
- #[link_name = "?x_beng@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_beng@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_beng: *mut nsIAtom;
- #[link_name = "?x_cans@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_cans@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_cans: *mut nsIAtom;
- #[link_name = "?x_ethi@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_ethi@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_ethi: *mut nsIAtom;
- #[link_name = "?x_geor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_geor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_geor: *mut nsIAtom;
- #[link_name = "?x_gujr@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_gujr@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_gujr: *mut nsIAtom;
- #[link_name = "?x_guru@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_guru@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_guru: *mut nsIAtom;
- #[link_name = "?x_khmr@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_khmr@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_khmr: *mut nsIAtom;
- #[link_name = "?x_knda@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_knda@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_knda: *mut nsIAtom;
- #[link_name = "?x_mlym@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_mlym@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_mlym: *mut nsIAtom;
- #[link_name = "?x_orya@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_orya@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_orya: *mut nsIAtom;
- #[link_name = "?x_sinh@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_sinh@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_sinh: *mut nsIAtom;
- #[link_name = "?x_telu@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_telu@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_telu: *mut nsIAtom;
- #[link_name = "?x_tibt@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_tibt@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_tibt: *mut nsIAtom;
- #[link_name = "?az@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?az@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_az: *mut nsIAtom;
- #[link_name = "?ba@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ba@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ba: *mut nsIAtom;
- #[link_name = "?crh@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?crh@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_crh: *mut nsIAtom;
- #[link_name = "?el@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?el@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_el: *mut nsIAtom;
- #[link_name = "?ga@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ga@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ga: *mut nsIAtom;
- #[link_name = "?nl@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nl@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nl: *mut nsIAtom;
- #[link_name = "?x_math@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?x_math@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_x_math: *mut nsIAtom;
- #[link_name = "?TypingTxnName@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?TypingTxnName@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_TypingTxnName: *mut nsIAtom;
- #[link_name = "?IMETxnName@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?IMETxnName@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_IMETxnName: *mut nsIAtom;
- #[link_name = "?DeleteTxnName@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?DeleteTxnName@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_DeleteTxnName: *mut nsIAtom;
- #[link_name = "?serif@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?serif@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_serif: *mut nsIAtom;
- #[link_name = "?sans_serif@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?sans_serif@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_sans_serif: *mut nsIAtom;
- #[link_name = "?cursive@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cursive@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cursive: *mut nsIAtom;
- #[link_name = "?fantasy@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?fantasy@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_fantasy: *mut nsIAtom;
- #[link_name = "?monospace@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?monospace@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_monospace: *mut nsIAtom;
- #[link_name = "?Remote@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Remote@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Remote: *mut nsIAtom;
- #[link_name = "?RemoteId@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?RemoteId@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_RemoteId: *mut nsIAtom;
- #[link_name = "?DisplayPort@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?DisplayPort@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_DisplayPort: *mut nsIAtom;
- #[link_name = "?DisplayPortMargins@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?DisplayPortMargins@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_DisplayPortMargins: *mut nsIAtom;
- #[link_name = "?DisplayPortBase@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?DisplayPortBase@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_DisplayPortBase: *mut nsIAtom;
- #[link_name = "?AsyncScrollLayerCreationFailed@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?AsyncScrollLayerCreationFailed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_AsyncScrollLayerCreationFailed: *mut nsIAtom;
- #[link_name = "?forcemessagemanager@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?forcemessagemanager@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_forcemessagemanager: *mut nsIAtom;
- #[link_name = "?color_picker_available@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?color_picker_available@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_color_picker_available: *mut nsIAtom;
- #[link_name = "?scrollbar_start_backward@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scrollbar_start_backward@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scrollbar_start_backward: *mut nsIAtom;
- #[link_name = "?scrollbar_start_forward@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scrollbar_start_forward@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scrollbar_start_forward: *mut nsIAtom;
- #[link_name = "?scrollbar_end_backward@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scrollbar_end_backward@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scrollbar_end_backward: *mut nsIAtom;
- #[link_name = "?scrollbar_end_forward@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scrollbar_end_forward@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scrollbar_end_forward: *mut nsIAtom;
- #[link_name = "?scrollbar_thumb_proportional@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scrollbar_thumb_proportional@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scrollbar_thumb_proportional: *mut nsIAtom;
- #[link_name = "?images_in_menus@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?images_in_menus@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_images_in_menus: *mut nsIAtom;
- #[link_name = "?images_in_buttons@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?images_in_buttons@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_images_in_buttons: *mut nsIAtom;
- #[link_name = "?overlay_scrollbars@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?overlay_scrollbars@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_overlay_scrollbars: *mut nsIAtom;
- #[link_name = "?windows_default_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?windows_default_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_windows_default_theme: *mut nsIAtom;
- #[link_name = "?mac_graphite_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mac_graphite_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mac_graphite_theme: *mut nsIAtom;
- #[link_name = "?mac_lion_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mac_lion_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mac_lion_theme: *mut nsIAtom;
- #[link_name = "?mac_yosemite_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mac_yosemite_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mac_yosemite_theme: *mut nsIAtom;
- #[link_name = "?windows_compositor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?windows_compositor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_windows_compositor: *mut nsIAtom;
- #[link_name = "?windows_glass@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?windows_glass@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_windows_glass: *mut nsIAtom;
- #[link_name = "?touch_enabled@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?touch_enabled@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_touch_enabled: *mut nsIAtom;
- #[link_name = "?menubar_drag@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?menubar_drag@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_menubar_drag: *mut nsIAtom;
- #[link_name = "?swipe_animation_enabled@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?swipe_animation_enabled@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_swipe_animation_enabled: *mut nsIAtom;
- #[link_name = "?physical_home_button@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?physical_home_button@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_physical_home_button: *mut nsIAtom;
- #[link_name = "?windows_classic@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?windows_classic@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_windows_classic: *mut nsIAtom;
- #[link_name = "?windows_theme_aero@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?windows_theme_aero@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_windows_theme_aero: *mut nsIAtom;
- #[link_name = "?windows_theme_aero_lite@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?windows_theme_aero_lite@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_windows_theme_aero_lite: *mut nsIAtom;
- #[link_name = "?windows_theme_luna_blue@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?windows_theme_luna_blue@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_windows_theme_luna_blue: *mut nsIAtom;
- #[link_name = "?windows_theme_luna_olive@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?windows_theme_luna_olive@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_windows_theme_luna_olive: *mut nsIAtom;
- #[link_name = "?windows_theme_luna_silver@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?windows_theme_luna_silver@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_windows_theme_luna_silver: *mut nsIAtom;
- #[link_name = "?windows_theme_royale@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?windows_theme_royale@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_windows_theme_royale: *mut nsIAtom;
- #[link_name = "?windows_theme_zune@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?windows_theme_zune@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_windows_theme_zune: *mut nsIAtom;
- #[link_name = "?windows_theme_generic@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?windows_theme_generic@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_windows_theme_generic: *mut nsIAtom;
- #[link_name = "?_moz_color_picker_available@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_color_picker_available@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_color_picker_available: *mut nsIAtom;
- #[link_name = "?_moz_scrollbar_start_backward@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_scrollbar_start_backward@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_scrollbar_start_backward: *mut nsIAtom;
- #[link_name = "?_moz_scrollbar_start_forward@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_scrollbar_start_forward@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_scrollbar_start_forward: *mut nsIAtom;
- #[link_name = "?_moz_scrollbar_end_backward@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_scrollbar_end_backward@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_scrollbar_end_backward: *mut nsIAtom;
- #[link_name = "?_moz_scrollbar_end_forward@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_scrollbar_end_forward@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_scrollbar_end_forward: *mut nsIAtom;
- #[link_name = "?_moz_scrollbar_thumb_proportional@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_scrollbar_thumb_proportional@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_scrollbar_thumb_proportional: *mut nsIAtom;
- #[link_name = "?_moz_images_in_menus@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_images_in_menus@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_images_in_menus: *mut nsIAtom;
- #[link_name = "?_moz_images_in_buttons@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_images_in_buttons@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_images_in_buttons: *mut nsIAtom;
- #[link_name = "?_moz_overlay_scrollbars@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_overlay_scrollbars@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_overlay_scrollbars: *mut nsIAtom;
- #[link_name = "?_moz_windows_default_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_windows_default_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_windows_default_theme: *mut nsIAtom;
- #[link_name = "?_moz_mac_graphite_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_mac_graphite_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_mac_graphite_theme: *mut nsIAtom;
- #[link_name = "?_moz_mac_lion_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_mac_lion_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_mac_lion_theme: *mut nsIAtom;
- #[link_name = "?_moz_mac_yosemite_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_mac_yosemite_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_mac_yosemite_theme: *mut nsIAtom;
- #[link_name = "?_moz_windows_compositor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_windows_compositor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_windows_compositor: *mut nsIAtom;
- #[link_name = "?_moz_windows_classic@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_windows_classic@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_windows_classic: *mut nsIAtom;
- #[link_name = "?_moz_windows_glass@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_windows_glass@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_windows_glass: *mut nsIAtom;
- #[link_name = "?_moz_windows_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_windows_theme@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_windows_theme: *mut nsIAtom;
- #[link_name = "?_moz_os_version@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_os_version@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_os_version: *mut nsIAtom;
- #[link_name = "?_moz_touch_enabled@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_touch_enabled@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_touch_enabled: *mut nsIAtom;
- #[link_name = "?_moz_menubar_drag@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_menubar_drag@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_menubar_drag: *mut nsIAtom;
- #[link_name = "?_moz_device_pixel_ratio@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_device_pixel_ratio@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_device_pixel_ratio: *mut nsIAtom;
- #[link_name = "?_moz_device_orientation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_device_orientation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_device_orientation: *mut nsIAtom;
- #[link_name = "?_moz_is_resource_document@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_is_resource_document@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_is_resource_document: *mut nsIAtom;
- #[link_name = "?_moz_swipe_animation_enabled@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_swipe_animation_enabled@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_swipe_animation_enabled: *mut nsIAtom;
- #[link_name = "?_moz_physical_home_button@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_moz_physical_home_button@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__moz_physical_home_button: *mut nsIAtom;
- #[link_name = "?Back@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Back@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Back: *mut nsIAtom;
- #[link_name = "?Forward@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Forward@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Forward: *mut nsIAtom;
- #[link_name = "?Reload@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Reload@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Reload: *mut nsIAtom;
- #[link_name = "?Stop@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Stop@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Stop: *mut nsIAtom;
- #[link_name = "?Search@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Search@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Search: *mut nsIAtom;
- #[link_name = "?Bookmarks@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Bookmarks@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Bookmarks: *mut nsIAtom;
- #[link_name = "?Home@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Home@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Home: *mut nsIAtom;
- #[link_name = "?Clear@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Clear@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Clear: *mut nsIAtom;
- #[link_name = "?VolumeUp@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?VolumeUp@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_VolumeUp: *mut nsIAtom;
- #[link_name = "?VolumeDown@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?VolumeDown@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_VolumeDown: *mut nsIAtom;
- #[link_name = "?NextTrack@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?NextTrack@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_NextTrack: *mut nsIAtom;
- #[link_name = "?PreviousTrack@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?PreviousTrack@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_PreviousTrack: *mut nsIAtom;
- #[link_name = "?MediaStop@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?MediaStop@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_MediaStop: *mut nsIAtom;
- #[link_name = "?PlayPause@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?PlayPause@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_PlayPause: *mut nsIAtom;
- #[link_name = "?Menu@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Menu@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Menu: *mut nsIAtom;
- #[link_name = "?New@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?New@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_New: *mut nsIAtom;
- #[link_name = "?Open@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Open@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Open: *mut nsIAtom;
- #[link_name = "?Close@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Close@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Close: *mut nsIAtom;
- #[link_name = "?Save@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Save@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Save: *mut nsIAtom;
- #[link_name = "?Find@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Find@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Find: *mut nsIAtom;
- #[link_name = "?Help@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Help@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Help: *mut nsIAtom;
- #[link_name = "?Print@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?Print@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_Print: *mut nsIAtom;
- #[link_name = "?SendMail@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?SendMail@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_SendMail: *mut nsIAtom;
- #[link_name = "?ForwardMail@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ForwardMail@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ForwardMail: *mut nsIAtom;
- #[link_name = "?ReplyToMail@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?ReplyToMail@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_ReplyToMail: *mut nsIAtom;
- #[link_name = "?mouseWheel@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mouseWheel@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mouseWheel: *mut nsIAtom;
- #[link_name = "?pixels@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pixels@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pixels: *mut nsIAtom;
- #[link_name = "?lines@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lines@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lines: *mut nsIAtom;
- #[link_name = "?pages@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?pages@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_pages: *mut nsIAtom;
- #[link_name = "?scrollbars@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?scrollbars@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_scrollbars: *mut nsIAtom;
- #[link_name = "?other@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?other@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_other: *mut nsIAtom;
- #[link_name = "?apz@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?apz@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_apz: *mut nsIAtom;
- #[link_name = "?restore@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?restore@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_restore: *mut nsIAtom;
- #[link_name = "?alert@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?alert@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_alert: *mut nsIAtom;
- #[link_name = "?alertdialog@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?alertdialog@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_alertdialog: *mut nsIAtom;
- #[link_name = "?application@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?application@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_application: *mut nsIAtom;
- #[link_name = "?aria_activedescendant@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_activedescendant@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_activedescendant: *mut nsIAtom;
- #[link_name = "?aria_atomic@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_atomic@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_atomic: *mut nsIAtom;
- #[link_name = "?aria_autocomplete@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_autocomplete@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_autocomplete: *mut nsIAtom;
- #[link_name = "?aria_busy@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_busy@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_busy: *mut nsIAtom;
- #[link_name = "?aria_checked@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_checked@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_checked: *mut nsIAtom;
- #[link_name = "?aria_colcount@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_colcount@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_colcount: *mut nsIAtom;
- #[link_name = "?aria_colindex@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_colindex@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_colindex: *mut nsIAtom;
- #[link_name = "?aria_controls@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_controls@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_controls: *mut nsIAtom;
- #[link_name = "?aria_describedby@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_describedby@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_describedby: *mut nsIAtom;
- #[link_name = "?aria_disabled@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_disabled@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_disabled: *mut nsIAtom;
- #[link_name = "?aria_dropeffect@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_dropeffect@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_dropeffect: *mut nsIAtom;
- #[link_name = "?aria_expanded@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_expanded@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_expanded: *mut nsIAtom;
- #[link_name = "?aria_flowto@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_flowto@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_flowto: *mut nsIAtom;
- #[link_name = "?aria_grabbed@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_grabbed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_grabbed: *mut nsIAtom;
- #[link_name = "?aria_haspopup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_haspopup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_haspopup: *mut nsIAtom;
- #[link_name = "?aria_hidden@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_hidden@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_hidden: *mut nsIAtom;
- #[link_name = "?aria_invalid@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_invalid@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_invalid: *mut nsIAtom;
- #[link_name = "?aria_label@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_label@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_label: *mut nsIAtom;
- #[link_name = "?aria_labelledby@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_labelledby@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_labelledby: *mut nsIAtom;
- #[link_name = "?aria_level@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_level@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_level: *mut nsIAtom;
- #[link_name = "?aria_live@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_live@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_live: *mut nsIAtom;
- #[link_name = "?aria_modal@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_modal@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_modal: *mut nsIAtom;
- #[link_name = "?aria_multiline@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_multiline@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_multiline: *mut nsIAtom;
- #[link_name = "?aria_multiselectable@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_multiselectable@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_multiselectable: *mut nsIAtom;
- #[link_name = "?aria_orientation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_orientation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_orientation: *mut nsIAtom;
- #[link_name = "?aria_owns@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_owns@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_owns: *mut nsIAtom;
- #[link_name = "?aria_posinset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_posinset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_posinset: *mut nsIAtom;
- #[link_name = "?aria_pressed@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_pressed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_pressed: *mut nsIAtom;
- #[link_name = "?aria_readonly@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_readonly@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_readonly: *mut nsIAtom;
- #[link_name = "?aria_relevant@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_relevant@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_relevant: *mut nsIAtom;
- #[link_name = "?aria_required@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_required@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_required: *mut nsIAtom;
- #[link_name = "?aria_rowcount@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_rowcount@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_rowcount: *mut nsIAtom;
- #[link_name = "?aria_rowindex@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_rowindex@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_rowindex: *mut nsIAtom;
- #[link_name = "?aria_selected@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_selected@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_selected: *mut nsIAtom;
- #[link_name = "?aria_setsize@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_setsize@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_setsize: *mut nsIAtom;
- #[link_name = "?aria_sort@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_sort@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_sort: *mut nsIAtom;
- #[link_name = "?aria_valuenow@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_valuenow@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_valuenow: *mut nsIAtom;
- #[link_name = "?aria_valuemin@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_valuemin@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_valuemin: *mut nsIAtom;
- #[link_name = "?aria_valuemax@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_valuemax@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_valuemax: *mut nsIAtom;
- #[link_name = "?aria_valuetext@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?aria_valuetext@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_aria_valuetext: *mut nsIAtom;
- #[link_name = "?AreaFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?AreaFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_AreaFrame: *mut nsIAtom;
- #[link_name = "?auto_generated@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?auto_generated@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_auto_generated: *mut nsIAtom;
- #[link_name = "?banner@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?banner@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_banner: *mut nsIAtom;
- #[link_name = "?checkable@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?checkable@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_checkable: *mut nsIAtom;
- #[link_name = "?choices@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?choices@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_choices: *mut nsIAtom;
- #[link_name = "?columnheader@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?columnheader@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_columnheader: *mut nsIAtom;
- #[link_name = "?complementary@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?complementary@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_complementary: *mut nsIAtom;
- #[link_name = "?containerAtomic@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?containerAtomic@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_containerAtomic: *mut nsIAtom;
- #[link_name = "?containerBusy@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?containerBusy@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_containerBusy: *mut nsIAtom;
- #[link_name = "?containerLive@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?containerLive@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_containerLive: *mut nsIAtom;
- #[link_name = "?containerLiveRole@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?containerLiveRole@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_containerLiveRole: *mut nsIAtom;
- #[link_name = "?containerRelevant@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?containerRelevant@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_containerRelevant: *mut nsIAtom;
- #[link_name = "?contentinfo@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?contentinfo@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_contentinfo: *mut nsIAtom;
- #[link_name = "?cycles@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?cycles@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_cycles: *mut nsIAtom;
- #[link_name = "?datatable@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?datatable@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_datatable: *mut nsIAtom;
- #[link_name = "?eventFromInput@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?eventFromInput@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_eventFromInput: *mut nsIAtom;
- #[link_name = "?feed@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?feed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_feed: *mut nsIAtom;
- #[link_name = "?grammar@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?grammar@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_grammar: *mut nsIAtom;
- #[link_name = "?gridcell@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?gridcell@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_gridcell: *mut nsIAtom;
- #[link_name = "?heading@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?heading@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_heading: *mut nsIAtom;
- #[link_name = "?hitregion@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?hitregion@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_hitregion: *mut nsIAtom;
- #[link_name = "?InlineBlockFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?InlineBlockFrame@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_InlineBlockFrame: *mut nsIAtom;
- #[link_name = "?inlinevalue@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?inlinevalue@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_inlinevalue: *mut nsIAtom;
- #[link_name = "?invalid@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?invalid@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_invalid: *mut nsIAtom;
- #[link_name = "?item@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?item@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_item: *mut nsIAtom;
- #[link_name = "?itemset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?itemset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_itemset: *mut nsIAtom;
- #[link_name = "?lineNumber@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?lineNumber@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_lineNumber: *mut nsIAtom;
- #[link_name = "?linkedPanel@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?linkedPanel@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_linkedPanel: *mut nsIAtom;
- #[link_name = "?live@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?live@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_live: *mut nsIAtom;
- #[link_name = "?menuitemcheckbox@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?menuitemcheckbox@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_menuitemcheckbox: *mut nsIAtom;
- #[link_name = "?menuitemradio@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?menuitemradio@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_menuitemradio: *mut nsIAtom;
- #[link_name = "?mixed@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?mixed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_mixed: *mut nsIAtom;
- #[link_name = "?multiline@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?multiline@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_multiline: *mut nsIAtom;
- #[link_name = "?navigation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?navigation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_navigation: *mut nsIAtom;
- #[link_name = "?polite@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?polite@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_polite: *mut nsIAtom;
- #[link_name = "?posinset@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?posinset@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_posinset: *mut nsIAtom;
- #[link_name = "?presentation@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?presentation@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_presentation: *mut nsIAtom;
- #[link_name = "?progressbar@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?progressbar@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_progressbar: *mut nsIAtom;
- #[link_name = "?region@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?region@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_region: *mut nsIAtom;
- #[link_name = "?rowgroup@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rowgroup@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rowgroup: *mut nsIAtom;
- #[link_name = "?rowheader@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?rowheader@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_rowheader: *mut nsIAtom;
- #[link_name = "?search@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?search@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_search: *mut nsIAtom;
- #[link_name = "?searchbox@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?searchbox@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_searchbox: *mut nsIAtom;
- #[link_name = "?select1@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?select1@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_select1: *mut nsIAtom;
- #[link_name = "?setsize@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?setsize@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_setsize: *mut nsIAtom;
- #[link_name = "?spelling@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?spelling@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_spelling: *mut nsIAtom;
- #[link_name = "?spinbutton@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?spinbutton@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_spinbutton: *mut nsIAtom;
- #[link_name = "?status@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?status@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_status: *mut nsIAtom;
- #[link_name = "?_switch@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_switch@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__switch: *mut nsIAtom;
- #[link_name = "?tableCellIndex@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tableCellIndex@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tableCellIndex: *mut nsIAtom;
- #[link_name = "?tablist@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?tablist@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_tablist: *mut nsIAtom;
- #[link_name = "?textIndent@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?textIndent@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_textIndent: *mut nsIAtom;
- #[link_name = "?textInputType@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?textInputType@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_textInputType: *mut nsIAtom;
- #[link_name = "?textLineThroughColor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?textLineThroughColor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_textLineThroughColor: *mut nsIAtom;
- #[link_name = "?textLineThroughStyle@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?textLineThroughStyle@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_textLineThroughStyle: *mut nsIAtom;
- #[link_name = "?textPosition@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?textPosition@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_textPosition: *mut nsIAtom;
- #[link_name = "?textUnderlineColor@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?textUnderlineColor@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_textUnderlineColor: *mut nsIAtom;
- #[link_name = "?textUnderlineStyle@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?textUnderlineStyle@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_textUnderlineStyle: *mut nsIAtom;
- #[link_name = "?timer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?timer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_timer: *mut nsIAtom;
- #[link_name = "?toolbarname@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?toolbarname@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_toolbarname: *mut nsIAtom;
- #[link_name = "?toolbarseparator@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?toolbarseparator@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_toolbarseparator: *mut nsIAtom;
- #[link_name = "?toolbarspacer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?toolbarspacer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_toolbarspacer: *mut nsIAtom;
- #[link_name = "?toolbarspring@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?toolbarspring@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_toolbarspring: *mut nsIAtom;
- #[link_name = "?treegrid@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?treegrid@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_treegrid: *mut nsIAtom;
- #[link_name = "?_undefined@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?_undefined@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms__undefined: *mut nsIAtom;
- #[link_name = "?xmlroles@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?xmlroles@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_xmlroles: *mut nsIAtom;
- #[link_name = "?close_fence@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?close_fence@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_close_fence: *mut nsIAtom;
- #[link_name = "?denominator@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?denominator@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_denominator: *mut nsIAtom;
- #[link_name = "?numerator@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?numerator@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_numerator: *mut nsIAtom;
- #[link_name = "?open_fence@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?open_fence@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_open_fence: *mut nsIAtom;
- #[link_name = "?overscript@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?overscript@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_overscript: *mut nsIAtom;
- #[link_name = "?presubscript@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?presubscript@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_presubscript: *mut nsIAtom;
- #[link_name = "?presuperscript@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?presuperscript@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_presuperscript: *mut nsIAtom;
- #[link_name = "?root_index@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?root_index@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_root_index: *mut nsIAtom;
- #[link_name = "?subscript@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?subscript@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_subscript: *mut nsIAtom;
- #[link_name = "?superscript@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?superscript@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_superscript: *mut nsIAtom;
- #[link_name = "?underscript@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?underscript@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_underscript: *mut nsIAtom;
- #[link_name = "?onaudiostart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onaudiostart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onaudiostart: *mut nsIAtom;
- #[link_name = "?onaudioend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onaudioend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onaudioend: *mut nsIAtom;
- #[link_name = "?onsoundstart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onsoundstart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onsoundstart: *mut nsIAtom;
- #[link_name = "?onsoundend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onsoundend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onsoundend: *mut nsIAtom;
- #[link_name = "?onspeechstart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onspeechstart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onspeechstart: *mut nsIAtom;
- #[link_name = "?onspeechend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onspeechend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onspeechend: *mut nsIAtom;
- #[link_name = "?onresult@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onresult@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onresult: *mut nsIAtom;
- #[link_name = "?onnomatch@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onnomatch@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onnomatch: *mut nsIAtom;
- #[link_name = "?onresume@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onresume@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onresume: *mut nsIAtom;
- #[link_name = "?onmark@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onmark@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onmark: *mut nsIAtom;
- #[link_name = "?onboundary@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onboundary@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onboundary: *mut nsIAtom;
- #[link_name = "?usercontextid@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?usercontextid@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_usercontextid: *mut nsIAtom;
- #[link_name = "?nsuri_xmlns@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nsuri_xmlns@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nsuri_xmlns: *mut nsIAtom;
- #[link_name = "?nsuri_xml@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nsuri_xml@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nsuri_xml: *mut nsIAtom;
- #[link_name = "?nsuri_xhtml@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nsuri_xhtml@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nsuri_xhtml: *mut nsIAtom;
- #[link_name = "?nsuri_xlink@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nsuri_xlink@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nsuri_xlink: *mut nsIAtom;
- #[link_name = "?nsuri_xslt@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nsuri_xslt@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nsuri_xslt: *mut nsIAtom;
- #[link_name = "?nsuri_xbl@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nsuri_xbl@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nsuri_xbl: *mut nsIAtom;
- #[link_name = "?nsuri_mathml@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nsuri_mathml@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nsuri_mathml: *mut nsIAtom;
- #[link_name = "?nsuri_rdf@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nsuri_rdf@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nsuri_rdf: *mut nsIAtom;
- #[link_name = "?nsuri_xul@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nsuri_xul@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nsuri_xul: *mut nsIAtom;
- #[link_name = "?nsuri_svg@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?nsuri_svg@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_nsuri_svg: *mut nsIAtom;
- #[link_name = "?onsourceopen@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onsourceopen@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onsourceopen: *mut nsIAtom;
- #[link_name = "?onsourceended@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onsourceended@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onsourceended: *mut nsIAtom;
- #[link_name = "?onsourceclosed@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onsourceclosed@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onsourceclosed: *mut nsIAtom;
- #[link_name = "?onupdatestart@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onupdatestart@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onupdatestart: *mut nsIAtom;
- #[link_name = "?onupdate@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onupdate@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onupdate: *mut nsIAtom;
- #[link_name = "?onupdateend@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onupdateend@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onupdateend: *mut nsIAtom;
- #[link_name = "?onaddsourcebuffer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onaddsourcebuffer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onaddsourcebuffer: *mut nsIAtom;
- #[link_name = "?onremovesourcebuffer@nsGkAtoms@@2PAVnsIAtom@@A"]
+ #[link_name = "\x01?onremovesourcebuffer@nsGkAtoms@@2PAVnsIAtom@@A"]
pub static nsGkAtoms_onremovesourcebuffer: *mut nsIAtom;
- #[link_name = "?after@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?after@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_after: *mut nsICSSPseudoElement;
- #[link_name = "?before@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?before@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_before: *mut nsICSSPseudoElement;
- #[link_name = "?backdrop@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?backdrop@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_backdrop: *mut nsICSSPseudoElement;
- #[link_name = "?firstLetter@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?firstLetter@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_firstLetter: *mut nsICSSPseudoElement;
- #[link_name = "?firstLine@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?firstLine@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_firstLine: *mut nsICSSPseudoElement;
- #[link_name = "?mozSelection@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozSelection@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozSelection: *mut nsICSSPseudoElement;
- #[link_name = "?mozFocusInner@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozFocusInner@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozFocusInner: *mut nsICSSPseudoElement;
- #[link_name = "?mozFocusOuter@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozFocusOuter@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozFocusOuter: *mut nsICSSPseudoElement;
- #[link_name = "?mozListBullet@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozListBullet@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozListBullet: *mut nsICSSPseudoElement;
- #[link_name = "?mozListNumber@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozListNumber@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozListNumber: *mut nsICSSPseudoElement;
- #[link_name = "?mozMathAnonymous@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozMathAnonymous@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozMathAnonymous: *mut nsICSSPseudoElement;
- #[link_name = "?mozNumberWrapper@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozNumberWrapper@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozNumberWrapper: *mut nsICSSPseudoElement;
- #[link_name = "?mozNumberText@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozNumberText@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozNumberText: *mut nsICSSPseudoElement;
- #[link_name = "?mozNumberSpinBox@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozNumberSpinBox@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozNumberSpinBox: *mut nsICSSPseudoElement;
- #[link_name = "?mozNumberSpinUp@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozNumberSpinUp@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozNumberSpinUp: *mut nsICSSPseudoElement;
- #[link_name = "?mozNumberSpinDown@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozNumberSpinDown@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozNumberSpinDown: *mut nsICSSPseudoElement;
- #[link_name = "?mozProgressBar@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozProgressBar@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozProgressBar: *mut nsICSSPseudoElement;
- #[link_name = "?mozRangeTrack@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozRangeTrack@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozRangeTrack: *mut nsICSSPseudoElement;
- #[link_name = "?mozRangeProgress@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozRangeProgress@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozRangeProgress: *mut nsICSSPseudoElement;
- #[link_name = "?mozRangeThumb@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozRangeThumb@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozRangeThumb: *mut nsICSSPseudoElement;
- #[link_name = "?mozMeterBar@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozMeterBar@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozMeterBar: *mut nsICSSPseudoElement;
- #[link_name = "?mozPlaceholder@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozPlaceholder@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozPlaceholder: *mut nsICSSPseudoElement;
- #[link_name = "?mozColorSwatch@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
+ #[link_name = "\x01?mozColorSwatch@nsCSSPseudoElements@@2PAVnsICSSPseudoElement@@A"]
pub static nsCSSPseudoElements_mozColorSwatch: *mut nsICSSPseudoElement;
- #[link_name = "?mozText@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?mozText@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_mozText: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?mozOtherNonElement@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?mozOtherNonElement@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_mozOtherNonElement: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?mozAnonymousBlock@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?mozAnonymousBlock@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_mozAnonymousBlock: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?mozAnonymousPositionedBlock@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?mozAnonymousPositionedBlock@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_mozAnonymousPositionedBlock: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?mozMathMLAnonymousBlock@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?mozMathMLAnonymousBlock@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_mozMathMLAnonymousBlock: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?mozXULAnonymousBlock@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?mozXULAnonymousBlock@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_mozXULAnonymousBlock: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?horizontalFramesetBorder@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?horizontalFramesetBorder@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_horizontalFramesetBorder: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?verticalFramesetBorder@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?verticalFramesetBorder@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_verticalFramesetBorder: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?mozLineFrame@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?mozLineFrame@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_mozLineFrame: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?buttonContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?buttonContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_buttonContent: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?mozButtonLabel@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?mozButtonLabel@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_mozButtonLabel: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?cellContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?cellContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_cellContent: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?dropDownList@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?dropDownList@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_dropDownList: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?fieldsetContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?fieldsetContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_fieldsetContent: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?framesetBlank@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?framesetBlank@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_framesetBlank: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?mozDisplayComboboxControlFrame@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?mozDisplayComboboxControlFrame@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_mozDisplayComboboxControlFrame: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?htmlCanvasContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?htmlCanvasContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_htmlCanvasContent: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?inlineTable@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?inlineTable@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_inlineTable: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?table@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?table@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_table: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?tableCell@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?tableCell@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_tableCell: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?tableColGroup@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?tableColGroup@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_tableColGroup: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?tableCol@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?tableCol@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_tableCol: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?tableWrapper@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?tableWrapper@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_tableWrapper: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?tableRowGroup@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?tableRowGroup@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_tableRowGroup: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?tableRow@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?tableRow@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_tableRow: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?canvas@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?canvas@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_canvas: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?pageBreak@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?pageBreak@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_pageBreak: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?page@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?page@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_page: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?pageContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?pageContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_pageContent: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?pageSequence@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?pageSequence@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_pageSequence: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?scrolledContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?scrolledContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_scrolledContent: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?scrolledCanvas@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?scrolledCanvas@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_scrolledCanvas: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?scrolledPageSequence@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?scrolledPageSequence@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_scrolledPageSequence: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?columnContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?columnContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_columnContent: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?viewport@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?viewport@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_viewport: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?viewportScroll@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?viewportScroll@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_viewportScroll: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?anonymousFlexItem@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?anonymousFlexItem@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_anonymousFlexItem: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?anonymousGridItem@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?anonymousGridItem@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_anonymousGridItem: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?ruby@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?ruby@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_ruby: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?rubyBase@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?rubyBase@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_rubyBase: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?rubyBaseContainer@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?rubyBaseContainer@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_rubyBaseContainer: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?rubyText@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?rubyText@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_rubyText: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?rubyTextContainer@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?rubyTextContainer@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_rubyTextContainer: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?moztreecolumn@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?moztreecolumn@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_moztreecolumn: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?moztreerow@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?moztreerow@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_moztreerow: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?moztreeseparator@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?moztreeseparator@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_moztreeseparator: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?moztreecell@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?moztreecell@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_moztreecell: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?moztreeindentation@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?moztreeindentation@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_moztreeindentation: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?moztreeline@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?moztreeline@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_moztreeline: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?moztreetwisty@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?moztreetwisty@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_moztreetwisty: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?moztreeimage@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?moztreeimage@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_moztreeimage: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?moztreecelltext@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?moztreecelltext@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_moztreecelltext: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?moztreecheckbox@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?moztreecheckbox@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_moztreecheckbox: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?moztreeprogressmeter@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?moztreeprogressmeter@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_moztreeprogressmeter: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?moztreedropfeedback@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?moztreedropfeedback@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_moztreedropfeedback: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?mozSVGMarkerAnonChild@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?mozSVGMarkerAnonChild@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_mozSVGMarkerAnonChild: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?mozSVGOuterSVGAnonChild@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?mozSVGOuterSVGAnonChild@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_mozSVGOuterSVGAnonChild: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?mozSVGForeignContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?mozSVGForeignContent@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_mozSVGForeignContent: *mut nsICSSAnonBoxPseudo;
- #[link_name = "?mozSVGText@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
+ #[link_name = "\x01?mozSVGText@nsCSSAnonBoxes@@2PAVnsICSSAnonBoxPseudo@@A"]
pub static nsCSSAnonBoxes_mozSVGText: *mut nsICSSAnonBoxPseudo;
}
}
diff --git a/ports/geckolib/wrapper.rs b/ports/geckolib/wrapper.rs
index c168b1dcaaa..712febe446d 100644
--- a/ports/geckolib/wrapper.rs
+++ b/ports/geckolib/wrapper.rs
@@ -35,7 +35,6 @@ use snapshot::GeckoElementSnapshot;
use snapshot_helpers;
use std::fmt;
use std::marker::PhantomData;
-use std::mem::transmute;
use std::ops::BitOr;
use std::ptr;
use std::sync::Arc;
@@ -414,6 +413,8 @@ impl<'ld> TDocument for GeckoDocument<'ld> {
let elements = unsafe { self.document.drain_modified_elements() };
elements.into_iter().map(|(el, snapshot)| (ServoLayoutElement::from_layout_js(el), snapshot)).collect()*/
}
+ fn will_paint(&self) { unimplemented!() }
+ fn needs_paint_from_layout(&self) { unimplemented!() }
}
#[derive(Clone, Copy)]
@@ -460,8 +461,6 @@ lazy_static! {
};
}
-static NO_STYLE_ATTRIBUTE: Option<PropertyDeclarationBlock> = None;
-
impl<'le> TElement for GeckoElement<'le> {
type ConcreteNode = GeckoNode<'le>;
type ConcreteDocument = GeckoDocument<'le>;
@@ -470,14 +469,16 @@ impl<'le> TElement for GeckoElement<'le> {
unsafe { GeckoNode::from_raw(self.element as *mut RawGeckoNode) }
}
- fn style_attribute(&self) -> &Option<PropertyDeclarationBlock> {
+ fn style_attribute(&self) -> Option<&Arc<PropertyDeclarationBlock>> {
let declarations = unsafe { Gecko_GetServoDeclarationBlock(self.element) };
if declarations.is_null() {
- &NO_STYLE_ATTRIBUTE
+ None
} else {
- GeckoDeclarationBlock::with(declarations, |declarations| {
- unsafe { transmute(&declarations.declarations) }
- })
+ let opt_ptr = GeckoDeclarationBlock::with(declarations, |declarations| {
+ // Use a raw pointer to extend the lifetime
+ declarations.declarations.as_ref().map(|r| r as *const Arc<_>)
+ });
+ opt_ptr.map(|ptr| unsafe { &*ptr })
}
}
diff --git a/python/mach_bootstrap.py b/python/mach_bootstrap.py
index d63f66492d5..b5b94a72660 100644
--- a/python/mach_bootstrap.py
+++ b/python/mach_bootstrap.py
@@ -6,9 +6,9 @@ from __future__ import print_function, unicode_literals
import os
import platform
-import subprocess
import sys
from distutils.spawn import find_executable
+from subprocess import PIPE, Popen
SEARCH_PATHS = [
os.path.join("python", "tidy"),
@@ -26,7 +26,6 @@ MACH_MODULES = [
os.path.join('python', 'servo', 'devenv_commands.py'),
]
-
CATEGORIES = {
'bootstrap': {
'short': 'Bootstrap Commands',
@@ -76,55 +75,53 @@ CATEGORIES = {
}
}
+# Possible names of executables
+PYTHON_NAMES = ["python-2.7", "python2.7", "python2", "python"]
+VIRTUALENV_NAMES = ["virtualenv-2.7", "virtualenv2.7", "virtualenv2", "virtualenv"]
+PIP_NAMES = ["pip-2.7", "pip2.7", "pip2", "pip"]
+
-def _get_exec(*names):
+def _get_exec_path(names, is_valid_path=lambda _path: True):
for name in names:
path = find_executable(name)
- if path is not None:
+ if path and is_valid_path(path):
return path
return None
def _get_virtualenv_script_dir():
# Virtualenv calls its scripts folder "bin" on linux/OSX/MSYS64 but "Scripts" on Windows
- if os.name == "nt" and os.path.sep != "/":
+ if os.name == "nt" and os.sep != "/":
return "Scripts"
return "bin"
-# Possible names of executables, sorted from most to least specific
-PYTHON_NAMES = ["python-2.7", "python2.7", "python2", "python"]
-VIRTUALENV_NAMES = ["virtualenv-2.7", "virtualenv2.7", "virtualenv2", "virtualenv"]
-PIP_NAMES = ["pip-2.7", "pip2.7", "pip2", "pip"]
-
-
def _activate_virtualenv(topdir):
virtualenv_path = os.path.join(topdir, "python", "_virtualenv")
- python = _get_exec(*PYTHON_NAMES)
- if python is None:
- sys.exit("Python is not installed. Please install it prior to running mach.")
+ check_exec_path = lambda path: path.startswith(virtualenv_path)
+ python = _get_exec_path(PYTHON_NAMES) # If there was no python, mach wouldn't have run at all!
+ if not python:
+ sys.exit('Failed to find python executable for starting virtualenv.')
script_dir = _get_virtualenv_script_dir()
activate_path = os.path.join(virtualenv_path, script_dir, "activate_this.py")
if not (os.path.exists(virtualenv_path) and os.path.exists(activate_path)):
- virtualenv = _get_exec(*VIRTUALENV_NAMES)
- if virtualenv is None:
+ virtualenv = _get_exec_path(VIRTUALENV_NAMES)
+ if not virtualenv:
sys.exit("Python virtualenv is not installed. Please install it prior to running mach.")
- process = subprocess.Popen(
- [virtualenv, "-p", python, virtualenv_path],
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
+ process = Popen([virtualenv, "-p", python, virtualenv_path], stdout=PIPE, stderr=PIPE)
process.wait()
if process.returncode:
- sys.exit("Python virtualenv failed to execute properly: {}"
- .format(process.communicate()[1]))
+ out, err = process.communicate()
+ print('Python virtualenv failed to execute properly:')
+ sys.exit('Output: %s\nError: %s' % (out, err))
execfile(activate_path, dict(__file__=activate_path))
- python = find_executable("python")
- if python is None or not python.startswith(virtualenv_path):
- sys.exit("Python virtualenv failed to activate.")
+ python = _get_exec_path(PYTHON_NAMES, is_valid_path=check_exec_path)
+ if not python:
+ sys.exit("Python executable in virtualenv failed to activate.")
# TODO: Right now, we iteratively install all the requirements by invoking
# `pip install` each time. If it were the case that there were conflicting
@@ -138,28 +135,28 @@ def _activate_virtualenv(topdir):
os.path.join("tests", "wpt", "harness", "requirements_firefox.txt"),
os.path.join("tests", "wpt", "harness", "requirements_servo.txt"),
]
+
for req_rel_path in requirements_paths:
req_path = os.path.join(topdir, req_rel_path)
marker_file = req_rel_path.replace(os.path.sep, '-')
marker_path = os.path.join(virtualenv_path, marker_file)
+
try:
if os.path.getmtime(req_path) + 10 < os.path.getmtime(marker_path):
continue
except OSError:
pass
- pip = _get_exec(*PIP_NAMES)
- if pip is None:
- sys.exit("Python pip is not installed. Please install it prior to running mach.")
+ pip = _get_exec_path(PIP_NAMES, is_valid_path=check_exec_path)
+ if not pip:
+ sys.exit("Python pip is either not installed or not found in virtualenv.")
- process = subprocess.Popen(
- [pip, "install", "-q", "-r", req_path],
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
+ process = Popen([pip, "install", "-q", "-r", req_path], stdout=PIPE, stderr=PIPE)
process.wait()
if process.returncode:
- sys.exit("Pip failed to execute properly: {}"
- .format(process.communicate()[1]))
+ out, err = process.communicate()
+ print('Pip failed to execute properly:')
+ sys.exit('Output: %s\nError: %s' % (out, err))
open(marker_path, 'w').close()
@@ -199,8 +196,7 @@ def bootstrap(topdir):
sys.exit(1)
# Ensure we are running Python 2.7+. We put this check here so we generate a
- # user-friendly error message rather than a cryptic stack trace on module
- # import.
+ # user-friendly error message rather than a cryptic stack trace on module import.
if not (3, 0) > sys.version_info >= (2, 7):
print('Python 2.7 or above (but not Python 3) is required to run mach.')
print('You are running Python', platform.python_version())
@@ -221,8 +217,7 @@ def bootstrap(topdir):
mach.populate_context_handler = populate_context
for category, meta in CATEGORIES.items():
- mach.define_category(category, meta['short'], meta['long'],
- meta['priority'])
+ mach.define_category(category, meta['short'], meta['long'], meta['priority'])
for path in MACH_MODULES:
mach.load_commands_from_file(os.path.join(topdir, path))
diff --git a/python/tidy/servo_tidy/tidy.py b/python/tidy/servo_tidy/tidy.py
index de3f83b84bd..340a3cd1a83 100644
--- a/python/tidy/servo_tidy/tidy.py
+++ b/python/tidy/servo_tidy/tidy.py
@@ -739,6 +739,9 @@ def collect_errors_for_files(files_to_check, checking_functions, line_checking_f
continue
with open(filename, "r") as f:
contents = f.read()
+ if not contents.strip():
+ yield filename, 0, "file is empty"
+ continue
for check in checking_functions:
for error in check(filename, contents):
# the result will be: `(filename, line, message)`
diff --git a/python/tidy/servo_tidy_tests/empty_file.rs b/python/tidy/servo_tidy_tests/empty_file.rs
new file mode 100644
index 00000000000..e69de29bb2d
--- /dev/null
+++ b/python/tidy/servo_tidy_tests/empty_file.rs
diff --git a/python/tidy/servo_tidy_tests/test_tidy.py b/python/tidy/servo_tidy_tests/test_tidy.py
index 746783d1759..c35e4b533d1 100644
--- a/python/tidy/servo_tidy_tests/test_tidy.py
+++ b/python/tidy/servo_tidy_tests/test_tidy.py
@@ -39,6 +39,11 @@ class CheckTidiness(unittest.TestCase):
self.assertEqual('no newline at EOF', errors.next()[2])
self.assertNoMoreErrors(errors)
+ def test_empty_file(self):
+ errors = tidy.collect_errors_for_files(iterFile('empty_file.rs'), [], [tidy.check_by_line], print_text=False)
+ self.assertEqual('file is empty', errors.next()[2])
+ self.assertNoMoreErrors(errors)
+
def test_long_line(self):
errors = tidy.collect_errors_for_files(iterFile('long_line.rs'), [], [tidy.check_by_line], print_text=False)
self.assertEqual('Line is longer than 120 characters', errors.next()[2])
diff --git a/python/tidy/setup.py b/python/tidy/setup.py
index 80d2140f3ec..0f7e125f085 100644
--- a/python/tidy/setup.py
+++ b/python/tidy/setup.py
@@ -11,7 +11,7 @@ import os
from setuptools import setup, find_packages
-VERSION = '0.1.0'
+VERSION = '0.2.0'
install_requires = [
"flake8==2.4.1",
diff --git a/resources/shaders/prim_shared.glsl b/resources/shaders/prim_shared.glsl
index 9c083cd337d..21d6c41e382 100644
--- a/resources/shaders/prim_shared.glsl
+++ b/resources/shaders/prim_shared.glsl
@@ -3,15 +3,17 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-#define PST_INVALID uint(0)
-#define PST_TOP_LEFT uint(1)
-#define PST_TOP_RIGHT uint(2)
-#define PST_BOTTOM_LEFT uint(3)
-#define PST_BOTTOM_RIGHT uint(4)
-#define PST_TOP uint(5)
-#define PST_LEFT uint(6)
-#define PST_BOTTOM uint(7)
-#define PST_RIGHT uint(8)
+#define PST_TOP_LEFT uint(0)
+#define PST_TOP_RIGHT uint(1)
+#define PST_BOTTOM_LEFT uint(2)
+#define PST_BOTTOM_RIGHT uint(3)
+#define PST_TOP uint(4)
+#define PST_LEFT uint(5)
+#define PST_BOTTOM uint(6)
+#define PST_RIGHT uint(7)
+
+#define UV_NORMALIZED uint(0)
+#define UV_PIXEL uint(1)
// Border styles as defined in webrender_traits/types.rs
#define BORDER_STYLE_NONE uint(0)
@@ -25,6 +27,8 @@
#define BORDER_STYLE_INSET uint(8)
#define BORDER_STYLE_OUTSET uint(9)
+#define MAX_STOPS_PER_ANGLE_GRADIENT 8
+
#ifdef WR_VERTEX_SHADER
struct Layer {
mat4 transform;
@@ -33,30 +37,89 @@ struct Layer {
vec4 screen_vertices[4];
};
+layout(std140) uniform Data {
+ vec4 data[WR_MAX_UBO_VECTORS];
+};
+
+layout(std140) uniform Tiles {
+ vec4 tiles[WR_MAX_UBO_VECTORS];
+};
+
layout(std140) uniform Layers {
- Layer layers[WR_MAX_PRIM_LAYERS];
+ vec4 layers[WR_MAX_UBO_VECTORS];
};
+Layer fetch_layer(int index) {
+ Layer layer;
+
+ int offset = index * 13;
+
+ layer.transform[0] = layers[offset + 0];
+ layer.transform[1] = layers[offset + 1];
+ layer.transform[2] = layers[offset + 2];
+ layer.transform[3] = layers[offset + 3];
+
+ layer.inv_transform[0] = layers[offset + 4];
+ layer.inv_transform[1] = layers[offset + 5];
+ layer.inv_transform[2] = layers[offset + 6];
+ layer.inv_transform[3] = layers[offset + 7];
+
+ layer.local_clip_rect = layers[offset + 8];
+
+ layer.screen_vertices[0] = layers[offset + 9];
+ layer.screen_vertices[1] = layers[offset + 10];
+ layer.screen_vertices[2] = layers[offset + 11];
+ layer.screen_vertices[3] = layers[offset + 12];
+
+ return layer;
+}
+
struct Tile {
- uvec4 actual_rect;
- uvec4 target_rect;
+ vec4 actual_rect;
+ vec4 target_rect;
};
-layout(std140) uniform Tiles {
- Tile tiles[WR_MAX_PRIM_TILES];
-};
+Tile fetch_tile(int index) {
+ Tile tile;
+
+ int offset = index * 2;
+
+ tile.actual_rect = tiles[offset + 0];
+ tile.target_rect = tiles[offset + 1];
+
+ return tile;
+}
struct PrimitiveInfo {
- uvec4 layer_tile_part;
+ vec4 layer_tile;
vec4 local_clip_rect;
vec4 local_rect;
};
+PrimitiveInfo unpack_prim_info(int offset) {
+ PrimitiveInfo info;
+
+ info.layer_tile = data[offset + 0];
+ info.local_clip_rect = data[offset + 1];
+ info.local_rect = data[offset + 2];
+
+ return info;
+}
+
struct ClipCorner {
vec4 rect;
vec4 outer_inner_radius;
};
+ClipCorner unpack_clip_corner(int offset) {
+ ClipCorner corner;
+
+ corner.rect = data[offset + 0];
+ corner.outer_inner_radius = data[offset + 1];
+
+ return corner;
+}
+
struct Clip {
vec4 rect;
ClipCorner top_left;
@@ -65,6 +128,18 @@ struct Clip {
ClipCorner bottom_right;
};
+Clip unpack_clip(int offset) {
+ Clip clip;
+
+ clip.rect = data[offset + 0];
+ clip.top_left = unpack_clip_corner(offset + 1);
+ clip.top_right = unpack_clip_corner(offset + 3);
+ clip.bottom_left = unpack_clip_corner(offset + 5);
+ clip.bottom_right = unpack_clip_corner(offset + 7);
+
+ return clip;
+}
+
bool ray_plane(vec3 normal, vec3 point, vec3 ray_origin, vec3 ray_dir, out float t)
{
float denom = dot(normal, ray_dir);
@@ -89,8 +164,7 @@ vec4 untransform(vec2 ref, vec3 n, vec3 a, mat4 inv_transform) {
return r;
}
-vec3 get_layer_pos(vec2 pos, uint layer_index) {
- Layer layer = layers[layer_index];
+vec3 get_layer_pos(vec2 pos, Layer layer) {
vec3 a = layer.screen_vertices[0].xyz / layer.screen_vertices[0].w;
vec3 b = layer.screen_vertices[3].xyz / layer.screen_vertices[3].w;
vec3 c = layer.screen_vertices[2].xyz / layer.screen_vertices[2].w;
@@ -111,8 +185,8 @@ struct VertexInfo {
};
VertexInfo write_vertex(PrimitiveInfo info) {
- Layer layer = layers[info.layer_tile_part.x];
- Tile tile = tiles[info.layer_tile_part.y];
+ Layer layer = fetch_layer(int(info.layer_tile.x));
+ Tile tile = fetch_tile(int(info.layer_tile.y));
vec2 p0 = floor(0.5 + info.local_rect.xy * uDevicePixelRatio) / uDevicePixelRatio;
vec2 p1 = floor(0.5 + (info.local_rect.xy + info.local_rect.zw) * uDevicePixelRatio) / uDevicePixelRatio;
@@ -153,8 +227,8 @@ struct TransformVertexInfo {
};
TransformVertexInfo write_transform_vertex(PrimitiveInfo info) {
- Layer layer = layers[info.layer_tile_part.x];
- Tile tile = tiles[info.layer_tile_part.y];
+ Layer layer = fetch_layer(int(info.layer_tile.x));
+ Tile tile = fetch_tile(int(info.layer_tile.y));
vec2 lp0 = info.local_rect.xy;
vec2 lp1 = info.local_rect.xy + info.local_rect.zw;
@@ -198,7 +272,7 @@ TransformVertexInfo write_transform_vertex(PrimitiveInfo info) {
max_pos_clamped,
aPosition.xy);
- vec3 layer_pos = get_layer_pos(clamped_pos / uDevicePixelRatio, info.layer_tile_part.x);
+ vec3 layer_pos = get_layer_pos(clamped_pos / uDevicePixelRatio, layer);
vec2 final_pos = clamped_pos + vec2(tile.target_rect.xy) - vec2(tile.actual_rect.xy);
@@ -206,6 +280,257 @@ TransformVertexInfo write_transform_vertex(PrimitiveInfo info) {
return TransformVertexInfo(layer_pos, clipped_local_rect);
}
+
+struct Rectangle {
+ PrimitiveInfo info;
+ vec4 color;
+};
+
+Rectangle fetch_rectangle(int index) {
+ Rectangle rect;
+
+ int offset = index * 4;
+
+ rect.info = unpack_prim_info(offset);
+ rect.color = data[offset + 3];
+
+ return rect;
+}
+
+struct RectangleClip {
+ PrimitiveInfo info;
+ vec4 color;
+ Clip clip;
+};
+
+RectangleClip fetch_rectangle_clip(int index) {
+ RectangleClip rect;
+
+ int offset = index * 13;
+
+ rect.info = unpack_prim_info(offset);
+ rect.color = data[offset + 3];
+ rect.clip = unpack_clip(offset + 4);
+
+ return rect;
+}
+
+struct Glyph {
+ PrimitiveInfo info;
+ vec4 color;
+ vec4 uv_rect;
+};
+
+Glyph fetch_glyph(int index) {
+ Glyph glyph;
+
+ int offset = index * 5;
+
+ glyph.info = unpack_prim_info(offset);
+ glyph.color = data[offset + 3];
+ glyph.uv_rect = data[offset + 4];
+
+ return glyph;
+}
+
+struct TextRunGlyph {
+ vec4 local_rect;
+ vec4 uv_rect;
+};
+
+struct TextRun {
+ PrimitiveInfo info;
+ vec4 color;
+ TextRunGlyph glyphs[WR_GLYPHS_PER_TEXT_RUN];
+};
+
+PrimitiveInfo fetch_text_run_glyph(int index, out vec4 color, out vec4 uv_rect) {
+ int offset = 20 * (index / WR_GLYPHS_PER_TEXT_RUN);
+ int glyph_index = index % WR_GLYPHS_PER_TEXT_RUN;
+ int glyph_offset = offset + 4 + 2 * glyph_index;
+
+ PrimitiveInfo info;
+ info.layer_tile = data[offset + 0];
+ info.local_clip_rect = data[offset + 1];
+ info.local_rect = data[glyph_offset + 0];
+
+ color = data[offset + 3];
+ uv_rect = data[glyph_offset + 1];
+
+ return info;
+}
+
+struct Image {
+ PrimitiveInfo info;
+ vec4 st_rect; // Location of the image texture in the texture atlas.
+ vec4 stretch_size_uvkind; // Size of the actual image.
+};
+
+Image fetch_image(int index) {
+ Image image;
+
+ int offset = index * 5;
+
+ image.info = unpack_prim_info(offset);
+ image.st_rect = data[offset + 3];
+ image.stretch_size_uvkind = data[offset + 4];
+
+ return image;
+}
+
+struct ImageClip {
+ PrimitiveInfo info;
+ vec4 st_rect; // Location of the image texture in the texture atlas.
+ vec4 stretch_size_uvkind; // Size of the actual image.
+ Clip clip;
+};
+
+ImageClip fetch_image_clip(int index) {
+ ImageClip image;
+
+ int offset = index * 14;
+
+ image.info = unpack_prim_info(offset);
+ image.st_rect = data[offset + 3];
+ image.stretch_size_uvkind = data[offset + 4];
+ image.clip = unpack_clip(offset + 5);
+
+ return image;
+}
+
+struct Border {
+ PrimitiveInfo info;
+ vec4 verticalColor;
+ vec4 horizontalColor;
+ vec4 radii;
+ vec4 border_style_trbl;
+ vec4 part;
+};
+
+Border fetch_border(int index) {
+ Border border;
+
+ int offset = index * 8;
+
+ border.info = unpack_prim_info(offset);
+ border.verticalColor = data[offset + 3];
+ border.horizontalColor = data[offset + 4];
+ border.radii = data[offset + 5];
+ border.border_style_trbl = data[offset + 6];
+ border.part = data[offset + 7];
+
+ return border;
+}
+
+struct BoxShadow {
+ PrimitiveInfo info;
+ vec4 color;
+ vec4 border_radii_blur_radius_inverted;
+ vec4 bs_rect;
+ vec4 src_rect;
+};
+
+BoxShadow fetch_boxshadow(int index) {
+ BoxShadow bs;
+
+ int offset = index * 7;
+
+ bs.info = unpack_prim_info(offset);
+ bs.color = data[offset + 3];
+ bs.border_radii_blur_radius_inverted = data[offset + 4];
+ bs.bs_rect = data[offset + 5];
+ bs.src_rect = data[offset + 6];
+
+ return bs;
+}
+
+struct AlignedGradient {
+ PrimitiveInfo info;
+ vec4 color0;
+ vec4 color1;
+ vec4 dir;
+ Clip clip;
+};
+
+AlignedGradient fetch_aligned_gradient(int index) {
+ AlignedGradient gradient;
+
+ int offset = index * 15;
+
+ gradient.info = unpack_prim_info(offset);
+ gradient.color0 = data[offset + 3];
+ gradient.color1 = data[offset + 4];
+ gradient.dir = data[offset + 5];
+ gradient.clip = unpack_clip(offset + 6);
+
+ return gradient;
+}
+
+struct AngleGradient {
+ PrimitiveInfo info;
+ vec4 start_end_point;
+ vec4 stop_count;
+ vec4 colors[MAX_STOPS_PER_ANGLE_GRADIENT];
+ vec4 offsets[MAX_STOPS_PER_ANGLE_GRADIENT/4];
+};
+
+AngleGradient fetch_angle_gradient(int index) {
+ AngleGradient gradient;
+
+ int offset = index * 15;
+
+ gradient.info = unpack_prim_info(offset);
+ gradient.start_end_point = data[offset + 3];
+ gradient.stop_count = data[offset + 4];
+
+ for (int i=0 ; i < MAX_STOPS_PER_ANGLE_GRADIENT ; ++i) {
+ gradient.colors[i] = data[offset + 5 + i];
+ }
+
+ for (int i=0 ; i < MAX_STOPS_PER_ANGLE_GRADIENT/4 ; ++i) {
+ gradient.offsets[i] = data[offset + 5 + MAX_STOPS_PER_ANGLE_GRADIENT + i];
+ }
+
+ return gradient;
+}
+
+struct Blend {
+ vec4 target_rect;
+ vec4 src_rect;
+ vec4 opacity;
+};
+
+Blend fetch_blend(int index) {
+ Blend blend;
+
+ int offset = index * 3;
+
+ blend.target_rect = data[offset + 0];
+ blend.src_rect = data[offset + 1];
+ blend.opacity = data[offset + 2];
+
+ return blend;
+}
+
+struct Composite {
+ vec4 src0;
+ vec4 src1;
+ vec4 target_rect;
+ vec4 info_amount;
+};
+
+Composite fetch_composite(int index) {
+ Composite composite;
+
+ int offset = index * 4;
+
+ composite.src0 = data[offset + 0];
+ composite.src1 = data[offset + 1];
+ composite.target_rect = data[offset + 2];
+ composite.info_amount = data[offset + 3];
+
+ return composite;
+}
#endif
#ifdef WR_FRAGMENT_SHADER
diff --git a/resources/shaders/ps_angle_gradient.glsl b/resources/shaders/ps_angle_gradient.glsl
index fae2211af50..0ef30941186 100644
--- a/resources/shaders/ps_angle_gradient.glsl
+++ b/resources/shaders/ps_angle_gradient.glsl
@@ -2,8 +2,6 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-#define MAX_STOPS_PER_ANGLE_GRADIENT 8
-
flat varying int vStopCount;
flat varying float vAngle;
flat varying vec2 vStartPoint;
diff --git a/resources/shaders/ps_angle_gradient.vs.glsl b/resources/shaders/ps_angle_gradient.vs.glsl
index 3b1601f2f54..716997d95ee 100644
--- a/resources/shaders/ps_angle_gradient.vs.glsl
+++ b/resources/shaders/ps_angle_gradient.vs.glsl
@@ -3,20 +3,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-struct AngleGradient {
- PrimitiveInfo info;
- vec4 start_end_point;
- uvec4 stop_count;
- vec4 colors[MAX_STOPS_PER_ANGLE_GRADIENT];
- vec4 offsets[MAX_STOPS_PER_ANGLE_GRADIENT/4];
-};
-
-layout(std140) uniform Items {
- AngleGradient gradients[WR_MAX_PRIM_ITEMS];
-};
-
void main(void) {
- AngleGradient gradient = gradients[gl_InstanceID];
+ AngleGradient gradient = fetch_angle_gradient(gl_InstanceID);
VertexInfo vi = write_vertex(gradient.info);
vStopCount = int(gradient.stop_count.x);
diff --git a/resources/shaders/ps_blend.vs.glsl b/resources/shaders/ps_blend.vs.glsl
index eb61903b5cc..851c9b8962b 100644
--- a/resources/shaders/ps_blend.vs.glsl
+++ b/resources/shaders/ps_blend.vs.glsl
@@ -3,18 +3,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-struct Blend {
- uvec4 target_rect;
- uvec4 src_rect;
- vec4 opacity;
-};
-
-layout(std140) uniform Items {
- Blend blends[WR_MAX_PRIM_ITEMS];
-};
-
void main(void) {
- Blend blend = blends[gl_InstanceID];
+ Blend blend = fetch_blend(gl_InstanceID);
vec2 local_pos = mix(vec2(blend.target_rect.xy),
vec2(blend.target_rect.xy + blend.target_rect.zw),
diff --git a/resources/shaders/ps_border.fs.glsl b/resources/shaders/ps_border.fs.glsl
index ef5b7ac16b2..17f19b58159 100644
--- a/resources/shaders/ps_border.fs.glsl
+++ b/resources/shaders/ps_border.fs.glsl
@@ -19,6 +19,39 @@ vec4 get_fragment_color(float distanceFromMixLine, float pixelsPerFragment) {
return mix(vHorizontalColor, vVerticalColor, colorMix);
}
+float alpha_for_solid_border(float distance_from_ref,
+ float inner_radius,
+ float outer_radius,
+ float pixels_per_fragment) {
+ // We want to start anti-aliasing one pixel in from the border.
+ float nudge = 1 * pixels_per_fragment;
+ inner_radius += nudge;
+ outer_radius -= nudge;
+
+ if ((distance_from_ref < outer_radius && distance_from_ref > inner_radius)) {
+ return 1.0;
+ }
+
+ float distance_from_border = max(distance_from_ref - outer_radius,
+ inner_radius - distance_from_ref);
+
+ // Move the distance back into pixels.
+ distance_from_border /= pixels_per_fragment;
+
+ // Apply a more gradual fade out to transparent.
+ distance_from_border -= 0.5;
+
+ return smoothstep(1.0, 0, distance_from_border);
+}
+
+float alpha_for_solid_border_corner(vec2 local_pos,
+ float inner_radius,
+ float outer_radius,
+ float pixels_per_fragment) {
+ float distance_from_ref = distance(vRefPoint, local_pos);
+ return alpha_for_solid_border(distance_from_ref, inner_radius, outer_radius, pixels_per_fragment);
+}
+
#ifdef WR_FEATURE_TRANSFORM
#else
@@ -29,15 +62,6 @@ vec4 drawCircle(vec2 aPixel, vec2 aDesiredPos, float aRadius, vec3 aColor) {
return vec4(aColor, pixelInCircle);
}
-// Draw a rectangle at aRect fill it with aColor. Only works on non-rotated
-// rects.
-vec4 drawRect(vec2 aPixel, vec4 aRect, vec3 aColor) {
- // GLSL origin is bottom left, positive Y is up
- bool inRect = (aRect.x <= aPixel.x) && (aPixel.x <= aRect.x + aRect.z) &&
- (aPixel.y >= aRect.y) && (aPixel.y <= aRect.y + aRect.w);
- return vec4(aColor, float(inRect));
-}
-
vec4 draw_dotted_edge() {
// Everything here should be in device pixels.
// We want the dot to be roughly the size of the whole border spacing
@@ -76,97 +100,6 @@ vec4 draw_dotted_edge() {
return mix(white, circleColor, circleColor.a);
}
-vec4 draw_double_edge(float pos, float len) {
- // Devided border to 3 parts, draw color on first and third part,
- // leave second part blank.
- float one_third_len = len / 3.0;
-
- float in_first_part = step(pos, one_third_len);
- float in_third_part = step(len - one_third_len, pos);
-
- // The result of this should be 1.0 if we're in the 1st or 3rd part.
- // And 0.0 for the blank part.
- float should_fill = in_first_part + in_third_part;
-
- // This is the conversion factor for transformations and device pixel scaling.
- float pixels_per_fragment = length(fwidth(vLocalPos.xy));
- vec4 white = vec4(1.0, 1.0, 1.0, 1.0);
- return mix(white, get_fragment_color(vDistanceFromMixLine, pixels_per_fragment), should_fill);
-}
-
-vec4 draw_double_edge_vertical() {
- // Get our position within this specific segment
- float position = vLocalPos.x - vLocalRect.x;
- return draw_double_edge(position, vLocalRect.z);
-}
-
-vec4 draw_double_edge_horizontal() {
- // Get our position within this specific segment
- float position = vLocalPos.y - vLocalRect.y;
- return draw_double_edge(position, vLocalRect.w);
-}
-
-vec4 draw_double_edge_with_radius() {
- // Get our position within this specific segment
- float position = distance(vRefPoint, vLocalPos) - vRadii.z;
- float len = vRadii.x - vRadii.z;
- return draw_double_edge(position, len);
-}
-
-vec4 draw_double_edge_corner() {
- if (vRadii.x > 0) {
- return draw_double_edge_with_radius();
- }
-
- bool is_vertical = (vBorderPart == PST_TOP_LEFT) ? vDistanceFromMixLine < 0 :
- vDistanceFromMixLine >= 0;
- if (is_vertical) {
- return draw_double_edge_vertical();
- } else {
- return draw_double_edge_horizontal();
- }
-}
-
-// Our current edge calculation is based only on
-// the size of the border-size, but we need to draw
-// the dashes in the center of the segment we're drawing.
-// This calculates how much to nudge and which axis to nudge on.
-vec2 get_dashed_nudge_factor(vec2 dash_size, bool is_corner) {
- if (is_corner) {
- return vec2(0.0, 0.0);
- }
-
- bool xAxisFudge = vBorders.z > vBorders.w;
- if (xAxisFudge) {
- return vec2(dash_size.x / 2.0, 0);
- }
-
- return vec2(0.0, dash_size.y / 2.0);
-}
-
-vec4 draw_dashed_edge(bool is_corner) {
- // Everything here should be in device pixels.
- // We want the dot to be roughly the size of the whole border spacing
- // 5.5 here isn't a magic number, it's just what mostly looks like FF/Chrome
- // TODO: Investigate exactly what FF does.
- float dash_interval = min(vBorders.w, vBorders.z) * 5.5;
- vec2 edge_size = vec2(vBorders.z, vBorders.w);
- vec2 dash_size = vec2(dash_interval / 2.0, dash_interval / 2.0);
- vec2 position = vDevicePos - vBorders.xy;
-
- vec2 dash_count = floor(edge_size/ dash_interval);
- vec2 dist_between_dashes = edge_size / dash_count;
-
- vec2 target_rect_index = floor(position / dist_between_dashes);
- vec2 target_rect_loc = target_rect_index * dist_between_dashes;
- target_rect_loc += get_dashed_nudge_factor(dash_size, is_corner);
- vec4 target_rect = vec4(target_rect_loc, dash_size);
-
- vec4 white = vec4(1.0, 1.0, 1.0, 1.0);
- vec4 target_colored_rect = drawRect(position, target_rect, vVerticalColor.xyz);
- return mix(white, target_colored_rect, target_colored_rect.a);
-}
-
void draw_dotted_border(void) {
switch (vBorderPart) {
// These are the layer tile part PrimitivePart as uploaded by the tiling.rs
@@ -190,7 +123,29 @@ void draw_dotted_border(void) {
}
}
-void draw_dashed_border(void) {
+#endif
+
+vec4 draw_dashed_edge(float position, float border_width, float pixels_per_fragment) {
+ // TODO: Investigate exactly what FF does.
+ float size = border_width * 3;
+ float segment = floor(position / size);
+
+ float alpha = alpha_for_solid_border(position,
+ segment * size,
+ (segment + 1) * size,
+ pixels_per_fragment);
+
+ if (mod(segment + 2, 2) == 0) {
+ return vHorizontalColor * vec4(1, 1, 1, 1 - alpha);
+ } else {
+ return vHorizontalColor * vec4(1, 1, 1, alpha);
+ }
+}
+
+void draw_dashed_border(vec2 local_pos, float distance_from_mix_line) {
+ // This is the conversion factor for transformations and device pixel scaling.
+ float pixels_per_fragment = length(fwidth(local_pos.xy));
+
switch (vBorderPart) {
// These are the layer tile part PrimitivePart as uploaded by the tiling.rs
case PST_TOP_LEFT:
@@ -198,24 +153,106 @@ void draw_dashed_border(void) {
case PST_BOTTOM_LEFT:
case PST_BOTTOM_RIGHT:
{
- // TODO: Fix for corners with a border-radius
- bool is_corner = true;
- oFragColor = draw_dashed_edge(is_corner);
+ oFragColor = get_fragment_color(distance_from_mix_line, pixels_per_fragment);
+ if (vRadii.x > 0.0) {
+ oFragColor *= vec4(1, 1, 1, alpha_for_solid_border_corner(local_pos,
+ vRadii.z,
+ vRadii.x,
+ pixels_per_fragment));
+ }
+
break;
}
case PST_BOTTOM:
case PST_TOP:
+ {
+ oFragColor = draw_dashed_edge(vLocalPos.x - vPieceRect.x, vPieceRect.w, pixels_per_fragment);
+ break;
+ }
case PST_LEFT:
case PST_RIGHT:
{
- bool is_corner = false;
- oFragColor = draw_dashed_edge(is_corner);
+ oFragColor = draw_dashed_edge(vLocalPos.y - vPieceRect.y, vPieceRect.z, pixels_per_fragment);
break;
}
}
}
-void draw_double_border(void) {
+
+vec4 draw_double_edge(float pos,
+ float len,
+ float distance_from_mix_line,
+ float pixels_per_fragment) {
+ float total_border_width = len;
+ float one_third_width = total_border_width / 3.0;
+
+ // Contribution of the outer border segment.
+ float alpha = alpha_for_solid_border(pos,
+ total_border_width - one_third_width,
+ total_border_width,
+ pixels_per_fragment);
+
+ // Contribution of the inner border segment.
+ alpha += alpha_for_solid_border(pos, 0, one_third_width, pixels_per_fragment);
+ return get_fragment_color(distance_from_mix_line, pixels_per_fragment) * vec4(1, 1, 1, alpha);
+}
+
+vec4 draw_double_edge_vertical(vec2 local_pos,
+ float distance_from_mix_line,
+ float pixels_per_fragment) {
+ // Get our position within this specific segment
+ float position = local_pos.x - vLocalRect.x;
+ return draw_double_edge(position, vLocalRect.z, distance_from_mix_line, pixels_per_fragment);
+}
+
+vec4 draw_double_edge_horizontal(vec2 local_pos,
+ float distance_from_mix_line,
+ float pixels_per_fragment) {
+ // Get our position within this specific segment
+ float position = local_pos.y - vLocalRect.y;
+ return draw_double_edge(position, vLocalRect.w, distance_from_mix_line, pixels_per_fragment);
+}
+
+vec4 draw_double_edge_corner_with_radius(vec2 local_pos,
+ float distance_from_mix_line,
+ float pixels_per_fragment) {
+ float total_border_width = vRadii.x - vRadii.z;
+ float one_third_width = total_border_width / 3.0;
+
+ // Contribution of the outer border segment.
+ float alpha = alpha_for_solid_border_corner(local_pos,
+ vRadii.x - one_third_width,
+ vRadii.x,
+ pixels_per_fragment);
+
+ // Contribution of the inner border segment.
+ alpha += alpha_for_solid_border_corner(local_pos,
+ vRadii.z,
+ vRadii.z + one_third_width,
+ pixels_per_fragment);
+ return get_fragment_color(distance_from_mix_line, pixels_per_fragment) * vec4(1, 1, 1, alpha);
+}
+
+vec4 draw_double_edge_corner(vec2 local_pos,
+ float distance_from_mix_line,
+ float pixels_per_fragment) {
+ if (vRadii.x > 0) {
+ return draw_double_edge_corner_with_radius(local_pos,
+ distance_from_mix_line,
+ pixels_per_fragment);
+ }
+
+ bool is_vertical = (vBorderPart == PST_TOP_LEFT) ? distance_from_mix_line < 0 :
+ distance_from_mix_line >= 0;
+ if (is_vertical) {
+ return draw_double_edge_vertical(local_pos, distance_from_mix_line, pixels_per_fragment);
+ } else {
+ return draw_double_edge_horizontal(local_pos, distance_from_mix_line, pixels_per_fragment);
+ }
+}
+
+void draw_double_border(float distance_from_mix_line, vec2 local_pos) {
+ float pixels_per_fragment = length(fwidth(local_pos.xy));
switch (vBorderPart) {
// These are the layer tile part PrimitivePart as uploaded by the tiling.rs
case PST_TOP_LEFT:
@@ -223,51 +260,28 @@ void draw_double_border(void) {
case PST_BOTTOM_LEFT:
case PST_BOTTOM_RIGHT:
{
- oFragColor = draw_double_edge_corner();
+ oFragColor = draw_double_edge_corner(local_pos, distance_from_mix_line, pixels_per_fragment);
break;
}
case PST_BOTTOM:
case PST_TOP:
{
- oFragColor = draw_double_edge_horizontal();
+ oFragColor = draw_double_edge_horizontal(local_pos,
+ distance_from_mix_line,
+ pixels_per_fragment);
break;
}
case PST_LEFT:
case PST_RIGHT:
{
- oFragColor = draw_double_edge_vertical();
+ oFragColor = draw_double_edge_vertical(local_pos,
+ distance_from_mix_line,
+ pixels_per_fragment);
break;
}
}
}
-#endif
-
-void draw_antialiased_solid_border_corner(vec2 local_pos, float pixelsPerFragment) {
- if (vRadii.x <= 0.0) {
- return;
- }
-
- float distanceFromRef = distance(vRefPoint, local_pos);
-
- // We want to start anti-aliasing one pixel in from the border.
- float nudge = 1 * pixelsPerFragment;
- float innerRadius = vRadii.z + nudge;
- float outerRadius = vRadii.x - nudge;
-
- if (vRadii.x > 0.0 && (distanceFromRef > outerRadius || distanceFromRef < innerRadius)) {
- float distanceFromBorder = max(distanceFromRef - outerRadius,
- innerRadius - distanceFromRef);
- // Move the distance back into pixels.
- distanceFromBorder /= pixelsPerFragment;
-
- // Apply a more gradual fade out to transparent.
- distanceFromBorder -= 0.5;
-
- oFragColor = oFragColor * vec4(1, 1, 1, smoothstep(1.0, 0, distanceFromBorder));
- }
-}
-
void draw_solid_border(float distanceFromMixLine, vec2 localPos) {
switch (vBorderPart) {
case PST_TOP_LEFT:
@@ -277,7 +291,12 @@ void draw_solid_border(float distanceFromMixLine, vec2 localPos) {
// This is the conversion factor for transformations and device pixel scaling.
float pixelsPerFragment = length(fwidth(localPos.xy));
oFragColor = get_fragment_color(distanceFromMixLine, pixelsPerFragment);
- draw_antialiased_solid_border_corner(localPos, pixelsPerFragment);
+
+ if (vRadii.x > 0.0) {
+ float alpha = alpha_for_solid_border_corner(localPos, vRadii.z, vRadii.x, pixelsPerFragment);
+ oFragColor *= vec4(1, 1, 1, alpha);
+ }
+
break;
}
default:
@@ -286,7 +305,6 @@ void draw_solid_border(float distanceFromMixLine, vec2 localPos) {
}
}
-
// TODO: Investigate performance of this shader and see
// if it's worthwhile splitting it / removing branches etc.
void main(void) {
@@ -302,14 +320,31 @@ void main(void) {
float distance_from_mix_line = (local_pos.x - vPieceRect.x) * vPieceRect.w -
(local_pos.y - vPieceRect.y) * vPieceRect.z;
distance_from_mix_line /= vPieceRectHypotenuseLength;
- draw_solid_border(distance_from_mix_line, local_pos);
- oFragColor *= vec4(1, 1, 1, alpha);
+ switch (vBorderStyle) {
+ case BORDER_STYLE_DASHED:
+ draw_dashed_border(local_pos, distance_from_mix_line);
+ break;
+ case BORDER_STYLE_DOTTED:
+ case BORDER_STYLE_OUTSET:
+ case BORDER_STYLE_INSET:
+ case BORDER_STYLE_SOLID:
+ case BORDER_STYLE_NONE:
+ draw_solid_border(distance_from_mix_line, local_pos);
+ break;
+ case BORDER_STYLE_DOUBLE:
+ draw_double_border(distance_from_mix_line, local_pos);
+ break;
+ default:
+ discard;
+
+ }
+
+ oFragColor *= vec4(1, 1, 1, alpha);
#else
switch (vBorderStyle) {
case BORDER_STYLE_DASHED:
- discard_pixels_in_rounded_borders(local_pos);
- draw_dashed_border();
+ draw_dashed_border(local_pos, vDistanceFromMixLine);
break;
case BORDER_STYLE_DOTTED:
discard_pixels_in_rounded_borders(local_pos);
@@ -322,8 +357,7 @@ void main(void) {
draw_solid_border(vDistanceFromMixLine, local_pos);
break;
case BORDER_STYLE_DOUBLE:
- discard_pixels_in_rounded_borders(local_pos);
- draw_double_border();
+ draw_double_border(vDistanceFromMixLine, local_pos);
break;
default:
discard;
diff --git a/resources/shaders/ps_border.glsl b/resources/shaders/ps_border.glsl
index badbcdc342e..d46b72eed49 100644
--- a/resources/shaders/ps_border.glsl
+++ b/resources/shaders/ps_border.glsl
@@ -16,10 +16,11 @@ flat varying vec2 vRefPoint;
flat varying uint vBorderStyle;
flat varying uint vBorderPart; // Which part of the border we're drawing.
+flat varying vec4 vPieceRect;
+
// These are in device space
#ifdef WR_FEATURE_TRANSFORM
varying vec3 vLocalPos; // The clamped position in local space.
-flat varying vec4 vPieceRect;
flat varying float vPieceRectHypotenuseLength;
#else
varying vec2 vLocalPos; // The clamped position in local space.
diff --git a/resources/shaders/ps_border.vs.glsl b/resources/shaders/ps_border.vs.glsl
index d78efc99145..168f65bc967 100644
--- a/resources/shaders/ps_border.vs.glsl
+++ b/resources/shaders/ps_border.vs.glsl
@@ -3,19 +3,7 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-struct Border {
- PrimitiveInfo info;
- vec4 verticalColor;
- vec4 horizontalColor;
- vec4 radii;
- uvec4 border_style_trbl;
-};
-
-layout(std140) uniform Items {
- Border borders[WR_MAX_PRIM_ITEMS];
-};
-
-uint get_border_style(Border a_border, uint a_edge) {
+float get_border_style(Border a_border, uint a_edge) {
switch (a_edge) {
case PST_TOP:
case PST_TOP_LEFT:
@@ -33,7 +21,7 @@ uint get_border_style(Border a_border, uint a_edge) {
}
void main(void) {
- Border border = borders[gl_InstanceID];
+ Border border = fetch_border(gl_InstanceID);
#ifdef WR_FEATURE_TRANSFORM
TransformVertexInfo vi = write_transform_vertex(border.info);
vLocalPos = vi.local_pos;
@@ -56,7 +44,7 @@ void main(void) {
vRadii = border.radii;
float x0, y0, x1, y1;
- vBorderPart = border.info.layer_tile_part.z;
+ vBorderPart = uint(border.part.x);
switch (vBorderPart) {
// These are the layer tile part PrimitivePart as uploaded by the tiling.rs
case PST_TOP_LEFT:
@@ -103,19 +91,20 @@ void main(void) {
break;
}
- vBorderStyle = get_border_style(border, vBorderPart);
+ vBorderStyle = uint(get_border_style(border, vBorderPart));
// y1 - y0 is the height of the corner / line
// x1 - x0 is the width of the corner / line.
float width = x1 - x0;
float height = y1 - y0;
+ vPieceRect = vec4(x0, y0, width, height);
+
// The fragment shader needs to calculate the distance from the bisecting line
// to properly mix border colors. For transformed borders, we calculate this distance
// in the fragment shader itself. For non-transformed borders, we can use the
// interpolator.
#ifdef WR_FEATURE_TRANSFORM
- vPieceRect = vec4(x0, y0, width, height);
vPieceRectHypotenuseLength = sqrt(pow(width, 2) + pow(height, 2));
#else
vDistanceFromMixLine = (vi.local_clamped_pos.x - x0) * height -
diff --git a/resources/shaders/ps_box_shadow.vs.glsl b/resources/shaders/ps_box_shadow.vs.glsl
index 9662502e14d..e501548f87a 100644
--- a/resources/shaders/ps_box_shadow.vs.glsl
+++ b/resources/shaders/ps_box_shadow.vs.glsl
@@ -3,20 +3,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-struct BoxShadow {
- PrimitiveInfo info;
- vec4 color;
- vec4 border_radii_blur_radius_inverted;
- vec4 bs_rect;
- vec4 src_rect;
-};
-
-layout(std140) uniform Items {
- BoxShadow boxshadows[WR_MAX_PRIM_ITEMS];
-};
-
void main(void) {
- BoxShadow bs = boxshadows[gl_InstanceID];
+ BoxShadow bs = fetch_boxshadow(gl_InstanceID);
VertexInfo vi = write_vertex(bs.info);
vPos = vi.local_clamped_pos;
diff --git a/resources/shaders/ps_clear.vs.glsl b/resources/shaders/ps_clear.vs.glsl
index 5d3012fe46c..37c941b092b 100644
--- a/resources/shaders/ps_clear.vs.glsl
+++ b/resources/shaders/ps_clear.vs.glsl
@@ -4,19 +4,12 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-struct ClearTile {
- uvec4 rect;
+layout(std140) uniform Data {
+ uvec4 data[WR_MAX_UBO_VECTORS];
};
-layout(std140) uniform Tiles {
- ClearTile tiles[WR_MAX_CLEAR_TILES];
-};
-
-
void main() {
- ClearTile tile = tiles[gl_InstanceID];
-
- vec4 rect = vec4(tile.rect);
+ vec4 rect = vec4(data[gl_InstanceID]);
vec4 pos = vec4(mix(rect.xy, rect.xy + rect.zw, aPosition.xy), 0, 1);
gl_Position = uTransform * pos;
diff --git a/resources/shaders/ps_composite.vs.glsl b/resources/shaders/ps_composite.vs.glsl
index c7f9cd05538..125bd37186b 100644
--- a/resources/shaders/ps_composite.vs.glsl
+++ b/resources/shaders/ps_composite.vs.glsl
@@ -3,20 +3,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-struct Composite {
- uvec4 src0;
- uvec4 src1;
- uvec4 target_rect;
- ivec4 info;
- vec4 amount;
-};
-
-layout(std140) uniform Items {
- Composite composites[WR_MAX_PRIM_ITEMS];
-};
-
void main(void) {
- Composite composite = composites[gl_InstanceID];
+ Composite composite = fetch_composite(gl_InstanceID);
vec2 local_pos = mix(vec2(composite.target_rect.xy),
vec2(composite.target_rect.xy + composite.target_rect.zw),
@@ -30,8 +18,8 @@ void main(void) {
st1 = vec2(composite.src1.xy + composite.src1.zw) / 2048.0;
vUv1 = mix(st0, st1, aPosition.xy);
- vInfo = composite.info.xy;
- vAmount = composite.amount.x;
+ vInfo = ivec2(composite.info_amount.xy);
+ vAmount = composite.info_amount.z;
gl_Position = uTransform * vec4(local_pos, 0, 1);
}
diff --git a/resources/shaders/ps_gradient.vs.glsl b/resources/shaders/ps_gradient.vs.glsl
index 82dfea691f2..6697e3a08c1 100644
--- a/resources/shaders/ps_gradient.vs.glsl
+++ b/resources/shaders/ps_gradient.vs.glsl
@@ -6,20 +6,8 @@
#define DIR_HORIZONTAL uint(0)
#define DIR_VERTICAL uint(1)
-struct Gradient {
- PrimitiveInfo info;
- vec4 color0;
- vec4 color1;
- uvec4 dir;
- Clip clip;
-};
-
-layout(std140) uniform Items {
- Gradient gradients[WR_MAX_PRIM_ITEMS];
-};
-
void main(void) {
- Gradient gradient = gradients[gl_InstanceID];
+ AlignedGradient gradient = fetch_aligned_gradient(gl_InstanceID);
#ifdef WR_FEATURE_TRANSFORM
TransformVertexInfo vi = write_transform_vertex(gradient.info);
@@ -32,7 +20,7 @@ void main(void) {
vPos = vi.local_clamped_pos;
#endif
- switch (gradient.dir.x) {
+ switch (uint(gradient.dir.x)) {
case DIR_HORIZONTAL:
vF = f.x;
break;
diff --git a/resources/shaders/ps_image.vs.glsl b/resources/shaders/ps_image.vs.glsl
index a3ce386092e..d4a9ed243ca 100644
--- a/resources/shaders/ps_image.vs.glsl
+++ b/resources/shaders/ps_image.vs.glsl
@@ -3,30 +3,34 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-struct Image {
- PrimitiveInfo info;
- vec4 st_rect; // Location of the image texture in the texture atlas.
- vec4 stretch_size; // Size of the actual image.
-};
-
-layout(std140) uniform Items {
- Image images[WR_MAX_PRIM_ITEMS];
-};
-
void main(void) {
- Image image = images[gl_InstanceID];
+ Image image = fetch_image(gl_InstanceID);
#ifdef WR_FEATURE_TRANSFORM
TransformVertexInfo vi = write_transform_vertex(image.info);
vLocalRect = vi.clipped_local_rect;
vLocalPos = vi.local_pos;
- vStretchSize = image.stretch_size.xy;
+ vStretchSize = image.stretch_size_uvkind.xy;
#else
VertexInfo vi = write_vertex(image.info);
- vUv = (vi.local_clamped_pos - vi.local_rect.p0) / image.stretch_size.xy;
+ vUv = (vi.local_clamped_pos - vi.local_rect.p0) / image.stretch_size_uvkind.xy;
#endif
// vUv will contain how many times this image has wrapped around the image size.
- vTextureSize = image.st_rect.zw - image.st_rect.xy;
- vTextureOffset = image.st_rect.xy;
+ vec2 st0 = image.st_rect.xy;
+ vec2 st1 = image.st_rect.zw;
+
+ switch (uint(image.stretch_size_uvkind.z)) {
+ case UV_NORMALIZED:
+ break;
+ case UV_PIXEL: {
+ vec2 texture_size = textureSize(sDiffuse, 0);
+ st0 /= texture_size;
+ st1 /= texture_size;
+ }
+ break;
+ }
+
+ vTextureSize = st1 - st0;
+ vTextureOffset = st0;
}
diff --git a/resources/shaders/ps_image_clip.vs.glsl b/resources/shaders/ps_image_clip.vs.glsl
index 89c6198f990..ec093e4e64f 100644
--- a/resources/shaders/ps_image_clip.vs.glsl
+++ b/resources/shaders/ps_image_clip.vs.glsl
@@ -3,19 +3,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-struct Image {
- PrimitiveInfo info;
- vec4 st_rect; // Location of the image texture in the texture atlas.
- vec4 stretch_size; // Size of the actual image.
- Clip clip;
-};
-
-layout(std140) uniform Items {
- Image images[WR_MAX_PRIM_ITEMS];
-};
-
void main(void) {
- Image image = images[gl_InstanceID];
+ ImageClip image = fetch_image_clip(gl_InstanceID);
VertexInfo vi = write_vertex(image.info);
vClipRect = vec4(image.clip.rect.xy, image.clip.rect.xy + image.clip.rect.zw);
@@ -26,7 +15,22 @@ void main(void) {
vPos = vi.local_clamped_pos;
// vUv will contain how many times this image has wrapped around the image size.
- vUv = (vi.local_clamped_pos - image.info.local_rect.xy) / image.stretch_size.xy;
- vTextureSize = image.st_rect.zw - image.st_rect.xy;
- vTextureOffset = image.st_rect.xy;
+ vUv = (vi.local_clamped_pos - image.info.local_rect.xy) / image.stretch_size_uvkind.xy;
+
+ vec2 st0 = image.st_rect.xy;
+ vec2 st1 = image.st_rect.zw;
+
+ switch (uint(image.stretch_size_uvkind.z)) {
+ case UV_NORMALIZED:
+ break;
+ case UV_PIXEL: {
+ vec2 texture_size = textureSize(sDiffuse, 0);
+ st0 /= texture_size;
+ st1 /= texture_size;
+ }
+ break;
+ }
+
+ vTextureSize = st1 - st0;
+ vTextureOffset = st0;
}
diff --git a/resources/shaders/ps_rectangle.vs.glsl b/resources/shaders/ps_rectangle.vs.glsl
index 046923875b4..ba5ccbb69d5 100644
--- a/resources/shaders/ps_rectangle.vs.glsl
+++ b/resources/shaders/ps_rectangle.vs.glsl
@@ -3,17 +3,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-struct Rectangle {
- PrimitiveInfo info;
- vec4 color;
-};
-
-layout(std140) uniform Items {
- Rectangle rects[WR_MAX_PRIM_ITEMS];
-};
-
void main(void) {
- Rectangle rect = rects[gl_InstanceID];
+ Rectangle rect = fetch_rectangle(gl_InstanceID);
vColor = rect.color;
#ifdef WR_FEATURE_TRANSFORM
TransformVertexInfo vi = write_transform_vertex(rect.info);
diff --git a/resources/shaders/ps_rectangle_clip.vs.glsl b/resources/shaders/ps_rectangle_clip.vs.glsl
index da39ff9fd6f..e804c0cad4e 100644
--- a/resources/shaders/ps_rectangle_clip.vs.glsl
+++ b/resources/shaders/ps_rectangle_clip.vs.glsl
@@ -3,18 +3,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-struct Rectangle {
- PrimitiveInfo info;
- vec4 color;
- Clip clip;
-};
-
-layout(std140) uniform Items {
- Rectangle rects[WR_MAX_PRIM_ITEMS];
-};
-
void main(void) {
- Rectangle rect = rects[gl_InstanceID];
+ RectangleClip rect = fetch_rectangle_clip(gl_InstanceID);
VertexInfo vi = write_vertex(rect.info);
vClipRect = vec4(rect.clip.rect.xy, rect.clip.rect.xy + rect.clip.rect.zw);
diff --git a/resources/shaders/ps_text.vs.glsl b/resources/shaders/ps_text.vs.glsl
index c98569b83c2..a8d97ced9ef 100644
--- a/resources/shaders/ps_text.vs.glsl
+++ b/resources/shaders/ps_text.vs.glsl
@@ -3,18 +3,8 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-struct Glyph {
- PrimitiveInfo info;
- vec4 color;
- ivec4 uv_rect;
-};
-
-layout(std140) uniform Items {
- Glyph glyphs[WR_MAX_PRIM_ITEMS];
-};
-
void main(void) {
- Glyph glyph = glyphs[gl_InstanceID];
+ Glyph glyph = fetch_glyph(gl_InstanceID);
#ifdef WR_FEATURE_TRANSFORM
TransformVertexInfo vi = write_transform_vertex(glyph.info);
diff --git a/resources/shaders/ps_text_run.vs.glsl b/resources/shaders/ps_text_run.vs.glsl
index 894a2bb9cc6..0310b3972b0 100644
--- a/resources/shaders/ps_text_run.vs.glsl
+++ b/resources/shaders/ps_text_run.vs.glsl
@@ -3,34 +3,17 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
-struct TextRunGlyph {
- vec4 local_rect;
- ivec4 uv_rect;
-};
-
-struct TextRun {
- PrimitiveInfo info;
- TextRunGlyph glyphs[WR_GLYPHS_PER_TEXT_RUN];
- vec4 color;
-};
-
-layout(std140) uniform Items {
- TextRun text_runs[WR_MAX_PRIM_ITEMS];
-};
-
void main(void) {
- TextRun text_run = text_runs[gl_InstanceID / WR_GLYPHS_PER_TEXT_RUN];
- TextRunGlyph glyph = text_run.glyphs[gl_InstanceID % WR_GLYPHS_PER_TEXT_RUN];
- text_run.info.local_rect = glyph.local_rect;
- ivec4 uv_rect = glyph.uv_rect;
+ vec4 color, uv_rect;
+ PrimitiveInfo info = fetch_text_run_glyph(gl_InstanceID, color, uv_rect);
#ifdef WR_FEATURE_TRANSFORM
- TransformVertexInfo vi = write_transform_vertex(text_run.info);
+ TransformVertexInfo vi = write_transform_vertex(info);
vLocalRect = vi.clipped_local_rect;
vLocalPos = vi.local_pos;
- vec2 f = (vi.local_pos.xy - text_run.info.local_rect.xy) / text_run.info.local_rect.zw;
+ vec2 f = (vi.local_pos.xy - info.local_rect.xy) / info.local_rect.zw;
#else
- VertexInfo vi = write_vertex(text_run.info);
+ VertexInfo vi = write_vertex(info);
vec2 f = (vi.local_clamped_pos - vi.local_rect.p0) / (vi.local_rect.p1 - vi.local_rect.p0);
#endif
@@ -38,6 +21,6 @@ void main(void) {
vec2 st0 = uv_rect.xy / texture_size;
vec2 st1 = uv_rect.zw / texture_size;
- vColor = text_run.color;
+ vColor = color;
vUv = mix(st0, st1, f);
}
diff --git a/tests/html/tiny_test.html b/tests/html/tiny_test.html
deleted file mode 100644
index 8b137891791..00000000000
--- a/tests/html/tiny_test.html
+++ /dev/null
@@ -1 +0,0 @@
-
diff --git a/tests/unit/script/size_of.rs b/tests/unit/script/size_of.rs
index 96981ca001f..3930180a9cf 100644
--- a/tests/unit/script/size_of.rs
+++ b/tests/unit/script/size_of.rs
@@ -40,10 +40,10 @@ macro_rules! sizeof_checker (
// Update the sizes here
sizeof_checker!(size_event_target, EventTarget, 40);
sizeof_checker!(size_node, Node, 152);
-sizeof_checker!(size_element, Element, 328);
-sizeof_checker!(size_htmlelement, HTMLElement, 344);
-sizeof_checker!(size_div, HTMLDivElement, 344);
-sizeof_checker!(size_span, HTMLSpanElement, 344);
+sizeof_checker!(size_element, Element, 320);
+sizeof_checker!(size_htmlelement, HTMLElement, 336);
+sizeof_checker!(size_div, HTMLDivElement, 336);
+sizeof_checker!(size_span, HTMLSpanElement, 336);
sizeof_checker!(size_text, Text, 184);
sizeof_checker!(size_characterdata, CharacterData, 184);
sizeof_checker!(size_servothreadsafelayoutnode, ServoThreadSafeLayoutNode, 16);
diff --git a/tests/unit/style/Cargo.toml b/tests/unit/style/Cargo.toml
index 05b96695ccc..41a70dd9964 100644
--- a/tests/unit/style/Cargo.toml
+++ b/tests/unit/style/Cargo.toml
@@ -14,7 +14,7 @@ app_units = "0.3"
cssparser = {version = "0.6", features = ["heap_size"]}
euclid = "0.10.1"
rustc-serialize = "0.3"
-selectors = {version = "0.12", features = ["heap_size"]}
+selectors = {version = "0.13", features = ["heap_size"]}
string_cache = {version = "0.2.26", features = ["heap_size"]}
style = {path = "../../../components/style"}
style_traits = {path = "../../../components/style_traits"}
diff --git a/tests/unit/style/properties/serialization.rs b/tests/unit/style/properties/serialization.rs
index b802c5c4fbf..c43fc5e93c1 100644
--- a/tests/unit/style/properties/serialization.rs
+++ b/tests/unit/style/properties/serialization.rs
@@ -45,8 +45,7 @@ fn property_declaration_block_should_serialize_correctly() {
];
let block = PropertyDeclarationBlock {
- declarations: Arc::new(declarations),
-
+ declarations: declarations,
important_count: 0,
};
@@ -63,8 +62,7 @@ mod shorthand_serialization {
pub fn shorthand_properties_to_string(properties: Vec<PropertyDeclaration>) -> String {
let block = PropertyDeclarationBlock {
- declarations: Arc::new(properties.into_iter().map(|d| (d, Importance::Normal)).collect()),
-
+ declarations: properties.into_iter().map(|d| (d, Importance::Normal)).collect(),
important_count: 0,
};
diff --git a/tests/unit/style/selector_matching.rs b/tests/unit/style/selector_matching.rs
index 22e11288c48..63a219ecd5e 100644
--- a/tests/unit/style/selector_matching.rs
+++ b/tests/unit/style/selector_matching.rs
@@ -6,7 +6,7 @@ use cssparser::Parser;
use selectors::parser::{LocalName, ParserContext, parse_selector_list};
use std::sync::Arc;
use string_cache::Atom;
-use style::properties::Importance;
+use style::properties::{Importance, PropertyDeclarationBlock};
use style::selector_matching::{DeclarationBlock, Rule, SelectorMap};
/// Helper method to get some Rules from selector strings.
@@ -19,7 +19,10 @@ fn get_mock_rules(css_selectors: &[&str]) -> Vec<Vec<Rule>> {
Rule {
selector: s.complex_selector.clone(),
declarations: DeclarationBlock {
- mixed_declarations: Arc::new(Vec::new()),
+ mixed_declarations: Arc::new(PropertyDeclarationBlock {
+ declarations: Vec::new(),
+ important_count: 0,
+ }),
importance: Importance::Normal,
specificity: s.specificity,
source_order: i,
diff --git a/tests/unit/style/stylesheets.rs b/tests/unit/style/stylesheets.rs
index 528dcd67084..802ffb52f84 100644
--- a/tests/unit/style/stylesheets.rs
+++ b/tests/unit/style/stylesheets.rs
@@ -15,7 +15,7 @@ use style::parser::ParserContextExtraData;
use style::properties::{PropertyDeclaration, PropertyDeclarationBlock, DeclaredValue, longhands};
use style::properties::Importance;
use style::properties::longhands::animation_play_state;
-use style::stylesheets::{Stylesheet, CSSRule, StyleRule, KeyframesRule, Origin};
+use style::stylesheets::{Stylesheet, NamespaceRule, CSSRule, StyleRule, KeyframesRule, Origin};
use style::values::specified::{LengthOrPercentageOrAuto, Percentage};
use url::Url;
@@ -65,11 +65,11 @@ fn test_parse_stylesheet() {
media: None,
dirty_on_viewport_size_change: false,
rules: vec![
- CSSRule::Namespace {
+ CSSRule::Namespace(Arc::new(NamespaceRule {
prefix: None,
url: NsAtom(Atom::from("http://www.w3.org/1999/xhtml"))
- },
- CSSRule::Style(StyleRule {
+ })),
+ CSSRule::Style(Arc::new(StyleRule {
selectors: vec![
Selector {
complex_selector: Arc::new(ComplexSelector {
@@ -97,18 +97,18 @@ fn test_parse_stylesheet() {
specificity: (0 << 20) + (1 << 10) + (1 << 0),
},
],
- declarations: PropertyDeclarationBlock {
- declarations: Arc::new(vec![
+ declarations: Arc::new(PropertyDeclarationBlock {
+ declarations: vec![
(PropertyDeclaration::Display(DeclaredValue::Value(
longhands::display::SpecifiedValue::none)),
Importance::Important),
(PropertyDeclaration::Custom(Atom::from("a"), DeclaredValue::Inherit),
Importance::Important),
- ]),
+ ],
important_count: 2,
- },
- }),
- CSSRule::Style(StyleRule {
+ }),
+ })),
+ CSSRule::Style(Arc::new(StyleRule {
selectors: vec![
Selector {
complex_selector: Arc::new(ComplexSelector {
@@ -145,16 +145,16 @@ fn test_parse_stylesheet() {
specificity: (0 << 20) + (0 << 10) + (1 << 0),
},
],
- declarations: PropertyDeclarationBlock {
- declarations: Arc::new(vec![
+ declarations: Arc::new(PropertyDeclarationBlock {
+ declarations: vec![
(PropertyDeclaration::Display(DeclaredValue::Value(
longhands::display::SpecifiedValue::block)),
Importance::Normal),
- ]),
+ ],
important_count: 0,
- },
- }),
- CSSRule::Style(StyleRule {
+ }),
+ })),
+ CSSRule::Style(Arc::new(StyleRule {
selectors: vec![
Selector {
complex_selector: Arc::new(ComplexSelector {
@@ -180,8 +180,8 @@ fn test_parse_stylesheet() {
specificity: (1 << 20) + (1 << 10) + (0 << 0),
},
],
- declarations: PropertyDeclarationBlock {
- declarations: Arc::new(vec![
+ declarations: Arc::new(PropertyDeclarationBlock {
+ declarations: vec![
(PropertyDeclaration::BackgroundColor(DeclaredValue::Value(
longhands::background_color::SpecifiedValue {
authored: Some("blue".to_owned()),
@@ -226,37 +226,43 @@ fn test_parse_stylesheet() {
vec![longhands::background_clip::single_value
::get_initial_specified_value()]))),
Importance::Normal),
- ]),
+ ],
important_count: 0,
- },
- }),
- CSSRule::Keyframes(KeyframesRule {
+ }),
+ })),
+ CSSRule::Keyframes(Arc::new(KeyframesRule {
name: "foo".into(),
keyframes: vec![
- Keyframe {
+ Arc::new(Keyframe {
selector: KeyframeSelector::new_for_unit_testing(
vec![KeyframePercentage::new(0.)]),
- declarations: Arc::new(vec![
- (PropertyDeclaration::Width(DeclaredValue::Value(
- LengthOrPercentageOrAuto::Percentage(Percentage(0.)))),
- Importance::Normal),
- ]),
- },
- Keyframe {
+ block: Arc::new(PropertyDeclarationBlock {
+ declarations: vec![
+ (PropertyDeclaration::Width(DeclaredValue::Value(
+ LengthOrPercentageOrAuto::Percentage(Percentage(0.)))),
+ Importance::Normal),
+ ],
+ important_count: 0,
+ })
+ }),
+ Arc::new(Keyframe {
selector: KeyframeSelector::new_for_unit_testing(
vec![KeyframePercentage::new(1.)]),
- declarations: Arc::new(vec![
- (PropertyDeclaration::Width(DeclaredValue::Value(
- LengthOrPercentageOrAuto::Percentage(Percentage(1.)))),
- Importance::Normal),
- (PropertyDeclaration::AnimationPlayState(DeclaredValue::Value(
- animation_play_state::SpecifiedValue(
- vec![animation_play_state::SingleSpecifiedValue::running]))),
- Importance::Normal),
- ]),
- },
+ block: Arc::new(PropertyDeclarationBlock {
+ declarations: vec![
+ (PropertyDeclaration::Width(DeclaredValue::Value(
+ LengthOrPercentageOrAuto::Percentage(Percentage(1.)))),
+ Importance::Normal),
+ (PropertyDeclaration::AnimationPlayState(DeclaredValue::Value(
+ animation_play_state::SpecifiedValue(
+ vec![animation_play_state::SingleSpecifiedValue::running]))),
+ Importance::Normal),
+ ],
+ important_count: 0,
+ }),
+ }),
]
- })
+ }))
],
});
diff --git a/tests/wpt/metadata-css/css21_dev/html4/border-bottom-applies-to-004.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/border-bottom-applies-to-004.htm.ini
deleted file mode 100644
index cb7bc34f4aa..00000000000
--- a/tests/wpt/metadata-css/css21_dev/html4/border-bottom-applies-to-004.htm.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[border-bottom-applies-to-004.htm]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata-css/css21_dev/html4/border-bottom-color-applies-to-004.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/border-bottom-color-applies-to-004.htm.ini
deleted file mode 100644
index 58052df51f7..00000000000
--- a/tests/wpt/metadata-css/css21_dev/html4/border-bottom-color-applies-to-004.htm.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[border-bottom-color-applies-to-004.htm]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata-css/css21_dev/html4/border-bottom-width-applies-to-004.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/border-bottom-width-applies-to-004.htm.ini
deleted file mode 100644
index 085387ca440..00000000000
--- a/tests/wpt/metadata-css/css21_dev/html4/border-bottom-width-applies-to-004.htm.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[border-bottom-width-applies-to-004.htm]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata-css/css21_dev/html4/border-conflict-style-101.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/border-conflict-style-101.htm.ini
deleted file mode 100644
index 4267eba2649..00000000000
--- a/tests/wpt/metadata-css/css21_dev/html4/border-conflict-style-101.htm.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[border-conflict-style-101.htm]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata-css/css21_dev/html4/border-left-applies-to-004.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/border-left-applies-to-004.htm.ini
deleted file mode 100644
index 33c1edd3ed2..00000000000
--- a/tests/wpt/metadata-css/css21_dev/html4/border-left-applies-to-004.htm.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[border-left-applies-to-004.htm]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata-css/css21_dev/html4/border-left-color-applies-to-004.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/border-left-color-applies-to-004.htm.ini
deleted file mode 100644
index 366584c2505..00000000000
--- a/tests/wpt/metadata-css/css21_dev/html4/border-left-color-applies-to-004.htm.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[border-left-color-applies-to-004.htm]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata-css/css21_dev/html4/border-left-width-applies-to-004.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/border-left-width-applies-to-004.htm.ini
deleted file mode 100644
index 1738c9b0873..00000000000
--- a/tests/wpt/metadata-css/css21_dev/html4/border-left-width-applies-to-004.htm.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[border-left-width-applies-to-004.htm]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata-css/css21_dev/html4/border-right-applies-to-004.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/border-right-applies-to-004.htm.ini
deleted file mode 100644
index 13778865155..00000000000
--- a/tests/wpt/metadata-css/css21_dev/html4/border-right-applies-to-004.htm.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[border-right-applies-to-004.htm]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata-css/css21_dev/html4/border-right-color-applies-to-004.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/border-right-color-applies-to-004.htm.ini
deleted file mode 100644
index 74d5389878e..00000000000
--- a/tests/wpt/metadata-css/css21_dev/html4/border-right-color-applies-to-004.htm.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[border-right-color-applies-to-004.htm]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata-css/css21_dev/html4/border-right-width-applies-to-004.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/border-right-width-applies-to-004.htm.ini
deleted file mode 100644
index 6d43191e6da..00000000000
--- a/tests/wpt/metadata-css/css21_dev/html4/border-right-width-applies-to-004.htm.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[border-right-width-applies-to-004.htm]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata-css/css21_dev/html4/vertical-align-121.htm.ini b/tests/wpt/metadata-css/css21_dev/html4/vertical-align-121.htm.ini
deleted file mode 100644
index e6e98afb794..00000000000
--- a/tests/wpt/metadata-css/css21_dev/html4/vertical-align-121.htm.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[vertical-align-121.htm]
- type: reftest
- expected: FAIL
diff --git a/tests/wpt/metadata/MANIFEST.json b/tests/wpt/metadata/MANIFEST.json
index 6c9c977a95b..214162045a5 100644
--- a/tests/wpt/metadata/MANIFEST.json
+++ b/tests/wpt/metadata/MANIFEST.json
@@ -37215,6 +37215,12 @@
"deleted_reftests": {},
"items": {
"testharness": {
+ "html/semantics/forms/the-option-element/option-form.html": [
+ {
+ "path": "html/semantics/forms/the-option-element/option-form.html",
+ "url": "/html/semantics/forms/the-option-element/option-form.html"
+ }
+ ],
"html/semantics/interactive-elements/the-dialog-element/dialog-open.html": [
{
"path": "html/semantics/interactive-elements/the-dialog-element/dialog-open.html",
@@ -37238,6 +37244,12 @@
"path": "html/semantics/text-level-semantics/the-data-element/data.value-001.html",
"url": "/html/semantics/text-level-semantics/the-data-element/data.value-001.html"
}
+ ],
+ "html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late.html": [
+ {
+ "path": "html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late.html",
+ "url": "/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late.html"
+ }
]
}
},
diff --git a/tests/wpt/metadata/html/dom/interfaces.html.ini b/tests/wpt/metadata/html/dom/interfaces.html.ini
index f4b4a274fd0..dd76d5dcadb 100644
--- a/tests/wpt/metadata/html/dom/interfaces.html.ini
+++ b/tests/wpt/metadata/html/dom/interfaces.html.ini
@@ -3855,15 +3855,9 @@
[HTMLOptGroupElement interface: document.createElement("optgroup") must inherit property "label" with the proper type (1)]
expected: FAIL
- [HTMLOptionElement interface: attribute form]
- expected: FAIL
-
[HTMLOptionElement interface: attribute index]
expected: FAIL
- [HTMLOptionElement interface: document.createElement("option") must inherit property "form" with the proper type (1)]
- expected: FAIL
-
[HTMLOptionElement interface: document.createElement("option") must inherit property "index" with the proper type (7)]
expected: FAIL
@@ -5310,9 +5304,6 @@
[Navigator interface: operation unregisterContentHandler(DOMString,DOMString)]
expected: FAIL
- [Navigator interface: attribute cookieEnabled]
- expected: FAIL
-
[Navigator interface: operation yieldForStorageUpdates()]
expected: FAIL
@@ -5361,9 +5352,6 @@
[Navigator interface: calling unregisterContentHandler(DOMString,DOMString) on window.navigator with too few arguments must throw TypeError]
expected: FAIL
- [Navigator interface: window.navigator must inherit property "cookieEnabled" with the proper type (16)]
- expected: FAIL
-
[Navigator interface: window.navigator must inherit property "yieldForStorageUpdates" with the proper type (17)]
expected: FAIL
@@ -9014,4 +9002,3 @@
[Event interface: calling initEvent(DOMString,boolean,boolean) on new TrackEvent("addtrack", {track:document.createElement("track").track}) with too few arguments must throw TypeError]
expected: FAIL
-
diff --git a/tests/wpt/metadata/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late.html.ini b/tests/wpt/metadata/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late.html.ini
new file mode 100644
index 00000000000..dbe221f031e
--- /dev/null
+++ b/tests/wpt/metadata/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late.html.ini
@@ -0,0 +1,5 @@
+[invalid-uncompiled-raw-handler-compiled-late.html]
+ type: testharness
+ [Invalid uncompiled raw handlers should only be compiled when about to call them.]
+ expected: FAIL
+
diff --git a/tests/wpt/mozilla/meta/MANIFEST.json b/tests/wpt/mozilla/meta/MANIFEST.json
index 6c127d66063..3297053b159 100644
--- a/tests/wpt/mozilla/meta/MANIFEST.json
+++ b/tests/wpt/mozilla/meta/MANIFEST.json
@@ -804,6 +804,18 @@
"url": "/_mozilla/css/border_collapse_missing_cell_a.html"
}
],
+ "css/border_collapse_row_a.html": [
+ {
+ "path": "css/border_collapse_row_a.html",
+ "references": [
+ [
+ "/_mozilla/css/border_collapse_row_ref.html",
+ "=="
+ ]
+ ],
+ "url": "/_mozilla/css/border_collapse_row_a.html"
+ }
+ ],
"css/border_collapse_rowgroup_a.html": [
{
"path": "css/border_collapse_rowgroup_a.html",
@@ -1356,6 +1368,18 @@
"url": "/_mozilla/css/data_img_a.html"
}
],
+ "css/deferred-paint.html": [
+ {
+ "path": "css/deferred-paint.html",
+ "references": [
+ [
+ "/_mozilla/css/deferred-paint-ref.html",
+ "=="
+ ]
+ ],
+ "url": "/_mozilla/css/deferred-paint.html"
+ }
+ ],
"css/direction_style_caching.html": [
{
"path": "css/direction_style_caching.html",
@@ -4612,6 +4636,18 @@
"url": "/_mozilla/css/removeproperty.html"
}
],
+ "css/restyle-nth-child.html": [
+ {
+ "path": "css/restyle-nth-child.html",
+ "references": [
+ [
+ "/_mozilla/css/restyle-nth-child-ref.html",
+ "=="
+ ]
+ ],
+ "url": "/_mozilla/css/restyle-nth-child.html"
+ }
+ ],
"css/restyle_hints_attr.html": [
{
"path": "css/restyle_hints_attr.html",
@@ -6354,6 +6390,12 @@
"url": "/_mozilla/css/float_relative_to_position.html"
}
],
+ "css/media_calc_crash.html": [
+ {
+ "path": "css/media_calc_crash.html",
+ "url": "/_mozilla/css/media_calc_crash.html"
+ }
+ ],
"css/meta_viewport_resize.html": [
{
"path": "css/meta_viewport_resize.html",
@@ -10132,6 +10174,18 @@
"url": "/_mozilla/css/border_collapse_missing_cell_a.html"
}
],
+ "css/border_collapse_row_a.html": [
+ {
+ "path": "css/border_collapse_row_a.html",
+ "references": [
+ [
+ "/_mozilla/css/border_collapse_row_ref.html",
+ "=="
+ ]
+ ],
+ "url": "/_mozilla/css/border_collapse_row_a.html"
+ }
+ ],
"css/border_collapse_rowgroup_a.html": [
{
"path": "css/border_collapse_rowgroup_a.html",
@@ -10684,6 +10738,30 @@
"url": "/_mozilla/css/data_img_a.html"
}
],
+ "css/deferred-paint-ref.html": [
+ {
+ "path": "css/deferred-paint-ref.html",
+ "references": [
+ [
+ "/_mozilla/css/deferred-paint-ref.html",
+ "=="
+ ]
+ ],
+ "url": "/_mozilla/css/deferred-paint-ref.html"
+ }
+ ],
+ "css/deferred-paint.html": [
+ {
+ "path": "css/deferred-paint.html",
+ "references": [
+ [
+ "/_mozilla/css/deferred-paint-ref.html",
+ "=="
+ ]
+ ],
+ "url": "/_mozilla/css/deferred-paint.html"
+ }
+ ],
"css/direction_style_caching.html": [
{
"path": "css/direction_style_caching.html",
@@ -13940,6 +14018,18 @@
"url": "/_mozilla/css/removeproperty.html"
}
],
+ "css/restyle-nth-child.html": [
+ {
+ "path": "css/restyle-nth-child.html",
+ "references": [
+ [
+ "/_mozilla/css/restyle-nth-child-ref.html",
+ "=="
+ ]
+ ],
+ "url": "/_mozilla/css/restyle-nth-child.html"
+ }
+ ],
"css/restyle_hints_attr.html": [
{
"path": "css/restyle_hints_attr.html",
diff --git a/tests/wpt/mozilla/tests/css/border_collapse_row_a.html b/tests/wpt/mozilla/tests/css/border_collapse_row_a.html
new file mode 100644
index 00000000000..25848243af1
--- /dev/null
+++ b/tests/wpt/mozilla/tests/css/border_collapse_row_a.html
@@ -0,0 +1,31 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>row border collapse test</title>
+ <link rel="match" href="border_collapse_row_ref.html">
+ <style>
+ table {
+ border-collapse: collapse;
+ }
+ td {
+ width: 64px;
+ height: 32px;
+ }
+ .tr_with_border {
+ border-top: 2px solid black;
+ border-right: 2px solid black;
+ border-bottom: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <tr><td></td><td></td></tr>
+ <tr class="tr_with_border"><td></td><td></td></tr>
+ <tr class="tr_with_border"><td></td><td></td></tr>
+ <tr class="tr_with_border"><td></td><td></td></tr>
+ <tr class="tr_with_border"><td></td><td></td></tr>
+ </table>
+ </body>
+</html>
diff --git a/tests/wpt/mozilla/tests/css/border_collapse_row_ref.html b/tests/wpt/mozilla/tests/css/border_collapse_row_ref.html
new file mode 100644
index 00000000000..969b493d880
--- /dev/null
+++ b/tests/wpt/mozilla/tests/css/border_collapse_row_ref.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <title>row border collapse test - reference</title>
+ <style>
+ table {
+ border-collapse: collapse;
+ }
+ td {
+ width: 64px;
+ height: 32px;
+ }
+ .td_left {
+ border-top: 2px solid black;
+ border-bottom: 2px solid black;
+ }
+ .td_right {
+ border-top: 2px solid black;
+ border-right: 2px solid black;
+ border-bottom: 2px solid black;
+ }
+ </style>
+ </head>
+ <body>
+ <table>
+ <tr><td></td><td></td></tr>
+ <tr><td class="td_left"></td><td class="td_right"</td></tr>
+ <tr><td class="td_left"></td><td class="td_right"</td></tr>
+ <tr><td class="td_left"></td><td class="td_right"</td></tr>
+ <tr><td class="td_left"></td><td class="td_right"</td></tr>
+ </table>
+ </body>
+</html>
diff --git a/tests/wpt/mozilla/tests/css/border_collapse_simple_a.html b/tests/wpt/mozilla/tests/css/border_collapse_simple_a.html
index afed02bcb60..2a2676b9987 100644
--- a/tests/wpt/mozilla/tests/css/border_collapse_simple_a.html
+++ b/tests/wpt/mozilla/tests/css/border_collapse_simple_a.html
@@ -8,6 +8,9 @@
FIXME(pcwalton): This is currently offset by -2px in block and inline directions because we
don't correctly handle collapsed borders when calculating `table_border_padding` in
`table_wrapper.rs`.
+
+ FIXME(gpoesia): This test does not behave exactly like Gecko yet, because cell5's
+ height is currently 2px smaller in Servo.
-->
<link rel=match href=border_collapse_simple_ref.html>
<style>
@@ -19,7 +22,7 @@ html {
}
body {
/* See `FIXME` above. */
- padding: 2px;
+ padding-top: 2px;
}
table {
border-collapse: collapse;
@@ -28,14 +31,20 @@ table {
td {
border: 2px solid black;
padding: 16px;
- width: 32px;
+ width: 30px;
height: 32px;
}
td.cell5 {
border: 30px solid black;
+ width: 32px;
}
td.cell6 {
border: 4px solid black;
+ width: 32px;
+}
+
+#row1 td {
+ height: 32px;
}
</style>
</head>
diff --git a/tests/wpt/mozilla/tests/css/deferred-paint-ref.html b/tests/wpt/mozilla/tests/css/deferred-paint-ref.html
new file mode 100644
index 00000000000..41bb364d0e6
--- /dev/null
+++ b/tests/wpt/mozilla/tests/css/deferred-paint-ref.html
@@ -0,0 +1,15 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>CSS test reference</title>
+<link rel="match" href="deferred-paint-ref.html">
+<style>
+ .container div {
+ width: 50px;
+ height: 50px;
+ background: blue;
+ }
+</style>
+<div class="container">
+ <div></div>
+ <div></div>
+</div>
diff --git a/tests/wpt/mozilla/tests/css/deferred-paint.html b/tests/wpt/mozilla/tests/css/deferred-paint.html
new file mode 100644
index 00000000000..552a9456b02
--- /dev/null
+++ b/tests/wpt/mozilla/tests/css/deferred-paint.html
@@ -0,0 +1,21 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>A deferred paint gets properly re-scheduled</title>
+<link rel="match" href="deferred-paint-ref.html">
+<style>
+ .container div {
+ width: 50px;
+ height: 50px;
+ background: blue;
+ }
+</style>
+<div class="container">
+ <div></div>
+</div>
+<script>
+ let container = document.querySelector('.container');
+ window.onload = function() {
+ container.insertBefore(document.createElement('div'), container.firstChild);
+ container.firstChild.offsetTop;
+ }
+</script>
diff --git a/tests/wpt/mozilla/tests/css/media_calc_crash.html b/tests/wpt/mozilla/tests/css/media_calc_crash.html
new file mode 100644
index 00000000000..136a86cd4c2
--- /dev/null
+++ b/tests/wpt/mozilla/tests/css/media_calc_crash.html
@@ -0,0 +1,17 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>Don't crash when a media query with calc() is found.</title>
+<style>
+ @media (min-width: calc(60px)) {
+ pease-do {
+ not: crash;
+ }
+ }
+</style>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<script>
+test(function() {
+ assert_true(true, "Reached here without crashing");
+})
+</script>
diff --git a/tests/wpt/mozilla/tests/css/restyle-nth-child-ref.html b/tests/wpt/mozilla/tests/css/restyle-nth-child-ref.html
new file mode 100644
index 00000000000..c59c9fde35c
--- /dev/null
+++ b/tests/wpt/mozilla/tests/css/restyle-nth-child-ref.html
@@ -0,0 +1,17 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>CSS test reference.</title>
+<style>
+ .container div {
+ width: 50px;
+ height: 50px;
+ background: blue;
+ }
+ .container div:nth-child(2) {
+ background: green;
+ }
+</style>
+<div class="container">
+ <div></div>
+ <div></div>
+</div>
diff --git a/tests/wpt/mozilla/tests/css/restyle-nth-child.html b/tests/wpt/mozilla/tests/css/restyle-nth-child.html
new file mode 100644
index 00000000000..b7e1fb4b461
--- /dev/null
+++ b/tests/wpt/mozilla/tests/css/restyle-nth-child.html
@@ -0,0 +1,24 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>Restyling of a child of a parent that didn't match nth-child but now
+ does should be correct.</title>
+<link rel="match" href="restyle-nth-child-ref.html">
+<style>
+ .container div {
+ width: 50px;
+ height: 50px;
+ background: blue;
+ }
+ .container div:nth-child(2) {
+ background: green;
+ }
+</style>
+<div class="container">
+ <div></div>
+</div>
+<script>
+ let container = document.querySelector('.container');
+ window.onload = function() {
+ container.insertBefore(document.createElement('div'), container.firstChild);
+ }
+</script>
diff --git a/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-form.html b/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-form.html
new file mode 100644
index 00000000000..1a68b5c1ca8
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/semantics/forms/the-option-element/option-form.html
@@ -0,0 +1,32 @@
+<!doctype html>
+<meta charset=utf-8>
+<title>HTMLOptionElement.form</title>
+<link rel=author title="Sergey Alexandrov" href="mailto:splavgm@gmail.com">
+<link rel=help href="https://html.spec.whatwg.org/multipage/#dom-option-form">
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<form id="form">
+ <select id="select">
+ <optgroup id="optgroup"></optgroup>
+ </select>
+</form>
+<div id=log></div>
+
+<script>
+test(function () {
+ var form = document.getElementById("form");
+ var select = document.getElementById("select");
+ var optgroup = document.getElementById("optgroup");
+
+ var o1 = document.createElement("option");
+ assert_equals(o1.form, null);
+
+ select.appendChild(o1);
+ assert_equals(o1.form, select.form);
+
+ var o2 = document.createElement("option");
+ select.appendChild(o2);
+ assert_equals(o2.form, select.form);
+
+}, "form");
+</script>
diff --git a/tests/wpt/web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late.html b/tests/wpt/web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late.html
new file mode 100644
index 00000000000..a0e7bbcdd31
--- /dev/null
+++ b/tests/wpt/web-platform-tests/html/webappapis/scripting/events/invalid-uncompiled-raw-handler-compiled-late.html
@@ -0,0 +1,25 @@
+<!doctype html>
+<meta charset="utf-8">
+<title>Invalid uncompiled raw handlers should only be compiled when about to call them.</title>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<body>
+<script>
+setup({ allow_uncaught_exception: true });
+
+test(function() {
+ var events = [];
+ window.onerror = function() {
+ events.push("Error");
+ };
+
+ var div = document.createElement("div");
+ div.addEventListener("click", function (e) { events.push("click 1") });
+ div.setAttribute("onclick", "}");
+ div.addEventListener("click", function (e) { events.push("click 2") });
+ div.dispatchEvent(new Event("click"));
+ assert_equals(div.onclick, null);
+ assert_array_equals(events, ["click 1", "error", "click 2"]);
+});
+</script>
+</body>