aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Sapin <simon.sapin@exyr.org>2020-06-09 22:54:48 +0200
committerSimon Sapin <simon.sapin@exyr.org>2020-06-10 08:43:51 +0200
commitdd0d6a2a6ffa52b45721448dc76ed44bde93b589 (patch)
treeb5bc4c579d7af0c995f4fefb636a91b476902775
parentdcd25a06da623e1620a82f5debe08c03397e3568 (diff)
downloadservo-dd0d6a2a6ffa52b45721448dc76ed44bde93b589.tar.gz
servo-dd0d6a2a6ffa52b45721448dc76ed44bde93b589.zip
Split `layout_2020/flexbox.rs` into modules
-rw-r--r--components/layout_2020/flexbox/construct.rs (renamed from components/layout_2020/flexbox.rs)41
-rw-r--r--components/layout_2020/flexbox/layout.rs33
-rw-r--r--components/layout_2020/flexbox/mod.rs21
3 files changed, 57 insertions, 38 deletions
diff --git a/components/layout_2020/flexbox.rs b/components/layout_2020/flexbox/construct.rs
index 32ea3340ff7..e23858efe7f 100644
--- a/components/layout_2020/flexbox.rs
+++ b/components/layout_2020/flexbox/construct.rs
@@ -2,36 +2,21 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
+use super::{FlexContainer, FlexLevelBox};
use crate::cell::ArcRefCell;
use crate::context::LayoutContext;
use crate::dom_traversal::{
BoxSlot, Contents, NodeAndStyleInfo, NodeExt, NonReplacedContents, TraversalHandler,
};
use crate::element_data::LayoutBox;
-use crate::formatting_contexts::{IndependentFormattingContext, IndependentLayout};
+use crate::formatting_contexts::IndependentFormattingContext;
use crate::fragments::Tag;
-use crate::positioned::{AbsolutelyPositionedBox, PositioningContext};
+use crate::positioned::AbsolutelyPositionedBox;
use crate::sizing::{BoxContentSizes, ContentSizes, ContentSizesRequest};
use crate::style_ext::DisplayGeneratingBox;
-use crate::ContainingBlock;
use rayon::iter::{IntoParallelIterator, ParallelIterator};
use std::borrow::Cow;
-use style::values::computed::Length;
use style::values::specified::text::TextDecorationLine;
-use style::Zero;
-
-// FIXME: `min-width: auto` is not zero: https://drafts.csswg.org/css-flexbox/#min-size-auto
-
-#[derive(Debug, Serialize)]
-pub(crate) struct FlexContainer {
- children: Vec<ArcRefCell<FlexLevelBox>>,
-}
-
-#[derive(Debug, Serialize)]
-pub(crate) enum FlexLevelBox {
- FlexItem(IndependentFormattingContext),
- OutOfFlowAbsolutelyPositionedBox(ArcRefCell<AbsolutelyPositionedBox>),
-}
impl FlexContainer {
pub fn construct<'dom>(
@@ -230,23 +215,3 @@ where
FlexContainer { children }
}
}
-
-impl FlexContainer {
- pub(crate) fn layout(
- &self,
- layout_context: &LayoutContext,
- positioning_context: &mut PositioningContext,
- containing_block: &ContainingBlock,
- tree_rank: usize,
- ) -> IndependentLayout {
- // FIXME
- let _ = layout_context;
- let _ = positioning_context;
- let _ = containing_block;
- let _ = tree_rank;
- IndependentLayout {
- fragments: Vec::new(),
- content_block_size: Length::zero(),
- }
- }
-}
diff --git a/components/layout_2020/flexbox/layout.rs b/components/layout_2020/flexbox/layout.rs
new file mode 100644
index 00000000000..1da062b7764
--- /dev/null
+++ b/components/layout_2020/flexbox/layout.rs
@@ -0,0 +1,33 @@
+/* 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 https://mozilla.org/MPL/2.0/. */
+
+use super::FlexContainer;
+use crate::context::LayoutContext;
+use crate::formatting_contexts::IndependentLayout;
+use crate::positioned::PositioningContext;
+use crate::ContainingBlock;
+use style::values::computed::Length;
+use style::Zero;
+
+// FIXME: `min-width: auto` is not zero: https://drafts.csswg.org/css-flexbox/#min-size-auto
+
+impl FlexContainer {
+ pub(crate) fn layout(
+ &self,
+ layout_context: &LayoutContext,
+ positioning_context: &mut PositioningContext,
+ containing_block: &ContainingBlock,
+ tree_rank: usize,
+ ) -> IndependentLayout {
+ // FIXME
+ let _ = layout_context;
+ let _ = positioning_context;
+ let _ = containing_block;
+ let _ = tree_rank;
+ IndependentLayout {
+ fragments: Vec::new(),
+ content_block_size: Length::zero(),
+ }
+ }
+}
diff --git a/components/layout_2020/flexbox/mod.rs b/components/layout_2020/flexbox/mod.rs
new file mode 100644
index 00000000000..c7aed0bd0e9
--- /dev/null
+++ b/components/layout_2020/flexbox/mod.rs
@@ -0,0 +1,21 @@
+/* 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 https://mozilla.org/MPL/2.0/. */
+
+use crate::cell::ArcRefCell;
+use crate::formatting_contexts::IndependentFormattingContext;
+use crate::positioned::AbsolutelyPositionedBox;
+
+mod construct;
+mod layout;
+
+#[derive(Debug, Serialize)]
+pub(crate) struct FlexContainer {
+ children: Vec<ArcRefCell<FlexLevelBox>>,
+}
+
+#[derive(Debug, Serialize)]
+pub(crate) enum FlexLevelBox {
+ FlexItem(IndependentFormattingContext),
+ OutOfFlowAbsolutelyPositionedBox(ArcRefCell<AbsolutelyPositionedBox>),
+}