summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/milestone.txt2
-rw-r--r--editor/composer/moz.build2
-rw-r--r--editor/composer/nsEditingSession.h1
-rw-r--r--editor/libeditor/HTMLEditorDataTransfer.cpp1
-rw-r--r--editor/libeditor/HTMLStyleEditor.cpp1
-rw-r--r--editor/libeditor/moz.build2
-rw-r--r--editor/txmgr/moz.build2
-rw-r--r--editor/txtsvc/moz.build2
-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.build7
-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
-rw-r--r--layout/base/nsCSSRendering.cpp11
-rw-r--r--layout/generic/nsImageFrame.cpp26
-rw-r--r--layout/reftests/table-bordercollapse/bug1375518-2.html22
-rw-r--r--layout/reftests/table-bordercollapse/bug1375518-3.html22
-rw-r--r--layout/reftests/table-bordercollapse/bug1375518-4-ref.html44
-rw-r--r--layout/reftests/table-bordercollapse/bug1375518-4.html44
-rw-r--r--layout/reftests/table-bordercollapse/bug1375518-5-ref.html44
-rw-r--r--layout/reftests/table-bordercollapse/bug1375518-5.html44
-rw-r--r--layout/reftests/table-bordercollapse/bug1375518-ref.html17
-rw-r--r--layout/reftests/table-bordercollapse/bug1375518.html24
-rw-r--r--layout/reftests/table-bordercollapse/bug1394226-notref.html63
-rw-r--r--layout/reftests/table-bordercollapse/bug1394226-ref.html47
-rw-r--r--layout/reftests/table-bordercollapse/bug1394226.html47
-rw-r--r--layout/reftests/table-bordercollapse/reftest.list7
-rw-r--r--layout/style/res/html.css1
-rw-r--r--layout/tables/nsTableCellFrame.cpp12
-rw-r--r--layout/tables/nsTableCellFrame.h4
-rw-r--r--layout/tables/nsTableWrapperFrame.cpp7
-rw-r--r--netwerk/base/PollableEvent.cpp3
-rw-r--r--netwerk/base/Predictor.cpp2
-rw-r--r--netwerk/base/ProxyAutoConfig.cpp1
-rw-r--r--netwerk/base/ThrottleQueue.cpp2
-rw-r--r--netwerk/base/ThrottleQueue.h2
-rw-r--r--netwerk/base/moz.build2
-rw-r--r--netwerk/base/nsAsyncStreamCopier.cpp1
-rw-r--r--netwerk/base/nsBaseChannel.cpp7
-rw-r--r--netwerk/base/nsChannelClassifier.cpp1
-rw-r--r--netwerk/base/nsInputStreamPump.cpp3
-rw-r--r--netwerk/base/nsMIMEInputStream.cpp1
-rw-r--r--netwerk/base/nsStandardURL.cpp1
-rw-r--r--netwerk/base/nsSyncStreamListener.cpp2
-rw-r--r--netwerk/base/nsTemporaryFileInputStream.cpp7
-rw-r--r--netwerk/cache/moz.build2
-rw-r--r--netwerk/cache/nsDiskCacheDeviceSQL.cpp2
-rw-r--r--netwerk/cache2/CacheFile.h1
-rw-r--r--netwerk/cache2/CacheFileContextEvictor.cpp1
-rw-r--r--netwerk/cache2/CacheFileUtils.cpp1
-rw-r--r--netwerk/cache2/CacheHashUtils.cpp1
-rw-r--r--netwerk/cache2/CacheIOThread.cpp2
-rw-r--r--netwerk/cache2/moz.build8
-rw-r--r--netwerk/cookie/moz.build5
-rw-r--r--netwerk/dns/mdns/libmdns/moz.build4
-rw-r--r--netwerk/dns/mdns/libmdns/nsDNSServiceDiscovery.h1
-rw-r--r--netwerk/dns/moz.build7
-rw-r--r--netwerk/ipc/NeckoParent.cpp2
-rw-r--r--netwerk/ipc/moz.build2
-rw-r--r--netwerk/protocol/about/moz.build2
-rw-r--r--netwerk/protocol/about/nsAboutCache.h1
-rw-r--r--netwerk/protocol/about/nsAboutCacheEntry.h1
-rw-r--r--netwerk/protocol/about/nsAboutProtocolHandler.cpp1
-rw-r--r--netwerk/protocol/data/moz.build2
-rw-r--r--netwerk/protocol/data/nsDataChannel.cpp1
-rw-r--r--netwerk/protocol/device/moz.build2
-rw-r--r--netwerk/protocol/file/moz.build2
-rw-r--r--netwerk/protocol/file/nsFileProtocolHandler.cpp2
-rw-r--r--netwerk/protocol/ftp/moz.build2
-rw-r--r--netwerk/protocol/ftp/nsFTPChannel.cpp3
-rw-r--r--netwerk/protocol/ftp/nsFTPChannel.h1
-rw-r--r--netwerk/protocol/http/Http2Push.cpp1
-rw-r--r--netwerk/protocol/http/HttpBaseChannel.cpp1
-rw-r--r--netwerk/protocol/http/HttpChannelChild.cpp1
-rw-r--r--netwerk/protocol/http/HttpChannelParent.cpp3
-rw-r--r--netwerk/protocol/http/HttpChannelParentListener.cpp1
-rw-r--r--netwerk/protocol/http/moz.build19
-rw-r--r--netwerk/protocol/http/nsHttpChannel.cpp1
-rw-r--r--netwerk/protocol/http/nsHttpChannel.h5
-rw-r--r--netwerk/protocol/res/moz.build2
-rw-r--r--netwerk/protocol/viewsource/moz.build2
-rw-r--r--netwerk/protocol/wyciwyg/moz.build2
-rw-r--r--netwerk/socket/moz.build4
-rw-r--r--netwerk/socket/nsSOCKSSocketProvider.cpp1
-rw-r--r--netwerk/srtp/src/moz.build2
-rw-r--r--netwerk/streamconv/converters/moz.build6
-rw-r--r--netwerk/streamconv/converters/nsHTTPCompressConv.cpp2
-rw-r--r--netwerk/wifi/moz.build15
173 files changed, 856 insertions, 303 deletions
diff --git a/config/milestone.txt b/config/milestone.txt
index a99a9ac9f..8642dc41d 100644
--- a/config/milestone.txt
+++ b/config/milestone.txt
@@ -10,4 +10,4 @@
# hardcoded milestones in the tree from these two files.
#--------------------------------------------------------
-4.5.9 \ No newline at end of file
+4.6.0 \ No newline at end of file
diff --git a/editor/composer/moz.build b/editor/composer/moz.build
index 4db8c9130..0c972923c 100644
--- a/editor/composer/moz.build
+++ b/editor/composer/moz.build
@@ -14,7 +14,7 @@ XPIDL_SOURCES += [
XPIDL_MODULE = 'composer'
-UNIFIED_SOURCES += [
+SOURCES += [
'nsComposerCommands.cpp',
'nsComposerCommandsUpdater.cpp',
'nsComposerController.cpp',
diff --git a/editor/composer/nsEditingSession.h b/editor/composer/nsEditingSession.h
index 6772d3a96..a40f45e2d 100644
--- a/editor/composer/nsEditingSession.h
+++ b/editor/composer/nsEditingSession.h
@@ -27,6 +27,7 @@
#include "nsString.h" // for nsCString
+class nsPIDOMWindowOuter;
class mozIDOMWindowProxy;
class nsIDOMWindow;
class nsISupports;
diff --git a/editor/libeditor/HTMLEditorDataTransfer.cpp b/editor/libeditor/HTMLEditorDataTransfer.cpp
index 0c01bdd1c..5a5c8a369 100644
--- a/editor/libeditor/HTMLEditorDataTransfer.cpp
+++ b/editor/libeditor/HTMLEditorDataTransfer.cpp
@@ -9,6 +9,7 @@
#include <string.h>
#include "HTMLEditUtils.h"
+#include "TextEditRules.h"
#include "TextEditUtils.h"
#include "WSRunObject.h"
#include "mozilla/dom/DataTransfer.h"
diff --git a/editor/libeditor/HTMLStyleEditor.cpp b/editor/libeditor/HTMLStyleEditor.cpp
index 7d1217069..72eb1d690 100644
--- a/editor/libeditor/HTMLStyleEditor.cpp
+++ b/editor/libeditor/HTMLStyleEditor.cpp
@@ -6,6 +6,7 @@
#include "mozilla/HTMLEditor.h"
#include "HTMLEditUtils.h"
+#include "TextEditRules.h"
#include "TextEditUtils.h"
#include "TypeInState.h"
#include "mozilla/Assertions.h"
diff --git a/editor/libeditor/moz.build b/editor/libeditor/moz.build
index 998ef3d39..516b3c2d8 100644
--- a/editor/libeditor/moz.build
+++ b/editor/libeditor/moz.build
@@ -30,7 +30,7 @@ EXPORTS.mozilla += [
'TextEditRules.h',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'ChangeAttributeTransaction.cpp',
'ChangeStyleTransaction.cpp',
'CompositionTransaction.cpp',
diff --git a/editor/txmgr/moz.build b/editor/txmgr/moz.build
index 3c7f3b55a..4cae5437a 100644
--- a/editor/txmgr/moz.build
+++ b/editor/txmgr/moz.build
@@ -19,7 +19,7 @@ EXPORTS += [
'nsTransactionManagerCID.h',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'nsTransactionItem.cpp',
'nsTransactionList.cpp',
'nsTransactionManager.cpp',
diff --git a/editor/txtsvc/moz.build b/editor/txtsvc/moz.build
index 4c0b93419..bf9f22382 100644
--- a/editor/txtsvc/moz.build
+++ b/editor/txtsvc/moz.build
@@ -18,7 +18,7 @@ EXPORTS += [
'nsTextServicesCID.h',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'nsFilteredContentIterator.cpp',
'nsTextServicesDocument.cpp',
]
diff --git a/gfx/2d/DataSurfaceHelpers.cpp b/gfx/2d/DataSurfaceHelpers.cpp
index 87ef00fcd..99dfe063a 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 aaf6db181..61fd3b607 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 3bfc5c8f6..e6be60b59 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 ad095503d..33b49038f 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 14b602ac2..bc16dff18 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',
@@ -214,6 +214,11 @@ if CONFIG['MOZ_TREE_FREETYPE']:
DEFINES['FT_LCD_FILTER_H'] = '%s/modules/freetype2/include/freetype/ftlcdfil.h' % TOPSRCDIR
# Suppress warnings in third-party code.
+if CONFIG['_MSC_VER']:
+ CFLAGS += [
+ '-wd4005',
+ '-wd4146',
+ ]
if CONFIG['GNU_CC'] or CONFIG['CLANG_CL']:
CFLAGS += [
'-Wno-enum-compare',
diff --git a/gfx/config/moz.build b/gfx/config/moz.build
index 2b8f9e7fc..17aa03c64 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 23fc3472d..e39858a92 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 da8c93d10..43f5b67e8 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 75f40f13f..b8b53f7c2 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 463f7ebab..5d95eb928 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 6cacf221d..20692cf48 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 e82a24dfd..c0175ffbe 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 e667005d8..42da52e11 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 0f5bd35cf..dbee50428 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 6fba1b4eb..adb4429ae 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 fa7075064..0a645742f 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 6f43a495d..bfa8f9df5 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 faaab1b17..b14102d1f 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 92ba92379..119af9c85 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 81b5ced8c..45664ca8c 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 d0fc55ddf..ab3b447f9 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 d1510d3e9..62b9c1fd2 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 683143c50..4e9085d48 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 3020bfd36..cb53de356 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 75e8da11c..c2f9a4675 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 09c2038c4..0afe9191e 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 7d80438fb..597c2d234 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 3e453ba8e..a4afcc2a5 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 61351c416..047df7a3d 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 43ea43196..1ee39b0e3 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 5fbcf0820..c79392eae 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 81e501bab..dfcf3e8d3 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 020560235..d3839441e 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 1a01b7a43..4ac62b9e1 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 90b8573d6..e9826832e 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 25d5c0a3c..ec5e867c4 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 d6e5518a1..48a563ce0 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 c95c2089d..4cbb1f7ed 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 7ed39aa10..4dd18d254 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 ba6053f43..3af70c056 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 613f353a4..71d8144cc 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 8aaf0f1d0..3155e41e9 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 fd8525085..2090a3404 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 deb642da2..c6c89efdd 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 6e5ad975a..8acf7dea5 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 b4731c5c2..0a7383e29 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 a4be827ef..8a49e43c1 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 96ef5de0f..7f73967ce 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 309681444..ea31f48c5 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 e45c3e7d6..c151d991b 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 d5943b030..6740fdbe0 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 79a9469bf..775538cf3 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 f54326360..00eb3f183 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 3d4112395..d9ad3ae78 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 7fd07f3ff..0bacc8778 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 86fb0d03f..528609947 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 07d113c9e..bb1a86d3f 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 32acf1eb2..7e9885ef1 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 97ea984db..9a2df849b 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 8bb5cf2d5..9509cf16a 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 399969950..ca213bbd5 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 fce2184c8..f8e3c5314 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 e5560acab..bde18b632 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 164f04350..2242a774b 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 962a86a5b..a5028dfa8 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 bb069870a..08d6ed9ab 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 7a3ef6549..56570e61f 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 9ea15dcbd..b027cde39 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 9f0f618f0..c6d13c86a 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 ea707a340..b11fada66 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 3b0bec1e3..ed86704e8 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 9f42974c3..5f505f88b 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 e29ab0731..25c028b55 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 5cc1fbb92..12e2d8adc 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 000000000..2661d1f40
--- /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 490a866db..a73252759 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 f33d6a9d8..695e94e9f 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 a53c96369..c9abef2ea 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 70d912cc0..b4b61159f 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 f7047c747..d9f4462ff 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 8fcce4ce9..25a4d5a6f 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 d937b992f..3092c8008 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 23f68f590..13c0420cc 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 b9426ee6f..90e0ca98c 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 d0fad53e2..0cd53c87b 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 1702cab66..2e2a0d239 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 c3673785c..3c9ded1dc 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 e253d7891..4201dea29 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 04855e2e9..092079899 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 91a96cb9f..13b16c802 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>
diff --git a/layout/base/nsCSSRendering.cpp b/layout/base/nsCSSRendering.cpp
index 119c6c8a2..9a827546f 100644
--- a/layout/base/nsCSSRendering.cpp
+++ b/layout/base/nsCSSRendering.cpp
@@ -1903,8 +1903,15 @@ nsCSSRendering::GetImageLayerClip(const nsStyleImageLayers::Layer& aLayer,
nsRect clipBorderArea =
::BoxDecorationRectForBorder(aForFrame, aBorderArea, skipSides, &aBorder);
- bool haveRoundedCorners = GetRadii(aForFrame, aBorder, aBorderArea,
- clipBorderArea, aClipState->mRadii);
+ bool haveRoundedCorners = false;
+ nsIAtom* fType = aForFrame->GetType();
+ if (fType != nsGkAtoms::tableColGroupFrame &&
+ fType != nsGkAtoms::tableColFrame &&
+ fType != nsGkAtoms::tableRowFrame &&
+ fType != nsGkAtoms::tableRowGroupFrame) {
+ haveRoundedCorners = GetRadii(aForFrame, aBorder, aBorderArea,
+ clipBorderArea, aClipState->mRadii);
+ }
bool isSolidBorder =
aWillPaintBorder && IsOpaqueBorder(aBorder);
diff --git a/layout/generic/nsImageFrame.cpp b/layout/generic/nsImageFrame.cpp
index aed50c4ea..b96af66b5 100644
--- a/layout/generic/nsImageFrame.cpp
+++ b/layout/generic/nsImageFrame.cpp
@@ -430,15 +430,11 @@ nsImageFrame::SourceRectToDest(const nsIntRect& aRect)
// that we'll construct image frames for them as needed if their display is
// toggled from "none" (though we won't paint them, unless their visibility
// is changed too).
-#define BAD_STATES (NS_EVENT_STATE_BROKEN | NS_EVENT_STATE_USERDISABLED | \
- NS_EVENT_STATE_LOADING)
+#define BAD_STATES (NS_EVENT_STATE_BROKEN | NS_EVENT_STATE_USERDISABLED)
-// This is a macro so that we don't evaluate the boolean last arg
-// unless we have to; it can be expensive
-#define IMAGE_OK(_state, _loadingOK) \
- (!(_state).HasAtLeastOneOfStates(BAD_STATES) || \
- (!(_state).HasAtLeastOneOfStates(NS_EVENT_STATE_BROKEN | NS_EVENT_STATE_USERDISABLED) && \
- (_state).HasState(NS_EVENT_STATE_LOADING) && (_loadingOK)))
+static bool ImageOk(EventStates aState) {
+ return !aState.HasAtLeastOneOfStates(BAD_STATES);
+}
static bool HasAltText(Element* aElement)
{
@@ -459,10 +455,8 @@ static bool HasAltText(Element* aElement)
nsImageFrame::ShouldCreateImageFrameFor(Element* aElement,
nsStyleContext* aStyleContext)
{
- EventStates state = aElement->State();
- if (IMAGE_OK(state,
- HaveSpecifiedSize(aStyleContext->StylePosition()))) {
- // Image is fine; do the image frame thing
+ if (ImageOk(aElement->State())) {
+ // Image is fine or loading; do the image frame thing
return true;
}
@@ -1016,8 +1010,7 @@ nsImageFrame::Reflow(nsPresContext* aPresContext,
}
aMetrics.SetOverflowAreasToDesiredBounds();
- EventStates contentState = mContent->AsElement()->State();
- bool imageOK = IMAGE_OK(contentState, true);
+ bool imageOK = ImageOk(mContent->AsElement()->State());
// Determine if the size is available
bool haveSize = false;
@@ -1336,7 +1329,7 @@ nsImageFrame::DisplayAltFeedback(nsRenderingContext& aRenderingContext,
MOZ_ASSERT(gIconLoad, "How did we succeed in Init then?");
// Whether we draw the broken or loading icon.
- bool isLoading = IMAGE_OK(GetContent()->AsElement()->State(), true);
+ bool isLoading = ImageOk(mContent->AsElement()->State());
// Calculate the inner area
nsRect inner = GetInnerArea() + aPt;
@@ -1756,8 +1749,7 @@ nsImageFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
getter_AddRefs(currentRequest));
}
- EventStates contentState = mContent->AsElement()->State();
- bool imageOK = IMAGE_OK(contentState, true);
+ bool imageOK = ImageOk(mContent->AsElement()->State());
// XXX(seth): The SizeIsAvailable check here should not be necessary - the
// intention is that a non-null mImage means we have a size, but there is
diff --git a/layout/reftests/table-bordercollapse/bug1375518-2.html b/layout/reftests/table-bordercollapse/bug1375518-2.html
new file mode 100644
index 000000000..c36737622
--- /dev/null
+++ b/layout/reftests/table-bordercollapse/bug1375518-2.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Table border collapse</title>
+<style>
+ div > span {
+ display: table-cell;
+ background-color: black;
+ height: 100px;
+ width: 100px;
+ border-radius: 50px;
+ }
+ div {
+ display: table;
+ border-collapse: collapse;
+ }
+</style>
+</head>
+<body>
+ <div><span></span></div>
+</body>
+</html> \ No newline at end of file
diff --git a/layout/reftests/table-bordercollapse/bug1375518-3.html b/layout/reftests/table-bordercollapse/bug1375518-3.html
new file mode 100644
index 000000000..1d188e19f
--- /dev/null
+++ b/layout/reftests/table-bordercollapse/bug1375518-3.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Separated border model table</title>
+<style>
+ div > span {
+ display: table-cell;
+ background-color: black;
+ height: 100px;
+ width: 100px;
+ border-radius: 50px;
+ }
+ div {
+ display: table;
+ border-collapse: separate;
+ }
+</style>
+</head>
+<body>
+ <div><span></span></div>
+</body>
+</html> \ No newline at end of file
diff --git a/layout/reftests/table-bordercollapse/bug1375518-4-ref.html b/layout/reftests/table-bordercollapse/bug1375518-4-ref.html
new file mode 100644
index 000000000..f9a8f07d7
--- /dev/null
+++ b/layout/reftests/table-bordercollapse/bug1375518-4-ref.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<title>border-radius and separated border model tables</title>
+<style>
+
+body { background: white; color: black }
+
+table { border-collapse: separate; margin: 1em 2px; }
+table, td { border: 1px solid black; }
+
+.radius { border: 3px solid teal; background: aqua; color: black; }
+
+</style>
+
+<h1>border-radius and separated border model tables</h1>
+
+<table>
+ <tbody>
+ <tr><td>xx</td><td>xx</td><td>xx
+ </td></tr></tbody>
+ <tbody class="radius">
+ <tr><td>xx</td><td>xx</td><td>xx
+ </td></tr><tr><td>xx</td><td>xx</td><td>xx
+ </td></tr></tbody>
+ <tbody>
+ <tr><td>xx</td><td>xx</td><td>xx
+ </td></tr></tbody>
+</table>
+
+<table>
+ <tbody><tr class="radius"><td>xx</td><td>xx</td><td>xx
+ </td></tr><tr><td>xx</td><td>xx</td><td>xx
+</td></tr></tbody></table>
+
+<table>
+ <colgroup class="radius"><col><col></colgroup><colgroup><col>
+ </colgroup><tbody><tr><td>xx</td><td>xx</td><td>xx
+ </td></tr><tr><td>xx</td><td>xx</td><td>xx
+</td></tr></tbody></table>
+
+<table>
+ <colgroup><col><col class="radius"><col>
+ </colgroup><tbody><tr><td>xx</td><td>xx</td><td>xx
+ </td></tr><tr><td>xx</td><td>xx</td><td>xx
+</td></tr></tbody></table> \ No newline at end of file
diff --git a/layout/reftests/table-bordercollapse/bug1375518-4.html b/layout/reftests/table-bordercollapse/bug1375518-4.html
new file mode 100644
index 000000000..97aebd456
--- /dev/null
+++ b/layout/reftests/table-bordercollapse/bug1375518-4.html
@@ -0,0 +1,44 @@
+<!DOCTYPE html>
+<title>border-radius and separated border model tables</title>
+<style>
+
+body { background: white; color: black }
+
+table { border-collapse: separate; margin: 1em 2px; }
+table, td { border: 1px solid black; }
+
+.radius { border: 3px solid teal; background: aqua; color: black; border-radius: 12px }
+
+</style>
+
+<h1>border-radius and separated border model tables</h1>
+
+<table>
+ <tbody>
+ <tr><td>xx</td><td>xx</td><td>xx
+ </td></tr></tbody>
+ <tbody class="radius">
+ <tr><td>xx</td><td>xx</td><td>xx
+ </td></tr><tr><td>xx</td><td>xx</td><td>xx
+ </td></tr></tbody>
+ <tbody>
+ <tr><td>xx</td><td>xx</td><td>xx
+ </td></tr></tbody>
+</table>
+
+<table>
+ <tbody><tr class="radius"><td>xx</td><td>xx</td><td>xx
+ </td></tr><tr><td>xx</td><td>xx</td><td>xx
+</td></tr></tbody></table>
+
+<table>
+ <colgroup class="radius"><col><col></colgroup><colgroup><col>
+ </colgroup><tbody><tr><td>xx</td><td>xx</td><td>xx
+ </td></tr><tr><td>xx</td><td>xx</td><td>xx
+</td></tr></tbody></table>
+
+<table>
+ <colgroup><col><col class="radius"><col>
+ </colgroup><tbody><tr><td>xx</td><td>xx</td><td>xx
+ </td></tr><tr><td>xx</td><td>xx</td><td>xx
+</td></tr></tbody></table> \ No newline at end of file
diff --git a/layout/reftests/table-bordercollapse/bug1375518-5-ref.html b/layout/reftests/table-bordercollapse/bug1375518-5-ref.html
new file mode 100644
index 000000000..eaf1710bc
--- /dev/null
+++ b/layout/reftests/table-bordercollapse/bug1375518-5-ref.html
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML>
+<title>border-radius and border-collapse tables</title>
+<style>
+
+body { background: white; color: black }
+
+table { border-collapse: collapse; margin: 1em 2px; }
+td { border: 1px solid black; }
+
+.radius { border: 3px solid teal; background: aqua; color: black; }
+
+</style>
+
+<h1>border-radius and border-collapse tables</h1>
+
+<table>
+ <tbody>
+ <tr><td>xx<td>xx<td>xx
+ </tbody>
+ <tbody class="radius">
+ <tr><td>xx<td>xx<td>xx
+ <tr><td>xx<td>xx<td>xx
+ </tbody>
+ <tbody>
+ <tr><td>xx<td>xx<td>xx
+ </tbody>
+</table>
+
+<table>
+ <tr class="radius"><td>xx<td>xx<td>xx
+ <tr><td>xx<td>xx<td>xx
+</table>
+
+<table>
+ <colgroup class="radius"><col><col><colgroup><col>
+ <tr><td>xx<td>xx<td>xx
+ <tr><td>xx<td>xx<td>xx
+</table>
+
+<table>
+ <col><col class="radius"><col>
+ <tr><td>xx<td>xx<td>xx
+ <tr><td>xx<td>xx<td>xx
+</table>
diff --git a/layout/reftests/table-bordercollapse/bug1375518-5.html b/layout/reftests/table-bordercollapse/bug1375518-5.html
new file mode 100644
index 000000000..7f123cd42
--- /dev/null
+++ b/layout/reftests/table-bordercollapse/bug1375518-5.html
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML>
+<title>border-radius and border-collapse tables</title>
+<style>
+
+body { background: white; color: black }
+
+table { border-collapse: collapse; margin: 1em 2px; }
+td { border: 1px solid black; }
+
+.radius { border: 3px solid teal; background: aqua; color: black; border-radius: 12px }
+
+</style>
+
+<h1>border-radius and border-collapse tables</h1>
+
+<table>
+ <tbody>
+ <tr><td>xx<td>xx<td>xx
+ </tbody>
+ <tbody class="radius">
+ <tr><td>xx<td>xx<td>xx
+ <tr><td>xx<td>xx<td>xx
+ </tbody>
+ <tbody>
+ <tr><td>xx<td>xx<td>xx
+ </tbody>
+</table>
+
+<table>
+ <tr class="radius"><td>xx<td>xx<td>xx
+ <tr><td>xx<td>xx<td>xx
+</table>
+
+<table>
+ <colgroup class="radius"><col><col><colgroup><col>
+ <tr><td>xx<td>xx<td>xx
+ <tr><td>xx<td>xx<td>xx
+</table>
+
+<table>
+ <col><col class="radius"><col>
+ <tr><td>xx<td>xx<td>xx
+ <tr><td>xx<td>xx<td>xx
+</table>
diff --git a/layout/reftests/table-bordercollapse/bug1375518-ref.html b/layout/reftests/table-bordercollapse/bug1375518-ref.html
new file mode 100644
index 000000000..5d58d6839
--- /dev/null
+++ b/layout/reftests/table-bordercollapse/bug1375518-ref.html
@@ -0,0 +1,17 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Table border collapse</title>
+<style>
+ div {
+ background-color: black;
+ height: 100px;
+ width: 100px;
+ border-radius: 50px;
+ }
+</style>
+</head>
+<body>
+ <div></div>
+</body>
+</html> \ No newline at end of file
diff --git a/layout/reftests/table-bordercollapse/bug1375518.html b/layout/reftests/table-bordercollapse/bug1375518.html
new file mode 100644
index 000000000..101d92548
--- /dev/null
+++ b/layout/reftests/table-bordercollapse/bug1375518.html
@@ -0,0 +1,24 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Table border collapse</title>
+<style>
+ table {
+ border-collapse: collapse;
+ height: 100px;
+ width: 100px;
+ }
+ td {
+ background-color: black;
+ border-radius: 50px;
+ }
+</style>
+</head>
+<body>
+ <table>
+ <tr>
+ <td></td>
+ </tr>
+ </table>
+</body>
+</html> \ No newline at end of file
diff --git a/layout/reftests/table-bordercollapse/bug1394226-notref.html b/layout/reftests/table-bordercollapse/bug1394226-notref.html
new file mode 100644
index 000000000..7c4b694a9
--- /dev/null
+++ b/layout/reftests/table-bordercollapse/bug1394226-notref.html
@@ -0,0 +1,63 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Table border collapse</title>
+<style>
+ table {
+ border-collapse: collapse;
+ }
+ tr.odd {
+ background-color: LightCyan;
+ }
+ tr.even {
+ background-color: LightSkyBlue;
+ }
+ td {
+ border: 5px solid DarkBlue;
+ }
+ .inner td {
+ border: 5px solid red;
+ }
+ .inner tr:first-child td {
+ border-top: 5px solid DarkBlue;
+ }
+ .inner tr td:first-child {
+ border-left: 5px solid DarkBlue;
+ }
+ .inner tr:last-child td {
+ border-bottom: 5px solid DarkBlue;
+ }
+ .inner tr td:last-child {
+ border-right: 5px solid DarkBlue;
+ }
+ div {
+ height: 10px;
+ }
+</style>
+</head>
+<body>
+ <div></div>
+ <table>
+ <caption></caption>
+ <tr class="odd">
+ <td>Cell 1-1</td>
+ <td>Cell 1-2</td>
+ </tr>
+ <tr class="even">
+ <td>Cell 2-1</td>
+ <td>Cell 2-2
+ <table class="inner">
+ <tr class="odd">
+ <td>Cell 2-2/1-1</td>
+ <td>Cell 2-2/1-2</td>
+ </tr>
+ <tr class="even">
+ <td>Cell 2-2/2-1</td>
+ <td>Cell 2-2/2-2</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+</body>
+</html> \ No newline at end of file
diff --git a/layout/reftests/table-bordercollapse/bug1394226-ref.html b/layout/reftests/table-bordercollapse/bug1394226-ref.html
new file mode 100644
index 000000000..11c72d4bb
--- /dev/null
+++ b/layout/reftests/table-bordercollapse/bug1394226-ref.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Table border collapse</title>
+<style>
+ table {
+ border-collapse: collapse;
+ }
+ tr.odd {
+ background-color: LightCyan;
+ }
+ tr.even {
+ background-color: LightSkyBlue;
+ }
+ td {
+ border: 5px solid DarkBlue;
+ }
+ div {
+ height: 10px;
+ }
+</style>
+</head>
+<body>
+ <div></div>
+ <table>
+ <tr class="odd">
+ <td>Cell 1-1</td>
+ <td>Cell 1-2</td>
+ </tr>
+ <tr class="even">
+ <td>Cell 2-1</td>
+ <td>Cell 2-2
+ <table>
+ <tr class="odd">
+ <td>Cell 2-2/1-1</td>
+ <td>Cell 2-2/1-2</td>
+ </tr>
+ <tr class="even">
+ <td>Cell 2-2/2-1</td>
+ <td>Cell 2-2/2-2</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+</body>
+</html> \ No newline at end of file
diff --git a/layout/reftests/table-bordercollapse/bug1394226.html b/layout/reftests/table-bordercollapse/bug1394226.html
new file mode 100644
index 000000000..04c8ab173
--- /dev/null
+++ b/layout/reftests/table-bordercollapse/bug1394226.html
@@ -0,0 +1,47 @@
+<!DOCTYPE html>
+<html>
+<head>
+<title>Table border collapse</title>
+<style>
+ table {
+ border-collapse: collapse;
+ }
+ tr.odd {
+ background-color: LightCyan;
+ }
+ tr.even {
+ background-color: LightSkyBlue;
+ }
+ td {
+ border: 5px solid DarkBlue;
+ }
+ caption {
+ height: 10px
+ }
+</style>
+</head>
+<body>
+ <table>
+ <caption></caption>
+ <tr class="odd">
+ <td>Cell 1-1</td>
+ <td>Cell 1-2</td>
+ </tr>
+ <tr class="even">
+ <td>Cell 2-1</td>
+ <td>Cell 2-2
+ <table>
+ <tr class="odd">
+ <td>Cell 2-2/1-1</td>
+ <td>Cell 2-2/1-2</td>
+ </tr>
+ <tr class="even">
+ <td>Cell 2-2/2-1</td>
+ <td>Cell 2-2/2-2</td>
+ </tr>
+ </table>
+ </td>
+ </tr>
+ </table>
+</body>
+</html> \ No newline at end of file
diff --git a/layout/reftests/table-bordercollapse/reftest.list b/layout/reftests/table-bordercollapse/reftest.list
index 5ca6f305a..2610d202d 100644
--- a/layout/reftests/table-bordercollapse/reftest.list
+++ b/layout/reftests/table-bordercollapse/reftest.list
@@ -1,3 +1,10 @@
+== bug1375518.html bug1375518-ref.html
+== bug1375518-2.html bug1375518-ref.html
+== bug1375518-3.html bug1375518-ref.html
+== bug1375518-4.html bug1375518-4-ref.html
+== bug1375518-5.html bug1375518-5-ref.html
+== bug1394226.html bug1394226-ref.html
+!= bug1394226.html bug1394226-notref.html
== bc_dyn_cell1.html bc_dyn_cell1_ref.html
== bc_dyn_cell2.html bc_dyn_cell2_ref.html
== bc_dyn_cell3.html bc_dyn_cell3_ref.html
diff --git a/layout/style/res/html.css b/layout/style/res/html.css
index ea8efbe24..4f43f3134 100644
--- a/layout/style/res/html.css
+++ b/layout/style/res/html.css
@@ -642,7 +642,6 @@ hr[size="1"] {
img:-moz-broken::before, input:-moz-broken::before,
img:-moz-user-disabled::before, input:-moz-user-disabled::before,
-img:-moz-loading::before, input:-moz-loading::before,
applet:-moz-empty-except-children-with-localname(param):-moz-broken::before,
applet:-moz-empty-except-children-with-localname(param):-moz-user-disabled::before {
content: -moz-alt-content !important;
diff --git a/layout/tables/nsTableCellFrame.cpp b/layout/tables/nsTableCellFrame.cpp
index 9c715d999..ee05565a9 100644
--- a/layout/tables/nsTableCellFrame.cpp
+++ b/layout/tables/nsTableCellFrame.cpp
@@ -1108,18 +1108,6 @@ nsBCTableCellFrame::GetUsedBorder() const
return GetBorderWidth(wm).GetPhysicalMargin(wm);
}
-/* virtual */ bool
-nsBCTableCellFrame::GetBorderRadii(const nsSize& aFrameSize,
- const nsSize& aBorderArea,
- Sides aSkipSides,
- nscoord aRadii[8]) const
-{
- NS_FOR_CSS_HALF_CORNERS(corner) {
- aRadii[corner] = 0;
- }
- return false;
-}
-
#ifdef DEBUG_FRAME_DUMP
nsresult
nsBCTableCellFrame::GetFrameName(nsAString& aResult) const
diff --git a/layout/tables/nsTableCellFrame.h b/layout/tables/nsTableCellFrame.h
index a822e309d..2acd59667 100644
--- a/layout/tables/nsTableCellFrame.h
+++ b/layout/tables/nsTableCellFrame.h
@@ -340,10 +340,6 @@ public:
virtual nsIAtom* GetType() const override;
virtual nsMargin GetUsedBorder() const override;
- virtual bool GetBorderRadii(const nsSize& aFrameSize,
- const nsSize& aBorderArea,
- Sides aSkipSides,
- nscoord aRadii[8]) const override;
// Get the *inner half of the border only*, in twips.
virtual LogicalMargin GetBorderWidth(WritingMode aWM) const override;
diff --git a/layout/tables/nsTableWrapperFrame.cpp b/layout/tables/nsTableWrapperFrame.cpp
index 476024e96..86f032218 100644
--- a/layout/tables/nsTableWrapperFrame.cpp
+++ b/layout/tables/nsTableWrapperFrame.cpp
@@ -187,8 +187,11 @@ nsTableWrapperFrame::BuildDisplayList(nsDisplayListBuilder* aBuilder,
BuildDisplayListForChild(aBuilder, mCaptionFrames.FirstChild(), captionSet);
// Now we have to sort everything by content order, since the caption
- // may be somewhere inside the table
- set.BlockBorderBackgrounds()->SortByContentOrder(GetContent());
+ // may be somewhere inside the table.
+ // We don't sort BlockBorderBackgrounds and BorderBackgrounds because the
+ // display items in those lists should stay out of content order in order to
+ // follow the rules in https://www.w3.org/TR/CSS21/zindex.html#painting-order
+ // and paint the caption background after all of the rest.
set.Floats()->SortByContentOrder(GetContent());
set.Content()->SortByContentOrder(GetContent());
set.PositionedDescendants()->SortByContentOrder(GetContent());
diff --git a/netwerk/base/PollableEvent.cpp b/netwerk/base/PollableEvent.cpp
index 9cb45efde..af257808d 100644
--- a/netwerk/base/PollableEvent.cpp
+++ b/netwerk/base/PollableEvent.cpp
@@ -9,6 +9,7 @@
#include "mozilla/Assertions.h"
#include "mozilla/DebugOnly.h"
#include "mozilla/Logging.h"
+#include "mozilla/net/DNS.h"
#include "prerror.h"
#include "prio.h"
#include "private/pprio.h"
@@ -21,6 +22,8 @@
#define USEPIPE 1
#endif
+using namespace mozilla::net;
+
namespace mozilla {
namespace net {
diff --git a/netwerk/base/Predictor.cpp b/netwerk/base/Predictor.cpp
index 12e4eb415..59109b8cf 100644
--- a/netwerk/base/Predictor.cpp
+++ b/netwerk/base/Predictor.cpp
@@ -35,6 +35,7 @@
#include "nsStreamUtils.h"
#include "nsString.h"
#include "nsThreadUtils.h"
+#include "nsHttpRequestHead.h"
#include "mozilla/Logging.h"
#include "mozilla/Preferences.h"
@@ -51,6 +52,7 @@
#include "mozilla/dom/ContentParent.h"
using namespace mozilla;
+using namespace mozilla::dom;
namespace mozilla {
namespace net {
diff --git a/netwerk/base/ProxyAutoConfig.cpp b/netwerk/base/ProxyAutoConfig.cpp
index 6a9577669..858e0e378 100644
--- a/netwerk/base/ProxyAutoConfig.cpp
+++ b/netwerk/base/ProxyAutoConfig.cpp
@@ -16,6 +16,7 @@
#include "jsfriendapi.h"
#include "prnetdb.h"
#include "nsITimer.h"
+#include "mozilla/Mutex.h"
#include "mozilla/net/DNS.h"
#include "nsServiceManagerUtils.h"
#include "nsNetCID.h"
diff --git a/netwerk/base/ThrottleQueue.cpp b/netwerk/base/ThrottleQueue.cpp
index d5b8a41df..05711c1a1 100644
--- a/netwerk/base/ThrottleQueue.cpp
+++ b/netwerk/base/ThrottleQueue.cpp
@@ -6,7 +6,9 @@
#include "ThrottleQueue.h"
#include "nsISeekableStream.h"
+#include "nsIEventTarget.h"
#include "nsIAsyncInputStream.h"
+#include "nsSocketTransportService2.h"
#include "nsStreamUtils.h"
#include "nsNetUtil.h"
diff --git a/netwerk/base/ThrottleQueue.h b/netwerk/base/ThrottleQueue.h
index 5e16c8ef6..9fb377cc8 100644
--- a/netwerk/base/ThrottleQueue.h
+++ b/netwerk/base/ThrottleQueue.h
@@ -8,8 +8,10 @@
#define mozilla_net_ThrottleQueue_h
#include "mozilla/TimeStamp.h"
+#include "nsCOMPtr.h"
#include "nsIThrottledInputChannel.h"
#include "nsITimer.h"
+#include "nsTArray.h"
namespace mozilla {
namespace net {
diff --git a/netwerk/base/moz.build b/netwerk/base/moz.build
index 3198d746c..a9c7db845 100644
--- a/netwerk/base/moz.build
+++ b/netwerk/base/moz.build
@@ -182,7 +182,7 @@ EXPORTS.mozilla.net += [
'ReferrerPolicy.h',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'ArrayBufferInputStream.cpp',
'BackgroundFileSaver.cpp',
'CaptivePortalService.cpp',
diff --git a/netwerk/base/nsAsyncStreamCopier.cpp b/netwerk/base/nsAsyncStreamCopier.cpp
index 6eec29d61..434304084 100644
--- a/netwerk/base/nsAsyncStreamCopier.cpp
+++ b/netwerk/base/nsAsyncStreamCopier.cpp
@@ -14,6 +14,7 @@
#include "mozilla/Logging.h"
using namespace mozilla;
+using namespace mozilla::net;
#undef LOG
//
diff --git a/netwerk/base/nsBaseChannel.cpp b/netwerk/base/nsBaseChannel.cpp
index 200804c1e..2575fac04 100644
--- a/netwerk/base/nsBaseChannel.cpp
+++ b/netwerk/base/nsBaseChannel.cpp
@@ -21,9 +21,12 @@
#include "nsProxyRelease.h"
#include "nsXULAppAPI.h"
#include "nsContentSecurityManager.h"
-#include "LoadInfo.h"
+#include "mozilla/LoadInfo.h"
#include "nsServiceManagerUtils.h"
+using namespace mozilla;
+using namespace mozilla::net;
+
// This class is used to suspend a request across a function scope.
class ScopedRequestSuspender {
public:
@@ -87,7 +90,7 @@ nsBaseChannel::Redirect(nsIChannel *newChannel, uint32_t redirectFlags,
nsSecurityFlags secFlags = mLoadInfo->GetSecurityFlags() &
~nsILoadInfo::SEC_FORCE_INHERIT_PRINCIPAL;
nsCOMPtr<nsILoadInfo> newLoadInfo =
- static_cast<mozilla::LoadInfo*>(mLoadInfo.get())->CloneWithNewSecFlags(secFlags);
+ static_cast<LoadInfo*>(mLoadInfo.get())->CloneWithNewSecFlags(secFlags);
nsCOMPtr<nsIPrincipal> uriPrincipal;
nsIScriptSecurityManager *sm = nsContentUtils::GetSecurityManager();
diff --git a/netwerk/base/nsChannelClassifier.cpp b/netwerk/base/nsChannelClassifier.cpp
index 6b9f9ede3..8fc398de6 100644
--- a/netwerk/base/nsChannelClassifier.cpp
+++ b/netwerk/base/nsChannelClassifier.cpp
@@ -17,6 +17,7 @@
#include "nsIDOMDocument.h"
#include "nsIHttpChannelInternal.h"
#include "nsIIOService.h"
+#include "nsILoadContext.h"
#include "nsIParentChannel.h"
#include "nsIPermissionManager.h"
#include "nsIPrivateBrowsingTrackingProtectionWhitelist.h"
diff --git a/netwerk/base/nsInputStreamPump.cpp b/netwerk/base/nsInputStreamPump.cpp
index 19c2a790a..0f47dfb5b 100644
--- a/netwerk/base/nsInputStreamPump.cpp
+++ b/netwerk/base/nsInputStreamPump.cpp
@@ -19,6 +19,9 @@
#include "nsNetCID.h"
#include <algorithm>
+using namespace mozilla;
+using namespace mozilla::net;
+
static NS_DEFINE_CID(kStreamTransportServiceCID, NS_STREAMTRANSPORTSERVICE_CID);
//
diff --git a/netwerk/base/nsMIMEInputStream.cpp b/netwerk/base/nsMIMEInputStream.cpp
index ce1188ea0..5829f7ae4 100644
--- a/netwerk/base/nsMIMEInputStream.cpp
+++ b/netwerk/base/nsMIMEInputStream.cpp
@@ -24,6 +24,7 @@
using namespace mozilla::ipc;
using mozilla::Maybe;
+using mozilla::Nothing;
class nsMIMEInputStream : public nsIMIMEInputStream,
public nsISeekableStream,
diff --git a/netwerk/base/nsStandardURL.cpp b/netwerk/base/nsStandardURL.cpp
index 7317240c2..81b485502 100644
--- a/netwerk/base/nsStandardURL.cpp
+++ b/netwerk/base/nsStandardURL.cpp
@@ -26,6 +26,7 @@
#include "nsContentUtils.h"
#include "prprf.h"
#include "nsReadableUtils.h"
+#include "nsPrintfCString.h"
using mozilla::dom::EncodingUtils;
using namespace mozilla::ipc;
diff --git a/netwerk/base/nsSyncStreamListener.cpp b/netwerk/base/nsSyncStreamListener.cpp
index e80e885c5..af24a8957 100644
--- a/netwerk/base/nsSyncStreamListener.cpp
+++ b/netwerk/base/nsSyncStreamListener.cpp
@@ -8,6 +8,8 @@
#include "nsThreadUtils.h"
#include <algorithm>
+using namespace mozilla::net;
+
nsresult
nsSyncStreamListener::Init()
{
diff --git a/netwerk/base/nsTemporaryFileInputStream.cpp b/netwerk/base/nsTemporaryFileInputStream.cpp
index c7c5b0648..86dc9e06d 100644
--- a/netwerk/base/nsTemporaryFileInputStream.cpp
+++ b/netwerk/base/nsTemporaryFileInputStream.cpp
@@ -4,9 +4,16 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
#include "nsTemporaryFileInputStream.h"
+
+#include "mozilla/ipc/InputStreamUtils.h"
+#include "mozilla/Mutex.h"
#include "nsStreamUtils.h"
+#include "private/pprio.h"
#include <algorithm>
+using namespace mozilla;
+using namespace mozilla::ipc;
+
typedef mozilla::ipc::FileDescriptor::PlatformHandleType FileHandleType;
NS_IMPL_ISUPPORTS(nsTemporaryFileInputStream,
diff --git a/netwerk/cache/moz.build b/netwerk/cache/moz.build
index adf6e8bd2..d343cc5f5 100644
--- a/netwerk/cache/moz.build
+++ b/netwerk/cache/moz.build
@@ -21,7 +21,7 @@ EXPORTS += [
'nsDeleteDir.h'
]
-UNIFIED_SOURCES += [
+SOURCES += [
'nsApplicationCacheService.cpp',
'nsCache.cpp',
'nsCacheEntry.cpp',
diff --git a/netwerk/cache/nsDiskCacheDeviceSQL.cpp b/netwerk/cache/nsDiskCacheDeviceSQL.cpp
index f4b1d72c9..69cc15130 100644
--- a/netwerk/cache/nsDiskCacheDeviceSQL.cpp
+++ b/netwerk/cache/nsDiskCacheDeviceSQL.cpp
@@ -10,6 +10,7 @@
#include "mozilla/Attributes.h"
#include "mozilla/Sprintf.h"
#include "mozilla/ThreadLocal.h"
+#include "mozilla/Unused.h"
#include "nsCache.h"
#include "nsDiskCache.h"
@@ -57,6 +58,7 @@ using namespace mozilla::storage;
using mozilla::NeckoOriginAttributes;
static const char OFFLINE_CACHE_DEVICE_ID[] = { "offline" };
+static NS_DEFINE_CID(kCacheServiceCID, NS_CACHESERVICE_CID);
#define LOG(args) CACHE_LOG_DEBUG(args)
diff --git a/netwerk/cache2/CacheFile.h b/netwerk/cache2/CacheFile.h
index 3c8f7e97d..6d9d433b6 100644
--- a/netwerk/cache2/CacheFile.h
+++ b/netwerk/cache2/CacheFile.h
@@ -10,6 +10,7 @@
#include "CacheFileMetadata.h"
#include "nsRefPtrHashtable.h"
#include "nsClassHashtable.h"
+#include "nsICacheEntry.h"
#include "mozilla/Mutex.h"
class nsIInputStream;
diff --git a/netwerk/cache2/CacheFileContextEvictor.cpp b/netwerk/cache2/CacheFileContextEvictor.cpp
index acf089b79..65feb4462 100644
--- a/netwerk/cache2/CacheFileContextEvictor.cpp
+++ b/netwerk/cache2/CacheFileContextEvictor.cpp
@@ -8,6 +8,7 @@
#include "CacheIndex.h"
#include "CacheIndexIterator.h"
#include "CacheFileUtils.h"
+#include "CacheObserver.h"
#include "nsIFile.h"
#include "LoadContextInfo.h"
#include "nsThreadUtils.h"
diff --git a/netwerk/cache2/CacheFileUtils.cpp b/netwerk/cache2/CacheFileUtils.cpp
index a090a9cb1..11dee4e99 100644
--- a/netwerk/cache2/CacheFileUtils.cpp
+++ b/netwerk/cache2/CacheFileUtils.cpp
@@ -5,6 +5,7 @@
#include "CacheIndex.h"
#include "CacheLog.h"
#include "CacheFileUtils.h"
+#include "CacheObserver.h"
#include "LoadContextInfo.h"
#include "mozilla/Tokenizer.h"
#include "nsCOMPtr.h"
diff --git a/netwerk/cache2/CacheHashUtils.cpp b/netwerk/cache2/CacheHashUtils.cpp
index 1f816e347..6783f0b86 100644
--- a/netwerk/cache2/CacheHashUtils.cpp
+++ b/netwerk/cache2/CacheHashUtils.cpp
@@ -6,6 +6,7 @@
#include "mozilla/BasePrincipal.h"
#include "plstr.h"
+#include "mozilla/SHA1.h"
namespace mozilla {
namespace net {
diff --git a/netwerk/cache2/CacheIOThread.cpp b/netwerk/cache2/CacheIOThread.cpp
index 2fbc0ccce..c686c0f8d 100644
--- a/netwerk/cache2/CacheIOThread.cpp
+++ b/netwerk/cache2/CacheIOThread.cpp
@@ -4,6 +4,8 @@
#include "CacheIOThread.h"
#include "CacheFileIOManager.h"
+#include "CacheObserver.h"
+#include "CacheLog.h"
#include "nsIRunnable.h"
#include "nsISupportsImpl.h"
diff --git a/netwerk/cache2/moz.build b/netwerk/cache2/moz.build
index 4fc6db59d..ce30e85af 100644
--- a/netwerk/cache2/moz.build
+++ b/netwerk/cache2/moz.build
@@ -21,7 +21,8 @@ EXPORTS += [
'CacheStorageService.h',
]
-UNIFIED_SOURCES += [
+SOURCES += [
+ 'AppCacheStorage.cpp',
'CacheEntry.cpp',
'CacheFile.cpp',
'CacheFileChunk.cpp',
@@ -43,11 +44,6 @@ UNIFIED_SOURCES += [
'OldWrappers.cpp',
]
-# AppCacheStorage.cpp cannot be built in unified mode because it uses plarena.h.
-SOURCES += [
- 'AppCacheStorage.cpp',
-]
-
LOCAL_INCLUDES += [
'/netwerk/base',
'/netwerk/cache',
diff --git a/netwerk/cookie/moz.build b/netwerk/cookie/moz.build
index 207790008..95e27e94b 100644
--- a/netwerk/cookie/moz.build
+++ b/netwerk/cookie/moz.build
@@ -21,13 +21,10 @@ if CONFIG['NECKO_COOKIES']:
'CookieServiceChild.h',
'CookieServiceParent.h',
]
- UNIFIED_SOURCES += [
+ SOURCES += [
'CookieServiceChild.cpp',
'CookieServiceParent.cpp',
'nsCookie.cpp',
- ]
- # nsCookieService.cpp can't be unified because of symbol conflicts
- SOURCES += [
'nsCookieService.cpp',
]
LOCAL_INCLUDES += [
diff --git a/netwerk/dns/mdns/libmdns/moz.build b/netwerk/dns/mdns/libmdns/moz.build
index b7d376fc3..feab013ff 100644
--- a/netwerk/dns/mdns/libmdns/moz.build
+++ b/netwerk/dns/mdns/libmdns/moz.build
@@ -5,7 +5,7 @@
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
- UNIFIED_SOURCES += [
+ SOURCES += [
'MDNSResponderOperator.cpp',
'MDNSResponderReply.cpp',
'nsDNSServiceDiscovery.cpp',
@@ -31,7 +31,7 @@ else:
'fallback/MulticastDNS.jsm',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'nsDNSServiceInfo.cpp',
'nsMulticastDNSModule.cpp',
]
diff --git a/netwerk/dns/mdns/libmdns/nsDNSServiceDiscovery.h b/netwerk/dns/mdns/libmdns/nsDNSServiceDiscovery.h
index 9bf2c798a..abe98f357 100644
--- a/netwerk/dns/mdns/libmdns/nsDNSServiceDiscovery.h
+++ b/netwerk/dns/mdns/libmdns/nsDNSServiceDiscovery.h
@@ -6,6 +6,7 @@
#ifndef mozilla_netwerk_dns_mdns_libmdns_nsDNSServiceDiscovery_h
#define mozilla_netwerk_dns_mdns_libmdns_nsDNSServiceDiscovery_h
+#include "MDNSResponderOperator.h"
#include "nsIDNSServiceDiscovery.h"
#include "nsCOMPtr.h"
#include "mozilla/RefPtr.h"
diff --git a/netwerk/dns/moz.build b/netwerk/dns/moz.build
index c3b84df2f..437f69bc5 100644
--- a/netwerk/dns/moz.build
+++ b/netwerk/dns/moz.build
@@ -29,11 +29,6 @@ EXPORTS.mozilla.net += [
]
SOURCES += [
- 'nsEffectiveTLDService.cpp', # Excluded from UNIFIED_SOURCES due to special build flags.
- 'nsHostResolver.cpp', # Redefines LOG
-]
-
-UNIFIED_SOURCES += [
'ChildDNSService.cpp',
'DNS.cpp',
'DNSListenerProxy.cpp',
@@ -41,6 +36,8 @@ UNIFIED_SOURCES += [
'DNSRequestParent.cpp',
'GetAddrInfo.cpp',
'nsDNSService2.cpp',
+ 'nsEffectiveTLDService.cpp',
+ 'nsHostResolver.cpp',
'nsIDNService.cpp',
'punycode.c',
]
diff --git a/netwerk/ipc/NeckoParent.cpp b/netwerk/ipc/NeckoParent.cpp
index 5913b59d9..e57481c55 100644
--- a/netwerk/ipc/NeckoParent.cpp
+++ b/netwerk/ipc/NeckoParent.cpp
@@ -45,6 +45,8 @@
#include "nsINetworkPredictor.h"
#include "nsINetworkPredictorVerifier.h"
#include "nsISpeculativeConnect.h"
+#include "nsIOService.h"
+#include "mozilla/ipc/URIUtils.h"
using mozilla::DocShellOriginAttributes;
using mozilla::NeckoOriginAttributes;
diff --git a/netwerk/ipc/moz.build b/netwerk/ipc/moz.build
index 0740e6f6b..d2bb10501 100644
--- a/netwerk/ipc/moz.build
+++ b/netwerk/ipc/moz.build
@@ -12,7 +12,7 @@ EXPORTS.mozilla.net += [
'NeckoParent.h',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'ChannelEventQueue.cpp',
'NeckoChild.cpp',
'NeckoCommon.cpp',
diff --git a/netwerk/protocol/about/moz.build b/netwerk/protocol/about/moz.build
index 60a10c9cc..7c1842a4d 100644
--- a/netwerk/protocol/about/moz.build
+++ b/netwerk/protocol/about/moz.build
@@ -14,7 +14,7 @@ EXPORTS += [
'nsAboutProtocolUtils.h',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'nsAboutBlank.cpp',
'nsAboutCache.cpp',
'nsAboutCacheEntry.cpp',
diff --git a/netwerk/protocol/about/nsAboutCache.h b/netwerk/protocol/about/nsAboutCache.h
index c2d1af850..6fb837eac 100644
--- a/netwerk/protocol/about/nsAboutCache.h
+++ b/netwerk/protocol/about/nsAboutCache.h
@@ -9,6 +9,7 @@
#include "nsIAboutModule.h"
#include "nsICacheStorageVisitor.h"
#include "nsICacheStorage.h"
+#include "nsIChannel.h"
#include "nsString.h"
#include "nsIOutputStream.h"
diff --git a/netwerk/protocol/about/nsAboutCacheEntry.h b/netwerk/protocol/about/nsAboutCacheEntry.h
index 44a78760b..8bfa0aa72 100644
--- a/netwerk/protocol/about/nsAboutCacheEntry.h
+++ b/netwerk/protocol/about/nsAboutCacheEntry.h
@@ -9,6 +9,7 @@
#include "nsIAboutModule.h"
#include "nsICacheEntryOpenCallback.h"
#include "nsICacheEntry.h"
+#include "nsIChannel.h"
#include "nsIStreamListener.h"
#include "nsString.h"
#include "nsCOMPtr.h"
diff --git a/netwerk/protocol/about/nsAboutProtocolHandler.cpp b/netwerk/protocol/about/nsAboutProtocolHandler.cpp
index 998fc71f9..905ecb5a6 100644
--- a/netwerk/protocol/about/nsAboutProtocolHandler.cpp
+++ b/netwerk/protocol/about/nsAboutProtocolHandler.cpp
@@ -20,6 +20,7 @@
#include "nsIWritablePropertyBag2.h"
#include "nsIChannel.h"
#include "nsIScriptError.h"
+#include "nsContentUtils.h"
namespace mozilla {
namespace net {
diff --git a/netwerk/protocol/data/moz.build b/netwerk/protocol/data/moz.build
index 0958118fa..2c45b8067 100644
--- a/netwerk/protocol/data/moz.build
+++ b/netwerk/protocol/data/moz.build
@@ -8,7 +8,7 @@ EXPORTS.mozilla.net += [
'DataChannelParent.h',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'DataChannelChild.cpp',
'DataChannelParent.cpp',
'nsDataChannel.cpp',
diff --git a/netwerk/protocol/data/nsDataChannel.cpp b/netwerk/protocol/data/nsDataChannel.cpp
index 608a6c6e0..148a7901a 100644
--- a/netwerk/protocol/data/nsDataChannel.cpp
+++ b/netwerk/protocol/data/nsDataChannel.cpp
@@ -16,6 +16,7 @@
#include "nsEscape.h"
using namespace mozilla;
+using namespace mozilla::net;
nsresult
nsDataChannel::OpenContentStream(bool async, nsIInputStream **result,
diff --git a/netwerk/protocol/device/moz.build b/netwerk/protocol/device/moz.build
index 3bb95930e..6900e725a 100644
--- a/netwerk/protocol/device/moz.build
+++ b/netwerk/protocol/device/moz.build
@@ -4,7 +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/.
-UNIFIED_SOURCES += [
+SOURCES += [
'nsDeviceChannel.cpp',
'nsDeviceProtocolHandler.cpp',
]
diff --git a/netwerk/protocol/file/moz.build b/netwerk/protocol/file/moz.build
index 223ff2f2b..c6be28ef2 100644
--- a/netwerk/protocol/file/moz.build
+++ b/netwerk/protocol/file/moz.build
@@ -15,7 +15,7 @@ XPIDL_SOURCES += [
XPIDL_MODULE = 'necko_file'
-UNIFIED_SOURCES += [
+SOURCES += [
'nsFileChannel.cpp',
'nsFileProtocolHandler.cpp',
]
diff --git a/netwerk/protocol/file/nsFileProtocolHandler.cpp b/netwerk/protocol/file/nsFileProtocolHandler.cpp
index e55cb9d47..3896dabad 100644
--- a/netwerk/protocol/file/nsFileProtocolHandler.cpp
+++ b/netwerk/protocol/file/nsFileProtocolHandler.cpp
@@ -28,6 +28,8 @@
#define DESKTOP_ENTRY_SECTION "Desktop Entry"
#endif
+using namespace mozilla::net;
+
//-----------------------------------------------------------------------------
nsFileProtocolHandler::nsFileProtocolHandler()
diff --git a/netwerk/protocol/ftp/moz.build b/netwerk/protocol/ftp/moz.build
index 060fb7575..f132dfdd3 100644
--- a/netwerk/protocol/ftp/moz.build
+++ b/netwerk/protocol/ftp/moz.build
@@ -20,7 +20,7 @@ EXPORTS.mozilla.net += [
'FTPChannelParent.h',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'FTPChannelChild.cpp',
'FTPChannelParent.cpp',
'nsFTPChannel.cpp',
diff --git a/netwerk/protocol/ftp/nsFTPChannel.cpp b/netwerk/protocol/ftp/nsFTPChannel.cpp
index 2a0f04915..5c5bee920 100644
--- a/netwerk/protocol/ftp/nsFTPChannel.cpp
+++ b/netwerk/protocol/ftp/nsFTPChannel.cpp
@@ -14,6 +14,9 @@ using namespace mozilla;
using namespace mozilla::net;
extern LazyLogModule gFTPLog;
+#undef LOG
+#define LOG(args) MOZ_LOG(gFTPLog, mozilla::LogLevel::Debug, args)
+
// There are two transport connections established for an
// ftp connection. One is used for the command channel , and
// the other for the data channel. The command channel is the first
diff --git a/netwerk/protocol/ftp/nsFTPChannel.h b/netwerk/protocol/ftp/nsFTPChannel.h
index 549e577b3..f829c5f59 100644
--- a/netwerk/protocol/ftp/nsFTPChannel.h
+++ b/netwerk/protocol/ftp/nsFTPChannel.h
@@ -18,6 +18,7 @@
#include "nsIProxyInfo.h"
#include "nsIProxiedChannel.h"
#include "nsIResumableChannel.h"
+#include "ADivertableParentChannel.h"
class nsIURI;
using mozilla::net::ADivertableParentChannel;
diff --git a/netwerk/protocol/http/Http2Push.cpp b/netwerk/protocol/http/Http2Push.cpp
index 34fc425d2..a1bbd72cc 100644
--- a/netwerk/protocol/http/Http2Push.cpp
+++ b/netwerk/protocol/http/Http2Push.cpp
@@ -19,6 +19,7 @@
#include "nsHttpChannel.h"
#include "nsIHttpPushListener.h"
#include "nsString.h"
+#include "nsSocketTransportService2.h"
namespace mozilla {
namespace net {
diff --git a/netwerk/protocol/http/HttpBaseChannel.cpp b/netwerk/protocol/http/HttpBaseChannel.cpp
index 568ef3012..a53022f71 100644
--- a/netwerk/protocol/http/HttpBaseChannel.cpp
+++ b/netwerk/protocol/http/HttpBaseChannel.cpp
@@ -11,6 +11,7 @@
#include "mozilla/net/HttpBaseChannel.h"
#include "nsHttpHandler.h"
+#include "nsHttpChannel.h"
#include "nsMimeTypes.h"
#include "nsNetCID.h"
#include "nsNetUtil.h"
diff --git a/netwerk/protocol/http/HttpChannelChild.cpp b/netwerk/protocol/http/HttpChannelChild.cpp
index 0a1e0f859..5d17b42b2 100644
--- a/netwerk/protocol/http/HttpChannelChild.cpp
+++ b/netwerk/protocol/http/HttpChannelChild.cpp
@@ -18,6 +18,7 @@
#include "mozilla/net/NeckoChild.h"
#include "mozilla/net/HttpChannelChild.h"
+#include "AltDataOutputStreamChild.h"
#include "nsISupportsPrimitives.h"
#include "nsChannelClassifier.h"
#include "nsStringStream.h"
diff --git a/netwerk/protocol/http/HttpChannelParent.cpp b/netwerk/protocol/http/HttpChannelParent.cpp
index 7c88b9222..36a02e0fa 100644
--- a/netwerk/protocol/http/HttpChannelParent.cpp
+++ b/netwerk/protocol/http/HttpChannelParent.cpp
@@ -24,6 +24,7 @@
#include "nsIAssociatedContentSecurity.h"
#include "nsIApplicationCacheService.h"
#include "mozilla/ipc/InputStreamUtils.h"
+#include "mozilla/ipc/IPCStreamUtils.h"
#include "mozilla/ipc/URIUtils.h"
#include "SerializedLoadContext.h"
#include "nsIAuthInformation.h"
@@ -40,6 +41,8 @@
#include "nsIWindowWatcher.h"
#include "nsIDocument.h"
#include "nsStringStream.h"
+#include "nsIStorageStream.h"
+#include "nsStreamUtils.h"
using mozilla::BasePrincipal;
using namespace mozilla::dom;
diff --git a/netwerk/protocol/http/HttpChannelParentListener.cpp b/netwerk/protocol/http/HttpChannelParentListener.cpp
index 59030cf99..d5fd77dd1 100644
--- a/netwerk/protocol/http/HttpChannelParentListener.cpp
+++ b/netwerk/protocol/http/HttpChannelParentListener.cpp
@@ -16,6 +16,7 @@
#include "nsIHttpHeaderVisitor.h"
#include "nsIRedirectChannelRegistrar.h"
#include "nsIPromptFactory.h"
+#include "nsIWindowWatcher.h"
#include "nsQueryObject.h"
using mozilla::Unused;
diff --git a/netwerk/protocol/http/moz.build b/netwerk/protocol/http/moz.build
index a1b57876b..8e3c51010 100644
--- a/netwerk/protocol/http/moz.build
+++ b/netwerk/protocol/http/moz.build
@@ -43,18 +43,11 @@ EXPORTS.mozilla.net += [
'TimingStruct.h',
]
-# ASpdySession.cpp and nsHttpAuthCache cannot be built in unified mode because
-# they use plarena.h.
SOURCES += [
- 'AlternateServices.cpp',
- 'ASpdySession.cpp',
- 'nsHttpAuthCache.cpp',
- 'nsHttpChannelAuthProvider.cpp', # redefines GetAuthType
-]
-
-UNIFIED_SOURCES += [
'AltDataOutputStreamChild.cpp',
'AltDataOutputStreamParent.cpp',
+ 'AlternateServices.cpp',
+ 'ASpdySession.cpp',
'CacheControlParser.cpp',
'ConnectionDiagnostics.cpp',
'Http2Compression.cpp',
@@ -70,14 +63,17 @@ UNIFIED_SOURCES += [
'nsCORSListenerProxy.cpp',
'nsHttp.cpp',
'nsHttpActivityDistributor.cpp',
+ 'nsHttpAuthCache.cpp',
'nsHttpAuthManager.cpp',
'nsHttpBasicAuth.cpp',
'nsHttpChannel.cpp',
+ 'nsHttpChannelAuthProvider.cpp',
'nsHttpChunkedDecoder.cpp',
'nsHttpConnection.cpp',
'nsHttpConnectionInfo.cpp',
'nsHttpConnectionMgr.cpp',
'nsHttpDigestAuth.cpp',
+ 'nsHttpHandler.cpp',
'nsHttpHeaderArray.cpp',
'nsHttpNTLMAuth.cpp',
'nsHttpPipeline.cpp',
@@ -89,11 +85,6 @@ UNIFIED_SOURCES += [
'TunnelUtils.cpp',
]
-# These files cannot be built in unified mode because of OS X headers.
-SOURCES += [
- 'nsHttpHandler.cpp',
-]
-
IPDL_SOURCES += [
'PAltDataOutputStream.ipdl',
'PHttpChannel.ipdl',
diff --git a/netwerk/protocol/http/nsHttpChannel.cpp b/netwerk/protocol/http/nsHttpChannel.cpp
index 950b1a7ab..464f7507d 100644
--- a/netwerk/protocol/http/nsHttpChannel.cpp
+++ b/netwerk/protocol/http/nsHttpChannel.cpp
@@ -24,6 +24,7 @@
#include "nsICryptoHash.h"
#include "nsINetworkInterceptController.h"
#include "nsINSSErrorsService.h"
+#include "nsIScriptError.h"
#include "nsIStringBundle.h"
#include "nsIStreamListenerTee.h"
#include "nsISeekableStream.h"
diff --git a/netwerk/protocol/http/nsHttpChannel.h b/netwerk/protocol/http/nsHttpChannel.h
index defd710c3..b7f39b2f0 100644
--- a/netwerk/protocol/http/nsHttpChannel.h
+++ b/netwerk/protocol/http/nsHttpChannel.h
@@ -35,7 +35,10 @@ class nsIHttpChannelAuthProvider;
class nsInputStreamPump;
class nsISSLStatus;
-namespace mozilla { namespace net {
+namespace mozilla {
+namespace net {
+
+bool WillRedirect(nsHttpResponseHead * response);
class Http2PushedStream;
diff --git a/netwerk/protocol/res/moz.build b/netwerk/protocol/res/moz.build
index 37e2316b0..463d8e0fe 100644
--- a/netwerk/protocol/res/moz.build
+++ b/netwerk/protocol/res/moz.build
@@ -11,7 +11,7 @@ XPIDL_SOURCES += [
XPIDL_MODULE = 'necko_res'
-UNIFIED_SOURCES += [
+SOURCES += [
'ExtensionProtocolHandler.cpp',
'nsResProtocolHandler.cpp',
'SubstitutingProtocolHandler.cpp',
diff --git a/netwerk/protocol/viewsource/moz.build b/netwerk/protocol/viewsource/moz.build
index 4e3303c40..986ebf14e 100644
--- a/netwerk/protocol/viewsource/moz.build
+++ b/netwerk/protocol/viewsource/moz.build
@@ -10,7 +10,7 @@ XPIDL_SOURCES += [
XPIDL_MODULE = 'necko_viewsource'
-UNIFIED_SOURCES += [
+SOURCES += [
'nsViewSourceChannel.cpp',
'nsViewSourceHandler.cpp',
]
diff --git a/netwerk/protocol/wyciwyg/moz.build b/netwerk/protocol/wyciwyg/moz.build
index b043137f7..e5e02ce98 100644
--- a/netwerk/protocol/wyciwyg/moz.build
+++ b/netwerk/protocol/wyciwyg/moz.build
@@ -15,7 +15,7 @@ EXPORTS.mozilla.net += [
'WyciwygChannelParent.h',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'nsWyciwyg.cpp',
'nsWyciwygChannel.cpp',
'nsWyciwygProtocolHandler.cpp',
diff --git a/netwerk/socket/moz.build b/netwerk/socket/moz.build
index 34361a10c..771d92ad7 100644
--- a/netwerk/socket/moz.build
+++ b/netwerk/socket/moz.build
@@ -18,7 +18,7 @@ LOCAL_INCLUDES += [
'/netwerk/base',
]
-UNIFIED_SOURCES += [
+SOURCES += [
'nsSocketProviderService.cpp',
'nsSOCKSIOLayer.cpp',
'nsSOCKSSocketProvider.cpp',
@@ -29,7 +29,7 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
XPIDL_SOURCES += [
'nsINamedPipeService.idl',
]
- UNIFIED_SOURCES += [
+ SOURCES += [
'nsNamedPipeIOLayer.cpp',
'nsNamedPipeService.cpp'
]
diff --git a/netwerk/socket/nsSOCKSSocketProvider.cpp b/netwerk/socket/nsSOCKSSocketProvider.cpp
index c62534f7b..b21fe921f 100644
--- a/netwerk/socket/nsSOCKSSocketProvider.cpp
+++ b/netwerk/socket/nsSOCKSSocketProvider.cpp
@@ -12,6 +12,7 @@
#include "nsError.h"
using mozilla::NeckoOriginAttributes;
+using namespace mozilla::net;
//////////////////////////////////////////////////////////////////////////
diff --git a/netwerk/srtp/src/moz.build b/netwerk/srtp/src/moz.build
index 3e871702f..996d8c601 100644
--- a/netwerk/srtp/src/moz.build
+++ b/netwerk/srtp/src/moz.build
@@ -4,7 +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/.
-UNIFIED_SOURCES += [
+SOURCES += [
'crypto/cipher/aes.c',
'crypto/cipher/aes_cbc.c',
'crypto/cipher/aes_icm.c',
diff --git a/netwerk/streamconv/converters/moz.build b/netwerk/streamconv/converters/moz.build
index 10354357b..4c0d177c5 100644
--- a/netwerk/streamconv/converters/moz.build
+++ b/netwerk/streamconv/converters/moz.build
@@ -10,7 +10,7 @@ XPIDL_SOURCES += [
XPIDL_MODULE = 'necko_http'
-UNIFIED_SOURCES += [
+SOURCES += [
'mozTXTToHTMLConv.cpp',
'nsDirIndex.cpp',
'nsDirIndexParser.cpp',
@@ -22,13 +22,13 @@ UNIFIED_SOURCES += [
]
if 'ftp' in CONFIG['NECKO_PROTOCOLS']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'nsFTPDirListingConv.cpp',
'ParseFTPList.cpp',
]
if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'cocoa':
- UNIFIED_SOURCES += [
+ SOURCES += [
'nsBinHexDecoder.cpp',
]
diff --git a/netwerk/streamconv/converters/nsHTTPCompressConv.cpp b/netwerk/streamconv/converters/nsHTTPCompressConv.cpp
index c35b0dcac..2821c9aed 100644
--- a/netwerk/streamconv/converters/nsHTTPCompressConv.cpp
+++ b/netwerk/streamconv/converters/nsHTTPCompressConv.cpp
@@ -15,8 +15,10 @@
#include "nsThreadUtils.h"
#include "mozilla/Preferences.h"
#include "mozilla/Logging.h"
+#include "mozilla/UniquePtrExtensions.h"
#include "nsIForcePendingChannel.h"
#include "nsIRequest.h"
+#include <inttypes.h>
// brotli headers
#include "state.h"
diff --git a/netwerk/wifi/moz.build b/netwerk/wifi/moz.build
index 28149cb78..6e351da00 100644
--- a/netwerk/wifi/moz.build
+++ b/netwerk/wifi/moz.build
@@ -12,16 +12,13 @@ XPIDL_SOURCES += [
XPIDL_MODULE = 'necko_wifi'
-UNIFIED_SOURCES += [
+SOURCES += [
'nsWifiAccessPoint.cpp',
-]
-
-UNIFIED_SOURCES += [
'nsWifiMonitor.cpp',
]
if CONFIG['OS_ARCH'] == 'Darwin':
- UNIFIED_SOURCES += [
+ SOURCES += [
'nsWifiScannerMac.cpp',
]
SOURCES += [
@@ -32,23 +29,23 @@ if CONFIG['OS_ARCH'] == 'Darwin':
# to accept the warnings when targeting the newer SDKs.
SOURCES['osx_corewlan.mm'].flags += ['-Wno-error=objc-method-access']
elif CONFIG['OS_ARCH'] in ('DragonFly', 'FreeBSD'):
- UNIFIED_SOURCES += [
+ SOURCES += [
'nsWifiScannerFreeBSD.cpp',
]
elif CONFIG['OS_ARCH'] == 'WINNT':
- UNIFIED_SOURCES += [
+ SOURCES += [
'nsWifiScannerWin.cpp',
'win_wifiScanner.cpp',
'win_wlanLibrary.cpp',
]
elif CONFIG['OS_ARCH'] == 'SunOS':
CXXFLAGS += CONFIG['GLIB_CFLAGS']
- UNIFIED_SOURCES += [
+ SOURCES += [
'nsWifiScannerSolaris.cpp',
]
if CONFIG['NECKO_WIFI_DBUS']:
- UNIFIED_SOURCES += [
+ SOURCES += [
'nsWifiScannerDBus.cpp',
]
CXXFLAGS += ['-Wno-error=shadow']