Commit Graph

245 Commits

Author SHA1 Message Date
Boris Zbarsky
f364d500c6 Bug 1364360 part 1. Make Element::GetScrollFrame follow the spec more closely in the quirks mode case. r=ehsan 2017-05-25 13:39:44 -04:00
Ting-Yu Lin
f88eedbf7e Bug 1363640 Part 6 - Use bound document's style backend when creating an XBL document. r=heycam
The <content> in an XBL document could be injected into documents with
different style backend types. Therefore, we need to set the XBL document's
style backend to the same as the bound document's so that the style
attribute of the content can be processed by the correct backend. <marquee>
elements in xbl-marquee.xml is one such example.

MozReview-Commit-ID: 7M33zlbZqNF
2017-05-11 17:16:27 -07:00
Ting-Yu Lin
672280851d Bug 1363640 Part 1 - Move IsContentDocument() and IsTopLevelContentDocument() from nsDocument to nsIDocument. r=heycam
In this way, the callers who have nsIDocument don't need to cast to nsDocument.

MozReview-Commit-ID: 8zVUjkbrlaG
2017-05-09 18:28:36 -07:00
Andrea Marchesini
80bc31371c Bug 1362119 - part 1 - Moving dom/base/Script{Loader,Element}.* in dom/script, r=ehsan
This patch does these things:

1. it moves nsScriptElement, nsScriptLoader, ScriptSettings, nsIScriptElement
   and nsIScriptLoaderObserver in dom/script
2. it renames nsScriptElement to mozilla::dom::ScriptElement
3. it renames nsScriptLaoder to mozilla::dom::ScriptLoader
2017-05-08 08:24:22 +02:00
Carsten "Tomcat" Book
c4daf63d34 Backed out changeset 5d77f6b14633 (bug 1362119) for android bustage in nsCCUncollectableMarker.cpp:500:7: error: 'TraceScriptHolder' is not a member of 'mozilla' 2017-05-08 09:54:38 +02:00
Andrea Marchesini
71aba8e0ee Bug 1362119 - part 1 - Moving dom/base/Script{Loader,Element}.* in dom/script, r=ehsan
This patch does these things:

1. it moves nsScriptElement, nsScriptLoader, ScriptSettings, nsIScriptElement
   and nsIScriptLoaderObserver in dom/script
2. it renames nsScriptElement to mozilla::dom::ScriptElement
3. it renames nsScriptLaoder to mozilla::dom::ScriptLoader
2017-05-08 08:24:22 +02:00
Boris Zbarsky
50c4dcff23 Bug 1361274. There's no need to update link :visited state when doing querySelectorAll, since querySelectorAll ignores that state anyway. r=smaug
In our current setup, in which links with an href attribute always match either
:link or :visited, no matter whether that attribute's value is a valid URI,
changes to the attribute always put the element into either the "match nothing"
state or the "match :link" state, via calls to Link::ResetLinkState.

The only thing FlushPendingLinkUpdates is needed for is (lazily, in case it
turns out to not be needed because the element got removed from the DOM anyway)
registering a history observer to switch the link state to :visited as needed.

This means that selector matching consumers that would never expose :visited
state to start with don't need to worry about calling FlushPendingLinkUpdates.
2017-05-03 16:54:25 -04:00
Brad Werth
12c58078d9 Bug 1348481 Part 1b: Generalize FindDocStyleSheetInsertionPoint so it doesn't require an array of RefPtrs. r=heycam
MozReview-Commit-ID: Aqnow6hFw5i
2017-05-01 16:12:04 -07:00
Aryeh Gregor
594c362b60 Bug 1251198 - Remove various obsolete events from document.createEvent r=smaug
Other browsers do not support any of these (IIRC), telemetry reports
essentially zero usage, and supporting them is contrary to the DOM spec.

Notes on specific events:

CommandEvent and SimpleGestureEvent: These are not supposed to be
web-exposed APIs, so I hid the interfaces from web content too
(necessary to avoid test_all_synthetic_events.html failures).

DataContainerEvent: This was a non-standard substitute for CustomEvent
that seemed to have only one user, so I removed it entirely and switched
the user (MozillaFileLogger.js) to CustomEvent.

ScrollAreaEvent: This is entirely non-standard, but we apparently expose
it deliberately to web content, so I didn't see any reason to remove it
from createEvent.

SimpleGestureEvent and XULCommandEvent: Can still be created from
createEvent(), but not by content.

TimeEvent: This is still in because it has no constructor, so there's no
other way to create it.  Ideally we'd update the SMIL spec to add a
constructor.  I did remove TimeEvents.

MozReview-Commit-ID: 7Yi2oCl9SM2
2017-04-20 15:45:37 +03:00
Sumit Tiwari
4a179064e0 Fix for bug 1142497 - change mDOMMediaQueryLists to use mozilla::LinkedList;r=erahm
MozReview-Commit-ID: G9RtgdYudqA
2017-04-06 20:45:16 -04:00
Olli Pettay
1a7d96f92a Bug 1355540, use SegmentedVector for pending links to avoid slow hashtable lookups in hot codepaths, r=bz 2017-04-15 18:55:05 +03:00
Xidorn Quan
3c8434fe47 Bug 1343964 part 4 - Have document and svg:use element own URLExtraData. r=bholley,bz
MozReview-Commit-ID: 8451L5qJvEx
2017-04-06 16:51:29 +10:00
Bevis Tseng
a0785a7f8a Bug 1346145 - Label nsIDocument::SelectorCache. r=ehsan
SelectorCache::NotifyExpired() will be invoked by nsExpirationTracker::TimerCallback() from an unlabel runnable.
We adopt the change in nsExpirationTracker to provide a DocGroup EventTarget for the invocation of this callback.
2017-03-13 14:49:28 +08:00
Xidorn Quan
6eb87266b6 Bug 1345696 part 1 - Lots of fixup for the next patch. r=heycam
The next patch moves nsCSSFontFaceRule into a separate header, which
somehow affects lots of header dependencies. I'm not completely sure
why this happens, though.

MozReview-Commit-ID: KuXbsaX0NUd
2017-03-28 20:05:12 +11:00
Boris Zbarsky
923091e284 Bug 1342823 part 2. Simplify the management of whether our document's frame request callbacks are scheduled. r=farre
MozReview-Commit-ID: 46oVKKbCLbn
2017-03-27 14:52:36 -04:00
Boris Zbarsky
9e23fdf8e2 Bug 1342823 part 1. Move some one-bit booleans in nsIDocument next to all the other one-bit booleans. r=farre
MozReview-Commit-ID: 3FLVka93lCq
2017-03-27 14:51:55 -04:00
Alastor Wu
8f4b05a9b5 Bug 1347758 - part2 : remove add/removeMediaContent() and related codes. r=Ehsan
Since the window would know when need to resume the media, we don't need the
add/removeMediaContent() anymore.

MozReview-Commit-ID: F9MSiqqnOiV
2017-03-24 14:43:40 +08:00
Alastor Wu
c49d1c3d44 Bug 1347758 - part1 : window should know whehter there is any alive media component and decide to resume the tab or not. r=Ehsan
We should let window decide whether resume the media component, not document.
Because we might have media component which is not in DOM tree, but we still
want to play it.

Window should be resumed when all following conditions are true,
(1) the tab is in the foreground
(2) there is any alive media component (MediaElement/WebAudio/PlugIn...)
(3) the window is blocked (nsISuspendedTypes::SUSPENDED_BLOCK)

MozReview-Commit-ID: JXw5MA4FCxF
2017-03-24 14:43:26 +08:00
Iris Hsiao
a501d530f1 Backed out 6 changesets (bug 1347758) for eslint failure
Backed out changeset 9becd55242c1 (bug 1347758)
Backed out changeset 2abce19f5001 (bug 1347758)
Backed out changeset 80232d4c85d5 (bug 1347758)
Backed out changeset 1fd084ec34d4 (bug 1347758)
Backed out changeset cafb3c12027b (bug 1347758)
Backed out changeset 85846edfe957 (bug 1347758)
2017-03-24 16:58:08 +08:00
Alastor Wu
30b1724816 Bug 1347758 - part2 : remove add/removeMediaContent() and related codes. r=Ehsan
Since the window would know when need to resume the media, we don't need the
add/removeMediaContent() anymore.

MozReview-Commit-ID: F9MSiqqnOiV
2017-03-24 12:01:46 +08:00
Alastor Wu
70f4131dc4 Bug 1347758 - part1 : window should know whehter there is any alive media component and decide to resume the tab or not. r=Ehsan
We should let window decide whether resume the media component, not document.
Because we might have media component which is not in DOM tree, but we still
want to play it.

Window should be resumed when all following conditions are true,
(1) the tab is in the foreground
(2) there is any alive media component (MediaElement/WebAudio/PlugIn...)
(3) the window is blocked (nsISuspendedTypes::SUSPENDED_BLOCK)

MozReview-Commit-ID: JXw5MA4FCxF
2017-03-24 12:01:43 +08:00
Mantaroh Yoshinaga
ceae2f02e8 Bug 1062106 part 2 - Remove unused SVG Attribute Animations cascade level. r=birtles,dbaron,xidorn
The previous patch in this series converted all uses of mapped attributes
for animation to be animated as CSS properties (that is, to be treated
as presentation hints in the cascade).

As result, we no longer need the SVG Animation presentation hints level
of the cascade, the corresponding rule processor(SVGAttrAnimationRuleProcessor),
or the corresponding eRestyle_SVGAttrAnimations restyle hint. So this patch
removes these unused rule processor and restyle hint.

MozReview-Commit-ID: Hm8IDaqc3ym
2017-03-21 15:43:26 +09:00
Manish Goregaokar
de1687e9f8 Bug 1341086 - Part 2: stylo: Support all non-ts pseudos with an argument; r=emilio,heycam
MozReview-Commit-ID: IHjX2Q3k8eD
2017-03-16 14:10:22 -07:00
Iris Hsiao
3a84bb5c77 Backed out 4 changesets (bug 1062106) for build bustage
Backed out changeset 7ac1fffb6a87 (bug 1062106)
Backed out changeset 7682b2da0437 (bug 1062106)
Backed out changeset e77bfa57be61 (bug 1062106)
Backed out changeset a565aca3013c (bug 1062106)
2017-03-21 16:41:18 +08:00
Mantaroh Yoshinaga
1ff18a18d4 Bug 1062106 part 2 - Remove unused SVG Attribute Animations cascade level. r=birtles,dbaron
The previous patch in this series converted all uses of mapped attributes
for animation to be animated as CSS properties (that is, to be treated
as presentation hints in the cascade).

As result, we no longer need the SVG Animation presentation hints level
of the cascade, the corresponding rule processor(SVGAttrAnimationRuleProcessor),
or the corresponding eRestyle_SVGAttrAnimations restyle hint. So this patch
removes these unused rule processor and restyle hint.

MozReview-Commit-ID: Hm8IDaqc3ym
2017-03-21 15:43:26 +09:00
Kris Maglione
96e9d02181 Bug 1333990: Follow-up: Use Promise& rather than OwningNonNull<Promise> for binding arguments. r=bz
MozReview-Commit-ID: 23aYwjCPJ6l
2017-03-17 13:55:27 -07:00
Kris Maglione
e8289edf84 Bug 1333990: Part 2d - Add a utility to block HTML parsing until sandbox scripts are ready. r=hsivonen,billm
In order to asynchronously load content scripts that need to run very early in
the page load cycle, before any ordinary page scripts, we need to be able to
block parsing from the document-element-inserted listener. Since the script
loader operates by returning promises, blocking on promise resolution is the
simplest way to achieve this.

MozReview-Commit-ID: CTWlyrP6dqG
2017-03-16 16:47:35 -07:00
Kris Maglione
e029920775 Bug 1333990: Part 2b - Don't enable editor until layout has started. r=ehsan
In order to support asynchronous loading of extension content scripts, we need
to be able to exit the HTML parser flush loop immediately after inserting the
document element. Normally this doesn't cause problems, but when we enter edit
mode with an empty element selected, the editor inserts a <br> node, and a
<br> node at the start of the <html> element causes issues.

These changes solve that issue by putting off entering editor mode until we
begin laying out the document.

MozReview-Commit-ID: H2ksNz0jRxs
2017-03-14 21:22:06 -07:00
Kirk Steuber
82f36355d4 Bug 1345611 - Change behavior of subdocument Flash blocking to be Third-Party Flash blocking r=bsmedberg,qdot
The previous implementation regarding to the Flash Blocking Subdocument list blocked all subdocuments that matched the list. This patch changes that so that subdocuments are only blocked if they are on the Subdocument Block List and also are loaded in a Third-Party context.

The changes to cert8.db and key3.db add the https certificate for subdocument.example.com so that testing can verify that a scheme mismatch between the document and its parent results in a third-party classification.

MozReview-Commit-ID: IXnA4iPzB4y
2017-03-10 10:50:21 -08:00
Manish Goregaokar
be24bd2d60 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
Alastor Wu
3e5501715a Bug 1338137 - part1 : ref media content when the media element bind to tree. r=baku
In bug1319771, we found that the tab would become visible unexpectly in short
period in some situations. We don't want to resume the tab in this kind of
situation, so we check whether there is any alive media component in the tab
using IsServiceStarted(). However, since we have lots different ways to create
the service, this function is not accurate at all.

Therefore, we can add media element directly to the document when it binds to
tree so that we can really know whether there is any alive media component.

MozReview-Commit-ID: FvZFg91IqgE
2017-03-04 01:14:24 +08:00
Ben Kelly
3e3147f98d Bug 1266747 P1 Track the last focus time on the nsIDocument. r=smaug 2017-02-28 22:12:27 -05:00
Sebastian Hengst
60f5eb6bba Backed out changeset d19ad1c1c214 (bug 1266747) for failing dom/workers/test/serviceworkers/test_claim.html. r=backout 2017-02-28 18:56:14 +01:00
Ben Kelly
eda30dce7a Bug 1266747 P1 Track the last focus time on the nsIDocument. r=smaug 2017-02-28 10:48:51 -05:00
Jessica Jong
be4c818826 Bug 1340086 - Remove uses of AnimationsPaused() since it is always false after bug 1316330. r=mrbkap 2017-02-22 01:00:00 -05:00
Emilio Cobos Álvarez
e09d495658 Bug 1340107: Remove obsolete bindgen-related comment. r=heycam
This bug was recently fixed and stylo updated to use a newer version.

MozReview-Commit-ID: K9qUnKXoDKU
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-02-16 11:56:13 +01:00
John Dai
5730d36b65 Bug 1338889 - Part 2: Support DOMString as Argument 3 of Document.createElementNS. r=bz 2017-02-15 00:07:00 +08:00
John Dai
213ed5c7e5 Bug 1338889 - Part 1: Remove redundant trailing spaces. r=bz 2017-02-14 23:11:00 +08:00
Kirk Steuber
bdcea14c4d Bug 1338287 - Make nsIDocument::DocumentFlashClassification accessible from privileged JS r=bz
MozReview-Commit-ID: 1II2puZMub5
2017-02-13 13:39:40 -08:00
Bill McCloskey
fa3300d9dc Bug 1337537 - Workarounds to avoid TabGroup assertions in edge cases (r=smaug)
MozReview-Commit-ID: LVTgyivcA7V
2017-02-13 17:03:03 -08:00
Bill McCloskey
4a1cd90b0e Bug 1337537 - Move Dispatcher.{cpp,h} to xpcom/threads (r=froydnj)
MozReview-Commit-ID: AYyKynUv4bX
2017-02-13 17:02:48 -08:00
Cameron McCormack
334e0fe231 Bug 1334735 - Part 1: Move need style/flush flags from document to pres shell. r=bz
MozReview-Commit-ID: 2Amf9yGRiJA
2017-02-10 10:42:27 +08:00
Kirk Steuber
08b3810f6c Bug 1336714 - Added a null check to the GetParentDocument call in nsDocument::ComputeFlashClassification. Change nsDocument::GetAllowPlugins to return result rather than using unnecessary outparam. nsPluginArray::AllowPlugins changed to call the GetAllowPlugins method on the inner window's document rather than on the docshell's mContentViewer's document. r=bsmedberg,bz
MozReview-Commit-ID: Crx9v8OBKKq
2017-02-06 12:47:00 -08:00
Kirk Steuber
5c396352c6 Bug 1307604 - Add allow and deny lists for Flash Blocking r=bsmedberg,bz,francois
MozReview-Commit-ID: H2dgJX6Hsz7
2016-11-22 15:01:04 -08:00
Xidorn Quan
be8ec3f906 Bug 1334938 - Re-enable stylo in stylo builds. r=emilio
MozReview-Commit-ID: y7u7QNHYii
2017-01-30 12:09:25 +11:00
Bill McCloskey
be49fc768f Bug 1332494 - Move TaskCategory definition to xpcom/threads/TaskCategory.h (r=froydnj)
MozReview-Commit-ID: ET43PbGRgxl
2017-01-26 14:45:58 -08:00
Mats Palmgren
7b1c2b5cc8 Bug 1323777 part 3 - Ensure that collecting telemetry on user font usage don't have unwanted side effects. r=smaug 2017-01-25 23:34:22 +02:00
Julian Seward
ee8c840e10 Bug 1232696 - Remove NS_DECL_AND_IMPL_ZEROING_OPERATOR_NEW as it causes segfaulting for GCC 6 builds (2 of 5, fixes for dom/). r=bkelly. 2017-01-24 17:10:39 +01:00
Bevis Tseng
ba2d99d8bb Bug 1314833 - Part 1.2: Define AbstractThreadFor(TaskCategory aCategory) in Dispatcher and DispatcherTrait. r=billm
MozReview-Commit-ID: 2kt3EN2WyXl
2016-12-01 18:33:05 +08:00
Cameron McCormack
c570fae74a Bug 1331326 - stylo: Shuffle some nsIDocument fields around to avoid rust-bindgen problem. r=bz
MozReview-Commit-ID: sYpRzC2t0E
2017-01-16 16:27:56 +08:00