Commit graph

1739 commits

Author SHA1 Message Date
bors-servo
fed4f951c1 auto merge of #551 : sfowler/servo/run-layout-once, r=metajack
Performance will be better and benchmarking easier if we don't run layout an extra unnecessary time when loading a page from the commandline. This is happening because we always send a resize event to the script task from the compositor whenever the platform tells us one happened, even if the window size didn't change. This PR fixes this by checking that the window size is actually different before sending the event.
2013-06-27 19:12:34 -07:00
Seth Fowler
72f5e5f30d Don't send a resize event if the window size didn't change 2013-06-27 19:04:01 -07:00
bors-servo
74ab914149 auto merge of #548 : sfowler/servo/glyph-store-cache, r=pcwalton
This PR makes text runs store the results of shaping as a vector of ARC<GlyphStore>; each element of the vector holds the shaped glyphs for a nonbreakable unit of text (basically a word). This change allows us to cache the shaped glyphs for the words, an approach that Gecko (and probably WebKit) uses. We get pretty good cache hit ratios even on the first run of layout for a page (I saw 62% on Wikipedia's main page today), although a lot of that is due to whitespace. This really comes into its own on subsequent layout runs, though, which are completely cached in the typical case.
2013-06-27 15:45:46 -07:00
Seth Fowler
677fce2546 Cache shaped text at word granularity 2013-06-26 18:58:44 -07:00
Seth Fowler
0ac520631a Add utility methods to Range 2013-06-26 18:58:44 -07:00
Seth Fowler
39c3a6ff1d Add HashCache and switch all caches from Copy to Clone 2013-06-26 18:58:38 -07:00
bors-servo
a066ce67d7 auto merge of #539 : sfowler/servo/create-textruns-in-box-builder, r=pcwalton
This is a preliminary step to adding parallel text shaping. In order to have enough time to do a useful amount of work in parallel, we need to trigger text shaping earlier. This PR moves TextRun creation into the box building phase of layout.

I'm pushing this in before the rest of the text shaping patches to avoid bitrot; it's already been through one unpleasant rebase.
2013-06-26 17:57:25 -07:00
Seth Fowler
4b172a312d Create text runs during box building 2013-06-26 17:51:36 -07:00
bors-servo
3defac6390 auto merge of #547 : brson/servo/alert, r=metajack
Depends on https://github.com/mozilla-servo/rust-alert/pull/2
2013-06-26 16:45:45 -07:00
Brian Anderson
70d9dd7634 Updgrade rust-alert 2013-06-26 16:19:32 -07:00
bors-servo
bc520e0143 auto merge of #546 : brson/servo/master, r=metajack 2013-06-26 15:36:53 -07:00
Brian Anderson
56e5ba1b82 Update for language changes 2013-06-26 13:44:26 -07:00
bors-servo
a01f6b97f2 auto merge of #542 : eric93/servo/floats, r=pcwalton
I added the minimal amount of code needed to place left-floats on the screen (right floats should also be possible soon). Text does not wrap around floats yet.

One thing I'm curious about is whether some existing abstractions (like Cell) can be used instead of this weird overwriting thing done in float_context.rs.
2013-06-25 16:18:31 -07:00
Eric Atkinson
427328e8e4 Stop crashing when building the flow tree 2013-06-25 11:12:29 -07:00
Eric Atkinson
49f80fd894 Fix up problems with float placement 2013-06-24 16:07:02 -07:00
Eric Atkinson
0c63dda290 Allow floats to have specified heights 2013-06-24 16:07:02 -07:00
Eric Atkinson
94e7a86b7e Added floats to the flow tree 2013-06-24 16:07:02 -07:00
Eric Atkinson
d3fe4f4e3a Add helper functions for floats 2013-06-24 16:07:02 -07:00
bors-servo
033af01283 auto merge of #535 : saneyuki/servo/o-opt, r=metajack
I think that we should show the error message until we restore the feature outputting the rendering result to a file.
2013-06-24 14:24:26 -07:00
bors-servo
6df102a117 auto merge of #537 : GlitchMr/servo/darwin-uname-m, r=metajack
I know that this is very small commit, but I guess it still counts, as comment simply lies.
2013-06-24 08:27:29 -07:00
Konrad Borowski
ab31e3165d It's actually uname -m lying. 2013-06-24 15:01:07 +02:00
saneyuki_s
5e096fa82a Show the error massage if 'o' option is passed. 2013-06-23 21:17:19 +09:00
bors-servo
9f34278931 auto merge of #533 : pcwalton/servo/slow-debug-code, r=metajack
r? @metajack
2013-06-21 13:36:24 -07:00
Patrick Walton
0371ea78e3 Remove slow debug code from box.rs. 2013-06-21 13:14:41 -07:00
bors-servo
8f32094d73 auto merge of #531 : eschweic/servo/master, r=metajack
There is now a SharedChan from the compositor to the renderer. Using this, tiles are re-rendered the tiles at a higher resolution after zooming (this is currently bound to a MouseClickUp event). Also, extra texture layers are deleted, which fixes a bug where old content was being displayed when a new paint message was sent.

Depends on rust-layers: 1e1e359da32c9d0ddb4f93b505a658d669008426
2013-06-20 20:09:25 -07:00
bors-servo
eb1e0230a9 auto merge of #532 : jrfeenst/servo/line-height3, r=pcwalton
Wikipedia, lipsum, and everything else I looked at seems fine now.
2013-06-20 19:24:29 -07:00
Joel Feenstra
09a4ba8d75 Fix computing line height for generic boxes and images. 2013-06-20 22:15:42 -04:00
Joel Feenstra
5038924a1a Fix line height for "normal" line-height styles. 2013-06-20 22:15:42 -04:00
Joel Feenstra
cb36464f06 Reapply "Add initial support for the line-height property. Line height is only based on the tallest box in each line and does not factor in the vertical-alignment. Improves whitespace handling by passing the whitespace state between function invocations."
This reverts commit 0bb3fbdde0.
2013-06-20 22:15:21 -04:00
eschweic
d95988da80 Implement dynamic resolution, messaging from compositor to renderer, delete unused texture layers 2013-06-20 17:37:47 -07:00
Patrick Walton
6301b18685 Merge pull request #530 from eschweic/master
Revert line height changes
2013-06-20 15:22:34 -07:00
eschweic
0bb3fbdde0 Revert "Add initial support for the line-height property. Line height is only based on the tallest box in each line and does not factor in the vertical-alignment. Improves whitespace handling by passing the whitespace state between function invocations."
This reverts commit 7dcff2b5ff, reversing
changes made to 93eea6b2e8.
2013-06-20 11:56:08 -07:00
bors-servo
5af5798720 auto merge of #529 : eschweic/servo/master, r=pcwalton
Add a quadtree implementation to allow the compositor to keep track of which tiles have been rendered and which haven't.

r? @pcwalton
2013-06-20 10:42:29 -07:00
eschweic
0dad4d138c Merge branch 'master' of https://github.com/mozilla/servo 2013-06-20 10:06:25 -07:00
bors-servo
c10bbbda97 auto merge of #528 : tkuehn/servo/master, r=metajack
r? metajack
2013-06-19 22:00:30 -07:00
Tim Kuehn
2253365735 libmsg crate for message interfaces to compositor and engine 2013-06-19 21:31:12 -07:00
Seth Fowler
68aee00ec4 Merge pull request #525 from sfowler/font-cache
Add an LRU cache and use it for fonts and font groups
2013-06-19 19:56:15 -07:00
bors-servo
0d438e79b8 auto merge of #521 : jrfeenst/servo/line-height-rebase2, r=metajack
Line height is only based on the tallest box in each line and does not factor in the vertical-alignment. Improves whitespace handling by passing the whitespace state between function invocations.

There were too many changes on master to easily rebase. It was easier to merge to a fresh branch.

Here is the original PR: https://github.com/mozilla/servo/pull/509
2013-06-19 19:30:42 -07:00
bors-servo
63a7466538 auto merge of #523 : metajack/servo/gpu-profiling, r=metajack
This makes the rendering code serial instead of parallel since it now just dispatches commands to the GPU.

It also adds some more profiling data.

r? @pcwalton
2013-06-19 18:58:14 -07:00
Jack Moffitt
73ed0c6cbf Update nss to fix build issues. 2013-06-19 19:54:01 -06:00
Seth Fowler
318b2cf745 Add LRU cache and use it for fonts and font groups 2013-06-19 16:02:48 -07:00
eschweic
0d7338b630 Add quadtree implementation 2013-06-19 12:48:26 -07:00
Jack Moffitt
a9e1354118 Refactor renderer into single function.
This removes the task per tile rendering and instead renders tiles
serially. This also unwraps the rendering into a single function so that it's
much clearer.
2013-06-17 15:10:41 -06:00
Jack Moffitt
ece8791c26 Warning police. 2013-06-17 15:10:41 -06:00
eschweic
def01b414f Merge branch 'master' of https://github.com/mozilla/servo 2013-06-17 14:03:27 -07:00
Jack Moffitt
1eea39a808 Adding renderer drawing category to profiler. 2013-06-17 14:52:43 -06:00
Jack Moffitt
c07a2be6e7 Propagate debug flag in Makefiles. 2013-06-17 14:52:43 -06:00
bors-servo
d61c455340 auto merge of #517 : tkuehn/servo/master, r=metajack
communicate via layout
refactor channel wrappers from *Task --> *Chan
2013-06-17 13:21:34 -07:00
Tim Kuehn
577a410f80 refactor compositor interfaces \--> RenderListener + ScriptListener; AttachCompositorMsg added to render_task::Msg
updated to reflect comments
2013-06-17 12:37:02 -07:00
Joel Feenstra
7dcff2b5ff Add initial support for the line-height property. Line height is only based on the tallest box in each line and does not factor in the vertical-alignment. Improves whitespace handling by passing the whitespace state between function invocations. 2013-06-16 18:44:41 -04:00