| Commit message (Collapse) | Author | Age | Lines |
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
ensure upgrade reactions aren't scheduled to BackupQueue;
Tag UXP Issue #1344
|
|
|
|
|
|
| |
CustomElementUpgradeReaction;
Tag UXP Issue #1344
|
|
|
|
| |
Tag UXP Issue #1344
|
|
|
|
| |
Tag UXP Issue #1344
|
|
|
|
| |
Tag UXP Issue #1344
|
|
|
|
| |
Tag UXP Issue #1344
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
(v1).
Tag UXP Issue #1344
|
|
|
|
|
|
| |
when possible.
Tag UXP Issue #1344
|
|
|
|
|
|
| |
CustomElementData.
Tag UXP Issue #1344
|
|
|
|
| |
Tag UXP Issue #1344
|
|
|
|
| |
Tag UXP Issue #1344
|
|
|
|
| |
Tag UXP Issue #1344
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Tag UXP Issue #1344
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Tag UXP Issue #1344
|
|
|
|
| |
Tag UXP Issue #1344
|
|
|
|
|
|
| |
Note: Skipped SyncInvokeReactions since it is removed in CE v1, waste of time.
Tag UXP Issue #1344
|
|
|
|
|
|
| |
re-enter CustomElementReactionsStack::InvokeReactions.
Tag UXP Issue #1344
|
|
|
|
| |
Tag UXP Issue #1344
|
|
|
|
| |
Tag UXP Issue #1344
|
|
|
|
|
|
| |
virtual;
Tag UXP Issue #1344
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
registered first shouldn't throw NotFoundError;
per spec change: https://github.com/w3c/webcomponents/issues/608
Tag UXP Issue #1344
|
|
|
|
|
|
| |
https://dom.spec.whatwg.org/#concept-element-custom-element-state
Tag UXP Issue #1344
|
|
|
|
| |
Tag UXP Issue #1344
|
|
|
|
|
|
| |
Note: Minus IPC bit.
Tag UXP Issue #1344
|
|
|
|
|
|
| |
code.
Tag UXP Issue #1344
|
|
|
|
| |
Tag UXP Issue #1344
|
|
|
|
|
|
|
|
| |
DocGroup is going away.
Note: In UXP we use non-Quantum thread checking implementation here.
Tag UXP Issue #1344
|
|
|
|
|
|
| |
propagate out JS exceptions;
Tag UXP Issue #1344
|
|
|
|
| |
Tag UXP Issue #1344
|
|
|
|
|
|
| |
CustomElementRegistry;
Tag UXP Issue #1344
|
|
|
|
| |
Tag UXP Issue #1344
|
|
|
|
|
|
| |
for custom elements;
Tag UXP Issue #1344
|
|
|
|
|
|
| |
a key;
Tag UXP Issue #1344
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
nsHTMLDocument to nsIDocument.
Tag UXP Issue #1344
Tag UXP Issue #252
|
|
|
|
|
|
|
| |
nsHTMLDocument to nsIDocument.
Tag UXP Issue #1344
Tag UXP Issue #252
|
|
|
|
| |
implementations.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
| |
The behavior change of document.open() requires these tests to be
changed to account for the new spec behavior.
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|