Commit Graph

22332 Commits

Author SHA1 Message Date
Kartikaya Gupta
d024506abb Bug 1047403 - Refactor linebreaking debug print code into [f]print_stderr functions that take stringstreams. r=BenWa 2014-08-02 06:03:00 -04:00
Masayuki Nakano
cd01d28251 Bug 1046101 part.32 Rename NS_EVENT to eBasicEventClass r=smaug 2014-08-04 14:28:58 +09:00
Masayuki Nakano
c194e4e3af Bug 1046101 part.18 Rename NS_TOUCH_EVENT to eTouchEventClass r=smaug 2014-08-04 14:28:53 +09:00
Masayuki Nakano
f617bc213a Bug 1046101 part.17 Rename NS_SIMPLE_GESTURE_EVENT to eSimpleGestureEventClass r=smaug 2014-08-04 14:28:53 +09:00
Masayuki Nakano
e3c89f5aaf Bug 1046101 part.16 Rename NS_GESTURENOTIFY_EVENT to eGestureNotifyEventClass r=smaug 2014-08-04 14:28:52 +09:00
Masayuki Nakano
51abab6557 Bug 1046101 part.15 Rename NS_POINTER_EVENT to ePointerEventClass r=smaug 2014-08-04 14:28:52 +09:00
Masayuki Nakano
29381baa49 Bug 1046101 part.14 Rename NS_WHEEL_EVENT to eWheelEventClass r=smaug 2014-08-04 14:28:51 +09:00
Masayuki Nakano
9a5bd7325f Bug 1046101 part.13 Rename NS_MOUSE_SCROLL_EVENT to eMouseScrollEventClass r=smaug 2014-08-04 14:28:51 +09:00
Masayuki Nakano
7a9936afb5 Bug 1046101 part.12 Rename NS_DRAG_EVENT to eDragEventClass r=smaug 2014-08-04 14:28:50 +09:00
Masayuki Nakano
5c01c306d3 Bug 1046101 part.11 Rename NS_MOUSE_EVENT to eMouseEventClass r=smaug 2014-08-04 14:28:50 +09:00
Masayuki Nakano
2ae4bb862d Bug 1046101 part.8 Rename NS_QUERY_CONTENT_EVENT to eQueryContentEventClass r=smaug 2014-08-04 14:28:49 +09:00
Masayuki Nakano
a726f35ed6 Bug 1046101 part.7 Rename NS_TEXT_EVENT to eTextEventClass r=smaug 2014-08-04 14:28:48 +09:00
Masayuki Nakano
a2a956a7e0 Bug 1046101 part.6 Rename NS_COMPOSITION_EVENT to eCompositionEventClass r=smaug 2014-08-04 14:28:48 +09:00
Masayuki Nakano
a5ff074c2f Bug 1046101 part.5 Rename NS_KEY_EVENT to eKeyboardEventClass r=smaug 2014-08-04 14:28:48 +09:00
Masayuki Nakano
2c24a0ea29 Bug 1046101 part.1 Rename nsEventStructType to mozilla::EventClassID r=smaug 2014-08-04 14:28:46 +09:00
L. David Baron
06a262451b Bug 996796 patch 22 - Make restyling exact - only call RestyleBeforePseudo and RestyleAfterPseudo when we have an eRestyle_Subtree hint. r=heycam 2014-08-03 13:11:55 -07:00
L. David Baron
c8138a96a1 Bug 996796 patch 21 - Make restyling exact - Only call MaybeRecreateFramesForElement when we have a nonzero restyle hint. r=heycam 2014-08-03 13:11:55 -07:00
L. David Baron
a789cfcdc6 Bug 996796 patch 20 - Make restyling exact - Avoid rerunning selector matching on everything when the basis of rem units changes. r=heycam 2014-08-03 13:11:55 -07:00
L. David Baron
6a69899c72 Bug 996796 patch 19 - Avoid reresolution for extra style contexts when the restyle hint is not eRestyle_Self or eRestyle_Subtree. r=heycam
This is part of making reresolution not touch style that it was not
asked to touch, so that we can use it for the animation-only restyle.
2014-08-03 13:11:55 -07:00
L. David Baron
5356c6dc95 Bug 996796 patch 18 - Fix RestyleTracker to handle restyle hints exactly rather than pessimistically when restyling continuations with varying styles (e.g., spans inside ::first-line or ::first-letter). r=heycam
This will be necessary when we use the restyle tracker for the
animation-only style flush, because animation-only style flushes need to
update *only* the animation style data and no other style data.  Thus
using the RestyleTracker for animation-only style flushes requires that
we do this.
2014-08-03 13:11:55 -07:00
L. David Baron
7f615e2ba3 Back out bug 996796 patch 18 through patch 25 (changesets fbe97c2db729 through 9719c08c3144) to fix 50%-of-the-time Android 4.0 debug orange from single assertion ("Why did this not get handled while processing mRestyleRoots?", layout/base/RestyleTracker.cpp, line 87) in gfx/tests/crashtests/815489.html . 2014-08-03 01:22:07 -07:00
L. David Baron
50e6734195 Bug 1045161 patch 2 - Remove write-only member variables of nsStyleTable. r=bzbarsky 2014-08-02 19:37:49 -07:00
L. David Baron
c2b7f322cf Bug 996796 patch 25 - Remove the old (now-unused) miniflush code (preserving one of the header comments). r=heycam 2014-08-02 19:37:49 -07:00
L. David Baron
2a6fca4cb2 Bug 996796 patch 24 - Use a RestyleTracker for the coalescing in the animation-only style flush (miniflush). r=heycam
This changes the coalescing behavior during the animation-only style
flush by doing tree-based coalescing between the style updates required
by animations and those required by transitions, rather than doing
animations and transitions separately.

Note that both the old and the new code update all
animating/transitioning styles rather than only the throttled styles,
though we should fix that eventually as noted in the FIXME comment in
the code (but only for the existing caller, and not for the new one to
be introduced in bug 960465).

Note that this depends for its correctness on the previous patches to
make the restyling process exact.

The test changes are because the effects of bug 1031688 are changed by
the change in coalescing.  In the old code, we updated transition styles
before animation styles; in the new code we do a single pass over the
tree, which for the relevant test means updating animations on the
parent before transitions on the child, which changes the effects of the
bug.
2014-08-02 19:37:49 -07:00
L. David Baron
ae1f9a221f Bug 996796 patch 23 - Make transition manager ignore StyleContextChanged notifications during an animation-only style update. r=heycam
This will be necessary when we use the restyle tracker for the
animation-only style flush.
2014-08-02 19:37:48 -07:00
L. David Baron
ba824b4061 Bug 996796 patch 22 - Make restyling exact - only call RestyleBeforePseudo and RestyleAfterPseudo when we have an eRestyle_Subtree hint. r=heycam 2014-08-02 19:37:48 -07:00
L. David Baron
989d82ba40 Bug 996796 patch 21 - Make restyling exact - Only call MaybeRecreateFramesForElement when we have a nonzero restyle hint. r=heycam 2014-08-02 19:37:48 -07:00
L. David Baron
f79c717721 Bug 996796 patch 20 - Make restyling exact - Avoid rerunning selector matching on everything when the basis of rem units changes. r=heycam 2014-08-02 19:37:47 -07:00
L. David Baron
0b8d8ec61a Bug 996796 patch 19 - Avoid reresolution for extra style contexts when the restyle hint is not eRestyle_Self or eRestyle_Subtree. r=heycam
This is part of making reresolution not touch style that it was not
asked to touch, so that we can use it for the animation-only restyle.
2014-08-02 19:37:47 -07:00
L. David Baron
f817bfccd2 Bug 996796 patch 18 - Fix RestyleTracker to handle restyle hints exactly rather than pessimistically when restyling continuations with varying styles (e.g., spans inside ::first-line or ::first-letter). r=heycam
This will be necessary when we use the restyle tracker for the
animation-only style flush, because animation-only style flushes need to
update *only* the animation style data and no other style data.  Thus
using the RestyleTracker for animation-only style flushes requires that
we do this.
2014-08-02 19:37:47 -07:00
L. David Baron
aea605b523 Bug 996796 patch 17 - Add comment about how RuleNodeWithReplacement should interact with nsTransitionManager and nsAnimationManager. r=heycam 2014-08-02 19:37:46 -07:00
L. David Baron
736ca32e24 Bug 996796 patch 16 - Add comment about potential performance impromevent to RuleNodeWithReplacement. r=heycam 2014-08-02 19:37:46 -07:00
L. David Baron
21bb1b7b1c Bug 996796 patch 15 - Copy the eSkipParentDisplayBasedStyleFixup bit from ReparentStyleContext as well. r=heycam 2014-08-02 19:37:46 -07:00
L. David Baron
848c441bdb Bug 996796 patch 14 - Fix the aElementForAnimation passed from ResolveStyleWithReplacement. r=heycam 2014-08-02 19:37:45 -07:00
L. David Baron
17f1528100 Bug 996796 patch 13 - Fix the pseudo element information created by ResolveStyleWithReplacement. r=heycam
Note that we're not yet using this code for style contexts that have
pseudo-elements, since we don't run transitions or animations on
pseudo-elements on the compositor thread.  But bug 960465 will (with
some more work) start doing so.
2014-08-02 19:37:45 -07:00
L. David Baron
a40972e3de Bug 996796 patch 12 - Fix the visited rule node handling in ResolveStyleWithReplacement. r=heycam
The added test passes locally on Linux with OMT compositing and OMT
animations enabled.  However, it also passes without the patch because
the calls to FlushAnimations and FlushTransitions from
PresShell::FlushPendingNotifications cover up the damage done by bugs in
the animation-only style flush.

Unfortunately due to lack of global history on B2G and not running OMT
animations tests on any other platforms, the new test won't actually run
in automation right now.
2014-08-02 19:37:45 -07:00
L. David Baron
986069c9c6 Bug 996796 patch 11 - Fix the visited flag handling in ResolveStyleWithReplacement. r=heycam
This does the same thing as ReparentStyleContext (which thanks to the
patch to bug 1031149 deals with aNewParentStyleContext being null).
2014-08-02 19:37:44 -07:00
L. David Baron
d9ea4915c6 Bug 996796 patch 10 - Separate the rule node replacement code from the style context handling so that we can make visited handling correct. r=heycam 2014-08-02 19:37:44 -07:00
L. David Baron
f7dda33dd4 Bug 996796 patch 9 - Make nsStyleSet::ResolveStyleWithReplacement handle changing between having and not having animation or transition rules, make it set IsImportantRule on rule nodes correctly, and merge the bogus ResolveStyleForRules into it. r=heycam
ResolveStyleForRules had various problems:  it failed to set importance
correctly and really only handled replacing a path in the rule tree
since it didn't handle creating important rules.  (Possibly more.)
2014-08-02 19:37:44 -07:00
L. David Baron
d0ad01d102 Bug 996796 patch 8 - Pass the replacements through to ResolveStyleWithReplacement. r=heycam
This means ResolveStyleWithReplacement will replace only the rules in
the nsRestyleHint rather than always replacing both the animations rule
and the transitions rule.  (This will become even more useful later when
we add the ability to replace the style attribute rule.)
2014-08-02 19:37:44 -07:00
L. David Baron
e8632b5cc8 Bug 996796 patch 7 - Add new restyle types that replace only the data from CSS transitions or animations. r=heycam
This is the start of a refactoring of the existing code in
CommonAnimationManager, nsTransitionManager, and nsAnimationManager,
which will be removed in later patches (after patches in between cause
this code to be used instead of the current code).

But it also handles interesting cases more correctly, such as cases
where style context parents are unusual.

FIXME: It would be nice to add tests for these cases, but they're mostly
pretty obscure (e.g., a transition of 'transform' that's affected by
inheriting 'transform' from ::first-line), so I'm not treating it as a
priority right now.
2014-08-02 19:37:43 -07:00
L. David Baron
b5b9655670 Bug 996796 patch 6 - Adjust checks of restyle types to accomodate new types weaker than eRestyle_Self. r=heycam
FIXME: Adjust for eRestyle_Force if bug 931668 lands first.

Later patches will add such types that are like eRestyle_Self but that
only replace the style attribute, animation rule, or transition rule.
2014-08-02 19:37:43 -07:00
L. David Baron
ee492a55ff Bug 996796 patch 5 - Move the guts of UpdateThrottledStyle into nsStyleSet, where it can be reused. r=heycam 2014-08-02 19:37:43 -07:00
L. David Baron
bae44fb3f9 Bug 1031149 - Consistently pass correct aRelevantLinkVisited to nsStyleContext::FindChildWithRules. r=heycam
I believe this will fix some cache misses in the FindChildWithRules
lookup when restyling.  I don't think it will fix any correctness bugs
because the RelevantLinkVisited() bit will always end up set to true
anyway as the non-link descendant of a visited link style context, and
link descendants shouldn't be able to share styles with non-link
descendants due to matching rules in the UA style sheet.
2014-08-02 19:37:42 -07:00
James Kolb
ec286fa299 Bug 1028288: Add two reftests for globalAlpha. One just tests globalAlpha, and one tests scaling and globalAlpha. r=roc 2014-08-02 16:14:55 +09:00
James Kolb
9ddcfc66eb Bug 1028288 Add canvas global transparency support to svgs. r=roc 2014-08-02 16:14:53 +09:00
Ryan VanderMeulen
d1353c4c63 Merge m-c to inbound on a CLOSED TREE. a=merge 2014-08-01 16:01:07 -04:00
Ryan VanderMeulen
ca7c05bb4b Merge inbound to m-c. a=merge 2014-08-01 15:59:05 -04:00
Daniel Holbert
f2b6253fa8 Bug 1039826: Make changes to 'order' property trigger a repaint (even if reflow doesn't change position). r=dbaron 2014-08-01 11:13:28 -07:00
Ed Morley
ceccb74728 Merge mozilla-central and b2g-inbound 2014-08-01 18:03:34 +01:00