Commit Graph

1488 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
d2aa423ba5 servo: Merge #8788 - webgl: Fix texturing (from emilio:fix-webgl-texturing); r=jdm
These two tiny changes were making WebGL textures not work.

It was not seen in our texturing test since it only used one texture,
we render to a texture by default, and that texture was bound to
`gl::TEXTURE_2D`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2cfcc26d9e5cc732a7594f0c0d96d4174c6b0a8a
2015-12-04 21:42:26 +05:00
Aleksandr Likhanov
1cf394a2f9 servo: Merge #8768 - fix intermittent Option::unwrap in timers (from vegayours:8616_intermittent_option_unwrap_in_timers); r=jdm
fixes intermittent #8616

This intermittent indicates real problem in code.
Lets consider such code:
```javascript
// timer 1
setTimeout(function() {
     //timer 2
     setTimeout(function() {}, 0);
}, 0);
```
When we receive event to fire timer 1 it will be selected and extracted from active timers list in fire_timer function. During timer 1 handler execution we will schedule timer 2 and request timer event for it. But it will be executed during same fire_timer call because of 0 timeout. And as a result we will have empty timers list and expecting event for timer 2 that will crash in assert.

I'm not sure that all I've written is clear, but we have something like this:
```
install timer 1 -> [1] in timers list
push and expect timer event 1 -> expected_event=1
received timer event 1
    fire_timer()
         select timer 1 to execute -> [] in timers list
         execute timer 1 handler
             install timer 2 -> [2] in timers list
             push and expect timer event 2 -> expected_event=2
         select timer 2 to execute (because of 0 timeout) -> [] in tiemrs list
         execute timer 2 handler
expected_event=2 is dangling
received timer event 2
    fire_timer() -> BOOM
```

Source-Repo: https://github.com/servo/servo
Source-Revision: b32128e299212065d298b19106b9b7db970c2f23
2015-12-04 20:49:58 +05:00
Ms2ger
300e9a4ccb servo: Merge #8805 - Simplify drain_modified_elements a bit (from Ms2ger:drain_modified_elements); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 9c2690347232ee6a2b16e28021e494ed17a0f274
2015-12-04 19:52:54 +05:00
Ms2ger
94ebcb60be servo: Merge #8820 - Fix warnings (from Ms2ger:warnings); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: bb117abcd3fee0c3435cefd3d4f196345770ca69
2015-12-04 14:39:00 +05:00
Josh Matthews
07cb1a9f04 servo: Merge #8818 - Make IPC image cache listener silently drop failures instead of catas… (from jdm:imagepanic); r=Manishearth
…trophically panicking. Resolves #8817.

Source-Repo: https://github.com/servo/servo
Source-Revision: 39a36a0098fd27230de1e1a3be835a7af589df2a
2015-12-04 12:28:43 +05:00
David Zbarsky
842dcb6a1a servo: Merge #8728 - Reset canvas state when changing bitmap dimensions (from dzbarsky:reset_bitmpa); r=dzbarsky
Ran http://mxr.mozilla.org/servo/source/tests/wpt/web-platform-tests/html/semantics/embedded-content/the-canvas-element/initial.reset.2dstate.html?force=1#88 to confirm that this code is being executed, but the test still fails because the font isn't implemented and the expando doesn't get reset.

Source-Repo: https://github.com/servo/servo
Source-Revision: 2bb34feb3ec8ba7aa3161ebc52f2ae9595192238
2015-12-04 11:27:55 +05:00
Corey Farwell
3d1c907319 servo: Merge #8810 - Fix broken WebIDL spec link (from frewsxcv:webidl-spec-link); r=eefriedman
Source-Repo: https://github.com/servo/servo
Source-Revision: 261ce112972d5bb881513a94237be87bbbf4a212
2015-12-04 06:45:46 +05:00
Matt Brubeck
ea7823d554 servo: Merge #8785 - Add slow path for hit testing of iframe behind positioned content layer (from mbrubeck:fixed-hit-test); r=pcwalton
Fixes browser.html blocker #8759. r? @pcwalton

This adds a slow path for cases where the compositor's layer-based hit testing is incorrect.  If the script task discovers that a mouse event should have been dispatched to an iframe, it bounces the event back to the constellation to be forwarded to the correct pipeline.

This isn't terribly slow (on the slow path, it adds one extra round-trip message between script and constellation), but if we want to optimize this better we could instead replace the compositor's layer hit testing with display list hit testing in the paint task.  This would be a more complicated change that I think we should save for a follow-up.

This only fixes mouse input for now.  A basically-identical change will be needed for touch-screen input, whether we stick with this approach or switch to the paint task.

Source-Repo: https://github.com/servo/servo
Source-Revision: bc62b5aadb62267582fbd65daa28438ce6c6ac9c
2015-12-04 02:24:22 +05:00
Simon Martin
6f3f4b1f6f servo: Merge #8712 - Issue #8462: Add support for BufferSubData, CompressedTexImage2D and CompressedSubTexImage2D and reenable individual webgl WPT tests (from simartin:issue_8462); r=ecoal95
Fixes https://github.com/servo/servo/issues/8462

Source-Repo: https://github.com/servo/servo
Source-Revision: 5ee6fe120d43506e263cb4482b3a468d967a8386
2015-12-04 00:37:14 +05:00
Simon Martin
ae8ce39ad2 servo: Merge #8293 - Issue #8113: Support file, about and data schemes as form action (from simartin:issue_8113); r=jdm
Fix https://github.com/servo/servo/issues/8113 by supporting those schemes as form action and unit test the "about:blank" case

Source-Repo: https://github.com/servo/servo
Source-Revision: 18f74a3d69fc7ef0a3dabb5551d7d5a7eb973439
2015-12-03 22:18:46 +05:00
Jason Williams
63989cf1bf servo: Merge #8787 - now using external ref_slice instead of the std version fixed #8695 (from Jayflux:hotfix/8695); r=mbrubeck
Fixes #8695.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8ae008761f6bf19b7c912cf9e0bf2aa157f32dec
2015-12-03 15:40:24 +05:00
Eli Friedman
cc82f1bb12 servo: Merge #8786 - Remove unnecessary conversion to/from DOMString for localName (from eefriedman:localname-atom); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 63762d2b52ee6026216d304c8826bf8b4a5fdd20
2015-12-03 14:35:22 +05:00
Simon Sapin
dac4e7f3cc servo: Merge #8757 - Use skia and deps from crates.io (from servo:skia); r=mbrubeck
This makes the initial download for skia go from a 300 MB git repository to a 5 MB tarball. This should help with issues like #6132 and #7687.

Fix https://github.com/servo/skia/issues/70

This builds, but the at the moment causes a number of tidy errors for duplicated crates.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8b95d7b8d860ec4c0834192083361a9fb78ddbeb
2015-12-03 12:28:29 +05:00
Jitendra Jain
66e5569c7b servo: Merge #8739 - M1504: Implement final charset support for text_response method (from jitendra29:finalMimeAndCharsetHelper); r=eefriedman
Following changes have been made:

* Added final_mime_type and final_charset helper methods to return the appropriate final mime/charset values
* Modified the text_response method to use the final_charset instead of directly using the response charset

Source-Repo: https://github.com/servo/servo
Source-Revision: 6ec454b7f5926d84099930292ebdcbc8f6d5e89c
2015-12-03 11:57:19 +05:00
Yanir Seroussi
ad771c536d servo: Merge #8693 - Implement unspecified websocket close code (fixes issue #8158) (from yanirs:websocket-close-unspecified-status); r=jdm
Fixes #8158.

Source-Repo: https://github.com/servo/servo
Source-Revision: 01b4deb9d14926e5ad3ebe3e7f839affc4951a63
2015-12-03 11:26:18 +05:00
Anthony Ramine
2671537828 servo: Merge #7988 - Implement [Unforgeable] (from nox:unforgeable); r=jdm
This is mostly stolen from Gecko. As there, we define the unforgeable members
on an object stored in the slots of the prototype object. They are then copied
onto instance objects when they are instantiated. It should be noted that
proxy objects see their unforgeable memebers defined on their expando object.

Unforgeable attributes aren't properly inherited in codegen (in a similar
fashion as getters and setters as filed in #5875) and require to be redefined
in derived interfaces. Fortunately, there are currently no such interfaces.

No unforgeable members can be included into the TestBinding interfaces for good
measure because they are not compatible with setters.

Source-Repo: https://github.com/servo/servo
Source-Revision: 20df7fb7c82a5501342ac85278294e4bcb5b1ab7
2015-12-03 10:33:05 +05:00
Sam Gibson
b846355dca servo: Merge #7323 - Adds support for input element's maxlength attr (from samfoo:input-maxlength); r=jdm
This implements maxlength [as described by whatwg](https://html.spec.whatwg.org/multipage/forms.html#dom-input-maxlength) for input elements.

Remaining work:
* WPT test - I have no idea how to write a WPT for simulating user input. Webdriver? Open to suggestions here.
* Support for textarea (should be trivial, probably worth filing another issue)

servo/servo#7320
servo/servo#7004

Source-Repo: https://github.com/servo/servo
Source-Revision: fc3e950052b6cc580dc32fc03d978fad97b49ba8
2015-12-03 09:58:24 +05:00
Corey Farwell
1fdbae2718 servo: Merge #8714 - Implement attribute 'fgColor' on 'document' (from frewsxcv:body-fgcolor); r=Ms2ger
The 'text' attribute was implemented on `<body>` in #7841

Source-Repo: https://github.com/servo/servo
Source-Revision: 65108348aa543774ade163b25836018fa8f6c00f
2015-12-01 21:10:58 +05:00
Josh Matthews
6689e4a372 servo: Merge #8558 - Dispatch load events for cross origin iframes. Resolves #6672 (from jdm:crossoriginiframeload); r=glennw
Splitting it out from #6677.

Source-Repo: https://github.com/servo/servo
Source-Revision: 51c19fd733a863f2fae05e693795dbecce69f2ed
2015-12-01 03:39:11 +05:00
Anthony Ramine
a46628bf53 servo: Merge #8751 - Remove unused slot in prototype object (fixes #8588) (from nox:rm-prototype-slot); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 29c42a9f78a20ddeb5aa89b79d578a039c087967
2015-11-30 18:57:57 +05:00
David Raifaizen
7a2123f7f4 servo: Merge #8661 - Webdriver - GetWindowSize/IsEnabled/IsSelected (from craftytrickster:8623/some-webdriver-commands); r=jgraham
Added handlers for https://github.com/servo/servo/issues/8623:
GetWindowSize
IsEnabled(WebElement)
IsSelected(WebElement)

I am not sure how to actually verify my webdriver code works, if someone can give advice I would make the necessary changes.

Thanks!

Source-Repo: https://github.com/servo/servo
Source-Revision: a877a56e0e603c6cc8e9f951c2ad14b6fe8f9b62
2015-11-30 03:12:54 +05:00
Jason Schein
ce64d78802 servo: Merge #8735 - Make OnErrorEventHandlerNonNull return 'any' instead of 'boolean' (from echochamber:OnErrorEventHandlerNonNull-return-any); r=KiChjang
PR to fix #8710

> I think the specification must have changed since this was first added to Servo: https://html.spec.whatwg.org/multipage/webappapis.html#onerroreventhandler

Source-Repo: https://github.com/servo/servo
Source-Revision: b737e4e0fa10d3afc87f5217852caee1bfda4f5e
2015-11-29 14:30:19 +05:00
David Zbarsky
150bf1ff8a servo: Merge #8729 - Update Canvas webIDL to spec (from dzbarsky:canvas_webidl); r=dzbarsky
Source-Repo: https://github.com/servo/servo
Source-Revision: 2d164f2bebb63aa35269a4c3355beea3bbdcff01
2015-11-29 09:02:28 +05:00
Corey Farwell
8fbe575b22 servo: Merge #8722 - Add tracking issues for body/document attributes (from frewsxcv:tracking-issues); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 2dab0e15845f3ae625ca4b89facd62c2f2adb8b3
2015-11-29 04:06:17 +05:00
Eli Friedman
bde50bc128 servo: Merge #8703 - Compute attribute name atoms at compile-time (from eefriedman:dom-getter-setter-atom); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: eadaf30af396857535ad15b269bcba4f58e1ff9a
2015-11-28 20:10:07 +05:00
Guillaume Gomez
7855be6622 servo: Merge #8692 - Ensure crate are alphabetically sorted (from GuillaumeGomez:patch-1); r=Wafflespeanut
cc @nox

Source-Repo: https://github.com/servo/servo
Source-Revision: dbff1ab33636bc7d60a4c97b63f39b59985726ce
2015-11-28 19:04:11 +05:00
Brandon Fairchild
ee7c1860dc servo: Merge #8701 - Remove #[allow(raw_pointer_derive)] attributes (from nerith:attribute); r=jdm
The attributes are unused.

Fixes #8699.

Source-Repo: https://github.com/servo/servo
Source-Revision: c0be03f2afbd7aa02620325cd25256c97c75e559
2015-11-28 05:37:46 +05:00
Guillaume Gomez
ffbd83be65 servo: Merge #8675 - Add XMLDocument object (from GuillaumeGomez:master); r=nox
Fixes #8000

(Still working on it)

Source-Repo: https://github.com/servo/servo
Source-Revision: 99223656fbf6cade8c41d161a9e61a39f58ec796
2015-11-27 18:59:04 +05:00
Keith Yeung
e7c068ce7c servo: Merge #8696 - Use set_plaintext_state instead of plaintext tag (from KiChjang:change-parser-state); r=KiChjang
I don't know whether there's an issue reported for for this one.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 3720e4d5ef09d710deaf846c74356ccea8d7afce
2015-11-27 14:53:46 +05:00
Manish Goregaokar
09d3c7ef66 servo: Merge #8446 - Rust upgrade to rustc 1.6.0-nightly (5b4986fa5 2015-11-08) (from servo:rustup_20151110); r=SimonSapin+Ms2ger+jdm+Manishearth
<s>DO NOT r+ or try+ this</s>

<s>It causes an OOM (https://github.com/rust-lang/rust/issues/29740) and can crash the OS. Probably will set our CI on fire. </s>

Source-Repo: https://github.com/servo/servo
Source-Revision: f13c72d68e1e7f49e241938bfd6e8a588c68e86b
2015-11-27 10:17:00 +05:00
GauriGNaik
192058cf08 servo: Merge #8682 - Defined new trait ParseErrorReporter and added error_reporter member … (from jdm:css-error-reporter); r=jdm
…to ParserContext.

Rebase of #8210.

Source-Repo: https://github.com/servo/servo
Source-Revision: f5ef2f4f75cd58a3c6f1f123e413dc9d3a24f841
2015-11-27 03:26:08 +05:00
Matt Brubeck
95f0ec3467 servo: Merge #8671 - Fix clip rect for iframes in hit testing code (from paulrouget:iframe-hit-test); r=pcwalton
Fixes #8080 r? @mrobinson

Source-Repo: https://github.com/servo/servo
Source-Revision: 8efc954531d2c7491ea01b6e22c89e35c5cf434a
2015-11-26 00:09:36 +05:00
Alan Jeffrey
4d3e2c8d46 servo: Merge #8667 - Update string cache (from asajeffrey:update-string-cache); r=SimonSapin
Updated string_cache to 0.2, and updated the dependencies that depend on string_cache.
Removed references to string_cache_plugin.
Import atom! and ns! from string_cache.
Replaced ns!("") by ns!().
Replaced ns!(XML) and co by ns!(xml) and co.
Replaced Atom::from_slice by Atom::from.
Replaced atom.as_slice() by &*atom.

r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 188fa9378c103093f1f8dac24bff0d9d237fd2bc
2015-11-25 23:40:39 +05:00
David Zbarsky
bb672ef870 servo: Merge #6826 - Implement Range#deleteContents (from dzbarsky:deletecontents); r=jdm
Sadly calling ExtractContents and discarding the result doesn't do the right thing.
It may be worth having a CutContents method that takes an `Option<DocumentFragment>` and switch the behavior based on it, to share the code between DeleteContents and ExtractContents, like what Gecko does.  Maybe a followup.

Source-Repo: https://github.com/servo/servo
Source-Revision: e7b19249489eff7a7fd49bf458ee7bd681f8ad13
2015-11-25 19:25:02 +05:00
Patrick Walton
d5235f97ad servo: Merge #8660 - Update ipc-channel to pick up the improved error reporting (from pcwalton:ipc-channel-errors); r=larsbergstrom
Intended to help diagnose intermittent failures.

r? @jdm or @larsbergstrom (or whoever)

Source-Repo: https://github.com/servo/servo
Source-Revision: 13a96fcaf78c299beb2021d3ae9dae8d9e916762
2015-11-25 07:01:15 +05:00
Tom Schuster
8a65c3f959 servo: Merge #8655 - Implement document.domain getter (from jdm:domain); r=jdm
Rebased from #6840 + test fixes.

Source-Repo: https://github.com/servo/servo
Source-Revision: 0905088e83819ada426ee6124f8c7e2d8978ea8b
2015-11-24 05:31:13 +05:00
Simon Sapin
af5a12f917 servo: Merge #8656 - Implement currentColor for Canvas colors (from servo:canvas-currentcolor); r=SimonSapin
Fixes #7120.

This is #7120 by @dzbarsky, with one tidy error fixed.

Source-Repo: https://github.com/servo/servo
Source-Revision: 6ef6d664aab9368e69f0c9bc9c4c37ad22d79897
2015-11-23 22:39:57 +05:00
Nick Fitzgerald
2575c70aaf servo: Merge #8644 - Remove two unused imports from components/script/dom/node.rs (from fitzgen:remove-unused-imports-in-scropt-dom-node); r=eefriedman
Fixes these two compiler warnings:

```
   Compiling servo v0.0.1 (file:///Users/fitzgen/src/servo/components/servo)
/Users/fitzgen/src/servo/components/script/dom/node.rs:26:65: 26:78 warning: unused import, #[warn(unused_imports)] on by default
/Users/fitzgen/src/servo/components/script/dom/node.rs:26 use dom::bindings::inheritance::{Castable, CharacterDataTypeId, ElementTypeId};
                                                                                                                          ^~~~~~~~~~~~~
/Users/fitzgen/src/servo/components/script/dom/node.rs:27:53: 27:70 warning: unused import, #[warn(unused_imports)] on by default
/Users/fitzgen/src/servo/components/script/dom/node.rs:27 use dom::bindings::inheritance::{EventTargetTypeId, HTMLElementTypeId, NodeTypeId};
                                                                                                              ^~~~~~~~~~~~~~~~~
```

Source-Repo: https://github.com/servo/servo
Source-Revision: 6ab205a97e0b19adbb28c9fd18e34faf81dde589
2015-11-22 16:36:48 +05:00
Eli Friedman
ce25e4b2e0 servo: Merge #8441 - Make the needs_reflow method actually work correctly (from eefriedman:needs-reflow); r=bholley
The document node is always dirty because layout never clears the bit;
instead, check the dirty bit of the root element.

Source-Repo: https://github.com/servo/servo
Source-Revision: a2be34365ae3b3e9a4f7da7a0fb5ed2dbf8426eb
2015-11-22 05:14:08 +05:00
Corey Farwell
9ecc9181d1 servo: Merge #8622 - Implement 'url!(..)' macro (from frewsxcv:url-plugin); r=SimonSapin
https://github.com/servo/rust-url/issues/136

https://github.com/servo/rust-url/pull/137

Source-Repo: https://github.com/servo/servo
Source-Revision: ea690a2dff64d1cb4eb668473d62f1bbcb19f7c8
2015-11-21 20:40:52 +05:00
Rizky Luthfianto
7f627dbe76 servo: Merge #8633 - Remove 'Node::is_anchor_element' (from rilut:remove-node-is-anchor-element); r=nox
Should fixes #8631.

Source-Repo: https://github.com/servo/servo
Source-Revision: 28582bb9f55c89125ea2f4873e1ee079bcc5d092
2015-11-21 15:31:37 +05:00
Rizky Luthfianto
57e85ef82a servo: Merge #8627 - Move SetDOMProxyInformation() call from script_task.rs to script/lib.rs (from rilut:refactor-script); r=Ms2ger
Actually, I'm not sure whether to move `unsafe extern "C" fn shadow_check_callback` from script_task.rs to lib.rs or to keep it there. cc: @wenderen

Source-Repo: https://github.com/servo/servo
Source-Revision: 7ccdc42a660bed7ac3bd3ad110567b79cba012ff
2015-11-21 14:56:38 +05:00
James Graham
3b9162b3e1 servo: Merge #8621 - Add support for getting an element's computed style through WebDriver (from jgraham:webdriver_css); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 585d2d5c8c4e59be20ab9660dab75fc55438e247
2015-11-21 10:39:50 +05:00
Ms2ger
37ff6e57ee servo: Merge #8617 - Remove an unused trait (from Ms2ger:unused-as); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 18ee6bc30a90855beb7574a5e7627b436e12c193
2015-11-21 05:51:02 +05:00
Patrick Walton
d4e67f7fa7 servo: Merge #8599 - compositing: Split Servo up into multiple sandboxed processes (from jdm:e10s-redux); r=metajack
Multiprocess mode is enabled with the `-M` switch, and sandboxing is
enabled with the `-S` switch.

Rebase of #6884.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8b39b9afed6ef8a3d7d3e6609fd301a37825d3e1
2015-11-20 03:29:48 +05:00
Aleksandr Likhanov
e66a72276c servo: Merge #8589 - Reduce node.unique_id size (from vegayours:8360_reduce_node_unique_id_size); r=eefriedman
Source-Repo: https://github.com/servo/servo
Source-Revision: e5c9b4859870ab7dcb6a5137ac5106088ccc3872
2015-11-20 01:14:19 +05:00
James Graham
8492872b76 servo: Merge #8564 - Implement Get Element Attribute WebDriver command (from jgraham:webdriver_attr); r=Ms2ger
This intentionally doesn't implement the special handling for boolean
attributes yet, since that requires some kind of exhaustive list of all
such attributes

Source-Repo: https://github.com/servo/servo
Source-Revision: 7f95693288eac546b7b31a51a6fcf80883ae533b
2015-11-19 22:46:25 +05:00
Ms2ger
8024ed703c servo: Merge #8604 - Remove unused import (from Ms2ger:unused-import); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: ced8763b25df54f7820563200003dd79c05d0ec3
2015-11-19 21:42:19 +05:00
Ms2ger
3444e31f55 servo: Merge #8605 - Rename a confusing argument (from Ms2ger:rename-argument); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 7526ed72d7c7533cf758c85b98cd61952c0578d9
2015-11-19 21:09:57 +05:00
Keith Yeung
6c1517928e servo: Merge #8530 - Split ConstellationMsg into ScriptMsg and CompositorMsg (from KiChjang:split-constellation-msg); r=jdm
Fixes #8356.

Source-Repo: https://github.com/servo/servo
Source-Revision: acbe41305230a926458596444ca955eff063d9dd
2015-11-19 04:09:20 +05:00