Commit Graph

114 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
1a49c35a07 Bug 1286445: stylo: Support restyles of non-pseudo content on state change. r=heycam
This includes, for example :hover.

Also removes the call to IsStyledByServo() in the document constructor, it's not
only unnecessary, but also we call UpdateStyleBackendType() too early.

MozReview-Commit-ID: 4YfCdmLoSxu
2016-07-16 16:22:12 -07:00
Kyle Huey
da5496eedf Bug 1273737: Shutdown the refresh driver when there are no more refresh drivers. r=dbaron,mchang 2016-06-06 06:51:15 -07:00
Xidorn Quan
2bb1280ba1 Bug 1267568 part 4 - Replace InFullscreenChange flag of PresShell with IsResizeSuppressed flag in RefreshDriver. r=smaug
MozReview-Commit-ID: FB3vGXwKZ9O

--HG--
extra : source : 84878dbedf8c2efe2221d7562fd69a7c4cf20971
2016-05-03 17:58:57 +10:00
Mike Conley
1cff2809c8 Bug 1264409 - Make last transaction ID available via nsIDOMWindowUtils, and pass transaction ID through MozAfterPaint. r=mattwoodrow,mrbkap
MozReview-Commit-ID: 7wCYif8F6ws

--HG--
extra : rebase_source : 5a87a558dbb7955c04842b6f8b71adb15ecd3370
2016-04-13 16:59:15 -04:00
Seth Fowler
5973113f1b Bug 1157546 - Replace the image visibility API with a more general API that tracks visibility for any kind of frame. r=mstange 2016-03-25 14:49:43 -07:00
Birunthan Mohanathas
d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Hiroyuki Ikezoe
af498ca1af Bug 1235478 - Part 2: Don't update mMostRecentRefresh when nsRefreshDriver::ScheduleViewManagerFlush is called. r=mchang
--HG--
extra : transplant_source : %86e%80%9D%07%B0K%16%EB%FC%5D%9B%CA%D6%A1_%D2y%A0%7E
2016-01-05 12:50:59 +09:00
Hiroyuki Ikezoe
ea151185f0 Bug 1235478 - Part 1: Rename eAdjustingTimer to eForceAdjustTimer. r=mchang
--HG--
extra : transplant_source : 0%E9%E1%19%05%3F3%12%95%C3%A1%CE%22VI%EFe%97%A4%C9
2016-01-05 12:50:59 +09:00
Phil Ringnalda
d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas
373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
David Rajchenbach-Teller
a4607bcbef Bug 1219144 - Using the nsRefreshDriver's jank indication for performance monitoring;f?froydnj r=froydnj
This patch (currently WIP) alters the way we determine whether jank is user-visible or not.

Instead of measuring the total time spent doing JS, we now use an
indicator provided by the vsync driver: how long it takes to deliver
the signal from the vsync timer to the main thread. This lets us find
out more accurately if there is user-visible jank. In the future, this
will also let us add an observer to find out whether the process
itself is janky, regardless of JS.

--HG--
extra : rebase_source : a538e3cc9d8904f52d4a0e7bad291189986e4e6d
2016-01-14 15:07:18 +01:00
Wes Kocher
f3d6d2a7a0 Backed out 2 changesets (bug 1235478) for possibly breaking weightmapping-12579.html CLOSED TREE
Backed out changeset 02784824ebf1 (bug 1235478)
Backed out changeset 02c3c24dff8c (bug 1235478)

--HG--
extra : commitid : vpWzuDU0NP
2016-01-05 16:48:24 -08:00
Hiroyuki Ikezoe
3614d255d8 Bug 1235478 - Part 2: Don't update mMostRecentRefresh when nsRefreshDriver::ScheduleViewManagerFlush is called. r=mchang
--HG--
extra : transplant_source : %86e%80%9D%07%B0K%16%EB%FC%5D%9B%CA%D6%A1_%D2y%A0%7E
2016-01-05 12:50:59 +09:00
Hiroyuki Ikezoe
155e16e777 Bug 1235478 - Part 1: Rename eAdjustingTimer to eForceAdjustTimer. r=mchang
--HG--
extra : transplant_source : 0%E9%E1%19%05%3F3%12%95%C3%A1%CE%22VI%EFe%97%A4%C9
2016-01-05 12:50:59 +09:00
David Rajchenbach-Teller
1149491997 Bug 1219145 - nsRefreshDriver::IsJankCritical(). r=hiro
To refine its alerts, Performance Stats API needs to be able to know whether a long-running operation is actually causing user-visible jank in the current process. This patch introduces a trivial API that lets clients ask the refresh driver whether any kind of animation is ongoing.

--HG--
extra : transplant_source : %81W%81%C9%84H%8E%D4%0A%A8%10E%06%A5%10%60%9A3%2Ch
2015-10-30 14:35:46 +01:00
Nicholas Nethercote
7beaebbb7f Bug 1187784 (part 4) - Replace nsBaseHashtable::EnumerateRead() calls in layout/ with iterators. r=heycam.
--HG--
extra : rebase_source : d839f0a7cff06a14087976b6027b613ba1da2c78
2015-10-22 21:16:45 -07:00
Nathan Froyd
01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Brian Birtles
0d79f0c537 Bug 1180125 part 1 - Queue and dispatch CSS animation events as a separate step; r=dbaron
This patch prepares the way for script-generated events by making
event dispatch a separate process that happens after sampling animations.
This will allow us to sample animations from their associated timeline
(removing the need for a further manager to tracker script-generated
animations).

Furthermore, once we sample animations from timelines the order in which they
are sampled is likely to be more or less random so by making event dispatch at
separate step, we have an opportunity to sort the events and dispatch in
a consistent and sensible order. It also ensures that event callbacks will
not be run until all animations (including transitions) have been updated
ensuring they see a consistent view of timing properties.

This patch only affects event handling for CSS animations. Transitions will
be dealt with in a subsequent patch.
2015-07-29 10:57:39 +09:00
Carsten "Tomcat" Book
61664e5c9a Backed out changeset 79bcd4f744c0 (bug 1180125) 2015-07-29 17:32:24 +02:00
Brian Birtles
880fd89013 Bug 1180125 part 1 - Queue and dispatch CSS animation events as a separate step; r=dbaron
This patch prepares the way for script-generated events by making
event dispatch a separate process that happens after sampling animations.
This will allow us to sample animations from their associated timeline
(removing the need for a further manager to tracker script-generated
animations).

Furthermore, once we sample animations from timelines the order in which they
are sampled is likely to be more or less random so by making event dispatch at
separate step, we have an opportunity to sort the events and dispatch in
a consistent and sensible order. It also ensures that event callbacks will
not be run until all animations (including transitions) have been updated
ensuring they see a consistent view of timing properties.

This patch only affects event handling for CSS animations. Transitions will
be dealt with in a subsequent patch.
2015-07-29 10:57:39 +09:00
Hiroyuki Ikezoe
8132cd81a4 Bug 1187811 - Remove unused epoch time from RunFrameRequestCallbacks. r=bkelly 2015-07-27 01:06:00 +02:00
Boris Zbarsky
a435429163 Bug 909154. Remove the prefixed mozRequestAnimationFrame and its accoutrements. r=bkelly 2015-07-20 10:14:24 -04:00
Ting-Yu Lin
5d22ed8951 Bug 1182963 - Use nsTHashTable::Iterator in nsRefreshDriver. r=njn
--HG--
extra : commitid : JeCA0sg1XNf
extra : rebase_source : 5d7f3327b8f233d7db17466fbbe6da61d77a1cfe
2015-07-15 17:05:06 +08:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Xidorn Quan
e71f015f03 Bug 1168705 part 1 - Add mechanism for dispatching events with refresh driver tick. r=roc,khuey
--HG--
extra : source : 78c7ef9ca558520a50fa57492ad714922080459d
2015-07-02 19:12:31 +10:00
Andrea Marchesini
9914935915 Bug 1177764 - Use nsTObserverArray in APZCCallbackHelper, r=kats, r=dholbert 2015-06-26 13:20:10 -07:00
Seth Fowler
6d33a9a76e Bug 1169880 - Recompute image visibility on a timer if layout or style flushes have occurred. r=tn 2015-05-29 23:50:51 -07:00
Olli Pettay
bf115e16cf Backout Bug 1149555 because of tresize regression, a=backout
--HG--
extra : rebase_source : dba4dca78f80ac6971ef03d519abbd8fe6919ace
2015-05-08 20:12:41 +03:00
Olli Pettay
bb9c4f4afa Bug 1149555 - Update resize event firing to follow the specs, dispatch right before rAF callbacks, r=dbaron
--HG--
extra : rebase_source : 4828758667591a52ef8d15fa4812c65475ca484f
2015-05-05 17:56:01 +03:00
Andrea Marchesini
085da9302a Bug 1156632 - Remove unused forward class declarations - patch 5 - rdf, parser, layout and something else, r=ehsan 2015-04-22 08:29:22 +02:00
Seth Fowler
ae663e5c87 Bug 1145439 (Part 1) - Throttle requestAnimationFrame for non-visible iframes. r=mstange,mchang 2015-04-21 09:44:40 -07:00
Ryan VanderMeulen
a59888777c Backed out changeset 3366d180e8ee (bug 1145439) for test_scroll_event_ordering.html failures. 2015-04-09 22:59:10 -04:00
Seth Fowler
c432df0af0 Bug 1145439 - Throttle requestAnimationFrame for non-visible iframes. r=mstange,mchang 2015-04-09 17:52:23 -07:00
Wes Kocher
b485a53afc Backed out changeset b0de9cef013b (bug 1145439) for Gu orange 2015-04-03 14:11:11 -07:00
Seth Fowler
c2f0fefa86 Bug 1145439 - Throttle requestAnimationFrame for non-visible iframes. r=mstange,mchang 2015-04-03 11:51:11 -07:00
Andrea Marchesini
e6f385fb3d Bug 1148527 - Indentation fix after bug 1145631, r=ehsan 2015-03-27 18:52:19 +00:00
Ehsan Akhgari
883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
JerryShih
5d843b5eb7 Bug 1121331 - Part2: Vsync aligned refresh timer. r=roc r=mchang 2015-01-14 00:38:00 +01:00
Ehsan Akhgari
81bc9cdcd9 Bug 1118427 - Mark virtual overridden functions as MOZ_OVERRIDE in layout; r=roc 2015-01-07 10:07:36 -05:00
Brian Birtles
fd8aff9c0e Bug 1113413 - Make refresh driver go back immediately when restored from test control; r=vlad 2015-01-06 10:56:02 +09:00
Benoit Girard
d83f3e3d33 Bug 1055050 - Add visual warning if the transaction latency is > 100 ms. r=mwoodrow
--HG--
extra : rebase_source : 23140892b8e598c7073dd1b8c83fbddfa0bf52ee
2014-08-28 15:24:26 -04:00
Matt Woodrow
815df95ef5 Bug 1053078 - Use a timeout instead of tick count for preventing refresh driver hangs since ASAP mode accumulates tick counts too quickly. r=roc
--HG--
extra : rebase_source : b19754d2b3e6731fb89d89ac093f144c8d786b07
2014-08-15 14:24:50 +12:00
Ehsan Akhgari
2b84010cb8 Bug 1048246 - Fix more bad implicit constructors in layout; r=roc
--HG--
extra : rebase_source : ed828993139bc70232508364a9f046e38b7d3e06
2014-08-07 19:48:38 -04:00
Matt Woodrow
2036c6d1a8 Bug 854421 - Part 10: Resume the refresh driver if we miss too many ticks. r=vlad 2014-05-29 09:45:06 +12:00
Matt Woodrow
795c2136c0 Bug 854421 - Part 8: Try find a 'root' refresh driver to see if it's blocked. r=vlad 2014-05-29 09:43:41 +12:00
Matt Woodrow
8b3992ab79 Bug 854421 - Part 6: Add gfx API for allocating transaction ids. r=roc 2014-05-29 09:42:17 +12:00
Matt Woodrow
bd4c48f570 Bug 854421 - Part 5: Add nsRefreshDriver API to track which transactions have completed composition. r=vlad 2014-05-29 09:42:17 +12:00
Benoit Girard
7bc6762bed Bug 926922 - Log reason for layout flushes in profiles. r=ehsan,bz
--HG--
extra : rebase_source : 5383b80a1d0d1ddb36351dea1ad44f27b93001a2
2014-04-22 14:13:00 -04:00
Ehsan Akhgari
186680d83a Bug 798158 - Part 1: Use a pointer-sized type to store refcounts internally; r=bsmedberg 2014-03-27 16:38:33 -04:00
Scott Johnson
e9101adf37 Bug 878935, Part 1: Add a "freeze" counter to nsRefreshDriver to keep track of how many times it was frozen. r=dbaron
--HG--
extra : rebase_source : 135e5d52fc7fe38bdf57ca2d103ff372d9011873
2013-12-19 16:38:35 -05:00