summarylogtreecommitdiffstats
path: root/mozilla-bmo1504834-part4.patch
diff options
context:
space:
mode:
Diffstat (limited to 'mozilla-bmo1504834-part4.patch')
-rw-r--r--mozilla-bmo1504834-part4.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/mozilla-bmo1504834-part4.patch b/mozilla-bmo1504834-part4.patch
new file mode 100644
index 000000000000..a7052643d23e
--- /dev/null
+++ b/mozilla-bmo1504834-part4.patch
@@ -0,0 +1,40 @@
+# HG changeset patch
+# Parent 883d2c7fec80b9714ccfefa461a02f5b09e3ee09
+Problem description: Tab-titles that are too long to fit into a tab get faded out.
+ On big endian this is broken and instead of fading out, the
+ tab gets white and the font transparent, leading to an unreadable
+ tab-title
+Solution: This is not a real solution, but a hack. The real solution would have been
+ to byte-swap the correct buffer, but I could not find it.
+ So the next best thing is to deactivate the fading-effect. Now all tab-titles
+ are readable, albeit not as pretty to look at as they could be.
+Side-effects: I have not yet found an unwanted side-effect.
+
+diff --git a/gfx/2d/DrawTargetSkia.cpp b/gfx/2d/DrawTargetSkia.cpp
+--- a/gfx/2d/DrawTargetSkia.cpp
++++ b/gfx/2d/DrawTargetSkia.cpp
+@@ -1856,16 +1856,24 @@ void DrawTargetSkia::PushLayerWithBlend(
+ }
+
+ SkCanvas::SaveLayerRec saveRec(
+ aBounds.IsEmpty() ? nullptr : &bounds, &paint, nullptr, clipImage.get(),
+ &clipMatrix,
+ SkCanvas::kPreserveLCDText_SaveLayerFlag |
+ (aCopyBackground ? SkCanvas::kInitWithPrevious_SaveLayerFlag : 0));
+
++#if MOZ_BIG_ENDIAN()
++ // Pushing a layer where an aMask is defined produces wrong output.
++ // We _should_ endian swap the data, but I couldn't find a workable way to do so
++ // Therefore I deactivate those layers in the meantime.
++ // The result is: Tab-titles that are longer than the available space should be faded out.
++ // The fading doesn't work, so we deactivate the fading-effect here.
++ if (!aMask)
++#endif
+ mCanvas->saveLayer(saveRec);
+
+ SetPermitSubpixelAA(aOpaque);
+
+ #ifdef MOZ_WIDGET_COCOA
+ CGContextRelease(mCG);
+ mCG = nullptr;
+ #endif