Anthony Ramine
c831c2c0a5
Remove helper traits
...
Now that JSRef<T> is gone, there is no need to have helper traits.
On components/script/*.rs:
# Remove imports.
/^ *use dom::[a-z]+::\{.*Helpers/ {
s/\{(Raw[^L]|[^L][^a])[a-zA-Z]+Helpers, /\{/
s/, (Raw[^L]|[^L][^a])[a-zA-Z]+Helpers([,}])/\2/g
s/\{([a-zA-Z]+)\}/\1/
/\{\}/d
s/::self;$/;/
}
/^ *use dom::[a-z]+::\{?(Raw[^L]|[^L][^a])[a-zA-Z]+Helpers\}?;$/d
On components/script/dom/*.rs:
# Ignore layout things.
/^(pub )?(impl|trait).*Layout.* \{/,/^}$/ { P; D; }
# Delete helpers traits.
/^(pub )?trait ([^L][^ ]|L[^a])[^ ]+Helpers(<'a>)? \{$/,/^\}$/D
# Patch private helpers.
/^impl.*Private.*Helpers/,/^\}$/ {
s/^impl<'a> Private([^L][^ ]|L[^a])[^ ]+Helpers(<'a>)? for &'a ([^ ]+) \{$/impl \3 {/
/^ *(unsafe )?fn .*\(self.*[<&]'a/ {
s/&'a /\&/g
s/<'a, /</g
}
/^ *(unsafe )?fn /s/\(self([,)])/\(\&self\1/
}
# Patch public helpers.
/^impl.*Helpers/,/^\}$/ {
s/^impl(<'a>)? ([^L][^ ]|L[^a])[^ ]+Helpers(<'a>)? for (&'a )?([^ ]+) \{$/impl \5 {/
/^ *(unsafe )?fn .*\(self.*[<&]'a/ {
s/&'a /\&/g
s/<'a, /</g
}
/^ *(unsafe )?fn .*\(&?self[,)]/s/(unsafe )?fn/pub &/
/^ *pub (unsafe )?fn /s/\(self([,)])/\(\&self\1/
}
The few error cases were then fixed by hand.
2015-08-27 16:59:02 +02:00
Manish Goregaokar
b33c5427bc
Remove doublepointer in VirtualMethods, and from_borrowed_ref
...
Most of the heavy lifting done by:
```
$ ls *rs | xargs gawk -i inplace '/let .*: &&.*from_borrowed_ref/{sub("&&", "\\&");sub("_borrowed_","_");} {print $0}'
$ ls *rs | xargs gawk -i inplace "/impl.*VirtualMethods/{in_vm=1; sub(/<'a>/,\"\");sub(/&'a /,\"\")} /^}\$/{in_vm=0;} in_vm{\$0=gensub(/\\*self([^.])/,\"self\\\1\",\"g\"); sub(/from_borrowed_ref/,\"from_ref\")} {print}"
```
2015-08-27 02:14:48 +05:30
Johann Tuffe
ec07178b6f
sort all uses
2015-08-20 20:47:12 +08:00
Manish Goregaokar
19241c95f7
Cleanup NodeIterator, Range, ServoHTMLParser, TextEncoder, URLHelper, URL, VirtualMethods
2015-08-18 19:37:42 +05:30
Ms2ger
92e64e607c
Implement VirtualMethods for HTMLBaseElement.
2015-08-08 11:26:31 +02:00
Anthony Ramine
7b40cc9fd7
Introduce VirtualMethods::children_changed()
...
This virtual method mimics the behaviour of mutation observers and make it more
viable than the older child_inserted(), which didn't cover removed nodes and
was called as many times as there were inserted nodes.
A few other shortcomings where remove_child() was called directly instead of
Node::remove() were also fixed while at it.
2015-07-25 19:09:40 +02:00
Michael Wu
675267b782
Upgrade to SM 39
2015-06-19 18:42:48 -04:00
bors-servo
fada39164c
Auto merge of #5858 - pgonda:tabindex-focus-flag, r=jdm
...
Added support for the tabindex field, also added its correct defaults (-2 TODOs for things not supported in Servo yet). Also added tabindex logic into Element::is_focusable_area.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png " height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/5858 )
<!-- Reviewable:end -->
2015-05-20 14:34:31 -05:00
Peter
1c96eed544
fixes #5603 , adds support for tabindex
2015-05-20 10:34:16 -04:00
Patrick Walton
7d9eda916b
script: Implement the color
attribute of the <font>
element.
...
Improves Hacker News.
2015-05-19 16:31:20 -07:00
Anthony Ramine
69220dfc10
Make HTMLFormElement name attribute use an atom
2015-05-14 18:28:42 +02:00
Anthony Ramine
b86672af0c
Implement HTMLAppletElement.name
2015-05-14 18:28:39 +02:00
Manish Goregaokar
596e03e546
Basic userscript support
2015-03-22 15:13:11 +05:30
Zack Slayton
08ac0766ed
Use new if let
syntax wherever possible. Fixes #4153 .
2015-03-10 09:18:55 -04:00
Ms2ger
505159a464
Import the util crate as util rather than servo_util.
...
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.
2015-01-29 12:16:41 +01:00
Ms2ger
f8ac1777ff
Don't shadow lifetimes in script.
2015-01-28 13:48:28 +01:00
Ms2ger
76b0e2d3c7
Simplify vtable_for.
2015-01-05 08:55:00 +01:00
bors-servo
ba8cf6b0e6
auto merge of #4542 : servo/servo/pre-rustup_20141221, r=saneyuki
...
In particular, this contains changes to qualify enums where rust will require it, and to stop using some features that will be removed.
2015-01-04 12:39:47 -07:00
Ms2ger
76b8810a86
Disambiguate trait object reference syntax.
2015-01-04 11:59:51 +01:00
Megha Gupta
5031096853
Fix inheritance enums for htmlmediaelement and htmltablecellelement
2015-01-02 23:10:32 +05:30
Megha Gupta
f85b9e37cc
Add HTMLElementTypeId enum ( fixes #3625 )
2015-01-02 23:10:31 +05:30
Ms2ger
466faac2a5
Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d.
2014-12-17 15:19:45 -05:00
Patrick Walton
a1ea44b294
style: Address review comments relating to bgcolor
and column spans
2014-12-15 18:09:44 -08:00
Patrick Walton
10f1ed5e31
style: Parse the legacy border
attribute per the legacy HTML specification.
...
Additionally, this patch cleans up some miscellaneous formatting issues
and refactors files in `layout/css/` somewhat to eliminate needless
levels of indirection. It also fixes our handling of presentational
hints that only apply if border is nonzero.
2014-12-15 17:41:37 -08:00
Patrick Walton
8b2aadc30b
ports/cef: Implement accelerated compositing for the CEF port.
2014-12-10 08:35:47 -08:00
Achal Shah
23ed1f705b
Implement HTML{Anchor,Area,Link}Element.relList.
...
https://github.com/servo/servo/issues/3994
2014-11-23 23:37:13 -08:00
Ms2ger
214c356ecd
Pass an Atom to VirtualMethods::parse_plain_attribute.
2014-11-05 16:19:11 +01:00
Matt Brubeck
598150ea78
Implement cloning steps for script element
2014-10-29 14:31:47 -07:00
Matt Brubeck
fe123ad07c
Switch to synchronous script loading
...
This removes the old code for asyncronously loading scripts during HTML
parsing and then executing them afterward.
Fixes #3356 .
2014-10-29 14:31:47 -07:00
Bruno de Oliveira Abinader
bbab8831e0
Usage of JSRef<Attr> in before_remove_attr & after_set_attr
...
JSRef<Attr> does not require allocating a DOMString for value, which are
unused in most cases. It also provides more access to Attr data.
2014-10-22 11:13:58 -04:00
Patrick Walton
5f8d3f72d8
layout: Introduce support for legacy presentational attributes to selector
...
matching, and use it for `<input size>` and `<td width>`.
This implements a general framework for legacy presentational attributes
to the DOM and style calculation, so that adding more of them later will
be straightforward.
2014-10-14 12:44:09 -07:00
Keegan McAllister
6429750b33
Eliminate servo_util::atom
...
We only needed this for Encodable, and now we use JSTraceable instead.
2014-09-29 18:39:36 -07:00
Bruno de Oliveira Abinader
4e6785f513
CSS selector :enabled no longer matches Anchor, Area & Link elements
...
HTML spec has been modified [1] to disable support for :enabled CSS
selector on Anchor, Area & Link elements, after discussion on W3C
Bugzilla [2].
[1] https://html5.org/r/8818
[2] https://www.w3.org/Bugs/Public/show_bug.cgi?id=26622
2014-09-29 13:06:03 -04:00
Simon Sapin
b3245fa407
Upgrade to rustc d2b30f7d3 2014-09-23
2014-09-29 17:41:45 +01:00
Keegan McAllister
a640a7c5c3
Upgrade to rustc 0.12.0-pre (4d2af3861 2014-09-17 15:51:11 +0000)
2014-09-20 13:00:06 -07:00
Cameron Zwarich
4fa8725111
First steps of &JSRef -> JSRef conversion
...
Replace &JSRef with JSRef in the bulk of the generated code. This will
remove a level of indirection throughout all DOM code.
This patch doesn't change methods implemented on JSRef<T> to take `self`
rather than `&self`, and it leaves a few other uses of &JSRef, but those
changes can be made incrementally.
2014-09-19 13:39:17 -07:00
Jack Moffitt
c6ab60dbfc
Cargoify servo
2014-09-08 20:21:42 -06:00