| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Fix some is_in_doc -> is_connected mistakes
|
| |
|
| |
|
| |
|
|
|
|
| |
We can replace all uses of RootedReference for Option<T> by Option::deref calls.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This came out of a conversation with nox in IRC:
https://mozilla.logbot.info/servo/20171201#c13946454-c13946594
The code I was working on which motivated this change is here:
https://github.com/servo/servo/pull/19461
Previously, InputType::Text was used to represent several different
values of the type attribute on an input element.
If an input element doesn't have a type attribute, or its type attribute
doesn't contain a recognised value, then the input's type defaults to
"text".
Before this change, there were a number of checks in the code which
directly looked at the type attribute. If those checks matched against
the value "text", then they were potentially buggy, since an input with
type=invalid should also behave like an input with type=text.
Rather than have every conditional which cares about the input type also
have to deal with invalid input types, we can convert the type attribute
to an InputType enum once, and then match against the enum.
A secondary benefit is that the compiler can tell us whether we've
missed branches in a match expression. While working on this I
discovered that the HTMLInputElement::value_mode() method misses a case
for inputs with type=hidden (this resulted in a failing WPT test
passing).
I've also implemented the Default trait for InputType, so we now only
have one place in the code which knows that InputType::Text is the
default, where previously there were several.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Created test file
Added the stub methods for itemprop and itemscope
Resolved html5ever dependency, added ItemScope and ItemProp attr
Resolving dependency
Added pref override on metadata attributes
Resetting to original state due to change in requirement
Reverted adding attributes
1. add a customized implementation of parse_plain_attribute
2. add the following methods to HTMLElement.webidl
added itemprop and itemtype, enabled pref in test
Added initial implementation for getting itemprop property values
Adding the wireframe for testing
Implemented function to handle itemType
Corrected typo
Fixed typo bug in code
Handling duplicates for itemtype attribute values
Added the test suite structure
Added test for extra space
Added test for regular test values
Added test cases for Single property values
Test cases to check absence of itemtype and itemprop attributes
Added code to handle absence of itemtype or itemprop attributes
Added shell script to run all test cases
cleared up Cargo file
Tidying up
Removed the local test file
Removed new line for test-tidy
Ordered key in prefs.json
Fixes for test-tidy
Enabled test preferences
Created test using wpt
Creating WPT Tests for Regular and Single Prop Types
Fixed the Regular type test
Fixed tests
Removed old test case metadata
Incorporate review changes from PR
Updated MANIFEST to sync test cases
Making changed suggested in review
Removed editor folding
Removed unnecessary code
Resolving cargo conflicts
Updated PropertyNames and itemtypes implementation
Trying different data in test case
Updated manifest
Updated code based on reviews
|
| |
|
|
|
|
|
|
| |
failures, e.g. in layout/reftests/bugs/392435-1.html. r=backout on a CLOSED TREE
Backs out https://github.com/servo/servo/pull/18809
|
|
|
|
|
| |
It still needs dependencies update to remove all the other bitflags
versions.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
http://www.robohornet.org gives a score of 101.36 on master,
and 102.68 with this PR. The latter is slightly better,
but probably within noise level.
So it looks like this PR does not affect DOM performance.
This is expected since `Box::new` is defined as:
```rust
impl<T> Box<T> {
#[inline(always)]
pub fn new(x: T) -> Box<T> {
box x
}
}
```
With inlining, it should compile to the same as box syntax.
|
| |
|
|
|
|
|
|
|
| |
In a later PR, DomRoot<T> will become a type alias of Root<Dom<T>>,
where Root<T> will be able to handle all the things that need to be
rooted that have a stable traceable address that doesn't move for the
whole lifetime of the root. Stay tuned.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\ |
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
It could be used to have mutable JSVal fields without GC barriers.
With the removal of that trait, MutHeap and MutNullableHeap can respectively
be replaced by MutJS and MutNullableJS.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This entirely removes the 'non-geckolib' feature of the util crate.
|
|
|
|
|
|
|
|
|
|
| |
Adding:
* global event handlers,
* window event handlers,
* document and element handlers,
* and support for BeforeUnloadEvent.
Signed-off-by: Piotr Stankiewicz <bionicrift@gmail.com>
|
|
|
|
| |
https://github.com/rust-lang/rust/pull/33593 made them useless.
|
|
|
|
| |
This fixes #11185.
|