Commit graph

286 commits

Author SHA1 Message Date
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
2bf2020b52 Bug 1343037 part 4. Fix type changes on an input to properly grab the selection offsets from the old editor before we ask the editor state for them. r=ehsan
MozReview-Commit-ID: IDdt0qedJpT
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
fdab22f79c Bug 1343886. Handle input or textarea elements having a non-textcontrol frame better. r=ehsan
MozReview-Commit-ID: FRzdvTLMAID
2017-03-06 10:29:38 -05:00
Mats Palmgren
d13aaf9ce0 Bug 1340771 part 1 - Rename nsWeakFrame to AutoWeakFrame (automated change). r=tn
MozReview-Commit-ID: 8pl4nyeGEkr
2017-03-01 18:03:14 +01: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
e4852035e0 Bug 1334330 - Part 11: stylo: Use ServoUtils abstraction for GenericSpecifiedValues to remove virtual dispatch overhead in nostylo mode; r=bz,emilio
MozReview-Commit-ID: 8yGWs2uOjES

--HG--
extra : rebase_source : 2fed3ab11c243a3b045116abd04dbb9e939c5dc2
2017-01-26 16:51:01 -08:00
Manish Goregaokar
7aca0c8cd0 Bug 1334330 - Part 3: stylo: Use GenericSpecifiedValue abstraction in elements using only common mappers; r=bz,emilio
MozReview-Commit-ID: B8vg4ZiqRGK

--HG--
extra : rebase_source : c1c73d3f8dd695717e368ce28028ad75dbf9838c
2017-01-26 16:51:01 -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
Andrea Marchesini
298618870f Bug 1331849 - Replace NS_NewNativeLocalFile with NS_NewLocalFile in dom, r=smaug 2017-01-18 14:58:37 +01:00
Andrea Marchesini
fac176e37c Bug 1274596 - Implement the fakepath requirement in HTMLInputElement, r=smaug 2017-01-17 09:56:56 +01:00
Jessica Jong
a7ffe02cc8 Bug 1310079 - Implement the min and max attribute for <input type=datetime-local>. r=smaug 2017-01-15 22:10:00 -05:00
Cameron McCormack
babad063ff Bug 1328832 - Part 2: Rename mozFlushType to mozilla::FlushType and make it an enum class. r=bzbarsky
MozReview-Commit-ID: D3fIngSHSsl
2017-01-05 15:31:56 +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
Timothy Guan-tin Chien
c325756c29 Bug 570893 - Only re-enable the form controls when reload, not re-disable it, r=bz
With this patch, the disabled state is still kept in the nsPresState,
but we will only honor that if the state saved asks as to re-enable the
control.

The behavior is changed so that controls disabled by JavaScript will be
kept enabled as the JavaScript world gets reloaded.

MozReview-Commit-ID: 6PchHfx6KYX

--HG--
extra : rebase_source : 19399db854cc7cb80f45940bfc378c3e09c2979c
2016-12-30 14:26:35 +08:00
Jessica Jong
58af40a516 Bug 1325009 - Find separator index dynamically when sanitizing input type=datetime-local. r=smaug 2016-12-21 19:32:00 +08:00
Jessica Jong
556aae19f0 Bug 1286182 - Implement the layout for <input type=date>. r=mconley,smaug
--HG--
rename : dom/html/test/forms/test_input_time_focus_blur_events.html => dom/html/test/forms/test_input_datetime_focus_blur_events.html
2016-12-19 00:50:00 +08:00
Henri Sivonen
32a79394c1 Bug 1322455 - When cloning an <input>, avoid re-initializing checkedness in DoneCreatingElement. r=smaug.
MozReview-Commit-ID: wlbZ7grT2M

--HG--
extra : rebase_source : e8e8335b7a478c83a629c6692deae932a4edcc67
2016-12-15 18:25:02 +02:00
Andrea Marchesini
6896d43695 Bug 1319088 - FormData should not add extra '/' in the Blob path, r=smaug 2016-12-01 08:59:36 +01:00
Andrea Marchesini
5586ec8d26 Bug 1319370 - HTMLInputElement should select the directory for the FilePicker using the input type (file or directory), r=jwatt 2016-11-23 13:02:10 +01:00
Stone Shih
ca4ffa27c2 Bug 1305458 Part11: Let HTMLInputElement delegate event handling to it's parent class. r=smaug
MozReview-Commit-ID: 3Ms8Rt7Fqny

--HG--
extra : rebase_source : 8a91423451edb3b840b4e4f1906ff702257a896f
2016-11-01 15:36:04 +08: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
Boris Zbarsky
452b292356 Bug 1317367 part 1. Get rid of the XPCOM MozGet/SetFileNameArray methods on HTMLInputElement. r=smaug 2016-11-15 12:46:31 -05:00
Boris Zbarsky
6f654ebcfb Bug 1316951. The "select" events fired by HTMLInputElement code should always be trusted, since they always correspond to an actual attempt by the browser to select the text in the control. r=smaug 2016-11-15 00:18:32 -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
Jessica Jong
726903109f Bug 1301306 - Stop focus events from anon. content when moving inside input=time element. r=smaug 2016-11-04 00:47:00 -04: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
b0f67cfa5f Bug 1295402 - Implement the min and max attribute for <input type=week>. r=smaug
--HG--
extra : rebase_source : d32e2eb25e54343491278a60ed1561581b5d2b56
2016-09-25 19:33: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
Andrea Marchesini
fd5175f4d1 Bug 1303638 - file.webkitRelativePath must contain the leafName of the parent directory, r=smaug 2016-09-22 13:48:46 +02:00
Stone Shih
eddb068dd7 Bug 1297635 - Add a helper function for input to check whether input events with modifier should change the value. r=smaug, f=bevistseng
--HG--
extra : rebase_source : a5df32c01f4ee02ca2ab2a668836e87d16e8bb10
2016-09-06 14:30:00 +08: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
Wes Kocher
5cbc382303 Merge inbound to m-c a=merge 2016-09-07 17:54:24 -07:00