diff options
author | Martin Robinson <mrobinson@igalia.com> | 2017-08-24 09:37:49 +0200 |
---|---|---|
committer | Martin Robinson <mrobinson@igalia.com> | 2017-09-05 09:10:55 +0200 |
commit | bc455c8a1f5f355323c63e5d1639df2fcaaba5df (patch) | |
tree | 8cbe1bfbe8145242736759ed39c1cdd8b42eb683 /components/layout/fragment.rs | |
parent | 4725a05bfba0b588d19af8bc5cfe960bda1ea880 (diff) | |
download | servo-bc455c8a1f5f355323c63e5d1639df2fcaaba5df.tar.gz servo-bc455c8a1f5f355323c63e5d1639df2fcaaba5df.zip |
Add support for position:sticky
This leverages the position:sticky support in WebRender to bring basic
support for position:sticky in Servo. There are still some issues with
nested sticky flows as well as a few other corner cases. Tests are
imported from WPT and can be removed once we update to the latest
version.
Diffstat (limited to 'components/layout/fragment.rs')
-rw-r--r-- | components/layout/fragment.rs | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs index 4e0763612ad..8cd37f314ed 100644 --- a/components/layout/fragment.rs +++ b/components/layout/fragment.rs @@ -2521,8 +2521,9 @@ impl Fragment { return true } - // Fixed position blocks always create stacking contexts. - if self.style.get_box().position == position::T::fixed { + // Fixed position and sticky position always create stacking contexts. + if self.style().get_box().position == position::T::fixed || + self.style().get_box().position == position::T::sticky { return true } |