Commit graph

16 commits

Author SHA1 Message Date
Patrick Walton
cf773ab0f2 servo: Merge #1424 - Harden layout (from pcwalton:harden-layout); r=pcwalton
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
2013-12-17 18:16:05 -08:00
Patrick Walton
dace488433 servo: Merge #1422 - script: Make trees less generic (from pcwalton:less-generic-trees); r=metajack
r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: e4495453c8b06f31bdbb984e92a184eb2d67c3d6
2013-12-17 13:49:17 -08:00
Patrick Walton
f200e1c4f2 servo: Merge #1408 - layout: Stop going to the DOM for iframe sizes (from pcwalton:stop-going-to-dom-for-iframes); r=larsbergstrom
r? @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: a9980b992c47e6fcac1f6c4510e36a49aa22fbbd
2013-12-13 15:19:16 -08:00
Patrick Walton
32dc877010 servo: Merge #1399 - layout: Store image dimensions inside image boxes instead of going to (from pcwalton:store-image-dimensions); r=kmcallister
the DOM for them.

r? @kmcallister

Source-Repo: https://github.com/servo/servo
Source-Revision: c168e04fe1fc446c973228b7b100bd638a7f4f39
2013-12-12 18:22:18 -08:00
Patrick Walton
8b6195bb24 servo: Merge #1387 - layout: Reference count ComputedValues structures like Gecko does (from pcwalton:ref-count-style); r=pcwalton
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
2013-12-12 14:50:25 -08:00
Patrick Walton
2c42244652 servo: Merge #1381 - layout: Don't delete non-text boxes from the list of input boxes when (from pcwalton:bogus-box-deletion); r=jdm
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
2013-12-11 15:58:34 -08:00
patrick kim
81cc666223 servo: Merge #1372 - Remove @ in layout task.font_context & fix linux/FontContextHandle (from ksh8281:remove_@_in_LayoutTask.FontContext2); r=pcwalton
Remove @ in layout task.font_context & fix linux/FontContextHandle
Arc<FontContextHandle> -> Rc<FontContextHandle>

Source-Repo: https://github.com/servo/servo
Source-Revision: 803f9f6d7e29362bfe827bc75dcbc5684b3c6064
2013-12-10 21:01:12 -08:00
Patrick Walton
1e382496c2 servo: Merge #1371 - layout: Change ~Box to Box (from pcwalton:flatten-box); r=larsbergstrom
63% improvement in box building on the rainbow page.

r? @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 279a82bdd3e21fef01c5ac49f5296ef056d1948a
2013-12-10 18:22:10 -08:00
Ryan Choi
99be1ba818 servo: Merge #1363 - removing @ from flowtree. (but cloning boxes when creating a display lis (from ryanhc:owned_layout); r=metajack
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
2013-12-09 21:01:09 -08:00
Patrick Walton
acacb27f54 servo: Revert "auto merge of #1356 : ksh8281/servo/remove_@_in_LayoutTask.FontContext, r=pcwalton"
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
2013-12-09 19:39:40 -08:00
patrick kim
95597b22c0 servo: Merge #1356 - Remove @ in LayoutTask.FontContext, ScannedTextBox.text_run (from ksh8281:remove_@_in_LayoutTask.FontContext); r=pcwalton
Remove @ in LayoutTask.FontContext, ScannedTextBox.text_run
#1334

Source-Repo: https://github.com/servo/servo
Source-Revision: e8ffac13d7e0ebc0701b87b774491b2b1b895607
2013-12-09 19:13:45 -08:00
Keegan McAllister
6c9b8a9694 servo: Merge #1344 - Remove @mut from LineboxScanner and image caching (from kmcallister:layout-boxes)
Source-Repo: https://github.com/servo/servo
Source-Revision: c5e5e5a46b5ebe83bf21211bf43daca0b19b9f4a
2013-12-06 12:25:27 -08:00
Patrick Walton
3f8c3c0acd servo: Merge #1327 - layout: Change RenderBox to an enum and shorten its name in preparation for removing its @-ness (from pcwalton:enumify-boxes)
Source-Repo: https://github.com/servo/servo
Source-Revision: 91fcc6703bb658a8a3b4926be21f8e0619f4dc9c
2013-12-05 17:44:24 -08:00
Bruno de Oliveira Abinader
99e42cb38f servo: Merge #1321 - Remove 'FloatFlow' (from brunoabinader:remove-floatflow); r=pcwalton
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
2013-12-03 15:31:15 -08:00
Bruno de Oliveira Abinader
2dc5152e4d servo: Merge #1326 - s/FlowContext/Flow (from brunoabinader:rename-flowcontext); r=pcwalton
This patch is for:
https://github.com/mozilla/servo/issues/1282

Source-Repo: https://github.com/servo/servo
Source-Revision: a0c6075b4d766da8f0414405f9e1f76c8c90acc4
2013-12-03 09:16:18 -08:00
Patrick Walton
cd47830e0a servo: Merge #1271 - Rewrite flow construction to be incrementalizable and parallelizable (from pcwalton:incremental-reflow); r=larsbergstrom
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
2013-11-18 11:54:00 -08:00