Commit Graph

16 Commits

Author SHA1 Message Date
Patrick Walton
b7f1a50f7b servo: Merge #11398 - script: Keep the DOM-side viewport up to date when scrolling happens in WebRender (from pcwalton:webrender-viewport); r=glennw
This happens asynchronously, just as it does in non-WebRender mode.

This functionality is a prerequisite for doing proper display-list-based
hit testing in WebRender, since it moves the scroll offsets into Servo
(and, specifically, into the script thread, enabling iframe event
forwarding) instead of keeping them private to WebRender.

Requires servo/webrender_traits#55 and servo/webrender#277.

Partially addresses #11108.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 27d1f182713077395426a53a9c91ec35c95887ee
2016-05-31 20:54:29 -05:00
Ms2ger
ee177cfe95 servo: Merge #11488 - Remove the ConvertPipelineIdToWebRender trait (from Ms2ger:ConvertPipelineIdToWebRender); r=metajack
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because refactoring

Source-Repo: https://github.com/servo/servo
Source-Revision: 0173cabbb6aedd5695e4035437b233927d4f27d0
2016-05-28 09:49:44 -05:00
Per Lundberg
518936c38a servo: Merge #11192 - Removed unused imports (from perlun:remove-unused-imports); r=Manishearth
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #11185
- [X] These changes do not require tests because it only removes dead code.

----

This fixes #11185.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2c674d0397927ef6563feb70e54f46815af55600
2016-05-15 15:41:16 -07:00
Ulf Nilsson
05bd09d95b servo: Merge #11109 - Make text-align: justify incremental layout safe (from kaksmet:justify-fix); r=mbrubeck
Closes #10499
Closes #9057

Source-Repo: https://github.com/servo/servo
Source-Revision: 069be91e8451d197c8f66790fbf53086f22150d7
2016-05-10 12:54:26 -07:00
Kosov Eugene
aabdf17d26 servo: Merge #11084 - move trait ConvertPipelineIdToWebRender to a better place (from kevgs:layout_traits); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 9a8c81773a7dc51301e52ce3f02f8ea55984365a
2016-05-09 03:14:03 -07:00
Matt Brubeck
edfbda6993 servo: Merge #11032 - Filter out whitespace glyphs from display list (from mbrubeck:no-whitespace); r=pcwalton
Fixes #10244. r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: df8008cfe6a0113ae9153e9eb3424f8b3a4030e8
2016-05-07 11:05:14 -07:00
Matt Brubeck
8bbb7242ac servo: Merge #10895 - Use byte indices instead of char indices for text runs (from mbrubeck:byteindex); r=pcwalton
Replace character indices with UTF-8 byte offsets throughout all code dealing with text runs.  This eliminates a lot of complexity when converting from one to the other, and interoperates better with the rest of the Rust ecosystem.

For most code this is just a simple replacement of char indices with byte indices.  In a few places like glyph storage and text fragment scanning, it also lets us get rid of code that existed only to map between bytes and chars.

Also includes some related fixes to text shaping, discovered while working on this conversion.  See the commit messages for details.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: cf121ad8dff90b8fa55558ca9bdcbfe29512a617
2016-04-28 20:22:09 -07:00
Martin Robinson
1dc21b4e34 servo: Merge #10810 - Merge DisplayListEntry into DisplayItem (from mrobinson:displayitem); r=pcwalton
We don't really need two levels of abstraction for every element in the
DisplayList. This simplifies the complexity of the data structure in
preparation for providing documentation and properly handling scrolling
roots.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1fee7185a77424915d517a64685d6f7be40fbd3c
2016-04-26 10:13:00 -07:00
Patrick Walton
5c34bdc92e servo: Merge #10717 - layout: Implement support for overflow: scroll in WebRender (from pcwalton:wr-overflow-scroll); r=glennw
Requires a WebRender upgrade.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 64b0dafde8f65ef4aceeb85436c547a1581c619f
2016-04-20 02:25:44 +05:00
Martin Robinson
41e77b65bc servo: Merge #10678 - WebRender no longer needs StackingLevel information (from mrobinson:remove-stackinglevel-from-webrender); r=pcwalton
Since the display list is already sorted before it is passed to
WebRender, we don't need to pass the stacking level information any
longer. Update webrender, webrender_traits, and gleam.

Source-Repo: https://github.com/servo/servo
Source-Revision: 062d933e4fb4a58d9dc319ec2b462f3c1d504d8a
2016-04-19 09:59:21 +05:00
Patrick Walton
69effb9e2a servo: Merge #10529 - layout: Make child stacking contexts of fixed position stacking contexts also fixed position (from pcwalton:nested-fixed-position-webrender); r=glennw
Improves YouTube.
Improves the Washington Post.

Closes #10526.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 150338503dce8f2ba7f2a6850dca253733a636a1
2016-04-12 10:08:11 +05:00
Patrick Walton
362120d391 servo: Merge #9947 - Faster display list transfer (from pcwalton:faster-display-list-transfer); r=glennw
This series of commits improves performance of display list construction in browser.html by about 3x when using WebRender.

It requires https://github.com/servo/webrender_traits/pull/18 and https://github.com/servo/webrender/pull/231.

Anyone should feel free to review if they have time; I'll ask someone in particular once those two upstream commits land.

cc @paulrouget

Source-Repo: https://github.com/servo/servo
Source-Revision: 187ca442337313a76ce115ac92a2da44d91d5b96
2016-03-23 07:36:31 +05:00
Martin Robinson
f5e84d93d6 servo: Merge #9962 - Simplify the display list slightly (from mrobinson:display-list-simplification); r=pcwalton
Now that WebRender uses an Iframe display item, we do not need the Noop
item for the non-WebRender path. We can simply reuse the Iframe display
item. Also remove the layer_id member from the LayeredItem struct, as
it is unused.

Source-Repo: https://github.com/servo/servo
Source-Revision: 40083a7aa84c2459f2f1de7dd826d39f80e2195f
2016-03-11 10:52:29 +05:00
Patrick Walton
9329d6b414 servo: Merge #9861 - Flatten the WebRender API to allow us to use shared memory to transfer display lists (from pcwalton:superflat); r=glennw
Improves performance significantly.

Requires servo/webrender_traits#15 and servo/webrender#222.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 1c63bf9822d54cf95daa9921cda08f3b60521027
2016-03-04 06:15:45 +05:00
Martin Robinson
867b8565bb servo: Merge #9756 - Flatten display list structure (from mrobinson:flat-display-lists-webrender); r=pcwalton
Instead of producing a tree of stacking contexts, display list
generation now produces a flat list of display items and a tree of
stacking contexts. This will eventually allow display list construction
to produce and modify WebRender vertex buffers directly, removing the
overhead of display list conversion.  This change also moves
layerization of the display list to the paint thread, since it isn't
currently useful for WebRender.

To accomplish this, display list generation now takes three passes of
the flow tree:

        1. Calculation of absolute positions.
        2. Collection of a tree of stacking contexts.
        3. Creation of a list of display items.

After collection of display items, they are sorted based upon the index
of their parent stacking contexts and their position in CSS 2.1
Appendeix E stacking order.

This is a big change, but it actually simplifies display list generation.

Source-Repo: https://github.com/servo/servo
Source-Revision: 62814f7cb486bc267a796b7ce58c51d59240fad0
2016-03-02 05:51:08 +05:00
Glenn Watson
3b05a50ca8 servo: Merge #9589 - Add WebRender integration to Servo (from glennw:webrender); r=pcwalton
WebRender is an experimental GPU accelerated rendering backend for Servo.

The WebRender backend can be specified by running Servo with the -w option (otherwise the default rendering backend will be used).

WebRender has many bugs, and missing features - but it is usable to browse most websites - please report any WebRender specific rendering bugs you encounter!

Source-Repo: https://github.com/servo/servo
Source-Revision: ab07b06823ea9748a6091aee2281495f86f00bce
2016-02-19 00:24:06 +05:00