This changeset gets rid of the `FooView` phantom type in favor of a more brute force approach that just whitelists methods that layout is allowed to call. The set is surprisingly small now that layout isn't going to the DOM for much.
If this approach turns out not to scale, we can do something fancier, but I'd rather just have it be safe and secure first and then refactor later for programmer happiness.
r? @kmcallister
Source-Repo: https://github.com/servo/servo
Source-Revision: 824c7ac613ebb80bb432ff6425c5e25c642b6afb
This has no difference in CSS selector matching performance and results
in a 31% speedup in constraint solving on the rainbow page.
r? @kmcallister
Source-Repo: https://github.com/servo/servo
Source-Revision: 87acc5d493d39df5c250ed44dcfb3d6ea54e8ffa
flushing text clumps. Fixes this page:
http://en.wikipedia.org/wiki/Yellow_River
This is not the most efficient thing to do; a FIXME has been added
noting what is most correct.
r? @jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: acb3d9f5333dc8e5a6805beea17775855e0f6be8
63% improvement in box building on the rainbow page.
r? @larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 279a82bdd3e21fef01c5ac49f5296ef056d1948a
Removing all @ from flowtree to make it parallelism-ready.
The connection between displaylist and flowtree is removed, i.e., when displaylist is built, box is cloned.
Whether displaylist still needs to have boxes is a design decision to make.
Also thanks to @ksh8281
Source-Repo: https://github.com/servo/servo
Source-Revision: 794ea62ed9ef1b999d45f256c731795a4e5ba512
This reverts commit e8ffac13d7e0ebc0701b87b774491b2b1b895607, reversing
changes made to db923feffe4ef1f15c34c2a50acdf74a4321e2d4.
Reverting this change because FreeType is *not* thread safe. See the
documentation here:
http://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html
"In multi-threaded applications, make sure that the same FT_Library
object or any of its children doesn't get accessed in parallel."
We will need to use a `MutexArc` instead.
Source-Repo: https://github.com/servo/servo
Source-Revision: 30bbaa49b700140574c5848955abba4b8d2dc48c
Removes 'FloatFlow' in favor of FloatBlockFlow, which is contained
inside BlockFlow in a 'has-a' relationship. This avoids a bunch of
duplicated code.
This patch is for:
https://github.com/mozilla/servo/issues/1281
Source-Repo: https://github.com/servo/servo
Source-Revision: b26fe9a430b6e36fb63b55202df3d2d4a1629b9c
This replaces flow construction with a strict bottom-up tree traversal,
allowing for parallelism. Each step of the traversal creates a flow or
a `ConstructionItem`, similar to how Gecko works. {ib} splits are
handled by not creating `InlineFlow`s until the containing block is
reached.
This should be able to be incrementalized by storing the `Flow` from
layout to layout, and performing fixups during flow construction
and/or wiping containing blocks in a previous pass.
r? @larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 736a258c26b6118c617e6dccb65d75988bcf5ee9