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

1490 Коммитов

Автор SHA1 Сообщение Дата
Nicholas Nethercote 0f5722f4da Bug 1211324 (part 5) - Remove GraphicsFilter and gfxGraphicsFilter. r=mattwoodrow. 2015-10-05 17:18:10 -07:00
Nicholas Nethercote 4fc2610c3c Bug 1211324 (part 4) - Replace GraphicsFilter constants with gfx::Filter equivalents. r=mattwoodrow.
The conversion is as follows:

- GraphicsFilter::FILTER_NEAREST == gfx::Filter::POINT
- GraphicsFilter::FILTER_GOOD    == gfx::Filter::GOOD
- GraphicsFilter::FILTER_BEST    == gfx::Filter::LINEAR

Also typedef GraphicsFilter to gfx::Filter; this will be removed in the next
patch.

These changes mean ToFilter() and ThebesFilter() are no longer needed.
2015-10-05 17:12:46 -07:00
Nicholas Nethercote b06269a38d Bug 1211324 (part 3) - Remove GraphicsFilter::FILTER_FAST and replace it with FILTER_BEST. r=mattwoodrow.
This may sound like an odd change but it's what the current code effectively
already does due to the way ToFilter() and ThebesFilter() are defined.
2015-10-05 16:59:32 -07:00
Carsten "Tomcat" Book c1f520e05c Backed out changeset 79746e93020a (bug 1011020) for causing bug 1212267
--HG--
extra : rebase_source : 16ad5f13377beb3075b06d97a793059a575d55cb
2015-10-07 12:17:02 +02:00
James Kitchener 590b916a4a Bug 1011020 - Add the ability to fall back to not snapping, if snapping results in a zero area rect r=roc - relanding with correct bug number on a CLOSED TREE 2015-10-05 05:00:00 +02:00
Carsten "Tomcat" Book 903a88eacc Backed out 1 changesets (bug 1101020) for landing with wrong bugnumber on a CLOSED TREE
Backed out changeset 18d4a0ca8cc1 (bug 1101020)
2015-10-07 09:24:27 +02:00
James Kitchener 0eb9204d80 Bug 1101020 - Add the ability to fall back to not snapping, if snapping results in a zero area rect r=roc 2015-10-07 11:18:08 +05:30
Botond Ballo 72a3a301c4 Bug 1205511 - Use nsPresContext::DevToCSSPixelScale() where appropriate. r=kats
--HG--
extra : source : 16ed1b039eb1522f555c35e9df6e5632c69ff0a4
2015-09-28 20:14:26 -04:00
Botond Ballo 514da6416f Bug 1208661 - Show display list and layer textures in-line in the HTML paint dump. r=BenWa
--HG--
extra : rebase_source : 83b8aa0650599932297bb75aa3e9bdeed589f87b
extra : source : 9ba5b04a7a416c7cace04b2191e105aa694ff2ef
2015-09-28 15:22:05 -04:00
Botond Ballo 4daa211ca8 Bug 1208661 - Do not assume that PaintRoot()'s contributions to the HTML paint dump will all be inside a <script> tag. r=BenWa
--HG--
extra : rebase_source : f95fafa791d4a15ec215311bda0ca16c8a951dc8
extra : source : 0148877df48d9a6b402ab26db161c55f57d47bce
2015-09-25 19:23:13 -04:00
Botond Ballo 0883bb5acc Bug 1206915 - Handle nested PaintFrame() calls correctly during paint dumping. r=mattwoodrow,BenWa
--HG--
extra : source : fab68f61b2f73bbd9b1e9a0c8f542ced62da60b0
2015-09-21 19:05:44 -04:00
Botond Ballo 9836d10039 Bug 1206915 - Make paint dumping to a file e10s-friendly. r=mattwoodrow
--HG--
extra : source : 5ba62147fd9fd23faa11bafcefb752f542476c84
2015-09-21 18:44:28 -04:00
Botond Ballo 9c084c0d2e Bug 1206915 - Avoid reordering of different parts of paint dump output. r=mattwoodrow
--HG--
extra : source : b0aac5d41d2493ae03852adc38f1928ac738e505
2015-09-21 18:37:23 -04:00
Kartikaya Gupta 0123b19fc5 Back out the bits of bug 1205087 that cache the AnimatedGeometryRoot on DisplayItem. r=backout
The change breaks some scenarios with APZ scrolling, in particular the code
that layerizes the scroll handoff chain for deeply nested scrollable frames.

--HG--
extra : commitid : KeQX4HyPKXd
2015-09-28 15:17:34 -04:00
Nicholas Nethercote ff7df9ad79 Bug 1208283 (part 4) - Change FrameMetrics::mBackgroundColor from gfxRGBA to gfx::Color. r=jwatt.
This removes some ToColor() calls.

--HG--
extra : rebase_source : 05ee3e5aaa784e12c15fa42845864eacec45271f
2015-09-24 18:17:45 -07:00
Matt Woodrow c066ccca63 Bug 1205087 - Cache the AnimatedGeometryRoot on DisplayItem. r=roc 2015-09-24 18:26:36 -04:00
Matt Woodrow 55713b7206 Bug 1205087 - Make nsSVGIntegrationUtils paint frame continuations manually since combining them meant that our reference frame wasn't an ancestor of all painted frames. r=roc 2015-09-24 18:26:34 -04:00
Matt Woodrow d58f9e3efb Bug 1205087 - Remove LayerManager parameter for ShouldFixToViewport. r=roc 2015-09-24 18:25:08 -04:00
Nicholas Nethercote a37228e1fe Bug 1207944 (part 4) - Use SetColor(const Color&) when setting from an nscolor. r=jwatt.
In various places SetColor() gets passed an nscolor. These are converted
(either implicitly or explicitly) to a gfxRBGA, and then to a gfx::Color.

This patch changes all these cases to avoid the middle step, by (a)
constructing a gfx::Color directly instead of an nscolor, or (b) by converting
an nscolor with Color::FromABGR().

--HG--
extra : rebase_source : ae423a422b37ada8ca0cb6f130350b4a71d58fc4
2015-09-23 23:41:30 -07:00
Nicholas Nethercote 842dd1cf5a Bug 1207741 - Remove gfxIntSize. r=nical.
gfxIntSize is just a typedef of gfx::IntSize, so this is very mechanical. The
only tricky part is deciding for each occurrence whether to replace it with
IntSize, gfx::IntSize or mozilla::gfx::IntSize; in all cases I went with the
shortest one that worked given the existing "using namespace" declarations.

--HG--
extra : rebase_source : 67fd15f87222b16defa70ef795c6d77dfacf1c36
2015-09-23 11:49:05 -07:00
Jonathan Kew b20e9ca870 Bug 1193519 pt 5 - Expose the sideways-lr value for writing-mode to CSS. r=dholbert 2015-09-24 10:23:34 +01:00
Jonathan Kew a091884801 Bug 1193488 - Update values of writing-mode and text-orientation to reflect the CSS WG decision to revise them in the Writing Modes spec. r=dholbert 2015-09-23 22:16:01 +01:00
Kartikaya Gupta d058a7e7fe Bug 1195431 - Small refactoring to use conditionals consistently. r=tn
--HG--
extra : commitid : 70zviYNmOkz
2015-09-23 09:34:42 -04:00
Kartikaya Gupta d674ba3676 Bug 1195431 - Extract a couple of helper functions. r=tn
--HG--
extra : commitid : FK958utOKA5
2015-09-23 09:34:41 -04:00
Markus Stange add7126be5 Back out changeset 61baabe617c9 (bug 1191539) because of regressions like bug 1205863 and probably bug 1206209.
--HG--
extra : commitid : 95ws4N7uA3K
2015-09-20 01:14:15 +02:00
David Anderson 300922f68a Remove willFlushRetainedLayers, which is superceded by DLBI. (bug 1205970 part 2, r=mattwoodrow) 2015-09-18 18:45:24 -07:00
Thinker K.F. Li e1e17a72cb Bug 1097464 - Part 6: Handle preserves-3d by compositor. r=roc
Remove WrapPreserve3DList() and replaced it by creating a
nsDisplayTransform item for each transformed frame.

 - Add an additional item for each top frame extending 3D context to
   separate consequence contexts.

 - Effective transform of a layer is the accumulation of ancestors in
   the same 3D context.

 - The layers creating new context and extended by children need a
   temporary buffer if it's effective transform is not 2D.

 - Clip rects are accumulated along the context chain.

 - Visible rects of items are computed from dirty regions of the frame
   creating the context and accumulated transforms.

 - Bounds of items are computed from accumulated transforms and
   accumulated bounds of the descent frames.

 - Backface hidden is handled by compositor and BasicLayerManager.

--HG--
extra : rebase_source : 1a894b057a117a8520898c9f83308d92c122b180
2015-09-17 03:31:00 +02:00
Thinker K.F. Li d9c38a58c1 Bug 1097464 - Part 5: Fix preserve3d wording for nsIFrame. r=roc
--HG--
extra : rebase_source : 9d30e48106871ba631aff03afd153eaf45ac954e
2015-09-17 03:31:00 +02:00
Phil Ringnalda 7171096144 Back out 2 changesets (bug 1205087) for mass bustage
CLOSED TREE

Backed out changeset 0573cd4aed27 (bug 1205087)
Backed out changeset 11a3cb42f729 (bug 1205087)
2015-09-17 19:30:42 -07:00
Matt Woodrow ad13620acc Bug 1205087 - Remove LayerManager parameter for ShouldFixToViewport. r=roc
--HG--
extra : rebase_source : a55ebf8ab3ea6cad0ff9945f9ee9857421053e0b
2015-09-17 21:03:42 -04:00
Carsten "Tomcat" Book f7534678df Backed out 6 changesets (bug 1097464) for causing OS X 10.10 Reftest Errors
Backed out changeset fbf63ce1ba88 (bug 1097464)
Backed out changeset fdaf4cfa6707 (bug 1097464)
Backed out changeset 727ebd9f744a (bug 1097464)
Backed out changeset 03f03a776042 (bug 1097464)
Backed out changeset 5ec6364b87d7 (bug 1097464)
Backed out changeset 47d056b3af7f (bug 1097464)

--HG--
extra : rebase_source : e2da133b489e4adba373303dad6e559826927e19
2015-09-17 16:24:43 +02:00
Thinker K.F. Li 76109f93c4 Bug 1097464 - Part 6 - Handle preserves-3d by compositor. r=roc
Remove WrapPreserve3DList() and replaced it by creating a
nsDisplayTransform item for each transformed frame.

 - Add an additional item for each top frame extending 3D context to
   separate consequence contexts.

 - Effective transform of a layer is the accumulation of ancestors in
   the same 3D context.

 - The layers creating new context and extended by children need a
   temporary buffer if it's effective transform is not 2D.

 - Clip rects are accumulated along the context chain.

 - Visible rects of items are computed from dirty regions of the frame
   creating the context and accumulated transforms.

 - Bounds of items are computed from accumulated transforms and
   accumulated bounds of the descent frames.

 - Backface hidden is handled by compositor and BasicLayerManager.
2015-09-17 03:31:00 +02:00
Thinker K.F. Li 31e7d8b95d Bug 1097464 - Part 5 - Fix preserve3d wording for nsIFrame. r=roc 2015-09-17 03:31:00 +02:00
Olli Pettay 68663347da Bug 1205466, make HasApzAwareListeners check faster, r=masayuki
--HG--
extra : rebase_source : 41c94b02117a09785938349dc9ad513af9bf048b
2015-09-17 13:16:20 +03:00
Benoit Girard 30a1ad2268 Bug 1191539 - Don't further increase the size of the displayport when rounding up. r=kats
--HG--
extra : commitid : 4Y78gwVp4Zq
2015-09-15 16:45:02 -04:00
Robert Longson 0c7534f0a8 Bug 1175492 - unpref transform-origin percentage handling for SVG elements r=jwatt 2015-09-15 22:10:48 +01:00
Botond Ballo a22ee7711a Bug 1166301 - Store a flag on Layer to tell fixed background layers apart from fixed position layers. r=mattwoodrow
--HG--
extra : rebase_source : eaad2e8c7f85f20cc691353d9675611eee4733ee
extra : source : 33b55c6b3a48e3e9a2f19f498f56084d6905dfc1
2015-09-04 17:26:33 -04:00
Benoit Girard 282b6c7b96 Bug 1191539 - DisplayPort should ForceInside frameRect to match compositor DisplayPort. r=kats
--HG--
extra : commitid : Ee4ufF6D1Pm
extra : rebase_source : a0eb0d18b98cff49c82dd3e9f59e8461c4f0b3c0
2015-09-09 14:41:38 -04:00
Matt Woodrow 6e6e6105aa Bug 1202029 - Use the containing block for determining perspective for transformed elements. r=dbaron
--HG--
extra : rebase_source : f8a1403a77e71179aca097e26567bcb3b7c1848b
2015-09-14 14:17:40 -04:00
Kartikaya Gupta 8f2b8f8996 Bug 1202290 - Remove special-case condition for Fennec that is not needed any more. r=tn
The special-case was added back when the Fennec dynamic toolbar showing/hiding
behaviour didn't resize the content area. As of bug 1180295 that is no longer
the case, and showing/hiding the dynamic toolbar *does* resize the content area.
Therefore the widget bounds always represents the actual content area and can
be used directly as the composition bounds.

In addition, the special-case code relied on a particular quirk of the Fennec
CSS viewport determination code which was removed in bug 1180267. The quirk was
that the CSS viewport height was always set such that it would cover the
available screen height when the page was zoomed out to the minimum allowed
zoom. This behaviour was technically incorrect as it would ignore any height
properties provided in the meta-viewport tag. Now that this quirk has been
removed, the special-case code breaks because the root frame's height is
independent of the screen height and can result in an incorrect composition
bounds.

--HG--
extra : commitid : 69FDhj50WEN
2015-09-09 23:22:19 -04:00
Mats Palmgren 685fccb096 Bug 1174553 part 2 - Move the AddPercents function into a static method in the nsLayoutUtils class. r=dholbert 2015-09-04 22:06:57 +02:00
Mats Palmgren 44d4f3b05b Bug 1174553 part 1 - Add a new flag (BAIL_IF_REFLOW_NEEDED) for IntrinsicForWM() that makes it return early with a NS_INTRINSIC_WIDTH_UNKNOWN result if a reflow is needed to determine the child's correct BSize. r=dholbert 2015-09-04 22:06:57 +02:00
Mats Palmgren bbb026b9f4 Bug 1174546 part 1 - Introduce nsLayoutUtils::MinSizeContributionForAxis which calculates an intrinsic size contribution from aFrame's 'min-width' property (or 'min-height' if the given axis is vertical) and the corresponding border, padding and margin values. r=jfkthame 2015-09-04 22:06:57 +02:00
David Anderson 99013f5fcf Hoist scroll info items above inactive blur containers. (bug 1193557 part 1, r=mstange) 2015-09-04 17:17:50 -07:00
Wes Kocher 99c36f1e96 Backed out changeset 24cd0974b365 (bug 1174546) for reftest bustage 2015-09-04 16:23:01 -07:00
Wes Kocher 95b85d4c58 Backed out changeset 25537ff71d2b (bug 1174553) 2015-09-04 16:22:40 -07:00
Wes Kocher ad2d2381f0 Backed out changeset eea3ecbb5983 (bug 1174553) 2015-09-04 16:22:38 -07:00
Mats Palmgren c80456a8fb Bug 1174553 part 2 - Move the AddPercents function into a static method in the nsLayoutUtils class. r=dholbert 2015-09-04 22:06:57 +02:00
Mats Palmgren 2df2316058 Bug 1174553 part 1 - Add a new flag (BAIL_IF_REFLOW_NEEDED) for IntrinsicForWM() that makes it return early with a NS_INTRINSIC_WIDTH_UNKNOWN result if a reflow is needed to determine the child's correct BSize. r=dholbert 2015-09-04 22:06:57 +02:00
Mats Palmgren ebc2ad4495 Bug 1174546 part 1 - Introduce nsLayoutUtils::MinSizeContributionForAxis which calculates an intrinsic size contribution from aFrame's 'min-width' property (or 'min-height' if the given axis is vertical) and the corresponding border, padding and margin values. r=jfkthame 2015-09-04 22:06:57 +02:00
Benoit Girard 845f7b2f8b Backout 758f3df6c016 (bug 1191539) for causing checkerboarding on android
--HG--
extra : commitid : C21HwD8YzwJ
extra : rebase_source : fb320940b4f626dfed527e2c7e13f4e8d642164e
2015-09-03 14:24:56 -04:00
Kearwood (Kip) Gilbert cbc7ba3ddb Bug 1157984 - Part 3: Correct bounding box transformations to support projections and correct clipping when transforming behind the camera,r=vlad
- Update callsites of Matrix4x4::TransformBounds to use
  Matrix4x4::TransformAndClipBounds.

--HG--
extra : rebase_source : a1aa889af56e404b7ca5c7125021171e67a0b8bf
2015-08-06 17:26:09 -07:00
Kartikaya Gupta 95631466e1 Bug 1185747 part 3 - Rip out code to explicitly override the CSS viewport. r=tn
--HG--
extra : commitid : KeYHVLqoKK0
2015-09-01 16:47:52 -04:00
Xidorn Quan 300011c44e Bug 1197765 - Compare text content inside frame instead of the content node for ruby autohiding. r=dbaron
--HG--
extra : source : d265d1e03757b1f886e435ef9b60aa962787e676
2015-09-01 09:24:37 +10:00
Masayuki Nakano 6ecfef2cde Bug 895274 part.5 Rename NS_EVENT_NULL to eVoidEvent r=smaug 2015-08-29 08:58:26 +09:00
Benoit Girard 411ab85eaa Bug 1191539 - DisplayPort should ForceInside frameRect to match compositor DisplayPort. r=kats
--HG--
extra : commitid : ptd0dqCx1S
extra : rebase_source : fd3e1c04e7c21362c7496d32139ff9f30c2b2d5c
2015-08-27 14:21:58 -04:00
Benoit Girard 074eb08eb1 Bug 1186662 - Part 1: Add SuppressDisplayport painting and use it during tab switch. r=kats,mconley
--HG--
extra : commitid : 9fUfVIK8ikm
extra : rebase_source : e45570f97a25f965d2caf24f152da02efcf6495f
2015-08-19 17:08:41 -04:00
Jonathan Watt c9336c7d2b Bug 1180509 - Fix judder of icons in Australis doorhanger menu at the end of its scale-in animation. r=roc 2015-08-09 22:23:06 +01:00
Kartikaya Gupta 056c55b10f Bug 1180295 - Rip out call to setContentDocumentFixedPositionMargins. r=rbarker
--HG--
extra : commitid : 7uU6xgPVZom
2015-08-18 14:27:18 -04:00
Markus Stange 6fab3abcb1 Bug 1187804 - Annotate fixed-position layers with the scroll id of the scroll frame that they are fixed with respect to. r=mattwoodrow
--HG--
extra : commitid : GjQ1Npqd8Ss
2015-08-17 19:44:42 -04:00
Kartikaya Gupta 136c2d72c3 Bug 1189443 - Don't round down the margin amounts when inflating the displayport. r=dvander
--HG--
extra : commitid : C4Vo2zwNRgo
2015-08-10 18:30:45 -04:00
Matt Woodrow 2ab56744ea Bug 1187432 - Avoid scheduling main-thread paints for scrolls handled by apz. r=tn
--HG--
extra : rebase_source : 343dabda5a9bbbeac0c25b69d63d0a82f595b599
2015-08-07 15:37:56 -04:00
Brian Birtles 937bc54615 Bug 1181392 part 5 - Remove use of IsFinishedTransition from AnimationCollection::HasAnimationOfProperty; r=dbaron
AnimationCollection::HasAnimationOfProperty uses IsFinishedTransition to filter
out transitions that should otherwise be ignored. This is used in the following
places:

1. nsLayoutUtils::HasAnimations

   The is only used by nsIFrame::BuildDisplayListForStackingContext to see if
   there are any opacity animations

   For this case, simply returning *current* animations would be sufficient
   (since finished but filling animations should have already filled in the
   display opacity)

2. CommonAnimationManager::GetAnimationsForCompositor

   This should really only return *current* animations--that is, animations that
   are running or scheduled to run. Finished animations never run on the
   compositor. Indeed, only *playing* animations run on the compositor but, as
   we will see in some of the cases below, it is sometimes useful to know that
   an animation *will* run on the compositor in the near future (e.g. so we can
   pre-render content).

   The places where GetAnimationsForCompositor is used are:

   - When building layers to add animations to layers in nsDisplayList--in this
     case we skip any animations that aren't playing so if
     GetAnimationsForCompositor only returned current animations that would be
     more than sufficient.

   - In nsLayoutUtils::HasAnimationsForCompositor. This in turn is used:

     - In ChooseScaleAndSetTransform to see if the transform is being animated
       on the compositor. If so, it calls
       nsLayoutUtils::ComputeSuitableScaleForAnimation (which also calls
       GetAnimationsForCompositor) and passes the result to
       GetMinAndMaxScaleForAnimationProperty which we have already adjusted in
       part 4 of this patch series to only deal with *relevant* animations

       Relevant animations include both current animations and in effect
       animations but we don't run forwards-filling animations on the compositor
       so GetAnimationsForCompositor should NOT return them. Current animations
       should be enough. In fact, playing animations should be enough but we
       might want to pre-render layers at a suitable size during their delay
       phase so returning current animations is probably ok.

     - In nsDisplayListBuilder::MarkOutOfFlowFrameForDisplay to add a fuzz
       factor to the overflow rect for frames undergoing a transform animation
       on the compositor. In this case too current animations should be
       sufficient.

     - In nsDisplayOpacity::NeedsActiveLayer to say "yes" if we are animating
       opacity on the compositor. Presumably in this case it would be good to
       say "yes" if the animation is in the delay phase too (as it currently
       does). After the animation is finished, we should drop the layer, i.e.
       current animations should be sufficient.

     - In nsDisplayTransform::ShouldPrerenderTransformedContent. As with
       nsDisplayOpacity::NeedsActiveLayer, we only need to pre-render
       transformed content for animations that are current.

     - In nsDisplayTransform::GetLayerState. As with
       nsDisplayOpacity::NeedsActiveLayer, we only need to return active here
       for current animations.

     - In nsIFrame::IsTransformed. Here we test the display style to see if
       there is a transform and also check if transform is being animated on the
       compositor. As a result, we really only need HasAnimationsForCompositor
       to return true for animations that are playing--otherwise the display
       style will tell us if we're transformed or not. Returning true for all
       current compositor animations (which is a superset of playing), however,
       should not cause problems (we already return true for even more than
       that).

     - In nsIFrame::HasOpacityInternal which is much the same as
       nsIFrame::IsTransformed and hence current should be fine.

3. AnimationCollection::CanThrottleAnimation

   Here, HasAnimationOfProperty is used when looking for animations that would
   disqualify us from throttling the animation by having an out-of-date layer
   generation or being a transform animation that affects scroll and so requires
   that we do the occasional main thread sample to update scrollbars.

   It would seem like current animations are enough here too. One interesting
   case is where we *had* a compositor animation but it has finished or been
   cancelled. In that case, the animation won't be current and we should not
   throttle the animation since we need to take it off its layer.

   It turns out checking for current animations is still ok in this case too.
   The reasoning is as follows:

   - If the animation is newly-finished, we'll pick that up in
     Animation::CanThrottle and return false then.

   - If the animation is newly-idle then there are two cases:

     If the cancelled animation was the only compositor animation then
     AnimationCollection::CanPerformOnCompositorThread will notice that there
     are no playing compositor animations and return false and
     AnimationCollection::CanThrottleAnimation will never be called.

     If there are other compositor animations running, then
     AnimationCollection::CanThrottleAnimation will still return false because
     whatever cancelled the animation will update the animation generation and
     we'll notice the mismatch between the layer animation generation and the
     animation generation on the collection.

Based on the above analysis it appears that making
AnimationCollection::HasAnimationOfProperty return only current animations (and
simulatneously renaming it to HasCurrentAnimationOfProperty) is safe. Indeed, in
effect, we already do this for transitions but not for animations. This patch
generalizes this behavior to all animations.

This patch also updates test_animations_omta.html since it was incorrectly
testing that a finished opacity animation was still running on the compositor.
Finished animations should not run on the compositor and the changes in this
patch cause that to happen. The reason we don't just update this test to check
for RunningOn.MainThread is that for opacity animations, unlike transform
animations, we can't detect if an opacity on a layer was set by animation or
not. As a result, for opacity animations we typically test the opacity on
either the main thread or compositor in order to allow for the case where an
animation-set opacity is still lingering on the compositor.
2015-08-07 12:29:36 +09:00
Brian Birtles eb9973b07f Bug 1181392 part 4 - Remove use of IsFinishedTransition from nsLayoutUtils; r=dbaron
GetMinAndMaxScaleForAnimationProperty in nsLayoutUtils uses IsFinishedTransition
to ignore finished transitions since they should not have any effect on current
or future scale values. We can generalize this, however, and say we are only
interested in animations that are *either*:

a) running or scheduled to run in the future, i.e. "current", OR
b) applying a value, including a finished animation with a forwards fill,
   i.e. "in effect"

Elsewhere, animations that fulfil *either* of this conditions are referred to as
"relevant animations" so we can simply test for relevance in this function.
2015-08-07 12:29:36 +09:00
Kartikaya Gupta db02ba5a05 Bug 1189837 - Subtract scrollbars in LD pixels rather than CSS pixels. r=mstange
--HG--
extra : commitid : 2bn2Ieqd1LP
2015-08-05 14:39:42 -04:00
CJ Ku 009a82453e Bug 1061393 - Export display list info to layer scope viewer. r=kamidphish 2015-08-03 02:11:00 -04:00
Botond Ballo 223b1b2a1d Bug 1131359 - Expose a basic FrameMetrics calculations in nsLayoutUtils. r=kats
--HG--
extra : rebase_source : a027d85d4d5f86353e14aa791fb5564d22694ed1
2015-07-27 14:06:05 -04:00
Robert O'Callahan 501665ec2f Bug 1172239. Add NS_FRAME_DESCENDANT_INTRINSIC_ISIZE_DEPENDS_ON_BSIZE. r=bz
--HG--
extra : commitid : DK71qQdcp6s
extra : rebase_source : a06ac45a67ab18254b815445fd1c8b6ae54390d3
2015-07-18 12:24:53 +12:00
Kearwood (Kip) Gilbert c06afa1c7f Bug 1181240 - Part 2: Replace gfx3DMatrix with Matrix4x4 in layout,r=vlad
- Refactored code to use Matrix4x4 instead of gfx3DMatrix.
- There is not expected to be any functional effect.
2015-07-10 17:05:47 -07:00
Seth Fowler ec30688068 Bug 1151359 (Part 3) - Treat nsImageFrames subject to scale animation as having an identity scale when predicting size. r=tn,birtles 2015-07-19 19:30:40 -07:00
Jonathan Kew 4e6c40d7ea Bug 1131451 part 1 - Replace containerWidth with containerSize in logical-coordinate classes and APIs, frame classes, etc. r=dholbert 2015-07-16 10:07:57 +01:00
Kartikaya Gupta 347e9ff5d2 Bug 1184200 - Update a check for APZ enabled. r=dvander 2015-07-15 17:13:22 -04: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
Kyle 4b077fd12e Bug 1178971 - Changed line snapping behaviour depending on even/odd-ness of stroke width. r=mstange
--HG--
extra : rebase_source : bddeb31d488b74337889a874f7f60b47bf65ed2a
extra : histedit_source : 0dee20bd92d1f656bd8b97d06acf6b99febc7a02
2015-07-07 14:56:23 -04:00
Robert O'Callahan 15642eb711 Bug 1143575. Replace ImageContainer Lock methods with simplified AutoLockImage. r=nical
--HG--
extra : commitid : B1BZNvKIQFf
extra : rebase_source : 927c9aa549a863aeba97c0e5a4cb6cf87194669a
2015-03-27 12:07:53 +13:00
Juan Gomez 258ad59e3f Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-07-03 18:29:00 -07:00
Lee Salzman 55553857ba Bug 771367 - Refactor GetAnimationContent and GetAnimationCollection into CommonAnimationManager to hide atom and pseudo-element voodoo. r=bbirtles
--HG--
extra : rebase_source : 4dd7ccea70aeb26850055388e6a8ec1aa90e5347
2015-07-01 14:43:13 -04:00
Lee Salzman 1201a3f336 Bug 771367 - Support compositor animation for pseudo-elements. r=dbaron
--HG--
extra : rebase_source : 9276e835dbc75aaaab718a871ed4eaa7c8389867
2015-07-01 11:55:51 -04:00
Kartikaya Gupta 02166f70f9 Bug 1177651 - Add areas covered by MozMousePixelScroll listeners to the dispatch-to-content region. r=dvander 2015-06-30 06:43:08 -04:00
L. David Baron fdfacfe99e Bug 1122526 patch 3 - Correctly account for transform:none when finding maximum scale for a transform animation. r=roc
The patch works by not handling transform:none specially at all, which
will lead to a scale of 1 (instead of the current 0).

This is the patch that actually fixes the original problem reported in
bug 1122526.  This patch also fixes bug 1165196.
2015-06-29 16:46:17 -07:00
Daniel Holbert cb57b1ad8c Bug 1177925: Use range-based "for" loops for nsFrameList iteration, in various places in layout. r=tn 2015-06-29 13:02:21 -07:00
Ryan VanderMeulen 5f5c327690 Backed out changeset 8b4e4083639e (bug 1171931) for B2G debug emulator bustage. 2015-06-25 19:48:42 -04:00
Juan Gomez 702a59d135 Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj
--HG--
extra : rebase_source : 2ecbe6c1dd8a7ad8dc529b53349ad431cf1116c9
2015-06-24 14:11:00 -04:00
Cameron McCormack 225f3dd70d Bug 804975 - Part 2: Add a RuleNodeCacheConditions class and use it instead of a boolean canStoreInRuleTree during style computation. r=dbaron 2015-06-23 11:48:18 +10:00
Botond Ballo ac52e5f459 Bug 1173580 - Record content descriptions in APZ test data. r=kats
--HG--
extra : source : 7f3a827067d7c617b6e988a9b5858d4cd8618d44
2015-06-10 20:47:56 -04:00
Mats Palmgren 2a91ce1550 Bug 1174450 part 10b - Rename IntrinsicForWM to IntrinsicForAxis and make it take a PhysicalAxis instead of a WritingMode. r=jfkthame 2015-06-16 11:21:04 +00:00
Mats Palmgren 83c34fee40 Bug 1174450 part 10 - Use the right IntrinsicISizeOffsetData for the given writing-mode (this is what fixes the error reported in this bug). r=jfkthame 2015-06-16 11:21:04 +00:00
Mats Palmgren f458d530ef Bug 1174450 part 9b - Make AddIntrinsicSizeOffset take a PhysicalAxis instead of a WritingMode. r=jfkthame 2015-06-16 11:21:04 +00:00
Mats Palmgren 479bf4c89b Bug 1174450 part 9 - Remove the nsRenderingContext* param from Intrinsic*SizeOffsets methods since it's unused. r=jfkthame 2015-06-16 11:21:04 +00:00
Mats Palmgren 964949147b Bug 1174450 part 7 - Move most of IntrinsicForContainer into a new method, IntrinsicForWM, that takes the writing-mode to use as a parameter. r=jfkthame
IntrinsicForContainer(...) is implemented as
IntrinsicForWM(aFrame->GetParent()->GetWritingMode(), ...).
2015-06-16 11:21:04 +00:00
Mats Palmgren 209bcdc585 Bug 1174450 part 6 - Add a doc comment for AddIntrinsicSizeOffset and some minor code style fixes. r=jfkthame 2015-06-16 11:21:03 +00:00
Mats Palmgren 7fa52c3884 Bug 1174450 part 5 - Remove the duplicated min/max calculation in AddIntrinsicSizeOffset, pass a pointer to the calculated absolute values, if any, from IntrinsicForContainer instead. r=jfkthame 2015-06-16 11:21:03 +00:00
Mats Palmgren f91985ca0c Bug 1174450 part 4 - Rename the remaining AddIntrinsicSizeOffset params to follow the aName standard. Also rename local var 'w' to 'size' since it may be either a width or height. r=jfkthame 2015-06-16 11:21:03 +00:00
Mats Palmgren dce55818e6 Bug 1174450 part 3 - Rename AddIntrinsicSizeOffset local vars from xISize to xSize since the code is generic and handles both ISizes and BSizes. r=jfkthame 2015-06-16 11:21:03 +00:00
Mats Palmgren 9468d09218 Bug 1174450 part 2 - Rename most AddIntrinsicSizeOffset params to follow the aName standard. r=jfkthame 2015-06-16 11:21:03 +00:00
Mats Palmgren 3323248afe Bug 1174450 part 1 - Split IntrinsicForContainer in two parts; move the latter part to a new function, AddIntrinsicSizeOffset, which applies the padding/border/margin from the given IntrinsicISizeOffsetData. r=jfkthame 2015-06-16 11:21:03 +00:00
Cameron McCormack 4c1cfc10bd Bug 1169514 - Part 2: Move noframes rules from the preferences style sheet to a cached UA style sheet. r=jwatt 2015-06-16 11:34:47 +10:00
Cameron McCormack 5492e00444 Bug 1169514 - Part 1: Move noscript rule from the preference style sheet to a cached UA style sheet. r=jwatt 2015-06-16 11:34:47 +10:00
Markus Stange f134c090a5 Bug 1174332 - Correctly compute box-shadow bounds on themed frames with overflow. r=roc
--HG--
extra : rebase_source : 1f8b32e7d05b1501859085c8a3e48c1c904bdf8e
2015-06-15 15:02:01 -04:00
Botond Ballo 4958aa7c1b Bug 1158424 - Rename FrameMetrics::mIsRoot to mIsRootContent. r=kats
--HG--
extra : rebase_source : a082680d842dd182d899f637200ce911cc3c480d
extra : source : 8b67f0b8dc96cebe9a58356708b23bebd8532134
2015-06-08 16:01:26 -04:00
David Anderson b2eb29a9c5 Use widgets for APZ checks, rather than gfxPrefs. (bug 1162064, r=kats,mstange) 2015-06-04 16:51:10 -04:00
David Anderson e11be639dd Fix asynchronously scrolling containerful subframes. (bug 1148582 part 6.1, r=tn) 2015-06-02 16:34:46 -07:00
Timothy Nikkel 17048184a5 Bug 1168630. Part 3. Add IsLayersIdRoot to frame metrics. r=botond
This field tells us if this frame metrics should be considered the root APZC for its layers id. Without this there doesn't seem to be a way to compute this from just the layers tree.
2015-05-31 14:44:41 -05:00
Timothy Nikkel 525e5c2132 Bug 1168629. Always make sure that there is at least one layer with the metrics for the root scroll frame/root element. r=botond,kats
We do this by looking at the layer tree after it has been made to see if the root metrics are in it already.

This is needed to ensure that there is always a root AZPC in a process.
2015-05-31 00:50:21 -05:00
Seth Fowler 115caea9d3 Bug 1169881 - Recompute image visibility when display port margins change. r=tn 2015-05-29 23:50:53 -07:00
Seth Fowler 900c174944 Bug 1169879 - Use only the critical displayport when computing image visibility. r=tn 2015-05-29 22:33:37 -07:00
Ryan VanderMeulen 7dfbf70ce7 Backed out changeset 4126c66c9a80 (bug 1166728) for Gaia sound_manager_test.js failures.
CLOSED TREE
2015-05-29 15:16:53 -04:00
Kyle Zentner f2ec992500 Bug 1166728 - Remove box-sizing: padding-box, as per CSS WG. r=dholbert 2015-05-29 09:17:00 -04:00
Ryan VanderMeulen 45b95898e0 Backed out changeset 541cd29ea626 (bug 1166728) because the updated patch wasn't posted to the bug. 2015-05-29 12:48:22 -04:00
Kyle Zentner 3bacc6993c Bug 1166728 - Remove box-sizing: padding-box, as per CSS WG. r=dholbert 2015-05-27 09:57:00 -04:00
Ryan VanderMeulen 47df1bbfe3 Backed out changeset dd96df1da2b5 (bug 1166728) for making test_bug320799.html permafail on Mulet.
CLOSED TREE

--HG--
extra : rebase_source : 4ff4ea2d22a0beb2af011cec40f90efba2e452b9
2015-05-28 11:01:18 -04:00
Kyle Zentner 2e3823f252 Bug 1166728 - Remove box-sizing: padding-box, as per CSS WG. r=dholbert
--HG--
extra : rebase_source : 6103761cd36cbba2c8e048db2a0d6cd75cad2020
2015-05-27 09:57:00 -04:00
Jonathan Watt 13ebd5c893 Bug 923193, part 4 - Implement support for the 'transform-origin' property in SVG. r=heycam 2015-05-24 22:40:37 +01:00
David Anderson bb8d53f35f Move the APZ scroll frame clip onto FrameMetrics. (bug 1148582 part 3, r=mstange,tn) 2015-05-26 12:40:24 -07:00
Botond Ballo 3408d121ff Bug 1164406 - Expose scrollbar-area deflation in nsLayoutUtils. r=kats
--HG--
extra : rebase_source : c5897e000fad53d44b4eb3f98f6bbbc4aba419a4
extra : source : 20612601aa1cc76667ac760e62479160076cf07a
2015-05-22 15:54:11 -04:00
Ting-Yu Lin 4d2a9a0ddd Bug 1110039 - Part 1 - Add nsLayoutUtils::ClampRectToScrollFrames. r=roc
ClampRectToScrollFrames generalizes IsRectVisibleInScrollFrames by
returning the clamped rect in scroll frames. IsRectVisibleInScrollFrames
could be implemented by checking whether the clamped rect is empty or
not.
2015-04-14 00:08:00 +02:00
Jonathan Kew 0b6c2066f3 Bug 1159305 - patch 2 - Clean up layout code by using the new accessors. r=smontagu 2015-05-11 11:37:46 +01:00
Kartikaya Gupta e237a366e0 Bug 1160566 - Make FrameMetrics.mCompositionBounds private and add a getter/setter for it. r=botond 2015-05-07 14:44:03 -04:00
Kartikaya Gupta 1b70cf8a52 Bug 1160250 - Fix up the rect being used for the composition size calculation. r=tn 2015-05-07 14:44:03 -04:00
Kartikaya Gupta 905ed37047 Bug 1160250 - Put in a missing transfomToAncestor scaling factor. r=botond,tn 2015-05-07 14:44:02 -04:00
Kartikaya Gupta d90090ea1b Bug 1160250 - Collapse the code from CalculateRootCompositionSize into UpdateCompositionBounds. r=botond,tn 2015-05-07 14:39:20 -04:00
Kartikaya Gupta 76561c0f08 Bug 1160250 - Extract a helper function from the triplicated composition-bounds-updating code. r=botond,tn 2015-05-07 14:39:20 -04:00
Kartikaya Gupta aa18869ddf Bug 1160250 - Extract a helper method from the triplicated comp-bounds function to determine if we need to deflate the scrollbars. r=botond,tn 2015-05-07 14:39:19 -04:00
Seth Fowler fdc5ab88b6 Bug 1162282 - When canvas.drawImage is called on a corrupt image that's not in the broken state, don't throw. r=gw280 2015-05-07 09:25:10 -07:00
L. David Baron c8c50385b3 Bug 1153539 patch 2 - Compute scale for rasterizing off-main-thread transform animations based on ratio to display size in addition to maximum and minimum scale. r=roc
This fixes bug 1153539 with the Firefox download arrow being pixellated
(verified by testing locally).

I also confirmed what happens on a flame device with the transform
unlocking the Firefox OS homescreen (bug 945082 / bug 972310).  For that
transform (which had a maximum scale of 2), I see four calls to
GetSuitableScale:
  GetSuitableScale: aMaxScale=2.000000, displayVisibleRatio=1.000000
  GetSuitableScale: aMaxScale=2.000000, displayVisibleRatio=1.000586
  GetSuitableScale: aMaxScale=2.000000, displayVisibleRatio=1.000000
  GetSuitableScale: aMaxScale=2.000000, displayVisibleRatio=1.000586
(Presumably the first and third are for width, and the second and fourth
are for height.)  I believe this shows that bug 972310 will remain fixed
with this patch.

I chose to use the pres context's visible area rather than the screen
size because it seemed more appropriate, and also because (if memory
serves correctly) it's much cheaper to get.
2015-05-06 08:52:20 +02:00
Kartikaya Gupta ad505c6fa4 Bug 1161040 - Add some assertions to guard against infinite loops in the handoff chains. r=botond 2015-05-05 08:36:52 -04:00
Kartikaya Gupta acd04b0bda Bug 1161040 - Don't set a scrollparent on the root content document in the child process that points to itself. r=tn 2015-05-04 14:37:22 -04:00
Kartikaya Gupta 4851563279 Bug 1157579 - Make sure the visual scroll port size includes the area of scrollbars when used in TryLayout. r=tn 2015-05-04 10:17:26 -04:00
Wes Kocher 5ef0b7b6a7 Merge inbound to m-c a=merge 2015-05-01 17:19:28 -07:00
Danilo Cesar Lemes de Paula a24ed2c0a4 Bug 1159405 - Fix "Found a non-root APZ with no handoff parent". r=botond 2015-04-30 06:06:00 -04:00
Jonathan Watt b9b0d2b3c3 Bug 923193, part 1 - Avoid calculation of the reference box for transforms unless they're actually needed. r=roc
--HG--
extra : rebase_source : 8ffca8102a9648642f9166c213ce9e964c34b2af
2015-04-28 19:55:42 +01:00
Brian Birtles a606228cd8 Bug 1159082 - Rename *Readonly animation interfaces to *ReadOnly. r=smaug 2015-04-30 09:06:43 -04:00
Carsten "Tomcat" Book b05d97c166 Backed out changeset 1b5fc672f0d4 (bug 1159082) for B2G ICS Emulator opt R6 test failures on a CLOSED TREE
--HG--
rename : dom/animation/AnimationEffectReadOnly.cpp => dom/animation/AnimationEffectReadonly.cpp
rename : dom/animation/AnimationEffectReadOnly.h => dom/animation/AnimationEffectReadonly.h
rename : dom/webidl/AnimationEffectReadOnly.webidl => dom/webidl/AnimationEffectReadonly.webidl
2015-04-30 13:15:04 +02:00
Brian Birtles 4fb166f6b2 Bug 1159082 - Rename *Readonly animation interfaces to *ReadOnly; r=smaug
--HG--
rename : dom/animation/AnimationEffectReadonly.cpp => dom/animation/AnimationEffectReadOnly.cpp
rename : dom/animation/AnimationEffectReadonly.h => dom/animation/AnimationEffectReadOnly.h
rename : dom/webidl/AnimationEffectReadonly.webidl => dom/webidl/AnimationEffectReadOnly.webidl
extra : rebase_source : 5fb31684bf494a57e208d0cfbbc76f65b502fc0e
2015-04-28 10:16:45 +09:00
Xidorn Quan ff400fb4a5 Bug 1117227 part 5 - Render ellipsis in correct orientation. r=jfkthame
--HG--
extra : source : 4766d98091b93c120d41a5118406d82a38d9ff62
2015-04-24 10:15:32 +12:00
Botond Ballo 568cc0377d Bug 1151663 - Only call GetOrMaybeCreateDisplayPort() in nsLayoutUtils::PaintFrame() if we are using containers for root scroll frames. r=tn
--HG--
extra : rebase_source : 832db6a5ae1b513aaea7e2349f09bb500ef726e8
extra : source : c1f3b5ba0562e98d8b39c28f3964e37dfcff8528
2015-04-15 17:14:32 -04:00
Botond Ballo ed5527e448 Bug 1151663 - Initialize display list builder flags earlier in nsLayoutUtils::PaintFrame(). r=tn
--HG--
extra : rebase_source : 9b64fb508e4ed224396bf8c2c060264ec6f870d0
extra : source : 1cdbbd749b04f4a6068560f5d7c5528240fa8dfe
2015-04-15 15:48:09 -04:00
Seth Fowler 8b1d7b5a59 Bug 1085783 (Part 1) - Snap both the fill and dest rects using UserToDeviceSnapped() when pixel snapping images. r=roc 2015-04-22 13:04:04 -07:00
Carsten "Tomcat" Book 611ec988a9 Backed out changeset 60bbc4230cd7 (bug 1085783) 2015-04-22 13:14:35 +02:00
Phil Ringnalda 857dc93f7f Merge m-c to a CLOSED TREE m-i 2015-04-21 20:17:57 -07:00
David Anderson 2509aee14f Fix bogus assertion in nsLayoutUtils::SetDisplayPortMargins. (bug 1156409, r=botond, a=philor) 2015-04-21 23:01:41 -04:00
Seth Fowler d2fb40701c Bug 1085783 (Part 1) - Snap both the fill and dest rects using UserToDeviceSnapped() when pixel snapping images. r=roc 2015-04-21 19:23:10 -07:00
Timothy Nikkel c92044ef7a Bug 1156598. Remove old, dead scroll layer item code. r=mstange 2015-04-20 22:48:10 -05:00
Brian Birtles 13834006d7 Bug 1154615 part 6 - Rename references to players within layout/; r=jwatt
We will rename CSSAnimationPlayer/CSSTransitionPlayer in a separate patch
2015-04-21 10:22:10 +09:00
Brian Birtles 8f5fbac8a9 Bug 1154615 part 5 - Rename AnimationPlayerCollection to AnimationCollection; r=jwatt 2015-04-21 10:22:10 +09:00
Brian Birtles 5c7929fd2a Bug 1154615 part 1 - Rename AnimationPlayer to Animation in WebIDL; r=smaug
This patch is a fairly minimal rename of the AnimationPlayer interface. It
leaves a bunch of local variables and helper classes still using the word
"player". These will be addressed in subsequent patches that don't require DOM
peer review.

--HG--
rename : dom/animation/AnimationPlayer.cpp => dom/animation/Animation.cpp
rename : dom/animation/AnimationPlayer.h => dom/animation/Animation.h
rename : dom/webidl/AnimationPlayer.webidl => dom/webidl/Animation.webidl
2015-04-21 10:22:09 +09:00
Phil Ringnalda d68dd54c30 Backed out changeset ffde08dc5ceb (bug 1154459) for bustage
CLOSED TREE
2015-04-19 08:19:14 -07:00
David Anderson 4f6a850738 Enable APZ for E10S on Windows for one nightly build. (bug 1154459, r=kats) 2015-04-17 11:49:55 -04:00
Botond Ballo 148a784118 Bug 1152479 - Extract the implementations of layout-related nsIDOMWindowUtils APIs used by APZ into nsLayoutUtils. r=ehsan
--HG--
extra : rebase_source : 175254c3f78cd06bf72e2a25da12eff7a174f87e
extra : source : 0bf92001a2f715b5c20aefc039c30e926b9789c0
2015-04-14 13:19:10 -04:00
Brian Birtles 2d26fd38cb Bug 1153734 part 3 - Rename AnimationPlayer.source to AnimationPlayer.effect; r=smaug
There are still some other references to "source" in AnimationPlayer such as
HasInPlayerSource and UpdateSourceContent. These are renamed in a subsequent
patch (that doesn't require DOM peer review).
2015-04-15 08:48:21 +09:00