Commit graph

120 commits

Author SHA1 Message Date
Jessica Jong
68680ac23a Bug 1346085 - Part 2: Set input element's focus state when inner fields are focused/blurred. r=smaug
Since the inner fields of date/time input are now <span> instead of <input>
text, we are adding an API for binding code to set the focus state of the
bound input element when inner fields are focused/blurred.

MozReview-Commit-ID: 9wvu57xT6HZ

--HG--
extra : rebase_source : c6c3832fe0aa0fe9429052dcb5b15a3497c33fa4
2017-04-05 15:02:30 +08:00
Olli Pettay
d5caa7c6c0 Bug 1352687, try to recycle HTMLInputElement's nsTextEditorState, r=baku
--HG--
extra : rebase_source : 05c8dc2bd0c29ce3064548e1cabac2d62803cabc
2017-04-03 20:40:48 +03:00
Olli Pettay
d47c995985 Bug 1351860 - Move mType from HTMLInputElement to nsIFormControl and make GetType non-virtual inlined, r=jessica
--HG--
extra : rebase_source : b7d76ce3321ea0d622da74a72b7278fd0fa63310
2017-03-31 22:49:00 -04:00
Olli Pettay
31b1f5cc92 Backout Bug 1351860, r=backout 2017-03-31 16:55:32 -04:00
Olli Pettay
b84c192a09 Bug 1351860 - Move mType from HTMLInputElement to nsIFormControl and make GetType non-virtual inlined, r=jessica
--HG--
extra : rebase_source : 5f2cac2c4e944e2c9f2f1acf0d3064e153c40451
2017-03-31 13:13:36 -04:00
Jessica Jong
093aa14344 Bug 1344642 - Part 2: Add a new pref for input type=week, month and datetime-local. r=smaug
--HG--
extra : rebase_source : 9cacecf2b14cdd8caabd56993b22d0bbb27eae6b
2017-03-17 11:01:59 +08:00
Jessica Jong
3c909e1184 Bug 1344642 - Part 1: Cleanup dom.forms.datepicker related code. r=smaug
This patch basically reverts Bug 825294.

--HG--
extra : rebase_source : 58b235bfddb5acd1ec0cf1afd8f34cbb8c4e09c1
2017-03-17 11:01:57 +08:00
Boris Zbarsky
2c3a8eee0b Bug 1347639. Add nsImageLoadingContent::AsContent to make getting the relevant nsIContent* faster. r=qdot
MozReview-Commit-ID: 9sE3pbHwYbV
2017-03-16 17:43:34 -04:00
Boris Zbarsky
85fd027b51 Bug 1347640 part 2. Move a few more things from AfterSetAttr to HandleTypeChange. r=smaug
We also stop doing some unnecessary work (e.g. canceling image requests if our old type wasn't image).

MozReview-Commit-ID: GLPl1McLL9N
2017-03-16 14:50:42 -04:00
Boris Zbarsky
f890715ffc Bug 656197 part 1. Remove the generic attr preparsing mechanism from BeforeSetAttr and just preparse class attributes directly in the one place that needs to do it. r=smaug
This removes the requirement that BeforeSetAttr comes before AttributeWillChange
(which needs the preparsed new value).

MozReview-Commit-ID: 87C6Mjc7ARh
2017-03-16 14:50:41 -04:00
Boris Zbarsky
f80dd7a663 Bug 1345237. Propagate uint32_t deeper into the editor state and text control frame code. r=mystor
MozReview-Commit-ID: KeUo8My6eBJ
2017-03-09 14:44:45 -05:00
Boris Zbarsky
0cf9adf6a5 Bug 1343037 part 18. Implement nsTextEditorState::SetRangeText. r=ehsan
MozReview-Commit-ID: FEo9yv5iu6U
2017-03-09 14:44:06 -05:00
Boris Zbarsky
8a2f1929a5 Bug 1343037 part 17. Remove the now-unused nsITextControlElement::GetSelectionRange. r=ehsan
This makes GetSelectionRange non-virtual on HTMLInputElement and HTMLTextareaElement.

MozReview-Commit-ID: HhmTHjw8AwW
2017-03-09 14:44:06 -05:00
Boris Zbarsky
060aadda89 Bug 1343037 part 16. Implement a version of nsTextEditorState::SetSelectionRange that takes a string for the direction. r=ehsan
MozReview-Commit-ID: E8zYAWolg94
2017-03-09 14:44:06 -05:00
Boris Zbarsky
e0ef9813e4 Bug 1343037 part 13. Implement nsTextEditorState::SetSelectionEnd. r=ehsan
This introduces three behavior changes:

1)  Before this change, in cached mode, we did not enforce the "start <= end"
    invariant.
2)  Before this change, in cached mode, we did not fire "select" events on
    selectionEnd changes.
3)  Changes the IDL type of HTMLInputElement's selectionEnd attribute to
    "unsigned long" to match the spec and HTMLTextareaElement.

MozReview-Commit-ID: J3Gkhr8VnbS
2017-03-09 14:44:05 -05:00
Boris Zbarsky
badbeff5ec Bug 1343037 part 12. Implement nsTextEditorState::SetSelectionStart. r=ehsan
This introduces three behavior changes:

1)  Before this change, in cached mode, we did not enforce the "start <= end"
    invariant.
2)  Before this change, in cached mode, we did not fire "select" events on
    selectionStart changes.
3)  Changes the IDL type of HTMLInputElement's selectionStart attribute to
    "unsigned long" to match the spec and HTMLTextareaElement.

MozReview-Commit-ID: JM9XXMMPUHM
2017-03-09 14:44:05 -05:00
Boris Zbarsky
5ae7da9d14 Bug 1343037 part 6. Simplify the setup around the editor state's GetSelectionRange function. r=ehsan
Really, there are only two cases we need to worry about.  Either
IsSelectionCached(), and then our SelectionProperties has the data we want, or
not and then we have a non-null mSelCon which has the data we want.

Since we are now using cached selection state a lot more (instead of
initializing the editor whenever someone asks for selection state), we need to
actually update it more correctly when .value is set.

And since we now update the cached selection state for the case when .value has
been set (to point to the end of the text), we need to change
HTMLInputElement::HasCachedSelection to return false for that case.  Otherwise
we will always do eager editor init on value set.  We handle that by not doing
eager init if the cached selection is collapsed.

The web platform test changes test the "update on .value set" behavior.  They
fail without this patch, pass with it.

MozReview-Commit-ID: DDU8U4MGb23
2017-03-09 14:44:04 -05:00
Boris Zbarsky
03aa46332c Bug 1343037 part 2. Get rid of nsIDOMHTMLInputElement's selectionEnd accessors. r=ehsan,MattN
MozReview-Commit-ID: L2Ozu7Vvort
2017-03-09 14:44:03 -05:00
Boris Zbarsky
e2ba9aed19 Bug 1343037 part 1. Get rid of nsIDOMHTMLInputElement's selectionStart accessors. r=ehsan,MattN
MozReview-Commit-ID: IyFv8NRuZIO
2017-03-09 14:44:03 -05:00
Boris Zbarsky
d2afbdd254 Bug 1342197 part 4. Move GetSelectionRange from nsTextControlFrame to the editor state. r=ehsan
At this point, all this method does is ensure editor initialization and then ask
the editor state for various information.  Let's cut out the middleman.

MozReview-Commit-ID: p491umScJO
2017-02-28 12:41:37 -05:00
Boris Zbarsky
12dc2641c8 Bug 1342197 part 1. Change nsITextControlElement::GetRootEditorNode to return Element*. r=ehsan
MozReview-Commit-ID: BmTw3rAzCuc
2017-02-28 12:41:37 -05:00
Jessica Jong
7168dc8ef5 Bug 1341376 - Use BoolVarCache to cache preferences in HTMLInputElement. r=smaug
--HG--
extra : rebase_source : c1edc681c4961d0798a283fabbae81cbd797d8fb
2017-02-23 00:27:00 -05:00
Timothy Guan-tin Chien
7e24fdda99 Bug 1338961 - A mozinputrangeignorepreventdefault hack for input[type=range], r=smaug, sr=smaug
This is a terrible hack, asking input[type=range] in our video control
xbl binding content continue to handle mouse/touch event, even if the
event is being defaultPrevented by the content.

MozReview-Commit-ID: G1huxbS7oeq

--HG--
extra : rebase_source : 27153ce36e6883d947894da69dd9aca47965e99b
2017-02-17 17:05:27 +08:00
Jeff Walden
965f401e22 Bug 1287006 - Don't pass Nullable by value in various places, rather by const&. r=bz
--HG--
extra : rebase_source : cbdd6e33cc69f58983a4b6ce97642caf54ddbc9a
2017-02-13 09:07:40 -08:00
Carsten "Tomcat" Book
ffe70d35b2 Merge mozilla-central to mozilla-inbound 2017-02-09 11:38:08 +01:00
Jessica Jong
d310f04aae Bug 1310080 - Implement the step attribute for <input type=datetime-local>. r=smaug
--HG--
extra : rebase_source : 5805842bb84b54a08015e52395b05eea47bd47cf
2017-02-07 22:03:00 +08:00
Manish Goregaokar
48bc1c741c Bug 1334330 - Part 1: stylo: Abstractify nsMappedAttributes to work on arbitrary containers of specified value data; r=bz,emilio
MozReview-Commit-ID: BSM4TC9RKot

--HG--
extra : rebase_source : 5f2c5d998b9e2bc10a2c9ce8d0b3ce90817a0d39
2017-01-26 13:39:13 -08:00
Jessica Jong
4f5f57be29 Bug 1310078 - Implement valueAsNumber and valueAsDate for <input type=datetime-local>. r=smaug,Waldo 2017-01-03 22:33:00 +01:00
Stone Shih
0d63e2a966 Bug 1305458 Part9: Move fire events and set value from HTMLInputElement::GetEventTargetParent to PreHandleEvent. r=smaug
MozReview-Commit-ID: AbbIMmmwZMZ

--HG--
extra : rebase_source : fe88fbdd905ef5f2761aaad43085a0deba588367
2016-10-21 19:04:29 +08:00
Stone Shih
1ed10ff082 Bug 1305458 Part1: Rename nsIDOMEventTarget::PreHandleEvent to nsIDOMEventTarget::GetEventTargetParent. r=smaug
MozReview-Commit-ID: FM3vDUyLOCb

--HG--
extra : rebase_source : 5a513af84718a6d591f77437a0704984c8fc2b67
2016-10-21 10:11:07 +08:00
Boris Zbarsky
62e08b6904 Bug 1317367 part 4. Pass an explicit CallerType to HTMLInputElement::GetValueInternal. r=smaug
I'm not 100% sure that I'm being very consistent in my handling of
mFocusedValue, but since that's not used for file inputs, I don't think it
matters much...

A bigger problem is if people start using this caller type for things other than
file inputs.
2016-11-15 12:46:32 -05:00
Boris Zbarsky
a59a621bb6 Bug 1317367 part 3. Pass an explicit CallerType to HTMLInputElement::SetValue at all callsites. r=smaug 2016-11-15 12:46:31 -05:00
Boris Zbarsky
def4685edd Bug 1317367 part 2. Make HTMLInputElement::GetValue infallible again; just return empty string on OOM. To a first approximation no one checks the return value anyway. r=smaug 2016-11-15 12:46:31 -05:00
Jessica Jong
cb16fa3cdb Bug 1310077 - Implement the value sanitizing algorithm for <input type=datetime-local>. r=smaug
--HG--
extra : rebase_source : 833758c635d1af0c3298956262c392b10b1866d9
2016-11-09 23:48:00 -05:00
Aryeh Gregor
87a5bde3a6 Bug 1310865 - Don't process cloned <input> until all attributes are copied; r=hsivonen
Otherwise, when a value="" attribute with a newline in it is copied, we
will strip any newlines even if type="hidden" is set, because type=""
hasn't yet been copied.  Other bugs are likely too.  This problem was
already solved for the parser, so we can just use that solution for
cloning too.

MozReview-Commit-ID: KqxCnxmxFXp

--HG--
extra : rebase_source : 9a666adad3dbbbaa5e3706747dcf70801b9ef4e8
2016-10-27 17:17:04 +03:00
Jessica Jong
e732e68921 Bug 1310076 - Add 'datetime-local' to the list of valid types attributes for <input>. r=smaug 2016-10-24 03:35:00 +02:00
Edgar Chen
64cc70e197 Bug 1308069 - Clear pending error event fired by src="" case if src changed before it fired. r=bz
MozReview-Commit-ID: B8f975mZNN9

--HG--
extra : rebase_source : b44b969c733160a9e96139b6b55ac60fb140e478
2016-10-06 12:30:35 +08:00
Jessica Jong
19414ca429 Bug 1295403 - Implement the step attribute for <input type=week>. r=smaug 2016-10-07 15:04:54 +08:00
Boris Zbarsky
3f10f5ed57 Bug 1308287 part 1. Change [NeedsSubjectPrincipal] to only do the Maybe thing for interfaces that can be exposed to workers. r=baku
The idea is to not make consumers think about whether the principal exists or
not when the caller knows for sure that it does.

The substantive changes are in dom/bindings, nsHTMLDocument::SetDesignMode, and
around the CanUseStorage bits.  Everything else is pretty mechanical.
2016-10-10 21:07:48 -04:00
Jessica Jong
b3014cc00b Bug 1288591 - Implement the layout for <input type=time>. r=mconley, r=dholbert, r=smaug 2016-10-06 00:17:00 -04:00
Jessica Jong
c35a0bf546 Bug 1278186 - Implement valueAsNumber and valueAsDate for <input type=week>. r=smaug,Waldo 2016-09-29 01:08:00 +02:00
Jan Beich
cb9811b6b4 Bug 1295883 - Chase Linux scroll wheel behavior on Tier3 desktop Unix. r=smaug
MozReview-Commit-ID: 7osYJCwDQev

--HG--
extra : transplant_source : %F8%0CL%3D%C2d%92%B8%8AYd%C5%137h%ED%81Nt%3E
2016-08-17 04:55:36 +00:00
Jessica Jong
c51974390f Bug 1278192 - Implement the value sanitizing algorithm for <input type=week>. r=smaug
--HG--
extra : source : 6ee805904d2d54728be175ddb60466acbb78c242
2016-09-08 15:39:01 -07:00
Stone Shih
16a8810124 Bug 1295719 - input[type=range,number] does not fire 'change' event for some key combinations. r=smaug
--HG--
extra : rebase_source : 89f46401a53dcab3dd3845477acfc7aaf9fdd3cc
2016-08-19 09:19:35 +08:00
Jessica Jong
1b328436b6 Bug 885359 - Support :indeterminate pseudo-class for radio groups. r=smaug 2016-08-24 18:39:00 -04:00
Decky Coss
2d62d28ece Bug 1294784: remove special case for 'number' type from HTMLInputElement::SetType; r=smaug
MozReview-Commit-ID: DHW9RfOoHhC

--HG--
extra : rebase_source : 37c50319e695e3dc42069c8962422e366d6cd86b
2016-08-11 16:55:39 -04:00
Ehsan Akhgari
f8deb6c387 Bug 1293570 - Revert parts of bug 1003741 which were added to make selection APIs work on <input type=number>; r=baku
In particular we keep the frame a form control frame so that it gets the
correct CSS box sizing by the layout code.
2016-08-24 10:04:39 -04:00
Andrea Marchesini
94d10aeb4c Bug 1295570 - Entries API - part 2 - Rename Entry to FileSystemEntry, r=smaug
--HG--
rename : dom/filesystem/compat/Entry.cpp => dom/filesystem/compat/FileSystemEntry.cpp
rename : dom/filesystem/compat/Entry.h => dom/filesystem/compat/FileSystemEntry.h
2016-08-18 09:17:25 +02:00
Thomas Wisniewski
fe6139c017 Bug 932755 - Add support for input/textarea minLength and tooShort. r=mrbkap
--HG--
extra : rebase_source : 064985cbb241ef8705dcec28f60db9f4caf65ae4
2016-08-17 00:11:24 -04:00
Jessica Jong
5a9b39d967 Bug 1278738 - Add 'week' to the list of valid types attributes for <input>. r=smaug 2016-08-15 23:15:00 -04:00