Commit Graph

7024 Commits

Author SHA1 Message Date
Andrew Osmond
675137dd9f Bug 1419767 - Remove gfxPlatform::CanRenderContentToDataSurface. r=nical
Factory::DoesBackendSupportDataDrawtarget already fulfills the same
purpose and we should use that instead, as imgFrame is the only user of
the former API. It has the added bonus of allowing us to use shared
surfaces on Linux with WebRender, and using volatile surfaces on Windows
when D2D is disabled.
2017-11-24 08:10:03 -05:00
sotaro
dff4491cb4 Bug 1391159 - Handle WebRender ProgramBinary usage r=nical 2017-11-24 20:58:24 +09:00
Gabriele Svelto
9a1d2f50d2 Bug 1402519 - Remove MOZ_CRASHREPORTER directives from gfx; r=jrmuizel
MozReview-Commit-ID: 7S8AJ18cCx0

--HG--
extra : rebase_source : 983387883dd0feabf8e4e6b1b7335403645470af
2017-10-10 15:11:07 +02:00
Jonathan Kew
af62b14db3 Bug 1403302 - patch 3 - Remove direct cairo dependency from gfxTextRun and gfxGlyphExtents. r=bas 2017-11-23 19:40:33 +00:00
Jonathan Kew
620b5d3c57 Bug 1419615 - Remove old synthetic-italic support from the GDI font code, so we don't double-slant text now that we have generic support in gfxFont. r=lsalzman 2017-11-23 19:38:17 +00:00
Nicolas Silva
ab49f34451 Bug 1420123 - Expose more WebRender debug flags to prefs. r=kvark 2017-11-23 16:01:48 +01:00
Phil Ringnalda
f12ca11346 Backed out 3 changesets (bug 1407423) for Android permaorange in test_vrDisplay_getFrameData.html
Backed out changeset b9dbe5af9a06 (bug 1407423)
Backed out changeset 16d247b8091d (bug 1407423)
Backed out changeset 2b625d265761 (bug 1407423)

MozReview-Commit-ID: 6clRbH1Hodr
2017-11-22 18:15:10 -08:00
shindli
fb855aa7ba Backed out 16 changesets (bug 1402519) for conflicts during merge r=backout on a CLOSED TREE
Backed out changeset 07fcf163241a (bug 1402519)
Backed out changeset c6d2ad45d8e2 (bug 1402519)
Backed out changeset 8a3caca61294 (bug 1402519)
Backed out changeset 01425eae2c48 (bug 1402519)
Backed out changeset cf298d3815de (bug 1402519)
Backed out changeset e1964f4389cd (bug 1402519)
Backed out changeset f405337f3569 (bug 1402519)
Backed out changeset a76356fd3359 (bug 1402519)
Backed out changeset d3bb350d1c34 (bug 1402519)
Backed out changeset 9d3bfd9f932c (bug 1402519)
Backed out changeset e3dd6e5b073f (bug 1402519)
Backed out changeset e801b0c00134 (bug 1402519)
Backed out changeset 8a4139fa5dca (bug 1402519)
Backed out changeset 8d01c14ac1ca (bug 1402519)
Backed out changeset 24e0dcd01898 (bug 1402519)
Backed out changeset f8fdf450613f (bug 1402519)
2017-11-23 00:11:44 +02:00
Kearwood "Kip" Gilbert
7e7cb086d3 Bug 1407423 - Ensure that any time we have loaded the Oculus runtime libary, we are polling ShouldQuit,r=daoshengmu
- Ensure ovr_GetSessionStatus is polled even when a VR presentation
  is not active.
- When we fail to initialize an Oculus Session or detect VR hardware,
  immediately unload the Oculus Library as we can't poll for ShouldQuit
  without a valid Oculus session.
- When we poll ovr_GetSessionStatus, we are now updating the mounted state
  in VRDisplayInfo::mIsMounted.
- Added prefs to control enumeration throttling and timeout to release
  VR hardware when inactive.
- Some refactoring to make frame loop more understandable and less
  brittle.
- When throttling enumeration, we ensure that all other VR apis
  also throttle enumeration so that they don't pick up the same device
  during throttling.
- Some long functions in VRManager have been broken up and
  had their inner-workings documented in more detail.

MozReview-Commit-ID: CEYwwQ9mYd0

--HG--
extra : rebase_source : b82cd9f200e6311528d4bed469d1b8044e9fc7f2
extra : amend_source : e74f56f5ec95641fd478deb71d6c7ba5d2cba7b1
2017-10-10 14:42:37 -07:00
Gabriele Svelto
6fc7fdc557 Bug 1402519 - Remove MOZ_CRASHREPORTER directives from gfx; r=jrmuizel
MozReview-Commit-ID: 7S8AJ18cCx0

--HG--
extra : rebase_source : 5fb4dbbd0416adeaf1796845e808b053ed029de4
2017-10-10 15:11:07 +02:00
Jonathan Kew
dee38e2ed4 Bug 1419673 - Only check font paths against sandbox policy if read sandboxing is enabled. r=gcp 2017-11-22 11:10:20 +00:00
Milan Sreckovic
c9eb43789d Bug 1402041 - Move most of the GetSingleton() body to a separate function to make the inline size smaller. r=kats 2017-11-21 21:45:55 -05:00
Coroiu Cristina
d6a2b15dbc Merge inbound to mozilla-central r=merge a=merge 2017-11-22 01:32:34 +02:00
Jonathan Kew
09faef79f5 Bug 1418724 - part 2 - Force reflow of all content when locale prefs change, so that we can pick up modifications to the preferred ordering of CJK fonts without requiring restart or page reload. r=m_kato 2017-11-21 11:02:20 +00:00
Jonathan Kew
6ac9fda68b Bug 1418724 - part 1 - Improve handling of default font prefs for CJK languages, to recognize a potential ordered list of preferred locales from the OS, not just a single selected locale. r=m_kato 2017-11-21 11:01:46 +00:00
Tim Huang
f4abe5782a Bug 1417741 - Add support of Atmoic<> for Preferences::Add*VarCache(). r=baku,njn
MozReview-Commit-ID: 9aeLvgWdZxy

--HG--
extra : rebase_source : b6130610ad8f80257022cb6e103addfe58b96af2
2017-11-16 11:02:50 +08:00
Miko Mynttinen
8f00af8953 Bug 1415485 - Make the pref layout.display-list.retain live again r=mattwoodrow
MozReview-Commit-ID: 6QFc4Sq3WiC

--HG--
extra : rebase_source : 268c2959d38e955d1af9ab39fdb8cce0146788e3
extra : intermediate-source : 7ee9657574a2ee223b6184d1657803a0d382be59
extra : source : 558439637eba09eaae8a653ffc77d5830b16ff42
2017-11-09 16:10:21 +01:00
Sebastian Hengst
c633ffa4c4 Backed out changeset bdab19ff2fef (bug 1415485) for letting web platform tests in /css/CSS2/backgrounds/ frequently fail. r=backout a=backout 2017-11-19 15:05:47 +02:00
Sebastian Hengst
c9214daa09 merge mozilla-inbound to mozilla-central. r=merge a=merge 2017-11-18 11:58:58 +02:00
Miko Mynttinen
a677051b03 Bug 1415485 - Make the pref layout.display-list.retain live again r=mattwoodrow
MozReview-Commit-ID: 6QFc4Sq3WiC

--HG--
extra : rebase_source : 8ccd535dbc4443cac3571d748490e64e91b9b816
extra : intermediate-source : 7ee9657574a2ee223b6184d1657803a0d382be59
extra : source : 558439637eba09eaae8a653ffc77d5830b16ff42
2017-11-09 16:10:21 +01:00
Ryan Hunt
ab27b063e3 Remove layers.omtp.force-sync preference (bug 1416941, r=dvander)
This commit removes the `layers.omtp.force-sync` preference and replaces
it with a preprocessor define that is commented out. This commit also
changes the behavior of force-sync so that it also does synchronization
with CompositorBridgeChild like normal OMTP. This simplifies the code
and makes using a preprocessor define easier.

MozReview-Commit-ID: 6RfuFTFBdMh

--HG--
extra : rebase_source : 0778a3087324b9e87f44587efbb49c71edf47f23
2017-11-14 14:05:55 -05:00
Jonathan Kew
e264fbefb1 Bug 1416795 - Implement synthetic-oblique font rendering by applying a transform at gfxFont::Draw time, rather than setting it on the cairo font matrix. r=jrmuizel 2017-11-17 10:54:21 +00:00
Jonathan Kew
35d7befd30 Bug 1416762 - Avoid using the LastResort font on macOS for glyph fallback -- prefer to draw hexboxes for unsupported characters. r=jrmuizel 2017-11-17 10:54:19 +00:00
Kartikaya Gupta
f00ba5afd5 Bug 1389149 - Add a new display item to carry the compositor hit-test info to WR. r=mstange
This also adds a flag to the nsDisplayListBuilder to better control
the creation of these items.

MozReview-Commit-ID: BbeRGDjd2ie

--HG--
extra : rebase_source : ec36114d3c7eefffcf9612fc2da1aaf1353c35d8
2017-11-15 11:39:45 -05:00
Nicholas Nethercote
f553c82da0 Bug 1416638 - Add a PrefValueKind arg to Preferences::Get*(), and remove Preferences::GetDefault*(). r=glandium
MozReview-Commit-ID: LgnZAf1pAl1

--HG--
extra : rebase_source : 8ba7c4bfb331f70fd41c2ae1d428e4cb9058d069
2017-11-14 19:06:01 +11:00
Sebastian Hengst
31bab6f683 Backed out changeset 32958aa32cb5 (bug 1415485) for frequently failing for failing reftest layout/reftests/async-scrolling/position-fixed-in-scroll-container.html on Linux x64 QuantumRender. r=backout a=backout on a CLOSED TREE 2017-11-14 14:47:14 +02:00
Miko Mynttinen
b7715ba593 Bug 1415485 - Make the pref layout.display-list.retain live again r=mattwoodrow
MozReview-Commit-ID: 6QFc4Sq3WiC

--HG--
extra : rebase_source : 946f69b611544671556aaab66654d2e30c59b4ef
extra : intermediate-source : 7ee9657574a2ee223b6184d1657803a0d382be59
extra : source : 558439637eba09eaae8a653ffc77d5830b16ff42
2017-11-09 16:10:21 +01:00
Kartikaya Gupta
92c112278f Bug 1416540 - Convert a bunch of scaling code to avoid unnecessary double conversion. r=mattwoodrow
The code in ComputeSuitableScaleForAnimation feeds its double-based
computation results into GetSuitableScale, which takes and returns
floats. Also the double-based computation that it's doing involves
calling UpdateMinMaxScale a bunch which explicitly uses the float
variant of std::min and std::max. And all of this is used from
ChooseScaleAndSetTransform which does other things like call a
"RoundToFloatPrecision" function, and casts the final values to
floats before setting the layer's prescale. So let's just use
floats all the way through.

MozReview-Commit-ID: BE3WC5hv89d

--HG--
extra : rebase_source : 987d9d69ec2a200ed68c59bae5fae1115713a94c
2017-11-12 18:37:33 -05:00
Jonathan Kew
8de8fef958 Bug 1412090 - patch 4 - Also adopt the ContentParent::NotifyUpdatedFonts method on macOS, so that only the parent process needs to register with CFNotificationCenter for font-changed notifications. r=lsalzman 2017-11-09 16:54:37 +00:00
Jonathan Kew
d3412dc6b0 Bug 1412090 - patch 3 - Check the sandbox policy to verify font files will be readable by the content process before including them in the system font list. r=gps 2017-11-09 16:54:30 +00:00
Jonathan Kew
fe4d2e8b97 Bug 1412090 - patch 2.1 - Work around FcNameParse bug in fontconfig versions around 2.11.0, by escaping any leading space in the encoded charset element. r=lsalzman 2017-11-12 21:35:25 +00:00
Jonathan Kew
a889197da2 Bug 1412090 - patch 2 - Rework the fontconfig-based platform font list implementation to pass the list of available font patterns from chrome to content, instead of letting the content process get it directly from fontconfig. r=lsalzman 2017-11-02 20:29:33 +00:00
Jonathan Kew
c28cae074c Bug 1412090 - patch 1 - Wrap the font family record used to pass font info from chrome to content on macOS in a union, in preparation for using the same mechanism with a different type of font record on Linux. (No functional change here, just the added union type and some renamings from 'font family list' to 'font list' to be more generic.) r=lsalzman 2017-11-02 17:23:16 +00:00
Coroiu Cristina
230207fe30 Merge inbound to mozilla-central r=merge a=merge 2017-11-12 00:05:11 +02:00
Jonathan Kew
49c97adb4e Bug 1411625 - Remove the constructor from gfxShapedText::CompressedGlyph to make it a trivial class, and provide a couple of convenience "factory" methods to create simple and complex glyph values. r=andi 2017-11-11 15:32:58 +00:00
Andreea Pavel
7fb4cc447c Merge inbound to mozilla-central r=merge a=merge 2017-11-11 11:59:20 +02:00
Ethan Lin
beaea27dc3 Bug 1415989 - Do not use 'ShouldUseAdvancedLayer' for button type display items. r=jrmuizel
MozReview-Commit-ID: 83qOTfTRUY0

--HG--
extra : rebase_source : 560f285f3092cd75d14d27cae4adcb8e9dca0e3a
2017-11-10 11:41:15 +08:00
Nathan Froyd
68ce6c6d2a Bug 1415961 - construct {Blur,Gradient}CacheData more efficiently; r=jrmuizel
We pass in `const {Blur,Gradient}CacheKey&` to these functions.  There's
no need to copy the cache keys here; we can just Move() the existing
objects in instead.  Doing this saves unnecessary allocations and/or
refcounting.
2017-11-10 16:43:54 -05:00
Ryan VanderMeulen
b16410f51c Merge inbound to m-c. a=merge 2017-11-10 16:13:15 -05:00
Kartikaya Gupta
00ef028ed3 Bug 1416267 - Update gfxContext matrix functions to avoid flip-flopping between float and double matrices. r=jrmuizel
The core of this change is in gfxContext.*:
- change gfxContext::CurrentMatrix() and gfxContext::SetMatrix() to
  return and take a Matrix respectively, instead of converting to
  and from a gfxMatrix (which uses doubles). These functions therefore
  will now match the native representation of the transform in gfxContext.
- add two new functions CurrentMatrixDouble() and SetMatrixDouble() that
  do what the old CurrentMatrix() and SetMatrix() used to do, i.e.
  convert between the float matrix and the double matrix.

The rest of the change is just updating the call sites to avoid round-
tripping between floats and doubles where possible. Call sites that are
hard to fix are migrated to the new XXXDouble functions which preserves
the existing behaviour.

MozReview-Commit-ID: 5sbBpLUus3U
2017-11-10 21:14:09 -05:00
Jonathan Kew
7036cc5f85 Backed out changesets 75e7f32c3365, eec946b59360, 72a6f5f3512c, ea8ee40ed426 (bug 1412090) for apparently breaking all system-installed fonts on some Linux systems. r=backout 2017-11-10 16:05:33 +00:00
JerryShih
7fa50ff43a Bug 1415816 - integrate gfxCriticalNote/gfxCriticalError for WebRender in gpu process. r=kats
MozReview-Commit-ID: 3Mey7XRYRn6
2017-11-10 07:30:53 -05:00
Milan Sreckovic
7d3551d146 Bug 1281965 - Sometimes we don't want to add when searching for a family. r=jfkthame
--HG--
extra : rebase_source : c1b0ecc2cc221395947326c440e01cbb6b0044fc
2017-11-09 18:38:30 -05:00
Sebastian Hengst
8c31f6f143 Backed out changeset d0ddd9a98e74 (bug 1415961) for bustage in thebes. r=backout on a CLOSED TREE 2017-11-10 00:11:59 +02:00
Nathan Froyd
d553d84aeb Bug 1415961 - construct {Blur,Gradient}CacheData more efficiently; r=jrmuizel
We pass in `const {Blur,Gradient}CacheKey&` to these functions.  There's
no need to copy the cache keys here; we can just Move() the existing
objects in instead.  Doing this saves unnecessary allocations and/or
refcounting.
2017-11-09 17:03:11 -05:00
Noemi Erli
8d8df3ddfe Merge mozilla-central to mozilla-autoland. r=merge a=merge CLOSED TREE 2017-11-10 12:43:53 +02:00
Markus Stange
a8ad9935d6 Bug 1416011 - Make the RoundedRect constructor take const references. r=kats
MozReview-Commit-ID: HC9JKt2EBdq

--HG--
extra : rebase_source : f18ae340a644cab6cddce3273bc68ccf4a44935f
2017-11-09 17:07:32 -05:00
Markus Stange
62e25a4903 Bug 1414926 - Make -moz-font-smoothing-background-color changes only cause repaints, not reflows. r=emilio
This case is hit by hovering over menu items, so the optimization is somewhat worthwhile.
As a side-effect, not causing reflows also avoids a XUL <select> popup positioning bug.

MozReview-Commit-ID: AOrijytoHHL

--HG--
extra : rebase_source : c2156eb24171f6d0b0e5476c4a7dbc641a0b5301
2017-11-07 23:01:29 -05:00
Cervantes Yu
6129f0777e Bug 1414714 - Part 3: Remove more unused prefs defined in gfxPrefs. r=nical
This removes non-"gfx.*" prefs defined in gfxPrefs.h, but the generated gfxPrefs
properties are not accessed anywhere in the code base:
* apz.overscroll.spring_friction
* apz.overscroll.stop_velocity_threshold
* apz.overscroll.stretch_factor
* dom.w3c_touch_events.enabled - this pref is accessed in other places, but not through
gfxPrefs::TouchEventsEnabled().
* general.smoothScroll.lines
* general.smoothScroll.pixels
* layers.composer2d.enabled
* layers.stereo-video.enabled

MozReview-Commit-ID: 5OByjpnFthJ
2017-11-08 15:27:06 +08:00
Cervantes Yu
c6bc943ace Bug 1414714 - Part 2: Remove unused gfx.* prefs. r=nical
The following prefs are removed because they are defined in gfxPrefs, but the
resulting gfxPrefs property is used at all.
* gfx.SurfaceTexture.detach.enabled
* gfx.touch.resample.*
* gfx.screen-mirroring.enabled

MozReview-Commit-ID: CyI3JN4TTu5
2017-11-08 15:26:50 +08:00