summaryrefslogtreecommitdiffstats
path: root/dom/base
Commit message (Collapse)AuthorAgeLines
* Bug 1410790 - Add more assertion in ↵Gaming4JC2020-01-26-31/+52
| | | | | | | | CustomElementData::SetCustomElementDefinition and GetCustomElementDefinition; 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. Tag UXP Issue #1344
* Bug 1352290 - Add assertion to CustomElementReactionsStack::Enqueue to ↵Gaming4JC2020-01-26-0/+15
| | | | | | ensure upgrade reactions aren't scheduled to BackupQueue; Tag UXP Issue #1344
* Bug 1407937 - Move mDefinition from CustomElementReacion to ↵Gaming4JC2020-01-26-19/+7
| | | | | | CustomElementUpgradeReaction; Tag UXP Issue #1344
* Bug 1406297 - Fix Document.createElement must report an exception.Gaming4JC2020-01-26-3/+1
| | | | Tag UXP Issue #1344
* Bug 1319342 - Clone a node should enqueue an upgrade reaction.Gaming4JC2020-01-26-5/+23
| | | | Tag UXP Issue #1344
* Bug 1121994 - Implement adopted callback for custom elements.Gaming4JC2020-01-26-11/+73
| | | | Tag UXP Issue #1344
* Bug 1334044: Replace detached callback (v0) with disconnected callback (v1).Gaming4JC2020-01-26-20/+26
| | | | Tag UXP Issue #1344
* Bug 1334043 - Part 2: Make nsContentUtils::EnqueueLifecycleCallback static.Gaming4JC2020-01-26-75/+41
| | | | | | 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. Tag UXP Issue #1344
* Bug 1334043 - Part 1: Replace attached callback (v0) with connected callback ↵Gaming4JC2020-01-26-23/+25
| | | | | | (v1). Tag UXP Issue #1344
* Bug 1392970 - Part 2: Get CustomElementDefinition from CustomElementData ↵Gaming4JC2020-01-26-46/+26
| | | | | | when possible. Tag UXP Issue #1344
* Bug 1392970 - Part 1: Make CustomElementDefinition ref-counted and put it in ↵Gaming4JC2020-01-26-50/+139
| | | | | | CustomElementData. Tag UXP Issue #1344
* Bug 1301024 - Part 2: Implement create an element steps.Gaming4JC2020-01-26-5/+34
| | | | Tag UXP Issue #1344
* Bug 1301024 - Part 1: Set CreateElement/CreateElementNS is attribute.Gaming4JC2020-01-26-0/+8
| | | | Tag UXP Issue #1344
* Bug 1332233 - prevent resource leak in CustomElementRegistry::Define.Gaming4JC2020-01-26-8/+9
| | | | Tag UXP Issue #1344
* Bug 1334051 - Part 2: Invoke attributeChangedCallback only if attribute name ↵Gaming4JC2020-01-26-43/+194
| | | | | | | | | | | | | | is in the observed attribute list. 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. Note: w/ Fixup for not implementing an API Enhancement Bug 1363481. Tag UXP Issue #1344
* Bug 1334051 - Part 1: Include namespace in attributeChangedCallback.Gaming4JC2020-01-26-3/+11
| | | | | | | 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 Tag UXP Issue #1344
* Bug 1299363 - Part 5-2: Implement new upgrade steps.Gaming4JC2020-01-26-35/+177
| | | | Tag UXP Issue #1344
* Bug 1299363 - Part 5-1: Make the constructor created by ↵Gaming4JC2020-01-26-43/+54
| | | | | | | | document.registerElement() also works with construction stack. So that the old upgrade can also work with new upgrade steps which will be implemented in part 5-2. Tag UXP Issue #1344
* Bug 1353647 - Fix the custom elements v0 upgrade inconsistency;Gaming4JC2020-01-26-15/+25
| | | | | | | | | | | | 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. Tag UXP Issue #1344
* Bug 1299363 - Part 4: Hold a pointer of ElementQueue in ReactionsStack instead.Gaming4JC2020-01-26-14/+18
| | | | | | | | 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. 2. And we get another benefit from this is memmove becomes faster. Tag UXP Issue #1344
* Bug 1299363 - Part 3: Remove unused argument in UpgradeCandidates.Gaming4JC2020-01-26-5/+3
| | | | Tag UXP Issue #1344
* Bug 1299363 - Part 1: Implement construction stack.Gaming4JC2020-01-26-2/+4
| | | | Tag UXP Issue #1344
* Bug 1315885 - Part 4: Implement callback reaction for custom element reactions.Gaming4JC2020-01-26-134/+99
| | | | | | Note: Skipped SyncInvokeReactions since it is removed in CE v1, waste of time. Tag UXP Issue #1344
* Bug 1315885 - Part 3: Transfer the ownership of ReactionQueue's entry due to ↵Gaming4JC2020-01-26-3/+8
| | | | | | re-enter CustomElementReactionsStack::InvokeReactions. Tag UXP Issue #1344
* Bug 1315885 - Part 2: Avoid rethrowing exception in CustomElementCallback::Call.Gaming4JC2020-01-26-0/+4
| | | | Tag UXP Issue #1344
* Bug 1377993 - Make node slots less memory hungry in common cases.Gaming4JC2020-01-26-118/+188
| | | | Tag UXP Issue #1344
* Bug 1347634 - GetCustomElementData and SetCustomElementData don't need to be ↵Gaming4JC2020-01-26-52/+32
| | | | | | virtual; Tag UXP Issue #1344
* Bug 1325279 - Put the reaction queue in CustomElementData structure instead ↵Gaming4JC2020-01-26-29/+21
| | | | | | | | of using a map; 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. Tag UXP Issue #1344
* Creating customized built-in elements without relevant definitions ↵Gaming4JC2020-01-26-54/+0
| | | | | | | | registered first shouldn't throw NotFoundError; per spec change: https://github.com/w3c/webcomponents/issues/608 Tag UXP Issue #1344
* Bug 1359346 - Implement custom element state;Gaming4JC2020-01-26-22/+41
| | | | | | https://dom.spec.whatwg.org/#concept-element-custom-element-state Tag UXP Issue #1344
* Bug 1357002 - Part 1: Cache dom.webcomponents.customelements.enabled preference;Gaming4JC2020-01-26-1/+9
| | | | Tag UXP Issue #1344
* Bug 1341898 - Make nsDocument::IsWebComponentsEnabled use a cached bool pref;Gaming4JC2020-01-26-4/+12
| | | | | | Note: Minus IPC bit. Tag UXP Issue #1344
* Bug 1309147 - Part 5: Eliminate performance cliff when accessing CEReactions ↵Gaming4JC2020-01-26-5/+19
| | | | | | code. Tag UXP Issue #1344
* Bug 1309147 - Part 4: Add CEReactions for CustomElementRegistry.Gaming4JC2020-01-26-9/+1
| | | | Tag UXP Issue #1344
* Bug 1350960 - Release CustomElementReactionsStack in TabGroup thread when ↵Gaming4JC2020-01-26-0/+3
| | | | | | | | DocGroup is going away. Note: In UXP we use non-Quantum thread checking implementation here. Tag UXP Issue #1344
* Bug 1351979 - Change CustomElementRegistry::Define code to properly ↵Gaming4JC2020-01-26-1/+1
| | | | | | propagate out JS exceptions; Tag UXP Issue #1344
* Bug 1347446 - Move custom element reactions stack to DocGroup.Gaming4JC2020-01-26-90/+135
| | | | Tag UXP Issue #1344
* Bug 1341693 - Don't need to check GetDocShell() when creating ↵Gaming4JC2020-01-26-35/+23
| | | | | | CustomElementRegistry; Tag UXP Issue #1344
* Bug 1309184 - Implement upgrade reaction for custom element reactions.Gaming4JC2020-01-26-29/+267
| | | | Tag UXP Issue #1344
* Bug 1274159 - Part 2-2: Support HTMLConstructor WebIDL extended attribute ↵Gaming4JC2020-01-26-0/+24
| | | | | | for custom elements; Tag UXP Issue #1344
* Bug 1274159 - Part 1: Support looking up definitions by using constructor as ↵Gaming4JC2020-01-26-5/+47
| | | | | | a key; Tag UXP Issue #1344
* Bug 1276438 part 3. Align the .body setter with the spec a bit better.Gaming4JC2020-01-26-5/+3
| | | | | | | | | | | | There are two changes here: 1) We allow setting .body even if the root element is not an <html:html>. This is what the spec says to do, and what we used to do before the changes in bug 366200. No tests for this yet, pending https://github.com/whatwg/html/issues/3403 getting resolved. 2) We use GetBody(), not GetBodyElement(), to look for an existing thing to replace. This matters if there are <frameset>s involved. Tag UXP Issue #1344 Tag UXP Issue #252
* Bug 1276438 part 2. Move the implementation of the .body setter from ↵Gaming4JC2020-01-26-0/+27
| | | | | | | nsHTMLDocument to nsIDocument. Tag UXP Issue #1344 Tag UXP Issue #252
* Bug 1276438 part 1. Move the implementation of the .body getter from ↵Gaming4JC2020-01-26-0/+24
| | | | | | | nsHTMLDocument to nsIDocument. Tag UXP Issue #1344 Tag UXP Issue #252
* Issue #1366 - Fix build bustage from erroneously removing 2 function ↵wolfbeast2020-01-22-0/+14
| | | | implementations.
* Issue #1366 - Completely remove showModalDialogGaming4JC2020-01-21-521/+6
|
* Issue #1118 - Part 8: Remove no-longer-used mDidDocumentOpen andwolfbeast2019-12-23-38/+0
| | | | | | | | | | | CheckForOutdatedParent() This was only used to check for cases when document.open() changed the global, and elements being inserted into the document needing a new reflector as a result. Since document.open() no longer changes the global, this code is no longer needed.
* Issue #1118 - Part 7: Remove no-longer-used mWillReparent debug code.wolfbeast2019-12-23-17/+0
|
* Issue #1118 - Part 6: Fix various tests that are no longer correct.wolfbeast2019-12-22-10/+16
| | | | | The behavior change of document.open() requires these tests to be changed to account for the new spec behavior.
* Issue #1118 - Part 5: Change the way document.open() workswolfbeast2019-12-22-23/+147
| | | | | | | | | | | | This changes the work we do for document.open() in the following ways: - We no longer create a new Window when doing document.open(). We use the same Window but remove all the event listeners on the existing DOM tree and Window before removing the document's existing children to provide a clean slate document to use for .write(). - We no longer create a session history entry (previously would be a wyciwyg URI). We now replace the current one, effectively losing the entry for the original document. - We now support document.open() on windowless documents.