Commit Graph

168 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
32bca467e0 servo: Merge #9567 - style: Make the whole style crate independent of the implementation (from emilio:general-pseudo-element-parsing); r=bholley,SimonSapin
This allows, among other things, having different implementations for parsing pseudo{elements, classes} in both `ports/geckolib` and in servo.

Source-Repo: https://github.com/servo/servo
Source-Revision: c11844cbf28054784c8d65781cff20045d8ee48b
2016-02-14 03:29:59 +05:00
Emilio Cobos Álvarez
3a8bc8c62b servo: Merge #9510 - Update rust-selectors (from nox:bump-selectors); r=SimonSapin
This commits updates rust-selectors to use the generic parser, and as
such it moves the element state into the style crate.

Source-Repo: https://github.com/servo/servo
Source-Revision: ae20f2556bc7807b39b6649ac1f738644abcc26a
2016-02-03 06:34:11 +05:00
Simon Sapin
12550c8084 servo: Merge #9170 - Add CSS Multicolumn support with block fragmentation (from SimonSapin:multicol2); r=mbrubeck
![a](https://cloud.githubusercontent.com/assets/291359/12147538/bfb198ac-b499-11e5-9936-c54c93d0b1ed.png)

Includes/supersedes #8763.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 5e1f0495a922c5dddbc120f17ba5c933973537ed
2016-01-30 00:19:14 +05:00
Bobby Holley
f46070821b servo: Merge #9284 - Add Partial Implementation of style DOM traits for Gecko, and some basic glue to let Gecko call into Servo (from bholley:bootstrap_stylo); r=SimonSapin
The wrapper stuff is partially-complete, modulo some unimplemented methods. The glue code is just a toy for now. Regardless, I think it's worth getting some of this stuff in-tree to minimize breakage.

Source-Repo: https://github.com/servo/servo
Source-Revision: 77d3fbcca3c6f7e8b4068f89e25b090977fe5672
2016-01-19 13:49:10 +05:00
Manish Goregaokar
a2398b7ad6 servo: Merge #8983 - Various textinput fixes (from Manishearth:cursors); r=jdm
- Currently the cursor sticks around if you click elsewhere. Now the text inputs are relayout-ed on blur.
 - Currently whitespace gets collapsed in text input (https://github.com/servo/servo/issues/8772). Not anymore.

Source-Repo: https://github.com/servo/servo
Source-Revision: 099beee85c02d391b854dc5e06da34f89df8b760
2016-01-11 22:51:03 +05:00
rohan.prinja
c098aafd20 servo: Merge #9201 - task -> thread (from ajnirp:8512-task-thread); r=jdm
for #8512

Source-Repo: https://github.com/servo/servo
Source-Revision: d3e2f94f2024f4735f836588ed11303a0abafdf8
2016-01-10 15:19:04 +05:00
Bobby Holley
879100fe6a servo: Merge #9176 - Hoist traversal code into style/ (from bholley:hoist_traversal); r=SimonSapin
This should be the last major hoisting necessary to use the style system standalone. \o/

Source-Repo: https://github.com/servo/servo
Source-Revision: ddc3b7942eea8328e9eb22d864d34fce572d5535
2016-01-08 13:27:39 +05:00
Bobby Holley
aeebf9d35c servo: Merge #9110 - Hoist the rest of css/matching.rs (and its dependencies) into style/ (from bholley:hoist_matching_and_animation); r=SimonSapin
Slowly but surely.

This goes on top of #9103.

Fixes #9103.

Source-Repo: https://github.com/servo/servo
Source-Revision: f3075d13191df9b9c7858b324122872d057fbe4d
2016-01-04 23:04:35 +05:00
Johannes Linke
bb6c128359 servo: Merge #9123 - Fix a bunch of clippy lints (from karyon:clippy_cleanup); r=Manishearth
This fixes about 130 clippy lints. Let me know if i should split up the commit.

I wasn't sure about some of the changes, especially map_or instead of map(...).unwrap_or(...) and if let instead of single arm match were not always a strict improvement in my opinion, but i'll leave that decision to the reviewer :)

There are about 150 lints left which i thought were clippy bugs or i didn't know how to fix.

cc @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: 9da739acefc7d1776bf727c8bf782eb79f241028
2016-01-03 08:46:34 +05:00
Bobby Holley
1e98f94139 servo: Merge #9051 - Split layout wrappers into style+layout and layout-only functionality (from bholley:split_style_and_layout_wrappers); r=SimonSapin
This is a step towards removing the dependency of stylo on layout/.

This PR depends on #9004.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0f5c614609fd8867a9e7c27b8a398ea7d877c714
2015-12-30 09:34:14 +05:00
Bobby Holley
1708123d1e servo: Merge #9004 - Stylo uplifts Part 1 (from bholley:stylo_uplifts_1); r=pcwalton
@pcwalton indicated his approval for landing stuff for the servo/gecko layout integration into the tree, which will improve maintainability for that effort. Here's an initial batch.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9412e71460990f40ea7f9706fd79fbcd4eb0670a
2015-12-24 01:01:57 +05:00
Simon Sapin
1082118bc3 servo: Merge #8800 - Fix warnings (from servo:warnings); r=metajack
Fixing unused attributes warnings required updating serde_macros
which required updating to rustc 1.6.0-nightly (a2866e387 2015-11-30)
which required updating some other dependencies.

Fix #8709.

Source-Repo: https://github.com/servo/servo
Source-Revision: 32b90cdb6ff8f24dfd93aa44c2bae9c4f15429e0
2015-12-04 05:07:38 +05:00
Bobby Holley
66941d5e4e servo: Merge #8669 - Generalize layout to operate on arbitrary DOMs (from bholley:generalize_layout); r=pcwalton
This gets us to where we need to be in order to write a Gecko implementation of the layout wrapper and have things Just Work.

Note that this is somewhat more than we need for just running the style system. But there wasn't a clean place to cut, and I thought it was a good idea to just do a complete job on it now, which may save us effort and mismatches in the long run.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1f732cfbb404bfd96c3ed3f71c4b9900b7ffbba2
2015-11-29 07:17:33 +05:00
Guillaume Gomez
ffbd83be65 servo: Merge #8675 - Add XMLDocument object (from GuillaumeGomez:master); r=nox
Fixes #8000

(Still working on it)

Source-Repo: https://github.com/servo/servo
Source-Revision: 99223656fbf6cade8c41d161a9e61a39f58ec796
2015-11-27 18:59:04 +05:00
Alan Jeffrey
4d3e2c8d46 servo: Merge #8667 - Update string cache (from asajeffrey:update-string-cache); r=SimonSapin
Updated string_cache to 0.2, and updated the dependencies that depend on string_cache.
Removed references to string_cache_plugin.
Import atom! and ns! from string_cache.
Replaced ns!("") by ns!().
Replaced ns!(XML) and co by ns!(xml) and co.
Replaced Atom::from_slice by Atom::from.
Replaced atom.as_slice() by &*atom.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 188fa9378c103093f1f8dac24bff0d9d237fd2bc
2015-11-25 23:40:39 +05:00
Bobby Holley
7d48bad82e servo: Merge #8639 - Use associated types for layout wrapper trait, and generalized ThreadSafeLayoutFoo (from bholley:generalize_wrappers2); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 711f516d80c9c0026744cd373d398dc294f14d2a
2015-11-24 03:31:32 +05:00
Keith Yeung
7168fee94c servo: Merge #8542 - Extend whitespace::T with additional helper methods (from KiChjang:style-whitespace-methods); r=SimonSapin
Fixes #8128.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6449cd09ebd7f7e3545039c26bcbe9a6ca7a5621
2015-11-23 23:09:07 +05:00
Bobby Holley
2cea5b2deb servo: Merge #8595 - Generalize the layout wrapper layer (from bholley:generalize_wrappers); r=pcwalton
There's still more refactoring to do, but this is the core stuff that's most likely to bitrot.

Source-Repo: https://github.com/servo/servo
Source-Revision: a5babb89a02b9b84a8cd62554a5ceef9efb0d481
2015-11-19 06:42:40 +05:00
Ms2ger
925f3d6d8f servo: Merge #8562 - Stop exposing the internal details of the layout crate (from Ms2ger:private-layout); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 2be0cb7827c6553b7dfa4d641bf3a1c72372ad3b
2015-11-18 19:03:36 +05:00
Ms2ger
3234e3c345 servo: Merge #8549 - Privatize from_layout_js functions (from Ms2ger:privatize); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: cedaac8dbe44e23b7bb7335c470e9e48ee1e6139
2015-11-17 13:41:22 +05:00
Ms2ger
1535f2b370 servo: Merge #8533 - Remove the legacy module (from Ms2ger:legacy); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: b6f519cd0a9bdec909dcc5498f36f33e05f1115a
2015-11-15 18:43:13 +05:00
Alan Jeffrey
128ce4b968 servo: Merge #8477 - Opaque DOMString (from asajeffrey:opaque-domstring); r=asajeffrey
This patch makes DOMString an opaque wrapper round String (currently it's a transparent wrapper).

The changes are:

* Replacing DOMString(foo) by DOMString::from(foo).
* Replacing foo.0 by String::from(foo).
* Adding functions clear, push_str and extend for in-place mutation of DOMStrings.
* Replacing DOMString by String in other threads (devtools, storage and filereader).
* Making DOMString implement !Send.
* Removing the pub attribute from the contents of DOMString.

This enables experimenting with other string representations in the DOM.

Source-Repo: https://github.com/servo/servo
Source-Revision: 62acdd303b78951885c2c90747b31f318907d6c9
2015-11-13 06:47:30 +05:00
Bobby Holley
7f2310076d servo: Merge #8381 - Implement attribute restyle hints (from bholley:attr_restyle_hints); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 13226f847234cd0130820338d5a272277780d278
2015-11-11 00:57:45 +05:00
Bobby Holley
cd9a09c9f2 servo: Merge #8341 - Fix restyle hints to handle non-last psuedo-selectors, and track pristine state values rather than changesets (from bholley:state_hint_selector_ordering); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 65c3185b202b8dd57a39e1d84872d7528723b191
2015-11-07 09:23:19 +05:00
Ms2ger
9ee6885f3c servo: Merge #8312 - Make DOMString a newtype around String, rather than a typedef (from Ms2ger:DOMString); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: abfd1fb1bf071961bc8a581927eaa96a2d3e2cba
2015-11-04 16:17:41 +05:00
Florian Merz
047f235393 servo: Merge #8265 - add get_raw_layout_value (HTMLInputElementHelpers) (from fiji-flo:password_caret); r=eefriedman
This resolves #8107
Previously the index of the insetion point for a password input was
calculated using the scrambled string based on the edit point in the
raw string. That could lead to a wrong position of the caret. This
commit changes this behavior to calculate the insertion point using
the raw string.

Source-Repo: https://github.com/servo/servo
Source-Revision: e91169c0e2cfe37b1a2d0feb3aab50b72c816ffc
2015-11-04 04:59:59 +05:00
rohan.prinja
f3c30d6ffd servo: Merge #8221 - move modules around (from ajnirp:8130-reorganise); r=jdm
for #8130

Source-Repo: https://github.com/servo/servo
Source-Revision: daad09d44245228fba9118316937add71bec7c58
2015-11-04 02:26:02 +05:00
Bobby Holley
98c061bcf2 servo: Merge #8274 - Implement state-based restyle hints (from bholley:state_restyle_hints); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 959ae86bd0435bf67626d3203a220c0e9f2eea40
2015-11-01 06:53:51 +05:00
Bobby Holley
6797370361 servo: Merge #8162 - Centralize event states in rust-selectors (from bholley:centralize_event_states); r=pcwalton
This still needs a rev bump on rust-selectors once https://github.com/servo/rust-selectors/pull/55 gets merged.

Source-Repo: https://github.com/servo/servo
Source-Revision: 521a87180a85709f8f704df33537f79bd131bf71
2015-10-31 09:35:45 +05:00
Ms2ger
c04ea9dd54 servo: Merge #8187 - Introduce a Layoutnode::new function and use it (from Ms2ger:layoutnode-new); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 6cc8186481110370205e7979f3942ad005889a30
2015-10-30 13:13:17 +05:00
Ms2ger
6ed05f9ab7 servo: Merge #8212 - Remove SharedLayoutContext::reflow_root (from Ms2ger:reflow-root); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: b6bcccb204f710665482fa8098084a30126a3bac
2015-10-30 04:52:54 +05:00
Bobby Holley
3eb79a9936 servo: Merge #8098 - Track event state changes on Document and do the dirtying from layout (from bholley:dirty_from_layout); r=jdm
This is a first step in fixing #6942.

Source-Repo: https://github.com/servo/servo
Source-Revision: 285e29c06637f31a8b8a27c2e454468717924ebd
2015-10-28 23:54:53 +05:00
Ms2ger
ccda8b6546 servo: Merge #8208 - Return a LayoutNode with a limited lifetime from layout_node_from_unsafe_layout_node (fixes #3044) (from Ms2ger:lnfuln); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: f6e3146de248554607790108680a43844dff70bf
2015-10-26 11:08:33 -05:00
Ms2ger
36eb09bc8e servo: Merge #8206 - Cleanup layout interaction with canvas elements (from Ms2ger:dlb-canvas); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 2091aafcfb32dffba836fde2ccddf4a183e88302
2015-10-26 10:27:47 -05:00
Florian Merz
63e894a766 servo: Merge #7761 - display input caret for textarea. fixes #7758 (from fiji-flo:input_caret); r=pcwalton
This adds the input caret for textareas. Although, it does not handle multiline textareas correctly. The caret gets displayed for each line.

I'll look into that but that will take more time. Some feedback on this small patch would be appreciated though.

Source-Repo: https://github.com/servo/servo
Source-Revision: af6a64e176ec66a9c066e9e7bf40b6ce3ac77b2e
2015-10-21 15:23:52 -06:00
Bobby Holley
72a62272be servo: Merge #8042 - Remove HAS_DIRTY_SIBLINGS (from bholley:dirty_siblings); r=pcwalton
This isn't doing anything right now, and we're not even setting it properly
in dirty_impl the |dirty_subtree(self)| was causing us to hit the skip case
for step 3.

Source-Repo: https://github.com/servo/servo
Source-Revision: 50ec2353845bf2a3971d5b01db37d2c3741d3912
2015-10-21 12:18:02 -06:00
Anthony Ramine
db09beb657 servo: Merge #8041 - Introduce trait Castable (from nox:castable); r=jdm
Removes all those messy FooCast structures in InheritTypes.rs.

Source-Repo: https://github.com/servo/servo
Source-Revision: 674589c370d978f543e71f995d58c5b28e6e9842
2015-10-21 07:57:32 -06:00
Eli Friedman
2f22bda6d3 servo: Merge #7951 - Add support for pre-wrap and pre-line values for white-space (from eefriedman:white-space); r=pcwalton
This is mostly straightforward.  I had to modify a couple of places
which were accidentally discarding whitespace.

Fixes #1513.

This fixes some relevant tests from the CSS testsuite... but a lot of
them are either manual, or don't pass because of unrelated issues.  (For
example, white-space-mixed-002 renders correctly, but
white-space-mixed-002-ref doesn't because of a float bug.)

I'd appreciate any suggestions for how to go about adding tests for this.

Source-Repo: https://github.com/servo/servo
Source-Revision: c3ab71109ee2ffcc31b40890f4c6739d8f5b1333
2015-10-20 12:38:54 -06:00
Dongie Agnir
45705ab377 servo: Merge #8092 - Remove unused import (from dagnir:remove-unused-import); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: 511e3c1846a0138bf8e278d06d36917b16e140ab
2015-10-19 20:48:45 -06:00
Roman Klauke
a417af8f1e servo: Merge #8071 - remove unused methods from ThreadSafeLayoutNode (from romankl:gh/8063); r=nox
`get_input_size ` and `get_input_value ` aren't used in the codebase.

Ref.-Issue: #8063

Source-Repo: https://github.com/servo/servo
Source-Revision: 50ad1b064d6e85e84707d83ca8f4b5b541b6b8da
2015-10-19 04:32:34 -06:00
Bobby Holley
786aa62a34 servo: Merge #7935 - Move event state from Node to Element (from bholley:eventstate_element); r=nox
Just getting my feet wet with Rust here. Please feel free to nit the hell out of it stylistically and idiomatically. :-)

Source-Repo: https://github.com/servo/servo
Source-Revision: ff2151b8bbc62fa29c90a429b7a4f12520420b6e
2015-10-19 02:47:21 -06:00
Anthony Ramine
c60f627416 servo: Merge #7873 - Generate the various TypeId enums in codegen (from nox:codegen-typeid); r=Ms2ger
This frees us forever from caring about maintaining these enums. The last commit removes their use from the initialisation of interface objects derived from Node.

Source-Repo: https://github.com/servo/servo
Source-Revision: 32daa17d5cbcad02db0713e21e52410cdc60480e
2015-10-14 12:47:48 -06:00
Ms2ger
f2ef492220 servo: Merge #7925 - Implement HTMLIFrameElement::pipeline_id on LayoutJS<HTMLIFrameElement> (from Ms2ger:iframe-pipeline-layout); r=glennw
Source-Repo: https://github.com/servo/servo
Source-Revision: 12139f73ef0be864bac00dc106832a9f45634cb2
2015-10-09 09:49:08 -06:00
Glenn Watson
04c72d8ebd servo: Merge #7899 - Remove constellation round trip for subpage mapping in compositor (from glennw:subpage-fixes-1); r=pcwalton
This makes use of the new functionality that allows iframes to generate their own pipeline IDs in order to remove any knowledge of subpage ids from the compositor.

(This is the first of several commits removing subpage from parts of servo).

Source-Repo: https://github.com/servo/servo
Source-Revision: 1d617f332edd0036ca4cbc3890f1f44f57597906
2015-10-07 18:36:35 -06:00
Ms2ger
6d5ec453b8 servo: Merge #7867 - Move some methods from RawLayoutElementHelpers to LayoutElementHelpers (from Ms2ger:layoutjs); r=nox
This is part of a long-term plan to ensure layout never has access to
unwrapped pointers to DOM objects. The remaining methods on the
RawLayoutElementHelpers trait are harder to move, because of the lifetimes in
their signatures.

Source-Repo: https://github.com/servo/servo
Source-Revision: a350b215cc3e943985a66f1485c7eac7f4b9832e
2015-10-05 08:19:21 -06:00
Jacob Parker
99eb627e10 servo: Merge #7764 - Only display text carets in text inputs (from j3parker:input-caret-only-for-text); r=pcwalton
For #7756

Source-Repo: https://github.com/servo/servo
Source-Revision: 0c64e4a2c98cbf5e7b95dbea31c2e6993b70472c
2015-09-29 14:13:32 -06:00
Ravi Shankar
62e8ea2732 servo: Merge #7698 - sorted the declarations in various files (from Wafflespeanut:sorting); r=frewsxcv
This is a direct extract from my abandoned PR for a lint (#7546), along with some rather clumsy modifications (only on `components/script/dom/mod.rs` and `components/style/lib.rs`), because I had to sort some of the files again to make peace with tidy, which hasn't been educated about sorting yet!

Source-Repo: https://github.com/servo/servo
Source-Revision: a7208869f2903e36f9b2f540b55b50283d7df466
2015-09-23 15:02:56 -06:00
Ali Sabil
651a741974 servo: Merge #7611 - Cache the id attribute on Element (from nox:cache-element-id); r=frewsxcv
Thanks to @asabil for the original work, I only rebased it.

Fixes #6359 and #7040.

Source-Repo: https://github.com/servo/servo
Source-Revision: d1269294e6c602c91012397c7584e3c2077e21ac
2015-09-20 09:23:20 -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
Patrick Walton
be100864a1 servo: Merge #7644 - layout: Draw the insertion point in input elements (from pcwalton:carrot); r=mbrubeck
Known issues:

* The caret doesn't show up if there's no text present, because we don't create text runs in that case. This should be a followup.

* Text runs don't support decomposing ligatures into their constituent subglyphs for advance computation, so the caret won't appear inside a ligature. This is a text run bug.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 6cd098da302db85975d0967ddee836f04eae3bd5
2015-09-17 05:50:41 -06:00