diff options
author | CYBAI <cyb.ai.815@gmail.com> | 2019-01-10 18:58:07 +0800 |
---|---|---|
committer | CYBAI <cyb.ai.815@gmail.com> | 2019-01-23 00:38:45 +0800 |
commit | cb86d451e663646c496e6bece8b456f5196afca7 (patch) | |
tree | 92157282da4d6a9d15e4b463886d7b4b05bcfe68 /components/script/dom/htmlformelement.rs | |
parent | 9d70f5135614b8fa0ba4e1322ac114587b959eb5 (diff) | |
download | servo-cb86d451e663646c496e6bece8b456f5196afca7.tar.gz servo-cb86d451e663646c496e6bece8b456f5196afca7.zip |
Implement cannot navigate
Diffstat (limited to 'components/script/dom/htmlformelement.rs')
-rwxr-xr-x | components/script/dom/htmlformelement.rs | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/components/script/dom/htmlformelement.rs b/components/script/dom/htmlformelement.rs index 6a4a4b97fe5..e81613d750d 100755 --- a/components/script/dom/htmlformelement.rs +++ b/components/script/dom/htmlformelement.rs @@ -317,7 +317,11 @@ impl HTMLFormElement { /// [Form submission](https://html.spec.whatwg.org/multipage/#concept-form-submit) pub fn submit(&self, submit_method_flag: SubmittedFrom, submitter: FormSubmitter) { - // TODO: Step 1. If form cannot navigate , then return. + // Step 1 + if self.upcast::<Element>().cannot_navigate() { + return; + } + // Step 2 if self.constructing_entry_list.get() { return; @@ -342,6 +346,11 @@ impl HTMLFormElement { if event.DefaultPrevented() { return; } + + // Step 7-3 + if self.upcast::<Element>().cannot_navigate() { + return; + } } // Step 8 @@ -353,7 +362,10 @@ impl HTMLFormElement { None => return, }; - // TODO: Step 10. If form cannot navigate, then return. + // Step 10 + if self.upcast::<Element>().cannot_navigate() { + return; + } // Step 11 let mut action = submitter.action(); |