Commit graph

478 commits

Author SHA1 Message Date
Hiroyuki Ikezoe
95a7be33f5 Bug 1474721 - Drop epoch times in nsRefreshDriver. r=bz
These epoch times were introduced for beforepaint event in bug 569520, and
haven't used since we dropped mozRequestAnimationFrame in bug 909154.

MozReview-Commit-ID: CGOGeH0rrdi

--HG--
extra : rebase_source : 43905538a39c9618d95cc0513f3ffa2cf813a970
2018-07-11 06:15:00 +09:00
Hiroyuki Ikezoe
5b05fdd61a Bug 1472076 - Introduce nsATimerAdjustmentObserver in nsRefreshDriver. r=birtles
mMostRecentRefresh is changed not only in Tick() but also in
EnsureTimerStarted().  In the case where it happens in Tick() refresh observers
can know it through WillRefresh(), but there is no way in the case of
EnsureTimerStarted().  This patch introduces a new abstract class to be notified
when mMostRecentRefresh was changed in EnsureTimerStarted() so that animations
can use the *real* most recent refresh time until the next tick happens.

The reason why we have another observer array in parallel with existing array
(mObservers) is that the refresh driver should stop the timer if there is no
normal observes but there are still any timer adjustment observes.

MozReview-Commit-ID: FaDcl5GrvI3

--HG--
extra : rebase_source : a6a362366f4eda9fb51003ef4cff5bea886836f0
2018-07-03 10:57:12 +09:00
Mats Palmgren
e9805c3053 Bug 1470260 part 2 - Make RefreshDriverTimer ref-counted and hold a strong ref on it on the stack when nsRefreshDriver::Tick can be reached. r=emilio 2018-06-30 01:08:54 +02:00
Mats Palmgren
050942c49c Bug 1470260 part 1 - Ensure that 'this' stays alive for the duration of the TickRefreshDriver call. r=emilio 2018-06-30 01:08:54 +02:00
Andreea Pavel
4ced6e8b2d Merge mozilla-central to autoland. a=merge 2018-06-03 07:27:01 +03:00
Andrea Marchesini
7ba8b77e07 Bug 1466023 - Separate FontTableURI and BlobURL, r=qdot
This patch splits FontTableURI and BlobURL in 2 classes:
FontTableURIProtocolHandler and BlobURLProtocolHandler
both under mozilla::dom.

It also removes a memory reporter because that report is already covered by the
BlobURL one.

--HG--
rename : dom/file/nsHostObjectProtocolHandler.cpp => dom/file/BlobURLProtocolHandler.cpp
rename : dom/file/nsHostObjectProtocolHandler.h => dom/file/BlobURLProtocolHandler.h
2018-06-02 15:51:42 +02:00
Emilio Cobos Álvarez
fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
Csoregi Natalia
2f779be8d9 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-02 01:03:45 +03:00
Markus Stange
d4f5ced78c Bug 1462784 - Annotate layout-related stacks with the LAYOUT category instead of the GRAPHICS category. r=njn
MozReview-Commit-ID: 77lvtLaxgEE

--HG--
extra : rebase_source : 8e1a970fd47772808867a17b49aedc046902bdf0
2018-05-18 17:46:59 -04:00
Csoregi Natalia
fc2ed6e92a Backed out 18 changesets (bug 1462784) for ESlint failure on FlameGraph.js:1297. CLOSED TREE
Backed out changeset 79556798ff9f (bug 1462784)
Backed out changeset 88321efb673b (bug 1462784)
Backed out changeset 7880f9dc7023 (bug 1462784)
Backed out changeset 71fe35fd1f7e (bug 1462784)
Backed out changeset a543b94b049a (bug 1462784)
Backed out changeset d1ca8b0f2221 (bug 1462784)
Backed out changeset 68eabfbf3c16 (bug 1462784)
Backed out changeset 34e71c789903 (bug 1462784)
Backed out changeset 6fe79d1ca1bd (bug 1462784)
Backed out changeset e5ad2e525ea9 (bug 1462784)
Backed out changeset 329645ff1e23 (bug 1462784)
Backed out changeset e09c38853172 (bug 1462784)
Backed out changeset 0663d1a6d2da (bug 1462784)
Backed out changeset 106967fc29d2 (bug 1462784)
Backed out changeset 99b4a433a8e5 (bug 1462784)
Backed out changeset 1d38a4cf5a4a (bug 1462784)
Backed out changeset 692017229de6 (bug 1462784)
Backed out changeset c2911a626671 (bug 1462784)
2018-06-01 23:42:00 +03:00
Markus Stange
f4978ecd63 Bug 1462784 - Annotate layout-related stacks with the LAYOUT category instead of the GRAPHICS category. r=njn
MozReview-Commit-ID: 77lvtLaxgEE

--HG--
extra : rebase_source : 4490268f02b60919d3c958e07afb7e3963b611c5
2018-05-18 17:46:59 -04:00
Noemi Erli
1fd69fa2bc Backed out 18 changesets (bug 1462784) for failures in devtools/client/performance/test/unit/test_tree-model-08.js on a CLOSED TREE
Backed out changeset a74d36598442 (bug 1462784)
Backed out changeset c8192175f360 (bug 1462784)
Backed out changeset cde492240e99 (bug 1462784)
Backed out changeset 8c8d30fa406c (bug 1462784)
Backed out changeset ad3802ffb780 (bug 1462784)
Backed out changeset 2fe10732076c (bug 1462784)
Backed out changeset 268a72b7c3c4 (bug 1462784)
Backed out changeset 4055eb6c3bc6 (bug 1462784)
Backed out changeset 3901070e2e60 (bug 1462784)
Backed out changeset 2faf787fbbdf (bug 1462784)
Backed out changeset 8f06963c7c6f (bug 1462784)
Backed out changeset 036e6f64e224 (bug 1462784)
Backed out changeset e670f156a603 (bug 1462784)
Backed out changeset cd39588aece4 (bug 1462784)
Backed out changeset 2ac65d100fa2 (bug 1462784)
Backed out changeset ea05ff70a51d (bug 1462784)
Backed out changeset 8a06c0ba42f7 (bug 1462784)
Backed out changeset 52ed9a039ad2 (bug 1462784)
2018-06-01 01:06:29 +03:00
Markus Stange
13eddeba69 Bug 1462784 - Annotate layout-related stacks with the LAYOUT category instead of the GRAPHICS category. r=njn
MozReview-Commit-ID: 77lvtLaxgEE

--HG--
extra : rebase_source : 2f6327eddde75492f65aa69e7fa90a2f04e40b63
2018-05-18 17:46:59 -04:00
Kartikaya Gupta
f70c1bbb80 Bug 1461946 - Remove more unused code. r=mattwoodrow
MozReview-Commit-ID: Ji5L1Ce2utN

--HG--
extra : rebase_source : 31d1c82b51ecadeceb9e3974837458521882d397
2018-05-16 14:58:56 -04:00
Kartikaya Gupta
a251efe15a Bug 1461946 - Remove unused function and parameter. r=mattwoodrow
MozReview-Commit-ID: CJ9ObpuRJCD

--HG--
extra : rebase_source : d8014372b7c6c17f7a34c6dc50b8df1a4a443460
2018-05-16 08:32:18 -04:00
Matt Woodrow
d6cb6ead56 Bug 1371668 - Don't attempt a catch up paint from FinishedWaitingForTransaction, wait until the next vsync. r=bas
MozReview-Commit-ID: ARDOwyBgiAm

--HG--
extra : rebase_source : 7ff89dd80f19a1e8b114c5fff16d85346aba2a21
2018-05-11 10:39:40 +12:00
Chris Peterson
71422dcaa9 Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj
s/NS_PRECONDITION/MOZ_ASSERT/ and reindent

MozReview-Commit-ID: KuUsnVe2h8L

--HG--
extra : source : c14655ab3df2c9b1465dd8102b9d25683359a37b
2018-04-28 12:50:58 -07:00
Bobby Holley
3cbcfdf4cd Bug 1457325 - Expose time to DOMContentFlushed on the timeline. r=bholley,r=mstange
MozReview-Commit-ID: E6QPjgfUKdo
2018-04-27 11:15:27 -07:00
Kartikaya Gupta
697a7719d0 Bug 1455691 - Make the transaction id a struct instead of a uint64_t. r=mattwoodrow
MozReview-Commit-ID: 9yZknygQvFr

--HG--
extra : rebase_source : 8b7a2398bdabf52f2de1c5dbd30b6868c1e0bed0
2018-04-20 15:13:06 -04:00
Emilio Cobos Álvarez
e128bf7b1a Bug 1447827: Remove ServoRestyleManager. r=xidorn
MozReview-Commit-ID: CFafQsb4rQn
2018-04-07 15:50:06 +02:00
Boris Zbarsky
4292bca4ee Bug 1449631 part 6. Remove nsIDOMEventTarget::DispatchEvent. r=smaug
MozReview-Commit-ID: 8YMgmMwZkAL
2018-04-05 13:42:41 -04:00
Emilio Cobos Álvarez
f7522ae728 Bug 1447358: Unifdef the old style system code. r=jwatt
Summary:
This has been automatically generated using:

  http://dotat.at/prog/unifdef/

And:

find $OBJDIR -type f -name '*.h' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

find $OBJDIR -type f -name '*.cpp' |
while read FILE; do
  echo "$FILE"
  unifdef -m -DMOZ_STYLO -UMOZ_OLD_STYLE "$FILE";
done

MozReview-Commit-ID: I4NdKqbMXzJ

Reviewers: jwatt

Bug #: 1447358

Differential Revision: https://phabricator.services.mozilla.com/D779
2018-03-21 10:20:34 +01:00
Emilio Cobos Álvarez
ab60ae72ae Bug 1443415: Move nsPresContext::NotifyFontFaceSetOnRefresh to nsIPresShell. r=bholley
The font face set is owned by the document now, and the shell knows about
refresh driver ticks. There's no reason for it to live in the pres context.

MozReview-Commit-ID: I8gtimok7VG

--HG--
extra : rebase_source : a3216a2efe4bdddbbd83751f3ad2299372232409
2018-03-06 09:01:35 +01:00
Daniel Holbert
5110d9e202 Bug 1443672: Adjust a few .cpp files in layout to #include their own header first. r=emilio
MozReview-Commit-ID: L4ZSDT5Akhi

--HG--
extra : rebase_source : 4795c4eaf84957639f446471788697956fe2bf17
2018-03-06 15:59:36 -08:00
Noemi Erli
2062223489 Backed out changeset 04fecea9eaf0 (bug 1443672) as per dholbert's request on a CLOSED TREE 2018-03-07 20:55:26 +02:00
Daniel Holbert
93e46d9a9b Bug 1443672: Adjust a few .cpp files in layout to #include their own header first. r=emilio
MozReview-Commit-ID: L4ZSDT5Akhi

--HG--
extra : rebase_source : 4795c4eaf84957639f446471788697956fe2bf17
2018-03-06 15:59:36 -08:00
Hiroyuki Ikezoe
8e43e1396e Bug 1435634 - Stop refresh driver's timer and bail out if either the prescontext or the presshell was destroyed in resize event callbacks. r=tnikkel
MozReview-Commit-ID: 5Nn66g71SxG

--HG--
extra : rebase_source : dbaa6410e3493d6666eec900e2499232fea550fa
2018-02-05 06:24:16 +09:00
Emilio Cobos Álvarez
90d00621b5 Bug 1435637: Minimally tidy nsRefreshDriver. r=hiro
All the arrays we're switching to ranged loops can't mutate during the loop
since are locals or not referenced from other places.

MozReview-Commit-ID: C2N73HMMeNW

--HG--
extra : rebase_source : 428dd2805cb58b3ac5fcddb549b960f72615bf6f
2018-02-04 23:15:53 +01:00
Emilio Cobos Álvarez
18b096e7f6 Bug 1435636: Don't make the dispatch of resize events look into the observer list twice unnecessarily. r=hiro
Just something I noticed while sneaking into bug 1435634.

RemoveElement returns whether the element was actually removed, so no need to
use Contains to bail out.

MozReview-Commit-ID: FryHBV66yRV
2018-02-04 23:13:43 +01:00
Cameron McCormack
d02e54b79b Bug 1430014 - Part 5: Stop building old style system classes when MOZ_OLD_STYLE is not defined. r=xidorn
MozReview-Commit-ID: CIHyPdF7Exl

--HG--
extra : source : 78a2fc781eead47af3923efcde58569c5d882ab1
2018-02-01 15:04:04 +11:00
Hiroyuki Ikezoe
14c14a8057 Bug 1433019 - Dispatch scroll events before dispatching animation events. r=botond,mstange
See 7.6. in the section '8.1.4.2 Processing model';
https://html.spec.whatwg.org/multipage/webappapis.html#processing-model-8

Note that this dispatching scroll events should be done after we process
WillRefresh() for FlushType::Style observers since main-thread scroll
animations is one of the FlushType::Style observers, that means it affects
scroll events.

Also test_scroll_event_ordering.html was modified to check scroll events happen
before requestAnimationFrame callbacks.

MozReview-Commit-ID: LuV157XoRkJ

--HG--
extra : rebase_source : a22424c248dcd4a3ec0aad8e71b75306c8f7e487
2018-01-30 08:22:47 +09:00
Hiroyuki Ikezoe
b9bff5b5e1 Bug 1415780 - Drop CollectDocuments in nsRefreshDriver.cpp. r=hiro
MozReview-Commit-ID: ETSPKpWDuI4

--HG--
extra : rebase_source : d535999aa9b68d816047f387993f366aeaf0aa45
2018-01-27 19:19:54 +09:00
Hiroyuki Ikezoe
175bc2d176 Bug 1415780 - Let AnimationEventDispatcher observe nsRefreshDriver. r=birtles
So that we can now ensure nsRefreshDriver ticks (i.e. nsRefreshDriver doesn't
stop its timer) for all queued events.
Before this patch, dispatching CSS animation/transition events relied on the
fact that DocumentTimeline observes nsRefreshDriver.  For this fact,
animationcancel or transitioncancel event did not dispatch properly in some
cases, i.e. the case where the animation was dropped from the DocumentTimeline.

MozReview-Commit-ID: 7JYro0MY2U2

--HG--
extra : rebase_source : 28c8e2a50d29c5344e2c5ca3c43af41f4692fa0f
2018-01-27 21:17:27 +09:00
Hiroyuki Ikezoe
7828b6be59 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

--HG--
extra : rebase_source : 405c8232e93c54a073c722a4332873af02daa870
2018-01-27 21:17:27 +09:00
Hiroyuki Ikezoe
357f94c98c Bug 1415780 - Don't count all observers for nsRefreshDriver. r=smaug
We just need information whether there is still an observer or not in most
cases.  The only case we need to know the count is in an assertion in the
dtor of nsRefreshDriver.  In the dtor we are checking there remains no
observers other than early runners.

Note that the order in HasObserver() was adjusted to reflect that we check
boolean flag first (mViewManagerFlushIsPending) and subsequently check observer
which is likey happen to.  mFrameRequestCallbackDocs should have checked prior
to mResizeEventFlushObservers though.

MozReview-Commit-ID: E1qplusqw1Y

--HG--
extra : rebase_source : ebd9e6eb08952df954c55860638233c9a8729856
2018-01-27 21:17:26 +09:00
Cosmin Sabou
887d9fa276 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
9fb5007aea Bug 1415780 - Drop CollectDocuments in nsRefreshDriver.cpp. r=me CLOSED TREE
MozReview-Commit-ID: ETSPKpWDuI4
2018-01-27 19:19:54 +09:00
Hiroyuki Ikezoe
51d411f1b6 Bug 1415780 - Let AnimationEventDispatcher observe nsRefreshDriver. r=birtles
So that we can now ensure nsRefreshDriver ticks (i.e. nsRefreshDriver doesn't
stop its timer) for all queued events.
Before this patch, dispatching CSS animation/transition events relied on the
fact that DocumentTimeline observes nsRefreshDriver.  For this fact,
animationcancel or transitioncancel event did not dispatch properly in some
cases, i.e. the case where the animation was dropped from the DocumentTimeline.

MozReview-Commit-ID: 7JYro0MY2U2

--HG--
extra : rebase_source : e1963d9eef996cdf5d64c64f80eb1b93ac6fd18a
2018-01-27 16:55:45 +09:00
Hiroyuki Ikezoe
99f98b1bd6 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

--HG--
extra : rebase_source : 52226c33a511451c31d4c3fef94ff02de8462256
2018-01-27 16:55:45 +09:00
Hiroyuki Ikezoe
57ae7e8090 Bug 1415780 - Don't count all observers for nsRefreshDriver. r=smaug
We just need information whether there is still an observer or not in most
cases.  The only case we need to know the count is in an assertion in the
dtor of nsRefreshDriver.  In the dtor we are checking there remains no
observers other than early runners.

Note that the order in HasObserver() was adjusted to reflect that we check
boolean flag first (mViewManagerFlushIsPending) and subsequently check observer
which is likey happen to.  mFrameRequestCallbackDocs should have checked prior
to mResizeEventFlushObservers though.

MozReview-Commit-ID: E1qplusqw1Y

--HG--
extra : rebase_source : 11feb64350e69649eb1eea5c68b1d950f05c19d9
2018-01-27 16:55:42 +09:00
Hiroyuki Ikezoe
471558b3c1 Bug 1433336 - Collect only documents which are observerd by IntersectionObserver in nsRefreshDriver::Tick(). r=smaug
We don't need to collect whole descendants documents.

This patch intentionally leaves animation events handling which is another
caller of CollectDocuments in nsRefreshDriver since the animation part will
be fixed in a different way in bug 1415780.

MozReview-Commit-ID: INAJm1NHLuI

--HG--
extra : rebase_source : 4e255cef604d4455d6efa5dc2ebddd5dc649ee65
2018-01-26 20:11:17 +09:00
Olli Pettay
e84d7b7ef4 Bug 1149555 - Update resize event firing to follow the specs, dispatch right before rAF callbacks, r=dbaron
MozReview-Commit-ID: GFnj2du2bWJ
2015-05-05 17:56:01 +03:00
Nika Layzell
f1ac9bf744 Bug 1419597 - Part 18: Remove IsInnerWindow and IsOuterWindow methods, r=smaug
MozReview-Commit-ID: DAAm6tLubhJ
2017-11-23 13:12:13 -05:00
Markus Stange
ae94ae81a4 Bug 1350930 - Move profiler markers for reflow and style flushes from the refresh driver into the PresShell. r=bz
MozReview-Commit-ID: FQs2zsIU2zO

--HG--
extra : rebase_source : 166617f5966cbad18401bc590a266ce00d858bab
2017-11-15 16:10:32 -05:00
Daniel Holbert
680815cd6e 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

--HG--
extra : rebase_source : 3356d4b80ff6213935192e87cdbc9103fec6084c
2017-10-27 10:33:53 -07:00
Andrea Marchesini
8598fa5a00 Bug 1411257 - No MOZ_CRASH if BackgroundChild::GetOrCreateForCurrentThread() fails - part 7 - Layout, r=asuth 2017-10-25 08:45:53 +02:00
Andrea Marchesini
bf6ccd477f Bug 1408333 Get rid of nsIIPCBackgroundChildCreateCallback - part 18 - Layout, r=asuth 2017-10-24 12:02:41 +02:00
Kris Maglione
663e9cb7fa Bug 1404198: Part 2e - Switch to NS_NewTimer* in layout. r=njn
MozReview-Commit-ID: 2WxyAXpJ3Fg

--HG--
extra : rebase_source : 4166c82c86558f79a4b41566a9997584e5fc94cf
2017-10-15 23:13:31 -07:00
Nicholas Nethercote
8a68e6fb83 Bug 1403868 (part 4) - Reduce tools/profiler/public/*.h to almost nothing in non-MOZ_GECKO_PROFILER builds. r=mstange.
Currently the Gecko Profiler defines a moderate amount of stuff when
MOZ_GECKO_PROFILER is undefined. It also #includes various headers, including
JS ones. This is making it difficult to separate Gecko's media stack for
inclusion in Servo.

This patch greatly simplifies how things are exposed. The starting point is:

- GeckoProfiler.h can be #included unconditionally;

- everything else from the profiler must be guarded by MOZ_GECKO_PROFILER.

In practice this introduces way too many #ifdefs, so the patch loosens it by
adding no-op macros for a number of the most common operations.

The net result is that #ifdefs and macros are used a bit more, but almost
nothing is exposed in non-MOZ_GECKO_PROFILER builds (including
ProfilerMarkerPayload.h and GeckoProfiler.h), and understanding what is exposed
is much simpler than before.

Note also that in BHR, ThreadStackHelper is now entirely absent in
non-MOZ_GECKO_PROFILER builds.
2017-10-04 09:11:18 +11:00
Ethan Lin
2a82b402b3 Bug 1404091 - In layers-free mode, we should do NotifyInvalidation after EndTransaction if there is any scheduled flush. r=kats
MozReview-Commit-ID: D0LNF0LgWYq

--HG--
extra : rebase_source : e005389de5d2b2b9e0a8ecf5b4de58ae7f9f21a9
2017-10-03 16:00:38 +08:00
Alexander Surkov
45edae968f Bug 1321960 - rename nsIPresShell::mSuppressInterruptibleReflows to mWasLastReflowInterrupted to reflect better its purpose, r=dholbert 2017-09-26 16:25:12 -04:00
Wes Kocher
91f1f19054 Merge m-c to autoland, a=merge
MozReview-Commit-ID: IMdYxijQ9ie
2017-08-21 17:20:06 -07:00
Stone Shih
7646d41f1d Bug 1361067 Part2: Coalesce mouse move events to be once per refresh cycle. r=smaug.
MozReview-Commit-ID: 6jwQxxNIC2n
2017-08-11 14:58:08 +08:00
Botond Ballo
ba4ac53b51 Bug 1340684 - Fire the scroll event before the style flush. r=mstange
This ensures that if the scroll event triggers style changes, they are
reflected on the same paint.

This is accomplished by having the refresh driver fire scroll events as
an explicit step after FlushType::Style observers and rAF callbacks, and
before the actual style flush.

MozReview-Commit-ID: 4kgauD5SgVo

--HG--
extra : rebase_source : 5f2c869c0749c1e1473797f2e202c075907a45fd
2017-08-09 21:08:38 -04:00
Stone Shih
de7f705042 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Stone Shih
7de447a25a Backed out changeset 46d8f42863af (bug 1351148) 2017-08-11 15:19:44 +08:00
Stone Shih
9d1d77d849 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Mason Chang
390704c977 Bug 1384300. Stop refresh driver timers after swapping refresh drivers. r=billm 2017-07-28 15:01:27 -07:00
Carsten "Tomcat" Book
de369deb98 Backed out changeset 284af26c1b53 (bug 1351148) 2017-07-28 09:20:27 +02:00
Bevis Tseng
a7505864a8 Bug 1378930 - Part 2: Remove the aName parameter from SchedulerGroup/DocGroup/DispatcherTrait. r=billm
--HG--
extra : rebase_source : 11319e568a51d16754a6a9990f76c35c86c2bda7
2017-07-26 16:13:35 +08:00
Stone Shih
9573b6e439 Bug 1351148 Part2: Add a priority queue for input events. r=smaug.
MozReview-Commit-ID: 5ud1Ex9UNVo
2017-03-21 15:44:12 +08:00
Kartikaya Gupta
6d0c0db395 Bug 1378966 - Don't cause immediate throttling of the refresh driver on repeat transactions. r=mattwoodrow
MozReview-Commit-ID: 8orAmdpIRTF

--HG--
extra : rebase_source : 2988a9faced2648cd182ebe8adff791634af519f
2017-07-12 09:10:25 -04:00
Mats Palmgren
021ccf02e1 Bug 1377135 - Use LookupForAdd instead of Get+Put to avoid unnecessary hashtable lookups in nsRefreshDriver::AddImageRequest. r=froydnj
MozReview-Commit-ID: 4h0fvadmBn0
2017-06-29 20:53:46 +02:00
Olli Pettay
da0ec0a364 Bug 1375491, make child process to cache ime properties only at animation tick time, r=masayuki
--HG--
extra : rebase_source : 6f13f4d91fc4873d135824431adb4b0b2843b738
2017-06-29 14:46:11 +03:00
Bill McCloskey
f115503a0b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Olli Pettay
70cd98776b Bug 1375484 - ScrollSelectionIntoViewEvent should be called during refresh driver tick, r=ehsan 2017-06-25 00:38:42 +03:00
Nicholas Nethercote
58786e1ea7 Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.

--HG--
extra : rebase_source : 318d1bc6fc1425a94aacbf489dd46e4f83211de4
2017-06-22 17:08:53 +10:00
Carsten "Tomcat" Book
8a1350b5a6 Backed out changeset 4f6302a98ae4 (bug 1372405)
--HG--
extra : rebase_source : 41632f3158e88e692809731394a683d065a73dfb
2017-06-21 13:59:26 +02:00
Bill McCloskey
6b3e84ed5f Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Carsten "Tomcat" Book
ea1b86680c Backed out changeset 9846de3bd954 (bug 1372405)
--HG--
extra : rebase_source : 5d4a48e8ec394c329994689d938d2a6e9b2752b0
2017-06-20 08:27:02 +02:00
Bill McCloskey
4592152411 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Olli Pettay
f900ec65e6 bug 1373085, don't stop running idle tasks while waiting for composite to notify about its end, r=farre 2017-06-16 22:49:22 +03:00
Nicholas Nethercote
0be77baa96 Bug 1370329 (part 1) - Clean up the profiler's RAII classes. r=mstange.
This patch does the following renamings, which increase consistency.

- GeckoProfilerInitRAII -> AutoProfilerInit
- GeckoProfilerThread{Sleep,Wake}RAII -> AutoProfilerThread{Sleep,Wake}
- GeckoProfilerTracingRAII -> AutoProfilerTracing
- AutoProfilerRegister -> AutoProfilerRegisterThread
- ProfilerStackFrameRAII -> AutoProfilerLabel
- nsJSUtils::mProfilerRAII -> nsJSUtils::mAutoProfilerLabel

Plus a few other minor ones (e.g. local variables).

The patch also add MOZ_GUARD_OBJECT macros to all the profiler RAII classes
that lack them, and does some minor whitespace reformatting.

--HG--
extra : rebase_source : 47e298fdd6f6b4af70e3357ec0b7b0580c0d0f50
2017-06-07 12:33:19 +10:00
Olli Pettay
ce6010c7d6 Bug 1367905 - Try to run GC/CC slices, including forgetSkippable, during idle time, r=mccr8
--HG--
extra : rebase_source : 2ee14a0cc890b91f405a5b4741030dbad6989018
2017-06-10 02:38:50 +03:00
Wes Kocher
43acd1b6e6 Backed out 2 changesets (bug 1367905) for a spike in Windows reftest failures a=backout
Backed out changeset c5aaa3f7b79e (bug 1367905)
Backed out changeset 1c66da2b1e88 (bug 1367905)

MozReview-Commit-ID: IX632WoWHrO
2017-06-08 16:09:28 -07:00
Olli Pettay
5361fd6640 Bug 1367905 - Try to run GC/CC slices, including forgetSkippable, during idle time, r=mccr8 2017-06-07 23:46:31 +03:00
Carsten "Tomcat" Book
8fb20a5801 Backed out changeset ff33e6c6f6a5 (bug 1367905) for memory leaks 2017-06-07 15:13:37 +02:00
Olli Pettay
03c8a070c4 Bug 1367905 - Try to run GC/CC slices, including forgetSkippable, during idle time, r=mccr8
--HG--
extra : rebase_source : b7248c5b45fe43eb733d73965a49c1cd69a1c72d
2017-06-06 20:41:34 +03:00
Mantaroh Yoshinaga
b870a62ef9 Bug 1367981 - Use AutoTArray instead of nsCOMArray in Tick(). r=smaug
MozReview-Commit-ID: 48baDUvkTMc

--HG--
extra : rebase_source : c389059395ed2b8bb02b657953299dfd39b71b89
2017-05-26 16:22:34 +09:00
Andreas Farre
0833711613 Bug 1311425 - Prepare for handling several sources of idleness, r=smaug
--HG--
extra : rebase_source : 7f771167ae460a50715f23c587eea10d5fe7e815
2017-05-24 21:11:12 -04:00
Bill McCloskey
c197e07ff2 Bug 1363560 - Name more runnables (r=mccr8)
MozReview-Commit-ID: 3hxZDA4JlTV
2017-05-09 21:53:25 -07:00
Olli Pettay
826b680917 Bug 1352523, enable high priority vsync processing in e10s parent process, r=ehsan
--HG--
extra : rebase_source : 25f2ce6f48d92191cd3334f37ddb0b81435f4a68
2017-04-12 12:53:48 +03:00
Sebastian Hengst
9bce628470 Backed out changeset c5123cf34c22 (bug 1352523) for failing browser_parsable_css.js for chrome://webide/skin/logs.css. r=backout 2017-04-11 16:21:23 +02:00
Olli Pettay
81b3915feb Bug 1352523, enable high priority vsync processing in e10s parent process, r=ehsan
--HG--
extra : rebase_source : d096acaed5e63e111bd122b844c73ac1f0d57f31
2017-04-10 19:02:54 +03:00
Timothy Nikkel
3f354b21bf Bug 1352074. Remove high precision timer mode from refresh driver because it is not needed with vsync based refresh drivers. r=mchang
Bug 731974 added this code to get more accurate timer callbacks back when the refresh driver was based on timers. It shouldn't be needed anymore now that the refresh driver is based on vsync.
2017-04-04 00:14:28 -05:00
Emilio Cobos Álvarez
fc80cf434d Bug 1351275: Move style flush observer logic to nsIPresShell, and align layout observing code. r=bholley
MozReview-Commit-ID: 2oUTNfTS4Ku
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

--HG--
extra : rebase_source : 97d055e6682cbe81eaf32c365004f194a0ae1935
2017-03-29 15:41:11 +02:00
Emilio Cobos Álvarez
c066af0f0e Bug 1351275: Cleanup nsRefreshDriver observer array handling to avoid walking them twice. r=bholley
MozReview-Commit-ID: Jnwb9HtSjoC
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>

--HG--
extra : rebase_source : 72de9b3f83d77b854ef433be36ff0ab688e47eb0
2017-03-29 15:32:14 +02:00
Wes Kocher
1d9dc01136 Merge m-c to inbound, a=merge
MozReview-Commit-ID: HwfVdTF9Np5
2017-03-23 16:55:48 -07:00
Nicholas Nethercote
6aa94b6456 Bug 1349856 - Reinstate proper usage of mReflowCause. r=froydnj.
Bug 1322553 introduced GeckoProfilerTracingRAII. Part 2 converted a bunch of
places to use it, but messed one of them up:

> -          profiler_tracing("Paint", "Reflow", Move(mReflowCause), TRACING_INTERVAL_START);
> +          tracingLayoutFlush.emplace("Paint", "Reflow");

The Move(mReflowCause) was erroneously deleted. (There was a similar case with
Move(mStyleCause) that was not deleted.)

This patch reinstates the Move(mReflowCause).

--HG--
extra : rebase_source : 72aa0be43f5e381ddd7999cb2f56a44051f18779
2017-03-23 17:15:54 +11:00
KuoE0
513460553b Bug 1342863 - (Part 8) DocGroup labeling for timer callback in nsRefreshDriver. r=dholbert
MozReview-Commit-ID: DP7WFkvlrPq

--HG--
extra : rebase_source : df4ed6ec82bfb780491339b92b31a4a91fbc145f
2017-03-15 17:38:53 +08:00
KuoE0
7188a01570 Bug 1342863 - (Part 5) DocGroup labeling for runnables dispatched by NS_DispatchTo(Main|Current)Thread in nsRefreshDriver. r=dholbert
MozReview-Commit-ID: CzddDOagdfZ

--HG--
extra : rebase_source : 15666028a2acddda2c72b78a0570e48793507933
2017-03-15 12:15:24 +08:00
Carsten "Tomcat" Book
8476db39e4 Backed out changeset 1c8548bdac7f (bug 1342863) 2017-03-23 08:41:28 +01:00
Carsten "Tomcat" Book
aaf289009f Backed out changeset ca409f78c8a3 (bug 1342863) 2017-03-23 08:41:18 +01:00
KuoE0
c4d277eb8d Bug 1342863 - (Part 8) DocGroup labeling for timer callback in nsRefreshDriver. r=dholbert
MozReview-Commit-ID: DP7WFkvlrPq

--HG--
extra : rebase_source : e9fd53e772f3814c5d2800544852b2f3ba13d621
2017-03-15 17:38:53 +08:00
KuoE0
b5a9f92460 Bug 1342863 - (Part 5) DocGroup labeling for runnables dispatched by NS_DispatchTo(Main|Current)Thread in nsRefreshDriver. r=dholbert
MozReview-Commit-ID: CzddDOagdfZ

--HG--
extra : rebase_source : 15666028a2acddda2c72b78a0570e48793507933
2017-03-15 12:15:24 +08:00
Olli Pettay
ac35022bab Bug 1346644 - Disable high priority vsync handling in parent process, r=ehsan
--HG--
extra : rebase_source : 6d5000e99d02217091f997c6b5169c8da7d03709
2017-03-13 18:25:10 +02:00
Samael Wang
dbb9457981 Bug 1283947 - Clear pending transactions when ClientLayerManager is assigning to a different refresh driver. r=mattwoodrow 2017-03-09 18:35:50 +08:00
Hiroyuki Ikezoe
58ea47fbe4 Bug 1341985 - We call EnsureTimerStarted on the main-thread after the traversal. r=heycam
We end up calling it in SequentialTask for updating CSS animations.

MozReview-Commit-ID: 7ip5XzU0VFb

--HG--
extra : rebase_source : 53b867d90ceea1547a1d35901360f6de8705aa02
2017-03-10 11:53:17 +09:00
Markus Stange
60319001e0 Bug 1340709 - Rename the profiler tracing marker for the refresh driver tick from RD to RefreshDriverTick. r=mattwoodrow
MozReview-Commit-ID: 9yrrH3T6l4c

--HG--
extra : rebase_source : b70867e20f86eeb71144ad9481f7c129b6ca9e62
2017-02-17 20:10:38 -05:00
Markus Stange
b43e156ce1 Bug 1340709 - Add profiler tracing markers for more phases of the refresh tick. r=mattwoodrow
This adds markers for FireScrollEvent, DispatchSynthMouseMove, ForwardTransaction, and NotifyDidPaint.

MozReview-Commit-ID: 9XahFGzIOls

--HG--
extra : rebase_source : 1985b2a11777a17dac621a35632f138a76224b0f
2017-02-17 13:03:37 -05:00