This refs #3735. As discussed in the issue, I did it cloning when I couldn't dereference an attribute. The trait method should be on `&self` for object-safety reasons.
Source-Repo: https://github.com/servo/servo
Source-Revision: 194ce20969f04bf2d077ebed106fc1bfb5eb32ee
Implementation of #4432 adding `getPropertyPriority` to CSSStyleDeclaration. This is my first attempt at a Servo PR so I'm sure I've done something wrong. Let me know, and I'll fix it up.
As stated in #4432 tests for this are in #4085. If there are additional tests I can write now I would love to do that, I'm just not sure where or what those would be.
Source-Repo: https://github.com/servo/servo
Source-Revision: 7b7fe964d328362126a8a56ff463d48f3285391f
Changed fn_wrap argument in reflect_dom_object() and reflect_node() to pass GlobalRef by value rather than by reference. Fixes#4165
Source-Repo: https://github.com/servo/servo
Source-Revision: a773bd5c4568f2f33855f9cfe04b4301038429f7
We still will need a lint to ban any further uses, but that can be a followup.
Source-Repo: https://github.com/servo/servo
Source-Revision: c17d5330af88eb919195ac39d7795548f6683541
The name of the method makes it clear it's supposed to be used with a target
override, so we might as well enforce that.
Source-Repo: https://github.com/servo/servo
Source-Revision: 11b27361c9f6af08ed78fa1a3fe58732b4c69cd4
Without this, facebook.com pages (with their custom module loading system and React.js) silently fail to make progress loading content, forever waiting on load events on the initial set of `<script>` elements.
Source-Repo: https://github.com/servo/servo
Source-Revision: 7317518c173ef61384e29c1bdfa7052acaf27f8d
This does not implement any notion of CSSStyleDeclaration objects that do not have an owning element; there's no actual CSS object model in play here. This does support setting and getting properties of the style attribute for HTMLElement, and tries to implement the ambiguous CSS value serialization spec.
Source-Repo: https://github.com/servo/servo
Source-Revision: 824788649cd338c044d9396166af5b0f378d6685
I tested that it worked correctly by using running './mach run tests/html/test_timeout.html' and making sure the timers went off.
Source-Repo: https://github.com/servo/servo
Source-Revision: 7df37847d3a0a02da6917c669fe62a5e4af7efcd
For https://github.com/servo/servo/issues/4362. This is a simple fix that avoids redesigning task_state. This doesn't track nesting depth, but it wasn't clear what would use the nesting depth if we tracked it. Maybe this is enough.
Source-Repo: https://github.com/servo/servo
Source-Revision: 59b9d14ca44d96b90fa812c1dfff6904c9b38dc2
We can reset `<input type=text>` fields! I wish I could've done something with checkboxes, but unfortunately, that's it for now.
In addition to that, this PR implements `HTMLInputAttribute.defaultValue`, updates wpt-test to expect passing tests as a result of that implementation, and fixes an index error crash with text inputs.
edit: also includes an html example where one may lazily watch form resets in action: ` tests/html/form_reset_handsfree.html`
Source-Repo: https://github.com/servo/servo
Source-Revision: 5951056973fc0e08e70224214740a274ca8ef20f
...with a bit of a caveat: sizing has the same problem as seen in #4378, and it is _significantly_ more noticeable when using `rows`.
Fixes#4291
Source-Repo: https://github.com/servo/servo
Source-Revision: fcaa45fb675bdf3fede3b50a9d212adda1dc2b4f
If we added a "readonly attribute Uint8ClampedArray arrayAttribute" in a webidl, codegen created the binding method like this: "fn ArrayAttribute(self) -> * mut JSObject;" but called it with a "*mut JSContext" parameter.
Source-Repo: https://github.com/servo/servo
Source-Revision: 38a4e71502f3b668ff322d9047af7ec8892312d3
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
This fixes race conditions whereby layout and script could be running
simultaneously.
r? @jdm
cc @cgaebel
Source-Repo: https://github.com/servo/servo
Source-Revision: 5f2684d2f81046abd7548fb22d996d1e506a104a
I think this matches the intent of the issue, I'm a rust/servo novice; any suggestions for improvements are welcome. Thanks!
Source-Repo: https://github.com/servo/servo
Source-Revision: 2615be9bab984c8356bc053f90452d6f9fdaa241
@glennw, is it possible to rebase your stuff on top of this? Sorry for the mess.
r? @metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: ba06d50e3a611d1c27c6c9aa0b21441282911c3f
Let's build this incrementally. I implemented a `Blob` that can hold a `DOMString`, and has `size` attribute and `slice(...)` method. I'll finish the rest in later PRs.
Source-Repo: https://github.com/servo/servo
Source-Revision: d2a67abea9f6acd7b0ea29a852bf5029aef3f405
When inserting a node that was already dirtied, the dirtying logic
would short circuit: "This node is already dirty? Great! Then its
parents must be HAS_DIRTY_DESCENDANTS, too! Let's skip that step."
This isn't appropriate when nodes move around the tree. In that case,
the node may be marked HAS_CHANGED, but ancestors may not yet have
the HAS_DIRTY_DESCENDANTS flag set.
This patch adds a `content_and_heritage_changed` hook in the document,
to deal with these cases appropriately.
Source-Repo: https://github.com/servo/servo
Source-Revision: 5c506f7a98368020c7936517f1d8e243c9556937
#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
Still need to impl `Activatable` on all activatable elements. I'll probably push those changes to this PR, however they can be made separately as well.
Source-Repo: https://github.com/servo/servo
Source-Revision: 19c69b1625dda46d3c5501292e7e2d0328e400b4