Bug 71908
Summary: | CSS Exclusions: implement the layout algorithm | ||
---|---|---|---|
Product: | WebKit | Reporter: | Alexandru Chiculita <achicu> |
Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | CC: | donggwan.kim, peter, simon.fraser, syoichi, webkit-bug-importer |
Priority: | P2 | Keywords: | InRadar |
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
URL: | http://dev.w3.org/csswg/css3-exclusions/#exclusions-implementation-note | ||
Bug Depends on: | |||
Bug Blocks: | 57311 |
Alexandru Chiculita
Implement the layout algorithm described in the implementation note of the exclusions spec: http://dev.w3.org/csswg/css3-exclusions/#exclusions-implementation-note
This should be the master bug of the layout implementation:
First pass:
- Do a totally normal layout that doesn't take into account any wrap properties
Second step:
- Second step runs only if there were exclusions detected in the first step
1. Create a list of exclusions in the current wrapping context
2. Sort the list of exclusions using the exclusion order described at http://dev.w3.org/csswg/css3-exclusions/#exclusions-order
3. Take the exclusions in reverse (ie. starting from the exclusion that is not affected by anything else). For each exclusion do the following steps:
3.1. Do the layout of the exclusion, keeping the exclusion position and size unmodified.
3.2. After the layout of the exclusion is finished, add its shape-outside to the wrapping context.
3.3. Take the following exclusion
4. Finish the layout of the block without changing the layout of the descendant exclusions.
Notes:
1. Floats will be affected by exclusions as if they were a big character. That means, the layout will try to position floats without overlapping them with exclusions.
2. Inline-blocks will also be treated as a big character.
3. Elements with "wrap-through: none" will define their own wrapping context, so they will not be affected by the parent's wrapping context and will run their own layout passes.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/10419708>