mirror of
https://github.com/servo/servo.git
synced 2025-08-01 19:50:30 +01:00
parent
1a3ff8739c
commit
5043a63284
3 changed files with 15 additions and 19 deletions
|
@ -24,7 +24,7 @@ use flow_ref::FlowRef;
|
||||||
use fragment::{Fragment, GenericFragment, IframeFragment, IframeFragmentInfo, ImageFragment};
|
use fragment::{Fragment, GenericFragment, IframeFragment, IframeFragmentInfo, ImageFragment};
|
||||||
use fragment::{ImageFragmentInfo, InlineAbsoluteHypotheticalFragment};
|
use fragment::{ImageFragmentInfo, InlineAbsoluteHypotheticalFragment};
|
||||||
use fragment::{InlineAbsoluteHypotheticalFragmentInfo, InlineBlockFragment};
|
use fragment::{InlineAbsoluteHypotheticalFragmentInfo, InlineBlockFragment};
|
||||||
use fragment::{InlineBlockFragmentInfo, InputFragment, SpecificFragmentInfo, TableCellFragment};
|
use fragment::{InlineBlockFragmentInfo, SpecificFragmentInfo, TableCellFragment};
|
||||||
use fragment::{TableColumnFragment, TableColumnFragmentInfo, TableFragment, TableRowFragment};
|
use fragment::{TableColumnFragment, TableColumnFragmentInfo, TableFragment, TableRowFragment};
|
||||||
use fragment::{TableWrapperFragment, UnscannedTextFragment, UnscannedTextFragmentInfo};
|
use fragment::{TableWrapperFragment, UnscannedTextFragment, UnscannedTextFragmentInfo};
|
||||||
use incremental::{ReconstructFlow, RestyleDamage};
|
use incremental::{ReconstructFlow, RestyleDamage};
|
||||||
|
@ -263,9 +263,6 @@ impl<'a> FlowConstructor<'a> {
|
||||||
Some(ElementNodeTypeId(HTMLImageElementTypeId)) => {
|
Some(ElementNodeTypeId(HTMLImageElementTypeId)) => {
|
||||||
self.build_fragment_info_for_image(node, node.image_url())
|
self.build_fragment_info_for_image(node, node.image_url())
|
||||||
}
|
}
|
||||||
Some(ElementNodeTypeId(HTMLInputElementTypeId)) => {
|
|
||||||
InputFragment
|
|
||||||
}
|
|
||||||
Some(ElementNodeTypeId(HTMLObjectElementTypeId)) => {
|
Some(ElementNodeTypeId(HTMLObjectElementTypeId)) => {
|
||||||
let data = node.get_object_data();
|
let data = node.get_object_data();
|
||||||
self.build_fragment_info_for_image(node, data)
|
self.build_fragment_info_for_image(node, data)
|
||||||
|
@ -274,6 +271,7 @@ impl<'a> FlowConstructor<'a> {
|
||||||
Some(ElementNodeTypeId(HTMLTableColElementTypeId)) => {
|
Some(ElementNodeTypeId(HTMLTableColElementTypeId)) => {
|
||||||
TableColumnFragment(TableColumnFragmentInfo::new(node))
|
TableColumnFragment(TableColumnFragmentInfo::new(node))
|
||||||
}
|
}
|
||||||
|
Some(ElementNodeTypeId(HTMLInputElementTypeId)) |
|
||||||
Some(ElementNodeTypeId(HTMLTableDataCellElementTypeId)) |
|
Some(ElementNodeTypeId(HTMLTableDataCellElementTypeId)) |
|
||||||
Some(ElementNodeTypeId(HTMLTableHeaderCellElementTypeId)) => TableCellFragment,
|
Some(ElementNodeTypeId(HTMLTableHeaderCellElementTypeId)) => TableCellFragment,
|
||||||
Some(ElementNodeTypeId(HTMLTableRowElementTypeId)) |
|
Some(ElementNodeTypeId(HTMLTableRowElementTypeId)) |
|
||||||
|
|
|
@ -15,7 +15,7 @@ use context::LayoutContext;
|
||||||
use flow::{mod, Flow};
|
use flow::{mod, Flow};
|
||||||
use fragment::{Fragment, GenericFragment, IframeFragment, IframeFragmentInfo, ImageFragment};
|
use fragment::{Fragment, GenericFragment, IframeFragment, IframeFragmentInfo, ImageFragment};
|
||||||
use fragment::{ImageFragmentInfo, InlineAbsoluteHypotheticalFragment, InlineBlockFragment};
|
use fragment::{ImageFragmentInfo, InlineAbsoluteHypotheticalFragment, InlineBlockFragment};
|
||||||
use fragment::{InputFragment, ScannedTextFragment, ScannedTextFragmentInfo, TableFragment};
|
use fragment::{ScannedTextFragment, ScannedTextFragmentInfo, TableFragment};
|
||||||
use fragment::{TableCellFragment, TableColumnFragment, TableRowFragment, TableWrapperFragment};
|
use fragment::{TableCellFragment, TableColumnFragment, TableRowFragment, TableWrapperFragment};
|
||||||
use fragment::{UnscannedTextFragment};
|
use fragment::{UnscannedTextFragment};
|
||||||
use model;
|
use model;
|
||||||
|
@ -500,7 +500,7 @@ impl FragmentDisplayListBuilding for Fragment {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
GenericFragment | IframeFragment(..) | TableFragment | TableCellFragment |
|
GenericFragment | IframeFragment(..) | TableFragment | TableCellFragment |
|
||||||
TableRowFragment | TableWrapperFragment | InlineBlockFragment(_) | InputFragment |
|
TableRowFragment | TableWrapperFragment | InlineBlockFragment(_) |
|
||||||
InlineAbsoluteHypotheticalFragment(_) => {
|
InlineAbsoluteHypotheticalFragment(_) => {
|
||||||
if opts::get().show_debug_fragment_borders {
|
if opts::get().show_debug_fragment_borders {
|
||||||
self.build_debug_borders_around_fragment(display_list,
|
self.build_debug_borders_around_fragment(display_list,
|
||||||
|
|
|
@ -133,7 +133,6 @@ pub enum SpecificFragmentInfo {
|
||||||
InlineAbsoluteHypotheticalFragment(InlineAbsoluteHypotheticalFragmentInfo),
|
InlineAbsoluteHypotheticalFragment(InlineAbsoluteHypotheticalFragmentInfo),
|
||||||
|
|
||||||
InlineBlockFragment(InlineBlockFragmentInfo),
|
InlineBlockFragment(InlineBlockFragmentInfo),
|
||||||
InputFragment,
|
|
||||||
ScannedTextFragment(Box<ScannedTextFragmentInfo>),
|
ScannedTextFragment(Box<ScannedTextFragmentInfo>),
|
||||||
TableFragment,
|
TableFragment,
|
||||||
TableCellFragment,
|
TableCellFragment,
|
||||||
|
@ -149,7 +148,6 @@ impl SpecificFragmentInfo {
|
||||||
match *self {
|
match *self {
|
||||||
IframeFragment(_)
|
IframeFragment(_)
|
||||||
| ImageFragment(_)
|
| ImageFragment(_)
|
||||||
| InputFragment
|
|
||||||
| ScannedTextFragment(_)
|
| ScannedTextFragment(_)
|
||||||
| TableFragment
|
| TableFragment
|
||||||
| TableCellFragment
|
| TableCellFragment
|
||||||
|
@ -172,7 +170,6 @@ impl SpecificFragmentInfo {
|
||||||
ImageFragment(_) => "ImageFragment",
|
ImageFragment(_) => "ImageFragment",
|
||||||
InlineAbsoluteHypotheticalFragment(_) => "InlineAbsoluteHypotheticalFragment",
|
InlineAbsoluteHypotheticalFragment(_) => "InlineAbsoluteHypotheticalFragment",
|
||||||
InlineBlockFragment(_) => "InlineBlockFragment",
|
InlineBlockFragment(_) => "InlineBlockFragment",
|
||||||
InputFragment => "InputFragment",
|
|
||||||
ScannedTextFragment(_) => "ScannedTextFragment",
|
ScannedTextFragment(_) => "ScannedTextFragment",
|
||||||
TableFragment => "TableFragment",
|
TableFragment => "TableFragment",
|
||||||
TableCellFragment => "TableCellFragment",
|
TableCellFragment => "TableCellFragment",
|
||||||
|
@ -638,8 +635,9 @@ impl Fragment {
|
||||||
fn quantities_included_in_intrinsic_inline_size(&self)
|
fn quantities_included_in_intrinsic_inline_size(&self)
|
||||||
-> QuantitiesIncludedInIntrinsicInlineSizes {
|
-> QuantitiesIncludedInIntrinsicInlineSizes {
|
||||||
match self.specific {
|
match self.specific {
|
||||||
GenericFragment | IframeFragment(_) | ImageFragment(_) | InlineBlockFragment(_) |
|
GenericFragment | IframeFragment(_) | ImageFragment(_) | InlineBlockFragment(_) => {
|
||||||
InputFragment => QuantitiesIncludedInIntrinsicInlineSizes::all(),
|
QuantitiesIncludedInIntrinsicInlineSizes::all()
|
||||||
|
}
|
||||||
TableFragment | TableCellFragment => {
|
TableFragment | TableCellFragment => {
|
||||||
IntrinsicInlineSizeIncludesPadding |
|
IntrinsicInlineSizeIncludesPadding |
|
||||||
IntrinsicInlineSizeIncludesBorder |
|
IntrinsicInlineSizeIncludesBorder |
|
||||||
|
@ -957,7 +955,7 @@ impl Fragment {
|
||||||
match self.specific {
|
match self.specific {
|
||||||
GenericFragment | IframeFragment(_) | TableFragment | TableCellFragment |
|
GenericFragment | IframeFragment(_) | TableFragment | TableCellFragment |
|
||||||
TableColumnFragment(_) | TableRowFragment | TableWrapperFragment |
|
TableColumnFragment(_) | TableRowFragment | TableWrapperFragment |
|
||||||
InlineAbsoluteHypotheticalFragment(_) | InputFragment => {}
|
InlineAbsoluteHypotheticalFragment(_) => {}
|
||||||
InlineBlockFragment(ref mut info) => {
|
InlineBlockFragment(ref mut info) => {
|
||||||
let block_flow = info.flow_ref.as_block();
|
let block_flow = info.flow_ref.as_block();
|
||||||
result.union_block(&block_flow.base.intrinsic_inline_sizes)
|
result.union_block(&block_flow.base.intrinsic_inline_sizes)
|
||||||
|
@ -1014,7 +1012,7 @@ impl Fragment {
|
||||||
match self.specific {
|
match self.specific {
|
||||||
GenericFragment | IframeFragment(_) | TableFragment | TableCellFragment |
|
GenericFragment | IframeFragment(_) | TableFragment | TableCellFragment |
|
||||||
TableRowFragment | TableWrapperFragment | InlineBlockFragment(_) |
|
TableRowFragment | TableWrapperFragment | InlineBlockFragment(_) |
|
||||||
InputFragment | InlineAbsoluteHypotheticalFragment(_) => Au(0),
|
InlineAbsoluteHypotheticalFragment(_) => Au(0),
|
||||||
ImageFragment(ref image_fragment_info) => {
|
ImageFragment(ref image_fragment_info) => {
|
||||||
image_fragment_info.computed_inline_size()
|
image_fragment_info.computed_inline_size()
|
||||||
}
|
}
|
||||||
|
@ -1033,7 +1031,7 @@ impl Fragment {
|
||||||
match self.specific {
|
match self.specific {
|
||||||
GenericFragment | IframeFragment(_) | TableFragment | TableCellFragment |
|
GenericFragment | IframeFragment(_) | TableFragment | TableCellFragment |
|
||||||
TableRowFragment | TableWrapperFragment | InlineBlockFragment(_) |
|
TableRowFragment | TableWrapperFragment | InlineBlockFragment(_) |
|
||||||
InputFragment | InlineAbsoluteHypotheticalFragment(_) => Au(0),
|
InlineAbsoluteHypotheticalFragment(_) => Au(0),
|
||||||
ImageFragment(ref image_fragment_info) => {
|
ImageFragment(ref image_fragment_info) => {
|
||||||
image_fragment_info.computed_block_size()
|
image_fragment_info.computed_block_size()
|
||||||
}
|
}
|
||||||
|
@ -1067,7 +1065,7 @@ impl Fragment {
|
||||||
-> Option<(SplitInfo, Option<SplitInfo>, Arc<Box<TextRun>> /* TODO(bjz): remove */)> {
|
-> Option<(SplitInfo, Option<SplitInfo>, Arc<Box<TextRun>> /* TODO(bjz): remove */)> {
|
||||||
match self.specific {
|
match self.specific {
|
||||||
GenericFragment | IframeFragment(_) | ImageFragment(_) | TableFragment | TableCellFragment |
|
GenericFragment | IframeFragment(_) | ImageFragment(_) | TableFragment | TableCellFragment |
|
||||||
TableRowFragment | TableWrapperFragment | InputFragment => None,
|
TableRowFragment | TableWrapperFragment => None,
|
||||||
TableColumnFragment(_) => fail!("Table column fragments do not need to split"),
|
TableColumnFragment(_) => fail!("Table column fragments do not need to split"),
|
||||||
UnscannedTextFragment(_) => fail!("Unscanned text fragments should have been scanned by now!"),
|
UnscannedTextFragment(_) => fail!("Unscanned text fragments should have been scanned by now!"),
|
||||||
InlineBlockFragment(_) | InlineAbsoluteHypotheticalFragment(_) => {
|
InlineBlockFragment(_) | InlineAbsoluteHypotheticalFragment(_) => {
|
||||||
|
@ -1116,7 +1114,7 @@ impl Fragment {
|
||||||
match self.specific {
|
match self.specific {
|
||||||
GenericFragment | IframeFragment(_) | ImageFragment(_) | TableFragment |
|
GenericFragment | IframeFragment(_) | ImageFragment(_) | TableFragment |
|
||||||
TableCellFragment | TableRowFragment | TableWrapperFragment | InlineBlockFragment(_) |
|
TableCellFragment | TableRowFragment | TableWrapperFragment | InlineBlockFragment(_) |
|
||||||
InputFragment | InlineAbsoluteHypotheticalFragment(_) => None,
|
InlineAbsoluteHypotheticalFragment(_) => None,
|
||||||
TableColumnFragment(_) => fail!("Table column fragments do not have inline_size"),
|
TableColumnFragment(_) => fail!("Table column fragments do not have inline_size"),
|
||||||
UnscannedTextFragment(_) => {
|
UnscannedTextFragment(_) => {
|
||||||
fail!("Unscanned text fragments should have been scanned by now!")
|
fail!("Unscanned text fragments should have been scanned by now!")
|
||||||
|
@ -1219,7 +1217,7 @@ impl Fragment {
|
||||||
pub fn assign_replaced_inline_size_if_necessary(&mut self, container_inline_size: Au) {
|
pub fn assign_replaced_inline_size_if_necessary(&mut self, container_inline_size: Au) {
|
||||||
match self.specific {
|
match self.specific {
|
||||||
GenericFragment | IframeFragment(_) | TableFragment | TableCellFragment |
|
GenericFragment | IframeFragment(_) | TableFragment | TableCellFragment |
|
||||||
TableRowFragment | TableWrapperFragment | InputFragment => return,
|
TableRowFragment | TableWrapperFragment => return,
|
||||||
TableColumnFragment(_) => fail!("Table column fragments do not have inline_size"),
|
TableColumnFragment(_) => fail!("Table column fragments do not have inline_size"),
|
||||||
UnscannedTextFragment(_) => {
|
UnscannedTextFragment(_) => {
|
||||||
fail!("Unscanned text fragments should have been scanned by now!")
|
fail!("Unscanned text fragments should have been scanned by now!")
|
||||||
|
@ -1312,7 +1310,7 @@ impl Fragment {
|
||||||
pub fn assign_replaced_block_size_if_necessary(&mut self, containing_block_block_size: Au) {
|
pub fn assign_replaced_block_size_if_necessary(&mut self, containing_block_block_size: Au) {
|
||||||
match self.specific {
|
match self.specific {
|
||||||
GenericFragment | IframeFragment(_) | TableFragment | TableCellFragment |
|
GenericFragment | IframeFragment(_) | TableFragment | TableCellFragment |
|
||||||
TableRowFragment | TableWrapperFragment | InputFragment => return,
|
TableRowFragment | TableWrapperFragment => return,
|
||||||
TableColumnFragment(_) => fail!("Table column fragments do not have block_size"),
|
TableColumnFragment(_) => fail!("Table column fragments do not have block_size"),
|
||||||
UnscannedTextFragment(_) => {
|
UnscannedTextFragment(_) => {
|
||||||
fail!("Unscanned text fragments should have been scanned by now!")
|
fail!("Unscanned text fragments should have been scanned by now!")
|
||||||
|
@ -1455,7 +1453,7 @@ impl Fragment {
|
||||||
TableWrapperFragment => false,
|
TableWrapperFragment => false,
|
||||||
GenericFragment | IframeFragment(_) | ImageFragment(_) | ScannedTextFragment(_) |
|
GenericFragment | IframeFragment(_) | ImageFragment(_) | ScannedTextFragment(_) |
|
||||||
TableFragment | TableCellFragment | TableColumnFragment(_) | TableRowFragment |
|
TableFragment | TableCellFragment | TableColumnFragment(_) | TableRowFragment |
|
||||||
UnscannedTextFragment(_) | InputFragment => true,
|
UnscannedTextFragment(_) => true,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue