Commit Graph

12087 Commits

Author SHA1 Message Date
Cameron McCormack
89cac5abd1 Bug 1248864 - Part 3: Use RestyleManagerHandle instead of concrete restyle manager class. r=dholbert 2016-02-24 18:01:12 +11:00
Cameron McCormack
736a5f47e7 Bug 1248864 - Part 1: Move RestyleManager.h to EXPORTS.mozilla. r=dholbert 2016-02-24 18:01:12 +11:00
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
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
Kartikaya Gupta
bbc14f488b Bug 1243267 - Guard against reentrancy into the dispatch of a scroll event. r=mats
MozReview-Commit-ID: 5saxPwxOuc8
2016-02-22 14:14:20 -05: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
Boris Chiou
185a769719 Bug 1244049 - Part 1: Define scoped enum for CSSPseudoElement type. r=dbaron
--HG--
extra : rebase_source : e53dd269e47fa97eb259ebd9295d012eacbdb612
2016-02-16 23:07:00 +01:00
Jonathan Kew
ed3d3edf14 Bug 1248128 - The fallback caret-move handling from bug 1153237 should be more selective to avoid undesired side-effects. r=roc 2016-02-17 12:05:10 +00:00
Jamie Nicol
7a3d99d8ca Bug 1246443 - Only restrict displayport base to root composition bounds if content has displayport; r=tnikkel
Bug 1241917 made it so that a subframe's displayport base is restricted
to the root composition bounds (in addition to its previous
restrictions). This involved an expensive coordinate transformation
causing a scrolling performance regression.

This avoids restricting the displayport base to the root composition
bounds unless the frame has a display port, avoiding the expensive
computation unless necessary.

MozReview-Commit-ID: FVacUscAfu2

--HG--
extra : transplant_source : %F9%E9%19%06/%9C%EA%8C%D1%D5%BD%ED%26C%97y%15%92%7E%CB
2016-02-09 13:53:27 +00:00
Botond Ballo
45d03919dc Bug 1238137 - Telemetry pings for main thread scrolling to bring the caret into view after moving it in response to keyboard input. r=ehsan
--HG--
extra : commitid : 6E0SPxaKbMl
extra : rebase_source : ca82cafc8b462318ffc5030319546731d9e7a540
extra : histedit_source : 63c1e103a3aaf2ce340b1b4f2276763c16ac2237
2016-02-03 20:36:24 -05:00
Botond Ballo
51957870b3 Bug 1238137 - Telemetry pings for main thread keyboard-driven scroll input methods. r=ehsan
Pings are sent in the implementations of the nsISelectionController methods
ScrollLine, ScrollPage, ScrollCharacter, and CompleteScroll. It is assumed
that these methods are triggered by keyboard input.

A small number of false positives can occur if these methods are called
in response to something other than keyboard input; this is considered
acceptable.

--HG--
extra : commitid : JDXW8ptuXkF
extra : rebase_source : c45fe2b16484ad370edb852d8eafbc76ca7d0bac
extra : amend_source : b4af21228768221211a42c11a2ff306a6f2bb402
extra : histedit_source : 7cdc4b4df3579682fad194ddfc04c7a5d02c0d3e
2016-02-03 19:51:03 -05:00
Jamie Nicol
bf038be32c Bug 1241078 - Only treat items as backface hidden if they are 3D-transformed. r=tlee
Add helper function nsIFrame::In3DContextAndBackfaceIsHidden() which
checks both if a frame is backface-hidden and whether it is within a
3D-transform context.

In FrameLayerBuilder, check this function rather than BackfaceIsHidden()
to determine whether a frame needs a backface-hidden layer. This will
avoid creating unnecessary extra layers for non-3d-transformed items
which for some reason have backface-hidden set.
2016-02-08 22:34:13 +00:00
Matt Woodrow
04f750f035 Bug 1245450 - Only setup AutoSaveRestorePerspectiveIndex for the descendants of the element with perspective. r=roc 2016-02-15 23:21:52 +13:00
Mats Palmgren
fad51b17d9 Bug 1216001 part 3 - Cache the result of IsSelected() for the duration of painting. r=bz 2016-02-13 18:40:23 +01:00
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
kearwood
b1d8c6f915 Bug 1247082 - Suppress rendering of nsBackdropFrame for VR content r=dholbert
- The VR specific render path in ContainerLayerComposite does not
  handle nsBackdropFrame correctly, resulting in a alternate frame
  strobing effect in the Oculus Headset.  As VR content is composed
  of a Canvas element that is scaled to the extents of the surface,
  the backdrop would otherwise not have an effect for VR content,
  which means we can simply suppress the backdrop.

MozReview-Commit-ID: 3bCTOApiH8E

--HG--
extra : rebase_source : 015e15dee2ac3235e1e571642d3988b66b97dfd1
2016-02-12 11:14:05 -08:00
Phil Ringnalda
9d0e08b626 Back out 3 changesets (bug 1216001) for Win8 reftest failures in 1193519-sideways-lr-3.html and 1193519-sideways-lr-4.html and intermittent OS X failures in font-display-2.html
CLOSED TREE

Backed out changeset dbadb8fe5803 (bug 1216001)
Backed out changeset a30593ebd58e (bug 1216001)
Backed out changeset c1646ffa71b4 (bug 1216001)
2016-02-11 20:43:41 -08:00
Mats Palmgren
109f95dbe7 Bug 1216001 part 3 - Cache the result of IsSelected() for the duration of painting. r=bz 2016-02-12 02:13:57 +01:00
Matt Woodrow
5562523a43 Bug 1216832 - Handle preserve-3d visible regions during display list building by always transforming from the preserve-3d root each time. r=roc 2016-02-12 00:18:55 +13:00
Kartikaya Gupta
2970550b4e Bug 1245925 - Don't allow expiring the displayport on root scrollframes. r=tnikkel
MozReview-Commit-ID: 8LGsk9uKyL5

--HG--
extra : rebase_source : 9edf7c6a4ce795da670f1ad06c8f86f9f05e4850
2016-02-10 17:11:28 -05: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
Jet Villegas
09b44a7efc Bug 974309: Fixes the IsEditable() logic for table cells. r=ehsan 2016-02-09 14:06:03 -08:00
Mats Palmgren
b0439e98c3 Bug 1246405 - Declare mTextRun earlier to avoid alignment spill on 64-bit architectures. r=roc 2016-02-08 17:35:01 +01:00
Ting-Yu Lin
d6a5df3abe Bug 1225752 - Localize the description of default summary. r=bz
--HG--
extra : commitid : 1fzJyvyuijQ
extra : rebase_source : ec39cfe4c4a147aaaa455071b9b70f008d5fbfe2
2016-02-04 01:48:00 +08:00
Matt Woodrow
7cd754d8cf Bug 1229317 - Allow preserve-3d and opacity to be combined on the root element of a preserve-3d chain. r=roc 2016-02-07 23:51:11 +13:00
Phil Ringnalda
ec6b8aac53 Back out e751d638ab4b (bug 1229317) for reftest "Assertion failure: oldState < kReadMax" and crashes
CLOSED TREE
2016-02-05 22:42:55 -08:00
Matt Woodrow
8857b37db9 Bug 1229317 - Allow preserve-3d and opacity to be combined on the root element of a preserve-3d chain. r=roc 2016-02-06 17:57:34 +13:00
Thinker K.F. Li
94e1db456d Bug 1243282 - Wrap items having clips with a separator. r=mattwoodrow 2016-02-06 17:55:59 +13:00
Karl Dubost
371b14248e Bug 812899 part 3 - Make vertical 'auto' margins on absolutely positioned elements always center, even when the margins are negative. r=dbaron 2015-12-03 14:24:00 +09:00
Kartikaya Gupta
b8b52c6f30 Bug 1104356 - When doing a smooth scroll on a non-APZ'd scrollframe, fall back to the main thread machinery. r=kip
--HG--
extra : commitid : K1IT8lsDmNl
2016-02-05 17:09:30 -05:00
Jamie Nicol
d412b3daee Bug 1241917 - Restrict subframe's displayport base to root composition bounds. r=tn
Previously displayport bases were computed as the intersection of the
scrollport with the dirtyrect. However the dirtyrect covers what is
rendered, and with displayports what we render can be much larger than
what is visible. With displayport bases intended to represent what was
visible, this was a problem. By restricting them to the root composition
size this makes them more closely match what is visible. To do this more
properly we'd want to intersect the dirtyrect with the scroll clip of
every ancestor scroll frame, not just the root composition bounds.
2016-02-04 17:53:56 +00:00
Geoff Brown
b058b9b1f2 Bug 1245634 - Skip layout/generic/crashtests/730559.html on Android Debug only, for being too slow; r=me 2016-02-04 07:37:20 -07:00
Ting-Yu Lin
1e5d352993 Bug 591737 - Add pref for details and summary elements. r=bz
--HG--
extra : commitid : C40ecHqSxrO
extra : rebase_source : 937479989a52b57f3dec07a74dd9dad17ff69db7
2016-01-20 23:20:43 +08:00
Ting-Yu Lin
01065150c0 Bug 591737 - Add crashtest for details and summary. r=bz
--HG--
extra : commitid : DoO0dxy1ehj
extra : rebase_source : c49a244cc8ce1326b114af62c720a57d0589d836
2016-01-20 23:20:42 +08:00
Ting-Yu Lin
fd982b69ea Bug 591737 - Provide a default summary element by DetailsFrame. r=bz
If a <details> lacks a direct <summary> child, we need to construct a
default one.

--HG--
extra : commitid : ApnP20Mrr33
extra : rebase_source : 4b059f4e7fa32bac665487aa8a266ba58597b184
2016-01-20 23:20:41 +08:00
Ting-Yu Lin
ea65853708 Bug 591737 - Construct details and summary in nsCSSFrameConstructor. r=bz
--HG--
extra : commitid : 7tnA5fqdD6L
extra : rebase_source : 452368859fb99183605edcf47fd48ff026bf3a50
2016-02-02 17:39:49 +08:00
Ting-Yu Lin
802d6dee0d Bug 591737 - Add SummaryFrame. r=bz
--HG--
extra : commitid : 61ZPHBOWyKH
extra : rebase_source : 860919e85da1fc1593f084dcc1e011e1e6cddba3
2016-02-02 17:39:06 +08:00
Ting-Yu Lin
cff36a1352 Bug 591737 - Add DetailsFrame. r=bz
--HG--
extra : commitid : C6hHNXWpwO8
extra : rebase_source : 47b37776c4f029879bd02c0477e885104b2aaed5
2016-01-20 23:20:41 +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
Kartikaya Gupta
34bce5bee6 Bug 990916 - Track if a scrollframe is a scroll parent for something else. r=tnikkel
--HG--
extra : commitid : KW9mVVtZikZ
2016-02-03 19:13:35 -05:00
L. David Baron
c91a009cc5 Bug 823483 patch 2 - Add frame state bit to indicate frame classes that do replaced-element-like sizing. r=dholbert
This is needed for patch 3.

--HG--
extra : commitid : 6131XNAfYoQ
2016-02-04 09:43:02 +11:00
L. David Baron
82aa75776d Bug 1236745 - Fix infinite loop resulting from block formatting context entering resize oscillation due to considering floats over its whole height when sizing it. r=dholbert
What's happening here is that we enter an infinite loop by oscillating
between two states.  The code assumes that (a) the available space will
never grow, only stay the same or shrink, and (b) that we should break
out of the loop if it stays the same.  This also means we hit the
assertion about the available space growing every other time through the
loop.

This is in the inner loop in nsBlockFrame::ReflowBlockFrame that was
introduced in https://hg.mozilla.org/mozilla-central/rev/80ef9bb2c2e9 .

The problem is fundamentally a logic error in that code.  The makes the
assumption that if you reduce the width available to a block formatting
context or replaced block-level element, its height does not shrink.
(The "replaced block" (really block formatting context) in this case, as
in the original testcase, is a scroll frame.  I didn't debug the
original testcase enough to figure out what caused its sizing
characteristics, although a percentage-width image does seem like the
most likely candidate.)

Without the patch, the reftest test (but not reference) hangs, as does
the semi-simplified test in the bug (given a narrow window).

With the patch, neither the semi-simplified test in the bug nor the
reference hangs, and the reftest passes.

--HG--
extra : commitid : APy8PfXlvvz
2016-02-04 09:41:44 +11:00
Daniel Holbert
09939ec3c9 Bug 1245406: In ReflowBlockFrame, use Maybe<> to destroy & reconstruct a stack-allocated object, instead of an explicit call to destructor & placement 'new'. r=dbaron 2016-02-03 12:37:23 -08:00
Jonathan Kew
a2574a52b6 Bug 1243125 - patch 2 - Don't ever set NS_FRAME_TRUNCATED for orthogonal flows. r=dholbert 2016-02-03 09:24:28 +00:00
Oriol
4fcfda5536 Bug 1243125 - patch 1 - Check block size instead of height when detecting truncated frames. r=jfkthame 2016-02-03 09:24:26 +00:00
Jonathan Kew
cb9de60a4d Bug 1243125 - patch 0 - Relax overly-harsh writing mode assertions in nsReflowMetrics size accessors. r=dholbert 2016-02-03 09:24:24 +00:00
Timothy Nikkel
a1bd256618 Bug 1238337. If the intrinsic size of the image hasn't changed then we don't need to do a new predictive image decode. r=mats
nsImageFrame::OnSizeAvailable will update the intrinsic ratio and ask for a reflow. Then nsImageFrame::NotifyNewCurrentRequest will be called when the image is finished loading. It previously would do a predictive decode if the intrinsic size hadn't changed.

This was a mistake in http://hg.mozilla.org/mozilla-central/rev/146f1bea4147 (bug 1151359).

OnSizeAvailable has this structure:

  if (intrinsicSizeChanged && gotInitialReflow) {
    if (!sizeConstrained) {
      requestReflow();
    }
  }

NotifyNewCurrentRequest has this structure:

  if (gotInitialReflow) {
    if (!sizeConstrained && intrinsicSizeChanged) {
      requestReflow();
    }
  }

Bug 1151359 added a predictive decode in a new else branch to both inner if statements. The meaning of this is obviously quite different.
2016-02-02 16:51:52 -06:00
Tobias Schneider
f19e21de56 Bug 1207914: Add some debug logging to mochitest test_bug632379.xul, to help diagnose its timeouts. 2016-01-20 10:09:05 -08:00