Commit Graph

465 Commits

Author SHA1 Message Date
Cameron McCormack
a5533f62a1 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
02af9911ab Bug 1203766 - Part 3: Add ArenaRefPtr support to nsStyleContext. r=bzbarsky 2015-09-17 12:08:20 +10:00
Cameron McCormack
d82af3b9fd 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
9024ed278d 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
84cfe98999 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
c4908e7388 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
966619a0d1 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
f7fdb828f0 Bug 1184842. Route aOldValue/aNewValue to AttributeData. r=heycam 2015-07-22 15:54:07 +12:00
Nicholas Nethercote
37d91ed8fe 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.
2015-07-28 23:24:24 -07:00
Cameron McCormack
c9cf94f7c0 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
98a05182dd 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
809fb6de52 Backed out changeset 42e80a07acd6 (bug 1177563) for bustage on a CLOSED TREE 2015-07-08 09:44:16 +02:00
Cameron McCormack
9c51300b2a Bug 1177563 - Test that we share agent rule processors across different documents. r=dbaron 2015-07-08 15:57:31 +10:00
Cameron McCormack
1855b3e808 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
b4298ce231 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
d27d44b790 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
7266862452 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.
2015-06-03 23:45:11 -07:00
Mats Palmgren
e97aefd577 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
166f3b8ee1 Backout df7c88910f47 (bug 1149009) for new patch. 2015-05-04 09:52:53 +12:00
Denis Volk
1872a62df8 Bug 1095098 - move do_QueryObject templates into their own header; r=froydnj 2015-04-15 12:47:03 -04:00
Xidorn Quan
081671c691 Bug 1149009 - Fix line break suppression on whitespace not contained but wrapped in ruby boxes. r=dbaron 2015-04-20 15:04:09 +12:00
Cameron McCormack
8831bbdf85 Bug 1154149 - Remove nsPresContext arguments from a bunch of nsStyleSet methods. r=dbaron 2015-04-17 11:09:59 +10:00
Andrea Marchesini
6b10d5e43e 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
2826a4f5be 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
1b55e61060 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.
2015-02-09 17:05:37 -08:00
L. David Baron
dace271a9d Bug 960465 patch 22 - Remove implementation of nsRestyleHint_ChangeAnimationPhase. r=birtles 2015-02-17 11:15:06 +13:00
L. David Baron
ecb351b94d 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
L. David Baron
2b17415768 Bug 960465 patch 20 - Allow pseudo-elements for style attribute replacement in RuleNodeWithReplacement. r=birtles
I confirmed that we're actually using this codepath by manually testing
<input type=color>:  it works with the patch, but if I comment out the
call to nsHTMLCSSStyleSheet::PseudoElementRulesMatching from
nsStyleSet::RuleNodeWithReplacement, then the color swatch breaks, which
proves that we're depending on the code.

I think I included this in the queue because it is needed for patch 22,
although I've forgotten the full reasoning.
2015-02-17 11:15:05 +13:00
L. David Baron
22b5c74656 Bug 960465 patch 18 - Remove aElementOrPseudoElement parameter to ReparentStyleContext (added in bug 1057129). r=birtles 2015-02-17 11:15:05 +13:00
L. David Baron
54a0f52b48 Bug 960465 patch 17 - Remove separate animation and non-animation phases of restyling. r=birtles
Note that this means that when we start transitions, we post restyles
that are processed during the current restyling operation, rather than
in a later phase.  This depends on patch 11, which makes the transition
manager skip style changes that it posts while starting transitions, to
ensure that this doesn't lead to an infinite loop.  This also depends on
patch 16, which only consumes restyle data for the primary frame, to
ensure that the animation restyles posted are processed properly.  It
also depends on patch 14, which makes us retain data on finished
transitions, to avoid triggering extra transitions on descendants when
both an ancestor and a descendant transition an inherited property, and
the descendant does so faster.

This fixes a known failure in layout/style/test/test_animations.html and
test_animations_omta.html (as visible in the patch).  I believe this is
because this patch changes us to compute keyframe values for animations
on top of a style context *with* animation data rather than one without,
which means what we're computing them on top of changes each time.  (The
purpose of patch 3 was to avoid this in the case where avoiding it
matters, i.e., implicit 0% and 100% keyframes.)
2015-02-17 11:15:05 +13:00
L. David Baron
94712c4f50 Bug 960465 patch 2 - Add method to return a modified version of a style context, with all or part of the animation data removed. r=birtles
This is used in patch 3.
2015-02-17 11:15:01 +13:00
L. David Baron
c7e34d6d8e Bug 960465 patch 1 - Add parameter to skip animations work to ResolveStyleWithReplacement. r=birtles
This is used in patch 2.
2015-02-17 11:15:00 +13:00
Nicholas Nethercote
0247de46d8 Bug 1127201 (attempt 2, part 1) - Replace most NS_ABORT_IF_FALSE calls with MOZ_ASSERT. r=Waldo. 2015-02-09 14:34:50 -08:00
Andrew McCreight
e048a7df33 Back out Bug 1127201 (part 2) for various problems. 2015-02-06 15:04:32 -08:00
Nicholas Nethercote
40ab0270d5 Bug 1127201 (part 2) - Convert all NS_ABORT_IF_FALSE calls to MOZ_ASSERT. r=Waldo. 2015-02-04 20:05:36 -08:00
Wes Kocher
3c0de68457 Backed out changeset bf25101e66cf (bug 1095098) for build bustage 2014-12-08 16:27:12 -08:00
Denis Volk
cbf9ae78f0 Bug 1095098: move do_QueryObject templates into their own header r=froydnj 2014-11-20 12:20:10 +01:00
L. David Baron
57696e47bf Bug 1089417 patch 6 - Pass the previous CSS rule processor to the constructor of the new one (when we replace one with another). r=heycam
This is needed for patch 7.
2014-12-05 15:50:00 -08:00
L. David Baron
1128af3278 Bug 1089417 patch 1 - Add assertions that rule processors are valid before we access them. r=heycam
This was just something that seemed worth asserting in the process of
debugging, since I wanted to see if it was the problem.
2014-12-05 15:50:00 -08:00
Wes Kocher
6d72488ca1 Backed out 8 changesets (bug 1089417) for b2g bustage possibly on a CLOSED TREE
Backed out changeset bf9f31312c1a (bug 1089417)
Backed out changeset babf33f8e077 (bug 1089417)
Backed out changeset 47b4f47d2e36 (bug 1089417)
Backed out changeset 11da22489a4f (bug 1089417)
Backed out changeset a39f32b2b2de (bug 1089417)
Backed out changeset fba9c331e036 (bug 1089417)
Backed out changeset b541a037f627 (bug 1089417)
Backed out changeset fc47a51b4f96 (bug 1089417)
2014-12-05 12:45:41 -08:00
L. David Baron
59b2c14b5b Bug 1089417 patch 6 - Pass the previous CSS rule processor to the constructor of the new one (when we replace one with another). r=heycam
This is needed for patch 7.
2014-12-05 11:37:38 -08:00
L. David Baron
bfcd82bf86 Bug 1089417 patch 1 - Add assertions that rule processors are valid before we access them. r=heycam
This was just something that seemed worth asserting in the process of
debugging, since I wanted to see if it was the problem.
2014-12-05 11:37:38 -08:00
L. David Baron
ff080cde67 Bug 1100773 patch 2 - Convert style rule List methods to use fprintf_stderr. r=heycam
Note that getting decent logcat output on Android and B2G requires not
splitting lines of output across multiple fprintf_stderr calls.
2014-11-26 22:29:44 -08:00
L. David Baron
4bd15269cc Bug 1100773 patch 1 - Fix bracing of indent loops in style rule print functions. r=heycam 2014-11-26 22:29:44 -08:00
David Zbarsky
531eab435f Bug 1085769: Merge RulesMatching, GetAnimationPlayers, and GetAnimationRule r=birtles 2014-11-19 21:48:41 -05:00
L. David Baron
436ad8d45f Bug 1087536 patch 2 - Assert when nsStyleSet::RuleNodeWithReplacement finds the rules in an incorrect order. r=birtles
I confirmed that this assertion fires (along with the other failures)
when running layout/style/test/test_transitions_events.html with patch 3
but not patch 1.
2014-11-17 11:39:14 -08:00
L. David Baron
5b5c0a3cad Bug 1087536 patch 1 - Record the transition manager's cover rule as in the eTransitionSheet level of the cascade so that ResolveStyleWithReplacement replaces it correctly. r=birtles
Without this patch, patch 3 will cause bugs where we'll never remove the
cover rule we create during the process of starting a transition.  This
won't actually be problematic during the transition, since the
transition will overwrite it, but once the transition completes, the
cover rule will still be around, and we'll be stuck with the
pre-transition value instead of the post-transition value.

It's possible it also fixes existing bugs prior to the patch series in
this bug.
2014-11-17 11:39:14 -08:00
L. David Baron
611d94b270 Bug 1086937 patch 1 - Add eRestyle_ChangeAnimationPhaseDescendants restyle hint that is like eRestyle_ChangeAnimationPhase, but for a whole subtree. r=birtles 2014-11-12 23:28:52 -08:00
L. David Baron
15a9bd30d2 Bug 1087541 - Make RuleNodeWithReplacement handle animations and transitions like RulesMatching codepath does. r=birtles
I originally wrote this to see if it would fix bug 1086937, but it
didn't.

Note that this conflicts a bit with the patch in bug 1085769; whoever
lands second will have some merging (though it shouldn't be difficult).

The updating of the style rule is needed as part of the animation-only
style update, but it shouldn't be in the general restyling code, so it
has moved there.
2014-11-11 15:42:57 -08:00
L. David Baron
53e322dd26 Bug 1075137 patch 4 - Convert callers from IsProcessingRestyles/IsProcessingAnimationStyleChange to SkipAnimationRules/PostAnimationRestyles. r=birtles 2014-10-02 21:53:24 -07:00