aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/generated_content.rs
Commit message (Collapse)AuthorAgeFilesLines
...
* Implement ::selection pseudo-elementEmilio Cobos Álvarez2016-03-301-0/+1
|
* Auto merge of #10277 - perlun:rename-tcomputedvalues-to-computedvalues, ↵bors-servo2016-03-301-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | r=SimonSapin Renamed TComputedValues to ComputedValues This is a followup to #10210, and a continuation of #10185. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10277) <!-- Reviewable:end -->
| * Renamed TComputedValues to ComputedValuesPer Lundberg2016-03-291-1/+1
| | | | | | | | This is a followup to #10210, and a continuation of #10185.
* | Auto merge of #10255 - mbrubeck:box-unscanned, r=pcwaltonbors-servo2016-03-301-1/+2
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | Reduce size of layout::fragment::Fragment struct This reduces the size of the SpecificFragmentInfo enum from 48 to 24. r? @pcwalton <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10255) <!-- Reviewable:end -->
| * Put UnscannedTextFragmentInfo in a BoxMatt Brubeck2016-03-291-1/+2
| | | | | | | | This reduces the size of the SpecificFragmentInfo enum from 48 to 24.
* | ComputedValues is now ServoComputedValuesPer Lundberg2016-03-271-4/+4
|/ | | | This is the first part of #10185. More to follow. I have built this locally with both servo and geckolib without errors; let's see if it succeeds on all platforms as well.
* Parameterize the rest of the style system on TNode.Bobby Holley2016-03-241-1/+1
|
* Don't re-resolve already-resolved generated contentMatt Brubeck2016-03-111-3/+9
| | | | | | | | | | | | | | | | This fixes #7846, a failure in the "quotes-036.htm" test. Servo lays out this test correctly in its initial layout, but then messes it up in any relayout (whether it's an incremental or full layout). The problem is that the ResolveGeneratedContent traversal is not safe to run more than once on the same flow. It mutates some GeneratedContent fragments into ScannedText fragments, but leaves others unmodified (in particular, those that generate empty content). The next time layout runs, these remaining GeneratedContent fragments are processed *again* but with an incorrect correct quote nesting level (because some of the surrounding GeneratedContent fragments are gone). This patch ensures that each GeneratedContent fragment is resolved only once.
* Introduce a concept of restyle damage to the style system.Bobby Holley2016-01-041-2/+3
| | | | | We can't hoist RestyleDamage itself, because it's very layout-dependent. But this should be enough to let us hoist the things we need.
* Fix a bunch of clippy lintsJohannes Linke2016-01-021-2/+2
|
* Fix issues found by rust-clippyCorey Farwell2015-10-121-4/+4
|
* sorted the extern crate, mod & use declarationsRavi Shankar2015-09-241-1/+1
|
* Fix reported test-tidy errors for unmerged import blocksBrandon Fairchild2015-09-191-4/+3
| | | | This merges import blocks that were reported by tidy as unmerged.
* layout: Query and maintain the position of the insertion pointPatrick Walton2015-09-171-1/+1
| | | | throughout layout for input elements.
* layout: Don't crash if `quotes: none` is specified and generated contentPatrick Walton2015-08-241-20/+23
| | | | | | uses quotes. Avoids a crash on The Verge.
* sort all usesJohann Tuffe2015-08-201-1/+1
|
* Replace uses of `for foo in bar.iter()`,João Oliveira2015-08-181-3/+2
| | | | | and `for foo in bar.iter_mut(), and for foo in bar.into_iter() (continuation of #7197)
* Fix existing syntactics nits.Josh Matthews2015-08-161-1/+1
|
* Replace uses of `for foo in bar.iter()` and `for foo in bar.iter_mut()`João Oliveira2015-08-151-3/+3
| | | | closes #7197
* Fix unused mutability warnings.Ms2ger2015-08-051-2/+2
| | | | They were introduced in 35ba73112395fe97599b8661729b02cedea7609a.
* Auto merge of #6979 - mbrubeck:counter, r=pcwaltonbors-servo2015-08-041-9/+29
|\ | | | | | | | | | | | | | | | | | | | | | | Fix crash caused by negative numbers in list counters. Fixes #6818. The test still fails because of #6978. r? @pcwalton <!-- Reviewable:start --> [<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6979) <!-- Reviewable:end -->
| * Fix handling of negative numbers in list counters.Matt Brubeck2015-08-041-9/+29
| | | | | | | | Fixes #6818.
* | layout: When repairing styles for incremental reflow, only repairPatrick Walton2015-08-041-1/+10
|/ | | | | | | | | | styles of nodes that represent the dirty node, *including its pseudo-element*. Fixes lots more jumpiness. A manual test, `inline-pseudo-repair-jumpiness.html`, has been added. I was unable to automate it, so I will file a followup issue on that.
* Fix #6680Bogdan Cuza2015-07-221-3/+3
|
* Remove fnv & smallvec crate reexports from utilCorey Farwell2015-06-101-2/+1
| | | | | | | | | | | | | | The util component specified fnv and smallvec as dependencies and publicly reexported both of them. Several other components utilized these reexports, presumably because fnv and smallvec used to live in the tree so reexporting made the transition easier. These indirect dependencies through the util component are unnecessary. This commit removes the fnv & smallvec crate reexports in the util component. It exchange, it adds fnv & smallvec as dependencies to non-util components wherever needed. Finally, it removes the fnv dependency from util as it is not utilized anywhere in the util component.
* Make LOCAL_CONTEXT_KEY safe and non-leaky.Nicholas Nethercote2015-06-041-1/+1
| | | | | | | | | | | | | | | | `LOCAL_CONTEXT_KEY` is currently a `Cell<*mut LocalLayoutContext>`. The use of the raw pointer means that the `LocalLayoutContext` is not dropped when the thread dies; this leaks FreeType instances and probably other things. There are also some unsafe getter functions in `LayoutContext` (`font_context`, `applicable_declarations_cache` and `style_sharing_candidate_cache`) that @eddyb says involve undefined behaviour. This changeset changes `LOCAL_CONTEXT_KEY` to `RefCell<Option<Rc<LocalLayoutContext>>>`. This fixes the leak and also results in safe getters. (Fixes #6282.)
* layout: Implement per-glyph font fallback.Patrick Walton2015-05-221-1/+3
| | | | | | This improves numerous pages, for example Wikipedia and Ars Technica. Closes #177.
* Upgrade to rustc 551a74dddd84cf01440ee84148ebd18bc68bd7c8.Simon Sapin2015-05-051-7/+3
|
* Remove some as_slice calls.Ms2ger2015-04-241-3/+3
|
* Stop using the deprecated range function.Ms2ger2015-04-221-1/+1
|
* Use usize in generated_content.Ms2ger2015-04-021-6/+6
|
* Upgrade rustc to d3c49d2140fc65e8bb7d7cf25bfe74dda6ce5ecf/rustc-1.0.0-dev.Ms2ger2015-03-181-2/+2
|
* layout: Implement ordered lists, CSS counters, and `quotes` per CSS 2.1Patrick Walton2015-03-091-0/+561
| | | | | | | | | | | | | | § 12.3-12.5. Only simple alphabetic and numeric counter styles are supported. (This is most of them though.) Although this PR adds a sequential pass to layout, I verified that on pages that contain a reasonable number of ordered lists (Reddit `/r/rust`), the time spent in generated content resolution is dwarfed by the time spent in the parallelizable parts of layout. So I don't expect this to negatively affect our parallelism expect perhaps in pathological cases.
* Revert "layout: Implement ordered lists, CSS counters, and `quotes` per CSS 2.1"Simon Sapin2015-03-031-573/+0
| | | | This reverts commit 30fd28d1077fbb3f47140f6ab1252c0d24f44d23.
* layout: Implement ordered lists, CSS counters, and `quotes` per CSS 2.1Patrick Walton2015-03-031-0/+573
§ 12.3-12.5. Only simple alphabetic and numeric counter styles are supported. (This is most of them though.) Although this PR adds a sequential pass to layout, I verified that on pages that contain a reasonable number of ordered lists (Reddit `/r/rust`), the time spent in generated content resolution is dwarfed by the time spent in the parallelizable parts of layout. So I don't expect this to negatively affect our parallelism expect perhaps in pathological cases.