Commit Graph

166 Commits

Author SHA1 Message Date
Timothy Nikkel
3d803646ac Bug 1346109. Change the image visibility frame walker to handle missing displayport base rects. r=botond
We set the base rect for root scroll frames of root content documents and top level documents because it is quick and easy to calculate it.

Otherwise we ignore the display port if we are missing a base rect, and treat it like a scrollframe without a displayport. This is likely better behaviour as if the base rect is missing the computed displayport may not even cover what is currently visible.
2017-03-11 01:00:51 -06:00
Bobby Holley
fe8dc59428 Bug 1344386 - Don't look for overlapping change hints in stylo documents. r=emilio
MozReview-Commit-ID: 9wK8TTXolPM
2017-03-07 13:14:32 -08:00
Mats Palmgren
89416847ae Bug 1340771 part 2 - Introduce a WeakFrame class for heap allocated weak frame pointers, stored in a hashtable for fast lookup. r=tn
* * *
Bug 1340771 part 3 - Change existing heap allocated AutoWeakFrame instances to use WeakFrame instead.  r=tn

MozReview-Commit-ID: GSuUiy98jBa
2017-03-01 18:03:14 +01:00
Mats Palmgren
7c43dcf986 Bug 1340771 part 1 - Rename nsWeakFrame to AutoWeakFrame (automated change). r=tn
MozReview-Commit-ID: 8pl4nyeGEkr
2017-03-01 18:03:14 +01:00
Stone Shih
07a1a01198 Bug 1340085 - [Pointer Event] Stop firing pointer events after firing eTouchCancel. f=smaug. r=kats 2017-02-16 15:05:09 +08:00
Emilio Cobos Álvarez
f4eb911148 Bug 1341083: Cleanup infallible ProcessRestyledFrames. r=heycam
MozReview-Commit-ID: JfugKoU6caG
Signed-off-by: Emilio Cobos Álvarez <emilio@crisal.io>
2017-02-25 19:15:33 +01:00
Wes Kocher
d2ae02e129 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 2xWBiKMAozs
2017-02-23 16:59:01 -08:00
Kartikaya Gupta
f2ce17b763 Merge m-c to graphics
MozReview-Commit-ID: BMjcETZ38gw
2017-02-23 09:51:44 -05:00
sotaro
87e0825b4a Bug 1341163 - Update LayerManager handling PresShell::RenderDocument() r=nical 2017-02-23 10:49:46 +09:00
Cameron McCormack
b16e5f7bca Bug 1337258 - Support ServoStyleSheets in nsStyleSheetService. r=xidorn
MozReview-Commit-ID: 4vaHzDBZHFg
2017-02-21 10:42:27 +08:00
Ting-Yu Lin
e6769617e9 Bug 775624 Part 22 - Remove NS_FRAME_COMPLETE. r=dholbert
This patch is written by the following script with some manual adjustment to
the comment in nsRubyTextContainerFrame.cpp and nsRubyFrame.cpp, and
nsColumnSetFrame's constructor.

function rename() {
find layout\
     -type f\
     \( -name "*.cpp" -or\
        -name "*.h" \)\
        -exec sed -i -r "s/$1/$2/g" "{}" \;
}

rename "nsReflowStatus *([a-zA-Z0-9]*) = NS_FRAME_COMPLETE" "nsReflowStatus \1"
rename "([a-zA-Z0-9.*]*) *= NS_FRAME_COMPLETE;" "\1.Reset();"
rename "([a-zA-Z0-9.*]*) == NS_FRAME_COMPLETE" "\1.IsEmpty()"

MozReview-Commit-ID: 9tqQAHvdQex
2017-02-14 17:55:48 +08:00
Markus Stange
50d3418d30 Bug 1340709 - Add profiler tracing markers for more phases of the refresh tick. r=mattwoodrow
This adds markers for FireScrollEvent, DispatchSynthMouseMove, ForwardTransaction, and NotifyDidPaint.

MozReview-Commit-ID: 9XahFGzIOls
2017-02-17 13:03:37 -05:00
Wes Kocher
7edbcda21d Merge m-c to inbound, a=merge
MozReview-Commit-ID: 18xg2cleATb
2017-02-17 13:51:01 -08:00
Boris Zbarsky
2be49a7995 Bug 1339891 part 2. Make FlushPendingNotifications on a presshell quickly no-op if there is nothing to flush. r=heycam 2017-02-17 13:38:44 -05:00
Boris Zbarsky
d8056f09f6 Bug 1339891 part 1. Make the invariants around nsIPresShell::FlushPendingNotifications clearer. r=mats 2017-02-17 13:38:44 -05:00
Wes Kocher
0e7757aeda Merge m-c to inbound a=merge
MozReview-Commit-ID: BemR756HJnR
2017-02-15 16:33:03 -08:00
Wes Kocher
b91739bde1 Merge inbound to m-c a=merge
MozReview-Commit-ID: IKI0zVtF1n9
2017-02-15 16:18:13 -08:00
Daniel Holbert
9ee6665728 Bug 1338772: Move mInFlush tweak a bit closer to the actual flushing, in PresShell::FlushPendingNotifications. r=bz
MozReview-Commit-ID: 9jeQVl6iX56
2017-02-15 09:55:33 -08:00
Bill McCloskey
f79edeabc9 Bug 1339289 - Give names to a lot of common runnables (r=ehsan)
MozReview-Commit-ID: 5IdvK6kgoAW
2017-02-15 12:30:01 -08:00
Jeff Walden
a6ec779698 Bug 1287006 - Don't pass Maybe (or any class containing a Maybe member) by value, only by reference or pointer, in layout/-related code. r=bz 2017-02-13 09:07:40 -08:00
Carsten "Tomcat" Book
18ab6a9a02 Merge mozilla-central to autoland 2017-02-15 12:59:23 +01:00
Tom Tromey
48da5b7de4 Bug 1060419 - remove unneeded includes of prprf.h, r=froydnj
MozReview-Commit-ID: JifhpA3oOeH
2016-12-09 10:00:01 -10:00
Cameron McCormack
7e0b0226e3 Bug 1340090 - Annotate fall through to satisfy static analysis on a CLOSED TREE. r=me a=tomcat+bustage-fix 2017-02-17 01:38:00 +01:00
Cameron McCormack
7daf2c7fe5 Bug 1340090 - Make nsStyleSheetService notify PresShells directly instead of using the observer service. r=bz
MozReview-Commit-ID: 4xz422B6GSv
2017-02-17 15:56:28 +08:00
Matt Woodrow
e40a3c55b7 Bug 1302071 - Part 5: Bucket PresContext invalidations by transaction ID, and only deliver them when the associated composite has completed. r=tnikkel
This patch does a few things:
* Buckets invalidations by transaction ID, and sends MozAfterPaints events for them when the associated composite completes.
* Creates a separate EventualDidPaint timer for each transaction ID we have invalidations for rather than just using one.
* Removes NotifyDidPaintForSubtree(PAINT_LAYERS), as it was only necessary for the existing bucketing mechanism.

MozReview-Commit-ID: JERMsgxhPQd
2017-02-17 15:16:15 +13:00
Matt Woodrow
41d4c15ba3 Bug 1302071 - Part 4: Pass the current transaction ID to NotifyInvalidation. r=tnikkel
MozReview-Commit-ID: AMLjzElRp1l
2017-02-17 15:15:45 +13:00
Matt Woodrow
2cebc9affd Bug 1302071 - Part 3: Remove flags parameter to NotifyInvalidation since it's unused. r=tnikkel
MozReview-Commit-ID: 8hC1GglMhk2
2017-02-17 11:50:58 +13:00
Matt Woodrow
96389b5cf7 Bug 1302071 - Part 1: Remove AddPresShellToInvalidateIfHidden since it doesn't appear to be necessary. r=tnikkel
We added this so that MozAfterPaint events would be delivered to hidden documents as part of bug 539356, but I don't remember what needed it.
It doesn't appear to be necessary for any tests any more, so let's just get rid of it

MozReview-Commit-ID: HcmIjstZyLQ
2017-02-17 11:49:29 +13:00
Cameron McCormack
87f3ad6dfb Bug 1297899 - Part 6: Move RestyleManagerHandle functionality into RestyleManager. r=bholley
MozReview-Commit-ID: 7lsti0bGzNr
2017-02-13 11:21:33 +08:00
William Chen
ae6e16da55 Bug 1332511 - Adjust telemetry histograms for time to first input probes. r=jwatt, data=bsmedberg 2017-01-31 21:49:06 -07:00
Cameron McCormack
2f1c8d26fe Bug 1334735 - Part 3: Really set mNeedLayoutFlush when skipping suppressed interruptible reflows. r=bz
MozReview-Commit-ID: AKL9LShifvI
2017-02-10 10:42:28 +08:00
Cameron McCormack
c6a66bcfd8 Bug 1334735 - Part 2: Add separate flag to track need to flush throttled animations. r=bz,birtles
MozReview-Commit-ID: 6Vi3laKcbmG
2017-02-10 10:42:28 +08:00
Cameron McCormack
334e0fe231 Bug 1334735 - Part 1: Move need style/flush flags from document to pres shell. r=bz
MozReview-Commit-ID: 2Amf9yGRiJA
2017-02-10 10:42:27 +08:00
Jessica Jong
1653fdc0ea Bug 1316330 - Cancel delayed keypress events if last keydown was canceled. r=smaug 2017-02-03 05:16:00 -05:00
Ehsan Akhgari
0ea96fc715 Bug 1335070 - Switch the PresShell::Paint profiler marker to use GetPrimaryContentDocument to annotate using the content document; r=tn 2017-02-02 18:22:53 -05:00
Boris Zbarsky
f9cb78afdc Bug 835981 part 5. Change nsIDOMXULElement::GetBoxObject consumers to nsXULElement. r=peterv 2017-02-02 10:32:58 -05:00
Markus Stange
683672b065 Bug 1298218 - Use DisplayItemClipChain for tracking clips on display items. r=mattwoodrow,tnikkel
This is the bulk of the changes.
 - DisplayItemScrollClip is removed. Instead, we will have 1) ActiveScrolledRoot
   and 2) DisplayItemClipChain.
 - ActiveScrolledRoot points to a scroll frame and allows traversing up the
   scroll frame chain.
 - DisplayItemClipChain is a linked list of clips, each clip being associated
   with the ActiveScrolledRoot that moves this clip.
 - Each display item has an ActiveScrolledRoot and a clip chain.
 - nsDisplayItem::GetClip returns the item of the clip chain that scrolls with
   the item's ASR. The separation between "regular clip" and "scroll clips"
   mostly goes away.
 - Tracking clips in the display list builder's clip state happens very
   similarly to how regular clips used to be tracked - there's a clip chain for
   content descendants and a clip chain for containing block descendants. These
   clip chains are intersected to create the combined clip chain.
 - There are strict rules for the ASR of a container item: A container item's
   ASR should be the innermost ASR which the item has finite clipped bounds with
   respect to.
 - At some point in the future, ASRs and AGRs should be reunified, but I haven't
   done that yet, because I needed to limit the scope of the change.

MozReview-Commit-ID: KYEpWY7qgf2
2017-01-31 17:07:35 -05:00
Ehsan Akhgari
d5e2febafe Bug 1334218 - Add a profiler annotation to PresShell::Paint that gives the URL of the document being painted; r=dholbert
This essentially copies what we do for the PresShell::DoReflow marker.
2017-01-27 10:15:46 -05:00
L. David Baron
03fdb51fe9 Bug 1333951 - Unbreak dumping of style contexts. r=bzbarsky
Prior to this patch, dumping of style contexts in the layout
debugger would only dump the subtree associated with the root
frame, which just covers the viewport, canvas, and associated
scrollbars.

I think this has been broken since bug 236921 (2004) and
bug 378693 (2007) properly disconnected the root element from the
styles for the viewport and canvas.

This patch just manually dumps the root frame and the root
element's frame, since the style set no longer maintains a list
of all of the style context roots.

MozReview-Commit-ID: 5LEnbNtngN2
2017-01-25 22:05:16 -08:00
Mats Palmgren
7b1c2b5cc8 Bug 1323777 part 3 - Ensure that collecting telemetry on user font usage don't have unwanted side effects. r=smaug 2017-01-25 23:34:22 +02:00
Mats Palmgren
a5d7e89d2e Bug 1323777 part 2 - make PresShell::Destroy() return immediately if it's already been called. r=smaug 2017-01-25 23:34:03 +02:00
Nicholas Nethercote
d2434a7cc6 Bug 1333296 (part 1) - Rename MOZ_ENABLE_PROFILER_SPS as MOZ_GECKO_PROFILER. r=mstange,glandium. 2017-01-24 14:15:12 +11:00
Julian Seward
ce27f2a170 Bug 1232696 - Remove NS_DECL_AND_IMPL_ZEROING_OPERATOR_NEW as it causes segfaulting for GCC 6 builds (3 of 5, fixes for layout/). r=dholbert. 2017-01-24 17:11:13 +01:00
Bill McCloskey
0755f6a473 Bug 1331966 - Don't assert against content JS during painting on Android (r=dvander)
MozReview-Commit-ID: HU8V8jeBFX
2017-01-23 17:01:18 -08:00
Carsten "Tomcat" Book
c0e7ed5917 Backout bug 1316330 on developers request 2017-01-20 14:16:13 +01:00
Neil Deakin
b7cb2dd75f Bug 1321472, when the capturing content is inside a popup, use the popup as the root frame when searching for a mouse target rather than the root frame, otherwise the capturing content's frame won't be found, r=smaug 2017-01-19 10:04:04 -05:00
Wes Kocher
e05c5a9c50 Merge inbound to m-c a=merge
MozReview-Commit-ID: 3cGydlfeaPN
2017-01-18 14:17:10 -08:00
Stone Shih
bf14e7b562 Bug 1323976 - Part 2: Refine button and buttons value of WidgetPointerEvent for touch. r=smaug
MozReview-Commit-ID: KGL1Hq2iIOW
2017-01-12 17:26:43 +08:00
Stone Shih
1169fc52aa Bug 1323976 - Part 1: Add eNoButton to WidgetMouseEventBase::buttonType. r=smaug
MozReview-Commit-ID: FYUhdfKj5wT
2017-01-12 17:53:38 +08:00
Jan Beich
b368444e75 Bug 1330359 - Fix building with -Werror for non-SPS platforms. r=mstange
MozReview-Commit-ID: Ifb3zyGHn7U
2017-01-11 17:22:19 +00:00