--- a/components/desktop/firefox/patches/firefox100-39-cairo-perf.patch Tue Mar 01 10:33:35 2016 -0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-This enables tracking of ARGB values for image masks, since some machines do
-not use ARGB values.
-See Mozilla bug #716462 - Performance regression with xBGR visual and no
-RENDER extension.
-We would like to try to get this upstream in the future.
-
---- mozilla-esr31/gfx/cairo/cairo/src/cairo-xlib-surface.c.orig 2015-06-04 17:42:51.419088049 -0700
-+++ mozilla-esr31/gfx/cairo/cairo/src/cairo-xlib-surface.c 2015-06-04 17:42:51.424665839 -0700
-@@ -2325,6 +2325,7 @@
- cairo_region_t *clip_region)
- {
- cairo_image_surface_t *image;
-+ cairo_format_masks_t image_masks;
- cairo_rectangle_int_t extents;
- cairo_status_t status;
- int tx, ty;
-@@ -2341,6 +2342,16 @@
- (image->base.content & CAIRO_CONTENT_ALPHA) == 0)))
- return CAIRO_INT_STATUS_UNSUPPORTED;
-
-+ if (image->base.backend->type == CAIRO_SURFACE_TYPE_IMAGE) {
-+ if (_pixman_format_to_masks (image->pixman_format, &image_masks)) {
-+ if (! ((image_masks.alpha_mask == surface->a_mask || surface->a_mask == 0) &&
-+ (image_masks.red_mask == surface->r_mask || surface->r_mask == 0) &&
-+ (image_masks.green_mask == surface->g_mask || surface->g_mask == 0) &&
-+ (image_masks.blue_mask == surface->b_mask || surface->b_mask == 0)))
-+ return CAIRO_INT_STATUS_UNSUPPORTED;
-+ }
-+ }
-+
- if (image->base.backend->type != CAIRO_SURFACE_TYPE_IMAGE) {
- if (image->base.backend->type == CAIRO_INTERNAL_SURFACE_TYPE_SNAPSHOT) {
- image = (cairo_image_surface_t *) ((cairo_surface_snapshot_t *) image)->target;