Commit Graph

1304 Commits

Author SHA1 Message Date
Akos Kiss
d99b23a735 servo: Merge #8132 - Fix char types in script binding codegen (from akosthekiss:codegen-u8); r=Ms2ger
Use `libc::c_char` instead of `i8` for character data since that's more
portable. (Some architectures, e.g. AArch64, have unsigned characters,
i.e. `u8`.)

Source-Repo: https://github.com/servo/servo
Source-Revision: 3342cd9531c1f3c0419a0733b73c65838780a0f7
2015-10-21 10:44:14 -06:00
benshu
0eaffe935d servo: Merge #7450 - Ordering guarantees for timers (from benschulz:constellation-timer); r=jdm
This is an rough solution to the issue described in #3396. XHRs still do their own thing and an overall clean up is in order. Before I do that, though, I'd really like someone to sign off on the overall idea.

There's one major difference to what jdm layed out #3396: The timers remain with the window/worker and only the earliest expiring one is coordinated with the dedicated timer thread.
That means both the timer thread and the window/worker have to keep track of which timer expires next, which feels a bit wonky. However, the upshot is that there's no need for communication with the timer thread when a pipeline is frozen, thawed or dropped.

Most relvant parts are
 - the [`TimerScheduler`](6f5f661958 (diff-74137a6f50ab38e7a1e4d16920a66ce7R73)), which is the new per-constellation timer task and
 - the [`ActiveTimers`](6f5f661958 (diff-86707d952414a2860b78bcf6c1db8e2eR34)) which is what's left on the window/worker side.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2de5407cdabef67ed03b2ad4edf4a22541d77875
2015-10-21 09:07:30 -06:00
Brandon Fairchild
cd28992fae servo: Merge #8115 - Don't require the CanvasFillOrStrokeStyle enum to be public (from nerith:canvas); r=jdm
CanvasFillOrStrokeStyle is only used in a single file,
so it does not need to be a public enum.

Fixes #8105.

Source-Repo: https://github.com/servo/servo
Source-Revision: 252e73ff9b43abdeee4eac37702ef2e3adef0062
2015-10-21 08:32:36 -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
Ms2ger
f51f42da73 servo: Merge #8124 - Remove unused JS::assign (from Ms2ger:js-assign); r=saneyuki
Source-Repo: https://github.com/servo/servo
Source-Revision: 20ea0f4755d2249a6abf9a4ade9d3df753f23bcf
2015-10-21 05:15:15 -06:00
Brandon Fairchild
a2a21d1dc3 servo: Merge #8112 - Remove Button prefix from names of variants of ButtonType enum (from nerith:buttontype); r=frewsxcv
Fixes #8106.

Source-Repo: https://github.com/servo/servo
Source-Revision: fde40edfdc1459e2ab66e8c66580bacb7dbde430
2015-10-20 21:28:38 -06:00
Adam Szopa
b2986ec771 servo: Merge #8099 - Remove explicit lifetimes which can be elided (from Darktori:master); r=mbrubeck
Fixes https://github.com/servo/servo/issues/8069

Source-Repo: https://github.com/servo/servo
Source-Revision: 941c06eb99533c6c1d55b4ad3b51804badf48a23
2015-10-20 17:30:57 -06:00
Leo Lahti
8f487896e7 servo: Merge #8095 - Removed unsafe from 'query_selector_iter' (from TileHalo:foo); r=Ms2ger
Fixing #8078.

Source-Repo: https://github.com/servo/servo
Source-Revision: 25d3c2b655303cf3b858e49019c42254433056cf
2015-10-20 01:13:49 -06:00
Anthony Ramine
aa367bf0f6 servo: Merge #8008 - Update URL-related interfaces and their tests up to spec (from nox:url); r=jdm
The URL spec recently changed and the variour "mixins" interfaces are gone,
this commit updates our code and WPT accordingly.

The new expected failures related to HTMLAnchorElement and HTMLAreaElement's
attributes are due to their moving to the HTMLHyperLinkElementUtils interface,
which is not anymore in a separate `<script class=untested>` element.

Source-Repo: https://github.com/servo/servo
Source-Revision: f73cd40282ab79f53b38f2b057677b0423282f32
2015-10-19 14:24:05 -06:00
Pierre Chevalier
f67b1edb62 servo: Merge #7943 - Clarify some code in do_create_interface_objects (from pierrechevalier83:fix_issue_7941); r=Ms2ger
rval.get() is believed to be always null upon entering this function.
This assumption is verified by the added assertion.
It makes more sense to move the block of code that was moved inside
the if statement which is the only place where it can be initialized.

Fixes #7941.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6111cf9ffcb4427ab9a0966b9a4d0387b3101e7b
2015-10-19 09:37:03 -06:00
KALPESH KRISHNA
506f43168f servo: Merge #8068 - Implementing getAttributeNode() and similar methods (from martiansideofthemoon:my-code-fix); r=Manishearth
Implementing getAttributeNode() and similar methods

Attempting to solve #8066 Does it look good so far @Manishearth ?

Source-Repo: https://github.com/servo/servo
Source-Revision: 2e308e9eccb6c6d31906660bdfcf1a304f85dd56
2015-10-19 07:58:41 -06:00
Anthony Ramine
95d40680d6 servo: Merge #8060 - Implement Deref<Target=T> for JS<T> where T: Reflectable (from nox:deref-js); r=Ms2ger
We can only borrow `JS<T>` from rooted things, so it's safe to deref it.
The only types that provide mutable `JS<T>` things are `MutHeap<JS<T>>` and
`MutNullableHeap<JS<T>>`, which don't actually expose that they contain
`JS<T>` values.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1a376aa75d5de8781b17a673850860f8afd2c28f
2015-10-19 06:32:05 -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
Corey Farwell
f23a91dcde servo: Merge #8059 - Fix formatting for variable in doc-comment within codegen (from frewsxcv:fix-codegen-docs); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b847e4dd778e49ba60c786da4aa77813dee8b553
2015-10-18 07:55:48 -06:00
KALPESH KRISHNA
f4ebe1b230 servo: Merge #8038 - Adding window.onstorage WindowEventHandler (from martiansideofthemoon:my-code-fix); r=jdm
Well it built successfully this time around 😄 @jdm . Working to solve #7994

Source-Repo: https://github.com/servo/servo
Source-Revision: 23fa9de714662286480b26b28b742a7e23bc91f4
2015-10-17 22:36:13 -06:00
Till Schneidereit
951525599f servo: Merge #7415 - Improve implementation of DOMRect and implement DOMRectReadOnly (from tschneidereit:dom-rect); r=nox
Passes most tests from test-css. The remaining ones should pass once we have https://github.com/w3c/csswg-test/pull/834.

r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: 810d28a2574cd288ddfa5737ade417ea53a4b690
2015-10-17 15:17:27 -06:00
Corey Farwell
eaaa8e8849 servo: Merge #7977 - Implement HTMLTableRowElement insertCell and deleteCell (from frewsxcv:htmltablerowelement-insertcell-deletecell); r=eefriedman
Source-Repo: https://github.com/servo/servo
Source-Revision: ef8119511c440e50220417289a8adf5c7c1a93c3
2015-10-16 23:54:52 -06:00
Rahul Sharma
118f861a91 servo: Merge #8031 - added spec link for type mapping (from creativcoder:spec-links-js); r=jdm
Hi. added some of the spec links, that i could understand from the spec. Please mention if anything else needs to be added.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7a71f3932078e8248ecf8c6d28984e2fd4d1df6c
2015-10-16 13:38:30 -06:00
Jim Berlage
1b2300154f servo: Merge #7947 - Adds bufferedAmount to Websocket (fixes #7856) (from jimberlage:7856/buffered-amount); r=jdm
This adds a readonly bufferedAmount attribute to Servo's websocket implementation.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0e4abddd37b1808033ad8811552575713fe7fa5a
2015-10-16 12:56:44 -06:00
Stephen Li
c478fe2533 servo: Merge #8035 - Issue 8028: parse_html should take Url rather than &Url (from sliz1:issues/8028); r=Manishearth
fixes #8028

Source-Repo: https://github.com/servo/servo
Source-Revision: 96ca6b6c6d1a7681e8b16fb313d548fc93753c67
2015-10-16 11:24:08 -06:00
Eli Friedman
2d0625bbbd servo: Merge #8043 - Make AsyncResponseListener methods take &mut self (from eefriedman:async-listener-mut); r=jdm
Gets rid of a bunch of useless `Cell`/`RefCell` types.

Source-Repo: https://github.com/servo/servo
Source-Revision: 724d4e191b80d84c46cde4a25be9c5f7340e9a06
2015-10-16 08:49:13 -06:00
Eli Friedman
bdf1870969 servo: Merge #8026 - Fix uses of JS<T> as a type on the stack (from eefriedman:js-rooting); r=nox
`JS<T>` belongs on the heap, and only on the heap.  This is a collection of fixes so that code uses either `Root<T>` or `&T` to pass around garbage-collected pointers.

Ideally, we could completely ban constructing a `JS<T>` outside of constructor functions, but we aren't quite there yet.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7c7dbde0f4372037aac3635b8d81531ca9cdced3
2015-10-16 08:05:59 -06:00
Ms2ger
0bb0efe6ee servo: Merge #8049 - Enable some warnings for generated code (from Ms2ger:warnings); r=nox
None of those warnings currently occur.

Source-Repo: https://github.com/servo/servo
Source-Revision: 67e8ec997faf6882e906229811dc64340eff2dd7
2015-10-16 04:09:42 -06:00
Manish Goregaokar
a201cbf9b0 servo: Merge #8030 - Fix unrooted_must_root lint to handle arguments/return types properly (from Manishearth:fix-lint-fn); r=frewsxcv
r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 9d5f09e09c64d878e6c2bb273195c3c6ca9fe82c
2015-10-15 15:00:00 -06:00
Anthony Ramine
39c1957849 servo: Merge #8020 - Generate all Derived implementations in codegen (from nox:codegen-derived); r=Ms2ger
Follow-up of #7873.

@Ms2ger r? :)

Source-Repo: https://github.com/servo/servo
Source-Revision: 417cf5738e4609f4b2e34e9e0c4f7ef68f087432
2015-10-15 12:53:08 -06:00
Anthony Ramine
89c1f09946 servo: Merge #7972 - Introduce DOMClass::heap_size_of (from nox:codegen-heapsize); r=Ms2ger
It holds a function pointer to the HeapSizeOf::heap_size_of_children()
implementation corresponding to that IDL interface.

This removes the need for a clumsly TypeId-based match expression in the
former heap_size_of_eventtarget() function.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5a0a91eba794af027723051c7f039cb22088aa65
2015-10-15 07:13:55 -06:00
Michael Wu
7e12ce1b44 servo: Merge #7727 - Support the updated spidermonkey bindings (from michaelwu:update-bindings); r=jdm
Still need to finish the rust-mozjs update and make cargo use it, but it's close enough that I don't expect much to change on the servo side.

Some changes here
- bools are properly translated now
- char16_t is handled as u16 now
- JS_GlobalObjectTraceHook isn't mangled now
- JSJitInfo has been adjusted
- A const fn is used to generate bitfields in JSJitInfo
- Manually generating handles now requires calling an unsafe function. It's not actually required, but it's too much of a hassle to generate them manually now due to bindgen++ adding base classes now.

Source-Repo: https://github.com/servo/servo
Source-Revision: b34fd5bd7e55be1d577df5cf70b41af8a6cc716b
2015-10-14 14:48:44 -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
Corey Farwell
87508032e1 servo: Merge #7829 - Implement HTMLTableCellElement::CellIndex (from frewsxcv:htmltablecellelement-cellindex); r=Ms2ger
Extracted from #6936

Source-Repo: https://github.com/servo/servo
Source-Revision: 55769b2fbf24ed84ee0f8ea5fe856e5fd29d8e60
2015-10-14 07:39:24 -06:00
Prabhjyot Singh Sodhi
937bba228f servo: Merge #7871 - Send reason in the Websocket close handshake (from psdh:sendReason); r=jdm
Fixes #7862

Source-Repo: https://github.com/servo/servo
Source-Revision: 26902a9a9b9266d7ffe13e9e1eb2c70fb0b70ae9
2015-10-13 17:25:27 -06:00
Eli Friedman
bd0eb1d471 servo: Merge #7997 - Link to the HTML multipage spec, not the single-page one (from eefriedman:html-spec-multipage); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 9fca41c7a7498cb6e27b914c45290dc4639d6f8b
2015-10-13 12:54:10 -06:00
Dongie Agnir
b2d14e64e2 servo: Merge #7990 - Add newline so code sample is parsed correctly (from dagnir:formatting-fix); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: efdaf5e7e5923d1078ed7b12b96325e2411cc3d2
2015-10-13 02:12:28 -06:00
Glenn Watson
e8bfc6de7a servo: Merge #7921 - Update RemoveIFrame to use pipeline id rather than subpage (from glennw:subpage-fixes-2); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 5ffeb3b95bfc90079622fa65fa7f6dc4fff25350
2015-10-12 07:49:26 -06:00
Corey Farwell
4e10b0fe98 servo: Merge #7976 - Cleanup code that was warned by rust-clippy (from frewsxcv:clippy); r=jdm
[whitespace agnostic diff](https://github.com/servo/servo/pull/7976/files?w=1)

Source-Repo: https://github.com/servo/servo
Source-Revision: ac1b595609a08c30d6c13dfe6e7705f061bbc010
2015-10-12 04:37:42 -06:00
Corey Farwell
ad55ad7d6d servo: Merge #7854 - Implement deleteRow and insertRow for table section elements (from frewsxcv:htmltablesectionelement-insertrow-deleterow); r=nox
Implement deleteRow and insertRow for <table> element

Continued from #6936

Source-Repo: https://github.com/servo/servo
Source-Revision: 292dbfe809ddf048065f790071ea2022406536d7
2015-10-11 16:44:13 -06:00
Corey Farwell
0c5acafbf1 servo: Merge #7958 - Consolidate magic number representing max unsigned long (from frewsxcv:consolidate-magic-number); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 02d889494580d2b387a42d3a94360e40dce96282
2015-10-10 15:00:39 -06:00
Corey Farwell
a62fb1a1a4 servo: Merge #7953 - Implement 'align' attribute for <div> elements (from frewsxcv:htmldivelement-align); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: babeed998d297d2d7badc06ba9c8f90e42239b4f
2015-10-10 14:11:33 -06:00
Corey Farwell
d9ff70bbe2 servo: Merge #7955 - Add 'listing' alias for <pre> elements (from frewsxcv:listing-pre); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: b34b82537acfb7cd9bd8bcecd5eb49528020b1ab
2015-10-10 11:08:14 -06:00
Corey Farwell
921a6d9aa9 servo: Merge #7960 - Replace usage of old-style WHATWG spec links (from frewsxcv:update-spec-links); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 4052a22a1c6826cb18f03de9d2f6aed82d809e71
2015-10-10 10:17:52 -06:00
Andriy Kunitsin
c0efaf8450 servo: Merge #7948 - Changed dom_class type to Option<&'static DOMClass> to fix #7942 (from kunitsyn:master); r=Manishearth
I have a feeling that converting `Option<&T>` to `*const libc::c_void` could be less explicit.
Was there any way to do it shorter?

Source-Repo: https://github.com/servo/servo
Source-Revision: 9cccd98254191b1663dcaee9010eee63fa8074a3
2015-10-09 23:22:59 -06:00
Louis Chan
8eeaec9e24 servo: Merge #7835 - Implement a quota of 5MB per origin for localstorage and sessionstorage (from iawaknahc:webstorage-quota); r=jdm
PR for https://github.com/servo/servo/issues/6739

Source-Repo: https://github.com/servo/servo
Source-Revision: 06e0447e8289d723918a71e1ab39712c3af210d3
2015-10-09 12:36:47 -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
Jim Berlage
d128c53a9e servo: Merge #7885 - Creates empty string when passed null (from jimberlage:7858/null-message); r=Ms2ger
This should fix #7858.  An empty `USVString` is now used when `data` is `None`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8c81d9ab28132cff1d792b5c99e98bea6f7870bd
2015-10-09 09:02:45 -06:00
Corey Farwell
db77d6a8e3 servo: Merge #7841 - Implement <body>'s "text" attribute (from frewsxcv:htmlbodyelement-text); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 1029feb55d004e4417dd6cfdcb864d18871ae74a
2015-10-09 06:11:46 -06:00
Pierre Chevalier
de81eab35e servo: Merge #7932 - Refactor away duplication of get_rooted functionality (from pierrechevalier83:fix_issue_7929); r=jdm
Refactor .get().map(Root::from_rooted)
and .get().map(|foo| foo.root())
to .get_rooted() on MutNullableHeap objects.

First part done mechanically with the following comand:
sed -i s/"get().map(Root::from_rooted)"/"get_rooted()"/g *.rs

Second part done manually after finding them with
git grep ".get().map("

Fixes #7929.

Source-Repo: https://github.com/servo/servo
Source-Revision: 96356a4b339af07831dec79e0084079328b43b53
2015-10-09 05:23:25 -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
Emilio Cobos Álvarez
63225f1d97 servo: Merge #7843 - webgl: Implement WebGLContextEvent and use it on context creation error (from emilio:webgl-context-event); r=jdm
spec: https://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15
Source-Repo: https://github.com/servo/servo
Source-Revision: 0b6cb92d786a438cf7d9b2ca5b199172052e29bd
2015-10-07 17:04:10 -06:00
Anthony Urena
1a286c0ad0 servo: Merge #7892 - Refactor html form dataset collection (from anthgur:form-data-refactor); r=jdm
Factor out FormDatum collection for `<input>`
Improve early return logic for getting the FormDatum from an `<input>`
Condense element type patterns

Proposed to close #7851

Source-Repo: https://github.com/servo/servo
Source-Revision: 94dc98717b79c12cdac6b1eba72227199850ac31
2015-10-07 08:32:44 -06:00
Corey Farwell
926980e90c servo: Merge #7898 - Use the correct IDL setter for <font>.size (from frewsxcv:htmlfontelement-size-attribute-setter); r=nox
Previously, the IDL attribute would incorrectly set the `size` attribute
for `<font>` elements as `AttrValue::String`. Now it correctly sets it
as `AttrValue::Length`. Also included is a regression test.

Source-Repo: https://github.com/servo/servo
Source-Revision: 60a77defe5f3ed9420b818db1875bc726b6b6a4c
2015-10-07 07:04:28 -06:00
Ms2ger
a5a87e2b96 servo: Merge #7903 - Add support for documenting CGAbstractMethods (from Ms2ger:codegen-docs); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 745635a706223df3d0f6db927cf1f547d948be87
2015-10-07 06:20:20 -06:00