Commit graph

28481 commits

Author SHA1 Message Date
Bryan Bell
ff71c32218 Remove SetLayerClipRect and add SetLayerOrigin
The constallation has accurate information about iframe layer origins,
but not their size.
2014-09-12 11:29:14 -07:00
Bryan Bell
e17cc2d5e2 Create root compositor layers for all frames eagerly
Instead of waiting to create the root layer, create them as soon as the
Compositor receives the frame tree. This allows the compositor to
create a layer tree skeleton of which to hang the base layers when they
are ready.
2014-09-12 11:29:11 -07:00
Bryan Bell
0e86679464 Store one RenderState per-pipeline in the Compositor
This can later be used to decide whether the entire pipeline is ready
for rendering.
2014-09-12 10:47:51 -07:00
Bryan Bell
c182308350 Store Compositor ReadyState per-pipeline
Instead of storing a single ReadyState, store one per pipeline and
track the earliest one.
2014-09-12 10:47:50 -07:00
Josh Matthews
a2ab6f9799 Merge pull request #3304 from glennw/allow-font-failure
Print debug message instead of fail when unable to load web font. Fixes #3301.
2014-09-12 10:12:51 -04:00
Josh Matthews
97cabf204e Merge pull request #3213 from gilles-leblanc/issue-3111
Make use of the list of Atoms in the class attribute in selector matchin...
2014-09-12 08:50:07 -04:00
glennw
091cd688a0 Merge pull request #3294 from glennw/guardian-layout
Coalesce pending reflow messages so they don't queue up.
2014-09-12 15:51:00 +10:00
Glenn Watson
7503033e57 Coalesce pending reflow messages so they don't queue up. 2014-09-12 15:49:57 +10:00
Glenn Watson
986db8073b Print debug message instead of fail when unable to load web font. Fixes #3301. 2014-09-12 14:32:53 +10:00
Glenn Watson
df48e33926 Fix comment and and reference to bug #3300 2014-09-12 14:00:55 +10:00
Gilles Leblanc
81a0d065f1 Make use of the list of Atoms in ClassSelector
Make use of the list of Atoms in the class attribute selector
(ClassSelector) in selector_matching.

Fixes #3111
2014-09-11 23:19:26 -04:00
Glenn Watson
9ec3c9374d Reduce number of font instances and shaper structures created.
The font cache previously kept weak references to the fonts,
however in layout these fonts are dropped before they are
referenced again, so no caching was being used.

For now, just hold a strong reference in the cache, which means
that fonts will never be thrown out (this will need to be fixed
in the future).
2014-09-12 13:17:44 +10:00
glennw
a18633b163 Merge pull request #3283 from glennw/bg-image
Partial fix for background images on wikipedia pages.
2014-09-12 11:31:24 +10:00
glennw
8116ee1b34 Merge pull request #3254 from cgaebel/issue-3232
Block LayoutRPC until the first reflow.
2014-09-12 08:00:13 +10:00
Sean McArthur
523445c865 create about_loader, handle about:blank 2014-09-11 08:55:54 -07:00
Sean McArthur
b8b51b6dd8 remove unnecessary proc from resource loader factory 2014-09-11 08:55:54 -07:00
Josh Matthews
68dcc67d98 Merge pull request #3284 from glennw/file-loader-fix
Return error when unable to create a file path from url.
2014-09-11 08:59:04 -04:00
Glenn Watson
29c3819246 Partial fix for background images on wikipedia pages.
This fixes the visual artifacts seen at the top of wikipedia pages by:
 - Setting clipping rect to avoid images going outside their bounds.
 - Handling case of background-position being >= 100% such that wrapping is required.

However, the gradient is not currently visible on wikipedia. This relies on bug #1997 being fixed.
2014-09-11 16:25:04 +10:00
Patrick Walton
a3465d2962 net: Premultiply alpha in PNGs.
Closes #2857.
2014-09-10 22:08:06 -07:00
Glenn Watson
627359e9e4 Return error when unable to create a file path from url. 2014-09-11 14:22:59 +10:00
Jack Moffitt
5f713517a2 Fix loading of file URLs with spaces 2014-09-10 18:13:25 -06:00
Tetsuharu OHZEKI
a4ec892dbc Move Attr::local_name() to AttrHelpers/AttrHelpersForLayout. 2014-09-11 04:54:38 +09:00
Tetsuharu OHZEKI
b73b06b9a8 Move Attr helper methods to AttrHelpers trait to avoid to touch them from layout task. 2014-09-11 04:54:38 +09:00
Manish Goregaokar
7a974fa231 Merge pull request #3258 from Manishearth/transmute_lint
Add lint for type-checking transmutes; r=jack
2014-09-10 18:39:38 +05:30
glennw
db3217397b Merge pull request #3272 from glennw/wikipedia-layout
Fix layout of Create Account / Login when rendering Wikipedia.
2014-09-10 19:18:43 +10:00
Clark Gaebel
95b54e44ea Block layout RPC on the first layout call 2014-09-09 22:06:10 -07:00
Glenn Watson
98caecf7ec Fix layout of Create Account / Login when rendering Wikipedia.
When calculating the preferred width for a block, accumulate
the left and right float widths of children separately, which
is then max'ed with the normal flow widths later on.

Ref bug #2554 - improves the layout of the top bar.
2014-09-10 13:51:42 +10:00
Manish Goregaokar
d765d65b7a Add lint for type-checking transmutes 2014-09-10 09:11:44 +05:30
Glenn Watson
d218815394 Define constant parameters strings as statics. 2014-09-10 07:29:40 +10:00
Glenn Watson
cc24e68186 Improve quality of font rendering on Linux (and Android).
The freetype hinting only works on integer pixel sizes. For this
reason, the advance width metrics for a font of size 12.99 are
the same as the advance metrics for a font of size 12.0. This
results in small fonts appearing to overlap slightly, which is
particularly noticeable on parts of Wikipedia. Round the font
size up to a pixel boundary inside the freetype system.

Also fetch the system default fonts for the generic font families
rather than hard coding them.

These two changes make the font rendering on Linux very close
to the Firefox font rendering on Wikipedia.
2014-09-10 07:29:40 +10:00
Jack Moffitt
c6ab60dbfc Cargoify servo 2014-09-08 20:21:42 -06:00