Commit Graph

455 Commits

Author SHA1 Message Date
Matt Woodrow
d79e024902 Bug 791644 - Refactor nsDisplayTransform::GetResultingTransformMatrix into two functions with less optional parameters. r=roc 2012-09-18 10:34:21 +12:00
Robert O'Callahan
bdbd1f0280 Backout 7aceff7124d9 (bug 815591) for Mac test failures 2012-11-29 20:39:36 +13:00
Robert O'Callahan
4fd3be0cc7 Bug 815593. Don't layerize images that exceed MaxTextureSize. r=mattwoodrow
--HG--
extra : rebase_source : f94300b24b90d063df095324663c9d8fa49e42e9
2012-11-28 15:34:45 +13:00
Robert O'Callahan
b5bf3e65b7 Bug 815591. Don't build nsDisplayBackgroundColor if there is no background color and we're not going to do hit-testing. r=mattwoodrow
--HG--
extra : rebase_source : ce6fbf882f00d7c3ceb7f149bb6e9cb21ed6f74d
2012-11-28 01:50:09 +13:00
Matt Woodrow
ec0f46bf5a Bug 814272 - Cache the bounds of nsDisplayBackgroundImage items. r=roc 2012-11-28 17:05:32 +13:00
Nicholas Nethercote
885bd89c9e Bug 814312 - Avoid PL_ArenaPool recycling in the layout engine. r=roc.
--HG--
extra : rebase_source : 7aaa3d745583c595692f1effd933cc70931194ff
2012-11-25 14:40:28 -08:00
Robert O'Callahan
95147e8a27 Bug 813722. Create layers for opacity:0 elements with animated opacity. r=mattwoodrow
--HG--
extra : rebase_source : 5dbcb7966983f040f340f661dd8a585dc92dae1e
2012-11-23 14:09:24 +13:00
Nicholas Cameron
75dacf4dde Bug 812908; add a debug pref for forcing active layers; r=roc 2012-11-23 12:29:05 +13:00
Chris Lord
49699652e2 Bug 783368 - Add critical display port content property. r=roc
Add a property to represent a sub-rectangle of the display port that is
considered 'critical' to render correctly.
2012-11-21 22:34:18 +00:00
Ehsan Akhgari
abcfaa316e Backed out 11 changesets (bug 783368) because of build bustage on a CLOSED TREE
Backed out changeset 2bc4310263c4 (bug 783368)
Backed out changeset a35c83a8d99d (bug 783368)
Backed out changeset afb9b2a661ba (bug 783368)
Backed out changeset 3926f510f9be (bug 783368)
Backed out changeset 9d1fe200ff87 (bug 783368)
Backed out changeset b6e4f88f5730 (bug 783368)
Backed out changeset bc53f7dba7c6 (bug 783368)
Backed out changeset 1948fa2fccc1 (bug 783368)
Backed out changeset 9af163388fd1 (bug 783368)
Backed out changeset 7a2256e1aa7c (bug 783368)
Backed out changeset 4da1958a9885 (bug 783368)
2012-11-21 14:57:02 -05:00
Chris Lord
78b87d6c47 Bug 783368 - Add critical display port content property. r=roc
Add a property to represent a sub-rectangle of the display port that is
considered 'critical' to render correctly.
2012-11-21 19:16:51 +00:00
Chris Jones
3387cec057 Bug 799768: Only bother computing an invalid rect if it affects composition and enable omtc for X11 b2g builds. r=mattwoodrow 2012-10-11 16:55:42 -07:00
Robert O'Callahan
5786974f42 Bug 812776. Reset InlineBackgroundData whenever there are no display lists extant. Frame trees can't change while there are display lists extant. r=mattwoodrow 2012-11-19 23:54:41 +13:00
Matt Woodrow
5dc466f953 Bug 811927 - Allow conversion of nsDisplayBackgroundImage into ImageLayers. r=roc 2012-11-19 16:28:18 +13:00
Robert O'Callahan
57460ca6e6 Bug 810470. Part 8: Limit the BasicLayers background-caching optimization to cases where the destination context has an integer translation only, and snap the image rectangle. r=mattwoodrow
Previous patches in this bug enabled the nsDisplayCanvasBackground
background-caching optimization for the test 402807-1.html. That exposed
an existing bug where we don't snap the background image to pixel
boundaries when drawing through that path. This patch fixes it.
This patch also stops the IsSingleFixedPositionImage path from using
mDestRect, returning the rect as an out-parameter instead.

--HG--
extra : rebase_source : b7a496dfc7584dd8c73cddd0809fc5aa31992d53
2012-11-14 17:35:18 -08:00
Robert O'Callahan
72186d552d Bug 810470. Part 7: Simplify TryOptimizeToImageLayer/IsSingleFixedPositionImage now that colors are not involved. r=mattwoodrow
--HG--
extra : rebase_source : 42177253b513be84e55a6ad2e9ba1db6a1f76eef
2012-11-10 00:42:10 -05:00
Robert O'Callahan
9c308072cc Bug 810470. Part 6: Rename nsDisplayBackground to nsDisplayBackgroundImage. r=mattwoodrow
--HG--
extra : rebase_source : c532ae41706db6c9d5488bc2b7901c3bf0f0fc25
2012-11-09 18:14:59 -05:00
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