Bug 1331102 - Move #include around to avoid triggering this issue. r=heycam

MozReview-Commit-ID: Fx2DbUwuf0v

--HG--
extra : rebase_source : 01625a1fb08bd5fe06a7095314cc093c37f89a17
This commit is contained in:
Xidorn Quan 2017-02-21 22:27:58 +11:00
parent 4f2c73ffd9
commit e43e63e3a7
2 changed files with 7 additions and 9 deletions

View File

@ -148,6 +148,7 @@ EXPORTS.mozilla.css += [
UNIFIED_SOURCES += [
'AnimationCollection.cpp',
'AnimationCommon.cpp',
'BindingStyleRule.cpp',
'CounterStyleManager.cpp',
'CSS.cpp',
'CSSLexer.cpp',
@ -208,6 +209,7 @@ UNIFIED_SOURCES += [
'ServoCSSRuleList.cpp',
'ServoDeclarationBlock.cpp',
'ServoElementSnapshot.cpp',
'ServoSpecifiedValues.cpp',
'ServoStyleRule.cpp',
'ServoStyleSet.cpp',
'ServoStyleSheet.cpp',
@ -217,21 +219,13 @@ UNIFIED_SOURCES += [
'SVGAttrAnimationRuleProcessor.cpp',
]
# - BindingStyleRule.cpp doesn't _really_ needs to be built separately,
# except insofar as it shifts unified build boundaries, causing
# Unified_cpp_layout_style4.cpp to include nsStyleCoord.cpp, which
# includes, via nsStyleCoord.h, <type_traits>, which ends up including
# <xutility>, which fails in much the way described in
# <https://bugzilla.mozilla.org/show_bug.cgi?id=1331102>.
# - nsCSSRuleProcessor.cpp needs to be built separately because it uses
# plarena.h.
# - nsLayoutStylesheetCache.cpp needs to be built separately because it uses
# nsExceptionHandler.h, which includes windows.h.
SOURCES += [
'BindingStyleRule.cpp',
'nsCSSRuleProcessor.cpp',
'nsLayoutStylesheetCache.cpp',
'ServoSpecifiedValues.cpp',
]
include('/ipc/chromium/chromium-config.mozbuild')

View File

@ -5,10 +5,14 @@
/* representation of length values in computed style data */
#include "nsStyleCoord.h"
#include "mozilla/HashFunctions.h"
#include "mozilla/PodOperations.h"
// nsStyleCoord.h must not be the first header in a unified source file,
// otherwise it may not build with MSVC due to a bug in our STL wrapper.
// See bug 1331102.
#include "nsStyleCoord.h"
using namespace mozilla;
nsStyleCoord::nsStyleCoord(nsStyleUnit aUnit)