Commit Graph

1853 Commits

Author SHA1 Message Date
Cameron McCormack
859e0706b8 Bug 1376647 - Use new MayHaveAnonymousChildren flag to skip work in AllChildrenIterator and some util functions. r=bholley
MozReview-Commit-ID: 783VtcY7qQF
2017-06-27 17:53:39 -07:00
Sebastian Hengst
fd8ef3780e Backed out changeset ee62473b968c (bug 1376647) for build bustage: no member named 'MayHaveAnonymousChildren' in 'nsIContent' at dom/base/nsContentUtils.cpp:10258. r=backout on a CLOSED TREE 2017-06-29 01:09:42 +02:00
Cameron McCormack
7003654317 Bug 1376647 - Use new MayHaveAnonymousChildren flag to skip work in AllChildrenIterator and some util functions. r=bholley
MozReview-Commit-ID: 783VtcY7qQF
2017-06-27 17:53:39 -07:00
Kartikaya Gupta
2df4b399f1 Bug 1376782 - Replace gfxPoint with a typedef to PointDouble. r=jrmuizel
This also moves the WithinEpsilonOf function from gfxPoint into
PointTyped, and changes call sites that are using
gfxPoint::Transform(Matrix4x4) to use Matrix4x4::TransformPoint(Point)
instead, which should be equivalent.

MozReview-Commit-ID: 3Z0bsU41rQt
2017-06-28 11:42:23 -04:00
Carsten "Tomcat" Book
2d174eeab7 merge mozilla-inbound to mozilla-central a=merge 2017-06-28 13:23:29 +02:00
Emilio Cobos Álvarez
112c8be41c Bug 1375674: Constify and simplify nsLayoutUtils::{First,Last}ContinuationOrIBSplitSibling. r=heycam
MozReview-Commit-ID: phsCyamDum
2017-06-25 01:48:27 +02:00
Bill McCloskey
ce42826bdf Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-26 14:19:58 -07:00
Ryan Hunt
b5ae153509 Bug 1351783 part 7 - Create FocusState and FocusTarget types. r=kats,botond
This commit begins the work needed for tracking focus by creating two new classes,
FocusTarget and FocusState. FocusState is created and used by APZCTreeManager to
track the global focus information, while FocusTarget is created per layer tree and
sent to APZ with local focus information. Between the two we are able to figure out
what the correct scrollable layer is to use in response to a keyboard scroll.

See the comment in `FocusState.h` for more details on the architecture and things
needed in future patches to complete this.

MozReview-Commit-ID: F75VZv3i9U2
2017-06-05 19:12:22 -05:00
Nicholas Nethercote
a58025002f Bug 1375392 - Tweak the PROFILER_LABEL* macros. r=mstange.
This patch makes the following changes to the macros.

- Removes PROFILER_LABEL_FUNC. It's only suitable for use in functions outside
  classes, due to PROFILER_FUNCTION_NAME not getting class names, and it was
  mostly misused.

- Removes PROFILER_FUNCTION_NAME. It's no longer used, and __func__ is
  universally available now anyway.

- Combines the first two string literal arguments of PROFILER_LABEL and
  PROFILER_LABEL_DYNAMIC into a single argument. There was no good reason for
  them to be separate, and it forced a '::' in the label, which isn't always
  appropriate. Also, the meaning of the "name_space" argument was interpreted
  in an interesting variety of ways.

- Adds an "AUTO_" prefix to PROFILER_LABEL and PROFILER_LABEL_DYNAMIC, to make
  it clearer they construct RAII objects rather than just being function calls.
  (I myself have screwed up the scoping because of this in the past.)

- Fills in the 'js::ProfileEntry::Category::' qualifier within the macro, so
  the caller doesn't need to. This makes a *lot* more of the uses fit onto a
  single line.

The patch also makes the following changes to the macro uses (beyond those
required by the changes described above).

- Fixes a bunch of labels that had gotten out of sync with the name of the
  class and/or function that encloses them.

- Removes a useless PROFILER_LABEL use within a trivial scope in
  EventStateManager::DispatchMouseOrPointerEvent(). It clearly wasn't serving
  any useful purpose. It also serves as extra evidence that the AUTO_ prefix is
  a good idea.

- Tweaks DecodePool::SyncRunIf{Preferred,Possible} so that the labelling is
  done within them, instead of at their callsites, because that's a more
  standard way of doing things.
2017-06-22 17:08:53 +10:00
Nicholas Nethercote
58acc728d6 Bug 1375275 (part 3) - Remove profiler_log(). r=mstange.
It's a wafer thin wrapper around profiler_tracing() and it's only used three
times. Let's just remove it.

Note also that those three uses are the only places where TRACING_EVENT is
used. I wonder if they're really needed...
2017-06-21 20:50:07 +10:00
Carsten "Tomcat" Book
238bf154d5 Backed out changeset 4f6302a98ae4 (bug 1372405) 2017-06-21 13:59:26 +02:00
Bill McCloskey
67e8af4720 Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-20 21:44:11 -07:00
Jonathan Watt
130a6eeb64 Bug 1374614 - Support SVG image context paint in XUL tree views (treecol etc.). r=dholbert
MozReview-Commit-ID: LltEP7gTCgq
2017-05-26 14:24:57 +01:00
David Anderson
94ab9190f2 Rename LayerManager::Composite to LayerManager::ScheduleComposite. (bug 1365879 part 17, r=mattwoodrow) 2017-06-20 01:17:21 -07:00
Carsten "Tomcat" Book
bbe9441993 Backed out changeset 9846de3bd954 (bug 1372405) 2017-06-20 08:27:02 +02:00
Bill McCloskey
f69608368b Bug 1372405 - Provide names for all runnables in the tree (r=froydnj)
MozReview-Commit-ID: DKR6ROiHRS7
2017-06-19 22:25:47 -07:00
Andi-Bogdan Postelnicu
1661b99af2 Bug 1374236 - Refactor MaybeSetupTransactionIdAllocator to avoid passing nsView*. r=mats
MozReview-Commit-ID: L3jedbOFdCP
2017-06-19 18:58:42 +03:00
Alexis Beingessner
3117218f13 Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel
MozReview-Commit-ID: K1WUIOnvazF
2017-06-13 11:00:10 -04:00
Nicholas Nethercote
9ae0762bf5 Bug 1370329 (part 1) - Clean up the profiler's RAII classes. r=mstange.
This patch does the following renamings, which increase consistency.

- GeckoProfilerInitRAII -> AutoProfilerInit
- GeckoProfilerThread{Sleep,Wake}RAII -> AutoProfilerThread{Sleep,Wake}
- GeckoProfilerTracingRAII -> AutoProfilerTracing
- AutoProfilerRegister -> AutoProfilerRegisterThread
- ProfilerStackFrameRAII -> AutoProfilerLabel
- nsJSUtils::mProfilerRAII -> nsJSUtils::mAutoProfilerLabel

Plus a few other minor ones (e.g. local variables).

The patch also add MOZ_GUARD_OBJECT macros to all the profiler RAII classes
that lack them, and does some minor whitespace reformatting.
2017-06-07 12:33:19 +10:00
Sebastian Hengst
1b1d14e565 Backed out changeset 3d1ce85e6348 (bug 1088760) for bustage, at least on Android at layout/generic/nsPluginFrame.cpp:1612. r=backout 2017-06-13 00:30:03 +02:00
Alexis Beingessner
c6fbc5e17e Bug 1088760 - Remove nsRenderingContext, replacing all of its uses with gfxContext. r=jwatt,jrmuizel
MozReview-Commit-ID: K1WUIOnvazF
2017-06-12 17:32:48 -04:00
Matt Brubeck
d0e7547db6 Bug 1365163 - Remove pref layout.css.display-flow-root.enabled. r=mats
MozReview-Commit-ID: AA3tKHCQ5E0
2017-06-05 15:59:22 -07:00
Kartikaya Gupta
5ff3df5354 Bug 1369840 - Support content-side APZ test data in WebRenderLayerManager. r=botond
This mostly just copies the functional parts of the APZTestData code from
ClientLayerManager into WebRenderLayerManager, and propagates the paint sequence
number over to the compositor using the existing WebRenderScrollData machinery.

MozReview-Commit-ID: LHupFpqtWTX
2017-06-04 22:29:35 -04:00
Tobias Schneider
6fc7bc5163 Bug 1369870 - Float to int cast in nsLayoutUtils::TransformRect is losing precision. r=mstange 2017-06-02 13:36:13 -07:00
Ryan VanderMeulen
3665b7f0f2 Merge inbound to m-c. a=merge 2017-05-31 20:25:52 -04:00
Brad Werth
5b390abfab Bug 1355675 Part 1: Add optional inCSSUnits parameters to GetTransformMatrix and GetTransformToAncestor. r=mattwoodrow
MozReview-Commit-ID: EA5uqeoUWE3
2017-05-30 09:05:52 -07:00
Mats Palmgren
f53a6843c6 bug 1368547 part 2 - Remove nsFrameManager/PresShell methods dealing with placeholders and introduce a nsIFrame::GetPlaceholderFrame() convenience method. r=jfkthame
MozReview-Commit-ID: GBUiUBqJxhQ
2017-05-31 21:29:49 +02:00
Jonathan Kew
4dcf0fe444 Bug 1365982 - Attach frame properties to each frame instead of looking them up in a hashtable on the prescontext. r=mats 2017-05-27 12:36:00 +01:00
Ting-Yu Lin
b8f0384e83 Bug 1363640 Part 2 - Move the logic in SupportsServoStyleBackend() to UpdateStyleBackendType(). r=heycam
SupportsServoStyleBackend() uses methods in nsIDocument, so it would be more
straightforward to do that in UpdateStyleBackendType().

Also, call StyloEnabled() before doing other logic so that the warning about
"no docshell" won't show up when stylo is built but disabled.

MozReview-Commit-ID: 9ZUYatPBv1r
2017-05-09 18:33:57 -07:00
Ting-Yu Lin
672280851d Bug 1363640 Part 1 - Move IsContentDocument() and IsTopLevelContentDocument() from nsDocument to nsIDocument. r=heycam
In this way, the callers who have nsIDocument don't need to cast to nsDocument.

MozReview-Commit-ID: 8zVUjkbrlaG
2017-05-09 18:28:36 -07:00
Manish Goregaokar
4daf9cf4f3 Bug 1366914 - Remove pref layout.css.background-clip-text.enabled; r=dholbert
MozReview-Commit-ID: 6XibTM1f1Rh
2017-05-22 18:57:21 -07:00
Mats Palmgren
bd90393cc1 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz
MozReview-Commit-ID: IbwWM0FL6HF
2017-05-21 17:15:00 +08:00
Carsten "Tomcat" Book
1aa86b3e0e Backed out changeset bbb688fe1ba3 (bug 1365614) 2017-05-22 15:45:31 +02:00
Mats Palmgren
473a358067 Bug 1365614 part 3 - Backout bug 1333482 part 1-9. Removes support for [-webkit-]appearance for now b/c web compat issues. r=bz 2017-05-21 17:15:00 +08:00
Boris Chiou
29d264bed7 Bug 1334036 - Part 10: Return AnimationValue for BaseStyle. r=hiro
We need to retrieve the correct base style for Servo backend, so change
the return value to AnimationValue and update
KeyframeEffectReadOnly::BaseStyle().

MozReview-Commit-ID: 9FL3h1DLoJt
2017-05-10 11:06:19 +08:00
cku
0ca983ad6e Bug 1205475 - Part 2. Prevent multiple EffectSet property look up. r=mattwoodrow
Functions like BuildDisplayListForStackingContext or BuildDisplayListForChild look
up EffectSet property several times in callees, such as IsTransformed() or
HasOpacity(), which is time wasting.

We should look up EffectSet just once, and pass the found one to all callees
that need it.

MozReview-Commit-ID: GZywm2UcpU7
2017-05-17 15:13:12 +08:00
cku
9dbf7146e6 Bug 1205475 - Part 1. Hold MAY_HAVE_OPACITY_ANIM/ MAY_HAVE_TRANSFOMR_ANIM information in EffectSet. r=mattwoodrow
FRAME_STATE_BIT of nsFrame and nsINode::mBoolFlags are both full, we need to
find another place to hold MAY_HAVE_OPACITY information.

nsINode::mSlots might be a choice, but since we always use this information in
painting, memory footprint of nsINode will become larger after this change.

So I decide to put this information right in EffectSet. The drawback of storing
this information in EffectSet is, although unnecessary Effect look-up is
prevented, we still need EffectSet property look-up in each time
HasOpacityInternal call, so we need Part 2.

Conceptually, Part 1 and Part 2 are independent.

MozReview-Commit-ID: 6sfBFSHjxQb
2017-05-16 19:11:04 +08:00
Jonathan Kew
eecfba38f3 Bug 1365356 - patch 2 - Allow callers to pass an nsStyleDisplay in to FinishAndStoreOverflow, to avoid internal StyleDisplay() calls. r=mats 2017-05-17 15:47:31 +01:00
Botond Ballo
a4743bb472 Bug 1359868 - Move the ComputePartialPrerenderArea() helper to nsLayoutUtils so it can be reused. r=mstange
MozReview-Commit-ID: GVRBUfYwOFP
2017-05-01 19:59:08 -04:00
Mats Palmgren
78fce530a6 Bug 1349320 part 2 - [css-grid] Make nsLayoutUtils::IntrinsicForAxis take an optional percentage basis to use for resolving transferred percentages. r=dholbert
If the percentage basis isn't provided it will be calculated from the ancestors
as before.  Note that that algorithm is only valid if the frame's containing
block is the ancestor's content box, which isn't the case for grid items.
So grid layout MUST provide a percentage basis, although the given value may
be NS_UNCONSTRAINEDSIZE for either axis if the value is indefinite.

MozReview-Commit-ID: 7nvAuR43xfM
2017-05-11 02:33:14 +02:00
Kartikaya Gupta
4ad6851189 Back out bug 1359868 (2 csets) for possibly causing a checkerboarding regression. r=backout
MozReview-Commit-ID: KFOsj8If3sZ
2017-05-09 13:23:23 -04:00
Carsten "Tomcat" Book
687bb63b46 Merge mozilla-central to mozilla-inbound 2017-05-09 14:40:11 +02:00
Randall Barker
1e8751762a Bug 1361781 - Ensure nsLayoutUtils::SetFixedPositionLayerData sets the SideBits: eSideBitsTop and eSideBitsLeft r=tnikkel
MozReview-Commit-ID: LxKOsExXGfH
2017-05-08 17:02:07 -07:00
Kartikaya Gupta
0a51fe4ea8 Merge m-c to graphics
MozReview-Commit-ID: 2cIoGVmLEuA
2017-05-08 10:50:52 -04:00
Kartikaya Gupta
79b515ab57 Merge m-c to graphics
MozReview-Commit-ID: 9HO5vhW5fyh
2017-05-04 09:05:26 -04:00
Kartikaya Gupta
30355f64ab Merge m-c to graphics
MozReview-Commit-ID: DVUE3Wys3HV
2017-05-03 08:52:43 -04:00
Kartikaya Gupta
b15f65ddbd Merge m-c to graphics
MozReview-Commit-ID: 9XwZUWIhGir
2017-05-02 09:45:11 -04:00
Ethan Lin
af28b15c49 Bug 1360112 - Correct background image position when enabling webrender background image. r=mattwoodrow 2017-05-01 00:59:26 +08:00
Botond Ballo
2ca730b70d Bug 1359868 - Move the ComputePartialPrerenderArea() helper to nsLayoutUtils so it can be reused. r=mstange
MozReview-Commit-ID: GVRBUfYwOFP
2017-05-01 19:59:08 -04:00
Brian Birtles
a21e613ca1 Bug 1355348 - Add constructor to AnimationValue; r=hiro
We will use this later in this patch series to simplify the creation of SMIL's
ValueWrapper objects.

MozReview-Commit-ID: 7EF9CN2SdwQ
2017-04-26 13:00:11 +09:00