Commit Graph

2765 Commits

Author SHA1 Message Date
Arthur Skobara
0831db0036 servo: Merge #8955 - Add comments for the "Constructing the form data set" algorithm (from askobara:docs-htmlformelement-get_form_dataset); r=waffles
Fixes #7852

Source-Repo: https://github.com/servo/servo
Source-Revision: 1d7f296fb8263490ebbcdac371f671ef15a36665
2015-12-14 13:31:25 +05:00
Anthony Ramine
7077d2316e servo: Merge #8964 - Fix Node::replace_with (from nox:replacewith); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: cbd2c9560babbad96eaeb3608bada012103d691b
2015-12-14 10:14:21 +05:00
David Zbarsky
e8b98cf1e6 servo: Merge #8761 - Implement some more WebGL functions (from dzbarsky:gl_functions); r=dzbarsky
r? @ecoal95

Source-Repo: https://github.com/servo/servo
Source-Revision: 89d9aad1e1e3cd93b12088f09aad1193e7298ba4
2015-12-14 07:55:20 +05:00
Keith Yeung
0ad69ca006 servo: Merge #8854 - Treat 'undefined' passed to optional JS arguments as missing (from KiChjang:undefined-as-missing); r=frewsxcv
@frewsxcv please don't hurt me for this.

I've added an AND condition to check whether the value being passed is undefined while checking whether the argument exists at all. Essentially, this is now treating undefined arguments the same as missing arguments.

Fixes #8813.
Fixes #6558.

Source-Repo: https://github.com/servo/servo
Source-Revision: 8bab1cd7a4634618d18985d273c6997984919ecc
2015-12-13 10:11:56 +05:00
Arthur Skobara
8e77bdbee2 servo: Merge #8949 - Remove from Trusted::new an unnecessary argument (from askobara:refactoring-trusted-new); r=jdm
Fixes #8779

Source-Repo: https://github.com/servo/servo
Source-Revision: e493a0655e69c1472a53708d213fd102decc59cb
2015-12-13 03:23:40 +05:00
Ms2ger
bdffd9acf8 servo: Merge #8942 - Rename the browsercontext module (from Ms2ger:rename-bc); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: f4783a0ec30c74f93c161372de806309900172ca
2015-12-12 13:48:25 +05:00
Ms2ger
322645f8f2 servo: Merge #8946 - Remove unused imports (from Ms2ger:warnings); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 16de31c13ce1dd002bd25dfb5b51a2fd7079b14a
2015-12-12 12:17:39 +05:00
Ms2ger
62815008db servo: Merge #8935 - Avoid some rooting in parsing (from Ms2ger:get_or_create); r=Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: 2a416e77a82141ebe6833f1def31e799af5d1c6b
2015-12-12 01:08:49 +05:00
Corey Farwell
df96c96730 servo: Merge #8930 - Pass around event types as Atoms instead of Strings (from frewsxcv:event-type-atom); r=nox
`Event` internally stores the `type` as an `Atom`, and we're `String`s
everywhere, which can cause unnecessary allocations to occur since
they'll end up as `Atom`s anyways.

Source-Repo: https://github.com/servo/servo
Source-Revision: 99fd946130c9f06433b47c7f60241d5f7ad14a5b
2015-12-11 20:42:35 +05:00
Ms2ger
478df9e47b servo: Merge #8918 - Initialize the slots of global objects before a possible GC (from Ms2ger:trace); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: e71ec40462b2fbadc0c40bbf1e8684f323d53ef0
2015-12-11 10:51:55 +05:00
Corey Farwell
74d0652add servo: Merge #8926 - Prefer 'if let' over 'map() with side effects' (from frewsxcv:no-map); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 0abddae49d1fe0207469db6bfc84fe582b6ece9f
2015-12-11 06:23:36 +05:00
Tetsuharu OHZEKI
56a958507a servo: Merge #8922 - Fix warnings: Use Vec.extend_from_slice instead of Vec.push_all (from saneyuki:warning); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: d01233a7b417c87b18d31f10709ed83141887b94
2015-12-11 04:27:58 +05:00
Alex Gaynor
20b3428dd9 servo: Merge #8911 - Remove two "#![feature]" that are now stable (from alex:patch-1); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: 100595190bfeeffec4fc7b26b76c67bbe150a989
2015-12-10 11:42:07 +05:00
Tomas Cernaj
14ace799a9 servo: Merge #8909 - Move ScriptMsg to script_traits crate, Fixes #8833 (from cnaj:msg_refactoring); r=jdm
Review of documentation that was missing needed.

Fixes #8833.

Source-Repo: https://github.com/servo/servo
Source-Revision: 7438bc0425749989b8aab084a34ff3fff2ea6679
2015-12-10 10:54:44 +05:00
Jitendra Jain
0664f69e71 servo: Merge #8828 - M1503/M1504 : Support for missing XMLHttpRequestAPIs and Document response handling (from Ronak6892:docResp); r=eefriedman
Hi,
This is for NCSU Fall 15 project M1503 and M1504:
M1503: Integrate XML Parser (Step 3 of 4): Support for Document response handling and calling the appropriate parser.
M1504: Support for missing XMLHttpRequest APIs
https://github.com/servo/servo/wiki/Integrate-xml5ever
It includes changes to handle document response for XMLHttpRequest.
Kindly review.

Source-Repo: https://github.com/servo/servo
Source-Revision: bd8af8e2349c0cc379ba958ef322d41e1de1f668
2015-12-10 08:30:19 +05:00
Ms2ger
1a64f8aa67 servo: Merge #8907 - Update rustc to the 2015-12-09 nightly (from servo:rustup); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 8c849cf1a35cc8fc65b07119fcc424a60309f933
2015-12-10 00:01:31 +05:00
Nova Fallen
6d9c2b508a servo: Merge #8867 - Move websocket creation to resource task (from nfallen:6638-websocket_loader); r=jdm
This is a pull request for part of https://github.com/servo/servo/issues/6638

It includes the following changes:
-The websocket networking code (ie. making a connection, receiving data, and sending data) has been extracted out of components/script/dom/websocket.rs and into the new file components/net/websocket_loader.rs.
-websocket.rs now communicates with the resource task (components/net/resource_task.rs) to instruct it to initiate a new websocket connection
- websocket_loader.rs now provides an API sent over an IPCChannel that allows websocket.rs to receive feedback about this process and to subsequently send and receive data

Source-Repo: https://github.com/servo/servo
Source-Revision: 951ab565d150b4f108254e06a14ccbe7f1005469
2015-12-08 20:10:50 +05:00
Josh Matthews
19cc015811 servo: Merge #8827 - Avoid a null-dereference using debug mozjs builds. This matches the e… (from jdm:debugmozjscrash); r=Ms2ger
…quivalent code upstream in Gecko.

Source-Repo: https://github.com/servo/servo
Source-Revision: 59029325c04d94af636e0b48478b00404afc4f7c
2015-12-08 11:41:53 +05:00
Emilio Cobos Álvarez
8d35774e23 servo: Merge #8876 - WebGL nits (from emilio:webgl-nits); r=jdm
This improves support for running our triangle test (see: https://github.com/servo/servo/pull/8831), and adds missing error in `BufferSubData`

Source-Repo: https://github.com/servo/servo
Source-Revision: 9cccd34bc487f485c69dae71c5cd07ac8fabed4d
2015-12-08 03:26:52 +05:00
Florian Strübe
f926dd03a0 servo: Merge #8862 - Moved WorkerId type to devtools_traits (from fstr:move_workerid); r=Ms2ger
Fixes #8846.

Source-Repo: https://github.com/servo/servo
Source-Revision: 02f4be9c9f82a6e03942977eece39d98dcaff839
2015-12-08 00:23:40 +05:00
Keith Yeung
eca7ceda64 servo: Merge #8853 - Split fn script_chan into 5 different task channel fn (from KiChjang:generic-task-sources); r=jdm
Partial #7959.

Source-Repo: https://github.com/servo/servo
Source-Revision: ef000a458a52051b55b65e254ff9fe1a55835d04
2015-12-07 07:16:10 +05:00
Simon Martin
925dedbbf5 servo: Merge #8831 - Issue #6791: Allow more array types in bufferData and bufferSubData (from simartin:ticket_6791); r=eefriedman
Fix https://github.com/servo/servo/issues/6791

Source-Repo: https://github.com/servo/servo
Source-Revision: 95e6b1d101ca1a1019b8fea1a13a5ef37430901f
2015-12-07 02:09:32 +05:00
Roman Klauke
4bace2a177 servo: Merge #8855 - move FocusType enum to the script crate (from romankl:move-focus-enum); r=Ms2ger
This commit moves the FocusType enum to the script crate and replaces all usages with the new `usage`.

Fixes #8840

Source-Repo: https://github.com/servo/servo
Source-Revision: e16c930f36582f40da4736f88675f559e7e47098
2015-12-06 19:46:23 +05:00
David Zbarsky
114af9bcc3 servo: Merge #8740 - Implement IsPointInPath for Canvas (from dzbarsky:ispointinpath); r=frewsxcv
Source-Repo: https://github.com/servo/servo
Source-Revision: 98972d04342602610a7465de7b0639e2b9c1dcf3
2015-12-06 06:49:23 +05:00
Simon Sapin
686c7f590d servo: Merge #8852 - Add link to issue for :visited (from servo:visited-issue-link); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: 2af23dc06151475b053bd76976fd9da899f27b8b
2015-12-06 01:36:40 +05:00
Jigesh Mehta
01a9a102b5 servo: Merge #8812 - M1504: Implement basic support for withCredentials API (from jitendra29:support-withCredentials); r=jdm
The pull request includes the following task:

* Implemented basic network-level support by adding a member to LoadData that is used by http_loader.rs to conditionally exclude cookies from the HTTP request if the flag is false (default true)

Source-Repo: https://github.com/servo/servo
Source-Revision: 217a55a7854ec3a843bb94f50a8952c61d5fcc2a
2015-12-05 04:43:01 +05:00
ronak
eefa5a90aa servo: Merge #8829 - M1503 : Integrate XML Parser : First 2 of 4 Subsequent Steps (from jdm:xmlparser2); r=jdm
Rebase of #8746. Introduce and use an XML parser for text/xml network responses when loading web pages.

Source-Repo: https://github.com/servo/servo
Source-Revision: 368dd1dc53cd595bbbcf6f9fb139e9ac573a351b
2015-12-05 02:38:40 +05:00
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