Граф коммитов

7737 Коммитов

Автор SHA1 Сообщение Дата
Botond Ballo 44ec7faf1d Bug 1470504 - Make layout.scroll.root-frame-containers a Live pref. r=mattwoodrow
All of its callers are in painting code, so changes will take effect on the
next paint, so there is no need for it to be a Once pref.

Making it Live allows us to selectively enable it in specific mochitests.

Differential Revision: https://phabricator.services.mozilla.com/D7340

--HG--
extra : rebase_source : 772e3c49f5e945d37126979b1c1edab691788e63
extra : histedit_source : 34eccab0c8ab664f15787626bff72f261718ea9c
2018-09-12 20:16:50 -04:00
Kearwood Gilbert 7a3eb1a6a2 Bug 1494556 - Remove VRListenerThread r=daoshengmu
We are refactoring much of the code in gfx/vr, moving
most of the code that runs in the VRListenerThread into
it's own process.  The remaining code will be non-blocking
once this refactoring is complete.

In order to resolve some shutdown crashes, it is simpler
to remove the VRListenerThread and the related code
starting and stopping this thread.  If this is done
prior to completion of the refactoring for Bug 1473399
(Enable VRService thread by default), there would be a
regression in responsiveness during detection of VR
hardware due to blocking API calls moving off the thread.

Differential Revision: https://phabricator.services.mozilla.com/D7227

--HG--
extra : moz-landing-system : lando
2018-10-02 21:17:05 +00:00
Jonathan Kew 75159145f4 Bug 1495306 - When InitOtherFamilyNames is called during stylo traversal, ensure it posts its runnable back to the main thread. r=kmag 2018-10-01 23:38:55 +02:00
Andrew McCreight 5a1eb609f9 Bug 1493276 - Statically prevent CallQueryInterface to a base class r=froydnj
If a class A is derived from a class B, then an instance of A can be
converted to an instance of class B via a static cast, so QI is not
needed. QIs are slower than static casts.

TestCallTemplates seems to be testing that CallQueryInterface compiles
even if the first argument's class is only ambiguously castable to
nsISupports, so I changed the second argument to be a class unrelated
to the concrete class.

I also removed some useless null checks on the return value of new.

Differential Revision: https://phabricator.services.mozilla.com/D6838

--HG--
extra : moz-landing-system : lando
2018-09-27 14:59:55 +00:00
Bobby Holley eb6f1b40ff Bug 1493196 - Add reporting for texture memory. r=jrmuizel 2018-09-26 09:41:38 -07:00
Andrew Osmond 4f2d97a823 Bug 1492930 - Part 5. Integrate extra shared surface memory reporting with gfx. r=nical
This patch enables the compositor process memory reporting for both the
dedicated GPU process case, and the integrated with the main process
case. This will simply cause us to list all of the entries in the shared
surfaces cache to show what is presently mapped in.
2018-09-25 09:13:51 -04:00
Andrew Osmond d70925f00b Bug 1492930 - Part 4. Add ImageMemoryReporter to support extra shared surfaces reporting. r=tnikkel
By delegating responsibility for shared surfaces reporting to imagelib,
we can cross reference the GPU shared surfaces cache with the local
surface cache in a content process (or the main process). This will
allow us to identify entries that are in the GPU cache but not in the
content/main process cache, and aid in debugging memory leaks. This
functionality is pref'd off by default behind image.mem.debug-reporting.

Additionally, we want to report every entry that was mapped into the
compositor process, in the compositor process memory report. This will
give us a sense of how much of our resident memory is consumed by mapped
images in absence of the more detailed cross referencing above.
2018-09-25 09:13:51 -04:00
Narcis Beleuzu 3a8485e6e6 Backed out 6 changesets (bug 1492930) for build bustages on ImageMemoryReporter.cpp. CLOSED TREE
Backed out changeset 9d1ff0d0af47 (bug 1492930)
Backed out changeset bdb1bf2d8062 (bug 1492930)
Backed out changeset 2959314ecf7c (bug 1492930)
Backed out changeset 587e01daa080 (bug 1492930)
Backed out changeset 1a6b422c5a90 (bug 1492930)
Backed out changeset a3b3f4cdc9fa (bug 1492930)
2018-09-25 13:33:17 +03:00
Andrew Osmond 1a68680204 Bug 1492930 - Part 5. Integrate extra shared surface memory reporting with gfx. r=nical
This patch enables the compositor process memory reporting for both the
dedicated GPU process case, and the integrated with the main process
case. This will simply cause us to list all of the entries in the shared
surfaces cache to show what is presently mapped in.
2018-09-25 06:18:06 -04:00
Andrew Osmond 5d483b60ce Bug 1492930 - Part 4. Add ImageMemoryReporter to support extra shared surfaces reporting. r=tnikkel
By delegating responsibility for shared surfaces reporting to imagelib,
we can cross reference the GPU shared surfaces cache with the local
surface cache in a content process (or the main process). This will
allow us to identify entries that are in the GPU cache but not in the
content/main process cache, and aid in debugging memory leaks. This
functionality is pref'd off by default behind image.mem.debug-reporting.

Additionally, we want to report every entry that was mapped into the
compositor process, in the compositor process memory report. This will
give us a sense of how much of our resident memory is consumed by mapped
images in absence of the more detailed cross referencing above.
2018-09-25 06:18:06 -04:00
Zibi Braniecki c2634d4438 Bug 1493220 - Migrate mozIOSPreferences to use Array<> interface. r=jfkthame
Differential Revision: https://phabricator.services.mozilla.com/D6524

--HG--
extra : moz-landing-system : lando
2018-09-22 07:49:05 +00:00
Bogdan Tara 3e0d3c693c Merge mozilla-central to mozilla-inbound. a=merge CLOSED TREE 2018-09-22 01:06:13 +03:00
Bobby Holley 2a7a7feb5f Bug 1492263 - Add more memory reporters. r=gw
Reviewers: gw

Tags: #secure-revision

Bug #: 1492263

Differential Revision: https://phabricator.services.mozilla.com/D6350

MozReview-Commit-ID: 7uGxPsbMkaf
2018-09-21 14:59:10 -07:00
Zibi Braniecki 83ea94f5ba Bug 1491394 - Update callsites to use new mozILocaleService API. r=jfkthame
Depends on D5924

Differential Revision: https://phabricator.services.mozilla.com/D6339

--HG--
extra : moz-landing-system : lando
2018-09-21 15:30:37 +00:00
Andrew Osmond 5f4c3fc4b2 Bug 1456558 - Part 2. Implement factor of 2 scaling support for SVGs in the surface cache. r=tnikkel
There is one main difference between raster images and vector images
with respect to factor of 2 scaling. Vector images may be scaled
infinitely and so we need to extend factor of 2 scaling to permit
growing instead of just shrinking. Also, we don't want to scale
infinitely, so we should configure a maximum size limit. This size limit
will apply even outside of factor of 2 scaling, and so the caller
(VectorImage) will need to be careful to take this into account.
2018-09-20 20:22:03 -04:00
Andreea Pavel 3805f6a285 Backed out 3 changesets (bug 1456558) for crashtest assertion failures on a CLOSED TREE
Backed out changeset 70d8f11cf6e8 (bug 1456558)
Backed out changeset af9fc3daf97c (bug 1456558)
Backed out changeset f209a9d848f4 (bug 1456558)
2018-09-21 02:13:41 +03:00
Andrew Osmond f799e4bd72 Bug 1456558 - Part 2. Implement factor of 2 scaling support for SVGs in the surface cache. r=tnikkel
There is one main difference between raster images and vector images
with respect to factor of 2 scaling. Vector images may be scaled
infinitely and so we need to extend factor of 2 scaling to permit
growing instead of just shrinking. Also, we don't want to scale
infinitely, so we should configure a maximum size limit. This size limit
will apply even outside of factor of 2 scaling, and so the caller
(VectorImage) will need to be careful to take this into account.
2018-09-20 18:15:32 -04:00
Nathan Froyd e7b3b3140d Bug 1415980 - make hash keys movable and not copyable; r=erahm
Everything that goes in a PLDHashtable (and its derivatives, like
nsTHashtable) needs to inherit from PLDHashEntryHdr. But through a lack
of enforcement, copy constructors for these derived classes didn't
explicitly invoke the copy constructor for PLDHashEntryHdr (and the
compiler didn't invoke the copy constructor for us). Instead,
PLDHashTable explicitly copied around the bits that the copy constructor
would have.

The current setup has two problems:

1) Derived classes should be using move construction, not copy
   construction, since anything that's shuffling hash table keys/entries
   around will be using move construction.

2) Derived classes should take responsibility for transferring bits of
   superclass state around, and not rely on something else to handle that.

The second point is not a huge problem for PLDHashTable (PLDHashTable
only has to copy PLDHashEntryHdr's bits in a single place), but future
hash table implementations that might move entries around more
aggressively would have to insert compensation code all over the
place. Additionally, if moving entries is implemented via memcpy (which
is quite common), PLDHashTable copying around bits *again* is
inefficient.

Let's fix all these problems in one go, by:

1) Explicitly declaring the set of constructors that PLDHashEntryHdr
   implements (and does not implement). In particular, the copy
   constructor is deleted, so any derived classes that attempt to make
   themselves copyable will be detected at compile time: the compiler
   will complain that the superclass type is not copyable.

This change on its own will result in many compiler errors, so...

2) Change any derived classes to implement move constructors instead of
   copy constructors. Note that some of these move constructors are,
   strictly speaking, unnecessary, since the relevant classes are moved
   via memcpy in nsTHashtable and its derivatives.
2018-09-20 11:20:36 -04:00
Jonathan Kew 1b456cbb54 Bug 1492518 - Remove 16-bit version of GenerateFontListKey, no longer used anywhere. r=lsalzman 2018-09-20 14:23:26 +01:00
Jonathan Kew aa3e389fe2 Bug 1492220 - Fix encoding-form mismatch in macOS impl of GetVariationAxes. r=lsalzman 2018-09-19 09:25:58 +01:00
Bas Schouten 3f601ce856 Bug 1479640: Restructure cleartype parameter code to run less frequently and only in the parent process. r=jrmuizel
Differential Revision: https://phabricator.services.mozilla.com/D4784

--HG--
extra : moz-landing-system : lando
2018-09-13 18:59:27 +00:00
Jonathan Kew ec73ee3318 Bug 1491860 - Use utf-8 rather than utf-16 strings to read/store font family names from preferences, as they're almost entirely ASCII. r=lsalzman 2018-09-18 09:34:24 +01:00
Jonathan Kew 0d4dbd1e37 Bug 1490997 - Use nsAtom instead of nsString for font family name in the FontFamilyName struct, and switch its methods from 16-bit to 8-bit strings. r=lsalzman 2018-09-18 09:34:21 +01:00
Andrew Osmond 8be55f0165 Bug 1337111 - Part 5. Add pref to force decoding of full frames, disabled by default. r=tnikkel 2018-09-17 15:06:29 -04:00
Coroiu Cristina de5411772c Backed out 6 changesets (bug 1337111) for build bustages at builds/worker/workspace/build/src/image/SurfaceFilters.h on a CLOSED TREE
Backed out changeset ca0caa556dc9 (bug 1337111)
Backed out changeset d7d7fa868d0d (bug 1337111)
Backed out changeset 93e956e89a21 (bug 1337111)
Backed out changeset f36337c1309b (bug 1337111)
Backed out changeset 1b1e25b0b345 (bug 1337111)
Backed out changeset 3785cdebe6a3 (bug 1337111)
2018-09-17 20:42:30 +03:00
Andrew Osmond f823b924c8 Bug 1337111 - Part 5. Add pref to force decoding of full frames, disabled by default. r=tnikkel 2018-09-17 13:21:38 -04:00
Dorel Luca 7a91966c10 Merge mozilla-inbound to mozilla-central. a=merge 2018-09-15 12:46:59 +03:00
Bobby Holley 9942d41fd9 Bug 1491478 - Properly attribute the memory report when using the GPU process. r=mstange
MozReview-Commit-ID: Db9mz5jQKwG
2018-09-14 22:04:38 -07:00
Bobby Holley 45da216271 Bug 1491478 - Don't collect WR memory reports when it's not enabled. r=mstange
MozReview-Commit-ID: Ek2bgg2D3Bq
2018-09-14 22:04:23 -07:00
Bobby Holley 1909109298 Bug 1491478 - Move WebRender memory reporting back to gfxPlatform. r=me
This is how things looked when jrmuizel reviewed them.

MozReview-Commit-ID: Gqp1tcNzsjC
2018-09-14 22:03:49 -07:00
Jeff Muizelaar 3a0d8a821d Bug 1491141. Don't include old Tesla devices in webrender.qualified r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D5805

--HG--
extra : moz-landing-system : lando
2018-09-14 22:35:34 +00:00
David Major 2292c52f8f Bug 1491279: Backed out clang-cl workaround from bug 1479842 that is no longer needed. r=me 2018-09-14 08:30:56 -04:00
Jeff Muizelaar 9bcfb295a7 Bug 1490891. Support toggling paint flashing in blob images r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D5730

--HG--
extra : moz-landing-system : lando
2018-09-13 20:34:38 +00:00
Cosmin Sabou 5b41e41329 Backed out changeset 2f15d5f434d8 (bug 1490891) for reftests and crashtest failures. CLOSED TREE 2018-09-13 22:29:45 +03:00
Jeff Muizelaar 66aa4d36c4 Bug 1490891. Support toggling paint flashing in blob images r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D5730

--HG--
extra : moz-landing-system : lando
2018-09-13 17:08:43 +00:00
sotaro 76aef326b1 Bug 1490528 - do not preload attachments for D3D11 Non-WR compositor when WR is used r=mattwoodrow 2018-09-13 13:23:38 +09:00
Daniel Varga 296d94715f Merge mozilla-inbound to mozilla-central. a=merge 2018-09-13 05:30:59 +03:00
Jeff Muizelaar 1316d86812 Bug 1490742. Enable gfx.webrender.qualified.all on Nightly r=Gankro
Differential Revision: https://phabricator.services.mozilla.com/D5701

--HG--
extra : moz-landing-system : lando
2018-09-12 19:40:32 +00:00
Cameron McCormack fe196275ba Bug 1489529 - Update comments to no longer point to nsRuleNode. r=emilio
There are a few mentions of nsRuleNode left but they are mostly
historical references so it makes sense to keep them.

Differential Revision: https://phabricator.services.mozilla.com/D5505
2018-09-12 17:37:37 +10:00
Lee Salzman 907071413e Bug 1486810 - round sizes in blur assertion. r=rhunt 2018-09-11 14:33:45 -04:00
Gerald Squelart b51e0fd0cc Bug 1489944 - Fixed some std::move warnings - r=froydnj
> dom/media/gmp/CDMStorageIdProvider.cpp(63,10):  warning:
> local variable 'storageId' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> layout/painting/DisplayItemClip.cpp(581,10):  warning:
> local variable 'str' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> layout/painting/DisplayItemClipChain.cpp(88,10):  warning:
> local variable 'str' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> layout/painting/nsDisplayList.cpp(179,10):  warning:
> local variable 'str' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> gfx/thebes/gfxWindowsPlatform.cpp(454,10):  warning:
> moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
Will remove std::move().

> gfx/thebes/gfxFontEntry.cpp(245,20):  warning:
> local variable 'name' will be copied despite being returned by name [-Wreturn-std-move]
nsAutoCString -> nsCString, will add std::move().

> netwerk/cookie/nsCookieService.cpp(4460,10):  warning:
> local variable 'path' will be copied despite being returned by name [-Wreturn-std-move]
GetPathFromURI() result is stored in an nsAutoCString, so it might as well return that type.

> toolkit/components/extensions/WebExtensionPolicy.cpp(462,12):  warning:
> local variable 'result' will be copied despite being returned by name [-Wreturn-std-move]
> toolkit/components/extensions/WebExtensionPolicy.cpp(475,10):  warning:
> local variable 'result' will be copied despite being returned by name [-Wreturn-std-move]
`result` may be empty or may be arbitrarily long, so I'll use nsCString inside the function.

> toolkit/xre/CmdLineAndEnvUtils.h(349,10):  warning:
> moving a local object in a return statement prevents copy elision [-Wpessimizing-move]
Returning an UniquePtr, will remove std::move().
Also will `return s` instead of `return nullptr` when `(!s)`, to avoid extra construction which could also prevent elision (not entirely sure, but it's at least not worse!); and it's clearer that the two `return`s return the same already-constructed on-stack object.

> tools/profiler/core/shared-libraries-win32.cc(111,10):  warning:
> local variable 'version' will be copied despite being returned by name [-Wreturn-std-move]
nsPrintfCString -> nsCString, will add std::move().

> xpcom/glue/FileUtils.cpp(179,10):  warning:
> local variable 'fullName' will be copied despite being returned by name [-Wreturn-std-move]
> xpcom/glue/FileUtils.cpp(209,10):  warning:
> local variable 'path' will be copied despite being returned by name [-Wreturn-std-move]
nsAuto{,C}String -> ns{,C}String, will add std::move().

This allowed removals of 'AllowCompilerWarnings' from layout/painting,
netwerk/cookie, and toolkit/components/extensions.

Differential Revision: https://phabricator.services.mozilla.com/D5425

--HG--
extra : moz-landing-system : lando
2018-09-10 15:51:48 +00:00
Mike Hommey 117e48720c Bug 1489363 - Replace some string.Assign* with AssignLiteral. r=froydnj
Differential Revision: https://phabricator.services.mozilla.com/D5224

--HG--
extra : moz-landing-system : lando
2018-09-07 22:12:01 +00:00
Gurzau Raul d4d9bd916d Backed out changeset 9762d76da9b3 (bug 1480293) for failing at aboutmemory/tests/test_memoryReporters.xul 2018-09-14 22:32:18 +03:00
Bobby Holley 42a527b3d1 Bug 1480293 - Basic Memory Reporting for WebRender. r=jrmuizel
Reviewers: jrmuizel, gw

Tags: #secure-revision

Bug #: 1480293

Differential Revision: https://phabricator.services.mozilla.com/D5719

MozReview-Commit-ID: 1vGl3890CjR
2018-09-14 10:59:00 -07:00
Jonathan Kew 6f42f167fb Bug 1490402 - Use UTF-8 strings (in place of UTF-16) for font family/face names in the system font list, to reduce memory footprint. r=lsalzman 2018-09-12 20:34:57 +01:00
Jonathan Kew 6428deabb4 Bug 1487553 - Use a more compact representation for gfxSparseBitSet. r=lsalzman 2018-09-06 00:04:30 +02:00
Bas Schouten d9c0061198 Bug 1486875: Make it possible to skip composition or painting using environment variables. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D4526

--HG--
extra : moz-landing-system : lando
2018-09-04 00:18:11 +00:00
Tom Ritter e34e47cde5 Bug 1480457 Don't pass 'false' into a pointer field; pass nullptr r=aklotz
MozReview-Commit-ID: FUA6jMwCV1d

Depends on D4571

Differential Revision: https://phabricator.services.mozilla.com/D4572

--HG--
extra : moz-landing-system : lando
2018-08-30 12:08:27 +00:00
aceman 77d5a7fd81 Bug 1486311 - convert remaining nsIFile::GetDirectoryEntries() callers to pass in a nsIDirectoryEnumerator. r=kmag 2018-08-26 14:15:00 +03:00
Kris Maglione d040edd44f Bug 1484496: Follow-up: Fix NoQueryNeeded assertion on Windows debug. r=bustage CLOSED TREE 2018-08-23 16:05:29 -07:00
Patrick Walton b8b76ab4fe Bug 1485538 - Expose WebRender's "show overdraw" debug mode behind a pref. r=jrmuizel 2018-08-10 20:17:01 -07:00
Landry Breuil 984eaf80dd Bug 1457092 - Content sandbox codepaths are Linux only. r=gcp
--HG--
extra : rebase_source : e8c79bc0dfb1b8f03d2ceec98835f9f6ac7a4612
2018-08-22 05:27:00 -04:00
Brindusan Cristian d21b936680 Merge inbound to mozilla-central. a=merge 2018-08-23 01:00:10 +03:00
Lee Salzman 5b4c63c8a1 Bug 1485358 - fix purging of missing glyph WebRender users. r=me 2018-08-22 11:12:33 -04:00
Daniel Holbert 5584dee150 Bug 1485161: Make gfxPlatform::GetDefaultFontName() return nsAutoString, to enable possibility of Return Value Optimization & to address build warning. r=jfkthame
This function uses a nsAutoString internally, and its caller stores its
returned value in a nsAutoString. So it's silly for us to have it return a
different type (nsString). With this change, the compiler should be able to
perform return value optimization and avoid the need for any
copying/reallocation of this function's return value.

Differential Revision: https://phabricator.services.mozilla.com/D3926

--HG--
extra : moz-landing-system : lando
2018-08-22 13:34:16 +00:00
Lee Salzman bf12f26ad9 Bug 1479196 - draw missing glyphs from an atlas instead of rectangles. r=jfkthame 2018-08-21 12:40:36 -04:00
Tanushree Podder efd8c4f4fb Bug 1357785 - Expose the Visual Viewport API to web content. r=botond, r=nika
--HG--
extra : amend_source : 8e5fe3e3195dd82aef19a4c79df31e2048024c99
2018-08-20 16:28:42 -04:00
Daosheng Mu a0fe81c1da Bug 1430038 - Part 3: Construct IPC connection for VR/GPU process; r=kip, jimm, jgilbert
Summary: MozReview-Commit-ID: 2kOyfC4TFZP

Tags: #secure-revision

Differential Revision: https://phabricator.services.mozilla.com/D2879

MozReview-Commit-ID: 17O2xbRMOFJ

--HG--
extra : rebase_source : fdf55e8542dd5487868cfe36fc27f447d95528de
2018-08-06 22:47:18 -07:00
Daosheng Mu 8ac5934ce1 Bug 1430038 - Part 1: Add VR process to the process list; r=kip, jimm
Summary: MozReview-Commit-ID: AWyFur2gLCQ

Tags: #secure-revision

Differential Revision: https://phabricator.services.mozilla.com/D2876

MozReview-Commit-ID: HHGDiXyaqnB

--HG--
extra : rebase_source : cbb94eb1aaca4ca385559c0e997b508a80121105
2018-06-22 16:30:14 -07:00
Nicolas Silva 0805d95b99 Bug 1482109 - Hook the memory pressure observer up with WebRender. r=sotaro
--HG--
extra : rebase_source : e23d9db4ffff5d1994f476e660f7f6cbe52e6ad6
2018-08-20 15:23:54 +02:00
Henri Sivonen 3edc601325 Bug 1402247 - Use encoding_rs for XPCOM string encoding conversions. r=Nika,erahm,froydnj.
Correctness improvements:

 * UTF errors are handled safely per spec instead of dangerously truncating
   strings.

 * There are fewer converter implementations.

Performance improvements:

 * The old code did exact buffer length math, which meant doing UTF math twice
   on each input string (once for length calculation and another time for
   conversion). Exact length math is more complicated when handling errors
   properly, which the old code didn't do. The new code does UTF math on the
   string content only once (when converting) but risks allocating more than
   once. There are heuristics in place to lower the probability of
   reallocation in cases where the double math avoidance isn't enough of a
   saving to absorb an allocation and memcpy.

 * Previously, in UTF-16 <-> UTF-8 conversions, an ASCII prefix was optimized
   but a single non-ASCII code point pessimized the rest of the string. The
   new code tries to get back on the fast ASCII path.

 * UTF-16 to Latin1 conversion guarantees less about handling of out-of-range
   input to eliminate an operation from the inner loop on x86/x86_64.

 * When assigning to a pre-existing string, the new code tries to reuse the
   old buffer instead of first releasing the old buffer and then allocating a
   new one.

 * When reallocating from the new code, the memcpy covers only the data that
   is part of the logical length of the old string instead of memcpying the
   whole capacity. (For old callers old excess memcpy behavior is preserved
   due to bogus callers. See bug 1472113.)

 * UTF-8 strings in XPConnect that are in the Latin1 range are passed to
   SpiderMonkey as Latin1.

New features:

 * Conversion between UTF-8 and Latin1 is added in order to enable faster
   future interop between Rust code (or otherwise UTF-8-using code) and text
   node and SpiderMonkey code that uses Latin1.

MozReview-Commit-ID: JaJuExfILM9
2018-08-14 14:43:42 +03:00
Ting-Yu Lin 316a8e0c1d Bug 1482665 Part 4 - Remove nsDeviceContext::AppUnitsPerCSSPixel() and replace it with mozilla::AppUnitsPerCSSPixel(). r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D3157
2018-08-13 14:29:30 -07:00
Emilio Cobos Álvarez f75cc9db05 Bug 1481905 - When canceling a user font load, make sure to not leave mUserFontLoadState as LOADING. r=jfkthame
Since that's what we use to kick off new loads, should they be needed.

Differential Revision: https://phabricator.services.mozilla.com/D3111
2018-08-12 15:30:45 +02:00
Bogdan Tara dfe849c923 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-08-11 06:46:31 +03:00
Nicolas Silva 33f0e6077e Bug 1482109 - Use the generic memory pressure observer in gfxPlatfrom. r=sotaro 2018-08-10 17:15:12 +02:00
Jeff Gilbert 8042ec3150 Bug 1482301 - Remove webgl.webgl2-compat-mode. r=kvark
Differential Revision: https://phabricator.services.mozilla.com/D3070

--HG--
extra : moz-landing-system : lando
2018-08-10 12:51:22 +00:00
Margareta Eliza Balazs f617807241 Merge inbound to mozilla-central. a=merge 2018-08-10 12:17:09 +03:00
Mike Conley f5158dd297 Bug 1481913 - Allow texture direct mapping by default on macOS. r=mstange
Differential Revision: https://phabricator.services.mozilla.com/D2960

--HG--
extra : moz-landing-system : lando
2018-08-09 21:27:55 +00:00
Daniel Varga 31ff8cd9c8 Merge mozilla-central to mozilla inbound. a=merge 2018-08-09 01:10:56 +03:00
Nazım Can Altınova 2ee5623032 Bug 1480499 - Add profiler label frame to gfxUserFontEntry::LoadPlatformFont with the OTHER category r=mstange
MozReview-Commit-ID: 49eCKAMxy3I

--HG--
extra : rebase_source : ee17aaded12943d7a150bf3f8d15d58d246c2ce5
2018-08-03 15:15:24 +02:00
Jonathan Kew a7dc2e2bd2 Bug 1481842 - Apply 50% opacity as intended to the border (or filled box on mobile) used for missing-glyph rendering. r=lsalzman 2018-08-08 17:15:42 +01:00
Brindusan Cristian 181d4f159b Backed out 10 changesets (bug 1478815) for reftest failures on /reftests/layers/forced-bg-color-outside-visible-region.html. CLOSED TREE
Backed out changeset 7ae4c893867a (bug 1478815)
Backed out changeset b865a866fe5a (bug 1478815)
Backed out changeset 405ad3518218 (bug 1478815)
Backed out changeset 64cb50b227e0 (bug 1478815)
Backed out changeset 392a724d5acd (bug 1478815)
Backed out changeset 01110727f2e9 (bug 1478815)
Backed out changeset 56d967e03ee2 (bug 1478815)
Backed out changeset 082638a5c643 (bug 1478815)
Backed out changeset 3dc47f17fa44 (bug 1478815)
Backed out changeset 699c954992f8 (bug 1478815)

--HG--
rename : gfx/2d/BufferEdgePad.cpp => gfx/layers/BufferEdgePad.cpp
rename : gfx/2d/BufferEdgePad.h => gfx/layers/BufferEdgePad.h
rename : gfx/2d/BufferUnrotate.cpp => gfx/layers/BufferUnrotate.cpp
rename : gfx/2d/BufferUnrotate.h => gfx/layers/BufferUnrotate.h
2018-08-07 20:57:27 +03:00
Ryan Hunt 8b6aa26413 Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas
This commit adds the ability to create a different kind of DrawTargetCapture which
has a limit on the size of which its CaptureCommandList can grow before it is
synchronously flushed to its destination DrawTarget.

Special care is taken to not do a sync flush until we would need to resize
the backing store of the CaptureCommandList. This allows us to not waste
memory we've already allocated.

The async painting content clients are updated to use it, and get a default
value from a new preference.

MozReview-Commit-ID: CJL7ffvaRzR

--HG--
extra : rebase_source : 546d9838808320c51d9ceef0ed0ffcbb88a16269
2018-07-26 16:33:07 -05:00
Gabriele Svelto 15adf94f4d Bug 1348273 - Convert crash annotations into a machine-readable list of constants; r=ted.mielczarek,njn,dholbert,mak,cpearce,mcmanus,froydnj,Dexter,jrmuizel,jchen,jimm,bz,surkov
This introduces the machinery needed to generate crash annotations from a YAML
file. The relevant C++ functions are updated to take a typed enum. JavaScript
calls are unaffected but they will throw if the string argument does not
correspond to one of the known entries in the C++ enum. The existing whitelists
and blacklists of annotations are also generated from the YAML file and all
duplicate code related to them has been consolidated. Once written out to the
.extra file the annotations are converted in string form and are no different
than the existing ones.

All existing annotations have been included in the list (and some obsolete ones
have been removed) and all call sites have been updated including tests where
appropriate.

--HG--
extra : source : 4f6c43f2830701ec5552e08e3f1b06fe6d045860
2018-07-05 15:42:11 +02:00
Ryan Hunt 16e8c5d426 Bug 1478815 part 9 - Add ability to create a DrawTargetCapture that can flush to its destination draw target. r=bas
This commit adds the ability to create a different kind of DrawTargetCapture which
has a limit on the size of which its CaptureCommandList can grow before it is
synchronously flushed to its destination DrawTarget.

Special care is taken to not do a sync flush until we would need to resize
the backing store of the CaptureCommandList. This allows us to not waste
memory we've already allocated.

The async painting content clients are updated to use it, and get a default
value from a new preference.

MozReview-Commit-ID: CJL7ffvaRzR

--HG--
extra : rebase_source : f646862dcef7a480b21dfb7ddb1fa165338ba506
extra : source : b865a866fe5a3257615cb54b7e5e790cc9331988
2018-07-26 16:33:07 -05:00
Andi-Bogdan Postelnicu b2d4c86823 Bug 1453795 - GFX - Initialize member fields in classes/ structures. r=nical
--HG--
extra : rebase_source : 56f2cc017632bf27115490ae05254019108c6179
extra : amend_source : 98ea6c3c02a9f7650d2cf65deaf5085cf9a2efa4
2018-06-16 17:42:33 +03:00
Masatoshi Kimura 3b21b7868b Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : c09366fb93e5b0f72abe1e99d3094e3d96a934fb
extra : intermediate-source : 5950c9d63c3b4fd63a25464a7b50944aaec7079f
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Cosmin Sabou de8c2bd891 Backed out changeset 5950c9d63c3b (bug 1090497) for build bustages on several files. CLOSED TREE 2018-08-02 19:59:53 +03:00
Brian Hackett 3c13dd9f31 Bug 1479641 - Don't record counting allocator amount, r=froydnj.
--HG--
extra : rebase_source : 23de9644662c1f9ed36429074837e54bb7cac868
2018-07-31 19:22:54 +00:00
Masatoshi Kimura feea19030c Bug 1090497 - Re-enable warnings as errors on clang-cl. r=froydnj
--HG--
extra : rebase_source : a62521fdc66def4e4d5d7bf52e68365a786b5c55
extra : source : ca1b9a2bcc4381795f556fea2fb59066567c30f3
2018-07-31 22:10:07 +09:00
Jonathan Kew 0165cf1194 Bug 1478716 - Ensure we only call FT_Get_MM_Var once per face (and cache the result in the font entry), to avoid being bitten by freetype bug 52955 on Ubuntu. r=lsalzman 2018-08-01 22:39:05 +01:00
David Major f9500eac94 Bug 1479842: Don't PGO gfxFontInfoLoader.cpp with clang-cl. r=froydnj 2018-08-01 15:10:13 -04:00
Randall Barker 6d045ccecb Bug 1479549 Add a pref to disable double tap zooming in APZ r=botond
MozReview-Commit-ID: HK5RWuI6lIk
2018-08-01 11:25:32 -07:00
David Major a9e8069a9b Bug 1479456: Fix some non-unified bustage in gfx/thebes. r=jrmuizel 2018-08-01 13:02:18 -04:00
Nicolas Silva 514e74387d Bug 1474722 - Prevent large rect integer overflows without forbidding large nine-patches. r=Bas 2018-08-01 17:13:12 +02:00
Lee Salzman c3f5240478 Bug 1258781 - reduce Skia font cache size to 5MB. r=bz 2018-07-31 14:03:22 -04:00
Cosmin Sabou bfc1e72e01 Backed out changeset 9035ff3757ac (bug 1415980) at request from froydnj on the suspicion that it's going to break MSVC builds when it gets merged to central. 2018-07-31 01:19:49 +03:00
Nathan Froyd 017b016850 Bug 1415980 - make hash keys movable and not copyable; r=erahm
Everything that goes in a PLDHashtable (and its derivatives, like
nsTHashtable) needs to inherit from PLDHashEntryHdr.  But through a lack
of enforcement, copy constructors for these derived classes didn't
explicitly invoke the copy constructor for PLDHashEntryHdr (and the
compiler didn't invoke the copy constructor for us).  Instead,
PLDHashTable explicitly copied around the bits that the copy constructor
would have.

The current setup has two problems:

1) Derived classes should be using move construction, not copy
   construction, since anything that's shuffling hash table keys/entries
   around will be using move construction.

2) Derived classes should take responsibility for transferring bits of
   superclass state around, and not rely on something else to handle
   that.

The second point is not a huge problem for PLDHashTable (PLDHashTable
only has to copy PLDHashEntryHdr's bits in a single place), but future
hash table implementations that might move entries around more
aggressively would have to insert compensation code all over the place.
Additionally, if moving entries is implemented via memcpy (which is
quite common), PLDHashTable copying around bits *again* is inefficient.

Let's fix all these problems in one go, by:

1) Explicitly declaring the set of constructors that PLDHashEntryHdr
   implements (and does not implement).  In particular, the copy
   constructor is deleted, so any derived classes that attempt to make
   themselves copyable will be detected at compile time: the compiler
   will complain that the superclass type is not copyable.

   This change on its own will result in many compiler errors, so...

2) Change any derived classes to implement move constructors instead
   of copy constructors.  Note that some of these move constructors are,
   strictly speaking, unnecessary, since the relevant classes are moved
   via memcpy in nsTHashtable and its derivatives.
2018-07-30 17:15:11 -04:00
Jonathan Kew a78b7458a9 Bug 1478720 - Increase the fractional adjustment applied to 'opsz' on macOS to avoid using the font's default setting, which may be mishandled by Core Text. r=lsalzman 2018-07-30 17:53:09 +01:00
Jeff Muizelaar fd810fa7ce Bug 1478150. Restrict webrender qualified to modern Nvidia gpus. r=kats
MozReview-Commit-ID: 1CyOgLkqD40

--HG--
extra : rebase_source : 0766de768efa82cf70f98a262d7e33b6dfd258d9
2018-07-26 15:10:35 -04:00
Brian Hackett 99d34528e4 Bug 1465466 Part 1 - Use a separate compositor in recording/replaying processes, r=nical.
--HG--
extra : rebase_source : 003f6557370f2e4e6959ea14e833f7e2e617c5b0
2018-07-23 21:46:47 +00:00
Gurzau Raul 19e302fb18 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-24 12:52:06 +03:00
Kris Maglione 7aa3564a28 Bug 1477579: Part 3 - Avoid duplicating static strings in category manager entries. r=froydnj
Much like the component manager, many of the strings that we use for category
manager entries are statically allocated. There's no need to duplicate these
strings.

This patch changes the category manager APIs to take nsACStrings rather than
raw pointers, and to pass literal nsCStrings when we know we have a literal
string to begin with. When adding the category entry, it then skips making
copies of any strings with the LITERAL flag.

MozReview-Commit-ID: EJEcYSdNMWs
***
amend-catman

--HG--
extra : source : aa9a8f18e98f930a3d8359565eef02f3f6efc5f9
extra : absorb_source : 81a22ab26ee8017ac43321ff2c987d8096182d37
2018-07-23 17:41:06 -07:00
Brindusan Cristian 91a3707d5f Backed out 3 changesets (bug 1477579) for build bustages on xpcshell\selftest.py and crashtest failures on /components/nsComponentManager.cpp. CLOSED TREE
Backed out changeset aa9a8f18e98f (bug 1477579)
Backed out changeset 5fb0b7746a5d (bug 1477579)
Backed out changeset 8359f8fe4184 (bug 1477579)
2018-07-24 04:55:03 +03:00
Kris Maglione dfd38a6ac3 Bug 1477579: Part 3 - Avoid duplicating static strings in category manager entries. r=froydnj
Much like the component manager, many of the strings that we use for category
manager entries are statically allocated. There's no need to duplicate these
strings.

This patch changes the category manager APIs to take nsACStrings rather than
raw pointers, and to pass literal nsCStrings when we know we have a literal
string to begin with. When adding the category entry, it then skips making
copies of any strings with the LITERAL flag.

MozReview-Commit-ID: EJEcYSdNMWs
***
amend-catman

--HG--
extra : rebase_source : 4f70e7b296ecf3b52a4892c92155c7c163d424d2
2018-07-23 17:41:06 -07:00
Brian Hackett e897f52beb Bug 1207696 Part 6c - Disable accelerated canvases when recording or replaying, r=dvander.
--HG--
extra : rebase_source : 7076c2b59d6f6546d91fe785f448b0c829c4c56a
2018-07-23 14:41:58 +00:00
Doug Thayer 9b62998d60 Bug 1265824 - Guard client storage stuff behind a pref r=mattwoodrow
MozReview-Commit-ID: DjKhtMDJ91C

--HG--
extra : rebase_source : b9abb9b9b13132cd560d1ca9677183790b2d06e2
2018-06-22 11:10:41 -07:00
Kartikaya Gupta e750c8c1b4 Bug 1475637 - Add a mechanism for dumping an interleaved display list. r=jrmuizel
The prefs, when enabled, will dump the gecko DL items followed by the
WR DL items that were generated from that gecko item. This allows us to
easily go from a DOM element with known id/class attributes to e.g. an
ImageKey of an image that was generated for that element.

Also, this logging can be enabled in CI builds just like gecko display-list
dumping, instead of the ifdef that we previously had in WebRenderLayerManager.

MozReview-Commit-ID: Eeo4iO62YY1

--HG--
extra : rebase_source : b4a348b2e8bced976489257b966f70b29c56df25
2018-07-19 15:30:30 -04:00
Jeff Muizelaar c4b5567231 Bug 1477036. Expose wrQualified in telemetry. r=kats
This adds a WEBRENDER_QUALIFIED feature that's set whenever the webrender could
be used on a machine regardless of whether it's actually being used.

MozReview-Commit-ID: Eke6PMKQOnx

--HG--
extra : rebase_source : 977d371c12c9e8ab3273d6e65655e0378c22c226
2018-07-19 14:05:29 -04:00
Miko Mynttinen 0c42827471 Bug 1462672 - Part 5: Add a pref flag to allow flattening inactive nsDisplayTransform items r=mattwoodrow
MozReview-Commit-ID: BQGzaAMzReF

--HG--
extra : rebase_source : 42678409280a795fe891e10eceb86fa269d1d2de
2018-07-16 21:27:08 +02:00
Robert Bartlensky dbbe5d1893 Bug 1476645: Fix DEAD_STORE errors in gfx/*. r=lsalzman
MozReview-Commit-ID: GYAWaLcpfsz

--HG--
extra : rebase_source : 30b9bdfda57e2773d5311dad83fa7ea468865c70
2018-07-18 16:54:00 +01:00
Margareta Eliza Balazs b1e7992b82 Backed out 8 changesets (bug 1265824) for bustage in /builds/worker/workspace/build/src/gfx/layers/opengl/CompositorOGL.cpp on a CLOSED TREE
Backed out changeset 1099d6f15f9f (bug 1265824)
Backed out changeset b5ba15b1a70f (bug 1265824)
Backed out changeset 51795de4adaf (bug 1265824)
Backed out changeset be68741ff4ce (bug 1265824)
Backed out changeset 4731dc56702d (bug 1265824)
Backed out changeset 984133e9614b (bug 1265824)
Backed out changeset efce316a4425 (bug 1265824)
Backed out changeset 367abce30668 (bug 1265824)
2018-07-19 09:33:28 +03:00
Doug Thayer aa98d8cbd6 Bug 1265824 - Guard client storage stuff behind a pref r=mattwoodrow
MozReview-Commit-ID: DjKhtMDJ91C

--HG--
extra : rebase_source : 3f281360a5731e95ba345c92af8c550af9acf498
2018-06-22 11:10:41 -07:00
Cosmin Sabou fea686b1f6 Backed out 10 changesets (bug 1265824) for causing reftests failures on global-composite-operation.html. CLOSED TREE
Backed out changeset 391c8e7897df (bug 1265824)
Backed out changeset 27c7daabd1a3 (bug 1265824)
Backed out changeset 7c90215a2eca (bug 1265824)
Backed out changeset c141fb67cf9a (bug 1265824)
Backed out changeset 239ab9f9ef52 (bug 1265824)
Backed out changeset 39ae151b3d8c (bug 1265824)
Backed out changeset 71b23fbe1fec (bug 1265824)
Backed out changeset 295dd1a6a09f (bug 1265824)
Backed out changeset 6aecd088e02c (bug 1265824)
Backed out changeset bf9d73b214fc (bug 1265824)
2018-07-23 19:36:37 +03:00
Doug Thayer 0c67ce8aa1 Bug 1265824 - Guard client storage stuff behind a pref r=mattwoodrow
MozReview-Commit-ID: DjKhtMDJ91C

--HG--
extra : rebase_source : f357451ca18254be7474adf52f5088d0315c6d98
2018-06-22 11:10:41 -07:00
Ryan Hunt c7eb70ba65 Bug 1471639 - Allow OMTP with edge-padding. r=nical
MozReview-Commit-ID: JUNk79jLQcj

--HG--
extra : source : a6aacf58c4a6dc5621c3faa0387f775d699aa6f1
2018-07-16 15:01:26 -05:00
Cosmin Sabou 88199de427 Merge mozilla-inbound to mozilla-central. a=merge 2018-07-18 20:19:59 +03:00
Bas Schouten 2ffa4da191 Bug 1476506: Move RoundedRect into Moz2D and convert all callers. r=mattwoodrow 2018-07-18 08:55:43 +02:00
Sylvestre Ledru 6c3c26c3f7 Bug 1468273 - Fix flake8/pep8 issues by hand in gfx/ r=ted
MozReview-Commit-ID: BFnq9JpWZxq

--HG--
extra : rebase_source : d56375d1ff0f183f95e0565851191190fe41e34b
2018-06-10 14:15:18 +02:00
Margareta Eliza Balazs 9de29c1f5a Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-07-18 12:40:51 +03:00
Jeff Muizelaar 5c51801714 Bug 1475355. Only use WebRender if there's no battery. r=kats
MozReview-Commit-ID: 86cfi2SGkA2

--HG--
extra : rebase_source : 078f17d049c86d9110ae2a26edb58455070b8eb0
2018-07-17 18:05:44 -04:00
Kris Maglione 82a9ede2c1 Bug 1473631: Part 9 - Replace pref observers with callbacks in gfxPlatformFontList. r=njn
MozReview-Commit-ID: AT8BmGNj6QD

--HG--
extra : rebase_source : 008374f7dcf5a0e5f8b611a3ab37b4ce4dc80e5e
2018-07-05 14:47:39 -07:00
Kris Maglione ef3718fbe1 Bug 1473631: Part 8 - Replace pref observers with callbacks in gfxPlatform. r=njn
MozReview-Commit-ID: GNTGqvahsoz

--HG--
extra : rebase_source : 4ca9d989ffd1f30d2fb4b9726ec0d814a7412266
2018-07-05 14:43:02 -07:00
Kris Maglione 0bfdb4329f Bug 1473631: Part 0a - Make preference callbacks typesafe. r=njn
I initially tried to avoid this, but decided it was necessary given the number
of times I had to repeat the same pattern of casting a variable to void*, and
then casting it back in a part of code far distant from the original type.

This changes our preference callback registration functions to match the type
of the callback's closure argument to the actual type of the closure pointer
passed, and then casting it to the type of our generic callback function. This
ensures that the callback function always gets an argument of the type it's
actually expecting without adding any additional runtime memory or
QueryInterface overhead for tracking it.

MozReview-Commit-ID: 9tLKBe10ddP

--HG--
extra : rebase_source : 7524fa8dcd5585f5a31fdeb37d95714f1bb94922
2018-07-06 12:24:41 -07:00
Xidorn Quan 1f2e5ca9b2 Bug 1472386 - Take overflow-wrap into account when calculating min-content intrinsic size. r=jfkthame
MozReview-Commit-ID: Fu6Gbmxs4PN

--HG--
extra : rebase_source : b90c58f16c5cad717961b586fc0a6574343a5692
2018-07-09 14:54:34 +10:00
Ryan Hunt cfffe8f09f Bug 1471892 - Block OMTP before OSX 10.10 to work around CoreGraphics crash. r=jrmuizel
MozReview-Commit-ID: JYmlucAG6rB

--HG--
extra : rebase_source : 03c0963bf54b967f34108fa7c879b180685dd868
extra : amend_source : b17adf02508d9a93d1d4149a1573919192440fe8
2018-07-10 16:12:58 -05:00
Cosmin Sabou 5b013c7fc5 Backed out 2 changesets (bug 1474722) for causing multiple mochitest failures on several files. CLOSED TREE
Backed out changeset 68019e52d1b9 (bug 1474722)
Backed out changeset 77597cd3461c (bug 1474722)
2018-07-13 13:10:56 +03:00
Nicolas Silva 7a270b1782 Bug 1474722 - Allow very large nine-patched shadows. r=Bas 2018-07-13 11:30:57 +02:00
Andrea Marchesini bc5414c5f3 Bug 1471189 - Removing 'Terminating' state in workers, r=mrbkap 2018-07-12 19:33:41 +02:00
Nicolas Silva 4ae96a4caa Bug 1474576 - Remove the async scene building pref. 2018-07-10 14:49:21 +02:00
Andrea Marchesini a053cf1c15 Bug 1476306 - Moving NullPrincipal/ContentPrincipal/SystemPrincipal under mozilla namespace - part 1 - NullPrincipal, r=ckerschb 2018-07-17 21:37:48 +02:00
Kearwood "Kip" Gilbert d1989d114c Bug 1466699 - Implement VRService thread r=daoshengmu
- Refactored gfxVROpenVR to use gfxVRExternal interface from the
  VR Service.  Existing gfxVROpenVR left in place (for now) to
  allow VR service to be enabled or disabled by pref.
- The VR service, containing gfxVROpenVR, is to run in-process within
  its own thread first, then to be later moved to its own process.
- Fixed periodic immersive mode flicker that occured due to HMD pose and
  HMD state being separately sampled from the Shmem.  It was possible
  to advance a frame without also getting an updated pose if a dirty
  copy of the shmem was detected.
MozReview-Commit-ID: IvpJErmi5kF

--HG--
extra : rebase_source : 0e21d3414a13dc514c3035f2bd5f6adc365b465d
2018-05-08 11:31:28 -07:00
Kris Maglione 3e400a8f72 Bug 1472523: Part 2 - Avoid unnecessary string copies in preference caches. r=njn
MozReview-Commit-ID: 74svGlwMVF1

--HG--
extra : rebase_source : ee25a335773b9afba9125c9092ed95eecc702cd9
2018-06-30 23:07:30 -07:00
Kris Maglione 8e4b8a954f Bug 1472523: Part 1 - Avoid string copies in preference callbacks. r=njn
Most preference callbacks use literal strings for their domain filters, which
means that there's no need to make copies of them at all. Currently, however,
every preference observer node makes a separate heap-allocated copy of its
domain string.

This patch switches the domain string storage to nsCString instances, which
dramatically reduces the amount of unnecessary copies, at the expense of
making the callback nodes slightly larger.

MozReview-Commit-ID: 8NA3t2JS2UI

--HG--
extra : rebase_source : 628ad9af65cec16fb8be0c8dddc608b5ee5602e2
2018-06-30 23:06:17 -07:00
Ryan Hunt 0412e688a8 Bug 1473301 - Remove BorderLayer. r=mattwoodrow
MozReview-Commit-ID: KGXW2lYBZ3c

--HG--
extra : rebase_source : a782ec3fb1c87d1d034219cbd7fd1b8d9d751559
extra : amend_source : ec7c8f7b4080c53a851117cfb1c7611c3606c562
2018-07-03 16:15:58 -05:00
Lee Salzman e251ecb952 Bug 1460259 - Send synthetic oblique angle to WR. r=jfkthame 2018-07-04 10:56:40 -04:00
Martin Stransky 1f770d80e5 Bug 1467128 - [Wayland] Get VSync from Gtk/Wayland, r=lsalzman
VSync on Wayland is a bit tricky as we can get only "last VSync" event signal with
CLOCK_MONOTONIC timestamp or none (if application is hidden/minimized).

That means we should draw a next frame at "last Vsync + frame delay" time and also
approximate next VSync event when we don't get any.

MozReview-Commit-ID: FI3Z4nkmDNK

--HG--
extra : rebase_source : 8a0f6148990cf4e7ad26ff287eadff87cb0215fc
2018-06-29 13:15:41 +02:00
Jonathan Kew 899b2539d6 Bug 1471584 - Micro-optimize text shaping by avoiding an unnecessary virtual method call. r=lsalzman 2018-06-27 16:12:43 +01:00
Jonathan Kew 1e3aec53f9 Bug 1422530 - Don't initiate new font downloads for a fontGroup where we've already set mSkipDrawing because we're waiting on a resource to be available. r=heycam 2018-06-27 16:12:42 +01:00
Gurzau Raul 729b75ccb4 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-06-27 00:55:38 +03:00
Ryan Hunt 6497093aa2 Bug 1471261 - Add global locking around FT_Load_Glyph to work around postscript hinter global data. r=lsalzman
MozReview-Commit-ID: 9ohfqUnPxMc

--HG--
extra : rebase_source : b4a0e02cd0685a1623cc2bd0ffdc34429f3b8729
2018-06-26 11:30:13 -04:00
Margareta Eliza Balazs c866c30fcf Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-06-26 12:24:32 +03:00
Chris Peterson 2afd829d0f Bug 1469769 - Part 6: Replace non-failing NS_NOTREACHED with MOZ_ASSERT_UNREACHABLE. r=froydnj
This patch is an automatic replacement of s/NS_NOTREACHED/MOZ_ASSERT_UNREACHABLE/. Reindenting long lines and whitespace fixups follow in patch 6b.

MozReview-Commit-ID: 5UQVHElSpCr

--HG--
extra : rebase_source : 4c1b2fc32b269342f07639266b64941e2270e9c4
extra : source : 907543f6eae716f23a6de52b1ffb1c82908d158a
2018-06-17 22:43:11 -07:00
Margareta Eliza Balazs 03ab62719a Merge mozilla-central to autoland. a=merge CLOSED TREE
--HG--
rename : devtools/client/debugger/test/mochitest/browser_dbg_tabactor-01.js => devtools/client/debugger/test/mochitest/browser_dbg_target-scoped-actor-01.js
rename : devtools/client/debugger/test/mochitest/browser_dbg_tabactor-02.js => devtools/client/debugger/test/mochitest/browser_dbg_target-scoped-actor-02.js
2018-06-26 18:08:43 +03:00
Kartikaya Gupta 6ffd31082b Bug 1463911 - Add a pref to force-disable WR. r=chutten,sotaro
This pref can be used by users to force-disable WebRender. It is
recorded in the telemetry environment so we can get a sense of how many
people are setting this pref.

MozReview-Commit-ID: yZSN44NMvD

--HG--
extra : rebase_source : d355236773f63da0f6acb5341f4ae6a88cd0a488
2018-06-25 10:55:33 -04:00
Jean-Yves Avenard d677c92441 Bug 1470754 - Remove AMD VP9 MFT support r=bryce
Not even AMD supports it anymore.

Differential Revision: https://phabricator.services.mozilla.com/D1793
2018-06-25 17:49:48 +00:00
Lee Salzman 9e14da3f5a Bug 1470515 - refactor ScaledFontFreeType for Android WR. r=rhunt
--HG--
rename : gfx/2d/NativeFontResourceFontconfig.cpp => gfx/2d/NativeFontResourceFreeType.cpp
rename : gfx/2d/NativeFontResourceFontconfig.h => gfx/2d/NativeFontResourceFreeType.h
rename : gfx/2d/ScaledFontCairo.cpp => gfx/2d/ScaledFontFreeType.cpp
rename : gfx/2d/ScaledFontCairo.h => gfx/2d/ScaledFontFreeType.h
2018-06-14 16:42:56 -07:00
Jonathan Kew 77d1c45265 Bug 1468845 - Check calls to GetFontResource for failure and bail out safely. r=lsalzman 2018-06-22 17:49:41 +01:00
Jonathan Kew 27c05b4d9b Bug 1460527 - Add Symbola to the common fallbacks list on Linux, to reduce the probability of falling back to the color-emoji font when emoji-style rendering is not actually wanted. r=m_kato 2018-06-20 19:47:08 +01:00
sotaro 7a2d7e5d6d Bug 1469028 - Supress Renderer threads r=nical 2018-06-21 08:32:09 +09:00
Nicolas Silva dae63b2e5b Bug 1464243 - Early return when running into blur rects that are way too large. r=Bas 2018-06-20 11:23:09 +02:00
Nicolas Silva 7b8229b86b Bug 1464039 - Only reject qcms transform with invalid grid size if the transform function uses the grid size. r=Bas 2018-06-19 15:32:29 +02:00
Nicolas Silva fd57446110 Bug 1469041 - Expose WebRender's frame/scene debug indicators. r=kats 2018-06-15 14:21:19 -07:00
Kartikaya Gupta 4ae02b922c Bug 1436409 - Remove the simple-event-region-items pref and bake it in as true. r=miko
MozReview-Commit-ID: IGK1dLSyv00

--HG--
extra : rebase_source : c957cb1faf91306205043bdc2e8d8f327729bdb1
2018-06-08 17:31:27 -04:00
Kartikaya Gupta ded66f718a Bug 1436409 - Remove the layout.event-regions.enabled pref and bake it in as false everywhere. r=tnikkel
This pref was used to enable the building of nsDisplayLayerEventRegions
items without APZ, so that we could test it in isolation. However, we no
longer need to do so, and these display items are going to be deleted
anyway, so we can remove this pref.

MozReview-Commit-ID: LJVcFafCKyS

--HG--
extra : rebase_source : 76d8eeca8dca4ea88b8226bbe6b829dbc40e03e4
2018-06-08 17:31:27 -04:00
Kartikaya Gupta aa21a4d224 Bug 1436409 - Remove gecko/APZ hit-test codepath from WebRenderCommandBuilder. r=botond
This removes the gfx.webrender.hit-test pref, assumes a value of true
everywhere it is used, and deletes all the resulting dead code.

Some gtests were setting this pref to false, and they are now updated to
set gfxVars::UseWebRender to false instead, which has the desired effect
of using the non-WR hit-testing codepath in APZ. (The data needed for
this codepath is set up by the gtests themselves).

MozReview-Commit-ID: 9ljDr8eEnv1

--HG--
extra : rebase_source : fbc321861428e7bb0bf7ab811935b682785debdc
2018-06-08 17:31:26 -04:00
Landry Breuil f519765706 Bug 1457092 - Only include SandboxBroker.h header on Linux sandbox. r=gcp 2018-06-09 08:44:00 -04:00
Lee Salzman d273b4ddcc Bug 1467552 - make VectorImage::Show force OP_OVER. r=bas 2018-06-08 12:38:13 -04:00
Dorel Luca 535f1df913 Merge mozilla-central to mozilla-inbound 2018-06-04 21:48:29 +03:00
Miko Mynttinen 4c85ef17cc Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO

--HG--
extra : rebase_source : 1e7eea4f2d4ec16ec0c559a8afb26976ddbf4d07
2018-06-01 17:59:07 +02:00
Gurzau Raul f040d25e12 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-04 12:53:25 +03:00
Jonathan Kew 7954a2d745 Bug 1466332 - patch 3 - Update StyleDistance function to more closely follow CSS4 Fonts algorithm. r=jwatt 2018-06-03 21:33:53 +01:00
Jonathan Kew 7cfc0cfbdc Bug 1466332 - patch 2 - Update WeightDistance function to more closely follow CSS4 Fonts algorithm. r=jwatt 2018-06-03 21:33:47 +01:00
Jonathan Kew b4b39146d3 Bug 1466332 - patch 1 - Update StretchDistance function to more closely follow CSS4 Fonts algorithm. r=jwatt 2018-06-03 21:33:42 +01:00
arthur.iakab 7e765f798b Backed out 2 changesets (bug 1465060) for build bustages on security/sandbox/linux/reporter/SandboxReporter.cpp
Backed out changeset 7c8905b6b226 (bug 1465060)
Backed out changeset 10446073eca8 (bug 1465060)
2018-06-03 19:25:41 +03:00
Miko Mynttinen 8d9dc85cd4 Bug 1465060 - Part 1: Fix warnings for std::move() use r=froydnj
MozReview-Commit-ID: HpdFXqQdIOO

--HG--
extra : rebase_source : 619d0e0ff63a2453c80f0c4d9beb906d43fa9b01
2018-06-01 17:59:07 +02:00
Andreea Pavel 4ced6e8b2d Merge mozilla-central to autoland. a=merge 2018-06-03 07:27:01 +03:00
Andrea Marchesini 7ba8b77e07 Bug 1466023 - Separate FontTableURI and BlobURL, r=qdot
This patch splits FontTableURI and BlobURL in 2 classes:
FontTableURIProtocolHandler and BlobURLProtocolHandler
both under mozilla::dom.

It also removes a memory reporter because that report is already covered by the
BlobURL one.

--HG--
rename : dom/file/nsHostObjectProtocolHandler.cpp => dom/file/BlobURLProtocolHandler.cpp
rename : dom/file/nsHostObjectProtocolHandler.h => dom/file/BlobURLProtocolHandler.h
2018-06-02 15:51:42 +02:00
Jonathan Watt 572c8e4059 Bug 1466251 part 1 - Make sure we reject FontFace.loaded if font loading times out. r=heycam 2018-05-15 16:18:40 +01:00
Lee Salzman 50e6372cf9 Bug 1464094 - print font variations as paths for PDF/PS output. r=jfkthame
MozReview-Commit-ID: 3sPKD4pNwdy
2018-06-01 13:08:57 -04:00
Jonathan Kew d4b7d95206 Bug 1464400 - Keep track of CSS generics when resolving to actual font families and faces, and expose as a new CSSGeneric attribute on InspectorFontFace. r=jwatt 2018-05-25 14:07:57 +01:00
Brindusan Cristian 2c5b7db570 Backed out changeset f8dbb1d2d07c (bug 1464400) for mochitest failures on test_font_whitelist.html. CLOSED TREE 2018-06-01 19:07:24 +03:00
Jonathan Kew 0cc7412d4f Bug 1464400 - Keep track of CSS generics when resolving to actual font families and faces, and expose as a new CSSGeneric attribute on InspectorFontFace. r=jwatt 2018-05-25 14:07:57 +01:00
Emilio Cobos Álvarez fffb25b74f Bug 1465585: Switch from mozilla::Move to std::move. r=froydnj
This was done automatically replacing:

  s/mozilla::Move/std::move/
  s/ Move(/ std::move(/
  s/(Move(/(std::move(/

Removing the 'using mozilla::Move;' lines.

And then with a few manual fixups, see the bug for the split series..

MozReview-Commit-ID: Jxze3adipUh
2018-06-01 10:45:27 +02:00
sotaro 624fefcfd6 Bug 1418202 - Serialize ProgramBinary to/from blob/disk r=nical 2018-05-31 15:07:34 +09:00
sotaro b0fbe12bd3 Bug 1465306 - Make D3D11YCbCrRecycleAllocator handle device reset r=nical 2018-05-31 09:35:24 +09:00
Kartikaya Gupta e20d6e1da2 Bug 1452845 - Turn on async scene building by default. r=jrmuizel
MozReview-Commit-ID: 6sHKSEPzgIf

--HG--
extra : rebase_source : 201216f8892e22a4d84f5967d7d5df317d724e56
2018-05-24 16:16:01 -04:00
Jonathan Kew 77decadbe2 Bug 1464904 - When font-variations support is preffed off, do not set up variation ranges in the gfxFontEntry for a system font, so that font selection will rely only on the static properties of the faces. r=lsalzman 2018-05-29 20:24:28 +01:00
Jonathan Kew 1171052be1 Bug 1425812 - Rely on native Core Text support for COLR/CPAL fonts on High Sierra. r=lsalzman 2018-05-29 17:07:48 +01:00
Jonathan Kew 3b41726ac4 Bug 1463884 - patch 3 - Make gfxFcPlatformFontList::TryLangForGroup safe for off-main-thread use when called from GetSystemFontList. r=emilio 2018-05-28 10:09:28 +01:00
Jonathan Kew 1aec939dc5 Bug 1463884 - patch 2 - Remove always-true argument aCheckEnvironment from gfxFcPlatformFontList::GetSampleLangForGroup. r=emilio 2018-05-28 10:09:25 +01:00
Emilio Cobos Álvarez 14326e571a Backed out changeset d48abd83fc7c (bug 1463884) since it's not the correct fix. r=me
If the font enumeration thread runs during the Servo traversal, it'd end up
thinking it _is_ (incorrectly) a Servo thread.
2018-05-27 10:04:27 +02:00
Martin Stransky b887819c71 Bug 1464037 - Replace GL_PROVIDER_GLX by MOZ_X11 to build X11 dependent code, r=lsalzman
In order to have useful Wayland builds we need ability to switch
between GL backends run-time - to use EGL backend for Wayland and GLX backend for X11.

GL_PROVIDER_GLX is used exclusively for GLX GL backend, so let's replace GL_PROVIDER_GLX
build-time check by more general MOZ_X11 check which determines X11 dependent code
and it's valid for both X11 and Wayland builds.

MozReview-Commit-ID: HYobrHveoaP

--HG--
extra : rebase_source : 2d359355ee747f5898d27d8a28d66114f4135f5b
2018-05-24 14:06:31 +02:00
Jonathan Kew 2c8d1fd244 Bug 1463884 - patch 2 - Make gfxFcPlatformFontList::TryLangForGroup safe for off-main-thread use. r=emilio 2018-05-25 21:18:55 +01:00
Jonathan Kew 95a7a2628a Bug 1463884 - patch 1 - Move methods only used by fontconfig backend from gfxPlatformFontList to the fontconfig subclass. (No functional change.) r=emilio 2018-05-25 21:18:54 +01:00
Jean-Yves Avenard 7f9231e215 Bug 1461268 - P1. Disable AMD VP9 decoder. r=bryce
It has greatly regressed with recent AMD drivers, providing worse performance than the software decoder under most circumstances.

MozReview-Commit-ID: Jtabi1qhoYF

--HG--
extra : rebase_source : 555e3bfdad18753079ccdcdd10261d68bbdaaad1
2018-05-24 15:19:23 +02:00
Csoregi Natalia 2f779be8d9 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-02 01:03:45 +03:00
Markus Stange 423ce68542 Bug 1462784 - Relabel various other stuff as being OTHER. r=njn
Any more specific work that is happening in these methods will have its own
specific category labeling in that specific code. The instances touched in this
patch are more on the outside and don't really know what kind of code is going
to be running inside.

MozReview-Commit-ID: 47NO1DZzkdH

--HG--
extra : rebase_source : 344c380ddaaf42a1fd820a26b762c61ee9e2d524
2018-05-18 17:58:43 -04:00
Csoregi Natalia fc2ed6e92a Backed out 18 changesets (bug 1462784) for ESlint failure on FlameGraph.js:1297. CLOSED TREE
Backed out changeset 79556798ff9f (bug 1462784)
Backed out changeset 88321efb673b (bug 1462784)
Backed out changeset 7880f9dc7023 (bug 1462784)
Backed out changeset 71fe35fd1f7e (bug 1462784)
Backed out changeset a543b94b049a (bug 1462784)
Backed out changeset d1ca8b0f2221 (bug 1462784)
Backed out changeset 68eabfbf3c16 (bug 1462784)
Backed out changeset 34e71c789903 (bug 1462784)
Backed out changeset 6fe79d1ca1bd (bug 1462784)
Backed out changeset e5ad2e525ea9 (bug 1462784)
Backed out changeset 329645ff1e23 (bug 1462784)
Backed out changeset e09c38853172 (bug 1462784)
Backed out changeset 0663d1a6d2da (bug 1462784)
Backed out changeset 106967fc29d2 (bug 1462784)
Backed out changeset 99b4a433a8e5 (bug 1462784)
Backed out changeset 1d38a4cf5a4a (bug 1462784)
Backed out changeset 692017229de6 (bug 1462784)
Backed out changeset c2911a626671 (bug 1462784)
2018-06-01 23:42:00 +03:00
Markus Stange 3f54b9a3dd Bug 1462784 - Relabel various other stuff as being OTHER. r=njn
Any more specific work that is happening in these methods will have its own
specific category labeling in that specific code. The instances touched in this
patch are more on the outside and don't really know what kind of code is going
to be running inside.

MozReview-Commit-ID: 47NO1DZzkdH

--HG--
extra : rebase_source : f807c14bf6a592e0c651e15b63d1e7d63e4b0159
2018-05-18 17:58:43 -04:00
Noemi Erli 1fd69fa2bc Backed out 18 changesets (bug 1462784) for failures in devtools/client/performance/test/unit/test_tree-model-08.js on a CLOSED TREE
Backed out changeset a74d36598442 (bug 1462784)
Backed out changeset c8192175f360 (bug 1462784)
Backed out changeset cde492240e99 (bug 1462784)
Backed out changeset 8c8d30fa406c (bug 1462784)
Backed out changeset ad3802ffb780 (bug 1462784)
Backed out changeset 2fe10732076c (bug 1462784)
Backed out changeset 268a72b7c3c4 (bug 1462784)
Backed out changeset 4055eb6c3bc6 (bug 1462784)
Backed out changeset 3901070e2e60 (bug 1462784)
Backed out changeset 2faf787fbbdf (bug 1462784)
Backed out changeset 8f06963c7c6f (bug 1462784)
Backed out changeset 036e6f64e224 (bug 1462784)
Backed out changeset e670f156a603 (bug 1462784)
Backed out changeset cd39588aece4 (bug 1462784)
Backed out changeset 2ac65d100fa2 (bug 1462784)
Backed out changeset ea05ff70a51d (bug 1462784)
Backed out changeset 8a06c0ba42f7 (bug 1462784)
Backed out changeset 52ed9a039ad2 (bug 1462784)
2018-06-01 01:06:29 +03:00
Noemi Erli 614b78ae36 Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-06-01 00:58:09 +03:00
Markus Stange d80822de42 Bug 1462784 - Relabel various other stuff as being OTHER. r=njn
Any more specific work that is happening in these methods will have its own
specific category labeling in that specific code. The instances touched in this
patch are more on the outside and don't really know what kind of code is going
to be running inside.

MozReview-Commit-ID: 47NO1DZzkdH

--HG--
extra : rebase_source : 35362bc94068103367f46b23a14cb3831cd86990
2018-05-18 17:58:43 -04:00
Csoregi Natalia acd92af57e Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-23 01:02:30 +03:00
Narcis Beleuzu 3fae2ab3f2 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-22 14:24:39 +03:00
Kris Maglione 6b12d08f7d Bug 1462937: Update callers to use nsIFile::GetDirectoryEntries as a nsIDirectoryEnumerator. r=froydnj
MozReview-Commit-ID: Iv4T1MVAF5

--HG--
extra : rebase_source : 1c518883d082884db7f9323a5acc20361228c26b
extra : histedit_source : 70a73c23d1199d3bfbb5379c78930401166c094b
2018-05-19 20:17:45 -07:00
Xidorn Quan d9975fe508 Bug 1458159 - Use rounding instead of ceiling on max{Ascent,Descent} for DWriteFont. r=jfkthame
The ceiling was introduced in bug 549190 for improve the consistency of
underline positioning. However, removing ceiling now doesn't seem to
regress the testcases in that bug, probably thanks to improvement in
other part.

The ceiling here causes us to have different font metrics than other
browsers on Windows, and can lead to webcompat issue. We also don't do
this for other backends. So it's probably better removing it in favor
of rounding.

There are several test changes:

* min-intrinsic-with-percents-across-elements.html changes result due to
  height of wrapping div in reference page depends on line height, so a
  fixed line height is set to work around the issue.

* 368020-1.html changes result because a slightly different line-height
  triggers bug 1462514. It is changed to use fixed line-height to work
  around the issue.

* 456147.xul is disabled because it compares XUL against HTML page, but
  XUL has different approach to position text in its elements than HTML.
  Specifically, XUL elements don't seem to respect line height while
  HTML elements do. The original line height in the file was probably
  chosen to make the HTML match XUL, so it seems to be non-trivial to
  fix it in a platform-independent way.

* sizing-orthog-{vlr,vrl}-in-htb-{008,020}.xht fails due to text in <p>
  after the testing block shifts 1px up for unknown reason.

MozReview-Commit-ID: 2WJG1AigWl1

--HG--
extra : source : 653c6b7480997c4e1dbead5f0441bc06a0605b7a
2018-05-22 11:43:30 +10:00
Noemi Erli e380c579e9 Backed out changeset 1be70a3d127f (bug 1458159) for reftest failures in sizing-orthog-vlr-in-htb-008.xht on a CLOSED TREE 2018-05-22 04:23:47 +03:00
Xidorn Quan 98bfde7521 Bug 1458159 - Use rounding instead of ceiling on max{Ascent,Descent} for DWriteFont. r=jfkthame
The ceiling was introduced in bug 549190 for improve the consistency of
underline positioning. However, removing ceiling now doesn't seem to
regress the testcases in that bug, probably thanks to improvement in
other part.

The ceiling here causes us to have different font metrics than other
browsers on Windows, and can lead to webcompat issue. We also don't do
this for other backends. So it's probably better removing it in favor
of rounding.

There are several test changes:

* min-intrinsic-with-percents-across-elements.html changes result due to
  height of wrapping div in reference page depends on line height, so a
  fixed line height is set to work around the issue.

* 368020-1.html changes result because a slightly different line-height
  triggers bug 1462514. It is changed to use fixed line-height to work
  around the issue.

* 456147.xul is disabled because it compares XUL against HTML page, but
  XUL has different approach to position text in its elements than HTML.
  Specifically, XUL elements don't seem to respect line height while
  HTML elements do. The original line height in the file was probably
  chosen to make the HTML match XUL, so it seems to be non-trivial to
  fix it in a platform-independent way.

* sizing-orthog-{vlr,vrl}-in-htb-{008,020}.xht fails due to text in <p>
  after the testing block shifts 1px up for unknown reason.

MozReview-Commit-ID: 2WJG1AigWl1

--HG--
extra : rebase_source : 540e68ffff618a6dc3c14b3702b2c042988061a3
2018-05-01 15:18:55 +10:00
Andreea Pavel 5298f758aa Backed out changeset 5352d48512f7 (bug 1458159) for failing reftest min-intrinsic-with-percents-across-elements.html == min-intrinsic-with-percents-across-elements-ref.html on a CLOSED TREE 2018-05-21 13:00:19 +03:00
Andreea Pavel 8940bb6982 Merge mozilla-central to autoland. a=merge on a CLOSED TREE 2018-05-21 12:48:54 +03:00
sotaro 05f073e8e4 Bug 1462555 - Remove gfxWindowsPlatform::mFeatureLevels r=jrmuizel 2018-05-21 10:11:52 +09:00
Martin Stransky fe32ede1ef Bug 1462622 - [Gtk/Linux] Don't use GLXVsyncSource() on non-X11 displays, r=lsalzman
MozReview-Commit-ID: BBtnNLWqSiq

--HG--
extra : rebase_source : acfa0304f51291a7c1eed57a56d48f961b9dc42d
2018-05-18 14:44:30 +02:00
Xidorn Quan d8a44ee949 Bug 1458159 - Use rounding instead of ceiling on max{Ascent,Descent} for DWriteFont. r=jfkthame
The ceiling was introduced in bug 549190 for improve the consistency of
underline positioning. However, removing ceiling now doesn't seem to
regress the testcases in that bug, probably thanks to improvement in
other part.

The ceiling here causes us to have different font metrics than other
browsers on Windows, and can lead to webcompat issue. We also don't do
this for other backends. So it's probably better removing it in favor
of rounding.

There are several test changes:

* min-intrinsic-with-percents-across-elements.html changes result due to
  height of wrapping div in reference page depends on line height, so a
  fixed line height is set to work around the issue.

* 368020-1.html changes result because a slightly different line-height
  triggers bug 1462514. It is changed to use fixed line-height to work
  around the issue.

* 456147.xul is disabled because it compares XUL against HTML page, but
  XUL has different approach to position text in its elements than HTML.
  Specifically, XUL elements don't seem to respect line height while
  HTML elements do. The original line height in the file was probably
  chosen to make the HTML match XUL, so it seems to be non-trivial to
  fix it in a platform-independent way.

* sizing-orthog-{vlr,vrl}-in-htb-{008,020}.xht fails due to text in <p>
  after the testing block shifts 1px up for unknown reason.

MozReview-Commit-ID: 2WJG1AigWl1

--HG--
extra : rebase_source : 6c61fa95a3b01e7b439be46a2498b4f893d8b84b
2018-05-01 15:18:55 +10:00
Jonathan Kew a482ff352e Bug 1412882 - Rework gfxFontUtils::MapCharToGlyphFormat4 to be more robust. r=lsalzman 2018-05-19 08:32:22 +01:00
Ryan Hunt fff38caff1 Bug 1458480 - Add a skia memory reporter and report on font cache usage. r=lsalzman, r=njn
--HG--
extra : rebase_source : 399b5be69d5c56d48bc15447f447f9c79c116c04
extra : amend_source : 3ccaab165dd48064366ed50bc3688d348362010a
extra : histedit_source : c606b880ac8dabbc4e824323146918ea4e5073ae
2018-05-14 16:47:01 -05:00
Jonathan Kew a4df82c15c Bug 1460858 - Fix serialization/deserialization of SlantStyle for the Android startupCache, to ensure proper styled face selection. r=jwatt 2018-05-17 14:44:37 +01:00
Narcis Beleuzu 2a7f77fea4 Backed out changeset 4d6aa78bf59d (bug 1460858) for Android mochitest failures on test_font_whitelist.html. CLOSED TREE 2018-05-17 18:53:28 +03:00
Jonathan Kew 39f95c038d Bug 1460858 - Fix serialization/deserialization of SlantStyle for the Android startupCache, to ensure proper styled face selection. r=jwatt 2018-05-17 14:44:37 +01:00
sotaro 196c70b995 Bug 1437334 - Block DX NV12 on SandyBridge for old graphics drivers r=jrmuizel 2018-05-17 12:07:20 +09:00
Ryan Hunt 95f916f190 Bug 1461775 - Create paint worker threads in response to a device reset instead of preemptively. r=bas
--HG--
extra : rebase_source : 83f98d01b416c8ac52c36809416be92d94120463
2018-05-15 13:36:11 -05:00
Jan-Ivar Bruaroey ab5ccac300 Bug 1463230 - Fix compile error on abs(float). Use std::abs() instead. r=jfkthame
MozReview-Commit-ID: 16wgbMcFjeT

--HG--
extra : rebase_source : 4c68184255714c5021fb11df409c6b5e047e1a4c
2018-05-21 15:18:09 -04:00
Jonathan Kew 2579d09699 Bug 1458301 followup #2, also use explicit namespace for std::isinf. r=preemptive bustage fix on CLOSED TREE 2018-05-15 15:37:45 +01:00
Jonathan Kew 35c8691c6f Bug 1458301 followup, use explicit namespace for std::isfinite to fix build failure on some platforms. r=bustage fix on CLOSED TREE 2018-05-15 15:32:33 +01:00
Jonathan Kew 94bd85ef62 Bug 1460764 - patch 2 - Include variationSettings in the gfxFontStyle hash value. r=jwatt 2018-05-15 14:59:26 +01:00
Jonathan Kew 54a3761450 Bug 1460764 - patch 1 - Avoid undefined behavior in gfxFontStyle::Hash() when sizeAdjust is -1.0f. r=jwatt 2018-05-15 14:59:26 +01:00
Jonathan Kew 526ed0b391 Bug 1457417 - Work around Core Text mishandling of 'opsz' axis when set to the font's default, by adjusting to a fractionally-different setting. r=jwatt 2018-05-15 14:59:26 +01:00
Jonathan Kew a311568f05 Bug 1458301 - Unify font face selection methods to consistently use WeightStyleStretchDistance to evaluate the closeness of an available resource to a requested style. r=jwatt 2018-05-15 14:59:25 +01:00
Csoregi Natalia 334f27e152 Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-15 12:56:29 +03:00
Jonathan Kew e97648d28e Bug 1461452 - Clear the cached emoji font-list pref in response to a pref change or font-list rebuild. r=m_kato 2018-05-15 10:17:12 +01:00
Adrian Wielgosik 4fca802957 Bug 1460940 - Convert NS_NewDOMDocument to use nsIDocument. r=bz
MozReview-Commit-ID: GoJ30YZGRhq

--HG--
extra : rebase_source : 0995705c2c31c1a779c22c8336482d4c7e89e319
2018-05-11 19:46:15 +02:00
Jonathan Kew dba372ac43 Bug 1396450 - Don't apply ToLowerCase to font feature identifiers used in @font-feature-values rules, as the spec says they're case sensitive. r=xidorn 2018-05-14 10:05:25 +01:00
Jed Davis bfc90a5627 Bug 1401776 - Raise fd limit to 4096 on Unix. r=glandium,mcmanus
This is to accommodate non-networking fd usage (IPC transports, various
databases, .xpi files, etc.), so it's separate from Necko's existing
manipulation of the fd limit, which is tied into Necko's internal limits
on how many sockets it will try to poll at once.

Note that resource limits are inherited by child processes, so this needs
to be done only in the parent.

This patch also removes similar code used on Solaris and Mac OS X.  The
Mac case (bug 1036682) refers to fd use by graphics textures, which
shouldn't be consuming fds anymore (even transiently) as of bug 1161166.

MozReview-Commit-ID: 2uodrkW5sUn

--HG--
extra : rebase_source : 5306f4995000459b89bed048ecafba3c262bbbdf
2018-05-10 17:36:32 -06:00
Margareta Eliza Balazs b51d5aed5d Merge mozilla-central to inbound. a=merge CLOSED TREE 2018-05-11 12:44:53 +03:00
Margareta Eliza Balazs 4f9a2ba08e Merge inbound to mozilla-central. a=merge 2018-05-11 12:36:02 +03:00
Jonathan Kew de265e92c7 Bug 1427660 - patch 2 - In gfxFontGroup::ComputeRanges, allow font run to include multiple match-types to avoid unnecessary interruption of font shaping. r=lsalzman 2018-05-11 08:56:25 +01:00
Jonathan Kew 288d62fe84 Bug 1427660 - patch 1 - Make gfxTextRange::MatchType an enum class for stronger type checking (no functional change). r=lsalzman 2018-05-11 08:56:12 +01:00
YUKI "Piro" Hiroshi dd7b3aab39 Bug 1457395 - Fix typo "proces" in comments. r=milan
--HG--
extra : amend_source : 36cf036803ff9bffaebb66fc31ff7b960f0c7509
2018-05-10 16:56:09 +09:00
Brendan Dahl 0cc1c8ec9b Bug 221706 - Use unwritable region when printing on Windows. r=jimm
Read more information from the printing device to setup the unwritable region.
Translate the printing context's coordinate system so that the point (0,0)
refers to the top-left of the physical paper instead of the top-left of the
printable region.

MozReview-Commit-ID: 9ei2FgEUDyO

--HG--
extra : rebase_source : c2e2715f47499538035101a285152eca2aba3202
2018-03-28 17:13:10 -07:00
Dorel Luca 2f3e1241e7 Merge mozilla-central to autoland. CLOSED TREE
--HG--
extra : amend_source : b3e2947586dd2ed9dbe52aabb06808d4ac8dbfff
2018-05-11 01:02:37 +03:00
Jonathan Kew 47a41be37b Bug 1460543 - Check for null (default) style parameter in gfxDWriteFontEntry::CreateFontFace before dereferencing it. r=jwatt 2018-05-10 14:45:19 +01:00
YUKI "Piro" Hiroshi 3983d5f82f Bug 1457400 - Fix typo "ELG" to "EGL", r=milan
There is misspelled "GLContextProviderELG".
2018-05-10 16:48:07 +09:00
Kartikaya Gupta 6eea99c630 Bug 1432515 - Restrict gfx.webrender.{all,enabled} to nightly, and only allow enabling via .all.qualified on beta and release. r=milan
This ensures that only people with qualified hardware can flip prefs to
enable WebRender on beta and release. Nightly users will still be able
enable WebRender on unqualified hardware.

MozReview-Commit-ID: E5sgzZhuX4p

--HG--
extra : rebase_source : a4e85e71e4d85b5d9f1e17c1413ca9690349f75a
2018-05-09 15:24:38 -04:00
Jonathan Kew 9c8f263093 Bug 1458004 - Link font-style values italic / oblique to the appropriate variation-font axes or synthetic styling. r=jwatt 2018-05-09 13:49:24 +01:00
Andrew Osmond d19566e09c Bug 1454149 - Do not advance animated images which are not displayed. r=tnikkel
All animated images on a page are currently registered with the refresh
driver and advance with the tick refresh. These animations may not even
be in view, and if they are large and thus cause redecoding, cause a
marked increase in CPU usage for no benefit to the user.

This patch adds an additional flag, mCompositedFrameRequested, to the
AnimationState used by FrameAnimator. It is set to true each time the
current animated image frame is requested via
FrameAnimator::GetCompositedFrame. It is set to false each time the
frame is advanced in FrameAnimator::AdvanceFrame (via
FrameAnimator::RequestRefresh). If it is true when
FrameAnimator::RequestRefresh is called, then it will advance the
animation according to the normal rules. If it is false, then it will
set the current animation time to the current time instead of advancing.

This should not cause the animation to fall behind anymore or skip
frames more than it does today. This is because if
FrameAnimator::GetCompositedFrame is not called, then the internal state
of the animation is advancing ahead of what the user sees. Once it is
called, the new frame is far ahead of the previously displayed frame.
The only difference now is that we will display the previous frame for
slightly longer until the next refresh tick.

Note that if an animated image is layerized (should not happen today) or
otherwise uses an ImageContainer, this optimization fails. While we know
whether or not we have an image container, we do not know if anything is
actively using it.
2018-05-09 08:04:20 -04:00
Jonathan Kew e6b971d44f Bug 1458003 - speculative fix: make a local copy of the face list in CheckForLegacyFamilyNames, in case mAvailableFonts is mutated during this function. r=lsalzman 2018-05-08 20:54:02 +01:00
Chris Peterson 71422dcaa9 Bug 1457813 - Part 2: Replace non-asserting NS_PRECONDITIONs with MOZ_ASSERTs. r=froydnj
s/NS_PRECONDITION/MOZ_ASSERT/ and reindent

MozReview-Commit-ID: KuUsnVe2h8L

--HG--
extra : source : c14655ab3df2c9b1465dd8102b9d25683359a37b
2018-04-28 12:50:58 -07:00
Xidorn Quan f62e2a947a Bug 1406552 - Only update max ascent / descent with em ones when ascent and descent are zero. r=jfkthame
The original code was added in bug 385263 for fixing bug 279032 that a
single font provides zero for max ascent / descent in its HHEA table
which caused Firefox to crash.

Unconditionally picking the maximum of max ascent / descent and their
em correspondents doesn't seem to be essential for working around that
case, so this patch changes it to just use the em ascent / descent when
both max ascent and descent are zero.

This fixes a webcompat problem related to Roboto font on Linux (and
presumably also Android given it uses FreeType backend as well).

MozReview-Commit-ID: EpKrfiOwnZt

--HG--
extra : rebase_source : 0619abf992fb1e1a1f3068ab172880913ebff1f1
2018-05-03 19:43:46 +10:00
Jonathan Kew 5182b6ad11 Bug 1459158 - Don't apply variation values from CSS font-weight/font-stretch properties if the font's variation axes appear to use a non-CSS-like scale. r=jwatt 2018-05-04 17:36:01 +01:00
Jonathan Kew 034384a62d Bug 1459163 - When variation fonts are disabled, gfxFontEntry::GetVariationsForStyle should just return without attempting to map CSS properties to variation axes. r=jwatt 2018-05-04 17:35:38 +01:00
Milan Sreckovic 4712274b69 Bug 1455696: gfx.webrender.all.qualified preference to default to WR for non-blocked devices/hardware. gfx.webrender.all will still force it on. r=milan
--HG--
extra : rebase_source : 173f06f702ccc4eb93d0e4533316056cb07c88af
2018-05-03 13:02:00 +03:00
Jonathan Kew c8b02be077 Bug 1449605 - part 2 - Rename gfxFontEntry::IsBold() to SupportsBold() and make it smarter about variable fonts, to avoid inappropriate use of synthetic-bold effect. r=jwatt 2018-05-04 10:19:55 +01:00
Lee Salzman e223d1147b Bug 1457154 - use fallback for color glyphs with transparency in WR. r=gankro
MozReview-Commit-ID: 3Z00aJs26DV
2018-05-03 22:53:55 -04:00
Jonathan Watt b6f1371d94 Bug 1458218 - Rename gfxGDIFont::mNeedsBold to mNeedsSyntheticBold. r=jfkthame 2018-04-26 12:46:18 +01:00
Ryan Hunt c2b8279a9f Bug 1458462 - Create paint workers if it's possible we could switch to tiling in the future. r=nical
On windows it's possible for us to fallback from D2D to Skia rendering at any time due to a device reset.
If this happens with `enable-tiles-if-skia-pomtp` enabled we could begin to use tiling. This can cause a
crash if we never created the worker threads because at initialization time we weren't using tiling.

Another way to fix this would be to dynamically create the worker threads in UpdateRenderMode if we
have switched to skia. That's a larger change and more might be required, so I'd rather just fix the
crash for now.

This commit also fixes a pref that should be `Once` instead of `Live`.

MozReview-Commit-ID: JQidXPjI7ER

--HG--
extra : amend_source : ba9a3746faea3a7355251b7e97e3f7c5dc1ba06b
2018-05-02 09:21:13 -05:00
Ryan Hunt 5516d12e7b Bug 1457007 - Add about:support information on if tiling is used in the content process. r=nical
MozReview-Commit-ID: 1JewsArgmZz

--HG--
extra : rebase_source : 85e8e1101ca852baee9e1448267e59b19c9d84e1
2018-04-30 15:05:19 -05:00
Jonathan Kew 007b53464f Bug 1458158 - Correct the weight-difference factor in CalcStyleMatch to favor closer weights, not further ones. r=jwatt 2018-05-01 15:56:04 +01:00
Jonathan Kew e92b9e44cf Bug 1449605 - part 1 - Rearrange thebes font code so that the decision whether to apply synthetic-bold is deferred until actually instantiating a font, not made during the font-matching process. r=jwatt
This rearranges how synthetic-bold use is determined in the font selection
& rendering code. Previously, we would decide during the font-selection
algorithm whether we need to apply synthetic-bold to the chosen face, and
then pass that decision through the fontgroup (storing it in the FamilyFace
entries of the mFonts array there) down to the actual rendering code that
instantiates fonts from the faces (font entries) we've selected.

That became a problem for variation fonts because in the case of a user
font, we may not have downloaded the resource yet, so we just have a "user
font container" entry, which carries the descriptors from the @font-face
rule and will fetch the actual resource when needed. But in the case of a
@font-face rule without a weight descriptor, we don't actually know at
font-selection time whether the face will support "true" bold (via a
variation axis) or not, so we can't reliably make the right decision about
applying synthetic bold.

So we now defer that decision until we actually instantiate a platform font
object to shape/measure/draw text. At that point, we have the requested
style and we also have the real font resource, so we can easily determine
whether fake-bold is required.

(This patch should not result in any visible behavior change; that will
come in a second patch now that the architecture supports it.)
2018-05-01 10:30:50 +01:00
Ryan Hunt 77c38b12c0 Bug 1454978 - Make OMTP feature detection not depend on tiling. r=bas
There's a circular dependency between `UsesTiling` and `InitOMTPConfig` because
we try to disable OMTP if we will be using tiling and edge padding is enabled.
Now that edge padding is disabled everywhere except android it should be safe
to assume that if edge padding is enabled then we'll be using tiling as well
and should disable OMTP.

This commit also removes a check on `UsesTiling` from CalculateWorkerCount
as it is redundant.

MozReview-Commit-ID: 1ruWPwXfLwO

--HG--
extra : rebase_source : d489c52c728d2ff356d2413b9b1044dfa3f63135
2018-04-25 16:27:02 -05:00
Ryan Hunt 40d71f783f Bug 1454978 - Cleanup tiling prefs in all.js. r=bas
This moves all the tiling prefs into one spot and organizes them a bit. It also fixes a common issue
with `edge-padding` being enabled on windows because it wouldn't be defined in all.js and defaulting
to enabled. Note that `worker-threads` is switched to `-1` by default here instead of just for OSX.
This should have no affect because we don't actually create the threads unless we are tiling, which
only happens right now on OSX.

MozReview-Commit-ID: D8HOs3yv7w0

--HG--
extra : rebase_source : 9b5d2d228af743ea4facd076dfa2f370ea93ebc8
2018-04-25 16:21:26 -05:00
Jonathan Kew 5e9926e820 Bug 1457505 - Fix the check for variation-font support in gfxWindowsPlatform: cannot depend on checking mUsingDirectWrite, as the fontlist is not yet set up. r=lsalzman 2018-04-28 09:17:47 +01:00
Botond Ballo 67bc5921a7 Bug 1448439 - Expose some of the tunable parameters in AndroidFlingPhysics as prefs. r=kats
MozReview-Commit-ID: J4QRmMdGE0l

--HG--
extra : rebase_source : 9acdec2fff2f95057cf2fc4da9fc8e86de4912f0
2018-04-20 18:55:08 -04:00
Botond Ballo a7f61a775c Bug 1448439 - Add a pref to get APZ to use the Chrome fling physics on Android. r=kats
MozReview-Commit-ID: HDLDlwjov82

--HG--
extra : rebase_source : c454a6769ccd0ca9951c41ef2ea9990c24208373
2018-04-20 18:44:18 -04:00
Jonathan Kew d384879f12 Bug 1457103 - patch 3 - Make gfxFontEntry::GetVariationAxes and GetVariationInstances pure virtual, and provide missing subclass implementations. r=jwatt 2018-04-26 17:08:18 +01:00
Jonathan Kew 61950f81db Bug 1457103 - patch 2 - Refactor logic from gfxFontconfigFontEntry implementations of GetVariationAxes and GetVariationInstances to gfxFT2Utils, where it can be shared by the gfxFT2Fonts backend. r=jwatt 2018-04-26 17:08:18 +01:00
Jonathan Kew 6ad9a5ee43 Bug 1457103 - patch 1 - Make gfxFontEntry::HasVariations a pure-virtual method, and fill in missing subclass implementations, particularly in FT2FontEntry. r=jwatt 2018-04-26 17:08:18 +01:00
Emilio Cobos Álvarez 0faef276ec Bug 1455885: Make the SVG context paint not use a node property, but a member in SVGDocument. r=jwatt
MozReview-Commit-ID: H6SRTsDL5Rh
2018-04-26 17:07:39 +02:00
Jonathan Kew 5485dd0a02 Bug 1456547 - When weight/stretch/style descriptor is omitted from a @font-face rule, the corresponding variation axis should not be clamped to the 'normal' value. r=jwatt 2018-04-26 15:32:36 +01:00
Jonathan Kew 4ca43a081e Bug 1456820 - patch 4 - Reorder fields in gfxFont for better packing. r=lsalzman 2018-04-25 18:54:03 +01:00
Jonathan Kew 7820fa0d7a Bug 1456820 - patch 3 - Reorder fields in gfxFontEntry for better packing. r=lsalzman 2018-04-25 18:54:03 +01:00