servo/components/script/dom
bors-servo 7cea4eb01c Auto merge of #11225 - izgzhen:patch-input-element-file, r=Manishearth
Implement file related functionalities in htmlinputelement and related

- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy --faster` does not report any errors
- [x] These changes is related to #11131
- [x] These changes do not require tests because it is a partial implementation

1. Improve the `filemanager_thread` by adding type string and create `SelectedFile`
2. Fill several gaps in `htmlinputelement` implementation related to file type
3. Improve the `File` interface to accommodate the above changes
4. Integrate changes introduced by PR #11189

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11225)
<!-- Reviewable:end -->
2016-05-23 01:10:46 -07:00
..
bindings Auto merge of #11225 - izgzhen:patch-input-element-file, r=Manishearth 2016-05-23 01:10:46 -07:00
webidls Auto merge of #11255 - s-baldrick:11158, r=ConnorGBrewster 2016-05-20 21:26:41 -07:00
activation.rs Call synthetic_click_activation for all clicks 2016-03-10 14:43:33 -05:00
attr.rs Implement nodeName on Attr 2016-04-03 10:27:41 -07:00
beforeunloadevent.rs dom: Add missing event handlers 2016-05-20 18:25:13 +01:00
blob.rs Removed unused imports 2016-05-15 22:24:26 +03:00
bluetooth.rs Remove BluetoothDevice members 2016-05-05 12:47:52 +02:00
bluetoothadvertisingdata.rs Fix value types 2016-05-03 10:17:38 +02:00
bluetoothcharacteristicproperties.rs WebBluetooth API classes 2016-03-16 10:34:48 +01:00
bluetoothdevice.rs Remove BluetoothDevice members 2016-05-05 12:47:52 +02:00
bluetoothremotegattcharacteristic.rs Refactor IPC-message sending 2016-05-03 11:35:34 +02:00
bluetoothremotegattdescriptor.rs Refactor IPC-message sending 2016-05-03 11:35:34 +02:00
bluetoothremotegattserver.rs Refactor IPC-message sending 2016-05-03 11:35:34 +02:00
bluetoothremotegattservice.rs Refactor IPC-message sending 2016-05-03 11:35:34 +02:00
bluetoothuuid.rs Replace the union types with the correct typedefs in the webidl files and the API classes. 2016-05-03 11:35:30 +02:00
browsingcontext.rs Stop using JSAutoRequest. 2016-05-13 15:34:38 +02:00
canvasgradient.rs Parse currentColor as Canvas2D color 2015-11-21 11:59:19 -08:00
canvaspattern.rs Add origin-clean flag tracking for canvas 2015-12-17 11:40:38 -08:00
canvasrenderingcontext2d.rs Remove ConstellationChan. 2016-05-19 17:13:44 +02:00
characterdata.rs Inlined content_changed 2016-04-04 11:33:37 +02:00
closeevent.rs Removed unused imports 2016-05-15 22:24:26 +03:00
comment.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
console.rs Implement console#time and console#timeEnd methods 2016-01-25 14:21:32 -05:00
create.rs Implement HTMLDetailsElement. Fixes #9216 2016-01-20 16:15:37 +01:00
crypto.rs Say farewell to in-tree HeapSizeOf 2016-02-04 22:03:32 +01:00
css.rs Update cssparser to fix CSS.escape test failures 2016-05-06 13:54:26 +02:00
cssstyledeclaration.rs Removed unused imports 2016-05-15 22:24:26 +03:00
customevent.rs Implement From<DOMString> for Atom 2016-02-24 17:52:17 +01:00
dedicatedworkerglobalscope.rs adding interface for custom responses 2016-05-20 12:11:56 +05:30
document.rs Auto merge of #10961 - creativcoder:custom_response_iface, r=jdm 2016-05-21 01:12:54 -07:00
documentfragment.rs Implement From<DOMString> for Atom 2016-02-24 17:52:17 +01:00
documenttype.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domexception.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domimplementation.rs [10743] Add content type to XmlDocument constructor based on namespace 2016-04-28 20:26:54 -06:00
domparser.rs Store a pointer to the browsing context in the Document. 2016-02-11 13:08:11 +01:00
dompoint.rs Add DOMQuad element 2015-12-18 17:37:10 +01:00
dompointreadonly.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domquad.rs Removed unused imports 2016-05-15 22:24:26 +03:00
domrect.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domrectlist.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domrectreadonly.rs Rustfmt some of script. 2015-11-18 11:14:05 +01:00
domstringmap.rs Reduce 'match' body, remove unnecessary clone 2016-01-05 16:55:37 -08:00
domtokenlist.rs Implement and test DOMTokenList.replace (fixes #8511) 2016-03-24 10:37:42 +01:00
element.rs Add string_cache override for geckolib based on gecko atoms. 2016-05-18 11:33:38 -07:00
errorevent.rs Removed unused imports 2016-05-15 22:24:26 +03:00
event.rs implement and use From<bool> for enum and back 2016-03-17 22:50:22 +01:00
eventdispatcher.rs Refactor dispatch_event according to the spec (fixes #9178) 2016-02-29 10:42:09 +01:00
eventsource.rs Upgrade to rust-url 1.0 and hyper 0.9 2016-04-23 20:27:58 +02:00
eventtarget.rs dom: Add missing event handlers 2016-05-20 18:25:13 +01:00
file.rs Implement file-type functionalities in htmlinputelement and related 2016-05-23 15:35:46 +08:00
filelist.rs Implement file-type functionalities in htmlinputelement and related 2016-05-23 15:35:46 +08:00
filereader.rs Remove extraneous script_chan parameter from Trusted::new 2016-04-28 10:52:44 +02:00
focusevent.rs Implement the focusevent argument to Document::createEvent 2016-04-27 01:51:48 +03:00
forcetouchevent.rs forcetouch events support 2016-04-05 18:42:28 +08:00
formdata.rs Removed unused imports 2016-05-15 22:24:26 +03:00
hashchangeevent.rs add popstateevent, hashchangeevent, pagetransitionevent 2016-05-11 22:11:46 -06:00
htmlanchorelement.rs Fix panic from update_href in HTMLAnchorElement 2016-05-19 04:46:51 -04:00
htmlappletelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlareaelement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlaudioelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlbaseelement.rs Upgrade to rust-url 1.0 and hyper 0.9 2016-04-23 20:27:58 +02:00
htmlbodyelement.rs Auto merge of #11255 - s-baldrick:11158, r=ConnorGBrewster 2016-05-20 21:26:41 -07:00
htmlbrelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlbuttonelement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlcanvaselement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlcollection.rs Move '&&' to the end of the previous line. 2016-04-22 14:28:18 +02:00
htmldataelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmldatalistelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmldetailselement.rs Rename ToggleEventRunnable to DetailsNotificationRunnable 2016-05-04 21:01:26 -04:00
htmldialogelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmldirectoryelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmldivelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmldlistelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlelement.rs dom: Add missing event handlers 2016-05-20 18:25:13 +01:00
htmlembedelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlfieldsetelement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlfontelement.rs Add parsing of double values in style attributes 2016-04-25 01:09:30 -04:00
htmlformcontrolscollection.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlformelement.rs Implement file-type functionalities in htmlinputelement and related 2016-05-23 15:35:46 +08:00
htmlframeelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlframesetelement.rs dom: Add missing event handlers 2016-05-20 18:25:13 +01:00
htmlheadelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlheadingelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlhrelement.rs Implement 'align' IDL attribute on '<hr>'. 2016-04-11 19:46:57 -04:00
htmlhtmlelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmliframeelement.rs Remove ConstellationChan. 2016-05-19 17:13:44 +02:00
htmlimageelement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlinputelement.rs Implement file-type functionalities in htmlinputelement and related 2016-05-23 15:35:46 +08:00
htmllabelelement.rs Fix HtmlLabelElement activation to run on correct element 2016-03-29 18:48:07 -04:00
htmllegendelement.rs Issue #10456 Remove unused import warnings in HTMLLegendElement 2016-04-07 21:24:20 +02:00
htmllielement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmllinkelement.rs Remove ConstellationChan. 2016-05-19 17:13:44 +02:00
htmlmapelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlmediaelement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlmetaelement.rs Overrode parse_plain_attribute of VirtualMethods for HTMLMetaElement to pass as an Atom 2016-05-18 19:40:04 -05:00
htmlmeterelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlmodelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlobjectelement.rs Implement initial pieces of form validation. 2016-03-24 09:07:38 -04:00
htmlolistelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmloptgroupelement.rs Update rust-selectors 2016-02-03 02:11:31 +01:00
htmloptionelement.rs Update rust-selectors 2016-02-03 02:11:31 +01:00
htmloutputelement.rs Implement initial pieces of form validation. 2016-03-24 09:07:38 -04:00
htmlparagraphelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlparamelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlpreelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlprogresselement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlquoteelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlscriptelement.rs Removed unused imports 2016-05-15 22:24:26 +03:00
htmlselectelement.rs Support form submission of multipart/form-data 2016-04-30 21:42:50 -04:00
htmlsourceelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlspanelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlstyleelement.rs Reduce channel cloning. 2016-04-29 14:55:52 +02:00
htmltablecaptionelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmltablecellelement.rs Fix a bunch of clippy lints 2016-01-02 23:27:15 +01:00
htmltablecolelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmltabledatacellelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmltableelement.rs Add parsing of double values in style attributes 2016-04-25 01:09:30 -04:00
htmltableheadercellelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmltablerowelement.rs Move '&&' to the end of the previous line. 2016-04-22 14:28:18 +02:00
htmltablesectionelement.rs Move '&&' to the end of the previous line. 2016-04-22 14:28:18 +02:00
htmltemplateelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmltextareaelement.rs Remove ConstellationChan. 2016-05-19 17:13:44 +02:00
htmltimeelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmltitleelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmltrackelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlulistelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlunknownelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
htmlvideoelement.rs Remove unnecessary conversion to/from DOMString for localName. 2015-12-02 13:42:45 -08:00
imagedata.rs Update SpiderMonkey 2016-05-03 18:36:11 +02:00
keyboardevent.rs Removed unused imports 2016-05-15 22:24:26 +03:00
location.rs add origin to location and url api 2016-01-21 11:06:41 -08:00
macros.rs dom: Add missing event handlers 2016-05-20 18:25:13 +01:00
mediaerror.rs Tidy fixes. 2016-05-03 18:05:27 -04:00
messageevent.rs Implement From<DOMString> for Atom 2016-02-24 17:52:17 +01:00
mimetype.rs Implemented stub for NavigatorPlugins 2016-04-11 09:14:46 -06:00
mimetypearray.rs Implemented stub for NavigatorPlugins 2016-04-11 09:14:46 -06:00
mod.rs Fix the doc on inheritance and casting 2016-05-21 16:08:47 +02:00
mouseevent.rs implement and use From<bool> for enum and back 2016-03-17 22:50:22 +01:00
namednodemap.rs Updated SupportedPropertyNames in NamedNodeMap to match spec 2016-03-05 17:21:01 +05:30
navigator.rs Implemented stub for NavigatorPlugins 2016-04-11 09:14:46 -06:00
navigatorinfo.rs implements NavigatorLanguage 2016-03-17 16:13:37 +05:30
node.rs Removed unused imports 2016-05-15 22:24:26 +03:00
nodeiterator.rs Get rid of a bunch of explicit derefs 2015-11-03 19:51:46 -08:00
nodelist.rs Implement NamedItem and NamedGetter on HTMLFormControlsCollection 2016-01-28 18:33:51 -05:00
pagetransitionevent.rs add popstateevent, hashchangeevent, pagetransitionevent 2016-05-11 22:11:46 -06:00
performance.rs merge from master 2015-11-03 19:01:23 +09:00
performancetiming.rs fix performance timing precision and navigation_start unit; add LoadEventStart and LoadEventEnd timing 2016-04-13 01:30:02 +08:00
plugin.rs Implemented stub for NavigatorPlugins 2016-04-11 09:14:46 -06:00
pluginarray.rs Implemented stub for NavigatorPlugins 2016-04-11 09:14:46 -06:00
popstateevent.rs add popstateevent, hashchangeevent, pagetransitionevent 2016-05-11 22:11:46 -06:00
processinginstruction.rs Explicitly customise flags of new nodes where needed 2015-10-15 17:30:41 +02:00
progressevent.rs Implement the "progressevent" argument to Document::createEvent 2016-04-26 00:32:50 -04:00
radionodelist.rs Implement NamedItem and NamedGetter on HTMLFormControlsCollection 2016-01-28 18:33:51 -05:00
range.rs Implement Stringifier for Range 2016-03-09 15:27:37 -05:00
screen.rs more refactoring 2015-10-30 20:26:29 +09:00
servohtmlparser.rs Add timeline markers for HTTP requests, JS evaluation, and HTML parsing. 2016-05-18 08:02:42 -05:00
servoxmlparser.rs Auto merge of #10647 - ConnorGBrewster:parse_xml, r=jdm 2016-04-27 07:50:54 -07:00
storage.rs Remove the pointless StorageThread alias. 2016-05-20 13:11:36 +02:00
storageevent.rs "storageevent" argument for Document::createEvent 2016-04-25 12:02:05 +02:00
stylesheet.rs Initial steps for CSSOM API 2016-03-31 18:17:30 -04:00
stylesheetlist.rs servo: Clean up unused variables and imports 2016-04-02 16:30:18 +02:00
testbinding.rs codegen: add tests for non-nullable non-required values 2016-05-13 09:42:59 +02:00
testbindingproxy.rs Use DOMString::new() somewhat consistently. 2015-11-04 12:09:10 +01:00
text.rs Properly propagate changes when range or trees are mutated 2015-12-25 23:35:57 +01:00
textdecoder.rs Removed unused imports 2016-05-15 22:24:26 +03:00
textencoder.rs Removed unused imports 2016-05-15 22:24:26 +03:00
touch.rs more refactoring 2015-10-30 20:26:29 +09:00
touchevent.rs implement and use From<bool> for enum and back 2016-03-17 22:50:22 +01:00
touchlist.rs merge from master 2015-11-03 19:01:23 +09:00
treewalker.rs Get rid of a bunch of explicit derefs 2015-11-03 19:51:46 -08:00
uievent.rs implement and use From<bool> for enum and back 2016-03-17 22:50:22 +01:00
url.rs Reset searchParam in URL.href setter 2016-04-23 20:28:00 +02:00
urlhelper.rs Upgrade to rust-url 1.0 and hyper 0.9 2016-04-23 20:27:58 +02:00
urlsearchparams.rs Correctly initialize URL.searchParams 2016-04-23 20:27:59 +02:00
userscripts.rs Fix a bunch of clippy lints 2016-01-02 23:27:15 +01:00
validation.rs Implement initial pieces of form validation. 2016-03-24 09:07:38 -04:00
validitystate.rs Implement initial pieces of form validation. 2016-03-24 09:07:38 -04:00
values.rs Consolidate magic number representing max unsigned long 2015-10-10 13:46:11 -04:00
virtualmethods.rs Add stubs for src and currentSrc for HTMLMediaElement. 2016-05-03 16:25:21 -04:00
webglactiveinfo.rs Make DOMString a newtype around String, rather than a typedef. 2015-11-04 12:09:11 +01:00
webglbuffer.rs #10211: Stop re-exporting webrender_traits WebGL types from canvas_traits 2016-03-30 20:05:16 +02:00
webglcontextevent.rs implement webglcontextevent 2016-04-22 19:54:13 -07:00
webglframebuffer.rs #10211: Stop re-exporting webrender_traits WebGL types from canvas_traits 2016-03-30 20:05:16 +02:00
webglobject.rs more refactoring 2015-10-30 20:26:29 +09:00
webglprogram.rs Implement IsShader fn and IsTexture fn for WebGLRenderingContext 2016-05-09 20:54:57 -04:00
webglrenderbuffer.rs #10211: Stop re-exporting webrender_traits WebGL types from canvas_traits 2016-03-30 20:05:16 +02:00
webglrenderingcontext.rs Remove ConstellationChan. 2016-05-19 17:13:44 +02:00
webglshader.rs Implement IsShader fn and IsTexture fn for WebGLRenderingContext 2016-05-09 20:54:57 -04:00
webglshaderprecisionformat.rs more refactoring 2015-10-30 20:26:29 +09:00
webgltexture.rs Implement IsShader fn and IsTexture fn for WebGLRenderingContext 2016-05-09 20:54:57 -04:00
webgluniformlocation.rs webgl: Rename UniformType to UniformSetterType and hoist to the bottom 2016-04-19 20:25:30 +02:00
websocket.rs Implement trait-based ResourceThreads and clean up related naming issues 2016-05-20 08:00:16 +08:00
window.rs Auto merge of #11225 - izgzhen:patch-input-element-file, r=Manishearth 2016-05-23 01:10:46 -07:00
worker.rs adding interface for custom responses 2016-05-20 12:11:56 +05:30
workerglobalscope.rs adding interface for custom responses 2016-05-20 12:11:56 +05:30
workerlocation.rs Replaced DOMString constructor by conversion functions. 2015-11-12 17:52:59 -06:00
workernavigator.rs implements NavigatorLanguage 2016-03-17 16:13:37 +05:30
xmldocument.rs Removed unused imports 2016-05-15 22:24:26 +03:00
xmlhttprequest.rs adding interface for custom responses 2016-05-20 12:11:56 +05:30
xmlhttprequesteventtarget.rs Introduce trait Castable 2015-10-21 11:37:16 +02:00
xmlhttprequestupload.rs more refactoring 2015-10-30 20:26:29 +09:00