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

401 Коммитов

Автор SHA1 Сообщение Дата
Timothy Nikkel 30c667bcf3 Bug 959847. Part 4. Call RecordFrameMetrics for subdocument layers. r=roc
We do this by creating a new display item type: nsDisplaySubDocument.

Original patch by Kartikaya Gupta <kgupta@mozilla.com>.
2014-02-27 16:01:53 -06:00
Matt Woodrow 6fa6614065 Bug 968555 - Don't create a stacking context for backface-visibility:hidden. r=dbaron 2014-02-27 15:57:45 +13:00
Timothy Nikkel 6fb059abcc Bug 976370. Move overlay scrollbar display items above scroll layer items for the same scroll frame. r=roc
This has two desirable side effects. The first and more important is that it prevents a scrollbar item from sitting between scroll layer items and preventing them from merging into one and thus preventing the creation of an async scrollable layer. The second is that scrollbars should be on top of the content they are scrolling in general, and this will make that happen in more cases.
2014-02-24 23:42:11 -06:00
Arnaud Sourioux e53280194e Bug 974687 - Part 2: Fix more than 80cols issues caused by MOZ_OVERRIDE annotation. r=dholbert 2014-02-24 09:41:56 -05:00
Arnaud Sourioux a127266e74 Bug 974687 - Part 1: Add about 300 MOZ_OVERRIDE in layout/. r=dholbert 2014-02-24 09:41:56 -05:00
Robert O'Callahan 0c22df2d8c Bug 969354. Track which ThebesLayers contain items which returned true from ShouldFixToViewport, and make sure each such item gets its own ThebesLayer. r=mattwoodrow
--HG--
extra : rebase_source : 629f91869bd4c4ad2e4e17c40c5fe0311532fb67
2014-02-21 14:11:17 +13:00
Robert O'Callahan 648ec3e0c8 Backing out patches for bug 972713 (changesets b5486b9ed88c and 7829e535cdd7) due to Windows 8 test failure. 2014-02-18 22:48:18 +13:00
Robert O'Callahan 7b54370bdc Bug 972713. Part 1: Make all callers of GetAnimatedGeometryRootFor pass a display item so we can stop searching when we reach the item's reference frame. r=mattwoodrow
This guarantees that the animated geometry root for an item is always in the
same display list coordinate system as the frame.

--HG--
extra : rebase_source : 249fd847a2c08f8d0846d698cce9dd4681e38a98
2014-02-18 14:26:57 +13:00
Timothy Nikkel 6b6d8746ee Bug 966510. Scroll frame display items are never opaque. r=roc
The content they contain may be moved, so any region that is opaquely covered at paint time may not be later.

This problem was made worse by bug 951467 because it made the bounds of the scroll layer item be the bounds of the scrollport is all cases (making it return wrong results even at paint time), instead of the bounds of the contained content (meaning the results would only be wrong after async scroll).
2014-02-10 04:56:30 -06:00
Timothy Nikkel a3873c8033 Bug 962791. Fail to create a scrollable layer if it would cause incorrect clipping of absolutely position items. r=roc
We incorrectly wrap abs pos items, but not wrapping them leads to too many sites failing to create scrollable layers that we can't do that. So instead just fix the clipping issue for now until a more robust solution can be developed.
2014-02-03 23:16:20 -06:00
Matt Woodrow ce740641cb Bug 952011 - Use Untransform API to safetly untransform points when we have a projective matrix. r=roc 2014-02-04 12:25:23 +13:00
Matt Woodrow 5ead3a7c0c Bug 952011 - Remove some nsLayoutUtils transform functions that are no longer needed. r=roc 2014-02-04 12:25:22 +13:00
Robert O'Callahan 7a45ea7b6c Bug 946502. Part 4: Remove mStickyPosFrame. r=mattwoodrow
--HG--
extra : rebase_source : 71bcbd246cf6806196a3e64d32fdde169bddfa07
2014-01-04 18:14:27 +13:00
Robert O'Callahan 01f6728b16 Bug 946502. Part 2: Remove unimplemented, unused function. r=mattwoodrow
--HG--
extra : rebase_source : fbc4a398d1554ffc668a18bd667b6b90fdace15f
2013-12-18 00:19:31 +13:00
Matt Woodrow a3449e66b6 Bug 946952 - Run a 'compressed' paint up to 1 second after skipping the ColorLayer optimization. r=roc 2014-01-30 18:41:17 +13:00
Timothy Nikkel e64b543f02 Bug 962505. Put the scroll frame and the scrolled frame in the display list dump for scroll layer items. r=mats 2014-01-26 16:09:06 -06:00
Timothy Nikkel 89b437d807 Bug 962505. When dumping display lists print the entire line at once so it works better with Fennec and b2g. r=mats 2014-01-26 16:07:08 -06:00
Timothy Nikkel 382342f71e Bug 931028. Remove app units per pixel argument from nsDisplayTransform::GetTransform. r=mattwoodrow
All callers were using, and should only be using, the same value.
2014-01-20 00:56:55 -06:00
Robert O'Callahan 6947f1f4f7 Bug 945203. Part 4: Add nsDisplayEventRegions and build it when painting. r=mats
--HG--
extra : rebase_source : 26b71b6a18681e8fc48c6082c8df6263c1bd3739
2013-12-17 00:22:11 +13:00
Robert O'Callahan 2f559956a1 Bug 950427. Don't descend into subdocuments at all in elementFromPoint. r=mats
--HG--
extra : rebase_source : 59ce23c3ab81afc624921e4543fe48dd7ae47ce2
2013-12-18 18:37:24 +13:00
Phil Ringnalda d12a89d025 Back out f55504b0184f (bug 950427) for mochitest-4 and mochitest-oth bustage (at least)
CLOSED TREE
2013-12-17 23:22:20 -08:00
Robert O'Callahan 4e5e1fbf10 Bug 950427. Don't descend into subdocuments at all in elementFromPoint. r=mats 2013-12-18 18:37:24 +13:00
Timothy Nikkel 9e366145a2 Bug 951467. Give scroll layer items the bounds of the scroll port, not the bounds of the display port. r=roc
The bounds of the scroll port match what will actually be drawn on the screen.

The bounds of the contained content (sized to the display port) are still accessible via mList.GetBounds, and similarly the visible rect of the contained content is mList.GetVisibleRect. The external bounds/visible rect are GetBounds and GetVisibleRect on the nsDisplayScrollLayer object itself.

We implement nsDisplayScrollInfoLayer::GetBounds solely so that it continues to return an empty rect because we expect active empty layers to have empty visible rects.

We no longer have to set our mVisibleRect in nsDisplayScrollLayer::ComputeVisibility because nsDisplayList::ComputeVisibilityForSublist now does it correctly for us (like other items).

We also have to teach ContainerState::ProcessDisplayItems to not set the visible region for scroll layers because it has the external visible region, not the larger internal display port sized visible region. We instead let BuildContainerLayer set the visible region of the layer.
2013-12-17 23:02:56 -06:00
Chris Lord fd192955fd Bug 936500 - Always build layers for nsDisplayScrollLayer. r=tn
APZC information is associated with layers, and having those layers suddenly
disappear because they became occluded, or their displayports are off-screen
has undesired effects.
2013-12-13 19:37:34 +00:00
Cameron McCormack ae655160b2 Bug 773296 - Part 16: Add a ref-counted list nsCSSValue unit and use it for tranform lists; hold a strong reference to one on nsStyleDisplay. r=dbaron
This adds a new eCSSUnit_SharedList type for nsCSSValue, which is a
reference counted object that contains an nsCSSValueList.  We need this
so that nsStyleDisplay::mSpecifiedTransform can hold a strong reference
to a specified transform list value.  When 'transform' is specified
using a variable reference, the resulting nsCSSValue does not stick
around in the Declaration object, so we wouldn't be guaranteed that
it lives long enough for nsStyleDisplay to keep referencing it.
2013-12-12 13:09:44 +11:00
Kartikaya Gupta 2b78585247 Bug 814435 - Annotate layers for scrollbars as such. r=tn, BenWa 2013-12-09 22:14:53 -05:00
Nicholas Cameron e3cb6e45db Bug 943110. Don't use fputc in display list/layers dumps. r=BenWa 2013-11-26 15:07:41 +13:00
Matt Woodrow 146de18587 Bug 941559 - Invalidate nsDislaySolidColor display items when their color changes. r=roc 2013-11-25 14:59:00 +13:00
Benoit Girard a735170d84 Bug 942483 - Port paint-dumping to android/b2g. r=gal 2013-11-23 17:44:18 -05:00
Matt Woodrow dc67315f3f Bug 939607 - Part 3: Try fold nsDisplayOpacity items opacity value into their children. r=roc 2013-11-18 22:32:09 +13:00
Matt Woodrow 4fa53e45d1 Bug 939607 - Part 2: Add an API for storing an opacity on a display item, and implement it for nsDisplayBoxShadowOuter. r=roc 2013-11-18 22:32:09 +13:00
Robert O'Callahan 01aedc2359 Bug 919144. Part 10: Fold nsDisplayFixedPosition into nsDisplayStickyPosition. r=mattwoodrow
--HG--
extra : rebase_source : 597e2a178762509421a32d53be6242cd588c7995
2013-09-27 18:02:03 +12:00
Robert O'Callahan f994dec6df Bug 919144. Part 9: Move FrameLayerBuilder::ContainerParameters to mozilla::ContainerLayerParameters. r=mattwoodrow
This is to avoid having to #include FrameLayerBuilder.h in nsLayoutUtils.h in the next patch.

--HG--
extra : rebase_source : 5f3c3ae2785267949766ae094414781133d4ce44
2013-09-27 18:01:16 +12:00
Robert O'Callahan 94d3e5ce37 Bug 919144. Part 8: Delete lots of code that's no longer needed. r=mattwoodrow
I never liked nsDisplayListBuilder::IsFixedItem anyway, its behavior and
naming was confusing. Also, it assumed there's only one viewport displayport,
on the rootmost document, and that's a bad assumption in general.
We're able to remove calls to ForceVisiblityForFixedItem because FrameLayerBuilder
is now responsible for inflating the visible region of the fixed-pos layers.

--HG--
extra : rebase_source : e93d8e25d2f5c7f3e167e47203d961e6b4293b81
2013-09-27 18:01:16 +12:00
Robert O'Callahan fd9ce678dc Bug 919144. Part 1: Rename identifiers from 'active scroll(ed) root' to 'animated geometry root'. r=mattwoodrow
Also sneaks in a couple of other refactorings:

--HG--
extra : rebase_source : 8b0e0729f26231d98ed069b54dd4f7c1e51b10b5
2013-09-26 09:07:26 +12:00
Robert O'Callahan 6db16af142 Backout changesets 37f9a5424227, c1578a4fc86d and a417424f9213 (for bugs 933354, 929021 and 923193 respectively) while we figure out performance regressions
--HG--
extra : rebase_source : e4a004a15c92b5a8a8b780e7da779ac86d1c29be
2013-11-11 15:23:56 +13:00
Robert O'Callahan 6331fbf62b Bug 933354. Avoid calling GetDeltaToPerspectiveOrigin for elements that don't have perspective. r=heycam
--HG--
extra : rebase_source : 2e887376cc3529191799e6e7726c336199121e96
2013-11-05 23:03:38 -08:00
Kartikaya Gupta 5b8181c580 Bug 732971 - Create a new layer type for subdocuments with a resolution. r=tn
The new nsDisplayResolution layer type is created for any subdocument whose
presShell specifies a non-1.0 resolution. This is specifically needed for
platforms such as Android and Metro, where the presShells corresponding to
the tabs (which have non-1.0 resolutions) are not the root presShell.
2013-10-29 09:27:15 -04:00
L. David Baron 785d543a47 Bug 929673 Patch 3: Rename GetDeltaToMoz{Transform,Perspective}Origin to remove the Moz to avoid use of deprecated CSS prefixes in variable names. r=dzbarsky 2013-10-24 14:46:00 +02:00
L. David Baron 9b57c9876e Bug 929673 Patch 2: Rename mToMozOrigin to mToTransformOrigin to avoid use of deprecated CSS prefixes in variable names. r=dzbarsky 2013-10-24 14:46:00 +02:00
Robert O'Callahan 64040f3483 Bug 903340. Make nsDisplayScrollInfoLayer::ShouldFlattenAway side-effect-free. r=tn 2013-10-21 15:47:26 -07:00
Birunthan Mohanathas e3709383ec Bug 784739 - Switch from NULL to nullptr in layout/; r=ehsan
--HG--
extra : rebase_source : 0d0d9e11be9d39e4457bddd0bac7e19a50b91b0b
2013-10-08 14:47:21 -04:00
Markus Stange 52b360943f Bug 532828 - Don't invalidate the whole window on window activation/deactivation. r=roc 2013-09-27 17:24:32 +02:00
Rik Cabanier fc566afdce Bug 902525 - Part 3: create a layer for content that stores the blend mode r=roc 2013-09-14 20:40:11 -07:00
Rik Cabanier 0383e51844 Bug 902525 - Part 2: Create layers for isolated groups when blending is involved r=roc 2013-09-14 20:30:00 -07:00
Corey Ford d5b2deaa8e Bug 897105 - Part 4: Build display items and layers for sticky positioned elements. r=roc 2013-09-12 18:56:57 -07:00
Nicholas Cameron 4b66038b85 Bug 893330. Invalidate the frame area for box shadow display list items with border radius. r=mattwoodrow 2013-08-23 13:47:54 +12:00
Scott Johnson cca0d1756f Bug 746015: Add a nsDisplayGenericOverflow class that uses a frame's visual overflow rect as its bounds to correctly display column rules that lie outside of a column set frame's bounds. [r=dbaron] 2013-08-20 16:38:29 -05:00
Ehsan Akhgari 2621b190f1 Bug 906790 - Minimize layout/base #includes; r=roc 2013-08-19 18:55:18 -04:00
Benoit Girard 084ae6868c Bug 873378 - Add a limit on mobile of 20 layers per container layer. r=roc 2013-07-16 16:17:18 -04:00