aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/display_list_builder.rs
diff options
context:
space:
mode:
Diffstat (limited to 'components/layout/display_list_builder.rs')
-rw-r--r--components/layout/display_list_builder.rs13
1 files changed, 10 insertions, 3 deletions
diff --git a/components/layout/display_list_builder.rs b/components/layout/display_list_builder.rs
index d2dd57f0e21..9e82add3a12 100644
--- a/components/layout/display_list_builder.rs
+++ b/components/layout/display_list_builder.rs
@@ -18,7 +18,7 @@ use flow::{self, BaseFlow, Flow, IS_ABSOLUTELY_POSITIONED};
use flow_ref;
use fragment::{CoordinateSystem, Fragment, HAS_LAYER, IframeFragmentInfo, ImageFragmentInfo};
use fragment::{ScannedTextFragmentInfo, SpecificFragmentInfo};
-use inline::InlineFlow;
+use inline::{FIRST_FRAGMENT_OF_ELEMENT, InlineFlow, LAST_FRAGMENT_OF_ELEMENT};
use list_item::ListItemFlow;
use model::{self, MaybeAuto, ToGfxMatrix};
use table_cell::CollapsedBordersForCell;
@@ -51,8 +51,8 @@ use style::computed_values::{background_attachment, background_clip, background_
use style::computed_values::{background_repeat, background_size};
use style::computed_values::{border_style, image_rendering, overflow_x, position};
use style::computed_values::{visibility, transform, transform_style};
-use style::properties::ComputedValues;
use style::properties::style_structs::Border;
+use style::properties::{self, ComputedValues};
use style::values::RGBA;
use style::values::computed;
use style::values::computed::LinearGradient;
@@ -951,13 +951,20 @@ impl FragmentDisplayListBuilding for Fragment {
level,
&stacking_relative_border_box,
&clip);
+
+ let mut style = node.style.clone();
+ properties::modify_border_style_for_inline_sides(
+ &mut style,
+ node.flags.contains(FIRST_FRAGMENT_OF_ELEMENT),
+ node.flags.contains(LAST_FRAGMENT_OF_ELEMENT));
self.build_display_list_for_borders_if_applicable(
- &*node.style,
+ &*style,
border_painting_mode,
display_list,
&stacking_relative_border_box,
level,
&clip);
+
self.build_display_list_for_outline_if_applicable(
&*node.style,
display_list,