Confirmed users
512
edits
(→Key Dates: added dates) |
(Add Servo project.) |
||
Line 25: | Line 25: | ||
#Get in the mindset of a new contributor. Pick out what you think is important information from the page in step #1 and turn it into a mini tutorial (or an outline for a tutorial). This can be an infographic, video, slideshow, storyboard or any format of your choice. | #Get in the mindset of a new contributor. Pick out what you think is important information from the page in step #1 and turn it into a mini tutorial (or an outline for a tutorial). This can be an infographic, video, slideshow, storyboard or any format of your choice. | ||
#Send your tutorial or storyboard to [https://mozillians.org/en-US/u/jsavage/ Joni Savage] along with an explanation. | #Send your tutorial or storyboard to [https://mozillians.org/en-US/u/jsavage/ Joni Savage] along with an explanation. | ||
=== Servo: Complete implementation of Fetch standard === | |||
Mentor: [https://mozillians.org/en-US/u/jdm/ Josh Matthews] | |||
==== Details ==== | |||
Servo is a brand new web rendering engine written from the ground up in [https://rust-lang.org Rust]. This allows us to try implementing old web features in new ways, including the underlying model for performing network requests inside the browser. The [https://fetch.spec.whatwg.org/ Fetch standard] defines a series of steps to ensure proper security checks are performed when necessary, and we want to try using it everywhere in Servo! | |||
A partial implementation of this model already exists in Servo, but there are large pieces missing. You will be responsible for the following: | |||
* integrating our existing network request code with the HTTP-network-or-cache-fetch step | |||
* moving cross-origin security checks out of callers and into the fetch implementation | |||
* converting existing code that makes network requests to use the new fetch APIs | |||
* writing tests to ensure specification conformance | |||
Servo is written almost entirely in Rust; besides some diversions into HTML and JavaScript for reading and writing tests, this project will require you to work exclusively in the language. Do not fear! We regularly receive contributions from first-time Rust programmers, and it's a great motivator to gain experience in a new low-level language. There will be many opportunities to practice reading, understanding, and refactoring existing code, in addition to writing new implementations when necessary. Furthermore, you will gain proficiency in reading web specifications. | |||
What you can do to get involved: | |||
* Clone and build the [https://github.com/servo/servo/ code] | |||
* Find an issue that looks interesting ([https://github.com/servo/servo/issues/ ones with the E-easy label recommended as a first step]) | |||
* Leave a comment stating that you're working on it, then get to work | |||
* Feel free to introduce yourself on [https://wiki.mozilla.org/IRC IRC] (#servo) or on the [https://groups.google.com/forum/#!forum/mozilla.dev.servo mailing list] |