gecko-dev/servo/resources
Nikhil Shagrithaya a03ae92655 servo: Merge #17037 - Added Async HTML Tokenizer (from cynicaldevil:impl-Sink); r=nox
Design: I realized having two different parsers for sync and async was wrong, because the API for both was fundamentally the same. All I needed to do was create another Tokenizer, because `ParseNode` ( representation for nodes which are yet to be created) is used by the TreeBuilder and the Sink, and the `Tokenizer` is the 'lowermost' type concerned with these two types.

Therefore, I created one and placed it in `async_html.rs`, and also created a new Sink which deals with `ParseNode`s. I changed the methods in ServoParser to take an `async` argument too, which decides which Tokenizer will be used. The Tokenizer isn't exactly *async* for now, but this PR separates action creation from execution, which allows the async behaviour to be implemented later. Right now, all actions are executed soon after they are created.

The Sink consists of two Hashmaps, `nodes`, which contains the actual nodes, with the key being their corresponding `ParseNode`'s id, and `parse_node_data`, which contains metadata about the nodes.

It's still a bit rough, (I can't figure out how to deal with `complete_script` and `is_mathml_annotation_xml_integration_point`, along with some other parts I wrote in a hurry), but I believe the overall design is sound. I'd like to hear what you think about it.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9c2dffdf72efe4274bb514407edc552b14fc0a4d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 706e41f53fd00305d695faa3c78757c6771cf6c9
2017-06-17 02:21:19 -07:00
..
ahem servo: Merge #7013 - Make the Ahem font available to test-css and test-wpt tests (from servo:user-stylesheets); r=mbrubeck 2015-08-07 14:05:19 -06:00
user-agent-js servo: Merge #5298 - Basic userscript support (from Manishearth:userscript); r=saneyuki 2015-03-22 08:27:48 -06:00
Credits.rtf.mako servo: Merge #12250 - Add servo version to mac about servo window (from cbrewster:mac_about_version); r=larsbergstrom 2016-08-19 19:45:00 -05:00
Servo.ico servo: Merge #16509 - Add new Servo icon for Windows (from atouchet:win-ico); r=jdm 2017-04-20 20:51:04 -05:00
ahem.css servo: Merge #7013 - Make the Ahem font available to test-css and test-wpt tests (from servo:user-stylesheets); r=mbrubeck 2015-08-07 14:05:19 -06:00
android_params servo: Merge #13474 - Switch default renderer to webrender, and update webrender (from glennw:wr-default); r=Ms2ger 2016-09-28 13:42:14 -05:00
badcert.html servo: Merge #11932 - Print out useful SSL-related information on SSL error page (from jdm:servoorg-cert); r=asajeffrey 2016-06-29 16:47:57 -05:00
badcert.jpg servo: Merge #4741 - Basic certificate verification (from Manishearth:cert-checking); r=jdm 2015-01-31 03:42:48 -07:00
cert-google-only servo: Merge #4741 - Basic certificate verification (from Manishearth:cert-checking); r=jdm 2015-01-31 03:42:48 -07:00
certs servo: Merge #15106 - Update cert-generator and certs (from Manishearth:certs); r=avadacatavra 2017-04-03 12:50:21 -05:00
failure.html servo: Merge #3601 - Read user-agent.css at run time. Fix #3516 (from SimonSapin:runtime-ua-stylesheet); r=jdm 2014-10-08 00:42:36 -06:00
gatt_blocklist.txt servo: Merge #14429 - Replace Syntax with TypeError in bluetoothuuid.rs (from szeged:syntax-to-type-error); r=jdm 2016-12-06 17:30:40 -08:00
hsts_preload.json servo: Merge #8776 - Fix the parsing of the chromium HSTS preload list (from samfoo:hsts-preload-download-fix); r=jdm 2015-12-02 09:56:05 +05:01
iso-8859-8.css servo: Merge #5729 - Don't link to specific WHATWG multipage page (from frewsxcv:whatwg-multipage-redirects); r=Manishearth 2015-04-17 08:57:33 -05:00
itried.jpg servo: Merge #8649 - Moving Servo's cry message! (from Wafflespeanut:I_TRIED); r=SimonSapin 2015-11-23 02:52:57 +05:01
neterror.html servo: Merge #12539 - Improve page load error information (from johannhof:error-page); r=jdm 2016-07-21 13:27:06 -05:00
not-found.html servo: Merge #8650 - Redirect to an error page on 404! (from Wafflespeanut:about-404); r=Wafflespeanut 2015-11-26 22:18:03 +05:01
package-prefs.json servo: Merge #14877 - Package: Create ZIP on Windows and fix MacOS nightlies (from UK992:mach-package); r=Wafflespeanut 2017-01-05 21:45:31 -08:00
prefs.json servo: Merge #17037 - Added Async HTML Tokenizer (from cynicaldevil:impl-Sink); r=nox 2017-06-17 02:21:19 -07:00
presentational-hints.css servo: Merge #16915 - Shrink selectors::Component, implement attr selector (in)case-sensitivity (from servo:attr-selectors); r=nox,emilio 2017-05-18 18:45:20 -05:00
privatekey_for_testing.key servo: Merge #14716 - Implement HSTS fetch step (from mrnayak:hsts); r=jdm 2016-12-29 00:35:09 -08:00
public_domains.txt servo: Merge #11513 - Add mach command to update public domain list and use a HashSet for matching (from fduraffourg:pr11216); r=jdm 2016-06-09 12:54:42 -05:00
quirks-mode.css servo: Merge #5980 - layout: Implement `<table width>` and `<center>` (from pcwalton:table-width-and-center); r=mbrubeck 2015-05-11 15:25:42 -05:00
quotes.css servo: Merge #5729 - Don't link to specific WHATWG multipage page (from frewsxcv:whatwg-multipage-redirects); r=Manishearth 2015-04-17 08:57:33 -05:00
rippy.png servo: Merge #8517 - Use the correct .png extension for the image placeholder (from rillian:rippy); r=larsbergstrom 2015-11-14 00:49:08 +05:01
self_signed_certificate_for_testing.crt servo: Merge #14716 - Implement HSTS fetch step (from mrnayak:hsts); r=jdm 2016-12-29 00:35:09 -08:00
servo.css servo: Merge #16265 - Inherit 'text-overflow' and 'overflow' in text fragment (from stshine:oh-box-model); r=emilio 2017-04-05 15:09:14 -05:00
servo.icns servo: Merge #11899 - Create Servo.app and dmg on mac package (from cbrewster:app_packaging); r=larsbergstrom 2016-06-28 14:58:06 -05:00
servo.png servo: Merge #11814 - Add a border to the logo to differentiate from background color (from jdm:fancy-logo); r=metajack 2016-06-21 10:43:11 -05:00
tumbeast.png servo: Merge #8650 - Redirect to an error page on 404! (from Wafflespeanut:about-404); r=Wafflespeanut 2015-11-26 22:18:03 +05:01
user-agent.css servo: Merge #13489 - Add support for fullscreen #10102 (from farodin91:fullscreen); r=jdm 2016-12-09 09:52:34 -08:00