Commit Graph

3261 Commits

Author SHA1 Message Date
Bruno de Oliveira Abinader
def07162d0 servo: Merge #4038 - Implement HTMLElement.dataset (from brunoabinader:dataset); r=Ms2ger
Spec: https://html.spec.whatwg.org/multipage/dom.html#dom-dataset

Closes #2974.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1f74e54bb2d0b16866aeaa7e4d00f801560afe7b
2014-12-20 08:06:44 -07:00
Ms2ger
1f730e0a12 servo: Merge #4449 - Cleanup unwrap_jsmanaged (from Ms2ger:unwrap_jsmanaged); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 8a4eea003276cdb4d0c4b905068c93bd3bf398ee
2014-12-20 07:36:45 -07:00
Ms2ger
8e3ecf0d97 servo: Merge #4446 - Remove unused libgreen import (from Ms2ger:green); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 58e7b8c154cae663ee82b6c042044de68c43a007
2014-12-19 14:03:44 -07:00
Josh Matthews
5be4e8a1fb servo: Merge #4401 - Create a replacement for Cell<SM primitive>. Fixes #4337 (from jdm:heapsm2); r=Manishearth
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
2014-12-19 09:18:46 -07:00
Ms2ger
97e31c7099 servo: Merge #4444 - Simplify some code in ScriptTask::load (from Ms2ger:load-simplify); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b9edc2243a98f2d71408430fe68716bdbbd015d7
2014-12-19 08:09:48 -07:00
Ms2ger
1d72ea6a6b servo: Merge #4443 - Make the argument to dispatch_event_with_target non-optional (from Ms2ger:dispatch_event_with_target); r=Manishearth
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
2014-12-19 04:33:46 -07:00
Eduard Burtescu
7be1408838 servo: Merge #4326 - Handle onload correctly and trigger the load event for <script> (from eddyb:script-onload); r=jdm
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
2014-12-18 22:27:44 -07:00
Glenn Watson
5306294517 servo: Merge #4441 - Add time as submodule - workaround for android cross compiling until next rustup (from glennw:android-time-hack); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 9aaae08c3666d13ab608999e1dca587656e7b228
2014-12-18 18:00:59 -07:00
Glenn Watson
61026a418e servo: Merge #4438 - Update cargo nightly to get android cross compile fix. Also add stub tra (from glennw:android-fix-1); r=metajack
...it method to glutin port.

Source-Repo: https://github.com/servo/servo
Source-Revision: 465b38c03f8565f3cf3d22e3b7f98f51b116e2e4
2014-12-18 17:01:10 -07:00
Adenilson Cavalcanti
8455823764 servo: Merge #4437 - Fix inset/outset when border is black (from Adenilson:fixInsetOutsetBlack03); r=jdm
Freshly rebased.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4ac8b6a723fe0ce6a80ce03e1e4e2082961f1319
2014-12-18 16:24:54 -07:00
Tetsuharu OHZEKI
8bc1f6376b servo: Merge #4434 - script: Remove glob imports added in #4405 (from saneyuki:glob_script); r=jdm
#4406

Source-Repo: https://github.com/servo/servo
Source-Revision: 803e5ef7904f2843d8e44184f9154af079eea9fa
2014-12-18 15:57:48 -07:00
Simon Sapin
2d7fe5cdae servo: Merge #4425 - Fix some writing mode mismatch assertions errors (from SimonSapin:mixed-writing-modes); r=mbrubeck
The rendering is still wrong beause of #2795, but at least we get a rendering.

(This test change is just for readability, it should be equivalent to before.)

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 3cc87165a1279005fa2c12413f33487dee31df96
2014-12-18 15:31:28 -07:00
Patrick Walton
be135fd302 servo: Merge #4403 - script: Fix double borrow error when going back. Closes #4402 (from pcwalton:back-borrow); r=jdm
I have verified that back and forward work once again.

Sorry about this one. r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 8626be6ab00d966cb4abed2a2fef691d286df32d
2014-12-18 14:39:50 -07:00
Patrick Walton
c36d533145 servo: Merge #4394 - layout: Implement clip per CSS 2.1 § 11.1.2 (from pcwalton:clip); r=SimonSapin
Only the recommended, comma-separated syntax is supported.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: a80d88897d176630c79f929e8b1fd661b2e1a17c
2014-12-18 14:12:51 -07:00
Tetsuharu OHZEKI
370886dc52 servo: Merge #4423 - net: Remove glob imports added in #4405 (from saneyuki:glob_net); r=jdm
#4406

Source-Repo: https://github.com/servo/servo
Source-Revision: 4ccecd8dca406a4f0d62ac50f461b09816786ec5
2014-12-18 13:21:55 -07:00
Tetsuharu OHZEKI
4c1092dbf9 servo: Merge #4418 - gfx: Remove glob imports added in #4405 (from saneyuki:glob_gfx); r=jdm
#4406

Source-Repo: https://github.com/servo/servo
Source-Revision: a425bb528957fd77cf8300b17e153f8fc3777483
2014-12-18 12:52:01 -07:00
Josh Matthews
fa63e17acb servo: Merge #4342 - Implement basic HTMLElement.style support (from jdm:cssom); r=jdm,metajack
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
2014-12-18 11:54:52 -07:00
Tetsuharu OHZEKI
34f83f1a6e servo: Merge #4424 - style: Remove glob imports added in #4405 (from saneyuki:glob_style); r=SimonSapin
#4406

Source-Repo: https://github.com/servo/servo
Source-Revision: 1f342638c46d6b43bca4cfbd405aceedc0465a85
2014-12-18 11:03:55 -07:00
Matt McCoy
667e396b08 servo: Merge #4416 - Merge request for #4407. Removes the cloning because it wasn't necessary (from mattnenterprise:fire-timer-clone); r=jdm
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
2014-12-18 09:39:56 -07:00
Matt Brubeck
21a0b185fa servo: Merge #4412 - Update layer bounds on resize (from mbrubeck:fixed-layer-resize); r=mrobinson
This fixes a bug where fixed-position layers are not repositioned when the
window is resized.  This can be reproduced with any `position: fixed` element with a `right` or `bottom` position.  I'm not sure how to reftest this, though.

r? @mrobinson

Source-Repo: https://github.com/servo/servo
Source-Revision: d7f38a8973c1baac2a68bd83a0c141deef920bac
2014-12-18 08:06:54 -07:00
Simon Sapin
b308cce0c9 servo: Merge #4420 - Fix warnings (from servo:fix-warnings); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: eea49ee1d986c306a8eec32b64be9b10cb2278fc
2014-12-18 04:42:50 -07:00
Glenn Watson
8b295b0ae2 servo: Merge #4419 - Restore glutin close on escape functionality. Also fix linux compile error (from glennw:fix-glutin-esc); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: d7b3900431598883212162460254c846bf5f8b52
2014-12-18 01:00:57 -07:00
Patrick Walton
cda269baf7 servo: Merge #4358 - compositing: Implement cursor per CSS3-UI § 8.1.1 in the CEF/Mac port (from pcwalton:cursor); r=mbrubeck
I'm not sure how we want to handle Linux cursors, and GLFW has no
ability to set cursors (short of disabling it and managing it yourself).

If you test this in the wild you will probably hit #4357 until that PR lands.

Source-Repo: https://github.com/servo/servo
Source-Revision: e2267e0a0749e27046ee8a26ba514cc6865e0345
2014-12-18 00:24:49 -07:00
Patrick Walton
ccf77f9b53 servo: Merge #4404 - layout: Implement caption-side per CSS 2.1 § 17.4.1 (from pcwalton:caption-side); r=mbrubeck
`caption-side` is used by 4% of pages by number of loads.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 6eb9ae1eff2d26c52ad2ac59eec703bd7e8ae867
2014-12-17 23:57:52 -07:00
Patrick Walton
2ba8079a6a servo: Merge #4400 - layout: Implement empty-cells per CSS 2.1 § 17.6.1.1 (from pcwalton:empty-cells); r=SimonSapin
r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 636641f90533c941a3580b5caee1ae1fef953841
2014-12-17 22:33:51 -07:00
Chris Paris
c6d8118a3f servo: Merge #4415 - Use parse_html in DOMParser (from ChrisParis:parse_html); r=jdm
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
2014-12-17 21:12:48 -07:00
Glenn Watson
8e111e211a servo: Merge #4414 - Compile fix for glutin feature after rust upgrade (from glennw:fix-glutin); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 592c93e0c252828b8ff2797b7a9fe0e7d59e13af
2014-12-17 20:03:48 -07:00
Glenn Watson
b185394a0f servo: Merge #4405 - Update rustc to revision 3dcd2157403163789aaf21a9ab3c4d30a7c6494d (from servo:rustup_20141124); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: fbf42c951b2f53d91e2f32f8035484a07ea83493
2014-12-17 18:45:49 -07:00
Glenn Watson
bd8a083ff1 servo: Merge #4398 - Update gleam, clear initial framebuffer under glutin (from glennw:glutin-clear); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: b8900782b0fcb409f37189bdc08eb7f8b3564a5f
2014-12-16 20:18:44 -07:00
Adenilson Cavalcanti
f38d6c1c65 servo: Merge #4393 - Inset and outset border coloring is incorrect on left side border (from Adenilson:fixInsetOutsetColor01); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: df4c3ff28441884217333eb13c18b944b81f1a3a
2014-12-16 17:03:43 -07:00
Jerry Shih
efed6f1c6f servo: Merge #4397 - Handle null when evaluating JS value. Fixes #4235 (from jdm:issue_4235); r=jdm
Rebased from #4241.

Source-Repo: https://github.com/servo/servo
Source-Revision: 03666f31051562453a6be789f9d350db9c3fa6a2
2014-12-16 16:03:45 -07:00
Matthew Rasmus
4f922915fe servo: Merge #4133 - Implements basic form resetting (from mttr:form_resetting); r=jdm
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
2014-12-16 15:03:49 -07:00
Michael Wu
7c59583691 servo: Merge #4392 - Update Cargo.lock to fix gonk build (from michaelwu:fix-gonk-20141216); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b6a593650bcc33e4188153d135e9a2781a488f96
2014-12-16 13:31:08 -07:00
Matthew Rasmus
a9eadca568 servo: Merge #4380 - Makes layout respect <textarea> rows and cols attributes (from mttr:textarea_rows_and_cols); r=jdm
...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
2014-12-16 12:09:50 -07:00
Ms2ger
68d4605b77 servo: Merge #4390 - Remove some manual deref() / deref_mut() calls (from Ms2ger:derefs); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 905c30d69739fcacfe67cb2605eb9f669ae9a82f
2014-12-16 09:22:02 -07:00
Ms2ger
f505abaa83 servo: Merge #4389 - Fix bogus transmute (from Ms2ger:transmute); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 508924771e8f0f60700931ebd88aebf8c8889e44
2014-12-16 08:54:51 -07:00
Glenn Watson
a917674ccc servo: Merge #4386 - Update cocoa (needed for newer glutin) (from glennw:update-cocoa); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: cd1ccacf5e803281ead0168c3ac1ba5f64dc9343
2014-12-16 08:24:49 -07:00
thiagopnts
02dc0e1e27 servo: Merge #4374 - Add auxiliary method to EventTargetHelpers for events without target (from thiagopnts:dispatch-event); r=Ms2ger
servo/pull/4369 with the right commit.

Source-Repo: https://github.com/servo/servo
Source-Revision: 746b262ff4e23db11586f74ef1a03e98cb12bb52
2014-12-16 06:36:47 -07:00
Edit Balint
f458bd96e5 servo: Merge #4387 - Fixed codegen error regarding Uint8ClampedArray (from ebalint:codegen); r=Ms2ger
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
2014-12-16 04:06:56 -07:00
Patrick Walton
ea62373791 servo: Merge #4385 - script: Fix double-borrow error (from pcwalton:page-double-borrow); r=jdm
This was my fault. It comes up on almost any page after scrolling a bit.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: fb5c1bef6fe48b7bd2c1dd9e73069d5b00b20aad
2014-12-15 20:54:44 -07:00
Manish Goregaokar
bff63476bf servo: Merge #4381 - Fix window.performance.now() (from Manishearth:performancenow); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e0ec21e814f07601fa3e5e2ec04de7c7a0fd7893
2014-12-15 20:00:53 -07:00
Patrick Walton
90a61bb1c7 servo: Merge #4289 - style: Implement basic column spans, quirks mode, and the legacy bgcolor and border attributes (from pcwalton:hacker-news); r=SimonSapin
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
2014-12-15 19:33:46 -07:00
Patrick Walton
23a62da542 servo: Merge #4371 - layout: Make line breaking able to restart from any position (from pcwalton:line-breaking-improvements); r=mbrubeck
This commit removes the "merge-fragments" pass from inline reflow,
instead merging "on the fly". This ended up being simpler, as well as
more fine grained. Additionally, this patch makes the line breaker no
longer clone every fragment (!)

This functionality will be used in the implementation of
`text-overflow`.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 88ec52dd617bafe384553ef38325c552fb4f1e23
2014-12-15 19:09:49 -07:00
Patrick Walton
59d35b5a90 servo: Merge #4310 - layout: Implement basic lists and the CSS1 list properties (from pcwalton:lists); r=SimonSapin
The exact rendering is ill-spec'd. Some things are ugly (especially the
width and height of list style images) but they are infrequently used
and I believe this implementation matches the spec. Numeric lists are
not supported yet, since they will require a separate layout pass.

The implementation is a subclass of `BlockFlow`, on advice from Robert
O'Callahan.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 112ef5c484e821aa4869aeaf12a12146f2424fe0
2014-12-15 17:42:48 -07:00
Patrick Walton
4a65faf9eb servo: Merge #4318 - gfx: Implement box-shadow per CSS-BACKGROUNDS (from pcwalton:box-shadow-redux); r=SimonSapin
r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 7805fe19edf5353711f49a8ef1c988dc9f932bb7
2014-12-15 16:31:14 -07:00
Patrick Walton
ee36da2b11 servo: Merge #3844 - script: Improve dirty propagation and fix script-layout synchronization (from pcwalton:script-layout-synchronization); r=jdm
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
2014-12-15 15:31:21 -07:00
Michael Wu
b7c00db2cb servo: Merge #4375 - Fix gonk 20141215 (from michaelwu:fix-gonk-20141215); r=glennw
This updates azure to pick up a gonk fix - https://github.com/servo/rust-azure/pull/120 and adds a stub function to the window.

Source-Repo: https://github.com/servo/servo
Source-Revision: d75e85261fd777405482e1a194dff1b5111808d7
2014-12-15 15:06:59 -07:00
Ms2ger
a3f69010d3 servo: Merge #4373 - Correctly set the BlobType for File objects (from Ms2ger:blob-type); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 4e187af2f17339df25fb1dfaf91821d0f53cba5e
2014-12-15 13:16:05 -07:00
thiagopnts
7fcc909cd2 servo: Merge #4372 - Make ErrorEvent::new take cancelable and bubbling enums (from thiagopnts:errorevent); r=Ms2ger
Fixes #4174.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1bc2c8a6397382b4db8fb09582434f4798d43868
2014-12-15 02:15:51 -07:00
Patrick Walton
04f5f3a88a servo: Merge #4361 - layout: Implement overflow-wrap/word-wrap per CSS-TEXT § 6.2 (from pcwalton:overflow-wrap); r=glennw
This property is used by approximately 55% of page loads.

To implement the line breaking behavior, the "breaking strategy" has
been cleaned up and abstracted. This should allow us to easily support
other similar properties in the future, such as `text-overflow` and
`word-break`.

r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 68ab18876bf4e210da26590420b9844b9cb0c92d
2014-12-13 14:06:47 -07:00
Chris Paris
d5e1dcf922 servo: Merge #4297 - Make DOMParser::ParseFromString actually parse the string (from ChrisParis:parse); r=Ms2ger
Addresses https://github.com/servo/servo/issues/3756. I've tested this code with a new test that I've submitted to https://github.com/w3c/web-platform-tests.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1be7d7ccedec170016243bc5924239ef02b0b76f
2014-12-13 12:30:45 -07:00
Patrick Walton
32a32e3723 servo: Merge #4360 - layout: Implement word-spacing per CSS 2.1 § 16.4 (from pcwalton:word-spacing); r=mbrubeck
This assumes that there are no ligatures that span across multiple
words. Since we have a per-word shape cache, this is a safe assumption
as of now. I have left comments to ensure that, if and when this is
revisted, we make sure to handle it properly.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 98920b1315e7b867b293a56f5eb81784845f4a19
2014-12-13 10:39:46 -07:00
Ms2ger
df2aeeea63 servo: Merge #4363 - Never include the root node in live HTMLCollections (from Ms2ger:collectionfilter); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 29c9975a835d7304055f1dec22d674846bb2dfa9
2014-12-13 10:15:45 -07:00
Patrick Walton
fdd3a9d6ec servo: Merge #4357 - compositing: Translate clip rects into the coordinate systems of child layers when doing hit tests (from pcwalton:compositor-hit-test-clipping); r=mrobinson
Fixes clicking on links on the second page of Hacker News.

r? @mrobinson

Source-Repo: https://github.com/servo/servo
Source-Revision: 251dbb37ed197ba0b2a4e21c95dcca4a1951ccb7
2014-12-13 02:00:52 -07:00
Gilbert Röhrbein
340fb4dc53 servo: Merge #4356 - refactor script_task.rs fn handle_msgs (from servo:msgs); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ea39b878ac619e68907e27c486660dd4bc3fc618
2014-12-12 17:30:47 -07:00
Greg Weng
bc50bc529d servo: Merge #4355 - Return real page titles and URLs for devtools tab choices (from servo:devtools-title); r=metajack
Fixes #4167.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6362d060e16aa006877b2920c5de2fad7db3dace
2014-12-12 17:03:45 -07:00
Patrick Walton
d6d4d3ae05 servo: Merge #4328 - layout: Implement text-indent per CSS 2.1 § 16.1 (from pcwalton:text-indent); r=SimonSapin
I had to use a somewhat unconventional method of computing text
indentation (propagating from blocks down to inlines) because of the way
containing blocks are handled in Servo.

(As a side note, neither Gecko nor WebKit correctly handles percentages
in `text-align`, at least incrementally -- i.e. when the percentages are
relative to the viewport and the viewport is resized.)

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: be6612193786ef22810fd66b3ce244a7e66cbcf4
2014-12-12 15:57:46 -07:00
Adenilson Cavalcanti
b6f1b7e195 servo: Merge #4324 - Groove and Ridge rendering shows a solid border when color is black (from Adenilson:grooveBorderColor01); r=pcwalton
Groove and Ridge rendering shows a solid border when color is black, that is broken and the current patch will implement a similar behavior as Firefox.

Source-Repo: https://github.com/servo/servo
Source-Revision: e74a57821f89aa637c4aa20e8757b2635c01578d
2014-12-12 15:30:56 -07:00
Jack Moffitt
20992ec5c2 servo: Merge #4300 - Update PowerMeasure.py post-cargoify (from servo:fix-power); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 25a251e6abf50fe818b9836505b09be8191a86fa
2014-12-12 15:06:55 -07:00
Tomasz Kołodziejski
db5adf698c servo: Merge #4354 - Don't include the root element when calling Element#getElementsByTagNameNS (from neojski:getElementsByTagNameNS-filter-root); r=Ms2ger
This fixes #4349.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9e83f096a5b61beb7a26c222b1f6d7780b1335b0
2014-12-12 14:09:53 -07:00
Patrick Walton
e289ac1783 servo: Merge #4325 - gfx: Implement letter-spacing per CSS 2.1 § 16.4 (from pcwalton:letter-spacing); r=mbrubeck
The ligature disabling code has been manually verified, but I was unable
to reftest it. (The only way I could think of would be to create an
Ahem-like font with a ligature table, but that would be an awful lot of
work.)

Near as I can tell, the method used to apply the spacing (manually
inserting extra advance post-shaping) matches Gecko.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 914f27263d60ffcbe2fd1f9e47a48e3aa3f1cd76
2014-12-12 12:45:54 -07:00
Nathan E. Egge
1d5fe80591 servo: Merge #4347 - Sending key events through script task before processing them in the com (from negge:backspace4); r=jdm
...positor.

Fixes #4163

Source-Repo: https://github.com/servo/servo
Source-Revision: 4b8c9128597a7598ef76a4bebe6d81fb2ff9aa1a
2014-12-12 10:36:55 -07:00
Joseph Crail
928a39ceb6 servo: Merge #4171 - Fix spelling mistakes in comments (from jbcrail:fix-spelling); r=jdm
I only updated comments, not strings.

Source-Repo: https://github.com/servo/servo
Source-Revision: f451005f4fe075c849de2f3766f5bf84510b8465
2014-12-12 02:12:51 -07:00
Glenn Watson
3507757306 servo: Merge #4343 - Remove glut port now that android glutin has landed (from glennw:remove-glut); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 9f8dda7abc5f2dc97f5d90aa24fcc5b596ab6918
2014-12-11 19:42:55 -07:00
Michael Wu
ebc00970a5 servo: Merge #4340 - Add support for the 'rem' css unit (from michaelwu:css-rem-support); r=SimonSapin
This works on my simple test page https://people.mozilla.org/~mwu/rem.html , hopefully works on real pages too. Seems a little messy to add root_font_size directly to ComputedValues, but it didn't seem appropriate to add to the style structs.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5ef94c716d8ba8b7508552ac233a371737f8182d
2014-12-11 19:01:01 -07:00
Patrick Walton
cf7e6d5a0f servo: Merge #4339 - layout: Make table layout idempotent (from pcwalton:refactor-tables); r=mbrubeck
By "idempotent" I mean that later passes do not stomp on data from
earlier passes, so that we can run the passes individually for
incremental reflow. The main change here was to stop overwriting the
"minimum inline-size" field of each column with the column's computed
inline-size.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 909dd0e80f5c6a9051da6e2f70d77186cc545b1a
2014-12-11 18:06:53 -07:00
Ms2ger
6e64bb9ddb servo: Merge #4332 - Pass the timing information to PerformanceTiming rather than exposing methods (from Ms2ger:performance); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: a016f7b201425a4a837168407a25705aaabf30b0
2014-12-11 17:33:53 -07:00
Glenn Watson
425a65e7fd servo: Merge #4327 - Switch android to glutin (from glennw:glutin-android); r=larsbergstrom,larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 15187cb4512baa57902ac07fe902df14b3c99500
2014-12-11 17:09:54 -07:00
Patrick Walton
17ceb8b360 servo: Merge #4299 - layout: Implement outline per CSS 2.1 § 18.4 (from pcwalton:outline); r=mbrubeck
`invert` is not yet supported.

Objects that get layers will not yet display outlines properly. This is
because our overflow calculation doesn't take styles into account and
because layers are always anchored to the top left of the border box.
Since fixing this is work that is not related to outline *per se* I'm
leaving that to a followup and making a note in the code.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: d31237f3439e5e5d4055b3a9e53eaeee4f3cdf2c
2014-12-11 16:45:56 -07:00
Rohan Prinja
996bde0a5f servo: Merge #4273 - some fixes for multiple-mode textinput (from ajnirp:multiple-line-textintput); r=Manishearth
#4258

Source-Repo: https://github.com/servo/servo
Source-Revision: 7ce37636b15346b6672fff4da4698e418d4d9436
2014-12-11 16:22:07 -07:00
Chris Manchester
801f0adcea servo: Merge #4189 - Return early and decline analysis when linting within unsafe functions; fixes #3658 (from chmanchester:rootlint); r=jdm
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
2014-12-11 15:57:58 -07:00
Martin Robinson
71b34ee355 servo: Merge #4329 - Improve root layer masking to deal with uninitialized layers (from mrobinson:phantom-layer); r=pcwalton
At various moments, whether due to timing or layout issues, root layers (iframes) do not have a size and location. We modify the compositor to have all root layers mask to their content boundaries whether they have a frame rect or not. Uninitialized layers have empty boundaries, so they will disappear from the page. We also have to ensure that clicks to not go to areas of layers that are masked away. This fixes issues where ads on github take over the entire viewport.

Source-Repo: https://github.com/servo/servo
Source-Revision: 512d55ecefac4c5f7f6fc52ad5cedb7f2664b0c9
2014-12-11 10:39:59 -07:00
Ms2ger
6bdd8d6b77 servo: Merge #4330 - Cleanup page.rs some more (from Ms2ger:page); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d67bcfa7ce7b37e7ed45a53f1daddbc6b2f2ddf2
2014-12-11 08:07:14 -07:00
Glenn Watson
f0cf6081ef servo: Merge #4322 - Update ./mach update-cargo to include gonk Cargo.lock (from glennw:gonk-update-cargo); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 80756a11d2fc9dbc67eda580e7ed9c22b354647e
2014-12-10 18:21:54 -07:00
Glenn Watson
1ce2d668d8 servo: Merge #4321 - Update skia + azure to get android compile and text rendering fixes. Sync CEF cargo.lock (from glennw:update-azure-skia-android); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 3d845a0c407182eceb14f122e93a36875823459c
2014-12-10 17:57:51 -07:00
Patrick Walton
b04ff95e47 servo: Merge #4311 - layout: Implement text-transform (from pcwalton:text-transform); r=SimonSapin
The Unicode awareness of `text-transform` is implemented as well as
possible given the Rust standard library's Unicode support. In
particular, the notion of an alphabetic character is used instead of a
letter.

Gecko has a subclass of text run to handle text transforms, but I
implemented this in a simpler way.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 9bf1d1862a141dcf75d585d7ae5675d4e86a4c0d
2014-12-10 15:12:58 -07:00
Michael Wu
87f75259e4 servo: Merge #4316 - Make the gonk port work again (from michaelwu:fix-gonk); r=glennw
This makes the gonk port build/work again after the recent CEF port update.

Source-Repo: https://github.com/servo/servo
Source-Revision: 5b53d5a163fb8b32e109d5dea4eddddf64caad08
2014-12-10 13:15:59 -07:00
Glenn Watson
ecf4a03a01 servo: Merge #4317 - CEF updates for Linux / MiniServo-GTK (from glennw:linux-cef-fixes); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 13a24fe6c0938084885a1c1305803416a62a2ce7
2014-12-10 12:51:58 -07:00
Martin Robinson
1e49c6a95d servo: Merge #4073 - Remove PseudoDisplayItemClass (from mrobinson:pseudo-rm-rf); r=pcwalton
Now that content box queries are made against the flow tree, we can
remove PseudoDisplayItems from the display list.

Source-Repo: https://github.com/servo/servo
Source-Revision: d988d01dd01c4e7e1503667cdfe91d4663e2c916
2014-12-10 10:57:58 -07:00
Patrick Walton
8b6e74fa78 servo: Merge #4193 - ports/cef: Implement accelerated compositing for the CEF port (from pcwalton:cef-redux); r=pcwalton,metajack
@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
2014-12-10 09:40:03 -07:00
Ms2ger
c5279d063c servo: Merge #4315 - Cleanup page.rs (from Ms2ger:page); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 315e166cf7f24f4586e8ce863be597ce0a3f34c9
2014-12-10 08:46:03 -07:00
Matt Brubeck
9cb76dbf45 servo: Merge #4309 - Simple cleanups in layout code (from mbrubeck:float-cleanup); r=pcwalton
r? @SimonSapin or @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: d8a5199ba847bb46733eb4794d0bf93966964499
2014-12-09 17:01:12 -07:00
Michael Wu
eba21f3745 servo: Merge #4308 - Remove use of rustuv/green in the gonk port (from michaelwu:remove-libgreen); r=glennw
As requested during the review of the gonk port.

Source-Repo: https://github.com/servo/servo
Source-Revision: 39271aa42d77ac7bbfabb1fd11a975265d645c99
2014-12-09 15:31:12 -07:00
Michael Wu
7e8adc03f1 servo: Merge #4306 - Add a port for gonk (from michaelwu:gonk-port-three); r=glennw
Trying again since critic didn't notice https://github.com/servo/servo/pull/4294 .

Source-Repo: https://github.com/servo/servo
Source-Revision: cbbbf4fbb54ed3fc9c017550df3b6aecc583ba43

--HG--
rename : servo/ports/android/.cargo/config => servo/ports/gonk/.cargo/config
rename : servo/ports/android/glut_app/Cargo.lock => servo/ports/gonk/Cargo.lock
rename : servo/components/servo/lib.rs => servo/ports/gonk/src/lib.rs
2014-12-09 14:42:57 -07:00
Glenn Watson
590ac875aa servo: Merge #4296 - Update rust-openssl to add static linking for android (from glennw:update-openssl); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 2dfc8fed87da0023b4bd5ddac15b3f7a76a97963
2014-12-09 14:09:59 -07:00
Ms2ger
b3f23959cf servo: Merge #4305 - Cleanup ScriptTask::load some more (from Ms2ger:script_task); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3a70a9fa6bdbfda405ff7b027a09596a2a2747f5
2014-12-09 12:16:07 -07:00
Shing Lyu
8ddb629206 servo: Merge #4108 - Blob (from shinglyu:blob); r=jdm
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
2014-12-09 08:43:08 -07:00
Emanuel Rylke
6014c50b8d servo: Merge #4304 - Don't include the root element when calling Element#getElementsByTagName (from ema-fox:bytag); r=Ms2ger
Fixes #4249

Source-Repo: https://github.com/servo/servo
Source-Revision: ef81fb13e73d8d8bbda80fbe52ee9d5a539bc519
2014-12-09 06:33:59 -07:00
Ms2ger
972e593419 servo: Merge #4303 - Update typeable to pick up a warning fix (from Ms2ger:docs-warning); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 25e5d312892421008133cb6c099644cf46a7b2bc
2014-12-09 05:33:57 -07:00
Ms2ger
6383ed9edb servo: Merge #4293 - Cleanup ScriptTask::load some more (from Ms2ger:script_task); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 02955d39ccf7fcd8a76279e49c44715b62730c6d
2014-12-09 04:57:56 -07:00
Simon Sapin
d405298981 servo: Merge #4302 - Add a ./mach clean-snapshots command to remove old Cargo and Rust (from SimonSapin:clean-snapshots); r=Manishearth
Bootstrapping automatically downloads new Rust and Cargo snapshots as needed into versioned directories, but do not remove now-unused versions. This is the desired behavior for `git bisect` to be usable.

However, this means that old version keep accumulating, taking up disk space. This adds a mach command to remove snapshots other than the ones currently being used. It is never run automatically.

To be safe, the command defaults to only printing what would be removed, and only removes stuff when run with a `-f` argument.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: 00298221a6238c4fe4909f68a6616a718908ccf5
2014-12-09 04:01:19 -07:00
Zirak
5893fa94ce servo: Merge #4298 - Bound several link properties (from Manishearth:zirak-link-attrs); r=Manishearth
Carried over from #4248

Critic review: https://critic.hoppipolla.co.uk/r/3392

Source-Repo: https://github.com/servo/servo
Source-Revision: 7d4ec333750fd7d57226c1d915f3227a2998e02f
2014-12-08 23:30:59 -07:00
Manish Goregaokar
de7ade69d5 servo: Merge #4160 - Add unit test to freeze sizes of DOM structs (from Manishearth:a-test-size-dom); r=cgaebel
Source-Repo: https://github.com/servo/servo
Source-Revision: 2f80a3bac66ae3d0a84b5f4317ebfb537c5c6e2c
2014-12-08 23:01:05 -07:00
Glenn Watson
d6ad689dd4 servo: Merge #4292 - Use mach to build openssl on android instead of glut makefile (from glennw:android-ssl); r=mbrubeck
The glut makefile will be removed shortly after glutin lands
for android, so we need to build openssl for android elsewhere
in the build process.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2741fd2e139b9cb8e9f14857877f567ecae3bced

--HG--
rename : servo/ports/android/openssl.sh => servo/support/android/openssl.sh
2014-12-08 17:54:57 -07:00
Matthew Rasmus
f99063b40e servo: Merge #4288 - Updates ./mach update-cargo for new path changes (from mttr:mach_update_cargo_fix); r=jdm
Also fixed a bug if run with no arguments.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1458bb439701274527308a29f2e5e65c3306f78a
2014-12-08 17:03:59 -07:00
Andreas Tolfsen
9ef84d5ed2 servo: Merge #4286 - Fix concatentation error on no args to ./mach rustc (from andreastt:ato/concat_error_on_system_rust); r=metajack
Since default argument to params is None, concatenating it with a
list will raise an error.  This behaviour prevents `./mach rustc`
to be called when system-rust is defined in .servobuild.

Currently it will only work when followed by an argument, i.e.
`./mach rustc -arg`.

Testing this patch: `./mach rustc` should not raise an error.

Source-Repo: https://github.com/servo/servo
Source-Revision: 35c13f07bfd6a8973399e75404fa61a6d9aeda00
2014-12-08 15:28:03 -07:00
Patrick Walton
c02b013483 servo: Merge #4272 - gfx: Update Azure and Skia, and rewrite broken clipping logic (from pcwalton:upgrade-azure); r=mrobinson
This exposed some problems in our clipping logic, which was never
properly rewritten for the stacking context reform. The clipping code
worked in terms of a stack of clips, but the new stacking context code
has no concept of a stack of clip regions. Fixing that in turn exposed
some flaky/incorrect tests:

* `borders` had an incorrect reference image, as far as I can tell.

* `negative_margins` had some stray pixels, fixed by changing the text.

r? @mrobinson

Source-Repo: https://github.com/servo/servo
Source-Revision: 40c706b42d9d29ef58913f22da49159796e1b81b
2014-12-08 14:52:02 -07:00
Emanuel Rylke
40deabd7f7 servo: Merge #4284 - Implement selection ranges and deletion of \n for TextInput (from ema-fox:textinput_selection); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: b64bb47e9d7eea0402493abd12b9ea645cc8e083
2014-12-08 14:25:07 -07:00
Ms2ger
13af9a6af8 servo: Merge #4280 - Cleanup some code in node.rs (from Ms2ger:cleanup-node); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 368d6dc6bfd1b69b9082a6b773f79f1371602b70
2014-12-08 13:55:08 -07:00
ProgramFOX
a271e21d79 servo: Merge #4270 - Implemented Document#inputEncoding (from ProgramFOX:issue-4252); r=saneyuki
Resolves #4252

Source-Repo: https://github.com/servo/servo
Source-Revision: feabaf34acfc41c0976acdff5e4df15a135d1b09
2014-12-08 13:28:12 -07:00
Ben Hsu
d4b3238f9d servo: Merge #4233 - Fixes #4232 (from driftersprt:BUG-4232); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: f11089cda0564a826ed53949a4b39d519944e28a
2014-12-08 12:58:09 -07:00
Clark Gaebel
36ba47438d servo: Merge #4194 - Fixed #4170 - Incremental reflow wasn't being aggressive enough when nodes get reparented (from cgaebel:incremental-reflow-fix); r=pcwalton
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
2014-12-08 12:28:14 -07:00
Matthew Rasmus
0c6c8fc464 servo: Merge #4190 - Implements the :checked pseudo-class for inputs (from mttr:checked_pseudo_class); r=Manishearth
Relevant spec:
https://html.spec.whatwg.org/multipage/scripting.html#selector-checked

Also modifies HTMLInputElement::SetChecked to no longer modify its
checked content value, instead making use of its internal checkedness
state now that we can match `:checked` properly.

Source-Repo: https://github.com/servo/servo
Source-Revision: f18c18371d2bb5edde9d64e46b74bf01411afab3
2014-12-08 12:01:51 -07:00
Tetsuharu OHZEKI
d9885c4396 servo: Merge #4279 - Rename "render"/"rendering" to "paint"/"painting" (from saneyuki:rename); r=jdm
#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

--HG--
rename : servo/components/canvas/canvas_render_task.rs => servo/components/canvas/canvas_paint_task.rs
rename : servo/components/gfx/render_context.rs => servo/components/gfx/paint_context.rs
rename : servo/components/gfx/render_task.rs => servo/components/gfx/paint_task.rs
2014-12-08 10:28:10 -07:00
Ms2ger
8222c91fa8 servo: Merge #4268 - Cleanup ScriptTask::load and parse_html (from Ms2ger:script_task); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3f60bcf2c2de856da9f7b86cc8793e75c99d46d9
2014-12-08 09:43:11 -07:00
Emanuel Rylke
7dd64bc9f1 servo: Merge #4267 - Implement Page(Up|Down) functionality for TextInput and bugfix (from ema-fox:textinput); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 9ac817523c463f2e64a73fef069316f7976063e8
2014-12-08 09:04:14 -07:00
Ms2ger
a35fe37703 servo: Merge #4266 - Create the root frame before evaluating the javascript URL (from Ms2ger:js-document-crash); r=Manishearth
This prevents a crash when the script in the javascript URL accesses the
document attribute.

Source-Repo: https://github.com/servo/servo
Source-Revision: ea907c1311051506bc3e7ef6fef8857968c71387
2014-12-08 02:49:06 -07:00
Jonathan Hao
989f5da014 servo: Merge #4257 - Implement the "messageevent" argument to Document#createEvent. #4008 (from johnathan79717:4008); r=jdm
This is a fix for issue #4008.

Source-Repo: https://github.com/servo/servo
Source-Revision: bdb3a2538b9f10aad4c911cc0118257d8311cd26
2014-12-08 01:55:08 -07:00
Matthew Rasmus
0f1fe27243 servo: Merge #4277 - servo.css: Style <button> like <input type=button> (from mttr:style_button_element); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 673dc339712ea58bc6a4d4c90d556e5c9e84a65a
2014-12-07 22:22:07 -07:00
Glenn Watson
c20f134e76 servo: Merge #4207 - Fix path for CEF build (from glennw:fix-cef); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: ccef72385131f923edd63ffc586165aae786adf2
2014-12-07 15:25:07 -07:00
Matthew Rasmus
fd67e29914 servo: Merge #4269 - Fix breakage of ./mach test (from mttr:mach_test_fix); r=mbrubeck
When running commands through Registrar.dispatch, mach does not behave
in the same way it would as if it were running through the command line.
Defaults normally provided through a combination of @CommandArgument and
argparse magic are ignored.

I have some ideas as to how to fix this, but until then, this will allow
`./mach test` to run through test-unit properly.

Source-Repo: https://github.com/servo/servo
Source-Revision: a6768b62446d599b23906eae08845dcb8bbe8853
2014-12-06 13:49:03 -07:00
Ms2ger
08aaf009b2 servo: Merge #4263 - Use or_init where appropriate (from Ms2ger:or_init); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: c68e2af0a756280a687511614e44652906c0d7a1
2014-12-06 08:01:06 -07:00
ProgramFOX
7c84eba939 servo: Merge #4265 - Corrected case of Document#characterSet (from ProgramFOX:issue-4251); r=Ms2ger
Resolves #4251

Source-Repo: https://github.com/servo/servo
Source-Revision: b805e74fef57e5bec167b2dc6403f9f5e7fc92e7
2014-12-06 07:31:01 -07:00
Matthew Rasmus
ef99ea6b43 servo: Merge #4229 - Adds a --component argument to test-unit (from mttr:mach_unit_test_select_component); r=Manishearth
Example usage:

`./mach test-unit -c style`

Source-Repo: https://github.com/servo/servo
Source-Revision: 2d0e96e1331668fea7313efd688fe7dba6d7ebed
2014-12-06 04:49:00 -07:00
Tamir Duberstein
8f3cedce7a servo: Merge #4262 - should_move_clip_rect is a bare function (from tamird:4261); r=jdm
`self` is never used, so there's no need for this to be a method.
Fixes #4261. @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 3eec780c0050d034c06c3b7b2128401a8b3b1a37
2014-12-06 04:28:01 -07:00
Manish Goregaokar
895099501f servo: Merge #4002 - Implement framework for element activation (fixes #3999) (from Manishearth:activation); r=jdm
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
2014-12-06 03:55:04 -07:00
Ms2ger
b07144a5b9 servo: Merge #4264 - Clarify the panic in get_uint_attribute (from Ms2ger:panic); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 507fdbeb6d7c7d2e37adf8313dc3970289dbb900
2014-12-06 02:37:04 -07:00
Med0paW
902c5e9d61 servo: Merge #4254 - Issue 4253 - Setting timeout on a sync XHR should throw InvalidAccessErr (from medopaw:settimeout-on-sync-error); r=Manishearth
fix #4253

Source-Repo: https://github.com/servo/servo
Source-Revision: 33836715a8703299b931f9f891ec6524cca160a7
2014-12-05 20:13:02 -07:00
Timothy B. Terriberry
658bba4ee7 servo: Merge #4234 - Change time::profile's meta booleans to enums (from tterribe:issue4158); r=metajack
This makes these parameters self-documenting.
This patch does not attempt to push those enums into the data
structures that feed calls to this function.

Fixes #4158.

Source-Repo: https://github.com/servo/servo
Source-Revision: bc7b5b35b44e82dadb35242e39b190b3d1fcba10
2014-12-05 17:34:03 -07:00
Emanuel Rylke
5fd40c621b servo: Merge #4256 - Make the password input element show the correct number of dots for multibyte chars (from ema-fox:password_input); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d5c62ac2c426f55a88c767e0e48cb58712870639
2014-12-05 17:13:05 -07:00
Matthew Rasmus
a343b1461d servo: Merge #4152 - Implements multi line text input for TextArea (from mttr:textview); r=jdm
Fixes #3918

Can be tested in `tests/html/textarea.html`. Also implemented some content reflecting IDL attributes for HTMLTextAreaElement while I was in there.

There are some major problems with TextInput when Multiple is enabled that I haven't addressed here, but I'm prepared to open up a follow-up issue.

Source-Repo: https://github.com/servo/servo
Source-Revision: a369dcfa01f5ad7634469f3a3b652d7f650129a0
2014-12-05 16:25:07 -07:00
Emanuel Rylke
a62c09aa62 servo: Merge #4255 - Make TextInput correctly handle multibyte chars (from ema-fox:textinput); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 58f9b4ad9601f2e6b641ba660247a01d5068c158
2014-12-05 13:16:12 -07:00
Rohan Prinja
aa333c94a9 servo: Merge #4247 - allow deleting last char (from ajnirp:delete-one-char); r=jdm
fix #4243

Source-Repo: https://github.com/servo/servo
Source-Revision: c6aadc5bcc8fccf8a6d4bc41d2b48279fa47c4e5
2014-12-05 08:43:12 -07:00
Manish Goregaokar
3984c9b43a servo: Merge #4198 - Hyper+OpenSSL on Android (from Manishearth:hyper-droid); r=Manishearth
This is the Hyper pull request, plus the set up for OpenSSL on Android to make it merge.

Sean's commits have been reviewed in #4065 (My Android changes were reviewed by Glenn)

Source-Repo: https://github.com/servo/servo
Source-Revision: 6bd9bf979bcfa96ea14e666b59eab01a6d6c373e
2014-12-05 04:16:11 -07:00
Ms2ger
7b333b9954 servo: Merge #4245 - Introduce MutNullableJS::or_init (from Ms2ger:lazy-getters); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 66d4acef8d591b5516d99cb4c7dd9e379242b928
2014-12-05 03:46:07 -07:00
Matthew Rasmus
72fc3c24c0 servo: Merge #4231 - Mach test inference fix (from mttr:mach_test_fix); r=jdm
Somehow didn't catch this when renaming a variable.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1046839e8cbf049f13d465cf7137e501a83119b9
2014-12-05 03:13:09 -07:00
Ronak Nisher
ff636e0eda servo: Merge #4230 - added ErrorEvent WebIDL and errorevent.rs (from jdm:errorreporter); r=jdm
Rebased from #3822.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0065c230dad0e591d9a448ff00ef977074485dd5
2014-12-05 02:28:09 -07:00
Manish Goregaokar
1dfea0559f servo: Merge #4240 - Make tidy ingore new target dir (from Manishearth:tidy); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: a451a3bdb5bd37dc671dcb24b80f869ad6a82010
2014-12-05 00:49:10 -07:00
Nathan Froyd
ecec1d1aa1 servo: Merge #4238 - remove bindings codegen h/cpp files from .gitignore (from froydnj:remove-cpp-files-from-gitignore); r=Manishearth
These files don't exist in the tree, and the codegen doesn't create them, so we shouldn't have them sitting around in .gitignore.

There are h/cpp files sitting around in the bindings codegen directory; I suppose one could make the argument that they're useful for examples, so we should keep them around, too?

Source-Repo: https://github.com/servo/servo
Source-Revision: 590c6e841bb39c6dd5fdfc8434b722f170bcb4a4
2014-12-05 00:16:11 -07:00
Matt Brubeck
13e1e99bbe servo: Merge #4227 - Implement the HTMLScriptElement.src setter (from mbrubeck:script-src); r=jdm
Fixes #1113.  r? @Ms2ger

Source-Repo: https://github.com/servo/servo
Source-Revision: 9050a151613b78bd992d1c32f968cb0cf12dd720
2014-12-04 22:37:05 -07:00
Eduard Burtescu
149f986db8 servo: Merge #4220 - devtools: handle script task panics gracefully in ConsoleActor (from eddyb:devtools-panic); r=jdm
r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: b8444f96f82791d7bbac456dfe23b71b2b09fea3
2014-12-04 18:04:06 -07:00
Ms2ger
5ae1b287f9 servo: Merge #4219 - Cleanup some Document code (from Ms2ger:cleanup-document); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 92a8c7a80ccd5721884da96dbd28c6c40ba32b70
2014-12-04 08:46:02 -07:00
Corey Richardson
934ea851d8 servo: Merge #4217 - Don't categorize HTMLInputElement as a TableCellFragment (from cmr:issue/4196); r=jdm
Closes  #4196.

r? @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 90b0369cdfbd62b6c6fa745beffdfd206c825543
2014-12-04 00:06:55 -07:00
Sagar Muchhal
d5599de352 servo: Merge #4213 - Support for Separated Read Write (from jdm:sepreadwrite); r=jdm
Rebased from #4211.

Source-Repo: https://github.com/servo/servo
Source-Revision: 28a132a8f412faa4b15c98939839083836c67052
2014-12-03 22:48:59 -07:00
Glenn Watson
7c1de48e14 servo: Merge #4216 - Disable debugging, set wikipedia page for demo (from glennw:android-demo); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 0b909c2e9345786563ab0b4425b67a8e918549c5
2014-12-03 22:01:11 -07:00
Shanil Puri
cc7082126f servo: Merge #4214 - Implemeneted ModifyAttribute handler to update DOM elements (from jdm:modifyattr); r=jdm
Rebased from #4197.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0b5cc3f4aaf62478b097cba5b2676e7ca99b02a3
2014-12-03 20:28:00 -07:00
Glenn Watson
32a89127bf servo: Merge #4210 - Update skia submodule to get android build fix (from glennw:skia-android-update); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: ecf98bc6802cd8a2626fb6436be38830ebb9677d
2014-12-03 19:51:57 -07:00
Simon Sapin
eaa95d31a2 servo: Merge #4203 - Make 'mach doc' not fail when components/servo/target doesn’t exist (from SimonSapin:refactor-doc); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: ad9aedac77d094b8524b6170b857499bdc9cd762
2014-12-03 19:09:58 -07:00
Cameron Zwarich
26e36e8662 servo: Merge #4202 - Remove libgreen support (from zwarich:remove-libgreen); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 92cc423709e96d8eb13b6a59f0ed95e64f3d1822
2014-12-03 18:27:57 -07:00
Clark Gaebel
3aaccb58cc servo: Merge #4187 - Fixed #4127: Added a fast path to border-radius (from cgaebel:issue-4127); r=SimonSapin
This will avoid drawing Arcs if there's no border-radius property set.

Fixes #4127

Source-Repo: https://github.com/servo/servo
Source-Revision: 736d542beb82218e4c4c6eeb8116bc95334d9115
2014-12-03 17:48:56 -07:00
nkdalmia
b5db4cdee6 servo: Merge #4157 - M1450: Implement Window.sessionStorage: Storage Task, Storage Methods (excluding Storage event, QuotaExceededError) (from nkdalmia:master); r=jdm
Changes
* Implemented Storage Task
* Used Storage Task in methods of storage.rs
* Updated webstorage test expectations

Pending Changes:
* Handle Storage Event
* Throw QuotaExceededError in case of failure for method setItem
* localStorage as alias of sessionStorage

Source-Repo: https://github.com/servo/servo
Source-Revision: 0d2251510fb9ad8f4974c99cadafbd1a9a81e30f
2014-12-03 16:54:57 -07:00
Simon Sapin
23afaf9d7d servo: Merge #4142 - Have mach doc copy Rust docs, add mach browse-doc (from SimonSapin:refactor-doc); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 6d1193547b3d6cb1f36edcd61ff0a2572a817bf8
2014-12-03 16:27:56 -07:00
Patrick Walton
e2566c42f2 servo: Merge #4036 - layout: Implement opacity per CSS-COLOR § 3.2 (from pcwalton:opacity); r=SimonSapin
This adds the infrastructure necessary to support stacking contexts that
are not containing blocks for absolutely-positioned elements. Our
infrastructure did not support that before. This minor revamp actually
ended up simplifying the logic around display list building and
stacking-relative position computation for absolutely-positioned flows,
which was nice.

This will need this PR: https://github.com/servo/rust-azure/pull/112 I have not updated the Cargo.lock file yet because I want the merge commit.

r? @glennw
f? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 68c90e27970808bddcb8c8a4e782bd4405e67a5c
2014-12-03 15:22:00 -07:00
Simon Sapin
2d8a1f7245 servo: Merge #4140 - Move the root Cargo.toml to components/servo, and warn when Cargo is run directly (from SimonSapin:no-root-cargo-toml); r=SimonSapin
This fixes #3957, and allow #4115 not to regress #4099.

Source-Repo: https://github.com/servo/servo
Source-Revision: 873ca6cadddc1a40bead1f5dd0128bb16cfaa11b

--HG--
rename : servo/Cargo.lock => servo/components/servo/Cargo.lock
rename : servo/src/lib.rs => servo/components/servo/lib.rs
rename : servo/src/main.rs => servo/components/servo/main.rs
2014-12-02 19:27:51 -07:00
Matt Brubeck
fad6bfb506 servo: Merge #4186 - Fix error in layout trace viewer (from mbrubeck:layout-viewer); r=glennw
d1b433a3b3bab353f320b2f39fa953ce326d2d55 changed the encoding format for Flows.  The root is no longer wrapped inside a `data` field, but instead includes BaseFlow fields directly.  This broke the layout trace viewer, which threw an uncaught exception when the `data` property was missing.  This fixes the exception, though some functionality may still be partly broken.

Source-Repo: https://github.com/servo/servo
Source-Revision: b2b6d4d0d1e381d038dc5e45cbe74304704934e7
2014-12-02 18:39:50 -07:00
Nathan Climer
e822028e55 servo: Merge #4169 - Fixed test filter (from IdeaHat:fix-mach-unit-test-filter); r=jdm
Minor change, added unit test filter to components so that ./mach test-unit [test-filter] works in line with documentation.

I'd personally like to also make filters on the components as well as the tests. This would change the interface (probably to ./mach test-unit [component-filter] [test-filter]), but change is NOT in this pull request.

Source-Repo: https://github.com/servo/servo
Source-Revision: c91e949ed02dc299900ed2c50812d733e6740afb
2014-12-02 18:15:51 -07:00
Matthew Rasmus
9a64aacad4 servo: Merge #4155 - Verify that reftest passes valid servo args (from mttr:reftest_unknown_servo_args); r=jdm
Fixes #4101

Source-Repo: https://github.com/servo/servo
Source-Revision: c68269097e8b6dfd363a74dcf6c5d7de1f675cd9
2014-12-02 17:51:50 -07:00
Matthew Rasmus
e495923e3f servo: Merge #4168 - infer_test_by_dir cleanup (from mttr:mach_inferred_test_cleanup); r=Manishearth
No actual change in functionality here. I was just unhappy with the way test-ref was singled out before, and realized an obvious fix.

Source-Repo: https://github.com/servo/servo
Source-Revision: 600da2af7e6c886f46d013008d2f933b99a2b92f
2014-12-02 15:42:53 -07:00
Patrick Walton
4b99bc08fd servo: Merge #4136 - ports/cef: Replace calls to malloc with calloc (from pcwalton:cef-calloc); r=metajack
r? @metajack

Source-Repo: https://github.com/servo/servo
Source-Revision: 791606bde79cf38ae8484882a7986a1f258957a4
2014-12-02 14:39:51 -07:00
Michael Booth
8b0b657cb0 servo: Merge #4156 - Updated reflect_dom_object to be passed by value fixes #4122 (from Michael03:master); r=Ms2ger
This fixes issue #4122

Source-Repo: https://github.com/servo/servo
Source-Revision: ed45aa9efd6cf238a83fcae6a772886df61771f7
2014-12-02 05:24:49 -07:00
Clark Gaebel
a6355c6142 servo: Merge #4020 - [gfx/style] Implement border-radius (from cgaebel:border-radius); r=SimonSapin
This patch is a first stab at implementing border-radius. It looks fine as long as
the border isn't an ellipse (that might not even parse yet), and the border-widths
around a border-radius are the same.

Here's a cool screenshot!

![](https://www.dropbox.com/s/gdtmgjrlnf82gzz/Screenshot%202014-11-12%2018.03.29.png?dl=0)

r? @pcwalton @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 3775e686e10f1cbabd01217af1b0ea197b96ca06
2014-12-02 05:01:08 -07:00
Patrick Walton
3688c86021 servo: Merge #4162 - layout: Stop having text alignment stomp on layerization flags (from pcwalton:text-align-flags); r=kmcallister
Fixes the blank spaces showing up in Wikipedia.

r? @kmcallister

Source-Repo: https://github.com/servo/servo
Source-Revision: 9afdce4405f0f5998c81eae83bbb527d0e95ec8e
2014-12-01 12:12:55 -07:00
aakashjain
2bd749d2a8 servo: Merge #4149 - Fixes #4123 (from aakashjain:MovingElementGetters); r=Manishearth
Moved all getters from Element to ElementHelpers. Existing ElementHelpers getters `get_namespace` and `get_local_name` were replaced by `namespace` and `local_name`. Callers were updated accordingly. Also the getters are no longer inlined.
3 of the getters needed to be added to RawLayoutElementHelpers as well, to accomodate existing calls directly from Element objects.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9541dcdee271d83834af12c756932697ab0ef5dc
2014-11-29 04:42:41 -07:00
Matthew Rasmus
780be60cfc servo: Merge #4093 - Adds explicit --name argument to test-ref (from mttr:mach_reftest_by_file); r=jdm
`./mach test-ref` no longer eats the first "-" prefixed argument for test name filtering, instead using an explicit "--name" argument. This should avoid any potential confusion when passing down arguments to servo.

Also allows for ./tests/ref to be included (and trimmed away) for tab completion convenience (`./mach test` has also been updated to take advantage of this when inferring tests from file paths).

(fixes #4091)

Source-Repo: https://github.com/servo/servo
Source-Revision: b87d98e468d6c405dd02625e3e223e2412db8610
2014-11-29 01:12:42 -07:00
Simon Sapin
ce568031b9 servo: Merge #4141 - libstyle cleanup (from SimonSapin:style-cleanup); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: e9aec8b9a730e41d87a2796a5bc2b0bbd90bd3cc
2014-11-29 00:51:43 -07:00
Josh Matthews
90ed12b81a servo: Merge #4147 - Fix the panic on runnig with --devtools due to a change in how type_id g (from jdm:devtoolspanic); r=Manishearth
...ets resolved since the last rustc upgrade.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9c3b2ae8a58f5e3fa91a6dc164c136291765a86f
2014-11-29 00:00:48 -07:00
Josh Matthews
06b8120b23 servo: Merge #4148 - Don't abort the sniffer task whenever an error occurs. Also, switch to b (from jdm:sniffix); r=glennw
...locking recv_opt vs. non-blocking try_recv.

Source-Repo: https://github.com/servo/servo
Source-Revision: ac4d2cbb78c594cc3a18d000ee4a88478df2db6d
2014-11-28 23:27:45 -07:00
Kshitij Parajuli
91ff1edfd9 servo: Merge #4000 - M1456: Shared SnifferTask (from t29:mime-sniffing); r=jdm
Issue: #3144

This PR addresses the second step of the ticket. i.e. move from a 1:1 sniffer:request task model to a shared sniffer task.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1ac79c64da4b14f83fed6ca123a81417b9c0fc87
2014-11-28 10:51:44 -07:00
Jesse Tuchsen
55c230f212 servo: Merge #4132 - Fixes #4131 (from jtuchsen:issue-4131); r=jdm
A slight refactor.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2d904f70801bdd709ac845520dbe1035dd6fd5db
2014-11-28 10:27:43 -07:00
Tetsuharu OHZEKI
f34203dda8 servo: Merge #4130 - Make callers of ${Derived}::${base}() use casts instead (from saneyuki:cast); r=Manishearth
Fix #4124

This also introduce `BarCast::from_actual()` which is used for up-cast for dom's actual data types (non JS pointer values).

Source-Repo: https://github.com/servo/servo
Source-Revision: 82050d1e535681ea993e4290d02bcf4b9f4ee5a2
2014-11-28 09:24:44 -07:00
Matt Murphy
fd1b8dc8c7 servo: Merge #4135 - Fix error when executing "mach doc" (from murphm8:mach_doc); r=SimonSapin
This should fix  #4134

Source-Repo: https://github.com/servo/servo
Source-Revision: fafd3fd8ba6d2e43ad8cc34ac0f4cc9e835e6867
2014-11-28 08:54:45 -07:00
aakashjain
3cd7953171 servo: Merge #4129 - Fixes issue #4120 (from aakashjain:HTMLElement#hidden); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 12ae5413021f4e439cd067fbacd913261905e18a
2014-11-28 05:33:48 -07:00
Patrick Walton
860ec5ac31 servo: Merge #4102 - ports/cef: Use the CEF translator tool to generate the full set of CEF bindings (from pcwalton:cef-autogeneration); r=larsbergstrom
This replaces hand-implemented CEF bindings with proper Rust wrappers
automatically generated from the C++ headers. This means that, whenever
CEF's C++ headers change, we can easily generate both the appropriate C
API and the appropriate Rust API. It eliminates much of the hand-written
unsafe code within the CEF port, because the CEF translator tool now
knows how to generate Rust smart pointer wrappers for each class that
corrently perform reference counting.

Additionally, this commit adds utility macros (located in `macros.rs`)
that make it easier to correctly expose Rust objects as CEF objects.
They handle the marshaling of objects between Rust and CEF properly.
The net result of this is that you can write mostly-natural-looking Rust
in the CEF port and interact with it with a natural-looking C++ API on
the embedding side.

This setup relies on the branch of CEF located here:

    https://github.com/pcwalton/chromium-embedded-framework

To regenerate, follow the instructions in `ports/cef/README.md`. For
convenience, and because I don't anticipate the API to change much, I
have vendored in all of the appropriate interfaces.

r? @zmike or @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 02c2f53ccd8b75ff0b87edfce4f2f9315a6417bd
2014-11-27 23:18:44 -07:00
Jesse Tuchsen
5234e4a7a9 servo: Merge #4128 - Fixes #3962 (from jtuchsen:issue-3962); r=jdm
Bad HTTP responses now have a 0 status code instead of 200 OK.

Source-Repo: https://github.com/servo/servo
Source-Revision: b56bab4e407b38fa1e58d8be247ecd5f156c89bc
2014-11-27 13:42:41 -07:00
Glenn Watson
13d56c2822 servo: Merge #4114 - Fix layout on google search results (from glennw:table-layout-fix); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 431644bfc8208b613bf69a89826376ffb143cb58
2014-11-26 18:39:38 -07:00
Gilbert Röhrbein
16bf33605a servo: Merge #4113 - fixes #4110, can input text without 'value' attribute present (from payload:issue-4110); r=jdm
The attribute `value` and the underlying model `TextInput` are not connected to each other, so I just pulled the value out of `TextInput`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 184a3346ab2fb2a4dfd267681af02711cfb6bc44
2014-11-26 16:15:38 -07:00
Simon Sapin
8a29e80eaf servo: Merge #4099 - Add .cargo/config to .gitignore, move content to ports/android (from SimonSapin:cargo-config); r=mbrubeck
This allows using `.cargo/config` at the root of the repository for local path override, without risk of accidentally committing it.

However I don’t have the environment to test the Android build. Would this break it?

Source-Repo: https://github.com/servo/servo
Source-Revision: b5d6864de1000d6d54c2d5ebfd90ea9f6a596c54

--HG--
rename : servo/.cargo/config => servo/ports/android/.cargo/config
2014-11-25 10:01:32 -07:00
Paul DiPietro
e6a195db94 servo: Merge #4097 - Fix deprecation in selector matching test (from pauldipietro:fix_deprecation); r=SimonSapin
selector_matching.rs:1263:44: 1263:63 warning: use of deprecated item: Renamed to `get`, #[warn(deprecated)] on by default
    selector_matching.rs:1263         assert_eq!(1, selector_map.id_hash.find(&atom!("top")).unwrap()[0].declarations.source_order);
                                                                         ^~~~~~~~~~~~~~~~~~~
    selector_matching.rs:1265:47: 1265:79 warning: use of deprecated item: Renamed to `get`, #[warn(deprecated)] on by default
    selector_matching.rs:1265         assert_eq!(0, selector_map.class_hash.find(&Atom::from_slice("intro")).unwrap()[0].declarations.source_order);
                                                                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    selector_matching.rs:1266:41: 1266:71 warning: use of deprecated item: Renamed to `get`, #[warn(deprecated)] on by default
    selector_matching.rs:1266         assert!(selector_map.class_hash.find(&Atom::from_slice("foo")).is_none());
                                                                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The 'find' function was changed to 'get'. Updated to remove this warning given when running the tests.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7b72ffcbafe6c526f6bf27aee71842b94f62a858
2014-11-25 08:15:49 -07:00
Hinali Marfatia
fafec6e841 servo: Merge #4096 - Adding a new webidl and websocket.rs file (from servo:websocket); r=Ms2ger
Closes #3813.

Source-Repo: https://github.com/servo/servo
Source-Revision: 62edb842c7d89f2349c4c030139cbf5a927d1eb1
2014-11-25 07:45:42 -07:00
Matthew Rasmus
873b4aa8c7 servo: Merge #4090 - Lets ./mach test infer testsuite from file/directory path (from mttr:mach_infer_test); r=jdm
Fixes #4086

Lets `./mach test` take a file or directory as an argument, and infers `test-content`, `test-wpt`, or `test-ref` from the file's path.

Usage Example:
```
$ ./mach test tests/wpt/web-platform-tests/dom/interfaces.html
 0:00.27 LOG: MainThread INFO Using 1 client processes
 ...
```
Note that while there is no functionality for `test-ref` to accept individual files, `./mach test tests/ref` will still trigger `test-ref`.

Passing arguments properly through python would have been ugly (though maybe there are some mach internals I could have taken advantage of), so this instead runs a new mach process and lets the individual test suites manage their arguments like normal.

Source-Repo: https://github.com/servo/servo
Source-Revision: 10f8fe00677c756bd69adcf90b96a7e36bae8f56
2014-11-24 13:42:39 -07:00
Ms2ger
6bda040d13 servo: Merge #4084 - Panic if DOMTokenList#contains is called for an unparsed attribute (from Ms2ger:tokenlist-robust); r=jdm
Previously, if the attribute was not parsed into a token list, and the
tokens() method returned None, DOMTokenList#contains would silently return
false. This issue was encountered in
<https://github.com/servo/servo/pull/4076> and took quite some time to
figure out.

Source-Repo: https://github.com/servo/servo
Source-Revision: 51aa2fde10daa8c98f5407e35b8abf01bd364788
2014-11-24 10:39:35 -07:00
Matthew Rasmus
7ae32f7f97 servo: Merge #4083 - Mach debugger flag (from mttr:mach_debugger_flag); r=mbrubeck
Borrows two python modules from mozilla-central to give mach the ability to detect and pass arguments to a system's preferred debugger, and adds `--debug` and `--debugger` flags to `./mach run`. This works almost like the functionality described [here](https://developer.mozilla.org/en-US/docs/Debugging_Mozilla_with_gdb), but at the moment it lacks a `--debugparams`  argument.

Links to borrowed files:
http://hg.mozilla.org/mozilla-central/file/c9cfa9b91dea/testing/mozbase/mozinfo/mozinfo/mozinfo.py
http://hg.mozilla.org/mozilla-central/file/c9cfa9b91dea/testing/mozbase/mozdebug/mozdebug/mozdebug.py

Source-Repo: https://github.com/servo/servo
Source-Revision: 989efd5a2820a152c5d5a2d42c9be3c30d79f469
2014-11-24 10:15:46 -07:00
Achal Shah
196129611e servo: Merge #4081 - Implement HTML{Anchor,Area,Link}Element.relList (from achals:master); r=jdm
https://github.com/servo/servo/issues/3994

Source-Repo: https://github.com/servo/servo
Source-Revision: 6e19955129ef77aaa5371e4953fbd80fb523815e
2014-11-24 02:03:34 -07:00
Matthew Rasmus
361a2f04e2 servo: Merge #4080 - Update mach to latest changes from mozilla-central (from mttr:mach_update); r=jdm
Updates the way mach mixes unrecognized arguments and predefined arguments (see [mozilla bug 1076649](https://bugzilla.mozilla.org/show_bug.cgi?id=1076649) for details on this change), and also adds support for argument groupings (see [1077272](https://bugzilla.mozilla.org/show_bug.cgi?id=1077272)).

I was running into some annoyances when trying to implement a change that would allow a `--debug` flag to be used in `./mach run` for running Servo through a debugger (basically, the same behavior described under "How do I run Mozilla under gdb?" [here](https://developer.mozilla.org/en-US/docs/Debugging_Mozilla_with_gdb)). This change should make those annoyances go away, and as far as I can tell, it doesn't have an impact on the way any of the existing commands are used.

Source-Repo: https://github.com/servo/servo
Source-Revision: 4a257bc27152bef98068cfdc1433549aab05c5de
2014-11-23 22:48:32 -07:00
Kshitij Parajuli
a60d53dbbf servo: Merge #4070 - Fix SnifferManager Panic (from kparaju:master-mime-sniffer-failing-4046); r=jdm
Fixes #4046

I tested it by:

    ./mach test-wpt --include=XMLHttpRequest > old.log
    # make code changes
    ./mach test-wpt --include=XMLHttpRequest > new.log
    grep panic old.log # SnifferManager panics
    grep panic new.log # No SnifferManager panics

Source-Repo: https://github.com/servo/servo
Source-Revision: 65350bb2258d999e4fedb13438946d0e770d69c8
2014-11-23 22:24:34 -07:00
Manish Goregaokar
fdb73109be servo: Merge #4068 - Use atom! in place of Atom::from_slice where necessary (from Manishearth:atomify); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 60dfb65ab2278f8700bd698b2a9cc01e510e5b10
2014-11-23 22:00:40 -07:00
Trevor Riles
c8bc2efde0 servo: Merge #4064 - Make set_timeout_or_interval's is_interval an enumerated value instead of a boolean (from trevorriles:isintervalenum); r=jdm
Created an `IsInterval` enum to improve readability and remove the need for `true // is_interval`

I'm still fairly new to rust. I briefly looked for a way to implement boolean comparisons of the enum but didn't figure out a way.

Also I'm not attached to any of the names. Let me know what I can fix :)

Source-Repo: https://github.com/servo/servo
Source-Revision: 90007ee781e53f65344a24a0bdbeb86d5c0fe065
2014-11-23 21:36:37 -07:00
Matthew Rasmus
e873e5dfca servo: Merge #4077 - Adds --release flag to ./mach build-cef (from mttr:mach_build_cef_release); r=kmcallister
Requested by kmc in IRC.

```
11:36 < kmc> while you're mach-ing about, can you modify build-cef to
accept --release like build does?
```

Source-Repo: https://github.com/servo/servo
Source-Revision: a1a268ce1d00c865f14ae76c1d767f905cfc3a92
2014-11-23 12:57:36 -07:00
Corey Farwell
ac17250d03 servo: Merge #4072 - Make sure directories aren't getting tested (from frewsxcv:test-files); r=jdm
Fixes #3910

Source-Repo: https://github.com/servo/servo
Source-Revision: af42f1afc1dd2bcad50690c694c52b6b4f2d121a
2014-11-23 11:57:36 -07:00
nwin
ac5a93188a servo: Merge #4075 - Fixes 4037. Enable backtrace on run cmd (from nwin:fix-4037); r=Ms2ger
Fixes #4037

Source-Repo: https://github.com/servo/servo
Source-Revision: 593e3bc40c8c135f4fa1f0c6e59c6159edd76d74
2014-11-23 09:33:36 -07:00
Martin Robinson
05cadfd2fd servo: Merge #4074 - Update rust-layers to fix empty BufferRequest failures (from mrobinson:empty-tiles); r=jdm
rust-layers will now avoid sending empty buffer requests which can
cause failures when Servo tries to create empty platform surfaces.

Fixes #4060.

Source-Repo: https://github.com/servo/servo
Source-Revision: b33c31b5748ddfe4f1aec5f0813b47dc74adf604
2014-11-23 09:09:36 -07:00
Rohan Prinja
d05c466f44 servo: Merge #4067 - implement Document#createAttribute (from ajnirp:document-create-attribute); r=Manishearth
fixes #4054

Source-Repo: https://github.com/servo/servo
Source-Revision: d215ff786756bc38042b7f41ed93c14efa3b8fca
2014-11-23 08:21:37 -07:00
Patrick Walton
0dce6bf8e6 servo: Merge #4066 - layout: Fix De Morgan's Law error in incremental reflow, allowing float/absolute layout to be idempotent again (from pcwalton:float-incremental-layout-fix); r=cgaebel,cgaebel,cgaebel
Fixes the maze solver.

r? @larsbergstrom (or anyone)

Source-Repo: https://github.com/servo/servo
Source-Revision: e38e20da6500184df19654abe34322dd3c2fd99b
2014-11-22 11:12:35 -07:00
Matthew Rasmus
b58e3709f8 servo: Merge #4063 - Run a single WPT test from a relative path (from mttr:test_wpt_from_relpath); r=mbrubeck
Fixes #4055

This PR allows `./mach test-wpt` to be run  (from /path/to/servo) with a single relative path to some wpt test.

For example:
```
./mach test-wpt tests/wpt/web-platform-tests/dom/sometest.html
```
The argument `tests/wpt/web-platform-tests/dom/sometest.html` is passed on as `--include dom/sometest.html`.

Source-Repo: https://github.com/servo/servo
Source-Revision: e6e73b8da70a6acaeabc1abf13071d044996f103
2014-11-21 20:24:30 -07:00
Mike Blumenkrantz
a236341106 servo: Merge #4049 - Embedding callbacks (from zmike:embedding-callbacks); r=jdm
begin implementing CEF COM, add more types (stupid rust-bindgen taking forever to figure out...)

@jdm @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 2bba42ad19a792565b653cdd5551933ab2d41c2b
2014-11-21 20:00:36 -07:00
Glenn Watson
0d90c86c04 servo: Merge #4052 - Make glutin work on mac (from glennw:update-glutin); r=larsbergstrom
- Update glutin, and update rust-cocoa to use the servo fork now that upstream is up to date.
- Some events and resizing are still not working correctly on mac yet.

Source-Repo: https://github.com/servo/servo
Source-Revision: b4c3aec383b2b1cd19ab6267775f9fb3735aa977
2014-11-21 08:51:31 -07:00
Bruno de Oliveira Abinader
d21d7a524f servo: Merge #4056 - Couple of mod.rs.mako updates (from brunoabinader:css-updates); r=SimonSapin
TSIA

Source-Repo: https://github.com/servo/servo
Source-Revision: 4c1ca2fb96244f2e1e46e7883419e025e668cc46
2014-11-21 08:06:31 -07:00
Matthew Rasmus
62e6e16cbb servo: Merge #4053 - Allow reftests to be run directly w/ relative path (from mttr:reftests_with_relative_dir); r=SimonSapin
Fixes #3521

Source-Repo: https://github.com/servo/servo
Source-Revision: dfa9e1aa4ac2c10b338d17fbad78f93323f66242
2014-11-21 05:06:31 -07:00
Matthew Rasmus
bca98837ef servo: Merge #4050 - Implements Attr#nodeValue (from mttr:implement_attr_nodevalue); r=Ms2ger
Fixes #4047, and updates to expect tests that are now passing because of it.

Source-Repo: https://github.com/servo/servo
Source-Revision: c23bfdf1c52cdd42c37cd931525c23e22f1d289f
2014-11-20 17:18:29 -07:00
Glenn Watson
e76f75ceeb servo: Merge #4051 - Remove unused exit after load option (from glennw:remove-exit-load); r=mbrubeck
This simplifies some upcoming changes to how event handling works.

Source-Repo: https://github.com/servo/servo
Source-Revision: 32d765fb049318f2ff22f39fdeb9fa258ec8a174
2014-11-20 16:54:31 -07:00
Mike Blumenkrantz
0dad71cb40 servo: Merge #4044 - Embedding process (from zmike:embedding-process); r=jdm
Fixes #4023

@SimonSapin @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 133b523d2b3a95796e66e77fe6962abf79c3a4c7
2014-11-20 13:06:32 -07:00
Matthew Rasmus
43366b492f servo: Merge #4045 - Add a mach update command that invokes cargo update for all ports (fixes #3736) (from mttr:mach_update); r=jdm
Example usage:

``` sh
$ ./mach update-cargo -p rust-xml
.
    Updating git repository `https://github.com/netvl/rust-xml`
ports/cef
    Updating git repository `https://github.com/netvl/rust-xml`
ports/android/glut_app
    Updating git repository `https://github.com/netvl/rust-xml`
```

Source-Repo: https://github.com/servo/servo
Source-Revision: 9a139dac342dc72ec853749ce263c4c69a8a2b5f
2014-11-20 10:45:31 -07:00
Matthew Rasmus
a2f0bbd767 servo: Merge #4042 - Added libbz2-dev to Debian based prerequisites (from mttr:debian_requirements_update); r=SimonSapin
Encountered this when building for the first time today:

```
note: /usr/bin/ld: cannot find -lbz2
collect2: error: ld returned 1 exit status

error: aborting due to previous error
Could not compile `servo`.
```

Installing the libbz2-dev packaged fixed it. Added to the list of packages to install on Debian based linuxes in README.md

Source-Repo: https://github.com/servo/servo
Source-Revision: df471245c39ae7f54432cd3001e0c8404f8281f5
2014-11-20 10:00:58 -07:00
Patrick Walton
9c4a01833c servo: Merge #4040 - cef: Don't link against librustc in the final build artifact (from pcwalton:librustc-linkage); r=metajack
r? @zmike

Source-Repo: https://github.com/servo/servo
Source-Revision: ce6ea55acdf497eacfba8952d74769d164cc6ed8
2014-11-19 13:18:29 -07:00
Martin Robinson
c3675e6a6d servo: Merge #3964 - Remove some code duplication in the Compositor (from mrobinson:code-duplication); r=larsbergstrom
It is possible to share the code which creates root layers.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9da7f10c3c46fee3d11d4ef9e8fb642fc9fb9870
2014-11-19 09:00:47 -07:00
Glenn Watson
8a83aa075e servo: Merge #4035 - Remove rust-alert as it's broken on mac, and unimplemented on other platforms (from glennw:remove-rust-alert); r=pcwalton
Source-Repo: https://github.com/servo/servo
Source-Revision: 554f696db81665f92e9976a15d986b0fd0f99edf
2014-11-18 21:30:27 -07:00
Patrick Walton
c45bdbbfb9 servo: Merge #3904 - layout: Incrementalize reflow of block formatting contexts impacted by floats, and make float placement idempotent (from pcwalton:maze-solver-float-placement); r=cgaebel
r? @glennw @cgaebel

Source-Repo: https://github.com/servo/servo
Source-Revision: a07401ca4e9ab26d66c7a02e710cea143caca401
2014-11-18 16:39:25 -07:00
Glenn Watson
c04e3b2bc7 servo: Merge #4028 - Add glutin port (supported on Linux only currently) (from glennw:glutin); r=larsbergstrom
Default build uses glfw, but glutin can be enabled via:

./mach cargo build --no-default-features --features=glutin

Remaining work:
 * Mac
 * Android
 * hi-dpi
 * nested event loop

This PR also enables true headless (without X) rendering on Linux by specifying the rendering API as Mesa.

Source-Repo: https://github.com/servo/servo
Source-Revision: f5c6146de0b3bfda97edff6662033f4a981df3f6
2014-11-18 15:48:29 -07:00
Mike Blumenkrantz
2c925704ee servo: Merge #4025 - Embedding string multimap (from zmike:embedding-string_multimap); r=jdm
@jdm @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 71d49a5b8e3d62dde392a85b34b864ad358d4439
2014-11-18 14:39:31 -07:00
Claes 'Letharion' Gyllensvärd
91a5610f1a servo: Merge #4015 - Bitfield to bitflags (from letharion:Bitfield-to-bitflags); r=mbrubeck
Attempt to solve #3690

I've re-rolled the changes from https://github.com/servo/servo/pull/2610, and then doen the necessary updates to get this to compile with the current snapshot of rust.

The documentation for values I've added in the bitflag are missing, because I don't know what is the appropriate text.

Source-Repo: https://github.com/servo/servo
Source-Revision: e13873bba1782580db4abe46e883b08da829cbb6
2014-11-18 11:42:32 -07:00
donaldpipowitch
0d92a68737 servo: Merge #4031 - wide form buttons fixes #3972 (from donaldpipowitch:wide-form-buttons); r=jdm
My first pull request to servo \o/

Try to fix https://github.com/servo/servo/issues/3972. Tested with `./mach run tests/html/test-inputs.html`.
Any reasons why this CSS is formatted this way? (All properties on the same line. Looks a little bit _generated_?)

Source-Repo: https://github.com/servo/servo
Source-Revision: 51e1f56ff73f46c65f79ccd07dcabed9d76fd8e9
2014-11-18 09:06:33 -07:00
Achal Shah
9c9758245b servo: Merge #4030 - Stop including the element during Element.getElementsByClassName (from achals:master); r=Ms2ger
https://github.com/servo/servo/issues/3995

This is my first PR, so please let me know if I'm doing something wrong!

Source-Repo: https://github.com/servo/servo
Source-Revision: 8cecb03d756d8df4de69ca13b663d547f438d320
2014-11-18 08:45:35 -07:00
Zachary Newman
36a1fd352e servo: Merge #4027 - Implement DOMImplementation.hasFeature (from znewman01:issue4010); r=Ms2ger
Fixes #4010.

This is my first Servo contribution, so let me know if I missed anything!

Source-Repo: https://github.com/servo/servo
Source-Revision: efb4fe4a4ac9bf96cf1db649ab112014ce2c13a4
2014-11-18 07:54:33 -07:00
Zachary Newman
981dd5640f servo: Merge #4029 - Update behavior of Document.createElement (from znewman01:issue4009); r=Ms2ger
Fixes #4009.

Only lower-case the argument to Document#createElement if it's a HTML document.

Source-Repo: https://github.com/servo/servo
Source-Revision: 929671f945d30deaf37bbb9e23d15d09387bdf09
2014-11-18 07:15:34 -07:00
Claes 'Letharion' Gyllensvärd
75a8017b4c servo: Merge #4021 - HTMLScriptElementHelpers::is_javascript should compare ASCII case-insensitively (from letharion:Case-insensitive-HTMLScriptElementHelpers-comparision); r=Ms2ger
Fix for #3993

Source-Repo: https://github.com/servo/servo
Source-Revision: 3fafd61f718e1f0d14c192b670a602316d02dfd0
2014-11-18 06:51:34 -07:00
Ms2ger
058206f7bf servo: Merge #4019 - Various cleanup in constellation.rs (from Ms2ger:constellation); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 64cc9ec6881add395b93341a32e90546b2f7211f
2014-11-17 10:36:29 -07:00
Matt Brubeck
9deafa3582 servo: Merge #3987 - Use the correct Rust path in Android packaging (from mbrubeck:rust-root); r=larsbergstrom
r? @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 2bda68f03862ae9b58673d7685ec80e61d5ba65e
2014-11-17 09:21:28 -07:00
Simon Sapin
bc85e619ae servo: Merge #4016 - Fix freetype build (from SimonSapin:fix-freetype-build); r=Manishearth
Pick up https://github.com/servo/libfreetype2/pull/3

r? @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: bd4f94a11f556451634ac073e690fa42816e5580
2014-11-17 08:30:31 -07:00
Ms2ger
81e4c70e86 servo: Merge #4017 - Reformat sniffer_task.rs (from Ms2ger:sniffertask); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 9833cfbbffa79c74d9ee794e836c8007cd802c10
2014-11-17 07:57:29 -07:00
Andrew Hobden
8faed3b8cb servo: Merge #3991 - Update README for Homebrew (from Hoverbear:patch-1); r=jdm
glfw3 is in the `homebrew/versions` keg.

```bash
➜  ~  brew install glfw3
Error: No available formula for glfw3
Searching formulae...
Searching taps...
homebrew/versions/glfw3
```

Simplest fix:

```bash
➜  ~  brew install homebrew/versions/glfw3
Cloning into '/usr/local/Library/Taps/homebrew/homebrew-versions'...
remote: Counting objects: 2495, done.
remote: Total 2495 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (2495/2495), 820.05 KiB | 462.00 KiB/s, done.
Resolving deltas: 100% (1433/1433), done.
Checking connectivity... done.
Tapped 161 formulae
==> Installing glfw3 from homebrew/homebrew-versions
==> Downloading https://downloads.sourceforge.net/project/glfw/glfw/3.0.4/glfw-3.0.4.tar.bz2
Already downloaded: /Library/Caches/Homebrew/glfw3-3.0.4.tar.bz2
==> Patching
patching file CMakeLists.txt
Hunk #1 succeeded at 370 with fuzz 1 (offset 13 lines).
==> cmake -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/glfw3/3.0.4 -DCMAKE_BUILD_TYPE=None -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_VERBOSE_MAKEFILE=ON -Wno-dev -DGLFW_USE_CHDIR=TRUE -DGLFW_USE_MENUBAR=TRUE -DBUIL
==> make install
🍺  /usr/local/Cellar/glfw3/3.0.4: 11 files, 220K, built in 9 seconds
```

Users who have `homebrew/versions` already tapped won't notice this, since after tapping `homebrew/versions` keg shouldn't notice, since after tapping, the library is available using just ` brew install glfw3`.

```bash
➜  ~  brew tap
homebrew/versions
➜  ~  brew install glfw3
==> Installing glfw3 from homebrew/homebrew-versions
==> Downloading https://downloads.sourceforge.net/project/glfw/glfw/3.0.4/glfw-3.0.4.tar.bz2
Already downloaded: /Library/Caches/Homebrew/glfw3-3.0.4.tar.bz2
==> Patching
patching file CMakeLists.txt
Hunk #1 succeeded at 370 with fuzz 1 (offset 13 lines).
==> cmake -DCMAKE_INSTALL_PREFIX=/usr/local/Cellar/glfw3/3.0.4 -DCMAKE_BUILD_TYPE=None -DCMAKE_FIND_FRAMEWORK=LAST -DCMAKE_VERBOSE_MAKEFILE=ON -Wno-dev -DGLFW_USE_CHDIR=TRUE -DGLFW_USE_MENUBAR=TRUE -DBUIL
==> make install
🍺  /usr/local/Cellar/glfw3/3.0.4: 11 files, 220K, built in 9 seconds
```

Source-Repo: https://github.com/servo/servo
Source-Revision: b9dcaa34c32333ae16da7a5f11835c7d905da4d3
2014-11-17 07:21:29 -07:00
Shanil Puri
f04b66f021 servo: Merge #3796 - Servo exit devtools: Send exit message to devtools on browser exit (from shanil-puri:ServoExitDevtools); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: d1eaa3adda5e59cc34822d6d1477b987796dfd62
2014-11-17 06:15:30 -07:00
Rohan Prinja
757be2eede servo: Merge #4014 - key[board]event args for Document#createEvent (from ajnirp:doc-createevent-keyevents); r=Manishearth
fix #4007

Source-Repo: https://github.com/servo/servo
Source-Revision: eeb11d68516c201d7c57508263517b69ef425273
2014-11-16 21:36:30 -07:00
Glenn Watson
a9771bc8d8 servo: Merge #4012 - Update green-rs submodule to get android tls fix (from glennw:update-green-rs); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: a51d08737a1f7337f6fad1d3f28b11345fed70e2
2014-11-16 20:21:28 -07:00
Glenn Watson
f605e86196 servo: Merge #4013 - Redirect android resource folder (user-agent.css and friends) to /sdcard/servo (from glennw:android-resources); r=larsbergstrom
This is a temporary solution, until they are packaged properly.

Source-Repo: https://github.com/servo/servo
Source-Revision: 1fd94adb3ddaa56c2e5fb41422960a8a433a6389
2014-11-16 18:12:28 -07:00
Patrick Walton
7ccbb6f29d servo: Merge #3990 - gfx: Rewrite display list construction to make stacking-contexts more first-class (from pcwalton:stacking-contexts); r=glennw
This implements the scheme described here:

    https://groups.google.com/forum/#!topic/mozilla.dev.servo/sZVPSfPVfkg

This commit changes Servo to generate one display list per stacking
context instead of one display list per layer. This is purely a
refactoring; there are no functional changes. Performance is essentially
the same as before. However, there should be numerous future benefits
that this is intended to allow for:

* It makes the code simpler to understand because the "new layer needed"
  vs. "no new layer needed" code paths are more consolidated.

* It makes it easy to support CSS properties that did not fit into our
  previous flat display list model (without unconditionally layerizing
  them):

  o `opacity` should be easy to support because the stacking context
    provides the higher-level grouping of display items to which opacity
    is to be applied.

  o `transform` can be easily supported because the stacking context
    provides a place to stash the transformation matrix. This has the side
    benefit of nicely separating the transformation matrix from the
    clipping regions.

* The `flatten` logic is now O(1) instead of O(n) and now only needs to
  be invoked for pseudo-stacking contexts (right now: just floats),
  instead of for every stacking context.

* Layers are now a proper tree instead of a flat list as far as layout
  is concerned, bringing us closer to a production-quality
  compositing/layers framework.

* This commit opens the door to incremental display list construction at
  the level of stacking contexts.

Future performance improvements could come from optimizing allocation of
display list items, and, of course, incremental display list
construction.

r? @glennw
f? @mrobinson @cgaebel

Source-Repo: https://github.com/servo/servo
Source-Revision: 397d8138e7b27541faf03d9635d7648416da4a75
2014-11-16 16:39:27 -07:00
Glenn Watson
7ecba6a00a servo: Merge #4011 - Update gleam submodule, and use glfw to load OpenGL function pointers (from glennw:gleam-update); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 3da9ad464db7e3a422e06f82285aff15b7375344
2014-11-16 16:09:28 -07:00
Ms2ger
6da7215f3a servo: Merge #4003 - Correct the checks in step 5 of Node::pre_insert (from Ms2ger:pre-insert); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 1a40a6bc82558d1ca4997c9b93379df26e2a951f
2014-11-16 07:24:28 -07:00
Andrew Hobden
9088de48aa servo: Merge #3998 - Fix Table Caption infinite recursion (from Hoverbear:fix_table_caption); r=jdm
Fixed #3997.

Source-Repo: https://github.com/servo/servo
Source-Revision: 561fab57d6ac23758f0150e043be28adda12c772
2014-11-15 13:24:28 -07:00
Simon Sapin
05c514b3b2 servo: Merge #3980 - Use freetype-sys on Linux (from SimonSapin:freetype-sys-linux); r=larsbergstrom
See:
https://github.com/servo/libfreetype2/pull/2
https://github.com/servo/skia/pull/38
https://github.com/servo/rust-azure/pull/114

Let’s close #3867, even though this only works around and doesn’t fix the underlying issue.

r? @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 644765ea5e5a7981f3c35f74c10e2c744409c2a9
2014-11-15 12:48:29 -07:00
Mukilan Thiyagarajan
f925eec2be servo: Merge #3941 - Allow passing arguments to setTimeout/setInterval callbacks (from mukilan:timeout-arguments); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 43b452f3b874c4bf0392ceaec27a0e40f18b5e34
2014-11-15 11:09:32 -07:00
Kshitij Parajuli
e3913a40c6 servo: Merge #3766 - M1456, Implement MIME sniffing initial Step (from t29:mime-sniffing); r=jdm
Issue: #3144

We created a sniffer task in components/net/, added a call in resource_task load function to create a new sniffer task (sending all the data), and sniffer_task currently sends all the data back to resource_task.

The purpose of this request is to get feedback from @jdm on our progress before moving forward and writing tests.

Source-Repo: https://github.com/servo/servo
Source-Revision: 796258114b1d4681ca9dd9f745036f68535ecb56
2014-11-15 10:36:31 -07:00
Josh Matthews
6e29972f19 servo: Merge #3989 - Disable the iframe content test due to #3986 (from jdm:disableiframetest); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 483e84ca7b879a12764c529c3d389e28e7c46aaf

--HG--
rename : servo/tests/content/test_iframe_contentDocument.html => servo/tests/content/test_iframe_contentDocument.html.disabled
2014-11-15 10:03:33 -07:00
Mike Blumenkrantz
63ff3af0c3 servo: Merge #3984 - embedding: remove eutil::fptr_is_null, fix #3967, add Option<> to fptrs (from zmike:embedding-option_callbacks); r=jdm
@jdm,  @larsbergstrom

#legday

Source-Repo: https://github.com/servo/servo
Source-Revision: 443b1b98e168f2831ff0d6526c3a00b1a05c763e
2014-11-14 18:45:35 -07:00
Rohan Prinja
a25bda56bc servo: Merge #3977 - empty enum replaces c_void (from ajnirp:cef-empty-enums); r=jdm
fix for #3968

Source-Repo: https://github.com/servo/servo
Source-Revision: 0ab70dd539798022ebadd07fb799096809f14d3f
2014-11-14 17:15:33 -07:00
Ms2ger
2aa3272664 servo: Merge #3979 - Use {Cell,RefCell}::as_unsafe_cell (from Ms2ger:as_unsafe_cell); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 7d3b76c60d2d5bd61cf6b48d09d769df77af293d
2014-11-14 15:48:35 -07:00
Matt Brubeck
8f62c2a692 servo: Merge #3985 - Update Cargo.lock files for Android rustup fixes (from mbrubeck:android-green); r=larsbergstrom
r? @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: e3ee984f1747b27e66b80c8418af7ce51739880d
2014-11-14 15:03:35 -07:00
Tomasz Kołodziejski
ddd49dfd1c servo: Merge #3953 - Add contentDocument support for HTMLIFrameElement. Fixes #3808 (from neojski:implement-HTMLIFrameElement.contentDocument); r=jdm
Because of #2122 I cannot write test for this right now because it will be failing randomly due to that iframe issue. However, if it doesn't fail due to that issue a test like this:

```html
<html>
  <head>
    <meta charset="utf8" />
    <script src="harness.js"></script>
    <title>Iframe contentDocument test.</title>
  </head>
  <body>
    <iframe src="test_iframe_contentDocument_inner.html" id="iframe"></iframe>
    <script>
      waitForExplicitFinish();

      var timeout = 100;
      var iframe = document.getElementById('iframe');
      function test_contentWindow() {
        if (!iframe.contentWindow) {
          // Iframe not loaded yet, try again.
          // No load event for iframe, insert bug number here.
          setTimeout(test_contentWindow, timeout);
          return;
        }
        is(iframe.contentDocument.getElementById('test').textContent, 'value');
        finish();
      }
      test_contentWindow();
    </script>
  </body>
</html>
```
where inner is simply:
```html
<html><body><div id="test">value</div></body></html>
```
passes.

I have added `SameOrigin` method to the `UrlHelper`. I wanted to reuse it in [`constellation.rs` same_script check](f0184a2d01/components/compositing/constellation.rs (L625)) but I it didn't want to compile saying

```
error: unresolved import `dom::urlhelper::UrlHelper`. Maybe a missing `extern crate dom`?
```

So I didn't include it in this PR for now.

There is more discussion about the cross origin iframes in [another issue](https://github.com/servo/servo/issues/3939). In this PR I just added same origin check.

Source-Repo: https://github.com/servo/servo
Source-Revision: 85a2f0b66a32cfd6022b3e6cec6ec06f3b59baf1
2014-11-13 23:54:28 -07:00
Manish Goregaokar
c37a7ffe4c servo: Merge #3973 - Don't overwrite redirected URL in script_task (fixes #3970) (from Manishearth:301-fix); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 10cd7728ff0daa7d2e5e13d002d008b5049f389b
2014-11-13 17:45:29 -07:00
Mike Blumenkrantz
b89d8ffd01 servo: Merge #3947 - Embedding string map (from zmike:embedding-string_map); r=jdm
implements a string map which is 100% identical to CEF

r+ @larsbergstrom  @jdm

Source-Repo: https://github.com/servo/servo
Source-Revision: 99fc4ab634738136daa993443042a4cbf68c510c
2014-11-13 17:06:30 -07:00
Mike Blumenkrantz
90169aef41 servo: Merge #3946 - Embedding fixups (from zmike:embedding-fixups); r=jdm
adds a missing string api function and renames an existing string_list function

r+ @larsbergstrom @jdm ?

Source-Repo: https://github.com/servo/servo
Source-Revision: 1773198e8d4c5ebe82b4780ebf0828833aa61846
2014-11-13 16:00:40 -07:00
Simon Sapin
3925345206 servo: Merge #3971 - Download Cargo over HTTPS. Fix #3582 (from SimonSapin:cargo-https); r=Ms2ger
Download from https://static-rust-lang-org.s3.amazonaws.com, which apparently does not require SNI? This bypasses the CloudFront CDN and goes to directly to S3.

CC @brson

Source-Repo: https://github.com/servo/servo
Source-Revision: 8cb2b922ef8541aee9207efbacf0c125b61f8aaf
2014-11-13 14:24:45 -07:00
Matt Brubeck
28f2fd7384 servo: Merge #3969 - Update html5ever ref in Android Cargo.lock (from mbrubeck:android-html5-cargo); r=larsbergstrom
Fixes a build error.

Source-Repo: https://github.com/servo/servo
Source-Revision: c713bf472400d79448ba53548884779719bf6459
2014-11-13 11:30:35 -07:00
Josh Matthews
4d3016e023 servo: Merge #3585 - Implement single-line text input (from jdm:input); r=gw
This attempts to implement a bunch of the DOM Level 3 Events spec by implementing the KeyboardEvent interface, the document focus context, and dispatching keyup/keydown/keypress events appropriately. There's also some support for multiline text input that's untested.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2ffa845cf463b14b19322d477a77ffd20efa89a9
2014-11-13 10:57:33 -07:00
Glenn Watson
22c4035692 servo: Merge #3948 - Rust upgrade to rustc hash b03a2755193cd756583bcf5831cf4545d75ecb8a (from servo:rustup-20141105_2); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: c5e1b0d32e17fad29799023c85e2e73ac89c3af7
2014-11-12 20:48:31 -07:00
Martin Robinson
8cec6a7fbe servo: Merge #3809 - Clip display list based on frame viewport (from mrobinson:display-list-optimization); r=pcwalton
Instead of creating a display list for the entire page, only create one
for an area that expands around the viewport. On my machine this makes
incremental layout of http://timecube.com 50% faster.

Source-Repo: https://github.com/servo/servo
Source-Revision: 26045d7fcbab8851fbefe2851cd904203f8fd8dd
2014-11-12 17:36:32 -07:00
Guillaume Bort
7f266cc2c6 servo: Merge #3938 - Fix #3933 (from guillaumebort:fix/3933); r=jdm
Implement HTMLOptionElement.{label,value}

Source-Repo: https://github.com/servo/servo
Source-Revision: 668d9217d8b8d999547fd1e8b690da8c8d80ddda
2014-11-12 15:15:38 -07:00
thiagopnts
67f027d5e5 servo: Merge #3955 - Move code related to json packet reading to JsonPacketSender trait (from thiagopnts:devtools-refactoring); r=jdm
I was messing around devtools code and saw some TODOs, is anyone working on it? I took one of them:

```// TODO: this really belongs in the protocol module.```

I would be glad to help with this if no one is on it already, just let me know.

Source-Repo: https://github.com/servo/servo
Source-Revision: 88ff8c61f075e6f8b6123b810f1be4acf444b3d1
2014-11-12 14:42:35 -07:00
Martin Robinson
ec4079121d servo: Merge #3951 - Iframes (from mrobinson:iframes); r=jdm
This is the first step to allowing incremental iframe creation and destruction. This should eliminate task failures when an iframe is added to the frame tree lazily via script.

Source-Repo: https://github.com/servo/servo
Source-Revision: ccdd2910a2df9921b22c9db74f84559d78019199
2014-11-11 18:48:34 -07:00
Guillaume Bort
7ce46deae8 servo: Merge #3934 - Close #84 (from guillaumebort:fix/84); r=jdm
Actually `<img>` elements in `<noscript>` are not prefetched anymore.

Probably because html5ever already parses the `<noscript>` content as raw
text data if `scripting_enabled` is activated.

See https://github.com/servo/html5ever/blob/servo/src/tree_builder/rules.rs#L126

Also, added a test to the images cache.

Source-Repo: https://github.com/servo/servo
Source-Revision: b94f20c7c119302754c3e47ff8e69fe6edc94af1
2014-11-11 14:30:39 -07:00
Cameron Zwarich
92f13f320e servo: Merge #3958 - Remove unnecessary import of libgreen (from zwarich:remove-libgreen); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: f4471f06029ac03aa2ee26aa4398daaab9c6a371
2014-11-11 03:18:38 -07:00
Ms2ger
2c6798b469 servo: Merge #3949 - Fix the documentation comment for logical_geometry.rs (from Ms2ger:logical_geometry); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: f0184a2d011e12845258a242d2d2f6b8b504a28d
2014-11-10 05:33:35 -07:00
Shing Lyu
e9f57feaf4 servo: Merge #3915 - Extract the script task handlers code into separate methods (from shinglyu:bug3811); r=jdm
This is a fix for bug #3811 , thank you.

Source-Repo: https://github.com/servo/servo
Source-Revision: fc62243f81ba4c5a3585b2a80c859fad16083557
2014-11-09 20:24:31 -07:00
Ms2ger
e3578e3f69 servo: Merge #3945 - Remove content tests that are already covered by wpt (from Ms2ger:rm-tests); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: d63a35012cda3439e767ecbe7dc83aaa0421fc7e
2014-11-09 16:21:31 -07:00
Ms2ger
6fd7b67bf9 servo: Merge #3942 - Remove VoidVal (from Ms2ger:VoidVal); r=jdm
There are no undefined constants in IDL.

Source-Repo: https://github.com/servo/servo
Source-Revision: 182a9a70de44cbefcaeeb0e8d19e3831a83b40b3
2014-11-09 09:09:31 -07:00
Ms2ger
57a1c01f31 servo: Merge #3943 - Call waitForExplicitFinish in test_img_width_height.html (from Ms2ger:img_width_height); r=jdm
This fixes an intermittent failure introduced in
<https://github.com/servo/servo/pull/3929>.

Source-Repo: https://github.com/servo/servo
Source-Revision: caba4b3e76b50018c4ee805532f7784c34cea92a
2014-11-09 07:51:31 -07:00
Matt Brubeck
2dc36c5fd4 servo: Merge #3925 - Build fixes for Android windowing code (from mbrubeck:glut-loop); r=pcwalton
This begins porting the Android event loop to work with the inverted flow control from #3761.  Unfortunately, GLUT does not give us enough control over the event loop to really make this work, so this will build but it may not run properly.  Our current plan is to get rid of GLUT and switch to Glutin in the near future.

r? @pcwalton

Source-Repo: https://github.com/servo/servo
Source-Revision: 25e9830938d012f6cf0b98780d3034ea03f82078
2014-11-07 22:06:29 -07:00
Ms2ger
f9c1183651 servo: Merge #3937 - Add missing documentation for bindings code (from Ms2ger:docs-bindings); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: fe11a75f794db47a66426456e1e904cf107cc41d
2014-11-07 10:57:30 -07:00
Tom Schuster
5efd3b3693 servo: Merge #3935 - Implement the whole Attr interface (from evilpie:master); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: c311ceea8c875df074b1dc6386a3430c01c48e5c
2014-11-07 07:30:31 -07:00
Fabrice Desré
865ba9b759 servo: Merge #3930 - Issue #3804 : Allow enabling debug-mozjs from servobuild config (from fabricedesre:issue3804); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 23b75816a2fafe9004c2def038f0c0fe774cc1a8
2014-11-07 01:24:28 -07:00
Josh Matthews
83e2e14c53 servo: Merge #3929 - Make content tests synchronous by default. Fixes #884 (from jdm:finish); r=larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: bb7621f5dc33dd5068a3a4de7cdfe3af8b3d4130
2014-11-06 22:51:29 -07:00