Commit Graph

11529 Commits

Author SHA1 Message Date
Jim Mathies
626e7b7b7c Bug 1195472 - Call Show after Enable on puppet widgets to avoid an assertion when running crash tests. r=aklotz 2015-09-01 10:39:30 -05: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
Nicholas Nethercote
f44287005f Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.

--HG--
extra : rebase_source : 82e3387abfbd5f1471e953961d301d3d97ed2973
2015-08-27 20:44:53 -07:00
Markus Stange
0eb1d7c10b Bug 1016035 - Make the threshold in AxisPhysicsMSDModel::IsFinished controllable by the caller. r=kip
--HG--
extra : commitid : 8kd91z4FD2n
extra : rebase_source : bcdf5a75c527f871d2077ca1ef2e1958eb3db4d9
2015-08-04 16:11:37 -04:00
Masayuki Nakano
9895f90eca Bug 895274 part.28 Rename NS_MOUSE_ENTER_WIDGET to eMouseEnterIntoWidget r=smaug 2015-08-29 08:58:31 +09:00
Masayuki Nakano
db00b74a82 Bug 895274 part.27 Rename NS_MOUSE_BUTTON_DOWN to eMouseDown r=smaug 2015-08-29 08:58:30 +09:00
Masayuki Nakano
30fdd39afb Bug 895274 part.26 Rename NS_MOUSE_BUTTON_UP to eMouseUp r=smaug 2015-08-29 08:58:30 +09:00
Masayuki Nakano
717c415187 Bug 895274 part.25 Rename NS_MOUSE_MOVE to eMouseMove r=smaug 2015-08-29 08:58:29 +09:00
Masayuki Nakano
07ce780806 Bug 895274 part.19 Rename NS_PLUGIN_FOCUS to ePluginFocus r=smaug 2015-08-29 08:58:28 +09:00
Masayuki Nakano
956405c088 Bug 895274 part.18 Rename NS_PLUGIN_ACTIVATE to ePluginActivate r=smaug 2015-08-29 08:58:28 +09:00
Masayuki Nakano
2fbb0f1587 Bug 895274 part.17 Rename NS_SCROLL_EVENT to eScroll r=smaug 2015-08-29 08:58:28 +09:00
Masayuki Nakano
6ecfef2cde Bug 895274 part.5 Rename NS_EVENT_NULL to eVoidEvent r=smaug 2015-08-29 08:58:26 +09:00
Masayuki Nakano
0d22745cda Bug 895274 part.3 Make the enum of event messages a named enum IGNORE IDL r=smaug 2015-08-26 21:56:59 +09:00
Mats Palmgren
98e0e2b9c8 Bug 1194888 - [css-grid] A line outside the existing grid should be treated as 'auto' for abs.pos (10.1). r=dholbert 2015-08-25 15:40:10 +02:00
Mats Palmgren
5e18f6b48c Bug 1194892 - [css-grid] "span * / span *" should be treated as "auto / auto" for abs.pos. grid items. r=dholbert 2015-08-25 15:40:10 +02:00
Masayuki Nakano
66f2c27305 Bug 895274 part.1 Rename WidgetEvent::message to WidgetEvent::mMessage r=smaug 2015-08-22 10:34:51 +09:00
Ting-Yu Lin
ef51f04d19 Bug 1195672 - Add |nsAutoCString nsIFrame::ListTag()| for debugging. f=mtseng, r=roc
This make it easier to print a frame tag name in one debug log line.

--HG--
extra : commitid : 5bl8GhmTLQi
extra : rebase_source : f151c98dc99c33e8050b106ab8695a9053dbb3ad
2015-08-19 15:54:10 +08:00
Masayuki Nakano
0882629f91 Bug 299603 part.5 nsTextFrame should use system foreground or background color when painting IME selections if whose style defines only one of foreground color or background color r=roc 2015-08-19 16:37:39 +09:00
Masayuki Nakano
f40421a26b Bug 299603 part.4 Some global methods in nsTextFrame.cpp should be members of nsTextFrame class r=roc 2015-08-19 16:37:39 +09: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
Cameron McCormack
2e3473ca07 Bug 968923 - part 3b - propagating use counters from SVG images into owning/parent documents; r=seth 2015-06-03 13:42:07 -04:00
Robert O'Callahan
23fec6ad97 Bug 1179288. Make position:fixed induce a stacking context. r=heycam
--HG--
extra : commitid : 7QaxW4IWItK
extra : rebase_source : 33cc2889181a70d662757c0a93a4d1438ffb3573
2015-08-17 11:02:54 +12:00
Ryan VanderMeulen
2b80504f9c Bug 1195472 - Annotate 505912-1.html to expect one assertion in e10s mode. 2015-08-17 15:36:20 -04:00
William Chen
148ff86273 Bug 1181130 - Part 3: Keep track of editable descendants per node and prevent NS_STYLE_USER_SELECT_ALL selection for nodes with editable descendants. r=bz 2015-08-14 10:52:38 -07:00
Ehsan Akhgari
ce551a9f32 Bug 1181130 - Part 1: Add support for -moz-user-select: -moz-text; r=dbaron 2015-08-14 10:49:27 -07:00
Xidorn Quan
8c9c798a7f Bug 1186721 - Suppress line break due to soft hyphen inside ruby. r=jfkthame
--HG--
extra : source : dfcc7df95f21d7b22705ebb24b9f693d70989167
2015-08-13 22:39:51 +10:00
Jonathan Kew
b9df47f5de Bug 1191185 - Simplify nsHypotheticalBox, eliminating obsolete/redundant fields, and rename to nsHypotheticalPosition. r=dholbert 2015-08-12 11:02:02 +01:00
Jonathan Kew
0d98ee0d97 Bug 1191109 - Clean up use of writing-modes in GetHypotheticalBoxContainer, eliminating a redundant ConvertTo call. r=dholbert 2015-08-12 11:02:02 +01:00
Jonathan Kew
b8dbdb1dbd Bug 1191855 - Make the intrinsic size of <iframe> remain physical 300x150, regardless of writing mode. r=dholbert 2015-08-12 11:02:02 +01: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
Jonathan Kew
c97e4db638 Bug 1183431 - Ensure hypothetical box has a writing mode with the same block direction as the absolute containing block. r=dholbert 2015-08-06 21:01:31 +01:00
Jonathan Kew
04f89231e4 Bug 1183431 - Tests for hypothetical box computation (to determine static position of abspos element) where orthogonal writing modes are involved. r=dholbert
--HG--
rename : layout/reftests/writing-mode/blue-32x32.png => layout/reftests/writing-mode/abspos/blue-32x32.png
2015-08-06 21:00:45 +01:00
Jonathan Kew
17045bb405 Backout changesets 1639af64e372, 74ecf0f57a56, 94831690f525, 27eab13d3cf2 (bug 1183431) for Android-specific failure in reftest 1183431-orthogonal-modes-5a.html. 2015-08-06 17:32:20 +01:00
Jonathan Kew
157a3efa31 Bug 1183431 followup - Crashtest no longer asserts, so mark it appropriately on the CLOSED TREE. 2015-08-06 16:36:50 +01:00
Jonathan Kew
aae5ae1f7f Bug 1183431 - Ensure hypothetical box has a writing mode with the same block direction as the absolute containing block. r=dholbert 2015-08-06 15:44:50 +01:00
Jonathan Kew
120ac081be Bug 1183431 - Tests for hypothetical box computation (to determine static position of abspos element) where orthogonal writing modes are involved. r=dholbert 2015-08-06 15:44:48 +01:00
L. David Baron
bb57d7d42e Bug 451791 patch 2 - Report block non-empty to its parent block during margin collapsing if we encounter clearance. r=roc
The goal of ComputeCollapsedBStartMargin is to collapse all of the
margins that collapse with a block's top margin.  It does this by
scanning forward through the child list until it finds something that
blocks collapsing; it descends into children through recursion.  When we
find a non-empty block or line, we stop collapsing and report to the
parent that the child is non-empty so that it stops collapsing as well.

This patch changes our behavior when we have clearance to do the same
thing that we do for non-empty lines or blocks (which makes both
occurrences of |goto done| be preceded by the same code).  Without the
patch we would fail to report being non-empty to the parent (and instead
report emptiness based on the IsEmpty() method).  This meant that,
without the patch, if a block has a child with clearance but also has
IsEmpty() true, we would stop scanning margins in that block after the
clearance, but start searching again for margins in the block's parent,
starting with the block's bottom margin.  This patch sets *aBlockIsEmpty
to true in that case so that we do not pick up again in the block's
parent (or, potentially, grandparent, etc.).

--HG--
extra : commitid : LCMTvXvZT3G
2015-08-05 21:04:38 -07:00
L. David Baron
8c08fc4385 Bug 451791 patch 1 - Remove write-only nsHTMLReflowState::mFlags::mHasClearance. r=roc
This was introduced in bug 209694 (gecko-dev 13a65028) but became unused
through bug 292295 (gecko-dev 4593df2a57) and bug 300030 (gecko-dev
31f18988).

--HG--
extra : commitid : 1YUuWOKeInm
2015-08-05 21:04:38 -07:00
Robert O'Callahan
1e49288224 Bug 1184842. Pass aOldValue to all mutation observers. r=peterv
--HG--
extra : commitid : CYjyQn3BAqb
extra : rebase_source : ef153c7cf1e08a058d8de6a76dbe7dc343a299fb
2015-07-25 18:01:19 +12:00
Robert O'Callahan
f584dfab18 Bug 1184842. Remove frameset mVisibilityOverride since it's always false now. r=mats
--HG--
extra : commitid : 6Ru8WruV4Gy
extra : rebase_source : 019fadb9d61bf3617ca3b1387e139bdd13ed3a8c
2015-07-21 16:22:02 +12:00
Robert O'Callahan
bef5029ecc Bug 1184842. Remove layout.frames.force_resizability pref. r=mats
--HG--
extra : commitid : 7nC2lTgLu0Q
extra : rebase_source : f13e3e7009930be6a0cacc5a9badbd5ae80dc30e
2015-07-21 16:18:17 +12:00
CJ Ku
009a82453e Bug 1061393 - Export display list info to layer scope viewer. r=kamidphish 2015-08-03 02:11:00 -04:00
L. David Baron
119b557460 Bug 538194 patch 2 - Redo block reflow below floats when the height of a block that does not intersect floats pushes it into the way of other floats. r=roc
This adds an additional retry loop in block reflow that we can only
trigger when reflowing a block formatting context (replacedBlock
non-null).  It can retry in two different ways, either with a narrower
width but at the same vertical position (when
ReplacedBlockFitsInAvailSpace is still true) or at a new vertical
position (which is treated as a form of clearance).

Fortunately we don't have to worry about margins collapsing *through*
such a boundary since we're dealing with a new block formatting context.

Note that Chromium passes all of the new bfc-displace-* tests, although
it moves the block formating context down unnecessarily in
bfc-shrink-1.html (which we do neither before nor after the patch),
though agrees with the width we have after the patch (but not before the
patch).

--HG--
extra : commitid : FgDc4hjTxHp
2015-08-02 21:03:09 -07:00
L. David Baron
e92e2b3d34 Bug 538194 patch 1 - Refactor some code dealing with fitting block formatting contexts around floats into separate functions. r=roc
--HG--
extra : commitid : 5GnXOwsYaJA
2015-08-02 21:03:09 -07:00
Daniel Holbert
f933dadde9 Bug 1023344: Tweak asserts() annotation for crashtest 876074-1.html, to allow for occasional no-assertion & extra-assertion. 2015-07-31 16:29:50 -07: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
Timothy Nikkel
4e61ce38ec Bug 1189010. In ScrollFrameHelper::BuildDisplayList decide if we are building a scrollable layer before we call AppendScrollPartsTo because it needs this information. r=mstange
AppendScrollPartsTo finds or creates a scroll id for the current scroll frame if IsMaybeScrollingActive() is true (otherwise it uses the null scrollid). IsMaybeScrollingActive() looks at mShouldBuildScrollableLayer, which we compute after the first call to AppendScrollPartsTo in ScrollFrameHelper::BuildDisplayList.

This means that on the first paint with a displayport set (or even if we create a displayport is ScrollFrameHelper::BuildDisplayList) we wouldn't layerize the scroll thumb in nsSliderFrame::BuildDisplayListForChildren because it looks for the current scroll id set on the display list builder. On subsequent paints this would be corrected so it caused reftest failures.
2015-07-29 14:45:57 -05:00
L. David Baron
dc94df9c46 Bug 478834 - Record that we need to look for clearance if we encounter a block that might need to be pushed down for intersecting floats (i.e., one that establishes a BFC). r=roc
Without this change, nsBlockFrame::ReflowBlockFrame will fail to have
mayNeedRetry true, which means that it won't set
blockHTMLRS.mDiscoveredClearance, which means that on a descendant
replaced block we will fail to fall into any of the cases that call
ClearFloats.  This change will cause us to hit the first ClearFloats
call and discover the need for clearance.

I tested locally that the new reftest fails without the patch and passes
with the patch.
2015-07-27 20:23:56 -07:00
Jonathan Kew
4d081f1ac4 Bug 1172450 - Size and position the dropdown arrow properly in vertical writing modes. r=smontagu 2015-07-27 16:52:12 +01:00