diff options
Diffstat (limited to 'gfx')
-rw-r--r-- | gfx/layers/apz/src/APZCTreeManager.cpp | 6 | ||||
-rw-r--r-- | gfx/src/DriverCrashGuard.cpp | 7 | ||||
-rw-r--r-- | gfx/src/nsDeviceContext.cpp | 7 | ||||
-rw-r--r-- | gfx/thebes/gfxAndroidPlatform.cpp | 337 | ||||
-rw-r--r-- | gfx/thebes/gfxAndroidPlatform.h | 80 | ||||
-rw-r--r-- | gfx/thebes/gfxFT2FontList.cpp | 15 | ||||
-rw-r--r-- | gfx/thebes/gfxHarfBuzzShaper.cpp | 10 | ||||
-rw-r--r-- | gfx/thebes/gfxPlatform.cpp | 27 | ||||
-rw-r--r-- | gfx/thebes/moz.build | 24 |
9 files changed, 5 insertions, 508 deletions
diff --git a/gfx/layers/apz/src/APZCTreeManager.cpp b/gfx/layers/apz/src/APZCTreeManager.cpp index 00eb3f183..297bf57fe 100644 --- a/gfx/layers/apz/src/APZCTreeManager.cpp +++ b/gfx/layers/apz/src/APZCTreeManager.cpp @@ -1854,10 +1854,8 @@ APZCTreeManager::FindRootContentOrRootApzc() const { mTreeLock.AssertCurrentThreadOwns(); - // Note: this is intended to find the same "root" that would be found - // by AsyncCompositionManager::ApplyAsyncContentTransformToTree inside - // the MOZ_WIDGET_ANDROID block. That is, it should find the RCD node if there - // is one, or the root APZC if there is not. + // Note: this should find the RCD node if there is one, or the root APZC if + // there is not. // Since BreadthFirstSearch is a pre-order search, we first do a search for // the RCD, and then if we don't find one, we do a search for the root APZC. HitTestingTreeNode* resultNode = BreadthFirstSearch<ReverseIterator>(mRootNode.get(), diff --git a/gfx/src/DriverCrashGuard.cpp b/gfx/src/DriverCrashGuard.cpp index 2303e9d66..42b741634 100644 --- a/gfx/src/DriverCrashGuard.cpp +++ b/gfx/src/DriverCrashGuard.cpp @@ -520,13 +520,6 @@ GLContextCrashGuard::Initialize() return;
}
-#if defined(MOZ_WIDGET_ANDROID)
- // Disable the WebGL crash guard on Android - it doesn't use E10S, and
- // its drivers will essentially never change, so the crash guard could
- // permanently disable WebGL.
- return;
-#endif
-
DriverCrashGuard::Initialize();
}
diff --git a/gfx/src/nsDeviceContext.cpp b/gfx/src/nsDeviceContext.cpp index 5f67a79a3..db69e21e9 100644 --- a/gfx/src/nsDeviceContext.cpp +++ b/gfx/src/nsDeviceContext.cpp @@ -645,13 +645,6 @@ nsDeviceContext::FindScreen(nsIScreen** outScreen) outScreen); } -#ifdef MOZ_WIDGET_ANDROID - if (!(*outScreen)) { - nsCOMPtr<nsIScreen> screen = mWidget->GetWidgetScreen(); - screen.forget(outScreen); - } -#endif - if (!(*outScreen)) { mScreenManager->GetPrimaryScreen(outScreen); } diff --git a/gfx/thebes/gfxAndroidPlatform.cpp b/gfx/thebes/gfxAndroidPlatform.cpp deleted file mode 100644 index c237116db..000000000 --- a/gfx/thebes/gfxAndroidPlatform.cpp +++ /dev/null @@ -1,337 +0,0 @@ -/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* 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/. */ - -#include "base/basictypes.h" - -#include "gfxAndroidPlatform.h" -#include "mozilla/gfx/2D.h" -#include "mozilla/CountingAllocatorBase.h" -#include "mozilla/Preferences.h" - -#include "gfx2DGlue.h" -#include "gfxFT2FontList.h" -#include "gfxImageSurface.h" -#include "gfxTextRun.h" -#include "mozilla/dom/ContentChild.h" -#include "nsXULAppAPI.h" -#include "nsIScreen.h" -#include "nsIScreenManager.h" -#include "nsILocaleService.h" -#include "nsServiceManagerUtils.h" -#include "nsUnicodeProperties.h" -#include "gfxPrefs.h" -#include "cairo.h" -#include "VsyncSource.h" - -#include "ft2build.h" -#include FT_FREETYPE_H -#include FT_MODULE_H - -using namespace mozilla; -using namespace mozilla::dom; -using namespace mozilla::gfx; -using namespace mozilla::unicode; - -static FT_Library gPlatformFTLibrary = nullptr; - -class FreetypeReporter final : public nsIMemoryReporter, - public CountingAllocatorBase<FreetypeReporter> -{ -private: - ~FreetypeReporter() {} - -public: - NS_DECL_ISUPPORTS - - static void* Malloc(FT_Memory, long size) - { - return CountingMalloc(size); - } - - static void Free(FT_Memory, void* p) - { - return CountingFree(p); - } - - static void* - Realloc(FT_Memory, long cur_size, long new_size, void* p) - { - return CountingRealloc(p, new_size); - } - - NS_IMETHOD CollectReports(nsIHandleReportCallback* aHandleReport, - nsISupports* aData, bool aAnonymize) override - { - MOZ_COLLECT_REPORT( - "explicit/freetype", KIND_HEAP, UNITS_BYTES, MemoryAllocated(), - "Memory used by Freetype."); - - return NS_OK; - } -}; - -NS_IMPL_ISUPPORTS(FreetypeReporter, nsIMemoryReporter) - -template<> Atomic<size_t> CountingAllocatorBase<FreetypeReporter>::sAmount(0); - -static FT_MemoryRec_ sFreetypeMemoryRecord; - -gfxAndroidPlatform::gfxAndroidPlatform() -{ - // A custom allocator. It counts allocations, enabling memory reporting. - sFreetypeMemoryRecord.user = nullptr; - sFreetypeMemoryRecord.alloc = FreetypeReporter::Malloc; - sFreetypeMemoryRecord.free = FreetypeReporter::Free; - sFreetypeMemoryRecord.realloc = FreetypeReporter::Realloc; - - // These two calls are equivalent to FT_Init_FreeType(), but allow us to - // provide a custom memory allocator. - FT_New_Library(&sFreetypeMemoryRecord, &gPlatformFTLibrary); - FT_Add_Default_Modules(gPlatformFTLibrary); - - RegisterStrongMemoryReporter(new FreetypeReporter()); - - mOffscreenFormat = GetScreenDepth() == 16 - ? SurfaceFormat::R5G6B5_UINT16 - : SurfaceFormat::X8R8G8B8_UINT32; - - if (gfxPrefs::AndroidRGB16Force()) { - mOffscreenFormat = SurfaceFormat::R5G6B5_UINT16; - } -} - -gfxAndroidPlatform::~gfxAndroidPlatform() -{ - FT_Done_Library(gPlatformFTLibrary); - gPlatformFTLibrary = nullptr; -} - -already_AddRefed<gfxASurface> -gfxAndroidPlatform::CreateOffscreenSurface(const IntSize& aSize, - gfxImageFormat aFormat) -{ - if (!Factory::AllowedSurfaceSize(aSize)) { - return nullptr; - } - - RefPtr<gfxASurface> newSurface; - newSurface = new gfxImageSurface(aSize, aFormat); - - return newSurface.forget(); -} - -static bool -IsJapaneseLocale() -{ - static bool sInitialized = false; - static bool sIsJapanese = false; - - if (!sInitialized) { - sInitialized = true; - - do { // to allow 'break' to abandon this block if a call fails - nsresult rv; - nsCOMPtr<nsILocaleService> ls = - do_GetService(NS_LOCALESERVICE_CONTRACTID, &rv); - if (NS_FAILED(rv)) { - break; - } - nsCOMPtr<nsILocale> appLocale; - rv = ls->GetApplicationLocale(getter_AddRefs(appLocale)); - if (NS_FAILED(rv)) { - break; - } - nsString localeStr; - rv = appLocale-> - GetCategory(NS_LITERAL_STRING(NSILOCALE_MESSAGE), localeStr); - if (NS_FAILED(rv)) { - break; - } - const nsAString& lang = nsDependentSubstring(localeStr, 0, 2); - if (lang.EqualsLiteral("ja")) { - sIsJapanese = true; - } - } while (false); - } - - return sIsJapanese; -} - -void -gfxAndroidPlatform::GetCommonFallbackFonts(uint32_t aCh, uint32_t aNextCh, - Script aRunScript, - nsTArray<const char*>& aFontList) -{ - static const char kDroidSansJapanese[] = "Droid Sans Japanese"; - static const char kMotoyaLMaru[] = "MotoyaLMaru"; - static const char kNotoSansCJKJP[] = "Noto Sans CJK JP"; - static const char kNotoColorEmoji[] = "Noto Color Emoji"; - - EmojiPresentation emoji = GetEmojiPresentation(aCh); - if (emoji != EmojiPresentation::TextOnly) { - if (aNextCh == kVariationSelector16 || - (aNextCh != kVariationSelector15 && - emoji == EmojiPresentation::EmojiDefault)) { - // if char is followed by VS16, try for a color emoji glyph - aFontList.AppendElement(kNotoColorEmoji); - } - } - - if (IS_IN_BMP(aCh)) { - // try language-specific "Droid Sans *" and "Noto Sans *" fonts for - // certain blocks, as most devices probably have these - uint8_t block = (aCh >> 8) & 0xff; - switch (block) { - case 0x05: - aFontList.AppendElement("Droid Sans Hebrew"); - aFontList.AppendElement("Droid Sans Armenian"); - break; - case 0x06: - aFontList.AppendElement("Droid Sans Arabic"); - break; - case 0x09: - aFontList.AppendElement("Noto Sans Devanagari"); - aFontList.AppendElement("Droid Sans Devanagari"); - break; - case 0x0b: - aFontList.AppendElement("Noto Sans Tamil"); - aFontList.AppendElement("Droid Sans Tamil"); - break; - case 0x0e: - aFontList.AppendElement("Noto Sans Thai"); - aFontList.AppendElement("Droid Sans Thai"); - break; - case 0x10: case 0x2d: - aFontList.AppendElement("Droid Sans Georgian"); - break; - case 0x12: case 0x13: - aFontList.AppendElement("Droid Sans Ethiopic"); - break; - case 0xf9: case 0xfa: - if (IsJapaneseLocale()) { - aFontList.AppendElement(kMotoyaLMaru); - aFontList.AppendElement(kNotoSansCJKJP); - aFontList.AppendElement(kDroidSansJapanese); - } - break; - default: - if (block >= 0x2e && block <= 0x9f && IsJapaneseLocale()) { - aFontList.AppendElement(kMotoyaLMaru); - aFontList.AppendElement(kNotoSansCJKJP); - aFontList.AppendElement(kDroidSansJapanese); - } - break; - } - } - // and try Droid Sans Fallback as a last resort - aFontList.AppendElement("Droid Sans Fallback"); -} - -void -gfxAndroidPlatform::GetSystemFontList(InfallibleTArray<FontListEntry>* retValue) -{ - gfxFT2FontList::PlatformFontList()->GetSystemFontList(retValue); -} - -gfxPlatformFontList* -gfxAndroidPlatform::CreatePlatformFontList() -{ - gfxPlatformFontList* list = new gfxFT2FontList(); - if (NS_SUCCEEDED(list->InitFontList())) { - return list; - } - gfxPlatformFontList::Shutdown(); - return nullptr; -} - -bool -gfxAndroidPlatform::IsFontFormatSupported(nsIURI *aFontURI, uint32_t aFormatFlags) -{ - // check for strange format flags - NS_ASSERTION(!(aFormatFlags & gfxUserFontSet::FLAG_FORMAT_NOT_USED), - "strange font format hint set"); - - // accept supported formats - if (aFormatFlags & gfxUserFontSet::FLAG_FORMATS_COMMON) { - return true; - } - - // reject all other formats, known and unknown - if (aFormatFlags != 0) { - return false; - } - - // no format hint set, need to look at data - return true; -} - -gfxFontGroup * -gfxAndroidPlatform::CreateFontGroup(const FontFamilyList& aFontFamilyList, - const gfxFontStyle* aStyle, - gfxTextPerfMetrics* aTextPerf, - gfxUserFontSet* aUserFontSet, - gfxFloat aDevToCssSize) -{ - return new gfxFontGroup(aFontFamilyList, aStyle, aTextPerf, - aUserFontSet, aDevToCssSize); -} - -FT_Library -gfxAndroidPlatform::GetFTLibrary() -{ - return gPlatformFTLibrary; -} - -already_AddRefed<ScaledFont> -gfxAndroidPlatform::GetScaledFontForFont(DrawTarget* aTarget, gfxFont *aFont) -{ - return GetScaledFontForFontWithCairoSkia(aTarget, aFont); -} - -bool -gfxAndroidPlatform::FontHintingEnabled() -{ - // In "mobile" builds, we sometimes use non-reflow-zoom, so we - // might not want hinting. Let's see. - -#ifdef MOZ_WIDGET_ANDROID - // On Android, we currently only use gecko to render web - // content that can always be be non-reflow-zoomed. So turn off - // hinting. - // - // XXX when gecko-android-java is used as an "app runtime", we may - // want to re-enable hinting for non-browser processes there. - return false; -#endif // MOZ_WIDGET_ANDROID - - // Currently, we don't have any other targets, but if/when we do, - // decide how to handle them here. - - NS_NOTREACHED("oops, what platform is this?"); - return gfxPlatform::FontHintingEnabled(); -} - -bool -gfxAndroidPlatform::RequiresLinearZoom() -{ -#ifdef MOZ_WIDGET_ANDROID - // On Android, we currently only use gecko to render web - // content that can always be be non-reflow-zoomed. - // - // XXX when gecko-android-java is used as an "app runtime", we may - // want to treat it like B2G and use linear zoom only for the web - // browser process, not other apps. - return true; -#endif - - NS_NOTREACHED("oops, what platform is this?"); - return gfxPlatform::RequiresLinearZoom(); -} - -already_AddRefed<mozilla::gfx::VsyncSource> -gfxAndroidPlatform::CreateHardwareVsyncSource() -{ - return gfxPlatform::CreateHardwareVsyncSource(); -} diff --git a/gfx/thebes/gfxAndroidPlatform.h b/gfx/thebes/gfxAndroidPlatform.h deleted file mode 100644 index 8975d0ab9..000000000 --- a/gfx/thebes/gfxAndroidPlatform.h +++ /dev/null @@ -1,80 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 4 -*- - * 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/. */ - -#ifndef GFX_PLATFORM_ANDROID_H -#define GFX_PLATFORM_ANDROID_H - -#include "gfxFT2Fonts.h" -#include "gfxPlatform.h" -#include "gfxUserFontSet.h" -#include "nsCOMPtr.h" -#include "nsTArray.h" - -namespace mozilla { - namespace dom { - class FontListEntry; - }; -}; -using mozilla::dom::FontListEntry; - -typedef struct FT_LibraryRec_ *FT_Library; - -class gfxAndroidPlatform : public gfxPlatform { -public: - gfxAndroidPlatform(); - virtual ~gfxAndroidPlatform(); - - static gfxAndroidPlatform *GetPlatform() { - return (gfxAndroidPlatform*) gfxPlatform::GetPlatform(); - } - - virtual already_AddRefed<gfxASurface> - CreateOffscreenSurface(const IntSize& aSize, - gfxImageFormat aFormat) override; - - virtual gfxImageFormat GetOffscreenFormat() override { return mOffscreenFormat; } - - already_AddRefed<mozilla::gfx::ScaledFont> - GetScaledFontForFont(mozilla::gfx::DrawTarget* aTarget, gfxFont *aFont) override; - - // to support IPC font list (sharing between chrome and content) - void GetSystemFontList(InfallibleTArray<FontListEntry>* retValue); - - // platform implementations of font functions - virtual bool IsFontFormatSupported(nsIURI *aFontURI, uint32_t aFormatFlags) override; - virtual gfxPlatformFontList* CreatePlatformFontList() override; - - virtual void GetCommonFallbackFonts(uint32_t aCh, uint32_t aNextCh, - Script aRunScript, - nsTArray<const char*>& aFontList) override; - - gfxFontGroup* - CreateFontGroup(const mozilla::FontFamilyList& aFontFamilyList, - const gfxFontStyle *aStyle, - gfxTextPerfMetrics* aTextPerf, - gfxUserFontSet *aUserFontSet, - gfxFloat aDevToCssSize) override; - - virtual bool FontHintingEnabled() override; - virtual bool RequiresLinearZoom() override; - - FT_Library GetFTLibrary(); - - virtual bool CanRenderContentToDataSurface() const override { - return true; - } - - virtual already_AddRefed<mozilla::gfx::VsyncSource> CreateHardwareVsyncSource() override; - - virtual bool SupportsApzTouchInput() const override { - return true; - } - -private: - gfxImageFormat mOffscreenFormat; -}; - -#endif /* GFX_PLATFORM_ANDROID_H */ - diff --git a/gfx/thebes/gfxFT2FontList.cpp b/gfx/thebes/gfxFT2FontList.cpp index 09c938a24..b032be13d 100644 --- a/gfx/thebes/gfxFT2FontList.cpp +++ b/gfx/thebes/gfxFT2FontList.cpp @@ -492,15 +492,6 @@ FT2FontEntry::ReadCMAP(FontInfoData *aFontInfoData) } } -#ifdef MOZ_WIDGET_ANDROID - // Hack for the SamsungDevanagari font, bug 1012365: - // pretend the font supports U+0972. - if (!charmap->test(0x0972) && - charmap->test(0x0905) && charmap->test(0x0945)) { - charmap->set(0x0972); - } -#endif - mHasCmapTable = NS_SUCCEEDED(rv); if (mHasCmapTable) { gfxPlatformFontList *pfl = gfxPlatformFontList::PlatformFontList(); @@ -1562,12 +1553,6 @@ gfxFontFamily* gfxFT2FontList::GetDefaultFontForPlatform(const gfxFontStyle* aStyle) { gfxFontFamily *ff = nullptr; -#if defined(MOZ_WIDGET_ANDROID) - ff = FindFamily(NS_LITERAL_STRING("Roboto")); - if (!ff) { - ff = FindFamily(NS_LITERAL_STRING("Droid Sans")); - } -#endif /* TODO: what about Qt or other platforms that may use this? */ return ff; } diff --git a/gfx/thebes/gfxHarfBuzzShaper.cpp b/gfx/thebes/gfxHarfBuzzShaper.cpp index f2264bc1f..4a563a95f 100644 --- a/gfx/thebes/gfxHarfBuzzShaper.cpp +++ b/gfx/thebes/gfxHarfBuzzShaper.cpp @@ -1107,16 +1107,6 @@ HBUnicodeDecompose(hb_unicode_funcs_t *ufuncs, hb_codepoint_t *b, void *user_data) { -#ifdef MOZ_WIDGET_ANDROID - // Hack for the SamsungDevanagari font, bug 1012365: - // support U+0972 by decomposing it. - if (ab == 0x0972) { - *a = 0x0905; - *b = 0x0945; - return true; - } -#endif - if (!sNormalizer) { return false; } diff --git a/gfx/thebes/gfxPlatform.cpp b/gfx/thebes/gfxPlatform.cpp index ae4336060..e2c2ae775 100644 --- a/gfx/thebes/gfxPlatform.cpp +++ b/gfx/thebes/gfxPlatform.cpp @@ -87,10 +87,6 @@ #include "gfxPlatformGtk.h" // xxx - for UseFcFontList #endif -#ifdef MOZ_WIDGET_ANDROID -#include "TexturePoolOGL.h" -#endif - #ifdef USE_SKIA # ifdef __GNUC__ # pragma GCC diagnostic push @@ -522,8 +518,6 @@ void RecordingPrefChanged(const char *aPrefName, void *aClosure) #if defined(USE_SKIA) static uint32_t GetSkiaGlyphCacheSize() { - // Only increase font cache size on non-android to save memory. -#if !defined(MOZ_WIDGET_ANDROID) // 10mb as the default cache size on desktop due to talos perf tweaking. // Chromium uses 20mb and skia default uses 2mb. // We don't need to change the font cache count since we usually @@ -535,9 +529,6 @@ static uint32_t GetSkiaGlyphCacheSize() } return cacheSize; -#else - return kDefaultGlyphCacheSize; -#endif // MOZ_WIDGET_ANDROID } #endif @@ -671,11 +662,6 @@ gfxPlatform::Init() GLContext::PlatformStartup(); -#ifdef MOZ_WIDGET_ANDROID - // Texture pool init - TexturePoolOGL::Init(); -#endif - Preferences::RegisterCallbackAndCall(RecordingPrefChanged, "gfx.2d.recording", nullptr); CreateCMSOutputProfile(); @@ -781,11 +767,6 @@ gfxPlatform::Shutdown() gPlatform->mVsyncSource = nullptr; -#ifdef MOZ_WIDGET_ANDROID - // Shut down the texture pool - TexturePoolOGL::Shutdown(); -#endif - // Shut down the default GL context provider. GLContextProvider::Shutdown(); @@ -2323,7 +2304,7 @@ gfxPlatform::GetTilesSupportInfo(mozilla::widget::InfoObject& aObj) /*static*/ bool gfxPlatform::AsyncPanZoomEnabled() { -#if !defined(MOZ_WIDGET_ANDROID) && !defined(MOZ_WIDGET_UIKIT) +#if !defined(MOZ_WIDGET_UIKIT) // For XUL applications (everything but Firefox on Android) we only want // to use APZ when E10S is enabled or when the user explicitly enable it. if (BrowserTabsRemoteAutostart() || gfxPrefs::APZDesktopEnabled()) { @@ -2331,8 +2312,6 @@ gfxPlatform::AsyncPanZoomEnabled() } else { return false; } -#elif defined(MOZ_WIDGET_ANDROID) - return true; #else return gfxPrefs::AsyncPanZoomEnabledDoNotUseDirectly(); #endif @@ -2356,10 +2335,6 @@ gfxPlatform::GetAcceleratedCompositorBackends(nsTArray<LayersBackend>& aBackends NS_WARNING("OpenGL-accelerated layers are not supported on this system"); tell_me_once = 1; } -#ifdef MOZ_WIDGET_ANDROID - NS_RUNTIMEABORT("OpenGL-accelerated layers are a hard requirement on this platform. " - "Cannot continue without support for them"); -#endif } } diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build index b84c4a4c6..6d3b7819b 100644 --- a/gfx/thebes/moz.build +++ b/gfx/thebes/moz.build @@ -57,24 +57,7 @@ EXPORTS.mozilla.gfx += [ 'PrintTargetThebes.h', ] -if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android': - EXPORTS += [ - 'gfxAndroidPlatform.h', - 'gfxFT2FontBase.h', - 'gfxFT2Fonts.h', - ] - EXPORTS.mozilla.gfx += [ - 'PrintTargetPDF.h', - ] - SOURCES += [ - 'gfxAndroidPlatform.cpp', - 'gfxFT2FontBase.cpp', - 'gfxFT2FontList.cpp', - 'gfxFT2Fonts.cpp', - 'gfxFT2Utils.cpp', - 'PrintTargetPDF.cpp', - ] -elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': +if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': EXPORTS += [ 'gfxPlatformMac.h', 'gfxQuartzNativeDrawing.h', @@ -231,7 +214,7 @@ LOCAL_INCLUDES += [ '/dom/xml', ] -if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android', 'gtk2', 'gtk3'): +if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'): DEFINES['MOZ_ENABLE_FREETYPE'] = True if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows': @@ -244,9 +227,6 @@ CXXFLAGS += CONFIG['TK_CFLAGS'] CFLAGS += CONFIG['MOZ_CAIRO_CFLAGS'] CFLAGS += CONFIG['TK_CFLAGS'] -if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android'): - CXXFLAGS += CONFIG['CAIRO_FT_CFLAGS'] - if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'): CXXFLAGS += CONFIG['MOZ_PANGO_CFLAGS'] |