summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--application/basilisk/fonts/README.txt9
-rw-r--r--application/basilisk/fonts/moz.build11
-rw-r--r--application/basilisk/moz.build1
-rw-r--r--application/palemoon/fonts/TwemojiMozilla.ttfbin1244336 -> 0 bytes
-rw-r--r--application/palemoon/moz.build1
-rw-r--r--config/config.mk2
-rw-r--r--layout/base/nsDisplayList.cpp19
-rw-r--r--layout/base/nsDisplayList.h21
-rw-r--r--layout/tables/nsTableRowGroupFrame.cpp24
-rw-r--r--old-configure.in2
-rw-r--r--python/mozbuild/mozbuild/controller/clobber.py3
-rw-r--r--toolkit/fonts/README.txt (renamed from application/palemoon/fonts/README.txt)0
-rw-r--r--toolkit/fonts/TwemojiMozilla.ttf (renamed from application/basilisk/fonts/TwemojiMozilla.ttf)bin1244336 -> 1244336 bytes
-rw-r--r--toolkit/fonts/moz.build (renamed from application/palemoon/fonts/moz.build)1
-rw-r--r--toolkit/moz.build3
15 files changed, 57 insertions, 40 deletions
diff --git a/application/basilisk/fonts/README.txt b/application/basilisk/fonts/README.txt
deleted file mode 100644
index ac1f6d9de..000000000
--- a/application/basilisk/fonts/README.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Twemoji Mozilla
-================
-
-The upstream repository of Twemoji Mozilla can be found at
-
- https://github.com/mozilla/twemoji-colr
-
-Please refer commit history for the current version of the font.
-This file purposely omit the version, so there is no need to update it here.
diff --git a/application/basilisk/fonts/moz.build b/application/basilisk/fonts/moz.build
deleted file mode 100644
index 5cb98333b..000000000
--- a/application/basilisk/fonts/moz.build
+++ /dev/null
@@ -1,11 +0,0 @@
-# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
-# vim: set filetype=python:
-# This Source Code Form is subject to the terms of the Mozilla Public
-# License, v. 2.0. If a copy of the MPL was not distributed with this
-# file, You can obtain one at http://mozilla.org/MPL/2.0/.
-
-if CONFIG['OS_ARCH'] in ('WINNT', 'Linux'):
- DIST_SUBDIR = ''
- FINAL_TARGET_FILES.fonts += [
- 'TwemojiMozilla.ttf'
- ]
diff --git a/application/basilisk/moz.build b/application/basilisk/moz.build
index 7274f48fc..2c3c95fa2 100644
--- a/application/basilisk/moz.build
+++ b/application/basilisk/moz.build
@@ -11,7 +11,6 @@ SPHINX_TREES['browser'] = 'docs'
DIRS += [
'base',
'components',
- 'fonts',
'locales',
'modules',
'themes',
diff --git a/application/palemoon/fonts/TwemojiMozilla.ttf b/application/palemoon/fonts/TwemojiMozilla.ttf
deleted file mode 100644
index d79250cb0..000000000
--- a/application/palemoon/fonts/TwemojiMozilla.ttf
+++ /dev/null
Binary files differ
diff --git a/application/palemoon/moz.build b/application/palemoon/moz.build
index 72e37673c..f04ad1c7d 100644
--- a/application/palemoon/moz.build
+++ b/application/palemoon/moz.build
@@ -9,7 +9,6 @@ CONFIGURE_SUBST_FILES += ['installer/Makefile']
DIRS += [
'base',
'components',
- 'fonts',
'locales',
'modules',
'themes',
diff --git a/config/config.mk b/config/config.mk
index 24442bfe9..5a352e529 100644
--- a/config/config.mk
+++ b/config/config.mk
@@ -107,7 +107,7 @@ ifeq ($(HOST_OS_ARCH),WINNT)
# This means we're in comm-central's topsrcdir, so we need to adjust
# WIN_TOP_SRC (which points to mozilla's topsrcdir) for the substitution
# to win_srcdir.
- cc_WIN_TOP_SRC := $(WIN_TOP_SRC:%/mozilla=%)
+ cc_WIN_TOP_SRC := $(WIN_TOP_SRC:%$(subst $(topsrcdir),,$(MOZILLA_DIR))=%)
win_srcdir := $(subst $(topsrcdir),$(cc_WIN_TOP_SRC),$(srcdir))
endif
BUILD_TOOLS = $(WIN_TOP_SRC)/build/unix
diff --git a/layout/base/nsDisplayList.cpp b/layout/base/nsDisplayList.cpp
index 1579e6970..8a34d108f 100644
--- a/layout/base/nsDisplayList.cpp
+++ b/layout/base/nsDisplayList.cpp
@@ -2703,9 +2703,22 @@ nsDisplayBackgroundImage::AppendBackgroundItemsToTop(nsDisplayListBuilder* aBuil
bg->BottomLayer(), bgRect,
useWillPaintBorderOptimization);
}
- bgItemList.AppendNewToTop(
- new (aBuilder) nsDisplayBackgroundColor(aBuilder, aFrame, bgRect, bg,
- drawBackgroundColor ? color : NS_RGBA(0, 0, 0, 0)));
+ if (aSecondaryReferenceFrame) {
+ bgItemList.AppendNewToTop(
+ new (aBuilder) nsDisplayTableBackgroundColor(aBuilder,
+ aSecondaryReferenceFrame,
+ bgRect,
+ bg,
+ drawBackgroundColor ? color : NS_RGBA(0, 0, 0, 0),
+ aFrame));
+ } else {
+ bgItemList.AppendNewToTop(
+ new (aBuilder) nsDisplayBackgroundColor(aBuilder,
+ aFrame,
+ bgRect,
+ bg,
+ drawBackgroundColor ? color : NS_RGBA(0, 0, 0, 0)));
+ }
}
if (isThemed) {
diff --git a/layout/base/nsDisplayList.h b/layout/base/nsDisplayList.h
index e9047b113..9cee7b517 100644
--- a/layout/base/nsDisplayList.h
+++ b/layout/base/nsDisplayList.h
@@ -3015,6 +3015,27 @@ protected:
mozilla::gfx::Color mColor;
};
+class nsDisplayTableBackgroundColor : public nsDisplayBackgroundColor
+{
+public:
+ nsDisplayTableBackgroundColor(nsDisplayListBuilder* aBuilder,
+ nsIFrame* aFrame,
+ const nsRect& aBackgroundRect,
+ const nsStyleBackground* aBackgroundStyle,
+ nscolor aColor,
+ nsIFrame* aAncestorFrame)
+ : nsDisplayBackgroundColor(aBuilder, aFrame, aBackgroundRect, aBackgroundStyle, aColor)
+ , mTableType(GetTableTypeFromFrame(aAncestorFrame))
+ { }
+
+ virtual uint32_t GetPerFrameKey() override {
+ return (static_cast<uint8_t>(mTableType) << nsDisplayItem::TYPE_BITS) |
+ nsDisplayItem::GetPerFrameKey();
+ }
+protected:
+ TableType mTableType;
+};
+
class nsDisplayClearBackground : public nsDisplayItem
{
public:
diff --git a/layout/tables/nsTableRowGroupFrame.cpp b/layout/tables/nsTableRowGroupFrame.cpp
index 3e4f60f62..f613c8b79 100644
--- a/layout/tables/nsTableRowGroupFrame.cpp
+++ b/layout/tables/nsTableRowGroupFrame.cpp
@@ -164,7 +164,7 @@ DisplayRows(nsDisplayListBuilder* aBuilder, nsFrame* aFrame,
// Don't try to use the row cursor if we have to descend into placeholders;
// we might have rows containing placeholders, where the row's overflow
// area doesn't intersect the dirty rect but we need to descend into the row
- // to see out of flows.
+ // to see out-of-flows.
// Note that we really want to check ShouldDescendIntoFrame for all
// the rows in |f|, but that's exactly what we're trying to avoid, so we
// approximate it by checking it for |f|: if it's true for any row
@@ -173,11 +173,11 @@ DisplayRows(nsDisplayListBuilder* aBuilder, nsFrame* aFrame,
nullptr : f->GetFirstRowContaining(aDirtyRect.y, &overflowAbove);
if (kid) {
- // have a cursor, use it
+ // If we have a cursor, use it
while (kid) {
- if (kid->GetRect().y - overflowAbove >= aDirtyRect.YMost() &&
- kid->GetNormalRect().y - overflowAbove >= aDirtyRect.YMost())
+ if (kid->GetRect().y - overflowAbove >= aDirtyRect.YMost()) {
break;
+ }
f->BuildDisplayListForChild(aBuilder, kid, aDirtyRect, aLists);
kid = kid->GetNextSibling();
}
@@ -1911,12 +1911,12 @@ nsTableRowGroupFrame::GetFirstRowContaining(nscoord aY, nscoord* aOverflowAbove)
// encountering a row whose overflowArea.YMost() is <= aY but which has
// a row above it containing cell(s) that span to include aY.
while (cursorIndex > 0 &&
- cursorFrame->GetNormalRect().YMost() + property->mOverflowBelow > aY) {
+ cursorFrame->GetRect().YMost() + property->mOverflowBelow > aY) {
--cursorIndex;
cursorFrame = property->mFrames[cursorIndex];
}
while (cursorIndex + 1 < frameCount &&
- cursorFrame->GetNormalRect().YMost() + property->mOverflowBelow <= aY) {
+ cursorFrame->GetRect().YMost() + property->mOverflowBelow <= aY) {
++cursorIndex;
cursorFrame = property->mFrames[cursorIndex];
}
@@ -1929,13 +1929,11 @@ nsTableRowGroupFrame::GetFirstRowContaining(nscoord aY, nscoord* aOverflowAbove)
bool
nsTableRowGroupFrame::FrameCursorData::AppendFrame(nsIFrame* aFrame)
{
- // Relative positioning can cause table parts to move, but we will still paint
- // the backgrounds for the parts under them at their 'normal' position. That
- // means that we must consider the overflow rects at both positions. For
- // example, if we use relative positioning to move a row-spanning cell, we
- // will still paint the row background for that cell at its normal position,
- // which will overflow the row.
- // XXX(seth): This probably isn't correct in the presence of transforms.
+ // Relative positioning can cause table parts to move, which can cause issues
+ // with the cursor position to know which rows can be skipped.
+ // To make this work, use the max difference between the frame's rect and the
+ // union of the frame's "normal" position and the overflow rect to cover the
+ // area of relatively positioned elements even if they are out of order.
nsRect positionedOverflowRect = aFrame->GetVisualOverflowRect();
nsPoint positionedToNormal = aFrame->GetNormalPosition() - aFrame->GetPosition();
nsRect normalOverflowRect = positionedOverflowRect + positionedToNormal;
diff --git a/old-configure.in b/old-configure.in
index 49f45280e..9398ef0fc 100644
--- a/old-configure.in
+++ b/old-configure.in
@@ -3691,6 +3691,8 @@ if test -n "$MOZ_BUNDLED_FONTS"; then
AC_DEFINE(MOZ_BUNDLED_FONTS)
fi
+AC_SUBST(MOZ_BUNDLED_FONTS)
+
dnl ========================================================
dnl Verify MAR signatures
dnl ========================================================
diff --git a/python/mozbuild/mozbuild/controller/clobber.py b/python/mozbuild/mozbuild/controller/clobber.py
index d3cdfd596..ba83e2428 100644
--- a/python/mozbuild/mozbuild/controller/clobber.py
+++ b/python/mozbuild/mozbuild/controller/clobber.py
@@ -58,6 +58,9 @@ class Clobberer(object):
if not os.path.isfile(self.src_clobber):
self.src_clobber = os.path.join(topsrcdir, 'mozilla', 'CLOBBER')
+ if not os.path.isfile(self.src_clobber):
+ self.src_clobber = os.path.join(topsrcdir, 'platform', 'CLOBBER')
+
assert os.path.isfile(self.src_clobber)
def clobber_needed(self):
diff --git a/application/palemoon/fonts/README.txt b/toolkit/fonts/README.txt
index bf5cb7e6e..bf5cb7e6e 100644
--- a/application/palemoon/fonts/README.txt
+++ b/toolkit/fonts/README.txt
diff --git a/application/basilisk/fonts/TwemojiMozilla.ttf b/toolkit/fonts/TwemojiMozilla.ttf
index d79250cb0..d79250cb0 100644
--- a/application/basilisk/fonts/TwemojiMozilla.ttf
+++ b/toolkit/fonts/TwemojiMozilla.ttf
Binary files differ
diff --git a/application/palemoon/fonts/moz.build b/toolkit/fonts/moz.build
index 8840a87f8..fb6a9b24c 100644
--- a/application/palemoon/fonts/moz.build
+++ b/toolkit/fonts/moz.build
@@ -5,5 +5,4 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
if CONFIG['OS_ARCH'] in ('WINNT', 'Linux'):
- DIST_SUBDIR = ''
FINAL_TARGET_FILES.fonts += ['TwemojiMozilla.ttf']
diff --git a/toolkit/moz.build b/toolkit/moz.build
index 397444828..b02d122cd 100644
--- a/toolkit/moz.build
+++ b/toolkit/moz.build
@@ -19,6 +19,9 @@ DIRS += [
'themes',
]
+if CONFIG['MOZ_BUNDLED_FONTS']:
+ DIRS += ['fonts']
+
if CONFIG['MOZ_JETPACK']:
DIRS += ['jetpack']