CSC/ECE 517 Fall 2015/oss M1504 JJD: Difference between revisions
No edit summary |
|||
Line 1: | Line 1: | ||
=='''M1503: Implement support for missing XMLHttpRequest APIs'''== | =='''M1503: Implement support for missing XMLHttpRequest APIs'''== | ||
== | The goal of this project was to implement support for missing less-common features of the XMLHttpRequest API for [https://en.wikipedia.org/wiki/Servo_(layout_engine) Servo]. | ||
== | == Servo == | ||
Servo <ref> https://github.com/servo/servo </ref> is a web browser layout engine written in [https://github.com/rust-lang/rust Rust]<ref>https://github.com/rust-lang/rust</ref> and is currently being developed by [https://en.wikipedia.org/wiki/Mozilla Mozilla Research]. The aim of the project is to create a highly parallel environment that allows for many components be handled by fine-grained, isolated tasks.<ref>https://en.wikipedia.org/wiki/Servo_(layout_engine)</ref> | |||
== Rust == | |||
[https://en.wikipedia.org/wiki/Rust_(programming_language) Rust] is a multi-paradigm, compiled programming language that is a good language for creating highly safe systems. Rust and Servo have a symbiotic relationship as the development of servo has influenced the design of the language. | |||
==[https://xhr.spec.whatwg.org/ XMLHttpRequest]== | |||
"XMLHttpRequest is a definition of an API that provides scripted client functionality for transferring data between a client and a server."<ref>https://xhr.spec.whatwg.org/</ref> | |||
=='''Implementation'''== | =='''Implementation'''== | ||
==Initial Steps== | |||
The following steps were followed to meet the project requirements as per this [https://github.com/servo/servo/wiki/Implement-support-for-missing-XMLHttpRequest-APIs github page]. | |||
1)compile Servo and ensure that it runs on tests/html/about-mozilla.html | |||
2)uncomment the overrideMimeType API in XMLHttpRequest.webidl, and add a stub method that allows Servo to compile again to xmlhttprequest.rs. | |||
3)run the tests via ./mach test-wpt tests/wpt/web-platform-tests/XMLHttpRequest/ and adjust the expectations for any that now pass (tests/wpt/metadata/XMLHttpRequest/) | |||
4)add new override_charset and override_mime_type fields to the XMLHttpRequest structure | |||
5)implement the overrideMimeType steps described in the [https://xhr.spec.whatwg.org/#the-overridemimetype%28%29-method specifications] | |||
6)update any tests that now pass | |||
==Subsequent steps== | |||
=='''External Links'''== | =='''External Links'''== | ||
<references/> |
Revision as of 06:52, 30 October 2015
M1503: Implement support for missing XMLHttpRequest APIs
The goal of this project was to implement support for missing less-common features of the XMLHttpRequest API for Servo.
Servo
Servo <ref> https://github.com/servo/servo </ref> is a web browser layout engine written in Rust<ref>https://github.com/rust-lang/rust</ref> and is currently being developed by Mozilla Research. The aim of the project is to create a highly parallel environment that allows for many components be handled by fine-grained, isolated tasks.<ref>https://en.wikipedia.org/wiki/Servo_(layout_engine)</ref>
Rust
Rust is a multi-paradigm, compiled programming language that is a good language for creating highly safe systems. Rust and Servo have a symbiotic relationship as the development of servo has influenced the design of the language.
XMLHttpRequest
"XMLHttpRequest is a definition of an API that provides scripted client functionality for transferring data between a client and a server."<ref>https://xhr.spec.whatwg.org/</ref>
Implementation
Initial Steps
The following steps were followed to meet the project requirements as per this github page.
1)compile Servo and ensure that it runs on tests/html/about-mozilla.html 2)uncomment the overrideMimeType API in XMLHttpRequest.webidl, and add a stub method that allows Servo to compile again to xmlhttprequest.rs. 3)run the tests via ./mach test-wpt tests/wpt/web-platform-tests/XMLHttpRequest/ and adjust the expectations for any that now pass (tests/wpt/metadata/XMLHttpRequest/) 4)add new override_charset and override_mime_type fields to the XMLHttpRequest structure 5)implement the overrideMimeType steps described in the specifications 6)update any tests that now pass
Subsequent steps
External Links
<references/>