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

875 Коммитов

Автор SHA1 Сообщение Дата
Jamie Nicol a7a276263d Bug 1200729 - Recompute FrameLayerBuilder item visibility if dirty region changes. r=mwoodrow
Make the FrameLayerBuilder remember for what region it has calculated
display item visibility, then recompute the visibility whenever the
dirty region it is passed to DrawPaintedLayer changes.

This means that the caller does not have to know the entire dirty region
that will be drawn for the transaction, but we can still optimise cases
where it knows some of the dirty region in advance.

This fixes a regression where MultiTiledContentClient's low-res display
port would not be painted if a smaller region of its high-res buffer had
already been painted that transaction, since the FrameLayerBuilder
had decided that most of the larger low-res region was invisible.
2015-09-15 14:41:42 +01: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
Hiroyuki Ikezoe 41ec8da9f3 Bug 1151694 - Part 3: Manage mIsRunningOnCompositor flags for each properties respectively. r=bbirtles
--HG--
extra : rebase_source : d189d779ef14e8ae5497b03b01e3d4d994803fe1
2015-09-16 16:05:00 +02: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
Botond Ballo 8c93a415b6 Bug 1166301 - If APZ is enabled, clip fixed background images at the layer level rather than the display item level. r=mattwoodrow
This ensures that regions beyond the clip are painted, and async scrolling can reveal them by moving the layer-level clip.

This patch also ensures that we continue creating mask layers for fixed background layers correctly, where appropriate.

--HG--
extra : rebase_source : e0759006463e7d69cd1d916c8e759b35d300a7c7
extra : source : 09922c7c550760f9b61d8ef523281234805af218
2015-09-11 20:00:22 -04:00
Botond Ballo 66ecf4ccdd Bug 1166301 - Annotate fixed background layers with scroll metadata for the animated geometry root of the frame they're the background of. r=mattwoodrow
--HG--
extra : rebase_source : 0d62774bfb83070d0503ff5156bb93adc196a7de
extra : source : e90b6ffe53f1b093ca92ca39df32d873d3144704
2015-08-26 18:16:51 -04:00
Matt Woodrow 3a98f89348 Bug 1204597 - Use Move constructor for opaque region in FrameLayerBuilder instead of copying. r=jrmuizel
--HG--
extra : rebase_source : 2eb322beabf6557fdff509c8d8212762a9835dfe
2015-09-14 14:18:20 -04:00
Wes Kocher bbe3773db1 Backed out changeset 5b9886673514 (bug 1201541) for android reftest orange CLOSED TREE 2015-09-11 11:21:22 -07:00
James Willcox ba7c467b33 Bug 1201541 - Use SingleTiledContentClient for non-scrollable layers on Android r=mattwoodrow 2015-09-11 09:09:44 -05:00
Markus Stange 04c661f71d Bug 1181135 - Copy DisplayItemClips in order to avoid dangling pointers. r=tn
--HG--
extra : rebase_source : 8d0a077fb38d1c19cf1ef868403c6b3a3735346e
2015-09-09 19:08:03 -04:00
Botond Ballo 9ae3f98fd5 Bug 1201548 - When testing whether the visible rect intersects event regions in FindPaintedLayerFor(), only use the bounds of the event regions. r=mstange
This is done for performance reasons, as the event regions can be complex.

--HG--
extra : rebase_source : 864ff7cf6f7286271c8f32b50b2166feefecc011
extra : source : 0de9f9d0f8c1dd915e0b04225450ad09552a139e
2015-09-04 12:14:28 -04:00
Botond Ballo 39a631813d Bug 1200158 - Avoid expensive computations involving the maybe-hit region in hot code paths. r=mstange
--HG--
extra : source : 29aadb4e6ccf820fc2289db46f5e1671f4f74f3e
2015-08-31 19:53:34 -04:00
Botond Ballo b2856971b2 Bug 1200158 - Define PaintedLayerData::AccumulateEventRegions() out of line. r=mstange
--HG--
extra : source : aee33a58cf9ad30d9723b33582748af2690a4050
2015-08-31 19:59:22 -04:00
Victor Porof c78fbabbef Bug 1195838 - Maintain all the TimelineMarker subclasses in a single place, r=tromey 2015-08-31 14:56:37 +02:00
Victor Porof 4ce24e2588 Bug 1194707 - Remove the docshell param from TimelineMarker constructors, r=tromey 2015-08-31 11:42:35 +02:00
Botond Ballo 7a4a9eded6 Bug 1177018 - When finding a painted layer for a display item, include event regions in a layer's visible region. r=tn
--HG--
extra : rebase_source : 879b4d19ad4ffa08a5a57d35063b57098a03d1b6
extra : source : 0d93e3adfeeaa3360b236157d0747e1570135c64
2015-06-26 17:26:06 -04:00
Phil Ringnalda 02603b885d Back out 7 changesets (bug 1177018) for debug b2g assertion failures in test_bug982141.html
CLOSED TREE

Backed out changeset 40fdd735520d (bug 1177018)
Backed out changeset a82c39bb97ab (bug 1177018)
Backed out changeset dbb14a5cd2cd (bug 1177018)
Backed out changeset 112ec6bdaf4e (bug 1177018)
Backed out changeset 486f9a11fcbd (bug 1177018)
Backed out changeset 8e54cc5e6901 (bug 1177018)
Backed out changeset c2a30b4f3a7c (bug 1177018)
2015-08-26 21:38:05 -07:00
Botond Ballo 0885317d46 Bug 1177018 - When finding a painted layer for a display item, include event regions in a layer's visible region. r=tn
--HG--
extra : rebase_source : 797a7d5274cee6280a6eced86784e40454f44924
extra : source : 0d93e3adfeeaa3360b236157d0747e1570135c64
2015-06-26 17:26:06 -04:00
Robert O'Callahan c00a9e21a0 Bug 1059519. Relax assertion. r=mstange
--HG--
extra : commitid : 3juxKjI2Tv4
extra : rebase_source : 440f5dfacd13757cbd83931b7f059ee9c4edd827
2015-08-19 13:23:06 +12:00
Jamie Nicol 3e0de12cde Bug 1187619 - Only optmimize FrameLayerBuilder visibility calculations if correct. r=mattwoodrow
Bug 1176077 introduced the parameter aDirtyRegion to
DrawPaintedLayerCallback, which allows the callback to recompute the
visibility of all items to be painted in that transaction in a single
go. However, this parameter can not always be determined correctly
when using RotatedBuffer, and using an incorrect value was causing
graphical glitches.

Make the parameter optional, and on null values do not perform the
optimisation. Pass null from ClientPaintedLayer, which uses
RotatedBuffer and was causing problems, but continue to pass the
correct value from other Layer implementations. This optimisation was
most important for tiled layers using progressive paint, so this is
okay.
2015-08-03 04:07:00 -04:00
Matt Woodrow 71c406b6e9 Bug 1180326 - Part 6: Use SingleTiledContentClient for non-scrollable layers on b2g and OSX. r=jrmuizel
--HG--
extra : rebase_source : 82e5be89cedaac9c4203886b595da960bfad1f58
2015-07-29 12:03:01 -04:00
Victor Porof 8f1e61795d Bug 1184376 - Remove nsDocShell::AddProfileTimelineMarker, r=smaug 2015-07-18 09:35:59 -04:00
Jamie Nicol 5044fbd3c9 Bug 1176077 - Only recompute PaintedLayer item visibility when display list has changed. r=mattwoodrow
FrameLayerManager::RecomputeItemsVisibility() was being called on every
call to FrameLayerBuilder::DrawPaintedLayer(), each time for the region
to be painted by that paint call. This is inefficient when progressive
paint is enabled. Change it so that we compute the visibility of all the
layer's items within the total region to be painted, but only on the
first paint after the display list has been modified.
2015-07-21 09:19:25 +01:00
Ting-Yu Lin dfa97f6d66 Bug 1182963 - Use nsTHashTable::Iterator in FrameLayerBuilder. r=roc,njn
Get rid of EnumerateEntries by inlining those enumerate functions. Also
move gPaintedDisplayItemLayerUserData, gColorLayerUserData, etc. to the
front of the file since LayerManagerData::Dump() references to one of
them.

--HG--
extra : commitid : K1KepLsdyS4
extra : rebase_source : 97543d7cb9c7333ae2b5b5a298afdd22f5fa249c
2015-07-15 17:05:06 +08:00
Michael Layzell 155069d388 Bug 1073219 - Use a simple RAII struct instead of nsRefPtr to manage mLayerCount for MaskLayerImageKey. r=dholbert 2015-07-12 21:09:57 -07:00
Markus Stange 69ce2d9220 Bug 1178745 - Respect scroll clips when flattening. r=roc
--HG--
extra : rebase_source : 40f024056c16347cf5796db799968ae35f9d6044
extra : histedit_source : e899d8fdd75fbe0833bf7c543fcd5bea011d9315
2015-07-02 17:04:14 -04:00
Markus Stange f6421a8bb7 Bug 1178745 - Move some code around. r=roc
--HG--
extra : rebase_source : 6f8745922fcaeeafdae0567ebf09ba4c6e94e254
extra : histedit_source : 100bb968f25534e0db9592f93b7fc593cfe9ccb2
2015-07-02 17:00:17 -04:00
Markus Stange 472ba62ba8 Bug 990974 - Treat carets in async scrolled scrollframes differently from non-caret content. r=roc
This makes those caret display items not share a layer with any other display items, and uses a different async scroll frame clip for that layer.

--HG--
extra : rebase_source : f01cd0343ea3e672b1d696a4e4e8924d070cc23d
extra : histedit_source : 14cefb8c1c9834d02a095e52e463add8a56a8625
2015-07-02 15:02:34 -04:00
Markus Stange f259a1f135 Bug 990974 - Give PaintedLayerDataTree a generic way of restricting a PaintedLayer to exactly one display item. r=roc
--HG--
extra : rebase_source : fd6c029196ccbc5d1c59f327a17b637e12e47076
extra : histedit_source : 1d145fcd038e769dfe1498fe5e4c13247d409ef4
2015-07-01 22:08:20 -04:00
Markus Stange 77820dcba1 Bug 990974 - Add a flag to ComputeFrameMetrics so that a different clip can be returned for the caret and non-caret content. r=roc
--HG--
extra : rebase_source : a00358c3191c49c21ad2ad9b1e1a8d5d47285672
extra : histedit_source : 64aafcbf2d8fa32610fe8a30c916dbbe1b4f9283
2015-07-02 13:42:34 -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
David Anderson 16262c38a8 Bug 1148582 - Recycle mask layers attached to FrameMetrics. r=mattwoodrow
--HG--
extra : rebase_source : f74699e5c40598ca8b7aa0163897c74524e32419
extra : source : be49031960aa935f2f0d6fa594251c9e1fa12536
2015-06-21 12:28:10 -04:00
David Anderson 55a0f8ee25 Bug 1148582 - Add mask layers to FrameMetrics for ancestor scroll frame clips. r=mattwoodrow
--HG--
extra : rebase_source : 9bf7a73b14e40972b3a5824b2f1344b7770ab789
extra : source : 745366787bcae737c0aec908554db2a3ec288908
2015-06-21 12:27:31 -04:00
David Anderson 506195b315 Bug 1148582 - Factor mask layer creation out of ContainerState::SetupMaskLayer. r=mstange
--HG--
extra : rebase_source : 22768360af5dd3befaee32dd2b27bd5168b9ac04
extra : source : b40d5e2bc9d77bc84edf31ca0faba8adee9b07c2
2015-06-20 19:47:57 -04:00
Markus Stange f1b62506d9 Back out bug 1148582 for static analysis bustage. 2015-07-01 01:20:59 -04:00
David Anderson 833a90534d Bug 1148582 - Recycle mask layers attached to FrameMetrics. r=mattwoodrow 2015-06-21 12:28:10 -04:00
David Anderson c29b4c6dfa Bug 1148582 - Add mask layers to FrameMetrics for ancestor scroll frame clips. r=mattwoodrow 2015-06-21 12:27:31 -04:00
David Anderson 82c9790c78 Bug 1148582 - Factor mask layer creation out of ContainerState::SetupMaskLayer. r=mstange 2015-06-20 19:47:57 -04:00
L. David Baron e9742befac Bug 1122526 patch 4 - Use the nearest widget size as the maximum size for an animated layer, in case it's a popup larger than the toplevel window. r=roc 2015-06-29 16:46:17 -07:00
L. David Baron 0f46845bc4 Bug 1122526 patch 2 - Only do OMTA transform scale choosing for layers that are for transform display items. r=roc
This fixes the scaling choice when we have more than one layer for the
same element, e.g., because it animates both transform and opacity.
2015-06-29 16:46:16 -07:00
L. David Baron 1f96bf7014 Bug 1122526 patch 1 - Factor in the scale from ancestors when computing scale for layer with OMT animation of transform. r=roc 2015-06-29 16:46:16 -07:00
Lee Salzman 4142e9be13 Bug 633097 - Fix jittering animated text by disallowing flattening into a container layer that has animated text. r=mwoodrow 2015-06-26 18:13:50 -04:00
Markus Stange 6707592189 Bug 1165185 - Nudge layer prescale to integers. r=roc
--HG--
extra : rebase_source : 836ad8694f4514f8ddbc35447577d09129612de0
2015-06-16 17:02:58 -04:00
Markus Stange 8f3e1c59d9 Bug 1165185 - Try to avoid invalidations when scrolling transformed elements. r=roc
--HG--
extra : rebase_source : e044d64a50c6afff9e518cf53c51aa9658f3b41e
2015-06-15 19:20:59 -04:00
Ryan VanderMeulen df9a24ed23 Backed out changeset cc153acac9df (bug 1169502) for test_leaf_layers_partition_browser_window.xul permafail on Win7/8 debug.
CLOSED TREE

--HG--
extra : amend_source : e1ca077f359673986b94b71f6e1e4e5da767c2e8
2015-06-16 13:41:59 -04:00
Markus Stange 1a786425ca Bug 1169502 - Simplify visible regions to tiles, not to a number of rects. r=jrmuizel, r=roc
--HG--
extra : rebase_source : affd6655b864223cb1bb2ffe6e47a4759fd6b411
2015-06-10 15:54:20 -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 422d7967dc Fix PostprocessRetainedLayers to not test occlusion with asynchronous clips. (bug 1148582 part 5, r=tn) 2015-06-02 16:34:28 -07:00
Markus Stange bd011ed848 Bug 1164227 - Don't allow invalid region simplification to invalidate unchanged scrolled contents. r=roc
--HG--
extra : amend_source : 54ccbcac64986195c060e3fddd835dd5c01b66eb
2015-05-28 17:39:34 -04:00
Birunthan Mohanathas 180b572edb Bug 968520 - Add mozilla::fallible to FallibleTArray::AppendElement calls. r=froydnj 2015-05-28 11:07:44 -07: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
David Anderson e5acec7e56 Use Maybe to communicate the APZ scrollframe clip. (bug 1148582 part 1, r=mstange) 2015-05-26 12:39:29 -07:00
Markus Stange a2f4070bfb Bug 1152461 - Don't use tiled layers for overflow:hidden scroll frames. r=tn
--HG--
extra : rebase_source : 2aec6f7a4ee340dc9d039cd7ad226daa9b02883b
2015-05-08 14:10:00 -04:00
Seth Fowler c5b3231fc4 Bug 1163878 (Followup) - Fix a warning about implicit conversion of nullptr to bool in FrameLayerBuilder on a CLOSED TREE. r=me
--HG--
extra : amend_source : 0f707d08439edf2f1e8e229d4cec501964c12f65
2015-05-13 14:23:52 -07:00
Seth Fowler bd70e1593e Bug 1163878 (Part 2) - Use IsImageContainerAvailable() when making layerization decisions and only call GetImageContainer() if we layerize. r=tn 2015-05-13 00:23:46 -07:00
Ehsan Akhgari d3ab4e755b Bug 1163397 - Convert PaintedLayerData::mLog to an nsCString in order to make it possible to safely store PaintedLayerData inside nsTArrays; r=roc 2015-05-12 10:12:01 -04:00
Kartikaya Gupta bdb998b9d4 Bug 1022080 - Split out the paint item dumping from the rest of the paint dumping. r=mattwoodrow 2015-05-12 09:16:54 -04:00
Morris Tseng a832ce6127 Bug 1161662 - Exclude post scale from layer.GetTransform(). r=roc
--HG--
extra : rebase_source : 7c6d495d597adf9e74963bb2799dc28230d4c649
2015-05-07 01:18:00 +02: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
Morris Tseng 42696f4b94 Bug 1156636 - Remove post scale multiplication for event regions. r=roc 2015-04-28 01:46:00 +02:00
Markus Stange e72a2b1b6a Bug 1147194 - Do scroll info layer hoisting when building the display list. r=tn
--HG--
extra : amend_source : 35ca22eae3b3088eaae5143af8c47177bf601800
2015-04-30 14:54:48 -04:00
Markus Stange c8321737e0 Bug 1141089 - Add more asserts for DisplayItemData, trying to catch whether we're accessing deleted instances. r=roc 2015-04-21 14:13:54 -04:00
Nicolas Silva cfff5e52c5 Bug 1155621 - Make nsIntRect and nsIntPoint typedefs of mozilla::gfx::IntRect and mozilla::gfx::IntPoint. r=Bas 2015-04-21 17:04:57 +02:00
Timothy Nikkel c92044ef7a Bug 1156598. Remove old, dead scroll layer item code. r=mstange 2015-04-20 22:48:10 -05:00
Morris Tseng 8b1d489941 Bug 1147279 - Get correct translation when layer optimize away. r=roc
--HG--
extra : rebase_source : e9e56fe3a0f1d8a88de1e0b40151ed2e452e4ff9
2015-04-14 22:39:00 +02:00
Ying-Ruei Liang (KK) f17daf9c2a Bug 1143522 - Convert Layer::mClipRect to ParentLayerIntRect. r=botond
Change interface of getter/setter for mClipRect,
also necessary modification for codes that use these resources.

* * *
Bundle mUseClipRect and mClipRect as Maybe<ParentLayerIntRect> mClipRect

--HG--
extra : rebase_source : ca0c60404a28b7418df88104b863760033289910
2015-04-11 22:03:00 -04:00
Markus Stange 266307725b Bug 1141089 - Check that we're unsetting sDestroyedFrame correctly. r=roc
--HG--
extra : rebase_source : 7e88934f0bfe1753423925d96917db1ff85d8e7c
2015-04-10 17:34:28 -04:00
Markus Stange 591611146d Bug 1141089 - Turn these two assertions into release assertions. r=roc
--HG--
extra : rebase_source : dbdaa24b17ce6c6b6746233cbd7c1c3fe3efa03d
2015-04-10 17:34:04 -04:00
Markus Stange 1cc08a8e75 Bug 1141089 - Use const nsTArray* in all the places where we don't change the array's contents. r=roc
--HG--
extra : rebase_source : 4fa139270347b9fa031c2d63c423b333b19f2ff7
2015-04-10 17:42:42 -04:00
Markus Stange d40c904a58 Bug 1141089 - Add a few more MOZ_RELEASE_ASSERT(mLayer) checks, just for fun. r=roc
--HG--
extra : rebase_source : 8f8c75dd60f08aac6beaea088c3bd9210898d799
2015-04-10 17:30:09 -04:00
Markus Stange f3f481c41f Bug 1141089 - Remove unused DisplayItemData copy constructor. r=roc
--HG--
extra : rebase_source : 50f0d21ccd6fdac5769caeebf8ec95a2d7174d2d
2015-04-10 17:23:22 -04:00
Markus Stange af62baff7f Bug 1141089 - Initialize DisplayItemData with a non-null mLayer, so that mLayer is non-null throughout the object's whole lifetime. r=roc
--HG--
extra : rebase_source : 5d924989657f4356e25f02be3b2df725f9ff39af
2015-04-10 17:11:04 -04:00
Seth Fowler ea22de2fd8 Bug 1150774 (Part 2) - Use the correct units in nsDisplayImageContainer::ConfigureLayer and related code. r=botond 2015-04-07 18:55:28 -07:00
Markus Stange f7f6e94e3e Bug 1151306 - Add a missing check during background color pulling. r=roc
--HG--
extra : rebase_source : cf647fb460c0f8e9f83e540e27055ef563af0d50
2015-04-05 14:05:44 -04:00
Markus Stange 192ff01616 Bug 1148855 - Rework how display items are assigned to PaintedLayers and make it work the same way with and without APZ. r=roc
--HG--
extra : rebase_source : e6f246f2ee67e4b3478f5687774fb257f40dc5b4
2015-04-02 14:22:40 -04:00
Markus Stange e2ab5a8c41 Bug 1148855 - Intermediate state that unifies APZ and non-APZ layerization behavior somewhat.
--HG--
extra : rebase_source : a5ec7aab3b588c6c5967cfbf1cebc607f6e24953
2015-04-01 17:31:56 -04:00
Markus Stange cd1c8ccd7f Bug 1148855 - Mark some ContainerState methods as const. r=roc
--HG--
extra : rebase_source : a25baee09a55ab02032c37bdf2ddfc005313203a
2015-03-25 18:08:56 -04:00
Nicolas Silva e3eaf89e3f Bug 1132854 - Make nsIntSize a typedef of gfx::IntSize. r=Bas, roc 2015-03-29 16:59:08 +02:00
Tom Tromey 918392e548 Bug 1144820 - Use rvalue reference in AddProfileTimelineMarker. r=smaug 2015-03-27 08:41:00 -04:00
Kearwood (Kip) Gilbert f97c17593c Bug 1035611 - Part 1: Updated Matrix4x4::ProjectRectBounds to properly handle infinite values when untransformed rects cross the w=0 plane. r=mattwoodrow
- Added specialized rect clipping functionality to Matrix4x4::ProjectRectBounds
  so we don't have to return infinite values when rects cross the w=0 plane
  in homogenous coordinate space.
- Updated callsites of ProjectRectBounds to pass a clipping rect that is
  appropriate for the units that are returned.

--HG--
extra : rebase_source : 9b1088a77e88259e2c32379ade23fbc2236596fb
2015-03-13 16:42:00 -04:00
Kushan Joshi 98880a696a Bug 1101627 - Add touch action regions. r=kats 2015-03-24 09:13:24 -04:00
Ehsan Akhgari 883849ee32 Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
This patch was automatically generated using the following script:

function convert() {
echo "Converting $1 to $2..."
find . \
       ! -wholename "*/.git*" \
       ! -wholename "obj-ff-dbg*" \
         -type f \
      \( -iname "*.cpp" \
         -o -iname "*.h" \
         -o -iname "*.c" \
         -o -iname "*.cc" \
         -o -iname "*.idl" \
         -o -iname "*.ipdl" \
         -o -iname "*.ipdlh" \
         -o -iname "*.mm" \) | \
    xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}

convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Markus Stange 0605c44412 Bug 1144307 - Destroy scroll info layer items when we're done with them. r=tn 2015-03-17 22:04:33 -04:00
Markus Stange 4fe0677dda Bug 1141595 - Make scroll info display item hoisting work after bug 913443. r=tn
--HG--
extra : rebase_source : 7e13f848ec50f5c6a91876dc1e618d0fe31ffab2
2015-03-16 18:37:04 -04:00
Markus Stange 235900b2b8 Bug 1141089 - Add some release assertions to gather more data. r=roc
--HG--
extra : rebase_source : 1575191a4bf2ebebb3e15fc82ac3c2addffa67d6
2015-03-16 16:04:00 -04:00
Botond Ballo 2eb9751320 Bug 1139675 - Simplify the APIs for getting and setting the pres shell resolution. r=mstange,mattwoodrow
--HG--
extra : rebase_source : 18444e5f9304bbf9c2c14903be6aa4ebf8a08af3
extra : source : 60fe56e752d984a8d074af1bec1dfcd40a41e5f6
2015-03-06 18:07:59 -05:00
Jeff Muizelaar 735ab827c5 Bug 1143789. Remove unnecessary cast to BasicLayerManager. r=mstange
--HG--
extra : rebase_source : ca8d18b5aae563a74f913f5b112c6e7c2bcea8f6
2015-03-16 14:19:32 -04:00
Markus Stange dee805a312 Bug 1142211 - Add layerization testing mechanisms to reftest. r=roc
This adds support for class="reftest-opaque-layer" and for
reftest-assigned-layer="some-layer-name" to the reftest harness.

From reftest/README.txt:

Opaque Layer Tests: class="reftest-opaque-layer"
================================================

If an element should be assigned to a PaintedLayer that's opaque, set the class
"reftest-opaque-layer" on it. This checks whether the layer is opaque during
the last paint of the test, and it works whether your test is an invalidation
test or not. In order to pass the test, the element has to have a primary
frame, and that frame's display items must all be assigned to a single painted
layer and no other layers, so it can't be used on elements that create stacking
contexts (active or inactive).

Layerization Tests: reftest-assigned-layer="layer-name"
=======================================================

If two elements should be assigned to the same PaintedLayer, choose any string
value as the layer name and set the attribute reftest-assigned-layer="yourname"
on both elements. Reftest will check whether all elements with the same
reftest-assigned-layer value share the same layer. It will also test whether
elements with different reftest-assigned-layer values are assigned to different
layers.
The same restrictions as with class="reftest-opaque-layer" apply: All elements
must have a primary frame, and that frame's display items must all be assigned
to the same PaintedLayer and no other layers. If these requirements are not
met, the test will fail.
2015-03-11 14:51:59 -04:00
Markus Stange 59f454bb84 Bug 1141281 - Don't put empty Info: lines into the layers dump. r=BenWa 2015-03-09 00:41:11 -04:00
Markus Stange 0a619bf51b Bug 1141408 - Don't include the display item's memory address in the profile label. r=BenWa 2015-03-07 18:40:03 -05:00
Milan Sreckovic 76dd5cd892 Bug 1140113 - Catch direct (and some indirect) callers of CreateDrawTarget* and deal with failure. r=mstange 2015-03-09 15:48:20 -04:00
Markus Stange 094adf661f Bug 913443 - Remove duplicated argument variables. r=roc
--HG--
extra : rebase_source : 6d0b1d34c6924a332cee831b92f083c0669a7e52
2015-03-04 12:08:28 -05:00
Markus Stange 27e19b0136 Bug 913443 - Recycle PaintedLayers as soon as possible. r=roc
This means layers are assigned bottom-to-top.

--HG--
extra : rebase_source : 9754de60da630de59d83c2fa9b01d48c0ff13eb2
2015-03-04 00:18:47 -05:00
Markus Stange d2e50e0e0b Bug 913443 - When determining the layer to recycle, only consider layers that have display items in common with the layer we need. r=roc
--HG--
extra : rebase_source : de75c55e2937363843def273206310a786232582
2015-03-04 00:21:00 -05:00
Markus Stange fcc59b48af Bug 913443 - Delay PaintedLayer recycling until PopPaintedLayerData(). r=roc
Once we're smarter about recycling the right layer, we can't decide on a layer
as soon as we encounter its first display item. We might need to have to look
at all of the assigned display items. This change makes that requirement
explicit.

--HG--
extra : rebase_source : 743deff9257c2da3b87d7f929465e09ea33859c0
2015-03-03 21:32:08 -05:00
Markus Stange ea7ef16627 Bug 913443 - Add a display item buffer for PaintedLayerData so that we can assign items without needing to know the actual Layer. r=roc
--HG--
extra : rebase_source : f6a699f1cd57b8980a84e91870a28247d1f07ea9
2015-03-04 00:21:55 -05:00
Markus Stange 4d0928d52d Bug 913443 - Change the order of these calls. r=roc
The calls above don't need access to the PaintedLayer, but the ones this change
is moving down do. This change just makes it more obvious that we're free to
move the calls to an even later point.

--HG--
extra : rebase_source : e63bbc37a634e84e28a86e765f50927a63fbce2f
2015-03-03 17:21:42 -05:00
Markus Stange 9fcb811dd6 Bug 913443 - Move IsWidgetLayerManager() check out of UpdateCommonClipCount. r=roc
UpdateCommonClipCount accesses the PaintedLayerData's mLayer field in order to
get the layer manager. We want to be able to call UpdateCommonClipCount when
mLayer is null.

--HG--
extra : rebase_source : d2964e3e390e0cd564469dee2bf691e76be07cf2
2015-03-03 17:00:55 -05:00
Markus Stange 253c09b332 Bug 913443 - Remove unused aItemVisibleRect argument. r=roc
--HG--
extra : rebase_source : 57c555b1e7c3aafa0ea1659cdb00b4daba0e1723
2015-03-03 16:57:30 -05:00