filter.sh 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496
  1. #!/bin/bash
  2. ## Filters the result of Bugzilla queries.
  3. ## Intended to be modified directly, args can only specify the paths of the
  4. ## project root and the Firefox clone.
  5. ## Most of these projects turn our to have 0 security bugs, so this ends up
  6. ## being a reproducible way to create empty lists.
  7. ## To find out if a file was moved in a git history, check the output of:
  8. # git log --diff-filter=A -- $filepath
  9. ## and
  10. # git diff-tree --no-commit-id --name-only -r $commitThatAddedFileAbove
  11. ## (these work even if the file has since been removed)
  12. codeDir="$1"
  13. issuesDir="$2"
  14. repoDir="$3"
  15. toFilter="$issuesDir/to_filter/"
  16. getIssues () {
  17. for name in "$@" ; do
  18. jsonFile="$name/res0.json"
  19. jq '.issues | .[] | .key' "$jsonFile" | tr -d '"-'
  20. done | sort -n | uniq
  21. }
  22. # only include bugs whose fixes touch at least one file in $2:...
  23. filter () {
  24. project="$1"
  25. echo "filtering $project" >&2
  26. issues=$(getIssues "$project")
  27. shift
  28. matches=$(
  29. for issue in $issues ; do
  30. echo "checking bug $issue" >&2
  31. affectedFiles=$(python3 "$codeDir/fetch_bugzilla_bugs/get_bugzilla_patches.py" 'files' $issue)
  32. match=$(for filteredFile in $@ ; do echo $affectedFiles | grep "$filteredFile" ; done)
  33. if [ -n "$match" ] ; then
  34. echo "$issue"
  35. continue
  36. fi
  37. done)
  38. echo '{"issues": ['
  39. unset comma
  40. for match in $matches ; do
  41. if [ -n "$comma" ]; then echo ","; fi
  42. jq ".issues | map(select(.key == \"-$match\")) | .[]" "$project/res0.json"
  43. comma=true
  44. done
  45. echo ']}'
  46. }
  47. # only include bugs whose fixes touch at least one file *not* in the tree as of commit $2
  48. inverse_filter() {
  49. project="$1"
  50. echo "(inverse) filtering $project" >&2
  51. issues=$(getIssues "$project")
  52. shift
  53. gitrev="$1"
  54. git -C "$repoDir" checkout "$gitrev"
  55. matches=$(
  56. for issue in $issues ; do
  57. echo "checking bug $issue" >&2
  58. affectedFiles=$(python3 "$codeDir/fetch_bugzilla_bugs/get_bugzilla_patches.py" 'files' $issue)
  59. for affectedFile in $affectedFiles; do
  60. if [ ! -f "$repoDir/$affectedFile" ]; then
  61. echo "$issue"
  62. break
  63. fi
  64. done
  65. done)
  66. echo '{"issues": ['
  67. unset comma
  68. for match in $matches ; do
  69. if [ -n "$comma" ]; then echo ","; fi
  70. jq ".issues | map(select(.key == \"-$match\")) | .[]" "$project/res0.json"
  71. comma=true
  72. done
  73. echo ']}'
  74. }
  75. # css/style
  76. mkdir -p "$issuesDir/css-issues"
  77. filter "$toFilter/css-issues" \
  78. 'dom/animation/AnimValuesStyleRule.cpp' \
  79. 'dom/animation/AnimValuesStyleRule.h' \
  80. 'layout/base/GeckoRestyleManager.cpp' \
  81. 'layout/base/GeckoRestyleManager.h' \
  82. 'layout/base/RestyleTracker.cpp' \
  83. 'layout/style/CSSStyleSheet.cpp' \
  84. 'layout/style/CSSStyleSheet.h' \
  85. 'layout/style/CSSVariableDeclarations.cpp' \
  86. 'layout/style/CSSVariableDeclarations.h' \
  87. 'layout/style/CSSVariableResolver.cpp' \
  88. 'layout/style/CSSVariableResolver.h' \
  89. 'layout/style/CSSVariableValues.cpp' \
  90. 'layout/style/CSSVariableValues.h' \
  91. 'layout/style/Declaration.cpp' \
  92. 'layout/style/Declaration.h' \
  93. 'layout/style/GeckoStyleContext.cpp' \
  94. 'layout/style/GeckoStyleContext.h' \
  95. 'layout/style/ImportRule.h' \
  96. 'layout/style/IncrementalClearCOMRuleArray.cpp' \
  97. 'layout/style/IncrementalClearCOMRuleArray.h' \
  98. 'layout/style/NameSpaceRule.h' \
  99. 'layout/style/RuleNodeCacheConditions.cpp' \
  100. 'layout/style/RuleProcessorCache.cpp' \
  101. 'layout/style/RuleProcessorCache.h' \
  102. 'layout/style/StyleRule.cpp' \
  103. 'layout/style/StyleRule.h' \
  104. 'layout/style/nsCSSDataBlock.cpp' \
  105. 'layout/style/nsCSSParser.cpp' \
  106. 'layout/style/nsCSSRuleProcessor.cpp' \
  107. 'layout/style/nsCSSRuleProcessor.h' \
  108. 'layout/style/nsCSSRules.cpp' \
  109. 'layout/style/nsIStyleRule.h' \
  110. 'layout/style/nsIStyleRuleProcessor.h' \
  111. 'layout/style/nsMediaList.cpp' \
  112. 'layout/style/nsMediaList.h' \
  113. 'layout/style/nsNthIndexCache.cpp' \
  114. 'layout/style/nsRuleData.cpp' \
  115. 'layout/style/nsRuleData.h' \
  116. 'layout/style/nsRuleNode.cpp' \
  117. 'layout/style/nsRuleNode.h' \
  118. 'layout/style/nsRuleWalker.h' \
  119. 'layout/style/nsStyleSet.cpp' \
  120. 'layout/style/nsStyleSet.h' \
  121. 'layout/base/RestyleManager.cpp' \
  122. 'layout/base/RestyleManager.h' \
  123. 'layout/style/nsCSSStyleSheet.cpp' \
  124. 'layout/style/nsCSSStyleSheet.h' \
  125. 'layout/style/nsCSSDeclaration.cpp' \
  126. 'layout/style/nsCSSDeclaration.h' \
  127. 'layout/style/nsICSSImportRule.h' \
  128. 'layout/style/nsICSSNameSpaceRule.h' \
  129. 'layout/style/nsCSSStyleRule.cpp' \
  130. 'layout/style/nsICSSStyleRule.h' \
  131. 'layout/style/nsIMediaList.h' \
  132. 'layout/base/RestyleManagerBase.cpp' \
  133. 'layout/style/AnimationCommon.cpp' \
  134. > "$issuesDir/css-issues/res0.json"
  135. # layers
  136. mkdir -p "$issuesDir/layers-issues"
  137. filter "$toFilter/layers-issues" \
  138. 'gfx/2d/CaptureCommandList.cpp' \
  139. 'gfx/2d/CaptureCommandList.h' \
  140. 'gfx/2d/DrawCommand.h' \
  141. 'gfx/2d/DrawCommands.h' \
  142. 'gfx/2d/DrawTargetCapture.cpp' \
  143. 'gfx/2d/DrawTargetCapture.h' \
  144. 'gfx/2d/DrawTargetDual.cpp' \
  145. 'gfx/2d/DrawTargetDual.h' \
  146. 'gfx/2d/DrawTargetTiled.cpp' \
  147. 'gfx/2d/DrawTargetTiled.h' \
  148. 'gfx/2d/DrawTargetWrapAndRecord.cpp' \
  149. 'gfx/2d/DrawTargetWrapAndRecord.h' \
  150. 'gfx/2d/FilterNodeCapture.cpp' \
  151. 'gfx/2d/FilterNodeCapture.h' \
  152. 'gfx/2d/PathCapture.cpp' \
  153. 'gfx/2d/PathCapture.h' \
  154. 'gfx/2d/SourceSurfaceCapture.cpp' \
  155. 'gfx/2d/SourceSurfaceCapture.h' \
  156. 'gfx/2d/SourceSurfaceDual.h' \
  157. 'gfx/gl/SharedSurfaceGLX.cpp' \
  158. 'gfx/gl/SharedSurfaceGLX.h' \
  159. 'gfx/layers/apz/public/MetricsSharingController.h' \
  160. 'gfx/layers/apz/test/gtest/InternalHitTester.cpp' \
  161. 'gfx/layers/apz/test/gtest/InternalHitTester.h' \
  162. 'gfx/layers/basic/AutoMaskData.h' \
  163. 'gfx/layers/basic/BasicCanvasLayer.cpp' \
  164. 'gfx/layers/basic/BasicCanvasLayer.h' \
  165. 'gfx/layers/basic/BasicColorLayer.cpp' \
  166. 'gfx/layers/basic/BasicCompositor.cpp' \
  167. 'gfx/layers/basic/BasicCompositor.h' \
  168. 'gfx/layers/basic/BasicContainerLayer.cpp' \
  169. 'gfx/layers/basic/BasicContainerLayer.h' \
  170. 'gfx/layers/basic/BasicImageLayer.cpp' \
  171. 'gfx/layers/basic/BasicImages.cpp' \
  172. 'gfx/layers/basic/BasicImplData.h' \
  173. 'gfx/layers/basic/BasicLayerManager.cpp' \
  174. 'gfx/layers/basic/BasicLayers.h' \
  175. 'gfx/layers/basic/BasicLayersImpl.cpp' \
  176. 'gfx/layers/basic/BasicLayersImpl.h' \
  177. 'gfx/layers/basic/BasicPaintedLayer.cpp' \
  178. 'gfx/layers/basic/BasicPaintedLayer.h' \
  179. 'gfx/layers/basic/MacIOSurfaceTextureHostBasic.cpp' \
  180. 'gfx/layers/basic/MacIOSurfaceTextureHostBasic.h' \
  181. 'gfx/layers/basic/TextureClientX11.cpp' \
  182. 'gfx/layers/basic/TextureClientX11.h' \
  183. 'gfx/layers/basic/TextureHostBasic.cpp' \
  184. 'gfx/layers/basic/TextureHostBasic.h' \
  185. 'gfx/layers/basic/X11BasicCompositor.cpp' \
  186. 'gfx/layers/basic/X11BasicCompositor.h' \
  187. 'gfx/layers/basic/X11TextureSourceBasic.cpp' \
  188. 'gfx/layers/basic/X11TextureSourceBasic.h' \
  189. 'gfx/layers/client/ClientCanvasLayer.cpp' \
  190. 'gfx/layers/client/ClientCanvasLayer.h' \
  191. 'gfx/layers/client/ClientCanvasRenderer.cpp' \
  192. 'gfx/layers/client/ClientCanvasRenderer.h' \
  193. 'gfx/layers/client/ClientColorLayer.cpp' \
  194. 'gfx/layers/client/ClientContainerLayer.cpp' \
  195. 'gfx/layers/client/ClientContainerLayer.h' \
  196. 'gfx/layers/client/ClientImageLayer.cpp' \
  197. 'gfx/layers/client/ClientLayerManager.cpp' \
  198. 'gfx/layers/client/ClientLayerManager.h' \
  199. 'gfx/layers/client/ClientPaintedLayer.cpp' \
  200. 'gfx/layers/client/ClientPaintedLayer.h' \
  201. 'gfx/layers/client/ClientReadbackLayer.h' \
  202. 'gfx/layers/client/ClientTiledPaintedLayer.cpp' \
  203. 'gfx/layers/client/ClientTiledPaintedLayer.h' \
  204. 'gfx/layers/client/ContentClient.cpp' \
  205. 'gfx/layers/client/ContentClient.h' \
  206. 'gfx/layers/client/MultiTiledContentClient.cpp' \
  207. 'gfx/layers/client/MultiTiledContentClient.h' \
  208. 'gfx/layers/client/SingleTiledContentClient.cpp' \
  209. 'gfx/layers/client/SingleTiledContentClient.h' \
  210. 'gfx/layers/client/TiledContentClient.cpp' \
  211. 'gfx/layers/client/TiledContentClient.h' \
  212. 'gfx/layers/composite/AsyncCompositionManager.cpp' \
  213. 'gfx/layers/composite/AsyncCompositionManager.h' \
  214. 'gfx/layers/composite/CanvasLayerComposite.cpp' \
  215. 'gfx/layers/composite/CanvasLayerComposite.h' \
  216. 'gfx/layers/composite/ColorLayerComposite.cpp' \
  217. 'gfx/layers/composite/ColorLayerComposite.h' \
  218. 'gfx/layers/composite/ConsolasFontData.h' \
  219. 'gfx/layers/composite/ContainerLayerComposite.cpp' \
  220. 'gfx/layers/composite/ContainerLayerComposite.h' \
  221. 'gfx/layers/composite/ContentHost.cpp' \
  222. 'gfx/layers/composite/ContentHost.h' \
  223. 'gfx/layers/composite/Diagnostics.cpp' \
  224. 'gfx/layers/composite/FPSCounter.cpp' \
  225. 'gfx/layers/composite/FPSCounter.h' \
  226. 'gfx/layers/composite/ImageHost.cpp' \
  227. 'gfx/layers/composite/ImageHost.h' \
  228. 'gfx/layers/composite/ImageLayerComposite.cpp' \
  229. 'gfx/layers/composite/ImageLayerComposite.h' \
  230. 'gfx/layers/composite/LayerManagerComposite.cpp' \
  231. 'gfx/layers/composite/LayerManagerComposite.h' \
  232. 'gfx/layers/composite/LayerManagerCompositeUtils.h' \
  233. 'gfx/layers/composite/PaintCounter.cpp' \
  234. 'gfx/layers/composite/PaintCounter.h' \
  235. 'gfx/layers/composite/PaintedLayerComposite.cpp' \
  236. 'gfx/layers/composite/PaintedLayerComposite.h' \
  237. 'gfx/layers/composite/TextRenderer.cpp' \
  238. 'gfx/layers/composite/TextRenderer.h' \
  239. 'gfx/layers/composite/TiledContentHost.cpp' \
  240. 'gfx/layers/composite/TiledContentHost.h' \
  241. 'gfx/layers/composite/X11TextureHost.cpp' \
  242. 'gfx/layers/composite/X11TextureHost.h' \
  243. 'gfx/layers/d3d11/BlendingHelpers.hlslh' \
  244. 'gfx/layers/d3d11/mlgshaders/blend-common.hlsl' \
  245. 'gfx/layers/d3d11/mlgshaders/blend-ps-generated.hlslh' \
  246. 'gfx/layers/d3d11/mlgshaders/blend-ps-generated.hlslh.tpl' \
  247. 'gfx/layers/d3d11/mlgshaders/blend-ps.hlsl' \
  248. 'gfx/layers/d3d11/mlgshaders/blend-vs.hlsl' \
  249. 'gfx/layers/d3d11/mlgshaders/clear-common.hlsl' \
  250. 'gfx/layers/d3d11/mlgshaders/clear-ps.hlsl' \
  251. 'gfx/layers/d3d11/mlgshaders/clear-vs.hlsl' \
  252. 'gfx/layers/d3d11/mlgshaders/color-common.hlsl' \
  253. 'gfx/layers/d3d11/mlgshaders/color-ps.hlsl' \
  254. 'gfx/layers/d3d11/mlgshaders/color-vs.hlsl' \
  255. 'gfx/layers/d3d11/mlgshaders/common.hlsl' \
  256. 'gfx/layers/d3d11/mlgshaders/common-ps.hlsl' \
  257. 'gfx/layers/d3d11/mlgshaders/common-vs.hlsl' \
  258. 'gfx/layers/d3d11/mlgshaders/component-alpha-ps.hlsl' \
  259. 'gfx/layers/d3d11/mlgshaders/diagnostics-common.hlsl' \
  260. 'gfx/layers/d3d11/mlgshaders/diagnostics-ps.hlsl' \
  261. 'gfx/layers/d3d11/mlgshaders/diagnostics-vs.hlsl' \
  262. 'gfx/layers/d3d11/mlgshaders/mask-combiner-common.hlsl' \
  263. 'gfx/layers/d3d11/mlgshaders/mask-combiner-ps.hlsl' \
  264. 'gfx/layers/d3d11/mlgshaders/mask-combiner-vs.hlsl' \
  265. 'gfx/layers/d3d11/mlgshaders/test-features-vs.hlsl' \
  266. 'gfx/layers/d3d11/mlgshaders/textured-common.hlsl' \
  267. 'gfx/layers/d3d11/mlgshaders/textured-ps.hlsl' \
  268. 'gfx/layers/d3d11/mlgshaders/textured-vs.hlsl' \
  269. 'gfx/layers/d3d11/mlgshaders/ycbcr-ps.hlsl' \
  270. 'gfx/layers/d3d11/ReadbackManagerD3D11.cpp' \
  271. 'gfx/layers/d3d11/ReadbackManagerD3D11.h' \
  272. 'gfx/layers/DirectedGraph.h' \
  273. 'gfx/layers/ImageLayers.cpp' \
  274. 'gfx/layers/ImageLayers.h' \
  275. 'gfx/layers/ipc/LayerTransactionChild.cpp' \
  276. 'gfx/layers/ipc/LayerTransactionChild.h' \
  277. 'gfx/layers/ipc/LayerTransactionParent.cpp' \
  278. 'gfx/layers/ipc/LayerTransactionParent.h' \
  279. 'gfx/layers/ipc/ShadowLayers.cpp' \
  280. 'gfx/layers/ipc/ShadowLayers.h' \
  281. 'gfx/layers/ipc/ShadowLayerUtilsMac.cpp' \
  282. 'gfx/layers/ipc/ShadowLayerUtilsX11.cpp' \
  283. 'gfx/layers/ipc/ShadowLayerUtilsX11.h' \
  284. 'gfx/layers/LayerManager.cpp' \
  285. 'gfx/layers/LayerMetricsWrapper.h' \
  286. 'gfx/layers/LayerScope.cpp' \
  287. 'gfx/layers/LayerScope.h' \
  288. 'gfx/layers/Layers.cpp' \
  289. 'gfx/layers/Layers.h' \
  290. 'gfx/layers/LayersHelpers.cpp' \
  291. 'gfx/layers/LayersHelpers.h' \
  292. 'gfx/layers/LayerSorter.cpp' \
  293. 'gfx/layers/LayerSorter.h' \
  294. 'gfx/layers/LayerTreeInvalidation.cpp' \
  295. 'gfx/layers/LayerTreeInvalidation.h' \
  296. 'gfx/layers/opengl/GLBlitTextureImageHelper.cpp' \
  297. 'gfx/layers/opengl/GLBlitTextureImageHelper.h' \
  298. 'gfx/layers/opengl/X11TextureSourceOGL.cpp' \
  299. 'gfx/layers/opengl/X11TextureSourceOGL.h' \
  300. 'gfx/layers/PaintThread.cpp' \
  301. 'gfx/layers/PaintThread.h' \
  302. 'gfx/layers/protobuf/LayerScopePacket.pb.h' \
  303. 'gfx/layers/ReadbackProcessor.cpp' \
  304. 'gfx/layers/ReadbackProcessor.h' \
  305. 'gfx/layers/RenderTrace.cpp' \
  306. 'gfx/layers/RenderTrace.h' \
  307. 'gfx/layers/RotatedBuffer.cpp' \
  308. 'gfx/layers/RotatedBuffer.h' \
  309. 'gfx/layers/SourceSurfaceVolatileData.cpp' \
  310. 'gfx/layers/SourceSurfaceVolatileData.h' \
  311. 'gfx/layers/TextureDIB.cpp' \
  312. 'gfx/layers/TextureDIB.h' \
  313. 'gfx/layers/TiledLayerBuffer.h' \
  314. 'gfx/src/TiledRegion.cpp' \
  315. 'gfx/src/TiledRegion.h' \
  316. 'gfx/tests/gtest/TestCompositor.cpp' \
  317. 'gfx/tests/gtest/TestLayers.h' \
  318. 'gfx/tests/gtest/TestTextureCompatibility.cpp' \
  319. 'gfx/thebes/gfxGdkNativeRenderer.cpp' \
  320. 'gfx/thebes/gfxGdkNativeRenderer.h' \
  321. 'gfx/thebes/gfxXlibNativeRenderer.cpp' \
  322. 'gfx/thebes/gfxXlibNativeRenderer.h' \
  323. 'layout/painting/FrameLayerBuilder.cpp' \
  324. 'layout/painting/FrameLayerBuilder.h' \
  325. 'widget/gtk/WindowSurfaceXRender.cpp' \
  326. 'widget/gtk/WindowSurfaceXRender.h' \
  327. 'gfx/2d/DrawTargetRecording.cpp' \
  328. 'gfx/2d/DrawTargetRecording.h' \
  329. 'gfx/gl/GLBlitTextureImageHelper.cpp' \
  330. 'gfx/gl/GLBlitTextureImageHelper.h' \
  331. 'gfx/layers/basic/BasicCanvasLayer.cpp' \
  332. 'gfx/layers/basic/BasicCanvasLayer.h' \
  333. 'gfx/layers/basic/BasicColorLayer.cpp' \
  334. 'gfx/layers/basic/BasicContainerLayer.cpp' \
  335. 'gfx/layers/basic/BasicContainerLayer.h' \
  336. 'gfx/layers/basic/BasicImageLayer.cpp' \
  337. 'gfx/layers/basic/BasicLayerManager.cpp' \
  338. 'gfx/layers/basic/BasicLayers.cpp' \
  339. 'gfx/layers/basic/BasicLayers.h' \
  340. 'gfx/layers/basic/BasicThebesLayer.cpp' \
  341. 'gfx/layers/basic/BasicThebesLayer.h' \
  342. 'gfx/layers/BasicLayers.h' \
  343. 'gfx/layers/basic/TextureHostX11.cpp' \
  344. 'gfx/layers/basic/TextureHostX11.h' \
  345. 'gfx/layers/client/ClientThebesLayer.cpp' \
  346. 'gfx/layers/client/ClientThebesLayer.h' \
  347. 'gfx/layers/client/ClientTiledThebesLayer.cpp' \
  348. 'gfx/layers/client/ClientTiledThebesLayer.h' \
  349. 'gfx/layers/client/TiledContentClient.cpp' \
  350. 'gfx/layers/client/TiledContentClient.h' \
  351. 'gfx/layers/composite/ThebesLayerComposite.cpp' \
  352. 'gfx/layers/composite/ThebesLayerComposite.h' \
  353. 'gfx/layers/ipc/CompositorParent.cpp' \
  354. 'gfx/layers/ipc/CompositorParent.h' \
  355. 'gfx/layers/ipc/LayerTransactionChild.cpp' \
  356. 'gfx/layers/ipc/LayerTransactionChild.h' \
  357. 'gfx/layers/ipc/ShadowLayersChild.cpp' \
  358. 'gfx/layers/ipc/ShadowLayersChild.h' \
  359. 'gfx/layers/ipc/ShadowLayersParent.cpp' \
  360. 'gfx/layers/ipc/ShadowLayersParent.h' \
  361. 'gfx/layers/opengl/FPSCounter.h' \
  362. 'gfx/layers/ThebesLayerBuffer.cpp' \
  363. 'gfx/layers/ThebesLayerBuffer.h' \
  364. 'gfx/thebes/public/gfxGdkNativeRenderer.h' \
  365. 'gfx/thebes/public/gfxXlibNativeRenderer.h' \
  366. 'gfx/thebes/src/gfxGdkNativeRenderer.cpp' \
  367. 'gfx/thebes/src/gfxXlibNativeRenderer.cpp' \
  368. 'layout/base/FrameLayerBuilder.cpp' \
  369. 'layout/base/FrameLayerBuilder.h' \
  370. 'gfx/layers/d3d11/MLGDeviceD3D11.cpp' \
  371. 'gfx/layers/d3d11/MLGDeviceD3D11.h' \
  372. 'gfx/layers/mlgpu/BufferCache.cpp' \
  373. 'gfx/layers/mlgpu/BufferCache.h' \
  374. 'gfx/layers/mlgpu/CanvasLayerMLGPU.cpp' \
  375. 'gfx/layers/mlgpu/CanvasLayerMLGPU.h' \
  376. 'gfx/layers/mlgpu/ClearRegionHelper.h' \
  377. 'gfx/layers/mlgpu/ContainerLayerMLGPU.cpp' \
  378. 'gfx/layers/mlgpu/ContainerLayerMLGPU.h' \
  379. 'gfx/layers/mlgpu/FrameBuilder.cpp' \
  380. 'gfx/layers/mlgpu/FrameBuilder.h' \
  381. 'gfx/layers/mlgpu/ImageLayerMLGPU.cpp' \
  382. 'gfx/layers/mlgpu/ImageLayerMLGPU.h' \
  383. 'gfx/layers/mlgpu/LayerManagerMLGPU.cpp' \
  384. 'gfx/layers/mlgpu/LayerManagerMLGPU.h' \
  385. 'gfx/layers/mlgpu/LayerMLGPU.cpp' \
  386. 'gfx/layers/mlgpu/LayerMLGPU.h' \
  387. 'gfx/layers/mlgpu/MaskOperation.cpp' \
  388. 'gfx/layers/mlgpu/MaskOperation.h' \
  389. 'gfx/layers/mlgpu/MemoryReportingMLGPU.cpp' \
  390. 'gfx/layers/mlgpu/MemoryReportingMLGPU.h' \
  391. 'gfx/layers/mlgpu/MLGDevice.cpp' \
  392. 'gfx/layers/mlgpu/MLGDevice.h' \
  393. 'gfx/layers/mlgpu/MLGDeviceTypes.h' \
  394. 'gfx/layers/mlgpu/MLGPUScreenshotGrabber.cpp' \
  395. 'gfx/layers/mlgpu/MLGPUScreenshotGrabber.h' \
  396. 'gfx/layers/mlgpu/PaintedLayerMLGPU.cpp' \
  397. 'gfx/layers/mlgpu/PaintedLayerMLGPU.h' \
  398. 'gfx/layers/mlgpu/RenderPassMLGPU.cpp' \
  399. 'gfx/layers/mlgpu/RenderPassMLGPU.h' \
  400. 'gfx/layers/mlgpu/RenderPassMLGPU-inl.h' \
  401. 'gfx/layers/mlgpu/RenderViewMLGPU.cpp' \
  402. 'gfx/layers/mlgpu/RenderViewMLGPU.h' \
  403. 'gfx/layers/mlgpu/ShaderDefinitionsMLGPU.h' \
  404. 'gfx/layers/mlgpu/ShaderDefinitionsMLGPU-inl.h' \
  405. 'gfx/layers/mlgpu/SharedBufferMLGPU.cpp' \
  406. 'gfx/layers/mlgpu/SharedBufferMLGPU.h' \
  407. 'gfx/layers/mlgpu/StagingBuffer.cpp' \
  408. 'gfx/layers/mlgpu/StagingBuffer.h' \
  409. 'gfx/layers/mlgpu/TexturedLayerMLGPU.cpp' \
  410. 'gfx/layers/mlgpu/TexturedLayerMLGPU.h' \
  411. 'gfx/layers/mlgpu/TextureSourceProviderMLGPU.cpp' \
  412. 'gfx/layers/mlgpu/TextureSourceProviderMLGPU.h' \
  413. 'gfx/layers/mlgpu/UtilityMLGPU.h' \
  414. 'gfx/layers/LayerAttributes.h' \
  415. > "$issuesDir/layers-issues/res0.json"
  416. # cubeb-linux
  417. mkdir -p "$issuesDir/cubeb-linux-issues"
  418. filter "$toFilter/cubeb-linux-issues" \
  419. 'media/libcubeb/src/cubeb_pulse.c' \
  420. > "$issuesDir/cubeb-linux-issues/res0.json"
  421. # cubeb-macos
  422. mkdir -p "$issuesDir/cubeb-macos-issues"
  423. filter "$toFilter/cubeb-macos-issues" \
  424. 'media/libcubeb/src/cubeb_audiounit.c' \
  425. 'media/libcubeb/src/cubeb_audiounit.cpp' \
  426. > "$issuesDir/cubeb-macos-issues/res0.json"
  427. # prefs-parser
  428. mkdir -p "$issuesDir/prefs-parser-issues"
  429. filter "$toFilter/prefs-parser-issues" \
  430. 'modules/libpref/src/nsPrefService.cpp' \
  431. 'modules/libpref/src/Preferences.cpp' \
  432. 'modules/libpref/Preferences.cpp' \
  433. > "$issuesDir/prefs-parser-issues/res0.json"
  434. # cert-blocklist
  435. mkdir -p "$issuesDir/cert-blocklist-issues"
  436. filter "$toFilter/cert-blocklist-issues" \
  437. 'security/manager/boot/src/CertBlocklist.cpp' \
  438. 'security/manager/ssl/CertBlocklist.cpp' \
  439. > "$issuesDir/cert-blocklist-issues/res0.json"
  440. # japanese-encoding
  441. mkdir -p "$issuesDir/japanese-encoding-issues"
  442. filter "$toFilter/japanese-encoding-issues" \
  443. 'extensions/universalchardet/src/base/CharDistribution.cpp' \
  444. 'extensions/universalchardet/src/base/JpCntx.cpp' \
  445. 'extensions/universalchardet/src/base/nsCharSetProber.cpp' \
  446. 'extensions/universalchardet/src/base/nsEUCJPProber.cpp' \
  447. 'extensions/universalchardet/src/base/nsEscCharsetProber.cpp' \
  448. 'extensions/universalchardet/src/base/nsEscSM.cpp' \
  449. 'extensions/universalchardet/src/base/nsMBCSGroupProber.cpp' \
  450. 'extensions/universalchardet/src/base/nsMBCSSM.cpp' \
  451. 'extensions/universalchardet/src/base/nsSJISProber.cpp' \
  452. 'extensions/universalchardet/src/base/nsUTF8Prober.cpp' \
  453. 'extensions/universalchardet/src/base/nsUniversalDetector.cpp' \
  454. 'extensions/universalchardet/src/xpcom/nsUdetXPCOMWrapper.cpp' \
  455. > "$issuesDir/japanese-encoding-issues/res0.json"
  456. # language-identifier
  457. mkdir -p "$issuesDir/language-identifier-issues"
  458. filter "$toFilter/language-identifier-issues" \
  459. 'intl/locale/MozLocale.cpp' \
  460. > "$issuesDir/language-identifier-issues/res0.json"
  461. # language-negotiation
  462. mkdir -p "$issuesDir/language-negotiation-issues"
  463. filter "$toFilter/language-negotiation-issues" \
  464. 'intl/locale/LocaleService.cpp' \
  465. > "$issuesDir/language-negotiation-issues/res0.json"
  466. # encoding-detector
  467. mkdir -p "$issuesDir/encoding-detector-issues"
  468. filter "$toFilter/encoding-detector-issues" \
  469. 'intl/chardet/' \
  470. > "$issuesDir/encoding-detector-issues/res0.json"
  471. # hyphenation
  472. mkdir -p "$issuesDir/hyphenation-issues"
  473. filter "$toFilter/hyphenation-issues" \
  474. 'intl/hyphenation/' \
  475. > "$issuesDir/hyphenation-issues/res0.json"