Commit graph

1010 commits

Author SHA1 Message Date
Andrea Marchesini
3535802d8b Bug 1354441 - Update MediaQueryList to the latest version of the spec, r=jwatt 2017-04-10 16:29:06 +02:00
Masatoshi Kimura
8f857ca1d0 Bug 1353493 - Cache the return value for nsIWidget::DefaultScaleOverride(). r=kanru
MozReview-Commit-ID: ExP179bxbHe

--HG--
extra : rebase_source : cf242fe02c009fb4f37028000f63c0c1774546cc
extra : intermediate-source : aa0b3009c855c71279f404fb211126ae8bb07b85
extra : source : 80abe5b0a796774e8aef7690e7c8c0be6892f4c1
2017-04-06 23:30:09 +09:00
Jan Henning
8a6b5c9c8a Bug 1328868 - Part 2 - Apply the system font scale as an additional text zoom factor to all pages that are not font inflated. r=tnikkel
We want to use a similar model as Chrome on Android does for scaling our display of web content, that is use font inflation for desktop pages and plain text zooming for everything else.

Since we don't want to simply clobber any text zoom that might have been set by the user/front-end code, we allow setting and storing the system font scale separately on the PresContext. We then calculate the effective text zoom value as the product of the system font scale and the current text zoom value.

Any function that is using the PresContext's TextZoom value for layouting/rendering is switched over to this new EffectiveTextZoom value, whereas functions that are interested in the text zoom as actually set by the user/front-end (e.g. the nsDocumentViewer, or the code responsible for copying text and full zoom settings into the new PresContext on page navigation) continue using the plain TextZoom value.

As long as font inflation is enabled in principle (e.g. font.size.inflation.minTwips != 0), every page starts out as eligible for font inflation until the relevant meta viewport tags marking the page as "mobile friendly" have been detected. Since the PresShell caches the font inflation state and only recalculates it when necessary, we make use of that and set the PresContext's system font scale as necessary whenever the font inflation state has been refreshed.

MozReview-Commit-ID: 2InyE04wKAW

--HG--
extra : rebase_source : 3f6d7128f37c1dc18f67a6655f86d9a3003fe90b
extra : source : 6100458b97289f9aea5ac8fda57ded045e6860b7
2017-02-25 13:22:52 +01:00
Carsten "Tomcat" Book
187105652e Merge mozilla-central to autoland 2017-03-23 13:59:20 +01:00
Jeff Muizelaar
49eb5ba0b6 Bug 1285533. Remove non-fontconfig platform fontlist codepath. r=lsalzman
This has been disabled for two years. It's time for it to die.
2017-03-22 14:58:19 -04:00
Boris Zbarsky
ec233151ac Bug 1348331 part 2. Switch Preferences::RegisterCallback/RegisterCallbackAndCall consumers that want prefix matches to the new RefisterPrefixCallback(AndCall) APIs. r=froydnj,padenot
MozReview-Commit-ID: 2ebVZO4fN6i
2017-03-21 14:59:02 -04:00
KuoE0
5f2bfd2d1a Bug 1342863 - (Part 7) DocGroup labeling for timer callback in nsPresContext. r=dholbert
MozReview-Commit-ID: Jhl2FVc8PRd

--HG--
extra : rebase_source : c54a75d50e3130d1e3029565cd44ab1ae0fec1cd
2017-03-15 17:38:29 +08:00
KuoE0
54acbc4d08 Bug 1342863 - (Part 2) DocGroup labeling for runnables dispatched by NS_DispatchTo(Main|Current)Thread in nsPresContext. r=dholbert
MozReview-Commit-ID: COWvfXRhPj7

--HG--
extra : rebase_source : d7e92f37b5d5f3261edd5217e38f03f396ad0f8e
2017-03-15 10:53:59 +08:00
Carsten "Tomcat" Book
6b473377a1 Backed out changeset b6422d885f48 (bug 1342863) 2017-03-23 08:41:38 +01:00
Carsten "Tomcat" Book
bdcef21037 Backed out changeset 581cfae86457 (bug 1342863) 2017-03-23 08:41:22 +01:00
KuoE0
a4e9ec85a1 Bug 1342863 - (Part 7) DocGroup labeling for timer callback in nsPresContext. r=dholbert
MozReview-Commit-ID: Jhl2FVc8PRd

--HG--
extra : rebase_source : c54a75d50e3130d1e3029565cd44ab1ae0fec1cd
2017-03-15 17:38:29 +08:00
KuoE0
f6c0cad15b Bug 1342863 - (Part 2) DocGroup labeling for runnables dispatched by NS_DispatchTo(Main|Current)Thread in nsPresContext. r=dholbert
MozReview-Commit-ID: COWvfXRhPj7

--HG--
extra : rebase_source : d7e92f37b5d5f3261edd5217e38f03f396ad0f8e
2017-03-15 10:53:59 +08:00
Emilio Cobos Álvarez
2a97ec5b19 Bug 1328652: Assume medium feature changes in nsPresContext::MediaFeatureValuesChanged. r=bz
This allows us to test our media query stuff at least, and works around the fact
that we don't set mUsesViewportUnits.

This will get us better test coverage, at the expense of more expensive window
resizes and similar, temporarily.

MozReview-Commit-ID: 7lgELz86lmW

--HG--
extra : rebase_source : c6d62438b1d76d5adb9eec3a26ef47af1a84924c
2017-03-11 00:23:05 +01:00
Ryan Hunt
2c77f8f73f Bug 1340904 - Implement telemetry scroll tracking in C++ r=smaug
--HG--
extra : rebase_source : dc2e3ac7ba8d20226bf97776ea6a46cfd9def947
extra : amend_source : 7cfdec720b53842502bab53131ef2c6a0e30ba48
2017-03-02 00:51:40 -05:00
Michael Layzell
a54cbcb40f Bug 1343069 - Capture a strong reference to nsRootPresContext in EnsureEventualDidPaintEvent, r=mattwoodrow
MozReview-Commit-ID: GRi4afSovP4
2017-03-01 15:09:44 -05:00
Wes Kocher
8c4ce17711 Merge inbound to m-c a=merge
MozReview-Commit-ID: DCUf7VEDrTt
2017-02-17 13:38:51 -08:00
Vedant Sareen
7d4bd52fae Bug 1330907 - Rename Telemetry::ID to Telemetry::HistogramID. r=dexter
Changed |print("enum ID : uint32_t {", file=output)| to |print("enum HistogramID : uint32_t {", file=output)| at line 53 of the file |toolkit/components/telemetry/gen-histogram-enum.py|, and then replaced all the textual occurrences of |Telemetry::ID| to |Telemetry::HistogramID| and |ID| to |HistogramID| in 43 other files.
2017-02-16 00:45:15 +05:30
Wes Kocher
3797956aa6 Merge m-c to inbound a=merge
MozReview-Commit-ID: BemR756HJnR
2017-02-15 16:33:03 -08:00
Bill McCloskey
0cda76d680 Bug 1339289 - Give names to a lot of common timers (r=ehsan)
MozReview-Commit-ID: IMsv5bkyjBL
2017-02-15 12:30:01 -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
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
Cameron McCormack
eddea92878 Bug 1297899 - Part 3: Rename RestyleManager to GeckoRestyleManager and RestyleManagerBase to RestyleManager. r=bholley
MozReview-Commit-ID: fFTZKwmGJm

--HG--
extra : rebase_source : 42b99c8a9c5616999abae2d195d16547f1fbc80f
2017-02-13 11:21:32 +08:00
Cameron McCormack
c041778642 Bug 1297899 - Part 1: Rename RestyleManager.{h,cpp} to GeckoRestyleManager.{h,cpp}. r=bholley
MozReview-Commit-ID: 1v0ufuGFtiD

--HG--
rename : layout/base/RestyleManager.cpp => layout/base/GeckoRestyleManager.cpp
rename : layout/base/RestyleManager.h => layout/base/GeckoRestyleManager.h
extra : rebase_source : 9e9432b1185697dc21eb23de93a09610a5a074bd
2017-02-13 11:21:30 +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
6c3d80b9c1 Bug 1331294 - Part 1: Make nsPresContext::HasPendingRestyleOrReflow check nsIPresShell::mNeedStyleFlush instead of asking the RestyleManager for its status. r=bholley
This might delay the resolution of FontFaceSet's ready promise in cases
where we don't delay it now, when we call nsIPresShell::SetNeedRestyle for
something other than posting a restyle.  But from the Font Loading API
spec's point of view, I think this is fine.

MozReview-Commit-ID: AnItzSPnIeB
2017-02-10 10:42:29 +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
Julian Seward
4150bcfb94 Bug 1333094 - nsPresContext::nsPresContext: move assignments into initialiser list where possible. r=dholbert.
--HG--
extra : rebase_source : 031b33ea24cd7e56e3cb2d170f6f20d988f0be48
2017-01-27 19:18:05 +01:00
Timothy Nikkel
a721701822 Bug 1264798. Include the composite end time in the MozAfterPaint event. r=smaug r=mattwoodrow 2017-01-25 23:01:33 -06: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
Julian Seward
ebea2b59c1 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
Markus Stange
b797477463 Bug 1331402 - Update plugins' clipRects when hiding a tab. r=jimm,mattwoodrow
In non-e10s, all tabs of a window would share one nsRootPresContext. When
switching tabs, the tab switch paint would trigger a call to
nsRootPresContext::ComputePluginGeometryUpdates, which would call
SetEmptyWidgetConfiguration on all registered nsPluginFrames, notably also
those inside the tab that was hidden.

With e10s, every tab has its own nsRootPresContext, and paints in one tab do
not trigger calls to nsRootPresContext::ComputePluginGeometryUpdates on the
root pres contexts of other tabs. So when painting the new tab, the registered
plugin frames in the old tab were not notified that they were now hidden.
This patch now does that in TabChild::MakeHidden.

MozReview-Commit-ID: LlW9dKKFqZE

--HG--
extra : rebase_source : 0e7f24d7ef90d8582d7f60729e712bca78ed8e17
2017-01-17 18:07:05 +01:00
Bobby Holley
09ce7e77ed Bug 1325734 - Simplify ElementData and eliminate the concept of consuming styles. r=emilio 2017-01-09 11:50:16 -08:00
William Chen
aed08c925f Bug 1307675 - Part 2: Record telemetry for time to first input. r=baku, data=bsmedberg 2016-11-08 11:30:57 -08:00
William Chen
8e941520c1 Bug 1307675 - Part 1: Record time from first paint to time of first input. r=baku,jwatt 2016-11-08 17:39:28 -08:00
Boris Zbarsky
93e075d001 Bug 1321803 part 1. Add an API on nsPresContext to test whether the given element would have its scrollbar styles propagated to the viewport in non-paginated mode. r=dbaron 2016-12-22 16:52:12 -08:00
Cameron McCormack
a7c175e671 Bug 1321284 - Part 5: Process document level NAC when restyling. r=bholley
MozReview-Commit-ID: GigSrTHXXte

--HG--
extra : rebase_source : 30d6f5b3b32c921ae15e69b29a9cc3d5372ad8bc
2016-12-01 16:19:50 +08:00
Bobby Holley
f8c9d884fc Bug 1317016 - Basic infrastructure for RestyleHint-driven traversal. r=emilio
MozReview-Commit-ID: 7wH5XcILVmX
2016-11-25 10:06:39 -08:00
Vincent Lequertier
15d1386c74 Bug 1312155 - Move border-width constants out of nsPresContext; r=heycam 2016-11-16 10:11:00 +01:00
Markus Stange
3994547b42 Bug 1307242 - Add a non-blank paint telemetry probe for foreground root content documents. r=bkelly, f=bsmedberg
This adds a probe called TIME_TO_NON_BLANK_PAINT_MS which reports time to
non-blank paint for root content documents whose docshell was active for the
entire time between navigation start and first non-blank paint.

MozReview-Commit-ID: 7JQdk5vHr1O

--HG--
extra : rebase_source : 66be2aab4c4a32d20fb44c88c5270c5b5cfc0b81
extra : histedit_source : 5d6bef86d4a2a2250405d24ce28c6bfd9d654f8d
2016-11-10 14:26:54 -05:00
Markus Stange
22f951e2b3 Bug 1307242 - Add infrastructure for measuring time to non-blank paint. r=bkelly
MozReview-Commit-ID: LZBQOvKZYes

--HG--
extra : rebase_source : 4bf315aab5b663fbc82b11d1961b7a6e98800d6d
extra : histedit_source : 02c003a780c0ba217d17f1c009252217010dd84e
2016-11-10 16:00:45 -05:00
Dhanesh B. Sabane
a2ef7b10a8 Bug 1308137 - Remove code around IBMBIDI_SUPPORTMODE_*. r=xidorn
MozReview-Commit-ID: 96g2DBfpfX9

--HG--
extra : rebase_source : e8a299ab8ca6af6e93cf29ab9351282076e2aa1d
2016-10-16 18:05:17 +05:30
Olli Pettay
97b9917978 Bug 1308459 - Rename RefreshDriver::PresContext() to hint about its behavior, r=tnikkel
--HG--
extra : rebase_source : 50cf1fd7f1ee052e182ae3fa84ce8648e46143cd
2016-10-12 14:27:38 +03:00
Xidorn Quan
2f49a48a09 Bug 1304302 part 10 - Replace all uses of StyleSheetHandle. r=heycam
This commit is generated by the following commands with some minor
manual adjustment:

find . \( -name '*.h' -or -name '*.cpp' \) -not -path './layout/style/StyleSheet*' -exec sed -i -b \
  -e '/^\(#include\|using\)/s/StyleSheetHandle/StyleSheet/g' \
  -e 's/\(mozilla::\)\?StyleSheetHandle::RefPtr/RefPtr<\1StyleSheet>/g' \
  -e 's/StyleSheetHandle()/nullptr/g' \
  -e 's/->AsStyleSheet()//g' \
  -e 's/StyleSheetHandle/StyleSheet*/g' {} +
sed -i -b 's/sheet->AsVoidPtr()/sheet.get()/' layout/style/Loader.cpp
sed -i -b 's/AsHandle()/this/' layout/style/StyleSheet.cpp

MozReview-Commit-ID: 7abdvlKHukd

--HG--
extra : source : e5682242db07203b5a91810fe1e243c955310588
2016-09-26 22:03:25 +10:00
Joel Maher
58f71c11c8 Backout 472858f465b0 (Bug 1290158) for perf regression.
MozReview-Commit-ID: 92eO5YtKLoj
2016-09-23 06:20:33 -04:00
Neil Rashbrook
bf6bdf8c7c Bug 1290158 Don't generate synthetic paint events for invisible documents r=mattwoodrow 2016-09-14 15:55:45 +01:00
Nicholas Nethercote
b71747b2ac Bug 1299727 - Rename NS_WARN_IF_FALSE as NS_WARNING_ASSERTION. r=erahm.
The new name makes the sense of the condition much clearer. E.g. compare:

  NS_WARN_IF_FALSE(!rv.Failed());

with:

  NS_WARNING_ASSERTION(!rv.Failed());

The new name also makes it clearer that it only has effect in debug builds,
because that's standard for assertions.

--HG--
extra : rebase_source : 886e57a9e433e0cb6ed635cc075b34b7ebf81853
2016-09-01 15:01:16 +10:00