Commit Graph

1447 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
6f8a92bd3e servo: Merge #15913 - Use the proper viewport size for stylo (from emilio:viewport-size); r=heycam,hiro
Reviewed upstream at [bug 1303229](https://bugzil.la/1303229).

Source-Repo: https://github.com/servo/servo
Source-Revision: 06f99c13f233bad71a42affccb10c86295ff014b
2017-03-11 04:40:31 -08:00
Emilio Cobos Álvarez
22714ca00f servo: Merge #15891 - style: Iterate the LRU cache contents from back to front (from emilio:lru-back-to-front); r=bholley,mbrubeck
This is on top of #15888. Only the second commit needs review.

We put the more recently used item last, so iterating then from left to right is
pointless.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7fa4a94bb154449702e5ae9422c3008a5195c714
2017-03-11 02:31:25 -08:00
Glenn Watson
7114140c87 servo: Merge #15879 - Update WR (scroll root changes, border gradients, yuv updates) (from glennw:update-wr-scroll); r=mrobinson
Source-Repo: https://github.com/servo/servo
Source-Revision: 802440dbf05cf9f3679214107d388995e574d2c9
2017-03-08 23:43:10 -08:00
projektir
485941d81f servo: Merge #15861 - Make text decoration testable and do not serialize initial text-decoration-style (from projektir:make-text-decoration-testable); r=Wafflespeanut
Servo now uses the same name for the text-decoration-line longhand property as Gecko. This was done to enable testing of the text-decoration shorthand.

The text-decoration shorthand has been fixed to not serialize initial text-decoration-style.

---

- [x ] `./mach build -d` does not report any errors
- [x ] `./mach test-tidy` does not report any errors
- [x ] These changes fix #15790

---

- [x ] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: dc3b32c853d51973cea98c235e7a9ab0bd00366e
2017-03-08 21:39:30 -08:00
Glenn Watson
66e05ef14d servo: Merge #15862 - Update WR (types updates, stacking context culling) (from glennw:update-wr-types); r=emilio
Source-Repo: https://github.com/servo/servo
Source-Revision: 28f871247c6461ccc8c254caba0d674ac4ddc545
2017-03-08 16:33:34 -08:00
Patrick Walton
206cddcc01 servo: Merge #15816 - Improve performance of layout queries and requestAnimationFrame (from servo:raf-timer); r=jdm,emilio
Part of #14442.

Source-Repo: https://github.com/servo/servo
Source-Revision: 72fd27bbccf9214cee11c78834ca1fbc96b3bf22
2017-03-05 05:14:45 -08:00
Glenn Watson
17177120e8 servo: Merge #15804 - Update WR (reference frames for fixed position elements) (from glennw:update-wr-transforms); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 0f6b5c3b521686f79a18da64364eed5a03262605
2017-03-02 17:02:26 -08:00
Fernando Jiménez Moreno
6a039a7293 servo: Merge #15768 - Trigger reflow on document.elementsFromPoint (from ferjm:issue-15592-document-elementsFromPoint); r=emilio
As [suggested](https://github.com/servo/servo/issues/15592#issuecomment-280379805) by @jdm `Document::nodes_from_point` now triggers a reflow.

I added a new reftest that panics with `ERROR:servo: Tried to hit test without a DisplayList` if this patch is not applied.

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15592.
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: fa32d50c7a2fc9cb29c7245dc45a46ed68551601
2017-03-02 11:43:17 -08:00
Anthony Ramine
4441c15e7f servo: Merge #15769 - Kill serde_codegen 💣 (from nox:die-codegen-die); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 74e7afa1c8a0a355e3964a15045840adf7488e78
2017-02-28 11:10:17 -08:00
Simon Sapin
7376e6c672 servo: Merge #15766 - Update cssparser (from servo:cssparserup); r=Manishearth
<!-- Please describe your changes on the following line: -->

https://github.com/servo/rust-cssparser/pull/123

In particular, `match_ignore_ascii_case` now supports the full `match` syntax.

---
<!-- 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 #__ (github issue number if applicable).

<!-- 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: fbfcfc2dbe838ef011f14a863003a575078f455f
2017-02-28 08:22:27 -08:00
Simon Sapin
81883fd8ac servo: Merge #15735 - Update cssparser to 0.11 (from servo:cssparserup); r=emilio
<!-- Please describe your changes on the following line: -->

<s>Depends on https://github.com/servo/rust-cssparser/pull/122.</s>

---
<!-- 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 #__ (github issue number if applicable).

<!-- 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: 94e563e4d9292d7b19ce061e070cda358e822172
2017-02-26 02:19:32 -08:00
Nazım Can Altınova
6a61187877 servo: Merge #15732 - Fix parsing of ClipRect (from canaltinova:clip-parse); r=Manishearth
<!-- Please describe your changes on the following line: -->
Fix parsing of ClipRect for clip property.

---
<!-- 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 #15728 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes

<!-- 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: bdd3608d453f30472f100ad661b1f3e855e258d2
2017-02-24 13:22:15 -08:00
Glenn Watson
550da4a99a servo: Merge #15700 - Introduce CSSPixel as a replacement for ViewportPx and PagePx (from glennw:zoom-wip-2); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 1d13e6a2df42af3cce427a0b2062ac70d28c05d0
2017-02-23 16:01:16 -08:00
Glenn Watson
9112c3dd7f servo: Merge #15697 - Add support for most of the border-image properties, pass to WR (from glennw:border-image); r=jdm,pcwalton
This adds support for:
 * border-image (images, not gradients yet)
 * border-image-source
 * border-image-slice
 * border-image-repeat (stretch + repeat only for now)

Remaining work:
 * Connect border-image-outset (WR supports this).
 * border-image-width

Source-Repo: https://github.com/servo/servo
Source-Revision: 6c9e94b1c07dd148430d175e79c595db82dea742
2017-02-23 13:40:40 -08:00
Josh Matthews
114db65a69 servo: Merge #14962 - Remove network requests from image cache thread (from jdm:image_script_load); r=Ms2ger,glennw,emilio
The design of initiating network requests from the image cache thread was simple, but it makes it difficult to implement image loading that conforms to the HTML specification. These changes make the implementation of HTMLImageElement responsible for network requests for `<img>` elements, and CSS-based images (background-image, bullets, etc.) are requested by the script thread to ensure that the layout thread does not attempt to retain unsafe pointers to DOM nodes during asynchronous operations.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #7708
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 854d720b21dda68034233a25385c4f2564a4a2d5
2017-02-22 17:50:48 -08:00
Glenn Watson
4e82444c38 servo: Merge #15681 - Update WR (inset box shadow fix, border-image support) (from glennw:update-wr-box-shadows); r=Wafflespeanut
I have a follow up PR for Servo that uses the new border-image
APIs, but I'll land that separately, so that we don't delay
landing the WR update itself.

Source-Repo: https://github.com/servo/servo
Source-Revision: 800a1fde3fbda5e20c23a530085688909e9b8417
2017-02-22 10:32:52 -08:00
Anthony Ramine
0b37b55252 servo: Merge #15670 - Kill the plugins crate and its clippy support (from nox:die-plugins-die); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 14bbe9d8729dece2d80bb651bca1c2eda13d0429
2017-02-21 05:15:15 -08:00
Anthony Ramine
c30a83618c servo: Merge #15588 - Update serde to 0.9 (from servo:serde); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 7f3a75fa804c0be67f1567ca4a2449cebefa9616
2017-02-18 12:10:26 -08:00
Anthony Ramine
80a412bacf servo: Merge #15537 - Update ipc-channel to 0.6.3 (from servo:webrender); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 4a0b730cafd09fbd6e5cbc00727caef9b3cae315
2017-02-16 03:53:49 -08:00
Simon Sapin
631a2da0c3 servo: Merge #15552 - Update cssparser to 0.9 (from servo:cssparserup); r=nox
<!-- Please describe your changes on the following line: -->

---
<!-- 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 #__ (github issue number if applicable).

<!-- 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: 216a89f7766dd366c4afbeae42cf6e1fb4f67349
2017-02-15 03:58:38 -08:00
Matt Brubeck
5564b87be8 servo: Merge #15549 - Update aho-corasick, backtrace-sys, image, parking_lot, pdqsort, syn, & others (from mbrubeck:always-be-updating); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 5a624ff9560338024c18ad0abf496fd78d5f6bb1
2017-02-14 13:17:24 -08:00
Emilio Cobos Álvarez
151fd070df servo: Merge #15518 - style: Unbox a bunch of color properties (from emilio:color); r=SimonSapin
This builds on https://github.com/servo/rust-cssparser/pull/118.

Source-Repo: https://github.com/servo/servo
Source-Revision: 357bf3b85a1b548ba012f95a97853b34035c89ab
2017-02-14 11:43:16 -08:00
Glenn Watson
8fde95c30f servo: Merge #15532 - Update WR (pixel snapping improvements) (from servo:webrender); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: d44bf6182f9fba80a95fd44097edbca714ec406e
2017-02-13 14:46:46 -08:00
Manish Goregaokar
0ec097871a servo: Merge #15463 - stylo: Implement a bunch of properties (from Manishearth:buncha-props); r=mbrubeck
r? @mbrubeck or @heycam

Source-Repo: https://github.com/servo/servo
Source-Revision: e985ad54229083e5e76b2862cec57ce4fef4433c
2017-02-09 15:51:29 -08:00
Pu Xingyu
783e14a14a servo: Merge #15469 - layout: Fix integer overflow when computing size of replace elements (from stshine:no-integer-overflow); r=emilio
<!-- Please describe your changes on the following line: -->

When calculating size of replaced element that has intrinsic aspect ratio, we need to multiply the ratio if one of the dimensions has definite size. And we can not precompute the ratio and store it as a float, because doing so may result one pixel difference in calculation for certain images, thus make some tests fail. So it may overflow when the dimension lengths are large, and this pull request convert them to `i64` before multiplication.

---
<!-- 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 #15249 (github issue number if applicable).

<!-- 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: 384391da680de3f73557dc721774326bbbf8ade7
2017-02-09 06:21:29 -08:00
Alberto Leal
16ee83bec3 servo: Merge #15357 - Refactor outline-style to accept "auto" value in addition to border-style values (from dashed:gh-15207); r=Wafflespeanut,emilio
Fixes https://github.com/servo/servo/issues/15207

Refactored as per https://github.com/servo/servo/issues/15207#issuecomment-275171590 .

<!-- Please describe your changes on the following line: -->

- [x] Correct refactor? I'd appreciate any feedback on this.
- [x] ~~~proper borderstyle value for `outline-style: auto;`?~~~ ~~~(EDIT: deferred to a `FIXME`)~~~ (EDIT2: it is now solid for behaviour parity with firefox)
- [x] squash pending PR review
- [x] mako code review

---
<!-- 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 #15207 (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes

<!-- 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: 368af6f8619804244a7d8ba4614f0b4950cfd9f1
2017-02-08 21:10:57 -08:00
Bobby Holley
3fcc873d0e servo: Merge #15462 - Accumulate parent elements that need selector bits set on the ThreadLocalStyleContext (from bholley:accumulate_selector_flags); r=emilio
Discussion and review in https://bugzilla.mozilla.org/show_bug.cgi?id=1336646

Source-Repo: https://github.com/servo/servo
Source-Revision: cbfd4464270f8690b90b9b96c395523a3a39e2de
2017-02-08 19:33:27 -08:00
Bobby Holley
127601ea2d servo: Merge #15447 - Move rust-selectors into servo/servo (from bholley:in_tree_selectors); r=SimonSapin
See the thread at [1].

[1] https://groups.google.com/d/msg/mozilla.dev.servo/iHykieVC5SM/Z31_n0agBAAJ

Source-Repo: https://github.com/servo/servo
Source-Revision: 8aec1ccdd22145df0ca7bb9456b40b3175fc5992
2017-02-08 16:06:06 -08:00
Anthony Ramine
f107d8a617 servo: Merge #15440 - Update selectors to 0.17 (from KiChjang:selectors); r=KiChjang
Closes #15434.

Source-Repo: https://github.com/servo/servo
Source-Revision: f7e75fd0012b9a063718f56e5aab093dde40d42f
2017-02-07 20:36:59 -08:00
Pu Xingyu
cb8a77c037 servo: Merge #15417 - layout: Remove cached thread local context from LayoutContext, and use LayoutContext for assign_inline_sizes() (from stshine:column-flexbox); r=emilio
<!-- Please describe your changes on the following line: -->

According to https://github.com/servo/servo/pull/3069 the cached thread local context is introduced for green threads. Now green threads has gone, and the existence of cache force us to create a `LayoutContext`, an `AssignISizes` and an `AssignBSizes` for each flow during parallel layout, so the pull request tries to remove it. And it also switch `assign_inline_sizes()` to accept a `LayoutContext` parameter, as according to my current design we need to do full layout to some flex items for column flexbox during assign isize traversal.

Part of #14123.

---
<!-- 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 #__ (github issue number if applicable).

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

<!-- 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: e2b494b1d08b8929ca7e5ae369304f41af81ace2
2017-02-07 17:16:05 -08:00
Glenn Watson
98ede13627 servo: Merge #15419 - Update WR (from glennw:update-wr-lots-of-stuff); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: bf814aa5badfde78b5b530d17fd821a321c40b1a
2017-02-06 23:19:54 -08:00
Glenn Watson
fd1982dd56 servo: Merge #15111 - Update WR (radial gradients, generate_frame API, mac subpixel improvements, ANGLE shader support) (from glennw:wr-update-generate); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 8421ae60774922e6b9ab9b1b562efce22916b200
2017-01-31 11:49:18 -08:00
Matt Brubeck
709833ce53 servo: Merge #15271 - Initialize block_container_inline_size for non-block root flows (from mbrubeck:root); r=notriddle
Fixes #14948. Fixes #14945.  Needs a try run.  r? @notriddle

Source-Repo: https://github.com/servo/servo
Source-Revision: fdf0833ec2dfc31e480670622066e61390069391
2017-01-28 19:18:53 -08:00
Matt Brubeck
3bbe9bee5b servo: Merge #15268 - Make text-orientation:sideways-right an alias for sideways in Gecko (from mbrubeck:sideways); r=upsuper
Fixes #15214. r? @upsuper

Source-Repo: https://github.com/servo/servo
Source-Revision: ec12b7665b5cf35b13932a7c17901ffb8e73b5ee
2017-01-28 17:24:47 -08:00
Emilio Cobos Álvarez
345002701a servo: Merge #15186 - Re revert the backed out PRs (from servo:re-revert); r=mbrubeck
r? anyone

Source-Repo: https://github.com/servo/servo
Source-Revision: 2b623fcc7a4319b217cd52d1049b228a9fcc165a
2017-01-25 02:36:15 -08:00
Matt Brubeck
565297b751 servo: Merge #15156 - WIP: Fix missing borders in tables with border-collapse (from mbrubeck:border-collapse); r=notriddle
This fixes a pair of bugs that caused some borders to be ignored by the border-collapse code. r? @notriddle

I haven't done a full test run with this change yet. After a `try` build I will update test expectations and/or add a new test.

---

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #14834 (github issue number if applicable).

- [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: 1b1557839ac9c9a4d037d9eae5e33ec262091fe1
2017-01-24 20:06:18 -08:00
Emilio Cobos Álvarez
db4c7f27cd servo: Merge #15160 - style: Expose the traversal kind to the style system (from emilio:expose-traversal-kind); r=bholley
This way we'll be able to take different paths for the sequential and parallel
traversals in some concrete cases.

This is a preliminar patch to fix bug 1332525.

r? @bholley

Source-Repo: https://github.com/servo/servo
Source-Revision: 1934a338757a84a6efddcbd3ecf051cd128a8d18
2017-01-24 17:02:41 -08:00
Matt Brubeck
d052c82d2e servo: Merge #15164 - Revert several changes that broke tests (from mbrubeck:revert); r=emilio
This is based on #15158 by @aneeshusa, with additional reverts.

This reverts #15064, which is causing many tests not to run, and #15129 and #15155 which landed while tests were not running and may have caused some new failures in iframe tests.

Source-Repo: https://github.com/servo/servo
Source-Revision: 185759f87a8dec88f5f65c49ac9df90b47014b19
2017-01-24 11:14:28 -08:00
Ms2ger
204506e936 servo: Merge #15154 - Update rustc to 1.16.0-nightly (7821a9b99 2017-01-23) (from servo:rustup); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 2ff42462154025b1aed97a825e3a171eaa156d9b
2017-01-24 06:11:40 -08:00
Gabriel Poesia
14c425a4f6 servo: Merge #13681 - Fix margin size calculation for TableWrapper (from gpoesia:master); r=mbrubeck
<!-- Please describe your changes on the following line: -->

Fixes inline size calculation for TableWrapper. The table's width was always reaching the inline size equation solver as a specified variable, which was causing the system to be overdetermined when there was a margin specified for the table, and this caused the overflow reported in #12748. The fix consists in handling three cases when the table's width is not specified: if the preferred size of all columns fits, it is returned; if the minimum size does not fit, it is returned instead (it will overflow), otherwise, it is returned as a free variable (that should be solved together with the margin to some value above the minimum width and below the preferred width).

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #12748
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: b0f91193fd4fbb86fc75fc593a6fdc40dc95bfcd
2017-01-23 08:55:44 -08:00
Nikhil Shagrithaya
80fdb031cc servo: Merge #15129 - Refactor to send iframe resize messages directly from layout thread to constellation (from cynicaldevil:iframe-resize); r=emilio
<!-- Please describe your changes on the following line: -->

---
<!-- 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 #14682.
<!-- Either: -->

r? @jdm
passing tests:
tests/wpt/mozilla/tests/css/matchMedia.html, tests/wpt/mozilla/tests/mozilla/window_resize_not_triggered_on_load.html, tests/wpt/mozilla/tests/mozilla/iframe/resize_after_load.html, tests/wpt/mozilla/tests/css/meta_viewport_resize.html

Source-Repo: https://github.com/servo/servo
Source-Revision: 7e2329ea4eb81f9153a64f63264ebb29d771e82d
2017-01-23 06:08:02 -08:00
Boris Chiou
67855888d8 servo: Merge #15150 - Update selectors to 0.15.1 (from BorisChiou:update_selectors); r=heycam
selectors 0.15.1 supports AFFECTED_BY_ANIMATIONS and
AFFECTED_BY_TRANSITIONS, which are used by stylo animations.

Reference:
https://bugzilla.mozilla.org/show_bug.cgi?id=1317209

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix Bug 1317209
- [X] These changes do not require tests because I only update the version, which only added two StyleRelations flags, and are not used yet

Source-Repo: https://github.com/servo/servo
Source-Revision: 0170138887005215b2b6e194d8765e33ff3a2657
2017-01-22 23:07:30 -08:00
Shing Lyu
d9a9c93daf servo: Merge #14978 - Implemented display: inline-flex (from shinglyu:inline-flex); r=notriddle
<!-- Please describe your changes on the following line: -->

---
<!-- 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 #14685 (github issue number if applicable).

<!-- Either: -->
- [x] There are tests for these changes
<!-- 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: c75946c3ed52d262aae585055023becd5a2e9769
2017-01-22 19:57:49 -08:00
Permutator
e755456160 servo: Merge #14839 - Make offset parent queries less buggy (from Permutatrix:iss-12939); r=emilio
<!-- Please describe your changes on the following line: -->
Offset parent queries, which are used in the getters for HTMLElement's `offsetParent`, `offsetTop`, `offsetLeft`, `offsetWidth`, and `offsetHeight`, are pretty busted. The most egregious bug is that, as reported in #12939, inline elements are treated as if they're not present in the document. This PR fixes that and all of the other bugs I could trace directly to the offset parent query code, but `offsetTop` and `offsetLeft` are still unreliable in certain circumstances for reasons I haven't looked into (#13708). Inline elements with no content are still treated as not present due to #13982, so #13944 isn't fixed with this PR, either.

---
<!-- 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 #12939 and fix #12595

<!-- Either: -->
- [X] There are tests for these changes

<!-- 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: b08d4a7d395e41a344085d4cf79801c62019c976
2017-01-18 10:03:37 -08:00
Emilio Cobos Álvarez
9b5436c002 servo: Merge #15053 - Return the intrinsic image dimension when the image is not rendered (from emilio:image-width); r=jdm
See individual commits for details.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: ba59ee662752891f9f9b452c1f4b847fad9f64ac
2017-01-18 08:43:19 -08:00
Martin Robinson
86c12eea0f servo: Merge #14979 - Only create scrolling overflow regions when necessary (from mrobinson:scroll-roots-when-necessary); r=emilio
Only create scroll roots for overflow regions when the overflow region
is actually larger than the container size. This prevents creating
scrolling roots for elements that do not have overflow scroll as a
side-effect of the way their height and width is defined. For example,
tables should never respect overflow:scroll since their height and
width should always be large enough to prevent overflow. This also
decreases the size and complexity of the display list in many other
circumstances.

As part of this change, transformed overflow calculation is moved from
display list construction to layout. This should mean that overflow is
handled more accurately earlier.

Fixes #14574.

<!-- Please describe your changes on the following line: -->

---
<!-- 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 #14574 (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: 3ab514302f964a76938b8c87b4f27edb00d0f537
2017-01-17 07:18:42 -08:00
Florian Merz
006e6e9d58 servo: Merge #15047 - gfx: Don't mutate the same point multiple times while translating it … (from emilio:click-regression); r=notriddle,emilio
…to other stacking context space.

I don't know how neither review or a test caught this.

r? @pcwalton  or @notriddle

Fixes #15015

Source-Repo: https://github.com/servo/servo
Source-Revision: a4551d0ceea8f2aceb68775452ea3010760f2825
2017-01-16 15:46:05 -08:00
Michael Howell
491b34e105 servo: Merge #14989 - Fix the incrmental reflow behavior of text-overflow (from notriddle:ellipsis_reflow); r=emilio
This patch allows Servo to incrementally reflow truncated fragments correctly.

* The untruncated version of a fragment is preserved, and when incrementally reflowing, the untruncated version is what gets reflowed. If it needs truncated, it will get truncated again.
* The ellipsis fragments are skipped when incrementally reflowing a line. If it is still needed, it will be recreated.

---

- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #14952
- [X] There are tests for these changes OR

Source-Repo: https://github.com/servo/servo
Source-Revision: 6a04aea4a5a0da583e8cc7fc0f76c9bfea857538
2017-01-12 17:31:19 -08:00
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
Ms2ger
dd6467e278 servo: Merge #14938 - Various cleanup around gfx_traits (from servo:gfx-traits); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: f674a9db8b7164dae667875c5cf19b3aabb18ef2
2017-01-10 07:02:23 -08:00