Commit Graph

1167 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
de5d26b942 Bug 1434474: There's no need to rebuild font / counter styles / font feature values off a runnable. r=bholley
Everything that needs them up-to-date will call flush appropriately, there
should be no need to do it manually.

This way we coalesce all the stylist updates until the next style flush in the
best case, or until one of the consumers actually needs them.

MozReview-Commit-ID: BVsxXxhtcKL
2018-01-31 11:12:36 +01:00
Cameron McCormack
34288f7f48 Bug 1430014 - Part 5: Stop building old style system classes when MOZ_OLD_STYLE is not defined. r=xidorn
MozReview-Commit-ID: CIHyPdF7Exl
2018-02-01 15:04:04 +11:00
Cameron McCormack
02c617875f Bug 1430014 - Part 4: #ifdef out unnecessary code when the old style system is not built. r=xidorn
MozReview-Commit-ID: 1FZ9VzjcPzN
2018-02-01 15:04:04 +11:00
Phil Ringnalda
519d307275 Backed out 7 changesets (bug 1429932) for extremely frequent QuantumRender reftest failures
Backed out changeset b0ac71407500 (bug 1429932)
Backed out changeset 469ceaefd7a4 (bug 1429932)
Backed out changeset 2f801e78f798 (bug 1429932)
Backed out changeset 72852fdf476c (bug 1429932)
Backed out changeset 09e5e25d48ee (bug 1429932)
Backed out changeset bb1394cba514 (bug 1429932)
Backed out changeset 65b8996eb50c (bug 1429932)
2018-01-29 23:43:27 -08:00
Boris Zbarsky
41c46ec098 Bug 1418085 part 6. Remove nsIDOMHTMLElement. r=mystor
MozReview-Commit-ID: 5QUyFeAQYZQ
2018-01-30 00:25:36 -05:00
Boris Zbarsky
a86373f271 Bug 1418076 part 11. Eliminate the nsIDOMHTMLDocument interface. r=mystor
MozReview-Commit-ID: 4lEcUeenbg3
2018-01-26 01:03:25 -05:00
Matt Woodrow
8cc9b9befe Bug 1429932 - Part 1: Remove mFireAfterPaintEvents and use mTransactions instead. r=tnikkel
This fixes a bug where EnsureEventualDidPaintEvent needs to be called separately for each transaction id, but we skip it since mFireAfterPaintEvents is still true from the previous paint.
We now track the equivalent state by checking for the presence of mTransactions[aTransactionId], and correctly schedule an eventual didpaint for each id.

MozReview-Commit-ID: JnRTycGEyom
2018-01-12 11:41:16 +13:00
Hiroyuki Ikezoe
d2a02a7a1b Bug 1415780 - Let nsPresContext have AnimationEventDispatcher. r=birtles
Now we sort CSS animation/transition events by scheduled event time prior
to compositor order.

SortEvents() will be a private method in the next patch in this patch
series.

MozReview-Commit-ID: ICkOayquN0f
2018-01-27 21:17:27 +09:00
Cosmin Sabou
f642a7b9c4 Backed out 12 changesets (bug 1415780) for build bustages nsRefreshDriver.cpp:1606:1 and AnimationCommon.h:168:51 on a CLOSED TREE
Backed out changeset 1fa2f138319e (bug 1415780)
Backed out changeset 6bad89a17566 (bug 1415780)
Backed out changeset a88250ad7a3e (bug 1415780)
Backed out changeset 43d42ca7308f (bug 1415780)
Backed out changeset 79e980195ee8 (bug 1415780)
Backed out changeset f0cc29e7ccd7 (bug 1415780)
Backed out changeset c6567e4196f6 (bug 1415780)
Backed out changeset ae7be65f3c88 (bug 1415780)
Backed out changeset 621b9aaf4a8f (bug 1415780)
Backed out changeset e298f242ce7c (bug 1415780)
Backed out changeset 027a7ed3c948 (bug 1415780)
Backed out changeset 433a6f0d0ac3 (bug 1415780)
2018-01-27 12:47:29 +02:00
Hiroyuki Ikezoe
a154be0ff5 Bug 1415780 - Let nsPresContext have AnimationEventDispatcher. r=birtles
Now we sort CSS animation/transition events by scheduled event time prior
to compositor order.

SortEvents() will be a private method in the next patch in this patch
series.

MozReview-Commit-ID: ICkOayquN0f
2018-01-27 16:55:45 +09:00
Hiroyuki Ikezoe
5d9fc3aed1 Bug 1432061 - Let nsTransformManager participate in cycle-collection. r=birtles
MozReview-Commit-ID: GVmu6vxMPDm
2018-01-22 06:21:08 +09:00
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