Robert O'Callahan
9e3732f25f
Bug 810470. Part 4: Make only background-attachment:fixed backgrounds that have propagated to the viewport use a dedicated layer, and refactor how we do that. r=mattwoodrow
...
--HG--
extra : rebase_source : f1085ce640e50617b687f9902edd83816512f786
2012-11-09 18:14:14 -05:00
Robert O'Callahan
e8d8fdb494
Bug 810470. Part 2: Change nsDisplayBackground invalidation to store and compare the background positioning rect. r=mattwoodrow
...
--HG--
extra : rebase_source : c9141ba46d034fc496a3e9e33efce5b022bec41c
2012-11-08 10:05:32 -05:00
Robert O'Callahan
98fc051fd7
Bug 810470. Part 1: Cache nsStyleBackground pointer in nsDisplayBackground. r=mattwoodrow
...
--HG--
extra : rebase_source : a104cfa5d8c72e208866b56507c56174e14ef143
2012-11-07 23:08:40 -05:00
Matt Woodrow
4f7062809b
Bug 811831 - Don't create layers for nsDisplayOpacity items that have an opacity of 0. r=roc
2012-11-14 14:43:29 -08:00
Matt Woodrow
6a40d5fd04
Bug 808491 - Force 3d transformed layers to always be active. r=roc
2012-11-13 22:26:29 -08:00
Matt Woodrow
bcdaf96109
Bug 805197 - Compute a region in LayerTreeInvalidation. r=roc
2012-11-12 10:31:15 -08:00
L. David Baron
cbecfc83f0
Bug 809533, patch 1: Make allocation in the frame arena and the display list arena infallible. r=roc
2012-11-07 11:55:53 -08:00
Matt Woodrow
4a08c209ba
Bug 805948 - Use the local perspective value instead of trying to retrieve it from the nsStyleDisplay again. r=cjones
2012-11-07 19:56:57 +13:00
Matt Woodrow
a5b3f77bcf
Bug 798964 - Add nsDisplayBackground color and make the bounds of nsDisplayBackground match the image. r=roc
2012-10-25 18:32:25 +13:00
Robert O'Callahan
c9803f76aa
Bug 805331. Only chrome display items that are leaves should be treated as especially opaque. r=mats
2012-11-03 01:59:03 +13:00
Robert O'Callahan
c71a6efb72
Bug 805331. Part 1: Refactor nsDisplayList::GetList
...
Renames GetList to GetSameCoordinateSystemChildren, and adds an assertion
to verify that the children have the same reference frame as the parent.
Adds nsDisplayList::GetChildren to return whatever children there are.
Obsoletes nsDisplayTransform::GetStoredList.
2012-11-03 01:59:03 +13:00
Robert O'Callahan
e8d5856ece
Bug 796452. Add mozpasspointerevents attribute for IFRAMEs in chrome windows. r=mats
2012-11-02 23:42:59 +13:00
Matt Woodrow
85acfcddf9
Bug 800041 - Make nsDisplayWrapList set its own reference frame correctly, and sanity check during ComputeVisibilityForSublist. r=roc
2012-10-25 18:32:25 +13:00
Phil Ringnalda
aad1519dae
Back out c95958e3b85d and e8a8bf41e0c4 (bug 798964) for Android reftest-4 failures
2012-10-25 01:19:57 -07:00
Phil Ringnalda
29d12d417c
Back out 8bffa268afd8 (bug 800041) for reftest assertions in 745934-1.html
2012-10-24 23:49:39 -07:00
Matt Woodrow
df721374f4
Bug 800041 - Make nsDisplayWrapList set its own reference frame correctly, and sanity check during ComputeVisibilityForSublist. r=roc
2012-10-25 18:32:25 +13:00
Matt Woodrow
19592164ef
Bug 798964 - Add nsDisplayBackground color and make the bounds of nsDisplayBackground match the image. r=roc
2012-10-25 18:32:25 +13:00
Matt Woodrow
8e05c0f895
Bug 800041 - Set the correct reference frame for nsDisplayScrollLayer when the frame is transformed. r=roc
2012-10-25 12:04:41 +13:00
Chris Lord
7f25a0bb58
Bug 803826 - Restore the layer builder pointer on return from PaintForFrame. r=mattwoodrow
...
It's possible for nsDisplayList::PaintForFrame to reset the layer builder
pointer on a layer manager it didn't create. Instead of setting it to null,
store the existing pointer and restore it on return.
2012-10-23 12:01:23 +01:00
Timothy Nikkel
ada10776c7
Bug 642257. If there are no plugins in the display list skip a potentially expensive compute visibility pass with accurate visible regions to determine plugin geometry because it is not needed. r=roc
...
If there is a plugin in a background tab and a complex scene in a foreground tab the accurate visible regions can cause us to bog down, for no good reason.
2012-10-18 00:34:58 -05:00
Robert O'Callahan
e7f231d6c8
Bug 626245. Part 4: Compute plugin widget geometry updates via the refresh driver's painting, and defer actual widget updates until we've just composited the window. r=mats
...
Updating plugin widget geometry every time we paint means we don't have to
explicitly request plugin geometry updates.
This patch stops us from flushing plugin geometry changes in
FlushPendingNotifications(Flush_Layout). There are too many Flush_Layouts and
flushing plugin geometry changes on them produces frequent
desynchronization of the plugin geometry with the rendered window contents.
There is some Web compatibility risk there --- it means we have to change
our tests, for one thing --- but hopefully it's OK.
--HG--
extra : rebase_source : 87adde45795ea2cab362ed9df54e62c5cc97e16c
2012-10-07 02:03:23 +13:00
Ed Morley
edeb5cd80c
Merge last PGO-green changeset of mozilla-inbound to mozilla-central
2012-10-12 11:59:59 +01:00
Chris Jones
c310927390
Bug 795657: Integrate native viewport configuration better into async pan-zoom code. r=jwir3,roc
...
This is a rollup of the following patches
- Change the interpretation of FrameMetrics.mZoom to a "resolution-indepedent zoom", instead of a resolution-depedent scale factor. r=roc
- Remove mention of "meta" from TabChild. r=roc
- Remove some useless logging. r=roc
- Tag FrameMetrics with its composition bounds at paint time. r=roc
- Add a helper to calculate the render resolution for a FrameMetrics. r=roc
- Add a helper to compute the approximate CSS dimensions a FrameMetrics will cover during composition. r=roc
- BrowserElementScrolling doesn't actually care about zoom or resolution. r=roc
- Accept the viewport that content has calculated, when it's received the latest widget geometry update. r=roc
- Mechanically separate uses of zoom/resolution based on new definitions. r=roc
- Convert GetViewportInfo()'s resolution-dependent scale into resolution-indepedent zoom. r=roc
- Reinterpret defaultZoom == 0.0 as "intrinsic scale". r=jwir3,roc
2012-10-11 22:46:24 -07:00
Matt Woodrow
d6769ad8b7
Bug 795674 - Refactor DisplayItemData storage in FrameLayerBuilder. r=roc
2012-10-12 12:38:24 +13:00
Chris Lord
3f8854bee2
Bug 795674 - Reinstate underlying frame swap when merging nsDisplayScrollLayer. r=roc
...
This swap was removed with the work in Bug 785333, as layers were associated
with merged frames as well as their underlying frames. Since DLBI, this is no
longer the case, so reinstate this temporary fix for a very common case of
the underlying frame of a display-item changing.
2012-10-05 10:56:49 +01:00
Chris Jones
ca55cb45de
Bug 790505, part 4: If we're just updating the transform of a prerendered layer, then schedule an empty transaction to skip unnecessary display-list overhead. r=mattwoodrow,roc
2012-10-02 22:55:52 -07:00
Chris Jones
c78629f9f8
Bug 790505, part 1: Have prerendered transform frames pretend that they don't have an opaque region so that we can move them around more efficiently. r=mattwoodrow
2012-10-02 22:55:50 -07:00
Chris Jones
17867c12a8
Back out bug 790505 for leaking
2012-10-03 00:21:08 -07:00
Chris Jones
4f1e40ca75
Bug 790505, part 4: If we're just updating the transform of a prerendered layer, then schedule an empty transaction to skip unnecessary display-list overhead. r=roc
2012-10-02 22:55:52 -07:00
Chris Jones
dd55277c3e
Bug 790505, part 1: Have prerendered transform frames pretend that they don't have an opaque region so that we can move them around more efficiently. r=mattwoodrow
2012-10-02 22:55:50 -07:00
Doug Sherk
c0e08ee726
Bug 784908: Part 1: Change names of FrameMetrics variables to be more descriptive, add documentation, change some coordinate spaces. r=roc
2012-09-28 22:16:34 -04:00
Oleg Romashin
67b104cbd1
Bug 539356 - Part 20 - Simplify regions to avoid excessive region calculation. r=roc
2012-08-29 17:48:43 +12:00
Matt Woodrow
9de7f5c346
Bug 539356 - Part 14 - Handle multiple widget layer managers retaining data for the same frame. r=roc
2012-08-29 17:48:41 +12:00
Matt Woodrow
5a14809d04
Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc
2012-08-29 17:47:18 +12:00
Matt Woodrow
4e75c1edde
Bug 539356 - Part 9e - FrameLayerBuilder changes for display list invalidation. r=roc
...
* * *
imported patch move-by-correctly
2012-08-29 17:47:15 +12:00
Matt Woodrow
f4205ce848
Bug 539356 - Part 9b - Add new frame invalidation API. r=roc
2012-08-29 17:39:01 +12:00
Matt Woodrow
cdbc43ed27
Bug 539356 - Part 9a - Add new display list invalidation API to nsDisplayItem and implement it. r=roc
2012-08-29 17:39:01 +12:00
Ed Morley
c863356300
Revert mozilla-inbound to e4dd1fa6d222 for crashes and test failures on a CLOSED TREE
2012-09-27 16:34:46 +01:00
Oleg Romashin
13a2856362
Bug 539356 - Part 20 - Simplify regions to avoid excessive region calculation. r=roc
2012-08-29 17:48:43 +12:00
Matt Woodrow
05068168cf
Bug 539356 - Part 14 - Handle multiple widget layer managers retaining data for the same frame. r=roc
2012-08-29 17:48:41 +12:00
Matt Woodrow
c73c0db2f1
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
2012-08-29 17:38:58 +12:00
Matt Woodrow
b01a10cd1c
Bug 793132 - Make sure that only display lists get the reference frame adjusted transform. r=roc
2012-09-26 10:47:41 +12:00
Matt Woodrow
944b66cc36
Bug 792314 - Make nsDisplayTransform support untransformed frames. r=roc
2012-09-20 11:14:07 +12:00
Matt Woodrow
891faaf4e5
Bug 788044 - Make transformed frames the reference frame for their display list tree. r=roc
2012-09-16 22:32:59 +12:00
Matt Woodrow
77745de1bf
Bug 788044 - Make various functions take const parameters. r=roc
2012-09-13 12:32:53 +12:00
Chris Lord
b3a668dd2a
Bug 786502 - Fix background-attachment:fixed scrolling with page. r=roc
...
Fix the size check in nsDisplayBackground::ShouldFixToViewport so that async
scrolling of fixed backgrounds works correctly when zoomed in on Firefox
Mobile. Also make IsFixedItem in nsDisplayList public and use it in
FrameLayerBuilder, so that fixed items are determined and treated consistently.
2012-09-13 11:34:34 +01:00
Chris Lord
6b2dc34a0b
Bug 786502 - Separate background layers into separate items. r=roc
...
Separate out background layers into separate display-list items, so that
backgrounds that are a mix of fixed and non-fixed layers will be treated
individually.
2012-09-13 11:34:23 +01:00
Chris Lord
9e0e5d24bf
Bug 785333 - Store container layers against merged frames. r=roc
...
As well as storing the container layer against the underlying frame of the
container item, store it against its merged frames as well. In addition, check
for old container layers against merged frames when building a container layer.
This protects against losing the layer when the underlying frame of a container
item changes to either a new frame or an existing, merged frame.
2012-08-29 11:53:20 +01:00
Gavin Sharp
f99257a9f5
Back out bug 785333 (revisions 79345542f853 and a1756976e61d) to fix crasher bug 785626
2012-08-27 16:41:19 -07:00
David Zbarsky
5b8ee4d5ca
Fix 2 logging calls I added today to also log the element and it's id, no bug, r=me
2012-08-26 00:14:31 -04:00
David Zbarsky
e0fe5ae49b
Bug 785657 - Enable async animations in content processes r=cjones
2012-08-25 21:27:28 -04:00
David Zbarsky
6a9972f334
Bug 785648 - Improve OMTA logging r=cjones
2012-08-25 21:27:28 -04:00
Chris Lord
db96f622c9
Bug 785333 - Store container layers against merged frames. r=roc
...
As well as storing the container layer against the underlying frame of the
container item, store it against its merged frames as well. In addition, check
for old container layers against merged frames when building a container layer.
This protects against losing the layer when the underlying frame of a container
item changes to either a new frame or an existing, merged frame.
2012-08-24 16:17:22 +01:00
David Zbarsky
6b65174cd9
Bug 784846 - The ShouldPrerender check for async animations is wrong r=mattwoodrow
2012-08-23 02:05:27 -04:00
Ehsan Akhgari
57ac5ddc72
Merge the landing of bug 579517 to mozilla-inbound
2012-08-22 12:12:15 -04:00
Doug Sherk
b018fea56e
Bug 780397: Convert FrameMetrics.mViewportScrollOffset from nsIntPoint to gfx::Point r=roc
2012-08-21 21:37:15 -07:00
Doug Sherk
2347943aeb
Bug 775447: Let touch-event listeners cancel async pan/zoom r=cjones
2012-08-21 21:37:06 -07:00
David Zbarsky
bd4bdc3b0a
Bug 784239 - Perform async animations even when not all properties can be asyncified r=roc
2012-08-21 21:48:47 -04:00
David Zbarsky
41867d1baa
Bug 783893 - Clean up async animation code r=roc
2012-08-21 00:06:47 -04:00
David Zbarsky
fbb04700b6
Bug 784004 - Don't include Layers.h everywhere Part 3 r=nical
2012-08-21 00:06:46 -04:00
Ehsan Akhgari
0fd9123eac
Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
...
This patch was generated by a script. Here's the source of the script for
future reference:
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name nsXPCOMCID.h \
! -name prtypes.h \
-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 PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t
convert PRIntn int
convert PRUintn unsigned
convert PRSize size_t
convert PROffset32 int32_t
convert PROffset64 int64_t
convert PRPtrdiff ptrdiff_t
convert PRFloat64 double
2012-08-22 11:56:38 -04:00
David Zbarsky
32bb53999c
Bug 776401 Part 2: Add animation to the layer and then add segments directly to it r=roc
2012-08-20 09:35:42 -04:00
David Zbarsky
c81eb44c58
Bug 776401 Part 1: Avoid copying animation segments when creating animations r=roc
2012-08-20 09:35:42 -04:00
David Zbarsky
d631e1b3a1
Bug 783835 - Compositor needs to know the css property being animated r=roc
2012-08-20 09:35:41 -04:00
Nicolas Silva
047b99ba78
Bug 782372 - Splits ImageLayers.h into ImageLayers.h ImageContainer.h and ImageTypes.h, r=bgirard
2012-08-19 15:33:25 -04:00
Chris Lord
669a81223c
Bug 777260 - Respect LAYER_ACTIVE_FORCE in ChildrenCanBeInactive. r=roc
...
ChildrenCanBeInactive returns false if any child items have active layer states,
but was only checking LAYER_ACTIVE and not LAYER_ACTIVE_FORCE.
2012-08-13 22:54:09 -04:00
Matt Woodrow
c9d19fc306
Bug 539356 - Part 8b - Move painting of retained layers to the view manager flush, and only composite on the paint event. r=roc
...
* * *
Fix Empty transactions with the new paint timing
2012-08-13 22:10:10 +12:00
Chris Lord
6a36ed7746
Bug 779269 - Implement a TryMerge method for nsDisplayFixedPosition. r=roc
...
Allow nsDisplayFixedPosition items that share the same fixed-pos frame to be
merged. This avoids a bug where the Google PDF viewer document image gets
re-rendered offset on the initial frame of a scroll when layer acceleration is
enabled.
2012-08-10 09:36:33 +01:00
David Zbarsky
42018cc827
Bug 780342 - Don't allow compositor-driven animation of frames that are not prerendered, provide diagnostics for when that happens r=cjones
2012-08-06 16:33:23 -04:00
David Zbarsky
a2c20d2493
Bug 706179 Part 3: Turn on the use of scaling for layers in FrameLayerBuilder r=mattwoodrow
2012-08-03 14:29:22 -07:00
David Zbarsky
921b64e645
Bug 778799 - When offloading animations, use the device pixels to figure out scale instead of CSS pixels r=mattwoodrow
2012-07-31 10:28:23 -07:00
David Zbarsky
c0fdd4656f
Bug 768440 Part 2: Animate CSS Transitions on the compositor r=roc,dbaron
2012-07-31 10:28:22 -07:00
David Zbarsky
f386a1e940
Bug 755084 Part 2: Perform CSS animations of transform and opacity on the compositor r=roc, dbaron
2012-07-31 10:28:21 -07:00
David Zbarsky
1e9fefd64e
Bug 706179 Part 2: Add a BaseTransform and scaling to layers, r=roc, cjones
2012-07-30 19:20:00 -07:00
Mark Finkle
70a01196ec
Backout 169ff207ed19, a34baed70c1b, f9ccdd490bd7, 39550ed860e6, 2194a2dd66b2, 908eb2e26843, a76e0a267f26 due to mobile viewport bustage (bug 778580)
2012-07-30 14:36:12 -04:00
Aryeh Gregor
e806eeab4f
Bug 777292 part 2 - Change all nsnull to nullptr
2012-07-30 17:20:58 +03:00
David Zbarsky
9bf8a70491
Bug 706179 Part 2: Add a BaseTransform to layers r=roc
2012-07-27 13:23:45 -07:00
David Zbarsky
e83accbdd6
Bug 768440 Part 2: Animate CSS Transitions on the compositor r=roc,dbaron
2012-07-27 13:23:45 -07:00
David Zbarsky
5a900008c4
Bug 755084 Part 2: Perform CSS animations of transform and opacity on the compositor r=roc, dbaron
2012-07-27 13:23:44 -07:00
Ed Morley
be8bf4beae
Backout 1244b8a8e57a (bug 755084), 32d16d0f87c9 (bug 706179), 8548e016d4a9 (bug 768440), 697f5b87eae9 (bug 768440), 808fc2bd4e8c (bug 755084), 54b1484cd125 (bug 755084), 876726b632c0 (bug 706179) for xul android R3 failures
2012-07-25 16:37:04 +01:00
David Zbarsky
d29cc0cf63
Bug 706179 Part 2: Add a BaseTransform to layers to return the layer's transform without scaling applied r=roc
2012-07-25 01:48:10 -07:00
David Zbarsky
e14b114016
Bug 768440 Part 2: Animate CSS Transitions on the compositor r=roc,dbaron
2012-07-25 01:48:10 -07:00
David Zbarsky
0fe356e5ed
Bug 755084 Part 2: Perform CSS animations of transform and opacity on the compositor r=roc, dbaron
2012-07-25 01:48:09 -07:00
Chris Lord
887bd58e00
Bug 769541 - Fix display list creation for positioned descendants of fixed position frames. r=roc
...
Positioned descendants of positioned frames escape the child display list to
their parent's positioned descendants list when they don't have a z-index set.
This caused their invalidations to be logged against the incorrect layer.
To fix this, wrap each extra positioned descendant of a fixed-position frame
in its own nsDisplayFixedPosition so they receive their own layers.
2012-07-25 08:06:19 +01:00
Matt Brubeck
2e41f92cb5
Back out f4f5189b1d0c, 3b4f0606c547, b8a5a1ab8a5f, 5078933d6954, 7e0260c45de9 (bug 768440, bug 755084, bug 706179) because of reftest failures
2012-07-23 20:25:51 -07:00
David Zbarsky
3c4a102656
Bug 768440 Part 2: Animate CSS Transitions on the compositor r=roc,dbaron
2012-07-23 17:34:49 -07:00
David Zbarsky
5deebe2e9b
Bug 755084 Part 2: Perform CSS animations of transform and opacity on the compositor r=roc, dbaron
2012-07-23 17:34:46 -07:00
Robert O'Callahan
369d480019
Bug 772690: Speed up nsDisplayList::SortByZOrder by removing (unnecessary) secondary sort by content order. r=dbaron
2012-07-23 08:20:11 -07:00
Matt Woodrow
35775825fa
Bug 539356 - Part 28 - Cached nsDisplayBackground rasterizations with BasicLayers. r=roc
2012-07-23 15:00:36 +12:00
Jonathan Watt
77a641125d
Bug 614732 - Implement display list based painting and hit-testing for SVG. r=roc.
...
--HG--
extra : rebase_source : 77e55885fbbf428008f5be787ddeb7e561c0d9bd
2012-07-20 14:12:29 -04:00
Ms2ger
e8f603b3f8
Bug 539356 - Followup: Fix unused variable warnings; r=mattwoodrow over IRC.
2012-07-18 16:28:53 +02:00
Jonathan Watt
a62a4b2be0
Bug 774133 - Make nsDisplayTransform take account of zooming for SVG transforms. r=roc.
2012-07-18 09:15:13 -04:00
Matt Woodrow
55c47b5cde
Bug 539356 - Part 7 - Store FrameLayerBuilder objects on the LayerManager instead of nsDisplayListBuilder. r=roc
2012-07-17 13:03:51 -04:00
Matt Woodrow
7ff6103aa6
Bug 539356 - Part 5 - Change SVG effects painting to use a LayerManager transaction. r=roc
2012-07-17 13:03:51 -04:00
Ehsan Akhgari
4644ee9d96
Backout changeset eea5704272d0 (bug 539356) because of performance and correctness regressions
2012-07-03 20:28:32 -04:00
Ehsan Akhgari
ebecf18be9
Backout changeset 60affaedccc3 (bug 539356) because of performance and correctness regressions
2012-07-03 20:26:55 -04:00
Ehsan Akhgari
e678c17f63
Backout changeset bd0a91621ea9 (bug 539356) because of performance and correctness regressions
2012-07-03 20:25:57 -04:00
Ehsan Akhgari
5e6974df88
Backout changeset f568fc280fb0 (bug 539356) because of performance and correctness regressions
2012-07-03 20:24:55 -04:00
Ehsan Akhgari
8f19fe7049
Backout changeset ce5e9fefee19 (bug 539356) because of performance and correctness regressions
2012-07-03 20:18:34 -04:00
Ehsan Akhgari
e217b72858
Backout changeset 0c75abcb72ff (bug 539356) because of performance and correctness regressions
2012-07-03 20:17:01 -04:00
Ehsan Akhgari
f3e27db850
Backout changeset cb1ac88bedc2 (bug 539356) because of performance and correctness regressions
2012-07-03 20:14:11 -04:00
Ehsan Akhgari
64c98e2147
Backout changeset 6234134d4430 (bug 539356) because of performance and correctness regressions
2012-07-03 20:08:19 -04:00
Matt Woodrow
660deac456
Bug 539356 - Part 28 - Cached nsDisplayBackground rasterizations with BasicLayers. r=roc
2012-06-30 15:06:14 +12:00
Oleg Romashin
95b7a73ba9
Bug 539356 - Part 20 - Simplify regions to avoid excessive region calculation. r=roc
2012-06-30 15:06:13 +12:00
Matt Woodrow
ab51baf3ec
Bug 539356 - Part 14 - Handle multiple widget layer managers retaining data for the same frame. r=roc
2012-06-30 15:06:12 +12:00
Matt Woodrow
850cb83cd3
Bug 539356 - Part 12 - Remove unnecessary LayerManagerLayerBuilder indirection. r=roc
2012-06-30 15:06:12 +12:00
Matt Woodrow
cbd39105d9
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
2012-06-30 15:06:11 +12:00
Matt Woodrow
9193c41326
Bug 539356 - Part 8b - Move painting of retained layers to the view manager flush, and only composite on the paint event. r=roc
2012-06-30 15:06:10 +12:00
Matt Woodrow
a072bd4903
Bug 539356 - Part 7 - Store FrameLayerBuilder objects on the LayerManager instead of nsDisplayListBuilder. r=roc
2012-06-30 15:06:10 +12:00
Matt Woodrow
147e839dc3
Bug 539356 - Part 5 - Change SVG effects painting to use a LayerManager transaction. r=roc
2012-06-30 15:06:10 +12:00
Chris Lord
9fd49ed93f
Bug 758620 - Force fixed-position frames to have their own layers. r=roc
...
Introduce a new display-list item 'nsDisplayFixedPosition' that represents
fixed-position elements. This item cannot be merged, which forces fixed
position elements to have their own layer, and has a BuildLayer implementation
that sets the necessary metadata on a Layer to be able to maintain its
position correctly during composition when asynchronously panning and zooming.
2012-06-27 16:43:57 +01:00
Ed Morley
ef4179d2d4
Backout de70e79ced32, ddd519d0767e, 9b952d924953 & 03efce585669 (bug 758620) for reftest failures
2012-06-26 16:13:33 +01:00
Chris Lord
1448e862c1
Bug 758620 - Force fixed-position frames to have their own layers. r=roc
...
Introduce a new display-list item 'nsDisplayFixedPosition' that represents
fixed-position elements. This item cannot be merged, which forces fixed
position elements to have their own layer, and has a BuildLayer implementation
that sets the necessary metadata on a Layer to be able to maintain its
position correctly during composition when asynchronously panning and zooming.
2012-06-26 14:43:11 +01:00
Kartikaya Gupta
5ace9309ab
Bug 763570 - Part 1 - Back out 18b206c111cd from bug 747493 as we have a better solution that also fixes other broken frameset behaviours. r=tnikkel
2012-06-15 17:49:46 -04:00
Ed Morley
a73fc227f9
Backout 61fd66629c4f, 7c8121f8d3af & 2a2e9cf8fd41 (bug 539356), e31a5e6545d3 (bug 761884), 85fa80bd9792, a284ccb25b83, 2865904db9fc, 34e07b09c426, e9b3d41e0360, cef00ebcd6c8, f943b729ac14 & 783f298401b6 (bug 539356), 330a086f1570 (bug 741682), d80219c8842c (bug 739671), e8c96b4fd4da, 313af486e68d, 0adc41ff56dc, 0cd288a38085, f1d43208825c, 4859876972f3, eec8ef3ebe48, f7f29fcd1845, 6079b229d306, f23c3a7e7ce0, 9824458a41e2 & 6748b5496059 (bug 539356) for mochitest-4 orange & talos regressions on multiple platforms
2012-06-11 10:08:32 +01:00
Oleg Romashin
4d14e84fec
Bug 539356 - Part 20 - Simplify regions to avoid excessive region calculation. r=roc
2012-06-11 16:45:39 +12:00
Matt Woodrow
e1a184f70a
Bug 539356 - Part 14 - Handle multiple widget layer managers retaining data for the same frame. r=roc
2012-06-11 16:45:39 +12:00
Matt Woodrow
2e295df184
Bug 539356 - Part 12 - Remove unnecessary LayerManagerLayerBuilder indirection. r=roc
2012-06-11 16:45:38 +12:00
Matt Woodrow
147cab5783
Bug 539356 - Part 9 - Implement DLBI. r=roc,bz,jwatt
...
* * *
Bug 539356 - Part 9a - Add new display list invalidation API to nsDisplayItem and implement it. r=roc
* * *
Bug 539356 - Part 9b - Add new frame invalidation API. r=roc
* * *
Bug 539356 - Part 9c - Remove old invalidation code. r=bz
* * *
Bug 539356 - Part 9d - Make SVG support the new invalidation model. r=jwatt
* * *
Bug 539356 - Part 9e - FrameLayerBuilder changes for display list invalidation. r=roc
* * *
Bug 539356 - Part 9f - Compute the invalid area of the layer tree and pass this to the widget. r=roc
* * *
Bug 539356 - Part 9g - Modify MozAfterPaint code to work with the new invalidation model. r=roc
2012-06-11 16:45:30 +12:00
Matt Woodrow
1b5d7c74d7
Bug 539356 - Part 8b - Move painting of retained layers to the view manager flush, and only composite on the paint event. r=roc
2012-06-11 16:44:09 +12:00
Matt Woodrow
7b18141336
Bug 539356 - Part 7 - Store FrameLayerBuilder objects on the LayerManager instead of nsDisplayListBuilder. r=roc
2012-06-11 16:44:08 +12:00
Matt Woodrow
e15259b14a
Bug 539356 - Part 5 - Change SVG effects painting to use a LayerManager transaction. r=roc
2012-06-11 16:44:08 +12:00
Timothy Nikkel
7437c32e01
Bug 747493. Give frameset documents a basic scroll layer so we can communicate the document's metrics to the compositor and frontend. r=roc,mats
2012-06-09 19:26:57 -05:00
Robert O'Callahan
453c373374
Bug 731293. Remove nsFrameManager parameter from nsLayoutUtils::GetParentOrPlaceholderFor. r=mats
2012-06-09 00:22:25 +12:00
Kartikaya Gupta
8a9a864a95
Bug 748384 - Propagate page bounds and CSS page bounds in via compositor. r=Cwiiis,ajuma,mats
2012-05-23 10:51:39 -04:00
Kartikaya Gupta
0f2c633486
Bug 748384 - Back out 330e9c52f9ac, 9ba1078559fe, 2ed39c12d792, f53f05ecacd5 for build bustage. r=bustage
2012-05-23 11:08:19 -04:00
Kartikaya Gupta
6ab5f951cd
Bug 748384 - Propagate page bounds and CSS page bounds in via compositor. r=Cwiiis,ajuma,mats
2012-05-23 10:51:39 -04:00
Robert O'Callahan
9d09bfe7c0
Bug 607417. Improve definition of the 'fixed layer' flag. r=tnikkel
2012-05-04 17:00:57 +12:00
David Zbarsky
74e0408fed
Bug 756813: Prevent creation of ImageLayer if ImageContainer is null r=gal
2012-05-21 10:47:40 -07:00
Gervase Markham
ca171eec44
Bug 716478 - update licence to MPL 2.
2012-05-21 12:12:37 +01:00
Jonathan Watt
75835eecfc
Bug 734082 - Compute and store bounds and visual overflow bounds for both SVG leaf and container frames. r=roc.
2012-05-17 05:05:09 +01:00
Matt Woodrow
5939c267ea
Bug 722603 - Improve dirty rect calculation with 3d transforms and preserve-3d. r=roc
2012-05-11 19:49:14 +12:00
Mats Palmgren
20063bafbd
Bug 752953 - Simplify IntersectRect calculations. r=roc
2012-05-09 21:53:15 +02:00
Mats Palmgren
8d873e3e77
Bug 752953 - Typo in calculation of 'allowExpansion' (result will always be an empty rect) in nsDisplayScrollLayer::ComputeVisibility. r=roc
2012-05-09 21:53:15 +02:00
Jeff Muizelaar
b86c4d522e
Bug 753058. Add SAMPLE_LABELS for shadows. r=ehsan
...
This will make this things more obvious on the profile.
2012-05-08 18:10:02 -04:00
Ed Morley
87c7ae65b6
Backout 5c35cd6f3ea4 & ba39b0822992 (bug 607417) for native Android R1 failures
2012-05-04 14:26:09 +01:00
Robert O'Callahan
02b9f4cdf5
Bug 607417. Improve definition of the 'fixed layer' flag. r=tnikkel
...
--HG--
extra : rebase_source : f68d53736e65c21a30a6248abe6b2b9ec32cdb17
2012-05-04 17:00:57 +12:00
Robert O'Callahan
f1052e524a
backing out patches for bug 607417 due to build bustage
2012-05-04 17:29:05 +12:00
Robert O'Callahan
2e766e37ce
Bug 607417. Improve definition of the 'fixed layer' flag. r=tnikkel
2012-05-04 17:00:57 +12:00
Andreas Gal
f02dd1247e
Do background image scaling on the GPU. Part 2: Support turning simple background images into image layers (bug 750172, r=roc).
2012-05-03 13:13:12 -07:00
Andreas Gal
6ced71cf11
Do image scaling on the GPU (bug 650988, r=roc,cjones).
2012-05-03 07:05:55 -07:00
Robert O'Callahan
3e30bf4a46
Bug 749075. Part 1: Refactor the nsDisplayItem API for testing whether the item needs to be rendered to a transparent surface. r=mattwoodrow
...
Currently we return an extra out parameter on GetOpaqueRegion. This is ugly and it's also going to be inefficient
because in a followup patch I'm going to avoid calls to GetOpaqueRegion, but we still need to know whether the item
needs a transparent surface. So this patch removes that out parameter. Instead, we rely on the fact that only
Windows' glass-window-background display item needs to force a transparent surface, and there can only be one
of those per window. So we store a reference to it in the nsDisplayListBuilder if there is one, and then we can
efficiently tell if any leaf display item is the one that forces a transparent surface. For display items that
wrap a list, we continue to store whether they need to force a transparent surface in a boolean in the list.
2012-05-03 16:29:05 +12:00
Matt Woodrow
3585a9ddba
Bug 740072 - Make perspective-origin check the style parent instead of frame parent. r=roc
2012-04-27 12:24:53 +12:00
Chris Lord
8f9b90984f
Bug 745177 - Retain and re-use uploaded GL tiles. r=ajuma
...
Rather than discarding uploaded tiles once they fall outside of the valid
region, shuffle them off into a separate tile-store with all the metadata they
need to render them, and render them in the areas that our current valid
region doesn't cover in TiledThebesLayerOGL::RenderLayer.
2012-04-24 22:48:33 -04:00
Matt Brubeck
68fdd39a98
Back out 4114c654f5d0 (bug 745177) because of Mac build errors
2012-04-24 20:18:50 -07:00
Chris Lord
7f2c8c3737
Bug 745177 - Retain and re-use uploaded GL tiles. r=ajuma
...
Rather than discarding uploaded tiles once they fall outside of the valid
region, shuffle them off into a separate tile-store with all the metadata they
need to render them, and render them in the areas that our current valid
region doesn't cover in TiledThebesLayerOGL::RenderLayer.
2012-04-24 22:48:33 -04:00
Jeff Muizelaar
de2c1757b4
Bug 745864. Add SAMPLE_LABELs to layout code. r=roc, a=joe
...
--HG--
extra : rebase_source : d826780c34692d333442b6bf563791b53bf3aa3d
2012-04-16 14:37:59 -04:00
Jeff Muizelaar
78533845be
Bug 744901 - Store the page size in FrameMetrics in CSS pixels in addition to device pixels. r=cjones
...
--HG--
extra : rebase_source : ac38e2ff9dda55bd5dc44d757b67cb1550da1eaa
2012-04-12 15:55:26 -04:00
Robert O'Callahan
8a99107167
Bug 745934. Update bounds of nsDisplayOpacity after we've mutated its list. r=mattwoodrow,a=blocking-fennec
2012-04-19 14:40:43 +12:00
Ehsan Akhgari
c609eff858
Backout changeset 0b25ccd32a49 (bug 745934) for reftest failures; a=bustage
2012-04-18 23:52:59 -04:00
Ehsan Akhgari
46549e86dd
Backout changeset 5f1b5ab7afb5 (bug 735898) for reftest failures
2012-04-18 23:52:23 -04:00
Robert O'Callahan
4043fb2b03
Bug 735898. Part 8: Speed up SortByZOrder. r=dbaron,a=blocking-fennec
2012-04-19 14:40:43 +12:00
Robert O'Callahan
c47ff166e8
Bug 745934. Update bounds of nsDisplayOpacity after we've mutated its list. r=mattwoodrow,a=blocking-fennec
2012-04-19 14:40:43 +12:00
Robert O'Callahan
dcc4fc6d0f
Bug 735898. Part 7: Remove expensive nsIFrame::HasBorder checks, just check style instead. r=dbaron,a=blocking-fennec
2012-04-18 17:14:31 +12:00
Robert O'Callahan
08d74c5ace
Bug 735898. Part 6: Avoid nsIFrame::GetOffsetTo calls by caching a frame/offset pair in nsDisplayListBuilder, using the cache from nsDisplayListBuilder::ToReferenceFrame, and having BuildDisplayListForChild efficiently update the cached frame from parent to child when possible. Also, use display items' precalculated ToReferenceFrame() instead of calling nsDisplayListBuilder::ToReferenceFrame where possible. r=mattwoodrow,a=blocking-fennec
2012-04-18 17:14:14 +12:00
Robert O'Callahan
e94e05578d
Bug 735898. Part 5.9: Remove nsDisplaySVGEffects::mEffectsFrame since it's always the same as mFrame. r=mattwoodrow,a=blocking-fennec
2012-04-18 17:12:53 +12:00
Robert O'Callahan
e7e04f4dc1
Bug 728983. Part 1: Add nsDisplayItem::GetMergedFrames. r=mattwoodrow
2012-04-17 17:44:32 +12:00
Robert O'Callahan
ec5d3ef73c
Bug 735898. Part 1: Cache bounds (union of all child item bounds) in nsDisplayWrapList. r=mattwoodrow
2012-04-13 23:44:06 +12:00
Robert O'Callahan
d722131e30
Bug 744607. Intersect a display item's layer-pixels draw-rect with the snapped clip rect. r=tnikkel
2012-04-13 23:44:05 +12:00
Mark Capella
1a44f1208f
Bug 740688 - Use uintptr_t instead of PRUword, and intptr_t instead of PRWord. r=jwalden
...
--HG--
extra : rebase_source : 648a581323d2c2893df780f71fe34dadcc4bbaab
2012-04-11 17:17:44 -07:00
Robert O'Callahan
c1fcb8ec46
Backing out changesets ef599d7f3f11, 70ef464f50e3 and 1a204c38918e (bug 735898) due to test failures.
2012-04-12 00:34:23 +12:00
Robert O'Callahan
84a03695da
Bug 735898. Part 1: Cache bounds (union of all child item bounds) in nsDisplayWrapList. r=mattwoodrow
2012-04-11 16:48:47 +12:00
Robert O'Callahan
d0dd680745
Bug 733607. Restructure logic to compute snapped bounds of display items in layer coordinates. Moves responsibility for computing snapped bounds from within the display items to callers of GetBounds/GetOpaqueRegion. r=tnikkel
...
Previously we snapped the results of nsDisplayItem::GetBounds and
nsDisplayItem::GetOpaqueRegion internally. By tracking which display items were
inside transforms, we disabled snapping quite conservatively whenever an ancestor
had a transform, which is undesirable.
With this patch, we don't snap inside GetBounds or GetOpaqueRegion, but just return
a boolean flag indicating whether the item will draw with snapping or not. This flag
is conservative so that "true" means we will snap (if the graphics context has a transform
that allows snapping), but "false" means we might or might not snap (so it's always safe
to return false).
FrameLayerBuilder takes over responsibility for snapping item bounds. When it converts
display item bounds to layer pixel coordinates, it checks the snap flag returned from
the display item and checks whether the transform when we draw into the layer will be
a known scale (the ContainerParameters scale factors) plus integer translation. If both
are true, we snap the item bounds when converting to layer pixel coordinates. With
this approach, we can snap item bounds even when the items have ancestors with active
transforms.
2012-04-10 23:24:18 +12:00
Matt Woodrow
49bb21ce6d
Bug 731777 - Correctly recompute overflow areas for frames with transform perspective applied. r=roc
2012-03-12 15:04:25 +13:00
Matt Woodrow
f0d02037a5
Bug 730166 - Mark frames with a hidden backface as transformed. r=roc
2012-03-12 15:03:29 +13:00
Mats Palmgren
9faef84315
Bug 717521 - Limit pre-rendering to max 4096 x 4096 pixels (post-transform) to avoid hang. r=tnikkel
2012-03-01 13:34:20 +01:00
Chris Lord
22c2e93774
Bug 729534 - Semi-fix scroll layer retention. r=mats
...
When flattening the display list, the last child frame in a scroll layer is
used to retain the associated ThebesLayer. Instead, use the first child, which
tends to be more stable. This fixes retaining layers when scrolling through
engadget.com.
Fix by Robert O'Callahan <robert@ocallahan.org>
2012-02-29 16:45:50 +00:00
Jonathan Watt
738cd09b8c
Bug 727805 - Give aFactor in nsDisplayList.cpp a more meaningful name. r=mattwoodrow.
2012-02-17 06:08:33 +00:00
Matt Woodrow
cca8fbcca8
Bug 721082 - Make perspective-origin relative to the parent elements border box. r=roc
2012-02-15 22:28:22 +13:00
Chris Jones
6ab2499104
Bug 724189: Add a little fuzz factor to the max pre-render size for transformed frames, in case the frame has borders or shadows. r=roc
2012-02-05 08:34:10 -08:00
Chris Jones
a0c8543dca
Bug 725580: Fluff out the bounds of pre-rendered nsDisplayTransforms to their visual overflow rect in order to avoid killing their dedicated layer mid-activity, when part of the frame isn't painted. r=roc
2012-02-09 01:39:30 -08:00
Matt Woodrow
77b2ac0b85
Bug 722603 - Part 2: Use cached transform as much as possible (r=roc).
2012-02-14 01:12:49 -08:00
Matt Woodrow
11c4f62cb8
Bug 722603 - Part 1: Use cached transform in nsDisplayTransform::GetBounds() (r=roc)
2012-02-14 01:11:31 -08:00
Matt Woodrow
5fcb12fab0
Bug 704469 - Use style context parent instead of frame parent when looking up perspective for 3d transforms. r=roc
2012-01-04 13:38:57 +13:00
Robert O'Callahan
0fb0f8bbd4
Bug 591718. Part 1: rename some poorly-named methods, rework global-transform methods to avoid computing bounding-boxes more than once when there are are multiple transformed ancestors, make sure nsIFrame::GetTransformMatrix can stop at any desired ancestor. r=mats
2011-12-28 16:24:18 +13:00
Tatiana Meshkova
eddcbf6467
Bug 701190 - position:fixed items disappear due to wrong translation. r=roc
2011-11-09 14:47:23 -08:00
William Chen
1a42df4570
Bug 497995: Part 1 - Implement border-image revisions in latest css3-background spec. r=dbaron
...
--HG--
extra : rebase_source : 5a6cdac6a4b1353170f23f39dd2a209374e72531
2011-12-22 18:34:45 -05:00
Robert O'Callahan
9324e765b3
Bug 702739. When a element has an active transform and the element's content (before being transformed) is no larger than the window, prerender its entire contents into layers when any of it is visible, so we don't have to rerender it and/or resize its layers as it moves into or out of view. r=mats
2011-12-19 10:57:35 +13:00
Matt Brubeck
7d451f6bac
Back out bug 710521, bug 672013, bug 702739 because of Mac reftest failures
2011-12-18 08:15:09 -08:00
Robert O'Callahan
cfa4fb4af5
Bug 702739. When a element has an active transform and the element's content (before being transformed) is no larger than the window, prerender its entire contents into layers when any of it is visible, so we don't have to rerender it and/or resize its layers as it moves into or out of view. r=mats
2011-12-18 21:46:44 +13:00
Matt Woodrow
978e14e77a
Bug 701656 - Include the preserve-3d parent content in preserve-3d sorting. r=roc
2011-11-17 16:45:44 +13:00
Matt Woodrow
0f4f45950d
Bug 700240 - Print nsSVGEffects types. r=roc
2011-11-17 16:44:16 +13:00
Matt Woodrow
857970e2ff
Bug 695832 - Perpsective origin offset should be relative to the transform origin. r=roc
2011-10-31 13:38:46 +13:00
Robert O'Callahan
17ad2dd8a3
Bug 678859. Don't create layers for content less than 16x16 pixels. r=tn
2011-10-27 09:10:48 +13:00
Phil Ringnalda
fa10179bd2
Back out cc6b39f2b512 and f2b1103e5177 (bug 695832) for reftest failures
2011-10-25 23:18:47 -07:00
Matt Woodrow
c9ed70f1ce
Bug 695832 - Perpsective origin offset should be relative to the transform origin. r=roc
2011-10-26 16:20:08 +13:00
Oleg Romashin
21ca0625fc
Bug 693938 - Force mark PuppetWidget root scroll layer as opaque. r=roc
2011-10-23 10:57:47 +02:00
Robert O'Callahan
88740ba6da
Bug 681867. Part 2: remove nsDisplayForcePaintOnScroll. r=mats
2011-10-21 14:41:36 +13:00
Ehsan Akhgari
2a602a5685
Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
...
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Matt Woodrow
911c9a449a
Bug 693520 - Fix backface visibility calculations, and share can-hit checks. r=derf
2011-10-12 16:16:06 +13:00
Matt Woodrow
3345b1be69
Bug 693519 - Don't call GetHitDepthAtPoint if we didn't hit anything. r=roc
2011-10-12 16:16:05 +13:00
Matt Woodrow
165e24528f
Bug 684759 - Part 3b - Add event handling for sorted preserve-3d layers. r=roc
2011-10-07 10:24:02 +13:00
Matt Woodrow
5725b611f5
Bug 684759 - Part 3a - Sort preserve-3d layers using their z depth at points where they intersect in 2d space. r=roc
2011-10-07 10:23:18 +13:00
Matt Woodrow
da4a9cda9a
Bug 691106 - Merge sequential nsDisplayTransforms and give them unique frame keys. r=roc
2011-10-03 17:02:25 +13:00
Michael Wu
d8e503c38b
Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
...
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Justin Lebar
ba7be2f99c
Bug 688624 - Use nsAutoTArray in nsDisplayList::HitTest. r=roc
2011-09-22 23:50:57 -04:00
Jonathan Watt
c6f1afaf71
Bug 664130 - Clarify some display list comments and code. r=roc.
2011-09-08 12:15:00 +01:00
Felix Fung
9bb0edf799
Bug 577266 - Correct misspellings in source code
2011-09-06 17:20:35 -07:00
Matt Woodrow
a5e0a1b39b
Bug 682922 - Disable preserve-3d on scroll frames. r=roc
2011-09-05 10:25:35 +12:00
Matt Woodrow
f9d4b0bc4e
Bug 505115 - Part 15 - Add 4D Vectors, Quaternions and gfx3DMatrix functions. r=derf
2011-08-27 12:06:03 +12:00