summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--www/firefox/distinfo13
-rw-r--r--www/firefox/patches/patch-gfx_gl_GLContext.cpp38
-rw-r--r--www/firefox/patches/patch-gfx_gl_GLContextFeatures.cpp24
-rw-r--r--www/firefox/patches/patch-gfx_gl_GLContextProvider.h15
-rw-r--r--www/firefox/patches/patch-gfx_layers_ImageContainer.cpp24
-rw-r--r--www/firefox/patches/patch-gfx_layers_basic_BasicImages.cpp24
-rw-r--r--www/firefox/patches/patch-gfx_layers_client_ClientCanvasLayer.cpp24
-rw-r--r--www/firefox/patches/patch-gfx_layers_composite_LayerManagerComposite.cpp24
-rw-r--r--www/firefox/patches/patch-gfx_layers_opengl_TextureHostOGL.cpp42
-rw-r--r--www/firefox/patches/patch-gfx_src_nsDeviceContext.cpp66
-rw-r--r--www/firefox/patches/patch-gfx_thebes_gfxFont.cpp42
-rw-r--r--www/firefox/patches/patch-uriloader_exthandler_nsExternalHelperAppService.cpp42
12 files changed, 377 insertions, 1 deletions
diff --git a/www/firefox/distinfo b/www/firefox/distinfo
index 2a4c32a5142..36dc7b27096 100644
--- a/www/firefox/distinfo
+++ b/www/firefox/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.147 2014/05/28 10:08:18 pho Exp $
+$NetBSD: distinfo,v 1.148 2014/05/28 15:11:29 pho Exp $
SHA1 (firefox-29.0.1.source.tar.bz2) = 2819ef63403de2bcfff5496bd21a3b8cb5dfce82
RMD160 (firefox-29.0.1.source.tar.bz2) = f728179a12a46824971ca01cf79eb0318e4775c5
@@ -56,12 +56,22 @@ SHA1 (patch-dom_plugins_ipc_PluginModuleChild.h) = 0a7f3167e939822013ae619540665
SHA1 (patch-dom_system_OSFileConstants.cpp) = 6c45e3d5fa3369432ff59871a8cbc6176f297794
SHA1 (patch-extensions_spellcheck_hunspell_src_mozHunspell.cpp) = a2a0652d0eac018fda06e729bf5ba786dd8a3866
SHA1 (patch-gfx__skia__include__core__SkPreConfig.h) = 6f99cf0eb5d4617d529c378707f537bc1e5cb28f
+SHA1 (patch-gfx_gl_GLContext.cpp) = 80625c5745722fdf05f9b03d00a43043da59d5e6
+SHA1 (patch-gfx_gl_GLContextFeatures.cpp) = 6e70ea9110ffe9e24baf728c03c4e2ac1219dd97
+SHA1 (patch-gfx_gl_GLContextProvider.h) = 5e43dda114f49c03f12a9bfaacb24d8ba408646e
SHA1 (patch-gfx_graphite2_src_Bidi.cpp) = 5e80b4a32a47ae44d237fec69ea87bdd612a76ce
+SHA1 (patch-gfx_layers_ImageContainer.cpp) = 272cbcc0256b44a4f2c1ffe97c1d8c122fd93250
+SHA1 (patch-gfx_layers_basic_BasicImages.cpp) = 2b6fed10689ae4ea19cafa3b5fc8ac710faef529
+SHA1 (patch-gfx_layers_client_ClientCanvasLayer.cpp) = 5ea3410eed5e3a81527e138459ee87d058844c6d
+SHA1 (patch-gfx_layers_composite_LayerManagerComposite.cpp) = 0ff02f5c4e354e301d0acefcbc8d7623a44cc78b
+SHA1 (patch-gfx_layers_opengl_TextureHostOGL.cpp) = 32ad7dcf580cb7030511ce0dabb770da53d4d259
SHA1 (patch-gfx_moz.build) = a98bda4727538f4a0f09a20b84f9dd883edaf7d9
SHA1 (patch-gfx_skia_Makefile.in) = df1592fcab275a13e7015c9d73283f4326898186
SHA1 (patch-gfx_skia_moz.build) = 1eb1b2c8948f7faaab267cace79f179fb258523c
SHA1 (patch-gfx_skia_src_utils_SkThreadUtils__pthread__linux.cpp) = 19342e66383e224b34f98c9d58ad05d4041dd9f4
+SHA1 (patch-gfx_src_nsDeviceContext.cpp) = 9f6102ef7b66508f5ca8b2754331e59c7ccf79ef
SHA1 (patch-gfx_thebes_Makefile.in) = 16b63bc42870aa8c042416c6e04b3513981ca6f0
+SHA1 (patch-gfx_thebes_gfxFont.cpp) = 7888a16944c4b6371a8bdeb3fc70ed395de8e1ea
SHA1 (patch-image_decoders_nsJPEGDecoder.cpp) = e5df11499b1ec14e1d4c9a1408c0611d1c4e0574
SHA1 (patch-intl_hyphenation_src_hnjalloc.h) = 7fcc7b0fcf5a33486214197e925fbc8e6e22e2ee
SHA1 (patch-intl_unicharutil_util_Makefile.in) = c8f37cc420ba26b63c66fbbf69b13a8b4fea43fc
@@ -129,6 +139,7 @@ SHA1 (patch-toolkit_components_osfile_modules_osfile__unix__back.jsm) = 274b06bd
SHA1 (patch-toolkit_library_Makefile.in) = 481172e5c62b862633708106a1708a941c9ffb9d
SHA1 (patch-toolkit_toolkit.mozbuild) = 0993d50cc02c2b421e6de087dfb0a9cb30562c6b
SHA1 (patch-toolkit_xre_nsEmbedFunctions.cpp) = 6ee6fba04a3ecc6596f8aed67f752a1075901fa8
+SHA1 (patch-uriloader_exthandler_nsExternalHelperAppService.cpp) = 65f882f3eda21cc78e7ea0ad03bef9ab98b7056e
SHA1 (patch-xb) = 30eea880b40cee45d1235d3292fead4b5a54bbaa
SHA1 (patch-xc) = 8575fdac2b47966ccfb5e1cc7ca8505163e358c9
SHA1 (patch-xe) = ca4c87dbf9bb09e0e6c270d0fa76fc69a7d6df7f
diff --git a/www/firefox/patches/patch-gfx_gl_GLContext.cpp b/www/firefox/patches/patch-gfx_gl_GLContext.cpp
new file mode 100644
index 00000000000..547bf87c0f0
--- /dev/null
+++ b/www/firefox/patches/patch-gfx_gl_GLContext.cpp
@@ -0,0 +1,38 @@
+$NetBSD: patch-gfx_gl_GLContext.cpp,v 1.1 2014/05/28 15:11:29 pho Exp $
+
+Don't assume cocoa toolkit just because OS_ARCH is Darwin.
+
+--- gfx/gl/GLContext.cpp.orig 2014-05-06 22:55:33.000000000 +0000
++++ gfx/gl/GLContext.cpp
+@@ -34,12 +34,9 @@
+ #include "mozilla/DebugOnly.h"
+ #include "mozilla/Preferences.h"
+
+-#ifdef XP_MACOSX
++#if defined(MOZ_WIDGET_COCOA)
+ #include <CoreServices/CoreServices.h>
+ #include "gfxColor.h"
+-#endif
+-
+-#if defined(MOZ_WIDGET_COCOA)
+ #include "nsCocoaFeatures.h"
+ #endif
+
+@@ -610,7 +607,7 @@ GLContext::InitWithPrefix(const char *pr
+ MarkUnsupported(GLFeature::standard_derivatives);
+ }
+
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ // The Mac Nvidia driver, for versions up to and including 10.8, don't seem
+ // to properly support this. See 814839
+ // this has been fixed in Mac OS X 10.9. See 907946
+@@ -1050,7 +1047,7 @@ GLContext::InitWithPrefix(const char *pr
+ raw_fGetIntegerv(LOCAL_GL_MAX_CUBE_MAP_TEXTURE_SIZE, &mMaxCubeMapTextureSize);
+ raw_fGetIntegerv(LOCAL_GL_MAX_RENDERBUFFER_SIZE, &mMaxRenderbufferSize);
+
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ if (mWorkAroundDriverBugs) {
+ if (mVendor == GLVendor::Intel) {
+ // see bug 737182 for 2D textures, bug 684882 for cube map textures.
diff --git a/www/firefox/patches/patch-gfx_gl_GLContextFeatures.cpp b/www/firefox/patches/patch-gfx_gl_GLContextFeatures.cpp
new file mode 100644
index 00000000000..9de762955b0
--- /dev/null
+++ b/www/firefox/patches/patch-gfx_gl_GLContextFeatures.cpp
@@ -0,0 +1,24 @@
+$NetBSD: patch-gfx_gl_GLContextFeatures.cpp,v 1.1 2014/05/28 15:11:29 pho Exp $
+
+Don't assume cocoa toolkit just because OS_ARCH is Darwin.
+
+--- gfx/gl/GLContextFeatures.cpp.orig 2014-05-06 22:55:33.000000000 +0000
++++ gfx/gl/GLContextFeatures.cpp
+@@ -7,7 +7,7 @@
+ #include "GLContext.h"
+ #include "nsPrintfCString.h"
+
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ #include "nsCocoaFeatures.h"
+ #endif
+
+@@ -394,7 +394,7 @@ CanReadSRGBFromFBOTexture(GLContext* gl)
+ if (!gl->WorkAroundDriverBugs())
+ return true;
+
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ // Bug 843668:
+ // MacOSX 10.6 reports to support EXT_framebuffer_sRGB and
+ // EXT_texture_sRGB but fails to convert from sRGB to linear
diff --git a/www/firefox/patches/patch-gfx_gl_GLContextProvider.h b/www/firefox/patches/patch-gfx_gl_GLContextProvider.h
new file mode 100644
index 00000000000..7f51add4189
--- /dev/null
+++ b/www/firefox/patches/patch-gfx_gl_GLContextProvider.h
@@ -0,0 +1,15 @@
+$NetBSD: patch-gfx_gl_GLContextProvider.h,v 1.1 2014/05/28 15:11:29 pho Exp $
+
+Don't assume cocoa toolkit just because OS_ARCH is Darwin.
+
+--- gfx/gl/GLContextProvider.h.orig 2014-05-06 22:55:33.000000000 +0000
++++ gfx/gl/GLContextProvider.h
+@@ -33,7 +33,7 @@ namespace gl {
+ #define DEFAULT_IMPL WGL
+ #endif
+
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ #define GL_CONTEXT_PROVIDER_NAME GLContextProviderCGL
+ #include "GLContextProviderImpl.h"
+ #undef GL_CONTEXT_PROVIDER_NAME
diff --git a/www/firefox/patches/patch-gfx_layers_ImageContainer.cpp b/www/firefox/patches/patch-gfx_layers_ImageContainer.cpp
new file mode 100644
index 00000000000..d3340c3bba6
--- /dev/null
+++ b/www/firefox/patches/patch-gfx_layers_ImageContainer.cpp
@@ -0,0 +1,24 @@
+$NetBSD: patch-gfx_layers_ImageContainer.cpp,v 1.1 2014/05/28 15:11:29 pho Exp $
+
+Don't assume cocoa toolkit just because OS_ARCH is Darwin.
+
+--- gfx/layers/ImageContainer.cpp.orig 2014-05-06 22:55:33.000000000 +0000
++++ gfx/layers/ImageContainer.cpp
+@@ -23,7 +23,7 @@
+ #endif
+ #include "gfx2DGlue.h"
+
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ #include "mozilla/gfx/QuartzSupport.h"
+ #include "MacIOSurfaceImage.h"
+ #endif
+@@ -81,7 +81,7 @@ ImageFactory::CreateImage(ImageFormat aF
+ img = new SharedTextureImage();
+ return img.forget();
+ }
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ if (aFormat == ImageFormat::MAC_IOSURFACE) {
+ img = new MacIOSurfaceImage();
+ return img.forget();
diff --git a/www/firefox/patches/patch-gfx_layers_basic_BasicImages.cpp b/www/firefox/patches/patch-gfx_layers_basic_BasicImages.cpp
new file mode 100644
index 00000000000..9ad3c054745
--- /dev/null
+++ b/www/firefox/patches/patch-gfx_layers_basic_BasicImages.cpp
@@ -0,0 +1,24 @@
+$NetBSD: patch-gfx_layers_basic_BasicImages.cpp,v 1.1 2014/05/28 15:11:29 pho Exp $
+
+Don't assume cocoa toolkit just because OS_ARCH is Darwin.
+
+--- gfx/layers/basic/BasicImages.cpp.orig 2014-05-06 22:55:33.000000000 +0000
++++ gfx/layers/basic/BasicImages.cpp
+@@ -22,7 +22,7 @@
+ #include "mozilla/gfx/Point.h" // for IntSize
+ #include "gfx2DGlue.h"
+ #include "YCbCrUtils.h" // for YCbCr conversions
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ #include "gfxQuartzImageSurface.h"
+ #endif
+
+@@ -154,7 +154,7 @@ BasicPlanarYCbCrImage::DeprecatedGetAsSu
+ imgSurface->SetData(&imageSurfaceDataKey, mDecodedBuffer.forget(), DestroyBuffer);
+
+ nsRefPtr<gfxASurface> result = imgSurface.get();
+-#if defined(XP_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ nsRefPtr<gfxQuartzImageSurface> quartzSurface =
+ new gfxQuartzImageSurface(imgSurface);
+ if (quartzSurface) {
diff --git a/www/firefox/patches/patch-gfx_layers_client_ClientCanvasLayer.cpp b/www/firefox/patches/patch-gfx_layers_client_ClientCanvasLayer.cpp
new file mode 100644
index 00000000000..0f2a3081cdb
--- /dev/null
+++ b/www/firefox/patches/patch-gfx_layers_client_ClientCanvasLayer.cpp
@@ -0,0 +1,24 @@
+$NetBSD: patch-gfx_layers_client_ClientCanvasLayer.cpp,v 1.1 2014/05/28 15:11:29 pho Exp $
+
+Don't assume cocoa toolkit just because OS_ARCH is Darwin.
+
+--- gfx/layers/client/ClientCanvasLayer.cpp.orig 2014-05-06 22:55:33.000000000 +0000
++++ gfx/layers/client/ClientCanvasLayer.cpp
+@@ -22,7 +22,7 @@
+ #ifdef MOZ_WIDGET_GONK
+ #include "SharedSurfaceGralloc.h"
+ #endif
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ #include "SharedSurfaceIO.h"
+ #endif
+
+@@ -65,7 +65,7 @@ ClientCanvasLayer::Initialize(const Data
+ } else {
+ // [Basic Layers, OMTC] WebGL layer init.
+ // Well, this *should* work...
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ factory = new SurfaceFactory_IOSurface(mGLContext, screen->Caps());
+ #else
+ factory = new SurfaceFactory_GLTexture(mGLContext, nullptr, screen->Caps());
diff --git a/www/firefox/patches/patch-gfx_layers_composite_LayerManagerComposite.cpp b/www/firefox/patches/patch-gfx_layers_composite_LayerManagerComposite.cpp
new file mode 100644
index 00000000000..f825d156f12
--- /dev/null
+++ b/www/firefox/patches/patch-gfx_layers_composite_LayerManagerComposite.cpp
@@ -0,0 +1,24 @@
+$NetBSD: patch-gfx_layers_composite_LayerManagerComposite.cpp,v 1.1 2014/05/28 15:11:29 pho Exp $
+
+Don't assume cocoa toolkit just because OS_ARCH is Darwin.
+
+--- gfx/layers/composite/LayerManagerComposite.cpp.orig 2014-05-06 22:55:34.000000000 +0000
++++ gfx/layers/composite/LayerManagerComposite.cpp
+@@ -21,7 +21,7 @@
+ #include "gfx2DGlue.h" // for ToMatrix4x4
+ #include "gfx3DMatrix.h" // for gfx3DMatrix
+ #include "gfxPlatform.h" // for gfxPlatform
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ #include "gfxPlatformMac.h"
+ #endif
+ #include "gfxRect.h" // for gfxRect
+@@ -740,7 +740,7 @@ TemporaryRef<DrawTarget>
+ LayerManagerComposite::CreateDrawTarget(const IntSize &aSize,
+ SurfaceFormat aFormat)
+ {
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ // We don't want to accelerate if the surface is too small which indicates
+ // that it's likely used for an icon/static image. We also don't want to
+ // accelerate anything that is above the maximum texture size of weakest gpu.
diff --git a/www/firefox/patches/patch-gfx_layers_opengl_TextureHostOGL.cpp b/www/firefox/patches/patch-gfx_layers_opengl_TextureHostOGL.cpp
new file mode 100644
index 00000000000..644584e64c6
--- /dev/null
+++ b/www/firefox/patches/patch-gfx_layers_opengl_TextureHostOGL.cpp
@@ -0,0 +1,42 @@
+$NetBSD: patch-gfx_layers_opengl_TextureHostOGL.cpp,v 1.1 2014/05/28 15:11:29 pho Exp $
+
+Don't assume cocoa toolkit just because OS_ARCH is Darwin.
+
+--- gfx/layers/opengl/TextureHostOGL.cpp.orig 2014-05-06 22:55:34.000000000 +0000
++++ gfx/layers/opengl/TextureHostOGL.cpp
+@@ -32,7 +32,7 @@
+ #include "nsRegion.h" // for nsIntRegion
+ #include "GfxTexturesReporter.h" // for GfxTexturesReporter
+ #include "GLBlitTextureImageHelper.h"
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ #include "SharedSurfaceIO.h"
+ #include "mozilla/layers/MacIOSurfaceTextureHostOGL.h"
+ #endif
+@@ -113,7 +113,7 @@ CreateTextureHostOGL(const SurfaceDescri
+ result = new StreamTextureHostOGL(aFlags, desc);
+ break;
+ }
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ case SurfaceDescriptor::TSurfaceDescriptorMacIOSurface: {
+ const SurfaceDescriptorMacIOSurface& desc =
+ aDesc.get_SurfaceDescriptorMacIOSurface();
+@@ -519,7 +519,7 @@ StreamTextureSourceOGL::RetrieveTextureF
+ }
+ break;
+ }
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ case SharedSurfaceType::IOSurface: {
+ SharedSurface_IOSurface* glTexSurf = SharedSurface_IOSurface::Cast(sharedSurf);
+ mTextureHandle = glTexSurf->Texture();
+@@ -991,7 +991,7 @@ SurfaceStreamHostOGL::Lock()
+ }
+ break;
+ }
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ case SharedSurfaceType::IOSurface: {
+ SharedSurface_IOSurface* glTexSurf = SharedSurface_IOSurface::Cast(sharedSurf);
+ mTextureHandle = glTexSurf->Texture();
diff --git a/www/firefox/patches/patch-gfx_src_nsDeviceContext.cpp b/www/firefox/patches/patch-gfx_src_nsDeviceContext.cpp
new file mode 100644
index 00000000000..16e00ab477d
--- /dev/null
+++ b/www/firefox/patches/patch-gfx_src_nsDeviceContext.cpp
@@ -0,0 +1,66 @@
+$NetBSD: patch-gfx_src_nsDeviceContext.cpp,v 1.1 2014/05/28 15:11:29 pho Exp $
+
+* gfxPDFSurface.h must be included whenever MOZ_PDF_PRINTING is
+ defined. In fact !defined(MOZ_WIDGET_COCOA) nearly equals to
+ defined(MOZ_PDF_PRINTING) but it isn't the same as
+ !defined(XP_MACOSX). In short cocoa toolkit is wrongly assumed here
+ too.
+
+* Don't assume cocoa toolkit just because OS_ARCH is Darwin.
+
+--- gfx/src/nsDeviceContext.cpp.orig 2014-05-06 22:55:35.000000000 +0000
++++ gfx/src/nsDeviceContext.cpp
+@@ -35,7 +35,7 @@
+ #include "nsThreadUtils.h" // for NS_IsMainThread
+ #include "nsTraceRefcnt.h" // for MOZ_COUNT_CTOR, etc
+
+-#if !XP_MACOSX
++#if defined(MOZ_PDF_PRINTING)
+ #include "gfxPDFSurface.h"
+ #endif
+
+@@ -45,7 +45,7 @@
+ #include "gfxWindowsSurface.h"
+ #elif defined(XP_OS2)
+ #include "gfxOS2Surface.h"
+-#elif XP_MACOSX
++#elif defined(MOZ_WIDGET_COCOA)
+ #include "gfxQuartzSurface.h"
+ #endif
+
+@@ -392,7 +392,7 @@ nsresult
+ nsDeviceContext::CreateRenderingContext(nsRenderingContext *&aContext)
+ {
+ nsRefPtr<gfxASurface> printingSurface = mPrintingSurface;
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ // CreateRenderingContext() can be called (on reflow) after EndPage()
+ // but before BeginPage(). On OS X (and only there) mPrintingSurface
+ // will in this case be null, because OS X printing surfaces are
+@@ -551,7 +551,7 @@ nsDeviceContext::BeginPage(void)
+
+ if (NS_FAILED(rv)) return rv;
+
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ // We need to get a new surface for each page on the Mac, as the
+ // CGContextRefs are only good for one page.
+ mDeviceContextSpec->GetSurfaceForPrinter(getter_AddRefs(mPrintingSurface));
+@@ -567,7 +567,7 @@ nsDeviceContext::EndPage(void)
+ {
+ nsresult rv = mPrintingSurface->EndPage();
+
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ // We need to release the CGContextRef in the surface here, plus it's
+ // not something you would want anyway, as these CGContextRefs are only
+ // good for one page. But we need to keep a cached reference to it, since
+@@ -674,7 +674,7 @@ nsDeviceContext::CalcPrintingSize()
+ break;
+ #endif
+
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ case gfxSurfaceType::Quartz:
+ inPoints = true; // this is really only true when we're printing
+ size = reinterpret_cast<gfxQuartzSurface*>(mPrintingSurface.get())->GetSize();
diff --git a/www/firefox/patches/patch-gfx_thebes_gfxFont.cpp b/www/firefox/patches/patch-gfx_thebes_gfxFont.cpp
new file mode 100644
index 00000000000..8779279b9bd
--- /dev/null
+++ b/www/firefox/patches/patch-gfx_thebes_gfxFont.cpp
@@ -0,0 +1,42 @@
+$NetBSD: patch-gfx_thebes_gfxFont.cpp,v 1.1 2014/05/28 15:11:29 pho Exp $
+
+Don't assume cocoa toolkit just because OS_ARCH is Darwin.
+
+--- gfx/thebes/gfxFont.cpp.orig 2014-05-06 22:55:35.000000000 +0000
++++ gfx/thebes/gfxFont.cpp
+@@ -40,7 +40,7 @@
+ #include "gfxSVGGlyphs.h"
+ #include "gfx2DGlue.h"
+
+-#if defined(XP_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ #include "nsCocoaFeatures.h"
+ #endif
+
+@@ -1297,7 +1297,7 @@ gfxFontFamily::ReadFaceNames(gfxPlatform
+
+ bool asyncFontLoaderDisabled = false;
+
+-#if defined(XP_MACOSX)
++#if defined(MOZ_WIDGET_COCOA)
+ // bug 975460 - async font loader crashes sometimes under 10.6, disable
+ if (!nsCocoaFeatures::OnLionOrLater()) {
+ asyncFontLoaderDisabled = true;
+@@ -4177,7 +4177,7 @@ gfxFontGroup::BuildFontList()
+ {
+ // "#if" to be removed once all platforms are moved to gfxPlatformFontList interface
+ // and subclasses of gfxFontGroup eliminated
+-#if defined(XP_MACOSX) || defined(XP_WIN) || defined(ANDROID)
++#if defined(MOZ_WIDGET_COCOA) || defined(XP_WIN) || defined(ANDROID)
+ ForEachFont(FindPlatformFont, this);
+
+ if (mFonts.Length() == 0) {
+@@ -5236,7 +5236,7 @@ gfxFontGroup::UpdateFontList()
+ mSkipDrawing = false;
+
+ // bug 548184 - need to clean up FT2, OS/2 platform code to use BuildFontList
+-#if defined(XP_MACOSX) || defined(XP_WIN) || defined(ANDROID)
++#if defined(MOZ_WIDGET_COCOA) || defined(XP_WIN) || defined(ANDROID)
+ BuildFontList();
+ #else
+ ForEachFont(FindPlatformFont, this);
diff --git a/www/firefox/patches/patch-uriloader_exthandler_nsExternalHelperAppService.cpp b/www/firefox/patches/patch-uriloader_exthandler_nsExternalHelperAppService.cpp
new file mode 100644
index 00000000000..30f3d6ceda8
--- /dev/null
+++ b/www/firefox/patches/patch-uriloader_exthandler_nsExternalHelperAppService.cpp
@@ -0,0 +1,42 @@
+$NetBSD: patch-uriloader_exthandler_nsExternalHelperAppService.cpp,v 1.1 2014/05/28 15:11:29 pho Exp $
+
+nsILocalFileMac.h is only available when the toolkit is cocoa.
+
+--- uriloader/exthandler/nsExternalHelperAppService.cpp.orig 2014-05-06 22:56:37.000000000 +0000
++++ uriloader/exthandler/nsExternalHelperAppService.cpp
+@@ -68,7 +68,7 @@
+ #include "nsIObserverService.h" // so we can be a profile change observer
+ #include "nsIPropertyBag2.h" // for the 64-bit content length
+
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ #include "nsILocalFileMac.h"
+ #elif defined(XP_OS2)
+ #include "nsILocalFileOS2.h"
+@@ -301,7 +301,7 @@ static bool GetFilenameAndExtensionFromC
+ static nsresult GetDownloadDirectory(nsIFile **_directory)
+ {
+ nsCOMPtr<nsIFile> dir;
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ // On OS X, we first try to get the users download location, if it's set.
+ switch (Preferences::GetInt(NS_PREF_DOWNLOAD_FOLDERLIST, -1)) {
+ case NS_FOLDER_VALUE_DESKTOP:
+@@ -467,7 +467,7 @@ struct nsExtraMimeTypeEntry {
+ const char* mDescription;
+ };
+
+-#ifdef XP_MACOSX
++#ifdef MOZ_WIDGET_COCOA
+ #define MAC_TYPE(x) x
+ #else
+ #define MAC_TYPE(x) 0
+@@ -484,7 +484,7 @@ static nsExtraMimeTypeEntry extraMimeEnt
+ {
+ #if defined(VMS)
+ { APPLICATION_OCTET_STREAM, "exe,com,bin,sav,bck,pcsi,dcx_axpexe,dcx_vaxexe,sfx_axpexe,sfx_vaxexe", "Binary File" },
+-#elif defined(XP_MACOSX) // don't define .bin on the mac...use internet config to look that up...
++#elif defined(MOZ_WIDGET_COCOA) // don't define .bin on the mac...use internet config to look that up...
+ { APPLICATION_OCTET_STREAM, "exe,com", "Binary File" },
+ #else
+ { APPLICATION_OCTET_STREAM, "exe,com,bin", "Binary File" },