Commit Graph

488 Commits

Author SHA1 Message Date
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
Brian Birtles
c3fe45107c Bug 1246046 part 1 - Get the animation rule in nsStyleSet::GetContext even if there are no CSS animations; r=heycam
Without this patch, when we have script-generated animations but *no* CSS
animations, nsStyleSet::GetContext will not use the updated animation rule.
2016-02-15 16:08:33 +09:00
L. David Baron
fe18585912 Bug 1247865 - Fix assertion to handle restyling of a table::after. r=birtles
I confirmed locally that this patch does fix the assertion in the
crashtest.

MozReview-Commit-ID: L1TIAZZ1aNu

--HG--
extra : transplant_source : %FE_N%7D%AE%11%0D%92B%93%F6%3D%CFyY%3D5%7EFt
2016-02-12 22:54:26 -08:00
Birunthan Mohanathas
d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02: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
Cameron McCormack
90944dd1e2 Bug 1241378 - Stop uselessly getting the style set from nsStyleSet::ResolveAnonymousBoxStyle. r=dholbert 2016-01-22 09:24:27 +11:00
Cameron McCormack
3cc6289c46 Bug 1241373 - Make nsStyleSet::GetAuthorStyleDisabled const. r=dholbert 2016-01-21 16:21:23 +11:00
Nicholas Nethercote
1e266f153c Bug 1240921 - Use nsAutoTArray in nsStyleSet::RuleNodeWithReplacement. r=bz.
It's hot in some workloads and so this avoids some heap churn.
2016-01-20 15:01:25 -08:00
Brian Birtles
6fb8992111 Bug 1235112 - Move animation style rule processors to EffectCompositor; r=heycam 2016-01-15 15:15:47 +09:00
Nigel Babu
0ce7a5f39e Backed out 5 changesets (bug 1235112, bug 1237467) for nsRuleNode::Transition crashes
Backed out changeset ac21baf87df2 (bug 1235112)
Backed out changeset c47a6e0a6d95 (bug 1237467)
Backed out changeset 7609ca218902 (bug 1237467)
Backed out changeset d63ca2677bd5 (bug 1237467)
Backed out changeset 5a3d7e16b1e0 (bug 1237467)

--HG--
extra : commitid : LONozKsGtli
2016-01-14 11:35:06 +05:30
Brian Birtles
32bf08d255 Bug 1235112 - Move animation style rule processors to EffectCompositor; r=heycam 2016-01-14 08:02:39 +09:00
Brian Birtles
309027bbe9 Bug 1232577 part 16 - Move GetAnimationRule to EffectCompositor; r=heycam 2016-01-13 07:54:55 +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
Cameron McCormack
fd2fba0c73 Bug 990250 - Fold nsIStyleSheet into CSSStyleSheet. r=dbaron 2015-11-17 17:04:09 +11: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
L. David Baron
bd9bbaa522 Bug 978833 patch 12 - Use the css::Declaration instead of the css::StyleRule as the matching rule. r=heycam
This is the key change in this patch series; it changes the object we
use for style data (currently nsIStyleRule) identity.  It allows
removing some hacks we have to deal with that for StyleRule, and avoids
having to write similar hacks for nsCSSKeyframeRule and nsCSSPageRule
(which are broken without this).

I confirmed locally that it is this patch that fixes both of the todo_is
mochitests, by building and testing with the patch queue through patch
11, and again through patch 12.

--HG--
extra : commitid : AzgBp6KfPhJ
2015-11-05 16:44:10 +08:00
L. David Baron
6208d2fc5b Bug 978833 patch 8 - Call SetImmutable for declarations of @page and keyframe rules. r=heycam
This probably should have been done before, but prior to this patch
series, dynamic changes of the declarations on these rules were broken
due to rule immutability violations; now that is no longer the case, but
to benefit from that, I believe we actually need to mark the
declarations as immutable once matched so that dynamic changes will
trigger construction of a new declaration (which thus has a new
nsIStyleRule identity).

--HG--
extra : commitid : 8IsYBd67qQr
2015-11-05 16:44:09 +08:00
L. David Baron
00351db8e0 Bug 978833 patch 5 - Rename ImportantRule to ImportantStyleData. r=heycam
(This is part of a longer term plan to rename nsIStyleRule to StyleData
and nsIStyleRuleProcessor to StyleDataSource.  I'm not doing all of that
here, though.)

--HG--
extra : commitid : DZGpUQO2Fey
2015-11-05 16:44:08 +08:00
Cameron McCormack
fc548e7db1 Bug 1220496 - Create PresHint/StyleAttr rule processors in nsStyleSet::Init and make DirtyRuleProcessors private. r=bzbarsky 2015-11-05 18:24:22 +11:00
Cameron McCormack
2f1046d287 Bug 1216043 - Rename nsStyleSheet::sheetType and make it an enum class. r=dbaron
The only substantive change here, apart from a few variables changing in
size from uint16_t to uint8_t, is FontFaceSet's use of SheetType::Unknown
(0xFF) instead of 0 for FontFaceRecords for script-created FontFaces.
2015-10-20 10:16:20 +11: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
Cameron McCormack
8a56a13543 Bug 1209124 - Bail out of nsStyleSet::GatherRuleProcessors and PresShell::Observe if we're called during/after shutdown. r=dbaron 2015-09-29 12:16:04 +10:00
Cameron McCormack
5cd9b296f7 Bug 1203766 - Part 3: Add ArenaRefPtr support to nsStyleContext. r=bzbarsky 2015-09-17 12:08:20 +10:00
Cameron McCormack
77856721a3 Bug 1180118 - Part 9: Clear nsCSSSelector pointers in the pending restyle tracker if they might be stale. r=bzbarsky 2015-08-05 22:42:21 +10:00
Cameron McCormack
9ae3b05332 Bug 1180118 - Part 5: Add a RestyleHintData outparam to HasAttributeDependentStyle for use with eRestyle_SomeDescendants. r=bzbarsky 2015-08-05 22:42:21 +10:00
Carsten "Tomcat" Book
94b10d301f Backed out 13 changesets (bug 1180118) for crashes on a CLOSED TREE
Backed out changeset c65d298d7cfa (bug 1180118)
Backed out changeset 7c5ebadc3fc9 (bug 1180118)
Backed out changeset 91a3e2205388 (bug 1180118)
Backed out changeset 15ad6049b940 (bug 1180118)
Backed out changeset 9b41cd9f2bc5 (bug 1180118)
Backed out changeset 37493f6eef20 (bug 1180118)
Backed out changeset b7ec8d4d2d7e (bug 1180118)
Backed out changeset cfeeae42d514 (bug 1180118)
Backed out changeset 9bcc3233f3c8 (bug 1180118)
Backed out changeset b99c358a6fea (bug 1180118)
Backed out changeset 4a7b79980353 (bug 1180118)
Backed out changeset 20984dfa4302 (bug 1180118)
Backed out changeset ef165b896cf4 (bug 1180118)
2015-08-04 12:20:20 +02:00
Cameron McCormack
96ce1278fa Bug 1180118 - Part 9: Clear nsCSSSelector pointers in the pending restyle tracker if they might be stale. r=bzbarsky 2015-08-04 17:27:53 +10:00
Cameron McCormack
18f6b81597 Bug 1180118 - Part 5: Add a RestyleHintData outparam to HasAttributeDependentStyle for use with eRestyle_SomeDescendants. r=bzbarsky 2015-08-04 17:27:53 +10:00
Robert O'Callahan
894d9c19a5 Bug 1184842. Route aOldValue/aNewValue to AttributeData. r=heycam
--HG--
extra : commitid : HPs2uc3HzHl
extra : rebase_source : c1962247a393eb10bfa85d5e9590fa71e56203ce
2015-07-22 15:54:07 +12:00
Nicholas Nethercote
87b80f8c66 Bug 1188745 - Rename nsTArray::SizeOfExcludingThis() as ShallowSizeOfExcludingThis(). r=froydnj.
This makes it clearer that, unlike how SizeOf*() functions usually work, this
doesn't measure any children hanging off the array.

And do likewise for nsTObserverArray.

--HG--
extra : rebase_source : 6a8c8d8ffb53ad51b5773afea77126cdd767f149
2015-07-28 23:24:24 -07:00
Cameron McCormack
3585bedd89 Bug 1181011 - Don't use cached rule node structs for animations within pseudo-elements. r=dbaron a=abillings 2015-07-27 16:43:44 +10:00
Cameron McCormack
9835a50961 Bug 1177563 - Test that we share agent rule processors across different documents. r=dbaron 2015-07-08 15:57:31 +10:00
Carsten "Tomcat" Book
f5a2bf64b3 Backed out changeset 42e80a07acd6 (bug 1177563) for bustage on a CLOSED TREE
--HG--
extra : rebase_source : 4a68bf83cc2939f899b0c6f92efa58e3d5aab6a2
2015-07-08 09:44:16 +02:00
Cameron McCormack
f086e12dcb Bug 1177563 - Test that we share agent rule processors across different documents. r=dbaron
--HG--
extra : rebase_source : 119e78e4798a8044531f6fa288be7a0fc3ce9e43
2015-07-08 15:57:31 +10:00
Cameron McCormack
9bef88940c Bug 77999 - Part 5: Cache eAgentSheet and eUserSheet rule processors in the RuleProcessorCache. r=dbaron
Ignoring sheets added by add-ons, all sheets in the eAgentSheet and
eUserSheet levels should come from the nsLayoutStylesheetCache and thus
allow multiple documents to make use of a shared rule processor.
2015-06-26 13:52:48 +10:00
Cameron McCormack
b26c6e1429 Bug 1170888 - Restyle the document in EnsureSafeToHandOutCSSRules if we previously cloned sheet inners outside of that method. r=bzbarsky 2015-06-26 13:49:58 +10:00
Cameron McCormack
dd81f3c902 Bug 1169512 - Add and remove quirk.css rather than enable and disable a clone of it. r=jwatt 2015-06-26 13:49:58 +10:00
Nicholas Nethercote
e6ec6218c6 Bug 1171282 - Avoid some unnecessary |operator new| null-checks in layout/. r=dholbert.
AllocateByObjectID() is infallible. Therefore the |operator new| of nsFrameList,
nsLineBox and nsRuleNode are too, as is nsRuleNode::CreateRootNode().

The patch also removes a couple of comments duplicated in both .h and .cpp
files.

--HG--
extra : rebase_source : 0b9e195fd547fdd53ddad7bb461ff5f5c2016fce
2015-06-03 23:45:11 -07:00
Mats Palmgren
5a2a4f8f08 Bug 997709 part 2 - Prevent the nsComboboxDisplayFrame from being blockified if the parent context has display:flex/grid. r=heycam 2015-05-27 22:18:36 +00:00
Xidorn Quan
ffec696346 Backout df7c88910f47 (bug 1149009) for new patch.
--HG--
extra : source : f1d1ec017c872676ca90738f31f41d8f4a77f9cb
2015-05-04 09:52:53 +12:00
Denis Volk
32e981896d Bug 1095098 - move do_QueryObject templates into their own header; r=froydnj 2015-04-15 12:47:03 -04:00
Xidorn Quan
1eac8d1918 Bug 1149009 - Fix line break suppression on whitespace not contained but wrapped in ruby boxes. r=dbaron
--HG--
extra : rebase_source : d523d7fb01b9ca6a0db9c2a99b05f5560a94e3aa
extra : source : b3028ab938b2269518a5fb1e124c2982f4afdd36
2015-04-20 15:04:09 +12:00
Cameron McCormack
84ff03514a Bug 1154149 - Remove nsPresContext arguments from a bunch of nsStyleSet methods. r=dbaron 2015-04-17 11:09:59 +10:00
Andrea Marchesini
2c4f63331f Bug 1134280 - Get rid of Tag() - patch 1 - Is{HTML,XUL,MathML,SVG}Element and IsAnyOf{HTML,XUL,MathML,SVG}Elements, r=smaug 2015-03-03 11:08:59 +00:00
L. David Baron
3f721f200d Bug 1133439 patch 1 - Split eRestyle_StyleAttribute into eRestyle_StyleAttribute and eRestyle_StyleAttributeAnimations. r=birtles 2015-02-19 21:22:05 +13:00
Nicholas Nethercote
6731149c55 Bug 1127201 (attempt 2, part 2) - Remove remaining uses of NS_ABORT_IF_FALSE. r=Waldo.
For the poisoning in nsPresArena.cpp I made it print out the details, because
that seems useful. For the other I simply removed the printing of the
unexpected value because that seems less important; we have countless
assertions like that elsewhere in the codebase that don't print the unexpected
value.

--HG--
extra : rebase_source : 34bb135d34c67db8c1db1742a53ea84e472083c6
2015-02-09 17:05:37 -08:00
L. David Baron
43c2cd3af5 Bug 960465 patch 22 - Remove implementation of nsRestyleHint_ChangeAnimationPhase. r=birtles 2015-02-17 11:15:06 +13:00
L. David Baron
8c28244fab Bug 960465 patch 21 - Replace one use of nsRestyleHint_ChangeAnimationPhase with nsRestyleHint_AllHintsWithAnimations so that we can remove the rest. r=birtles 2015-02-17 11:15:06 +13:00