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

259 Коммитов

Автор SHA1 Сообщение Дата
Peter aab0610622 servo: Merge #5608 - Adding cmdling argument for disabling style share cache, fix #5581 (from pgonda:cmdline-disable-style-sharing); r=Ms2ger
Let me know if I should fix anything, or how I could implement a test if needed.  I looked at some testing in servo/ports/command_line.rs but it did not seem to apply.

Thanks!

Source-Repo: https://github.com/servo/servo
Source-Revision: 875f07ff25eada654e5e7bf03ddce46f7d76f6c8
2015-04-10 03:06:11 -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
Jag Talon 20a6cab60b servo: Merge #5527 - opts.rs: don't accept multiple URLs. Fixes #5520 (from jagtalon:jag/multiple-urls); r=mbrubeck
Switched from opts.urls from being of type Vec to type String and changing the name to `url` as well. Changed the other files that are using opts.urls accordingly.

Source-Repo: https://github.com/servo/servo
Source-Revision: df57af1fc41814389ab246f9a199ab868b1ecd74
2015-04-07 22:08:33 -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
Josh Matthews a584e5982d servo: Merge #5005 - Implement MIME sniffing (from jdm:mime-sniffing); r=jdm
This rebases and integrates #4209, removing the sniffer task (turns out it wasn't a great idea), and adds a `--sniff-mime-types` command line flag to enable sniffing for file:// and http:// resources. Tested against a random picture file on my harddrive. The actual MIME sniffing implementation can be extracted into a separate library separately.

Source-Repo: https://github.com/servo/servo
Source-Revision: c7e210f24c97be1057a652b3644332e7043bfeac
2015-04-07 12:48:06 -05:00
Josh Matthews 46eb131dd4 servo: Merge #5415 - Get the barest bones of webdriver integration ready for keeners (from jdm:webdriver); r=jdm
Requires https://github.com/jgraham/webdriver-rust/pull/6.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1f57c6d74acd50077eb015bdebffd2adac1e552e
2015-04-06 22:09:44 -05:00
Manish Goregaokar 3a64a833f6 servo: Merge #5430 - Allow passing a path to --userscripts (from Manishearth:userscript_path); r=kmcallister
r? @kmcallister

Source-Repo: https://github.com/servo/servo
Source-Revision: afbc51a746af79f3daf14d77002a47967ef3d38e
2015-04-01 13:15:46 -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
Ms2ger 57cf222efe servo: Merge #5434 - Move to new io in util (from Ms2ger:util-old-io); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: be255304af65ac6aa4d26ea214460073536b9b09
2015-03-28 13:07:06 -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
Ms2ger 6ca260992e servo: Merge #5358 - Fix warnings related to std::fs::PathExt on Android (from Ms2ger:android-path-ext); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: da2231a8fa4bebc226a11def6784dbf4b08c00bc
2015-03-25 10:36:57 -06:00
Diego Marcos d6bdd7223d servo: Merge #5231 - Implementing canvas drawImage API for HTML Canvas elements as image sour (from dmarcos:issue4784); r=jdm
...ce

Source-Repo: https://github.com/servo/servo
Source-Revision: 2ab1ece765a50e26c2908bcbe5463ff1fda0b085
2015-03-24 14:01:06 -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
Adenilson Cavalcanti 5d4903ed78 servo: Merge #5326 - Squashing the remaining warnings in utils module (from Adenilson:squashingWarnings03); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 7f60feef77ff9f3cdd1c592e71d8f7afa2ac1199
2015-03-23 19:27:46 -06:00
Nicholas Nethercote 12a0f0c4fc servo: Merge #5284 - Print trees in the memory profiler's output (from nnethercote:treeify-reports); r=jdm
Memory reports are much nicer to read when grouped into trees, which requires giving each report a path instead of a name.

Sample output:
```
Begin memory reports
|
|    2.51 MiB -- pages
|       2.51 MiB -- url(file:///home/njn/moz/servo/../servo-static-suite/wikipedia/Guardians%20of%20the%20Galaxy%20(film)%20-%20Wikipedia,%20the%20free%20encyclopedia.html)
|          2.51 MiB -- display-list
|
|  238.89 MiB -- resident-according-to-smaps
|     188.31 MiB -- anonymous (rw-p)
|      27.29 MiB -- /home/njn/moz/servo/components/servo/target/debug/servo (r-xp)
|       7.82 MiB -- other
|       6.65 MiB -- [heap] (rw-p)
|       3.55 MiB -- /usr/lib/x86_64-linux-gnu/dri/i965_dri.so (r-xp)
|       1.42 MiB -- /lib/x86_64-linux-gnu/libc-2.19.so (r-xp)
|       1.13 MiB -- /home/njn/moz/servo/components/servo/target/debug/servo (r--p)
|       0.74 MiB -- /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0 (r-xp)
|       0.73 MiB -- /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 (r-xp)
|       0.65 MiB -- /lib/x86_64-linux-gnu/libm-2.19.so (r-xp)
|       0.60 MiB -- /lib/x86_64-linux-gnu/libglib-2.0.so.0.4200.1 (r-xp)
|
|   71.08 MiB -- jemalloc-heap-active
|   59.11 MiB -- jemalloc-heap-allocated
|  180.00 MiB -- jemalloc-heap-mapped
|  232.87 MiB -- resident
|   54.43 MiB -- system-heap-allocated
| 3130.11 MiB -- vsize
|
End memory reports
```

Source-Repo: https://github.com/servo/servo
Source-Revision: bfb80f20b523867c94d7cda8b984ca14eb9587bf
2015-03-23 16:33:47 -06:00
Ms2ger d5ae5a73b2 servo: Merge #5324 - Remove allow(missing_copy_implementations) attributes (from Ms2ger:missing_copy_implementations); r=jdm
This is now the default.

Source-Repo: https://github.com/servo/servo
Source-Revision: b1a35f549baad871a3691ae485af2efecd2d73f7
2015-03-23 08:45:50 -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
Corey Farwell 7cb441f853 servo: Merge #5316 - Stop abusing format! macro when construct a String (from frewsxcv:no-format-abuse); r=jdm
In these cases for `format!`, we're just constructing a String of the
single argument with no special format.

Source-Repo: https://github.com/servo/servo
Source-Revision: dfb8929b001c8d0fb6d5e63f5a9d6dcc17cb388a
2015-03-22 19:30:51 -06:00
Manish Goregaokar 0af6669a72 servo: Merge #5298 - Basic userscript support (from Manishearth:userscript); r=saneyuki
Gives us a place to store polyfills and other userscripts so that we can:

 - Quickly determine what DOM features are needed to make stuff like jQuery work by iteratively writing stub implementations
 - Write spec-incompatible but "good enough" polyfills for stuff like jQuery to make Servo more testable on live sites, for demos, and for browser.html


r? @jdm

cc @eddyb

Source-Repo: https://github.com/servo/servo
Source-Revision: 72e2c79a089ff6654a36951ce4aedac62006e6a1
2015-03-22 08:27:48 -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
Patrick Walton 3f9d312730 servo: Merge #5261 - Remove debugging info in release mode and stop reflowing on every new image that comes in (from pcwalton:too-many-reflows); r=pcwalton,metajack
These help Facebook Timeline a lot.

r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: aa6ed369b80cbbc81eef9e8697963d0d64358f9b
2015-03-20 11:51:47 -06:00
Jack Moffitt 646b243c98 servo: Merge #5277 - Fix overflowed arithmetic (from metajack:deque-wrap-fix); r=jdm
This uses wrapping_add, which was always the intended operation.

Fixes #5275.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4863eb65e9419d4b89834c7d1ad068eabfa05641
2015-03-19 09:45:56 -06:00
Manish Goregaokar d3058c9407 servo: Merge #5269 - rm unnecessary old_impl_check (from Manishearth:old_impl); r=jdm
Brings us to zero old impls. \o/

Feel free to add this to a larger warning fix PR

Source-Repo: https://github.com/servo/servo
Source-Revision: 34950418ea9929a361cbed376141974cf030ca95
2015-03-18 22:33:47 -06:00
Adenilson Cavalcanti cd29e1edc5 servo: Merge #5267 - Squashing a few warnings (from Adenilson:squashWarnings02); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 0b1c2a1798f84f50778bc54bce23e5a606319a4e
2015-03-18 20:54:48 -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
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
Nicholas Nethercote ceedbfed06 servo: Merge #5252 - Put system memory measurements in a memory reporter (from nnethercote:system-reporter); r=jdm
Currently the system memory measurements ("resident", "vsize", etc.) are
not reported through the generic memory reporting mechanism, simply
because they pre-date that mechanism. This changeset removes that
special-casing.

One consequence of this is that previously if a platform didn't
implement one of the basic measurements, a '???' entry would be printed.
Now nothing will be printed. This is no great loss and matches what
Firefox does.

Another consequence is that the order in which the measurements are
printed is changed. I plan to fix this soon so that reports are sorted
in a more sensible fashion.

Source-Repo: https://github.com/servo/servo
Source-Revision: 29b158e9853f5c135bf853101ee74c5618491655
2015-03-17 14:31:10 -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
Manish Goregaokar d1bbdc035d servo: Merge #5212 - Add --no-ssl flag for bypassing SSL checking (from Manishearth:ssl-off); r=larsbergstrom
SSL is broken-ish (eg tw.yahoo.com, html.spec.whatwg.org don't work since we don't verify SAN properly), this flag can let devs bypass the protection for testing purposes.

Source-Repo: https://github.com/servo/servo
Source-Revision: 389338c28f75808e68cd635211687718362f8e7d
2015-03-14 08:39:48 -06:00
Patrick Walton c4615436ae servo: Merge #5160 - layout: Implement ordered lists, CSS counters, and `quotes` per CSS 2.1 § 12.3-12.5 (from pcwalton:counters-redux); r=SimonSapin
Only simple alphabetic and numeric counter styles are supported. (This
is most of them though.)

Although this PR adds a sequential pass to layout, I verified that on
pages that contain a reasonable number of ordered lists (Reddit
`/r/rust`), the time spent in generated content resolution is dwarfed by
the time spent in the parallelizable parts of layout. So I don't expect
this to negatively affect our parallelism expect perhaps in pathological
cases.

Reconstructed from #5138 via raw diffing.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: fd1bb49a65dd998c8ef9890a1576aaf62ddfdba1
2015-03-09 23:24:47 -06:00
Adenilson Cavalcanti a16514e129 servo: Merge #5150 - Implements reflow events debugging (from Adenilson:reflowNotifications03); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 4f3feed2bea957de0910a136d33dff4fb3c07a22
2015-03-06 21:48:50 -07:00
Adenilson Cavalcanti 449cb2dc15 servo: Merge #5137 - Cleanup compilation warning (from Adenilson:cleanupWarning02); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 761f7f056c607ed67adc0c4927ae63847aef8f0d
2015-03-04 07:51:44 -07:00
Simon Sapin 9d0586a22d servo: Revert "layout: Implement ordered lists, CSS counters, and `quotes` per CSS 2.1"
This reverts commit 30fd28d1077fbb3f47140f6ab1252c0d24f44d23.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4c1d778ced267eeef790d4166e361d9348b933d3
2015-03-03 21:16:24 +01:00
Simon Sapin 73082d1626 servo: Merge #5067 - layout: Implement ordered lists, CSS counters, and `quotes` per CSS 2.1 § 12.3-12.5 (from servo:counters); r=SimonSapin
Only simple alphabetic and numeric counter styles are supported. (This
is most of them though.)

Although this PR adds a sequential pass to layout, I verified that on
pages that contain a reasonable number of ordered lists (Reddit
`/r/rust`), the time spent in generated content resolution is dwarfed by
the time spent in the parallelizable parts of layout. So I don't expect
this to negatively affect our parallelism expect perhaps in pathological
cases.

Moved from #4544, because Critic.

Fixes #4544.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5cd6316addc1acf145ed3220719387ef6ef08d2f
2015-03-03 10:42:52 -07:00
Prabhjyot Singh Sodhi b3d9e25a9b servo: Merge #5114 - Replacing uses of accumulating fold with sum (from psdh:foldsum); r=jdm
Fix #5109

Source-Repo: https://github.com/servo/servo
Source-Revision: 290b025f8992569ed98a8556b70d5ebafb57a154
2015-03-02 18:27:51 -07:00
Ankit Agrawal 67d93f2be4 servo: Merge #5102 - Add profiling to image decoding (from servo:profile-img); r=jdm
This extracts some independently useful parts of
<https://github.com/servo/servo/pull/4215>.

Source-Repo: https://github.com/servo/servo
Source-Revision: 16bc4749af685c7a1728858c15ead011ab415615
2015-02-28 11:46:02 -07:00
Alexandru Cojocaru 68cf9c0af2 servo: Merge #5098 - Remove uint/int inside `components/util` (partial #4745) (from servo:int-util); r=Ms2ger
This leaves range.rs alone.

Source-Repo: https://github.com/servo/servo
Source-Revision: 07b918f731c0ff7c101f69195a4ff94b2f13acdc
2015-02-28 07:21:53 -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
Nicholas Nethercote c46175ed5f servo: Merge #4894 - Read smaps in the memory profiler on Linux (from nnethercote:read-smaps); r=jdm
Here's example -m output after these changesets are applied:

```
_size (MiB)_: _category_
     2798.61: vsize
      136.80: resident
      142.89: resident-according-to-smaps
       97.84: - anonymous (rw-p)
       23.98: - /home/njn/moz/servo/components/servo/target/servo (r-xp)
        6.58: - [heap] (rw-p)
        5.36: - other
        3.51: - /usr/lib/x86_64-linux-gnu/dri/i965_dri.so (r-xp)
        1.33: - /lib/x86_64-linux-gnu/libc-2.19.so (r-xp)
        0.93: - /home/njn/moz/servo/components/servo/target/servo (r--p)
        0.76: - /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 (r-xp)
        0.74: - /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0 (r-xp)
        0.50: - /lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (r-xp)
        0.50: - /lib/x86_64-linux-gnu/libglib-2.0.so.0.4200.1 (r-xp)
        0.45: - /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0 (r-xp)
        0.43: - /lib/x86_64-linux-gnu/libm-2.19.so (r-xp)
       30.85: system-heap-allocated
        4.91: jemalloc-heap-allocated
        6.11: jemalloc-heap-active
      120.00: jemalloc-heap-mapped
```
The `resident-according-to-smaps` line is new, as are all the indented lines beneath it. This is useful particularly because it shows how much memory is taken up by code, e.g. the line ending in `servo (r-xp)` shows that the `servo` executable's code alone takes up 24 MiB of physical memory.

Source-Repo: https://github.com/servo/servo
Source-Revision: eb7e86ac4e21334e807a81ed01348a82ac7610b5
2015-02-23 19:54:50 -07:00
Simon Sapin 40036d9f8a servo: Merge #5010 - Move selector matching to an external library, for use outside Servo (from SimonSapin:external-selectors); r=larsberg
The new library is https://github.com/servo/rust-selectors. It’s not quite ready for other users (the API needs work), but this is a first step.

https://github.com/servo/rust-selectors/pull/2 should also be reviewed.

Fixes #3669.

Source-Repo: https://github.com/servo/servo
Source-Revision: 91abf5557b1a324d6568ce08cfb92cdffca10e41
2015-02-23 08:39:47 -07:00
Edit Balint 515ef0d463 servo: Merge #5020 - Implement Canvas pixel manipulation (from jdm:canvas); r=jdm
Rebase of #4639.

Source-Repo: https://github.com/servo/servo
Source-Revision: 287f390c4a56dd8c5960df699d45653227b25d6f
2015-02-22 11:48:46 -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
Ms2ger 6f16c7dd57 servo: Merge #4975 - Move util to libc from crates.io (from Ms2ger:util-libc); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 0a4c8c0e4c0e8c94a82363b10971c99fc0d9abbc
2015-02-20 01:42:53 -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
Ms2ger 4da720d734 servo: Merge #4927 - Cleanup memory.rs a bit (from Ms2ger:mem); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 52fc01ad37e5e06de997862f480e8bb679ad8a89
2015-02-13 09:48:54 -07:00
Nicholas Nethercote f63fe22a33 servo: Merge #4917 - Fix jemalloc memory measurements (from nnethercote:fix-jemalloc-reporting); r=jdm
It turns out you need to send an "epoch" request to jemalloc before
asking for a measurement otherwise you get stale data! Heavens.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7acc6887d5190b31e171be4823c6205e5e55ceec
2015-02-13 06:54:56 -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
Matt Brubeck c7d0095a59 servo: Merge #4904 - Replace util::dlist code with new collections::DList methods (from mbrubeck:dlist); r=pcwalton
r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 26aee53c827c4db517171cd89786d894b1ceb76c
2015-02-12 16:39:53 -07:00
Simon Sapin da87abc762 servo: Merge #4893 - Upgrade to rustc ba2f13ef0 2015-02-04 (from servo:rustup_2015-01-31); r=Ms2ger,glennw
Ready for review.

Final link step on android fails, but we know how to fix it and will add it to this branch soon.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2cc08f289ab909de44fa09a07b2c43b70ce379b9

--HG--
rename : servo/ports/gonk/build.rs => servo/support/rust-task_info/build.rs
2015-02-11 17:24:45 -07:00
Nicholas Nethercote c530941fad servo: Merge #4858 - Use mallinfo() to report the system heap size on Linux (from nnethercote:mallinfo); r=glennw
Although Rust allocations are on the jemalloc heap, allocations done by
Skia and the graphics driver are on the system heap, so it's worth
reporting that as well.

One thing I'm not sure about: I think mallinfo() might be a glibc-only thing, and I'm not sure if `target_os="linux"` implies glibc for Servo. So confirmation of that would be good.

Source-Repo: https://github.com/servo/servo
Source-Revision: d1c8ed4359c47cd047e5ca3edfa37e8692058644
2015-02-09 17:30:45 -07:00
Josh Matthews 7b3305eafe servo: Merge #4881 - Allow unused variables, imports, and mutable (from jdm:allowunused); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 7048291dc0db4efecf9c13779feeb5e022210123
2015-02-09 16:45:47 -07:00
Ms2ger 9b7615b8a4 servo: Merge #4823 - Fix build warnings (from Ms2ger:warnings); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1e72608f5c1d96cfcabdd993d973f4580e2fdb54
2015-02-03 17:57:51 -07:00
Alexandru Cojocaru 24ca70cf6f servo: Merge #4820 - add `unwrap` to `send/recv` calls (from servo:send-recv); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 8e6dcc7c26d88bb0452226ff8c34539e368e03d9
2015-02-03 11:24:53 -07:00
Manish Goregaokar 42e079751b servo: Merge #4792 - Fix code dependent on old impl check (from Manishearth:old_impl); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 83e196c4c6a761757d821abfd1ab539704d22454
2015-01-31 04:27:49 -07:00
Josh Matthews 114f6b6b27 servo: Merge #4788 - Lock crates.io dependencies to specific versions (from jdm:cargodeps); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 66384dfcfd4c38595985cd3fac12fa616a2ba94f
2015-01-30 17:36:50 -07:00
Ms2ger 39a22519e3 servo: Merge #4756 - Fix various build warnings (from Ms2ger:warnings); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 88b781421aa78a2f466e6d170f89d13a870643cd
2015-01-28 13:15:53 -07:00
Manish Goregaokar 0baa68ddf8 servo: Merge #4739 - Fix some warnings (from Manishearth:warning-patrol); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: d373f8dc26239310dec8d2fd66ed72385548cf6f
2015-01-28 02:27:50 -07:00
Josh Matthews 78741af324 servo: Merge #4719 - Update rustc to 00b112c45a604fa6f4b59af2a40c9deeadfdb7c6/rustc-1.0.0-dev (from servo:rustup_20150109); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3f9012864a2cd927cf17a8e11dfa6922add1b7df
2015-01-27 18:15:50 -07:00
Glenn Watson 2d715b49a9 servo: Merge #4707 - Change glutin headless mode to be a build config, as it breaks some Linux distros linking to both (from glennw:split-headless); r=larsbergstrom
The majority of this change is simply re-arranging the code in the glutin port so that the windowed/headless code is configured at build time rather than runtime. There shouldn't be any functional difference as a result of this change.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1b496d80dec4f202e0f318ee60ac156ad74256ff
2015-01-22 14:48:48 -07:00
Ms2ger 7363fc6372 servo: Merge #4708 - Prepare for the rust upgrade (from Ms2ger:rustup-prepare); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 55fbf1f2b6924c50cff6e4ddf359289654f4858a
2015-01-22 08:06:50 -07:00
Ms2ger 0efd1154a6 servo: Merge #4703 - Pass a String to spawn_named (from servo:task); r=saneyuki
IntoString has been removed from Rust, and named() will take a String, so
there is no good reason to do otherwise here.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8df0ee2bb5d40e4b22db1666982e2e5ea36513f6
2015-01-21 03:48:49 -07:00
Ms2ger 190438fa42 servo: Merge #4682 - Move to to_owned rather than into_string (from servo:to_owned); r=jdm
into_string has been removed from Rust.

Source-Repo: https://github.com/servo/servo
Source-Revision: 94ebc7c32d5ce58ada3f9d8ffdb60cc025eb5997
2015-01-20 07:54:46 -07:00
Ms2ger ec6187c22f servo: Merge #4664 - Stop using Vec::from_elem (from Ms2ger:from_elem); r=larsbergstrom
It is obsolete on Rust master.

Source-Repo: https://github.com/servo/servo
Source-Revision: d747a33df9c167a3defbbdcfe356ee25eeb672ad
2015-01-19 09:12:46 -07:00
Ms2ger b3ff89bc52 servo: Merge #4662 - Disallow lines that span more than 160 columns (from Ms2ger:overlong); r=larsbergstrom
The Rust style guide suggests 100, but we have too many violations in the
tree already. This check can be tightened over time.

Source-Repo: https://github.com/servo/servo
Source-Revision: ee94b3e8bf659c847bda967700272f8f98fdb0cc
2015-01-19 08:33:48 -07:00
Martin Robinson b84f267138 servo: Merge #4643 - Disable util crate doctests (from mrobinson:disable-util-doctests); r=jdm
Because of bug in rustdoc, a new rust-layers dependency on rust-azure
will cause linking issues. See
https://github.com/rust-lang/rust/issues/21246 for details.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6d7c4aac9c81f909d47dce10fa898e2a420632b2
2015-01-16 11:09:46 -07:00
Matthew Rasmus 66118e1666 servo: Merge #4575 - Post-rustup warning fixes (from mttr:warnings); r=jdm
Notes:

* This adds `#![allow(missing_copy_implementations)]` to components/*/lib.rs. I'm not sure how to approach the missing Copy warnings (are there things for which Copy should NOT be implemented, and how can I tell?) so I stuck this in to make life easier when looking through the warnings. I can easily remove this if necessary.
* This leaves the following type of warnings, which I couldn't figure out how to approach (I'll investigate it later if no one else wants to).
```
css/matching.rs:72:23: 72:35 warning: use of deprecated item: Use overloaded core::cmp::PartialEq, #[warn(deprecated)] on by default
css/matching.rs:72         this_as_query.equiv(other)
                                         ^~~~~~~~~~~~
css/matching.rs:95:10: 95:49 warning: use of deprecated item: Use overloaded core::cmp::PartialEq, #[warn(deprecated)] on by default
css/matching.rs:95 impl<'a> Equiv<ApplicableDeclarationsCacheEntry> for ApplicableDeclarationsCacheQuery<'a> {
```

Source-Repo: https://github.com/servo/servo
Source-Revision: 0793137631cbe4ebbff8fb85639206ce8e41bbb7
2015-01-08 16:03:55 -07:00
Glenn Watson fe52b6e9ec servo: Merge #4546 - Add ability to explicitly set static resources path, used by cef-linux (from glennw:cef-resources); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 1699864f5339aaf463df5e2cf1d80193c3675e58
2015-01-08 15:27:54 -07:00
Ms2ger e5578c14fd servo: Merge #4554 - Update rustc to revision 2cfb5acb5a2751c759627377e602bac4f88f2d19 (from servo:rustup_20141221); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1d7148c79f9124779a910fd5291c5fa0543b2dae
2015-01-08 08:00:57 -07:00
Ms2ger cb9f21fded servo: Merge #4548 - Various cleanup (from Ms2ger:cleanup); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 65ee8166bd64e911502e29a050258b70d9f263aa
2015-01-05 01:27:48 -07:00
Ms2ger 11a0efe9f4 servo: Merge #4542 - Prepare for the rust upgrade (from servo:pre-rustup_20141221); r=saneyuki
In particular, this contains changes to qualify enums where rust will require it, and to stop using some features that will be removed.

Source-Repo: https://github.com/servo/servo
Source-Revision: ba8cf6b0e6145265f9472d4855f078d8b5943fe7
2015-01-04 12:39:47 -07:00
Manish Goregaokar 3615fd0c7e servo: Merge #4488 - Add a lint for usages of to_string() (from servo:into_string-lint); r=jdm
This is a rebase of #4366.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0da57abec6014f8a6edde9781598053deab996c7
2014-12-31 05:00:52 -07:00
Simon Sapin be24ce4c79 servo: Merge #4455 - Start using the ToCss trait, to be used for CSS serialization (from servo:to_css); r=jdm
See https://github.com/servo/rust-cssparser/pull/67 and https://github.com/servo/servo/issues/4440.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: b3059ee85b71b067e4b9e337faef53ae4a96c66d
2014-12-29 16:33:41 -07:00
Patrick Walton 219d4c7683 servo: Merge #4459 - gfx: Clip the background properly when `border-radius` is used, and clean up some painting stuff (from pcwalton:border-radius-clipping); r=glennw
Together these improve a large number of sites: GitHub, Reddit, Wikipedia, etc.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 63a7742d834e9ed44421baa3ce218a5eabce58bf
2014-12-22 15:51:48 -07:00
Patrick Walton c36d533145 servo: Merge #4394 - layout: Implement `clip` per CSS 2.1 § 11.1.2 (from pcwalton:clip); r=SimonSapin
Only the recommended, comma-separated syntax is supported.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: a80d88897d176630c79f929e8b1fd661b2e1a17c
2014-12-18 14:12:51 -07:00
Simon Sapin b308cce0c9 servo: Merge #4420 - Fix warnings (from servo:fix-warnings); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: eea49ee1d986c306a8eec32b64be9b10cb2278fc
2014-12-18 04:42:50 -07:00
Patrick Walton cda269baf7 servo: Merge #4358 - compositing: Implement `cursor` per CSS3-UI § 8.1.1 in the CEF/Mac port (from pcwalton:cursor); r=mbrubeck
I'm not sure how we want to handle Linux cursors, and GLFW has no
ability to set cursors (short of disabling it and managing it yourself).

If you test this in the wild you will probably hit #4357 until that PR lands.

Source-Repo: https://github.com/servo/servo
Source-Revision: e2267e0a0749e27046ee8a26ba514cc6865e0345
2014-12-18 00:24:49 -07:00
Glenn Watson b185394a0f servo: Merge #4405 - Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d (from servo:rustup_20141124); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: fbf42c951b2f53d91e2f32f8035484a07ea83493
2014-12-17 18:45:49 -07:00
Patrick Walton 90a61bb1c7 servo: Merge #4289 - style: Implement basic column spans, quirks mode, and the legacy `bgcolor` and `border` attributes (from pcwalton:hacker-news); r=SimonSapin
This patch provides some of the groundwork for column spans greater than
1. It implements the column-span CSS property as well as the
corresponding colspan attribute; although the former is not
well-specified outside of CSS multi-column layout, INTRINSIC refers to
it. Although width is distributed to spanning columns, they do not yet
contribute minimum and preferred widths; this will be implemented in a
follow-up.

The parsing for the legacy bgcolor and border attributes is
implemented according to the WHATWG HTML specification.

Additionally, this patch cleans up some miscellaneous formatting issues,
refactors layout/css somewhat to eliminate needless levels of
indirection, and cleans up the handling of table rowgroups.

New Hacker News screenshot: http://i.imgur.com/hnl2a7E.png

Source-Repo: https://github.com/servo/servo
Source-Revision: 8e31e5f98747e4b42dafcc4b076fac46aeb09310
2014-12-15 19:33:46 -07:00
Patrick Walton e289ac1783 servo: Merge #4325 - gfx: Implement `letter-spacing` per CSS 2.1 § 16.4 (from pcwalton:letter-spacing); r=mbrubeck
The ligature disabling code has been manually verified, but I was unable
to reftest it. (The only way I could think of would be to create an
Ahem-like font with a ligature table, but that would be an awful lot of
work.)

Near as I can tell, the method used to apply the spacing (manually
inserting extra advance post-shaping) matches Gecko.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 914f27263d60ffcbe2fd1f9e47a48e3aa3f1cd76
2014-12-12 12:45:54 -07:00
Joseph Crail 928a39ceb6 servo: Merge #4171 - Fix spelling mistakes in comments (from jbcrail:fix-spelling); r=jdm
I only updated comments, not strings.

Source-Repo: https://github.com/servo/servo
Source-Revision: f451005f4fe075c849de2f3766f5bf84510b8465
2014-12-12 02:12:51 -07:00
Tetsuharu OHZEKI d9885c4396 servo: Merge #4279 - Rename "render"/"rendering" to "paint"/"painting" (from saneyuki:rename); r=jdm
#4275

* This changeset rename "render"/"rendering" to "paint"/"painting" under `components/`.
* This does not rename words which are used as general browser's working.
  * So this doesn't change `reftest.rs`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0b486b12109ab765ecee4cbcc684e5d99e8ad5ad

--HG--
rename : servo/components/canvas/canvas_render_task.rs => servo/components/canvas/canvas_paint_task.rs
rename : servo/components/gfx/render_context.rs => servo/components/gfx/paint_context.rs
rename : servo/components/gfx/render_task.rs => servo/components/gfx/paint_task.rs
2014-12-08 10:28:10 -07:00
Timothy B. Terriberry 658bba4ee7 servo: Merge #4234 - Change time::profile's meta booleans to enums (from tterribe:issue4158); r=metajack
This makes these parameters self-documenting.
This patch does not attempt to push those enums into the data
structures that feed calls to this function.

Fixes #4158.

Source-Repo: https://github.com/servo/servo
Source-Revision: bc7b5b35b44e82dadb35242e39b190b3d1fcba10
2014-12-05 17:34:03 -07:00
Simon Sapin 2d8a1f7245 servo: Merge #4140 - Move the root Cargo.toml to components/servo, and warn when Cargo is run directly (from SimonSapin:no-root-cargo-toml); r=SimonSapin
This fixes #3957, and allow #4115 not to regress #4099.

Source-Repo: https://github.com/servo/servo
Source-Revision: 873ca6cadddc1a40bead1f5dd0128bb16cfaa11b

--HG--
rename : servo/Cargo.lock => servo/components/servo/Cargo.lock
rename : servo/src/lib.rs => servo/components/servo/lib.rs
rename : servo/src/main.rs => servo/components/servo/main.rs
2014-12-02 19:27:51 -07:00
Mike Blumenkrantz a236341106 servo: Merge #4049 - Embedding callbacks (from zmike:embedding-callbacks); r=jdm
begin implementing CEF COM, add more types (stupid rust-bindgen taking forever to figure out...)

@jdm @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 2bba42ad19a792565b653cdd5551933ab2d41c2b
2014-11-21 20:00:36 -07:00
Glenn Watson e76f75ceeb servo: Merge #4051 - Remove unused exit after load option (from glennw:remove-exit-load); r=mbrubeck
This simplifies some upcoming changes to how event handling works.

Source-Repo: https://github.com/servo/servo
Source-Revision: 32d765fb049318f2ff22f39fdeb9fa258ec8a174
2014-11-20 16:54:31 -07:00
Glenn Watson c04e3b2bc7 servo: Merge #4028 - Add glutin port (supported on Linux only currently) (from glennw:glutin); r=larsbergstrom
Default build uses glfw, but glutin can be enabled via:

./mach cargo build --no-default-features --features=glutin

Remaining work:
 * Mac
 * Android
 * hi-dpi
 * nested event loop

This PR also enables true headless (without X) rendering on Linux by specifying the rendering API as Mesa.

Source-Repo: https://github.com/servo/servo
Source-Revision: f5c6146de0b3bfda97edff6662033f4a981df3f6
2014-11-18 15:48:29 -07:00
Glenn Watson f605e86196 servo: Merge #4013 - Redirect android resource folder (user-agent.css and friends) to /sdcard/servo (from glennw:android-resources); r=larsbergstrom
This is a temporary solution, until they are packaged properly.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1fd94adb3ddaa56c2e5fb41422960a8a433a6389
2014-11-16 18:12:28 -07:00
Patrick Walton 7ccbb6f29d servo: Merge #3990 - gfx: Rewrite display list construction to make stacking-contexts more first-class (from pcwalton:stacking-contexts); r=glennw
This implements the scheme described here:

    https://groups.google.com/forum/#!topic/mozilla.dev.servo/sZVPSfPVfkg

This commit changes Servo to generate one display list per stacking
context instead of one display list per layer. This is purely a
refactoring; there are no functional changes. Performance is essentially
the same as before. However, there should be numerous future benefits
that this is intended to allow for:

* It makes the code simpler to understand because the "new layer needed"
  vs. "no new layer needed" code paths are more consolidated.

* It makes it easy to support CSS properties that did not fit into our
  previous flat display list model (without unconditionally layerizing
  them):

  o `opacity` should be easy to support because the stacking context
    provides the higher-level grouping of display items to which opacity
    is to be applied.

  o `transform` can be easily supported because the stacking context
    provides a place to stash the transformation matrix. This has the side
    benefit of nicely separating the transformation matrix from the
    clipping regions.

* The `flatten` logic is now O(1) instead of O(n) and now only needs to
  be invoked for pseudo-stacking contexts (right now: just floats),
  instead of for every stacking context.

* Layers are now a proper tree instead of a flat list as far as layout
  is concerned, bringing us closer to a production-quality
  compositing/layers framework.

* This commit opens the door to incremental display list construction at
  the level of stacking contexts.

Future performance improvements could come from optimizing allocation of
display list items, and, of course, incremental display list
construction.

r? @glennw
f? @mrobinson @cgaebel

Source-Repo: https://github.com/servo/servo
Source-Revision: 397d8138e7b27541faf03d9635d7648416da4a75
2014-11-16 16:39:27 -07:00
Glenn Watson 22c4035692 servo: Merge #3948 - Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8a (from servo:rustup-20141105_2); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: c5e1b0d32e17fad29799023c85e2e73ac89c3af7
2014-11-12 20:48:31 -07:00
Ms2ger 2c6798b469 servo: Merge #3949 - Fix the documentation comment for logical_geometry.rs (from Ms2ger:logical_geometry); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: f0184a2d011e12845258a242d2d2f6b8b504a28d
2014-11-10 05:33:35 -07:00
Patrick Walton 669bb9792d servo: Merge #3890 - gfx: Micro-optimize `DList` and `StackingContext` a bit (from pcwalton:microoptimize-dlist); r=glennw
I'm sad to say that this improved performance significantly. A lot of
this win is due to the Rust compiler not being smart about not zeroing
objects out if it doesn't need to.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 5e71087ae96a4dcff7f09ab2b9b56df9f3eba595
2014-11-05 10:00:54 -07:00
Patrick Walton 35e2f9710a servo: Merge #3761 - Invert control flow, fix resizing, and improve checkerboarding significantly (from pcwalton:smooth-scrolling); r=larsbergstrom
r? @glennw @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: ffae1104989c0177b483d591a482e5cd877183c2
2014-11-04 18:12:32 -07:00
Martin Robinson 65b0281012 servo: Merge #3879 - Corral debug command-line options into a --debug/-Z flag (from mrobinson:debug-options); r=cgaebel
This should make help output a lot cleaner and simplify the way that
uncommon debug options are passed.

Source-Repo: https://github.com/servo/servo
Source-Revision: e483a189a3c24d0fe475cf2a8dedb11821f7ee21
2014-11-04 11:36:30 -07:00
Clark Gaebel 50399f7841 servo: Merge #3880 - Implements case insensitive font family names (from cgaebel:case-insensitive-font-family-matching); r=glennw,glennw
One part (of 8!) of css font family disambiguation is that font families should
be matched case-insensitively.

This patch implements that. Once it lands, a bug needs to be filed to do lowercasing
properly (as a string, instead of char-by-char -- it's a unicode thing).

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 2a88a3242cf85c807875883aeb14d113a1a27212
2014-11-03 18:30:35 -07:00
Clark Gaebel 303e3942e9 servo: Merge #3875 - Removes the useless 'static constraint on SmallVec (from cgaebel:remove-static-constraint-on-smallvec); r=jdm
It was likely added accidentally after a rustc upgrade.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 97d57689e96e3ec904916cc703bc7878675cfe5d
2014-11-03 13:18:33 -07:00
Patrick Walton dc3e7f7ade servo: Merge #3830 - layout: Employ a persistent list data structure to avoid copying floats all the time (from pcwalton:persistent-list-floats); r=kmcallister
r? @kmcallister

Source-Repo: https://github.com/servo/servo
Source-Revision: 4418a28e7a67ade0f976405ad889b005f9d291b5
2014-10-31 14:00:39 -06:00
Patrick Walton b0d05eedd7 servo: Merge #3834 - util: Add a `Show` implementation to `SmallVec` (from pcwalton:smallvec-debugging); r=pcwalton
r? @cgaebel

Source-Repo: https://github.com/servo/servo
Source-Revision: 72f6e14f0b8c42267b55227213060358f7cb2278
2014-10-31 11:48:36 -06:00
Clark Gaebel 619a838f0e servo: Merge #3829 - util: Primarily fixes a bug where SmallVec.into_iter just doesn't work (from cgaebel:fix-into_iter); r=pcwalton
into_iter used to use `inline_size` as the capacity insetad of the actual
capacity. This patch fixes that, adds some utility methods to `SmallVec`
to bring it closer in functionality to `Vec`, and removes the obsolete
`owns_managed` calls.

Source-Repo: https://github.com/servo/servo
Source-Revision: 59fc7950259496b6dd9bf5452e09ae615cb79a51
2014-10-28 16:36:47 -06:00
Glenn Watson 790ad60dec servo: Merge #3708 - Add task profiler, which works by instrumenting each task runtime when enabled (from glennw:thread_profiler); r=pcwalton
@pcwalton - I'm not sure if there's any gotchas or downsides to profiling using this technique to instrument the runtime. Happy to close this if it doesn't seem like a good idea to you. r?

Source-Repo: https://github.com/servo/servo
Source-Revision: 82f314d2c475cf712b42a7817f98e6fe422e76f6
2014-10-28 15:36:51 -06:00
Patrick Walton 4da2f3be20 servo: Merge #3831 - util: Add a method to push all elements from another doubly-linked list without any moves (from pcwalton:append-from); r=mbrubeck
This is tracked upstream as Rust bug #18402.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: c109f6ff772c75cc79b10cfdf8ebccdec9b8465e
2014-10-28 13:48:58 -06:00
Glenn Watson f86a66f18a servo: Merge #3823 - If opts is retrieved, but not set by platform layer, return a default set (from glennw:default-opts); r=mbrubeck
This is required for unit tests like the image cache task, which can pass through code paths that query the command line options.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5bd0a578fd395a6fdf59d3c0767e74309f9b3048
2014-10-28 12:36:51 -06:00
Clark Gaebel 1df0853045 servo: Merge #3827 - Run all task spawning through util, to allow for easy hooking (from cgaebel:use-custom-spawn); r=pcwalton
During debugging, I found it useful to hook all task creation in a
central location, and util::task was the perfect place for it.

r? @pcwalton (or maybe someone else, I'm kinda sending you a bunch of
reviews today because I don't know who better to give them to)

Source-Repo: https://github.com/servo/servo
Source-Revision: ff06be91ebe770290ba912ee71a303810aa62cea
2014-10-28 11:24:43 -06:00
Clark Gaebel 35fa656ba1 servo: Merge #3820 - Rebase Laleh's #3505 (from cgaebel:rebase-lalehs-patch); r=pcwalton
I addressed all but one of the code review comments, which was a request
for documentation on where a number came from (which I'm not qualified to
answer), and rebased this on to latest master.

xref: #3505 cc: @LalehB @larsbergstrom

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 9e94ecf99cff7c57275ab39c7b11870e55756d63
2014-10-27 18:06:43 -06:00
Keegan McAllister 972824c647 servo: Merge #3797 - Debug-only dynamic checks for layout and GC use of DOMRefCell (from kmcallister:domrefcell); r=jdm
r? @mbrubeck, @jdm

Alternative to #3770 and #3716.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0c12f630e6352fc2aa00b638d014b2505f68af1f
2014-10-24 18:09:27 -06:00
Josh Matthews 5e0f446355 servo: Merge #3795 - Add layers dependency to util crate. Fixes #3783 (from jdm:utildeps); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 5d78d018cedcca2fe7df90d2c97783c0bf08bdf3
2014-10-23 22:00:34 -06:00
Patrick Walton de5550d56e servo: Merge #3765 - util: Make some minor formatting cleanups to profiling and gfx (from pcwalton: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

Source-Repo: https://github.com/servo/servo
Source-Revision: a6f0159cb85e3b84a826c41ae5ad1b6aea09d7cc
2014-10-22 14:45:35 -06:00
Patrick Walton e7a18b27f3 servo: Merge #3762 - gfx: Paint in parallel in CPU rendering mode (from pcwalton:parallel-painting); r=zwarich
r? @larsbergstrom @mrobinson

Source-Repo: https://github.com/servo/servo
Source-Revision: 22d6aaf36980cdcb0202acc2576dfe742aafe885
2014-10-22 08:51:34 -06:00
Tetsuharu OHZEKI 77d934b326 servo: Merge #3742 - Remove the help text for render backend option (from saneyuki:opt); r=jdm
This follows up #3711.

Source-Repo: https://github.com/servo/servo
Source-Revision: 213178b6b9413cd461b45c1b3275562fa4b604c1
2014-10-22 01:27:36 -06:00
Patrick Walton 43b02049e1 servo: Merge #3752 - gfx: Switch the default to CPU painting (from pcwalton: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

Source-Repo: https://github.com/servo/servo
Source-Revision: 1fd7650de504611016d1ce10a5af2c1a4e0f6b9c
2014-10-21 21:18:33 -06:00
Martin Robinson c5b7fec139 servo: Merge #3748 - Improve logical geometry formatting (from mrobinson: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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9e48010c8ff8fb2c70f45ee721a1039ff634af2f
2014-10-21 19:00:37 -06:00
Martin Robinson 5aaa9b1600 servo: Merge #3747 - Add an option to validate display list items (from mrobinson: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.

Source-Repo: https://github.com/servo/servo
Source-Revision: f5ad89f927864ba4f1cbb409b8b0e3b38febef76
2014-10-21 17:51:43 -06:00
Martin Robinson acd0f03a8e servo: Merge #3746 - Add an option to show debug fragment borders (from mrobinson: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.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3936d142607ef5a9b4a49d48e207daf4975cc7d5
2014-10-21 17:06:40 -06:00
Glenn Watson 5a4dc1ce5b servo: Merge #3730 - Introduce a basic shared task pool, and use it for image decoding (from glennw:taskpool); r=pcwalton
r? @pcwalton - Is this the kind of thing you were thinking of in terms of task queue?

Source-Repo: https://github.com/servo/servo
Source-Revision: 4795e9cf0ba8a9712e81c281e31ffd4cf34240f0
2014-10-21 15:15:42 -06:00
Patrick Walton daafd66ee8 servo: Merge #3722 - Overhaul flow construction with several performance improvements (from pcwalton:flow-construction-overhaul); r=glennw
This is a grab bag of performance improvements that significantly improve style recalculation, layout, and painting on a few static pages.

Let me know if you'd like me to split this PR up.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 156ca98236a57ee52ff5b68741bc7783ba073612
2014-10-21 10:06:37 -06:00
Clark Gaebel 81a95caa86 servo: Merge #3715 - Fixes the table_percentage_width_a.html reftest with incremental reflow turned on (from cgaebel:fix-table-percentage-width); r=pcwalton
This also enables incremental reflow by default. \o/

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: f6941b35e3b945f4a6dcd2cf03daa345ad2bcaed
2014-10-20 12:54:34 -06:00
Glenn Watson feabe3b678 servo: Merge #3729 - Use opts as a global, to avoid cloning and passing the struct all over the code base (from glennw:opts-cleanup); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 852378209badb936e8929c31501cb8cabeea6bc5
2014-10-19 21:33:25 -06:00
Glenn Watson 002d5f40a7 servo: Merge #3711 - Remove render backend option as it doesn't work and confuses people (from glennw:cleanup-opts); r=pcwalton
r? @pcwalton @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: a983debaf16d788d500ce12262dc0b9b511b1e8e
2014-10-19 18:00:30 -06:00
Emanuel Rylke f8ce55b23c servo: Merge #3698 - Remove unused implementation of MonoCache (from ema-fox:remove-monocache); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b80b18f1cb95966dabb7b1ce9fa8c643a798c4ba
2014-10-16 07:33:21 -06:00
Clark Gaebel b4c8eab1f2 servo: Merge #3689 - Fix whitespace_pre with incremental reflow turned on (from cgaebel:working-incremental-flow-construction); r=pcwalton
This implements fragment merging, in order to incrementally reflow linebroken
text. This makes the `whitespace_pre.html` reftest pass with incremental reflow
turned on with `-i`.

Source-Repo: https://github.com/servo/servo
Source-Revision: f3066c70da80306f68833814025deb589d6eeb2a
2014-10-15 21:27:20 -06:00
Clark Gaebel 3443a24780 servo: Merge #3640 - Try to reset flows which need reflow, since reflow isn't yet idempotent (from cgaebel:incremental-flow-construction); r=pcwalton
This also hides the not-yet-working parts of incremental reflow behind a runtime
flag. As I get the failing reftests passing, I'll send pull requests for them one
by one.

Source-Repo: https://github.com/servo/servo
Source-Revision: 56989b8dec4aa95a3b484d45f15b23f9b3daaf13
2014-10-14 16:51:30 -06:00
Patrick Walton 0aeca90f2d servo: Merge #3622 - layout: Introduce support for legacy presentational attributes to selector matching, and use it for `<input size>` and `<td width>` (from pcwalton:html4ever); r=jdm
This implements a general framework for legacy presentational attributes
to the DOM and style calculation, so that adding more of them later will
be straightforward.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0aeecfc41d5f0c637960fcddf87cc2db3e5efeea
2014-10-14 14:06:36 -06:00
Patrick Walton 46685905bb servo: Merge #3654 - layout: Rewrite clipping to be per-display-item instead of having a separate `ClipDisplayItem` (from pcwalton:clip-reform); r=mrobinson
We push down clipping areas during absolute position calculation. This
makes display items into a flat list, improving cache locality. It
dramatically simplifies the code all around.

Because we need to push down clip rects even for absolutely-positioned
children of non-absolutely-positioned flows, this patch alters the
parallel traversal to compute absolute positions for
absolutely-positioned children at the same time it computes absolute
positions for other children. This doesn't seem to break anything either
in theory (since the overall order remains correct) or in practice. It
simplifies the parallel traversal code quite a bit.

See the relevant Gecko bug:
https://bugzilla.mozilla.org/show_bug.cgi?id=615734

r? @mrobinson

Source-Repo: https://github.com/servo/servo
Source-Revision: fd70b366aeada7f8cb4b2457c04fd07f0ea9b143
2014-10-14 00:42:35 -06:00
Patrick Walton f2f6e38276 servo: Merge #3650 - layout: Refactor inline layout to remove the code that tried to avoid splitting fragments (from pcwalton:give-up-on-not-splitting); r=glennw
I don't think it will be possible to avoid splitting fragments in the
presence of `vertical-align`, because one `ScannedTextFragment` could
potentially be split into arbitrary many fragments, each having its own
vertical position that can influence layout of other fragments.

This code also removes parts of `Range` that were no longer used.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 799d0de0c09420a9657a6a7b5fb814374da31163
2014-10-13 18:36:40 -06:00
Glenn Watson d14b70fb18 servo: Merge #3608 - Expose user agent option to DOM navigator interface (from glennw:user-agent-navigator); r=Ms2ger
This also makes command line options available as a global. If we're happy with that change I will go through the rest of the code and update it to avoid passing and cloning the Opts structure.

Source-Repo: https://github.com/servo/servo
Source-Revision: 81620d6bce12819db5b97330e48be52674b39ffb
2014-10-13 15:21:44 -06:00
Patrick Walton ec00d8be86 servo: Merge #3639 - Use Gecko's simpler Bloom filter instead of one based on hash (from pcwalton:rewrite-bloom-filter); r=zwarich
stretching.

This preserves the usage of the Bloom filter throughout style recalc,
but the implementation is rewritten. Provides a 15% improvement on
Guardians of the Galaxy.

Source-Repo: https://github.com/servo/servo
Source-Revision: e048f3f940e124d45b43a53a850177c45907822d
2014-10-10 20:27:39 -06:00
Patrick Walton 1d89e44b97 servo: Merge #3599 - layout: Implement `z-index` (from pcwalton:z-index); r=glennw
r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: c4ac93b315f058d9a061b20ce64cacbead339f86
2014-10-08 23:33:33 -06:00
Robin Stocker e81f609d79 servo: Merge #3612 - Allow to specify port with --devtools option (fixes #3597) (from robinst:devtools-port-option); r=jdm
Note that using `servo --devtools http://example.org` doesn't work. In
that case either the port must be specified or the option moved to the
end. But this is the same for other such options, e.g. `--profile`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9be266270b2e8d00f4cec0f1b262efce85913640
2014-10-08 08:24:36 -06:00
Simon Sapin 006cccd339 servo: Merge #3601 - Read user-agent.css at run time. Fix #3516 (from SimonSapin:runtime-ua-stylesheet); r=jdm
When we want to use Servo binaries outside of their `target` build directory, `./resources` is what we’ll need to ship with them.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 8312fde154768c4a5ce133a1aaaf1293529a5558

--HG--
rename : servo/tests/html/failure.html => servo/resources/failure.html
rename : servo/components/style/user-agent.css => servo/resources/user-agent.css
2014-10-08 00:42:36 -06:00
Glenn Watson fe35ac2331 servo: Merge #3565 - Add cmd line option to set user agent. Improves github when used (from glennw:user-agent); r=mbrubeck
Fixes #3455

Source-Repo: https://github.com/servo/servo
Source-Revision: 3e8aa0592154a3ec5cc8e1167e17bd70b8c7144b
2014-10-06 23:21:32 -06:00
Jack Moffitt 47258b49e5 servo: Merge #3566 - Fix up and run unit tests (from metajack:fixup-unit-tests); r=mbrubeck
This adds the subpackages to `./mach test-unit`.

Source-Repo: https://github.com/servo/servo
Source-Revision: d4e977a2be1f1fea81c32d1f7024b228cb161966
2014-10-03 09:57:26 -06:00
Patrick Walton 08b194a932 servo: Merge #3560 - gfx: Use subpixel positioning for glyphs (from pcwalton:subpixel-glyph-positioning); r=mbrubeck
Improves text rendering significantly.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: adb428a725293fd639a0f188a32f3111ffca4d5b
2014-10-02 09:27:26 -06:00
Keegan McAllister 2e5e961694 servo: Merge #3530 - Use string-cache's Namespace type, backed by Atom (from kmcallister:namespace-atom); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 698b916c097ae0272a31a680cba7fc6dbd03ca3d
2014-09-30 02:42:23 -06:00
Simon Sapin 2a5f4c7376 servo: Merge #3487 - Upgrade Rust and enable style crate rustdoc (from servo:rustup-20140923); r=Ms2ger
The biggest language change is that enum variants now also reserve (for future use) a name in the type namespace, which must not collide with other types. Some things were renamed, and others qualified as `module::name`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7409685589c550ee7a9f94182f511acddab4c6fd
2014-09-29 10:45:27 -06:00
Glenn Watson 9ecef198ec servo: Merge #3517 - Revert "Set default resolution to 1280x1024 now that reftests render to (from glennw:revert-res-change); r=metajack
...FBO."

This reverts commit c74798bb6bcb98d2d6af998e2ab0f08e79097147.

Source-Repo: https://github.com/servo/servo
Source-Revision: 132ade0fce514ffeb56f34669967913d9015f035
2014-09-28 19:42:27 -06:00
Glenn Watson 35474c1df5 servo: Merge #3513 - Set default resolution to 1280x1024 now that reftests render to FBO (from glennw:default-res)
Reviewed-by: metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 276ca5f2e976fa6c9ce56d98ec2b70efd9c54cdd
2014-09-28 17:42:31 -06:00
Glenn Watson 7dd2a8d7cf servo: Merge #3398 - Allow resolution to be configured on command line. Default to 1280x1024 (from glennw:config-res)
Reviewed-by: SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 177127e5974e30b35632b206f995659e8b663803
2014-09-25 18:27:38 -06:00
Ms2ger eef201dde8 servo: Merge #3465 - Handle null strings in Namespace::new (from Ms2ger:ns)
Source-Repo: https://github.com/servo/servo
Source-Revision: c7a575e79338c84652cc0d0cb2f85b1c438819b2
2014-09-24 10:30:13 -04:00
Patrick Walton 33c3affead servo: Merge #3457 - layout: Adjust the position of block formatting contexts based on float placement (from pcwalton:block-formatting-contexts)
Source-Repo: https://github.com/servo/servo
Source-Revision: 6177a3bdcca974d5070b0ecab0973d42963946ec
2014-09-22 20:06:18 -07:00
Simon Sapin e9f1c0bcd3 servo: Merge #3438 - Upgrade Rust (from servo:rustup)
Source-Repo: https://github.com/servo/servo
Source-Revision: 045328c8e94f5bdfcd67105c5dfa9209f4cd501c
2014-09-20 15:35:08 -07:00
Clark Gaebel e161bd08a0 servo: Merge #3427 - added valid license to tid.rs (from cgaebel:add-license-to-tid)
Source-Repo: https://github.com/servo/servo
Source-Revision: 877de7f694dddd02fcc855a571f99e7c46f7501d
2014-09-19 17:19:42 -07:00
Simon Sapin ef153c16e8 servo: Merge #3424 - Add font-size absolute size keywords. Fix #3417 (from SimonSapin:font-size-absolute)
Source-Repo: https://github.com/servo/servo
Source-Revision: 08e004d10650f36af60818fd3c57ca461a97a678
2014-09-19 15:17:55 -07:00
Josh Matthews d3fc0a6b43 servo: Merge #3172 - Dump initial prototype of devtools server into the build. Expect lies if (from jdm:devtools)
Source-Repo: https://github.com/servo/servo
Source-Revision: b82c0dced08ccda8c3c7f35643c3891bc45b058c
2014-09-19 09:15:03 -04:00
Clark Gaebel 5af110ce58 servo: Merge #3397 - Fixes #3386 (from cgaebel:issue-3386)
Source-Repo: https://github.com/servo/servo
Source-Revision: 667f887f49902c4750b80b8be15ba1d4dc3dccdf
2014-09-18 09:29:21 -07:00
Clark Gaebel 8eb411ea05 servo: Merge #3379 - Added more complex profiling metadata (from cgaebel:bucketed-timing)
Source-Repo: https://github.com/servo/servo
Source-Revision: 1b251db7323dce3b7838709c7d2dfb685d8b24a9
2014-09-18 09:12:34 -07:00