Commit Graph

41 Commits

Author SHA1 Message Date
Florian Merz
cf1c0afbf8 servo: Merge #14291 - Position insertion point in input field with mouse (from fiji-flo:text-input-select); r=pcwalton
<!-- Please describe your changes on the following line: -->
Implements cursor positioning in input elements (text/password) via mouse. The related issue is #10083 but is only covered partly.
This PR does **not** cover:
* positioning in textarea elements via mouse
* text selection in input/textarea elements via mouse

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [ ] These changes fix #10083 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because I can't think of a way to test mouse interaction in the current test pipeline.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 68a8e1bf2b57afe9bf6c4fb295bdc5dca099a9f6
2017-01-11 14:19:10 -08:00
Glenn Watson
89fec93361 servo: Merge #13711 - Remove old rendering backend (from glennw:remove-old-renderer); r=larsbergstrom
This removes paint threads, rust-layers dependency, and changes
optional webrender types to be required.

The use_webrender option has been removed, however I've left
the "-w" command line option in place for now so that wpt
runner can continue to pass that. Once it's removed from there
we can also remove the -w option.

Once this stage is complete, it should be fine to change the
display list building code to generate webrender display
lists directly and avoid the conversion step.

Source-Repo: https://github.com/servo/servo
Source-Revision: f96718d03da969510dc992699cb6f25c2e21ae1e
2016-10-17 19:22:20 -05:00
Felipe Lacerda
ceb6e1add0 servo: Merge #13414 - Implement word-break: keep-all (#9673) (from flacerdk:master); r=mbrubeck
<!-- Please describe your changes on the following line: -->
Implement the `keep-all` value for the `word-break` property, as specified in [CSS](https://drafts.csswg.org/css-text-3/#word-break-property).

The relevant CSSWG tests (in `tests/wpt/css-tests/css-text-3_dev/html/word-break-keep-all-*.htm`) do not currently pass. As far as I can tell, this is because the tests use some JavaScript code that is not working properly. (But then, it seems that most tests in this directory are failing at the moment. I'm not sure what can be done here for now.)

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #9673.

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: c9442346d3b454d9cbfcbd76d887e4f22f942531
2016-09-29 19:20:55 -05:00
UK992
a6ebcb8483 servo: Merge #13205 - Tidy: Fix ordering use statements with braces (from UK992:tidy-sort); r=Wafflespeanut
This hack fixes https://github.com/servo/servo/issues/7412 and matches behavior with rustfmt.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3117787fd2a8b7748cfde1e9b8c5be3c00f2c599
2016-09-08 22:19:19 -05:00
Anthony Ramine
69dd42260c servo: Merge #12256 - Move some stuff from util to style (from nox:die-util-die); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: bb916bb38bc4298477bfc8134b94dc906054bce1
2016-07-05 02:04:42 -07:00
Cullen Rhodes
44dc9f68ea servo: Merge #11329 - Report use statements that use {} with only one entry (from c-rhodes:11320); r=jdm
Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data:
- [X ] `./mach build -d` does not report any errors
- [X ] `./mach test-tidy --faster` does not report any errors
- [X ] These changes fix #11320  (github issue number if applicable).

Either:
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2f9796fa696e9514280777398467696dd4f004b3
2016-05-27 07:11:17 -05: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
Patrick Walton
089c9216d7 servo: Merge #10691 - layout: Fix float speculation with percentage inline sizes, rewrite vertical alignment, fix inline block ascent/descent computation, and fix absolute inline-block hypothetical boxes (from pcwalton:float-fixes); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 35ba29355f40f27b2febe87aad7d7ffba20160c0
2016-05-04 13:49:23 -07:00
Matt Brubeck
0908b9d214 servo: Merge #10913 - Use xi-unicode for line breaking (from mbrubeck:xi-unicode); r=pcwalton
This uses the xi-unicode crate by @raphlinus to detect line-break opportunities, replacing Servo's custom code that only detects ASCII whitespace.  xi-unicode is licensed under the Apache-2.0 license.

See mbrubeck/servo#2 for some discussion on an earlier draft of this code.  This PR implements the "search backward to find trailing whitespace" solution discussed there.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: fc1e4c808541ca11e25831c7c6b5cfa924945fa5
2016-04-30 21:20:38 -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
Matt Brubeck
fda28e819e servo: Merge #10880 - Code cleanup in gfx::text (from mbrubeck:char-at); r=nox
* Fix deprecation warnings by replacing `str::char_at` and related functions with iterators.
* Replace some uses of `range::Range` with `std::ops::Range`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 224bcd7057c9b5aeb8f0064de9e1d0551b75a01b
2016-04-28 05:01:24 -07:00
Guillaume Gomez
48e2812a72 servo: Merge #9792 - Remove util::vec::Comparator (from GuillaumeGomez:remove_comparator); r=nox
r? @nox

Fixes #9696

Source-Repo: https://github.com/servo/servo
Source-Revision: 40c52d55e2037a8dc154718f43260bd347739260
2016-03-01 18:40:45 +05:00
Jonathan Schuster
71dd7af24e servo: Merge #9717 - Move util::range into its own crate (from schuster:move-range); r=frewsxcv
Fixes #9695

Source-Repo: https://github.com/servo/servo
Source-Revision: 4300ba221170785652fe7368e2900f9a5a946096
2016-02-26 07:11:57 +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
Patrick Walton
e9a54e1d2e servo: Merge #8990 - Optimize TextRun::advance_for_range (from pcwalton:advance-for-range-optzns); r=mbrubeck
The combined effects of these optimizations move `advance_for_range` from #1 in the layout profile on all sites I tested to #2, #3, or #4, depending on the site.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 67c3cb37073068fe8be7b35b26469e2e329ce385
2015-12-17 09:17:03 +05:00
Glenn Watson
5c835e208c servo: Merge #7795 - Split Au type into separate crate, with minimal dependencies (from glennw:app-units-crate); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 35888e5a1d48511ec54ddf8c58f1c7b0c47c5d3c
2015-09-30 15:19:33 -06:00
Brandon Fairchild
704178a0dd servo: Merge #7662 - Check for multiple import blocks separated by whitespace (from nerith:import); r=frewsxcv
Fixes #7381.

Source-Repo: https://github.com/servo/servo
Source-Revision: a0d3c9223f09757124b1520c4f17e94fa8bbe249
2015-09-19 13:34:51 -06:00
Manish Goregaokar
46699136ac servo: Merge #7536 - More clippy fixes (from Manishearth:clippyfix); r=Ms2ger
Elided almost all the lifetimes and removed needless returns. Mostly done by sed + manual fixes.

r? @nox

Source-Repo: https://github.com/servo/servo
Source-Revision: c2c2646d37614ece5869af861993c3d619f6e003
2015-09-04 07:59:04 -06:00
Josh Matthews
d1f1ba555f servo: Merge #7203 - Add automated style nit checks to test-tidy (from jdm:style); r=Ms2ger
Expands on the work by @wilmoz and cleans up the existing errors. Closes #7180. Closes #7111.

Source-Repo: https://github.com/servo/servo
Source-Revision: e74825f9fde8e222f4ba9bb24b2c2a3864c73e5f
2015-08-16 08:37:40 -06:00
Matt Brubeck
83840728e7 servo: Merge #6471 - Basic support for bidirectional text (from mbrubeck:bidi); r=pcwalton
This re-orders text according to the Unicode bidirectional layout algorithm, using the [unicode-bidi](https://github.com/mbrubeck/unicode-bidi) crate.  It uses the natural order of the text based on Unicode character properties and the CSS `direction` property.

This does not yet support the CSS `unicode-bidi` property or the HTML `dir` attribute, but these should be straightforward to add.

r? @pcwalton.  Also depends on servo/unicode-bidi#4.

Source-Repo: https://github.com/servo/servo
Source-Revision: d3a36fafd948d7b9366feeca44f9ca9ad012d706
2015-07-23 21:20:49 -06:00
Patrick Walton
73a1dca1b4 servo: Merge #6583 - gfx: Make display lists serializable using serde (from pcwalton:serializable-display-list); r=metajack
This commit introduces the `serde` dependency, which we will use to
serialize messages going between processes in multiprocess Servo.

This also adds a new debugging flag, `-Z print-display-list-json`,
allowing the output of display list serialization to be visualized.
This will be useful for our experiments with alternate rasterizers.

r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: ef9715203edf0a280d019b6e8823666f0e7020be
2015-07-15 14:04:55 -06:00
Matt Brubeck
e202f11e62 servo: Merge #6626 - Remove dead code from gfx/text (from mbrubeck:gfx-dead); r=glennw
r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 27d7f942547fa2091828d358c239dd9a2ed08885
2015-07-14 09:40:52 -06:00
Corey Farwell
43e2d6c6d7 servo: Merge #6230 - Remove get_ prefix on getters (from frewsxcv:getters-get); r=nox
Part of #6224

I certainly didn't remove all of them; I avoided `unsafe` areas and also `components/script`

Source-Repo: https://github.com/servo/servo
Source-Revision: f6fe1953343a417b62fb310a380af7c6973849b0
2015-06-02 08:17:03 -05:00
Simon Sapin
25523c4789 servo: Merge #5951 - Clean up the Au API (from SimonSapin:au-cleanup); r=mbrubeck
Fix #5943.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 1721cf45ed59306a69f3ade08feca065804c3804
2015-05-05 15:08:12 -05:00
Patrick Walton
3b9ca814fe 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
e3b9c28215 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
Ms2ger
761d1d93b7 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
02ab4f60c3 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
Patrick Walton
2d6414e124 servo: Merge #4610 - layout: Implement text-align: justify and text-justify per (from pcwalton:text-align-justify); r=mbrubeck
CSS-TEXT-3 § 7.3.

`text-justify: distribute` is not supported.

The behavior of `text-justify: none` does not seem to match what Firefox
and Chrome do, but it seems to match the spec.

Closes #213.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 7359f99f201a359aaebf334a1787d1975c9fa7d4
2015-01-30 06:15:56 -07:00
Ms2ger
155838196e servo: Merge #4766 - Import the util crate as util rather than servo_util (from Ms2ger:util); r=Manishearth
This used to conflict with the util crate from the standard library, which
has long since been removed.

The import in layout has not been changed because of a conflict with the
util mod there.

Source-Repo: https://github.com/servo/servo
Source-Revision: 27e0f16407629422b5e047e067d458142372c97e
2015-01-29 05:12:49 -07:00
Josh Matthews
b11f7d94dc 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
Ms2ger
97751da42e 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
b3c7f9d2ca 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
Patrick Walton
098dc9f669 servo: Merge #4361 - layout: Implement overflow-wrap/word-wrap per CSS-TEXT § 6.2 (from pcwalton:overflow-wrap); r=glennw
This property is used by approximately 55% of page loads.

To implement the line breaking behavior, the "breaking strategy" has
been cleaned up and abstracted. This should allow us to easily support
other similar properties in the future, such as `text-overflow` and
`word-break`.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 68ab18876bf4e210da26590420b9844b9cb0c92d
2014-12-13 14:06:47 -07:00
Patrick Walton
68b72c82e4 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
Glenn Watson
71f726977a 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
Glenn Watson
d22b664cfb servo: Merge #3769 - Convert internal font code to store pt size as Au (from glennw:font-au); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 4b508195ace7490fda08f6d40fe64165feb91edd
2014-10-22 03:30:36 -06:00
Patrick Walton
19177725a9 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
Glenn Watson
0c66868669 servo: Merge #3459 - Add support for small-caps font-variant (from glennw:small-caps)
Source-Repo: https://github.com/servo/servo
Source-Revision: 98222cf24cd64c246fc25b9009f3c198bf33dcbf
2014-09-24 09:49:05 +10:00
Simon Sapin
e245f210fb 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
Jack Moffitt
132ee35633 servo: Merge #3230 - Cargoify servo (from servo:cargoify)
Source-Repo: https://github.com/servo/servo
Source-Revision: b1305bb7d051f83850c51bb0da0ccc86a5e07922
2014-09-09 08:18:18 -06:00