Commit graph

554 commits

Author SHA1 Message Date
Josh Matthews
766c3815ab Add layers dependency to util crate. Fixes #3783. 2014-10-23 19:29:05 -04:00
bors-servo
012a80cc18 auto merge of #3772 : pcwalton/servo/slim-down-fragment, r=metajack
16% performance improvement in layout (!)

r? @metajack (or whoever)
2014-10-23 12:18:34 -06:00
Ms2ger
903f3fa729 Cleanup Document::Title. 2014-10-23 18:21:33 +02:00
Ms2ger
fff0491c01 Move the methods on bare Document onto DocumentHelpers. 2014-10-23 18:21:02 +02:00
Ms2ger
d643ade7e8 Introduce LayoutDocumentHelpers::is_html_document_for_layout for LayoutElementHelpers::html_element_in_html_document_for_layout. 2014-10-23 18:20:11 +02:00
Ms2ger
32bcc192b0 Cleanup some Document methods. 2014-10-23 18:20:11 +02:00
Patrick Walton
de5e2fd5e2 layout: Shrink fragments down from 448 bytes down to 128 bytes.
16% performance improvement in layout (!)
2014-10-23 09:13:41 -07:00
Josh Matthews
539c21f380 Implement Document.readyState. Prevent iframes from notifying the compositor after the initial parse. Fixes #1720. Fixes #3738. 2014-10-23 10:55:59 -04:00
bors-servo
470d27a668 auto merge of #3776 : saneyuki/servo/macro, r=jdm
Fix #3755

This doesn't convert some specialized event handlers (e.g. `HTMLBodyElement`'s ones, `HTMLElement.GetOnload()`).
2014-10-22 22:30:29 -06:00
Tetsuharu OHZEKI
0a84c5d479 Macroize event handler getters and setters. 2014-10-23 13:03:58 +09:00
Clark Gaebel
5cd47c7670 Clear reflow flags after reflow. 2014-10-22 17:46:28 -07:00
bors-servo
a6f0159cb8 auto merge of #3765 : pcwalton/servo/profiler-cleanups, r=cgaebel
The only real user-visible change this effects is to trim URLs to 30 characters so they don't make huge lines on the terminal.

r? @cgaebel
2014-10-22 14:45:35 -06:00
bors-servo
1bc9c049c6 auto merge of #3774 : ebalint/servo/3707_DOM_getters, r=jdm 2014-10-22 13:36:38 -06:00
Edit Balint
daf9e59869 Make DOM getters that return &JS<T> return Temporary<T> instead #3707 2014-10-22 19:05:25 +02:00
bors-servo
01f6a8102d auto merge of #3771 : pcwalton/servo/display-list-building-cleanup, r=mrobinson
`layout::fragment` and `layout::block` were getting too big.

r? @mrobinson
2014-10-22 10:54:35 -06:00
bors-servo
590a93120a auto merge of #3757 : brunoabinader/servo/content_changed, r=jdm
```JSRef<Attr>``` does not require allocating a ```DOMString``` for value, which are unused in most cases. It also provides more access to ```Attr``` data.
2014-10-22 09:33:37 -06:00
Bruno de Oliveira Abinader
bbab8831e0 Usage of JSRef<Attr> in before_remove_attr & after_set_attr
JSRef<Attr> does not require allocating a DOMString for value, which are
unused in most cases. It also provides more access to Attr data.
2014-10-22 11:13:58 -04:00
Patrick Walton
821793351e layout: Largely move display list building out to a separate file.
`layout::fragment` and `layout::block` were getting too big.
2014-10-22 08:02:17 -07:00
Patrick Walton
d2d012165f util: Make some minor formatting cleanups to profiling and gfx 2014-10-22 07:49:56 -07:00
Patrick Walton
55222336b5 gfx: Paint in parallel in CPU painting mode 2014-10-22 07:47:47 -07:00
bors-servo
f5e8df9dac auto merge of #3737 : saneyuki/servo/cell, r=jdm
#3050

Altough LayoutDataRef is touched from layout, we don't use DOMRefCell in it becasuse
it's expected to manipulate in layout task.
2014-10-22 07:54:36 -06:00
bors-servo
4b508195ac auto merge of #3769 : glennw/servo/font-au, r=pcwalton 2014-10-22 03:30:36 -06:00
bors-servo
213178b6b9 auto merge of #3742 : saneyuki/servo/opt, r=jdm
This follows up #3711.
2014-10-22 01:27:36 -06:00
bors-servo
fe230ef37d auto merge of #3763 : cgaebel/servo/issue-3753, r=pcwalton
r? @pcwalton

Looks like I forgot to save `ScannedTextFragment`s block sizes with their
inline sizes. This patch fixes that.

Fixes #3753
2014-10-21 23:27:36 -06:00
Glenn Watson
8331cfe089 Convert internal font code to store pt size as Au. 2014-10-22 13:49:41 +10:00
bors-servo
1fd7650de5 auto merge of #3752 : pcwalton/servo/default-cpu, r=larsbergstrom
We've discussed this some and I think there's consensus to do it as a
pragmatic decision for now. CPU painting is more stable, especially with
buggy drivers, and faster (because we aren't caching the necessary
OpenGL objects yet and possibly for other reasons), so it provides a
better "out of the box" experience for newcomers to Servo who don't know
to pass the `-c` option. This patch continues to reftest both Skia and
Skia-GL out of a desire to keep options open. Skia-GL remains a
first-class citizen.

r? @metajack
2014-10-21 21:18:33 -06:00
bors-servo
691e42f7ef auto merge of #3749 : pcwalton/servo/update-rust-azure, r=metajack
r? @metajack
2014-10-21 19:54:37 -06:00
Tetsuharu OHZEKI
f1c840de64 Use DOMRefCell for Page. 2014-10-22 10:01:01 +09:00
Tetsuharu OHZEKI
072bb5b965 Use DOMRefCell for ScriptTask. 2014-10-22 10:01:01 +09:00
Tetsuharu OHZEKI
bf22a473fa Use DOMRefCell for TimerManager. 2014-10-22 10:01:01 +09:00
Tetsuharu OHZEKI
71b4143d32 Use DOMRefCell for XMLHttpRequest. 2014-10-22 10:01:01 +09:00
Tetsuharu OHZEKI
6d089a87d5 Use DOMRefCell for URLSearchParams. 2014-10-22 10:01:01 +09:00
Tetsuharu OHZEKI
38ddddd1ca Use DOMRefCell for ServoHTMLParser. 2014-10-22 10:01:01 +09:00
Tetsuharu OHZEKI
36d8dc5a42 Use DOMRefCell for Window. 2014-10-22 10:01:01 +09:00
Tetsuharu OHZEKI
7e7c610837 Use DOMRefCell for Node.
Altough LayoutDataRef is touched, we don't use DOMRefCell in it becasuse
it's expected to manipulate in other task.
2014-10-22 10:01:01 +09:00
Tetsuharu OHZEKI
d8c4588f0e Use DOMRefCell for HTMLInputElement. 2014-10-22 10:01:00 +09:00
Tetsuharu OHZEKI
4c72727a56 Use DOMRefCell for HTMLImageElement. 2014-10-22 10:01:00 +09:00
Tetsuharu OHZEKI
f33e09d8f8 Use DOMRefCell for FormData. 2014-10-22 10:01:00 +09:00
Tetsuharu OHZEKI
752c821e43 Use DOMRefCell for EventTarget. 2014-10-22 10:01:00 +09:00
Tetsuharu OHZEKI
1aefa5423a Use DOMRefCell for Event. 2014-10-22 10:01:00 +09:00
Tetsuharu OHZEKI
ab2d3bc1bb Use DOMRefCell for Document. 2014-10-22 10:01:00 +09:00
bors-servo
9e48010c8f auto merge of #3748 : mrobinson/servo/trimmer-flow-tree-output, r=mbrubeck
Logical geometry is complicated, so the string formatted output is
verbose. This means that flow tree dumps often go well beyond the
edge of the terminal screen. With a simple notation, we can shorten the
output and make it slightly easier to read. This notation also makes it
more similar to the formatted output of Rect, Point2D, and Size2D.
2014-10-21 19:00:37 -06:00
Tetsuharu OHZEKI
d530e8def9 Remove the help text for render backend option. follow up #3711. 2014-10-22 09:58:58 +09:00
bors-servo
f5ad89f927 auto merge of #3747 : mrobinson/servo/validate-display-list, r=pcwalton
When this option is enabled, the layout task will print an error when
display list items draw outside their owning Flow's position rect. This
will make it easier to detect layout errors before they break rendering.

This is a command-line option for the moment, because we violate this
rule quite a bit still. Once all bugs causing this are fixed, we can be
more aggressive about enabling the option.
2014-10-21 17:51:43 -06:00
bors-servo
3936d14260 auto merge of #3746 : mrobinson/servo/debug-fragment-borders, r=pcwalton
This is quite a bit cleaner than abusing the rust debug functionality.
If we start collecting too many debugging options in the servo
executable we could opt to organize them into a single option.

Fixes #2263.
2014-10-21 17:06:40 -06:00
Clark Gaebel
b31f9e0188 properly incrementally set block size 2014-10-21 14:26:22 -07:00
bors-servo
4795e9cf0b auto merge of #3730 : glennw/servo/taskpool, r=pcwalton
r? @pcwalton - Is this the kind of thing you were thinking of in terms of task queue?
2014-10-21 15:15:42 -06:00
bors-servo
2bc4ffe5cf auto merge of #3744 : cgaebel/servo/efficient-preorder-traversal, r=pcwalton
This also tackles some nearby FIXMEs. `traverse_preorder` is used in a LOT of
DOM functions..

r? @pcwalton
2014-10-21 13:09:38 -06:00
Patrick Walton
32e34663cd gfx: Switch the default to CPU painting.
We've discussed this some and I think there's consensus to do it as a
pragmatic decision for now. CPU painting is more stable, especially with
buggy drivers, and faster (because we aren't caching the necessary
OpenGL objects yet and possibly for other reasons), so it provides a
better "out of the box" experience for newcomers to Servo who don't know
to pass the `-c` option. This patch continues to reftest both Skia and
Skia-GL out of a desire to keep options open. Skia-GL remains a
first-class citizen.
2014-10-21 11:13:21 -07:00
bors-servo
018146b1a8 auto merge of #3728 : cgaebel/servo/dump-flow-tree-with-println, r=mrobinson
r? @mrobinson
2014-10-21 11:27:40 -06:00