Commit Graph

1099 Commits

Author SHA1 Message Date
Peter Van der Beken
6c1f25a923 Bug 1490044 - Move all prefs used in WebIDL to StaticPrefs. r=bzbarsky
Differential Revision: https://phabricator.services.mozilla.com/D33507
2019-06-13 09:00:59 +00:00
Emilio Cobos Álvarez
b2275b1613 Bug 1488953 - Use a script runner for scrollport events. r=mats
This is consistent with the scroll area events too, and allows us to
remove the WillPaintObserver stuff.

Differential Revision: https://phabricator.services.mozilla.com/D5271
2019-06-13 02:30:25 +00:00
Olli Pettay
93cd3e954f Bug 1556769, ensure UnsuppressAndInvalidate is called even if paint suppression isn't used, r=emilio
UnsuppressAndInvalidate updates focus state among others, so it needs to be called even if paint suppression itself
isn't used. An example of a such case is when PresShell is created after Document's readyState is already Document::READYSTATE_COMPLETE.

Differential Revision: https://phabricator.services.mozilla.com/D34426
2019-06-11 11:03:38 +00:00
Andreea Pavel
343359af44 Backed out 3 changesets (bug 1488953) for failing bc at browser_windowopen.js on a CLOSED TREE
Backed out changeset 8646ea969443 (bug 1488953)
Backed out changeset 519acd8e145f (bug 1488953)
Backed out changeset 3a5cbbb9bc48 (bug 1488953)
2019-06-10 11:48:07 +03:00
Emilio Cobos Álvarez
c3615b0472 Bug 1488953 - Use a script runner for scrollport events. r=mats
This is consistent with the scroll area events too, and allows us to
remove the WillPaintObserver stuff.

Differential Revision: https://phabricator.services.mozilla.com/D5271
2019-06-10 03:06:25 +00:00
Emilio Cobos Álvarez
36577351db Bug 1487216 - Measure memory usage of RDL. r=mattwoodrow,miko
For now I added everything to the same bucket, but I wrote this so it should be
easy to add more buckets as needed (either to mArenaSizes, or more specific ones
like the style system has). But this is probably enough for now.

Differential Revision: https://phabricator.services.mozilla.com/D34126
2019-06-09 22:58:24 +00:00
Matt Woodrow
4bd7fd5f61 Bug 1554832 - Only force a default background color for the cross-process root content document. r=rhunt
Depends on D34099

Differential Revision: https://phabricator.services.mozilla.com/D34100
2019-06-07 15:24:59 +00:00
Matt Woodrow
34a2af8bfc Bug 1554832 - Check only for in process content documents in AssumeAllFramesVisible. r=tnikkel
Depends on D34098

Differential Revision: https://phabricator.services.mozilla.com/D34099
2019-06-07 06:59:02 +00:00
Miko Mynttinen
81adc18b91 Bug 1490404 - Part 1: Be more consistent with display list and display list builder pointers and references r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D33679
2019-06-06 17:54:13 +00:00
shindli
e799adf87f Merge inbound to mozilla-central. a=merge 2019-06-06 12:57:52 +03:00
Masayuki Nakano
a59dba2251 Bug 1555645 - Make PresShell::EventHandler::MaybeFlushThrottledStyles() stop handling it when the PresShell does not have root PreShell nor Document r=smaug
The crash reports just tell us that the crash occur due to referring around
address 0 in `PresShell::EventHandler::MaybeFlushThrottledStyles()`.
Therefore, I'm not sure which is the actual reason of the crashes though,
this patch makes it null-check root `PresShell` and its `Document` before
accessing the latter.

Differential Revision: https://phabricator.services.mozilla.com/D33735
2019-06-05 09:28:53 +00:00
Jonathan Watt
d17e754362 Bug 1557104. Merge nsIPageSequenceFrame and nsSimplePageSequenceFrame. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D33817
2019-05-22 13:01:33 +01:00
Edgar Chen
7e33e89089 Bug 1543439 - Part 2: Move is-user-interaction checks out of PresShell::EventHandler::PrepareToDispatchEvent; r=masayuki
Differential Revision: https://phabricator.services.mozilla.com/D32019
2019-05-27 10:14:06 +00:00
Edgar Chen
91b534b401 Bug 1543439 - Part 1: Move special handling for MouseDown/Up event out of AutoHandlingUserInputStatePusher; r=masayuki
PresShell::EventHandler::HandleEventWithCurrentEventInfo is the only possible
place will do such handling; other places pass either a nullptr or a
non-MouseDown/Up event.

Differential Revision: https://phabricator.services.mozilla.com/D32431
2019-05-29 07:48:16 +00:00
Botond Ballo
300fd739ad Bug 1554794 - Add PresShell::UsesMobileViewportSizing() and use it in place of GetIsViewportOverridden() where appropriate. r=kats,hiro
With desktop zooming, we need to separate the concepts of "may have a distinct
visual viewport" from "has mobile viewport sizing logic applied to it".

This can be thought of as completing the disentanglement of zooming from meta
viewport support started in bug 1459260.

Differential Revision: https://phabricator.services.mozilla.com/D32770
2019-05-28 13:31:59 +00:00
Jean-Yves Avenard
78876bce84 Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259
2019-05-26 14:30:14 +00:00
Jean-Yves Avenard
b66b1a5a50 Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256
2019-05-26 14:29:42 +00:00
Gurzau Raul
938877e121 Backed out 31 changesets (bug 1552643, bug 1550422) for xpcshell crash on a CLOSED TREE.
Backed out changeset e30c1aa75529 (bug 1552643)
Backed out changeset caadcd7e02d3 (bug 1552643)
Backed out changeset aa7086ab09be (bug 1552643)
Backed out changeset 0b4029671710 (bug 1550422)
Backed out changeset a16295296035 (bug 1550422)
Backed out changeset 3b70307c0db5 (bug 1550422)
Backed out changeset 69df7818d4a3 (bug 1550422)
Backed out changeset d98dfc565927 (bug 1550422)
Backed out changeset 6f0997976944 (bug 1550422)
Backed out changeset 0edd264464c2 (bug 1550422)
Backed out changeset 9ea6da7a74ec (bug 1550422)
Backed out changeset f855f9309c8b (bug 1550422)
Backed out changeset 1033546224a7 (bug 1550422)
Backed out changeset ade7384c6186 (bug 1550422)
Backed out changeset 75b04de7e99c (bug 1550422)
Backed out changeset 91c3acdb2454 (bug 1550422)
Backed out changeset 77d2f80257d1 (bug 1550422)
Backed out changeset e0cd10d35327 (bug 1550422)
Backed out changeset 097091082423 (bug 1550422)
Backed out changeset 2f328853c1ab (bug 1550422)
Backed out changeset f92f2cc29cb1 (bug 1550422)
Backed out changeset 6dc82f88333d (bug 1550422)
Backed out changeset c20f66494d69 (bug 1550422)
Backed out changeset 2ba22cddeb6f (bug 1550422)
Backed out changeset 3aa72f89e295 (bug 1550422)
Backed out changeset ab4c4e806977 (bug 1550422)
Backed out changeset 72e5de040dda (bug 1550422)
Backed out changeset 7d3c2d486706 (bug 1550422)
Backed out changeset 132e0b8d8468 (bug 1550422)
Backed out changeset 54c85ac75dd0 (bug 1550422)
Backed out changeset d7ba4a18dd54 (bug 1550422)
2019-05-25 09:07:49 +03:00
Jean-Yves Avenard
39ec5f8bd1 Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259
2019-05-24 11:32:54 +00:00
Jean-Yves Avenard
3816a05854 Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256
2019-05-25 00:03:32 +00:00
Edgar Chen
ea9872bc1b Bug 1554122 - Rename nsAutoPopupStatePusher* to AutoPopupStatePusher; r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D32457
2019-05-24 12:42:29 +00:00
Dorel Luca
06bf3da922 Backed out 2 changesets (bug 1553772) for Geckoview failures in org.mozilla.geckoview.test.SelectionActionDelegateTest.collapseToStart[#designmode]
Backed out changeset 7286e18fbc17 (bug 1553772)
Backed out changeset 58d40da71355 (bug 1553772)
2019-05-23 18:30:54 +03:00
Emilio Cobos Álvarez
13829d63d9 Bug 1553772 - Bug 1549812 - Try to assert a bit harder about stuff not flushing under our nose. r=TYLin,mats
I think these should hold, everything that runs under them should just schedule
other stuff to some later date:

 * Synth mouse events -> scheduled as refresh driver observers.
 * Scroll events -> Scheduled as well.
 * Caret state change events -> Also scheduled after last patch.
 * IME and accessibility stuff -> I don't think they can reenter layout.

We can always revert this if it causes troubles, plus it shouldn't crash on
release so should be fine.

Differential Revision: https://phabricator.services.mozilla.com/D31090
2019-05-23 09:45:56 +00:00
Emilio Cobos Álvarez
47edb1c46d Bug 1549812 - ScrollFrameRectIntoView should handle the frame going away. r=mats
ScrollToShowRect already considers that possibility, so not doing it on the
caller is a bug.

Ideally scroll observers shouldn't be able to run script, more to that in a
second.

Differential Revision: https://phabricator.services.mozilla.com/D31088
2019-05-17 16:33:26 +00:00
Gurzau Raul
8d7b43d90a Backed out 28 changesets (bug 1550422) for marionette AssertionError and failing browser_policy_hardware_acceleration.js on a CLOSED TREE.
Backed out changeset 5dd10a365ba9 (bug 1550422)
Backed out changeset 529f5be01ab9 (bug 1550422)
Backed out changeset b6861d3badf8 (bug 1550422)
Backed out changeset 059cff1a3dde (bug 1550422)
Backed out changeset 6ada1116b241 (bug 1550422)
Backed out changeset ca67e8e45262 (bug 1550422)
Backed out changeset a1961a51ae44 (bug 1550422)
Backed out changeset 1c90b9cb3ad4 (bug 1550422)
Backed out changeset 285fa46e4f26 (bug 1550422)
Backed out changeset e2938a444234 (bug 1550422)
Backed out changeset 7a930fc51125 (bug 1550422)
Backed out changeset 898ed02804fe (bug 1550422)
Backed out changeset e1b7abc99ae9 (bug 1550422)
Backed out changeset f781d415cef6 (bug 1550422)
Backed out changeset 2fef10a7cce5 (bug 1550422)
Backed out changeset ea64b4d8d4ff (bug 1550422)
Backed out changeset 86a8ba1b755c (bug 1550422)
Backed out changeset 9c0c9e80f309 (bug 1550422)
Backed out changeset 10c153ddbaea (bug 1550422)
Backed out changeset 60fe635ec2c9 (bug 1550422)
Backed out changeset a38796266b28 (bug 1550422)
Backed out changeset 2db647dcdf1c (bug 1550422)
Backed out changeset 952ddac02972 (bug 1550422)
Backed out changeset ba46b53643ec (bug 1550422)
Backed out changeset ca47ef6c59f7 (bug 1550422)
Backed out changeset f45f471a1a40 (bug 1550422)
Backed out changeset 371b4da5b771 (bug 1550422)
Backed out changeset 02fc78890032 (bug 1550422)
2019-05-23 05:59:44 +03:00
Jean-Yves Avenard
f2a1e58ceb Bug 1550422 - P15. Move Skip and Once gfxPrefs to StaticPrefs. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D31259
2019-05-22 22:27:37 +00:00
Jean-Yves Avenard
935940dd3f Bug 1550422 - P12. Convert Live gfxPrefs into StaticPrefs. r=jrmuizel
gfxPrefs Live preferences are almost identical to StaticPrefs.

We leave aside for now those that set a custom change callback as this feature isn't yet supported in StaticPrefs.

Differential Revision: https://phabricator.services.mozilla.com/D31256
2019-05-22 12:43:42 +00:00
Miko Mynttinen
66027a07dc Bug 1529698 - Part 4: Add nsDisplayContainer r=mattwoodrow
Differential Revision: https://phabricator.services.mozilla.com/D30840
2019-05-18 20:11:42 +00:00
Brindusan Cristian
0e81c42a31 Backed out 3 changesets (bug 1549812) for rc4 failures at testAccessibleCarets.js. CLOSED TREE
Backed out changeset 00afc705d4ee (bug 1549812)
Backed out changeset cbc5c04bd3e4 (bug 1549812)
Backed out changeset ac4a070f1105 (bug 1549812)
2019-05-17 19:31:09 +03:00
Emilio Cobos Álvarez
6d68e0817f Bug 1549812 - Try to assert a bit harder about stuff not flushing under our nose. r=TYLin,mats
I think these should hold, everything that runs under them should just schedule
other stuff to some later date:

 * Synth mouse events -> scheduled as refresh driver observers.
 * Scroll events -> Scheduled as well.
 * Caret state change events -> Also scheduled after last patch.
 * IME and accessibility stuff -> I don't think they can reenter layout.

We can always revert this if it causes troubles, plus it shouldn't crash on
release so should be fine.

Differential Revision: https://phabricator.services.mozilla.com/D31090
2019-05-17 13:22:39 +00:00
Emilio Cobos Álvarez
b21b455197 Bug 1549812 - ScrollFrameRectIntoView should handle the frame going away. r=mats
ScrollToShowRect already considers that possibility, so not doing it on the
caller is a bug.

Ideally scroll observers shouldn't be able to run script, more to that in a
second.

Differential Revision: https://phabricator.services.mozilla.com/D31088
2019-05-14 16:03:18 +00:00
Hiroyuki Ikezoe
a7e56aaa45 Bug 1551241 - Add a check for the case where the embedder element is nullptr. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D30982
2019-05-15 10:55:34 +00:00
Botond Ballo
6ceafddc04 Bug 1459260 - Create a MobileViewportManager whenever apz.allow_zooming is set. r=kats
However, we continue to only respect a <meta name="viewport"> tag if
dom.meta-viewport.enabled is set.

Differential Revision: https://phabricator.services.mozilla.com/D30988
2019-05-14 02:16:21 +00:00
Hiroyuki Ikezoe
bf6b448470 Bug 1518919 - Propagate CSS visibility information to descendant documents via IPC call for fission. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D30460
2019-05-13 01:49:07 +00:00
Hiroyuki Ikezoe
12da02daa5 Bug 1541253 - Propagate CSS visivibility information to descendant documents. r=tnikkel
Depends on D26251

Differential Revision: https://phabricator.services.mozilla.com/D26252
2019-05-10 11:15:43 +00:00
Hiroyuki Ikezoe
8f087de7fa Bug 1541253 - Make PresShell::IsVisible const. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D26251
2019-05-10 11:15:30 +00:00
Botond Ballo
172756e4cd Bug 1516722 - Also scroll the visual viewport in ScrollToShowRect() if necessary. r=kats
Differential Revision: https://phabricator.services.mozilla.com/D29079
2019-05-07 03:03:34 +00:00
Masayuki Nakano
d2e481107d Bug 1543315 - part 15: Mark PresShell::ScrollFrameRectIntoView() as MOZ_CAN_RUN_SCRIPT r=smaug
Unfortunately, `EventChainVisitor` does not grab the `nsPresContext` with
`RefPtr` by itself.  Therefore, there is no guarantee of the lifetime without
checking the origin when its subclasses are instantiated.  This patch changes
it and subclasses to `MOZ_STACK_CLASS` since only `EventDispatcher::Dispatch()`
creates them in the stack with given `nsPresContext`.  Additionally, it's
already been marked as MOZ_CAN_RUN_SCRIPT_BOUNDARY`.  Therefore, the
`nsPresContext` instance has already been guaranteed its lifetime by the
caller.  For making this fact stronger, this patch marks their constructors
as `MOZ_CAN_RUN_SCRIPT`.  Therefore, nobody can create those instances without
guaranteeing the lifetime of `nsPresContext` and `dom::Event`.  Note that
it may look like that `mPresContext` of `EventChainPostVisitor` is not
guaranteed.  However, `EventChainPreVisitor` which gives `nsPresContext` to it
is also a stack only class.  So, it won't be deleted before
`EventChainPostVisitor` instance.

Differential Revision: https://phabricator.services.mozilla.com/D30010
2019-05-06 13:57:46 +00:00
Kartikaya Gupta
5674fd1ecb Bug 1524232 - Dispatch synthesized mousemoves to OOP iframes if that's where they land. r=tnikkel
Depends on D29731

Differential Revision: https://phabricator.services.mozilla.com/D29732
2019-05-02 19:57:16 +00:00
Michael Kaply
3420eb6f5e Bug 1548587 - Add addl preferences for dom keyboard hacks. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D29696
2019-05-03 09:41:39 +00:00
Masayuki Nakano
940d0f36ab Bug 253889 - part 4: Finally, get rid of nsIPresShell r=emilio
And also this cleans up some legacy comments of PresShell users.

Differential Revision: https://phabricator.services.mozilla.com/D29313
2019-05-01 02:28:59 +00:00
Masayuki Nakano
2eae0d6433 Bug 253889 - part 3: Move all remaining members of nsIPresShell to mozilla::PresShell r=emilio
Additionally, this sorts out the order of member variables for minimizing the
instance size.

And also this changes `enum RenderFlags` to `enum class RenderingStateFlags`.

Differential Revision: https://phabricator.services.mozilla.com/D29312
2019-05-01 02:28:25 +00:00
Masayuki Nakano
f041746218 Bug 253889 - part 2: Move all methods and public structs of nsIPresShell into mozilla::PresShell r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D29311
2019-05-01 02:27:53 +00:00
Matt Woodrow
ee4630ec2f Bug 1535945 - Don't skip invalidating frames when creating displayports for async scrollable ancestors. r=tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D23816
2019-05-01 04:23:07 +00:00
Sebastian Hengst
6904a4c1dd Bug 1547416 - Move nsIPresShell::ScrollAxis to PresShellForwards.h: correct conflict fix. a=bustage-fix 2019-04-30 14:11:09 +02:00
Sebastian Hengst
2192acbacb Merge autoland to mozilla-central. a=merge 2019-04-30 13:31:28 +02:00
Masayuki Nakano
f13a89c00f Bug 1547418 - Make CapturingContentInfo a private struct of PresShell and move APIs for it from nsIPresShell to PresShell r=smaug a=reland
`CapturingContentInfo` struct is used only in `PresShell.cpp` so that we can
make it a private struct of `PresShell` if we move all users of them,
i.e., API to access them, from `nsIPresShell` to `PresShell`.

Differential Revision: https://phabricator.services.mozilla.com/D29111
2019-04-30 00:26:57 +00:00
Masayuki Nakano
b0f1f34da9 Bug 1547416 - Move nsIPresShell::ScrollAxis to PresShellForwards.h r=smaug
`nsIPresShell::ScrollAxis` can be used anywhere and it's used by some
utils actually. So, it should be in `mozilla` namespace and perhaps,
 `PresShellForwards.h` is a good place to move it rather than creating
new header file.

Differential Revision: https://phabricator.services.mozilla.com/D29110
2019-04-30 00:07:49 +00:00
Csoregi Natalia
e5956741da Backed out 2 changesets (bug 1516722) for wpt failures on scroll-restoration-fragment-scrolling-samedoc.html. a=backout
Backed out changeset 8f2db95f0610 (bug 1516722)
Backed out changeset 55c8e6f3e522 (bug 1516722)
2019-04-30 13:15:29 +03:00
Csoregi Natalia
17c48928e8 Backed out 2 changesets (bug 1547416, bug 1547418) for causing conflicts. a=backout
Backed out changeset 91ac1bb728ef (bug 1547418)
Backed out changeset d89587999df1 (bug 1547416)
2019-04-30 13:13:46 +03:00