Commit graph

187 commits

Author SHA1 Message Date
Job Bautista
4584069f26 Issue #61 - Follow-up: Fix xul.dll link bustage related to Skia. 2023-04-30 09:29:43 +08:00
Job Bautista
6e2f70a70f Issue #61 - Follow-up: Fix gkmedias.dll link bustage related to Skia.
I don't understand why SK_API is being a problem, but it seems they are.
2023-04-30 09:29:27 +08:00
Job Bautista
260f8e154a Revert "Issue #61 - Place Skia in libxul"
This reverts commit 39cebe99e2db22d9e725499bf309b5668fcee413.
2023-04-30 09:29:05 +08:00
Job Bautista
d9e7c07ed3 Issue #2191 - Follow-up: Add missing mozilla::gfx in gfxFcPlatformFontList.cpp
Fixes build bustage in GNU/Linux
2023-04-07 08:24:38 +08:00
Job Bautista
44b74873c1 Issue #2191 - Remove virtual from gfxFont::GetCairoScaledFont.
Backported from Mozilla bug 1385029.
2023-04-07 08:24:27 +08:00
Job Bautista
0f7750cd27 Issue #2191 - Require implementation of gfxFont::GetScaledFont and remove unnecessary gfxPlatform::GetScaledFontForFont.
Backported from Mozilla bug 1385029.
2023-04-07 08:24:14 +08:00
Job Bautista
b721b6257f Issue #2191 - Remove redundant CairoScaledFont accessor from gfxFont subclasses.
Backported from Mozilla bug 1385029.
2023-04-07 08:23:59 +08:00
Job Bautista
a35ce5e5e1 Issue #2191 - Get rid of gfxFontconfigUtils.h since gfxFontconfigFontBase is unnecessary.
Backported from Mozilla bug 1385029.
2023-04-07 08:23:39 +08:00
Job Bautista
c54e2502b0 Issue #2191 - Make ScaledFont::SetCairoScaledFont virtual so it can be accessed from outside Moz2D.
Backported from Mozilla bug 1385029.
2023-04-07 08:23:23 +08:00
Job Bautista
b5d5963a4f Issue #2191 - Remove as much old fontconfig support as needed for Harfbuzz update.
Based on Mozilla bugs 1119128, 1285533, and 1421964.

gfx.font_rendering.fontconfig.fontlist.enabled is no longer available.

gfxFontconfigUtils.h still exists, and will be removed in another commit. Just
need more research on bug 1385029.

Tag #1862
2023-04-07 08:23:07 +08:00
Moonchild
6b3767c443 Issue #61 - Place Skia in libxul
Skia does some nasty things that break with DLL calls like having virtual dtors
without a body definition (and it's honestly surprising that it even builds to
begin with the way it's done, but apparently they use some linking symbol voodoo
to work around that in dependent classes).
Not wanting to have to pull Google code apart to try and fix that for something
we're only using for canvas anyway, it's better to just let Skia reside in
libxul instead.
2023-03-28 12:07:39 +08:00
Moonchild
371d7cf05d Issue #61 - Reinstate buildability with shared gkmedias dll
This fully works for splitting gkmedias.dll back out from xul with one exception
which is Skia throwing undefined externals when linking gkmedias.
2023-03-28 12:07:03 +08:00
Moonchild
fd5015faeb [GFX] Add some sanity checks and clamps to SurfaceData calculations. 2023-03-20 10:44:29 +08:00
u3shit
687733f9d1 Issue #2101 - Part 7: Add color range support on GPUs 2023-02-27 12:14:20 +08:00
u3shit
2b88f2c9ac Issue #2101 - Part 6: Plumbing of ColorRange between video decoders and YUV convert 2023-02-27 12:11:30 +08:00
u3shit
b5f9e9abb6 Issue #2101 - Part 4: Add color range support to gfx/ycbcr
Loosely based on current mozilla code
https://hg.mozilla.org/mozilla-central/file/25a8668d92431d469b443f0f2030328bab754aea/gfx/ycbcr/yuv_convert.cpp
2023-02-27 12:09:18 +08:00
u3shit
a4d1f57b9e Issue #2101 - Part 3: Update libyuv
Updated to version 1861, git revision 88b050f337cc0ca2a51800fe7bf4737222c87344 from
https://chromium.googlesource.com/libyuv/libyuv/
2023-02-27 12:08:54 +08:00
u3shit
42f3296899 Issue #2101 - Part 2: Use stdint.h types instead of uint8 and friends
Required for upcoming libyuv update
2023-02-27 12:06:38 +08:00
u3shit
c0c76cd455 Issue #2101 - Part 1: Add mColorRange info to YCbCrBuffer
https://hg.mozilla.org/integration/autoland/rev/6f4c7904cda8
2023-02-27 12:02:53 +08:00
u3shit
3e62b1fc9f Issue #2118 - Part 2: Add support for Identity YUVColorSpace
https://hg.mozilla.org/mozilla-central/rev/be342c90755d11551623362f2058c0326f63bbb3
2023-02-27 11:08:35 +08:00
u3shit
beef437602 Issue #2118 - Part 1: Update gfxUtils YuvColorMatrix functions to match upstream mozilla code more closely.
https://hg.mozilla.org/mozilla-central/file/4fba5295dc19f9d2f5d065ba502a44d8f2dc9e85/gfx/thebes/gfxUtils.cpp#l1246
2023-02-27 11:07:38 +08:00
Martok
845411a7ad Issue #2073 - m-c 1454149: Do not advance animated images which are not displayed 2023-01-10 07:31:40 +08:00
Martok
e96122ede2 Issue #2073 - m-c 523950: Discard decoded frames of very large GIF animations (squashed)
Controlled by image.animated.decode-on-demand.threshold-kb, default 256MB

Includes squashed bugfixes/regressions:
 - m-c 1444537: Shutting down the decode pool should make animated decoders bail early
 - m-c 1628606: Make sure to mark the surface cache entry available before sending the frame complete notification
 - m-c 1502275: Skip recreating the decoder after redecode errors if an animated image is reset
 - m-c 1443232: Don't insert frames into our AnimationFrameBuffer that we consider in error and unusable
2023-01-10 07:30:36 +08:00
Martok
eac8afce35 Issue #2073 - m-c 1343341: Infrastructure necessary to allow discarding of animated images (squashed)
Includes squashed changes of:
 - m-c 1317907: Refactor FrameAnimator::GetCompositedFrame to be a bit simpler
 - m-c 1351434: bugfix
 - m-c 686905: Enable the pref image.mem.animated.discardable to allow discarding of animated images
2023-01-10 07:29:50 +08:00
Moonchild
2f0acd868e [WebGL] Implement webgl.max-size-per-texture-mib 2022-10-27 09:04:31 +08:00
Moonchild
2e944692c3 Issue #21 - Remove panning/tab animation performance measurements
Based on FranklinDM's follow-up for the issue.

This would require browser FE changes, particularly removing the associated
code in `tabbrowser.xml`, however, that was already done in Pale Moon previously.
Other front-end applications may need to take note, though.

Based on changes from the following bugs:
* Bug 696398 - Need an api to analyze panning performance
* Bug 800031 - Include paint time in tab switch telemetry
* Bug 820167 - Enable performance measurement of tab animation
* Bug 826383 - Improve Start/Stop FrameTimeRecording for telemetry usage
2022-10-27 08:59:25 +08:00
Moonchild
f801bd1847 Issue #80 - Re-unify most of gfx 2022-09-09 10:19:25 +08:00
Brian Smith
8cc2925a24 No issue - Fix OutputVariable visibility issue, when building with clang. 2022-09-07 10:40:03 +08:00
Moonchild
5dfded811d Issue #80 - reinstated unified building for some large chunks of our code.
This should reduce compile complexity saving time and reducing linker stress.
2022-09-07 10:36:23 +08:00
Moonchild
612a363977 Don't use gfxXlibSurface in GLContextGLX. 2022-09-01 10:20:38 +08:00
Job Bautista
275ea2bcf5 Issue #326 - Part 1a: Update character property table generator script for Unicode 9, and adjust APIs to fit the new identifier-type property model
Backported from Mozilla bug 1281448.
2022-06-23 08:54:37 +08:00
Moonchild
afbfbcb1e1 Issue #1914 - Implement white-space: break-spaces
This also simplifies GetCSSWhitespaceToCompressionMode (FFS with the function
names, Mozilla!) to be less fragile.
2022-06-13 09:10:57 +08:00
Brian Smith
d18524ab7e Issue #1905 - Part 2b - Fix crash on startup due to inability to load system font with newer SDKs. Fix based on Mozilla Bug 1672842. 2022-06-06 08:57:19 +08:00
Moonchild
9fa9622d5b [DOM] Clip image data transfers. 2022-06-02 10:11:38 +08:00
trav90
f2cfb9997e Issue #457 - Make GLContextSymbols a pure aggregate POD 2022-05-31 09:13:17 +08:00
trav90
c782076add Issue #457 - Remove the constructor from gfxShapedText::CompressedGlyph and make it a trivial class
Also provide a couple of convenience "factory" methods to create simple and complex glyph values.
2022-05-31 09:13:12 +08:00
Brian Smith
d5c43d1d35 Issue #1829 - Readd code cleanup that is not Mac related that got clobbered by reverting Issue #1751 2022-05-04 10:01:23 +08:00
Brian Smith
13fcc4a046 Issue #1829 - Revert "Issue #1751" 2022-05-04 09:40:24 +08:00
Moonchild
8d800b1cb0 Issue #21 - Remove Telemetry plumbing and fix build.
Note this won't give working applications. Requires FE changes and
additional js module changes (next part).
2022-04-28 10:25:48 +08:00
Moonchild
d4eac725fd Issue #1877 - Resolve RELEASE_OR_BETA conditionals. 2022-04-21 21:46:47 +08:00
trav90
908d58ab7b Issue #1804 - Fix building with GCC 11 2022-04-19 22:05:31 +08:00
Moonchild
3bb1c962eb Issue #3039 - Don't try to pass a dash array of > 16 elements to ExtCreatePen.
According to MSDN documentation, the count of the style array passed to
ExtCreatePen is limited to 16. When we call ExtCreatePen with cStyle=17 or more,
it simply returns an error and the cairo surface used for printing is getting
into an error state, after which nothing further gets printed.
Instead of erroring out, this code change returns an unsupported status so that
cairo will provide fallback handling for it.
2022-03-22 22:54:05 +08:00
David Major
dda2b7972a Issue #3039 - Reapply bug 624198 fix that got lost in an upstream update. 2022-03-22 22:53:33 +08:00
Moonchild
35164e2860 Issue #3039 - Increase the MAX_FONT_SIZE limit applied in cairo_ft_font to match the gfxFont size limit.
Also adds synching comments just to be sure.
2022-03-22 22:52:59 +08:00
Moonchild
42fc0af325 Issue #3039 - Add closure point to bounds calculation.
This addition of a closure point (explicitly completing the closed shape) isn't
strictly needed in our current cairo version as it works perfectly fine without,
but if our clipping extents code changes then this might cause problems if the
extra point isn't added (in case of 0-length paths).
2022-03-22 22:52:24 +08:00
Moonchild
517a6b90a3 Issue #3039 - Extend cairo API with an explicit font_get_hint_metrics function.
This extension allows us to get font hint metrics without having to create and
destroy cairo font options structs. Since this is used in loops, this will
improve performance, especially in documents which have many text segments.
2022-03-22 22:51:39 +08:00
Matt A. Tobin
be7e9c26bb Issue #3038 - Update libpixman 2022-03-22 22:46:24 +08:00
Moonchild
d3f293ec09 [ANGLE] Cherry-pick upstream fix 2021-07-15 09:26:24 +08:00
Moonchild
4363b6cac3 Issue #1751 - Remove Mac/ARM C fallback on gcc from pixman 2021-07-02 10:46:07 +08:00
Moonchild
ba00d14c12 Issue #1751 - Remove Mac code behind MOZ_WIDGET_TOOLKIT == 'cocoa' 2021-06-24 11:09:47 +08:00