summaryrefslogtreecommitdiff
path: root/gfx
diff options
context:
space:
mode:
authorMoonchild <moonchild@palemoon.org>2020-05-16 14:55:39 +0200
committerGitHub <noreply@github.com>2020-05-16 14:55:39 +0200
commita20f130def0352d04744e6208aa2cf7cddbcbe91 (patch)
tree6884007466c60a30367b462d6fb2ec478a183491 /gfx
parent9cf4eca9a895de24c58a3f309bfc5869e4649ff4 (diff)
parent4cfbcc498971703c00a500a99ae1562263964265 (diff)
downloaduxp-a20f130def0352d04744e6208aa2cf7cddbcbe91.tar.gz
Merge pull request #1550 from MoonchildProductions/deunify_gfx
Deunify gfx
Diffstat (limited to 'gfx')
-rw-r--r--gfx/2d/DataSurfaceHelpers.cpp2
-rw-r--r--gfx/2d/NativeFontResourceMac.cpp1
-rw-r--r--gfx/2d/RecordedEvent.cpp1
-rw-r--r--gfx/2d/moz.build13
-rw-r--r--gfx/cairo/cairo/src/moz.build2
-rw-r--r--gfx/config/moz.build2
-rw-r--r--gfx/gl/GLContextProviderEGL.cpp1
-rw-r--r--gfx/gl/GLContextProviderWGL.cpp2
-rw-r--r--gfx/gl/GLLibraryEGL.cpp6
-rwxr-xr-xgfx/gl/GLScreenBuffer.cpp2
-rw-r--r--gfx/gl/GLScreenBuffer.h1
-rw-r--r--gfx/gl/SharedSurfaceANGLE.cpp1
-rw-r--r--gfx/gl/SharedSurfaceD3D11Interop.cpp2
-rw-r--r--gfx/gl/SharedSurfaceD3D11Interop.h1
-rw-r--r--gfx/gl/SharedSurfaceGL.cpp2
-rw-r--r--gfx/gl/TextureImageEGL.h2
-rw-r--r--gfx/gl/moz.build4
-rw-r--r--gfx/graphite2/moz-gr-update.sh7
-rw-r--r--gfx/graphite2/src/Code.cpp4
-rw-r--r--gfx/graphite2/src/Face.cpp2
-rw-r--r--gfx/graphite2/src/FeatureMap.cpp2
-rw-r--r--gfx/graphite2/src/FileFace.cpp2
-rw-r--r--gfx/graphite2/src/Pass.cpp2
-rw-r--r--gfx/graphite2/src/Segment.cpp2
-rw-r--r--gfx/graphite2/src/TtfUtil.cpp2
-rw-r--r--gfx/graphite2/src/call_machine.cpp2
-rw-r--r--gfx/graphite2/src/direct_machine.cpp2
-rw-r--r--gfx/graphite2/src/gr_logging.cpp2
-rw-r--r--gfx/graphite2/src/inc/Compression.h2
-rw-r--r--gfx/graphite2/src/inc/Face.h2
-rw-r--r--gfx/graphite2/src/inc/FeatureVal.h2
-rw-r--r--gfx/graphite2/src/inc/FileFace.h2
-rw-r--r--gfx/graphite2/src/inc/List.h2
-rw-r--r--gfx/graphite2/src/inc/Machine.h2
-rw-r--r--gfx/graphite2/src/inc/json.h2
-rw-r--r--gfx/graphite2/src/inc/locale2lcid.h2
-rw-r--r--gfx/graphite2/src/json.cpp2
-rw-r--r--gfx/graphite2/src/moz.build13
-rw-r--r--gfx/harfbuzz/src/moz.build19
-rw-r--r--gfx/ipc/GPUChild.cpp2
-rw-r--r--gfx/ipc/GPUProcessHost.cpp1
-rw-r--r--gfx/ipc/GPUProcessManager.cpp5
-rw-r--r--gfx/ipc/InProcessCompositorSession.cpp6
-rw-r--r--gfx/ipc/InProcessCompositorSession.h1
-rw-r--r--gfx/ipc/RemoteCompositorSession.cpp2
-rw-r--r--gfx/ipc/RemoteCompositorSession.h1
-rw-r--r--gfx/ipc/VsyncBridgeChild.cpp1
-rw-r--r--gfx/ipc/VsyncBridgeParent.cpp3
-rw-r--r--gfx/ipc/moz.build4
-rw-r--r--gfx/layers/GLImages.cpp1
-rw-r--r--gfx/layers/IMFYCbCrImage.cpp10
-rw-r--r--gfx/layers/TextureDIB.cpp2
-rw-r--r--gfx/layers/apz/src/APZCTreeManager.cpp15
-rw-r--r--gfx/layers/apz/src/AsyncPanZoomController.cpp11
-rw-r--r--gfx/layers/apz/src/GestureEventListener.cpp1
-rw-r--r--gfx/layers/apz/src/InputBlockState.h1
-rw-r--r--gfx/layers/apz/util/ContentProcessController.h1
-rw-r--r--gfx/layers/client/ClientCanvasLayer.cpp3
-rw-r--r--gfx/layers/ipc/CompositorBridgeParent.cpp1
-rw-r--r--gfx/layers/ipc/CrossProcessCompositorBridgeParent.cpp3
-rw-r--r--gfx/layers/ipc/CrossProcessCompositorBridgeParent.h1
-rw-r--r--gfx/layers/ipc/VideoBridgeParent.cpp1
-rw-r--r--gfx/layers/ipc/VideoBridgeParent.h1
-rw-r--r--gfx/layers/moz.build38
-rw-r--r--gfx/ots/src/moz.build2
-rwxr-xr-xgfx/skia/generate_mozbuild.py6
-rw-r--r--gfx/skia/moz.build18
-rw-r--r--gfx/src/gfxTelemetry.cpp1
-rw-r--r--gfx/src/gfxTelemetry.h6
-rw-r--r--gfx/src/moz.build8
-rw-r--r--gfx/src/nsRegion.cpp1
-rw-r--r--gfx/thebes/DeviceManagerDx.cpp1
-rw-r--r--gfx/thebes/DeviceManagerDx.h1
-rw-r--r--gfx/thebes/gfxDWriteFontList.cpp1
-rw-r--r--gfx/thebes/gfxFont-Impl.h83
-rw-r--r--gfx/thebes/gfxFont.cpp71
-rw-r--r--gfx/thebes/gfxFontEntry.cpp1
-rw-r--r--gfx/thebes/gfxFontInfoLoader.cpp4
-rw-r--r--gfx/thebes/gfxHarfBuzzShaper.h2
-rw-r--r--gfx/thebes/gfxMathTable.cpp1
-rw-r--r--gfx/thebes/gfxMatrix.cpp2
-rw-r--r--gfx/thebes/gfxPattern.cpp1
-rw-r--r--gfx/thebes/gfxSVGGlyphs.cpp1
-rw-r--r--gfx/thebes/gfxScriptItemizer.cpp2
-rw-r--r--gfx/thebes/gfxSkipChars.cpp1
-rw-r--r--gfx/thebes/gfxTextRun.cpp2
-rw-r--r--gfx/thebes/gfxTextRun.h1
-rw-r--r--gfx/thebes/moz.build32
-rw-r--r--gfx/ycbcr/moz.build2
-rw-r--r--gfx/ycbcr/scale_yuv_argb.cpp2
90 files changed, 293 insertions, 200 deletions
diff --git a/gfx/2d/DataSurfaceHelpers.cpp b/gfx/2d/DataSurfaceHelpers.cpp
index 87ef00fcd2..99dfe063a3 100644
--- a/gfx/2d/DataSurfaceHelpers.cpp
+++ b/gfx/2d/DataSurfaceHelpers.cpp
@@ -3,7 +3,7 @@
* 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 <cstring>
+#include <string.h>
#include "2D.h"
#include "DataSurfaceHelpers.h"
diff --git a/gfx/2d/NativeFontResourceMac.cpp b/gfx/2d/NativeFontResourceMac.cpp
index aaf6db1813..61fd3b6074 100644
--- a/gfx/2d/NativeFontResourceMac.cpp
+++ b/gfx/2d/NativeFontResourceMac.cpp
@@ -8,6 +8,7 @@
#include "Types.h"
#include "mozilla/RefPtr.h"
+#include "mozilla/gfx/Logging.h"
#ifdef MOZ_WIDGET_UIKIT
#include <CoreFoundation/CoreFoundation.h>
diff --git a/gfx/2d/RecordedEvent.cpp b/gfx/2d/RecordedEvent.cpp
index 3bfc5c8f63..e6be60b59c 100644
--- a/gfx/2d/RecordedEvent.cpp
+++ b/gfx/2d/RecordedEvent.cpp
@@ -7,6 +7,7 @@
#include "PathRecording.h"
#include "RecordingTypes.h"
+#include "DrawEventRecorder.h"
#include "Tools.h"
#include "Filters.h"
#include "Logging.h"
diff --git a/gfx/2d/moz.build b/gfx/2d/moz.build
index ad095503d9..33b49038ff 100644
--- a/gfx/2d/moz.build
+++ b/gfx/2d/moz.build
@@ -63,7 +63,7 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('cocoa', 'uikit'):
EXPORTS.mozilla.gfx += [
'MacIOSurface.h',
]
- UNIFIED_SOURCES += [
+ SOURCES += [
'NativeFontResourceMac.cpp',
'PathCG.cpp',
'ScaledFontMac.cpp',
@@ -95,10 +95,8 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('gtk2', 'gtk3'):
]
if CONFIG['MOZ_ENABLE_SKIA']:
- UNIFIED_SOURCES += [
- 'convolver.cpp',
- ]
SOURCES += [
+ 'convolver.cpp',
'DrawTargetSkia.cpp',
'image_operations.cpp', # Uses _USE_MATH_DEFINES
'PathSkia.cpp',
@@ -143,7 +141,7 @@ elif CONFIG['CPU_ARCH'].startswith('mips'):
'convolverLS3.cpp',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'BezierUtils.cpp',
'Blur.cpp',
'DataSourceSurface.cpp',
@@ -156,6 +154,7 @@ UNIFIED_SOURCES += [
'DrawTargetDual.cpp',
'DrawTargetRecording.cpp',
'DrawTargetTiled.cpp',
+ 'Factory.cpp', # Need to suppress warnings in Skia header files.
'FilterNodeSoftware.cpp',
'FilterProcessing.cpp',
'FilterProcessingScalar.cpp',
@@ -177,10 +176,6 @@ UNIFIED_SOURCES += [
'SourceSurfaceRawData.cpp',
]
-SOURCES += [
- 'Factory.cpp', # Need to suppress warnings in Skia header files.
-]
-
if CONFIG['CLANG_CXX']:
SOURCES['Factory.cpp'].flags += ['-Wno-implicit-fallthrough']
diff --git a/gfx/cairo/cairo/src/moz.build b/gfx/cairo/cairo/src/moz.build
index c78758a06b..bc16dff18f 100644
--- a/gfx/cairo/cairo/src/moz.build
+++ b/gfx/cairo/cairo/src/moz.build
@@ -110,7 +110,7 @@ SOURCES += [
'cairo-surface-wrapper.c', # redefinition of '_copy_transformed_pattern'
]
-UNIFIED_SOURCES += [
+SOURCES += [
'cairo-analysis-surface.c',
'cairo-arc.c',
'cairo-array.c',
diff --git a/gfx/config/moz.build b/gfx/config/moz.build
index 2b8f9e7fc3..17aa03c643 100644
--- a/gfx/config/moz.build
+++ b/gfx/config/moz.build
@@ -15,7 +15,7 @@ EXPORTS.mozilla.gfx += [
'gfxVars.h',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'gfxConfig.cpp',
'gfxFeature.cpp',
'gfxVars.cpp',
diff --git a/gfx/gl/GLContextProviderEGL.cpp b/gfx/gl/GLContextProviderEGL.cpp
index 23fc3472dc..e39858a92e 100644
--- a/gfx/gl/GLContextProviderEGL.cpp
+++ b/gfx/gl/GLContextProviderEGL.cpp
@@ -86,6 +86,7 @@
#include "GLContextEGL.h"
#include "GLContextProvider.h"
#include "GLLibraryEGL.h"
+#include "GLScreenBuffer.h"
#include "mozilla/ArrayUtils.h"
#include "mozilla/Preferences.h"
#include "mozilla/widget/CompositorWidget.h"
diff --git a/gfx/gl/GLContextProviderWGL.cpp b/gfx/gl/GLContextProviderWGL.cpp
index da8c93d10a..43f5b67e83 100644
--- a/gfx/gl/GLContextProviderWGL.cpp
+++ b/gfx/gl/GLContextProviderWGL.cpp
@@ -7,8 +7,10 @@
#include "GLContextWGL.h"
#include "GLLibraryLoader.h"
#include "nsDebug.h"
+#include "nsIGfxInfo.h"
#include "nsIWidget.h"
#include "gfxPlatform.h"
+#include "gfxUtils.h"
#include "gfxWindowsSurface.h"
#include "prenv.h"
diff --git a/gfx/gl/GLLibraryEGL.cpp b/gfx/gl/GLLibraryEGL.cpp
index 75f40f13f0..b8b53f7c27 100644
--- a/gfx/gl/GLLibraryEGL.cpp
+++ b/gfx/gl/GLLibraryEGL.cpp
@@ -12,6 +12,7 @@
#include "mozilla/Tokenizer.h"
#include "mozilla/ScopeExit.h"
#include "mozilla/Unused.h"
+#include "mozilla/gfx/Logging.h"
#include "nsDirectoryServiceDefs.h"
#include "nsDirectoryServiceUtils.h"
#include "nsIGfxInfo.h"
@@ -23,8 +24,13 @@
#include "prenv.h"
#include "GLContext.h"
#include "GLContextProvider.h"
+#include "gfxEnv.h"
#include "gfxPrefs.h"
#include "ScopedGLHelpers.h"
+#include "GLReadTexImageHelper.h"
+
+using namespace mozilla::gfx;
+using namespace mozilla::layers;
namespace mozilla {
namespace gl {
diff --git a/gfx/gl/GLScreenBuffer.cpp b/gfx/gl/GLScreenBuffer.cpp
index 463f7ebab3..5d95eb9285 100755
--- a/gfx/gl/GLScreenBuffer.cpp
+++ b/gfx/gl/GLScreenBuffer.cpp
@@ -33,10 +33,12 @@
#include "SharedSurfaceGLX.h"
#endif
+
namespace mozilla {
namespace gl {
using gfx::SurfaceFormat;
+using namespace mozilla::layers;
UniquePtr<GLScreenBuffer>
GLScreenBuffer::Create(GLContext* gl,
diff --git a/gfx/gl/GLScreenBuffer.h b/gfx/gl/GLScreenBuffer.h
index 6cacf221db..20692cf48b 100644
--- a/gfx/gl/GLScreenBuffer.h
+++ b/gfx/gl/GLScreenBuffer.h
@@ -19,6 +19,7 @@
#include "GLDefs.h"
#include "mozilla/gfx/2D.h"
#include "mozilla/gfx/Point.h"
+#include "mozilla/layers/LayersTypes.h"
#include "mozilla/UniquePtr.h"
#include "SharedSurface.h"
#include "SurfaceTypes.h"
diff --git a/gfx/gl/SharedSurfaceANGLE.cpp b/gfx/gl/SharedSurfaceANGLE.cpp
index e82a24dfd2..c0175ffbea 100644
--- a/gfx/gl/SharedSurfaceANGLE.cpp
+++ b/gfx/gl/SharedSurfaceANGLE.cpp
@@ -8,6 +8,7 @@
#include <d3d11.h>
#include "GLContextEGL.h"
#include "GLLibraryEGL.h"
+#include "GLReadTexImageHelper.h"
#include "mozilla/gfx/DeviceManagerDx.h"
#include "mozilla/layers/LayersSurfaces.h" // for SurfaceDescriptor, etc
diff --git a/gfx/gl/SharedSurfaceD3D11Interop.cpp b/gfx/gl/SharedSurfaceD3D11Interop.cpp
index e667005d83..42da52e11a 100644
--- a/gfx/gl/SharedSurfaceD3D11Interop.cpp
+++ b/gfx/gl/SharedSurfaceD3D11Interop.cpp
@@ -11,6 +11,8 @@
#include "WGLLibrary.h"
#include "nsPrintfCString.h"
#include "mozilla/gfx/DeviceManagerDx.h"
+#include "mozilla/layers/LayersSurfaces.h"
+#include "mozilla/layers/TextureForwarder.h"
namespace mozilla {
namespace gl {
diff --git a/gfx/gl/SharedSurfaceD3D11Interop.h b/gfx/gl/SharedSurfaceD3D11Interop.h
index 0f5bd35cf5..dbee50428b 100644
--- a/gfx/gl/SharedSurfaceD3D11Interop.h
+++ b/gfx/gl/SharedSurfaceD3D11Interop.h
@@ -7,6 +7,7 @@
#define SHARED_SURFACE_D3D11_INTEROP_H_
#include <windows.h>
+#include <d3d11.h>
#include "SharedSurface.h"
namespace mozilla {
diff --git a/gfx/gl/SharedSurfaceGL.cpp b/gfx/gl/SharedSurfaceGL.cpp
index 6fba1b4ebf..adb4429ae8 100644
--- a/gfx/gl/SharedSurfaceGL.cpp
+++ b/gfx/gl/SharedSurfaceGL.cpp
@@ -10,6 +10,8 @@
#include "GLReadTexImageHelper.h"
#include "mozilla/gfx/2D.h"
#include "ScopedGLHelpers.h"
+#include "mozilla/layers/LayersSurfaces.h" // for SurfaceDescriptor, etc
+#include "mozilla/layers/TextureForwarder.h"
namespace mozilla {
namespace gl {
diff --git a/gfx/gl/TextureImageEGL.h b/gfx/gl/TextureImageEGL.h
index fa7075064a..0a645742fe 100644
--- a/gfx/gl/TextureImageEGL.h
+++ b/gfx/gl/TextureImageEGL.h
@@ -8,6 +8,8 @@
#include "GLTextureImage.h"
+using namespace mozilla::gfx;
+
namespace mozilla {
namespace gl {
diff --git a/gfx/gl/moz.build b/gfx/gl/moz.build
index 6f43a495da..bfa8f9df54 100644
--- a/gfx/gl/moz.build
+++ b/gfx/gl/moz.build
@@ -68,7 +68,7 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
'SharedSurfaceD3D11Interop.h',
'WGLLibrary.h',
]
- UNIFIED_SOURCES += [
+ SOURCES += [
'GLContextProviderWGL.cpp',
'SharedSurfaceANGLE.cpp',
'SharedSurfaceD3D11Interop.cpp',
@@ -118,7 +118,7 @@ elif gl_provider == 'GLX':
'SharedSurfaceGLX.h'
]
-UNIFIED_SOURCES += [
+SOURCES += [
'AndroidSurfaceTexture.cpp',
'DecomposeIntoNoRepeatTriangles.cpp',
'EGLUtils.cpp',
diff --git a/gfx/graphite2/moz-gr-update.sh b/gfx/graphite2/moz-gr-update.sh
index faaab1b179..b14102d1f6 100644
--- a/gfx/graphite2/moz-gr-update.sh
+++ b/gfx/graphite2/moz-gr-update.sh
@@ -33,9 +33,10 @@ echo "$TARBALL" >> gfx/graphite2/README.mozilla
echo ""
echo "See" $0 "for update procedure." >> gfx/graphite2/README.mozilla
-# fix up includes because of bug 721839 (cstdio) and bug 803066 (Windows.h)
-#find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
-#find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/Windows.h/windows.h/;" {} \;
+# fix up includes because of BZ bug 721839 (cstdio) and BZ bug 803066 (Windows.h)
+# Additional issue with inclusion of <cstring> in non-unified mode (Issue #80)
+find gfx/graphite2/ -name "*.cpp" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/<cstring>/<string.h>/;s/Windows.h/windows.h/;" {} \;
+find gfx/graphite2/ -name "*.h" -exec perl -p -i -e "s/<cstdio>/<stdio.h>/;s/<cstring>/<string.h>/;s/Windows.h/windows.h/;" {} \;
# summarize what's been touched
echo Updated to $RELEASE.
diff --git a/gfx/graphite2/src/Code.cpp b/gfx/graphite2/src/Code.cpp
index 92ba92379c..119af9c85c 100644
--- a/gfx/graphite2/src/Code.cpp
+++ b/gfx/graphite2/src/Code.cpp
@@ -32,7 +32,7 @@ of the License or (at your option) any later version.
#include <cassert>
#include <cstddef>
#include <cstdlib>
-#include <cstring>
+#include <string.h>
#include "graphite2/Segment.h"
#include "inc/Code.h"
#include "inc/Face.h"
@@ -42,7 +42,7 @@ of the License or (at your option) any later version.
#include "inc/Rule.h"
#include "inc/Silf.h"
-#include <cstdio>
+#include <stdio.h>
#ifdef NDEBUG
#ifdef __GNUC__
diff --git a/gfx/graphite2/src/Face.cpp b/gfx/graphite2/src/Face.cpp
index 81b5ced8c1..45664ca8cd 100644
--- a/gfx/graphite2/src/Face.cpp
+++ b/gfx/graphite2/src/Face.cpp
@@ -24,7 +24,7 @@ Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
License, as published by the Free Software Foundation, either version 2
of the License or (at your option) any later version.
*/
-#include <cstring>
+#include <string.h>
#include "graphite2/Segment.h"
#include "inc/CmapCache.h"
#include "inc/debug.h"
diff --git a/gfx/graphite2/src/FeatureMap.cpp b/gfx/graphite2/src/FeatureMap.cpp
index d0fc55ddf5..ab3b447f98 100644
--- a/gfx/graphite2/src/FeatureMap.cpp
+++ b/gfx/graphite2/src/FeatureMap.cpp
@@ -24,7 +24,7 @@ Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
License, as published by the Free Software Foundation, either version 2
of the License or (at your option) any later version.
*/
-#include <cstring>
+#include <string.h>
#include "inc/Main.h"
#include "inc/bits.h"
diff --git a/gfx/graphite2/src/FileFace.cpp b/gfx/graphite2/src/FileFace.cpp
index d1510d3e9e..62b9c1fd2a 100644
--- a/gfx/graphite2/src/FileFace.cpp
+++ b/gfx/graphite2/src/FileFace.cpp
@@ -24,7 +24,7 @@ Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
License, as published by the Free Software Foundation, either version 2
of the License or (at your option) any later version.
*/
-#include <cstring>
+#include <string.h>
#include "inc/FileFace.h"
diff --git a/gfx/graphite2/src/Pass.cpp b/gfx/graphite2/src/Pass.cpp
index 683143c509..4e9085d486 100644
--- a/gfx/graphite2/src/Pass.cpp
+++ b/gfx/graphite2/src/Pass.cpp
@@ -28,7 +28,7 @@ of the License or (at your option) any later version.
#include "inc/debug.h"
#include "inc/Endian.h"
#include "inc/Pass.h"
-#include <cstring>
+#include <string.h>
#include <cstdlib>
#include <cassert>
#include <cmath>
diff --git a/gfx/graphite2/src/Segment.cpp b/gfx/graphite2/src/Segment.cpp
index 3020bfd36d..cb53de3564 100644
--- a/gfx/graphite2/src/Segment.cpp
+++ b/gfx/graphite2/src/Segment.cpp
@@ -25,7 +25,7 @@ License, as published by the Free Software Foundation, either version 2
of the License or (at your option) any later version.
*/
#include "inc/UtfCodec.h"
-#include <cstring>
+#include <string.h>
#include <cstdlib>
#include "inc/bits.h"
diff --git a/gfx/graphite2/src/TtfUtil.cpp b/gfx/graphite2/src/TtfUtil.cpp
index 75e8da11c4..c2f9a4675b 100644
--- a/gfx/graphite2/src/TtfUtil.cpp
+++ b/gfx/graphite2/src/TtfUtil.cpp
@@ -43,7 +43,7 @@ Description
//#include <algorithm>
#include <cassert>
#include <cstddef>
-#include <cstring>
+#include <string.h>
#include <climits>
#include <cwchar>
//#include <stdexcept>
diff --git a/gfx/graphite2/src/call_machine.cpp b/gfx/graphite2/src/call_machine.cpp
index 09c2038c41..0afe9191ee 100644
--- a/gfx/graphite2/src/call_machine.cpp
+++ b/gfx/graphite2/src/call_machine.cpp
@@ -33,7 +33,7 @@ of the License or (at your option) any later version.
// opcodes) but is slower that the direct threaded interpreter by a factor of 2
#include <cassert>
-#include <cstring>
+#include <string.h>
#include <graphite2/Segment.h>
#include "inc/Machine.h"
#include "inc/Segment.h"
diff --git a/gfx/graphite2/src/direct_machine.cpp b/gfx/graphite2/src/direct_machine.cpp
index 7d80438fb4..597c2d2342 100644
--- a/gfx/graphite2/src/direct_machine.cpp
+++ b/gfx/graphite2/src/direct_machine.cpp
@@ -38,7 +38,7 @@ of the License or (at your option) any later version.
#include <cassert>
-#include <cstring>
+#include <string.h>
#include "inc/Machine.h"
#include "inc/Segment.h"
#include "inc/Slot.h"
diff --git a/gfx/graphite2/src/gr_logging.cpp b/gfx/graphite2/src/gr_logging.cpp
index 3e453ba8e2..a4afcc2a50 100644
--- a/gfx/graphite2/src/gr_logging.cpp
+++ b/gfx/graphite2/src/gr_logging.cpp
@@ -24,7 +24,7 @@ Mozilla Public License (http://mozilla.org/MPL) or the GNU General Public
License, as published by the Free Software Foundation, either version 2
of the License or (at your option) any later version.
*/
-#include <cstdio>
+#include <stdio.h>
#include "graphite2/Log.h"
#include "inc/debug.h"
diff --git a/gfx/graphite2/src/inc/Compression.h b/gfx/graphite2/src/inc/Compression.h
index 61351c416e..047df7a3dc 100644
--- a/gfx/graphite2/src/inc/Compression.h
+++ b/gfx/graphite2/src/inc/Compression.h
@@ -29,7 +29,7 @@ of the License or (at your option) any later version.
#include <cassert>
#include <cstddef>
-#include <cstring>
+#include <string.h>
namespace
{
diff --git a/gfx/graphite2/src/inc/Face.h b/gfx/graphite2/src/inc/Face.h
index 43ea431968..1ee39b0e3c 100644
--- a/gfx/graphite2/src/inc/Face.h
+++ b/gfx/graphite2/src/inc/Face.h
@@ -26,7 +26,7 @@ of the License or (at your option) any later version.
*/
#pragma once
-#include <cstdio>
+#include <stdio.h>
#include "graphite2/Font.h"
diff --git a/gfx/graphite2/src/inc/FeatureVal.h b/gfx/graphite2/src/inc/FeatureVal.h
index 5fbcf08206..c79392eaec 100644
--- a/gfx/graphite2/src/inc/FeatureVal.h
+++ b/gfx/graphite2/src/inc/FeatureVal.h
@@ -25,7 +25,7 @@ License, as published by the Free Software Foundation, either version 2
of the License or (at your option) any later version.
*/
#pragma once
-#include <cstring>
+#include <string.h>
#include <cassert>
#include "inc/Main.h"
#include "inc/List.h"
diff --git a/gfx/graphite2/src/inc/FileFace.h b/gfx/graphite2/src/inc/FileFace.h
index 81e501bab2..dfcf3e8d37 100644
--- a/gfx/graphite2/src/inc/FileFace.h
+++ b/gfx/graphite2/src/inc/FileFace.h
@@ -32,7 +32,7 @@ of the License or (at your option) any later version.
#ifndef GRAPHITE2_NFILEFACE
-#include <cstdio>
+#include <stdio.h>
#include <cassert>
#include "graphite2/Font.h"
diff --git a/gfx/graphite2/src/inc/List.h b/gfx/graphite2/src/inc/List.h
index 020560235c..d3839441eb 100644
--- a/gfx/graphite2/src/inc/List.h
+++ b/gfx/graphite2/src/inc/List.h
@@ -30,7 +30,7 @@ of the License or (at your option) any later version.
#include <cstddef>
#include <cassert>
-#include <cstring>
+#include <string.h>
#include <cstdlib>
#include <new>
diff --git a/gfx/graphite2/src/inc/Machine.h b/gfx/graphite2/src/inc/Machine.h
index 1a01b7a43f..4ac62b9e1e 100644
--- a/gfx/graphite2/src/inc/Machine.h
+++ b/gfx/graphite2/src/inc/Machine.h
@@ -31,7 +31,7 @@ of the License or (at your option) any later version.
// interface.
#pragma once
-#include <cstring>
+#include <string.h>
#include <graphite2/Types.h>
#include "inc/Main.h"
diff --git a/gfx/graphite2/src/inc/json.h b/gfx/graphite2/src/inc/json.h
index 90b8573d65..e9826832e9 100644
--- a/gfx/graphite2/src/inc/json.h
+++ b/gfx/graphite2/src/inc/json.h
@@ -32,7 +32,7 @@ of the License or (at your option) any later version.
#include "inc/Main.h"
#include <cassert>
-#include <cstdio>
+#include <stdio.h>
#include "inc/List.h"
namespace graphite2 {
diff --git a/gfx/graphite2/src/inc/locale2lcid.h b/gfx/graphite2/src/inc/locale2lcid.h
index 25d5c0a3c8..ec5e867c4e 100644
--- a/gfx/graphite2/src/inc/locale2lcid.h
+++ b/gfx/graphite2/src/inc/locale2lcid.h
@@ -25,7 +25,7 @@ License, as published by the Free Software Foundation, either version 2
of the License or (at your option) any later version.
*/
#pragma once
-#include <cstring>
+#include <string.h>
#include <cassert>
#include "inc/Main.h"
diff --git a/gfx/graphite2/src/json.cpp b/gfx/graphite2/src/json.cpp
index d6e5518a1c..48a563ce01 100644
--- a/gfx/graphite2/src/json.cpp
+++ b/gfx/graphite2/src/json.cpp
@@ -29,7 +29,7 @@ of the License or (at your option) any later version.
#if !defined GRAPHITE2_NTRACING
-#include <cstdio>
+#include <stdio.h>
#include <limits>
#include "inc/json.h"
diff --git a/gfx/graphite2/src/moz.build b/gfx/graphite2/src/moz.build
index c95c2089de..4cbb1f7ed3 100644
--- a/gfx/graphite2/src/moz.build
+++ b/gfx/graphite2/src/moz.build
@@ -13,16 +13,16 @@ EXPORTS.graphite2 += [
]
if CONFIG['GNU_CC']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'direct_machine.cpp'
]
else:
- UNIFIED_SOURCES += [
+ SOURCES += [
'call_machine.cpp'
]
# This should contain all of the _SOURCES from files.mk, except *_machine.cpp
-UNIFIED_SOURCES += [
+SOURCES += [
'CachedFace.cpp',
'CmapCache.cpp',
'Code.cpp',
@@ -44,6 +44,7 @@ UNIFIED_SOURCES += [
'Intervals.cpp',
'json.cpp',
'Justifier.cpp',
+ 'NameTable.cpp',
'Pass.cpp',
'Position.cpp',
'SegCache.cpp',
@@ -57,12 +58,6 @@ UNIFIED_SOURCES += [
'UtfCodec.cpp',
]
-# Excluded from UNIFIED_SOURCES because <cmath> from other files breaks it,
-# see bug 1272647.
-SOURCES += [
- 'NameTable.cpp',
-]
-
# tell graphite2 not to export symbols, we'll be linking it directly with
# thebes
DEFINES['GRAPHITE2_STATIC'] = True
diff --git a/gfx/harfbuzz/src/moz.build b/gfx/harfbuzz/src/moz.build
index 7ed39aa104..4dd18d2541 100644
--- a/gfx/harfbuzz/src/moz.build
+++ b/gfx/harfbuzz/src/moz.build
@@ -26,35 +26,32 @@ EXPORTS.harfbuzz += [
]
SOURCES += [
- 'hb-blob.cc', # error: use of undeclared identifier 'snprintf' (FreeBSD)
- 'hb-common.cc', # error: use of undeclared identifier 'strdup'
- 'hb-ot-math.cc', # conflict with hb-ot-layout.cc
- 'hb-ot-shape-complex-hangul.cc', # error: redefinition of enumerator 'NONE'
- 'hb-ot-shape-complex-indic.cc', # error: redefinition of enumerator 'INIT'
- 'hb-ot-shape-complex-use.cc', # error: redefinition of 'basic_features'
- 'hb-ot-shape.cc', # error: functions that differ only in their return type cannot be overloaded
- 'hb-shape-plan.cc', # error: redefinition of 'hb_ot_shaper_face_data_ensure'
-]
-
-UNIFIED_SOURCES += [
+ 'hb-blob.cc',
'hb-buffer.cc',
+ 'hb-common.cc',
'hb-face.cc',
'hb-fallback-shape.cc',
'hb-font.cc',
'hb-ot-layout.cc',
'hb-ot-map.cc',
+ 'hb-ot-math.cc',
'hb-ot-shape-complex-arabic.cc',
'hb-ot-shape-complex-default.cc',
+ 'hb-ot-shape-complex-hangul.cc',
'hb-ot-shape-complex-hebrew.cc',
'hb-ot-shape-complex-indic-table.cc',
+ 'hb-ot-shape-complex-indic.cc',
'hb-ot-shape-complex-myanmar.cc',
'hb-ot-shape-complex-thai.cc',
'hb-ot-shape-complex-tibetan.cc',
'hb-ot-shape-complex-use-table.cc',
+ 'hb-ot-shape-complex-use.cc',
'hb-ot-shape-fallback.cc',
'hb-ot-shape-normalize.cc',
+ 'hb-ot-shape.cc',
'hb-ot-tag.cc',
'hb-set.cc',
+ 'hb-shape-plan.cc',
'hb-shape.cc',
'hb-shaper.cc',
'hb-unicode.cc',
diff --git a/gfx/ipc/GPUChild.cpp b/gfx/ipc/GPUChild.cpp
index ba6053f43d..3af70c056b 100644
--- a/gfx/ipc/GPUChild.cpp
+++ b/gfx/ipc/GPUChild.cpp
@@ -5,11 +5,13 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "GPUChild.h"
#include "gfxConfig.h"
+#include "gfxPlatform.h"
#include "gfxPrefs.h"
#include "GPUProcessHost.h"
#include "GPUProcessManager.h"
#include "mozilla/dom/CheckerboardReportService.h"
#include "mozilla/gfx/gfxVars.h"
+#include "mozilla/Services.h"
#if defined(XP_WIN)
# include "mozilla/gfx/DeviceManagerDx.h"
#endif
diff --git a/gfx/ipc/GPUProcessHost.cpp b/gfx/ipc/GPUProcessHost.cpp
index 613f353a4b..71d8144cc8 100644
--- a/gfx/ipc/GPUProcessHost.cpp
+++ b/gfx/ipc/GPUProcessHost.cpp
@@ -5,6 +5,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "GPUProcessHost.h"
+#include "GPUChild.h"
#include "chrome/common/process_watcher.h"
#include "gfxPrefs.h"
#include "mozilla/gfx/Logging.h"
diff --git a/gfx/ipc/GPUProcessManager.cpp b/gfx/ipc/GPUProcessManager.cpp
index 8aaf0f1d0d..3155e41e96 100644
--- a/gfx/ipc/GPUProcessManager.cpp
+++ b/gfx/ipc/GPUProcessManager.cpp
@@ -6,6 +6,7 @@
#include "GPUProcessManager.h"
#include "GPUProcessHost.h"
#include "GPUProcessListener.h"
+#include "GPUChild.h"
#include "mozilla/StaticPtr.h"
#include "mozilla/dom/ContentParent.h"
#include "mozilla/layers/APZCTreeManager.h"
@@ -20,6 +21,7 @@
#ifdef MOZ_WIDGET_SUPPORTS_OOP_COMPOSITING
# include "mozilla/widget/CompositorWidgetChild.h"
#endif
+#include "gfxConfig.h"
#include "nsBaseWidget.h"
#include "nsContentUtils.h"
#include "VsyncBridgeChild.h"
@@ -29,6 +31,9 @@
#include "mozilla/dom/VideoDecoderManagerParent.h"
#include "MediaPrefs.h"
+using namespace mozilla::ipc;
+using namespace mozilla::widget;
+
namespace mozilla {
namespace gfx {
diff --git a/gfx/ipc/InProcessCompositorSession.cpp b/gfx/ipc/InProcessCompositorSession.cpp
index fd85250853..2090a3404c 100644
--- a/gfx/ipc/InProcessCompositorSession.cpp
+++ b/gfx/ipc/InProcessCompositorSession.cpp
@@ -6,10 +6,16 @@
#include "InProcessCompositorSession.h"
+#include "mozilla/widget/CompositorWidget.h"
+#include "mozilla/layers/CompositorBridgeParent.h"
+#include "mozilla/layers/CompositorBridgeChild.h"
// so we can cast an APZCTreeManager to an IAPZCTreeManager
#include "mozilla/layers/APZCTreeManager.h"
#include "mozilla/layers/IAPZCTreeManager.h"
+using namespace mozilla::layers;
+using namespace mozilla::widget;
+
namespace mozilla {
namespace layers {
diff --git a/gfx/ipc/InProcessCompositorSession.h b/gfx/ipc/InProcessCompositorSession.h
index deb642da22..c6c89efdd5 100644
--- a/gfx/ipc/InProcessCompositorSession.h
+++ b/gfx/ipc/InProcessCompositorSession.h
@@ -7,6 +7,7 @@
#define _include_mozilla_gfx_ipc_InProcessCompositorSession_h_
#include "CompositorSession.h"
+#include "Layers.h"
#include "mozilla/gfx/Point.h"
#include "Units.h"
diff --git a/gfx/ipc/RemoteCompositorSession.cpp b/gfx/ipc/RemoteCompositorSession.cpp
index 6e5ad975a2..8acf7dea5e 100644
--- a/gfx/ipc/RemoteCompositorSession.cpp
+++ b/gfx/ipc/RemoteCompositorSession.cpp
@@ -8,8 +8,10 @@
#include "mozilla/VsyncDispatcher.h"
#include "mozilla/layers/APZChild.h"
#include "mozilla/layers/APZCTreeManagerChild.h"
+#include "mozilla/layers/CompositorBridgeChild.h"
#include "mozilla/Unused.h"
#include "nsBaseWidget.h"
+#include "GPUProcessManager.h"
namespace mozilla {
namespace layers {
diff --git a/gfx/ipc/RemoteCompositorSession.h b/gfx/ipc/RemoteCompositorSession.h
index b4731c5c24..0a7383e293 100644
--- a/gfx/ipc/RemoteCompositorSession.h
+++ b/gfx/ipc/RemoteCompositorSession.h
@@ -9,6 +9,7 @@
#include "CompositorSession.h"
#include "mozilla/gfx/Point.h"
#include "Units.h"
+#include "nsBaseWidget.h"
namespace mozilla {
namespace layers {
diff --git a/gfx/ipc/VsyncBridgeChild.cpp b/gfx/ipc/VsyncBridgeChild.cpp
index a4be827ef9..8a49e43c1a 100644
--- a/gfx/ipc/VsyncBridgeChild.cpp
+++ b/gfx/ipc/VsyncBridgeChild.cpp
@@ -6,6 +6,7 @@
#include "VsyncBridgeChild.h"
#include "VsyncIOThreadHolder.h"
#include "mozilla/dom/ContentChild.h"
+#include "GPUProcessManager.h"
namespace mozilla {
namespace gfx {
diff --git a/gfx/ipc/VsyncBridgeParent.cpp b/gfx/ipc/VsyncBridgeParent.cpp
index 96ef5de0ff..7f73967ceb 100644
--- a/gfx/ipc/VsyncBridgeParent.cpp
+++ b/gfx/ipc/VsyncBridgeParent.cpp
@@ -5,6 +5,9 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "VsyncBridgeParent.h"
#include "mozilla/layers/CompositorThread.h"
+#include "mozilla/layers/CompositorBridgeParent.h"
+
+using namespace mozilla::layers;
namespace mozilla {
namespace gfx {
diff --git a/gfx/ipc/moz.build b/gfx/ipc/moz.build
index 3096814445..ea31f48c5e 100644
--- a/gfx/ipc/moz.build
+++ b/gfx/ipc/moz.build
@@ -37,12 +37,12 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
'SharedDIBSurface.h',
'SharedDIBWin.h',
]
- UNIFIED_SOURCES += [
+ SOURCES += [
'SharedDIBSurface.cpp',
'SharedDIBWin.cpp',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'CompositorSession.cpp',
'CompositorWidgetVsyncObserver.cpp',
'D3DMessageUtils.cpp',
diff --git a/gfx/layers/GLImages.cpp b/gfx/layers/GLImages.cpp
index e45c3e7d64..c151d991b2 100644
--- a/gfx/layers/GLImages.cpp
+++ b/gfx/layers/GLImages.cpp
@@ -7,6 +7,7 @@
#include "GLBlitHelper.h"
#include "GLReadTexImageHelper.h"
#include "GLLibraryEGL.h"
+#include "mozilla/gfx/Logging.h"
using namespace mozilla;
using namespace mozilla::gl;
diff --git a/gfx/layers/IMFYCbCrImage.cpp b/gfx/layers/IMFYCbCrImage.cpp
index d5943b0303..6740fdbe07 100644
--- a/gfx/layers/IMFYCbCrImage.cpp
+++ b/gfx/layers/IMFYCbCrImage.cpp
@@ -13,6 +13,8 @@
#include "mozilla/layers/TextureClient.h"
#include "d3d9.h"
+using namespace mozilla::gfx;
+
namespace mozilla {
namespace layers {
@@ -67,10 +69,10 @@ struct AutoLockTexture
static already_AddRefed<IDirect3DTexture9>
InitTextures(IDirect3DDevice9* aDevice,
const IntSize &aSize,
- _D3DFORMAT aFormat,
- RefPtr<IDirect3DSurface9>& aSurface,
- HANDLE& aHandle,
- D3DLOCKED_RECT& aLockedRect)
+ _D3DFORMAT aFormat,
+ RefPtr<IDirect3DSurface9>& aSurface,
+ HANDLE& aHandle,
+ D3DLOCKED_RECT& aLockedRect)
{
if (!aDevice) {
return nullptr;
diff --git a/gfx/layers/TextureDIB.cpp b/gfx/layers/TextureDIB.cpp
index 79a9469bfa..775538cf3b 100644
--- a/gfx/layers/TextureDIB.cpp
+++ b/gfx/layers/TextureDIB.cpp
@@ -7,8 +7,10 @@
#include "gfx2DGlue.h"
#include "mozilla/gfx/DataSurfaceHelpers.h" // For BufferSizeFromDimensions
#include "mozilla/layers/ISurfaceAllocator.h"
+#include "mozilla/layers/TextureForwarder.h"
#include "mozilla/ipc/ProtocolUtils.h"
+
namespace mozilla {
using namespace gfx;
diff --git a/gfx/layers/apz/src/APZCTreeManager.cpp b/gfx/layers/apz/src/APZCTreeManager.cpp
index f543263602..00eb3f1834 100644
--- a/gfx/layers/apz/src/APZCTreeManager.cpp
+++ b/gfx/layers/apz/src/APZCTreeManager.cpp
@@ -85,6 +85,21 @@ struct APZCTreeManager::TreeBuildingState {
std::map<ScrollableLayerGuid, AsyncPanZoomController*> mApzcMap;
};
+// Returns whether or not a wheel event action will be (or was) performed by
+// APZ. If this returns true, the event must not perform a synchronous
+// scroll.
+//
+// Even if this returns false, all wheel events in APZ-aware widgets must
+// be sent through APZ so they are transformed correctly for TabParent.
+static bool
+WillHandleWheelEvent(WidgetWheelEvent* aEvent)
+{
+ return EventStateManager::WheelEventIsScrollAction(aEvent) &&
+ (aEvent->mDeltaMode == nsIDOMWheelEvent::DOM_DELTA_LINE ||
+ aEvent->mDeltaMode == nsIDOMWheelEvent::DOM_DELTA_PIXEL ||
+ aEvent->mDeltaMode == nsIDOMWheelEvent::DOM_DELTA_PAGE);
+}
+
class APZCTreeManager::CheckerboardFlushObserver : public nsIObserver {
public:
NS_DECL_ISUPPORTS
diff --git a/gfx/layers/apz/src/AsyncPanZoomController.cpp b/gfx/layers/apz/src/AsyncPanZoomController.cpp
index 3d41123956..d9ad3ae784 100644
--- a/gfx/layers/apz/src/AsyncPanZoomController.cpp
+++ b/gfx/layers/apz/src/AsyncPanZoomController.cpp
@@ -33,6 +33,7 @@
#include "mozilla/ClearOnShutdown.h" // for ClearOnShutdown
#include "mozilla/ComputedTimingFunction.h" // for ComputedTimingFunction
#include "mozilla/EventForwards.h" // for nsEventStatus_*
+#include "mozilla/EventStateManager.h"
#include "mozilla/MouseEvents.h" // for WidgetWheelEvent
#include "mozilla/Preferences.h" // for Preferences
#include "mozilla/ReentrantMonitor.h" // for ReentrantMonitorAutoEnter, etc
@@ -44,6 +45,7 @@
#include "mozilla/dom/Touch.h" // for Touch
#include "mozilla/gfx/BasePoint.h" // for BasePoint
#include "mozilla/gfx/BaseRect.h" // for BaseRect
+#include "mozilla/gfx/Coord.h"
#include "mozilla/gfx/Point.h" // for Point, RoundedToInt, etc
#include "mozilla/gfx/Rect.h" // for RoundedIn
#include "mozilla/gfx/ScaleFactor.h" // for ScaleFactor
@@ -102,7 +104,12 @@ typedef GeckoContentController::APZStateChange APZStateChange;
typedef GeckoContentController::TapType TapType;
typedef mozilla::gfx::Point Point;
typedef mozilla::gfx::Matrix4x4 Matrix4x4;
+using mozilla::gfx::CoordTyped;
+using mozilla::gfx::IntCoordTyped;
+using mozilla::gfx::IntRectTyped;
using mozilla::gfx::PointTyped;
+using mozilla::gfx::RectTyped;
+using mozilla::gfx::ScaleFactors2D;
// Choose between platform-specific implementations.
#ifdef MOZ_WIDGET_ANDROID
@@ -833,7 +840,9 @@ AsyncPanZoomController::ArePointerEventsConsumable(TouchBlockState* aBlock, uint
}
template <typename Units>
-static CoordTyped<Units> GetAxisStart(AsyncDragMetrics::DragDirection aDir, const PointTyped<Units>& aValue) {
+static CoordTyped<Units> GetAxisStart(
+AsyncDragMetrics::DragDirection aDir,
+const PointTyped<Units>& aValue) {
if (aDir == AsyncDragMetrics::HORIZONTAL) {
return aValue.x;
} else {
diff --git a/gfx/layers/apz/src/GestureEventListener.cpp b/gfx/layers/apz/src/GestureEventListener.cpp
index 7fd07f3ff7..0bacc8778f 100644
--- a/gfx/layers/apz/src/GestureEventListener.cpp
+++ b/gfx/layers/apz/src/GestureEventListener.cpp
@@ -13,6 +13,7 @@
#include "mozilla/SizePrintfMacros.h" // for PRIuSIZE
#include "nsDebug.h" // for NS_WARNING
#include "nsMathUtils.h" // for NS_hypot
+#include "InputBlockState.h" // for TouchBlockState
#define GEL_LOG(...)
// #define GEL_LOG(...) printf_stderr("GEL: " __VA_ARGS__)
diff --git a/gfx/layers/apz/src/InputBlockState.h b/gfx/layers/apz/src/InputBlockState.h
index 86fb0d03ff..528609947a 100644
--- a/gfx/layers/apz/src/InputBlockState.h
+++ b/gfx/layers/apz/src/InputBlockState.h
@@ -16,6 +16,7 @@
#include "mozilla/TimeStamp.h" // for TimeStamp
#include "nsTArray.h" // for nsTArray
#include "TouchCounter.h"
+#include "OverscrollHandoffState.h"
namespace mozilla {
namespace layers {
diff --git a/gfx/layers/apz/util/ContentProcessController.h b/gfx/layers/apz/util/ContentProcessController.h
index 07d113c9ee..bb1a86d3fd 100644
--- a/gfx/layers/apz/util/ContentProcessController.h
+++ b/gfx/layers/apz/util/ContentProcessController.h
@@ -8,6 +8,7 @@
#define mozilla_layers_ContentProcessController_h
#include "mozilla/layers/GeckoContentController.h"
+#include "mozilla/dom/ipc/IdType.h"
class nsIObserver;
diff --git a/gfx/layers/client/ClientCanvasLayer.cpp b/gfx/layers/client/ClientCanvasLayer.cpp
index 32acf1eb29..7e9885ef1e 100644
--- a/gfx/layers/client/ClientCanvasLayer.cpp
+++ b/gfx/layers/client/ClientCanvasLayer.cpp
@@ -19,6 +19,9 @@
#include "nsRect.h" // for mozilla::gfx::IntRect
#include "nsXULAppAPI.h" // for XRE_GetProcessType, etc
#include "gfxPrefs.h" // for WebGLForceLayersReadback
+#include "gfxUtils.h"
+#include "TextureClientSharedSurface.h"
+
using namespace mozilla::gfx;
using namespace mozilla::gl;
diff --git a/gfx/layers/ipc/CompositorBridgeParent.cpp b/gfx/layers/ipc/CompositorBridgeParent.cpp
index 97ea984dba..9a2df849b8 100644
--- a/gfx/layers/ipc/CompositorBridgeParent.cpp
+++ b/gfx/layers/ipc/CompositorBridgeParent.cpp
@@ -28,6 +28,7 @@
#include "mozilla/dom/ContentParent.h"
#include "mozilla/dom/TabParent.h"
#include "mozilla/gfx/2D.h" // for DrawTarget
+#include "mozilla/gfx/gfxVars.h"
#include "mozilla/gfx/Point.h" // for IntSize
#include "mozilla/gfx/Rect.h" // for IntSize
#include "mozilla/ipc/Transport.h" // for Transport
diff --git a/gfx/layers/ipc/CrossProcessCompositorBridgeParent.cpp b/gfx/layers/ipc/CrossProcessCompositorBridgeParent.cpp
index 8bb5cf2d53..9509cf16a6 100644
--- a/gfx/layers/ipc/CrossProcessCompositorBridgeParent.cpp
+++ b/gfx/layers/ipc/CrossProcessCompositorBridgeParent.cpp
@@ -84,9 +84,10 @@
#include "LayerScope.h"
namespace mozilla {
-
namespace layers {
+using namespace std;
+
// defined in CompositorBridgeParent.cpp
typedef map<uint64_t, CompositorBridgeParent::LayerTreeState> LayerTreeMap;
extern LayerTreeMap sIndirectLayerTrees;
diff --git a/gfx/layers/ipc/CrossProcessCompositorBridgeParent.h b/gfx/layers/ipc/CrossProcessCompositorBridgeParent.h
index 3999699508..ca213bbd55 100644
--- a/gfx/layers/ipc/CrossProcessCompositorBridgeParent.h
+++ b/gfx/layers/ipc/CrossProcessCompositorBridgeParent.h
@@ -8,6 +8,7 @@
#define mozilla_layers_CrossProcessCompositorBridgeParent_h
#include "mozilla/layers/CompositorBridgeParent.h"
+#include "mozilla/layers/CompositorThread.h"
namespace mozilla {
namespace layers {
diff --git a/gfx/layers/ipc/VideoBridgeParent.cpp b/gfx/layers/ipc/VideoBridgeParent.cpp
index fce2184c87..f8e3c5314c 100644
--- a/gfx/layers/ipc/VideoBridgeParent.cpp
+++ b/gfx/layers/ipc/VideoBridgeParent.cpp
@@ -12,7 +12,6 @@ namespace layers {
using namespace mozilla::ipc;
using namespace mozilla::gfx;
-using namespace mozilla::media;
static VideoBridgeParent* sVideoBridgeSingleton;
diff --git a/gfx/layers/ipc/VideoBridgeParent.h b/gfx/layers/ipc/VideoBridgeParent.h
index e5560acab7..bde18b632f 100644
--- a/gfx/layers/ipc/VideoBridgeParent.h
+++ b/gfx/layers/ipc/VideoBridgeParent.h
@@ -7,6 +7,7 @@
#define gfx_layers_ipc_VideoBridgeParent_h_
#include "mozilla/layers/PVideoBridgeParent.h"
+#include "mozilla/layers/ISurfaceAllocator.h"
namespace mozilla {
namespace layers {
diff --git a/gfx/layers/moz.build b/gfx/layers/moz.build
index 164f043505..2242a774ba 100644
--- a/gfx/layers/moz.build
+++ b/gfx/layers/moz.build
@@ -49,8 +49,6 @@ EXPORTS += [
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
SOURCES += [
'D3D11ShareHandleImage.cpp',
- ]
- UNIFIED_SOURCES += [
'D3D9SurfaceImage.cpp',
'IMFYCbCrImage.cpp',
'TextureDIB.cpp',
@@ -66,12 +64,10 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
'd3d9/CompositorD3D9.h',
'd3d9/TextureD3D9.h',
]
- UNIFIED_SOURCES += [
- 'd3d9/TextureD3D9.cpp',
- ]
SOURCES += [
'd3d9/CompositorD3D9.cpp',
'd3d9/DeviceManagerD3D9.cpp',
+ 'd3d9/TextureD3D9.cpp',
]
if CONFIG['MOZ_ENABLE_D3D10_LAYER']:
EXPORTS.mozilla.layers += [
@@ -79,12 +75,10 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
'd3d11/ReadbackManagerD3D11.h',
'd3d11/TextureD3D11.h',
]
- UNIFIED_SOURCES += [
- 'd3d11/TextureD3D11.cpp',
- ]
SOURCES += [
'd3d11/CompositorD3D11.cpp',
'd3d11/ReadbackManagerD3D11.cpp',
+ 'd3d11/TextureD3D11.cpp',
]
EXPORTS.gfxipc += [
@@ -228,21 +222,19 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
'MacIOSurfaceHelpers.h',
'MacIOSurfaceImage.h',
]
- UNIFIED_SOURCES += [
- 'opengl/GLManager.cpp',
- ]
SOURCES += [
'ipc/ShadowLayerUtilsMac.cpp',
'MacIOSurfaceHelpers.cpp',
'MacIOSurfaceImage.cpp',
+ 'opengl/GLManager.cpp',
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'android':
- UNIFIED_SOURCES += [
+ SOURCES += [
'apz/src/AndroidAPZ.cpp',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'apz/public/IAPZCTreeManager.cpp',
'apz/src/APZCTreeManager.cpp',
'apz/src/AsyncPanZoomController.cpp',
@@ -277,6 +269,7 @@ UNIFIED_SOURCES += [
'basic/BasicColorLayer.cpp',
'basic/BasicCompositor.cpp',
'basic/BasicContainerLayer.cpp',
+ 'basic/BasicImageLayer.cpp',
'basic/BasicImages.cpp',
'basic/BasicLayerManager.cpp',
'basic/BasicLayersImpl.cpp',
@@ -325,6 +318,7 @@ UNIFIED_SOURCES += [
'Effects.cpp',
'FrameMetrics.cpp',
'GLImages.cpp',
+ 'ImageContainer.cpp',
'ImageDataSerializer.cpp',
'ImageLayers.cpp',
'ipc/APZChild.cpp',
@@ -334,9 +328,7 @@ UNIFIED_SOURCES += [
'ipc/CompositableTransactionParent.cpp',
'ipc/CompositorBench.cpp',
'ipc/CompositorBridgeChild.cpp',
- 'ipc/CompositorBridgeParent.cpp',
'ipc/CompositorThread.cpp',
- 'ipc/CrossProcessCompositorBridgeParent.cpp',
'ipc/ImageBridgeChild.cpp',
'ipc/ImageBridgeParent.cpp',
'ipc/ImageContainerChild.cpp',
@@ -354,10 +346,12 @@ UNIFIED_SOURCES += [
'ipc/SharedRGBImage.cpp',
'ipc/VideoBridgeChild.cpp',
'ipc/VideoBridgeParent.cpp',
+ 'Layers.cpp',
'LayerScope.cpp',
'LayersLogging.cpp',
'LayerSorter.cpp',
'LayersTypes.cpp',
+ 'LayerTreeInvalidation.cpp',
'opengl/CompositingRenderTargetOGL.cpp',
'opengl/CompositorOGL.cpp',
'opengl/GLBlitTextureImageHelper.cpp',
@@ -365,6 +359,7 @@ UNIFIED_SOURCES += [
'opengl/TextureClientOGL.cpp',
'opengl/TextureHostOGL.cpp',
'opengl/TexturePoolOGL.cpp',
+ 'PersistentBufferProvider.cpp',
'protobuf/LayerScopePacket.pb.cc',
'ReadbackProcessor.cpp',
'RenderTrace.cpp',
@@ -372,12 +367,11 @@ UNIFIED_SOURCES += [
'TextureWrapperImage.cpp',
]
-SOURCES += [
- 'basic/BasicImageLayer.cpp',
- 'ImageContainer.cpp',
- 'Layers.cpp',
- 'LayerTreeInvalidation.cpp',
- 'PersistentBufferProvider.cpp',
+# Implementation in CBP.cpp of things used in CPCBP.cpp
+# EraseLayerState, UpdateIndirectTree and map<uint64_t, CompositorBridgeParent::LayerTreeState>
+UNIFIED_SOURCES += [
+ 'ipc/CompositorBridgeParent.cpp',
+ 'ipc/CrossProcessCompositorBridgeParent.cpp',
]
# Disable RTTI in google protocol buffer
@@ -445,6 +439,6 @@ if CONFIG['GNU_CXX']:
CXXFLAGS += ['-Wno-error=shadow']
if CONFIG['MOZ_ENABLE_SKIA']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'composite/PaintCounter.cpp',
]
diff --git a/gfx/ots/src/moz.build b/gfx/ots/src/moz.build
index 962a86a5b9..a5028dfa8a 100644
--- a/gfx/ots/src/moz.build
+++ b/gfx/ots/src/moz.build
@@ -9,7 +9,7 @@ EXPORTS += [
'../include/ots-memory-stream.h',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'avar.cc',
'cff.cc',
'cff_charstring.cc',
diff --git a/gfx/skia/generate_mozbuild.py b/gfx/skia/generate_mozbuild.py
index bb069870a8..08d6ed9ab7 100755
--- a/gfx/skia/generate_mozbuild.py
+++ b/gfx/skia/generate_mozbuild.py
@@ -28,7 +28,7 @@ if CONFIG['MOZ_OPTIMIZE']:
if CONFIG['_MSC_VER']:
skia_opt_flags += ['-O2']
elif CONFIG['GNU_CC']:
- skia_opt_flags += ['-O3']
+ skia_opt_flags += ['-O2']
"""
@@ -79,7 +79,7 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in {
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
DEFINES['UNICODE'] = True
DEFINES['_UNICODE'] = True
- UNIFIED_SOURCES += [
+ SOURCES += [
'skia/src/fonts/SkFontMgr_indirect.cpp',
'skia/src/fonts/SkRemotableFontMgr.cpp',
]
@@ -415,7 +415,7 @@ def write_sources(f, values, indent):
else:
sources['unified'].add(item)
- write_list(f, "UNIFIED_SOURCES", sources['unified'], indent)
+ write_list(f, "SOURCES", sources['unified'], indent)
write_list(f, "SOURCES", sources['nonunified'], indent)
def write_list(f, name, values, indent):
diff --git a/gfx/skia/moz.build b/gfx/skia/moz.build
index 7a3ef65491..56570e61fb 100644
--- a/gfx/skia/moz.build
+++ b/gfx/skia/moz.build
@@ -20,9 +20,9 @@ if CONFIG['MOZ_OPTIMIZE']:
if CONFIG['_MSC_VER']:
skia_opt_flags += ['-O2']
elif CONFIG['GNU_CC']:
- skia_opt_flags += ['-O3']
+ skia_opt_flags += ['-O2']
-UNIFIED_SOURCES += [
+SOURCES += [
'skia/src/core/SkAAClip.cpp',
'skia/src/core/SkAlphaRuns.cpp',
'skia/src/core/SkAnnotation.cpp',
@@ -308,7 +308,7 @@ SOURCES['skia/src/core/SkSpriteBlitter4f.cpp'].flags += skia_opt_flags
SOURCES['skia/src/core/SkSpriteBlitter_ARGB32.cpp'].flags += skia_opt_flags
SOURCES['skia/src/core/SkSpriteBlitter_RGB16.cpp'].flags += skia_opt_flags
if CONFIG['MOZ_ENABLE_SKIA_PDF']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'skia/src/core/SkMD5.cpp',
'skia/src/pdf/SkDeflate.cpp',
'skia/src/pdf/SkJpegInfo.cpp',
@@ -332,7 +332,7 @@ if CONFIG['MOZ_ENABLE_SKIA_PDF']:
'skia/src/pdf/SkPDFFont.cpp',
]
if CONFIG['MOZ_ENABLE_SKIA_GPU']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'skia/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp',
'skia/src/gpu/batches/GrAnalyticRectBatch.cpp',
'skia/src/gpu/batches/GrAtlasTextBatch.cpp',
@@ -517,7 +517,7 @@ if CONFIG['MOZ_ENABLE_SKIA_GPU']:
'skia/src/image/SkImage_Gpu.cpp',
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android'):
- UNIFIED_SOURCES += [
+ SOURCES += [
'skia/src/ports/SkDebug_android.cpp',
'skia/src/ports/SkOSFile_posix.cpp',
'skia/src/ports/SkOSLibrary_posix.cpp',
@@ -529,7 +529,7 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in ('android'):
'skia/src/ports/SkFontHost_FreeType_common.cpp',
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] in {'cocoa', 'uikit'}:
- UNIFIED_SOURCES += [
+ SOURCES += [
'skia/src/ports/SkDebug_stdio.cpp',
'skia/src/ports/SkOSFile_posix.cpp',
'skia/src/ports/SkOSLibrary_posix.cpp',
@@ -542,7 +542,7 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] in {'cocoa', 'uikit'}:
'skia/src/ports/SkFontHost_mac.cpp',
]
if 'gtk' in CONFIG['MOZ_WIDGET_TOOLKIT']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'skia/src/ports/SkDebug_stdio.cpp',
'skia/src/ports/SkOSFile_posix.cpp',
'skia/src/ports/SkOSLibrary_posix.cpp',
@@ -574,7 +574,7 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
'skia/src/utils/win/SkIStream.cpp',
]
if CONFIG['INTEL_ARCHITECTURE']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'skia/src/opts/opts_check_x86.cpp',
]
SOURCES += [
@@ -598,7 +598,7 @@ if CONFIG['INTEL_ARCHITECTURE']:
SOURCES['skia/src/opts/SkOpts_sse42.cpp'].flags += skia_opt_flags
SOURCES['skia/src/opts/SkOpts_ssse3.cpp'].flags += skia_opt_flags
elif CONFIG['CPU_ARCH'] in ('arm', 'aarch64') and CONFIG['GNU_CC']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'skia/src/core/SkUtilsArm.cpp',
]
SOURCES += [
diff --git a/gfx/src/gfxTelemetry.cpp b/gfx/src/gfxTelemetry.cpp
index 9ea15dcbd3..b027cde394 100644
--- a/gfx/src/gfxTelemetry.cpp
+++ b/gfx/src/gfxTelemetry.cpp
@@ -4,6 +4,7 @@
* 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 "gfxTelemetry.h"
+#include "mozilla/Assertions.h"
namespace mozilla {
namespace gfx {
diff --git a/gfx/src/gfxTelemetry.h b/gfx/src/gfxTelemetry.h
index 9f0f618f0f..c6d13c86a0 100644
--- a/gfx/src/gfxTelemetry.h
+++ b/gfx/src/gfxTelemetry.h
@@ -58,12 +58,6 @@ const char* FeatureStatusToString(FeatureStatus aStatus);
bool IsFeatureStatusFailure(FeatureStatus aStatus);
bool IsFeatureStatusSuccess(FeatureStatus aStatus);
-enum class TelemetryDeviceCode : uint32_t {
- Content = 0,
- Image = 1,
- D2D1 = 2
-};
-
} // namespace gfx
} // namespace mozilla
diff --git a/gfx/src/moz.build b/gfx/src/moz.build
index ea707a340a..b11fada66d 100644
--- a/gfx/src/moz.build
+++ b/gfx/src/moz.build
@@ -56,11 +56,12 @@ if CONFIG['MOZ_X11']:
'X11Util.cpp',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'DriverCrashGuard.cpp',
'FilterSupport.cpp',
'gfxTelemetry.cpp',
'nsColor.cpp',
+ 'nsDeviceContext.cpp',
'nsFont.cpp',
'nsFontMetrics.cpp',
'nsRect.cpp',
@@ -72,11 +73,6 @@ UNIFIED_SOURCES += [
'TiledRegion.cpp',
]
-# nsDeviceContext.cpp cannot be built in unified mode because it pulls in OS X system headers.
-SOURCES += [
- 'nsDeviceContext.cpp',
-]
-
include('/ipc/chromium/chromium-config.mozbuild')
LOCAL_INCLUDES += [
diff --git a/gfx/src/nsRegion.cpp b/gfx/src/nsRegion.cpp
index 3b0bec1e31..ed86704e89 100644
--- a/gfx/src/nsRegion.cpp
+++ b/gfx/src/nsRegion.cpp
@@ -5,6 +5,7 @@
#include "nsRegion.h"
#include "nsTArray.h"
+#include "gfx2DGlue.h"
#include "gfxUtils.h"
#include "mozilla/ToString.h"
diff --git a/gfx/thebes/DeviceManagerDx.cpp b/gfx/thebes/DeviceManagerDx.cpp
index 9f42974c33..5f505f88ba 100644
--- a/gfx/thebes/DeviceManagerDx.cpp
+++ b/gfx/thebes/DeviceManagerDx.cpp
@@ -15,7 +15,6 @@
#include "mozilla/gfx/Logging.h"
#include "mozilla/layers/CompositorThread.h"
#include "nsIGfxInfo.h"
-#include <d3d11.h>
#include <ddraw.h>
namespace mozilla {
diff --git a/gfx/thebes/DeviceManagerDx.h b/gfx/thebes/DeviceManagerDx.h
index e29ab0731f..25c028b55c 100644
--- a/gfx/thebes/DeviceManagerDx.h
+++ b/gfx/thebes/DeviceManagerDx.h
@@ -20,6 +20,7 @@
#include <objbase.h>
#include <dxgi.h>
+#include <d3d11.h>
// This header is available in the June 2010 SDK and in the Win8 SDK
#include <d3dcommon.h>
diff --git a/gfx/thebes/gfxDWriteFontList.cpp b/gfx/thebes/gfxDWriteFontList.cpp
index 5cc1fbb92b..12e2d8adca 100644
--- a/gfx/thebes/gfxDWriteFontList.cpp
+++ b/gfx/thebes/gfxDWriteFontList.cpp
@@ -18,6 +18,7 @@
#include "nsDirectoryServiceDefs.h"
#include "nsAppDirectoryServiceDefs.h"
#include "nsISimpleEnumerator.h"
+#include "GeckoProfiler.h"
#include "gfxGDIFontList.h"
diff --git a/gfx/thebes/gfxFont-Impl.h b/gfx/thebes/gfxFont-Impl.h
new file mode 100644
index 0000000000..2661d1f40a
--- /dev/null
+++ b/gfx/thebes/gfxFont-Impl.h
@@ -0,0 +1,83 @@
+/* -*- Mode: C++; tab-width: 4; 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_FONT_IMPL_H
+#define GFX_FONT_IMPL_H
+
+#include "mozilla/DebugOnly.h"
+using mozilla::DebugOnly;
+
+#ifdef __GNUC__
+#define GFX_MAYBE_UNUSED __attribute__((unused))
+#else
+#define GFX_MAYBE_UNUSED
+#endif
+
+template<typename T>
+gfxShapedWord*
+gfxFont::GetShapedWord(DrawTarget *aDrawTarget,
+ const T *aText,
+ uint32_t aLength,
+ uint32_t aHash,
+ Script aRunScript,
+ bool aVertical,
+ int32_t aAppUnitsPerDevUnit,
+ uint32_t aFlags,
+ gfxTextPerfMetrics *aTextPerf GFX_MAYBE_UNUSED)
+{
+ // if the cache is getting too big, flush it and start over
+ uint32_t wordCacheMaxEntries =
+ gfxPlatform::GetPlatform()->WordCacheMaxEntries();
+ if (mWordCache->Count() > wordCacheMaxEntries) {
+ NS_WARNING("flushing shaped-word cache");
+ ClearCachedWords();
+ }
+
+ // if there's a cached entry for this word, just return it
+ CacheHashKey key(aText, aLength, aHash,
+ aRunScript,
+ aAppUnitsPerDevUnit,
+ aFlags);
+
+ CacheHashEntry *entry = mWordCache->PutEntry(key);
+ if (!entry) {
+ NS_WARNING("failed to create word cache entry - expect missing text");
+ return nullptr;
+ }
+ gfxShapedWord* sw = entry->mShapedWord.get();
+
+ if (sw) {
+ sw->ResetAge();
+#ifndef RELEASE_OR_BETA
+ if (aTextPerf) {
+ aTextPerf->current.wordCacheHit++;
+ }
+#endif
+ return sw;
+ }
+
+#ifndef RELEASE_OR_BETA
+ if (aTextPerf) {
+ aTextPerf->current.wordCacheMiss++;
+ }
+#endif
+
+ sw = gfxShapedWord::Create(aText, aLength, aRunScript, aAppUnitsPerDevUnit,
+ aFlags);
+ entry->mShapedWord.reset(sw);
+ if (!sw) {
+ NS_WARNING("failed to create gfxShapedWord - expect missing text");
+ return nullptr;
+ }
+
+ DebugOnly<bool> ok =
+ ShapeText(aDrawTarget, aText, 0, aLength, aRunScript, aVertical, sw);
+
+ NS_WARNING_ASSERTION(ok, "failed to shape word - expect garbled text");
+
+ return sw;
+}
+
+#endif // GFX_FONT_IMPL_H \ No newline at end of file
diff --git a/gfx/thebes/gfxFont.cpp b/gfx/thebes/gfxFont.cpp
index 490a866dbf..a732527598 100644
--- a/gfx/thebes/gfxFont.cpp
+++ b/gfx/thebes/gfxFont.cpp
@@ -4,6 +4,7 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "gfxFont.h"
+#include "gfxFont-Impl.h"
#include "mozilla/BinarySearch.h"
#include "mozilla/DebugOnly.h"
@@ -44,6 +45,11 @@
#include "cairo.h"
+#ifdef XP_WIN
+#include "cairo-win32.h"
+#include "gfxWindowsPlatform.h"
+#endif
+
#include "harfbuzz/hb.h"
#include "harfbuzz/hb-ot.h"
#include "graphite2/Font.h"
@@ -2539,70 +2545,7 @@ IsBoundarySpace(char16_t aChar, char16_t aNextChar)
#define GFX_MAYBE_UNUSED
#endif
-template<typename T>
-gfxShapedWord*
-gfxFont::GetShapedWord(DrawTarget *aDrawTarget,
- const T *aText,
- uint32_t aLength,
- uint32_t aHash,
- Script aRunScript,
- bool aVertical,
- int32_t aAppUnitsPerDevUnit,
- uint32_t aFlags,
- gfxTextPerfMetrics *aTextPerf GFX_MAYBE_UNUSED)
-{
- // if the cache is getting too big, flush it and start over
- uint32_t wordCacheMaxEntries =
- gfxPlatform::GetPlatform()->WordCacheMaxEntries();
- if (mWordCache->Count() > wordCacheMaxEntries) {
- NS_WARNING("flushing shaped-word cache");
- ClearCachedWords();
- }
-
- // if there's a cached entry for this word, just return it
- CacheHashKey key(aText, aLength, aHash,
- aRunScript,
- aAppUnitsPerDevUnit,
- aFlags);
-
- CacheHashEntry *entry = mWordCache->PutEntry(key);
- if (!entry) {
- NS_WARNING("failed to create word cache entry - expect missing text");
- return nullptr;
- }
- gfxShapedWord* sw = entry->mShapedWord.get();
-
- if (sw) {
- sw->ResetAge();
-#ifndef RELEASE_OR_BETA
- if (aTextPerf) {
- aTextPerf->current.wordCacheHit++;
- }
-#endif
- return sw;
- }
-
-#ifndef RELEASE_OR_BETA
- if (aTextPerf) {
- aTextPerf->current.wordCacheMiss++;
- }
-#endif
-
- sw = gfxShapedWord::Create(aText, aLength, aRunScript, aAppUnitsPerDevUnit,
- aFlags);
- entry->mShapedWord.reset(sw);
- if (!sw) {
- NS_WARNING("failed to create gfxShapedWord - expect missing text");
- return nullptr;
- }
-
- DebugOnly<bool> ok =
- ShapeText(aDrawTarget, aText, 0, aLength, aRunScript, aVertical, sw);
-
- NS_WARNING_ASSERTION(ok, "failed to shape word - expect garbled text");
-
- return sw;
-}
+/* GetShapedWord is in gfxFont-Impl.h */
bool
gfxFont::CacheHashEntry::KeyEquals(const KeyTypePointer aKey) const
diff --git a/gfx/thebes/gfxFontEntry.cpp b/gfx/thebes/gfxFontEntry.cpp
index f33d6a9d85..695e94e9fd 100644
--- a/gfx/thebes/gfxFontEntry.cpp
+++ b/gfx/thebes/gfxFontEntry.cpp
@@ -19,6 +19,7 @@
#include "gfxTypes.h"
#include "gfxContext.h"
#include "gfxFontConstants.h"
+#include "gfxGraphiteShaper.h"
#include "gfxHarfBuzzShaper.h"
#include "gfxUserFontSet.h"
#include "gfxPlatformFontList.h"
diff --git a/gfx/thebes/gfxFontInfoLoader.cpp b/gfx/thebes/gfxFontInfoLoader.cpp
index a53c96369b..c9abef2ea3 100644
--- a/gfx/thebes/gfxFontInfoLoader.cpp
+++ b/gfx/thebes/gfxFontInfoLoader.cpp
@@ -8,6 +8,10 @@
#include "nsIObserverService.h"
#include "nsThreadUtils.h" // for nsRunnable
#include "gfxPlatformFontList.h"
+#include "mozilla/gfx/Logging.h"
+#ifdef XP_WIN
+#include <d3d11.h>
+#endif
using namespace mozilla;
using services::GetObserverService;
diff --git a/gfx/thebes/gfxHarfBuzzShaper.h b/gfx/thebes/gfxHarfBuzzShaper.h
index 70d912cc02..b4b61159fd 100644
--- a/gfx/thebes/gfxHarfBuzzShaper.h
+++ b/gfx/thebes/gfxHarfBuzzShaper.h
@@ -12,6 +12,8 @@
#include "nsUnicodeProperties.h"
#include "mozilla/gfx/2D.h"
+using namespace mozilla;
+
class gfxHarfBuzzShaper : public gfxFontShaper {
public:
explicit gfxHarfBuzzShaper(gfxFont *aFont);
diff --git a/gfx/thebes/gfxMathTable.cpp b/gfx/thebes/gfxMathTable.cpp
index f7047c7473..d9f4462ffa 100644
--- a/gfx/thebes/gfxMathTable.cpp
+++ b/gfx/thebes/gfxMathTable.cpp
@@ -8,6 +8,7 @@
#include "harfbuzz/hb-ot.h"
#define FixedToFloat(f) ((f) * (1.0 / 65536.0))
+#define FloatToFixed(f) (65536 * (f))
using namespace mozilla;
diff --git a/gfx/thebes/gfxMatrix.cpp b/gfx/thebes/gfxMatrix.cpp
index 8fcce4ce9f..25a4d5a6fb 100644
--- a/gfx/thebes/gfxMatrix.cpp
+++ b/gfx/thebes/gfxMatrix.cpp
@@ -8,6 +8,8 @@
#include "mozilla/gfx/Tools.h"
#include "mozilla/gfx/Matrix.h" // for Matrix4x4
+using namespace mozilla::gfx;
+
#define CAIRO_MATRIX(x) reinterpret_cast<cairo_matrix_t*>((x))
#define CONST_CAIRO_MATRIX(x) reinterpret_cast<const cairo_matrix_t*>((x))
diff --git a/gfx/thebes/gfxPattern.cpp b/gfx/thebes/gfxPattern.cpp
index d937b992f4..3092c80087 100644
--- a/gfx/thebes/gfxPattern.cpp
+++ b/gfx/thebes/gfxPattern.cpp
@@ -17,6 +17,7 @@
#include <vector>
+using namespace mozilla;
using namespace mozilla::gfx;
gfxPattern::gfxPattern(const Color& aColor)
diff --git a/gfx/thebes/gfxSVGGlyphs.cpp b/gfx/thebes/gfxSVGGlyphs.cpp
index 23f68f590c..13c0420cc2 100644
--- a/gfx/thebes/gfxSVGGlyphs.cpp
+++ b/gfx/thebes/gfxSVGGlyphs.cpp
@@ -38,6 +38,7 @@
#define UTF8_CHARSET NS_LITERAL_CSTRING("utf-8")
using namespace mozilla;
+using namespace mozilla::gfx;
typedef mozilla::dom::Element Element;
diff --git a/gfx/thebes/gfxScriptItemizer.cpp b/gfx/thebes/gfxScriptItemizer.cpp
index b9426ee6ff..90e0ca98cb 100644
--- a/gfx/thebes/gfxScriptItemizer.cpp
+++ b/gfx/thebes/gfxScriptItemizer.cpp
@@ -63,6 +63,8 @@
#define TOP() (parenStack[parenSP])
#define SYNC_FIXUP() (fixupCount = 0)
+using namespace mozilla::unicode;
+
void
gfxScriptItemizer::push(uint32_t endPairChar, Script newScriptCode)
{
diff --git a/gfx/thebes/gfxSkipChars.cpp b/gfx/thebes/gfxSkipChars.cpp
index d0fad53e2e..0cd53c87b6 100644
--- a/gfx/thebes/gfxSkipChars.cpp
+++ b/gfx/thebes/gfxSkipChars.cpp
@@ -5,6 +5,7 @@
#include "gfxSkipChars.h"
#include "mozilla/BinarySearch.h"
+#include "mozilla/gfx/Logging.h"
struct SkippedRangeStartComparator
{
diff --git a/gfx/thebes/gfxTextRun.cpp b/gfx/thebes/gfxTextRun.cpp
index 1702cab66f..2e2a0d2392 100644
--- a/gfx/thebes/gfxTextRun.cpp
+++ b/gfx/thebes/gfxTextRun.cpp
@@ -37,6 +37,8 @@
#include "cairo.h"
+#include <unicode/unorm2.h>
+
using namespace mozilla;
using namespace mozilla::gfx;
using namespace mozilla::unicode;
diff --git a/gfx/thebes/gfxTextRun.h b/gfx/thebes/gfxTextRun.h
index c3673785c3..3c9ded1dcb 100644
--- a/gfx/thebes/gfxTextRun.h
+++ b/gfx/thebes/gfxTextRun.h
@@ -11,6 +11,7 @@
#include "nsString.h"
#include "gfxPoint.h"
#include "gfxFont.h"
+#include "gfxFont-Impl.h"
#include "gfxFontConstants.h"
#include "nsTArray.h"
#include "gfxSkipChars.h"
diff --git a/gfx/thebes/moz.build b/gfx/thebes/moz.build
index e253d7891e..4201dea293 100644
--- a/gfx/thebes/moz.build
+++ b/gfx/thebes/moz.build
@@ -17,6 +17,7 @@ EXPORTS += [
'gfxDrawable.h',
'gfxEnv.h',
'gfxFailure.h',
+ 'gfxFont-Impl.h',
'gfxFont.h',
'gfxFontConstants.h',
'gfxFontEntry.h',
@@ -148,11 +149,9 @@ elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
'PrintTargetWindows.cpp',
]
if CONFIG['MOZ_ENABLE_DWRITE_FONT']:
- UNIFIED_SOURCES += [
- 'gfxDWriteFontList.cpp',
- ]
SOURCES += [
'gfxDWriteCommon.cpp',
+ 'gfxDWriteFontList.cpp',
'gfxDWriteFonts.cpp',
]
@@ -164,27 +163,14 @@ if CONFIG['INTEL_ARCHITECTURE']:
SOURCES['gfxAlphaRecoverySSE2.cpp'].flags += CONFIG['SSE2_FLAGS']
SOURCES += [
- 'ContextStateTracker.cpp',
- # Includes mac system header conflicting with point/size,
- # and includes glxXlibSurface.h which drags in Xrender.h
- 'gfxASurface.cpp',
- # on X11, gfxDrawable.cpp includes X headers for an old workaround which
- # we could consider removing soon (affects Ubuntus older than 10.04 LTS)
- # which currently prevent it from joining UNIFIED_SOURCES.
- 'gfxDrawable.cpp',
- # gfxPlatform.cpp includes mac system header conflicting with point/size
- 'gfxPlatform.cpp',
- 'gfxPrefs.cpp',
- 'PrintTarget.cpp',
- 'PrintTargetThebes.cpp',
-]
-
-UNIFIED_SOURCES += [
'CJKCompatSVS.cpp',
+ 'ContextStateTracker.cpp',
'gfxAlphaRecovery.cpp',
+ 'gfxASurface.cpp',
'gfxBaseSharedMemorySurface.cpp',
'gfxBlur.cpp',
'gfxContext.cpp',
+ 'gfxDrawable.cpp',
'gfxFont.cpp',
'gfxFontEntry.cpp',
'gfxFontFeatures.cpp',
@@ -200,7 +186,9 @@ UNIFIED_SOURCES += [
'gfxMathTable.cpp',
'gfxMatrix.cpp',
'gfxPattern.cpp',
+ 'gfxPlatform.cpp',
'gfxPlatformFontList.cpp',
+ 'gfxPrefs.cpp',
'gfxRect.cpp',
'gfxScriptItemizer.cpp',
'gfxSkipChars.cpp',
@@ -209,16 +197,18 @@ UNIFIED_SOURCES += [
'gfxUserFontSet.cpp',
'gfxUtils.cpp',
'nsUnicodeRange.cpp',
+ 'PrintTarget.cpp',
+ 'PrintTargetThebes.cpp',
'SoftwareVsyncSource.cpp',
'VsyncSource.cpp',
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
- UNIFIED_SOURCES += [
+ SOURCES += [
'gfxMacPlatformFontList.mm',
]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
- UNIFIED_SOURCES += [
+ SOURCES += [
'D3D11Checks.cpp',
'DeviceManagerDx.cpp',
]
diff --git a/gfx/ycbcr/moz.build b/gfx/ycbcr/moz.build
index 04855e2e99..0920798999 100644
--- a/gfx/ycbcr/moz.build
+++ b/gfx/ycbcr/moz.build
@@ -8,7 +8,7 @@ EXPORTS += [
'YCbCrUtils.h',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'scale_yuv_argb.cpp',
'ycbcr_to_rgb565.cpp',
'YCbCrUtils.cpp',
diff --git a/gfx/ycbcr/scale_yuv_argb.cpp b/gfx/ycbcr/scale_yuv_argb.cpp
index 91a96cb9f1..13b16c8029 100644
--- a/gfx/ycbcr/scale_yuv_argb.cpp
+++ b/gfx/ycbcr/scale_yuv_argb.cpp
@@ -9,6 +9,8 @@
* be found in the AUTHORS file in the root of the source tree.
*/
+#include "scale_yuv_argb.h"
+
#include "libyuv/scale.h"
#include <assert.h>