Граф коммитов

353 Коммитов

Автор SHA1 Сообщение Дата
Jeremy Chen 0f24420a8f Bug 1273766 - part2: purge NS_SubtractHint inline. r=heycam
MozReview-Commit-ID: 1UX1wZJNnat

--HG--
extra : rebase_source : e74d1cf5ca0866897634339a0fe6df65e0d249ae
2016-05-23 11:26:03 +08:00
Jeremy Chen 1a607ceb9d Bug 1273766 - part1: purge NS_CombineHint inline. r=heycam
MozReview-Commit-ID: CWlyjREgoEk

--HG--
extra : rebase_source : 452a425fe4c722d7d5e15118ecb0e59c54908f37
2016-05-23 11:26:03 +08:00
Hiroyuki Ikezoe 00e2f46aeb Bug 1268385 - Clear isRunningOnCompositor for script animations if associated nsIFrame is destroyed. r=birtles
MozReview-Commit-ID: 3tTkDtxkHcT

--HG--
extra : rebase_source : 388f548cb30f5384cceb620a595dd10b5fd22e4e
2016-05-16 16:25:46 +09:00
L. David Baron 91233fe6f4 Bug 1271015 patch 1 - Add mechanism for testing the number of elements restyled. r=heycam
This is useful for writing tests that test particular optimizations,
such as that a particular operation doesn't cause restyles.  It sits
next to similar counters for frames constructed and frames reflowed.

I also snuck in a preference for the less-expensive mPresContext over
the more expensive mFrame->PresContext() (which dereferences multiple
pointers).

(Originally written for work I planned to be part of bug 1189598.)

MozReview-Commit-ID: 8PN7nwLJG9r
2016-05-09 11:26:35 -07:00
Markus Stange 0aa0fa1e2b Bug 1227327 - Invalidate table parts and MathML frames when background-position changes on them. r=dbaron
Theoretically we should do the same for nsTreeBodyFrame, but that frame type is
harder to detect and I'm not sure it's worth adding code to support updating
background-position on XUL trees.

MozReview-Commit-ID: 8HPT53MX6bO

--HG--
extra : rebase_source : 1e84e83616832debe8f6da394630a5a2e014e7df
2016-04-28 13:01:22 -04:00
Phil Ringnalda f74761a568 Back out 6 changesets (bug 1227327) for Android reftest failures in 942672-1.html, background-position-2b.html and background-position-2c.html
CLOSED TREE

Backed out changeset c9b0ba301426 (bug 1227327)
Backed out changeset c857ad1fa01c (bug 1227327)
Backed out changeset 4ba58cd94310 (bug 1227327)
Backed out changeset 30e394faeb23 (bug 1227327)
Backed out changeset ce7fd04cc749 (bug 1227327)
Backed out changeset e0fe45294034 (bug 1227327)
2016-05-03 21:49:07 -07:00
Markus Stange ea8e203822 Bug 1227327 - Invalidate table parts and MathML frames when background-position changes on them. r=dbaron
Theoretically we should do the same for nsTreeBodyFrame, but that frame type is
harder to detect and I'm not sure it's worth adding code to support updating
background-position on XUL trees.

MozReview-Commit-ID: 8HPT53MX6bO

--HG--
extra : rebase_source : 1e84e83616832debe8f6da394630a5a2e014e7df
2016-04-28 13:01:22 -04:00
Phil Ringnalda 5387bf0160 Back out 6 changesets (bug 1227327) for failures in est_fixed_bg_scrolling_repaints.html
Backed out changeset 529ff32ced48 (bug 1227327)
Backed out changeset b726c30c4290 (bug 1227327)
Backed out changeset 5453b1ce4e85 (bug 1227327)
Backed out changeset 462dc0904d05 (bug 1227327)
Backed out changeset 1515512d3731 (bug 1227327)
Backed out changeset 2276fc059bf7 (bug 1227327)
2016-05-02 22:23:10 -07:00
Markus Stange 6ae2cdbdd0 Bug 1227327 - Invalidate table parts and MathML frames when background-position changes on them. r=dbaron
Theoretically we should do the same for nsTreeBodyFrame, but that frame type is
harder to detect and I'm not sure it's worth adding code to support updating
background-position on XUL trees.

MozReview-Commit-ID: 8HPT53MX6bO

--HG--
extra : rebase_source : 1e84e83616832debe8f6da394630a5a2e014e7df
2016-04-28 13:01:22 -04:00
Cameron McCormack 3aadcf811c Bug 1268404 - Part 1: Split out ResolveStyleForText from ResolveStyleForNonElement and pass in the text node. r=bholley 2016-04-29 14:01:44 +10:00
Botond Ballo 25a9b005e6 Bug 1255214 - Only repaint GTK scrollbar button if its enablement actually changed. r=mstange
MozReview-Commit-ID: ITLeksQzvVM

--HG--
extra : rebase_source : 1a3779ab7154282388c2e57251886863e818b168
2016-04-20 19:49:09 -04:00
Xidorn Quan 68af7e6457 Bug 1097499 part 4 - Adjust computed value of writing-mode on text frames when text-combine-upright is used. r=heycam
MozReview-Commit-ID: KNRe0ZpzxGr

--HG--
extra : source : dfd24ab49704b6542207aaab5b1283a4db355e60
2016-04-22 09:18:41 +10:00
Xidorn Quan d5599a3104 Bug 1097499 part 3 - Add a separate anonbox for text nodes. r=heycam
MozReview-Commit-ID: 1GfoFEGhyka

--HG--
extra : source : 38b806fd0fa54934439db0de75600def43142272
2016-04-22 09:18:41 +10:00
L. David Baron 376413eeb5 Bug 1053986 - Rename nsIFrame::IsBoxFrame to IsXULBoxFrame. r=dholbert
Written purely with sed, over .h and .cpp files in layout/.

But with additional manual changes in accessible/.

MozReview-Commit-ID: W0wUPoQsVH
2016-04-20 21:28:30 -07:00
Jonathan Watt 3a3ceffce3 Bug 1263773 - Mark a bunch of classes in layout as MOZ_RAII. r=dholbert 2016-03-28 13:34:26 +01:00
Boris Chiou 6a9f22bcfe Bug 1182856 - Part 2: Let AnimationsWithDestroyFrame destroy transitions. r=heycam
We also want to cancel transitions with destroyed frames, so the simplest way
is to extend the ability of AnimationsWithDestroyFrame to cancel transitions as
well.

--HG--
extra : rebase_source : 87d09b6204240b51d425269cbdc07103df5d24ef
2016-04-10 21:28:00 +02:00
Jonathan Kew a088c94f54 Bug 1140268 - Set up mCBReflowState for the 'bogus' parent reflow state used for RestyleManager::RecomputePosition. r=dbaron 2016-04-06 00:37:31 +01:00
Brian Birtles 38e9dfee9e Bug 1245260 - Ignore redundant calls to RestyleManager::IncrementAnimationGeneration; r=dbaron
While processing restyles and starting transitions, we may trigger
a call to EffectCompositor::UpdateCascadeResults which may, in turn, call
EffectCompositor::RequestRestyle with RestyleType::Layer, which ultimately
results in a call to RestyleManager::IncrementAnimationGeneration().

Typically, nsTransitionManager::StyleContextChanged compares the animation
generation on its collection with that of the restyle manager and uses this
to ignore the restyle that it generates. However, given the sequence of events
above, that check may no longer help since the restyle manager's animation
generation will be out of step. As a result,
nsTransitionManager::StyleContextChanged will fail to ignore a subsequent
and redundant restyle. With certain combinations of content, this can mean that
restyles are posted in such a manner than an infinite cycle of restyles ensues.

This patch causes RestyleManager to ignore calls to IncrementAnimationGeneration
when it is already processing restyles such that the animation generation is
only ever updated once per restyle. This makes the check for a matching
animation generation in nsTransitionManager::StyleContextChanged work as
expected, preventing us from generating needless transitions which can produce
this endless loop.

MozReview-Commit-ID: 9HYDrknKPAI

--HG--
extra : rebase_source : f7d9f251d20805fcb4d0d9be04d4343336e69836
2016-03-16 15:05:10 +08:00
Brian Birtles a9218457d2 Bug 1239945 part 2 - Drop CommonAnimationManager::ContentOrAncestorHasAnimation; r=dholbert
This was added in bug 780692 to work around assertions that arose due to the
inconsistent state introduced by mini-flushes. However, that workaround
no longer seems necessary. In particular, the crashtest for bug 813372 no
longer reports failed assertions when we remove this method and nor do any
other tests.

I'm not sure exactly what changed about how we do mini-flushes but I suspect
it was bug 960465 or one of the related follow-ups.
2016-02-24 15:42:33 +09:00
Cameron McCormack 736a5f47e7 Bug 1248864 - Part 1: Move RestyleManager.h to EXPORTS.mozilla. r=dholbert 2016-02-24 18:01:12 +11:00
Cameron McCormack 7c95c39734 Bug 1244068 - Part 4: Use StyleSetHandle instead of concrete style set class in most places. r=dholbert 2016-02-24 18:01:11 +11:00
Cameron McCormack 2d34f1889d Bug 1244068 - Part 3: Factor out nsStyleSet getting in RestyleManager/ElementRestyler. r=dholbert 2016-02-24 18:01:10 +11:00
Boris Chiou e436478f26 Bug 1244049 - Part 2: Replace nsCSSPseudoElements::Type with CSSPseudoElementType. r=dbaron
Also, try to use forward declaraions for CSSPseudoElementType;

--HG--
extra : rebase_source : c00eb9753e8f618a33aa711538ac45c0132b353c
2016-02-17 21:37:00 +01:00
Boris Chiou 185a769719 Bug 1244049 - Part 1: Define scoped enum for CSSPseudoElement type. r=dbaron
--HG--
extra : rebase_source : e53dd269e47fa97eb259ebd9295d012eacbdb612
2016-02-16 23:07:00 +01:00
Ting-Yu Lin 1889f6bc41 Bug 1227927 Part 2 - Remove nsIFrame::GetFirstPrincipalChild(). r=mats
--HG--
extra : commitid : 5qtaK1nS8RC
extra : rebase_source : dcc98f423b2446269beb6fa6a9d092ae8213f38e
2016-01-29 22:42:14 +08:00
Xidorn Quan 072dccd81f Bug 1230034 part 6 - Convert all frame properties which do not hold pointer to be typed. r=dbaron
--HG--
extra : source : f95f143e0e521ad2f8726097a484de402c834620
2016-01-28 14:23:59 +11:00
Xidorn Quan 3006d3929b Bug 1064843 part 10 - Create and render backdrop frame for top layer frames. r=dbaron
--HG--
extra : source : 744e89b823a925df685d4d5e94b5e2bec4bedd6f
2016-01-28 10:11:00 +11:00
Brian Birtles 7236a7fdbd Bug 1232577 part 18 - Drop RestyleManager::mLastUpdateForThrottledAnimations; r=heycam
RestyleManager currently has a piece of state for tracking if throttled
animations are up-to-date or not. Actually, it's not so much about throttled
animations but really about outstanding changes to animation styles (which
is typically expected to be due to throttling animations but there are
other cases that invalidate the animation style rule that we should be
considering here).

We now have that same information stored in the EffectCompositor so we can
remove the redundant state from RestyleManager. Furthermore, the state stored
in EffectCompositor is more accurate since it captures the case when animation
style needs to be updated twice within a tick, or when nothing needs to be
updated within a tick.

This patch, therefore, introduces EffectCompositor::HasPendingStyleUpdates in
place of setting RestyleManager::mLastUpdateForThrottledAnimations.

nsTransitionManager also uses mLastUpdateForThrottledAnimations to warn if we
have not processed throttled animations. We can't use HasPendingStyleUpdates
here however, since it will return true in the case where we have triggered new
transitions in the process of restyling. However, any new transitions will
trigger "standard" (i.e. not throttled) restyles so we introduce another
method, HasThrottledStyleUpdates, that returns true only if we have outstanding
throttled updates and use this for the warning inside nsTransitionManager.
2016-01-13 07:54:55 +09:00
Brian Birtles dab2f9c064 Bug 1232577 part 17 - Move AddStyleUpdatesTo to EffectCompositor; r=heycam 2016-01-13 07:54:55 +09:00
Nicholas Nethercote 3ba02d7a9b Bug 1232852 (part 3) - Remove unused parameters from some accessibility code. r=tbsaunde.
--HG--
extra : rebase_source : 7cdef8244e2b44b89e8061f66d45d40cbf245041
2015-12-15 21:24:06 -08:00
Brian Birtles bf0b758990 Bug 1229280 - Move animation generation from AnimationCollection to EffectSet; r=dbaron
--HG--
extra : rebase_source : 26a942c8c6058e629e7d7ed549eb1fcdf7f6d399
2016-01-06 11:04:05 +09:00
Boris Zbarsky 8eff629f46 Bug 1230639 - Propagate the namespace ID to AttributeRuleProcessorData on attribute changes. r=dbaron 2015-12-05 01:09:13 -05:00
Markus Stange b22db3eab2 Bug 1147673 - Make display items know about their scroll clips. r=tn, r=roc
--HG--
extra : commitid : 1j8QG2b0rIG
extra : rebase_source : 027065697e7e0ef445d8bcf7a81cf0270dcf7b8b
2015-12-22 16:54:19 +01:00
Carsten "Tomcat" Book 27bbe6ec93 Backed out changeset 68b33692bed3 (bug 1147673) 2015-12-16 11:52:37 +01:00
Markus Stange bf668586d7 Bug 1147673 - Make display items know about their scroll clips. r=tn, r=roc
--HG--
extra : commitid : 7KbOQKKSVq5
extra : rebase_source : d23daf86ed8d375bd5ab3ed7dfe3cff80bc0ff4c
extra : histedit_source : cce4ded91f0672142796a852d20d052e7b6247ce
2015-12-12 10:58:37 -05:00
Nicholas Nethercote 16cd9db041 Bug 1230863 - Remove unused nsPresContext args from many functions. r=roc. 2015-12-06 17:15:53 -08:00
Brian Birtles e0492c55ba Bug 1226118 part 12a - Make RestyleManager::GetMaxAnimationGenerationForFrame used frame-based GetAnimationCollection; r=dholbert 2015-12-04 08:34:17 +09:00
L. David Baron 911415d73e Bug 1224251 patch 4 - Convert UpdateOpacityLayer to RepaintFrame when changing opacity between 1 and non-1 on table parts. r=mattwoodrow
--HG--
extra : commitid : EbDZ3fKuldK
2015-11-30 21:25:55 -08:00
L. David Baron ea2560fb45 Bug 1224251 patch 2 - Add nsChangeHint_UpdateUsesOpacity to say when opacity changes between 1 and non-1. r=xidorn
--HG--
extra : commitid : 54U9yWksA8Q
2015-11-30 21:25:54 -08:00
Carsten "Tomcat" Book b26ab66204 Backed out changeset 5c4a581885e4 (bug 1224251) 2015-11-30 12:10:44 +01:00
Carsten "Tomcat" Book a1a34b4afa Backed out changeset 0a2d8e926a66 (bug 1224251) 2015-11-30 12:10:42 +01:00
L. David Baron 17e9e51fbf Bug 1224251 patch 4 - Convert UpdateOpacityLayer to RepaintFrame when changing opacity between 1 and non-1 on table parts. r=mattwoodrow
--HG--
extra : commitid : A4ASfp124vt
2015-11-29 23:15:01 -08:00
L. David Baron 7dcb2bf7c7 Bug 1224251 patch 2 - Add nsChangeHint_UpdateUsesOpacity to say when opacity changes between 1 and non-1. r=xidorn
--HG--
extra : commitid : 4W2ejOSubfo
2015-11-29 23:15:00 -08:00
Cameron McCormack 904f671b03 Bug 1222745 - Restore eRestyleResult_StopWithStyleChange optimization for shared style contexts by comparing rule nodes for inherited style data changes. r=dbaron 2015-11-17 15:09:55 +11:00
Cameron McCormack 866defc215 Bug 1222226 - Don't return eRestyleResult_StopWithStyleChange if the old style context is shared. r=dbaron 2015-11-08 11:06:14 +11:00
Cameron McCormack 2328daec26 Comment typo fix; no bug. (DONTBUILD)
--HG--
extra : rebase_source : c17a904cc2d7fcaecaaf658eed87da4511d4de94
2015-10-30 10:38:20 +11:00
L. David Baron 51b146732f Bug 1209603 patch 6b - Rename nsStyleContext::HasCachedInheritedStyleData to HasCachedDependentStyleData. r=heycam
--HG--
extra : commitid : 1RWP1xtrXOe
2015-10-19 20:42:28 -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
Vivien Nicolas a0d6fcda4b Bug 1211858 - Add a hint for the Restyle label when the id is unavailable. r=roc,benwa 2015-10-07 02:14:00 +02:00
Daniel Holbert 8f81a9c35d Bug 1032613 part 2: Make RestyleManager::AddSubtreeToOverflowTracker skip frames that don't maintain overflow areas. r=dbaron 2015-10-01 20:05:26 -07:00