Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added call to event.PreventDefault on html text inputs and textareas. #8400

Merged
merged 1 commit into from Nov 8, 2015

Conversation

@sylvesterwillis
Copy link

sylvesterwillis commented Nov 8, 2015

This change should prevent page scrolling when up/down buttons are pressed within text inputs and textboxes which should resolve issue #8379.

Review on Reviewable

This change should prevent page scrolling when up/down buttons are pressed.
@highfive
Copy link

highfive commented Nov 8, 2015

Thanks for the pull request, and welcome! The Servo team is excited to review your changes, and you should hear from @jdm (or someone else) soon.

@jdm
Copy link
Member

jdm commented Nov 8, 2015

Thanks for the PR! Have you verified that the fix works as expected?

@jdm jdm self-assigned this Nov 8, 2015
@sylvesterwillis
Copy link
Author

sylvesterwillis commented Nov 8, 2015

Yep, I made a sample html file with a text input and textarea followed by a huge block of lorem ipsum so that the page will scroll when pressing up/down when the inputs have focus. I applied the fixes and tested again and the issue did not occur.

@jdm
Copy link
Member

jdm commented Nov 8, 2015

@bors-servo: r+
Wonderful!

@bors-servo
Copy link
Contributor

bors-servo commented Nov 8, 2015

📌 Commit 4adf502 has been approved by jdm

@bors-servo
Copy link
Contributor

bors-servo commented Nov 8, 2015

Testing commit 4adf502 with merge f1565bd...

bors-servo added a commit that referenced this pull request Nov 8, 2015
Added call to event.PreventDefault on html text inputs and textareas.

This change should prevent page scrolling when up/down buttons are pressed within text inputs and textboxes which should resolve issue #8379.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8400)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented Nov 8, 2015

@bors-servo bors-servo merged commit 4adf502 into servo:master Nov 8, 2015
2 checks passed
2 checks passed
continuous-integration/travis-ci/pr The Travis CI build passed
Details
homu Test successful
Details
@sylvesterwillis sylvesterwillis deleted the sylvesterwillis:arrow-key-scroll-on-input branch Nov 8, 2015
@wafflespeanut wafflespeanut mentioned this pull request Dec 26, 2016
3 of 3 tasks complete
bors-servo added a commit that referenced this pull request Jan 4, 2017
Properly dispatch keypress event

<!-- Please describe your changes on the following line: -->

This was an attempt to fix #14659. It turned out that the problem wasn't what I thought it was. So, I didn't fix that. On the brighter side, this fixes two related issues.

- Previously, we were unable to launch `keypress` events from `input` and `textarea` elements, because [we'd been cancelling](https://github.com/servo/servo/blob/1327ebd52f53f5f6637a12fab6cf0cad0aa0be6f/components/script/dom/htmlinputelement.rs#L1120-L1124) the key events, so that they don't trigger window navigation - #8400). I've introduced an enum to represent an additional state to an event's cancellation.
- [According to the spec](https://w3c.github.io/uievents/#keypress-event-order), `keypress` (if available) should be dispatched immediately after `keydown`, and it should be followed by `input`. Canceling `keypress` should also cancel `input`. But, we'd been dispatching `input` before `keypress`. We now dispatch `input` once the `keypress` event is on the respective elements.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [x] These changes do not require tests because it's a refactor?

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

r? @jdm or anyone interested

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14738)
<!-- Reviewable:end -->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

4 participants
You can’t perform that action at this time.