style: Allow to export a shadow part under multiple names.

Other browsers allow this and the spec doesn't really disallow it, so fix it,
add a test and carry on.

Differential Revision: https://phabricator.services.mozilla.com/D65107
This commit is contained in:
Emilio Cobos Álvarez 2020-03-09 13:04:21 +00:00
parent 614d3e746f
commit 635f5fbf1b
8 changed files with 46 additions and 46 deletions

View file

@ -393,14 +393,13 @@ where
None => break, // Nowhere to export to.
};
parts.retain(|part| {
let exported_part = match inner_shadow_host.exported_part(part) {
Some(part) => part,
None => return false,
};
std::mem::replace(part, exported_part);
true
});
let mut new_parts = SmallVec::new();
for part in &parts {
inner_shadow_host.each_exported_part(part, |exported_part| {
new_parts.push(exported_part.clone());
});
}
parts = new_parts;
}
}