Merge mozilla-central to mozilla-inbound. r=merge a=merge CLOSED TREE
authorCsoregi Natalia <ncsoregi@mozilla.com>
Thu, 16 Nov 2017 18:02:21 +0200
changeset 436709 0429adcd1270c1fae2a9f6b4c289336f69810d08
parent 436706 f857506733963cfc23bae42249cfd8cf56155fb6 (current diff)
parent 436708 2c78cf003670a4beeb8730a78daf1edf9e744c1c (diff)
child 436710 062e2a74416a462a7497f287f4fc57f1c8b34db1
push id117
push userfmarier@mozilla.com
push dateTue, 28 Nov 2017 20:17:16 +0000
reviewersmerge, merge
milestone59.0a1
Merge mozilla-central to mozilla-inbound. r=merge a=merge CLOSED TREE
layout/generic/nsFrame.cpp
layout/reftests/svg/svg-integration/clip-path/clip-path-stroke-001-ref.html
layout/reftests/svg/svg-integration/clip-path/clip-path-stroke-001.html
--- a/build/moz.configure/toolchain.configure
+++ b/build/moz.configure/toolchain.configure
@@ -409,27 +409,16 @@ def get_compiler_info(compiler, language
     check += dedent('''\
         #if _MSC_VER || __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
         %ENDIANNESS "little"
         #elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
         %ENDIANNESS "big"
         #endif
     ''')
 
-    # Try including a header to ensure that cross-compilers are set up
-    # correctly.
-    header = {
-        'C': 'stddef.h',
-        'C++': 'cstddef',
-    }[language]
-
-    check += dedent('''\
-        #include <%(header)s>
-    ''' % {'header': header})
-
     result = try_preprocess(compiler, language, check)
 
     if not result:
         raise FatalCheckError(
             'Unknown compiler or compiler not supported.')
 
     # Metadata emitted by preprocessors such as GCC with LANG=ja_JP.utf-8 may
     # have non-ASCII characters. Treat the output as bytearray.
@@ -807,37 +796,33 @@ def compiler(language, host_or_target, c
     # Normally, we'd use `var` instead of `_var`, but the interaction with
     # old-configure complicates things, and for now, we a) can't take the plain
     # result from check_prog as CC/CXX/HOST_CC/HOST_CXX and b) have to let
     # old-configure AC_SUBST it (because it's autoconf doing it, not us)
     compiler = check_prog('_%s' % var, what=what, progs=default_compilers,
                           input=provided_compiler.compiler,
                           paths=toolchain_search_path)
 
-    @depends(compiler, provided_compiler, compiler_wrapper, host_or_target,
-             extra_toolchain_flags)
+    @depends(compiler, provided_compiler, compiler_wrapper, host_or_target)
     @checking('whether %s can be used' % what, lambda x: bool(x))
     @imports(_from='mozbuild.shellutil', _import='quote')
     def valid_compiler(compiler, provided_compiler, compiler_wrapper,
-                       host_or_target, extra_flags):
+                       host_or_target):
         wrapper = list(compiler_wrapper or ())
         if provided_compiler:
             provided_wrapper = list(provided_compiler.wrapper)
             # When doing a subconfigure, the compiler is set by old-configure
             # and it contains the wrappers from --with-compiler-wrapper and
             # --with-ccache.
             if provided_wrapper[:len(wrapper)] == wrapper:
                 provided_wrapper = provided_wrapper[len(wrapper):]
             wrapper.extend(provided_wrapper)
             flags = provided_compiler.flags
         else:
             flags = []
-        toolchain_flags = []
-        if host_or_target_str == 'target' and extra_flags:
-            toolchain_flags = extra_flags
 
         # Ideally, we'd always use the absolute path, but unfortunately, on
         # Windows, the compiler is very often in a directory containing spaces.
         # Unfortunately, due to the way autoconf does its compiler tests with
         # eval, that doesn't work out. So in that case, check that the
         # compiler can still be found in $PATH, and use the file name instead
         # of the full path.
         if quote(compiler) != compiler:
@@ -849,30 +834,29 @@ def compiler(language, host_or_target, c
                     % quote(os.path.dirname(full_path)))
             if os.path.normcase(find_program(compiler)) != os.path.normcase(
                     full_path):
                 die('Found `%s` before `%s` in your $PATH. '
                     'Please reorder your $PATH.',
                     quote(os.path.dirname(found_compiler)),
                     quote(os.path.dirname(full_path)))
 
-        info = check_compiler(wrapper + [compiler] + flags + toolchain_flags,
-                              language, host_or_target)
+        info = check_compiler(wrapper + [compiler] + flags, language,
+                              host_or_target)
 
         # Check that the additional flags we got are enough to not require any
         # more flags. If we get an exception, just ignore it; it's liable to be
         # invalid command-line flags, which means the compiler we're checking
         # doesn't support those command-line flags and will fail one or more of
         # the checks below.
         try:
             if info.flags:
                 flags += info.flags
-                info = check_compiler(wrapper + [compiler] + flags +
-                                      toolchain_flags,
-                                      language, host_or_target)
+                info = check_compiler(wrapper + [compiler] + flags, language,
+                                      host_or_target)
         except FatalCheckError:
             pass
 
         if not info.target_cpu or info.target_cpu != host_or_target.cpu:
             raise FatalCheckError(
                 '%s %s compiler target CPU (%s) does not match --%s CPU (%s)'
                 % (host_or_target_str.capitalize(), language,
                    info.target_cpu or 'unknown', host_or_target_str,
--- a/layout/generic/nsFrame.cpp
+++ b/layout/generic/nsFrame.cpp
@@ -2623,18 +2623,17 @@ ComputeClipForMaskItem(nsDisplayListBuil
   if (maskUsage.shouldApplyBasicShape) {
     Rect result = nsCSSClipPathInstance::GetBoundingRectForBasicShapeClip(
         aMaskedFrame, svgReset->mClipPath);
     combinedClip = Some(ThebesRect(result));
   } else if (maskUsage.shouldApplyClipPath) {
     gfxRect result = nsSVGUtils::GetBBox(aMaskedFrame,
         nsSVGUtils::eBBoxIncludeClipped |
         nsSVGUtils::eBBoxIncludeFill |
-        nsSVGUtils::eBBoxIncludeMarkers |
-        nsSVGUtils::eBBoxIncludeStroke);
+        nsSVGUtils::eBBoxIncludeMarkers);
     combinedClip = Some(cssToDevMatrix.TransformBounds(result));
   } else {
     // The code for this case is adapted from ComputeMaskGeometry().
 
     nsRect borderArea(toReferenceFrame, aMaskedFrame->GetSize());
     borderArea -= offsetToUserSpace;
 
     // Use an infinite dirty rect to pass into nsCSSRendering::
deleted file mode 100644
--- a/layout/reftests/svg/svg-integration/clip-path/clip-path-stroke-001-ref.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <meta charset="utf-8">
-</head>
-<body>
-  <svg width="367" height="146.8" style="overflow: hidden;" aria-label="A chart.">
-    <g>
-      <rect x="20" y="22" width="297" height="119" stroke="none" stroke-width="0" fill-opacity="0" fill="#ffffff"></rect>
-      <g>
-        <g>
-          <rect x="20" y="140" width="297" height="1" stroke="none" stroke-width="0" fill="#dddddd"></rect>
-        </g>
-        <g>
-          <path d="M25.785714285714285,131.35382L36.35714285714286,140.5L46.92857142857143,136.76864333333333L57.5,140.5L68.07142857142857,140.5L78.64285714285714,108.29988466666667L89.21428571428571,140.5L99.78571428571428,138.777318L110.35714285714286,140.5L120.92857142857143,136.838106L131.5,136.09950466666666L142.07142857142856,137.82533333333333L152.64285714285714,128.40448866666668L163.21428571428572,133.099748L173.78571428571428,140.5L184.35714285714286,125.99917666666667L194.92857142857142,127.75560666666667L205.5,134.93449066666668L216.07142857142856,125.536184L226.64285714285714,140.29468L237.21428571428572,138.080528L247.78571428571428,136.22847866666666L258.3571428571429,140.5L268.92857142857144,122.33464733333334L279.5,140.5L290.07142857142856,140.5L300.6428571428571,32.77095600000001L311.2142857142857,106.47371666666666" stroke="#5f8fc9" stroke-width="2" fill-opacity="1" fill="none"></path>
-        </g>
-      </g>
-    </g>
-  </svg>
-</body>
-</html>
deleted file mode 100644
--- a/layout/reftests/svg/svg-integration/clip-path/clip-path-stroke-001.html
+++ /dev/null
@@ -1,26 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-  <meta charset="utf-8">
-</head>
-<body>
-  <svg width="367" height="146.8" style="overflow: hidden;" aria-label="A chart.">
-    <defs id="defs">
-      <clipPath id="_ABSTRACT_RENDERER_ID_1">
-        <rect x="20" y="22" width="297" height="124"></rect>
-      </clipPath>
-    </defs>
-    <g>
-      <rect x="20" y="22" width="297" height="119" stroke="none" stroke-width="0" fill-opacity="0" fill="#ffffff"></rect>
-      <g clip-path="url(#_ABSTRACT_RENDERER_ID_1)">
-        <g>
-          <rect x="20" y="140" width="297" height="1" stroke="none" stroke-width="0" fill="#dddddd"></rect>
-        </g>
-        <g>
-          <path d="M25.785714285714285,131.35382L36.35714285714286,140.5L46.92857142857143,136.76864333333333L57.5,140.5L68.07142857142857,140.5L78.64285714285714,108.29988466666667L89.21428571428571,140.5L99.78571428571428,138.777318L110.35714285714286,140.5L120.92857142857143,136.838106L131.5,136.09950466666666L142.07142857142856,137.82533333333333L152.64285714285714,128.40448866666668L163.21428571428572,133.099748L173.78571428571428,140.5L184.35714285714286,125.99917666666667L194.92857142857142,127.75560666666667L205.5,134.93449066666668L216.07142857142856,125.536184L226.64285714285714,140.29468L237.21428571428572,138.080528L247.78571428571428,136.22847866666666L258.3571428571429,140.5L268.92857142857144,122.33464733333334L279.5,140.5L290.07142857142856,140.5L300.6428571428571,32.77095600000001L311.2142857142857,106.47371666666666" stroke="#5f8fc9" stroke-width="2" fill-opacity="1" fill="none"></path>
-        </g>
-      </g>
-    </g>
-  </svg>
-</body>
-</html>
--- a/layout/reftests/svg/svg-integration/clip-path/reftest.list
+++ b/layout/reftests/svg/svg-integration/clip-path/reftest.list
@@ -50,10 +50,8 @@ fuzzy-if(webrender,64-64,1106-1106) == c
 == clip-path-inset-001a.html clip-path-inset-001-ref.html
 == clip-path-inset-001b.html clip-path-inset-001-ref.html
 == clip-path-inset-001c.html clip-path-inset-001-ref.html
 # Anti-aliasing behavior for masking and borders is different
 fuzzy(64,146) fails-if(webrender) == clip-path-inset-002a.html clip-path-inset-002-ref.html
 fuzzy(64,146) fails-if(webrender) == clip-path-inset-002b.html clip-path-inset-002-ref.html
 fuzzy(64,146) fails-if(webrender) == clip-path-inset-002c.html clip-path-inset-002-ref.html
 fuzzy(64,340) fails-if(webrender) == clip-path-inset-003.html clip-path-inset-003-ref.html
-
-== clip-path-stroke-001.html clip-path-stroke-001-ref.html
--- a/python/mozbuild/mozbuild/test/configure/test_toolchain_helpers.py
+++ b/python/mozbuild/mozbuild/test/configure/test_toolchain_helpers.py
@@ -56,30 +56,16 @@ class CompilerPreprocessor(Preprocessor)
             for k, v in context.iteritems()
         )
         try:
             return Preprocessor.do_if(self, normalize_has_feature(expression),
                                       **kwargs)
         finally:
             self.context = context
 
-    def do_include(self, args, filters=True):
-        # We need to check headers during normal configure to make sure the
-        # user doesn't have a misconfigured environment.  But for the purposes
-        # of tests, we want to ignore headers.
-
-        # stddef.h and cstddef are the headers compiler configure checks use.
-        if type(args) in (str, unicode) and '<' in args:
-            if args in ('<stddef.h>', '<cstddef>'):
-                return
-            raise Preprocessor.Error(self, 'INVALID_INCLUDE_FILE', args)
-
-        # Pass everything else through.
-        Preprocessor.do_include(self, args, filters)
-
     class Context(dict):
         def __missing__(self, key):
             return None
 
     def filter_c_substitution(self, line):
         def repl(matchobj):
             varname = matchobj.group('VAR')
             if varname in self.context: