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

65 Коммитов

Автор SHA1 Сообщение Дата
Edgar Chen 91920b5742 Bug 1413815 - Convert 'observedAttributes' to a sequence<DOMString>; r=bz
MozReview-Commit-ID: 1AYK5RF5GNc

--HG--
extra : rebase_source : ec8bb2091f9163dc11a6cd52c0201f2007bc795f
2017-11-03 10:50:05 +08:00
Jonathan Watt f10fc1e787 Bug 1413216 - Fix some missing includes in dom code. r=baku
MozReview-Commit-ID: 25hWPkXF0Wj
2017-10-12 13:50:23 +01:00
Sebastian Hengst 5c15da1f08 merge mozilla-inbound to mozilla-central. r=merge a=merge
--HG--
rename : testing/talos/tests/__init__.py => testing/talos/talos/unittests/__init__.py
rename : testing/talos/tests/browser_output.ts.txt => testing/talos/talos/unittests/browser_output.ts.txt
rename : testing/talos/tests/browser_output.tsvg.txt => testing/talos/talos/unittests/browser_output.tsvg.txt
rename : testing/talos/tests/profile.tgz => testing/talos/talos/unittests/profile.tgz
rename : testing/talos/tests/ps-Acj.out => testing/talos/talos/unittests/ps-Acj.out
rename : testing/talos/tests/test_talosconfig_browser_config.json => testing/talos/talos/unittests/test_talosconfig_browser_config.json
rename : testing/talos/tests/test_talosconfig_test_config.json => testing/talos/talos/unittests/test_talosconfig_test_config.json
rename : testing/talos/tests/xrestop_output.txt => testing/talos/talos/unittests/xrestop_output.txt
2017-10-27 12:45:34 +03:00
Andrew McCreight 298aa82710 Bug 1412125, part 2 - Fix dom/ mode lines. r=qdot
This was automatically generated by the script modeline.py.

MozReview-Commit-ID: BgulzkGteAL

--HG--
extra : rebase_source : a4b9d16a4c06c4e85d7d85f485221b1e4ebdfede
2017-10-26 15:08:41 -07:00
Edgar Chen b3157c0147 Bug 1410790 - Add more assertion in CustomElementData::SetCustomElementDefinition and GetCustomElementDefinition; r=smaug
This is a follow-up patch for bug 1392970. Since we only set CustomElementDefinition on a custom element
which is "custom", we could add more assertion to ensure that.

MozReview-Commit-ID: 2sLP53bAYVV

--HG--
extra : rebase_source : 523761aa7312ddfaaf91f79e39c44ddce5cf9335
2017-10-13 11:54:46 +08:00
Jessica Jong f783bf3a95 Bug 1378079 - Part 3: Complete the steps related to custom elements in "create an element for a token". r=hsivonen,smaug
--HG--
extra : rebase_source : c393051fc6f025ff4c013b5349b53c8a5ba2c3c4
2017-10-26 14:55:41 +08:00
Edgar Chen dc6a84b873 Bug 1352290 - Add assertion to CustomElementReactionsStack::Enqueue to ensure upgrade reactions aren't scheduled to BackupQueue; r=smaug
--HG--
extra : rebase_source : 235a56f1aad0abf2e9b4fb99b7867eb3cb30d395
2017-10-17 17:55:08 +08:00
Steve Fink 67d7e8dcdc Bug 1406570 - Rooting improvements, r=jonco,bz
--HG--
extra : rebase_source : 48d6fd63e016abe7a6ce22e621d25858560e61f1
2017-10-09 10:59:02 -07:00
Edgar Chen 8dfff5dcef Bug 1407937 - Move mDefinition from CustomElementReacion to CustomElementUpgradeReaction; f=jdai; r=smaug
MozReview-Commit-ID: 3JweEOgKAeo

--HG--
extra : rebase_source : 9ec3a879358b1600197c87931a79ff91205beb46
2017-10-12 17:01:41 +08:00
John Dai e53ab7d721 Bug 1406297 - Fix Document.createElement must report an exception. r=smaug 2017-10-12 04:25:00 -04:00
Edgar Chen f7287bd6f0 Bug 1405335 - Remove custom element attached and detached callbacks validation checks; r=smaug
--HG--
extra : rebase_source : 996ff7abec24b3576e01003da829b18acb8672d8
2017-10-03 22:00:04 +08:00
Nicholas Nethercote d225f7151b Bug 1400460 - Rename nsIAtom as nsAtom. r=hiro.
(Path is actually r=froydnj.)

Bug 1400459 devirtualized nsIAtom so that it is no longer a subclass of
nsISupports. This means that nsAtom is now a better name for it than nsIAtom.

MozReview-Commit-ID: 91U22X2NydP

--HG--
rename : xpcom/ds/nsIAtom.h => xpcom/ds/nsAtom.h
extra : rebase_source : ac3e904a21b8b48e74534fff964f1623ee937c67
2017-10-03 09:05:19 +11:00
Olli Pettay 478b3b1343 Bug 1405821 - Move microtask handling to CycleCollectedJSContext, r=baku 2017-10-05 18:34:12 +03:00
John Dai 25f8ec6929 Bug 1121994 - Implement adopted callback for custom elements. r=smaug 2017-10-02 00:42:00 -04:00
Nicholas Nethercote dfd3b7e7aa Bug 1400459 (part 2) - Devirtualize nsIAtom. r=heycam.
This patch merges nsAtom into nsIAtom. For the moment, both names can be used
interchangeably due to a typedef. The patch also devirtualizes nsIAtom, by
making it not inherit from nsISupports, removing NS_DECL_NSIATOM, and dropping
the use of NS_IMETHOD_. It also removes nsIAtom's IIDs.

These changes trigger knock-on changes throughout the codebase, changing the
types of lots of things as follows.

- nsCOMPtr<nsIAtom> --> RefPtr<nsIAtom>

- nsCOMArray<nsIAtom> --> nsTArray<RefPtr<nsIAtom>>
  - Count() --> Length()
  - ObjectAt() --> ElementAt()
  - AppendObject() --> AppendElement()
  - RemoveObjectAt() --> RemoveElementAt()

- ns*Hashtable<nsISupportsHashKey, ...> -->
  ns*Hashtable<nsRefPtrHashKey<nsIAtom>, ...>

- nsInterfaceHashtable<T, nsIAtom> --> nsRefPtrHashtable<T, nsIAtom>
  - This requires adding a Get() method to nsRefPtrHashtable that it lacks but
    nsInterfaceHashtable has.

- nsCOMPtr<nsIMutableArray> --> nsTArray<RefPtr<nsIAtom>>
  - nsArrayBase::Create() --> nsTArray()
  - GetLength() --> Length()
  - do_QueryElementAt() --> operator[]

The patch also has some changes to Rust code that manipulates nsIAtom.

MozReview-Commit-ID: DykOl8aEnUJ

--HG--
extra : rebase_source : 254404e318e94b4c93ec8d4081ff0f0fda8aa7d1
2017-09-26 08:33:21 +10:00
Jessica Jong 9c73bf3115 Bug 1334044: Replace detached callback (v0) with disconnected callback (v1). r=smaug
MozReview-Commit-ID: 8jxFK1fze15
2017-09-26 13:56:11 +08:00
Jessica Jong dea7ea236c Bug 1334043 - Part 2: Make nsContentUtils::EnqueueLifecycleCallback static. r=smaug
We make nsContentUtils::EnqueueLifecycleCallback static so that it can be
called without a window object. To achive this, we also make
CustomElementReaction not taking a CustomElementRegistry in the constructor,
as it can call Upgrade statically.

MozReview-Commit-ID: 7xUvK0q7Eri
2017-09-26 13:56:00 +08:00
Jessica Jong dca1a68e1a Bug 1334043 - Part 1: Replace attached callback (v0) with connected callback (v1). r=smaug
MozReview-Commit-ID: 3qQh4viyvBX
2017-09-26 13:55:58 +08:00
Jessica Jong 2d66d1067a Bug 1392970 - Part 2: Get CustomElementDefinition from CustomElementData when possible. r=smaug
MozReview-Commit-ID: L6DCtGXBesX
2017-09-25 02:47:00 -04:00
Jessica Jong 60f43f2bbd Bug 1392970 - Part 1: Make CustomElementDefinition ref-counted and put it in CustomElementData. r=smaug
MozReview-Commit-ID: DIQN3JFxkT8
2017-09-25 02:46:00 -04:00
John Dai cc16112226 Bug 1301024 - Part 2: Implement create an element steps. r=smaug 2017-09-25 01:33:00 -04:00
Nicholas Nethercote e3c9cbb969 Bug 1401813 - Rename Null[C]String() as Void[C]String(). r=erahm.
XPCOM's string API doesn't have the notion of a "null string". But it does have
the notion of a "void string" (or "voided string"), and that's what these
functions are returning. So the names should reflect that.

--HG--
extra : rebase_source : 4e3f982e0873877174a08a25413595ff66f7d20e
2017-09-22 14:35:46 +10:00
Kris Maglione f37317cad0 Bug 1369533: Return dead wrappers rather than null for dead CallbackObject values. r=bz
We don't have access to an appropriate context to create the dead wrapper in
when the callback is nuked, so instead, this patch creates a new dead wrapper
in the caller compartment each time the property is accessed. This is the same
behavior we'd get when trying to re-wrap a cross-compartment dead wrapper, so
it's consistent with the way we handle these situations elsewhere.

MozReview-Commit-ID: 3cMeR4z8EOe

--HG--
extra : rebase_source : 7e8cf4a195ef64deb7677ce4ac9818d342815667
2017-09-04 17:21:06 -07:00
Nicholas Nethercote 2ef37710e7 Bug 1395828 (part 4) - Remove nsIParserService/nsParserService. r=mrbkap.
It a stateless wrapper around static methods in nsHTMLTags and nsHTMLElement,
and hence an unnecessary layer of indirection that just adds complexity and
slowness. This patch removes it, cutting almost 300 lines of code.

This requires making nsElementTable.h an exported header, to expose the
nsHTMLElement methods.

--HG--
extra : rebase_source : abbcb8e5001389affbf717092213b898673db07f
2017-09-05 20:19:06 +10:00
Jessica Jong 18378d0e3a Bug 1334051 - Part 2: Invoke attributeChangedCallback only if attribute name is in the observed attribute list. f=jdai, r=smaug
We call attributeChangedCallback in two cases:
1. When any of the attributes in the observed attribute list has changed,
   appended, removed, or replaced.
2. When upgrading an element, for each attribute in element's attribute list
   that is in the observed attribute list.

MozReview-Commit-ID: LKUY5ibp9RI
* * *
Bug 1334051 - Part 3: Optimize attributeChanged callbacks. r=smaug
2017-08-27 23:25:00 -04:00
Jessica Jong acd0223fec Bug 1334051 - Part 1: Include namespace in attributeChangedCallback. f=jdai, r=smaug
Per spec [1], we should include namesapce in attributeChangedCallback argurment
list.

[1] https://html.spec.whatwg.org/multipage/custom-elements.html#concept-upgrade-an-element, step 3

MozReview-Commit-ID: 3K6SeIr3FJX
2017-08-27 23:25:00 -04:00
John Dai b50868f89a Bug 1392790 - Avoid doing [CEReactions] if custom element preference is disabled. r=smaug 2017-08-23 02:36:00 -04:00
johndai1984 59be6e40c0 Bug 1299363 - Part 5-2: Implement new upgrade steps. r=bz, r=wchen
MozReview-Commit-ID: 34fIWSKUqyp

--HG--
extra : rebase_source : 3d7af3b1b262ab16c8d70e7389c0534c9261f3f0
extra : histedit_source : 8fd8debbc337ba260c4ec6384026a796bfd00021
2017-08-13 16:40:37 +08:00
Edgar Chen 41babdacd0 Bug 1299363 - Part 5-1: Make the constructor created by document.registerElement() also works with construction stack. r=wchen
So that the old upgrade can also work with new upgrade steps
which will be implemented in part 5-2.

MozReview-Commit-ID: IRyvAPaN19R

--HG--
extra : rebase_source : 2385608f4857401a37f76070eadb643b1016dd15
extra : histedit_source : 4f33007ed262d001782399f6f70ced0c22f47d66
2017-03-23 18:21:23 +08:00
Edgar Chen db2b2840b6 Bug 1299363 - Part 4: Hold a pointer of ElementQueue in ReactionsStack instead. r=wchen
1. It is possible that invoking a reaction triggers pushing a
new ElementQueue into ReactionStack (e.g., calling define() in
constructor which probably enqueue another upgrade reaction),
and the reference of ElementQueue passed to InvokeReactions
becomes invalid due to the memmove in nsTArray implementation.

I hit such problem when running
http://w3c-test.org/custom-elements/CustomElementRegistry.html test.

2. And we get another benefit from this is memmove becomes faster.

MozReview-Commit-ID: KQ86ZugqsPi

--HG--
extra : rebase_source : b5e5c6b45fa79143094f7a337386a4bb57b777be
extra : histedit_source : 70fec53d07b1f693f91db2c1870af3284a47729e
2017-01-09 22:12:57 +08:00
Edgar Chen bc9a767ae3 Bug 1299363 - Part 3: Remove unused argument in UpgradeCandidates. r=bz, r=wchen
MozReview-Commit-ID: 6DtKG5INe8E

--HG--
extra : rebase_source : 4e44459c9b3cc055bab5878c4c113cefb4ea9117
extra : histedit_source : 1f8378e51e3b63b0fa58998902a4f59436e593b5
2016-12-29 18:25:43 +08:00
Sylvestre Ledru 7c0ae251cd Bug 1381253 - Remove redundant control flow declarations rs=ehsan
MozReview-Commit-ID: FFxP4aMCbOL

--HG--
extra : amend_source : 3aec108430b11048f47ffe19d5da7ac5034770a9
2017-07-15 19:03:04 +02:00
John Dai b6b41eca6c Bug 1315885 - Part 4: Implement callback reaction for custom element reactions. r=wchen
--HG--
extra : rebase_source : 0ccd628ce1f0904bf2d412ade2710c6e1203641e
2017-07-18 20:30:00 -04:00
John Dai c409d295b7 Bug 1315885 - Part 3: Transfer the ownership of ReactionQueue's entry due to re-enter CustomElementReactionsStack::InvokeReactions. r=wchen
--HG--
extra : rebase_source : 2dd237b25d8bbaea1f83eee8d1981d2d83d2b76a
2017-07-10 01:40:00 -04:00
John Dai 8b5bf419f7 Bug 1315885 - Part 2: Avoid rethrowing exception in CustomElementCallback::Call. r=wchen
--HG--
extra : rebase_source : 52643ad3f4ff83954d99bfa0382f362d4542be3d
2017-07-11 02:52:00 -04:00
Mats Palmgren 977a9e5f89 Bug 1376498 part 4 - Make all nsClassHashtable::RemoveAndForget() consumers use Remove() instead. r=froydnj
MozReview-Commit-ID: G64YQLlgm6r
2017-07-05 02:01:45 +02:00
Bill McCloskey f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Carsten "Tomcat" Book 8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey 6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey 4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Mats Palmgren 7edf472a8d Bug 1372048 - Use LookupForAdd instead of Contains+Get/Put to avoid an unnecessary hashtable lookup. r=froydnj
MozReview-Commit-ID: Anh9DdOjNc1
2017-06-14 16:11:21 +02:00
Edgar Chen bc065e9897 Bug 1325279 - Put the reaction queue in CustomElementData structure instead of using a map; r=wchen
Bug 1347446 makes accessing ElementReactionQueue becomes a bit non-trival (have to get it via DocGroup).
Since bug 1359346 already refactors the creation time of CustomElementData, ReactionQueue can also be put into
CustomElementData, then we can just get ReactionQueue from Element.

MozReview-Commit-ID: D6PouDu8hkL
2017-03-21 17:02:21 +08:00
Edgar Chen 5e15c14056 Bug 1353647 - Fix the custom elements v0 upgrade inconsistency; r=wchen
There are two places doing prototype setup in old upgrade,
- If definition comes after JS reflector creation, CustomElementRegistry::Upgrade will do prototype swizzling.
- If definition comes before JS reflector creation, Element::WrapObject will set up the prototype.

The later one does SubsumesConsideringDomain, but the former doesn't not.

This patch is to fix the inconsistency, i.e. the former case should also do SubsumesConsideringDomain.

MozReview-Commit-ID: G3gVsaEa0YF

--HG--
extra : rebase_source : 5e2081e470473cd1a1f642a2dc693127cb9486ca
2017-04-04 23:42:22 +08:00
Edgar Chen be79c5bdce Bug 1359346 - Implement custom element state; r=wchen
https://dom.spec.whatwg.org/#concept-element-custom-element-state

MozReview-Commit-ID: TpGVfTEXPj

--HG--
extra : rebase_source : 26c65a4c83eb4f3c0ccb60a3598336c4afcb0247
2016-12-28 11:43:29 +08:00
Edgar Chen 03f19d5e46 Bug 1357002 - Part 1: Cache "dom.webcomponents.customelements.enabled" preference; r=wchen
MozReview-Commit-ID: HMsvOmYJvjX
2017-04-07 18:48:16 +08:00
John Dai f671ddc4a6 Bug 1309147 - Part 5: Eliminate performance cliff when accessing CEReactions code. r=bz
MozReview-Commit-ID: 61A5YNtJQXF

--HG--
extra : rebase_source : 4ab333a1cf4169047c4500d85412d5b3a642b4eb
extra : histedit_source : 21766c291f63de284baf71fd1d8cf2bb1aaf4bc0
2017-03-30 17:35:59 +08:00
John Dai dc7998c7d8 Bug 1309147 - Part 4: Add CEReactions for CustomElementRegistry. r=bz
MozReview-Commit-ID: ID2TIL9C47R

--HG--
extra : rebase_source : ad2ea9e7b4925d22743a55f55fd6c55e1a8ae805
extra : histedit_source : 176dfbb8a76a1f386d43f20cad1d4fa6125c77af
2017-03-30 18:58:48 +08:00
Edgar Chen f76afcbcd5 Bug 1351979 - Change CustomElementRegistry::Define code to properly propagate out JS exceptions; r=wchen 2017-03-30 11:44:09 +08:00
John Dai b8af434c87 Bug 1347446 - Move custom element reactions stack to DocGroup. r=wchen 2017-03-21 00:42:00 -04:00