diff options
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'] |