Commit graph

76 commits

Author SHA1 Message Date
KuoE0
940546aa6f Bug 1342863 - (Part 1) DocGroup labeling for runnables dispatched by NS_DispatchTo(Main|Current)Thread in PresShell. r=dholbert
MozReview-Commit-ID: HNBIDrSAo5B

--HG--
extra : rebase_source : edba806b7f7e9e9c5da99285828d8c99001eee38
2017-03-09 17:08:41 +08:00
Markus Stange
730b4fc829 Bug 1339897 - Rename PROFILER_LABEL_PRINTF to PROFILER_LABEL_DYNAMIC and make it really cheap. r=Ehsan,njn
Instead of copying and concatenating strings into an mDest buffer in
SamplerStackFramePrintfRAII, require callers to keep the string buffer alive
for the duration of the current scope, and store the pointer to the annotation
string in the ProfileEntry. During stackwalking, concatenate the label and the
annotation (separated by a space) and store the resulting string in the
profile buffer.

MozReview-Commit-ID: GEjcLrhhdvb

--HG--
extra : rebase_source : 683749421ee2122805a249cf413e882ee5f33331
2017-03-22 19:37:33 -04:00
Iris Hsiao
25b734e893 Backed out changeset 140374af2570 (bug 1341531) for build bustage 2017-03-22 15:52:39 +08:00
Wei-Cheng Pan
4c78d0812e Bug 1341531 - Measure input event dispatching latency. (*_EVENT_RECEIVED_MS) r=smaug
This patch measures the time from an input event creation, to it been
dispatched to PresShell, but just before any handler been executed.

MozReview-Commit-ID: 6ZYra7YYICY

--HG--
extra : rebase_source : 019521545132e72113a87c06cfbe562a9915522d
2017-02-08 15:11:53 +08:00
Emilio Cobos Álvarez
401a3ef429 Bug 1296516: Cleanup infallible or unchecked nsCSSFrameConstructor methods. r=heycam
MozReview-Commit-ID: IoMOQyAhadv
2017-03-20 22:28:16 +01:00
Emilio Cobos Álvarez
4b44bcc15e Bug 1347381: Tell Servo earlier about stylesheet changes. r=heycam
MozReview-Commit-ID: 4FcFzvSTckm

--HG--
extra : rebase_source : 400153f672850975794b01fe7564e01b5ac65241
2017-03-15 19:54:11 +01:00
Stone Shih
7a1fe394b3 Bug 1323158 - Part 5: Update test_pointerevent_releasepointercapture_events_to_original_target-manual.html. r=smaug
--HG--
extra : rebase_source : a0bcfebeec733bd19de430169ee85311c3ceaa64
extra : histedit_source : de28bd8878ad23bad064e884e96a74f2855045a8
2017-03-03 13:24:20 +08:00
Stone Shih
b3c77294ca Bug 1323158 - Part 3: Fire boundary events when dispatching gotpointercapture. r=smaug
--HG--
extra : rebase_source : e70ab21585d38a64c657c260b722ef1a09d87ae9
extra : histedit_source : 46a0483c2c7efb76a752ef472baa1bca28650241
2017-01-20 15:00:07 +08:00
Stone Shih
eb9ee92c2d Bug 1323158 - Part 1: Fire pointer and mouse boundary events when capturing the pointer. r=smaug
--HG--
extra : rebase_source : 2895681bb5d0e4872dc37f9d67dc4e2928bdce33
extra : histedit_source : e08adaaf7299e9667eb1f3887ef518c5edf5dc59
2017-01-18 15:25:44 +08:00
Stone Shih
4db46fd00d Bug 1346166 - Set isHandlingUserInput = true when dispatching pointerdown and pointerup. r=smaug 2017-03-11 14:10:52 +08:00
Timothy Nikkel
9eca2208bd 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
09bc17720b 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
6ef6efaea3 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
d13aaf9ce0 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
f3b56f1a20 Bug 1340085 - [Pointer Event] Stop firing pointer events after firing eTouchCancel. f=smaug. r=kats
--HG--
extra : rebase_source : 95539f13dd0316cb4c01382a4c0213b00dcb64b0
2017-02-16 15:05:09 +08:00
Emilio Cobos Álvarez
ddc24400e5 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
163d6c2a49 Merge m-c to autoland, a=merge
MozReview-Commit-ID: 2xWBiKMAozs
2017-02-23 16:59:01 -08:00
Kartikaya Gupta
92d49690c6 Merge m-c to graphics
MozReview-Commit-ID: BMjcETZ38gw
2017-02-23 09:51:44 -05:00
sotaro
5d0c587887 Bug 1341163 - Update LayerManager handling PresShell::RenderDocument() r=nical 2017-02-23 10:49:46 +09:00
Cameron McCormack
6a09f48246 Bug 1337258 - Support ServoStyleSheets in nsStyleSheetService. r=xidorn
MozReview-Commit-ID: 4vaHzDBZHFg

--HG--
extra : rebase_source : cb6e075e88c66a89bf6711db4ba913d62fd421ad
2017-02-21 10:42:27 +08:00
Ting-Yu Lin
8f840dc923 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

--HG--
extra : rebase_source : 3119776946dc2c8350098b7bf9f3ceff29bdffb5
2017-02-14 17:55:48 +08:00
Markus Stange
b43e156ce1 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

--HG--
extra : rebase_source : 1985b2a11777a17dac621a35632f138a76224b0f
2017-02-17 13:03:37 -05:00
Wes Kocher
a85d979e21 Merge m-c to inbound, a=merge
MozReview-Commit-ID: 18xg2cleATb
2017-02-17 13:51:01 -08:00
Boris Zbarsky
25937fe5a8 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
92d6e995f7 Bug 1339891 part 1. Make the invariants around nsIPresShell::FlushPendingNotifications clearer. r=mats 2017-02-17 13:38:44 -05:00
Wes Kocher
3797956aa6 Merge m-c to inbound a=merge
MozReview-Commit-ID: BemR756HJnR
2017-02-15 16:33:03 -08:00
Wes Kocher
017c515285 Merge inbound to m-c a=merge
MozReview-Commit-ID: IKI0zVtF1n9
2017-02-15 16:18:13 -08:00
Daniel Holbert
cd9e13195a 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
194043ae97 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
cdee578059 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
--HG--
extra : rebase_source : 94377970d6ec591044a10dab1aa5568e4a051837
2017-02-13 09:07:40 -08:00
Carsten "Tomcat" Book
dacc230ad3 Merge mozilla-central to autoland 2017-02-15 12:59:23 +01:00
Tom Tromey
f8ab4ddf02 Bug 1060419 - remove unneeded includes of prprf.h, r=froydnj
MozReview-Commit-ID: JifhpA3oOeH

--HG--
extra : rebase_source : 08460997dc3fd91f3065c718e17b41bb4acf8bae
2016-12-09 10:00:01 -10:00
Cameron McCormack
4e7979acae 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
414df18eb5 Bug 1340090 - Make nsStyleSheetService notify PresShells directly instead of using the observer service. r=bz
MozReview-Commit-ID: 4xz422B6GSv

--HG--
extra : rebase_source : 5b6c132c5dcace04a6d1c3a6ba05a4b207f6bbba
2017-02-17 15:56:28 +08:00
Matt Woodrow
4be7d40139 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

--HG--
extra : rebase_source : aad23cb4e77afe12ddf4ebf21db36ae6edec9692
2017-02-17 15:16:15 +13:00
Matt Woodrow
f23fe59b03 Bug 1302071 - Part 4: Pass the current transaction ID to NotifyInvalidation. r=tnikkel
MozReview-Commit-ID: AMLjzElRp1l

--HG--
extra : rebase_source : f66838ab9f0ad8fbf3364a28aafb8d786770ff6e
2017-02-17 15:15:45 +13:00
Matt Woodrow
7df250f09a Bug 1302071 - Part 3: Remove flags parameter to NotifyInvalidation since it's unused. r=tnikkel
MozReview-Commit-ID: 8hC1GglMhk2

--HG--
extra : rebase_source : 79c2bb7af3ad8a878abd150fba9ad8f4a86011fd
2017-02-17 11:50:58 +13:00
Matt Woodrow
ba6e966a12 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

--HG--
extra : rebase_source : 3f58129b3b1588e5d39e00c157e4bdba1afeed0c
2017-02-17 11:49:29 +13:00
Cameron McCormack
f63cdecde2 Bug 1297899 - Part 6: Move RestyleManagerHandle functionality into RestyleManager. r=bholley
MozReview-Commit-ID: 7lsti0bGzNr

--HG--
extra : rebase_source : 13c64026190afe5de25f540adb6deea9f518149f
2017-02-13 11:21:33 +08:00
William Chen
7690af08a2 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
d9afbf0240 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
71d4bbc431 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
b2ee81223c 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
ed17f6c827 Bug 1316330 - Cancel delayed keypress events if last keydown was canceled. r=smaug
--HG--
extra : histedit_source : 7d2215d9c049b01b883e194e0efd0e61845223a3%2C135d6e6cef429efc19bba2c03a0f73fc6441d3a1
2017-02-03 05:16:00 -05:00
Ehsan Akhgari
b583e128e0 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
1a543ff1ad Bug 835981 part 5. Change nsIDOMXULElement::GetBoxObject consumers to nsXULElement. r=peterv 2017-02-02 10:32:58 -05:00
Markus Stange
6efd7c73b1 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

--HG--
extra : rebase_source : c727f6300a35463750639e165bfa37374c06b851
2017-01-31 17:07:35 -05:00
Ehsan Akhgari
ec8e7efb36 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
b0cf27878d 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

--HG--
extra : transplant_source : v%BB%09%C8M8%FE%25%A9%A6%3D%EA%BD%BE%DF7%08%9A%85m
2017-01-25 22:05:16 -08:00
Mats Palmgren
bf382ceca8 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