Josh Matthews
04ce86c08c
Associate logical and physical keypresses together to support non-QWERTY keyboards.
2016-07-05 18:06:42 -04:00
Alan Jeffrey
7ed8408f12
Added checks that selection is valid, and fix set_selection_range.
2016-06-29 07:24:19 -05:00
Anthony Ramine
ff899dc703
Implement :placeholder-shown ( fixes #10561 )
2016-06-03 14:45:14 +02:00
Anthony Ramine
cdc7bca944
Move DOMString back to script
...
This entirely removes the 'non-geckolib' feature of the util crate.
2016-05-24 10:54:57 +02:00
Matt Brubeck
c4872d9544
Replace range::Range with std::ops::Range in script
2016-04-28 14:54:07 -07:00
Alberto Corona
5e863f2eb8
Implement HTMLTextArea.setSelectionRange
2016-04-17 17:27:26 +02:00
Matt Brubeck
deca979967
TextInput::max_length should be in code units, not bytes
2016-04-02 07:33:53 -07:00
Matt Brubeck
29fb3f1150
Find the correct column index in adjust_vertical
2016-04-01 14:00:50 -07:00
Matt Brubeck
e17ed2e6b0
Add/correct documentation comments in textinput
2016-04-01 14:00:49 -07:00
Matt Brubeck
d7e6f8b0f1
Use correct byte indices in replace_selection
2016-04-01 13:54:02 -07:00
bors-servo
db95de6e58
Auto merge of #10182 - mbrubeck:delete_char, r=jdm
...
Fix delete_char when selection range is empty
An empty selection range should be treated the same as no selection. Fixes browserhtml/browserhtml#930 .
r? @jdm
<!-- 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/10182 )
<!-- Reviewable:end -->
2016-03-28 20:43:11 +05:30
Matt Brubeck
db2c1841cb
Fix delete_char when selection range is empty
...
An empty selection range should be treated the same as no selection.
Fixes browserhtml/browserhtml#930 .
2016-03-25 08:39:53 -07:00
Matt Brubeck
6171000875
Highlight selected text in input fields
...
Fixes #9993 . This does not yet allow stylesheets to set the selection colors;
instead it uses a hard-coded orange background and white foreground.
2016-03-24 18:33:26 -07:00
Saurav Sachidanand
0b593759df
Resets selection in textinput when its content is changed.
...
Adds a wpt test as well.
2016-03-16 22:20:22 +05:30
Saurav Sachidanand
a3d77790a6
Implement input.setSelectionRange
2016-03-10 19:54:21 +05:30
Anthony Ramine
cb5cd8d881
Say farewell to in-tree HeapSizeOf
2016-02-04 22:03:32 +01:00
Tetsuharu OHZEKI
e8c12c1c6d
Fix warnings: Use Vec.extend_from_slice instead of Vec.push_all
2015-12-10 16:49:29 -05:00
Sam Gibson
d26c555e2a
Adds support for input element's maxlength attr
...
servo/servo#7320
servo/servo#7004
2015-12-03 14:00:51 +11:00
Alan Jeffrey
5db67b5981
Added in-place mutation to DOMString.
...
The methods which are currently implemented are the ones on String that are currently being used:
string.push_str(...), string.clear() and string.extend(...). We may want to revisit this API.
2015-11-12 17:53:01 -06:00
Alan Jeffrey
84bde75b42
Replaced DOMString constructor by conversion functions.
...
Replaced DOMString(...) by DOMString::from(...).
Replaced ....0 by String::from(...).
Removed any uses of .to_owner() in DOMString::from("...").
2015-11-12 17:52:59 -06:00
Ms2ger
6b75078503
Make DOMString a newtype around String, rather than a typedef.
...
This should make it somewhat easier to experiment with alternative
representations in the future. To reduce churn, this commit leaves the String
field public, though.
Also, this will allow us to use the default String type to represent the IDL
USVString type, which explicitly forbids unpaired surrogates, ans as such is
a better match to the Rust String type.
2015-11-04 12:09:11 +01:00
Ms2ger
e6aa976462
Use DOMString::new() somewhat consistently.
2015-11-04 12:09:10 +01:00
Florian Merz
80e8a674e2
display input caret for textarea. fixes #7758
2015-10-21 22:38:23 +02:00
Ravi Shankar
889eec364b
sorted the extern crate, mod & use declarations
2015-09-24 02:12:45 +05:30
Brandon Fairchild
de3547e401
Fix reported test-tidy errors for unmerged import blocks
...
This merges import blocks that were reported by tidy as unmerged.
2015-09-19 12:50:14 -04:00
Patrick Walton
34d9a6091b
script: Ask layout to redraw the selection whenever the user moves the
...
caret in an input element.
2015-09-17 13:31:11 +02:00
Brandon Fairchild
d61a6e2161
Fix reported test-tidy errors
...
This fixes lines that were reported to have missing
space after a comma.
2015-09-01 16:30:42 -04:00
erneyja
17663315dd
make test-tidy check that = have space after them
2015-09-01 07:18:19 -04:00
Simon Sapin
95a252a650
Refactor script::textinput to count UTF-8 bytes rather than code points.
2015-08-28 11:57:40 +02:00
Anthony Ramine
c831c2c0a5
Remove helper traits
...
Now that JSRef<T> is gone, there is no need to have helper traits.
On components/script/*.rs:
# Remove imports.
/^ *use dom::[a-z]+::\{.*Helpers/ {
s/\{(Raw[^L]|[^L][^a])[a-zA-Z]+Helpers, /\{/
s/, (Raw[^L]|[^L][^a])[a-zA-Z]+Helpers([,}])/\2/g
s/\{([a-zA-Z]+)\}/\1/
/\{\}/d
s/::self;$/;/
}
/^ *use dom::[a-z]+::\{?(Raw[^L]|[^L][^a])[a-zA-Z]+Helpers\}?;$/d
On components/script/dom/*.rs:
# Ignore layout things.
/^(pub )?(impl|trait).*Layout.* \{/,/^}$/ { P; D; }
# Delete helpers traits.
/^(pub )?trait ([^L][^ ]|L[^a])[^ ]+Helpers(<'a>)? \{$/,/^\}$/D
# Patch private helpers.
/^impl.*Private.*Helpers/,/^\}$/ {
s/^impl<'a> Private([^L][^ ]|L[^a])[^ ]+Helpers(<'a>)? for &'a ([^ ]+) \{$/impl \3 {/
/^ *(unsafe )?fn .*\(self.*[<&]'a/ {
s/&'a /\&/g
s/<'a, /</g
}
/^ *(unsafe )?fn /s/\(self([,)])/\(\&self\1/
}
# Patch public helpers.
/^impl.*Helpers/,/^\}$/ {
s/^impl(<'a>)? ([^L][^ ]|L[^a])[^ ]+Helpers(<'a>)? for (&'a )?([^ ]+) \{$/impl \5 {/
/^ *(unsafe )?fn .*\(self.*[<&]'a/ {
s/&'a /\&/g
s/<'a, /</g
}
/^ *(unsafe )?fn .*\(&?self[,)]/s/(unsafe )?fn/pub &/
/^ *pub (unsafe )?fn /s/\(self([,)])/\(\&self\1/
}
The few error cases were then fixed by hand.
2015-08-27 16:59:02 +02:00
Johann Tuffe
ec07178b6f
sort all uses
2015-08-20 20:47:12 +08:00
Manish Goregaokar
ac1b7a3896
Cleanup textinput, timers
2015-08-18 18:37:12 +05:30
Bogdan Cuza
45145108da
Measure heap memory usage for more types. Fixes #6951
2015-08-13 21:44:41 +03:00
Jack Moffitt
dae1a398a4
Use local slice_chars
...
StrExt::slice_chars is deprecated and will be removed in Rust. This
lifts the implementation from Rust libstd and puts it in util::str.
This fixes a bunch of deprecation warnings in Servo.
2015-07-31 12:23:13 -06:00
Avi Weinstock
9ba18850dd
Update rust-clipboard to the version with working set_contents.
2015-07-29 12:19:39 -04:00
Avi Weinstock
f86252a60b
Add set_clipboard_context function and relevant plumbing. Use Option more consistantly (less unwraps) in textinput's selection handling.
2015-07-29 12:19:37 -04:00
David Winslow
4cf46bff2d
Refactor #[jstraceable] to #[derive(JSTraceable)]
...
fixes #6524
2015-07-01 18:27:06 -04:00
Michael Wu
675267b782
Upgrade to SM 39
2015-06-19 18:42:48 -04:00
Avi Weinstock
b1486720e9
Remove some unnecessary allocations in text input handling.
2015-06-11 12:50:40 -04:00
Corey Farwell
435e551753
Remove get_
prefix on getters
...
Part of #6224
I certainly didn't remove all of them; I avoided `unsafe` areas and also `components/script`
2015-06-02 08:54:44 -04:00
Avi Weinstock
0587717944
Change the dispatch in TextInput::handle_keydown_aux match on enum values instead of strings.
2015-05-06 11:46:21 -04:00
Avi Weinstock
b742eeca05
Made the clipboard-related functionality in TextInput more testable. Added test_clipboard_paste to the "test-unit" suite.
2015-05-06 11:46:18 -04:00
Simon Sapin
ef8edd4e87
Upgrade to rustc 551a74dddd84cf01440ee84148ebd18bc68bd7c8.
2015-05-05 10:07:34 -04:00
Ms2ger
903305416a
Implement Clone for Copy types.
2015-04-28 23:31:10 +02:00
Ms2ger
a862479ca8
Remove as_slice() calls from script.
2015-04-26 10:52:55 +02:00
Avi Weinstock
cf6aef5d51
Make the channel argument to TextInput::new be optional, to support the signature expected by the unit tests.
2015-04-21 15:18:23 -04:00
Avi Weinstock
503cc9e6d6
Moved clipboard integration from textinput to constellation, to facilitate sandboxing.
2015-04-21 09:31:20 -04:00
Avi Weinstock
ba4c455438
Implement X11 clipboard integration (Issue #5376 ).
2015-04-21 08:36:15 -04:00
Simon Sapin
dc431c9bdb
Move script crate unit tests into the unit_tests crate.
2015-04-08 01:07:53 +02:00
Ms2ger
c2e81be8a5
Stop using int/uint in script.
2015-04-03 20:47:53 +02:00