Bug 1729395 - Handle message sender going away during message processing r=robwu
[gecko.git] / dom / canvas / moz.build
blobc7cc38920013d6e829114edac236827166f7ab9f
1 # -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
2 # vim: set filetype=python:
3 # This Source Code Form is subject to the terms of the Mozilla Public
4 # License, v. 2.0. If a copy of the MPL was not distributed with this
5 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
7 with Files("**"):
8     BUG_COMPONENT = ("Core", "Canvas: 2D")
10 with Files("TexUnpackBlob.cpp"):
11     BUG_COMPONENT = ("Core", "Canvas: WebGL")
13 with Files("WebGL*"):
14     BUG_COMPONENT = ("Core", "Canvas: WebGL")
16 with Files("test/webgl-conf/**"):
17     BUG_COMPONENT = ("Core", "Canvas: WebGL")
19 with Files("test/webgl-mochitest/**"):
20     BUG_COMPONENT = ("Core", "Canvas: WebGL")
22 with Files("test/reftest/webgl*"):
23     BUG_COMPONENT = ("Core", "Canvas: WebGL")
25 with Files("test/chrome/*webgl*"):
26     BUG_COMPONENT = ("Core", "Canvas: WebGL")
28 with Files("test/crossorigin/*webgl*"):
29     BUG_COMPONENT = ("Core", "Canvas: WebGL")
31 # Change the following line(s) to avoid bug 1081323 (clobber after changing a manifest):
32 # * Adjust failure errata for webgl-conf.
34 MOCHITEST_MANIFESTS += [
35     "test/crash/mochitest.ini",
36     "test/crossorigin/mochitest.ini",
37     "test/mochitest.ini",
38     "test/webgl-conf/generated-mochitest.ini",
39     "test/webgl-mochitest/mochitest.ini",
42 MOCHITEST_CHROME_MANIFESTS += ["test/chrome/chrome.ini"]
44 EXPORTS += [
45     "nsICanvasRenderingContextInternal.h",
48 EXPORTS.mozilla.dom += [
49     "BasicRenderingContext2D.h",
50     "CanvasGradient.h",
51     "CanvasPath.h",
52     "CanvasPattern.h",
53     "CanvasRenderingContext2D.h",
54     "CanvasRenderingContextHelper.h",
55     "CanvasUtils.h",
56     "GeneratePlaceholderCanvasData.h",
57     "ImageBitmap.h",
58     "ImageBitmapRenderingContext.h",
59     "ImageBitmapSource.h",
60     "ImageData.h",
61     "ImageUtils.h",
62     "IpdlQueue.h",
63     "OffscreenCanvas.h",
64     "QueueParamTraits.h",
65     "TextMetrics.h",
66     "WebGLChild.h",
67     "WebGLCommandQueue.h",
68     "WebGLIpdl.h",
69     "WebGLParent.h",
70     "WebGLTypes.h",
71     "XRWebGLLayer.h",
73 # XRWebGLLayer.h must be exported for use by the generated WebXRBinding.h
75 # Canvas 2D and common sources
76 UNIFIED_SOURCES += [
77     "CanvasGradient.cpp",
78     "CanvasImageCache.cpp",
79     "CanvasPattern.cpp",
80     "CanvasRenderingContext2D.cpp",
81     "CanvasRenderingContextHelper.cpp",
82     "CanvasUtils.cpp",
83     "ImageBitmap.cpp",
84     "ImageBitmapRenderingContext.cpp",
85     "ImageData.cpp",
86     "nsICanvasRenderingContextInternal.cpp",
87     "OffscreenCanvas.cpp",
88     "XRWebGLLayer.cpp",
91 SOURCES += [
92     "ImageUtils.cpp",
95 # WebGL Sources
96 UNIFIED_SOURCES += [
97     "CacheInvalidator.cpp",
98     "ClientWebGLContext.cpp",
99     "ClientWebGLExtensions.cpp",
100     "HostWebGLContext.cpp",
101     "SanitizeRenderer.cpp",
102     "TexUnpackBlob.cpp",
103     "WebGL2Context.cpp",
104     "WebGL2ContextBuffers.cpp",
105     "WebGL2ContextFramebuffers.cpp",
106     "WebGL2ContextMRTs.cpp",
107     "WebGL2ContextQueries.cpp",
108     "WebGL2ContextRenderbuffers.cpp",
109     "WebGL2ContextSamplers.cpp",
110     "WebGL2ContextState.cpp",
111     "WebGL2ContextSync.cpp",
112     "WebGL2ContextTransformFeedback.cpp",
113     "WebGL2ContextUniforms.cpp",
114     "WebGLBuffer.cpp",
115     "WebGLChild.cpp",
116     "WebGLContext.cpp",
117     "WebGLContextBuffers.cpp",
118     "WebGLContextDraw.cpp",
119     "WebGLContextExtensions.cpp",
120     "WebGLContextFramebufferOperations.cpp",
121     "WebGLContextGL.cpp",
122     "WebGLContextLossHandler.cpp",
123     "WebGLContextState.cpp",
124     "WebGLContextTextures.cpp",
125     "WebGLContextUtils.cpp",
126     "WebGLContextValidate.cpp",
127     "WebGLContextVertexArray.cpp",
128     "WebGLContextVertices.cpp",
129     "WebGLExtensionColorBufferFloat.cpp",
130     "WebGLExtensionColorBufferHalfFloat.cpp",
131     "WebGLExtensionCompressedTextureASTC.cpp",
132     "WebGLExtensionCompressedTextureBPTC.cpp",
133     "WebGLExtensionCompressedTextureES3.cpp",
134     "WebGLExtensionCompressedTextureETC1.cpp",
135     "WebGLExtensionCompressedTexturePVRTC.cpp",
136     "WebGLExtensionCompressedTextureRGTC.cpp",
137     "WebGLExtensionCompressedTextureS3TC.cpp",
138     "WebGLExtensionCompressedTextureS3TC_SRGB.cpp",
139     "WebGLExtensionDepthTexture.cpp",
140     "WebGLExtensionDisjointTimerQuery.cpp",
141     "WebGLExtensionDrawBuffers.cpp",
142     "WebGLExtensionEXTColorBufferFloat.cpp",
143     "WebGLExtensionFragDepth.cpp",
144     "WebGLExtensionInstancedArrays.cpp",
145     "WebGLExtensions.cpp",
146     "WebGLExtensionShaderTextureLod.cpp",
147     "WebGLExtensionSRGB.cpp",
148     "WebGLExtensionTextureFloat.cpp",
149     "WebGLExtensionTextureFloatLinear.cpp",
150     "WebGLExtensionTextureHalfFloat.cpp",
151     "WebGLExtensionTextureHalfFloatLinear.cpp",
152     "WebGLFormats.cpp",
153     "WebGLFramebuffer.cpp",
154     "WebGLMemoryTracker.cpp",
155     "WebGLParent.cpp",
156     "WebGLProgram.cpp",
157     "WebGLQuery.cpp",
158     "WebGLRenderbuffer.cpp",
159     "WebGLSampler.cpp",
160     "WebGLShader.cpp",
161     "WebGLShaderValidator.cpp",
162     "WebGLSync.cpp",
163     "WebGLTexelConversions.cpp",
164     "WebGLTexture.cpp",
165     "WebGLTextureUpload.cpp",
166     "WebGLTransformFeedback.cpp",
167     "WebGLValidateStrings.cpp",
168     "WebGLVertexArray.cpp",
169     "WebGLVertexArrayFake.cpp",
170     "WebGLVertexArrayGL.cpp",
173 SOURCES += [
174     "MurmurHash3.cpp",
177 IPDL_SOURCES += [
178     "PWebGL.ipdl",
181 TEST_DIRS += [
182     "gtest",
185 # Suppress warnings from third-party code.
186 if CONFIG["CC_TYPE"] in ("clang", "gcc"):
187     SOURCES["MurmurHash3.cpp"].flags += ["-Wno-implicit-fallthrough"]
189 LOCAL_INCLUDES += [
190     "/js/xpconnect/wrappers",
193 include("/ipc/chromium/chromium-config.mozbuild")
196 USE_LIBS += ["translator"]  # Grab the Angle shader translator.
198 FINAL_LIBRARY = "xul"
199 LOCAL_INCLUDES += [
200     "/dom/base",
201     "/dom/html",
202     "/dom/svg",
203     "/dom/workers",
204     "/dom/xul",
205     "/gfx/angle/checkout/include",
206     "/gfx/cairo/cairo/src",
207     "/gfx/gl",
208     "/image",
209     "/js/xpconnect/src",
210     "/layout/generic",
211     "/layout/style",
212     "/layout/xul",
213     "/media/libyuv/libyuv/include",
216 CXXFLAGS += CONFIG["TK_CFLAGS"]
218 LOCAL_INCLUDES += CONFIG["SKIA_INCLUDES"]
220 if CONFIG["CC_TYPE"] in ("clang", "gcc"):
221     CXXFLAGS += ["-Wno-error=shadow"]
223 if CONFIG["CC_TYPE"] in ("clang", "clang-cl"):
224     CXXFLAGS += ["-Werror=implicit-int-conversion"]
225     CXXFLAGS += ["-Werror=switch"]
227 if CONFIG["CC_TYPE"] == "gcc":
228     CXXFLAGS += ["-Wno-error=unused-result"]  # GCC doesn't ignore (void)MustUse();