Граф коммитов

165 Коммитов

Автор SHA1 Сообщение Дата
Ms2ger 33e1b9c8ab servo: Merge #5888 - Prepare for the rustup (from Ms2ger:prepare-rustup); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: ab2d07db1fabd7ad9590aa7296038bbc91806c3f
2015-04-28 17:52:49 -05:00
Simon Sapin 524056a01d servo: Merge #5870 - layout: Implement most of `border-collapse` per CSS 2.1 § 17.6.2 (from SimonSapin:border-collapse); r=SimonSapin
Fixes #5300, which it is a rebase of.

Known issues:

* Collapsed borders do not correctly affect the border-box of the table
  itself.

* The content widths of all cells in a column and the content height of
  all cells in a row is the same in this patch, but not in Gecko and
  WebKit.

* Corners are not painted well. The spec does not say what to do here.

* Column spans are not handled well. The spec does not say what to do
  here either.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8a4555cc53bc1bbb21a08eb6f010cb1215034419
2015-04-27 12:29:15 -05:00
Ms2ger 374d18472e servo: Merge #5827 - Use as_slice less (from Ms2ger:slice); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 79be3b967668e46a4289f4fc8fce2b4f457cab23
2015-04-24 12:12:53 -05:00
Glenn Watson 835b3be20c servo: Merge #5767 - Refactored image cache task - details below (from glennw:image-cache); r=larsbergstrom,jdm
* Simpler image cache API for clients to use.
 * Significantly fewer threads.
   * One thread for image cache task (multiplexes commands, decoder threads and async resource requests).
   * 4 threads for decoder worker tasks.
 * Removed ReflowEvent hacks in script and layout tasks.
   * Image elements pass a Trusted<T> to image cache, which is used to dirty nodes via script task. Previous use of Untrusted addresses was unsafe.
   * Image requests such as background-image on layout / paint threads trigger repaint only rather than full reflow.
 * Add reflow batching for when multiple images load quickly.
   * Reduces the number of paints loading wikipedia from ~95 to ~35.
 * Reasonably simple to add proper prefetch support in a follow up PR.
 * Async loaded images always construct Image fragments now, instead of generic.
   * Image fragments support the image not being present.
 * Simpler implementation of synchronous image loading for reftests.
 * Removed image holder.
 * image.onload support.
 * image NaturalWidth and NaturalHeight support.
 * Updated WPT expectations.

Source-Repo: https://github.com/servo/servo
Source-Revision: ac0645c2363b5a6ea3930b0857b3a27f1b6d033f
2015-04-22 19:16:46 -05:00
Ms2ger 7b37ef8efe servo: Merge #5801 - Stop using the deprecated range function (from Ms2ger:range); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 43e664cda1dd562935fe5e4fdd92e5abcf6fb8f9
2015-04-22 18:24:21 -05:00
Adenilson Cavalcanti 40c24662cd servo: Merge #5787 - Using helper color function (less verbose and clearer to understand) (from Adenilson:colorWhite01); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: f9a50c9be0ea8d941c0065ff23758fd460cc5eaa
2015-04-22 17:04:41 -05:00
Adenilson Cavalcanti 17ce190a9f servo: Merge #5728 - Allow dumping the optimized display list (DL) (from Adenilson:optimDL01); r=metajack
This DL is created at paint time, per tile. To dump, pass -Z dump-display-list-optimized at startup.

Source-Repo: https://github.com/servo/servo
Source-Revision: ca8c0f353c2a13f6dbf7c4597a742d684c84c0d9
2015-04-17 15:33:06 -05:00
Patrick Walton 278e89a7f9 servo: Merge #5706 - layout: Clip the immediate fragments of block flows that establish stacking contexts properly (from pcwalton:absolute-clipping-of-own-contents); r=glennw
r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: f7bfea58798a07d993ba7bc7d9c76f62be19ea4f
2015-04-15 21:04:59 -05:00
Adenilson Cavalcanti f4443ed188 servo: Merge #5546 - Implementing Blur filter (from Adenilson:blurFilter01); r=pcwalton
See discussion on #5190 and #5496.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1fd6a48cca1ff951e60c9345e988f5489cb56f61
2015-04-15 18:56:49 -05:00
Aneesh Agrawal 750e000989 servo: Merge #5642 - Switch Arc<Box<Image>> to Arc<Image> for perf boost (from aneeshusa:arc-box-image-to-arc-image); r=Ms2ger
Image used to be a trait, but no longer is, so boxing it is no longer
necessary. Fixes #5639.

Source-Repo: https://github.com/servo/servo
Source-Revision: b7f59a36461e6c9eb08b8e48760168d3cb26a400
2015-04-14 01:57:07 -05:00
Glenn Watson 1907792b09 servo: Merge #5629 - Remove unneeded assert (code below handles it) and a warning. Fixes #5230 (from glennw:glyph-count); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: db4609d722039e9477848c5e53e45ff214cb84c4
2015-04-09 21:01:06 -05:00
Ms2ger 3837dc8fef servo: Merge #5604 - Remove recently introduced int/uint use in gfx (from Ms2ger:int); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: acadb2b0c56d3a89174a4b0834142762f3ab6ca8
2015-04-08 20:33:17 -05:00
Patrick Walton 6146e9b4fd servo: Merge #5493 - layout: Simplify and improve the correctness of whitespace stripping in text layout, and unify the inline layout paths for pre- and normally-formatted text (from pcwalton:jumpiness); r=mbrubeck
This fixes a lot of "jumpiness" and removes the `new_line_pos` stuff.

Closes #2260.

r? @mbrubeck
cc @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: d3478954fd8e3a8374104984efb91a918b5dbb7e
2015-04-08 17:13:36 -05:00
Josh Matthews 8be8eb016b servo: Merge #5571 - Remove int_uint feature from gfx (from jdm:gfx_uint); r=Ms2ger
r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: 83d9ab3ba5c6a725632a954cf2b9f65832f89832
2015-04-08 03:06:09 -05:00
Simon Sapin 5b41ccfb98 servo: Merge #5574 - Move unit tests to their own crates, cut time by 96% (from servo:unit-tests); r=jack
On my laptop, running `./mach test-unit` goes from about 11 minutes to 22 seconds, when run after `./mach build`.

Fix #5291.

Source-Repo: https://github.com/servo/servo
Source-Revision: 017d1053617f6769d7f355e4a97d52ae67e53d1c

--HG--
rename : servo/components/net/test.jpeg => servo/tests/unit/net/test.jpeg
rename : servo/components/script/tests.rs => servo/tests/unit/script/size_of.rs
2015-04-07 21:16:49 -05:00
Manish Goregaokar ab1238f36e servo: Merge #5465 - Split out shared networking code into net_traits crate (from gilles-leblanc:issue-4476-b); r=jdm
Fixes #4476

Source-Repo: https://github.com/servo/servo
Source-Revision: d707d1b78e3393a1ed164af8ec855bd0ff119e55

--HG--
rename : servo/components/net/image/test.jpeg => servo/components/net/test.jpeg
rename : servo/components/net/image/base.rs => servo/components/net_traits/image/base.rs
rename : servo/components/net/image/holder.rs => servo/components/net_traits/image/holder.rs
rename : servo/components/net/local_image_cache.rs => servo/components/net_traits/local_image_cache.rs
2015-04-03 13:00:46 -06:00
Bryan Bell feb3f90385 servo: Merge #5470 - Show tabs in pre elements (from bjwbell:tab-in-pre); r=mbrubeck
Display tab characters as 4 spaces for pre and other elements that don't
compress whitespace.

Fixes https://github.com/servo/servo/issues/4651

@pcwalton r?

Source-Repo: https://github.com/servo/servo
Source-Revision: 40fab8e362305a87f0d83f786a27cfa2abfe2fba
2015-04-03 04:18:42 -06:00
Ms2ger c64ea30626 servo: Merge #5486 - Stop using int/uint in layout (from Ms2ger:int); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d999fb9db0d572f63165fa8aa2e24023903b6332
2015-04-02 08:06:41 -06:00
Josh Matthews 8b327814f4 servo: Merge #5477 - Warning patrol (from jdm:warnfix); r=kmcallister
Source-Repo: https://github.com/servo/servo
Source-Revision: 3294778b371799f6594ba6e39986685c001b017c
2015-04-01 17:30:41 -06:00
dhneio b1a7a48af5 servo: Merge #5472 - Fix is_simple_advance check. Fixes #4614 (from jdm:advance); r=jdm
Rebased from #5035.

Source-Repo: https://github.com/servo/servo
Source-Revision: e65e881e1b37c37b6f921c73910ff3b3ec554fda
2015-04-01 16:45:40 -06:00
Patrick Walton 550beef758 servo: Merge #5278 - gfx: Perform more aggressive caching in `FontContext::get_layout_font_group_for_style()` (from pcwalton:font-group-caching); r=glennw
There are several optimizations here:

* We make font families atoms, to allow for quicker comparisons.

* We precalculate an FNV hash of the relevant fields of the font style
  structure.

* When obtaining a platform font group, we first check pointer equality
  for the font style. If there's no match, we go to the FNV hash. Only
  if both caches miss do we construct and cache a font group. Note that
  individual fonts are *also* cached; thus there are two layers of
  caching here.

15% improvement in total layout thread time for Facebook Timeline.

r? @glennw (since you last worked on `get_layout_font_group_for_style()` IIRC)

Source-Repo: https://github.com/servo/servo
Source-Revision: ba0d28e0023fce2003d64b9caf97fcdbeb7cdb28
2015-04-01 10:00:52 -06:00
Patrick Walton c9e2901806 servo: Merge #5400 - layout: Implement CSS transitions per CSS-TRANSITIONS § 2 (from pcwalton:transitions-redux); r=glennw
Transition events are not yet supported, and the only animatable
properties are `top`, `right`, `bottom`, and `left`. However, all other
features of transitions are supported. There are no automated tests at
present because I'm not sure how best to test it, but three manual tests
are included.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: ebdf1d494b6c986e6dfcb7d8fd3f0ffa126523ed
2015-03-31 10:39:56 -06:00
Ms2ger a866f2e1e2 servo: Merge #5416 - Remove some int/uints (from Ms2ger:int); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 674e52afa1012cb342629dab4d3abae975a16fe9
2015-03-28 13:58:02 -06:00
Nicholas Nethercote 7f03c21505 servo: Merge #5348 - Rename lots of profiling-related things (from nnethercote:profiler-renaming); r=jdm
```
------------------------------------------------------------------------
BEFORE                              AFTER
------------------------------------------------------------------------
util::memory                        util::mem
- heap_size_of                      - heap_size_of (unchanged)
- SizeOf                            - HeapSizeOf
  - size_of_excluding_self            - heap_size_of_children

prof::mem                           prof::mem
- MemoryProfilerChan                - ProfilerChan
- MemoryReport                      - Report
- MemoryReportsChan                 - ReportsChan
- MemoryReporter                    - Reporter
- MemoryProfilerMsg                 - ProfilerMsg
  - {R,UnR}egisterMemoryReporter      - {R,UnR}egisterReporter
- MemoryProfiler                    - Prof
- ReportsForest                     - ReportsForest (unchanged)
- ReportsTree                       - ReportsTree   (unchanged)
- SystemMemoryReporter              - SystemReporter

prof::time                          prof::time
- TimeProfilerChan                  - ProfilerChan
- TimerMetadata                     - TimerMetadata (unchanged)
- Formatable                        - Formattable [spelling!]
- TimeProfilerMsg                   - ProfilerMsg
- TimeProfilerCategory              - ProfilerCategory
- TimeProfilerBuckets               - ProfilerBuckets
- TimeProfiler                      - Profiler
- TimerMetadataFrameType            - TimerMetadataFrameType (unchanged)
- TimerMetadataReflowType           - TimerMetadataReflowType (unchanged)
- ProfilerMetadata                  - ProfilerMetadata (unchanged)
```
In a few places both prof::time and prof::mem are used, and so
module-qualification is needed to avoid overlap, e.g. time::Profiler and
mem::Profiler. Likewise with std::mem and prof::mem. This is not a big
deal.

Source-Repo: https://github.com/servo/servo
Source-Revision: d784d9c488be4533a3590a154addd366d15a5864
2015-03-25 21:18:48 -06:00
Nicholas Nethercote f9758aa688 servo: Merge #5335 - Move profiler code from `util` into a new crate `profile` (from nnethercote:profile-crate); r=glennw
- Most of util::memory has been moved into profile::mem, though the
  `SizeOf` trait and related things remain in util::memory. The
  `SystemMemoryReporter` code is now in a submodule
  profile::mem::system_reporter.

- util::time has been moved entirely into profile::time.

Source-Repo: https://github.com/servo/servo
Source-Revision: d1268ec9c6633684270015e7b2619181aeb47b8b

--HG--
rename : servo/components/util/time.rs => servo/components/profile/time.rs
2015-03-24 03:15:49 -06:00
Ms2ger 176d45569b servo: Merge #5314 - Update some feature gates (from Ms2ger:warnings); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 4c2ec083e855d52eeb77f25e00190b8beb820742
2015-03-23 03:24:50 -06:00
Ms2ger ed37ff9cb6 servo: Merge #5303 - Update some code that's feature-gated under core (from Ms2ger:core); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 43f3f6c897916aea75773f74060ec84a338834d0
2015-03-21 12:57:46 -06:00
Ms2ger 75737c51cb servo: Merge #5297 - Replace most usage of std::old_io::File (from Ms2ger:fs); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: ec60f29203c75b46d59253c7cbb4005fce7e4ad4
2015-03-20 17:00:44 -06:00
Glenn Watson 83c49f2b56 servo: Merge #5270 - Fix hit testing with stacking contexts (apparent since transforms landed) (from glennw:hit-test-stacking-context); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: fef439726aea26ef631f414c4852fa4cb49fff15
2015-03-19 15:18:53 -06:00
Matt Brubeck 60f829a1da servo: Merge #5266 - Rename DList to LinkedList everywhere (from mbrubeck:linked_list); r=metajack
Fixes deprecation warnings.  Also removes a workaround for a fixed bug in Rust.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2346c9b94055f84a536808e40ad0b596ee21fbf4

--HG--
rename : servo/components/util/dlist.rs => servo/components/util/linked_list.rs
2015-03-18 16:28:09 -06:00
Simon Sapin 79a6daaf67 servo: Merge #5262 - Fix some post-rustup warnings (from servo:fix-warnings); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 124a78fb2e4d324a7d0ed54da1cca17839d406b7
2015-03-18 15:21:49 -06:00
Adenilson Cavalcanti 2af371c83d servo: Merge #5209 - Adding geometric information on DisplayList items while dumping (from Adenilson:displayListGeom01); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: a5217556072390131f41a7a4cd07e8eb5a671d06
2015-03-18 14:09:56 -06:00
Ms2ger 66cb126a50 servo: Merge #5256 - Upgrade rustc to d3c49d2140fc65e8bb7d7cf25bfe74dda6ce5ecf/rustc-1.0.0-de (from servo:rustup_20150311); r=jdm
...v.

Relies on:
* https://github.com/servo/rust-geom/pull/72
* https://github.com/servo/rust-glx/pull/10
* https://github.com/servo/gleam/pull/15
* https://github.com/servo/rust-mozjs/pull/137
* https://github.com/servo/rust-core-text/pull/35
* https://github.com/servo/rust-io-surface/pull/28

Source-Repo: https://github.com/servo/servo
Source-Revision: 99cf9dbfc107bacb84dfe5afa9539a0ede3beac2
2015-03-18 11:25:00 -06:00
Patrick Walton 7758f76d8a servo: Merge #5134 - layout: Implement 2D CSS transforms per CSS-TRANSFORMS § 5, 6, 7, and 8 (from pcwalton:transforms); r=SimonSapin
r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 203240c1d82b780ce49261d8b47e6cbe6af50950
2015-03-17 13:39:51 -06:00
Nicholas Nethercote 97460a4cdd servo: Merge #5193 - Add memory reporting infrastructure and use it to measure the display list (from nnethercote:measure-display-list); r=jdm
These changeset implements the beginnings of fine-grained measurement of Servo's data structures.

@pcwalton, @jdm: are you likely reviewers for this?

Source-Repo: https://github.com/servo/servo
Source-Revision: f093620922621e1877393b03968ed0ce767fdf12
2015-03-16 21:33:50 -06:00
Connor Jennings c520b12d17 servo: Merge #5222 - Retain buffer for CGDataProviderCreateWithData. Fixes #5084 (from cojennin:mac-font-face); r=metajack
CGDataProviderCreateWithData just wraps the underlying buffer. The
underlying buffer needs to be kept around until the data provider is
freed. Adding the buffer to the FontTemplateData struct ensures it
sticks around.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4f32596cc65ee75b700089ebe4c6c5a9789559f6
2015-03-15 13:30:56 -06:00
Mikko Perttunen 31631d420c servo: Merge #5153 - Handle font load errors in FontContext (from cyndis:check-font-result); r=jdm
Thread font load errors from platform font loading code to
FontContext::get_layout_font_group_for_style, and cache the failure
result, instead of panicing the thread when a font fails to load.

Before this patch, a failed font load would panic a LayoutTask,
causing a cascade of panics, eventually aborting the whole engine
during a panic within panic.

On my Arch Linux machine almost every page would crash in this manner,
including e.g. reddit.com and cnn.com. Mosf of the requested fonts would
load fine but some single variant of Helvetica would fail always. Not sure
how to create a test for this as it seems pretty system-specific.

Cheers,
cyndis

Source-Repo: https://github.com/servo/servo
Source-Revision: 4bd5aed5005b1a8dba828a178ea9af4277d0d4a7
2015-03-06 10:31:05 -07:00
Simon Sapin 4578a773a4 servo: Merge #5133 - layout: Implement `image-rendering` per CSS-IMAGES-3 § 5.3 and (from servo:background-size); r=SimonSapin
`background-size` per CSS-BACKGROUNDS § 3.9.

Nearest neighbor interpolation is used for `crisp-edges`, like Firefox.
A note has been added that we could do better if we wanted to.

Multiple backgrounds are not yet supported.

Rebase of #4368. Fixes #4368.

Source-Repo: https://github.com/servo/servo
Source-Revision: e1a50c771973fe3223cf98feea5d570375d68fa9
2015-03-03 11:48:54 -07:00
Glenn Watson f7ffceeeaa servo: Merge #5121 - Fix hover state on elements with transparent background colours (from glennw:transparent-hover); r=mbrubeck
Move culling of transparent display items to paint task rather than display list builder, so that hit testing detects mouse over on transparent background elements.

Source-Repo: https://github.com/servo/servo
Source-Revision: ac4a690e8fa98da4e4f7adbc2d888a94c6d99e0e
2015-03-02 19:42:49 -07:00
Patrick Walton 8d21fbc4f5 servo: Merge #4475 - layout: Implement `text-shadow` per CSS-TEXT-DECORATION-3 § 4 (from pcwalton:text-shadow); r=mbrubeck
r? @mbrubeck

Depends on servo/rust-geom#64.

Source-Repo: https://github.com/servo/servo
Source-Revision: 93d1f40a96df69eb9d38890df96c621e180d78cc
2015-03-02 14:54:52 -07:00
Adenilson Cavalcanti 06295cffa8 servo: Merge #5072 - Clean compilation warnings (from Adenilson:cleanWarnings01); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: a8b55e821a10c5ed8e5942e88e88eb20d08ad43c
2015-02-25 22:48:50 -07:00
Adenilson Cavalcanti 3fe1f46565 servo: Merge #5062 - Implements a DisplayList dumper (from Adenilson:printDisplayList01); r=pcwalton
This patch will iterate through the DisplayList after the reflow is done and print its elements (as also any sub-lists associated to a child node stacking context).

Source-Repo: https://github.com/servo/servo
Source-Revision: 67b78983db31128604339e2fd7f391e878cf9f9b
2015-02-25 20:15:56 -07:00
Ms2ger 9c6ed590bc servo: Merge #5000 - Move gfx to libc from crates.io (from Ms2ger:libc-gfx); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: bc5eeb00a1874c7211d6a656871000f9352c2f40
2015-02-21 06:51:50 -07:00
Patrick Walton 150bdee4d8 servo: Merge #4994 - layout: Add an option to visualize parallel layout (from pcwalton:layout-tinting); r=pcwalton
r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: d26345f868e4261760ce204bdc383941e8f14621
2015-02-20 23:06:48 -07:00
Andreas Gal e3a7b4c06d servo: Merge #4977 - Use cleaner StrokeOptions interface (from andreasgal:master); r=jdm
The new interface will be added by https://github.com/ser...vo/rust-azure/pull/145 (has to be merged first).

Source-Repo: https://github.com/servo/servo
Source-Revision: 991b47953197ef5311300145e7b3d6f249a3f6b5
2015-02-20 21:00:55 -07:00
Jack Moffitt aaef4c20a3 servo: Merge #4969 - Added overlay for demoing parallel painting (from servo:parallel-paint-demo); r=glennw
You can enable this with `-Z show-parallel-paint`. The output looks like this:

![screenshot 2015-02-19 13 21 12](https://cloud.githubusercontent.com/assets/28357/6275199/7bd6e788-b83a-11e4-89cb-a74f360272f2.png)

Source-Repo: https://github.com/servo/servo
Source-Revision: 49ff6b2ccc43ab657814a1b4584122411a4b2acb
2015-02-19 16:21:57 -07:00
Ms2ger 057d7cb476 servo: Merge #4947 - Use rustc-serialize rather than the built-in deprecated serialize (from Ms2ger:serialize); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: afb152a8569953f730df564be2745c5a6302bf6f
2015-02-17 07:30:50 -07:00
Adenilson Cavalcanti 4a6230be7e servo: Merge #4903 - Companion single Color patch (from Adenilson:singleColor02); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: b5749e9855b68636d5366450602cd73397a6f219
2015-02-13 15:51:50 -07:00
Ms2ger c1db4c4e1b servo: Merge #4924 - Fix some warnings (from servo:warnings); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 9c476a290aa493404a8e5953d0e813cb68c4c434
2015-02-13 07:36:50 -07:00
Ms2ger b019c7ef30 servo: Merge #4922 - Fix some warnings (from servo:warnings); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 66f4faf44fbc6e8703d4336219a20dd3b19fb493
2015-02-13 05:33:49 -07:00