# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*- # vim: set filetype=python: # 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/. with Files("**"): BUG_COMPONENT = ("Core", "Graphics: Canvas2D") with Files("TexUnpackBlob.cpp"): BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL") with Files("WebGL*"): BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL") with Files("test/webgl-conf/**"): BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL") with Files("test/webgl-mochitest/**"): BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL") with Files("test/reftest/webgl*"): BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL") with Files("test/chrome/*webgl*"): BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL") with Files("test/crossorigin/*webgl*"): BUG_COMPONENT = ("Core", "Graphics: CanvasWebGL") # Change the following line(s) to avoid bug 1081323 (clobber after changing a manifest): # * Adjust failure errata for webgl-conf. MOCHITEST_MANIFESTS += [ "test/crash/mochitest.ini", "test/crossorigin/mochitest.ini", "test/mochitest.ini", "test/webgl-conf/generated-mochitest.ini", "test/webgl-mochitest/mochitest.ini", ] MOCHITEST_CHROME_MANIFESTS += ["test/chrome/chrome.ini"] EXPORTS += [ "nsICanvasRenderingContextInternal.h", ] EXPORTS.mozilla.dom += [ "BasicRenderingContext2D.h", "CanvasGradient.h", "CanvasPath.h", "CanvasPattern.h", "CanvasRenderingContext2D.h", "CanvasRenderingContextHelper.h", "CanvasUtils.h", "GeneratePlaceholderCanvasData.h", "ImageBitmap.h", "ImageBitmapRenderingContext.h", "ImageBitmapSource.h", "ImageData.h", "ImageUtils.h", "OffscreenCanvas.h", "OffscreenCanvasDisplayHelper.h", "OffscreenCanvasRenderingContext2D.h", "QueueParamTraits.h", "TextMetrics.h", "TiedFields.h", "TupleUtils.h", "WebGLChild.h", "WebGLCommandQueue.h", "WebGLIpdl.h", "WebGLParent.h", "WebGLTexelConversions.h", "WebGLTypes.h", "XRWebGLLayer.h", ] # XRWebGLLayer.h must be exported for use by the generated WebXRBinding.h EXPORTS.mozilla.gfx += [ "DrawTargetWebgl.h", ] # Canvas 2D and common sources # # Due to bug 1745384, and the associated clang mingw cross compile crash, we # must be careful about disturbing the unified file combinations. # nsICanvasRenderingContextInternal.cpp cannot be built standalone until this # is resolved, so new files may need to be added to SOURCES for the time being. UNIFIED_SOURCES += [ "CanvasGradient.cpp", "CanvasImageCache.cpp", "CanvasPattern.cpp", "CanvasRenderingContext2D.cpp", "CanvasRenderingContextHelper.cpp", "CanvasUtils.cpp", "ImageBitmap.cpp", "ImageBitmapRenderingContext.cpp", "ImageData.cpp", "nsICanvasRenderingContextInternal.cpp", "OffscreenCanvas.cpp", "XRWebGLLayer.cpp", ] SOURCES += [ "DrawTargetWebgl.cpp", # Isolate Skia "ImageUtils.cpp", "OffscreenCanvasDisplayHelper.cpp", # See bug 1745384 "OffscreenCanvasRenderingContext2D.cpp", # See bug 1745384 "SourceSurfaceWebgl.cpp", ] # WebGL Sources UNIFIED_SOURCES += [ "CacheInvalidator.cpp", "ClientWebGLContext.cpp", "ClientWebGLExtensions.cpp", "HostWebGLContext.cpp", "SanitizeRenderer.cpp", "TexUnpackBlob.cpp", "WebGL2Context.cpp", "WebGL2ContextBuffers.cpp", "WebGL2ContextFramebuffers.cpp", "WebGL2ContextMRTs.cpp", "WebGL2ContextQueries.cpp", "WebGL2ContextRenderbuffers.cpp", "WebGL2ContextSamplers.cpp", "WebGL2ContextState.cpp", "WebGL2ContextSync.cpp", "WebGL2ContextTransformFeedback.cpp", "WebGL2ContextUniforms.cpp", "WebGLBuffer.cpp", "WebGLChild.cpp", "WebGLContext.cpp", "WebGLContextBuffers.cpp", "WebGLContextDraw.cpp", "WebGLContextExtensions.cpp", "WebGLContextFramebufferOperations.cpp", "WebGLContextGL.cpp", "WebGLContextLossHandler.cpp", "WebGLContextState.cpp", "WebGLContextTextures.cpp", "WebGLContextUtils.cpp", "WebGLContextValidate.cpp", "WebGLContextVertexArray.cpp", "WebGLContextVertices.cpp", "WebGLExtensions.cpp", "WebGLFormats.cpp", "WebGLFramebuffer.cpp", "WebGLMemoryTracker.cpp", "WebGLParent.cpp", "WebGLProgram.cpp", "WebGLQuery.cpp", "WebGLRenderbuffer.cpp", "WebGLSampler.cpp", "WebGLShader.cpp", "WebGLShaderValidator.cpp", "WebGLSync.cpp", "WebGLTexelConversions.cpp", "WebGLTexture.cpp", "WebGLTextureUpload.cpp", "WebGLTransformFeedback.cpp", "WebGLValidateStrings.cpp", "WebGLVertexArray.cpp", "WebGLVertexArrayFake.cpp", "WebGLVertexArrayGL.cpp", ] SOURCES += [ "MurmurHash3.cpp", ] IPDL_SOURCES += [ "PWebGL.ipdl", ] TEST_DIRS += [ "gtest", ] # Suppress warnings from third-party code. SOURCES["MurmurHash3.cpp"].flags += ["-Wno-implicit-fallthrough"] LOCAL_INCLUDES += [ "/js/xpconnect/wrappers", ] include("/ipc/chromium/chromium-config.mozbuild") USE_LIBS += ["translator"] # Grab the Angle shader translator. FINAL_LIBRARY = "xul" LOCAL_INCLUDES += [ "/dom/base", "/dom/html", "/dom/svg", "/dom/workers", "/dom/xul", "/gfx/angle/checkout/include", "/gfx/cairo/cairo/src", "/gfx/gl", "/image", "/js/xpconnect/src", "/layout/generic", "/layout/style", "/layout/xul", "/media/libyuv/libyuv/include", ] if CONFIG["MOZ_WIDGET_TOOLKIT"] == "gtk": CXXFLAGS += CONFIG["MOZ_GTK3_CFLAGS"] LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"] if CONFIG["CC_TYPE"] in ("clang", "clang-cl"): CXXFLAGS += ["-Werror=implicit-int-conversion"] CXXFLAGS += ["-Werror=switch"] if CONFIG["CC_TYPE"] == "gcc": CXXFLAGS += ["-Wno-error=unused-result"] # GCC doesn't ignore (void)MustUse(); # Add libFuzzer configuration directives include("/tools/fuzzing/libfuzzer-config.mozbuild")