Commit Graph

1156 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
c617825580 Bug 1426649: Stop tracking DOM changes from painting. r=dbaron
I'm pretty sure this is not a problem now, since we don't mutate the DOM from
painting, and we don't have legacy extensions anymore.

Just to confirm, I did a try run with a RELEASE_ASSERT(!CheckDOMModified()), and
it passed.

MozReview-Commit-ID: HTekD8tsz9v
2017-12-21 14:09:32 +01:00
Chris Peterson
677bf4030c Bug 1428535 - Add missing override specifiers to overridden virtual functions. r=froydnj
MozReview-Commit-ID: DCPTnyBooIe
2017-11-05 19:37:28 -08:00
Andrea Marchesini
70f77fc9b7 Bug 1425440 - Get rid of GetChildAt_Deprecated in nsPresContext, r=catalinb 2018-01-05 14:36:47 +01:00
Andrea Marchesini
98865c5324 Bug 1425321 - Renaming nsINode::GetChildAt to GetChildAt_Deprecated, r=catalinb
We want to deprecate nsINode::GetChildAt as the first step of removing DOM node
child array storage. See bug 651120.
2018-01-03 13:59:54 +01:00
Emilio Cobos Álvarez
7f463c20ae Bug 1424816: Remove the document state cache. r=smaug
See bug 1422633, there are assertions missing, and servo doesn't assert at all
anymore.

I don't think it's worth optimizing / lazily resolving it, each time the
document state changes.

We usually just restyle the world anyway (which requires recomputing it), and
the changes that it's optimizing (nsWindow::SetActive() and XUL root element
localedir attribute changes) aren't common enough to warrant the complexity I'd
say.

This doesn't handle invalidating the cache in the case the root element goes
away, I haven't bothered because it was already broken, and GetRootElement() is
already gone in RemoveSubtreeFromDocument.

MozReview-Commit-ID: 9RuQhmmy7Kr
2017-12-14 16:07:36 +01:00
Sebastian Hengst
0bab7a4734 Backed out 3 changesets (bug 1419226) for frequently for frequently timing out in Web reftests in webvtt, e.g. enable_controls_reposition.html. r=backout
Backed out changeset 5a2460c34657 (bug 1419226)
Backed out changeset 8cda3fb3ce1a (bug 1419226)
Backed out changeset 21d9bedcf411 (bug 1419226)
2017-11-27 17:27:27 +02:00
Mantaroh Yoshinaga
62eeb660bf Bug 1419226 - Part 2. Remove notify did paint timer. r=mattwoodrow
This EnsureEventualDidPaintEvent() creates software timer. But this timer will
bring several intermittent tests fail. For example, if we want to check the
compositor animation property. If test receives MozAfterPaint of the timer,
there doesn't have animation property on compositor, as result of this, a test
will fail.

I think we don't need to create this timer each time since current painting is
happening synchronously under the refresh driver.

[1] https://searchfox.org/mozilla-central/rev/919dce54f43356c22d6ff6b81c07ef412b1bf933/layout/base/nsPresContext.cpp#189

MozReview-Commit-ID: Hb7UEITer5t
2017-11-27 09:33:54 +09:00
Nika Layzell
20ee9a4927 Bug 1419597 - Part 18: Remove IsInnerWindow and IsOuterWindow methods, r=smaug
MozReview-Commit-ID: DAAm6tLubhJ
2017-11-23 13:12:13 -05:00
Jonathan Kew
f39cb36f48 Bug 1418724 - part 2 - Force reflow of all content when locale prefs change, so that we can pick up modifications to the preferred ordering of CJK fonts without requiring restart or page reload. r=m_kato 2017-11-21 11:02:20 +00:00
Cameron McCormack
d0d7e8523c Bug 1418222 - Move system metrics handling to nsMediaFeatures. r=TYLin
MozReview-Commit-ID: 25yWc29Wt4R
2017-11-17 15:35:26 +08:00
Emilio Cobos Álvarez
c4bd75ce44 Bug 1416564: Remove mozmm CSS unit. r=heycam
MozReview-Commit-ID: AU4CUq09tw4
2017-11-14 16:14:17 +01:00
Emilio Cobos Álvarez
39c51c1214 Bug 1413143: Make font inflation computation less lazy. r=bz,JanH
This makes it a bit more straight-forward to change the system font scale,
preserving the sync MediaFeatureChanged event.

This also avoids notifying media queries when the shell is not initialized.

In particular, the patch in bug 1404545 allows calling MediaFeatureValuesChanged
on a still-initializing pres-shell. This is nasty, and all this initialization
order is kind of a mess, but I'm not reworking it for now...

Also, this drops the invalidation of font-inflation when a doctype is added to
the document. GetViewportInfo() already relies on the doctype not changing, as
noted in a comment.

MozReview-Commit-ID: Knw7dM1B04Y
2017-11-04 12:08:38 +01:00
Daniel Holbert
8fea3c215f Bug 1412346 part 5: (automated patch) Switch a bunch of C++ files in layout to use our standard mode lines. r=jfkthame
This patch was generated automatically by the "modeline.py" script, available
here: https://github.com/amccreight/moz-source-tools/blob/master/modeline.py

For every file that is modified in this patch, the changes are as follows:
 (1) The patch changes the file to use the exact C++ mode lines from the
     Mozilla coding style guide, available here:
https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Coding_Style#Mode_Line

 (2) The patch deletes any blank lines between the mode line & the MPL
     boilerplate comment.

 (3) If the file previously had the mode lines and MPL boilerplate in a
     single contiguous C++ comment, then the patch splits them into
     separate C++ comments, to match the boilerplate in the coding style.

MozReview-Commit-ID: EuRsDue63tK
2017-10-27 10:33:53 -07:00
Kris Maglione
0951de1842 Bug 1411817: Add do_AddRef overloads for nsCOMPtr<T> and nsRevocableEventPtr<T>. r=froydnj
MozReview-Commit-ID: gEU7whtNHc
2017-10-25 19:46:50 -07:00
Boris Zbarsky
54dbb7f4f0 Bug 1411138. Be consistent (and follow the spec) in terms of how we determine the element that propagates styles to the viewport. r=dholbert
MozReview-Commit-ID: 8tH3nCDQJID
2017-10-26 00:35:22 -04:00
angelsl
b48fe1965f Bug 1393116 - Only fire resize event if size actually changed r=dbaron
MozReview-Commit-ID: 1GssEpmUQNz
2017-09-09 00:49:43 +08:00
Sebastian Hengst
08efa86e76 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 1h3kZyrtqSt
2017-10-17 11:45:16 +02:00
Hiroyuki Ikezoe
e7ec269d6c Bug 1404545 - Force to call MediaFeatureValuesChanged for stylo in UpdateEffectiveTextZoom. r=heycam
MozReview-Commit-ID: EWbg7fHjcGt
2017-10-17 13:25:12 +09:00
Cameron McCormack
ce449895d5 Bug 1408312 - Part 3: Replace nsCSSParser/nsRuleNode usage for color computation in Servo styled documents. r=xidorn
MozReview-Commit-ID: LuB0izWz7nk
2017-10-16 09:06:39 +08:00
Kris Maglione
1895b2d74a Bug 1404198: Part 2e - Switch to NS_NewTimer* in layout. r=njn
MozReview-Commit-ID: 2WxyAXpJ3Fg
2017-10-15 23:13:31 -07:00
Emilio Cobos Álvarez
70db8ad833 Bug 1405311: Not require a subtree restyle when system metrics change now that :-moz-system-metric no longer exists. r=heycam
MozReview-Commit-ID: 554j2sJKrHK
2017-10-12 15:10:54 +02:00
Sebastian Hengst
071a381ddf Backed out changeset f13bc708c440 (bug 1408312) 2017-10-16 16:15:34 +02:00
Cameron McCormack
4062abccb9 Bug 1408312 - Part 3: Replace nsCSSParser/nsRuleNode usage for color computation in Servo styled documents. r=xidorn
MozReview-Commit-ID: LuB0izWz7nk
2017-10-16 09:06:39 +08:00
Xidorn Quan
6cc480fd70 Bug 1401825 - Support pseudo-element properly in nsPresContext::HasAuthorSpecifiedRules. r=emilio
MozReview-Commit-ID: Iugvr9DYm2E
2017-10-10 18:35:10 +11:00
Nicholas Nethercote
7dbfdaf890 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
2017-10-03 09:05:19 +11:00
Brad Werth
a3adbbc4df Bug 1406108: Make MediaQueryList iteration no longer copy RefPtrs. r=heycam
MozReview-Commit-ID: 4eDs6viuxvT
2017-09-19 17:05:16 -07:00
Brad Werth
72c9e749e5 Bug 1376931 Part 4: Before MediaQueryList iteration for event listeners, copy the array before sending any events. r=heycam
MozReview-Commit-ID: 4eDs6viuxvT
2017-09-19 17:05:16 -07:00
Brad Werth
8449663d7f Bug 1376931 Part 2: Extend ContentViewer to allow reporting of effective full zoom level as determined by the device context. r=bz,heycam
MozReview-Commit-ID: EoVp1DwAl0j
2017-09-27 14:06:37 -07:00
Sebastian Hengst
4411388d7a Backed out changeset 3adba9da5967 (bug 1376931) for bustage at layout/style/nsMediaFeatures.cpp:296: 'class nsPresContext' has no member named 'GetEffectiveFullZoom'; did you mean 'GetDeviceFullZoom'. r=backout on a CLOSED TREE 2017-10-05 00:15:51 +02:00
Sebastian Hengst
4e488b2ebc Backed out changeset d17d793f9850 (bug 1376931) 2017-10-05 00:14:57 +02:00
Brad Werth
84a1dea9af Bug 1376931 Part 4: Before MediaQueryList iteration for event listeners, copy the array before sending any events. r=heycam
MozReview-Commit-ID: 4eDs6viuxvT
2017-09-19 17:05:16 -07:00
Brad Werth
272e1d58a9 Bug 1376931 Part 2: Extend ContentViewer to allow reporting of effective full zoom level as determined by the device context. r=bz,heycam
MozReview-Commit-ID: EoVp1DwAl0j
2017-09-27 14:06:37 -07:00
Nicholas Nethercote
9fda5528d2 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
2017-09-26 08:33:21 +10:00
Sebastian Hengst
027dab5938 merge mozilla-inbound to mozilla-central. r=merge a=merge
MozReview-Commit-ID: 1Wa3jV6n7Wj
2017-09-16 11:35:02 +02:00
Boris Zbarsky
c60153e7f7 Bug 1398500 part 1. Switch the viewport scrollbar override stuff to use Element, not nsIContent. r=dholbert
MozReview-Commit-ID: FU0Afemj4XD
2017-09-15 23:45:05 -04:00
Masatoshi Kimura
a4c148bf75 Bug 1400207 - Remove nsIDocument::AddCharSetObserver. r=hsivonen
MozReview-Commit-ID: 7uWDQvyz4yC
2017-09-14 23:19:22 +09:00
Matt Woodrow
c1428d377d Bug 1397054 - Reset nsDisplayListBuilder state each frame so that we can use it multiple times. r=mstange
MozReview-Commit-ID: Gb7AnKoZaPu
2017-09-12 14:10:39 -04:00
Daniel Holbert
5590031f7b Bug 1398376 part 3: Collapse formerly-MOZILLA_INTERNAL_API-guarded Foo()/FooInternal() functions together in nsIPresShell and nsPresContext. r=mats
This is just simplifying things by eliminating a layer of now-unnecessary
abstraction.

MozReview-Commit-ID: 1MBagjYXbCD
2017-09-08 16:25:03 -07:00
Daniel Holbert
9b4c18de30 Bug 1398376 part 2: Remove formerly-MOZILLA_INTERNAL_API-guarded FooExternal() functions from nsIPresShell and nsPresContext. r=mats
These functions are now dead code.  And really, they were already dead code
even before this patch-stack -- they were only called in never-evaluated
(and now-deleted) #else clauses.

MozReview-Commit-ID: AeY6Z3ybmsv
2017-09-08 16:25:01 -07:00
Bobby Holley
d41978678e Bug 1394987 - Remove dead codepath into PresShell::ReconstructFrames. r=emilio
MozReview-Commit-ID: 5ZqvGc2eTmJ
2017-08-29 17:40:56 -07:00
Nazım Can Altınova
5e5b68d3c7 Bug 1355721 - stylo: Implement font feature values lookup r=emilio,xidorn
MozReview-Commit-ID: 7wgQ1NCn7vL
2017-08-23 18:05:53 -07:00
Gregory Szorc
336b6b8347 Backed out changesets b749fc196a50, 2791eac8d760 (bug 1355721) for build bustage
CLOSED TREE
2017-08-24 20:30:17 -07:00
Nazım Can Altınova
639d0c6171 Bug 1355721 - stylo: Implement font feature values lookup r=emilio,xidorn
MozReview-Commit-ID: 7wgQ1NCn7vL
2017-08-23 18:05:53 -07:00
Jeremy Chen
75035cbcb7 Bug 1375332 - stylo: force restyle descendants after character set is updated. r=emilio
In Stylo, if there exists one or more <script> elements in the document, frame
construction might happen earlier than the UpdateCharSet(), which leads to an
incorrect style data for the frames. So, we force a restyle in this situation,
to make the style data of all the descendants up-to-date.

MozReview-Commit-ID: BwCwp6Ndvmc
2017-08-21 18:58:53 +08:00
Manish Goregaokar
0b029c9402 Bug 1387953 - Exit early before calling Servo_HasAuthorSpecifiedRules without element data; r=bholley
MozReview-Commit-ID: VrtKytWlcg
2017-08-07 13:48:09 -07:00
David Anderson
5cbc12627e Change the subdoc invalidation callback to handle overflow. (bug 1345891 part 5, r=mattwoodrow) 2017-08-03 21:22:49 -07:00
Jonathan Watt
32406b4c7c Bug 1379269, part 2 - Invalidate and notify when clearing cached media features for Windows accent color changes. r=dholbert
MozReview-Commit-ID: 66tP4la4xy9
2017-07-24 15:57:29 +01:00
Wes Kocher
11c90747d8 Merge inbound to central, a=merge
MozReview-Commit-ID: Dg4fbH8wbXt
2017-07-31 17:43:38 -07:00
Nicholas Nethercote
09493fcbcf Bug 1384835 (part 3, attempt 2) - Remove the Preferences::Get*CString() variants that return nsAdoptingCString. r=froydnj. 2017-07-31 14:28:48 +10:00
Nicholas Nethercote
a222153d9c Bug 1384835 (part 2, attempt 2) - Remove the Preferences::Get*String() variants that return nsAdoptingString. r=froydnj. 2017-07-31 14:23:50 +10:00