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

1708 Коммитов

Автор SHA1 Сообщение Дата
Cameron McCormack 7c95c39734 Bug 1244068 - Part 4: Use StyleSetHandle instead of concrete style set class in most places. r=dholbert 2016-02-24 18:01:11 +11:00
Wes Kocher 42c013e034 Backed out 3 changesets (bug 1250342) for reftest failures in text-align-true.html CLOSED TREE
Backed out changeset 0eae0890ee11 (bug 1250342)
Backed out changeset e82e430d0eda (bug 1250342)
Backed out changeset 866f8a7337df (bug 1250342)

--HG--
extra : commitid : Gme2p6OagcA
2016-02-23 13:10:40 -08:00
Wes Kocher a9ea5f6a56 Backed out 2 changesets (bug 1193557, bug 1209278) for build bustage
Backed out changeset 755b9088813c (bug 1193557)
Backed out changeset 21356fa4e353 (bug 1209278)

--HG--
extra : commitid : 5hf8aSA5FhN
2016-02-23 10:39:08 -08:00
David Anderson 6fba740086 Remove lazy scrollinfo hoisting introduced in bug 1193557. (bug 1209278 part 2, r=mstange)
--HG--
extra : rebase_source : 004d42f760364cd18e16125fb04f5d22cba2d648
2016-02-23 10:11:43 -08:00
L. David Baron ec4c382804 Bug 1250342 patch 3: Rename preference layout.css.text-align-true-value.enabled to layout.css.text-align-unsafe-value.enabled . r=mats
MozReview-Commit-ID: 6IKnuvxZQcI
2016-02-23 09:41:48 -08:00
L. David Baron 1a1f378269 Bug 1250342 patch 1: Rename exposed keyword for text-align: true to unsafe. r=mats
MozReview-Commit-ID: LYR3LtMtT2Q
2016-02-23 09:41:47 -08:00
Boris Chiou e436478f26 Bug 1244049 - Part 2: Replace nsCSSPseudoElements::Type with CSSPseudoElementType. r=dbaron
Also, try to use forward declaraions for CSSPseudoElementType;

--HG--
extra : rebase_source : c00eb9753e8f618a33aa711538ac45c0132b353c
2016-02-17 21:37:00 +01:00
Aidin Gharibnavaz 6863090c8a Bug 1235830 - Renaming GetInternalNSEvent to WidgetEvent, in nsIDOMEvent r=smaug
MozReview-Commit-ID: Hm8Owq17KXn

--HG--
extra : transplant_source : 2%82%D5%89%19%94%7C%E7%CA1%99%B5%24%1F5%E1%C0%1F%DE%07
2016-02-12 19:10:07 +03:30
Timothy Nikkel 43cf2abd48 Bug 1246443. Don't make nsLayoutUtils::MaybeCreateDisplayPort also set the displayport base anymore. r=botond
It's not obvious that it does this (unless you read the comment or the code), and we don't gain much by doing it.

Also we need to split it up for the next patch in this bug.
2016-02-12 16:58:34 -06:00
Kartikaya Gupta 7c935ef5ba Bug 1235899 - Don't allow frame reconstruction to clobber the APZ scroll offset. r=botond
MozReview-Commit-ID: HZMavMJNtmq
2016-02-10 16:31:20 -05:00
Robert O'Callahan ffe62188d9 Bug 1194466. Use the table-outer frame's margin when requesting the margin for table element with getBoxQuads. r=mats
--HG--
extra : commitid : B0oDQPEJLRh
extra : rebase_source : 8ac8d10d9dae01b9c44b8b531c56d065e1a54d50
2016-02-02 22:47:15 +13:00
L. David Baron c774a187fd Bug 1245075 patch 1 - Remove assertion, since it can fire during frame destruction. r=dholbert
Without this patch, patch 2 will cause assertions since
nsFrame::DestroyFrom calls nsFrame::HasCSSAnimations (at a time when the
child frame has been destroyed), which calls into the code modified in
patch 2 to call GetStyleFrame.

--HG--
extra : commitid : EkhtcNIf7ye
2016-02-07 08:43:48 -08:00
Kartikaya Gupta 866dc20488 Bug 990916 - On displayport expiry, trigger another round of expiry up the ancestor chain. r=tnikkel
--HG--
extra : commitid : 4BykN0L0DC3
2016-02-03 19:13:35 -05:00
Kartikaya Gupta e7dd4d9941 Bug 990916 - When setting a displayport, schedule a timer to remove it as well. r=tnikkel
--HG--
extra : commitid : 4u7JlPJLoFT
2016-02-03 19:13:35 -05:00
L. David Baron bcb43f9eb9 Bug 823483 patch 5 - Make (again) percentage width on text inputs make intrinsic minimum width be 0. r=dholbert
This restores the quirky behavior for text inputs, which was removed by
patch 2, but only halfway (for width but not max-width), which matches
Chromium and Edge.

--HG--
extra : commitid : 7uk3XdYc1LC
2016-02-04 09:43:02 +11:00
L. David Baron 76f4658435 Bug 823483 patch 4 - Make a percentage max-width override a fixed width for replaced element intrinsic size computation. r=dholbert
This just reorders the if-else chain to change which conditions are
tested first.  Prior to patch 1, the order didn't matter, but with patch
1, the order does matter, and the order that we happened to have was the
opposite of the one that matches Chromium and Edge.

--HG--
extra : commitid : 6sFft3gnM2g
2016-02-04 09:43:02 +11:00
L. David Baron edba326f06 Bug 823483 patch 3 - Limit effect of percentage width and max-width on intrinsic size to elements with replaced element sizing. r=dholbert
This reduces the set of elements to which this quirky behavior applies.

This matches the behavior of Chromium and Edge.

--HG--
extra : commitid : 9qz7ODJhNzS
2016-02-04 09:43:02 +11:00
L. David Baron 660813c2ee Bug 823483 patch 1 - Check for percentage max-width in addition to percentage width when deciding to ignore intrinsic min-width of replaced elements. r=dholbert
This (modulo changes in later patches) matches the behavior of Chromium
and Edge.  It increases the set of elements to which this quirky
behavior applies.

--HG--
extra : commitid : 4nWEgnUB0rt
2016-02-04 09:43:02 +11:00
Birunthan Mohanathas d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Phil Ringnalda d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas 373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Kyle Huey 91efc5a86c Bug 1241764: Replace nsPIDOMWindow with nsPIDOMWindowInner/Outer. r=mrbkap,smaug 2016-01-30 09:05:36 -08:00
Ting-Yu Lin 1889f6bc41 Bug 1227927 Part 2 - Remove nsIFrame::GetFirstPrincipalChild(). r=mats
--HG--
extra : commitid : 5qtaK1nS8RC
extra : rebase_source : dcc98f423b2446269beb6fa6a9d092ae8213f38e
2016-01-29 22:42:14 +08:00
CJKu 538b854ad1 Bug 686281 - Rename *background* to *imagelayer*; r=dbaron. 2016-01-28 06:27:00 +01:00
CJKu 2d363d1b79 Bug 686281 - Implement nsStyleImageLayers; r=dbaron 2016-01-28 06:24:00 +01:00
Xidorn Quan 072dccd81f Bug 1230034 part 6 - Convert all frame properties which do not hold pointer to be typed. r=dbaron
--HG--
extra : source : f95f143e0e521ad2f8726097a484de402c834620
2016-01-28 14:23:59 +11:00
Xidorn Quan 3d2d63b674 Bug 1229437 part 1 - Add a helper function to get the float containing block of a given frame. r=dbaron
--HG--
extra : source : 68184623d2b2f1eeaa17fd6d2a5114fb7caa65f8
2016-01-27 16:58:53 +11:00
Timothy Nikkel 6a8edbd624 Bug 1241371. Don't schedule an image visibility update every time display port margins change. r=kats
Displayport margins change by small amounts on almost every single scroll. We do not want to update image visibility nearly that often.

As the comment, and the original bug (bug 1169881) suggest this is only meant to catch rather large changes in display ports as we already have means to trigger an image visibility update via a scroll position change and via any style or layout flush.
2016-01-22 00:29:17 -06:00
Randall Barker 725817b232 Bug 1231517 - part 1, Move GetBoundingContentRect to nsLayoutUtils r=botond 2016-01-20 16:24:57 -08:00
Kartikaya Gupta a1c2f88721 Bug 1226826 - Record paint times in the checkerboard event. r=botond
--HG--
extra : commitid : CygYKO4FVuh
2016-01-15 16:19:59 -05:00
Nigel Babu ecae6cd9a5 Backed out 4 changesets (bug 1226826) for widespread bustage
Backed out changeset 95d373bec568 (bug 1226826)
Backed out changeset bb9970d440a4 (bug 1226826)
Backed out changeset 6c1fa0dc6bd7 (bug 1226826)
Backed out changeset 400ebf504171 (bug 1226826)

--HG--
extra : commitid : D1zZSeIHTOA
2016-01-14 08:33:11 +05:30
Kartikaya Gupta a7478cbca5 Bug 1226826 - Record paint times in the checkerboard event. r=botond
--HG--
extra : commitid : kX3Eye3aq0
2016-01-13 15:46:08 -05:00
Timothy Nikkel 50fcf29623 Bug 1237813. Refactor nsLayoutUtils::FindScrollableFrameFor to use GetScrollFrameFromContent. r=botond 2016-01-12 00:14:30 -06:00
Daniel Holbert 2c0dc8a8a0 Bug 1238777: Bail early from ComputeSnappedImageDrawingParameters if we're somehow drawing from a 0-sized subimage. r=tn 2016-01-11 17:56:41 -08:00
Timothy Nikkel f133357987 Bug 1237825. Find the root scroll frame even if the root element doesn't have a primary frame. r=mstange
Even though the content of the root scroll frame is the root element, the primary frame of the root element is never the root scroll frame. This is even true if the normal primary frame of the root element is not created (say because it is display: none). Leaving the primary frame of the root element to be null even though there are frames (the root scroll frame, and the canvas frame) that have the root element as their content.

This behaviour is more consistent by not ignoring a root scroll frame when it exists.
2016-01-11 00:02:43 -06:00
Timothy Nikkel 4ec53b3bfa Bug 1234725. Don't change the dirty rect to the display port when building display lists for documents. r=mstange
Instead do it when we first encounter the root scroll frame.

Doing this goes back to bug 635053, where we did it because fixed position items weren't getting included. However in bug 974643 we learned that this was wrong. Displayports aren't relevant to fixed pos content, displayports are only relevant to scrolled content. And we set the dirty rects of fixed pos content specially. The only other thing that should be affected is scrollbars, and we already carefully set their dirty rects too.
2016-01-09 00:25:58 -06:00
Randall Barker 3a71488eda Bug 1233056 - Long tapping on a link will select a different link from the page r=tnikkel
Long tapping would fail when Java Pan-Zoom was enabled in Fennec.
2016-01-08 20:22:07 -08:00
Tooru Fujisawa 4fac62d240 Bug 382721 - Part 0: Add missing includes and namespaces. r=jrmuizel 2015-09-10 19:24:34 +09:00
Timothy Nikkel 6a24899c5f Bug 1194851. Change the GetDisplayPort API to take an optional RelativeTo parameter, instead of having that expressed in the function name. r=botond 2016-01-07 18:27:49 -06:00
Timothy Nikkel 4e74899f7a Bug 1194851. Rename GetDisplayPortRelativeToScrollPort back to GetDisplayPort. r=botond 2016-01-07 18:27:49 -06:00
Timothy Nikkel 3c7c901321 Bug 1194851. Split GetDisplayPort callers into GetDisplayPortRelativeToScrollPort and GetDisplayPortRelativeToScrollFrame. r=botond
Temporarily rename GetDisplayPort to GetDisplayPortRelativeToScrollPort for the duration of this patchset.

This means that every caller of GetDisplayPort is guaranteed to be touched by this patchset (assuming it compiles), and thus each call site can be checked in review to make sure it is relative to the correct coordinate system.
2016-01-07 18:27:49 -06:00
Timothy Nikkel a83245ddd4 Bug 1194851. Change GetDisplayPortForVisibilityTesting into GetDisplayPortRelativeToScrollFrameForVisibilityTesting since it has only one user. r=botond
Also update the other image visibility GetDisplayPort. It will get changed to GetDisplayPortRelativeToScrollFrameForVisibilityTesting in another bug.
2016-01-07 18:27:49 -06:00
Timothy Nikkel 859f318413 Bug 1194851. Introduce GetDisplayPortRelativeToScrollFrame. r=botond 2016-01-07 18:27:49 -06:00
Timothy Nikkel f42493831a Bug 1194851. Change GetOrMaybeCreateDisplayPort into just MaybeCreateDisplayPort, and make it only return a bool, and not the displayport rect. r=botond
This makes the one caller that needs the displayport rect have to ask for it seperately.

The reason for this is later in the patch series we need to add "RelativeToScrollFrame/Port" to all displayport getters, but there is no semantically good way to do that to the name GetOrMaybeCreateDisplayPort.
2016-01-07 18:27:48 -06:00
Timothy Nikkel bf347397f1 Bug 1194851. Make ViewportHasDisplayPort only return a bool, not the displayport rect. r=botond
This makes the one caller that needs the displayport rect have to ask for it seperately.

The reason for this is later in the patch series we need to add "RelativeToScrollFrame/Port" to all displayport getters, but there is no semantically good way to do that to the name ViewportHasDisplayPort.
2016-01-07 18:27:48 -06:00
Timothy Nikkel cb06741b61 Bug 1237086. When getting the displayport for a content node if there is no root scroll frame just use the primary frame of the content node. r=botond
XUL documents don't have a root scroll frame, so this would early return and prevent any of the tiling and max texture size code from running.

The root element of XUL documents likely only ever has zero-margin displayports, and they are not scrollable, so it may not be important.
2016-01-06 20:51:01 -06:00
Kartikaya Gupta 5e3b5adcf2 Bug 1219352 - Update a couple of bool-setters to take a bool argument. r=botond
--HG--
extra : commitid : BSeR1YwEqNy
2016-01-06 20:50:01 -05:00
Nicholas Nethercote 5721b2ad2e Bug 1232852 (part 5) - Remove some unused parameters in and around layout/base/. r=heycam.
--HG--
extra : rebase_source : 3f114d32650a260fe2eda847f24c2967a9d94185
2016-01-05 16:08:17 -08:00
Eric Rahm b73c259457 Bug 1208584 - Silence unconstrained size warning by default. r=jfkthame
--HG--
extra : rebase_source : 910f4075078362dc28e15ce34e64a89f6aa639b2
2016-01-05 15:46:43 -08:00
Morris Tseng 084b138ad2 Bug 1024149 - Use element size for upload texture when using SVG image. r=jgilbert r=roc
--HG--
extra : commitid : E5x4DxqzQ3k
2016-01-05 17:51:04 +08:00
Botond Ballo b65904a270 Bug 1194851 - Remove the second parameter of IsFixedPosFrameInDisplayPort(). r=kats
No one was using it.

--HG--
extra : source : cf1a0a7146c18850f7619974bad31f888e7e1402
2015-12-16 17:58:52 -05:00
Botond Ballo b9aee9ebb5 Bug 1194851 - Add helper functions HasDisplayPort() and HasCriticalDisplayPort(). r=kats
This makes it clearer whether we're just checking if a displayport exists,
or we're actually consuming its value.

--HG--
extra : source : 70bb222e860669a6cf6e803dbd57f088ca4fbc04
2015-12-16 17:22:23 -05:00
Nicholas Nethercote 06e901cb9f Bug 1231550 - Use DrawTarget instead of gfxContext and/or nsRenderingContext in many places in font/text code. r=jfkthame.
AutoTextRun now only needs a DrawTarget instead of an nsRenderingContext, and
similar nsRenderingContext/gfxContext-to-DrawTarget replacements can be
propagated a long way up the call graph. This patch replaces 93 occurrences of
nsRenderingContext and 135 occurrences of gfxContext with DrawTarget; that's
13% of them.

The patch is mostly plumbing changes. A couple of not-entirely-plumbing
changes:

- It adds a comment about the null check in
  gfxGlyphExtents::GetTightGlyphExtentsAppUnits().

- A couple of functions simply had an unused gfxContext or nsRenderingContext
  parameter removed, e.g. SetLineBreaks().

--HG--
extra : rebase_source : 8f56994bb4d254a86788b17ab2864ebc758a7e6b
2015-12-15 13:56:41 -08:00
Lee Salzman 9a71f879e0 Bug 1230686 - use RefPtr<DrawTarget>& instead of DrawTarget* to track changes in SurfaceFromElement. r=jmuizelaar 2015-12-29 10:41:43 -05:00
Chris Peterson 83fb38f729 Bug 1235306 - Fix -Wimplicit-fallthrough warnings in layout/. r=dholbert
layout/base/nsCSSRendering.cpp:3913:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/nsCSSRendering.cpp:3943:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/nsCSSRendering.cpp:4066:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/nsCSSRendering.cpp:4096:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/nsCSSRenderingBorders.cpp:646:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/nsLayoutUtils.cpp:4639:9 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/nsLayoutUtils.cpp:4659:9 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/nsLayoutUtils.cpp:5004:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/nsLayoutUtils.cpp:5200:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/TouchManager.cpp:192:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/base/TouchManager.cpp:196:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsFlexContainerFrame.cpp:2497:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsFlexContainerFrame.cpp:2687:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsFlexContainerFrame.cpp:2973:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsFrame.cpp:4277:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsFrame.cpp:4310:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsFrame.cpp:4313:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsFrame.cpp:6703:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsFrame.cpp:6751:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsGridContainerFrame.cpp:2649:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsGridContainerFrame.cpp:935:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsHTMLReflowState.cpp:1141:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsHTMLReflowState.cpp:1145:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsHTMLReflowState.cpp:1148:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsLineLayout.cpp:2942:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsLineLayout.cpp:2958:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsLineLayout.cpp:3134:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/generic/nsLineLayout.cpp:3150:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/printing/nsPrintPreviewListener.cpp:199:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/CSSLexer.cpp:129:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/Declaration.cpp:1069:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/Declaration.cpp:366:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/Declaration.cpp:442:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/Declaration.cpp:981:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsComputedDOMStyle.cpp:3597:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsComputedDOMStyle.cpp:3616:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsComputedDOMStyle.cpp:539:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsComputedDOMStyle.cpp:540:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsComputedDOMStyle.cpp:542:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10628:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10630:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10671:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10673:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10769:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10770:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10774:43 [-Wimplicit-fallthrough] fallthrough annotation does not directly precede switch label
layout/style/nsCSSParser.cpp:10775:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10776:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:10780:43 [-Wimplicit-fallthrough] fallthrough annotation does not directly precede switch label
layout/style/nsCSSParser.cpp:2542:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:2715:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:4124:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:4313:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9513:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9697:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9699:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9743:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9745:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9826:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9827:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9832:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9833:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsCSSParser.cpp:9980:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsRuleNode.cpp:160:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsRuleNode.cpp:187:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsRuleNode.cpp:722:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/nsRuleNode.cpp:753:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/StyleAnimationValue.cpp:139:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/StyleAnimationValue.cpp:1687:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/style/StyleAnimationValue.cpp:1869:7 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/FixedTableLayoutStrategy.cpp:264:13 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/FixedTableLayoutStrategy.cpp:267:13 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsCellMap.cpp:1043:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsCellMap.cpp:930:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsCellMap.cpp:953:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsCellMap.cpp:997:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:6943:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:6953:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:6959:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:6966:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:6974:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:7151:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:7161:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:7170:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:7177:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableFrame.cpp:7186:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/nsTableRowFrame.cpp:663:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/SpanningCellSorter.cpp:112:9 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/SpanningCellSorter.cpp:142:9 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/tables/SpanningCellSorter.cpp:157:9 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/xul/nsResizerFrame.cpp:86:13 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/xul/nsResizerFrame.cpp:87:13 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/xul/nsResizerFrame.cpp:88:13 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/xul/nsResizerFrame.cpp:90:13 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/xul/nsSliderFrame.cpp:551:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/xul/nsSliderFrame.cpp:560:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
layout/xul/nsXULPopupManager.cpp:2268:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
2015-11-22 21:33:47 -08:00
David Anderson bbce6296fd Turn apz.use_paint_duration off. (bug 1192919 part 4, r=kats)
--HG--
extra : commitid : 9gfykJXaFJE
2015-12-21 09:36:36 -05:00
Morris Tseng 25c5294a43 Bug 1172796 - Part 5: Implements OffscreenCanvas::TransferImageBitmap. r=roc r=smaug
--HG--
extra : commitid : 4XzkGVfRcHJ
2015-12-18 14:52:17 +08:00
Kartikaya Gupta e0c2c8e4f0 Bug 1228597 - Clean up code paths that (un)apply a pres shell resolution. r=tn,botond
A clear separation is introduced between paths that deal with a root
document resolution (at the process boundary in e10s setups) and paths
that deal with a non-root document resolution (elsewhere in Layout code).

This allows both code paths to run on all platforms.

--HG--
extra : source : 22bf09630803392dba3052a3f79691475af0c5e2
2015-11-30 19:13:20 -05:00
Botond Ballo 1cb64f6960 Bug 1228597 - Remove the MOZ_SINGLE_PROCESS_APZ define. r=tn
Code previously guarded by this (added in bug 1224015) will now run
unconditionally.

--HG--
extra : source : ce0f51f55572334002ddf1878db447540d4c9b82
2015-11-27 21:39:07 -05:00
Brian Birtles 885593747b Bug 1230056 part 2 - Remove nsLayoutUtils::HasAnimationsForCompositor and call EffectCompositor::HasAnimationsForCompositor directly; r=dholbert 2015-12-09 16:28:10 -05:00
Brian Birtles c70be15294 Bug 1230056 part 1 - Add EffectCompositor::HasAnimationsForCompositor; r=dholbert 2015-12-09 16:28:10 -05:00
Boris Zbarsky dd3649596b Bug 930218 part 2. Account for the parent's box-sizing whe figuring out the percentage height of a kid with an intrinsic ratio for purposes of determining the parent's shrink-wrap width. r=dbaron 2015-12-08 14:56:20 -05:00
Boris Zbarsky 4f0644472a Bug 930218 part 1. Factor out the computation of block-size taken up by box-sizing into a separate function so we can reuse it. r=dbaron 2015-12-08 14:56:04 -05:00
Nicholas Nethercote ac18a09064 Bug 1230413 (part 4) - Remove unused nsRenderingContext argument from ForceBreak() and OptionallyBreak(). r=mattwoodrow.
--HG--
extra : rebase_source : 750496661635e7db65b26c625834f2d14a1b3e59
2015-12-06 14:13:57 -08:00
Brian Birtles 13bc863699 Bug 1226118 part 10 - Use EffectCompositor::GetAnimationsForCompositor in nsLayoutUtils; r=dholbert 2015-12-04 08:34:17 +09:00
Brian Birtles f409225f4c Bug 1226118 part 2 - Use EffectSet in nsLayoutUtils animation functions; r=dholbert 2015-12-04 08:32:52 +09:00
Nicholas Nethercote 81c4b5301c Bug 1229237 (part 5) - Make Update{Opaque,WindowDragging}Region() take a LayoutDeviceIntRegion. r=botond.
--HG--
extra : rebase_source : 08d12c48bd6fb086a1d27a8169b1a423534e03f7
2015-11-25 21:42:59 -08:00
Kartikaya Gupta 01ade73317 Bug 1229853 - Don't apply the displayport multiplier if we don't have a frame for the element the displayport is set on. r=tn 2015-12-02 16:44:21 -05:00
Nicholas Nethercote e60696c015 Bug 1228125 (part 1) - Remove nsIWidget::GetBoundsUntyped(). r=botond.
This requires adding a new overloading of LayoutDevicePixel::ToAppUnits and a
new PixelCastJustification: LayoutDeviceIsParentLayerForRCDRSF.

--HG--
extra : rebase_source : b6d044619918818815b40c1173aa4e0551db28a1
2015-11-25 20:32:47 -08:00
Xidorn Quan 7b1f42e5c6 Bug 1202940 part 2 - Remove layout.css.ruby.enabled pref. r=dbaron
--HG--
extra : source : bb1c73598b74195f9877b189f2e2e19fb1eb0fc0
2015-12-01 09:39:37 +11:00
Randall Barker c3c082c5dd Bug 1224015 - Part 3: ifdef changes to C++APZ so that they only apply to single process APZ. r=tnikkel
Added MOZ_SINGLE_PROCESS_APZ flag.
2015-11-26 20:51:13 -06:00
Randall Barker 73d7c06ec0 Bug 1224015 - Part 1: nsLayoutUtils functions do not account for nsPresShell resolution r=tnikkel 2015-11-26 20:51:13 -06:00
Matt Woodrow c684f27337 Bug 1168263 - Remove TransformRectOut since it's unused. r=roc 2015-11-26 22:32:35 +13:00
Ting-Yu Lin 78fb3c80ac Bug 1226875 - Remove nsIFrame::GetLastChild(). r=mats
--HG--
extra : commitid : J8NTL74JosY
extra : rebase_source : ea686ef5e1bd5d59701ffb4c309c9ff9d0435beb
2015-11-26 17:12:39 +08:00
Ting-Yu Lin 79afc81f6e Bug 1226875 - Remove nsIFrame::GetFirstChild(). r=mats
--HG--
extra : commitid : J8NTL74JosY
extra : rebase_source : 50a196905ac06d09fea17bb1aa17efe821cc7cbb
2015-11-26 17:12:39 +08:00
Jeff Gilbert 19d84fb0fe Bug 1221822 - Finish the WebGL texture refactor. r=kamidphish,mattwoodrow,bz 2015-11-24 20:15:29 -08:00
Matt Woodrow 41a4ad2285 Bug 1222880 - Build a tree of AnimatedGeometryRoots to speed up traversal of ancestors. r=roc,tn 2015-11-25 11:53:51 +13:00
Phil Ringnalda 71a6f5da62 Back out changeset 2f614bcd9405 (bug 1221822) for test_conformance__extensions__ext-sRGB.html and test_webgl2_alpha_luminance.html failures 2015-11-23 21:55:59 -08:00
Jeff Gilbert 87397c265b Bug 1221822 - Finish the WebGL texture refactor. r=kamidphish,mattwoodrow,bz 2015-11-23 19:27:13 -08:00
Mason Chang e74c79f0e3 Bug 1221840. Support repeating images in 1 axis. r=seth 2015-11-23 08:17:35 -08:00
Kartikaya Gupta 3f1887d8f0 Bug 1226872 - Remove unnecessary wrapper methods in nsLayoutUtils. r=roc
--HG--
extra : commitid : 6XdZwhzPuoM
2015-11-23 09:14:18 -05:00
Kartikaya Gupta c460ebbd06 Bug 1226872 - Stop keeping a copy of the resolution in the root scrollframe. r=roc
The only reason we had this in the scrollframe at all was so that it could be
saved/restored as part of the frame state when leaving a page and then going
back to it. However we can accomplish this by just reading/writing the resolution
from/to the presshell instead, so there's no need to keep a second copy of it.

--HG--
extra : commitid : J4QBfG2GGjn
2015-11-23 09:14:15 -05:00
L. David Baron 8edfb62b0c Bug 1223653 patch 2 - Use an enum class for NS_STYLE_BOX_SIZING_*. r=heycam
The casts in nsCSSProps.cpp (defining kBoxSizingKTable) and in
nsComputedDOMStyle::DoGetBoxSizing (using
nsCSSProps::ValueToKeywordEnum) are a little bit annoying, though aren't
a net reduction in typesafety.

The casts in nsRuleNode.cpp (SetDiscrete) are a little more annoying,
though the change in this patch should be sufficient for converting all
properties -- but that may also mean reducing typesafety a bit for all
properties.

I'd like to find something better to do about them, but I think I'm ok
landing this before doing that.  Bug 1224918 covers doing better.

--HG--
extra : commitid : GEVyZB5b23F
2015-11-19 18:09:29 -08:00
L. David Baron f4b9c949b7 Bug 1224464 patch 2 - Make nsCSSProps keyword tables be arrays of structs, to represent what they logically are. r=heycam
--HG--
extra : commitid : 5YOv7qQkUeW
2015-11-19 18:08:57 -08:00
Tobias Schneider 1262c58ac3 Bug 1221677 - "[css-grid] Put the 'subgrid' support behind a pref, disabled by default". r=mats 2015-11-13 13:15:00 +01:00
Timothy Nikkel 2dbd0146a5 Bug 1223639. Rename ForceInside to MoveInsideAndClamp so it's clearer what it does. r=botond
This has led to confusion at least twice.
2015-11-11 16:38:25 -06:00
Timothy Nikkel 518ea0ea30 Bug 1223639. Use ForceInside to constrain the displayport rect to the scrollable rect instead of intersect. r=botond
ForceInside shifts the rect first, and then clamps if needed. So the displayport doesn't get shrunk unnecessarily.

Bug 1191539 fixed this bug by applying ForceInside to the screen rect of the display port, which happens before the incorrect Intersect call.

It's better to remove the Intersect call and just do ForceInside once at the end to the final display port rect.

Bug 957668 introduced this bug by using Intersect instead of ForceInside when copying the code from AsyncPanZoomController::CalculatePendingDisplayPort when creating the code that computed a displayport rect from displayport margins.
2015-11-11 16:38:24 -06:00
Botond Ballo 6a70e1aa18 Bug 1222661 - Replace FromUntyped(obj) calls with FromUnknown*(obj). r=nical
--HG--
extra : rebase_source : c1afe8560b838e1a3be0ce50847861b1815d3dc9
extra : source : d649f163c825736efaf3ac3ad73040beeb48a6ef
2015-11-09 18:22:25 -05:00
Bas Schouten 0c86230a51 Bug 1210560 - Part 6: Convert code to support non-operator OVER in nsCSSRendering to moz2d. r=roc 2015-11-11 16:15:40 +01:00
Kartikaya Gupta 733738df2c Bug 1214267 - Send the side to which fixed-pos items are attached so that we can move them in the compositor more correctly when the viewport size is changing. r=mattwoodrow
--HG--
extra : commitid : ALBL7XCsNm0
2015-11-11 10:07:29 -05:00
Jamie Nicol 7f20521a78 Bug 1223479 - Fix displayport size calculation on fennec. r=kats
The displayport was accidentally being calculated as too large. This was
leading to a large number of tiles existing at once, causing very high
memory usage.
2015-11-11 09:38:12 +00:00
Kartikaya Gupta 795d8736fd Bug 1205087 - Cache the AnimatedGeometryRoot on DisplayItem. r=roc 2015-10-05 17:09:34 -04:00
Nicholas Nethercote ad0dd8414a Bug 1223310 (part 2) - Use LayoutDeviceIntRect for bounds-related functions in nsIWidget. r=kats.
The patch renames the existing functions (GetBounds(), GetClientBounds(), etc)
by adding an |Untyped| suffix. It then adds typed equivalents, and uses those
typed equivalents in all the call sites where it's easy to do so. The trickier
remaining call sites are converted to use the Untyped-suffix version.

--HG--
extra : rebase_source : 6bfb15bfc4698e2eba7d4db55497299d3dffcd51
2015-11-09 21:37:32 -08:00
Jonathan Kew e735d0520a Bug 1122918 - Put the logical values for 'float' and 'clear' behind a pref, and enable them only on nightly builds and for B2G. r=heycam 2015-11-10 09:07:01 +00:00
Timothy Nikkel d180a1153d Bug 1221870. Make fixed pos items always find the root scroll frame when looking for the nearest scrollable. r=botond
Not just when it's the root document.
2015-11-09 18:21:40 -06:00
Timothy Nikkel ae9c7ca837 Bug 1208780. Set a zero-margin displayport on all scrollable ancestors of frames with displayports if they don't already have a displayport. r=botond 2015-11-05 18:57:17 -06:00
Timothy Nikkel 528864b6be Bug 1215977. Add a flag for GetNearestScrollable that makes fixed pos frames return the root scroll frame of their document. And make APZCCallbackHelper use it to restore previous behaviour. r=botond
We may want to do this for fixed pos frames in all documents (not just root documents). However, this patch only maintains the previous behaviour on purpose.
2015-11-04 19:51:03 -06:00
Timothy Nikkel 8fedb37cdc Bug 1215977. Only match the root scroll frame in GetNearestScrollableFrame if we encounter it. r=botond
Instead of returning the root scroll frame if we encountered the root frame (which is the parent of the root scroll frame).

This allows the use of GetNearestScrollableFrame to walk up the frame tree without getting into a infinite loop going from root scroll frame to root frame and back.

This regresses bug 1105823 in that fixed pos frames will no longer find the root scroll frame of their document. The next patch will fix that.

The only other type of frame that will be affected when calling GetNearestScrollableFrame are viewport (root) frames. However, the only user of SCROLLABLE_ALWAYS_MATCH_ROOT (APZCCallbackHelper) calls GetNearestScrollableFrame on the result of a hit test on a display list. Viewport frames never create any display items whose HitTest function could return the viewport frame.
2015-11-04 19:51:03 -06:00
Timothy Nikkel b9113902fc Bug 1215974. In GetNearestScrollableFrame don't skip the root scroll frame if we are asked to always match the root scroll frame even if it doesn't WantAsyncScroll(). r=botond
SCROLLABLE_ALWAYS_MATCH_ROOT should take precendence over SCROLLABLE_ONLY_ASYNC_SCROLLABLE as if we fail to find the root scroll frame we will have no usable scroll frame at all.
2015-11-04 19:51:03 -06:00
Mats Palmgren a09faf6998 Bug 1176775 part 1 - [css-grid] Implement "Implied Minimum Size of Grid Items" (special min-width/height:auto behavior). r=dholbert 2015-11-03 21:45:33 +01:00
Kartikaya Gupta 2a13672d4b Bug 1141884 - Handle wheel events on the main thread if the frame has snapping. r=dvander,mstange
--HG--
extra : commitid : Jw0Kdhy4ob6
2015-11-03 14:21:40 -05:00
Timothy Nikkel fab15510f7 Bug 1156238. Fix the computation of animated geometry roots for transform items. r=mattwoodrow
Removing the "stop at ancestor" parameter from functions that compute AGR meant that nsLayoutUtils::GetAnimatedGeometryRootFor could no longer pass the display item's reference frame as the "stop at ancestor" which meant that the AGR could cross the reference frame for the item, which we don't want. So we make transformed frames into AGRs.

This makes the computation of display items whose frames are transformed tricky. We need the AGR of the transform item to be the ancestor AGR, not the underlying frame of the transform item (which is now an AGR). So we modify nsLayoutUtils::GetAnimatedGeometryRootFor to handle this. (The patch from bug 1205087 didn't suffer from this problem because it special cased the computation of the AGR of transform items. Leaving anybody who called nsLayoutUtils::GetAnimatedGeometryRootFor to get the wrong result.)

The computation of the AGR for scroll metadata in ContainerState::ProcessDisplayItems specifically bypassed nsLayoutUtils::GetAnimatedGeometryRootFor to avoid it's special processing of fixed background items. However we do want the AGR for scroll metadata to do this special processing of transform items. So we add a flag to bypass the fixed background behaviour and use it for the scroll metadata AGR.
2015-11-03 02:03:47 -06:00
Matt Woodrow cf0b78ff4c Bug 1156238. Always stop at the root reference frame when looking for an animated geometry root. r=roc,mattwoodrow
This removes the "aStopAtAncestor" argument to agr computing functions. In most cases an AGR was passed for the stop at ancestor, so we'd stop at it anyway since it was an AGR. Most of the remaining cases the root reference frame was passed. And in a few cases something else was passed, which we probably don't want (returning something that isn't an AGR and isn't the root reference frame as an AGR).

The ShouldFixToViewport case is a little tricky. We want to get the AGR of the nearest viewport frame, but only if we don't have to cross our root reference frame to get it. This happens in practice for example when a select dropdown has background-attachment: fixed inside it.

Except for the ShouldFixToViewport bit, this patch is a subset of part 3 in bug 1205087 (which has more changes, and has been temporarily backed out, the remaining bits can hopefully land soon).

The ShouldFixToViewport part is by Timothy Nikkel <tnikkel@gmail.com>
2015-11-03 02:03:47 -06:00
Timothy Nikkel f1cb02157d Bug 1215356. When setting a display port, schedule paint on that frame, not the root frame of the document. r=mattwoodrow
If we set a display port on an element in a popup we need to repaint the popup, not the main window.
2015-11-01 11:45:40 -06:00
Milan Sreckovic 33b10a1074 Bug 1214802 - gfxEnv - consolidate environment variables used by the graphics code in one place. r=botond 2015-10-28 14:31:00 +01:00
Kartikaya Gupta 72ef88ba25 Bug 1212136 - Remove noisy warning that we don't have time to investigate properly. r=tnikkel 2015-10-29 11:27:00 +01:00
James Willcox 7fa8522446 Bug 1213970 - Enable APZ on iOS r=kats 2015-10-28 14:10:27 -05:00
Nathan Froyd 055e2365e3 Bug 1217939 - part 2 - move nsContentUtils::GetSelectionBoundingRect to nsLayoutUtils; r=smaug
All callers of this function are in layout/base/ and it uses a lot of
things from nsLayoutUtils, so nsLayoutUtils seems like a better fit for
it.
2015-10-23 13:39:00 -04:00
Benoit Girard ed6ac1f03b Bug 1204136 - Align DisplayPort on non-tiling platform. r=botond
--HG--
extra : commitid : LTz9E2S15m7
2015-10-13 15:19:51 -04:00
James Kitchener 1c9740d59e Bug 1011020 - Add the ability to fall back to not snapping, if snapping results in a zero area rect r=roc (relanding with correct bug number, DONTBUILD) 2015-10-17 10:18:00 -07:00
Phil Ringnalda 31d432d507 Back out changeset 2fe5dee8825d (not 1101020) for landing with the wrong bug number 2015-10-17 21:44:43 -07:00
James Kitchener 9faa73de5f Bug 1101020 - Add the ability to fall back to not snapping, if snapping results in a zero area rect r=roc 2015-10-17 10:18:00 -07:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Nathan Froyd 583afa0965 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Wes Kocher e5f3e2417f Backed out changeset b5fe97ae33f4 (bug 1204136) for m-e10s(5) failures
--HG--
extra : rebase_source : d49471e4dde51e84a789436da3c70c8e62a9964f
2015-10-15 15:50:27 -07:00
Benoit Girard 4cd87bf27e Bug 1204136 - Align DisplayPort on non-tiling platform. r=botond
--HG--
extra : commitid : BT0rkz1nhRJ
extra : rebase_source : b9f30549119244d87b41c436e194f0097f70a8e2
2015-10-13 15:19:51 -04:00
Timothy Nikkel 96fca396cf Bug 1210578. Part 3. Create DecideScrollableLayer that encapsulates all logic to create display ports and build scrollable layers. r=mstange
For root scroll frames we need information about the async scrolling (or lack thereof) of the scroll frame before we get to ScrollFrameHelper::BuildDisplayList for the scroll frame. We need it in nsLayoutUtils::PaintFrame and nsSubdocumentFrame::BuildDisplayList. So we factor out all the code responsible for async scrolling decisions into one function we can call from all three places.
2015-10-12 15:21:49 -05:00
Timothy Nikkel d566a599fe Backout part 1 of bug 1195431 (cf841511b71a). 2015-10-12 15:21:48 -05:00
Nicholas Nethercote 0f5722f4da Bug 1211324 (part 5) - Remove GraphicsFilter and gfxGraphicsFilter. r=mattwoodrow. 2015-10-05 17:18:10 -07:00
Nicholas Nethercote 4fc2610c3c Bug 1211324 (part 4) - Replace GraphicsFilter constants with gfx::Filter equivalents. r=mattwoodrow.
The conversion is as follows:

- GraphicsFilter::FILTER_NEAREST == gfx::Filter::POINT
- GraphicsFilter::FILTER_GOOD    == gfx::Filter::GOOD
- GraphicsFilter::FILTER_BEST    == gfx::Filter::LINEAR

Also typedef GraphicsFilter to gfx::Filter; this will be removed in the next
patch.

These changes mean ToFilter() and ThebesFilter() are no longer needed.
2015-10-05 17:12:46 -07:00
Nicholas Nethercote b06269a38d Bug 1211324 (part 3) - Remove GraphicsFilter::FILTER_FAST and replace it with FILTER_BEST. r=mattwoodrow.
This may sound like an odd change but it's what the current code effectively
already does due to the way ToFilter() and ThebesFilter() are defined.
2015-10-05 16:59:32 -07:00
Carsten "Tomcat" Book c1f520e05c Backed out changeset 79746e93020a (bug 1011020) for causing bug 1212267
--HG--
extra : rebase_source : 16ad5f13377beb3075b06d97a793059a575d55cb
2015-10-07 12:17:02 +02:00
James Kitchener 590b916a4a Bug 1011020 - Add the ability to fall back to not snapping, if snapping results in a zero area rect r=roc - relanding with correct bug number on a CLOSED TREE 2015-10-05 05:00:00 +02:00
Carsten "Tomcat" Book 903a88eacc Backed out 1 changesets (bug 1101020) for landing with wrong bugnumber on a CLOSED TREE
Backed out changeset 18d4a0ca8cc1 (bug 1101020)
2015-10-07 09:24:27 +02:00
James Kitchener 0eb9204d80 Bug 1101020 - Add the ability to fall back to not snapping, if snapping results in a zero area rect r=roc 2015-10-07 11:18:08 +05:30
Botond Ballo 72a3a301c4 Bug 1205511 - Use nsPresContext::DevToCSSPixelScale() where appropriate. r=kats
--HG--
extra : source : 16ed1b039eb1522f555c35e9df6e5632c69ff0a4
2015-09-28 20:14:26 -04:00
Botond Ballo 514da6416f Bug 1208661 - Show display list and layer textures in-line in the HTML paint dump. r=BenWa
--HG--
extra : rebase_source : 83b8aa0650599932297bb75aa3e9bdeed589f87b
extra : source : 9ba5b04a7a416c7cace04b2191e105aa694ff2ef
2015-09-28 15:22:05 -04:00
Botond Ballo 4daa211ca8 Bug 1208661 - Do not assume that PaintRoot()'s contributions to the HTML paint dump will all be inside a <script> tag. r=BenWa
--HG--
extra : rebase_source : f95fafa791d4a15ec215311bda0ca16c8a951dc8
extra : source : 0148877df48d9a6b402ab26db161c55f57d47bce
2015-09-25 19:23:13 -04:00
Botond Ballo 0883bb5acc Bug 1206915 - Handle nested PaintFrame() calls correctly during paint dumping. r=mattwoodrow,BenWa
--HG--
extra : source : fab68f61b2f73bbd9b1e9a0c8f542ced62da60b0
2015-09-21 19:05:44 -04:00
Botond Ballo 9836d10039 Bug 1206915 - Make paint dumping to a file e10s-friendly. r=mattwoodrow
--HG--
extra : source : 5ba62147fd9fd23faa11bafcefb752f542476c84
2015-09-21 18:44:28 -04:00
Botond Ballo 9c084c0d2e Bug 1206915 - Avoid reordering of different parts of paint dump output. r=mattwoodrow
--HG--
extra : source : b0aac5d41d2493ae03852adc38f1928ac738e505
2015-09-21 18:37:23 -04:00
Kartikaya Gupta 0123b19fc5 Back out the bits of bug 1205087 that cache the AnimatedGeometryRoot on DisplayItem. r=backout
The change breaks some scenarios with APZ scrolling, in particular the code
that layerizes the scroll handoff chain for deeply nested scrollable frames.

--HG--
extra : commitid : KeQX4HyPKXd
2015-09-28 15:17:34 -04:00
Nicholas Nethercote ff7df9ad79 Bug 1208283 (part 4) - Change FrameMetrics::mBackgroundColor from gfxRGBA to gfx::Color. r=jwatt.
This removes some ToColor() calls.

--HG--
extra : rebase_source : 05ee3e5aaa784e12c15fa42845864eacec45271f
2015-09-24 18:17:45 -07:00
Matt Woodrow c066ccca63 Bug 1205087 - Cache the AnimatedGeometryRoot on DisplayItem. r=roc 2015-09-24 18:26:36 -04:00
Matt Woodrow 55713b7206 Bug 1205087 - Make nsSVGIntegrationUtils paint frame continuations manually since combining them meant that our reference frame wasn't an ancestor of all painted frames. r=roc 2015-09-24 18:26:34 -04:00
Matt Woodrow d58f9e3efb Bug 1205087 - Remove LayerManager parameter for ShouldFixToViewport. r=roc 2015-09-24 18:25:08 -04:00
Nicholas Nethercote a37228e1fe Bug 1207944 (part 4) - Use SetColor(const Color&) when setting from an nscolor. r=jwatt.
In various places SetColor() gets passed an nscolor. These are converted
(either implicitly or explicitly) to a gfxRBGA, and then to a gfx::Color.

This patch changes all these cases to avoid the middle step, by (a)
constructing a gfx::Color directly instead of an nscolor, or (b) by converting
an nscolor with Color::FromABGR().

--HG--
extra : rebase_source : ae423a422b37ada8ca0cb6f130350b4a71d58fc4
2015-09-23 23:41:30 -07:00
Nicholas Nethercote 842dd1cf5a Bug 1207741 - Remove gfxIntSize. r=nical.
gfxIntSize is just a typedef of gfx::IntSize, so this is very mechanical. The
only tricky part is deciding for each occurrence whether to replace it with
IntSize, gfx::IntSize or mozilla::gfx::IntSize; in all cases I went with the
shortest one that worked given the existing "using namespace" declarations.

--HG--
extra : rebase_source : 67fd15f87222b16defa70ef795c6d77dfacf1c36
2015-09-23 11:49:05 -07:00
Jonathan Kew b20e9ca870 Bug 1193519 pt 5 - Expose the sideways-lr value for writing-mode to CSS. r=dholbert 2015-09-24 10:23:34 +01:00
Jonathan Kew a091884801 Bug 1193488 - Update values of writing-mode and text-orientation to reflect the CSS WG decision to revise them in the Writing Modes spec. r=dholbert 2015-09-23 22:16:01 +01:00
Kartikaya Gupta d058a7e7fe Bug 1195431 - Small refactoring to use conditionals consistently. r=tn
--HG--
extra : commitid : 70zviYNmOkz
2015-09-23 09:34:42 -04:00
Kartikaya Gupta d674ba3676 Bug 1195431 - Extract a couple of helper functions. r=tn
--HG--
extra : commitid : FK958utOKA5
2015-09-23 09:34:41 -04:00
Markus Stange add7126be5 Back out changeset 61baabe617c9 (bug 1191539) because of regressions like bug 1205863 and probably bug 1206209.
--HG--
extra : commitid : 95ws4N7uA3K
2015-09-20 01:14:15 +02:00
David Anderson 300922f68a Remove willFlushRetainedLayers, which is superceded by DLBI. (bug 1205970 part 2, r=mattwoodrow) 2015-09-18 18:45:24 -07:00
Thinker K.F. Li e1e17a72cb 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.

--HG--
extra : rebase_source : 1a894b057a117a8520898c9f83308d92c122b180
2015-09-17 03:31:00 +02:00
Thinker K.F. Li d9c38a58c1 Bug 1097464 - Part 5: Fix preserve3d wording for nsIFrame. r=roc
--HG--
extra : rebase_source : 9d30e48106871ba631aff03afd153eaf45ac954e
2015-09-17 03:31:00 +02:00
Phil Ringnalda 7171096144 Back out 2 changesets (bug 1205087) for mass bustage
CLOSED TREE

Backed out changeset 0573cd4aed27 (bug 1205087)
Backed out changeset 11a3cb42f729 (bug 1205087)
2015-09-17 19:30:42 -07:00
Matt Woodrow ad13620acc Bug 1205087 - Remove LayerManager parameter for ShouldFixToViewport. r=roc
--HG--
extra : rebase_source : a55ebf8ab3ea6cad0ff9945f9ee9857421053e0b
2015-09-17 21:03:42 -04:00
Carsten "Tomcat" Book f7534678df Backed out 6 changesets (bug 1097464) for causing OS X 10.10 Reftest Errors
Backed out changeset fbf63ce1ba88 (bug 1097464)
Backed out changeset fdaf4cfa6707 (bug 1097464)
Backed out changeset 727ebd9f744a (bug 1097464)
Backed out changeset 03f03a776042 (bug 1097464)
Backed out changeset 5ec6364b87d7 (bug 1097464)
Backed out changeset 47d056b3af7f (bug 1097464)

--HG--
extra : rebase_source : e2da133b489e4adba373303dad6e559826927e19
2015-09-17 16:24:43 +02: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
Olli Pettay 68663347da Bug 1205466, make HasApzAwareListeners check faster, r=masayuki
--HG--
extra : rebase_source : 41c94b02117a09785938349dc9ad513af9bf048b
2015-09-17 13:16:20 +03:00
Benoit Girard 30a1ad2268 Bug 1191539 - Don't further increase the size of the displayport when rounding up. r=kats
--HG--
extra : commitid : 4Y78gwVp4Zq
2015-09-15 16:45:02 -04:00
Robert Longson 0c7534f0a8 Bug 1175492 - unpref transform-origin percentage handling for SVG elements r=jwatt 2015-09-15 22:10:48 +01: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
Benoit Girard 282b6c7b96 Bug 1191539 - DisplayPort should ForceInside frameRect to match compositor DisplayPort. r=kats
--HG--
extra : commitid : Ee4ufF6D1Pm
extra : rebase_source : a0eb0d18b98cff49c82dd3e9f59e8461c4f0b3c0
2015-09-09 14:41:38 -04:00
Matt Woodrow 6e6e6105aa Bug 1202029 - Use the containing block for determining perspective for transformed elements. r=dbaron
--HG--
extra : rebase_source : f8a1403a77e71179aca097e26567bcb3b7c1848b
2015-09-14 14:17:40 -04:00
Kartikaya Gupta 8f2b8f8996 Bug 1202290 - Remove special-case condition for Fennec that is not needed any more. r=tn
The special-case was added back when the Fennec dynamic toolbar showing/hiding
behaviour didn't resize the content area. As of bug 1180295 that is no longer
the case, and showing/hiding the dynamic toolbar *does* resize the content area.
Therefore the widget bounds always represents the actual content area and can
be used directly as the composition bounds.

In addition, the special-case code relied on a particular quirk of the Fennec
CSS viewport determination code which was removed in bug 1180267. The quirk was
that the CSS viewport height was always set such that it would cover the
available screen height when the page was zoomed out to the minimum allowed
zoom. This behaviour was technically incorrect as it would ignore any height
properties provided in the meta-viewport tag. Now that this quirk has been
removed, the special-case code breaks because the root frame's height is
independent of the screen height and can result in an incorrect composition
bounds.

--HG--
extra : commitid : 69FDhj50WEN
2015-09-09 23:22:19 -04:00
Mats Palmgren 685fccb096 Bug 1174553 part 2 - Move the AddPercents function into a static method in the nsLayoutUtils class. r=dholbert 2015-09-04 22:06:57 +02:00
Mats Palmgren 44d4f3b05b Bug 1174553 part 1 - Add a new flag (BAIL_IF_REFLOW_NEEDED) for IntrinsicForWM() that makes it return early with a NS_INTRINSIC_WIDTH_UNKNOWN result if a reflow is needed to determine the child's correct BSize. r=dholbert 2015-09-04 22:06:57 +02:00
Mats Palmgren bbb026b9f4 Bug 1174546 part 1 - Introduce nsLayoutUtils::MinSizeContributionForAxis which calculates an intrinsic size contribution from aFrame's 'min-width' property (or 'min-height' if the given axis is vertical) and the corresponding border, padding and margin values. r=jfkthame 2015-09-04 22:06:57 +02:00
David Anderson 99013f5fcf Hoist scroll info items above inactive blur containers. (bug 1193557 part 1, r=mstange) 2015-09-04 17:17:50 -07:00
Wes Kocher 99c36f1e96 Backed out changeset 24cd0974b365 (bug 1174546) for reftest bustage 2015-09-04 16:23:01 -07:00
Wes Kocher 95b85d4c58 Backed out changeset 25537ff71d2b (bug 1174553) 2015-09-04 16:22:40 -07:00
Wes Kocher ad2d2381f0 Backed out changeset eea3ecbb5983 (bug 1174553) 2015-09-04 16:22:38 -07:00
Mats Palmgren c80456a8fb Bug 1174553 part 2 - Move the AddPercents function into a static method in the nsLayoutUtils class. r=dholbert 2015-09-04 22:06:57 +02:00
Mats Palmgren 2df2316058 Bug 1174553 part 1 - Add a new flag (BAIL_IF_REFLOW_NEEDED) for IntrinsicForWM() that makes it return early with a NS_INTRINSIC_WIDTH_UNKNOWN result if a reflow is needed to determine the child's correct BSize. r=dholbert 2015-09-04 22:06:57 +02:00
Mats Palmgren ebc2ad4495 Bug 1174546 part 1 - Introduce nsLayoutUtils::MinSizeContributionForAxis which calculates an intrinsic size contribution from aFrame's 'min-width' property (or 'min-height' if the given axis is vertical) and the corresponding border, padding and margin values. r=jfkthame 2015-09-04 22:06:57 +02:00
Benoit Girard 845f7b2f8b Backout 758f3df6c016 (bug 1191539) for causing checkerboarding on android
--HG--
extra : commitid : C21HwD8YzwJ
extra : rebase_source : fb320940b4f626dfed527e2c7e13f4e8d642164e
2015-09-03 14:24:56 -04:00
Kearwood (Kip) Gilbert cbc7ba3ddb Bug 1157984 - Part 3: Correct bounding box transformations to support projections and correct clipping when transforming behind the camera,r=vlad
- Update callsites of Matrix4x4::TransformBounds to use
  Matrix4x4::TransformAndClipBounds.

--HG--
extra : rebase_source : a1aa889af56e404b7ca5c7125021171e67a0b8bf
2015-08-06 17:26:09 -07:00
Kartikaya Gupta 95631466e1 Bug 1185747 part 3 - Rip out code to explicitly override the CSS viewport. r=tn
--HG--
extra : commitid : KeYHVLqoKK0
2015-09-01 16:47:52 -04:00
Xidorn Quan 300011c44e Bug 1197765 - Compare text content inside frame instead of the content node for ruby autohiding. r=dbaron
--HG--
extra : source : d265d1e03757b1f886e435ef9b60aa962787e676
2015-09-01 09:24:37 +10:00
Masayuki Nakano 6ecfef2cde Bug 895274 part.5 Rename NS_EVENT_NULL to eVoidEvent r=smaug 2015-08-29 08:58:26 +09:00
Benoit Girard 411ab85eaa Bug 1191539 - DisplayPort should ForceInside frameRect to match compositor DisplayPort. r=kats
--HG--
extra : commitid : ptd0dqCx1S
extra : rebase_source : fd3e1c04e7c21362c7496d32139ff9f30c2b2d5c
2015-08-27 14:21:58 -04:00
Benoit Girard 074eb08eb1 Bug 1186662 - Part 1: Add SuppressDisplayport painting and use it during tab switch. r=kats,mconley
--HG--
extra : commitid : 9fUfVIK8ikm
extra : rebase_source : e45570f97a25f965d2caf24f152da02efcf6495f
2015-08-19 17:08:41 -04:00
Jonathan Watt c9336c7d2b Bug 1180509 - Fix judder of icons in Australis doorhanger menu at the end of its scale-in animation. r=roc 2015-08-09 22:23:06 +01:00
Kartikaya Gupta 056c55b10f Bug 1180295 - Rip out call to setContentDocumentFixedPositionMargins. r=rbarker
--HG--
extra : commitid : 7uU6xgPVZom
2015-08-18 14:27:18 -04:00
Markus Stange 6fab3abcb1 Bug 1187804 - Annotate fixed-position layers with the scroll id of the scroll frame that they are fixed with respect to. r=mattwoodrow
--HG--
extra : commitid : GjQ1Npqd8Ss
2015-08-17 19:44:42 -04:00
Kartikaya Gupta 136c2d72c3 Bug 1189443 - Don't round down the margin amounts when inflating the displayport. r=dvander
--HG--
extra : commitid : C4Vo2zwNRgo
2015-08-10 18:30:45 -04:00
Matt Woodrow 2ab56744ea Bug 1187432 - Avoid scheduling main-thread paints for scrolls handled by apz. r=tn
--HG--
extra : rebase_source : 343dabda5a9bbbeac0c25b69d63d0a82f595b599
2015-08-07 15:37:56 -04:00
Brian Birtles 937bc54615 Bug 1181392 part 5 - Remove use of IsFinishedTransition from AnimationCollection::HasAnimationOfProperty; r=dbaron
AnimationCollection::HasAnimationOfProperty uses IsFinishedTransition to filter
out transitions that should otherwise be ignored. This is used in the following
places:

1. nsLayoutUtils::HasAnimations

   The is only used by nsIFrame::BuildDisplayListForStackingContext to see if
   there are any opacity animations

   For this case, simply returning *current* animations would be sufficient
   (since finished but filling animations should have already filled in the
   display opacity)

2. CommonAnimationManager::GetAnimationsForCompositor

   This should really only return *current* animations--that is, animations that
   are running or scheduled to run. Finished animations never run on the
   compositor. Indeed, only *playing* animations run on the compositor but, as
   we will see in some of the cases below, it is sometimes useful to know that
   an animation *will* run on the compositor in the near future (e.g. so we can
   pre-render content).

   The places where GetAnimationsForCompositor is used are:

   - When building layers to add animations to layers in nsDisplayList--in this
     case we skip any animations that aren't playing so if
     GetAnimationsForCompositor only returned current animations that would be
     more than sufficient.

   - In nsLayoutUtils::HasAnimationsForCompositor. This in turn is used:

     - In ChooseScaleAndSetTransform to see if the transform is being animated
       on the compositor. If so, it calls
       nsLayoutUtils::ComputeSuitableScaleForAnimation (which also calls
       GetAnimationsForCompositor) and passes the result to
       GetMinAndMaxScaleForAnimationProperty which we have already adjusted in
       part 4 of this patch series to only deal with *relevant* animations

       Relevant animations include both current animations and in effect
       animations but we don't run forwards-filling animations on the compositor
       so GetAnimationsForCompositor should NOT return them. Current animations
       should be enough. In fact, playing animations should be enough but we
       might want to pre-render layers at a suitable size during their delay
       phase so returning current animations is probably ok.

     - In nsDisplayListBuilder::MarkOutOfFlowFrameForDisplay to add a fuzz
       factor to the overflow rect for frames undergoing a transform animation
       on the compositor. In this case too current animations should be
       sufficient.

     - In nsDisplayOpacity::NeedsActiveLayer to say "yes" if we are animating
       opacity on the compositor. Presumably in this case it would be good to
       say "yes" if the animation is in the delay phase too (as it currently
       does). After the animation is finished, we should drop the layer, i.e.
       current animations should be sufficient.

     - In nsDisplayTransform::ShouldPrerenderTransformedContent. As with
       nsDisplayOpacity::NeedsActiveLayer, we only need to pre-render
       transformed content for animations that are current.

     - In nsDisplayTransform::GetLayerState. As with
       nsDisplayOpacity::NeedsActiveLayer, we only need to return active here
       for current animations.

     - In nsIFrame::IsTransformed. Here we test the display style to see if
       there is a transform and also check if transform is being animated on the
       compositor. As a result, we really only need HasAnimationsForCompositor
       to return true for animations that are playing--otherwise the display
       style will tell us if we're transformed or not. Returning true for all
       current compositor animations (which is a superset of playing), however,
       should not cause problems (we already return true for even more than
       that).

     - In nsIFrame::HasOpacityInternal which is much the same as
       nsIFrame::IsTransformed and hence current should be fine.

3. AnimationCollection::CanThrottleAnimation

   Here, HasAnimationOfProperty is used when looking for animations that would
   disqualify us from throttling the animation by having an out-of-date layer
   generation or being a transform animation that affects scroll and so requires
   that we do the occasional main thread sample to update scrollbars.

   It would seem like current animations are enough here too. One interesting
   case is where we *had* a compositor animation but it has finished or been
   cancelled. In that case, the animation won't be current and we should not
   throttle the animation since we need to take it off its layer.

   It turns out checking for current animations is still ok in this case too.
   The reasoning is as follows:

   - If the animation is newly-finished, we'll pick that up in
     Animation::CanThrottle and return false then.

   - If the animation is newly-idle then there are two cases:

     If the cancelled animation was the only compositor animation then
     AnimationCollection::CanPerformOnCompositorThread will notice that there
     are no playing compositor animations and return false and
     AnimationCollection::CanThrottleAnimation will never be called.

     If there are other compositor animations running, then
     AnimationCollection::CanThrottleAnimation will still return false because
     whatever cancelled the animation will update the animation generation and
     we'll notice the mismatch between the layer animation generation and the
     animation generation on the collection.

Based on the above analysis it appears that making
AnimationCollection::HasAnimationOfProperty return only current animations (and
simulatneously renaming it to HasCurrentAnimationOfProperty) is safe. Indeed, in
effect, we already do this for transitions but not for animations. This patch
generalizes this behavior to all animations.

This patch also updates test_animations_omta.html since it was incorrectly
testing that a finished opacity animation was still running on the compositor.
Finished animations should not run on the compositor and the changes in this
patch cause that to happen. The reason we don't just update this test to check
for RunningOn.MainThread is that for opacity animations, unlike transform
animations, we can't detect if an opacity on a layer was set by animation or
not. As a result, for opacity animations we typically test the opacity on
either the main thread or compositor in order to allow for the case where an
animation-set opacity is still lingering on the compositor.
2015-08-07 12:29:36 +09:00
Brian Birtles eb9973b07f Bug 1181392 part 4 - Remove use of IsFinishedTransition from nsLayoutUtils; r=dbaron
GetMinAndMaxScaleForAnimationProperty in nsLayoutUtils uses IsFinishedTransition
to ignore finished transitions since they should not have any effect on current
or future scale values. We can generalize this, however, and say we are only
interested in animations that are *either*:

a) running or scheduled to run in the future, i.e. "current", OR
b) applying a value, including a finished animation with a forwards fill,
   i.e. "in effect"

Elsewhere, animations that fulfil *either* of this conditions are referred to as
"relevant animations" so we can simply test for relevance in this function.
2015-08-07 12:29:36 +09:00
Kartikaya Gupta db02ba5a05 Bug 1189837 - Subtract scrollbars in LD pixels rather than CSS pixels. r=mstange
--HG--
extra : commitid : 2bn2Ieqd1LP
2015-08-05 14:39:42 -04:00
CJ Ku 009a82453e Bug 1061393 - Export display list info to layer scope viewer. r=kamidphish 2015-08-03 02:11:00 -04:00
Botond Ballo 223b1b2a1d Bug 1131359 - Expose a basic FrameMetrics calculations in nsLayoutUtils. r=kats
--HG--
extra : rebase_source : a027d85d4d5f86353e14aa791fb5564d22694ed1
2015-07-27 14:06:05 -04:00
Robert O'Callahan 501665ec2f Bug 1172239. Add NS_FRAME_DESCENDANT_INTRINSIC_ISIZE_DEPENDS_ON_BSIZE. r=bz
--HG--
extra : commitid : DK71qQdcp6s
extra : rebase_source : a06ac45a67ab18254b815445fd1c8b6ae54390d3
2015-07-18 12:24:53 +12:00
Kearwood (Kip) Gilbert c06afa1c7f Bug 1181240 - Part 2: Replace gfx3DMatrix with Matrix4x4 in layout,r=vlad
- Refactored code to use Matrix4x4 instead of gfx3DMatrix.
- There is not expected to be any functional effect.
2015-07-10 17:05:47 -07:00
Seth Fowler ec30688068 Bug 1151359 (Part 3) - Treat nsImageFrames subject to scale animation as having an identity scale when predicting size. r=tn,birtles 2015-07-19 19:30:40 -07:00
Jonathan Kew 4e6c40d7ea Bug 1131451 part 1 - Replace containerWidth with containerSize in logical-coordinate classes and APIs, frame classes, etc. r=dholbert 2015-07-16 10:07:57 +01:00
Kartikaya Gupta 347e9ff5d2 Bug 1184200 - Update a check for APZ enabled. r=dvander 2015-07-15 17:13:22 -04:00
Birunthan Mohanathas a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Kyle 4b077fd12e Bug 1178971 - Changed line snapping behaviour depending on even/odd-ness of stroke width. r=mstange
--HG--
extra : rebase_source : bddeb31d488b74337889a874f7f60b47bf65ed2a
extra : histedit_source : 0dee20bd92d1f656bd8b97d06acf6b99febc7a02
2015-07-07 14:56:23 -04:00
Robert O'Callahan 15642eb711 Bug 1143575. Replace ImageContainer Lock methods with simplified AutoLockImage. r=nical
--HG--
extra : commitid : B1BZNvKIQFf
extra : rebase_source : 927c9aa549a863aeba97c0e5a4cb6cf87194669a
2015-03-27 12:07:53 +13:00
Juan Gomez 258ad59e3f Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-07-03 18:29:00 -07:00
Lee Salzman 55553857ba Bug 771367 - Refactor GetAnimationContent and GetAnimationCollection into CommonAnimationManager to hide atom and pseudo-element voodoo. r=bbirtles
--HG--
extra : rebase_source : 4dd7ccea70aeb26850055388e6a8ec1aa90e5347
2015-07-01 14:43:13 -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
Kartikaya Gupta 02166f70f9 Bug 1177651 - Add areas covered by MozMousePixelScroll listeners to the dispatch-to-content region. r=dvander 2015-06-30 06:43:08 -04:00
L. David Baron fdfacfe99e Bug 1122526 patch 3 - Correctly account for transform:none when finding maximum scale for a transform animation. r=roc
The patch works by not handling transform:none specially at all, which
will lead to a scale of 1 (instead of the current 0).

This is the patch that actually fixes the original problem reported in
bug 1122526.  This patch also fixes bug 1165196.
2015-06-29 16:46:17 -07:00
Daniel Holbert cb57b1ad8c Bug 1177925: Use range-based "for" loops for nsFrameList iteration, in various places in layout. r=tn 2015-06-29 13:02:21 -07:00
Ryan VanderMeulen 5f5c327690 Backed out changeset 8b4e4083639e (bug 1171931) for B2G debug emulator bustage. 2015-06-25 19:48:42 -04:00
Juan Gomez 702a59d135 Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj
--HG--
extra : rebase_source : 2ecbe6c1dd8a7ad8dc529b53349ad431cf1116c9
2015-06-24 14:11:00 -04:00
Cameron McCormack 225f3dd70d Bug 804975 - Part 2: Add a RuleNodeCacheConditions class and use it instead of a boolean canStoreInRuleTree during style computation. r=dbaron 2015-06-23 11:48:18 +10:00
Botond Ballo ac52e5f459 Bug 1173580 - Record content descriptions in APZ test data. r=kats
--HG--
extra : source : 7f3a827067d7c617b6e988a9b5858d4cd8618d44
2015-06-10 20:47:56 -04:00
Mats Palmgren 2a91ce1550 Bug 1174450 part 10b - Rename IntrinsicForWM to IntrinsicForAxis and make it take a PhysicalAxis instead of a WritingMode. r=jfkthame 2015-06-16 11:21:04 +00:00
Mats Palmgren 83c34fee40 Bug 1174450 part 10 - Use the right IntrinsicISizeOffsetData for the given writing-mode (this is what fixes the error reported in this bug). r=jfkthame 2015-06-16 11:21:04 +00:00
Mats Palmgren f458d530ef Bug 1174450 part 9b - Make AddIntrinsicSizeOffset take a PhysicalAxis instead of a WritingMode. r=jfkthame 2015-06-16 11:21:04 +00:00
Mats Palmgren 479bf4c89b Bug 1174450 part 9 - Remove the nsRenderingContext* param from Intrinsic*SizeOffsets methods since it's unused. r=jfkthame 2015-06-16 11:21:04 +00:00
Mats Palmgren 964949147b Bug 1174450 part 7 - Move most of IntrinsicForContainer into a new method, IntrinsicForWM, that takes the writing-mode to use as a parameter. r=jfkthame
IntrinsicForContainer(...) is implemented as
IntrinsicForWM(aFrame->GetParent()->GetWritingMode(), ...).
2015-06-16 11:21:04 +00:00
Mats Palmgren 209bcdc585 Bug 1174450 part 6 - Add a doc comment for AddIntrinsicSizeOffset and some minor code style fixes. r=jfkthame 2015-06-16 11:21:03 +00:00
Mats Palmgren 7fa52c3884 Bug 1174450 part 5 - Remove the duplicated min/max calculation in AddIntrinsicSizeOffset, pass a pointer to the calculated absolute values, if any, from IntrinsicForContainer instead. r=jfkthame 2015-06-16 11:21:03 +00:00
Mats Palmgren f91985ca0c Bug 1174450 part 4 - Rename the remaining AddIntrinsicSizeOffset params to follow the aName standard. Also rename local var 'w' to 'size' since it may be either a width or height. r=jfkthame 2015-06-16 11:21:03 +00:00
Mats Palmgren dce55818e6 Bug 1174450 part 3 - Rename AddIntrinsicSizeOffset local vars from xISize to xSize since the code is generic and handles both ISizes and BSizes. r=jfkthame 2015-06-16 11:21:03 +00:00
Mats Palmgren 9468d09218 Bug 1174450 part 2 - Rename most AddIntrinsicSizeOffset params to follow the aName standard. r=jfkthame 2015-06-16 11:21:03 +00:00
Mats Palmgren 3323248afe Bug 1174450 part 1 - Split IntrinsicForContainer in two parts; move the latter part to a new function, AddIntrinsicSizeOffset, which applies the padding/border/margin from the given IntrinsicISizeOffsetData. r=jfkthame 2015-06-16 11:21:03 +00:00
Cameron McCormack 4c1cfc10bd Bug 1169514 - Part 2: Move noframes rules from the preferences style sheet to a cached UA style sheet. r=jwatt 2015-06-16 11:34:47 +10:00
Cameron McCormack 5492e00444 Bug 1169514 - Part 1: Move noscript rule from the preference style sheet to a cached UA style sheet. r=jwatt 2015-06-16 11:34:47 +10:00
Markus Stange f134c090a5 Bug 1174332 - Correctly compute box-shadow bounds on themed frames with overflow. r=roc
--HG--
extra : rebase_source : 1f8b32e7d05b1501859085c8a3e48c1c904bdf8e
2015-06-15 15:02:01 -04:00
Botond Ballo 4958aa7c1b Bug 1158424 - Rename FrameMetrics::mIsRoot to mIsRootContent. r=kats
--HG--
extra : rebase_source : a082680d842dd182d899f637200ce911cc3c480d
extra : source : 8b67f0b8dc96cebe9a58356708b23bebd8532134
2015-06-08 16:01:26 -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 e11be639dd Fix asynchronously scrolling containerful subframes. (bug 1148582 part 6.1, r=tn) 2015-06-02 16:34:46 -07:00
Timothy Nikkel 17048184a5 Bug 1168630. Part 3. Add IsLayersIdRoot to frame metrics. r=botond
This field tells us if this frame metrics should be considered the root APZC for its layers id. Without this there doesn't seem to be a way to compute this from just the layers tree.
2015-05-31 14:44:41 -05:00
Timothy Nikkel 525e5c2132 Bug 1168629. Always make sure that there is at least one layer with the metrics for the root scroll frame/root element. r=botond,kats
We do this by looking at the layer tree after it has been made to see if the root metrics are in it already.

This is needed to ensure that there is always a root AZPC in a process.
2015-05-31 00:50:21 -05:00
Seth Fowler 115caea9d3 Bug 1169881 - Recompute image visibility when display port margins change. r=tn 2015-05-29 23:50:53 -07:00
Seth Fowler 900c174944 Bug 1169879 - Use only the critical displayport when computing image visibility. r=tn 2015-05-29 22:33:37 -07:00
Ryan VanderMeulen 7dfbf70ce7 Backed out changeset 4126c66c9a80 (bug 1166728) for Gaia sound_manager_test.js failures.
CLOSED TREE
2015-05-29 15:16:53 -04:00
Kyle Zentner f2ec992500 Bug 1166728 - Remove box-sizing: padding-box, as per CSS WG. r=dholbert 2015-05-29 09:17:00 -04:00
Ryan VanderMeulen 45b95898e0 Backed out changeset 541cd29ea626 (bug 1166728) because the updated patch wasn't posted to the bug. 2015-05-29 12:48:22 -04:00
Kyle Zentner 3bacc6993c Bug 1166728 - Remove box-sizing: padding-box, as per CSS WG. r=dholbert 2015-05-27 09:57:00 -04:00
Ryan VanderMeulen 47df1bbfe3 Backed out changeset dd96df1da2b5 (bug 1166728) for making test_bug320799.html permafail on Mulet.
CLOSED TREE

--HG--
extra : rebase_source : 4ff4ea2d22a0beb2af011cec40f90efba2e452b9
2015-05-28 11:01:18 -04:00
Kyle Zentner 2e3823f252 Bug 1166728 - Remove box-sizing: padding-box, as per CSS WG. r=dholbert
--HG--
extra : rebase_source : 6103761cd36cbba2c8e048db2a0d6cd75cad2020
2015-05-27 09:57:00 -04:00
Jonathan Watt 13ebd5c893 Bug 923193, part 4 - Implement support for the 'transform-origin' property in SVG. r=heycam 2015-05-24 22:40:37 +01: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
Botond Ballo 3408d121ff Bug 1164406 - Expose scrollbar-area deflation in nsLayoutUtils. r=kats
--HG--
extra : rebase_source : c5897e000fad53d44b4eb3f98f6bbbc4aba419a4
extra : source : 20612601aa1cc76667ac760e62479160076cf07a
2015-05-22 15:54:11 -04:00
Ting-Yu Lin 4d2a9a0ddd Bug 1110039 - Part 1 - Add nsLayoutUtils::ClampRectToScrollFrames. r=roc
ClampRectToScrollFrames generalizes IsRectVisibleInScrollFrames by
returning the clamped rect in scroll frames. IsRectVisibleInScrollFrames
could be implemented by checking whether the clamped rect is empty or
not.
2015-04-14 00:08:00 +02:00
Jonathan Kew 0b6c2066f3 Bug 1159305 - patch 2 - Clean up layout code by using the new accessors. r=smontagu 2015-05-11 11:37:46 +01:00
Kartikaya Gupta e237a366e0 Bug 1160566 - Make FrameMetrics.mCompositionBounds private and add a getter/setter for it. r=botond 2015-05-07 14:44:03 -04:00
Kartikaya Gupta 1b70cf8a52 Bug 1160250 - Fix up the rect being used for the composition size calculation. r=tn 2015-05-07 14:44:03 -04:00
Kartikaya Gupta 905ed37047 Bug 1160250 - Put in a missing transfomToAncestor scaling factor. r=botond,tn 2015-05-07 14:44:02 -04:00
Kartikaya Gupta d90090ea1b Bug 1160250 - Collapse the code from CalculateRootCompositionSize into UpdateCompositionBounds. r=botond,tn 2015-05-07 14:39:20 -04:00
Kartikaya Gupta 76561c0f08 Bug 1160250 - Extract a helper function from the triplicated composition-bounds-updating code. r=botond,tn 2015-05-07 14:39:20 -04:00
Kartikaya Gupta aa18869ddf Bug 1160250 - Extract a helper method from the triplicated comp-bounds function to determine if we need to deflate the scrollbars. r=botond,tn 2015-05-07 14:39:19 -04:00
Seth Fowler fdc5ab88b6 Bug 1162282 - When canvas.drawImage is called on a corrupt image that's not in the broken state, don't throw. r=gw280 2015-05-07 09:25:10 -07: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
Kartikaya Gupta ad505c6fa4 Bug 1161040 - Add some assertions to guard against infinite loops in the handoff chains. r=botond 2015-05-05 08:36:52 -04:00
Kartikaya Gupta acd04b0bda Bug 1161040 - Don't set a scrollparent on the root content document in the child process that points to itself. r=tn 2015-05-04 14:37:22 -04:00
Kartikaya Gupta 4851563279 Bug 1157579 - Make sure the visual scroll port size includes the area of scrollbars when used in TryLayout. r=tn 2015-05-04 10:17:26 -04:00
Wes Kocher 5ef0b7b6a7 Merge inbound to m-c a=merge 2015-05-01 17:19:28 -07:00
Danilo Cesar Lemes de Paula a24ed2c0a4 Bug 1159405 - Fix "Found a non-root APZ with no handoff parent". r=botond 2015-04-30 06:06:00 -04:00
Jonathan Watt b9b0d2b3c3 Bug 923193, part 1 - Avoid calculation of the reference box for transforms unless they're actually needed. r=roc
--HG--
extra : rebase_source : 8ffca8102a9648642f9166c213ce9e964c34b2af
2015-04-28 19:55:42 +01:00
Brian Birtles a606228cd8 Bug 1159082 - Rename *Readonly animation interfaces to *ReadOnly. r=smaug 2015-04-30 09:06:43 -04:00