Commit Graph

1037 Commits

Author SHA1 Message Date
kriswright
a446ad3aee Bug 1573268 - Convert two font.size.inflation.* prefs to static prefs. r=njn
Converts font.size.inflation.forceEnabled and font.size.inflation.disabledInMasterProcess to static prefs. Like previous revisions, I retained the member variables in PresShell and set them to the static prefs.

Differential Revision: https://phabricator.services.mozilla.com/D41664
2019-08-13 20:15:52 +00:00
kriswright
0264f2515e Bug 1573268 - Convert font.size.inflation.lineThreshold to a static pref. r=njn
Converts font.size.inflation.lineThreshold varcache pref to a static pref. Like previous revisions, this retains the member variable in PresShell.

Differential Revision: https://phabricator.services.mozilla.com/D41662
2019-08-13 18:23:54 +00:00
kriswright
0f87bb4e8e Bug 1573268 - Convert 3 font.size.inflation.* prefs to static prefs. r=njn
Converts font.size.inflation.minTwips, font.size.inflation.emPerLine, and font.size.inflation.mappingIntercept to static prefs and removes their associated functions from nsLayoutUtils. There are associated member variables in PresShell, but since documentation specified that these variables are set specifically to prevent changes to the cache from being read until page reload, I made the decision to leave these and set them to the static prefs.

Differential Revision: https://phabricator.services.mozilla.com/D41656
2019-08-13 18:19:33 +00:00
Brad Werth
360abd97a3 Bug 1523844 Part 3: Make the MVM set resolution only as an adjustment, not a restore resolution. r=botond
Differential Revision: https://phabricator.services.mozilla.com/D41632
2019-08-12 22:23:34 +00:00
Kris Maglione
6c6f6fb7d9 Bug 1570773: Move browsingContext getter to nsIDocShellTreeItem and add notxpcom variant. r=nika
This also renames the existing infallible nsDocShell:GetBrowsingContext()
getter to BrowsingContextRef(), and changes the return type, since several
callers rely on it returning a raw pointer rather than an already_AddRefed.

Differential Revision: https://phabricator.services.mozilla.com/D40312
2019-08-07 16:59:30 +00:00
Emilio Cobos Álvarez
d64cbe93eb Bug 1528616 - Move PresShell::GetRectVisibility to nsTypeAheadFind.cpp. r=dholbert
nsTypeAheadFind.cpp contains all of the callsites to this function, so it seems like a logical place for it to live.

Differential Revision: https://phabricator.services.mozilla.com/D40696
2019-08-07 11:21:55 +00:00
Nicholas Nethercote
32d26dab54 Bug 1570212 - Convert layout.reflow.synthMouseMove to a static pref. r=heycam
Differential Revision: https://phabricator.services.mozilla.com/D40338
2019-08-02 11:59:06 +00:00
Emilio Cobos Álvarez
cb436953c8 Bug 1528616 - Back out changeset bf824987ef9f (bug 1528616) since it can clearly be hit. r=me
MANUAL PUSH: Backout of existing revision.
2019-07-26 21:26:23 +02:00
Kannan Vijayan
c690c1925f Bug 1559414 - Rename unaudited pre-fission methods with SameProcess for future audit burndown. r=nika
Differential Revision: https://phabricator.services.mozilla.com/D39378
2019-07-26 16:48:31 +00:00
Nicholas Nethercote
c4aacd8403 Bug 1563139 - Remove StaticPrefs.h. r=glandium
This requires replacing inclusions of it with inclusions of more specific prefs
files.

The exception is that StaticPrefsAll.h, which is equivalent to StaticPrefs.h,
and is used in `Codegen.py` because doing something smarter is tricky and
suitable for a follow-up. As a result, any change to StaticPrefList.yaml will
still trigger recompilation of all the generated DOM bindings files, but that's
still a big improvement over trigger recompilation of every file that uses
static prefs.

Most of the changes in this commit are very boring. The only changes that are
not boring are modules/libpref/*, Codegen.py, and ServoBindings.toml.

Differential Revision: https://phabricator.services.mozilla.com/D39138
2019-07-26 01:10:23 +00:00
Emilio Cobos Álvarez
3e1ba77067 Bug 1567237 - Only use scroll range to select scrollable frames to scroll to, don't use scrollbar visibility. r=tnikkel
This is what other browsers do, and it does make sense to me, it's useless to
try to scroll a frame with no scroll range in a given direction.

I think all callers of this function should be treated like this, so this is
more like a RFC / feedback request than a patch per se.

The wheel handling code already checks scroll range, so there's no difference of
behavior in that case, if I'm reading the code right.

There are a few other functions that check the result of
GetPerceivedScrollingDirections(), but I think if we change this we should
change this consistently.

I also think that if we do this we should rename the method to something like
GetAvailableScrollingDirections() or such.

Anyhow, wdyt? I should also add a test for this if we go with this.

Differential Revision: https://phabricator.services.mozilla.com/D38991
2019-07-24 22:33:57 +00:00
Coroiu Cristina
655b3a5233 Backed out changeset 2fe42a3dda2c (bug 1567237) for causing leaks on a CLOSED TREE 2019-07-24 20:52:07 +03:00
Emilio Cobos Álvarez
5448a8bb6f Bug 1567237 - Only use scroll range to select scrollable frames to scroll to, don't use scrollbar visibility. r=tnikkel
This is what other browsers do, and it does make sense to me, it's useless to
try to scroll a frame with no scroll range in a given direction.

I think all callers of this function should be treated like this, so this is
more like a RFC / feedback request than a patch per se.

The wheel handling code already checks scroll range, so there's no difference of
behavior in that case, if I'm reading the code right.

There are a few other functions that check the result of
GetPerceivedScrollingDirections(), but I think if we change this we should
change this consistently.

I also think that if we do this we should rename the method to something like
GetAvailableScrollingDirections() or such.

Anyhow, wdyt? I should also add a test for this if we go with this.

Differential Revision: https://phabricator.services.mozilla.com/D38991
2019-07-24 13:17:11 +00:00
Emilio Cobos Álvarez
b6c96b49f1 Bug 1528616 - Make an assertion fatal to figure out how this can happen. r=dholbert
We shouldn't have a frame and a null root frame. This assertion failing is the
only way to get this to happen.

So assert it a bit harder so that we can hopefully find a way to repro it and
thus figure out what the right thing to do is. If it legitimately fails, chances
are we shouldn't be putting this function on PresShell in the first place.

Differential Revision: https://phabricator.services.mozilla.com/D39124
2019-07-24 05:08:18 +00:00
Narcis Beleuzu
d4669fe222 Backed out 3 changesets (bug 1567237) for ESlint and mochitest failures on test_scroll_space_no_range_overflow_scroll.html . CLOSED TREE
Backed out changeset 72699e27e033 (bug 1567237)
Backed out changeset 90048e3d6eb3 (bug 1567237)
Backed out changeset 5d602a56edc7 (bug 1567237)
2019-07-24 05:49:52 +03:00
Emilio Cobos Álvarez
023f16f5c1 Bug 1567237 - Only use scroll range to select scrollable frames to scroll to, don't use scrollbar visibility. r=tnikkel
This is what other browsers do, and it does make sense to me, it's useless to
try to scroll a frame with no scroll range in a given direction.

I think all callers of this function should be treated like this, so this is
more like a RFC / feedback request than a patch per se.

The wheel handling code already checks scroll range, so there's no difference of
behavior in that case, if I'm reading the code right.

There are a few other functions that check the result of
GetPerceivedScrollingDirections(), but I think if we change this we should
change this consistently.

I also think that if we do this we should rename the method to something like
GetAvailableScrollingDirections() or such.

Anyhow, wdyt? I should also add a test for this if we go with this.

Differential Revision: https://phabricator.services.mozilla.com/D38991
2019-07-23 22:04:31 +00:00
Nicholas Nethercote
462059ba06 Bug 1567329 - Append _AtStartup to once static pref getters. r=erahm
Currently it's completely unclear at use sites that the getters for `once`
static prefs return the pref value from startup, rather than the current pref
value. (Bugs have been caused by this.) This commit improves things by changing
the getter name to make it clear that the pref value obtained is from startup.

This required changing things within libpref so it distinguishes between the
"base id" (`foo_bar`) and the "full id" (`foo_bar` or
`foo_bar_DoNotUseDirectly` or `foo_bar_AtStartup` or
`foo_bar_AtStartup_DoNotUseDirectly`; the name used depends on the `mirror` and
`do_not_use_directly` values in the YAML definition.) The "full id" is used in
most places, while the "base id" is used for the `GetPrefName_*` and
`GetPrefDefault_*` functions.

(This is a nice demonstration of the benefits of the YAML file, BTW. Making
this change with the old code would have involved adding an entry to every
single pref in StaticPrefList.h.)

The patch also rejigs the comment at the top of StaticPrefList.yaml, to clarify
some things.

Differential Revision: https://phabricator.services.mozilla.com/D38604
2019-07-22 02:10:14 +00:00
Emilio Cobos Álvarez
cf8a7c1cfe Bug 1566783 - Make sure to clear mLastAnchorScrolledTo after calling PresShell::ScrollToAnchor(). r=dholbert
Seems we can leave this node alive for too long if the user scrolls between
domcontentloaded (where GoToAnchor is called) and onload (where ScrollToAnchor()
is called).

Though it seems we can leave it for too long if we don't end up calling
ScrollToAnchor(), the documentation of the method claims that it's cleared
unconditionally.

Differential Revision: https://phabricator.services.mozilla.com/D38398
2019-07-20 15:09:07 +00:00
Mirko Brodesser
23b4c95157 Bug 1566046: rename GetParentOrHostNode to GetParentOrShadowHostNode. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D38078
2019-07-16 09:25:02 +02:00
Mirko Brodesser
090d7efc5e Bug 1565584: move nsIContentUtils::ContentIsDescendantOf to nsINode::IsInclusiveDescendantOf. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D37880
2019-07-15 10:02:21 +02:00
Emilio Cobos Álvarez
2113328e15 Bug 1218456 - Allow navigating when there's no pres context. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D37404
2019-07-09 23:07:29 +02:00
Dorel Luca
7a5944a08d Backed out 5 changesets (bug 1218456) for Crashtest failures on dom/l10n/tests/mochitest/dom_localization/test_overlay.html. CLOSED TREE
Backed out changeset 31afe89c2d42 (bug 1218456)
Backed out changeset 8bd57ebc4528 (bug 1218456)
Backed out changeset e5d37afff36a (bug 1218456)
Backed out changeset e3da86278ecf (bug 1218456)
Backed out changeset 343046089f8e (bug 1218456)
2019-07-09 22:04:13 +03:00
Emilio Cobos Álvarez
851bb098fd Bug 1218456 - Allow navigating when there's no pres context. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D37404
2019-07-09 16:17:27 +00:00
Hiroyuki Ikezoe
be95008183 Bug 1553012 - Make PresShell::ScrollFrameRectIntoView work in fission world. r=mattwoodrow,nika,tnikkel
Differential Revision: https://phabricator.services.mozilla.com/D36136
2019-07-09 05:34:27 +00:00
Hiroyuki Ikezoe
655366e3d9 Bug 1562503 - Create GeckoMVMContext and ZoomConstraintsClient only for the root top level document. r=botond
browserElement_ScrollEvent.js is affected by this change. Before this change
the document for iframe mozbrowser was not considered as the root content
document, but after this change, it's considered as the root content document.
Given the nature of iframe mozbrowser, I believe it's the right behavior.

The browser mochitest in this commit fails without this change since
the minimum-scale size is used in the out-of-process iframe so that the visual
viewport size gets 3x bigger than the expected size.

Differential Revision: https://phabricator.services.mozilla.com/D36547
2019-07-08 22:39:31 +00:00
Emilio Cobos Álvarez
08d46373ed Bug 1560188 - Fix and improve display list memory reporting. r=mattwoodrow,njn
I missed in bug 1487216 that the pres arena memory reporting assumes that the
entry indices are frame class ids, which means that we're reporting some display
list arena entries as frames, which is obviously wrong.

Cleanup a bit nsPresArena to remove the custom id concept, and report also
individual display item type memory usage.

Differential Revision: https://phabricator.services.mozilla.com/D35368
2019-07-02 02:46:09 +00:00
Hiroyuki Ikezoe
c78071d24e Bug 1562757 - Call ScrollToVisual for the pres shell of the given scrollable frame in ScrollToShowRect. r=botond
We should also check IsRootContentDocumentCrossProcess instead of
IsRootContentDocument there, it will be fixed in bug 1562505.

The test case in this commit is almost copied-n-pasted from
helper_scroll_into_view_bug1516056.html.

Differential Revision: https://phabricator.services.mozilla.com/D36556
2019-07-04 08:48:47 +00:00
Gerald Squelart
0088545108 Bug 1474771 - Propagate NS_FRAME_IS_DIRTY to descendants when marking as dirty rather than during reflow. r=dholbert
This simplifies dealing with frames that are pushed/pulled between
continuations during reflow, allows us to avoid the complexity of the
fix to 1459937, and hopefully fixes some of the regressions from bug
1308876.

This disables the changes from bug 1459937 by commenting out a single
line in ReparentFrameInternal in nsBlockFrame.cpp, but all the added
code will be removed in the following patch.

Co-authored-by: Gerald Squelart <gsquelart@mozilla.com>
Co-authored-by: L. David Baron <dbaron@dbaron.org>

Depends on D36423

Differential Revision: https://phabricator.services.mozilla.com/D36424
2019-07-01 21:56:43 +00:00
Mirko Brodesser
e8543e1b1b Bug 1562876: rename Selection::AddRange to Selection::AddRangeAndSelectFramesAndNotifyListeners. r=smaug
Differential Revision: https://phabricator.services.mozilla.com/D36602
2019-07-03 13:26:13 +02:00
Cosmin Sabou
ae7abc18f4 Merge mozilla-central to mozilla-inbound. 2019-06-28 19:16:36 +03:00
Masayuki Nakano
0af2378d06 Bug 1444847 - part 3: Create RangeUtils to place public static methods of nsRange r=smaug
Some `nsRange` static methods are useful in `StaticRange` and some of them
are used in a lot of places but not related to `nsRange` directly.  This
patch moves them into new static method only class, `mozilla::RangeUtils`.

Differential Revision: https://phabricator.services.mozilla.com/D35142
2019-06-28 07:48:07 +00:00
Coroiu Cristina
2f9dc56b76 Merge autoland to mozilla-central a=merge 2019-06-27 12:33:50 +03:00
Csoregi Natalia
09ee0c6189 Backed out 4 changesets (bug 1488953) for causing Bug 1559690. a=backout
Backed out changeset 6b9cfebe8076 (bug 1488953)
Backed out changeset 6759badeec0e (bug 1488953)
Backed out changeset 5555e12078d3 (bug 1488953)
Backed out changeset 2a638724408b (bug 1488953)
2019-06-27 01:03:50 +03:00
Hiroyuki Ikezoe
f9bc9ef982 Bug 1560237 - Introduce nsIScrollableFrame::IsSmoothScroll. r=botond
This is pretty much the same as ScrollStyles::IsSmoothScroll right now,
but in the next commit, we will no longer propagate scroll-behavior on <body> to
the root element so that nsIScrollableFrame::IsSmoothScroll will be changed
to reflect it.

Differential Revision: https://phabricator.services.mozilla.com/D35737
2019-06-26 20:59:01 +00:00
Nicholas Nethercote
5559444385 Bug 1560837 - Make APZ static prefs follow the naming convention. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D35633
2019-06-24 13:57:06 +10:00
Kartikaya Gupta
220cc45f86 Bug 1560587 - Remove incorrect event redirection. r=tnikkel
In this codepath, the parent process may be sending an event to a particular
content process. The last-saved mouse target might be stale, and using that
to redirect the event can result in the event getting sent to the wront content
process. Deleting this erroneous change restores correct behaviour.

Differential Revision: https://phabricator.services.mozilla.com/D35697
2019-06-24 20:10:40 +00:00
Nicholas Nethercote
25e6095b36 Bug 1561825 - Make layout.* static prefs follow the naming convention. r=KrisWright
Differential Revision: https://phabricator.services.mozilla.com/D36160
2019-06-27 16:28:25 +10:00
Bas Schouten
dddb7bfc70 Bug 1553254 - Part 2: Add some first performance probes to our codebase for some basic, easy to measure things. r=brennie
Differential Revision: https://phabricator.services.mozilla.com/D32877
2019-05-28 20:58:06 +02:00
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