Граф коммитов

72 Коммитов

Автор SHA1 Сообщение Дата
Masayuki Nakano 9f1aec970a Bug 1374207 - part4: Element classes should use TextEditor class instead of nIEditor r=smaug
Unfortunately, nsGenericHTMLElement::GetAssociatedEditor() cannot use concrete classes because it may return nsIEditor which is set via nsIDocShell.editor.  The editor set to nsIDocShell may be implemented by JS since nsIEditor isn't marked as builtinclass.

MozReview-Commit-ID: 6GY9LOYp4hM

--HG--
extra : rebase_source : 3e0464067b30daf8254805458c5358d7ea644be8
2017-06-22 15:21:31 +09:00
John Dai 005cba50ea Bug 556743 - Implement the labels attribute. r=smaug 2017-06-15 20:04:00 -04:00
Kirk Steuber a02a78b5c7 Bug 1365092 - Moves side effects of nsGenericHTMLElement and Element's SetAttr, UnsetAttr, and ParseAttribute functions to the corresponding BeforeSetAttr and AfterSetAttr functions r=bz
This is necessary to facilitate the transition to cloning attributes instead of reparsing them.

MozReview-Commit-ID: HzB3f1sr9y9

--HG--
extra : rebase_source : 8c343c60b5dca18fb04a4cb548907a2e4b9df1d2
2017-05-31 11:01:47 -07:00
Kirk Steuber e74f1cd513 Bug 1363481 - Add the old attribute value as a parameter to Element::AfterSetAttr r=bz
In order to facilitate the movement of code with side-effects called by Element::SetAttr to Element::BeforeSetAttr and Element::AfterSetAttr, Element::AfterSetAttr should have access to the old value of the attribute. This includes information about whether there was previously a value set or not.

Accomplishing this involved passing an additional argument through functions that find and change the old attribute value in order to ensure that we can differentiate between an empty old value and an absent old value (attribute was not set).

Note that while I tried to ensure that accurate values (and their absence) are reported to Element::AfterSetAttr, I largely ignored SVG. While the old value reported for SVG values should be however accurate the value already being reported to SetAttrAndNotify was, SVG elements do not currently report unset values properly because they will never pass a null pointer to SetAttrAndNotify.

MozReview-Commit-ID: K1mha8CNFZP

--HG--
extra : rebase_source : 42776eb01451d371e4aebcc17fe3dd112c8d268b
2017-05-18 14:09:01 -07:00
Jessica Jong 57c042eeb9 Bug 1358448 - Add radio back to a radio group after moving out of a form. r=smaug
The container of a radio group is the form, if it belongs to a form, or the
document object otherwise.
When moving a radio out of a form, we should add it back to a radio group.
Similary, before moving the radio to a form, we should remove it from the
original radio group.

MozReview-Commit-ID: 22WsEhz2SXH

--HG--
extra : rebase_source : 68dbd50da523b734086d8e5de6e6ae179b0b4af0
2017-05-01 23:10:00 +02:00
Kirk Steuber 7fdb378650 Bug 1359556 - Optimize cloneNode by preinitializing attribute and child arrays r=bz
Currently, attribute and child arrays (implemented in dom/base/nsAttrAndChildArray.h) start out empty. When cloning, the array ends up being resized multiple times in order to add the attributes and children that are being cloned from the original node. This would be quicker if the array was initialized to the correct size in the first place so that resizes are not necessary.

However, preallocating space for children is only necessary when performing a deep clone. Therefore, an additional parameter is being added to the Clone, CopyInnerTo, and CloneDocHelper methods to indicate whether preallocation of children should happen. Attributes are copied either way, so that part of the array is preallocated in both cases.

MozReview-Commit-ID: 3iVezeAKXnI

--HG--
extra : rebase_source : 9c3deec6d7aafd6411044d623d4863637b45fd58
2017-04-20 12:57:48 -07: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
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
Manish Goregaokar 7a6a00898d Bug 1329093 - Part 4: stylo: Delay SVG mapped attr resolution till later; r=bz
MozReview-Commit-ID: 2GvHPg1egjS
2017-03-09 17:46:26 -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 7a9ea12241 Bug 1334330 - Part 6: stylo: Use GenericSpecifiedValue abstraction for table elements; r=emilio
MozReview-Commit-ID: 6wo4iw4zEWP

--HG--
extra : rebase_source : d5980fcfd00fa75f198565dbd75cf7ccc48b0364
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
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
Tim Nguyen d7db347638 Bug 1322938 - Basic implementation of HTMLDialogElement. r=smaug, masayuki
MozReview-Commit-ID: AU92mq2QZIc
2016-12-23 16:01:50 +01:00
Xidorn Quan 92e0c75164 Bug 1323153 - Not include ElementInlines in headers. r=smaug
MozReview-Commit-ID: Gusow6LTiJI

--HG--
extra : rebase_source : 89f6c2b02dda7d216dfe6ff4ed27e8d70cd064f3
2016-12-13 18:11:04 +11:00
Boris Zbarsky 0b51e4d979 Bug 1318576. Remove entries from a form's past names map when an element is removed from the form, even if that element doesn't have a name or id anymore. r=baku 2016-11-21 12:34:02 -05:00
Stone Shih 56a3971717 Bug 1305458 Part5: Move form control frame focus/blur from nsGenericHTMLFormElement::GetEventTargetParent to PreHandleEvent. r=smaug
MozReview-Commit-ID: H8Zn5OdZpyt

--HG--
extra : rebase_source : f4f3c5d46d935f68bd0d765e10e3bbd2a25c1f7f
2016-10-21 16:56:58 +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 dd2655ba39 Bug 1316661 part 3. Eliminate IsCallerChrome callers in nsGenericHTMLElement. r=smaug
The only nsGenericHTMLElement::GetEditor callers are
HTMLInputElement::GetEditor/HTMLTextareaElement::GetEditor (the XPCOM-y
versions), which are only called from C++ and only from two places: a11y code,
which forces itself to look like system, and typeaheadfind, which would break
badly if it could not get an editor.  So that security check simply shouldn't
exist.

The script API doesn't call down into here _and_ is [ChromeOnly] in the webidl
already.
2016-11-15 00:18:33 -05:00
Boris Zbarsky 0b7b3e9bb8 Bug 1314026. Add a version of SetHTMLIntAttr that does the right thing with an unsigned argument, for use from setters for unsigned long IDL attributes that reflect a content attribute. r=bkelly 2016-11-02 13:37:26 -04:00
Aryeh Gregor 2445ed1848 Bug 1312742 - Match spec/other browsers for ping reflection; r=bkelly
The spec used to say that getting the .ping property on
HTMLAnchorElement or HTMLAreaElement should return a DOMTokenList of
parsed URLs, but it now says to return a plain string.  All other UAs
that implement ping match the new spec, and it's hopefully unlikely that
any sites depend on our old behavior.

Discussion: https://github.com/whatwg/html/issues/1780

MozReview-Commit-ID: LpmH8ANNT9g
2016-10-30 16:04:52 +02:00
Ehsan Akhgari 1978fee9f2 Bug 1310385 - Remove support for UndoManager; r=smaug
There hasn't been any traction on this feature, and we keep
paying the maintenance and code size and memory usage penalty
of having this implementation.

We can revive this from VCS history in the future if we decide
to start working on it again.  In the mean time, it's better
to remove it.
2016-10-17 10:06:11 -04:00
Boris Zbarsky fe8d1921e1 Bug 921834. Add support for .dataset on SVGElement. r=bkelly 2016-08-11 16:56:34 -04:00
Nicholas Nethercote bab6d17ebf Bug 1293117 (part 4) - Change many NS_IMETHODIMP occurrences to NS_IMETHOD. r=froydnj.
This patch makes the following changes on many in-class methods.

- NS_IMETHODIMP F() override;      --> NS_IMETHOD F() override;
- NS_IMETHODIMP F() override {...} --> NS_IMETHOD F() override {...}
- NS_IMETHODIMP F() final;         --> NS_IMETHOD F() final;
- NS_IMETHODIMP F() final {...}    --> NS_IMETHOD F() final {...}

Using NS_IMETHOD is the preferred way of marking in-class virtual methods.
Although these transformations add an explicit |virtual|, they are safe --
there's an implicit |virtual| anyway because |override| and |final| only work
with virtual methods.

--HG--
extra : rebase_source : 386ee4e4ea2ecd8d5001efabc3ac87b4d6c0659f
2016-08-08 10:54:47 +10:00
Daosheng Mu 8083dbd7bd Bug 778654 - Implement and move tabIndex functions to Element class to avoid duplicate work.r=peterv,heycam
MozReview-Commit-ID: uetkJztNcn

--HG--
extra : transplant_source : U%E7va%AE%E6%FE%BDN.%28%AA%8F%19%1D%FF%26%E6%B7t
2016-05-24 12:22:17 +08:00
Andrew McCreight 2f88762913 Bug 1287146 - Remove unused argument from NodeInfoChanged(). r=bkelly 2016-07-20 15:18:59 -07:00
Botond Ballo 4cd8a55cfc Bug 1277298 - Store the 'scrollgrab' property in a NODE_FLAG_BIT rather than a new field of nsGenericHTMLElement. r=smaug
MozReview-Commit-ID: 7DV33kG2KNt

--HG--
extra : source : 3f7ad60ae16bce8cac317aee8d3ec6445354733c
2016-06-06 17:45:46 -04:00
Olli Pettay b91ac5f5d1 Bug 1276938 - Optimize string usage in setAttribute when dealing with HTML elements, r=baku
--HG--
extra : rebase_source : dea4a4d25ff3cc7b2ca0ced76cafae8577d0f650
2016-05-31 18:56:20 +03:00
Boris Zbarsky 2b85094faf Bug 909633. Remove the HTML Microdata API, since no one else ended up implementing it and now it's been removed from the spec. r=bkelly,jgraham 2016-05-20 23:13:17 -04:00
Aryeh Gregor 9aba692542 Bug 1270499 - Setting reflected unsigned long to out-of-range value should set to default; r=bz
This changes to match the spec, which also aligns the behavior of get
and set (get already maps out-of-range values to the default value).
There is currently no interoperable behavior here, but this aligns us
with IE -- tested in 11, hopefully true for Edge too.

On the way, I also fixed the fact that video's height and width were
being treated as signed.
2016-05-05 21:29:54 +03:00
Jonathan Watt 9480920b04 Bug 1263785 - Kill off the deprecated nsINode::GetCurrentDoc. r=baku 2016-03-31 12:46:32 +01:00
William Chen 303bd1fd42 Bug 1259590 - Remove B2G ACL code. r=khuey 2016-04-07 09:50:01 -07:00
Ting-Yu Lin 22224242ba Bug 1249556 - Implement toggling details by keyboard. r=smaug
The user can switch to the main <summary> by tab key, and toggle the
<details> by either 'space' key or 'enter' key.

'return' key is handled with 'keypress', and the 'space' key is handled
with 'keyup' like the HTMLInputElement.

MozReview-Commit-ID: HE6IduUGCpj

--HG--
extra : rebase_source : 34598d95f35bf6b5bd927457ee09e42eb6ec0a68
2016-03-19 20:37:09 +08:00
Deepthi Venkitaramanan 008e6b8991 Bug 1244328 - Merge the functionality of DOMSettableTokenList into DOMTokenList and make everything that used to refer to DOMSettableTokenList refer to DOMTokenList instead. r=bzbarsky 2016-02-11 17:50:42 -05:00
Ting-Yu Lin a46acb7fcb Bug 591737 - Add HTMLSummaryElement. r=bz
--HG--
extra : commitid : 4G1qMe8OCzI
extra : rebase_source : e0b79e2f59b1e8a81e7f6d6d2be1b9ba77dfbe40
2016-01-20 23:20:40 +08:00
Ting-Yu Lin b8e3b9e52b Bug 591737 - Add HTMLDetailsElement and webidl interface. r=bz
--HG--
extra : commitid : y0Jiyg8dom
extra : rebase_source : 0945c6144e4a84ed3542c90b1cbd637d2b9d2b14
2016-01-20 23:20:40 +08:00
Boris Zbarsky 64b9c0ed0b Bug 1223523. The named getter on document should not return images with an empty name. r=peterv 2015-11-20 16:54:49 -05:00
Robert O'Callahan 7c373233ed Bug 264412. Implement HTMLElement.innerText. r=smaug,mats
--HG--
extra : commitid : KjCvQzulwP3
extra : rebase_source : 01aae50d1ee8304e56d3d1e21a7c65c2f9060a72
2015-10-30 18:37:03 +13:00
Robert O'Callahan 0e2b65352f Revert incorrectly committed changes ab657569f554 and a396f4262479
--HG--
extra : commitid : IHQ60dccnSZ
extra : amend_source : 9302339fd951446a37909b31a1ccb56aff470325
2015-10-24 22:38:22 +13:00
Robert O'Callahan b09242d6c1 Bug 264412. Implement HTMLElement.innerText. r=smaug,mats
--HG--
extra : commitid : LLiSI8usEMT
extra : rebase_source : 928b4fd451c28b57a43a873f05b7bf030ba13083
2015-10-21 10:23:17 +13:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Ehsan Akhgari cbf56a9898 Bug 1208895 - Fix a typo in nsGenericHTMLElement::GetItemId(); r=baku
Found by Viva64.
2015-09-28 09:08:45 -04:00
Neil Deakin 77303a0ee5 Bug 1168042, return a bool from PerformAccessKey indicating if focus was changed, r=masayuki 2015-09-18 08:18:42 -04:00
Masayuki Nakano 0d22745cda Bug 895274 part.3 Make the enum of event messages a named enum IGNORE IDL r=smaug 2015-08-26 21:56:59 +09:00
William Chen 148ff86273 Bug 1181130 - Part 3: Keep track of editable descendants per node and prevent NS_STYLE_USER_SELECT_ALL selection for nodes with editable descendants. r=bz 2015-08-14 10:52:38 -07:00
Robert O'Callahan d5d49432af Bug 1184842. Allow BeforeSetAttr to preparse aValue. r=peterv
We will pass the preparsed value into AttributeWillChange.

--HG--
extra : commitid : HCiY4DRKWkC
extra : rebase_source : aa17a819a20578322380d388299279e4e41a690b
2015-08-01 17:14:06 +12:00
Franziskus Kiefer b4e4b6d771 Bug 1174913 - remove unnecessary attribute parsing. r=bz 2015-07-13 18:04:42 -07:00
Birunthan Mohanathas a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00