Commit Graph

501 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
f0a2ea6b79 Bug 1437790: No need to reframe synchronously on chrome-flush-skin-caches. r=xidorn
Instead, just post the reframe, and process them normally on the next style
flush.

The assertion happens because the observer is triggered due to a doc ltr -> rtl
change, which triggers style invalidation. There's nothing processing the
restyles resulting from that invalidation before we hackily go into frame
construction from there, and thus we assert that the styles aren't up-to-date.

MozReview-Commit-ID: GnOKFqmtTnq
2018-02-13 10:38:30 +01:00
Matt Woodrow
b578051cd0 Bug 1435643 - Remove no longer needed layer flattening code. r=mstange 2018-02-12 19:03:09 +13:00
Dorel Luca
5d22bc1111 Backed out changeset 87a3fe2c7e9b (bug 1436782) for Browser chrome failures on layout/style/test/browser_newtab_share_rule_processors.js on a CLOSED TREE 2018-02-10 05:37:22 +02:00
Emilio Cobos Álvarez
1a03b67bd2 Bug 1436782: Insert the prefs sheet at the UA level. r=bholley
Since that's what it's effectively happening anyway.

MozReview-Commit-ID: AZGONTbCTNa
2018-02-10 03:03:41 +01:00
Boris Zbarsky
6b0d86d490 Bug 1434686 part 3. Use IgnoreErrors() outside of dom/. r=mystor
I left some IgnoredErrorResults for now where people warn on failure.  We could
consider adding a WarnOnError() thing or something.

MozReview-Commit-ID: L5ttZ9CGKg0
2018-02-01 14:21:14 -05:00
Emilio Cobos Álvarez
de5d26b942 Bug 1434474: There's no need to rebuild font / counter styles / font feature values off a runnable. r=bholley
Everything that needs them up-to-date will call flush appropriately, there
should be no need to do it manually.

This way we coalesce all the stylist updates until the next style flush in the
best case, or until one of the consumers actually needs them.

MozReview-Commit-ID: BVsxXxhtcKL
2018-01-31 11:12:36 +01:00
Cameron McCormack
34288f7f48 Bug 1430014 - Part 5: Stop building old style system classes when MOZ_OLD_STYLE is not defined. r=xidorn
MozReview-Commit-ID: CIHyPdF7Exl
2018-02-01 15:04:04 +11:00
Cameron McCormack
02c617875f Bug 1430014 - Part 4: #ifdef out unnecessary code when the old style system is not built. r=xidorn
MozReview-Commit-ID: 1FZ9VzjcPzN
2018-02-01 15:04:04 +11:00
Hiroyuki Ikezoe
c7359c6a34 Bug 1428694 - Bail out from PresShell::Initialize if the pres shell is being destroyed in XBLConstructorRunner. r=tnikkel
MozReview-Commit-ID: 86Rq18OdZnJ
2018-01-31 17:49:27 +09:00
Boris Zbarsky
41c46ec098 Bug 1418085 part 6. Remove nsIDOMHTMLElement. r=mystor
MozReview-Commit-ID: 5QUyFeAQYZQ
2018-01-30 00:25:36 -05:00
Boris Zbarsky
9dd08d91e3 Bug 1418076 part 9. Eliminate remaining uses of nsIDOMHTMLDocument. r=mystor
MozReview-Commit-ID: DqjJPKKRYOx
2018-01-26 01:01:25 -05:00
Boris Zbarsky
7242354a36 Bug 1432944 part 11. Remove nsIDOMElement::GetAttribute. r=mccr8
MozReview-Commit-ID: 2f1vFvRdCPG
2018-01-29 23:28:00 -05:00
Boris Zbarsky
a04420f06a Bug 1432186 part 19. Remove the nsIDOMNode::*_NODE constants. r=mccr8
MozReview-Commit-ID: KvKjeKIOB9K
2018-01-29 23:10:53 -05:00
Hiroyuki Ikezoe
5d807148ef Bug 1415780 - Let AnimationEventDispatcher observe nsRefreshDriver. r=birtles
So that we can now ensure nsRefreshDriver ticks (i.e. nsRefreshDriver doesn't
stop its timer) for all queued events.
Before this patch, dispatching CSS animation/transition events relied on the
fact that DocumentTimeline observes nsRefreshDriver.  For this fact,
animationcancel or transitioncancel event did not dispatch properly in some
cases, i.e. the case where the animation was dropped from the DocumentTimeline.

MozReview-Commit-ID: 7JYro0MY2U2
2018-01-27 21:17:27 +09:00
Hiroyuki Ikezoe
d2a02a7a1b Bug 1415780 - Let nsPresContext have AnimationEventDispatcher. r=birtles
Now we sort CSS animation/transition events by scheduled event time prior
to compositor order.

SortEvents() will be a private method in the next patch in this patch
series.

MozReview-Commit-ID: ICkOayquN0f
2018-01-27 21:17:27 +09:00
Cosmin Sabou
f642a7b9c4 Backed out 12 changesets (bug 1415780) for build bustages nsRefreshDriver.cpp:1606:1 and AnimationCommon.h:168:51 on a CLOSED TREE
Backed out changeset 1fa2f138319e (bug 1415780)
Backed out changeset 6bad89a17566 (bug 1415780)
Backed out changeset a88250ad7a3e (bug 1415780)
Backed out changeset 43d42ca7308f (bug 1415780)
Backed out changeset 79e980195ee8 (bug 1415780)
Backed out changeset f0cc29e7ccd7 (bug 1415780)
Backed out changeset c6567e4196f6 (bug 1415780)
Backed out changeset ae7be65f3c88 (bug 1415780)
Backed out changeset 621b9aaf4a8f (bug 1415780)
Backed out changeset e298f242ce7c (bug 1415780)
Backed out changeset 027a7ed3c948 (bug 1415780)
Backed out changeset 433a6f0d0ac3 (bug 1415780)
2018-01-27 12:47:29 +02:00
Hiroyuki Ikezoe
747fb446e6 Bug 1415780 - Let AnimationEventDispatcher observe nsRefreshDriver. r=birtles
So that we can now ensure nsRefreshDriver ticks (i.e. nsRefreshDriver doesn't
stop its timer) for all queued events.
Before this patch, dispatching CSS animation/transition events relied on the
fact that DocumentTimeline observes nsRefreshDriver.  For this fact,
animationcancel or transitioncancel event did not dispatch properly in some
cases, i.e. the case where the animation was dropped from the DocumentTimeline.

MozReview-Commit-ID: 7JYro0MY2U2
2018-01-27 16:55:45 +09:00
Hiroyuki Ikezoe
a154be0ff5 Bug 1415780 - Let nsPresContext have AnimationEventDispatcher. r=birtles
Now we sort CSS animation/transition events by scheduled event time prior
to compositor order.

SortEvents() will be a private method in the next patch in this patch
series.

MozReview-Commit-ID: ICkOayquN0f
2018-01-27 16:55:45 +09:00
Emilio Cobos Álvarez
60d5e2c195 Bug 1433056: Account for pres shell destruction. r=smaug
The underlying issue here is that the pres shell was already being torn down
when we flush.

The less risky change here is to just change the assertions instead of
IsSafeToFlush too, but the !isSafeToFlush || mViewManager assertion was also
firing already, because we null out the view manager from Destroy.

So this change is effectively idempotent behavior-wise (we tighten a bit the
view manager assertion, but that should be fine).

Just let me know if you want me to just loosen the assertions, but I think the
IsSafeToFlush change is nicer too.

MozReview-Commit-ID: 240qLlLi7RE
2018-01-25 15:56:47 +01:00
Emilio Cobos Álvarez
f02021ccda Bug 1431474: Try to assert nice things about what's going on on our flushes. r=bz
This is green on try... Let's see on the wild.

MozReview-Commit-ID: C9Gam0s42pO
2018-01-24 10:35:13 +01:00
Emilio Cobos Álvarez
7ce02a51df Bug 1409672: Handle document state changes using the invalidation machinery. r=xidorn
MozReview-Commit-ID: EoSMrYPS7dl
2018-01-22 17:57:05 +01:00
Emilio Cobos Álvarez
631f8eec7e Bug 1426649: Remove nsCSSFrameConstructor updates. r=mats
They used to do quote updates and such but they where moved long ago, and do
nothing now.

MozReview-Commit-ID: 188vzGctbty
2017-12-21 19:34:48 +01:00
Emilio Cobos Álvarez
a5afcee280 Backout changeset b54c60961def (Bug 1409672) for failing one OSX reftest on a CLOSED TREE. r=backout
MozReview-Commit-ID: 6ZHlFBpMOUo
2018-01-17 23:09:38 +01:00
Emilio Cobos Álvarez
b12066a877 Bug 1409672: Hook in the invalidator stuff. r=xidorn
MozReview-Commit-ID: EoSMrYPS7dl
2018-01-17 21:51:53 +01:00
Emilio Cobos Álvarez
6f35619cdb Bug 1428491: Remove redundant mBindingManager member in ServoStyleSet. r=heycam
MozReview-Commit-ID: KMiivgik0fr
2018-01-17 19:12:45 +01:00
Emilio Cobos Álvarez
1cafea09fd Bug 1430844: Make resize reflow sound re. viewport units. r=bz
In particular, we set the pres context visible area _before_ processing
restyles.

This causes inconsistencies when resolving viewport units. In particular, the
resulting style tree will have some units resolved in terms of the old size, and
some in terms of the new size, depending on whatever is dirty, because we don't
flush the pending media query changes.

Also, some sizes are resolved against the unconstrained size because of the
shrink-to-fit stuff. Fix this by flushing _before_ in this case, instead of
after, since we're going to set the size to an actual value later when reflowing
the root frame.

MozReview-Commit-ID: ExI5yTJCjGp
2018-01-17 19:12:25 +01:00
Tim Huang
2e3a4f4b52 Bug 1222285 - Part 2: Making the keyboard events of modifier keys been suppressed when 'privacy.resistFingerprinting' is true. r=arthuredelstein,masayuki
This patch makes 'Shift', 'Alt', 'Contorl' and 'AltGraph' been suppressed for content
when fingerprinting resistance is enabled. Chrome can still get these events.

The reason behind this is that websites can still observe key combinations to
tell which keyboard layout is using even we spoof the keyboardEvent.code,
keyboardEvent.keyCode and modifier states. For example, the AZERTY France
keyboard, the digit keys of it requires the user press the Shift key. So, it is
easy to differentiate AZERTY and QWERTY keyboard by observing whether a Shift key
generates its own before the digit keys. There are similar issues for 'Alt' and
'AltGraph' as well.

MozReview-Commit-ID: 3CwCgvey4lK
2017-08-31 11:14:14 +08:00
Andreea Pavel
02e269ec09 Backed out 2 changesets (bug 1428491) for failing browser chrome mochitest at /builds/worker/workspace/build/src/layout/style/ServoStyleSet.cpp:941 on a CLOSED TREE
Backed out changeset 308e79e6c98f (bug 1428491)
Backed out changeset dbfd798e491b (bug 1428491)
2018-01-16 14:26:41 +02:00
Emilio Cobos Álvarez
11a29f6e72 Bug 1428491: Remove redundant mBindingManager member in ServoStyleSet. r=heycam
MozReview-Commit-ID: KMiivgik0fr
2018-01-05 20:17:26 +01:00
Csoregi Natalia
84c5180232 Backed out 4 changesets (bug 712130) for Android autofocus failures and for failing browser_formdata.js. on a CLOSED TREE
Backed out changeset e7738f07edae (bug 712130)
Backed out changeset 3774e90777a7 (bug 712130)
Backed out changeset a3cffbfc8395 (bug 712130)
Backed out changeset ba6c2fff9fd5 (bug 712130)
2018-01-12 22:46:22 +02:00
decltype
72710df5ab Bug 712130 - Defer autofocus until after frame construction. r=bz
The autofocus attribute on form elements forces layout in CheckIfFocusable.
To avoid unpleasant FOUCs, defer autofocus processing until frames are
constructed in PresShell::Initialize.

Resolve the race between nsAutoFocusEvent running and page load by checking the
readystate at time of event posting.

MozReview-Commit-ID: 90jiJYJWmRg
2018-01-08 22:35:00 +01:00
Kartikaya Gupta
3cae6984a0 Bug 1426653 - Stop calling SchedulePaint uselessly when bumping the APZ focus sequence number. r=rhunt
MozReview-Commit-ID: Hq8QXLjDWL
2018-01-09 14:02:42 -05:00
Botond Ballo
f6efec4501 Bug 1425686 - Remove scroll input methods telemetry code. r=kats
MozReview-Commit-ID: 1PC4826SMvh
2017-12-20 15:16:18 -05:00
Stone Shih
15eda3ce1e Bug 1426728 - Don't cache the event target of pointer events when they are generated from touch. r=smaug.
The event targets of touch events are not necessarily to be the same as their corresponding pointer events. So we don't have to cache the event target of pointer events when they are generated from touch.

MozReview-Commit-ID: 9Gd6ion7NXf
2017-12-22 12:27:05 +08:00
Olli Pettay
743ba93e13 backout Bug 1414204 because of regressions, r=backout 2018-01-03 18:42:50 +02:00
Emilio Cobos Álvarez
a12241bd7d Bug 1420547: Notify the pres shell specially, instead of via mutation observers. r=bz
This makes the pres shell be notified as the last observer unconditionally.

In practice this doesn't matter, and it may already be the case if an iframe
goes display: none and back. In practice, the only dependency that requires this
order is that the pres shell needs to be notified _after_ the content sink, so
we don't try to enter frame construction before beginning the shell update.

That may be worth looking into, but definitely not in the scope of this bug... :)

MozReview-Commit-ID: 9WeJ5kaUtBq
2017-12-06 05:26:32 +01:00
Stone Shih
579dd7cffa Bug 1414204 Part1: Suppress input events when there is a dnd session. r=smaug.
There may be some pending input events in the queue of thread when content starts a dnd operation. Spec says that input events should be suppressed when there is a dnd operation. Add a flag in ESM and turn on/off when start/finish a dnd operation. Checking the flag in PresShell::HandleEvent because we may start a dnd operation with pointermove and we want to suppress the mousemove as well.

MozReview-Commit-ID: 43NZrA7SW4c
2017-11-03 18:25:49 +08:00
Stone Shih
c2b754570b Bug 1420589 Part9: Dispatch pointer events to the capturing target even it's frame is destroyed. r=smaug.
MozReview-Commit-ID: DxNx3ByTdCW
2017-11-30 16:10:03 +08:00
Stone Shih
7310b7e7b9 Bug 1420589 Part7: Using mouse or touch event to do hit test and then generate pointer events with the same target. r=smaug.
MozReview-Commit-ID: 1uM3MxurI9I
2017-11-26 21:54:07 +08:00
Stone Shih
8eb9e308a8 Bug 1420589 Part6: Keep those touch points that are not in the same document so that we can use them to dispatch pointer events.
MozReview-Commit-ID: JlXHDwpbcEO
2017-12-09 10:06:18 +08:00
Stone Shih
48530f8b80 Bug 1420589 Part5: Separate the logic to get shell for touch events into a function. r=smaug.
MozReview-Commit-ID: LbYKBZAqeJM
2017-12-09 09:11:10 +08:00
Stone Shih
07f90c015e Bug 1420589 Part4: Revise PointerEventHandler utilities. r=smaug.
MozReview-Commit-ID: DpGrbbYJbzh
2017-12-09 08:56:11 +08:00
Stone Shih
0ae169a09e Bug 1420589 Part3: Merge PresShell::HandlePositionedEvent to PresShell::HandleEvent. r=smaug.
MozReview-Commit-ID: 9w1DSb5uXME
2017-12-02 22:25:25 +08:00
Stone Shih
78947f9ac7 Bug 1420589 Part2: Define a helper class to store the target of pointer events. r=smaug.
MozReview-Commit-ID: IS5MM3gXpC4
2017-11-26 21:38:55 +08:00
Stone Shih
0ce97358e9 Bug 1420589 Part1: Separate the logic of finding the event target for touch events into a function. r=smaug.
MozReview-Commit-ID: 5IWpVBdiQ3o
2017-11-22 11:36:35 +08:00
Narcis Beleuzu
0d5e874622 Merge mozilla-central to autoland. r=merge a=merge on a CLOSED TREE 2017-12-15 03:46:15 +02:00
Mats Palmgren
56d84f22af Bug 1424528 part 1 - Remove nsDidReflowStatus::FINISHED 3rd arg in DidReflow calls (automated change). r=dholbert
MozReview-Commit-ID: CiK7pV0OsGr
2017-12-14 16:21:49 +01:00
Moritz Brunner
5b08a8f21b Bug 1315660 - Fixed upscaling of drag and drop thumbnail. r=spohl
MozReview-Commit-ID: 9M2zIrce3Lj
2017-10-18 19:16:03 +02:00
Miko Mynttinen
896b0f3d84 Bug 1425078 - Remove nsDisplayList::AppendNewToTop and nsDisplayList::AppendNewToBottom r=mattwoodrow
MozReview-Commit-ID: E3neKT2sV4Q
2017-12-13 11:23:04 -06:00
Stone Shih
c8b8dd36aa Bug 1421483 - Using correct frame to do hit test for touchstart with multiple touches. r=smaug.
MozReview-Commit-ID: 8qsvgOfRZ3f
2017-11-27 11:25:26 +08:00