diff options
-rw-r--r-- | application/basilisk/fonts/README.txt | 9 | ||||
-rw-r--r-- | application/basilisk/fonts/moz.build | 11 | ||||
-rw-r--r-- | application/basilisk/moz.build | 1 | ||||
-rw-r--r-- | application/palemoon/fonts/TwemojiMozilla.ttf | bin | 1244336 -> 0 bytes | |||
-rw-r--r-- | application/palemoon/moz.build | 1 | ||||
-rw-r--r-- | config/config.mk | 2 | ||||
-rw-r--r-- | layout/base/nsDisplayList.cpp | 19 | ||||
-rw-r--r-- | layout/base/nsDisplayList.h | 21 | ||||
-rw-r--r-- | layout/tables/nsTableRowGroupFrame.cpp | 24 | ||||
-rw-r--r-- | old-configure.in | 2 | ||||
-rw-r--r-- | python/mozbuild/mozbuild/controller/clobber.py | 3 | ||||
-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) | bin | 1244336 -> 1244336 bytes | |||
-rw-r--r-- | toolkit/fonts/moz.build (renamed from application/palemoon/fonts/moz.build) | 1 | ||||
-rw-r--r-- | toolkit/moz.build | 3 |
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 Binary files differdeleted file mode 100644 index d79250cb0..000000000 --- a/application/palemoon/fonts/TwemojiMozilla.ttf +++ /dev/null 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 Binary files differindex d79250cb0..d79250cb0 100644 --- a/application/basilisk/fonts/TwemojiMozilla.ttf +++ b/toolkit/fonts/TwemojiMozilla.ttf 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'] |