Commit Graph

48 Commits

Author SHA1 Message Date
Moonchild 87c4c77ad7 Issue #1643 - Follow-up: Ensure we properly clear our pointers when the
Presentation of a document is destroyed.
2020-10-16 10:19:19 +00:00
Moonchild a680bdc637 Issue #1656 - Part 1: Nuke most vim config lines in the tree.
Since these are just interpreted comments, there's 0 impact on actual code.
This removes all lines that match /* vim: set(.*)tw=80: */ with S&R -- there are
a few others scattered around which will be removed manually in a second part.
2020-09-23 13:55:00 +00:00
Moonchild 388b9c8022 Issue #1655: Update MediaQueryList to the current draft spec.
This make MediaQueryList inherit from EventTarget and adds MediaQueryListEvent
as an interface as well as the onchange() method.
This should not affect compatibility with other code; the event object is a
MediaQueryListEvent instance, which is recognized as a MediaListQuery instance.
2020-09-23 08:24:14 +00:00
Moonchild b6b868b1bd Issue #1643 - Part 4: Hook up all the plumbing. 2020-09-16 19:39:33 +00:00
Moonchild b78f53ffb0 Issue #618 - (async) Implement async attribute for inline module scripts.
This commit does several things:
- Moves the pref check from ScriptLoader to ns[I]Document so it can be called on
the document.
- Changes the atrribute freezing function to a better name that takes the
document as a parameter.
- Sets the proper async/defer attributes on HTML script elements based on
keywords and whether they are module scripts or not.
2020-08-25 07:06:43 +00:00
Moonchild c45b7ee3a9 Issue #1603 - Part 1: Reorganize ScriptLoader/ScriptElement
- Moves scripting parts of DOM into 'dom/script'
- Renames nsScript{Loader/Element} to Script{Loader/Element}
- Adjusts all callers
2020-06-30 11:51:11 +00:00
Matt A. Tobin 5e7917e2c8 Bug 1429656 - Implement ShadowRoot.activeElement
Tag #1375
2020-06-13 08:23:21 -04:00
Matt A. Tobin 43725c7264 Bug 1426494 - Share more code between nsIDocument and ShadowRoot
Tag #1375
2020-06-13 08:21:48 -04:00
Matt A. Tobin 35754dd1af Bug 1355787 - nsIdentifierMapEntry should let one to use either strings or atoms as keys to avoid slow string assignments when possible.
Tag #1375
2020-06-13 08:18:46 -04:00
Matt A. Tobin 80c0247799 Issue #1375 - Fix IsWebComponentsEnabled checks 2020-04-17 07:43:40 -04:00
Matt A. Tobin 9e5e58c0f6 Bug 1425769 - Base class for ShadowRoot and Document to manage style state
Tag #1375
2020-04-17 07:42:07 -04:00
Matt A. Tobin 7e506bd98d Bug 1412775 - Implement Event.composedPath
Tag #1375
2020-04-17 07:30:43 -04:00
Matt A. Tobin fd7a325bc0 Bug 1422931 - Fix crash with slot element and make webcomponents preference per-doc
Tag #1375
2020-04-17 07:25:14 -04:00
Matt A. Tobin 5524318fe7 Bug 1416999 - Remove document.registerElement
Tag #1375
2020-04-17 07:07:09 -04:00
Matt A. Tobin 61e46a6d58 Issue #1375 - Stop largely using the parser service
This is based on Bug 1395828

* Add nsHTMLElement::IsBlock()
* Rename nsHTMLTags methods
* Remove AssertParserServiceIsCorrect()
* Remove most uses of nsIParserService/nsParserService
2020-04-17 06:24:43 -04:00
Matt A. Tobin 2e2190a504 Bug 1332353 - Make it clearer when a stylesheet is really owned by its mDocument
Tag #1375
2020-04-17 05:46:23 -04:00
Matt A. Tobin 940d191ef8 Bug 1367683 - Optimize initializing nsRange
Tag #1375
2020-04-17 05:28:43 -04:00
Matt A. Tobin 0d362ca503 Bug 1330843 - Allow JS to create NAC pseudo-elements
Tag #1375
2020-04-17 05:01:17 -04:00
Matt A. Tobin 5352b69a92 Bug 1305458 - Changing -moz-appearence on hover breaks change event
* Rename nsIDOMEventTarget::PreHandleEvent to nsIDOMEventTarget::GetEventTargetParent
* Add nsIDOMEventTarget::PreHandleEvent
* Add EventTargetChainItem::GetFirstEventTarget
* Call EventTargetChainItem::PreHandleEvent even it sets mCanHandle=false
* Move form control frame focus/blur from nsGenericHTMLFormElement::GetEventTargetParent to PreHandleEvent
* Move fire change event from HTMLTextAreaElement::GetEventTargetParent to PreHandleEvent
* Refine nsXULElement::GetEventTargetParent
* Move dispatch XUL command from nsXULElement::GetEventTargetParent to PreHandleEvent
* Move fire events and set value from HTMLInputElement::GetEventTargetParent to PreHandleEvent
* Add test case
* Let HTMLInputElement delegate event handling to it's parent class
* Refine EventTargetChain flags to reduce overheads
* Refine event target chain creation
* Refine assertion in EventTargetChainItem::Create

Tag #1375
2020-04-14 21:25:54 -04:00
Matt A. Tobin 6da9e3c6b9 Issue #1395 - Remove FlyWeb Service 2020-02-06 19:47:29 -05:00
Gaming4JC 43a8113072 Bug 1405821 - Move microtask handling to CycleCollectedJSContext
Tag UXP Issue #1344
2020-01-26 15:50:49 -05:00
Gaming4JC 8db81508a1 Bug 1415761 - Catch the exception and rethrow it after invoking custom elements reactions;
The spec was unclear on how CEReactions interact with thrown exceptions; see https://github.com/whatwg/html/issues/3217. The spec is now being clarified in https://github.com/whatwg/html/pull/3235.

Tag UXP Issue #1344
2020-01-26 15:50:48 -05:00
Gaming4JC 0b6548613a Bug 1378079 - Part 2: Introduce throw-on-dynamic-markup-insertion counter.
Per spec, document objects have a throw-on-dynamic-markup-insertion counter, which is used in conjunction with the create an element for the token algorithm to prevent custom element constructors from being able to use document.open(), document.close(), and document.write() when they are invoked by the parser.

Tag UXP Issue #1344
2020-01-26 15:50:40 -05:00
Gaming4JC 8573c572fb Bug 1392970 - Part 1: Make CustomElementDefinition ref-counted and put it in CustomElementData.
Tag UXP Issue #1344
2020-01-26 15:50:27 -05:00
Gaming4JC 5840b63cca Bug 1301024 - Part 1: Set CreateElement/CreateElementNS is attribute.
Tag UXP Issue #1344
2020-01-26 15:50:27 -05:00
Gaming4JC bbb717ec12 Bug 1299363 - Part 5-1: Make the constructor created by 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
2020-01-26 15:50:24 -05:00
Gaming4JC 9d51b9d06a Creating customized built-in elements without relevant definitions registered first shouldn't throw NotFoundError;
per spec change: https://github.com/w3c/webcomponents/issues/608

Tag UXP Issue #1344
2020-01-26 15:50:17 -05:00
Gaming4JC 859fbc139a Bug 1341898 - Make nsDocument::IsWebComponentsEnabled use a cached bool pref;
Note: Minus IPC bit.

Tag UXP Issue #1344
2020-01-26 15:50:15 -05:00
Gaming4JC e055747038 Bug 1309147 - Part 4: Add CEReactions for CustomElementRegistry.
Tag UXP Issue #1344
2020-01-26 15:50:14 -05:00
Gaming4JC ce285b6f2d Bug 1276438 part 3. Align the .body setter with the spec a bit better.
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
2020-01-26 15:50:07 -05:00
Gaming4JC 32f3f8826f Bug 1276438 part 2. Move the implementation of the .body setter from nsHTMLDocument to nsIDocument.
Tag UXP Issue #1344
Tag UXP Issue #252
2020-01-26 15:50:07 -05:00
Gaming4JC a2b56b295b Bug 1276438 part 1. Move the implementation of the .body getter from nsHTMLDocument to nsIDocument.
Tag UXP Issue #1344
Tag UXP Issue #252
2020-01-26 15:49:16 -05:00
wolfbeast b1c7cc07c0 Issue #1118 - Part 7: Remove no-longer-used mWillReparent debug code. 2019-12-23 00:00:23 +01:00
wolfbeast dfa7af70ce Issue #1118 - Part 5: Change the way document.open() works
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.
2019-12-22 19:57:30 +01:00
wolfbeast 5d4c82e092 Update identifier map entries and notify if they get removed.
This can happen through DestroyElementMaps()
Based on work by Markus Stange and Edgar Chen.
2019-12-06 14:07:01 +01:00
win7-7 deae241f5e Convert dom/base/nsImageLoadingContent.cpp to use AsyncOpen2 and followups along with it (1445670 and 1373780 part 2 and 3)
Convert dom/base/nsImageLoadingContent.cpp to use AsyncOpen2 and followups along with it (1445670 and 1373780 part 2 and 3)
2019-08-08 16:44:51 +03:00
win7-7 00812e30df Attach FrameProperties to each frame instead of using a shared hashtable
Dispense the shared hashtable and instead attach the frame property list directly to nsIFrame.
2019-06-26 01:51:45 +03:00
wolfbeast 1f9ab3a6e6 Remove NS_IMPL_CYCLE_COLLECTION_TRAVERSE_SCRIPT_OBJECTS 2019-01-18 22:43:29 +01:00
wolfbeast ef8a5dca4f Rewrite IntersectionObserver list handling to be more robust.
Tag #935.
2019-01-18 19:09:30 +01:00
adeshkp 5335681cd2 Telemetry: Remove stubs and related code 2019-01-12 06:20:31 -05:00
wolfbeast c9d920e9c6 Revise lifetime management of IntersectionObservers.
Tag #249
2018-12-22 02:15:50 +01:00
wolfbeast ab961aeb54 Remove all C++ Telemetry Accumulation calls.
This creates a number of stubs and leaves some surrounding code that may be irrelevant (eg. recorded time stamps, status variables).
Stub resolution/removal should be a follow-up to this.
2018-09-03 10:11:38 +02:00
wolfbeast 8b71cda195 Stabilize and align Intersection Observers
- Fixes several crashes
- Aligns the feature with the W3C WD spec

Tag #249
2018-06-27 16:00:53 +02:00
janekptacijarabaci eae8d21428 moebius#138: Optimize operations on root of deeply-nested frame tree
https://github.com/MoonchildProductions/moebius/pull/138
2018-04-24 21:39:13 +02:00
janekptacijarabaci 0a9acadcca moebius#121: DOM - Selection API - getSelection() should exist on XMLDocument / Selection.type
https://github.com/MoonchildProductions/moebius/pull/121
2018-04-23 09:16:50 +02:00
wolfbeast 55d03738f9 Don't include MediaKeySystemAccess without EME.
This also removes checks for EME content in documents.
This removes practical use of EME by no longer having a keying system. (no-op)
tag #26
2018-02-24 10:13:29 +01:00
janekptacijarabaci 62d5359679 CSP 2 - ignore (x-)frame-options if CSP with frame-ancestors directive exists 2018-02-22 11:15:23 +01:00
Matt A. Tobin 5f8de423f1 Add m-esr52 at 52.6.0 2018-02-02 04:16:08 -05:00