Commit Graph

989 Commits

Author SHA1 Message Date
Daniel Holbert
0f09db7a97 Bug 1065646: Use GetContentRectRelativeToSelf() instead of GetContentRect() - GetPosition(), in layout code. r=tn 2014-09-11 14:29:59 -07:00
Jonathan Watt
f794fc62f9 Bug 1064082 - Get rid of nsRenderingContext's PushState and PopState methods. r=Bas 2014-09-11 07:48:10 +01:00
Jonathan Watt
b3072839ca Bug 1065031, part 2 - Changes to Moz2D consuming code to update callers of Moz2D Matrix's Translate, Scale and Rotate methods to use these methods' new names. r=Bas 2014-09-10 18:29:35 +01:00
Jonathan Watt
581078dcb7 Bug 1065127 - Avoid Matrix().Translate()/Scale()/Rotate() multiplication in lots of places. r=Bas 2014-09-10 14:26:12 +01:00
Carsten "Tomcat" Book
d9c5bea4e5 Backed out changeset e6b766d8a815 (bug 1065127) for bustage 2014-09-10 14:30:36 +02:00
Jonathan Watt
cc5bf95ddf Bug 1065127 - Avoid Matrix().Translate()/Scale()/Rotate() multiplication in lots of places. r=Bas
--HG--
extra : rebase_source : ef075258c31973c4943b9b3a9229685a9bb83917
2014-09-10 11:45:42 +01:00
Robert O'Callahan
7d98b5c133 Bug 1061045. Remove dirtyRect save/restore from Enter/LeavePresShell since they're not needed anymore. r=tn 2014-09-06 16:16:34 +12:00
Kearwood (Kip) Gilbert
a5c8bcd2a0 Bug 1022825 - Implement Asynchronous Smooth Scrolling on Compositor Thread. r=kats
- Extended nsIScrollableFrame and nsGfxScrollFrame to return destination
  of smooth scrolls which are to be animated on the compositor thread.
- Added apz.smooth_scroll_repaint_interval preference.
- Implemented AsyncPanZoomController::PanZoomState::SMOOTH_MSD_SCROLL state
  and AsyncPanZoomController::SmoothScrollAnimation class to animate smooth
  scroll animations on the compositor thread.
- Extended FrameMetrics to report requests for smooth scrolls to be animated
  on the compositor thread and their corresponding destination positions.
- AsyncPanZoomController now checks FrameMetrics for requests to perform
  smooth scrolling on the compositor thread.  It will ensure that they
  are cancelled as needed by mousewheel, touchpanel, keyboard, and
  CSSOM-View instant scrolling DOM methods.
- The layout/generic/test/test_scroll_behavior.html mochitest has been
  commented as depending on Bug 1062609 before being enabled for APZ.
2014-07-10 11:52:40 -07:00
Robert O'Callahan
293fcf9eac Bug 967844. Part 3: Setup FrameMetrics from FrameLayerBuilder based on animated geometry roots. r=mattwoodrow
--HG--
extra : rebase_source : 19593cafc17053d450905161fa7d4ce8721c58a0
2014-08-31 15:29:24 +12:00
Robert O'Callahan
08fc3b5784 Bug 967844. Part 2: Move mContentDescription from Layer to FrameMetrics. r=kats
--HG--
extra : rebase_source : b616a0ab2e5bb203a66a5f0b3644bdcbe5f17ce7
2014-08-30 00:23:25 +12:00
Robert O'Callahan
f25942deec Bug 967844. Part 1: Move mBackgroundColor from Layer to FrameMetrics. r=kats
--HG--
extra : rebase_source : d7cf8756678cc342e1d648638dd867c5479b74ba
2014-08-30 00:23:25 +12:00
Phil Ringnalda
609fe6b9c4 Backed out 3 changesets (bug 967844) for robopan bustage
Backed out changeset 6b53305f1c42 (bug 967844)
Backed out changeset dff3eb181f33 (bug 967844)
Backed out changeset 4d4b03442eaf (bug 967844)
2014-09-01 15:20:13 -07:00
Robert O'Callahan
2d6bf232ea Bug 967844. Part 3: Setup FrameMetrics from FrameLayerBuilder based on animated geometry roots. r=mattwoodrow
--HG--
extra : rebase_source : d30d2af626038cc556fcd3add9a3876be2c58239
2014-08-31 15:29:24 +12:00
Robert O'Callahan
864c99dd28 Bug 967844. Part 2: Move mContentDescription from Layer to FrameMetrics. r=kats
--HG--
extra : rebase_source : d5a2d8ea13369db215e96e721efc3ce0b354a523
2014-08-30 00:23:25 +12:00
Robert O'Callahan
349231bac5 Bug 967844. Part 1: Move mBackgroundColor from Layer to FrameMetrics. r=kats
--HG--
extra : rebase_source : b5fd1fd1b0b1f55990e72d205cc871a46d5f4f8c
2014-08-30 00:23:25 +12:00
Ehsan Akhgari
95a75d8cc2 Bug 1060985 - Fix more bad implicit constructors in layout; r=roc 2014-08-31 23:36:37 -04:00
Markus Stange
e651572337 Bug 1021564 - Invalidate filtered frames when they move in certain ways. r=roc 2014-08-30 18:22:31 +02:00
David Zbarsky
7276fd8572 Bug 1033114 Part 3: Make mStartTime a nullable TimeDuration r=birtles 2014-08-30 02:11:57 -04:00
David Zbarsky
5662a359c6 Bug 952977: Remove gfxPointH3D r=nical 2014-08-29 14:47:30 -04:00
David Zbarsky
848b6c007e Bug 1060165: Remove gfxPoint3D r=nical 2014-08-29 14:47:30 -04:00
Carsten "Tomcat" Book
aef0b33b55 merge mozilla-inbound to mozilla-central a=merge 2014-08-28 13:07:10 +02:00
Kartikaya Gupta
8b8760b990 Bug 1055760 - Move the scroll handoff parent id from Layer to FrameMetrics. r=botond 2014-08-27 22:13:39 -04:00
Jeff Muizelaar
91cd5c097b Bug 1048916. Convert a bunch of layers from nsAutoPtr to UniquePtr. r=roc
This makes the ownership of LayerProperties more clear.

--HG--
extra : rebase_source : 5d786a246337353522fc1d6e2c252e98e673e936
2014-08-25 11:09:39 -04:00
Markus Stange
0e4d29ece6 Bug 1051522 - Add -moz-appearance values -moz-mac-vibrancy-light and -moz-mac-vibrancy-dark for the behind-window vibrancy effect on 10.10. r=roc 2014-08-28 02:15:31 +02:00
Emma Benoit
9feab3bf0f bug 1030741 - Make FrameMetrics::mIsRoot private and add getter/setter methods to manipulate it. r=kats 2014-08-23 19:09:10 -04:00
Kartikaya Gupta
8059354fff Bug 912700 - Audit all uses of FrameMetrics::mViewport and wrap it in getter/setters. r=botond 2014-08-22 23:18:56 -04:00
David Zbarsky
10410114ac Bug 952977: Switch some uses of gfx3DMatrix in nsLayoutUtils to Matrix4x4 r=nical 2014-08-22 09:40:02 -04:00
Markus Stange
7030974fef Bug 1055585 - Add nsITheme::NeedToClearBackgroundBehindWidget and create nsDisplayClearBackground if the theme needs it for a widget. r=roc 2014-08-20 17:26:11 +02:00
Markus Stange
0113ba6a30 Bug 1055585 - Make nsDisplayClearBackground force drawing into a transparent surface. r=roc 2014-08-20 17:24:39 +02:00
Markus Stange
000d7be674 Bug 1055585 - Add nsDisplayClearBackground. r=roc 2014-08-20 17:16:41 +02:00
Matt Woodrow
ea72ac6615 Bug 1030124 - If the nsDisplayTransform frame isn't actually transformed (and not a reference frame), then apply the coordinate space change offset when we compute the transform for the preserve-3d
parent. r=roc
2014-08-20 17:43:26 +12:00
Robert O'Callahan
27a3fe0069 Bug 1048752. Part 19: Create nsCaret::GetPaintGeometry to call during painting. r=tn
This is the start of the changes to caret-drawing proper.

The idea is to combine GetCaretFrame and GetCaretRect into a method
GetPaintGeometry which looks like GetGeometry but returns values
needed for painting (i.e. including bidi decorations, and returning
a null frame if we're not supposed to paint due to specific caret
state, e.g. in the "off" phase of the blink cycle).

Mostly a straightforward refactoring but there are a few interesting changes:
-- nsDisplayCaret stores its bounds instead of getting them from nsCaret on
demand. Eventually those bounds will not be stored in nsCaret at all.
-- nsDisplayCaret::GetBounds returns true for aSnap. nsCaret draws snapped
rects, so why not.
-- I removed "if (caretRect.Intersects(aDirtyRect))" in EnterPresShell.
As far as I can tell, this check is incorrect because it doesn't take
transforms into account. Since there's at most one drawn caret per window,
hence we do this at most once per paint, I don't think there's any real
performance advantage to having this check.

--HG--
extra : rebase_source : c98d3a5994478b482d19cc2e2ac83ab51bd17e00
2014-08-06 17:19:28 +12:00
Robert O'Callahan
ae6a16193a Bug 1048752. Part 16: Move nsFrameSelection::HINT to CaretAssociationHint.h. r=tn
This patch started an attempt to remove nsFrameSelection.h from nsCaret.h
and metastasized into a rather large refactoring patch that removed it
from some other header files as well, and changed nsFrameSelection::HINT
into a global-scope enum with better names. I also converted bools
into CaretAssociationHint in a few places where that was appropriate,
but there are still some more places (GetChildFrameContainingOffset)
where bools need to be converted. I figured this patch was big enough already.

--HG--
extra : rebase_source : cc618ef60e707e1360644340a2648de389383da0
2014-08-06 17:19:27 +12:00
Robert O'Callahan
52ce18f581 Bug 1048752. Part 11: Remove nsLayoutUtils.h from nsDisplayList.h. r=tn
--HG--
extra : rebase_source : 02251076442a5c4251e8d9484cb428a4c07f3a13
2014-08-06 17:19:25 +12:00
Robert O'Callahan
912c1e35de Bug 1048752. Part 10: Remove FrameLayerBuilder.h from nsDisplayList.h. r=tn
I was inspired by the previous patch to remove FrameLayerBuilder.h from
nsDisplayList.h too.

--HG--
extra : rebase_source : b34a01bea5865da4737817e2396b98d54cc6d1bf
2014-08-06 17:19:25 +12:00
Robert O'Callahan
7ea822125b Bug 1048752. Part 9: Remove nsCaret.h from nsDisplayList.h. r=tn
I got tired of slow build turnarounds every time I modified nsCaret.h.

--HG--
extra : rebase_source : 0c4598c4881ab8de0a636b08c70fb801bb912247
2014-08-06 17:19:25 +12:00
Matt Woodrow
19f7ba2da1 Bug 1019693 - Always use tiled thebes layers when we're a descendant of a layer with a critical display port so that the low-resolution drawing area is handled correctly. r=tn
--HG--
extra : rebase_source : 0dabb9c73d65414979945d0cc46ba8c89d86b90e
2014-08-08 09:12:01 +12:00
Matt Woodrow
afb5e3b8c6 Bug 1049450 - Revert pre-rendering heuristic changes from bug 1034247. r=roc
--HG--
extra : rebase_source : c5dd220f5cf6b51a4cb0ef552f792dfcf621445c
2014-08-12 18:02:55 +12:00
Timothy Nikkel
7b846aeaf5 Bug 1051097. Set the initial visible rect correctly on the wrap list item stored inside transform display items. r=roc 2014-08-10 21:59:02 -05:00
Brian Birtles
eee37dc2bd Bug 1040543 part 8 - Move timing parameters from AnimationPlayer to Animation; r=bz
As the second step in dividing functionality between AnimationPlayer and
Animation, this patch moves the AnimationTiming member from AnimationPlayer to
Animation.

Most of this patch is simply moving code around. However, one significant
functional difference is that Animation::GetLocalTime() uses the mParentTime
member which is set when the Animation is updated by the player it is attached
to.

Other less significant differences are:

* AnimationPlayer::GetLocalTime is renamed to GetCurrentTimeDuration
  In Web Animations, animation players have a (writeable) "current time" and
  animations have a (read-only) "local time".
  We would call the method simply "GetCurrentTime" (instead of
  "GetCurrentTimeDuration") but GetCurrentTime is the name of the method used in
  the content-facing API where it returns a double.

* "IsCurrent" is defined on both AnimationPlayer and Animation with the version
  in AnimationPlayer serving mostly as a convenience shortcut to the version on
  Animation.

* Animation::GetComputedTiming (previously on AnimationPlayer) now makes the
  timing parameter optional since most of the time it is not needed.
2014-08-10 17:06:50 +10:00
Brian Birtles
a66a1ea7b5 Bug 1040543 part 7 - Move keyframe properties from AnimationPlayer to Animation; r=bz
As the first step in dividing the functionality currently contained in
AnimationPlayer between AnimationPlayer and Animation this patch moves the set
of keyframe properties to the Animation.

These properties are returned from the Animation by a couple of Properties()
methods that provide direct access to the member variable. In future it is
anticipated that the non-const version will be replaced with an appropriate
setter function. This will likely happen when we implement a separate
KeyframeEffect object as defined by the Web Animations API.

With regards to error checking, nsAnimationManager checks the result of
AnimationPlayer::GetSource() and handles the case where it is nullptr.
nsTransitionManager, however, simply asserts that GetSource() is never null much
like it also asserts that there is only one property with one segment in the
animation. Eventually this code should be made more generic which will probably
happen in bug 999927.
2014-08-10 17:06:49 +10:00
Brian Birtles
cbee07055c Bug 1040543 part 6 - Rename mAnimations to mPlayers and likewise for similar local variables; r=bz
Now that we have both AnimationPlayer and Animation in use we need to clarify
which object we are referring to. This patch renames a number of member and
local variables to better reflect whether they point to an AnimationPlayer or an
Animation.

This patch is mostly renaming only with one exception. Since we are touching
a number of local variables used in loops (for looping over the array of
animation players) we take the opportunity to replace a number of instances of
uint32_t with size_t since that is the preferred type for array indices now.
2014-08-10 17:06:48 +10:00
Brian Birtles
f5e61ac556 Bug 1040543 part 2 - Rename ElementAnimationCollection to AnimationPlayerCollection; r=bz 2014-08-10 17:06:46 +10:00
Brian Birtles
b1759d304e Bug 1040543 part 1 - Move/Rename ElementAnimations to dom::AnimationPlayer; r=bz
This patch renames mozilla::ElementAnimations to mozilla::dom::AnimationPlayer
and moves the code from layout/style/AnimationCommon.cpp to
dom/animation/AnimationPlayer.cpp.

It also moves various helper classes needed by AnimationPlayer to
AnimationPlayer.cpp and moves them from the mozilla::css namespace to the
mozilla namespace.

Beyond that, there are no functional changes contained in this patch.

The renaming of various members and variables that used to refer to
ElementAnimation objects but now refer to AnimationPlayer objects--to give them
a more appropriate name--is performed in a subsequent patch.

--HG--
rename : layout/style/AnimationCommon.cpp => dom/animation/AnimationPlayer.cpp
rename : layout/style/AnimationCommon.h => dom/animation/AnimationPlayer.h
2014-08-10 17:06:44 +10:00
Timothy Nikkel
017cd225f7 Bug 1042772. Update the reference frame and current frame offset when moving to outside a transform so that we can use the correct offset to compute the initial visible rect for wrap list display items. r=roc
* * *
The current reference frame is still the same as our reference frame because we set and restore it in nsFrame::BuildDisplayListForChild before this. So we need to actually compute it.
2014-08-07 11:33:18 -05:00
Botond Ballo
78a15f128f Bug 1040087 - For root scroll frames, use the canvas background color calculated by the pres shell when overscrolling. r=tn 2014-08-06 18:05:11 -04:00
Matt Woodrow
f0f0bad187 Bug 1045864 - Disable layerized background-attachment:fixed when we're using a software compositor. r=roc 2014-08-05 15:25:00 +12:00
Botond Ballo
1d35f25a8b Bug 1023557 - Store the content description in ContainerLayer instead of FrameMetrics. r=kats,BenWa 2014-07-31 16:11:47 -04:00
David Zbarsky
449b827565 Bug 952977: More gfx::Matrix cleanup in FrameLayerBuilder r=nical 2014-08-01 08:31:49 -04:00
David Zbarsky
8a0c067fff Bug 952977: More gfx::Matrix cleanup in nsDisplayTransform r=nical 2014-08-01 08:31:48 -04:00