mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
Various fixes to getClientBoundingRect()
* Fix queries involving stacking contexts * The code was double accumulating stacking context origins. * Handle queries of inline elements. * The node addresses being compared were incorrect (CharacterData vs. Span) * Handle ScriptQuery reflows correctly. * The layout task was skipping the compute absolute positions traversal, so failed before window.onload.
This commit is contained in:
parent
826b722202
commit
a5a5214783
12 changed files with 191 additions and 105 deletions
|
@ -867,30 +867,30 @@ impl FragmentDisplayListBuilding for Fragment {
|
|||
|
||||
// Add shadows, background, borders, and outlines, if applicable.
|
||||
if let Some(ref inline_context) = self.inline_context {
|
||||
for style in inline_context.styles.iter().rev() {
|
||||
for node in inline_context.nodes.iter().rev() {
|
||||
self.build_display_list_for_box_shadow_if_applicable(
|
||||
&**style,
|
||||
&*node.style,
|
||||
display_list,
|
||||
layout_context,
|
||||
level,
|
||||
&stacking_relative_border_box,
|
||||
&clip);
|
||||
self.build_display_list_for_background_if_applicable(
|
||||
&**style,
|
||||
&*node.style,
|
||||
display_list,
|
||||
layout_context,
|
||||
level,
|
||||
&stacking_relative_border_box,
|
||||
&clip);
|
||||
self.build_display_list_for_borders_if_applicable(
|
||||
&**style,
|
||||
&*node.style,
|
||||
border_painting_mode,
|
||||
display_list,
|
||||
&stacking_relative_border_box,
|
||||
level,
|
||||
&clip);
|
||||
self.build_display_list_for_outline_if_applicable(
|
||||
&**style,
|
||||
&*node.style,
|
||||
display_list,
|
||||
&stacking_relative_border_box,
|
||||
&clip);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue