From 729a46113ba5da540544e90dd0b1faddf729e394 Mon Sep 17 00:00:00 2001 From: roytam1 Date: Mon, 7 Dec 2020 11:03:05 +0800 Subject: [PATCH] import changes from `dev' branch of rmottola/Arctic-Fox: - Bug 1159056. Don't store a value in CSS pixels in a variable with type nscoord in ScrollFrameHelper::SetCoordAttribute. r=dholbert (432f06158) - Bug 1138442 - Disable reftests on Mulet in parity with B2G/B2G Desktop. r=ahal (8b5c55da7) - Don't clip in ComputeFrameMetrics if the scrollframe won't be layerized. (bug 1148582 part 2, r=tn) (088b6ef29) - Bug 1157579 - Make sure the visual scroll port size includes the area of scrollbars when used in TryLayout. r=tn (c35244374) - Bug 1139306: Fix margin sides for right-to-left scrollbars depending on the actual position of the scrollbar as determined by layout.scrollbar.side, r=tn (34328312d) - Fix some full zoom FrameMetrics changes not propagating to APZ. (bug 1147648, r=botond) (91f009ac4) - Bug 1159405 - Fix "Found a non-root APZ with no handoff parent". r=botond (09b0ddf07) - Bug 1161040 - Don't set a scrollparent on the root content document in the child process that points to itself. r=tn (d0dfbffb0) - Bug 1161040 - Add some assertions to guard against infinite loops in the handoff chains. r=botond (e6bae82e8) - Bug 1153539 patch 1 - Improve comments for nsLayoutUtils::ComputeSuitableScaleForAnimation. r=roc (1b2bc00cd) - Bug 1153539 patch 2 - Compute scale for rasterizing off-main-thread transform animations based on ratio to display size in addition to maximum and minimum scale. r=roc (97d632d0f) - Bug 1160250 - Extract a helper method from the triplicated comp-bounds function to determine if we need to deflate the scrollbars. r=botond,tn (8d79c845f) - Bug 1160250 - Extract a helper function from the triplicated composition-bounds-updating code. r=botond,tn (5b3f71329) - Bug 1160250 - Collapse the code from CalculateRootCompositionSize into UpdateCompositionBounds. r=botond,tn (db0f081d6) - Bug 1160250 - Put in a missing transfomToAncestor scaling factor. r=botond,tn (14837aa3a) - Bug 1160250 - Fix up the rect being used for the composition size calculation. r=tn (0ba58021f) - Bug 1139575 - Reset velocity on axes when going from a pan to a pinch. r=botond (2e03d04ab) - Bug 1136971 - Draw layer borders correctly in the presence of multi-FrameMetrics. r=kats (e72f5b171) - Bug 1148871 - Only apply checkerboarding background color to opaque layers. r=botond (20e070b84) - Bug 1157327 - Don't cull out container layers, because their prepared data might be null and cause crashes. r=nical (3d06c925f) - Bug 1157327 follow-up to add a comment. r=me and DONTBUILD (4cd74c0a1) - Bug 1160566 - Make FrameMetrics.mCompositionBounds private and add a getter/setter for it. r=botond (277dd9afd) - Bug 1160566 - Change some return values to be reference-to-const. r=botond (2ce17b63f) - Bug 1158933 - Prevent scrollbars from jumping while zoomed in the B2G browser. r=botond (eca8aae7d) - Bug 1158933 - Replace the compositedHeight/scrollableHeight (and width) term with the adjusted scrollThumbRatio. r=botond (236af4c4a) - Bug 1156401 - Fix painting when building fennec with apzc. r=kats, r=botond (be18764b9) - Bug 1159305 - patch 1 - Provide logical accessors for nsStylePosition and nsStyleSides fields. r=dbaron (7a90c519d) - Bug 1159305 - patch 2 - Clean up layout code by using the new accessors. r=smontagu (926eb7dd5) - Bug 1164406 - Expose scrollbar-area deflation in nsLayoutUtils. r=kats (42e5e8784) - Bug 1139895 - Add fuzz for 1062792-1.html. r=tn (e38d0ac73) - Bug 1139893 - Disable reftest bugs/1062108-1.html on mulet. r=jfkthame (930590d73) - Move the APZ scroll frame clip onto FrameMetrics. (bug 1148582 part 3, r=mstange,tn) (c8e05f8d7) - Fix PostprocessRetainedLayers to not test occlusion with asynchronous clips. (bug 1148582 part 5, r=tn) (cc71cafe2) - Bug 1146626 - Refresh the reftest snapshot after adjusting the async scroll offsets. r=roc (1f041955d) - Bug 1160642. Add reftest-async-zoom to apply an async zoom before taking snapshot. r=dbaron (1e8e54d8d) - Bug 1160285 - Add a staticruntime version of mfbt and link some stuff against it. r=glandium (c733c49c7) - Bug 786520 - Install things to $(DIST)/branding from moz.build instead of manual rules in Makefile.ins. r=mshal (42d38eb26) - Bug 1155776 - move USE_EXTENSION_MANIFEST to moz.build; r=mshal (a87ecc2ca) - Bug 1155816 - part 0 - remove NO_JS_MANIFEST from testing/mochitest/Makefile.in; r=mshal (af90a362c) - Bug 1155816 - part 1 - move NO_JS_MANIFEST to moz.build; r=mshal (3a55e99a0) - Bug 978591 - Remove per-directory uses of MOZ_CHROME_FILE_FORMAT. r=glandium (5084d62b5) - Bug 991983 - Set GARBAGE for GeneratedSources in the recursivemake backend. r=gps (b8ae57c14) - Bug 991983 - Emit absolute paths for UnifiedSources. r=gps (4100640d0) - Bug 991983 - Emit absolute paths for other sources. r=gps (f30ddd773) - Bug 991983 - Remove commented code in gyp_reader.py. r=gps (0685eca6a) - Bug 1167474 - Remove ELFHACK_BUILD hack. r=mshal (b9d56c0b2) - Bug 1097804 - Part 1 - Create a library containing nsISocketTransportService and nsIDNS that can be used to support standalone WebRTC. r=mcmanus (d2f83eb1c) - Bug 1097804 - Part 2 - Added xpcomrt build of library containing unicode util functions. r=gps (fa9306f34) - Bug 1162852 - Remove EXTRA_COMPILE_FLAGS. r=gps (340312bc6) - Bug 1162852 - Remove EXTRA_ASSEMBLER_FLAGS. r=gps (f124c902c) - Bug 1162852 - Remove the VARIABLES method of GypContext now it is doing nothing. r=gps (b6c1c0246) - accidental commit (a1bbb1ada) - Bug 991983 - Define SOURCES as SourcePath. r=gps (678065bce) - Bug 991983 - Use objdir-relative SOURCES instead of GENERATED_SOURCES. r=gps (b54db0304) - Bug 991983 - Make TEST_HARNESS_FILES use the *Path classes instead of a separate set of methods to resolve paths. r=gps (025fe1ca9) - Bug 991983 - Add a deprecation hint for GENERATED_SOURCES. r=gps (67c75f4ab) - Bug 1172800 - Fixup after bug 991983. r=gps (ce6e8c7a3) - Bug 1164218 - Allow running individual mochitests and reftests in chaos mode. r=roc,froydnj (f2ec1d9d8) - Bug 1154231 - Part 1. Use LRU to manage remote layers. r=mattwoodrow (1fe47e64f) - Bug 1128037 - Minimalist support for wildcards in jar manifests. r=gps (1b07a6ffc) - Bug 1162569 - default engine files should be in the omni.ja file, r=markh,glandium. (b07e54881) - Bug 1157279. Escaping CSS identifiers should use lowercase letters for hex digits, not uppercase ones. r=dbaron (6f220936e) --- accessible/interfaces/msaa/moz.build | 16 +- accessible/xpcom/moz.build | 4 +- b2g/app/b2g.js | 3 + b2g/chrome/content/content.css | 11 +- browser/installer/package-manifest.in | 1 - browser/locales/Makefile.in | 19 +- browser/locales/jar.mn | 2 + build/Makefile.in | 8 - build/docs/jar-manifests.rst | 9 + build/moz.build | 5 + build/unix/elfhack/inject/moz.build | 6 +- build/unix/elfhack/moz.build | 2 - config/config.mk | 10 +- content/test/reftest/reftest.list | 10 +- dom/base/nsDOMWindowUtils.cpp | 44 ++ dom/html/reftests/autofocus/reftest.list | 22 +- dom/indexedDB/test/extensions/Makefile.in | 5 - dom/indexedDB/test/extensions/moz.build | 5 + dom/interfaces/base/nsIDOMWindowUtils.idl | 23 +- dom/ipc/TabChild.cpp | 37 +- dom/ipc/TabChild.h | 1 + dom/media/directshow/moz.build | 12 +- dom/plugins/ipc/moz.build | 4 +- .../test/testplugin/javaplugin/moz.build | 2 +- .../test/testplugin/secondplugin/moz.build | 2 +- .../test/testplugin/testplugin.mozbuild | 16 +- dom/system/qt/moz.build | 4 +- .../test/extensions/bootstrap/Makefile.in | 6 - .../test/extensions/bootstrap/moz.build | 6 + .../test/extensions/traditional/Makefile.in | 5 - .../test/extensions/traditional/moz.build | 5 + editor/reftests/reftest.list | 4 +- editor/reftests/xul/reftest.list | 48 +- gfx/ipc/GfxMessageUtils.h | 2 + gfx/layers/FrameMetrics.h | 96 ++-- gfx/layers/Layers.cpp | 21 + gfx/layers/Layers.h | 12 +- gfx/layers/LayersLogging.cpp | 5 +- gfx/layers/apz/src/APZCTreeManager.cpp | 11 +- gfx/layers/apz/src/AsyncPanZoomController.cpp | 31 +- gfx/layers/apz/src/AsyncPanZoomController.h | 9 + gfx/layers/apz/src/Axis.cpp | 4 +- gfx/layers/client/ClientTiledPaintedLayer.cpp | 4 +- gfx/layers/client/TiledContentClient.cpp | 2 +- .../composite/AsyncCompositionManager.cpp | 61 ++- .../composite/ContainerLayerComposite.cpp | 46 +- .../composite/LayerManagerComposite.cpp | 2 +- gfx/layers/ipc/CompositorChild.cpp | 30 ++ gfx/layers/ipc/CompositorChild.h | 5 + gfx/layers/ipc/CompositorLRU.cpp | 101 ++++ gfx/layers/ipc/CompositorLRU.h | 61 +++ gfx/layers/ipc/CompositorParent.cpp | 22 + gfx/layers/ipc/CompositorParent.h | 2 + gfx/layers/ipc/LayerTransactionParent.cpp | 16 + gfx/layers/ipc/LayerTransactionParent.h | 2 + gfx/layers/ipc/PCompositor.ipdl | 14 + gfx/layers/ipc/PLayerTransaction.ipdl | 5 + gfx/layers/moz.build | 2 + .../gtest/TestAsyncPanZoomController.cpp | 12 +- gfx/tests/gtest/moz.build | 2 +- intl/unicharutil/util/moz.build | 2 +- intl/unicharutil/util/objs.mozbuild | 2 +- intl/unicharutil/util/standalone/moz.build | 16 + ipc/chromium/moz.build | 8 +- ipc/glue/IPCMessageUtils.h | 35 ++ ipc/ipdl/test/cxx/moz.build | 5 +- layout/base/FrameLayerBuilder.cpp | 35 +- layout/base/nsDisplayList.cpp | 6 +- layout/base/nsLayoutUtils.cpp | 401 ++++++++------- layout/base/nsLayoutUtils.h | 30 +- layout/build/nsLayoutStatics.cpp | 3 + layout/generic/WritingModes.h | 165 +++++- layout/generic/nsBlockFrame.cpp | 34 +- layout/generic/nsContainerFrame.cpp | 4 +- layout/generic/nsFrame.cpp | 24 +- layout/generic/nsGfxScrollFrame.cpp | 73 ++- layout/generic/nsGfxScrollFrame.h | 15 +- layout/generic/nsHTMLReflowState.cpp | 33 +- layout/generic/nsIScrollableFrame.h | 1 - layout/reftests/abs-pos/reftest.list | 6 +- layout/reftests/backgrounds/reftest.list | 20 +- .../reftests/backgrounds/vector/reftest.list | 56 +-- layout/reftests/bidi/reftest.list | 10 +- layout/reftests/border-radius/reftest.list | 12 +- layout/reftests/box-ordinal/reftest.list | 12 +- layout/reftests/box-properties/reftest.list | 12 +- layout/reftests/box-shadow/reftest.list | 10 +- layout/reftests/box/reftest.list | 4 +- layout/reftests/bugs/reftest.list | 474 +++++++++--------- layout/reftests/canvas/reftest.list | 10 +- layout/reftests/columns/reftest.list | 6 +- layout/reftests/counter-style/reftest.list | 2 +- .../reftests/css-disabled/button/reftest.list | 8 +- .../reftests/css-disabled/select/reftest.list | 8 +- .../reftests/css-enabled/button/reftest.list | 8 +- .../reftests/css-enabled/select/reftest.list | 8 +- layout/reftests/css-gradients/reftest.list | 6 +- layout/reftests/css-import/reftest.list | 6 +- .../reftests/css-invalid/input/reftest.list | 4 +- .../reftests/css-invalid/select/reftest.list | 6 +- .../css-invalid/textarea/reftest.list | 4 +- layout/reftests/css-mediaqueries/reftest.list | 30 +- layout/reftests/css-selectors/reftest.list | 4 +- .../input-image/reftest.list | 2 +- .../input-submit/reftest.list | 2 +- .../css-ui-invalid/input/reftest.list | 4 +- .../css-ui-invalid/select/reftest.list | 6 +- .../css-ui-invalid/textarea/reftest.list | 4 +- .../reftests/css-ui-valid/input/reftest.list | 4 +- .../reftests/css-ui-valid/select/reftest.list | 4 +- .../css-ui-valid/textarea/reftest.list | 4 +- layout/reftests/css-valid/input/reftest.list | 4 +- layout/reftests/css-valid/select/reftest.list | 4 +- .../reftests/css-valid/textarea/reftest.list | 4 +- .../reftests/css-valuesandunits/reftest.list | 4 +- layout/reftests/cssom/reftest.list | 2 +- layout/reftests/dom/reftest.list | 24 +- layout/reftests/first-letter/reftest.list | 2 +- layout/reftests/flexbox/reftest.list | 2 +- layout/reftests/font-face/reftest.list | 34 +- layout/reftests/font-features/reftest.list | 8 +- layout/reftests/font-inflation/reftest.list | 18 +- layout/reftests/font-matching/reftest.list | 10 +- layout/reftests/forms/button/reftest.list | 10 +- layout/reftests/forms/fieldset/reftest.list | 4 +- .../forms/input/checkbox/reftest.list | 2 +- layout/reftests/forms/input/file/reftest.list | 12 +- .../reftests/forms/input/number/reftest.list | 16 +- .../reftests/forms/input/range/reftest.list | 2 +- layout/reftests/forms/input/text/reftest.list | 6 +- layout/reftests/forms/legend/reftest.list | 2 +- layout/reftests/forms/meter/reftest.list | 4 +- .../reftests/forms/placeholder/reftest.list | 4 +- layout/reftests/forms/progress/reftest.list | 4 +- layout/reftests/forms/reftest.list | 2 +- layout/reftests/forms/select/reftest.list | 4 +- layout/reftests/forms/textarea/reftest.list | 14 +- layout/reftests/forms/textbox/reftest.list | 16 +- .../reftests/generated-content/reftest.list | 2 +- layout/reftests/image-element/reftest.list | 16 +- layout/reftests/image-rect/reftest.list | 2 +- layout/reftests/image-region/reftest.list | 2 +- layout/reftests/image/reftest.list | 4 +- layout/reftests/indic-shaping/reftest.list | 8 +- layout/reftests/line-breaking/reftest.list | 2 +- .../reftests/margin-collapsing/reftest.list | 46 +- layout/reftests/marquee/reftest.list | 2 +- layout/reftests/mathml/reftest.list | 14 +- layout/reftests/object/reftest.list | 2 +- layout/reftests/ogg-video/reftest.list | 54 +- layout/reftests/pagination/reftest.list | 32 +- .../percent-overflow-sizing/reftest.list | 32 +- layout/reftests/pixel-rounding/reftest.list | 6 +- .../vertical/reftest_border_abspos.list | 2 +- layout/reftests/position-sticky/reftest.list | 6 +- layout/reftests/printing/reftest.list | 8 +- .../reftest-sanity/async-zoom-1-ref.html | 6 + .../reftests/reftest-sanity/async-zoom-1.html | 6 + .../reftest-sanity/async-zoom-2-ref.html | 6 + .../reftests/reftest-sanity/async-zoom-2.html | 6 + layout/reftests/reftest-sanity/reftest.list | 23 +- layout/reftests/reftest.list | 4 +- layout/reftests/scrolling/reftest.list | 14 +- layout/reftests/selection/reftest.list | 6 +- layout/reftests/svg/as-image/reftest.list | 30 +- layout/reftests/svg/moz-only/reftest.list | 28 +- layout/reftests/svg/reftest.list | 16 +- layout/reftests/svg/sizing/reftest.list | 4 +- .../reftests/svg/svg-integration/reftest.list | 4 +- layout/reftests/table-background/reftest.list | 32 +- layout/reftests/table-width/reftest.list | 2 +- layout/reftests/text-decoration/reftest.list | 6 +- layout/reftests/text-overflow/reftest.list | 22 +- layout/reftests/text-shadow/reftest.list | 10 +- layout/reftests/text-transform/reftest.list | 8 +- layout/reftests/text/reftest.list | 28 +- layout/reftests/transform-3d/reftest.list | 2 +- layout/reftests/transform/reftest.list | 28 +- .../submitted/css21/pagination/reftest.list | 4 +- .../w3c-css/submitted/values3/reftest.list | 2 +- layout/reftests/webcomponents/reftest.list | 2 +- layout/reftests/webm-video/reftest.list | 80 +-- layout/reftests/writing-mode/reftest.list | 8 +- .../reftests/xul-document-load/reftest.list | 44 +- layout/reftests/xul/reftest.list | 16 +- layout/style/nsStyleCoord.h | 38 ++ layout/style/nsStyleStruct.h | 29 ++ layout/tools/reftest/Makefile.in | 9 - layout/tools/reftest/README.txt | 24 +- layout/tools/reftest/moz.build | 7 + layout/tools/reftest/reftest-content.js | 63 ++- layout/tools/reftest/reftest.js | 21 +- layout/xul/grid/reftests/reftest.list | 36 +- layout/xul/nsIScrollbarMediator.h | 2 + layout/xul/nsListBoxBodyFrame.h | 3 + layout/xul/nsScrollbarFrame.cpp | 23 +- layout/xul/nsSliderFrame.cpp | 4 +- layout/xul/reftest/reftest.list | 12 +- layout/xul/tree/nsTreeBodyFrame.h | 3 + media/libopus/moz.build | 6 +- media/libtheora/moz.build | 2 +- media/mtransport/common.build | 2 +- mfbt/ChaosMode.cpp | 15 + mfbt/ChaosMode.h | 28 ++ mfbt/moz.build | 34 +- mfbt/objs.mozbuild | 39 ++ mfbt/staticruntime/moz.build | 24 + modules/libpref/init/all.js | 3 + mozilla-config.h.in | 5 +- netwerk/base/nsSocketTransportService2.cpp | 32 +- netwerk/base/nsURLHelper.cpp | 12 + netwerk/dns/nsDNSService2.cpp | 8 + netwerk/moz.build | 1 + netwerk/standalone/moz.build | 53 ++ netwerk/standalone/nsNetModuleStandalone.cpp | 118 +++++ netwerk/standalone/nsNetModuleStandalone.h | 13 + netwerk/system/qt/moz.build | 5 +- .../mozbuild/backend/recursivemake.py | 31 +- python/mozbuild/mozbuild/frontend/context.py | 84 ++-- python/mozbuild/mozbuild/frontend/data.py | 16 + python/mozbuild/mozbuild/frontend/emitter.py | 130 +++-- .../mozbuild/mozbuild/frontend/gyp_reader.py | 58 ++- python/mozbuild/mozbuild/frontend/reader.py | 5 +- python/mozbuild/mozbuild/frontend/sandbox.py | 2 +- python/mozbuild/mozbuild/jar.py | 26 +- .../test/backend/data/dist-files/install.rdf | 0 .../test/backend/data/dist-files/main.js | 0 .../test/backend/data/dist-files/moz.build | 8 + .../test/backend/test_recursivemake.py | 15 + .../data/dist-files-missing/install.rdf | 0 .../data/dist-files-missing/moz.build | 8 + .../test/frontend/data/dist-files/install.rdf | 0 .../test/frontend/data/dist-files/main.js | 0 .../test/frontend/data/dist-files/moz.build | 8 + .../frontend/data/generated-sources/moz.build | 30 +- .../mozbuild/test/frontend/test_emitter.py | 50 +- .../mozbuild/mozbuild/test/test_jarmaker.py | 61 ++- rdf/util/objs.mozbuild | 6 +- security/sandbox/moz.build | 2 +- security/sandbox/objs.mozbuild | 2 +- security/sandbox/staticruntime/moz.build | 2 +- testing/mochitest/Makefile.in | 6 - testing/mochitest/moz.build | 4 + .../mochitest/tests/SimpleTest/SimpleTest.js | 15 + testing/specialpowers/Makefile.in | 8 - testing/specialpowers/moz.build | 7 +- toolkit/components/search/nsSearchService.js | 125 +++-- .../search/tests/xpcshell/data/engine-app.xml | 9 + .../search/tests/xpcshell/head_search.js | 25 + .../search/tests/xpcshell/test_645970.js | 6 +- .../search/tests/xpcshell/test_async.js | 12 +- .../search/tests/xpcshell/test_async_app.js | 30 ++ .../search/tests/xpcshell/test_identifiers.js | 5 +- .../search/tests/xpcshell/test_json_cache.js | 71 ++- .../search/tests/xpcshell/test_sync.js | 12 +- .../search/tests/xpcshell/test_sync_app.js | 23 + .../xpcshell/test_sync_delay_fallback.js | 15 +- .../tests/xpcshell/test_sync_fallback.js | 16 +- .../search/tests/xpcshell/xpcshell.ini | 3 + toolkit/profile/moz.build | 8 +- .../global/devtools/floating-scrollbars.css | 4 +- .../global/devtools/floating-scrollbars.css | 4 +- .../global/devtools/floating-scrollbars.css | 4 +- toolkit/xre/moz.build | 4 +- tools/quitter/Makefile.in | 9 - tools/quitter/moz.build | 10 +- widget/PuppetWidget.cpp | 4 - widget/qt/moz.build | 7 +- xpcom/components/nsComponentManager.cpp | 1 + xpcom/components/nsComponentManager.h | 1 + xpcom/glue/nsStringAPI.cpp | 2 + xpcom/glue/objs.mozbuild | 4 +- xpcom/libxpcomrt/XPCOMRTInit.cpp | 9 + xpcom/libxpcomrt/moz.build | 19 +- xpcom/reflect/xptcall/md/unix/moz.build | 12 +- xulrunner/examples/simple/Makefile.in | 2 - xulrunner/examples/simple/moz.build | 3 + 277 files changed, 3373 insertions(+), 1834 deletions(-) create mode 100644 gfx/layers/ipc/CompositorLRU.cpp create mode 100644 gfx/layers/ipc/CompositorLRU.h create mode 100644 intl/unicharutil/util/standalone/moz.build create mode 100644 layout/reftests/reftest-sanity/async-zoom-1-ref.html create mode 100644 layout/reftests/reftest-sanity/async-zoom-1.html create mode 100644 layout/reftests/reftest-sanity/async-zoom-2-ref.html create mode 100644 layout/reftests/reftest-sanity/async-zoom-2.html create mode 100644 mfbt/ChaosMode.cpp create mode 100644 mfbt/objs.mozbuild create mode 100644 mfbt/staticruntime/moz.build create mode 100644 netwerk/standalone/moz.build create mode 100644 netwerk/standalone/nsNetModuleStandalone.cpp create mode 100644 netwerk/standalone/nsNetModuleStandalone.h create mode 100644 python/mozbuild/mozbuild/test/backend/data/dist-files/install.rdf create mode 100644 python/mozbuild/mozbuild/test/backend/data/dist-files/main.js create mode 100644 python/mozbuild/mozbuild/test/backend/data/dist-files/moz.build create mode 100644 python/mozbuild/mozbuild/test/frontend/data/dist-files-missing/install.rdf create mode 100644 python/mozbuild/mozbuild/test/frontend/data/dist-files-missing/moz.build create mode 100644 python/mozbuild/mozbuild/test/frontend/data/dist-files/install.rdf create mode 100644 python/mozbuild/mozbuild/test/frontend/data/dist-files/main.js create mode 100644 python/mozbuild/mozbuild/test/frontend/data/dist-files/moz.build create mode 100644 toolkit/components/search/tests/xpcshell/data/engine-app.xml create mode 100644 toolkit/components/search/tests/xpcshell/test_async_app.js create mode 100644 toolkit/components/search/tests/xpcshell/test_sync_app.js diff --git a/accessible/interfaces/msaa/moz.build b/accessible/interfaces/msaa/moz.build index e555fabd3c..2021a4abb8 100644 --- a/accessible/interfaces/msaa/moz.build +++ b/accessible/interfaces/msaa/moz.build @@ -6,14 +6,14 @@ GeckoSharedLibrary('AccessibleMarshal', linkage=None) -GENERATED_SOURCES += [ - 'dlldata.c', - 'ISimpleDOMDocument_i.c', - 'ISimpleDOMDocument_p.c', - 'ISimpleDOMNode_i.c', - 'ISimpleDOMNode_p.c', - 'ISimpleDOMText_i.c', - 'ISimpleDOMText_p.c', +SOURCES += [ + '!dlldata.c', + '!ISimpleDOMDocument_i.c', + '!ISimpleDOMDocument_p.c', + '!ISimpleDOMNode_i.c', + '!ISimpleDOMNode_p.c', + '!ISimpleDOMText_i.c', + '!ISimpleDOMText_p.c', ] DEFINES['REGISTER_PROXY_DLL'] = True diff --git a/accessible/xpcom/moz.build b/accessible/xpcom/moz.build index b6dfff97c7..68c15089d5 100644 --- a/accessible/xpcom/moz.build +++ b/accessible/xpcom/moz.build @@ -20,8 +20,8 @@ UNIFIED_SOURCES += [ 'xpcAccessibleValue.cpp', ] -GENERATED_SOURCES += [ - 'xpcAccEvents.cpp', +SOURCES += [ + '!xpcAccEvents.cpp', ] LOCAL_INCLUDES += [ diff --git a/b2g/app/b2g.js b/b2g/app/b2g.js index 69c9712c33..241e77176e 100644 --- a/b2g/app/b2g.js +++ b/b2g/app/b2g.js @@ -1081,3 +1081,6 @@ pref("dom.activities.developer_mode_only", "import-app"); // mulet apparently loads firefox.js as well as b2g.js, so we have to explicitly // disable serviceworkers here to get them disabled in mulet. pref("dom.serviceWorkers.enabled", false); + +// Retain at most 10 processes' layers buffers +pref("layers.compositor-lru-size", 10); diff --git a/b2g/chrome/content/content.css b/b2g/chrome/content/content.css index 64777cff7e..f9e87f4fbc 100644 --- a/b2g/chrome/content/content.css +++ b/b2g/chrome/content/content.css @@ -30,19 +30,14 @@ html xul|scrollbar { pointer-events: none; } +/* Scrollbar code will reset the margin to the correct side depending on + where layout actually puts the scrollbar */ xul|scrollbar[orient="vertical"] { - -moz-margin-start: -8px; + margin-left: -8px; min-width: 8px; max-width: 8px; } -/* workaround for bug 1119057: as -moz-margin-start may not work as expected, - * force a right margin value in RTL mode. */ -[dir="rtl"] xul|scrollbar[root="true"][orient="vertical"] { - -moz-margin-start: unset; - margin-right: -8px; -} - xul|scrollbar[orient="vertical"] xul|thumb { max-width: 6px !important; min-width: 6px !important; diff --git a/browser/installer/package-manifest.in b/browser/installer/package-manifest.in index 1a26e1e867..faf030b6d3 100644 --- a/browser/installer/package-manifest.in +++ b/browser/installer/package-manifest.in @@ -56,7 +56,6 @@ #endif @RESPATH@/hyphenation/* @RESPATH@/browser/@PREF_DIR@/palemoon-l10n.js -@RESPATH@/browser/searchplugins/* #ifdef HAVE_MAKENSISU @BINPATH@/uninstall/helper.exe #endif diff --git a/browser/locales/Makefile.in b/browser/locales/Makefile.in index 54a02dbf1e..f8d393c660 100644 --- a/browser/locales/Makefile.in +++ b/browser/locales/Makefile.in @@ -5,9 +5,6 @@ include $(topsrcdir)/config/config.mk -vpath %.xml @srcdir@/en-US/searchplugins -vpath %.xml $(LOCALE_SRCDIR)/searchplugins - ifdef LOCALE_MERGEDIR vpath book%.inc $(LOCALE_MERGEDIR)/browser/profile endif @@ -65,7 +62,7 @@ STUB_HOOK = $(NSINSTALL) -D "$(_ABS_DIST)/$(PKG_INST_PATH)"; \ endif SEARCHPLUGINS_NAMES = $(shell cat $(call MERGE_FILE,/searchplugins/list.txt)) -SEARCHPLUGINS_PATH := $(FINAL_TARGET)/searchplugins +SEARCHPLUGINS_PATH := .deps/generated_$(AB_CD) SEARCHPLUGINS_TARGET := libs searchplugins SEARCHPLUGINS := $(foreach plugin,$(addsuffix .xml,$(SEARCHPLUGINS_NAMES)),$(or $(wildcard $(call EN_US_OR_L10N_FILE,searchplugins/$(plugin))),$(info Missing searchplugin: $(plugin)))) # Some locale-specific search plugins may have preprocessor directives, but the @@ -73,6 +70,11 @@ SEARCHPLUGINS := $(foreach plugin,$(addsuffix .xml,$(SEARCHPLUGINS_NAMES)),$(or SEARCHPLUGINS_FLAGS := --silence-missing-directive-warnings PP_TARGETS += SEARCHPLUGINS +list-txt = $(SEARCHPLUGINS_PATH)/list.txt +GARBAGE += $(list-txt) + +libs:: searchplugins + # Required for l10n.mk - defines a list of app sub dirs that should # be included in langpack xpis. DIST_SUBDIRS = $(DIST_SUBDIR) @@ -81,6 +83,11 @@ include $(topsrcdir)/config/rules.mk include $(topsrcdir)/toolkit/locales/l10n.mk +$(list-txt): $(call mkdir_deps,$(SEARCHPLUGINS_PATH)) $(if $(IS_LANGUAGE_REPACK),FORCE) + $(RM) $(list-txt) + $(foreach plugin,$(SEARCHPLUGINS_NAMES),printf '$(plugin)\n' >> $(list-txt);) +searchplugins:: $(list-txt) + $(STAGEDIST): $(DIST)/branding $(DIST)/branding: @@ -125,6 +132,7 @@ libs-%: @$(MAKE) -C ../../services/sync/locales AB_CD=$* XPI_NAME=locale-$* @$(MAKE) -C ../../extensions/spellcheck/locales AB_CD=$* XPI_NAME=locale-$* @$(MAKE) -C ../../intl/locales AB_CD=$* XPI_NAME=locale-$* + @$(MAKE) -B searchplugins AB_CD=$* XPI_NAME=locale-$* @$(MAKE) libs AB_CD=$* XPI_NAME=locale-$* PREF_DIR=$(PREF_DIR) @$(MAKE) -C $(DEPTH)/$(MOZ_BRANDING_DIRECTORY)/locales AB_CD=$* XPI_NAME=locale-$* @@ -157,8 +165,7 @@ clobber-zip: $(STAGEDIST)/webapprt/chrome/$(AB_CD).jar \ $(STAGEDIST)/webapprt/chrome/$(AB_CD).manifest \ $(STAGEDIST)/$(PREF_DIR)/palemoon-l10n.js - $(RM) -rf $(STAGEDIST)/searchplugins \ - $(STAGEDIST)/dictionaries \ + $(RM) -rf $(STAGEDIST)/dictionaries \ $(STAGEDIST)/hyphenation \ $(STAGEDIST)/defaults/profile \ $(STAGEDIST)/chrome/$(AB_CD) \ diff --git a/browser/locales/jar.mn b/browser/locales/jar.mn index 3035fd0df4..326ac5694e 100644 --- a/browser/locales/jar.mn +++ b/browser/locales/jar.mn @@ -89,6 +89,8 @@ locale/browser/syncQuota.dtd (%chrome/browser/syncQuota.dtd) locale/browser/syncQuota.properties (%chrome/browser/syncQuota.properties) #endif + locale/browser/searchplugins/list.txt (.deps/generated_@AB_CD@/list.txt) + locale/browser/searchplugins/ (.deps/generated_@AB_CD@/*.xml) % locale browser-region @AB_CD@ %locale/browser-region/ locale/browser-region/region.properties (%chrome/browser-region/region.properties) # the following files are browser-specific overrides diff --git a/build/Makefile.in b/build/Makefile.in index 6ee2ff629f..61edfde57a 100644 --- a/build/Makefile.in +++ b/build/Makefile.in @@ -7,14 +7,6 @@ USE_RCS_MK := 1 include $(topsrcdir)/config/makefiles/makeutils.mk ifdef MOZ_APP_BASENAME -DIST_FILES = $(srcdir)/application.ini - -ifneq (android,$(MOZ_WIDGET_TOOLKIT)) -ifdef MOZ_UPDATER -DIST_FILES += update-settings.ini -endif -endif - ifdef LIBXUL_SDK APP_INI_DEPS = $(LIBXUL_DIST)/bin/platform.ini else diff --git a/build/docs/jar-manifests.rst b/build/docs/jar-manifests.rst index 230d9539a4..a8064f16a0 100644 --- a/build/docs/jar-manifests.rst +++ b/build/docs/jar-manifests.rst @@ -59,6 +59,15 @@ file from the alternate localization source tree locale/path/localized.dtd (%localized/path/localized.dtd) +The source tree location can also use wildcards, in which case the path in +jar is expected to be a base directory. Paths before the wildcard are not +made part of the destination path:: + + path/in/jar/ (source/tree/location/*.xul) + +The above will install all xul files under ``source/tree/location`` as +``path/in/jar/*.xul``. + Register Chrome =============== diff --git a/build/moz.build b/build/moz.build index ed45228e8a..e314db4eca 100644 --- a/build/moz.build +++ b/build/moz.build @@ -70,3 +70,8 @@ FINAL_TARGET_FILES += [TOPSRCDIR + '/.gdbinit'] # Install the clang-cl runtime library for ASAN next to the binaries we produce. if CONFIG['MOZ_ASAN'] and CONFIG['CLANG_CL']: FINAL_TARGET_FILES += [CONFIG['MOZ_CLANG_RT_ASAN_LIB_PATH']] + +if CONFIG['MOZ_APP_BASENAME']: + DIST_FILES += ['application.ini'] + if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'android' and CONFIG['MOZ_UPDATER']: + DIST_FILES += ['update-settings.ini'] diff --git a/build/unix/elfhack/inject/moz.build b/build/unix/elfhack/inject/moz.build index f13c1e24cb..36b93bb637 100644 --- a/build/unix/elfhack/inject/moz.build +++ b/build/unix/elfhack/inject/moz.build @@ -13,12 +13,10 @@ elif CONFIG['TARGET_CPU'].startswith('arm'): else: cpu = CONFIG['TARGET_CPU'] -GENERATED_SOURCES += [ - "%s.c" % cpu, +SOURCES += [ + "!%s.c" % cpu, ] -DEFINES['ELFHACK_BUILD'] = True - NO_PGO = True NO_VISIBILITY_FLAGS = True diff --git a/build/unix/elfhack/moz.build b/build/unix/elfhack/moz.build index 95b5839196..6ff073df54 100644 --- a/build/unix/elfhack/moz.build +++ b/build/unix/elfhack/moz.build @@ -25,6 +25,4 @@ HOST_SOURCES += [ HostProgram('elfhack') -DEFINES['ELFHACK_BUILD'] = True - NO_PGO = True diff --git a/config/config.mk b/config/config.mk index 77675cc512..a8daacf29e 100644 --- a/config/config.mk +++ b/config/config.mk @@ -451,11 +451,11 @@ OS_COMPILE_CMMFLAGS += -fobjc-abi-version=2 -fobjc-legacy-dispatch endif endif -COMPILE_CFLAGS = $(VISIBILITY_FLAGS) $(DEFINES) $(INCLUDES) $(OS_INCLUDES) $(DSO_CFLAGS) $(DSO_PIC_CFLAGS) $(RTL_FLAGS) $(OS_CPPFLAGS) $(OS_COMPILE_CFLAGS) $(CFLAGS) $(MOZBUILD_CFLAGS) $(EXTRA_COMPILE_FLAGS) -COMPILE_CXXFLAGS = $(if $(DISABLE_STL_WRAPPING),,$(STL_FLAGS)) $(VISIBILITY_FLAGS) $(DEFINES) $(INCLUDES) $(OS_INCLUDES) $(DSO_CFLAGS) $(DSO_PIC_CFLAGS) $(RTL_FLAGS) $(OS_CPPFLAGS) $(OS_COMPILE_CXXFLAGS) $(CXXFLAGS) $(MOZBUILD_CXXFLAGS) $(EXTRA_COMPILE_FLAGS) -COMPILE_CMFLAGS = $(OS_COMPILE_CMFLAGS) $(MOZBUILD_CMFLAGS) $(EXTRA_COMPILE_FLAGS) -COMPILE_CMMFLAGS = $(OS_COMPILE_CMMFLAGS) $(MOZBUILD_CMMFLAGS) $(EXTRA_COMPILE_FLAGS) -ASFLAGS += $(MOZBUILD_ASFLAGS) $(EXTRA_ASSEMBLER_FLAGS) +COMPILE_CFLAGS = $(VISIBILITY_FLAGS) $(DEFINES) $(INCLUDES) $(OS_INCLUDES) $(DSO_CFLAGS) $(DSO_PIC_CFLAGS) $(RTL_FLAGS) $(OS_CPPFLAGS) $(OS_COMPILE_CFLAGS) $(CFLAGS) $(MOZBUILD_CFLAGS) +COMPILE_CXXFLAGS = $(if $(DISABLE_STL_WRAPPING),,$(STL_FLAGS)) $(VISIBILITY_FLAGS) $(DEFINES) $(INCLUDES) $(OS_INCLUDES) $(DSO_CFLAGS) $(DSO_PIC_CFLAGS) $(RTL_FLAGS) $(OS_CPPFLAGS) $(OS_COMPILE_CXXFLAGS) $(CXXFLAGS) $(MOZBUILD_CXXFLAGS) +COMPILE_CMFLAGS = $(OS_COMPILE_CMFLAGS) $(MOZBUILD_CMFLAGS) +COMPILE_CMMFLAGS = $(OS_COMPILE_CMMFLAGS) $(MOZBUILD_CMMFLAGS) +ASFLAGS += $(MOZBUILD_ASFLAGS) ifndef CROSS_COMPILE HOST_CFLAGS += $(RTL_FLAGS) diff --git a/content/test/reftest/reftest.list b/content/test/reftest/reftest.list index e6ea61ab5b..42ad5cf685 100644 --- a/content/test/reftest/reftest.list +++ b/content/test/reftest/reftest.list @@ -3,11 +3,11 @@ == bug456008.xhtml bug456008-ref.html == bug439965.html bug439965-ref.html == bug427779.xml bug427779-ref.xml -skip-if(B2G) == bug559996.html bug559996-ref.html # bug 773482 -skip-if(B2G) == bug591981-1.html bug591981-ref.html +skip-if(B2G||Mulet) == bug559996.html bug559996-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == bug591981-1.html bug591981-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == bug591981-2.html bug591981-ref.html == bug592366-1.html bug592366-ref.html -skip-if(B2G) == bug592366-2.html bug592366-ref.html -skip-if(B2G&&browserIsRemote) == bug592366-1.xhtml bug592366-ref.xhtml -skip-if(B2G) == bug592366-2.xhtml bug592366-ref.xhtml +skip-if(B2G||Mulet) == bug592366-2.html bug592366-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == bug592366-1.xhtml bug592366-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == bug592366-2.xhtml bug592366-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop == bug798068.xhtml bug798068-ref.xhtml diff --git a/dom/base/nsDOMWindowUtils.cpp b/dom/base/nsDOMWindowUtils.cpp index 8e15eeead3..b5aa2abb3b 100644 --- a/dom/base/nsDOMWindowUtils.cpp +++ b/dom/base/nsDOMWindowUtils.cpp @@ -39,6 +39,7 @@ #include "nsJSEnvironment.h" #include "nsJSUtils.h" +#include "mozilla/ChaosMode.h" #include "mozilla/EventStateManager.h" #include "mozilla/MiscEvents.h" #include "mozilla/MouseEvents.h" @@ -2448,6 +2449,33 @@ nsDOMWindowUtils::SetAsyncScrollOffset(nsIDOMNode* aNode, return NS_OK; } +NS_IMETHODIMP +nsDOMWindowUtils::SetAsyncZoom(nsIDOMNode* aRootElement, float aValue) +{ + nsCOMPtr element = do_QueryInterface(aRootElement); + if (!element) { + return NS_ERROR_INVALID_ARG; + } + FrameMetrics::ViewID viewId; + if (!nsLayoutUtils::FindIDFor(element, &viewId)) { + return NS_ERROR_UNEXPECTED; + } + nsIWidget* widget = GetWidget(); + if (!widget) { + return NS_ERROR_FAILURE; + } + LayerManager* manager = widget->GetLayerManager(); + if (!manager) { + return NS_ERROR_FAILURE; + } + ShadowLayerForwarder* forwarder = manager->AsShadowForwarder(); + if (!forwarder || !forwarder->HasShadowManager()) { + return NS_ERROR_UNEXPECTED; + } + forwarder->GetShadowManager()->SendSetAsyncZoom(viewId, aValue); + return NS_OK; +} + NS_IMETHODIMP nsDOMWindowUtils::ComputeAnimationDistance(nsIDOMElement* aElement, const nsAString& aProperty, @@ -3746,6 +3774,22 @@ nsDOMWindowUtils::GetServiceWorkersTestingEnabled(bool *aEnabled) return NS_OK; } +NS_IMETHODIMP +nsDOMWindowUtils::EnterChaosMode() +{ + MOZ_RELEASE_ASSERT(nsContentUtils::IsCallerChrome()); + ChaosMode::enterChaosMode(); + return NS_OK; +} + +NS_IMETHODIMP +nsDOMWindowUtils::LeaveChaosMode() +{ + MOZ_RELEASE_ASSERT(nsContentUtils::IsCallerChrome()); + ChaosMode::leaveChaosMode(); + return NS_OK; +} + NS_INTERFACE_MAP_BEGIN(nsTranslationNodeList) NS_INTERFACE_MAP_ENTRY(nsISupports) NS_INTERFACE_MAP_ENTRY(nsITranslationNodeList) diff --git a/dom/html/reftests/autofocus/reftest.list b/dom/html/reftests/autofocus/reftest.list index c8e7ad5132..0e566bedcc 100644 --- a/dom/html/reftests/autofocus/reftest.list +++ b/dom/html/reftests/autofocus/reftest.list @@ -1,13 +1,13 @@ default-preferences pref(dom.forms.number,true) -skip-if(B2G) needs-focus == input-load.html input-ref.html # B2G timed out waiting for reftest-wait to be removed -skip-if(B2G) needs-focus == input-create.html input-ref.html # B2G timed out waiting for reftest-wait to be removed -skip-if(B2G) needs-focus == input-number.html input-number-ref.html # B2G timed out waiting for reftest-wait to be removed -skip-if(B2G) needs-focus == button-load.html button-ref.html # B2G timed out waiting for reftest-wait to be removed -skip-if(B2G) needs-focus == button-create.html button-ref.html # B2G timed out waiting for reftest-wait to be removed -skip-if(B2G) needs-focus == textarea-load.html textarea-ref.html # B2G timed out waiting for reftest-wait to be removed -skip-if(B2G) needs-focus == textarea-create.html textarea-ref.html # B2G timed out waiting for reftest-wait to be removed -skip-if(B2G) needs-focus == select-load.html select-ref.html # B2G timed out waiting for reftest-wait to be removed -skip-if(B2G) needs-focus == select-create.html select-ref.html # B2G timed out waiting for reftest-wait to be removed +skip-if(B2G||Mulet) needs-focus == input-load.html input-ref.html # B2G timed out waiting for reftest-wait to be removed # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) needs-focus == input-create.html input-ref.html # B2G timed out waiting for reftest-wait to be removed # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) needs-focus == input-number.html input-number-ref.html # B2G timed out waiting for reftest-wait to be removed # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) needs-focus == button-load.html button-ref.html # B2G timed out waiting for reftest-wait to be removed # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) needs-focus == button-create.html button-ref.html # B2G timed out waiting for reftest-wait to be removed # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) needs-focus == textarea-load.html textarea-ref.html # B2G timed out waiting for reftest-wait to be removed # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) needs-focus == textarea-create.html textarea-ref.html # B2G timed out waiting for reftest-wait to be removed # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) needs-focus == select-load.html select-ref.html # B2G timed out waiting for reftest-wait to be removed # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) needs-focus == select-create.html select-ref.html # B2G timed out waiting for reftest-wait to be removed # Initial mulet triage: parity with B2G/B2G Desktop needs-focus == autofocus-after-load.html autofocus-after-load-ref.html -fails-if(B2G) needs-focus == autofocus-leaves-iframe.html autofocus-leaves-iframe-ref.html # B2G focus difference between test and reference -skip-if(B2G) needs-focus == autofocus-after-body-focus.html autofocus-after-body-focus-ref.html # bug 773482 +fails-if(B2G||Mulet) needs-focus == autofocus-leaves-iframe.html autofocus-leaves-iframe-ref.html # B2G focus difference between test and reference # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) needs-focus == autofocus-after-body-focus.html autofocus-after-body-focus-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop diff --git a/dom/indexedDB/test/extensions/Makefile.in b/dom/indexedDB/test/extensions/Makefile.in index 92cd1e9659..fa75f50070 100644 --- a/dom/indexedDB/test/extensions/Makefile.in +++ b/dom/indexedDB/test/extensions/Makefile.in @@ -2,11 +2,6 @@ # 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/. -DIST_FILES = \ - bootstrap.js \ - install.rdf \ - $(NULL) - TEST_EXTENSIONS_DIR = $(DEPTH)/_tests/testing/mochitest/extensions GENERATED_DIRS = $(TEST_EXTENSIONS_DIR) diff --git a/dom/indexedDB/test/extensions/moz.build b/dom/indexedDB/test/extensions/moz.build index a0b239cef4..8c9c09d11f 100644 --- a/dom/indexedDB/test/extensions/moz.build +++ b/dom/indexedDB/test/extensions/moz.build @@ -5,3 +5,8 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. XPI_NAME = 'indexedDB' + +DIST_FILES += [ + 'bootstrap.js', + 'install.rdf', +] diff --git a/dom/interfaces/base/nsIDOMWindowUtils.idl b/dom/interfaces/base/nsIDOMWindowUtils.idl index fcfb1250f1..61624257e0 100644 --- a/dom/interfaces/base/nsIDOMWindowUtils.idl +++ b/dom/interfaces/base/nsIDOMWindowUtils.idl @@ -49,7 +49,7 @@ interface nsIJSRAIIHelper; interface nsIContentPermissionRequest; interface nsIObserver; -[scriptable, uuid(34a42cdc-7a04-4e71-8a5c-63e092fba58e)] +[scriptable, uuid(098d9f0d-7809-4d3c-8fc6-e5b3fb71835b)] interface nsIDOMWindowUtils : nsISupports { /** @@ -1430,6 +1430,14 @@ interface nsIDOMWindowUtils : nsISupports { */ void setAsyncScrollOffset(in nsIDOMNode aNode, in int32_t aX, in int32_t aY); + /** + * Set async zoom value. aRootElement should be the document element of our + * document. The next composite will render with that zoom added to any + * existing zoom if async scrolling is enabled, and then the zoom will be + * removed. Only call this while test-controlled refreshes is enabled. + */ + void setAsyncZoom(in nsIDOMNode aRootElement, in float aValue); + /** * Method for testing StyleAnimationValue::ComputeDistance. * @@ -1806,6 +1814,19 @@ interface nsIDOMWindowUtils : nsISupports { * Enable some service workers testing features. */ attribute boolean serviceWorkersTestingEnabled; + + /** + * Increase the chaos mode activation level. An equivalent number of + * calls to leaveChaosMode must be made in order to restore the original + * chaos mode state. If the activation level is nonzero all chaos mode + * features are activated. + */ + void enterChaosMode(); + + /** + * Decrease the chaos mode activation level. See enterChaosMode(). + */ + void leaveChaosMode(); }; [scriptable, uuid(c694e359-7227-4392-a138-33c0cc1f15a6)] diff --git a/dom/ipc/TabChild.cpp b/dom/ipc/TabChild.cpp index 8ec0d701b1..66cb4368c0 100644 --- a/dom/ipc/TabChild.cpp +++ b/dom/ipc/TabChild.cpp @@ -192,9 +192,9 @@ TabChildBase::InitializeRootMetrics() // be keeping, as well as putting the scroll offset back to // the top-left of the page. mLastRootMetrics.SetViewport(CSSRect(CSSPoint(), kDefaultViewportSize)); - mLastRootMetrics.mCompositionBounds = ParentLayerRect( + mLastRootMetrics.SetCompositionBounds(ParentLayerRect( ParentLayerPoint(), - ParentLayerSize(ViewAs(mInnerSize, PixelCastJustification::ScreenIsParentLayerForRoot))); + ParentLayerSize(ViewAs(mInnerSize, PixelCastJustification::ScreenIsParentLayerForRoot)))); mLastRootMetrics.SetZoom(CSSToParentLayerScale2D(mLastRootMetrics.CalculateIntrinsicScale())); mLastRootMetrics.SetDevPixelsPerCSSPixel(WebWidget()->GetDefaultScale()); // We use ParentLayerToLayerScale(1) below in order to turn the @@ -330,9 +330,9 @@ TabChildBase::HandlePossibleViewportChange(const ScreenIntSize& aOldScreenSize) FrameMetrics metrics(mLastRootMetrics); metrics.SetViewport(CSSRect(CSSPoint(), viewport)); - metrics.mCompositionBounds = ParentLayerRect( + metrics.SetCompositionBounds(ParentLayerRect( ParentLayerPoint(), - ParentLayerSize(ViewAs(mInnerSize, PixelCastJustification::ScreenIsParentLayerForRoot))); + ParentLayerSize(ViewAs(mInnerSize, PixelCastJustification::ScreenIsParentLayerForRoot)))); metrics.SetRootCompositionSize( ScreenSize(mInnerSize) * ScreenToLayoutDeviceScale(1.0f) / metrics.GetDevPixelsPerCSSPixel()); @@ -2977,17 +2977,23 @@ TabChild::NotifyPainted() void TabChild::MakeVisible() { - if (mWidget) { - mWidget->Show(true); - } + CompositorChild* compositor = CompositorChild::Get(); + compositor->SendNotifyVisible(mLayersId); + + if (mWidget) { + mWidget->Show(true); + } } void TabChild::MakeHidden() { - if (mWidget) { - mWidget->Show(false); - } + CompositorChild* compositor = CompositorChild::Get(); + compositor->SendNotifyHidden(mLayersId); + + if (mWidget) { + mWidget->Show(false); + } } void @@ -3131,6 +3137,17 @@ TabChild::DidComposite(uint64_t aTransactionId) manager->DidComposite(aTransactionId); } +void +TabChild::ClearCachedResources() +{ + MOZ_ASSERT(mWidget); + MOZ_ASSERT(mWidget->GetLayerManager()); + MOZ_ASSERT(mWidget->GetLayerManager()->GetBackendType() == LayersBackend::LAYERS_CLIENT); + + ClientLayerManager *manager = static_cast(mWidget->GetLayerManager()); + manager->ClearCachedResources(); +} + NS_IMETHODIMP TabChild::OnShowTooltip(int32_t aXCoords, int32_t aYCoords, const char16_t *aTipText) { diff --git a/dom/ipc/TabChild.h b/dom/ipc/TabChild.h index 36c9e958f4..43f6d8d522 100644 --- a/dom/ipc/TabChild.h +++ b/dom/ipc/TabChild.h @@ -475,6 +475,7 @@ public: static TabChild* GetFrom(uint64_t aLayersId); void DidComposite(uint64_t aTransactionId); + void ClearCachedResources(); static inline TabChild* GetFrom(nsIDOMWindow* aWindow) diff --git a/dom/media/directshow/moz.build b/dom/media/directshow/moz.build index a939640417..11e71544ac 100644 --- a/dom/media/directshow/moz.build +++ b/dom/media/directshow/moz.build @@ -28,12 +28,12 @@ SOURCES += [ # If WebRTC isn't being built, we need to compile the DirectShow base classes so that # they're available at link time. if not CONFIG['MOZ_WEBRTC']: - SOURCES += [ '%s/%s' % (TOPSRCDIR, p) for p in [ - 'media/webrtc/trunk/webrtc/modules/video_capture/windows/BaseFilter.cpp', - 'media/webrtc/trunk/webrtc/modules/video_capture/windows/BaseInputPin.cpp', - 'media/webrtc/trunk/webrtc/modules/video_capture/windows/BasePin.cpp', - 'media/webrtc/trunk/webrtc/modules/video_capture/windows/MediaType.cpp', - ]] + SOURCES += [ + '/media/webrtc/trunk/webrtc/modules/video_capture/windows/BaseFilter.cpp', + '/media/webrtc/trunk/webrtc/modules/video_capture/windows/BaseInputPin.cpp', + '/media/webrtc/trunk/webrtc/modules/video_capture/windows/BasePin.cpp', + '/media/webrtc/trunk/webrtc/modules/video_capture/windows/MediaType.cpp', + ] FAIL_ON_WARNINGS = True diff --git a/dom/plugins/ipc/moz.build b/dom/plugins/ipc/moz.build index 3cbfb87934..b387f9fbbb 100644 --- a/dom/plugins/ipc/moz.build +++ b/dom/plugins/ipc/moz.build @@ -68,10 +68,8 @@ if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa': ] if CONFIG['MOZ_ENABLE_QT']: - GENERATED_SOURCES += [ - 'moc_NestedLoopTimer.cpp', - ] SOURCES += [ + '!moc_NestedLoopTimer.cpp', 'NestedLoopTimer.cpp', 'PluginHelperQt.cpp', ] diff --git a/dom/plugins/test/testplugin/javaplugin/moz.build b/dom/plugins/test/testplugin/javaplugin/moz.build index e01c72aa6e..1253403a5d 100644 --- a/dom/plugins/test/testplugin/javaplugin/moz.build +++ b/dom/plugins/test/testplugin/javaplugin/moz.build @@ -6,5 +6,5 @@ SharedLibrary('nptestjava') -relative_path = '..' +relative_path = 'javaplugin' include('../testplugin.mozbuild') diff --git a/dom/plugins/test/testplugin/secondplugin/moz.build b/dom/plugins/test/testplugin/secondplugin/moz.build index 3bc2bfa966..be0f0a85b2 100644 --- a/dom/plugins/test/testplugin/secondplugin/moz.build +++ b/dom/plugins/test/testplugin/secondplugin/moz.build @@ -6,5 +6,5 @@ SharedLibrary('npsecondtest') -relative_path = '..' +relative_path = 'secondplugin' include('../testplugin.mozbuild') diff --git a/dom/plugins/test/testplugin/testplugin.mozbuild b/dom/plugins/test/testplugin/testplugin.mozbuild index 68e70522eb..d2909bf41a 100644 --- a/dom/plugins/test/testplugin/testplugin.mozbuild +++ b/dom/plugins/test/testplugin/testplugin.mozbuild @@ -6,35 +6,35 @@ DIST_INSTALL = False -UNIFIED_SOURCES += [ '%s/%s' % (relative_path, p) for p in [ +UNIFIED_SOURCES += [ 'nptest.cpp', 'nptest_utils.cpp', -]] +] UNIFIED_SOURCES += [ - 'nptest_name.cpp', + '%s/nptest_name.cpp' % relative_path, ] toolkit = CONFIG['MOZ_WIDGET_TOOLKIT'] if toolkit == 'cocoa': UNIFIED_SOURCES += [ - relative_path + '/nptest_macosx.mm' + 'nptest_macosx.mm' ] elif toolkit in ('gtk2', 'gtk3'): UNIFIED_SOURCES += [ - relative_path + '/nptest_gtk2.cpp', + 'nptest_gtk2.cpp', ] elif toolkit == 'android': UNIFIED_SOURCES += [ - relative_path + '/nptest_droid.cpp', + 'nptest_droid.cpp', ] elif toolkit == 'qt': UNIFIED_SOURCES += [ - relative_path + '/nptest_qt.cpp', + 'nptest_qt.cpp', ] elif toolkit == 'windows': UNIFIED_SOURCES += [ - relative_path + '/nptest_windows.cpp', + 'nptest_windows.cpp', ] OS_LIBS += [ 'msimg32', diff --git a/dom/system/qt/moz.build b/dom/system/qt/moz.build index 0defc0a062..58bf566cab 100644 --- a/dom/system/qt/moz.build +++ b/dom/system/qt/moz.build @@ -5,10 +5,8 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. if CONFIG['MOZ_ENABLE_QT5GEOPOSITION']: - GENERATED_SOURCES += [ - 'moc_QTMLocationProvider.cpp', - ] SOURCES += [ + '!moc_QTMLocationProvider.cpp', 'QTMLocationProvider.cpp', ] diff --git a/dom/workers/test/extensions/bootstrap/Makefile.in b/dom/workers/test/extensions/bootstrap/Makefile.in index fc120e8fe3..fa75f50070 100644 --- a/dom/workers/test/extensions/bootstrap/Makefile.in +++ b/dom/workers/test/extensions/bootstrap/Makefile.in @@ -2,12 +2,6 @@ # 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/. -DIST_FILES = \ - bootstrap.js \ - install.rdf \ - worker.js \ - $(NULL) - TEST_EXTENSIONS_DIR = $(DEPTH)/_tests/testing/mochitest/extensions GENERATED_DIRS = $(TEST_EXTENSIONS_DIR) diff --git a/dom/workers/test/extensions/bootstrap/moz.build b/dom/workers/test/extensions/bootstrap/moz.build index b77d4f0f25..275d6bce15 100644 --- a/dom/workers/test/extensions/bootstrap/moz.build +++ b/dom/workers/test/extensions/bootstrap/moz.build @@ -5,3 +5,9 @@ # file, You can obtain one at http://mozilla.org/MPL/2.0/. XPI_NAME = 'workerbootstrap' + +DIST_FILES += [ + 'bootstrap.js', + 'install.rdf', + 'worker.js', +] diff --git a/dom/workers/test/extensions/traditional/Makefile.in b/dom/workers/test/extensions/traditional/Makefile.in index 5a8411e016..fa75f50070 100644 --- a/dom/workers/test/extensions/traditional/Makefile.in +++ b/dom/workers/test/extensions/traditional/Makefile.in @@ -2,11 +2,6 @@ # 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/. -DIST_FILES = \ - install.rdf \ - worker.js \ - $(NULL) - TEST_EXTENSIONS_DIR = $(DEPTH)/_tests/testing/mochitest/extensions GENERATED_DIRS = $(TEST_EXTENSIONS_DIR) diff --git a/dom/workers/test/extensions/traditional/moz.build b/dom/workers/test/extensions/traditional/moz.build index 195b079e6b..7f43a80fcb 100644 --- a/dom/workers/test/extensions/traditional/moz.build +++ b/dom/workers/test/extensions/traditional/moz.build @@ -16,3 +16,8 @@ EXTRA_COMPONENTS += [ ] XPI_NAME = 'worker' + +DIST_FILES += [ + 'install.rdf', + 'worker.js', +] diff --git a/editor/reftests/reftest.list b/editor/reftests/reftest.list index f8391379f3..1b8d64fedc 100644 --- a/editor/reftests/reftest.list +++ b/editor/reftests/reftest.list @@ -97,7 +97,7 @@ skip-if(Android||B2G) needs-focus == 462758-grabbers-resizers.html 462758-grabbe == 694880-3.html 694880-ref.html == 388980-1.html 388980-1-ref.html needs-focus == spellcheck-superscript-1.html spellcheck-superscript-1-ref.html -skip-if(B2G) fails-if(Android) needs-focus != spellcheck-superscript-2.html spellcheck-superscript-2-ref.html # bug 783658 +skip-if(B2G||Mulet) fails-if(Android) needs-focus != spellcheck-superscript-2.html spellcheck-superscript-2-ref.html # bug 783658 # Initial mulet triage: parity with B2G/B2G Desktop needs-focus pref(selectioncaret.enabled,false) == 824080-1.html 824080-1-ref.html needs-focus == 824080-2.html 824080-2-ref.html needs-focus pref(selectioncaret.enabled,false) == 824080-3.html 824080-3-ref.html @@ -110,7 +110,7 @@ needs-focus pref(selectioncaret.enabled,false) == 824080-7.html 824080-7-ref.htm needs-focus != 824080-6.html 824080-7.html # Bug 674927: copy spellcheck-textarea tests to contenteditable == spellcheck-contenteditable-attr.html spellcheck-contenteditable-nofocus-ref.html -fails-if(Android||B2G) needs-focus != spellcheck-contenteditable-attr.html spellcheck-contenteditable-ref.html # B2G no spellcheck underline +fails-if(Android||B2G||Mulet) needs-focus != spellcheck-contenteditable-attr.html spellcheck-contenteditable-ref.html # B2G no spellcheck underline # Initial mulet triage: parity with B2G/B2G Desktop needs-focus == spellcheck-contenteditable-focused.html spellcheck-contenteditable-ref.html needs-focus == spellcheck-contenteditable-focused-reframe.html spellcheck-contenteditable-ref.html == spellcheck-contenteditable-nofocus.html spellcheck-contenteditable-disabled-ref.html diff --git a/editor/reftests/xul/reftest.list b/editor/reftests/xul/reftest.list index a4de29c250..1cd2ea6fa7 100644 --- a/editor/reftests/xul/reftest.list +++ b/editor/reftests/xul/reftest.list @@ -1,29 +1,29 @@ -fails-if(Android||B2G) skip-if(B2G&&browserIsRemote) == empty-1.xul empty-ref.xul # bug 783658 -skip-if(B2G&&browserIsRemote) != empty-2.xul empty-ref.xul +fails-if(Android||B2G) skip-if((B2G&&browserIsRemote)||Mulet) == empty-1.xul empty-ref.xul # bug 783658 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != empty-2.xul empty-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop # There is no way to simulate an autocomplete textbox in windows XP/Vista/7 default theme using CSS. # Therefore, the equlity tests below should be marked as failing. -fails-if(Android||B2G) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012])/.test(http.oscpu)) skip-if(B2G&&browserIsRemote) == autocomplete-1.xul autocomplete-ref.xul # bug 783658 -fails-if(Android||B2G) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012])/.test(http.oscpu)) skip-if(B2G&&browserIsRemote) == emptyautocomplete-1.xul emptyautocomplete-ref.xul # bug 783658 -skip-if(B2G&&browserIsRemote) != emptymultiline-1.xul emptymultiline-ref.xul -fails-if(Android||B2G) skip-if(B2G&&browserIsRemote) == emptymultiline-2.xul emptymultiline-ref.xul # bug 783658 -fails-if(Android||B2G) skip-if(B2G&&browserIsRemote) == emptytextbox-1.xul emptytextbox-ref.xul # bug 783658 -fails-if(Android||B2G) skip-if(B2G&&browserIsRemote) == emptytextbox-2.xul emptytextbox-ref.xul # bug 783658 -skip-if(B2G&&browserIsRemote) != emptytextbox-3.xul emptytextbox-ref.xul -skip-if(B2G&&browserIsRemote) != emptytextbox-4.xul emptytextbox-ref.xul -fails-if(Android||B2G) skip-if(B2G&&browserIsRemote) == emptytextbox-5.xul emptytextbox-ref.xul # bug 783658 +fails-if(Android||B2G) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012])/.test(http.oscpu)) skip-if((B2G&&browserIsRemote)||Mulet) == autocomplete-1.xul autocomplete-ref.xul # bug 783658 # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012])/.test(http.oscpu)) skip-if((B2G&&browserIsRemote)||Mulet) == emptyautocomplete-1.xul emptyautocomplete-ref.xul # bug 783658 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != emptymultiline-1.xul emptymultiline-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G) skip-if((B2G&&browserIsRemote)||Mulet) == emptymultiline-2.xul emptymultiline-ref.xul # bug 783658 # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G) skip-if((B2G&&browserIsRemote)||Mulet) == emptytextbox-1.xul emptytextbox-ref.xul # bug 783658 # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G) skip-if((B2G&&browserIsRemote)||Mulet) == emptytextbox-2.xul emptytextbox-ref.xul # bug 783658 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != emptytextbox-3.xul emptytextbox-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != emptytextbox-4.xul emptytextbox-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G) skip-if((B2G&&browserIsRemote)||Mulet) == emptytextbox-5.xul emptytextbox-ref.xul # bug 783658 # Initial mulet triage: parity with B2G/B2G Desktop # There is no way to simulate a number textbox in windows XP/Vista/7 default theme using CSS. # Therefore, the equlity tests below should be marked as failing. -skip-if(B2G&&browserIsRemote) != number-1.xul number-ref.xul -skip-if(B2G&&browserIsRemote) != number-2.xul number-ref.xul -fails-if(Android||B2G) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012])/.test(http.oscpu)) skip-if(B2G&&browserIsRemote) == number-3.xul number-ref.xul # bug 783658 -skip-if(B2G&&browserIsRemote) != number-4.xul number-ref.xul -fails-if(Android||B2G) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012])/.test(http.oscpu)) skip-if(B2G&&browserIsRemote) == number-5.xul number-ref.xul # bug 783658 -fails-if(Android||B2G) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012])/.test(http.oscpu)) skip-if(B2G&&browserIsRemote) == numberwithvalue-1.xul numberwithvalue-ref.xul # bug 783658 -fails-if(Android||B2G) skip-if(B2G&&browserIsRemote) == passwd-1.xul passwd-ref.xul # bug 783658 -fails-if(Android||B2G) skip-if(B2G&&browserIsRemote) == passwd-2.xul passwd-ref.xul # bug 783658 -skip-if(B2G&&browserIsRemote) != passwd-3.xul passwd-ref.xul -fails-if(Android||B2G) skip-if(B2G&&browserIsRemote) == plain-1.xul plain-ref.xul # bug 783658 -fails-if(Android||B2G) skip-if(B2G&&browserIsRemote) == textbox-1.xul textbox-ref.xul -skip-if(B2G&&browserIsRemote) != textbox-disabled.xul textbox-ref.xul +skip-if((B2G&&browserIsRemote)||Mulet) != number-1.xul number-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != number-2.xul number-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012])/.test(http.oscpu)) skip-if((B2G&&browserIsRemote)||Mulet) == number-3.xul number-ref.xul # bug 783658 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != number-4.xul number-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012])/.test(http.oscpu)) skip-if((B2G&&browserIsRemote)||Mulet) == number-5.xul number-ref.xul # bug 783658 # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G) fails-if(windowsDefaultTheme&&/^Windows\x20NT\x20(5\.[12]|6\.[012])/.test(http.oscpu)) skip-if((B2G&&browserIsRemote)||Mulet) == numberwithvalue-1.xul numberwithvalue-ref.xul # bug 783658 # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G) skip-if((B2G&&browserIsRemote)||Mulet) == passwd-1.xul passwd-ref.xul # bug 783658 # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G) skip-if((B2G&&browserIsRemote)||Mulet) == passwd-2.xul passwd-ref.xul # bug 783658 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != passwd-3.xul passwd-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G) skip-if((B2G&&browserIsRemote)||Mulet) == plain-1.xul plain-ref.xul # bug 783658 # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G) skip-if((B2G&&browserIsRemote)||Mulet) == textbox-1.xul textbox-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != textbox-disabled.xul textbox-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop # Read-only textboxes look like normal textboxes in windows Vista/7 default theme -fails-if(windowsDefaultTheme&&/^Windows\x20NT\x206\.[012]/.test(http.oscpu)) skip-if(B2G&&browserIsRemote) != textbox-readonly.xul textbox-ref.xul +fails-if(windowsDefaultTheme&&/^Windows\x20NT\x206\.[012]/.test(http.oscpu)) skip-if((B2G&&browserIsRemote)||Mulet) != textbox-readonly.xul textbox-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop diff --git a/gfx/ipc/GfxMessageUtils.h b/gfx/ipc/GfxMessageUtils.h index 674bd529e9..e8df05d237 100644 --- a/gfx/ipc/GfxMessageUtils.h +++ b/gfx/ipc/GfxMessageUtils.h @@ -732,6 +732,7 @@ struct ParamTraits WriteParam(aMsg, aParam.GetLineScrollAmount()); WriteParam(aMsg, aParam.GetPageScrollAmount()); WriteParam(aMsg, aParam.AllowVerticalScrollWithWheel()); + WriteParam(aMsg, aParam.mClipRect); WriteParam(aMsg, aParam.GetContentDescription()); } @@ -774,6 +775,7 @@ struct ParamTraits ReadParam(aMsg, aIter, &aResult->mLineScrollAmount) && ReadParam(aMsg, aIter, &aResult->mPageScrollAmount) && ReadParam(aMsg, aIter, &aResult->mAllowVerticalScrollWithWheel) && + ReadParam(aMsg, aIter, &aResult->mClipRect) && ReadContentDescription(aMsg, aIter, aResult)); } }; diff --git a/gfx/layers/FrameMetrics.h b/gfx/layers/FrameMetrics.h index 742ec5b03f..da6ad73aa9 100644 --- a/gfx/layers/FrameMetrics.h +++ b/gfx/layers/FrameMetrics.h @@ -8,6 +8,7 @@ #include // for uint32_t, uint64_t #include "Units.h" // for CSSRect, CSSPixel, etc +#include "mozilla/Maybe.h" #include "mozilla/gfx/BasePoint.h" // for BasePoint #include "mozilla/gfx/Rect.h" // for RoundedIn #include "mozilla/gfx/ScaleFactor.h" // for ScaleFactor @@ -39,8 +40,8 @@ public: static const FrameMetrics sNullMetrics; // We often need an empty metrics FrameMetrics() - : mCompositionBounds(0, 0, 0, 0) - , mPresShellResolution(1) + : mPresShellResolution(1) + , mCompositionBounds(0, 0, 0, 0) , mDisplayPort(0, 0, 0, 0) , mCriticalDisplayPort(0, 0, 0, 0) , mScrollableRect(0, 0, 0, 0) @@ -98,7 +99,8 @@ public: mDoSmoothScroll == aOther.mDoSmoothScroll && mLineScrollAmount == aOther.mLineScrollAmount && mPageScrollAmount == aOther.mPageScrollAmount && - mAllowVerticalScrollWithWheel == aOther.mAllowVerticalScrollWithWheel; + mAllowVerticalScrollWithWheel == aOther.mAllowVerticalScrollWithWheel && + mClipRect == aOther.mClipRect; } bool operator!=(const FrameMetrics& aOther) const { @@ -239,27 +241,6 @@ public: return copy; } - // --------------------------------------------------------------------------- - // The following metrics are all in widget space/device pixels. - // - - // This is the area within the widget that we're compositing to. It is in the - // same coordinate space as the reference frame for the scrolled frame. - // - // This is useful because, on mobile, the viewport and composition dimensions - // are not always the same. In this case, we calculate the displayport using - // an area bigger than the region we're compositing to. If we used the - // viewport dimensions to calculate the displayport, we'd run into situations - // where we're prerendering the wrong regions and the content may be clipped, - // or too much of it prerendered. If the composition dimensions are the same as the - // viewport dimensions, there is no need for this and we can just use the viewport - // instead. - // - // This value is valid for nested scrollable layers as well, and is still - // relative to the layer tree origin. This value is provided by Gecko at - // layout/paint time. - ParentLayerRect mCompositionBounds; - public: void SetPresShellResolution(float aPresShellResolution) { @@ -271,12 +252,22 @@ public: return mPresShellResolution; } + void SetCompositionBounds(const ParentLayerRect& aCompositionBounds) + { + mCompositionBounds = aCompositionBounds; + } + + const ParentLayerRect& GetCompositionBounds() const + { + return mCompositionBounds; + } + void SetDisplayPort(const CSSRect& aDisplayPort) { mDisplayPort = aDisplayPort; } - CSSRect GetDisplayPort() const + const CSSRect& GetDisplayPort() const { return mDisplayPort; } @@ -286,7 +277,7 @@ public: mCriticalDisplayPort = aCriticalDisplayPort; } - CSSRect GetCriticalDisplayPort() const + const CSSRect& GetCriticalDisplayPort() const { return mCriticalDisplayPort; } @@ -296,7 +287,7 @@ public: mCumulativeResolution = aCumulativeResolution; } - LayoutDeviceToLayerScale2D GetCumulativeResolution() const + const LayoutDeviceToLayerScale2D& GetCumulativeResolution() const { return mCumulativeResolution; } @@ -306,7 +297,7 @@ public: mDevPixelsPerCSSPixel = aDevPixelsPerCSSPixel; } - CSSToLayoutDeviceScale GetDevPixelsPerCSSPixel() const + const CSSToLayoutDeviceScale& GetDevPixelsPerCSSPixel() const { return mDevPixelsPerCSSPixel; } @@ -356,7 +347,7 @@ public: mZoom = aZoom; } - CSSToParentLayerScale2D GetZoom() const + const CSSToParentLayerScale2D& GetZoom() const { return mZoom; } @@ -463,7 +454,7 @@ public: mExtraResolution = aExtraResolution; } - ScreenToLayerScale2D GetExtraResolution() const + const ScreenToLayerScale2D& GetExtraResolution() const { return mExtraResolution; } @@ -528,6 +519,21 @@ public: mAllowVerticalScrollWithWheel = true; } + void SetClipRect(const Maybe& aClipRect) + { + mClipRect = aClipRect; + } + const Maybe& GetClipRect() const + { + return mClipRect; + } + bool HasClipRect() const { + return mClipRect.isSome(); + } + const ParentLayerIntRect& ClipRect() const { + return mClipRect.ref(); + } + private: // The pres-shell resolution that has been induced on the document containing @@ -539,6 +545,23 @@ private: // it does not convert between any coordinate spaces for which we have names. float mPresShellResolution; + // This is the area within the widget that we're compositing to. It is in the + // same coordinate space as the reference frame for the scrolled frame. + // + // This is useful because, on mobile, the viewport and composition dimensions + // are not always the same. In this case, we calculate the displayport using + // an area bigger than the region we're compositing to. If we used the + // viewport dimensions to calculate the displayport, we'd run into situations + // where we're prerendering the wrong regions and the content may be clipped, + // or too much of it prerendered. If the composition dimensions are the same + // as the viewport dimensions, there is no need for this and we can just use + // the viewport instead. + // + // This value is valid for nested scrollable layers as well, and is still + // relative to the layer tree origin. This value is provided by Gecko at + // layout/paint time. + ParentLayerRect mCompositionBounds; + // The area of a frame's contents that has been painted, relative to // mCompositionBounds. // @@ -681,6 +704,19 @@ private: // Whether or not the frame can be vertically scrolled with a mouse wheel. bool mAllowVerticalScrollWithWheel; + + // The clip rect to use when compositing a layer with this FrameMetrics. + Maybe mClipRect; + + // WARNING!!!! + // + // When adding new fields to FrameMetrics, the following places should be + // updated to include them (as needed): + // FrameMetrics::operator == + // AsyncPanZoomController::NotifyLayersUpdated + // The ParamTraits specialization in GfxMessageUtils.h + // + // Please add new fields above this comment. }; /** diff --git a/gfx/layers/Layers.cpp b/gfx/layers/Layers.cpp index e5017e984f..952f378ea8 100644 --- a/gfx/layers/Layers.cpp +++ b/gfx/layers/Layers.cpp @@ -926,6 +926,27 @@ Layer::GetVisibleRegionRelativeToRootLayer(nsIntRegion& aResult, return true; } +Maybe +Layer::GetCombinedClipRect() const +{ + Maybe clip = GetClipRect(); + + for (size_t i = 0; i < mFrameMetrics.Length(); i++) { + if (!mFrameMetrics[i].HasClipRect()) { + continue; + } + + const ParentLayerIntRect& other = mFrameMetrics[i].ClipRect(); + if (clip) { + clip = Some(clip.value().Intersect(other)); + } else { + clip = Some(other); + } + } + + return clip; +} + ContainerLayer::ContainerLayer(LayerManager* aManager, void* aImplData) : Layer(aManager, aImplData), mFirstChild(nullptr), diff --git a/gfx/layers/Layers.h b/gfx/layers/Layers.h index 1ea5bc6e72..5849d2a6e7 100644 --- a/gfx/layers/Layers.h +++ b/gfx/layers/Layers.h @@ -1249,6 +1249,12 @@ public: bool IsScrollbarContainer() { return mIsScrollbarContainer; } Layer* GetMaskLayer() const { return mMaskLayer; } + /* + * Get the combined clip rect of the Layer clip and all clips on FrameMetrics. + * This is intended for use in Layout. The compositor needs to apply async + * transforms to find the combined clip. + */ + Maybe GetCombinedClipRect() const; /** * Retrieve the root level visible region for |this| taking into account @@ -1704,8 +1710,10 @@ protected: nsAutoPtr mStickyPositionData; FrameMetrics::ViewID mScrollbarTargetId; ScrollDirection mScrollbarDirection; - float mScrollbarThumbRatio; // Ratio of the thumb position to the scroll - // position, in app units. + // The scrollbar thumb ratio is the ratio of the thumb position (in the CSS + // pixels of the scrollframe's parent's space) to the scroll position (in the + // CSS pixels of the scrollframe's space). + float mScrollbarThumbRatio; bool mIsScrollbarContainer; DebugOnly mDebugColorIndex; // If this layer is used for OMTA, then this counter is used to ensure we diff --git a/gfx/layers/LayersLogging.cpp b/gfx/layers/LayersLogging.cpp index 62696efb4b..1b2b74c5e1 100644 --- a/gfx/layers/LayersLogging.cpp +++ b/gfx/layers/LayersLogging.cpp @@ -169,7 +169,7 @@ AppendToString(std::stringstream& aStream, const FrameMetrics& m, const char* pfx, const char* sfx, bool detailed) { aStream << pfx; - AppendToString(aStream, m.mCompositionBounds, "{ [cb="); + AppendToString(aStream, m.GetCompositionBounds(), "{ [cb="); AppendToString(aStream, m.GetScrollableRect(), "] [sr="); AppendToString(aStream, m.GetScrollOffset(), "] [s="); if (m.GetDoSmoothScroll()) { @@ -183,6 +183,9 @@ AppendToString(std::stringstream& aStream, const FrameMetrics& m, if (m.GetScrollParentId() != FrameMetrics::NULL_SCROLL_ID) { AppendToString(aStream, m.GetScrollParentId(), "] [scrollParent="); } + if (m.HasClipRect()) { + AppendToString(aStream, m.ClipRect(), "] [clip="); + } AppendToString(aStream, m.GetZoom(), "] [z=", "] }"); } else { AppendToString(aStream, m.GetDisplayPortMargins(), " [dpm="); diff --git a/gfx/layers/apz/src/APZCTreeManager.cpp b/gfx/layers/apz/src/APZCTreeManager.cpp index 6665298ba1..0d80b29dce 100644 --- a/gfx/layers/apz/src/APZCTreeManager.cpp +++ b/gfx/layers/apz/src/APZCTreeManager.cpp @@ -209,7 +209,7 @@ ComputeClipRegion(GeckoContentController* aController, // root scrollable layer in a process, or for some of the LayerMetrics // expansions of a multi-metrics layer), fall back to using the comp // bounds which should be equivalent. - clipRegion = RoundedToInt(aLayer.Metrics().mCompositionBounds); + clipRegion = RoundedToInt(aLayer.Metrics().GetCompositionBounds()); } // Optionally, the GeckoContentController can provide a touch-sensitive @@ -244,7 +244,8 @@ APZCTreeManager::PrintAPZCInfo(const LayerMetricsWrapper& aLayer, const AsyncPanZoomController* apzc) { const FrameMetrics& metrics = aLayer.Metrics(); - mApzcTreeLog << "APZC " << apzc->GetGuid() << "\tcb=" << metrics.mCompositionBounds + mApzcTreeLog << "APZC " << apzc->GetGuid() + << "\tcb=" << metrics.GetCompositionBounds() << "\tsr=" << metrics.GetScrollableRect() << (aLayer.IsScrollInfoLayer() ? "\tscrollinfo" : "") << (apzc->HasScrollgrab() ? "\tscrollgrab" : "") << "\t" @@ -272,7 +273,7 @@ GetEventRegions(const LayerMetricsWrapper& aLayer) { if (aLayer.IsScrollInfoLayer()) { return EventRegions(nsIntRegion(ParentLayerIntRect::ToUntyped( - RoundedToInt(aLayer.Metrics().mCompositionBounds)))); + RoundedToInt(aLayer.Metrics().GetCompositionBounds())))); } return aLayer.GetEventRegions(); } @@ -1302,6 +1303,10 @@ APZCTreeManager::BuildOverscrollHandoffChain(const nsRefPtrGetScrollHandoffParentId() != apzc->GetGuid().mScrollId); + // Find the AsyncPanZoomController instance with a matching layersId and // the scroll id that matches apzc->GetScrollHandoffParentId(). To do this // search the subtree with the same layersId for the apzc with the specified diff --git a/gfx/layers/apz/src/AsyncPanZoomController.cpp b/gfx/layers/apz/src/AsyncPanZoomController.cpp index 11fa4a0a33..ffbd86d12e 100644 --- a/gfx/layers/apz/src/AsyncPanZoomController.cpp +++ b/gfx/layers/apz/src/AsyncPanZoomController.cpp @@ -1282,7 +1282,9 @@ nsEventStatus AsyncPanZoomController::OnScaleBegin(const PinchGestureInput& aEve } SetState(PINCHING); - mLastZoomFocus = aEvent.mLocalFocusPoint - mFrameMetrics.mCompositionBounds.TopLeft(); + mX.SetVelocity(0); + mY.SetVelocity(0); + mLastZoomFocus = aEvent.mLocalFocusPoint - mFrameMetrics.GetCompositionBounds().TopLeft(); return nsEventStatus_eConsumeNoDefault; } @@ -1318,7 +1320,7 @@ nsEventStatus AsyncPanZoomController::OnScale(const PinchGestureInput& aEvent) { ReentrantMonitorAutoEnter lock(mMonitor); CSSToParentLayerScale userZoom = mFrameMetrics.GetZoom().ToScaleFactor(); - ParentLayerPoint focusPoint = aEvent.mLocalFocusPoint - mFrameMetrics.mCompositionBounds.TopLeft(); + ParentLayerPoint focusPoint = aEvent.mLocalFocusPoint - mFrameMetrics.GetCompositionBounds().TopLeft(); CSSPoint cssFocusPoint = focusPoint / mFrameMetrics.GetZoom(); CSSPoint focusChange = (mLastZoomFocus - focusPoint) / userZoom; @@ -1336,9 +1338,9 @@ nsEventStatus AsyncPanZoomController::OnScale(const PinchGestureInput& aEvent) { CSSToParentLayerScale realMinZoom = mZoomConstraints.mMinZoom; CSSToParentLayerScale realMaxZoom = mZoomConstraints.mMaxZoom; realMinZoom.scale = std::max(realMinZoom.scale, - mFrameMetrics.mCompositionBounds.width / mFrameMetrics.GetScrollableRect().width); + mFrameMetrics.GetCompositionBounds().width / mFrameMetrics.GetScrollableRect().width); realMinZoom.scale = std::max(realMinZoom.scale, - mFrameMetrics.mCompositionBounds.height / mFrameMetrics.GetScrollableRect().height); + mFrameMetrics.GetCompositionBounds().height / mFrameMetrics.GetScrollableRect().height); if (realMaxZoom < realMinZoom) { realMaxZoom = realMinZoom; } @@ -1833,7 +1835,7 @@ bool AsyncPanZoomController::Contains(const ScreenIntPoint& aPoint) const ParentLayerIntRect cb; { ReentrantMonitorAutoEnter lock(mMonitor); - GetFrameMetrics().mCompositionBounds.ToIntRect(&cb); + GetFrameMetrics().GetCompositionBounds().ToIntRect(&cb); } return cb.Contains(point); } @@ -2738,9 +2740,11 @@ ViewTransform AsyncPanZoomController::GetCurrentAsyncTransform() const { } ParentLayerPoint translation = (currentScrollOffset - lastPaintScrollOffset) - * mFrameMetrics.GetZoom(); + * mFrameMetrics.GetZoom() * mTestAsyncZoom.scale; - return ViewTransform(mFrameMetrics.GetAsyncZoom(), -translation); + return ViewTransform( + LayerToParentLayerScale(mFrameMetrics.GetAsyncZoom().scale * mTestAsyncZoom.scale), + -translation); } Matrix4x4 AsyncPanZoomController::GetCurrentAsyncTransformWithOverscroll() const { @@ -2797,8 +2801,8 @@ void AsyncPanZoomController::NotifyLayersUpdated(const FrameMetrics& aLayerMetri mPaintThrottler.TaskComplete(GetFrameTime()); bool needContentRepaint = false; bool viewportUpdated = false; - if (FuzzyEqualsAdditive(aLayerMetrics.mCompositionBounds.width, mFrameMetrics.mCompositionBounds.width) && - FuzzyEqualsAdditive(aLayerMetrics.mCompositionBounds.height, mFrameMetrics.mCompositionBounds.height)) { + if (FuzzyEqualsAdditive(aLayerMetrics.GetCompositionBounds().width, mFrameMetrics.GetCompositionBounds().width) && + FuzzyEqualsAdditive(aLayerMetrics.GetCompositionBounds().height, mFrameMetrics.GetCompositionBounds().height)) { // Remote content has sync'd up to the composition geometry // change, so we can accept the viewport it's calculated. if (mFrameMetrics.GetViewport().width != aLayerMetrics.GetViewport().width || @@ -2844,7 +2848,7 @@ void AsyncPanZoomController::NotifyLayersUpdated(const FrameMetrics& aLayerMetri // in some things into our local mFrameMetrics because these things are // determined by Gecko and our copy in mFrameMetrics may be stale. - if (FuzzyEqualsAdditive(mFrameMetrics.mCompositionBounds.width, aLayerMetrics.mCompositionBounds.width) && + if (FuzzyEqualsAdditive(mFrameMetrics.GetCompositionBounds().width, aLayerMetrics.GetCompositionBounds().width) && mFrameMetrics.GetDevPixelsPerCSSPixel() == aLayerMetrics.GetDevPixelsPerCSSPixel() && !viewportUpdated) { // Any change to the pres shell resolution was requested by APZ and is @@ -2870,11 +2874,14 @@ void AsyncPanZoomController::NotifyLayersUpdated(const FrameMetrics& aLayerMetri mFrameMetrics.SetScrollableRect(aLayerMetrics.GetScrollableRect()); needContentRepaint = true; } - mFrameMetrics.mCompositionBounds = aLayerMetrics.mCompositionBounds; + mFrameMetrics.SetCompositionBounds(aLayerMetrics.GetCompositionBounds()); mFrameMetrics.SetRootCompositionSize(aLayerMetrics.GetRootCompositionSize()); mFrameMetrics.SetPresShellResolution(aLayerMetrics.GetPresShellResolution()); mFrameMetrics.SetCumulativeResolution(aLayerMetrics.GetCumulativeResolution()); mFrameMetrics.SetHasScrollgrab(aLayerMetrics.GetHasScrollgrab()); + mFrameMetrics.SetLineScrollAmount(aLayerMetrics.GetLineScrollAmount()); + mFrameMetrics.SetPageScrollAmount(aLayerMetrics.GetPageScrollAmount()); + mFrameMetrics.SetClipRect(aLayerMetrics.GetClipRect()); if (scrollOffsetUpdated) { APZC_LOG("%p updating scroll offset from %s to %s\n", this, @@ -2971,7 +2978,7 @@ void AsyncPanZoomController::ZoomToRect(CSSRect aRect) { { ReentrantMonitorAutoEnter lock(mMonitor); - ParentLayerRect compositionBounds = mFrameMetrics.mCompositionBounds; + ParentLayerRect compositionBounds = mFrameMetrics.GetCompositionBounds(); CSSRect cssPageRect = mFrameMetrics.GetScrollableRect(); CSSPoint scrollOffset = mFrameMetrics.GetScrollOffset(); CSSToParentLayerScale currentZoom = mFrameMetrics.GetZoom().ToScaleFactor(); diff --git a/gfx/layers/apz/src/AsyncPanZoomController.h b/gfx/layers/apz/src/AsyncPanZoomController.h index d60887c408..cae25f3347 100644 --- a/gfx/layers/apz/src/AsyncPanZoomController.h +++ b/gfx/layers/apz/src/AsyncPanZoomController.h @@ -1058,6 +1058,13 @@ public: { mTestAsyncScrollOffset = aPoint; } + /** + * Set an extra offset for testing async scrolling. + */ + void SetTestAsyncZoom(const LayerToParentLayerScale& aZoom) + { + mTestAsyncZoom = aZoom; + } void MarkAsyncTransformAppliedToContent() { @@ -1072,6 +1079,8 @@ public: private: // Extra offset to add in SampleContentTransformForFrame for testing CSSPoint mTestAsyncScrollOffset; + // Extra zoom to include in SampleContentTransformForFrame for testing + LayerToParentLayerScale mTestAsyncZoom; // Flag to track whether or not the APZ transform is not used. This // flag is recomputed for every composition frame. bool mAsyncTransformAppliedToContent; diff --git a/gfx/layers/apz/src/Axis.cpp b/gfx/layers/apz/src/Axis.cpp index cc92a9dac2..3a09a68dba 100644 --- a/gfx/layers/apz/src/Axis.cpp +++ b/gfx/layers/apz/src/Axis.cpp @@ -496,7 +496,7 @@ ParentLayerCoord Axis::GetOrigin() const { } ParentLayerCoord Axis::GetCompositionLength() const { - return GetRectLength(GetFrameMetrics().mCompositionBounds); + return GetRectLength(GetFrameMetrics().GetCompositionBounds()); } ParentLayerCoord Axis::GetPageStart() const { @@ -511,7 +511,7 @@ ParentLayerCoord Axis::GetPageLength() const { bool Axis::ScaleWillOverscrollBothSides(float aScale) const { const FrameMetrics& metrics = GetFrameMetrics(); - ParentLayerRect screenCompositionBounds = metrics.mCompositionBounds + ParentLayerRect screenCompositionBounds = metrics.GetCompositionBounds() / ParentLayerToParentLayerScale(aScale); return GetRectLength(screenCompositionBounds) - GetPageLength() > COORDINATE_EPSILON; } diff --git a/gfx/layers/client/ClientTiledPaintedLayer.cpp b/gfx/layers/client/ClientTiledPaintedLayer.cpp index d6b41e25e5..f299545ad3 100644 --- a/gfx/layers/client/ClientTiledPaintedLayer.cpp +++ b/gfx/layers/client/ClientTiledPaintedLayer.cpp @@ -176,7 +176,7 @@ ClientTiledPaintedLayer::BeginPaint() if (!hasTransformAnimation) { ParentLayerRect criticalDisplayPort = (displayportMetrics.GetCriticalDisplayPort() * displayportMetrics.GetZoom()) - + displayportMetrics.mCompositionBounds.TopLeft(); + + displayportMetrics.GetCompositionBounds().TopLeft(); mPaintData.mCriticalDisplayPort = RoundedToInt( ApplyParentLayerToLayerTransform(transformDisplayPortToLayer, criticalDisplayPort)); } @@ -193,7 +193,7 @@ ClientTiledPaintedLayer::BeginPaint() gfx::Matrix4x4 transformToBounds = mPaintData.mTransformToCompBounds; transformToBounds.Invert(); mPaintData.mCompositionBounds = ApplyParentLayerToLayerTransform( - transformToBounds, scrollMetrics.mCompositionBounds); + transformToBounds, scrollMetrics.GetCompositionBounds()); TILING_LOG("TILING %p: Composition bounds %s\n", this, Stringify(mPaintData.mCompositionBounds).c_str()); // Calculate the scroll offset since the last transaction diff --git a/gfx/layers/client/TiledContentClient.cpp b/gfx/layers/client/TiledContentClient.cpp index 1e559133fb..22b2e914cc 100644 --- a/gfx/layers/client/TiledContentClient.cpp +++ b/gfx/layers/client/TiledContentClient.cpp @@ -1330,7 +1330,7 @@ GetCompositorSideCompositionBounds(const LayerMetricsWrapper& aScrollAncestor, { Matrix4x4 transform = aTransformToCompBounds * Matrix4x4(aAPZTransform); return TransformTo(transform.Inverse(), - aScrollAncestor.Metrics().mCompositionBounds); + aScrollAncestor.Metrics().GetCompositionBounds()); } bool diff --git a/gfx/layers/composite/AsyncCompositionManager.cpp b/gfx/layers/composite/AsyncCompositionManager.cpp index fb3378edb2..6382d5f121 100644 --- a/gfx/layers/composite/AsyncCompositionManager.cpp +++ b/gfx/layers/composite/AsyncCompositionManager.cpp @@ -600,12 +600,34 @@ AsyncCompositionManager::ApplyAsyncContentTransformToTree(Layer *aLayer) // When doing so, it might be useful to look at how it was called here before // bug 1036967 removed the (dead) call. +#if defined(MOZ_ANDROID_APZ) + if (mIsFirstPaint) { + CSSToLayerScale geckoZoom = metrics.LayersPixelsPerCSSPixel().ToScaleFactor(); + LayerIntPoint scrollOffsetLayerPixels = RoundedToInt(metrics.GetScrollOffset() * geckoZoom); + mContentRect = metrics.GetScrollableRect(); + SetFirstPaintViewport(scrollOffsetLayerPixels, + geckoZoom, + mContentRect); + } +#endif + mIsFirstPaint = false; mLayersUpdated = false; // Apply the render offset mLayerManager->GetCompositor()->SetScreenRenderOffset(offset); + // See the comment below - the first FrameMetrics has the clip computed + // by layout (currently, effectively the composition bounds), which we + // intersect here to include the layer clip. + if (i == 0 && metrics.HasClipRect()) { + if (clipRect) { + clipRect = Some(clipRect.value().Intersect(metrics.ClipRect())); + } else { + clipRect = Some(metrics.ClipRect()); + } + } + combinedAsyncTransformWithoutOverscroll *= asyncTransformWithoutOverscroll; combinedAsyncTransform *= (Matrix4x4(asyncTransformWithoutOverscroll) * overscrollTransform); if (i > 0 && clipRect) { @@ -625,7 +647,7 @@ AsyncCompositionManager::ApplyAsyncContentTransformToTree(Layer *aLayer) ParentLayerRect transformed = TransformTo( (Matrix4x4(asyncTransformWithoutOverscroll) * overscrollTransform), ParentLayerRect(*clipRect)); - clipRect = Some(RoundedOut(transformed.Intersect(metrics.mCompositionBounds))); + clipRect = Some(RoundedOut(transformed.Intersect(metrics.GetCompositionBounds()))); } } @@ -717,11 +739,13 @@ ApplyAsyncTransformToScrollbarForContent(Layer* aScrollbar, // |metrics.CalculateCompositedSizeInCssPixels()| would not give a correct // result. const CSSToParentLayerScale effectiveZoom(metrics.GetZoom().yScale * asyncZoomY); - const CSSCoord compositedHeight = (metrics.mCompositionBounds / effectiveZoom).height; - const CSSCoord scrollableHeight = metrics.GetScrollableRect().height; - // The scrollbar thumb ratio is in AppUnits. - const float ratio = aScrollbar->GetScrollbarThumbRatio(); + const LayoutDeviceToParentLayerScale nonLayoutScale = effectiveZoom / + metrics.GetDevPixelsPerCSSPixel(); + // Here we convert the scrollbar thumb ratio into a true unitless ratio by + // dividing out the conversion factor from the scrollframe's parent's space + // to the scrollframe's space. + const float ratio = aScrollbar->GetScrollbarThumbRatio() / nonLayoutScale.scale; ParentLayerCoord yTranslation = -asyncScrollY * ratio; // The scroll thumb additionally needs to be translated to compensate for @@ -735,7 +759,7 @@ ApplyAsyncTransformToScrollbarForContent(Layer* aScrollbar, // a change of basis. We have a method to help with that, // Matrix4x4::ChangeBasis(), but it wouldn't necessarily make the code // cleaner in this case). - const CSSCoord thumbOrigin = (metrics.GetScrollOffset().y / scrollableHeight) * compositedHeight; + const CSSCoord thumbOrigin = (metrics.GetScrollOffset().y * ratio); const CSSCoord thumbOriginScaled = thumbOrigin * yScale; const CSSCoord thumbOriginDelta = thumbOriginScaled - thumbOrigin; const ParentLayerCoord thumbOriginDeltaPL = thumbOriginDelta * effectiveZoom; @@ -764,14 +788,13 @@ ApplyAsyncTransformToScrollbarForContent(Layer* aScrollbar, const float xScale = 1.f / asyncZoomX; const CSSToParentLayerScale effectiveZoom(metrics.GetZoom().xScale * asyncZoomX); - const CSSCoord compositedWidth = (metrics.mCompositionBounds / effectiveZoom).width; - const CSSCoord scrollableWidth = metrics.GetScrollableRect().width; - // The scrollbar thumb ratio is in AppUnits. - const float ratio = aScrollbar->GetScrollbarThumbRatio(); + const LayoutDeviceToParentLayerScale nonLayoutScale = effectiveZoom / + metrics.GetDevPixelsPerCSSPixel(); + const float ratio = aScrollbar->GetScrollbarThumbRatio() / nonLayoutScale.scale; ParentLayerCoord xTranslation = -asyncScrollX * ratio; - const CSSCoord thumbOrigin = (metrics.GetScrollOffset().x / scrollableWidth) * compositedWidth; + const CSSCoord thumbOrigin = (metrics.GetScrollOffset().x * ratio); const CSSCoord thumbOriginScaled = thumbOrigin * xScale; const CSSCoord thumbOriginDelta = thumbOriginScaled - thumbOrigin; const ParentLayerCoord thumbOriginDeltaPL = thumbOriginDelta * effectiveZoom; @@ -981,28 +1004,28 @@ AsyncCompositionManager::TransformScrollableLayer(Layer* aLayer) Point3D overscrollTranslation; if (userScroll.x < contentScreenRect.x) { overscrollTranslation.x = contentScreenRect.x - userScroll.x; - } else if (userScroll.x + metrics.mCompositionBounds.width > contentScreenRect.XMost()) { + } else if (userScroll.x + metrics.GetCompositionBounds().width > contentScreenRect.XMost()) { overscrollTranslation.x = contentScreenRect.XMost() - - (userScroll.x + metrics.mCompositionBounds.width); + (userScroll.x + metrics.GetCompositionBounds().width); } if (userScroll.y < contentScreenRect.y) { overscrollTranslation.y = contentScreenRect.y - userScroll.y; - } else if (userScroll.y + metrics.mCompositionBounds.height > contentScreenRect.YMost()) { + } else if (userScroll.y + metrics.GetCompositionBounds().height > contentScreenRect.YMost()) { overscrollTranslation.y = contentScreenRect.YMost() - - (userScroll.y + metrics.mCompositionBounds.height); + (userScroll.y + metrics.GetCompositionBounds().height); } oldTransform.PreTranslate(overscrollTranslation.x, overscrollTranslation.y, overscrollTranslation.z); gfx::Size underZoomScale(1.0f, 1.0f); - if (mContentRect.width * userZoom.scale < metrics.mCompositionBounds.width) { + if (mContentRect.width * userZoom.scale < metrics.GetCompositionBounds().width) { underZoomScale.width = (mContentRect.width * userZoom.scale) / - metrics.mCompositionBounds.width; + metrics.GetCompositionBounds().width; } - if (mContentRect.height * userZoom.scale < metrics.mCompositionBounds.height) { + if (mContentRect.height * userZoom.scale < metrics.GetCompositionBounds().height) { underZoomScale.height = (mContentRect.height * userZoom.scale) / - metrics.mCompositionBounds.height; + metrics.GetCompositionBounds().height; } oldTransform.PreScale(underZoomScale.width, underZoomScale.height, 1); diff --git a/gfx/layers/composite/ContainerLayerComposite.cpp b/gfx/layers/composite/ContainerLayerComposite.cpp index 769d0c0a13..cbbe4b7a47 100755 --- a/gfx/layers/composite/ContainerLayerComposite.cpp +++ b/gfx/layers/composite/ContainerLayerComposite.cpp @@ -240,17 +240,21 @@ ContainerPrepare(ContainerT* aContainer, for (uint32_t i = 0; i < children.Length(); i++) { LayerComposite* layerToRender = static_cast(children.ElementAt(i)->ImplData()); - if (layerToRender->GetLayer()->GetEffectiveVisibleRegion().IsEmpty() && - !layerToRender->GetLayer()->AsContainerLayer()) { - CULLING_LOG("Sublayer %p has no effective visible region\n", layerToRender->GetLayer()); - continue; - } - RenderTargetIntRect clipRect = layerToRender->GetLayer()-> CalculateScissorRect(aClipRect); - if (clipRect.IsEmpty()) { - CULLING_LOG("Sublayer %p has an empty world clip rect\n", layerToRender->GetLayer()); - continue; + + // We don't want to skip container layers because otherwise their mPrepared + // may be null which is not allowed. + if (!layerToRender->GetLayer()->AsContainerLayer()) { + if (layerToRender->GetLayer()->GetEffectiveVisibleRegion().IsEmpty()) { + CULLING_LOG("Sublayer %p has no effective visible region\n", layerToRender->GetLayer()); + continue; + } + + if (clipRect.IsEmpty()) { + CULLING_LOG("Sublayer %p has an empty world clip rect\n", layerToRender->GetLayer()); + continue; + } } CULLING_LOG("Preparing sublayer %p\n", layerToRender->GetLayer()); @@ -318,7 +322,8 @@ RenderLayers(ContainerT* aContainer, Layer* layer = layerToRender->GetLayer(); gfxRGBA color; - if (LayerHasCheckerboardingAPZC(layer, &color)) { + if ((layer->GetContentFlags() & Layer::CONTENT_OPAQUE) && + LayerHasCheckerboardingAPZC(layer, &color)) { // Ideally we would want to intersect the checkerboard region from the APZ with the layer bounds // and only fill in that area. However the layer bounds takes into account the base translation // for the painted layer whereas the checkerboard region does not. One does not simply @@ -358,17 +363,26 @@ RenderLayers(ContainerT* aContainer, } // Draw a border around scrollable layers. - for (uint32_t i = 0; i < layer->GetFrameMetricsCount(); i++) { - // A layer can be scrolled by multiple scroll frames. Draw a border - // for each. - if (layer->GetFrameMetrics(i).IsScrollable()) { + // A layer can be scrolled by multiple scroll frames. Draw a border + // for each. + // Within the list of scroll frames for a layer, the layer border for a + // scroll frame lower down is affected by the async transforms on scroll + // frames higher up, so loop from the top down, and accumulate an async + // transform as we go along. + Matrix4x4 asyncTransform; + for (uint32_t i = layer->GetFrameMetricsCount(); i > 0; --i) { + if (layer->GetFrameMetrics(i - 1).IsScrollable()) { // Since the composition bounds are in the parent layer's coordinates, // use the parent's effective transform rather than the layer's own. - ParentLayerRect compositionBounds = layer->GetFrameMetrics(i).mCompositionBounds; + ParentLayerRect compositionBounds = layer->GetFrameMetrics(i - 1).GetCompositionBounds(); aManager->GetCompositor()->DrawDiagnostics(DiagnosticFlags::CONTAINER, compositionBounds.ToUnknownRect(), gfx::Rect(aClipRect.ToUnknownRect()), - aContainer->GetEffectiveTransform()); + asyncTransform * aContainer->GetEffectiveTransform()); + if (AsyncPanZoomController* apzc = layer->GetAsyncPanZoomController(i - 1)) { + asyncTransform = apzc->GetCurrentAsyncTransformWithOverscroll() + * asyncTransform; + } } } diff --git a/gfx/layers/composite/LayerManagerComposite.cpp b/gfx/layers/composite/LayerManagerComposite.cpp index e83c4481fc..b00f4d49f9 100644 --- a/gfx/layers/composite/LayerManagerComposite.cpp +++ b/gfx/layers/composite/LayerManagerComposite.cpp @@ -1075,7 +1075,7 @@ LayerManagerComposite::ComputeRenderIntegrity() // the root layer. rootMetrics = LayerMetricsWrapper(root).Metrics(); } - ParentLayerIntRect bounds = RoundedToInt(rootMetrics.mCompositionBounds); + ParentLayerIntRect bounds = RoundedToInt(rootMetrics.GetCompositionBounds()); IntRect screenRect(bounds.x, bounds.y, bounds.width, diff --git a/gfx/layers/ipc/CompositorChild.cpp b/gfx/layers/ipc/CompositorChild.cpp index 0eabe469b9..5fca59aee0 100644 --- a/gfx/layers/ipc/CompositorChild.cpp +++ b/gfx/layers/ipc/CompositorChild.cpp @@ -373,6 +373,16 @@ CompositorChild::AddOverfillObserver(ClientLayerManager* aLayerManager) mOverfillObservers.AppendElement(aLayerManager); } +bool +CompositorChild::RecvClearCachedResources(const uint64_t& aId) +{ + dom::TabChild* child = dom::TabChild::GetFrom(aId); + if (child) { + child->ClearCachedResources(); + } + return true; +} + void CompositorChild::ActorDestroy(ActorDestroyReason aWhy) { @@ -550,6 +560,26 @@ CompositorChild::SendResume() return PCompositorChild::SendResume(); } +bool +CompositorChild::SendNotifyHidden(const uint64_t& id) +{ + MOZ_ASSERT(mCanSend); + if (!mCanSend) { + return true; + } + return PCompositorChild::SendNotifyHidden(id); +} + +bool +CompositorChild::SendNotifyVisible(const uint64_t& id) +{ + MOZ_ASSERT(mCanSend); + if (!mCanSend) { + return true; + } + return PCompositorChild::SendNotifyVisible(id); +} + bool CompositorChild::SendNotifyChildCreated(const uint64_t& id) { diff --git a/gfx/layers/ipc/CompositorChild.h b/gfx/layers/ipc/CompositorChild.h index 2764808d28..b89314762e 100644 --- a/gfx/layers/ipc/CompositorChild.h +++ b/gfx/layers/ipc/CompositorChild.h @@ -70,6 +70,9 @@ public: void AddOverfillObserver(ClientLayerManager* aLayerManager); + virtual bool + RecvClearCachedResources(const uint64_t& id) override; + virtual bool RecvDidComposite(const uint64_t& aId, const uint64_t& aTransactionId) override; @@ -106,6 +109,8 @@ public: bool SendWillStop(); bool SendPause(); bool SendResume(); + bool SendNotifyHidden(const uint64_t& id); + bool SendNotifyVisible(const uint64_t& id); bool SendNotifyChildCreated(const uint64_t& id); bool SendAdoptChild(const uint64_t& id); bool SendMakeSnapshot(const SurfaceDescriptor& inSnapshot, const gfx::IntRect& dirtyRect); diff --git a/gfx/layers/ipc/CompositorLRU.cpp b/gfx/layers/ipc/CompositorLRU.cpp new file mode 100644 index 0000000000..ac934a992e --- /dev/null +++ b/gfx/layers/ipc/CompositorLRU.cpp @@ -0,0 +1,101 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * vim: sw=2 ts=8 et : + */ +/* 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/. */ + +#include "CompositorLRU.h" + +#include "mozilla/ClearOnShutdown.h" +#include "mozilla/DebugOnly.h" +#include "mozilla/Preferences.h" +#include "mozilla/unused.h" + +#include "CompositorParent.h" + +namespace mozilla { +namespace layers { + +mozilla::StaticRefPtr CompositorLRU::sSingleton; + +void +CompositorLRU::Init() +{ + unused << GetSingleton(); +} + +CompositorLRU* +CompositorLRU::GetSingleton() +{ + if (sSingleton) { + return sSingleton; + } + sSingleton = new CompositorLRU(); + ClearOnShutdown(&sSingleton); + + return sSingleton; +} + +CompositorLRU::CompositorLRU() +{ + mLRUSize = Preferences::GetUint("layers.compositor-lru-size", uint32_t(0)); +} + +CompositorLRU::~CompositorLRU() +{ +} + +void +CompositorLRU::Add(PCompositorParent* aCompositor, const uint64_t& aId) +{ + auto index = mLRU.IndexOf(std::make_pair(aCompositor, aId)); + if (index != nsTArray::NoIndex) { + return; + } + + if (mLRUSize == 0) { + unused << aCompositor->SendClearCachedResources(aId); + return; + } + + if (mLRU.Length() == mLRUSize) { + CompositorLayerPair victim = mLRU.LastElement(); + unused << victim.first->SendClearCachedResources(victim.second); + mLRU.RemoveElement(victim); + } + mLRU.InsertElementAt(0, std::make_pair(aCompositor, aId)); +} + +void +CompositorLRU::Remove(PCompositorParent* aCompositor, const uint64_t& aId) +{ + if (mLRUSize == 0) { + return; + } + + auto index = mLRU.IndexOf(std::make_pair(aCompositor, aId)); + + if (index == nsTArray::NoIndex) { + return; + } + + mLRU.RemoveElementAt(index); +} + +void +CompositorLRU::Remove(PCompositorParent* aCompositor) +{ + if (mLRUSize == 0) { + return; + } + + for (int32_t i = mLRU.Length() - 1; i >= 0; --i) { + if (mLRU[i].first == aCompositor) { + mLRU.RemoveElementAt(i); + } + } +} + +} // namespace layers +} // namespace mozilla diff --git a/gfx/layers/ipc/CompositorLRU.h b/gfx/layers/ipc/CompositorLRU.h new file mode 100644 index 0000000000..adb294cf8a --- /dev/null +++ b/gfx/layers/ipc/CompositorLRU.h @@ -0,0 +1,61 @@ +/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- + * vim: sw=2 ts=8 et : + */ +/* 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/. */ + +#ifndef mozilla_CompositorLRU_h +#define mozilla_CompositorLRU_h + +#include "mozilla/StaticPtr.h" + +#include "nsISupportsImpl.h" +#include "nsTArray.h" + +#include + +namespace mozilla { +namespace layers { + +class PCompositorParent; + +class CompositorLRU final +{ + typedef std::pair CompositorLayerPair; +public: + NS_INLINE_DECL_THREADSAFE_REFCOUNTING(CompositorLRU) + + static void Init(); + static CompositorLRU* GetSingleton(); + + /** + * Adds the (PCompositorParent, LayerId) pair to the LRU pool. If + * the pool size grows over mLRUSize, the oldest PCompositorParent + * is evicted. + */ + void Add(PCompositorParent* aCompositor, const uint64_t& id); + + /** + * Remove the (PCompositorParent, LayersId) pair from the LRU pool. + */ + void Remove(PCompositorParent* aCompositor, const uint64_t& id); + + /** + * Remove all PCompositorParents from the LRU pool. + */ + void Remove(PCompositorParent* aCompositor); + +private: + static StaticRefPtr sSingleton; + + CompositorLRU(); + ~CompositorLRU(); + uint32_t mLRUSize; + nsTArray mLRU; +}; + +} // namespace layers +} // namespace mozilla + +#endif // mozilla_CompositorLRU_h diff --git a/gfx/layers/ipc/CompositorParent.cpp b/gfx/layers/ipc/CompositorParent.cpp index 890c400bd6..ffd73ffa74 100644 --- a/gfx/layers/ipc/CompositorParent.cpp +++ b/gfx/layers/ipc/CompositorParent.cpp @@ -34,6 +34,7 @@ #include "mozilla/layers/AsyncCompositionManager.h" #include "mozilla/layers/BasicCompositor.h" // for BasicCompositor #include "mozilla/layers/Compositor.h" // for Compositor +#include "mozilla/layers/CompositorLRU.h" // for CompositorLRU #include "mozilla/layers/CompositorOGL.h" // for CompositorOGL #include "mozilla/layers/CompositorTypes.h" #include "mozilla/layers/LayerManagerComposite.h" @@ -1670,6 +1671,8 @@ public: virtual bool RecvStop() override { return true; } virtual bool RecvPause() override { return true; } virtual bool RecvResume() override { return true; } + virtual bool RecvNotifyHidden(const uint64_t& id) override; + virtual bool RecvNotifyVisible(const uint64_t& id) override; virtual bool RecvNotifyChildCreated(const uint64_t& child) override; virtual bool RecvAdoptChild(const uint64_t& child) override { return false; } virtual bool RecvMakeSnapshot(const SurfaceDescriptor& aInSnapshot, @@ -1825,6 +1828,22 @@ CompositorParent::GetIndirectShadowTree(uint64_t aId) return &cit->second; } +bool +CrossProcessCompositorParent::RecvNotifyHidden(const uint64_t& id) +{ + nsRefPtr lru = CompositorLRU::GetSingleton(); + lru->Add(this, id); + return true; +} + +bool +CrossProcessCompositorParent::RecvNotifyVisible(const uint64_t& id) +{ + nsRefPtr lru = CompositorLRU::GetSingleton(); + lru->Remove(this, id); + return true; +} + bool CrossProcessCompositorParent::RecvRequestNotifyAfterRemotePaint() { @@ -1835,6 +1854,9 @@ CrossProcessCompositorParent::RecvRequestNotifyAfterRemotePaint() void CrossProcessCompositorParent::ActorDestroy(ActorDestroyReason aWhy) { + nsRefPtr lru = CompositorLRU::GetSingleton(); + lru->Remove(this); + MessageLoop::current()->PostTask( FROM_HERE, NewRunnableMethod(this, &CrossProcessCompositorParent::DeferredDestroy)); diff --git a/gfx/layers/ipc/CompositorParent.h b/gfx/layers/ipc/CompositorParent.h index 207517c524..4b2d5a84ad 100644 --- a/gfx/layers/ipc/CompositorParent.h +++ b/gfx/layers/ipc/CompositorParent.h @@ -234,6 +234,8 @@ public: virtual bool RecvStop() override; virtual bool RecvPause() override; virtual bool RecvResume() override; + virtual bool RecvNotifyHidden(const uint64_t& id) override { return true; } + virtual bool RecvNotifyVisible(const uint64_t& id) override { return true; } virtual bool RecvNotifyChildCreated(const uint64_t& child) override; virtual bool RecvAdoptChild(const uint64_t& child) override; virtual bool RecvMakeSnapshot(const SurfaceDescriptor& aInSnapshot, diff --git a/gfx/layers/ipc/LayerTransactionParent.cpp b/gfx/layers/ipc/LayerTransactionParent.cpp index 4015e717c5..4c7b9507c8 100644 --- a/gfx/layers/ipc/LayerTransactionParent.cpp +++ b/gfx/layers/ipc/LayerTransactionParent.cpp @@ -783,6 +783,22 @@ LayerTransactionParent::RecvSetAsyncScrollOffset(const FrameMetrics::ViewID& aSc return true; } +bool +LayerTransactionParent::RecvSetAsyncZoom(const FrameMetrics::ViewID& aScrollID, + const float& aValue) +{ + if (mDestroyed || !layer_manager() || layer_manager()->IsDestroyed()) { + return false; + } + + AsyncPanZoomController* controller = GetAPZCForViewID(mRoot, aScrollID); + if (!controller) { + return false; + } + controller->SetTestAsyncZoom(LayerToParentLayerScale(aValue)); + return true; +} + bool LayerTransactionParent::RecvGetAPZTestData(APZTestData* aOutData) { diff --git a/gfx/layers/ipc/LayerTransactionParent.h b/gfx/layers/ipc/LayerTransactionParent.h index 486af62845..9fbb5ce2b4 100644 --- a/gfx/layers/ipc/LayerTransactionParent.h +++ b/gfx/layers/ipc/LayerTransactionParent.h @@ -133,6 +133,8 @@ protected: override; virtual bool RecvSetAsyncScrollOffset(const FrameMetrics::ViewID& aId, const int32_t& aX, const int32_t& aY) override; + virtual bool RecvSetAsyncZoom(const FrameMetrics::ViewID& aId, + const float& aValue) override; virtual bool RecvGetAPZTestData(APZTestData* aOutData) override; virtual bool RecvRequestProperty(const nsString& aProperty, float* aValue) override; virtual bool RecvSetConfirmedTargetAPZC(const uint64_t& aBlockId, diff --git a/gfx/layers/ipc/PCompositor.ipdl b/gfx/layers/ipc/PCompositor.ipdl index ba3620506b..17f73317f1 100644 --- a/gfx/layers/ipc/PCompositor.ipdl +++ b/gfx/layers/ipc/PCompositor.ipdl @@ -70,6 +70,12 @@ child: */ async UpdatePluginVisibility(uintptr_t[] aVisibleIdList); + /** + * Drop any buffers that might be retained on the child compositor + * side. + */ + async ClearCachedResources(uint64_t id); + parent: // Child sends the parent a request for fill ratio numbers. async RequestOverfill(); @@ -85,6 +91,14 @@ parent: sync Pause(); sync Resume(); + // The child layer tree is hidden. id is the layers id of the child + // layer tree. + async NotifyHidden(uint64_t id); + + // The child layer tree is visible. id is the layers id of the child + // layer tree. + async NotifyVisible(uint64_t id); + async NotifyChildCreated(uint64_t id); async AdoptChild(uint64_t id); diff --git a/gfx/layers/ipc/PLayerTransaction.ipdl b/gfx/layers/ipc/PLayerTransaction.ipdl index 11a8ac65cf..249d79097c 100644 --- a/gfx/layers/ipc/PLayerTransaction.ipdl +++ b/gfx/layers/ipc/PLayerTransaction.ipdl @@ -89,6 +89,11 @@ parent: // Useful for testing rendering of async scrolling. sync SetAsyncScrollOffset(ViewID id, int32_t x, int32_t y); + // The next time the layer tree is composited, include this async zoom in + // for the given ViewID. + // Useful for testing rendering of async zooming. + sync SetAsyncZoom(ViewID id, float zoom); + // Drop any front buffers that might be retained on the compositor // side. async ClearCachedResources(); diff --git a/gfx/layers/moz.build b/gfx/layers/moz.build index 527865b806..0f162b0170 100644 --- a/gfx/layers/moz.build +++ b/gfx/layers/moz.build @@ -136,6 +136,7 @@ EXPORTS.mozilla.layers += [ 'ipc/CompositableForwarder.h', 'ipc/CompositableTransactionParent.h', 'ipc/CompositorChild.h', + 'ipc/CompositorLRU.h', 'ipc/CompositorParent.h', 'ipc/FenceUtils.h', 'ipc/ImageBridgeChild.h', @@ -288,6 +289,7 @@ UNIFIED_SOURCES += [ 'ipc/CompositableTransactionParent.cpp', 'ipc/CompositorBench.cpp', 'ipc/CompositorChild.cpp', + 'ipc/CompositorLRU.cpp', 'ipc/CompositorParent.cpp', 'ipc/FenceUtils.cpp', 'ipc/ImageBridgeChild.cpp', diff --git a/gfx/tests/gtest/TestAsyncPanZoomController.cpp b/gfx/tests/gtest/TestAsyncPanZoomController.cpp index c39777b3c4..6f930e4e40 100644 --- a/gfx/tests/gtest/TestAsyncPanZoomController.cpp +++ b/gfx/tests/gtest/TestAsyncPanZoomController.cpp @@ -228,7 +228,7 @@ TestFrameMetrics() FrameMetrics fm; fm.SetDisplayPort(CSSRect(0, 0, 10, 10)); - fm.mCompositionBounds = ParentLayerRect(0, 0, 10, 10); + fm.SetCompositionBounds(ParentLayerRect(0, 0, 10, 10)); fm.SetCriticalDisplayPort(CSSRect(0, 0, 10, 10)); fm.SetScrollableRect(CSSRect(0, 0, 100, 100)); @@ -610,7 +610,7 @@ protected: FrameMetrics GetPinchableFrameMetrics() { FrameMetrics fm; - fm.mCompositionBounds = ParentLayerRect(200, 200, 100, 200); + fm.SetCompositionBounds(ParentLayerRect(200, 200, 100, 200)); fm.SetScrollableRect(CSSRect(0, 0, 980, 1000)); fm.SetScrollOffset(CSSPoint(300, 300)); fm.SetZoom(CSSToParentLayerScale2D(2.0, 2.0)); @@ -754,7 +754,7 @@ TEST_F(APZCPinchGestureDetectorTester, Pinch_PreventDefault) { TEST_F(APZCBasicTester, Overzoom) { // the visible area of the document in CSS pixels is x=10 y=0 w=100 h=100 FrameMetrics fm; - fm.mCompositionBounds = ParentLayerRect(0, 0, 100, 100); + fm.SetCompositionBounds(ParentLayerRect(0, 0, 100, 100)); fm.SetScrollableRect(CSSRect(0, 0, 125, 150)); fm.SetScrollOffset(CSSPoint(10, 0)); fm.SetZoom(CSSToParentLayerScale2D(1.0, 1.0)); @@ -822,7 +822,7 @@ TEST_F(APZCBasicTester, ComplexTransform) { nsRefPtr root = CreateLayerTree(layerTreeSyntax, layerVisibleRegion, transforms, lm, layers); FrameMetrics metrics; - metrics.mCompositionBounds = ParentLayerRect(0, 0, 24, 24); + metrics.SetCompositionBounds(ParentLayerRect(0, 0, 24, 24)); metrics.SetDisplayPort(CSSRect(-1, -1, 6, 6)); metrics.SetScrollOffset(CSSPoint(10, 10)); metrics.SetScrollableRect(CSSRect(0, 0, 50, 50)); @@ -1689,8 +1689,8 @@ protected: FrameMetrics metrics; metrics.SetScrollId(aScrollId); IntRect layerBound = aLayer->GetVisibleRegion().GetBounds(); - metrics.mCompositionBounds = ParentLayerRect(layerBound.x, layerBound.y, - layerBound.width, layerBound.height); + metrics.SetCompositionBounds(ParentLayerRect(layerBound.x, layerBound.y, + layerBound.width, layerBound.height)); metrics.SetScrollableRect(aScrollableRect); metrics.SetScrollOffset(CSSPoint(0, 0)); aLayer->SetFrameMetrics(metrics); diff --git a/gfx/tests/gtest/moz.build b/gfx/tests/gtest/moz.build index 803299cac7..f84118748a 100644 --- a/gfx/tests/gtest/moz.build +++ b/gfx/tests/gtest/moz.build @@ -29,7 +29,7 @@ UNIFIED_SOURCES += [ # Because of gkmedia on windows we won't find these # symbols in xul.dll. if CONFIG['MOZ_WIDGET_TOOLKIT'] != 'windows': - UNIFIED_SOURCES += [ '%s/gfx/2d/unittest/%s' % (TOPSRCDIR, p) for p in [ + UNIFIED_SOURCES += [ '/gfx/2d/unittest/%s' % p for p in [ 'TestBase.cpp', 'TestBugs.cpp', 'TestPoint.cpp', diff --git a/intl/unicharutil/util/moz.build b/intl/unicharutil/util/moz.build index b0cadc629d..a6e51a2f19 100644 --- a/intl/unicharutil/util/moz.build +++ b/intl/unicharutil/util/moz.build @@ -8,7 +8,7 @@ # internal linkage. Components that use frozen (external) linkage should use # unicharutil_external_s. -DIRS += ['internal'] +DIRS += ['internal', 'standalone'] EXPORTS += [ 'GreekCasing.h', diff --git a/intl/unicharutil/util/objs.mozbuild b/intl/unicharutil/util/objs.mozbuild index d5c8a31ba3..1cb0cdb794 100644 --- a/intl/unicharutil/util/objs.mozbuild +++ b/intl/unicharutil/util/objs.mozbuild @@ -22,6 +22,6 @@ intl_unicharutil_util_lcppsrcs += [ ] intl_unicharutil_util_cppsrcs = [ - '%s/intl/unicharutil/util/%s' % (TOPSRCDIR, s) \ + '/intl/unicharutil/util/%s' % s for s in intl_unicharutil_util_lcppsrcs ] diff --git a/intl/unicharutil/util/standalone/moz.build b/intl/unicharutil/util/standalone/moz.build new file mode 100644 index 0000000000..992c5110ca --- /dev/null +++ b/intl/unicharutil/util/standalone/moz.build @@ -0,0 +1,16 @@ +# -*- Mode: python; c-basic-offset: 4; 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/. + +if CONFIG['OS_TARGET'] != 'WINNT' and CONFIG['MOZ_WIDGET_TOOLKIT'] != 'gonk': + Library('unicharutil_standalone') + +UNIFIED_SOURCES += [ + '../nsUnicodeProperties.cpp', +] + +for var in ('MOZILLA_INTERNAL_API', 'MOZILLA_XPCOMRT_API', 'MOZILLA_EXTERNAL_LINKAGE', + 'NR_SOCKET_IS_VOID_PTR', 'HAVE_STRDUP'): + DEFINES[var] = True diff --git a/ipc/chromium/moz.build b/ipc/chromium/moz.build index 790d3916cf..a6d4344045 100644 --- a/ipc/chromium/moz.build +++ b/ipc/chromium/moz.build @@ -198,11 +198,9 @@ if os_linux: ] if CONFIG['MOZ_ENABLE_QT']: SOURCES += [ + '!moc_message_pump_qt.cc', 'src/base/message_pump_qt.cc', ] - GENERATED_SOURCES += [ - 'moc_message_pump_qt.cc', - ] if not CONFIG['MOZ_NATIVE_LIBEVENT']: if CONFIG['OS_TARGET'] != 'Android': SOURCES += [ @@ -235,11 +233,9 @@ if os_bsd: ] if CONFIG['MOZ_ENABLE_QT']: SOURCES += [ + '!moc_message_pump_qt.cc', 'src/base/message_pump_qt.cc', ] - GENERATED_SOURCES += [ - 'moc_message_pump_qt.cc', - ] if not CONFIG['MOZ_NATIVE_LIBEVENT']: SOURCES += [ 'src/third_party/libevent/kqueue.c', diff --git a/ipc/glue/IPCMessageUtils.h b/ipc/glue/IPCMessageUtils.h index bef52daaf8..4dd79ccbd1 100644 --- a/ipc/glue/IPCMessageUtils.h +++ b/ipc/glue/IPCMessageUtils.h @@ -12,6 +12,7 @@ #include "mozilla/ArrayUtils.h" #include "mozilla/DebugOnly.h" +#include "mozilla/Maybe.h" #include "mozilla/TimeStamp.h" #ifdef XP_WIN #include "mozilla/TimeStamp_windows.h" @@ -805,6 +806,40 @@ struct ParamTraits { }; +template +struct ParamTraits< mozilla::Maybe > +{ + typedef mozilla::Maybe paramType; + + static void Write(Message* msg, const paramType& param) + { + if (param.isSome()) { + WriteParam(msg, true); + WriteParam(msg, param.value()); + } else { + WriteParam(msg, false); + } + } + + static bool Read(const Message* msg, void** iter, paramType* result) + { + bool isSome; + if (!ReadParam(msg, iter, &isSome)) { + return false; + } + if (isSome) { + T tmp; + if (!ReadParam(msg, iter, &tmp)) { + return false; + } + *result = mozilla::Some(mozilla::Move(tmp)); + } else { + *result = mozilla::Nothing(); + } + return true; + } +}; + } /* namespace IPC */ #endif /* __IPC_GLUE_IPCMESSAGEUTILS_H__ */ diff --git a/ipc/ipdl/test/cxx/moz.build b/ipc/ipdl/test/cxx/moz.build index 12797434c6..8e1e537236 100644 --- a/ipc/ipdl/test/cxx/moz.build +++ b/ipc/ipdl/test/cxx/moz.build @@ -55,14 +55,11 @@ if CONFIG['OS_ARCH'] == 'Linux': ] SOURCES += [ + '!IPDLUnitTests.cpp', 'IPDLUnitTestProcessChild.cpp', 'IPDLUnitTestSubprocess.cpp', ] -GENERATED_SOURCES += [ - 'IPDLUnitTests.cpp', -] - IPDL_SOURCES += [ 'PTestActorPunning.ipdl', 'PTestActorPunningPunned.ipdl', diff --git a/layout/base/FrameLayerBuilder.cpp b/layout/base/FrameLayerBuilder.cpp index d213439272..f0e5334336 100644 --- a/layout/base/FrameLayerBuilder.cpp +++ b/layout/base/FrameLayerBuilder.cpp @@ -4262,8 +4262,6 @@ ContainerState::SetupScrollingMetadata(NewLayerEntry* aEntry) } uint32_t baseLength = metricsArray.Length(); - ParentLayerIntRect tmpClipRect; - const ParentLayerIntRect* layerClip = aEntry->mLayer->GetClipRect().ptrOr(nullptr); nsIFrame* fParent; for (const nsIFrame* f = aEntry->mAnimatedGeometryRoot; f != mContainerAnimatedGeometryRoot; @@ -4288,23 +4286,9 @@ ContainerState::SetupScrollingMetadata(NewLayerEntry* aEntry) continue; } - Maybe clipRect; scrollFrame->ComputeFrameMetrics(aEntry->mLayer, mContainerReferenceFrame, - mParameters, &clipRect, &metricsArray); - if (clipRect) { - ParentLayerIntRect pixClip = ViewAs(ScaleToNearestPixels(*clipRect)); - if (layerClip) { - tmpClipRect.IntersectRect(pixClip, *layerClip); - } else { - tmpClipRect = pixClip; - } - layerClip = &tmpClipRect; - // XXX this could cause IPC churn due to cliprects being updated - // twice during layer building --- for non-PaintedLayers that have - // both CSS and scroll clipping. - } + mParameters, &metricsArray); } - aEntry->mLayer->SetClipRect(ToMaybe(layerClip)); // Watch out for FrameMetrics copies in profiles aEntry->mLayer->SetFrameMetrics(metricsArray); } @@ -4342,6 +4326,15 @@ InvalidateVisibleBoundsChangesForScrolledLayer(PaintedLayer* aLayer) } } +static inline const Maybe& +GetStationaryClipInContainer(Layer* aLayer) +{ + if (size_t metricsCount = aLayer->GetFrameMetricsCount()) { + return aLayer->GetFrameMetrics(metricsCount - 1).GetClipRect(); + } + return aLayer->GetClipRect(); +} + void ContainerState::PostprocessRetainedLayers(nsIntRegion* aOpaqueRegionForContainer) { @@ -4368,7 +4361,7 @@ ContainerState::PostprocessRetainedLayers(nsIntRegion* aOpaqueRegionForContainer if (hideAll) { e->mVisibleRegion.SetEmpty(); } else if (!e->mLayer->IsScrollbarContainer()) { - const Maybe& clipRect = e->mLayer->GetClipRect(); + const Maybe& clipRect = GetStationaryClipInContainer(e->mLayer); if (clipRect && opaqueRegionForContainer >= 0 && opaqueRegions[opaqueRegionForContainer].mOpaqueRegion.Contains(ParentLayerIntRect::ToUntyped(*clipRect))) { e->mVisibleRegion.SetEmpty(); @@ -4408,7 +4401,7 @@ ContainerState::PostprocessRetainedLayers(nsIntRegion* aOpaqueRegionForContainer } nsIntRegion clippedOpaque = e->mOpaqueRegion; - const Maybe& clipRect = e->mLayer->GetClipRect(); + Maybe clipRect = e->mLayer->GetCombinedClipRect(); if (clipRect) { clippedOpaque.AndWith(ParentLayerIntRect::ToUntyped(*clipRect)); } @@ -4597,7 +4590,9 @@ ChooseScaleAndSetTransform(FrameLayerBuilder* aLayerBuilder, if (aContainerFrame->GetContent() && nsLayoutUtils::HasAnimationsForCompositor( aContainerFrame->GetContent(), eCSSProperty_transform)) { - scale = nsLayoutUtils::ComputeSuitableScaleForAnimation(aContainerFrame->GetContent()); + scale = nsLayoutUtils::ComputeSuitableScaleForAnimation( + aContainerFrame->GetContent(), aVisibleRect.Size(), + aContainerFrame->PresContext()->GetVisibleArea().Size()); } else { // Scale factors are normalized to a power of 2 to reduce the number of resolution changes scale = RoundToFloatPrecision(ThebesMatrix(transform2d).ScaleFactors(true)); diff --git a/layout/base/nsDisplayList.cpp b/layout/base/nsDisplayList.cpp index e87bdcbe94..bb3d17221b 100644 --- a/layout/base/nsDisplayList.cpp +++ b/layout/base/nsDisplayList.cpp @@ -1558,7 +1558,7 @@ already_AddRefed nsDisplayList::PaintRoot(nsDisplayListBuilder* aB presShell->GetRootScrollFrame(), content, aBuilder->FindReferenceFrameFor(frame), - root, FrameMetrics::NULL_SCROLL_ID, viewport, + root, FrameMetrics::NULL_SCROLL_ID, viewport, Nothing(), isRoot, containerParameters)); } @@ -4139,7 +4139,7 @@ nsDisplaySubDocument::ComputeFrameMetrics(Layer* aLayer, return MakeUnique( nsLayoutUtils::ComputeFrameMetrics( mFrame, rootScrollFrame, rootScrollFrame->GetContent(), ReferenceFrame(), - aLayer, mScrollParentId, viewport, + aLayer, mScrollParentId, viewport, Nothing(), isRootContentDocument, params)); } @@ -4411,7 +4411,7 @@ nsDisplayScrollInfoLayer::ComputeFrameMetrics(Layer* aLayer, nsLayoutUtils::ComputeFrameMetrics( mScrolledFrame, mScrollFrame, mScrollFrame->GetContent(), ReferenceFrame(), aLayer, - mScrollParentId, viewport, false, params))); + mScrollParentId, viewport, Nothing(), false, params))); } diff --git a/layout/base/nsLayoutUtils.cpp b/layout/base/nsLayoutUtils.cpp index 3c85487766..98b4b45261 100644 --- a/layout/base/nsLayoutUtils.cpp +++ b/layout/base/nsLayoutUtils.cpp @@ -480,18 +480,16 @@ GetScaleForValue(const StyleAnimationValue& aValue, nsIFrame* aFrame) } static float -GetSuitableScale(float aMaxScale, float aMinScale) +GetSuitableScale(float aMaxScale, float aMinScale, + nscoord aVisibleDimension, nscoord aDisplayDimension) { - // If the minimum scale >= 1.0f, use it; if the maximum <= 1.0f, use it; - // otherwise use 1.0f. - if (aMinScale >= 1.0f) { - return aMinScale; - } - else if (aMaxScale <= 1.0f) { - return aMaxScale; - } - - return 1.0f; + float displayVisibleRatio = float(aDisplayDimension) / + float(aVisibleDimension); + // We want to rasterize based on the largest scale used during the + // transform animation, unless that would make us rasterize something + // larger than the screen. But we never want to go smaller than the + // minimum scale over the animation. + return std::max(std::min(aMaxScale, displayVisibleRatio), aMinScale); } static void @@ -530,7 +528,9 @@ GetMinAndMaxScaleForAnimationProperty(nsIContent* aContent, } gfxSize -nsLayoutUtils::ComputeSuitableScaleForAnimation(nsIContent* aContent) +nsLayoutUtils::ComputeSuitableScaleForAnimation(nsIContent* aContent, + const nsSize& aVisibleSize, + const nsSize& aDisplaySize) { gfxSize maxScale(std::numeric_limits::min(), std::numeric_limits::min()); @@ -555,11 +555,13 @@ nsLayoutUtils::ComputeSuitableScaleForAnimation(nsIContent* aContent) if (maxScale.width == std::numeric_limits::min()) { // We didn't encounter a transform - maxScale = minScale = gfxSize(1.0, 1.0); + return gfxSize(1.0, 1.0); } - return gfxSize(GetSuitableScale(maxScale.width, minScale.width), - GetSuitableScale(maxScale.height, minScale.height)); + return gfxSize(GetSuitableScale(maxScale.width, minScale.width, + aVisibleSize.width, aDisplaySize.width), + GetSuitableScale(maxScale.height, minScale.height, + aVisibleSize.height, aDisplaySize.height)); } bool @@ -2847,10 +2849,10 @@ CalculateFrameMetricsForDisplayPort(nsIScrollableFrame* aScrollFrame) { } else { compBoundsScale = cumulativeResolution * layerToParentLayerScale; } - metrics.mCompositionBounds - = LayoutDeviceRect::FromAppUnits(nsRect(nsPoint(0, 0), compositionSize), + metrics.SetCompositionBounds( + LayoutDeviceRect::FromAppUnits(nsRect(nsPoint(0, 0), compositionSize), presContext->AppUnitsPerDevPixel()) - * compBoundsScale; + * compBoundsScale); metrics.SetRootCompositionSize( nsLayoutUtils::CalculateRootCompositionSize(frame, false, metrics)); @@ -3054,6 +3056,19 @@ nsLayoutUtils::PaintFrame(nsRenderingContext* aRenderingContext, nsIFrame* aFram } } } +#if !defined(MOZ_WIDGET_ANDROID) || defined(MOZ_ANDROID_APZ) + else if (presShell->GetDocument() && presShell->GetDocument()->IsRootDisplayDocument() + && !presShell->GetRootScrollFrame()) { + // In cases where the root document is a XUL document, we want to take + // the ViewID from the root element, as that will be the ViewID of the + // root APZC in the tree. Skip doing this in cases where we know + // nsGfxScrollFrame::BuilDisplayList will do it instead. + if (dom::Element* element = presShell->GetDocument()->GetDocumentElement()) { + id = nsLayoutUtils::FindOrCreateIDFor(element); + } + } +#endif + nsDisplayListBuilder::AutoCurrentScrollParentIdSetter idSetter(&builder, id); PROFILER_LABEL("nsLayoutUtils", "PaintFrame::BuildDisplayList", @@ -4069,10 +4084,10 @@ GetPercentBSize(const nsStyleCoord& aStyle, f = f->GetParent(); } - bool isVertical = f->GetWritingMode().IsVertical(); + WritingMode wm = f->GetWritingMode(); const nsStylePosition *pos = f->StylePosition(); - const nsStyleCoord bSizeCoord = isVertical ? pos->mWidth : pos->mHeight; + const nsStyleCoord& bSizeCoord = pos->BSize(wm); nscoord h; if (!GetAbsoluteCoord(bSizeCoord, h) && !GetPercentBSize(bSizeCoord, f, h)) { @@ -4093,16 +4108,15 @@ GetPercentBSize(const nsStyleCoord& aStyle, NS_ASSERTION(bSizeCoord.GetUnit() == eStyleUnit_Auto, "Unexpected block-size unit for viewport or canvas or page-content"); // For the viewport, canvas, and page-content kids, the percentage - // basis is just the parent height. - h = isVertical ? f->GetSize().width : f->GetSize().height; + // basis is just the parent block-size. + h = f->BSize(wm); if (h == NS_UNCONSTRAINEDSIZE) { // We don't have a percentage basis after all return false; } } - const nsStyleCoord& maxBSizeCoord = - isVertical ? pos->mMaxWidth : pos->mMaxHeight; + const nsStyleCoord& maxBSizeCoord = pos->MaxBSize(wm); nscoord maxh; if (GetAbsoluteCoord(maxBSizeCoord, maxh) || @@ -4115,8 +4129,7 @@ GetPercentBSize(const nsStyleCoord& aStyle, "unknown max block-size unit"); } - const nsStyleCoord& minBSizeCoord = - isVertical ? pos->mMinWidth : pos->mMinHeight; + const nsStyleCoord& minBSizeCoord = pos->MinBSize(wm); nscoord minh; if (GetAbsoluteCoord(minBSizeCoord, minh) || @@ -4267,12 +4280,9 @@ nsLayoutUtils::IntrinsicForContainer(nsRenderingContext *aRenderingContext, const nsStylePosition *stylePos = aFrame->StylePosition(); uint8_t boxSizing = stylePos->mBoxSizing; - const nsStyleCoord &styleISize = - isVertical ? stylePos->mHeight : stylePos->mWidth; - const nsStyleCoord &styleMinISize = - isVertical ? stylePos->mMinHeight : stylePos->mMinWidth; - const nsStyleCoord &styleMaxISize = - isVertical ? stylePos->mMaxHeight : stylePos->mMaxWidth; + const nsStyleCoord& styleISize = stylePos->ISize(wm); + const nsStyleCoord& styleMinISize = stylePos->MinISize(wm); + const nsStyleCoord& styleMaxISize = stylePos->MaxISize(wm); // We build up two values starting with the content box, and then // adding padding, border and margin. The result is normally @@ -4351,12 +4361,9 @@ nsLayoutUtils::IntrinsicForContainer(nsRenderingContext *aRenderingContext, // since that's what it means in all cases except for on flex items -- and // even there, we're supposed to ignore it (i.e. treat it as 0) until the // flex container explicitly considers it. - const nsStyleCoord &styleBSize = - isVertical ? stylePos->mWidth : stylePos->mHeight; - const nsStyleCoord &styleMinBSize = - isVertical ? stylePos->mMinWidth : stylePos->mMinHeight; - const nsStyleCoord &styleMaxBSize = - isVertical ? stylePos->mMaxWidth : stylePos->mMaxHeight; + const nsStyleCoord& styleBSize = stylePos->BSize(wm); + const nsStyleCoord& styleMinBSize = stylePos->MinBSize(wm); + const nsStyleCoord& styleMaxBSize = stylePos->MaxBSize(wm); if (styleBSize.GetUnit() != eStyleUnit_Auto || !(styleMinBSize.GetUnit() == eStyleUnit_Auto || @@ -4372,23 +4379,16 @@ nsLayoutUtils::IntrinsicForContainer(nsRenderingContext *aRenderingContext, case NS_STYLE_BOX_SIZING_BORDER: { const nsStyleBorder* styleBorder = aFrame->StyleBorder(); bSizeTakenByBoxSizing += - isVertical ? styleBorder->GetComputedBorder().LeftRight() - : styleBorder->GetComputedBorder().TopBottom(); + wm.IsVertical() ? styleBorder->GetComputedBorder().LeftRight() + : styleBorder->GetComputedBorder().TopBottom(); // fall through } case NS_STYLE_BOX_SIZING_PADDING: { if (!(aFlags & IGNORE_PADDING)) { - const nsStylePadding* stylePadding = aFrame->StylePadding(); - const nsStyleCoord& paddingStart = - isVertical ? wm.IsVerticalRL() - ? stylePadding->mPadding.GetRight() - : stylePadding->mPadding.GetLeft() - : stylePadding->mPadding.GetTop(); - const nsStyleCoord& paddingEnd = - isVertical ? wm.IsVerticalRL() - ? stylePadding->mPadding.GetLeft() - : stylePadding->mPadding.GetRight() - : stylePadding->mPadding.GetBottom(); + const nsStyleSides& stylePadding = + aFrame->StylePadding()->mPadding; + const nsStyleCoord& paddingStart = stylePadding.GetBStart(wm); + const nsStyleCoord& paddingEnd = stylePadding.GetBEnd(wm); nscoord pad; if (GetAbsoluteCoord(paddingStart, pad) || GetPercentBSize(paddingStart, aFrame, pad)) { @@ -4723,10 +4723,8 @@ nsLayoutUtils::ComputeSizeWithIntrinsicDimensions(WritingMode aWM, // If we're a flex item, we'll compute our size a bit differently. bool isVertical = aWM.IsVertical(); - const nsStyleCoord* inlineStyleCoord = - isVertical ? &stylePos->mHeight : &stylePos->mWidth; - const nsStyleCoord* blockStyleCoord = - isVertical ? &stylePos->mWidth : &stylePos->mHeight; + const nsStyleCoord* inlineStyleCoord = &stylePos->ISize(aWM); + const nsStyleCoord* blockStyleCoord = &stylePos->BSize(aWM); bool isFlexItem = aFrame->IsFlexItem(); bool isInlineFlexItem = false; @@ -4819,8 +4817,7 @@ nsLayoutUtils::ComputeSizeWithIntrinsicDimensions(WritingMode aWM, boxSizingToMarginEdgeISize, *inlineStyleCoord); } - const nsStyleCoord& maxISizeCoord = - isVertical ? stylePos->mMaxHeight : stylePos->mMaxWidth; + const nsStyleCoord& maxISizeCoord = stylePos->MaxISize(aWM); if (maxISizeCoord.GetUnit() != eStyleUnit_None && !(isFlexItem && isInlineFlexItem)) { @@ -4835,8 +4832,7 @@ nsLayoutUtils::ComputeSizeWithIntrinsicDimensions(WritingMode aWM, // flex container's main-axis. (Those properties get applied later in // the flexbox algorithm.) - const nsStyleCoord& minISizeCoord = - isVertical ? stylePos->mMinHeight : stylePos->mMinWidth; + const nsStyleCoord& minISizeCoord = stylePos->MinISize(aWM); if (minISizeCoord.GetUnit() != eStyleUnit_Auto && !(isFlexItem && isInlineFlexItem)) { @@ -4858,8 +4854,7 @@ nsLayoutUtils::ComputeSizeWithIntrinsicDimensions(WritingMode aWM, *blockStyleCoord); } - const nsStyleCoord& maxBSizeCoord = - isVertical ? stylePos->mMaxWidth : stylePos->mMaxHeight; + const nsStyleCoord& maxBSizeCoord = stylePos->MaxBSize(aWM); if (!IsAutoBSize(maxBSizeCoord, aCBSize.BSize(aWM)) && !(isFlexItem && !isInlineFlexItem)) { @@ -4869,8 +4864,7 @@ nsLayoutUtils::ComputeSizeWithIntrinsicDimensions(WritingMode aWM, maxBSize = nscoord_MAX; } - const nsStyleCoord& minBSizeCoord = - isVertical ? stylePos->mMinWidth : stylePos->mMinHeight; + const nsStyleCoord& minBSizeCoord = stylePos->MinBSize(aWM); if (!IsAutoBSize(minBSizeCoord, aCBSize.BSize(aWM)) && !(isFlexItem && !isInlineFlexItem)) { @@ -7604,71 +7598,125 @@ nsLayoutUtils::GetContentViewerSize(nsPresContext* aPresContext, return true; } +static bool +UpdateCompositionBoundsForRCDRSF(ParentLayerRect& aCompBounds, + nsPresContext* aPresContext, + const nsRect& aFrameBounds, + bool aScaleContentViewerSize, + const LayoutDeviceToLayerScale2D& aCumulativeResolution) +{ + nsIFrame* rootFrame = aPresContext->PresShell()->GetRootFrame(); + if (!rootFrame) { + return false; + } + + // On Android, we need to do things a bit differently to get things + // right (see bug 983208, bug 988882). We use the bounds of the nearest + // widget, but clamp the height to the frame bounds height. This clamping + // is done to get correct results for a page where the page is sized to + // the screen and thus the dynamic toolbar never disappears. In such a + // case, we want the composition bounds to exclude the toolbar height, + // but the widget bounds includes it. We don't currently have a good way + // of knowing about the toolbar height, but clamping to the frame bounds + // height gives the correct answer in the cases we care about. +#ifdef MOZ_WIDGET_ANDROID + nsIWidget* widget = rootFrame->GetNearestWidget(); +#else + nsView* view = rootFrame->GetView(); + nsIWidget* widget = view ? view->GetWidget() : nullptr; +#endif + + if (widget) { + nsIntRect widgetBounds; + widget->GetBounds(widgetBounds); + widgetBounds.MoveTo(0, 0); + aCompBounds = ParentLayerRect(ViewAs(widgetBounds)); +#ifdef MOZ_WIDGET_ANDROID + ParentLayerRect frameBounds = + LayoutDeviceRect::FromAppUnits(aFrameBounds, aPresContext->AppUnitsPerDevPixel()) + * aCumulativeResolution + * LayerToParentLayerScale(1.0); + if (frameBounds.height < aCompBounds.height) { + aCompBounds.height = frameBounds.height; + } +#endif + return true; + } + + LayoutDeviceIntSize contentSize; + if (nsLayoutUtils::GetContentViewerSize(aPresContext, contentSize)) { + LayoutDeviceToParentLayerScale scale; + if (aScaleContentViewerSize && aPresContext->GetParentPresContext()) { + scale = LayoutDeviceToParentLayerScale( + aPresContext->GetParentPresContext()->PresShell()->GetCumulativeResolution()); + } + aCompBounds.SizeTo(contentSize * scale); + return true; + } + + return false; +} + +/* static */ nsMargin +nsLayoutUtils::ScrollbarAreaToExcludeFromCompositionBoundsFor(nsIFrame* aScrollFrame) +{ + if (!aScrollFrame || !aScrollFrame->GetScrollTargetFrame()) { + return nsMargin(); + } + nsPresContext* presContext = aScrollFrame->PresContext(); + nsIPresShell* presShell = presContext->GetPresShell(); + if (!presShell) { + return nsMargin(); + } + bool isRootScrollFrame = aScrollFrame == presShell->GetRootScrollFrame(); + bool isRootContentDocRootScrollFrame = isRootScrollFrame + && presContext->IsRootContentDocument(); + if (!isRootContentDocRootScrollFrame) { + return nsMargin(); + } + if (LookAndFeel::GetInt(LookAndFeel::eIntID_UseOverlayScrollbars)) { + return nsMargin(); + } + nsIScrollableFrame* scrollableFrame = aScrollFrame->GetScrollTargetFrame(); + if (!scrollableFrame) { + return nsMargin(); + } + return scrollableFrame->GetActualScrollbarSizes(); +} + /* static */ nsSize -nsLayoutUtils::CalculateCompositionSizeForFrame(nsIFrame* aFrame) +nsLayoutUtils::CalculateCompositionSizeForFrame(nsIFrame* aFrame, bool aSubtractScrollbars) { // If we have a scrollable frame, restrict the composition bounds to its // scroll port. The scroll port excludes the frame borders and the scroll // bars, which we don't want to be part of the composition bounds. nsIScrollableFrame* scrollableFrame = aFrame->GetScrollTargetFrame(); - nsSize size = scrollableFrame ? scrollableFrame->GetScrollPortRect().Size() : aFrame->GetSize(); + nsRect rect = scrollableFrame ? scrollableFrame->GetScrollPortRect() : aFrame->GetRect(); + nsSize size = rect.Size(); nsPresContext* presContext = aFrame->PresContext(); nsIPresShell* presShell = presContext->PresShell(); - // See the comments in the code that calculates the root - // composition bounds in ComputeFrameMetrics. - // TODO: Reuse that code here. bool isRootContentDocRootScrollFrame = presContext->IsRootContentDocument() && aFrame == presShell->GetRootScrollFrame(); if (isRootContentDocRootScrollFrame) { - if (nsIFrame* rootFrame = presShell->GetRootFrame()) { -#ifdef MOZ_WIDGET_ANDROID - nsIWidget* widget = rootFrame->GetNearestWidget(); -#else - nsView* view = rootFrame->GetView(); - nsIWidget* widget = view ? view->GetWidget() : nullptr; -#endif + ParentLayerRect compBounds; + LayoutDeviceToLayerScale2D cumulativeResolution( + presShell->GetCumulativeResolution() + * nsLayoutUtils::GetTransformToAncestorScale(aFrame)); + if (UpdateCompositionBoundsForRCDRSF(compBounds, presContext, rect, + false, cumulativeResolution)) { int32_t auPerDevPixel = presContext->AppUnitsPerDevPixel(); - if (widget) { - nsIntRect widgetBounds; - widget->GetBounds(widgetBounds); - size = nsSize(widgetBounds.width * auPerDevPixel, - widgetBounds.height * auPerDevPixel); -#ifdef MOZ_WIDGET_ANDROID - nsRect frameRect = aFrame->GetRect(); - float cumulativeResolution = presShell->GetCumulativeResolution(); - LayoutDeviceToParentLayerScale layoutToParentLayerScale = - // The ScreenToParentLayerScale should be mTransformScale which is - // not calculated yet, but we don't yet handle CSS transforms, so we - // assume it's 1 here. - LayoutDeviceToLayerScale(cumulativeResolution) * - LayerToScreenScale(1.0) * ScreenToParentLayerScale(1.0); - ParentLayerRect frameRectPixels = - LayoutDeviceRect::FromAppUnits(frameRect, auPerDevPixel) - * layoutToParentLayerScale; - if (frameRectPixels.height < ParentLayerRect(ViewAs(widgetBounds)).height) { - // Our return value is in appunits of the parent, so we need to - // include the resolution. - size.height = - NSToCoordRound(frameRect.height * cumulativeResolution); - } -#endif - } else { - LayoutDeviceIntSize contentSize; - if (nsLayoutUtils::GetContentViewerSize(presContext, contentSize)) { - size = LayoutDevicePixel::ToAppUnits(contentSize, auPerDevPixel); - } - } - - if (scrollableFrame && !LookAndFeel::GetInt(LookAndFeel::eIntID_UseOverlayScrollbars)) { - nsMargin margins = scrollableFrame->GetActualScrollbarSizes(); - size.width -= margins.LeftRight(); - size.height -= margins.TopBottom(); - } + size = nsSize(compBounds.width * auPerDevPixel, compBounds.height * auPerDevPixel); } } + if (aSubtractScrollbars) { + nsMargin margins = ScrollbarAreaToExcludeFromCompositionBoundsFor(aFrame); + size.width -= margins.LeftRight(); + size.height -= margins.TopBottom(); + } + return size; } @@ -7679,7 +7727,7 @@ nsLayoutUtils::CalculateRootCompositionSize(nsIFrame* aFrame, { if (aIsRootContentDocRootScrollFrame) { - return ViewAs(aMetrics.mCompositionBounds.Size(), + return ViewAs(aMetrics.GetCompositionBounds().Size(), PixelCastJustification::ParentLayerToLayerForRootComposition) * LayerToScreenScale(1.0f) / aMetrics.DisplayportPixelsPerCSSPixel(); @@ -7693,44 +7741,22 @@ nsLayoutUtils::CalculateRootCompositionSize(nsIFrame* aFrame, } nsIPresShell* rootPresShell = nullptr; if (rootPresContext) { - // See the comments in the code that calculates the root - // composition bounds in RecordFrameMetrics. - // TODO: Reuse that code here. - nsIPresShell* rootPresShell = rootPresContext->PresShell(); + rootPresShell = rootPresContext->PresShell(); if (nsIFrame* rootFrame = rootPresShell->GetRootFrame()) { LayoutDeviceToLayerScale2D cumulativeResolution( rootPresShell->GetCumulativeResolution() * nsLayoutUtils::GetTransformToAncestorScale(rootFrame)); - int32_t rootAUPerDevPixel = rootPresContext->AppUnitsPerDevPixel(); - LayerSize frameSize = - (LayoutDeviceRect::FromAppUnits(rootFrame->GetRect(), rootAUPerDevPixel) - * cumulativeResolution).Size(); - rootCompositionSize = frameSize * LayerToScreenScale(1.0f); -#ifdef MOZ_WIDGET_ANDROID - nsIWidget* widget = rootFrame->GetNearestWidget(); -#else - nsView* view = rootFrame->GetView(); - nsIWidget* widget = view ? view->GetWidget() : nullptr; -#endif - if (widget) { - nsIntRect widgetBounds; - widget->GetBounds(widgetBounds); - rootCompositionSize = ScreenSize(ViewAs(widgetBounds.Size())); -#ifdef MOZ_WIDGET_ANDROID - if (frameSize.height < rootCompositionSize.height) { - rootCompositionSize.height = frameSize.height; - } -#endif + ParentLayerRect compBounds; + if (UpdateCompositionBoundsForRCDRSF(compBounds, rootPresContext, + rootFrame->GetRect(), true, cumulativeResolution)) { + rootCompositionSize = ViewAs(compBounds.Size(), + PixelCastJustification::ScreenIsParentLayerForRoot); } else { - LayoutDeviceIntSize contentSize; - if (nsLayoutUtils::GetContentViewerSize(rootPresContext, contentSize)) { - LayoutDeviceToLayerScale scale; - if (rootPresContext->GetParentPresContext()) { - float res = rootPresContext->GetParentPresContext()->PresShell()->GetCumulativeResolution(); - scale = LayoutDeviceToLayerScale(res); - } - rootCompositionSize = contentSize * scale * LayerToScreenScale(1.0f); - } + int32_t rootAUPerDevPixel = rootPresContext->AppUnitsPerDevPixel(); + LayerSize frameSize = + (LayoutDeviceRect::FromAppUnits(rootFrame->GetRect(), rootAUPerDevPixel) + * cumulativeResolution).Size(); + rootCompositionSize = frameSize * LayerToScreenScale(1.0f); } } } else { @@ -7742,16 +7768,11 @@ nsLayoutUtils::CalculateRootCompositionSize(nsIFrame* aFrame, // Adjust composition size for the size of scroll bars. nsIFrame* rootRootScrollFrame = rootPresShell ? rootPresShell->GetRootScrollFrame() : nullptr; - nsIScrollableFrame* rootScrollableFrame = nullptr; - if (rootRootScrollFrame) { - rootScrollableFrame = rootRootScrollFrame->GetScrollTargetFrame(); - } - if (rootScrollableFrame && !LookAndFeel::GetInt(LookAndFeel::eIntID_UseOverlayScrollbars)) { - CSSMargin margins = CSSMargin::FromAppUnits(rootScrollableFrame->GetActualScrollbarSizes()); - // Scrollbars are not subject to scaling, so CSS pixels = layer pixels for them. - rootCompositionSize.width -= margins.LeftRight(); - rootCompositionSize.height -= margins.TopBottom(); - } + nsMargin scrollbarMargins = ScrollbarAreaToExcludeFromCompositionBoundsFor(rootRootScrollFrame); + CSSMargin margins = CSSMargin::FromAppUnits(scrollbarMargins); + // Scrollbars are not subject to scaling, so CSS pixels = layer pixels for them. + rootCompositionSize.width -= margins.LeftRight(); + rootCompositionSize.height -= margins.TopBottom(); return rootCompositionSize / aMetrics.DisplayportPixelsPerCSSPixel(); } @@ -8143,6 +8164,7 @@ nsLayoutUtils::ComputeFrameMetrics(nsIFrame* aForFrame, Layer* aLayer, ViewID aScrollParentId, const nsRect& aViewport, + const Maybe& aClipRect, bool aIsRoot, const ContainerLayerParameters& aContainerParameters) { @@ -8215,6 +8237,10 @@ nsLayoutUtils::ComputeFrameMetrics(nsIFrame* aForFrame, } } + // If we have the scrollparent being the same as the scroll id, the + // compositor-side code could get into an infinite loop while building the + // overscroll handoff chain. + MOZ_ASSERT(aScrollParentId == FrameMetrics::NULL_SCROLL_ID || scrollId != aScrollParentId); metrics.SetScrollId(scrollId); metrics.SetIsRoot(aIsRoot); metrics.SetScrollParentId(aScrollParentId); @@ -8265,7 +8291,13 @@ nsLayoutUtils::ComputeFrameMetrics(nsIFrame* aForFrame, ParentLayerRect frameBounds = LayoutDeviceRect::FromAppUnits(compositionBounds, auPerDevPixel) * metrics.GetCumulativeResolution() * layerToParentLayerScale; - metrics.mCompositionBounds = frameBounds; + + if (aClipRect) { + ParentLayerRect rect = LayoutDeviceRect::FromAppUnits(*aClipRect, auPerDevPixel) + * metrics.GetCumulativeResolution() + * layerToParentLayerScale; + metrics.SetClipRect(Some(RoundedToInt(rect))); + } // For the root scroll frame of the root content document (RCD-RSF), the above calculation // will yield the size of the viewport frame as the composition bounds, which @@ -8279,56 +8311,17 @@ nsLayoutUtils::ComputeFrameMetrics(nsIFrame* aForFrame, bool isRootContentDocRootScrollFrame = isRootScrollFrame && presContext->IsRootContentDocument(); if (isRootContentDocRootScrollFrame) { - if (nsIFrame* rootFrame = presShell->GetRootFrame()) { - // On Android, we need to do things a bit differently to get things - // right (see bug 983208, bug 988882). We use the bounds of the nearest - // widget, but clamp the height to the frame bounds height. This clamping - // is done to get correct results for a page where the page is sized to - // the screen and thus the dynamic toolbar never disappears. In such a - // case, we want the composition bounds to exclude the toolbar height, - // but the widget bounds includes it. We don't currently have a good way - // of knowing about the toolbar height, but clamping to the frame bounds - // height gives the correct answer in the cases we care about. -#ifdef MOZ_WIDGET_ANDROID - nsIWidget* widget = rootFrame->GetNearestWidget(); -#else - nsView* view = rootFrame->GetView(); - nsIWidget* widget = view ? view->GetWidget() : nullptr; -#endif - if (widget) { - nsIntRect widgetBounds; - widget->GetBounds(widgetBounds); - widgetBounds.MoveTo(0,0); - metrics.mCompositionBounds = ParentLayerRect(ViewAs(widgetBounds)); -#ifdef MOZ_WIDGET_ANDROID - if (frameBounds.height < metrics.mCompositionBounds.height) { - metrics.mCompositionBounds.height = frameBounds.height; - } -#endif - } else { - LayoutDeviceIntSize contentSize; - if (nsLayoutUtils::GetContentViewerSize(presContext, contentSize)) { - LayoutDeviceToParentLayerScale scale; - if (presContext->GetParentPresContext()) { - float res = presContext->GetParentPresContext()->PresShell()->GetCumulativeResolution(); - scale = LayoutDeviceToParentLayerScale(res); - } - metrics.mCompositionBounds.SizeTo(contentSize * scale); - } - } - - // Exclude any non-overlay scroll bars from the composition bounds. - // This is only done for the RCD-RSF case, because otherwise the scroll - // port size is used and that already excludes the scroll bars. - if (scrollableFrame && !LookAndFeel::GetInt(LookAndFeel::eIntID_UseOverlayScrollbars)) { - nsMargin sizes = scrollableFrame->GetActualScrollbarSizes(); - // Scrollbars are not subject to scaling, so CSS pixels = layer pixels for them. - ParentLayerMargin boundMargins = CSSMargin::FromAppUnits(sizes) * CSSToParentLayerScale(1.0f); - metrics.mCompositionBounds.Deflate(boundMargins); - } - } + UpdateCompositionBoundsForRCDRSF(frameBounds, presContext, + compositionBounds, true, metrics.GetCumulativeResolution()); } + nsMargin sizes = ScrollbarAreaToExcludeFromCompositionBoundsFor(aScrollFrame); + // Scrollbars are not subject to scaling, so CSS pixels = layer pixels for them. + ParentLayerMargin boundMargins = CSSMargin::FromAppUnits(sizes) * CSSToParentLayerScale(1.0f); + frameBounds.Deflate(boundMargins); + + metrics.SetCompositionBounds(frameBounds); + metrics.SetRootCompositionSize( nsLayoutUtils::CalculateRootCompositionSize(aScrollFrame ? aScrollFrame : aForFrame, isRootContentDocRootScrollFrame, metrics)); diff --git a/layout/base/nsLayoutUtils.h b/layout/base/nsLayoutUtils.h index a486600e4d..2f479aa899 100644 --- a/layout/base/nsLayoutUtils.h +++ b/layout/base/nsLayoutUtils.h @@ -8,6 +8,7 @@ #include "mozilla/MemoryReporting.h" #include "mozilla/ArrayUtils.h" +#include "mozilla/Maybe.h" #include "nsBoundingMetrics.h" #include "nsChangeHint.h" #include "nsAutoPtr.h" @@ -2168,13 +2169,18 @@ public: /** * Find a suitable scale for an element (aContent) over the course of any - * animations and transitions on the element. + * animations and transitions of the CSS transform property on the + * element that run on the compositor thread. * It will check the maximum and minimum scale during the animations and * transitions and return a suitable value for performance and quality. - * Will return scale(1,1) if there is no animated scaling. - * Always return positive value. + * Will return scale(1,1) if there are no such animations. + * Always returns a positive value. + * @param aVisibleSize is the size of the area we want to paint + * @param aDisplaySize is the size of the display area of the pres context */ - static gfxSize ComputeSuitableScaleForAnimation(nsIContent* aContent); + static gfxSize ComputeSuitableScaleForAnimation(nsIContent* aContent, + const nsSize& aVisibleSize, + const nsSize& aDisplaySize); /** * Checks if we should forcibly use nearest pixel filtering for the @@ -2486,7 +2492,7 @@ public: * are likely to need special-case handling of the RCD-RSF. */ static nsSize - CalculateCompositionSizeForFrame(nsIFrame* aFrame); + CalculateCompositionSizeForFrame(nsIFrame* aFrame, bool aSubtractScrollbars = true); /** * Calculate the composition size for the root scroll frame of the root @@ -2635,9 +2641,23 @@ public: Layer* aLayer, ViewID aScrollParentId, const nsRect& aViewport, + const mozilla::Maybe& aClipRect, bool aIsRoot, const ContainerLayerParameters& aContainerParameters); + /** + * If the given scroll frame needs an area excluded from its composition + * bounds due to scrollbars, return that area, otherwise return an empty + * margin. + * There is no need to exclude scrollbars in the following cases: + * - If the scroll frame is not the RCD-RSF; in that case, the composition + * bounds is calculated based on the scroll port which already excludes + * the scrollbar area. + * - If the scrollbars are overlay, since then they are drawn on top of the + * scrollable content. + */ + static nsMargin ScrollbarAreaToExcludeFromCompositionBoundsFor(nsIFrame* aScrollFrame); + private: static uint32_t sFontSizeInflationEmPerLine; static uint32_t sFontSizeInflationMinTwips; diff --git a/layout/build/nsLayoutStatics.cpp b/layout/build/nsLayoutStatics.cpp index 880d48f3f1..76a0ac93e8 100644 --- a/layout/build/nsLayoutStatics.cpp +++ b/layout/build/nsLayoutStatics.cpp @@ -135,6 +135,7 @@ using namespace mozilla::system; #include "CameraPreferences.h" #include "TouchManager.h" #include "MediaDecoder.h" +#include "mozilla/layers/CompositorLRU.h" using namespace mozilla; using namespace mozilla::net; @@ -311,6 +312,8 @@ nsLayoutStatics::Initialize() PromiseDebugging::Init(); + layers::CompositorLRU::Init(); + return NS_OK; } diff --git a/layout/generic/WritingModes.h b/layout/generic/WritingModes.h index c4d817693d..d88abb522f 100644 --- a/layout/generic/WritingModes.h +++ b/layout/generic/WritingModes.h @@ -36,22 +36,6 @@ enum PhysicalAxis { eAxisHorizontal = 0x1 }; -// Logical axis, edge and side constants for use in various places. -enum LogicalAxis { - eLogicalAxisBlock = 0x0, - eLogicalAxisInline = 0x1 -}; -enum LogicalEdge { - eLogicalEdgeStart = 0x0, - eLogicalEdgeEnd = 0x1 -}; -enum LogicalSide { - eLogicalSideBStart = (eLogicalAxisBlock << 1) | eLogicalEdgeStart, // 0x0 - eLogicalSideBEnd = (eLogicalAxisBlock << 1) | eLogicalEdgeEnd, // 0x1 - eLogicalSideIStart = (eLogicalAxisInline << 1) | eLogicalEdgeStart, // 0x2 - eLogicalSideIEnd = (eLogicalAxisInline << 1) | eLogicalEdgeEnd // 0x3 -}; - inline bool IsInline(LogicalSide aSide) { return aSide & 0x2; } inline bool IsBlock(LogicalSide aSide) { return !IsInline(aSide); } inline bool IsEnd(LogicalSide aSide) { return aSide & 0x1; } @@ -1802,4 +1786,153 @@ private: } // namespace mozilla +// Definitions of inline methods for nsStyleSides, declared in nsStyleCoord.h +// but not defined there because they need WritingMode. +inline nsStyleUnit nsStyleSides::GetUnit(mozilla::WritingMode aWM, + mozilla::LogicalSide aSide) const +{ + return GetUnit(aWM.PhysicalSide(aSide)); +} + +inline nsStyleUnit nsStyleSides::GetIStartUnit(mozilla::WritingMode aWM) const +{ + return GetUnit(aWM, mozilla::eLogicalSideIStart); +} + +inline nsStyleUnit nsStyleSides::GetBStartUnit(mozilla::WritingMode aWM) const +{ + return GetUnit(aWM, mozilla::eLogicalSideBStart); +} + +inline nsStyleUnit nsStyleSides::GetIEndUnit(mozilla::WritingMode aWM) const +{ + return GetUnit(aWM, mozilla::eLogicalSideIEnd); +} + +inline nsStyleUnit nsStyleSides::GetBEndUnit(mozilla::WritingMode aWM) const +{ + return GetUnit(aWM, mozilla::eLogicalSideBEnd); +} + +inline nsStyleCoord nsStyleSides::Get(mozilla::WritingMode aWM, + mozilla::LogicalSide aSide) const +{ + return Get(aWM.PhysicalSide(aSide)); +} + +inline nsStyleCoord nsStyleSides::GetIStart(mozilla::WritingMode aWM) const +{ + return Get(aWM, mozilla::eLogicalSideIStart); +} + +inline nsStyleCoord nsStyleSides::GetBStart(mozilla::WritingMode aWM) const +{ + return Get(aWM, mozilla::eLogicalSideBStart); +} + +inline nsStyleCoord nsStyleSides::GetIEnd(mozilla::WritingMode aWM) const +{ + return Get(aWM, mozilla::eLogicalSideIEnd); +} + +inline nsStyleCoord nsStyleSides::GetBEnd(mozilla::WritingMode aWM) const +{ + return Get(aWM, mozilla::eLogicalSideBEnd); +} + +// Definitions of inline methods for nsStylePosition, declared in +// nsStyleStruct.h but not defined there because they need WritingMode. +inline nsStyleCoord& nsStylePosition::ISize(mozilla::WritingMode aWM) +{ + return aWM.IsVertical() ? mHeight : mWidth; +} +inline nsStyleCoord& nsStylePosition::MinISize(mozilla::WritingMode aWM) +{ + return aWM.IsVertical() ? mMinHeight : mMinWidth; +} +inline nsStyleCoord& nsStylePosition::MaxISize(mozilla::WritingMode aWM) +{ + return aWM.IsVertical() ? mMaxHeight : mMaxWidth; +} +inline nsStyleCoord& nsStylePosition::BSize(mozilla::WritingMode aWM) +{ + return aWM.IsVertical() ? mWidth : mHeight; +} +inline nsStyleCoord& nsStylePosition::MinBSize(mozilla::WritingMode aWM) +{ + return aWM.IsVertical() ? mMinWidth : mMinHeight; +} +inline nsStyleCoord& nsStylePosition::MaxBSize(mozilla::WritingMode aWM) +{ + return aWM.IsVertical() ? mMaxWidth : mMaxHeight; +} + +inline const nsStyleCoord& +nsStylePosition::ISize(mozilla::WritingMode aWM) const +{ + return aWM.IsVertical() ? mHeight : mWidth; +} +inline const nsStyleCoord& +nsStylePosition::MinISize(mozilla::WritingMode aWM) const +{ + return aWM.IsVertical() ? mMinHeight : mMinWidth; +} +inline const nsStyleCoord& +nsStylePosition::MaxISize(mozilla::WritingMode aWM) const +{ + return aWM.IsVertical() ? mMaxHeight : mMaxWidth; +} +inline const nsStyleCoord& +nsStylePosition::BSize(mozilla::WritingMode aWM) const +{ + return aWM.IsVertical() ? mWidth : mHeight; +} +inline const nsStyleCoord& +nsStylePosition::MinBSize(mozilla::WritingMode aWM) const +{ + return aWM.IsVertical() ? mMinWidth : mMinHeight; +} +inline const nsStyleCoord& +nsStylePosition::MaxBSize(mozilla::WritingMode aWM) const +{ + return aWM.IsVertical() ? mMaxWidth : mMaxHeight; +} + +inline bool +nsStylePosition::ISizeDependsOnContainer(mozilla::WritingMode aWM) const +{ + return aWM.IsVertical() ? HeightDependsOnContainer() + : WidthDependsOnContainer(); +} +inline bool +nsStylePosition::MinISizeDependsOnContainer(mozilla::WritingMode aWM) const +{ + return aWM.IsVertical() ? MinHeightDependsOnContainer() + : MinWidthDependsOnContainer(); +} +inline bool +nsStylePosition::MaxISizeDependsOnContainer(mozilla::WritingMode aWM) const +{ + return aWM.IsVertical() ? MaxHeightDependsOnContainer() + : MaxWidthDependsOnContainer(); +} +inline bool +nsStylePosition::BSizeDependsOnContainer(mozilla::WritingMode aWM) const +{ + return aWM.IsVertical() ? WidthDependsOnContainer() + : HeightDependsOnContainer(); +} +inline bool +nsStylePosition::MinBSizeDependsOnContainer(mozilla::WritingMode aWM) const +{ + return aWM.IsVertical() ? MinWidthDependsOnContainer() + : MinHeightDependsOnContainer(); +} +inline bool +nsStylePosition::MaxBSizeDependsOnContainer(mozilla::WritingMode aWM) const +{ + return aWM.IsVertical() ? MaxWidthDependsOnContainer() + : MaxHeightDependsOnContainer(); +} + #endif // WritingModes_h_ diff --git a/layout/generic/nsBlockFrame.cpp b/layout/generic/nsBlockFrame.cpp index d0de8a28f4..048a782cca 100644 --- a/layout/generic/nsBlockFrame.cpp +++ b/layout/generic/nsBlockFrame.cpp @@ -2999,38 +2999,22 @@ nsBlockFrame::IsSelfEmpty() return false; } + WritingMode wm = GetWritingMode(); const nsStylePosition* position = StylePosition(); - bool vertical = GetWritingMode().IsVertical(); - if (vertical) { - if (IsNonAutoNonZeroBSize(position->mMinWidth) || - IsNonAutoNonZeroBSize(position->mWidth)) { - return false; - } - } else { - if (IsNonAutoNonZeroBSize(position->mMinHeight) || - IsNonAutoNonZeroBSize(position->mHeight)) { - return false; - } + if (IsNonAutoNonZeroBSize(position->MinBSize(wm)) || + IsNonAutoNonZeroBSize(position->BSize(wm))) { + return false; } const nsStyleBorder* border = StyleBorder(); const nsStylePadding* padding = StylePadding(); - if (vertical) { - if (border->GetComputedBorderWidth(NS_SIDE_LEFT) != 0 || - border->GetComputedBorderWidth(NS_SIDE_RIGHT) != 0 || - !nsLayoutUtils::IsPaddingZero(padding->mPadding.GetLeft()) || - !nsLayoutUtils::IsPaddingZero(padding->mPadding.GetRight())) { - return false; - } - } else { - if (border->GetComputedBorderWidth(NS_SIDE_TOP) != 0 || - border->GetComputedBorderWidth(NS_SIDE_BOTTOM) != 0 || - !nsLayoutUtils::IsPaddingZero(padding->mPadding.GetTop()) || - !nsLayoutUtils::IsPaddingZero(padding->mPadding.GetBottom())) { - return false; - } + if (border->GetComputedBorderWidth(wm.PhysicalSide(eLogicalSideBStart)) != 0 || + border->GetComputedBorderWidth(wm.PhysicalSide(eLogicalSideBEnd)) != 0 || + !nsLayoutUtils::IsPaddingZero(padding->mPadding.GetBStart(wm)) || + !nsLayoutUtils::IsPaddingZero(padding->mPadding.GetBEnd(wm))) { + return false; } if (HasOutsideBullet() && !BulletIsEmpty()) { diff --git a/layout/generic/nsContainerFrame.cpp b/layout/generic/nsContainerFrame.cpp index c361bc01d2..75cad7053e 100644 --- a/layout/generic/nsContainerFrame.cpp +++ b/layout/generic/nsContainerFrame.cpp @@ -899,9 +899,7 @@ nsContainerFrame::ComputeAutoSize(nsRenderingContext* aRenderingContext, // replaced elements always shrink-wrap if (aShrinkWrap || IsFrameOfType(eReplaced)) { // don't bother setting it if the result won't be used - const nsStyleCoord& inlineStyleCoord = - aWM.IsVertical() ? StylePosition()->mHeight : StylePosition()->mWidth; - if (inlineStyleCoord.GetUnit() == eStyleUnit_Auto) { + if (StylePosition()->ISize(aWM).GetUnit() == eStyleUnit_Auto) { result.ISize(aWM) = ShrinkWidthToFit(aRenderingContext, availBased); } } else { diff --git a/layout/generic/nsFrame.cpp b/layout/generic/nsFrame.cpp index 5e154c59f0..1132da6132 100644 --- a/layout/generic/nsFrame.cpp +++ b/layout/generic/nsFrame.cpp @@ -4207,12 +4207,8 @@ nsFrame::ComputeSize(nsRenderingContext *aRenderingContext, aMargin.ISize(aWM) + aBorder.ISize(aWM) + aPadding.ISize(aWM) - boxSizingAdjust.ISize(aWM); - bool isVertical = aWM.IsVertical(); - - const nsStyleCoord* inlineStyleCoord = - isVertical ? &(stylePos->mHeight) : &(stylePos->mWidth); - const nsStyleCoord* blockStyleCoord = - isVertical ? &(stylePos->mWidth) : &(stylePos->mHeight); + const nsStyleCoord* inlineStyleCoord = &stylePos->ISize(aWM); + const nsStyleCoord* blockStyleCoord = &stylePos->BSize(aWM); bool isFlexItem = IsFlexItem(); bool isInlineFlexItem = false; @@ -4258,8 +4254,7 @@ nsFrame::ComputeSize(nsRenderingContext *aRenderingContext, *inlineStyleCoord); } - const nsStyleCoord& maxISizeCoord = - isVertical ? stylePos->mMaxHeight : stylePos->mMaxWidth; + const nsStyleCoord& maxISizeCoord = stylePos->MaxISize(aWM); // Flex items ignore their min & max sizing properties in their // flex container's main-axis. (Those properties get applied later in @@ -4273,8 +4268,7 @@ nsFrame::ComputeSize(nsRenderingContext *aRenderingContext, result.ISize(aWM) = std::min(maxISize, result.ISize(aWM)); } - const nsStyleCoord& minISizeCoord = - isVertical ? stylePos->mMinHeight : stylePos->mMinWidth; + const nsStyleCoord& minISizeCoord = stylePos->MinISize(aWM); nscoord minISize; if (minISizeCoord.GetUnit() != eStyleUnit_Auto && @@ -4305,8 +4299,7 @@ nsFrame::ComputeSize(nsRenderingContext *aRenderingContext, *blockStyleCoord); } - const nsStyleCoord& maxBSizeCoord = - isVertical ? stylePos->mMaxWidth : stylePos->mMaxHeight; + const nsStyleCoord& maxBSizeCoord = stylePos->MaxBSize(aWM); if (result.BSize(aWM) != NS_UNCONSTRAINEDSIZE) { if (!nsLayoutUtils::IsAutoBSize(maxBSizeCoord, aCBSize.BSize(aWM)) && @@ -4318,8 +4311,7 @@ nsFrame::ComputeSize(nsRenderingContext *aRenderingContext, result.BSize(aWM) = std::min(maxBSize, result.BSize(aWM)); } - const nsStyleCoord& minBSizeCoord = - isVertical ? stylePos->mMinWidth : stylePos->mMinHeight; + const nsStyleCoord& minBSizeCoord = stylePos->MinBSize(aWM); if (!nsLayoutUtils::IsAutoBSize(minBSizeCoord, aCBSize.BSize(aWM)) && !(isFlexItem && !isInlineFlexItem)) { @@ -4415,9 +4407,7 @@ nsFrame::ComputeAutoSize(nsRenderingContext *aRenderingContext, LogicalSize result(aWM, 0xdeadbeef, NS_UNCONSTRAINEDSIZE); // don't bother setting it if the result won't be used - const nsStyleCoord& inlineStyleCoord = - aWM.IsVertical() ? StylePosition()->mHeight : StylePosition()->mWidth; - if (inlineStyleCoord.GetUnit() == eStyleUnit_Auto) { + if (StylePosition()->ISize(aWM).GetUnit() == eStyleUnit_Auto) { nscoord availBased = aAvailableISize - aMargin.ISize(aWM) - aBorder.ISize(aWM) - aPadding.ISize(aWM); result.ISize(aWM) = ShrinkWidthToFit(aRenderingContext, availBased); diff --git a/layout/generic/nsGfxScrollFrame.cpp b/layout/generic/nsGfxScrollFrame.cpp index b443cd22aa..ea611ad201 100644 --- a/layout/generic/nsGfxScrollFrame.cpp +++ b/layout/generic/nsGfxScrollFrame.cpp @@ -55,6 +55,7 @@ #include "gfxPlatform.h" #include "gfxPrefs.h" #include "AsyncScrollBase.h" +#include "UnitTransforms.h" #include #include #include @@ -351,10 +352,16 @@ nsHTMLScrollFrame::TryLayout(ScrollReflowState* aState, ComputeInsideBorderSize(aState, desiredInsideBorderSize); nsSize scrollPortSize = nsSize(std::max(0, aState->mInsideBorderSize.width - vScrollbarDesiredWidth), std::max(0, aState->mInsideBorderSize.height - hScrollbarDesiredHeight)); + nsSize visualScrollPortSize = scrollPortSize; nsIPresShell* presShell = PresContext()->PresShell(); if (mHelper.mIsRoot && presShell->IsScrollPositionClampingScrollPortSizeSet()) { - visualScrollPortSize = presShell->GetScrollPositionClampingScrollPortSize(); + nsSize compositionSize = nsLayoutUtils::CalculateCompositionSizeForFrame(this, false); + float resolution = presShell->GetResolution(); + compositionSize.width /= resolution; + compositionSize.height /= resolution; + visualScrollPortSize = nsSize(std::max(0, compositionSize.width - vScrollbarDesiredWidth), + std::max(0, compositionSize.height - hScrollbarDesiredHeight)); } if (!aForce) { @@ -394,7 +401,7 @@ nsHTMLScrollFrame::TryLayout(ScrollReflowState* aState, aState->mShowVScrollbar = aAssumeVScroll; nsPoint scrollPortOrigin(aState->mComputedBorder.left, aState->mComputedBorder.top); - if (!mHelper.IsScrollbarOnRight()) { + if (!IsScrollbarOnRight()) { scrollPortOrigin.x += vScrollbarActualWidth; } mHelper.mScrollPort = nsRect(scrollPortOrigin, scrollPortSize); @@ -3036,17 +3043,30 @@ void ScrollFrameHelper::ComputeFrameMetrics(Layer* aLayer, nsIFrame* aContainerReferenceFrame, const ContainerLayerParameters& aParameters, - Maybe* aClipRect, nsTArray* aOutput) const { + if (!mShouldBuildScrollableLayer || mIsScrollableLayerInRootContainer) { + return; + } + + bool needsParentLayerClip = true; + if (gfxPrefs::LayoutUseContainersForRootFrames() && !mAddClipRectToLayer) { + // For containerful frames, the clip is on the container frame. + needsParentLayerClip = false; + } + + // Note: Do not apply clips to the scroll ports of metrics above the first + // one on a given layer. They will be applied by the compositor instead, + // with async transforms for the scrollframes interspersed between them. + if (aOutput->Length() > 0) { + needsParentLayerClip = false; + } + nsPoint toReferenceFrame = mOuter->GetOffsetToCrossDoc(aContainerReferenceFrame); bool isRoot = mIsRoot && mOuter->PresContext()->IsRootContentDocument(); - // If APZ is enabled, do not apply clips to the scroll ports of metrics - // above the first one on a given layer. They will be applied by the - // compositor instead, with async transforms for the scrollframes interspersed - // between them. - bool omitClip = gfxPrefs::AsyncPanZoomEnabled() && aOutput->Length() > 0; - if (!omitClip && (!gfxPrefs::LayoutUseContainersForRootFrames() || mAddClipRectToLayer)) { + + Maybe parentLayerClip; + if (needsParentLayerClip) { nsRect clip = nsRect(mScrollPort.TopLeft() + toReferenceFrame, nsLayoutUtils::CalculateCompositionSizeForFrame(mOuter)); if (isRoot) { @@ -3054,12 +3074,31 @@ ScrollFrameHelper::ComputeFrameMetrics(Layer* aLayer, clip.width = NSToCoordRound(clip.width / res); clip.height = NSToCoordRound(clip.height / res); } - // When using containers, the container layer contains the clip. Otherwise - // we always include the clip. - *aClipRect = Some(clip); + + parentLayerClip = Some(clip); } - if (!mShouldBuildScrollableLayer || mIsScrollableLayerInRootContainer) { + if (!gfxPrefs::AsyncPanZoomEnabled()) { + if (parentLayerClip) { + // If APZ is not enabled, we still need the displayport to be clipped + // in the compositor. + ParentLayerIntRect displayportClip = + ViewAs( + parentLayerClip->ScaleToNearestPixels( + aParameters.mXScale, + aParameters.mYScale, + mScrolledFrame->PresContext()->AppUnitsPerDevPixel())); + + ParentLayerIntRect layerClip; + if (const ParentLayerIntRect* origClip = aLayer->GetClipRect().ptrOr(nullptr)) { + layerClip = displayportClip.Intersect(*origClip); + } else { + layerClip = displayportClip; + } + aLayer->SetClipRect(Some(layerClip)); + } + + // Return early, since if we don't use APZ we don't need FrameMetrics. return; } @@ -3070,7 +3109,7 @@ ScrollFrameHelper::ComputeFrameMetrics(Layer* aLayer, nsLayoutUtils::ComputeFrameMetrics( mScrolledFrame, mOuter, mOuter->GetContent(), aContainerReferenceFrame, aLayer, mScrollParentID, - scrollport, isRoot, aParameters); + scrollport, parentLayerClip, isRoot, aParameters); } bool @@ -4269,7 +4308,7 @@ ScrollFrameHelper::IsScrollingActive(nsDisplayListBuilder* aBuilder) const nsresult nsXULScrollFrame::Layout(nsBoxLayoutState& aState) { - bool scrollbarRight = mHelper.IsScrollbarOnRight(); + bool scrollbarRight = IsScrollbarOnRight(); bool scrollbarBottom = true; // get the content rect @@ -4888,12 +4927,12 @@ ScrollFrameHelper::SetCoordAttribute(nsIContent* aContent, nsIAtom* aAtom, DebugOnly weakShell( do_GetWeakReference(mOuter->PresContext()->PresShell())); // convert to pixels - aSize = nsPresContext::AppUnitsToIntCSSPixels(aSize); + int32_t pixelSize = nsPresContext::AppUnitsToIntCSSPixels(aSize); // only set the attribute if it changed. nsAutoString newValue; - newValue.AppendInt(aSize); + newValue.AppendInt(pixelSize); if (aContent->AttrValueIs(kNameSpaceID_None, aAtom, newValue, eCaseMatters)) return; diff --git a/layout/generic/nsGfxScrollFrame.h b/layout/generic/nsGfxScrollFrame.h index b4820601dd..065192cc26 100644 --- a/layout/generic/nsGfxScrollFrame.h +++ b/layout/generic/nsGfxScrollFrame.h @@ -378,7 +378,6 @@ public: bool WantAsyncScroll() const; void ComputeFrameMetrics(Layer* aLayer, nsIFrame* aContainerReferenceFrame, const ContainerLayerParameters& aParameters, - mozilla::Maybe* aClipRect, nsTArray* aOutput) const; // nsIScrollbarMediator @@ -833,10 +832,9 @@ public: } virtual void ComputeFrameMetrics(Layer* aLayer, nsIFrame* aContainerReferenceFrame, const ContainerLayerParameters& aParameters, - mozilla::Maybe* aClipRect, nsTArray* aOutput) const override { mHelper.ComputeFrameMetrics(aLayer, aContainerReferenceFrame, - aParameters, aClipRect, aOutput); + aParameters, aOutput); } virtual bool IsIgnoringViewportClipping() const override { return mHelper.IsIgnoringViewportClipping(); @@ -898,6 +896,10 @@ public: virtual void ScrollbarActivityStarted() const override; virtual void ScrollbarActivityStopped() const override; + virtual bool IsScrollbarOnRight() const override { + return mHelper.IsScrollbarOnRight(); + } + virtual void SetTransformingByAPZ(bool aTransforming) override { mHelper.SetTransformingByAPZ(aTransforming); } @@ -1222,10 +1224,9 @@ public: } virtual void ComputeFrameMetrics(Layer* aLayer, nsIFrame* aContainerReferenceFrame, const ContainerLayerParameters& aParameters, - mozilla::Maybe* aClipRect, nsTArray* aOutput) const override { mHelper.ComputeFrameMetrics(aLayer, aContainerReferenceFrame, - aParameters, aClipRect, aOutput); + aParameters, aOutput); } virtual bool IsIgnoringViewportClipping() const override { return mHelper.IsIgnoringViewportClipping(); @@ -1295,6 +1296,10 @@ public: virtual void ScrollbarActivityStarted() const override; virtual void ScrollbarActivityStopped() const override; + virtual bool IsScrollbarOnRight() const override { + return mHelper.IsScrollbarOnRight(); + } + virtual void SetTransformingByAPZ(bool aTransforming) override { mHelper.SetTransformingByAPZ(aTransforming); } diff --git a/layout/generic/nsHTMLReflowState.cpp b/layout/generic/nsHTMLReflowState.cpp index e0124879c9..7b4cc20809 100644 --- a/layout/generic/nsHTMLReflowState.cpp +++ b/layout/generic/nsHTMLReflowState.cpp @@ -386,11 +386,8 @@ nsHTMLReflowState::Init(nsPresContext* aPresContext, // An SVG foreignObject frame is inherently constrained block-size. frame->AddStateBits(NS_FRAME_IN_CONSTRAINED_BSIZE); } else { - const bool vertical = mWritingMode.IsVertical(); - const nsStyleCoord& bSizeCoord = - vertical ? mStylePosition->mWidth : mStylePosition->mHeight; - const nsStyleCoord& maxBSizeCoord = - vertical ? mStylePosition->mMaxWidth : mStylePosition->mMaxHeight; + const nsStyleCoord& bSizeCoord = mStylePosition->BSize(mWritingMode); + const nsStyleCoord& maxBSizeCoord = mStylePosition->MaxBSize(mWritingMode); if ((bSizeCoord.GetUnit() != eStyleUnit_Auto || maxBSizeCoord.GetUnit() != eStyleUnit_None) && // Don't set NS_FRAME_IN_CONSTRAINED_BSIZE on body or html elements. @@ -404,10 +401,8 @@ nsHTMLReflowState::Init(nsPresContext* aPresContext, nsIFrame* containingBlk = frame; while (containingBlk) { const nsStylePosition* stylePos = containingBlk->StylePosition(); - const nsStyleCoord& bSizeCoord = - vertical ? stylePos->mWidth : stylePos->mHeight; - const nsStyleCoord& maxBSizeCoord = - vertical ? stylePos->mMaxWidth : stylePos->mMaxHeight; + const nsStyleCoord& bSizeCoord = stylePos->BSize(mWritingMode); + const nsStyleCoord& maxBSizeCoord = stylePos->MaxBSize(mWritingMode); if ((bSizeCoord.IsCoordPercentCalcUnit() && !bSizeCoord.HasPercent()) || (maxBSizeCoord.IsCoordPercentCalcUnit() && @@ -2422,25 +2417,9 @@ nsHTMLReflowState::CalculateBlockSideMargins(nsIAtom* aFrameType) // The css2 spec clearly defines how block elements should behave // in section 10.3.3. - bool isAutoStartMargin, isAutoEndMargin; const nsStyleSides& styleSides = mStyleMargin->mMargin; - if (cbWM.IsVertical()) { - if (cbWM.IsBidiLTR()) { - isAutoStartMargin = eStyleUnit_Auto == styleSides.GetTopUnit(); - isAutoEndMargin = eStyleUnit_Auto == styleSides.GetBottomUnit(); - } else { - isAutoStartMargin = eStyleUnit_Auto == styleSides.GetBottomUnit(); - isAutoEndMargin = eStyleUnit_Auto == styleSides.GetTopUnit(); - } - } else { - if (cbWM.IsBidiLTR()) { - isAutoStartMargin = eStyleUnit_Auto == styleSides.GetLeftUnit(); - isAutoEndMargin = eStyleUnit_Auto == styleSides.GetRightUnit(); - } else { - isAutoStartMargin = eStyleUnit_Auto == styleSides.GetRightUnit(); - isAutoEndMargin = eStyleUnit_Auto == styleSides.GetLeftUnit(); - } - } + bool isAutoStartMargin = eStyleUnit_Auto == styleSides.GetIStartUnit(cbWM); + bool isAutoEndMargin = eStyleUnit_Auto == styleSides.GetIEndUnit(cbWM); if (!isAutoStartMargin && !isAutoEndMargin) { // Neither margin is 'auto' so we're over constrained. Use the // 'direction' property of the parent to tell which margin to diff --git a/layout/generic/nsIScrollableFrame.h b/layout/generic/nsIScrollableFrame.h index 1d3b32fd04..1764b3ed8e 100644 --- a/layout/generic/nsIScrollableFrame.h +++ b/layout/generic/nsIScrollableFrame.h @@ -418,7 +418,6 @@ public: virtual void ComputeFrameMetrics(mozilla::layers::Layer* aLayer, nsIFrame* aContainerReferenceFrame, const ContainerLayerParameters& aParameters, - mozilla::Maybe* aOutClipRect, nsTArray* aOutput) const = 0; /** diff --git a/layout/reftests/abs-pos/reftest.list b/layout/reftests/abs-pos/reftest.list index 40f629299c..4965d8cc93 100644 --- a/layout/reftests/abs-pos/reftest.list +++ b/layout/reftests/abs-pos/reftest.list @@ -9,7 +9,7 @@ fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azur == table-caption-2.html table-internal-2-ref.html == table-caption-3.html table-internal-3-ref.html == table-caption-4.html table-internal-8-ref.html -skip-if(B2G&&browserIsRemote) != table-caption-5.html table-print-1-ref.html # TODO: change to == when bug 967870 is fixed +skip-if((B2G&&browserIsRemote)||Mulet) != table-caption-5.html table-print-1-ref.html # TODO: change to == when bug 967870 is fixed # Initial mulet triage: parity with B2G/B2G Desktop == table-cell-1.html table-internal-1-ref.html == table-cell-2.html table-internal-2-ref.html == table-cell-3.html table-internal-3-ref.html @@ -17,7 +17,7 @@ skip-if(B2G&&browserIsRemote) != table-caption-5.html table-print-1-ref.html # T == table-cell-5.html table-internal-5-ref.html == table-cell-6.html table-internal-6-ref.html == table-cell-7.html table-internal-7-ref.html -skip-if(B2G&&browserIsRemote) != table-cell-8.html table-print-1-ref.html # TODO: change to == when bug 967870 is fixed +skip-if((B2G&&browserIsRemote)||Mulet) != table-cell-8.html table-print-1-ref.html # TODO: change to == when bug 967870 is fixed # Initial mulet triage: parity with B2G/B2G Desktop == table-row-1.html table-internal-1-ref.html == table-row-2.html table-internal-2-ref.html == table-row-3.html table-internal-3-ref.html @@ -49,7 +49,7 @@ skip-if(B2G&&browserIsRemote) != table-cell-8.html table-print-1-ref.html # TODO == continuation-positioned-inline-1.html continuation-positioned-inline-ref.html == continuation-positioned-inline-2.html continuation-positioned-inline-ref.html == scrollframe-1.html scrollframe-1-ref.html -skip-if(B2G) fuzzy-if(Android,9,185) == scrollframe-2.html scrollframe-2-ref.html #bug 756530 +skip-if(B2G||Mulet) fuzzy-if(Android,9,185) == scrollframe-2.html scrollframe-2-ref.html #bug 756530 # Initial mulet triage: parity with B2G/B2G Desktop fuzzy-if(gtk2Widget,1,8) == select-1.html select-1-ref.html fuzzy-if(gtk2Widget,1,8) == select-1-dynamic.html select-1-ref.html == select-2.html select-2-ref.html diff --git a/layout/reftests/backgrounds/reftest.list b/layout/reftests/backgrounds/reftest.list index 8354917961..946d468414 100644 --- a/layout/reftests/backgrounds/reftest.list +++ b/layout/reftests/backgrounds/reftest.list @@ -1,8 +1,8 @@ include gradient/reftest.list include vector/reftest.list -skip-if(B2G) == layers-stacking-order.xhtml layers-stacking-order-ref.xhtml -skip-if(B2G) == layers-layer-count-cascade-1.xhtml layers-layer-count-1-ref.xhtml +skip-if(B2G||Mulet) == layers-stacking-order.xhtml layers-stacking-order-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == layers-layer-count-cascade-1.xhtml layers-layer-count-1-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop == layers-layer-count-inheritance-1.xhtml layers-layer-count-1-ref.xhtml == layers-layer-count-cascade-2.xhtml layers-layer-count-2-ref.xhtml == layers-layer-count-inheritance-2.xhtml layers-layer-count-2-ref.xhtml @@ -15,7 +15,7 @@ fuzzy-if(Android,9,600000) == viewport-translucent-color-1.html viewport-translu == translucent-color-2.html translucent-color-ref.html == translucent-color-3.html translucent-color-ref.html != translucent-color-ref.html about:blank -skip-if(B2G) == root-element-display-none-1.html root-element-display-none-ref.html +skip-if(B2G||Mulet) == root-element-display-none-1.html root-element-display-none-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == continuous-inline-1a.html continuous-inline-1ab-ref.html == continuous-inline-1b.html continuous-inline-1ab-ref.html == continuous-inline-1c.html continuous-inline-1cd-ref.html @@ -23,8 +23,8 @@ skip-if(B2G) == root-element-display-none-1.html root-element-display-none-ref.h == continuous-inline-2a.html continuous-inline-2-ref.html == continuous-inline-2b.html continuous-inline-2-ref.html == continuous-inline-3.html continuous-inline-3-ref.html -skip-if(B2G) == continuous-inline-4a.html continuous-inline-4-ref.html -skip-if(B2G) == continuous-inline-4b.html continuous-inline-4-ref.html +skip-if(B2G||Mulet) == continuous-inline-4a.html continuous-inline-4-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == continuous-inline-4b.html continuous-inline-4-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == continuous-inline-5a.html continuous-inline-5-ref.html == continuous-inline-5b.html continuous-inline-5-ref.html == background-redraw-237766.html background-redraw-237766-ref.html @@ -32,7 +32,7 @@ skip-if(B2G) == continuous-inline-4b.html continuous-inline-4-ref.html == background-clip-1.html background-clip-1-ref.html == background-clip-2.html background-clip-2-ref.html -skip-if(B2G) == background-position-1a.html background-position-1-ref.html +skip-if(B2G||Mulet) == background-position-1a.html background-position-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == background-position-1b.html background-position-1-ref.html == background-position-1c.html background-position-1-ref.html == background-position-2a.html background-position-2-ref.html @@ -61,7 +61,7 @@ skip-if(B2G) == background-position-1a.html background-position-1-ref.html == background-size-percent-length.html background-size-length-percent-ref.html == background-size-percent-percent.html background-size-percent-percent-ref.html == background-size-length-length.html background-size-length-length-ref.html -skip-if(B2G) == background-size-percent-percent-stretch.html background-size-percent-percent-stretch-ref.html # bug 773482 +skip-if(B2G||Mulet) == background-size-percent-percent-stretch.html background-size-percent-percent-stretch-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == background-size-body-percent-percent.html background-size-body-percent-percent-ref.html == background-size-body-percent-percent-no-repeat.html background-size-body-percent-percent-ref.html @@ -87,7 +87,7 @@ fails-if(smallScreen&&Android) != background-size-body-contain-no-repeat.html ba == background-size-contain-clip-padding-origin-border.html background-size-contain-clip-padding-origin-border-ref.html == background-size-contain-clip-padding-origin-border-padding.html background-size-contain-clip-padding-origin-border-padding-ref.html -skip-if(B2G) == background-layers-1a.html background-layers-1-ref.html # bug 773482 +skip-if(B2G||Mulet) == background-layers-1a.html background-layers-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop fuzzy-if(OSX,1,324) == background-layers-1b.html background-layers-1-ref.html # box-decoration-break's effect on backgrounds is touchy and hard to test due to stretching @@ -121,12 +121,12 @@ fails == background-size-zoom-repeat.html background-size-zoom-repeat-ref.html # -moz-default-background-color and -moz-default-color (bug 591341) == background-moz-default-background-color.html background-moz-default-background-color-ref.html -random-if(B2G) == fixed-bg-with-transform-outside-viewport-1.html fixed-bg-with-transform-outside-viewport-ref.html +random-if(B2G||Mulet) == fixed-bg-with-transform-outside-viewport-1.html fixed-bg-with-transform-outside-viewport-ref.html # Initial mulet triage: parity with B2G/B2G Desktop HTTP == root-background-1.html root-background-ref.html HTTP != root-background-1.html about:blank -random-if(B2G) == really-big-background.html really-big-background-ref.html +random-if(B2G||Mulet) == really-big-background.html really-big-background-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == body-background.html body-background-ref.html == table-background.html table-background-ref.html == table-background-print.html table-background-print-ref.html diff --git a/layout/reftests/backgrounds/vector/reftest.list b/layout/reftests/backgrounds/vector/reftest.list index 3b2add7be9..05dde95b34 100644 --- a/layout/reftests/backgrounds/vector/reftest.list +++ b/layout/reftests/backgrounds/vector/reftest.list @@ -12,27 +12,27 @@ include empty/reftest.list == tall--32px-auto--nonpercent-width-nonpercent-height.html ref-tall-lime32x64-aqua32x64.html == tall--32px-auto--nonpercent-width-nonpercent-height-viewbox.html ref-tall-lime32x64-aqua32x64.html == tall--32px-auto--nonpercent-width-omitted-height.html ref-tall-lime32x384-aqua32x384.html -skip-if(B2G) == tall--32px-auto--nonpercent-width-omitted-height-viewbox.html ref-tall-lime32x256-aqua32x256.html # bug 773482 -skip-if(B2G) == tall--32px-auto--nonpercent-width-percent-height.html ref-tall-lime32x384-aqua32x384.html # bug 773482 +skip-if(B2G||Mulet) == tall--32px-auto--nonpercent-width-omitted-height-viewbox.html ref-tall-lime32x256-aqua32x256.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == tall--32px-auto--nonpercent-width-percent-height.html ref-tall-lime32x384-aqua32x384.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == tall--32px-auto--nonpercent-width-percent-height-viewbox.html ref-tall-lime32x256-aqua32x256.html -skip-if(B2G) == tall--32px-auto--omitted-width-nonpercent-height.html ref-tall-lime32x16-aqua32x16.html # bug 773482 +skip-if(B2G||Mulet) == tall--32px-auto--omitted-width-nonpercent-height.html ref-tall-lime32x16-aqua32x16.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == tall--32px-auto--omitted-width-nonpercent-height-viewbox.html ref-tall-lime32x256-aqua32x256.html == tall--32px-auto--omitted-width-omitted-height.html ref-tall-lime32x384-aqua32x384.html == tall--32px-auto--omitted-width-omitted-height-viewbox.html ref-tall-lime32x256-aqua32x256.html -skip-if(B2G) == tall--32px-auto--omitted-width-percent-height.html ref-tall-lime32x384-aqua32x384.html # bug 773482 -skip-if(B2G) == tall--32px-auto--omitted-width-percent-height-viewbox.html ref-tall-lime32x256-aqua32x256.html # bug 773482 +skip-if(B2G||Mulet) == tall--32px-auto--omitted-width-percent-height.html ref-tall-lime32x384-aqua32x384.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == tall--32px-auto--omitted-width-percent-height-viewbox.html ref-tall-lime32x256-aqua32x256.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == tall--32px-auto--percent-width-nonpercent-height.html ref-tall-lime32x16-aqua32x16.html == tall--32px-auto--percent-width-nonpercent-height-viewbox.html ref-tall-lime32x256-aqua32x256.html == tall--32px-auto--percent-width-omitted-height.html ref-tall-lime32x384-aqua32x384.html -skip-if(B2G) == tall--32px-auto--percent-width-omitted-height-viewbox.html ref-tall-lime32x256-aqua32x256.html # bug 773482 +skip-if(B2G||Mulet) == tall--32px-auto--percent-width-omitted-height-viewbox.html ref-tall-lime32x256-aqua32x256.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == tall--32px-auto--percent-width-percent-height.html ref-tall-lime32x384-aqua32x384.html -skip-if(B2G) == tall--32px-auto--percent-width-percent-height-viewbox.html ref-tall-lime32x256-aqua32x256.html # bug 773482 +skip-if(B2G||Mulet) == tall--32px-auto--percent-width-percent-height-viewbox.html ref-tall-lime32x256-aqua32x256.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == tall--auto-32px--nonpercent-width-nonpercent-height.html ref-tall-lime8x16-aqua8x16.html == tall--auto-32px--nonpercent-width-nonpercent-height-viewbox.html ref-tall-lime8x16-aqua8x16.html -skip-if(B2G) == tall--auto-32px--nonpercent-width-omitted-height.html ref-tall-lime8x16-aqua8x16.html # bug 773482 +skip-if(B2G||Mulet) == tall--auto-32px--nonpercent-width-omitted-height.html ref-tall-lime8x16-aqua8x16.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == tall--auto-32px--nonpercent-width-omitted-height-viewbox.html ref-tall-lime2x16-aqua2x16.html -skip-if(B2G) == tall--auto-32px--nonpercent-width-percent-height.html ref-tall-lime8x16-aqua8x16.html +skip-if(B2G||Mulet) == tall--auto-32px--nonpercent-width-percent-height.html ref-tall-lime8x16-aqua8x16.html # Initial mulet triage: parity with B2G/B2G Desktop == tall--auto-32px--nonpercent-width-percent-height-viewbox.html ref-tall-lime2x16-aqua2x16.html == tall--auto-32px--omitted-width-nonpercent-height.html ref-tall-lime256x16-aqua256x16.html == tall--auto-32px--omitted-width-nonpercent-height-viewbox.html ref-tall-lime2x16-aqua2x16.html @@ -47,7 +47,7 @@ skip-if(B2G) == tall--auto-32px--nonpercent-width-percent-height.html ref-tall-l == tall--auto-32px--percent-width-percent-height.html ref-tall-lime256x16-aqua256x16.html == tall--auto-32px--percent-width-percent-height-viewbox.html ref-tall-lime2x16-aqua2x16.html -skip-if(B2G) == tall--auto--nonpercent-width-nonpercent-height.html ref-tall-lime8x16-aqua8x16.html # bug 773482 +skip-if(B2G||Mulet) == tall--auto--nonpercent-width-nonpercent-height.html ref-tall-lime8x16-aqua8x16.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == tall--auto--nonpercent-width-nonpercent-height-viewbox.html ref-tall-lime8x16-aqua8x16.html == tall--auto--nonpercent-width-omitted-height.html ref-tall-lime8x384-aqua8x384.html == tall--auto--nonpercent-width-omitted-height-viewbox.html ref-tall-lime8x64-aqua8x64.html @@ -56,7 +56,7 @@ skip-if(B2G) == tall--auto--nonpercent-width-nonpercent-height.html ref-tall-lim == tall--auto--omitted-width-nonpercent-height.html ref-tall-lime256x16-aqua256x16.html == tall--auto--omitted-width-nonpercent-height-viewbox.html ref-tall-lime2x16-aqua2x16.html == tall--auto--omitted-width-omitted-height.html ref-tall-lime256x384-aqua256x384.html -skip-if(B2G) == tall--auto--omitted-width-omitted-height-viewbox.html ref-tall-lime48x384-aqua48x384.html # bug 773482 +skip-if(B2G||Mulet) == tall--auto--omitted-width-omitted-height-viewbox.html ref-tall-lime48x384-aqua48x384.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == tall--auto--omitted-width-percent-height.html ref-tall-lime256x384-aqua256x384.html == tall--auto--omitted-width-percent-height-viewbox.html ref-tall-lime48x384-aqua48x384.html == tall--auto--percent-width-nonpercent-height.html ref-tall-lime256x16-aqua256x16.html @@ -68,8 +68,8 @@ skip-if(B2G) == tall--auto--omitted-width-omitted-height-viewbox.html ref-tall-l == tall--contain--nonpercent-width-nonpercent-height.html ref-tall-lime192x384-aqua192x384.html == tall--contain--nonpercent-width-nonpercent-height-viewbox.html ref-tall-lime192x384-aqua192x384.html -skip-if(B2G) == tall--contain--nonpercent-width-omitted-height.html ref-tall-lime256x384-aqua256x384.html # bug 773482 -skip-if(B2G) == tall--contain--nonpercent-width-omitted-height-viewbox.html ref-tall-lime48x384-aqua48x384.html # bug 773482 +skip-if(B2G||Mulet) == tall--contain--nonpercent-width-omitted-height.html ref-tall-lime256x384-aqua256x384.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == tall--contain--nonpercent-width-omitted-height-viewbox.html ref-tall-lime48x384-aqua48x384.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == tall--contain--nonpercent-width-percent-height.html ref-tall-lime256x384-aqua256x384.html == tall--contain--nonpercent-width-percent-height-viewbox.html ref-tall-lime48x384-aqua48x384.html == tall--contain--omitted-width-nonpercent-height.html ref-tall-lime256x384-aqua256x384.html @@ -107,12 +107,12 @@ skip-if(B2G) == tall--contain--nonpercent-width-omitted-height-viewbox.html ref- == wide--12px-auto--nonpercent-width-nonpercent-height.html ref-wide-lime12x24-aqua12x24.html == wide--12px-auto--nonpercent-width-nonpercent-height-viewbox.html ref-wide-lime12x24-aqua12x24.html -skip-if(B2G) == wide--12px-auto--nonpercent-width-omitted-height.html ref-wide-lime12x128-aqua12x128.html -skip-if(B2G) == wide--12px-auto--nonpercent-width-omitted-height-viewbox.html ref-wide-lime12x96-aqua12x96.html # bug 773482 +skip-if(B2G||Mulet) == wide--12px-auto--nonpercent-width-omitted-height.html ref-wide-lime12x128-aqua12x128.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == wide--12px-auto--nonpercent-width-omitted-height-viewbox.html ref-wide-lime12x96-aqua12x96.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == wide--12px-auto--nonpercent-width-percent-height.html ref-wide-lime12x128-aqua12x128.html == wide--12px-auto--nonpercent-width-percent-height-viewbox.html ref-wide-lime12x96-aqua12x96.html -skip-if(B2G) == wide--12px-auto--omitted-width-nonpercent-height.html ref-wide-lime12x16-aqua12x16.html # bug 773482 -skip-if(B2G) == wide--12px-auto--omitted-width-nonpercent-height-viewbox.html ref-wide-lime12x96-aqua12x96.html # bug 773482 +skip-if(B2G||Mulet) == wide--12px-auto--omitted-width-nonpercent-height.html ref-wide-lime12x16-aqua12x16.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == wide--12px-auto--omitted-width-nonpercent-height-viewbox.html ref-wide-lime12x96-aqua12x96.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == wide--12px-auto--omitted-width-omitted-height.html ref-wide-lime12x128-aqua12x128.html == wide--12px-auto--omitted-width-omitted-height-viewbox.html ref-wide-lime12x96-aqua12x96.html == wide--12px-auto--omitted-width-percent-height.html ref-wide-lime12x128-aqua12x128.html @@ -120,15 +120,15 @@ skip-if(B2G) == wide--12px-auto--omitted-width-nonpercent-height-viewbox.html re == wide--12px-auto--percent-width-nonpercent-height.html ref-wide-lime12x16-aqua12x16.html == wide--12px-auto--percent-width-nonpercent-height-viewbox.html ref-wide-lime12x96-aqua12x96.html == wide--12px-auto--percent-width-omitted-height.html ref-wide-lime12x128-aqua12x128.html -skip-if(B2G) == wide--12px-auto--percent-width-omitted-height-viewbox.html ref-wide-lime12x96-aqua12x96.html # bug 773482 -skip-if(B2G) == wide--12px-auto--percent-width-percent-height.html ref-wide-lime12x128-aqua12x128.html # bug 773482 +skip-if(B2G||Mulet) == wide--12px-auto--percent-width-omitted-height-viewbox.html ref-wide-lime12x96-aqua12x96.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == wide--12px-auto--percent-width-percent-height.html ref-wide-lime12x128-aqua12x128.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == wide--12px-auto--percent-width-percent-height-viewbox.html ref-wide-lime12x96-aqua12x96.html == wide--auto-32px--nonpercent-width-nonpercent-height.html ref-wide-lime8x16-aqua8x16.html == wide--auto-32px--nonpercent-width-nonpercent-height-viewbox.html ref-wide-lime8x16-aqua8x16.html == wide--auto-32px--nonpercent-width-omitted-height.html ref-wide-lime8x16-aqua8x16.html == wide--auto-32px--nonpercent-width-omitted-height-viewbox.html ref-wide-lime2x16-aqua2x16.html -skip-if(B2G) == wide--auto-32px--nonpercent-width-percent-height.html ref-wide-lime8x16-aqua8x16.html # bug 773482 +skip-if(B2G||Mulet) == wide--auto-32px--nonpercent-width-percent-height.html ref-wide-lime8x16-aqua8x16.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == wide--auto-32px--nonpercent-width-percent-height-viewbox.html ref-wide-lime2x16-aqua2x16.html == wide--auto-32px--omitted-width-nonpercent-height.html ref-wide-lime768x16-aqua768x16.html == wide--auto-32px--omitted-width-nonpercent-height-viewbox.html ref-wide-lime2x16-aqua2x16.html @@ -143,16 +143,16 @@ skip-if(B2G) == wide--auto-32px--nonpercent-width-percent-height.html ref-wide-l == wide--auto-32px--percent-width-percent-height.html ref-wide-lime768x16-aqua768x16.html == wide--auto-32px--percent-width-percent-height-viewbox.html ref-wide-lime2x16-aqua2x16.html -skip-if(B2G) == wide--auto--nonpercent-width-nonpercent-height.html ref-wide-lime8x16-aqua8x16.html -skip-if(B2G) == wide--auto--nonpercent-width-nonpercent-height-viewbox.html ref-wide-lime8x16-aqua8x16.html # bug 773482 +skip-if(B2G||Mulet) == wide--auto--nonpercent-width-nonpercent-height.html ref-wide-lime8x16-aqua8x16.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == wide--auto--nonpercent-width-nonpercent-height-viewbox.html ref-wide-lime8x16-aqua8x16.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == wide--auto--nonpercent-width-omitted-height.html ref-wide-lime8x128-aqua8x128.html == wide--auto--nonpercent-width-omitted-height-viewbox.html ref-wide-lime8x64-aqua8x64.html == wide--auto--nonpercent-width-percent-height.html ref-wide-lime8x128-aqua8x128.html -skip-if(B2G) == wide--auto--nonpercent-width-percent-height-viewbox.html ref-wide-lime8x64-aqua8x64.html # bug 773482 +skip-if(B2G||Mulet) == wide--auto--nonpercent-width-percent-height-viewbox.html ref-wide-lime8x64-aqua8x64.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == wide--auto--omitted-width-nonpercent-height.html ref-wide-lime768x16-aqua768x16.html == wide--auto--omitted-width-nonpercent-height-viewbox.html ref-wide-lime2x16-aqua2x16.html == wide--auto--omitted-width-omitted-height.html ref-wide-lime768x128-aqua768x128.html -skip-if(B2G) == wide--auto--omitted-width-omitted-height-viewbox.html ref-wide-lime16x128-aqua16x128.html # bug 773482 +skip-if(B2G||Mulet) == wide--auto--omitted-width-omitted-height-viewbox.html ref-wide-lime16x128-aqua16x128.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == wide--auto--omitted-width-percent-height.html ref-wide-lime768x128-aqua768x128.html == wide--auto--omitted-width-percent-height-viewbox.html ref-wide-lime16x128-aqua16x128.html == wide--auto--percent-width-nonpercent-height.html ref-wide-lime768x16-aqua768x16.html @@ -164,7 +164,7 @@ skip-if(B2G) == wide--auto--omitted-width-omitted-height-viewbox.html ref-wide-l == wide--contain--nonpercent-width-nonpercent-height.html ref-wide-lime64x128-aqua64x128.html == wide--contain--nonpercent-width-nonpercent-height-viewbox.html ref-wide-lime64x128-aqua64x128.html -skip-if(B2G) == wide--contain--nonpercent-width-omitted-height.html ref-wide-lime768x128-aqua768x128.html # bug 773482 +skip-if(B2G||Mulet) == wide--contain--nonpercent-width-omitted-height.html ref-wide-lime768x128-aqua768x128.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == wide--contain--nonpercent-width-omitted-height-viewbox.html ref-wide-lime16x128-aqua16x128.html == wide--contain--nonpercent-width-percent-height.html ref-wide-lime768x128-aqua768x128.html == wide--contain--nonpercent-width-percent-height-viewbox.html ref-wide-lime16x128-aqua16x128.html @@ -182,13 +182,13 @@ skip-if(B2G) == wide--contain--nonpercent-width-omitted-height.html ref-wide-lim == wide--contain--percent-width-percent-height-viewbox.html ref-wide-lime16x128-aqua16x128.html == wide--cover--nonpercent-width-nonpercent-height.html ref-wide-lime768x256.html -skip-if(B2G) == wide--cover--nonpercent-width-nonpercent-height-viewbox.html ref-wide-lime768x256.html # bug 773482 +skip-if(B2G||Mulet) == wide--cover--nonpercent-width-nonpercent-height-viewbox.html ref-wide-lime768x256.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == wide--cover--nonpercent-width-omitted-height.html ref-wide-lime768x128-aqua768x128.html == wide--cover--nonpercent-width-omitted-height-viewbox.html ref-wide-lime768x256.html == wide--cover--nonpercent-width-percent-height.html ref-wide-lime768x128-aqua768x128.html == wide--cover--nonpercent-width-percent-height-viewbox.html ref-wide-lime768x256.html == wide--cover--omitted-width-nonpercent-height.html ref-wide-lime768x128-aqua768x128.html -skip-if(B2G) == wide--cover--omitted-width-nonpercent-height-viewbox.html ref-wide-lime768x256.html # bug 773482 +skip-if(B2G||Mulet) == wide--cover--omitted-width-nonpercent-height-viewbox.html ref-wide-lime768x256.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == wide--cover--omitted-width-omitted-height.html ref-wide-lime768x128-aqua768x128.html == wide--cover--omitted-width-omitted-height-viewbox.html ref-wide-lime768x256.html == wide--cover--omitted-width-percent-height.html ref-wide-lime768x128-aqua768x128.html @@ -201,4 +201,4 @@ skip-if(B2G) == wide--cover--omitted-width-nonpercent-height-viewbox.html ref-wi == wide--cover--percent-width-percent-height-viewbox.html ref-wide-lime768x256.html == diagonal-percentage-vector-background.html diagonal-percentage-vector-background-ref.html -== no-aspect-ratio-wide.html no-aspect-ratio-normal.html \ No newline at end of file +== no-aspect-ratio-wide.html no-aspect-ratio-normal.html diff --git a/layout/reftests/bidi/reftest.list b/layout/reftests/bidi/reftest.list index 1c9ce1aa94..545b01c89c 100644 --- a/layout/reftests/bidi/reftest.list +++ b/layout/reftests/bidi/reftest.list @@ -87,8 +87,8 @@ random-if(winWidget) == 305643-1.html 305643-1-ref.html # depends on windows ver == 409375.html 409375-ref.html == 413542-1.html 413542-1-ref.html == 413542-2.html 413542-2-ref.html -random-if(B2G&&browserIsRemote) == 413928-1.html 413928-1-ref.html -random-if(B2G&&browserIsRemote) == 413928-2.html 413928-2-ref.html +random-if((B2G&&browserIsRemote)||Mulet) == 413928-1.html 413928-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +random-if((B2G&&browserIsRemote)||Mulet) == 413928-2.html 413928-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 425338-1a.html 425338-1-ref.html == 425338-1b.html 425338-1-ref.html == 489517-1.html 489517-1-ref.html @@ -119,7 +119,7 @@ fuzzy-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)&&!layersGPUAccelerated&&!azur == 662288-1.html 662288-1-ref.html == 670226-1.html 670226-1-ref.html == 676245-1.html 676245-1-ref.html -skip-if(B2G) == 698291-1.html 698291-1-ref.html +skip-if(B2G||Mulet) == 698291-1.html 698291-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 698706-1.html 698706-1-ref.html == 704837-1.html 704837-1-ref.html == 712600-1.html 712600-1-ref.html @@ -129,7 +129,7 @@ skip-if(B2G) == 698291-1.html 698291-1-ref.html == 718236-1.html 718236-1-ref.html == 718236-2.html 718236-2-ref.html == 718236-3.html 718236-3-ref.html -skip-if(B2G) == 726420-1.html 726420-1-ref.html +skip-if(B2G||Mulet) == 726420-1.html 726420-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 726460-1.html 726460-1-ref.html == 729047-1.html 729047-1-ref.html == 730562-1.html 730562-1-ref.html @@ -140,7 +140,7 @@ skip-if(B2G) == 726420-1.html 726420-1-ref.html == 779003-1.html 779003-1-ref.html == 779003-1-dynamic.html 779003-1-ref.html == 847242-1.html 847242-1-ref.html -skip-if(B2G&&browserIsRemote) == 869833-1.xul 869833-1-ref.xul +skip-if((B2G&&browserIsRemote)||Mulet) == 869833-1.xul 869833-1-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop == 922530-1.html 922530-1-ref.html == 922550-1.html 922550-1-ref.html == 1067268-1.html 1067268-1-ref.html diff --git a/layout/reftests/border-radius/reftest.list b/layout/reftests/border-radius/reftest.list index 34fa47bc5b..9423bb918b 100644 --- a/layout/reftests/border-radius/reftest.list +++ b/layout/reftests/border-radius/reftest.list @@ -67,18 +67,18 @@ fuzzy-if(true,1,33) fuzzy-if(cocoaWidget,1,332) fuzzy-if(Android&&browserIsRemot == table-collapse-1.html table-collapse-1-ref.html # border-radius is ignored on internal table elements # when border-collapse: collapse -fuzzy-if(azureQuartz,1,3) skip-if(B2G) == invalidate-1a.html invalidate-1-ref.html -fuzzy-if(azureQuartz,1,3) skip-if(B2G) == invalidate-1b.html invalidate-1-ref.html +fuzzy-if(azureQuartz,1,3) skip-if(B2G||Mulet) == invalidate-1a.html invalidate-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fuzzy-if(azureQuartz,1,3) skip-if(B2G||Mulet) == invalidate-1b.html invalidate-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop # test that border-radius is reduced for scrollbars -skip-if(B2G) fails-if(Android) == scrollbar-clamping-1.html scrollbar-clamping-1-ref.html -skip-if(B2G) fails-if(Android) == scrollbar-clamping-2.html scrollbar-clamping-2-ref.html +skip-if(B2G||Mulet) fails-if(Android) == scrollbar-clamping-1.html scrollbar-clamping-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) == scrollbar-clamping-2.html scrollbar-clamping-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop # Test for bad corner joins. fuzzy-if(true,1,1) == corner-joins-1.xhtml corner-joins-1-ref.xhtml -skip-if(B2G) random-if(winWidget) HTTP(..) == corner-joins-2.xhtml corner-joins-2-ref.xhtml +skip-if(B2G||Mulet) random-if(winWidget) HTTP(..) == corner-joins-2.xhtml corner-joins-2-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop -skip-if(B2G) fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,20) fuzzy-if(Android&&browserIsRemote,7,146) fuzzy-if(Android&&!browserIsRemote,166,400) fails-if(Android&&AndroidVersion==15) == scroll-1.html scroll-1-ref.html # see bug 732535 #Bug 959166 +skip-if(B2G||Mulet) fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,20) fuzzy-if(Android&&browserIsRemote,7,146) fuzzy-if(Android&&!browserIsRemote,166,400) fails-if(Android&&AndroidVersion==15) == scroll-1.html scroll-1-ref.html # see bug 732535 #Bug 959166 # Initial mulet triage: parity with B2G/B2G Desktop == transforms-1.html transforms-1-ref.html diff --git a/layout/reftests/box-ordinal/reftest.list b/layout/reftests/box-ordinal/reftest.list index 6cf8335643..3696aca495 100644 --- a/layout/reftests/box-ordinal/reftest.list +++ b/layout/reftests/box-ordinal/reftest.list @@ -1,7 +1,7 @@ == box-ordinal-with-out-of-flow-1.html box-ordinal-with-out-of-flow-1-ref.html -skip-if(B2G&&browserIsRemote) == dynamic-1-remove-to-none-grouped.xul dynamic-1-ref.xul -skip-if(B2G&&browserIsRemote) == dynamic-1-add-to-one-grouped.xul dynamic-1-ref.xul -skip-if(B2G&&browserIsRemote) == dynamic-1-remove-to-one-grouped-1.xul dynamic-1-ref.xul -fails skip-if(B2G&&browserIsRemote) == dynamic-1-remove-to-one-grouped-2.xul dynamic-1-ref.xul # bug 575500 -skip-if(B2G&&browserIsRemote) == dynamic-1-add-to-two-grouped-1.xul dynamic-1-ref.xul -skip-if(B2G&&browserIsRemote) == dynamic-1-add-to-two-grouped-2.xul dynamic-1-ref.xul +skip-if((B2G&&browserIsRemote)||Mulet) == dynamic-1-remove-to-none-grouped.xul dynamic-1-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == dynamic-1-add-to-one-grouped.xul dynamic-1-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == dynamic-1-remove-to-one-grouped-1.xul dynamic-1-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop +fails skip-if((B2G&&browserIsRemote)||Mulet) == dynamic-1-remove-to-one-grouped-2.xul dynamic-1-ref.xul # bug 575500 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == dynamic-1-add-to-two-grouped-1.xul dynamic-1-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == dynamic-1-add-to-two-grouped-2.xul dynamic-1-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop diff --git a/layout/reftests/box-properties/reftest.list b/layout/reftests/box-properties/reftest.list index 1aa02c45e9..5015efb5d0 100644 --- a/layout/reftests/box-properties/reftest.list +++ b/layout/reftests/box-properties/reftest.list @@ -19,12 +19,12 @@ == box-sizing-minmax-height.html box-sizing-minmax-height-ref.html == box-sizing-minmax-width.html box-sizing-minmax-width-ref.html == box-sizing-mozbox-minmax-height.html box-sizing-mozbox-minmax-height-ref.html -skip-if(B2G) == abspos-non-replaced-width-offset-margin.html abspos-non-replaced-width-offset-margin-ref.html -skip-if(B2G) == abspos-replaced-width-offset-margin.html abspos-replaced-width-offset-margin-ref.html -skip-if(B2G) HTTP(..) == CSS21-t100301.xhtml CSS21-t100301-ref.xhtml -random-if(B2G) == CSS21-t100303.xhtml CSS21-t100303-ref.xhtml -random-if(B2G) == CSS21-t100303-simple.xhtml CSS21-t100303-ref.xhtml -random-if(B2G) == CSS21-t100801-vertical-align.xhtml CSS21-t100801-vertical-align-ref.xhtml +skip-if(B2G||Mulet) == abspos-non-replaced-width-offset-margin.html abspos-non-replaced-width-offset-margin-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == abspos-replaced-width-offset-margin.html abspos-replaced-width-offset-margin-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) HTTP(..) == CSS21-t100301.xhtml CSS21-t100301-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop +random-if(B2G||Mulet) == CSS21-t100303.xhtml CSS21-t100303-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop +random-if(B2G||Mulet) == CSS21-t100303-simple.xhtml CSS21-t100303-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop +random-if(B2G||Mulet) == CSS21-t100801-vertical-align.xhtml CSS21-t100801-vertical-align-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop == clip-auto.html clip-auto-ref.html == clip-rect-auto.html clip-rect-auto-ref.html == width-rounding.html width-rounding-ref.html diff --git a/layout/reftests/box-shadow/reftest.list b/layout/reftests/box-shadow/reftest.list index aa4538b85a..35f6b0c95e 100644 --- a/layout/reftests/box-shadow/reftest.list +++ b/layout/reftests/box-shadow/reftest.list @@ -9,12 +9,12 @@ random != boxshadow-blur-2.html boxshadow-blur-2-notref.html # fixedpoint divisi == tableboxshadow-trshadow.html tableboxshadow-trshadow-ref.html == tableboxshadow-tdshadow.html tableboxshadow-tdshadow-ref.html == boxshadow-rounding.html boxshadow-rounding-ref.html -fails-if(Android||B2G) == boxshadow-button.html boxshadow-button-ref.html -fails-if(Android||B2G) == boxshadow-fileupload.html boxshadow-fileupload-ref.html +fails-if(Android||B2G||Mulet) == boxshadow-button.html boxshadow-button-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) == boxshadow-fileupload.html boxshadow-fileupload-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == boxshadow-inner-basic.html boxshadow-inner-basic-ref.svg random-if(layersGPUAccelerated) == boxshadow-mixed.html boxshadow-mixed-ref.html random-if(d2d) fuzzy-if(B2G,12,18) == boxshadow-rounded-spread.html boxshadow-rounded-spread-ref.html -skip-if(B2G&&browserIsRemote) HTTP(..) == boxshadow-dynamic.xul boxshadow-dynamic-ref.xul +skip-if((B2G&&browserIsRemote)||Mulet) HTTP(..) == boxshadow-dynamic.xul boxshadow-dynamic-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop random-if(d2d) == boxshadow-onecorner.html boxshadow-onecorner-ref.html random-if(d2d) == boxshadow-twocorners.html boxshadow-twocorners-ref.html random-if(d2d) == boxshadow-threecorners.html boxshadow-threecorners-ref.html @@ -25,7 +25,7 @@ random-if(d2d) == boxshadow-threecorners.html boxshadow-threecorners-ref.html == overflow-not-scrollable-1.html overflow-not-scrollable-1-ref.html == overflow-not-scrollable-1.html overflow-not-scrollable-1-ref2.html == overflow-not-scrollable-2.html overflow-not-scrollable-2-ref.html -fails-if(B2G) == 611574-1.html 611574-1-ref.html -fails-if(B2G) == 611574-2.html 611574-2-ref.html +fails-if(B2G||Mulet) == 611574-1.html 611574-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(B2G||Mulet) == 611574-2.html 611574-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop fuzzy-if(winWidget,5,30) == fieldset.html fieldset-ref.html # minor anti-aliasing problem on Windows fuzzy-if(winWidget,5,30) == fieldset-inset.html fieldset-inset-ref.html # minor anti-aliasing problem on Windows diff --git a/layout/reftests/box/reftest.list b/layout/reftests/box/reftest.list index 965ffa11d2..b066f8cc2a 100644 --- a/layout/reftests/box/reftest.list +++ b/layout/reftests/box/reftest.list @@ -5,7 +5,7 @@ == flexbox-abspos-container-2.html flexbox-abspos-container-2-ref.html == flexbox-attributes-no-box-horizontal.xhtml flexbox-attributes-no-box-horizontal-ref.xhtml == flexbox-attributes-no-box-vertical.xhtml flexbox-attributes-no-box-vertical-ref.xhtml -skip-if(B2G) == flexbox-attributes-no-input-horizontal.xhtml flexbox-attributes-no-input-horizontal-ref.xhtml -skip-if(B2G) == flexbox-attributes-no-input-vertical.xhtml flexbox-attributes-no-input-vertical-ref.xhtml +skip-if(B2G||Mulet) == flexbox-attributes-no-input-horizontal.xhtml flexbox-attributes-no-input-horizontal-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == flexbox-attributes-no-input-vertical.xhtml flexbox-attributes-no-input-vertical-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop == flexbox-child-is-abspos-container-1.html flexbox-child-is-abspos-container-1-ref.html == flexbox-child-is-abspos-container-2.html flexbox-child-is-abspos-container-2-ref.html diff --git a/layout/reftests/bugs/reftest.list b/layout/reftests/bugs/reftest.list index 8ef67975f4..d824f821f7 100644 --- a/layout/reftests/bugs/reftest.list +++ b/layout/reftests/bugs/reftest.list @@ -157,34 +157,34 @@ random == 99850-1b.html 99850-1-ref.html # bug 471629 == 185388-1.html 185388-1-ref.html == 186317-1.html 186317-1-ref.html == 192902-1.html 192902-ref.html -skip-if(B2G) == 192767-01.xul 192767-11.xul -skip-if(B2G) == 192767-02.xul 192767-12.xul -skip-if(B2G) == 192767-03.xul 192767-13.xul -skip-if(B2G) == 192767-04.xul 192767-14.xul -skip-if(B2G) == 192767-05.xul 192767-15.xul -skip-if(B2G) == 192767-06.xul 192767-16.xul -skip-if(B2G) == 192767-07.xul 192767-17.xul -skip-if(B2G) == 192767-21.xul 192767-31.xul -skip-if(B2G) == 192767-22.xul 192767-32.xul -skip-if(B2G) == 192767-23.xul 192767-33.xul -skip-if(B2G) == 192767-24.xul 192767-34.xul -skip-if(B2G) == 192767-25.xul 192767-35.xul -skip-if(B2G) == 192767-26.xul 192767-36.xul -skip-if(B2G) == 192767-27.xul 192767-37.xul -skip-if(B2G&&browserIsRemote) != 192767-01.xul 192767-21.xul # bug 974780 -skip-if(B2G&&browserIsRemote) != 192767-02.xul 192767-22.xul # bug 974780 -fails-if(Android) skip-if(B2G) != 192767-03.xul 192767-23.xul -skip-if(B2G&&browserIsRemote) != 192767-04.xul 192767-24.xul # bug 974780 -skip-if(B2G&&browserIsRemote) != 192767-05.xul 192767-25.xul # bug 974780 -fails-if(Android) skip-if(B2G) != 192767-06.xul 192767-26.xul -fails-if(Android) skip-if(B2G) != 192767-07.xul 192767-27.xul -skip-if(B2G&&browserIsRemote) != 192767-11.xul 192767-31.xul # bug 974780 -skip-if(B2G&&browserIsRemote) != 192767-12.xul 192767-32.xul # bug 974780 -fails-if(Android) skip-if(B2G) != 192767-13.xul 192767-33.xul -skip-if(B2G&&browserIsRemote) != 192767-14.xul 192767-34.xul # bug 974780 -skip-if(B2G&&browserIsRemote) != 192767-15.xul 192767-35.xul # bug 974780 -fails-if(Android) skip-if(B2G) != 192767-16.xul 192767-36.xul -fails-if(Android) skip-if(B2G) != 192767-17.xul 192767-37.xul +skip-if(B2G||Mulet) == 192767-01.xul 192767-11.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 192767-02.xul 192767-12.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 192767-03.xul 192767-13.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 192767-04.xul 192767-14.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 192767-05.xul 192767-15.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 192767-06.xul 192767-16.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 192767-07.xul 192767-17.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 192767-21.xul 192767-31.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 192767-22.xul 192767-32.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 192767-23.xul 192767-33.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 192767-24.xul 192767-34.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 192767-25.xul 192767-35.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 192767-26.xul 192767-36.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 192767-27.xul 192767-37.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != 192767-01.xul 192767-21.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != 192767-02.xul 192767-22.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android) skip-if(B2G||Mulet) != 192767-03.xul 192767-23.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != 192767-04.xul 192767-24.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != 192767-05.xul 192767-25.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android) skip-if(B2G||Mulet) != 192767-06.xul 192767-26.xul # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android) skip-if(B2G||Mulet) != 192767-07.xul 192767-27.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != 192767-11.xul 192767-31.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != 192767-12.xul 192767-32.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android) skip-if(B2G||Mulet) != 192767-13.xul 192767-33.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != 192767-14.xul 192767-34.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != 192767-15.xul 192767-35.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android) skip-if(B2G||Mulet) != 192767-16.xul 192767-36.xul # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android) skip-if(B2G||Mulet) != 192767-17.xul 192767-37.xul # Initial mulet triage: parity with B2G/B2G Desktop != 200774-1.html about:blank == 201215-1.html 201215-1-ref.html == 201293-1a.html 201293-1-ref.html @@ -206,14 +206,14 @@ fails-if(Android) skip-if(B2G) != 192767-17.xul 192767-37.xul == 214077-1a.html 214077-1-ref.html == 214077-1b.html 214077-1-ref.html == 218473-1.html 218473-1-ref.html -skip-if(B2G&&browserIsRemote) == 220165-1.svg 220165-1-ref.svg # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 220165-1.svg 220165-1-ref.svg # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 223809-1.html 223809-1-ref.html == 228856-1.html 228856-1-ref.html == 228856-2.html 228856-2-ref.html == 229591-1.html 229591-1-ref.html # == 231823-1.html 231823-1-ref.html == 232990-1a.xhtml 232990-1-ref.xhtml -skip-if(B2G&&browserIsRemote) == 232990-1b.xhtml 232990-1-ref.xhtml +skip-if((B2G&&browserIsRemote)||Mulet) == 232990-1b.xhtml 232990-1-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop == 233094-1.html 233094-1-ref.html == 233094-2a.html 233094-2-ref.html == 233094-2b.html 233094-2-ref.html @@ -237,17 +237,17 @@ skip-if(B2G&&browserIsRemote) == 232990-1b.xhtml 232990-1-ref.xhtml == 234686-17.html 234686-ref.html == 234686-18.html 234686-ref.html == 234686-19.html 234686-ref.html -skip-if(B2G) == 234964-1.html 234964-1-ref.html +skip-if(B2G||Mulet) == 234964-1.html 234964-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 234964-2.html 234964-2-ref.html == 235593-1.html 235593-1-ref.html == 236539-1.html 236539-1-ref.html == 240029-1.html 240029-1-ref.html == 240470-1.html 240470-1-ref.html -skip-if(B2G) == 240933-1.html 240933-1-ref.html -skip-if(Android||B2G) == 240933-2.html 240933-2-ref.html +skip-if(B2G||Mulet) == 240933-1.html 240933-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == 240933-2.html 240933-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 243266-1.html 243266-1-ref.html == 243302-1.html 243302-1-ref.html -skip-if(B2G) == 243519-1.html 243519-1-ref.html +skip-if(B2G||Mulet) == 243519-1.html 243519-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 243519-2.html 243519-2-ref.html == 243519-3.html 243519-3-ref.html == 243519-4a.html 243519-4-ref.html @@ -261,7 +261,7 @@ skip-if(B2G) == 243519-1.html 243519-1-ref.html == 243519-5c.html 243519-5-ref.html == 243519-5d.html 243519-5-ref.html == 243519-6.html 243519-6-ref.html -skip-if(B2G) == 243519-7.html 243519-7-ref.html +skip-if(B2G||Mulet) == 243519-7.html 243519-7-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 243519-8.svg 243519-8-ref.svg == 243519-9a.html 243519-9-ref.html == 243519-9b.html 243519-9-ref.html @@ -273,13 +273,13 @@ skip-if(B2G) == 243519-7.html 243519-7-ref.html == 244135-2.html 244135-2-ref.html == 244932-1.html 244932-1-ref.html == 246669-1.html 246669-1-ref.html -skip-if(B2G) == 249141.xul 249141-ref.xul +skip-if(B2G||Mulet) == 249141.xul 249141-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop == 249982-1.html 249982-1-ref.html == 252920-1.html 252920-1-ref.html == 253701-1.html 253701-1-ref.html == 255820-1.html 255820-1-ref.html == 260406-1.html 260406-1-ref.html -skip-if(B2G&&browserIsRemote) == 261826-1.xul 261826-1-ref.xul # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 261826-1.xul 261826-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 262151-1.html 262151-1-ref.html == 262998-1.html 262998-1-ref.html == 267353-1.html 267353-1-ref.html @@ -290,11 +290,11 @@ skip-if(B2G&&browserIsRemote) == 261826-1.xul 261826-1-ref.xul # bug 974780 == 269908-5.html 269908-5-ref.html == 271747-1a.html 271747-1-ref.html == 271747-1b.html 271747-1-ref.html -skip-if(B2G&&browserIsRemote) == 272646-1.xul 272646-1-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == 272646-2a.xul 272646-2-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == 272646-2b.xul 272646-2-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == 272646-2c.xul 272646-2-ref.xul # bug 974780 -skip-if(B2G) == 273681-1.html 273681-1-ref.html +skip-if((B2G&&browserIsRemote)||Mulet) == 272646-1.xul 272646-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 272646-2a.xul 272646-2-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 272646-2b.xul 272646-2-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 272646-2c.xul 272646-2-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 273681-1.html 273681-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 278266-1a.html 278266-1-ref.html == 278266-1b.html 278266-1-ref.html == 280708-1a.html 280708-1-ref.html @@ -305,33 +305,33 @@ skip-if(B2G) == 273681-1.html 273681-1-ref.html == 283686-2.html 283686-2-ref.html == 283686-3.html about:blank == 289384-1.xhtml 289384-ref.xhtml -random-if(d2d) fuzzy-if(Android&&AndroidVersion>=15,8,1439) skip-if(B2G&&browserIsRemote) HTTP == 289480.html#top 289480-ref.html # basically-verbatim acid2 test, HTTP for a 404 page -- bug 578114 for the d2d failures +random-if(d2d) fuzzy-if(Android&&AndroidVersion>=15,8,1439) skip-if((B2G&&browserIsRemote)||Mulet) HTTP == 289480.html#top 289480-ref.html # basically-verbatim acid2 test, HTTP for a 404 page -- bug 578114 for the d2d failures # Initial mulet triage: parity with B2G/B2G Desktop == 290129-1.html 290129-1-ref.html -skip-if(B2G) == 291078-1.html 291078-1-ref.html +skip-if(B2G||Mulet) == 291078-1.html 291078-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 291078-2.html 291078-2-ref.html == 291262-1.html 291262-1-ref.html == 294306-1.html 294306-1a-ref.html != 294306-1.html 294306-1b-ref.html == 296361-1.html 296361-ref.html == 296904-1.html 296904-1-ref.html -skip-if(B2G) == 299136-1.html 299136-1-ref.html +skip-if(B2G||Mulet) == 299136-1.html 299136-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 299837-1.html 299837-1-ref.html -skip-if(B2G&&browserIsRemote) == 299837-2.xul 299837-2-ref.xul # bug 974780 -random-if(d2d) skip-if(B2G&&browserIsRemote) == 299837-3.xul 299837-3-ref.xul # bug 587631, 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 299837-2.xul 299837-2-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +random-if(d2d) skip-if((B2G&&browserIsRemote)||Mulet) == 299837-3.xul 299837-3-ref.xul # bug 587631, 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 300691-1a.html 300691-1-ref.html == 300691-1b.html 300691-1-ref.html == 300691-1c.html 300691-1-ref.html == 300691-1d.html 300691-1-ref.html == 300691-1e.html 300691-1-ref.html == 300691-1f.html 300691-1-ref.html -skip-if(B2G) == 301726-1.html 301726-1-ref.html -skip-if(B2G) fails-if(Android) != 301726-2.html 301726-2-ref.html +skip-if(B2G||Mulet) == 301726-1.html 301726-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) != 301726-2.html 301726-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 302379.html 302379-ref.html == 306630-1.html 306630-1-ref.html == 306660-1.html 306660-1-ref.html == 306660-2.html 306660-2-ref.html == 306660-3.html 306660-3-ref.html -skip-if(B2G) == 307076-1.html 307076-1-ref.html +skip-if(B2G||Mulet) == 307076-1.html 307076-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 307102-1.html 307102-1-ref.html == 307102-2.html 307102-2-ref.html == 307102-3.html 307102-3-ref.html @@ -339,7 +339,7 @@ skip-if(B2G) == 307076-1.html 307076-1-ref.html == 308406-1.html 308406-1-ref.html == 308406-2.html 308406-2-ref.html == 309550-1.html 309550-1-ref.html -skip-if(B2G&&browserIsRemote) == 309914-1.xul 309914-1-ref.xul # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 309914-1.xul 309914-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 311366-unknown-inline-1.html 311366-unknown-inline-1-ref.html == 311366-unknown-block-1.html 311366-unknown-block-1-ref.html == 311366-unknown-block-3.html 311366-unknown-block-3-ref.html @@ -412,10 +412,10 @@ skip-if(B2G&&browserIsRemote) == 309914-1.xul 309914-1-ref.xul # bug 974780 == 320979-1.html 320979-1-ref.html != 321402-1.html about:blank != 321402-2.html about:blank -skip-if(B2G&&browserIsRemote) == 321402-3.xul 321402-3-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == 321402-4.xul 321402-4-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == 321402-5.xul 321402-5-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == 321402-6.xul 321402-6-ref.xul # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 321402-3.xul 321402-3-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 321402-4.xul 321402-4-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 321402-5.xul 321402-5-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 321402-6.xul 321402-6-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 321738-1.html 321738-1-ref.html == 322436-1.html 322436-1-ref.html == 322461-1.xml 322461-1-ref.html @@ -436,16 +436,16 @@ random == 328829-1.xhtml 328829-1-ref.xhtml # bug 369046 (intermittent) == 332360-ltr.html 332360-ltr-ref.html == 332360-width.html 332360-ref.html == 332360-width-ltr.html 332360-ltr-ref.html -skip-if(B2G) == 332557-1.html 332557-1-ref.html +skip-if(B2G||Mulet) == 332557-1.html 332557-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 332975-1.html 332975-1-ref.html == 333970-1.html 333970-1-ref.html == 334829-1a.xhtml 334829-1-ref.xhtml == 334829-1b.xhtml 334829-1-ref.xhtml == 335628-1.html 335628-1-ref.html -skip-if(B2G&&browserIsRemote) != 335628-2.xul 335628-2-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == 336096-1.xul 336096-1-ref.xul # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) != 335628-2.xul 335628-2-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 336096-1.xul 336096-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 336147-1.html 336147-1-ref.html -skip-if(B2G) == 336153-1.html 336153-1-ref.html +skip-if(B2G||Mulet) == 336153-1.html 336153-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop != 338251-p.html about:blank == 338251-p-oh.html 338251-p-oh-ref.html != 338251-pre.html about:blank @@ -460,14 +460,14 @@ skip-if(B2G) == 336153-1.html 336153-1-ref.html == 345267-1c.html 345267-1-ref.html == 345267-1d.html 345267-1-ref.html != 345563-sub.xhtml 345563-sup.xhtml -skip-if(B2G&&browserIsRemote) == 346189-1.xul 346189-1-ref.xul # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 346189-1.xul 346189-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 346774-1a.html 346774-1-ref.html == 346774-1b.html 346774-1-ref.html == 346774-1c.html 346774-1-ref.html == 347348-1.xhtml 347348-1-ref.xhtml == 347496-1.xhtml 347496-1-ref.xhtml == 347912-1.html 347912-1-ref.html -skip-if(B2G&&browserIsRemote) == 348049-1.xhtml 348049-1-ref.xhtml +skip-if((B2G&&browserIsRemote)||Mulet) == 348049-1.xhtml 348049-1-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop == 348516-1.html 348516-1-ref.html == 348516-2.html 348516-2-ref.html != 348516-2.html 348516-2-notref.html @@ -553,10 +553,10 @@ skip-if(Android) == 363706-1.html 363706-1-ref.html != 363706-1.html about:blank == 363728-1.html 363728-1-ref.html == 363728-2.html 363728-2-ref.html -skip-if(B2G) == 363858-1.html 363858-1-ref.html -skip-if(B2G) == 363858-2.html 363858-2-ref.html -skip-if(B2G) == 363858-3.html 363858-3-ref.html -skip-if(B2G) == 363858-4.html 363858-4-ref.html +skip-if(B2G||Mulet) == 363858-1.html 363858-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 363858-2.html 363858-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 363858-3.html 363858-3-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 363858-4.html 363858-4-ref.html # Initial mulet triage: parity with B2G/B2G Desktop fuzzy-if(OSX>=1008,45,2) == 363858-5a.html 363858-5-ref.html == 363858-5b.html 363858-5-ref.html fuzzy-if(OSX>=1008,45,2) == 363858-6a.html 363858-6-ref.html @@ -567,19 +567,19 @@ fuzzy-if(OSX>=1008,45,2) == 363858-6a.html 363858-6-ref.html == 364079-1.html 364079-1-ref.html == 364318-1.xhtml 364318-1-ref.xhtml == 364861-1.html 364861-1-ref.html -skip-if(B2G) == 364862-1.html 364862-1-ref.html -skip-if(B2G) == 364968-1.xul 364968-1-ref.html +skip-if(B2G||Mulet) == 364862-1.html 364862-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 364968-1.xul 364968-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 364989-1.html 364989-1-ref.html == 365173-1.html 365173-1-ref.html -skip-if(B2G&&browserIsRemote) == 366207-1.xul 366207-1-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == 366616-1.xul 366616-1-ref.xul # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 366207-1.xul 366207-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 366616-1.xul 366616-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 367220-1.html 367220-1-ref.html == 367247-s-visible.html 367247-s-hidden.html == 367247-s-hidden.html 367247-s-auto.html -skip-if(B2G) fails-if(Android) != 367247-s-auto.html 367247-s-scroll.html +skip-if(B2G||Mulet) fails-if(Android) != 367247-s-auto.html 367247-s-scroll.html # Initial mulet triage: parity with B2G/B2G Desktop != 367247-l-visible.html 367247-l-hidden.html -skip-if(B2G) fails-if(Android) != 367247-l-hidden.html 367247-l-scroll.html -skip-if(B2G) == 367247-l-scroll.html 367247-l-auto.html +skip-if(B2G||Mulet) fails-if(Android) != 367247-l-hidden.html 367247-l-scroll.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 367247-l-scroll.html 367247-l-auto.html # Initial mulet triage: parity with B2G/B2G Desktop == 367332-1a.html 367332-1-ref.html == 367332-1b.html 367332-1-ref.html == 367332-1c.html 367332-1-ref.html @@ -599,7 +599,7 @@ skip-if(B2G) == 367247-l-scroll.html 367247-l-auto.html == 367612-1e.html 367612-1-ref.html == 367612-1f.html 367612-1-ref.html != 367612-1g.html 367612-1-ref.html -skip-if(B2G) random-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) == 368020-1.html 368020-1-ref.html +skip-if(B2G||Mulet) random-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) == 368020-1.html 368020-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 368020-2.html 368020-2-ref.html == 368020-3.html 368020-3-ref.html pref(layout.css.box-decoration-break.enabled,true) == 368020-5.html 368020-5-ref.html @@ -620,7 +620,7 @@ asserts(4) == 368155-negative-margins-1.html 368155-negative-margins-1-ref.html == 368651-1.html 368651-1-ref.html == 369361-1.html 369361-1-ref.html == 369361-2.html 369361-2-ref.html -skip-if(B2G&&browserIsRemote) == 369882.xul 369882-ref.xul # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 369882.xul 369882-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 369975-1.html 369975-1.html == 370353-1.html 370353-1-ref.html == 370422-1.html 370422-1-ref.html @@ -637,18 +637,18 @@ skip-if(B2G&&browserIsRemote) == 369882.xul 369882-ref.xul # bug 974780 == 370525-rowspan-4.html 370525-rowspan-4-ref.html == 370525-sib.html 370525-sib-ref.html == 370586-1.xhtml 370586-1-ref.xhtml -skip-if(B2G) == 370629-1.html 370629-1-ref.html # bug 1060869 -skip-if(B2G) == 370629-2.html 370629-2-ref.html +skip-if(B2G||Mulet) == 370629-1.html 370629-1-ref.html # bug 1060869 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 370629-2.html 370629-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 370692-1.xhtml 370692-1-ref.xhtml == 371041-1.html 371041-1-ref.html == 371043-1.html 371043-1-ref.html == 371354-1.html 371354-1-ref.html == 371483-1.html about:blank # assertion test fails-if(Android) == 371561-1.html 371561-1-ref.html -skip-if(B2G&&browserIsRemote) != 371681-1.xhtml about:blank # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) != 371681-1.xhtml about:blank # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 371925-1a.html 371925-1-ref.html == 371925-1b.html 371925-1-ref.html -skip-if(B2G) == 372037-1.html 372037-1-ref.html +skip-if(B2G||Mulet) == 372037-1.html 372037-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 372062-1.html 372062-1-ref.html == 372063-1.html 372063-1-ref.html == 372323-1.xhtml 372323-1-ref.xhtml @@ -657,18 +657,18 @@ skip-if(B2G) == 372037-1.html 372037-1-ref.html == 372768-1.html 372768-1-ref.html == 373295-1.html 373295-1-ref.html == 373298-1.html 373298-1-ref.html -skip-if(B2G) fails-if(Android) == 373381-1.html 373381-1-ref.html -skip-if(B2G) fails-if(Android) == 373381-2.html 373381-2-ref.html -skip-if(B2G) fails-if(Android) random-if(d2d) == 373381-3.html 373381-3-ref.html -skip-if(B2G) fails-if(Android) == 373381-4.html 373381-4-ref.html +skip-if(B2G||Mulet) fails-if(Android) == 373381-1.html 373381-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) == 373381-2.html 373381-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) random-if(d2d) == 373381-3.html 373381-3-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) == 373381-4.html 373381-4-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 373383-1.html 373383-1-ref.html == 373433-1.html 373433-1-ref.html -skip-if(B2G&&browserIsRemote) == 373533-1.xhtml about:blank # bug 974780 -skip-if(B2G&&browserIsRemote) == 373533-2.xhtml about:blank # bug 974780 -skip-if(B2G&&browserIsRemote) == 373533-3.xhtml about:blank # bug 974780 -skip-if(B2G&&browserIsRemote) == 374038-1.xul 374038-1-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == 374038-2.xul 374038-2-ref.xul # bug 974780 -random-if(d2d) skip-if(B2G&&browserIsRemote) == 374719-1.xul 374719-1-ref.xul # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 373533-1.xhtml about:blank # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 373533-2.xhtml about:blank # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 373533-3.xhtml about:blank # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 374038-1.xul 374038-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 374038-2.xul 374038-2-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +random-if(d2d) skip-if((B2G&&browserIsRemote)||Mulet) == 374719-1.xul 374719-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop fails == 374927-1.html 374927-1-ref.html # Was broken by patch for bug 368600; fails until bug 400776 is fixed == 375508-1.html 375508-1-ref.html == 375716-1.html 375716-1-ref.html @@ -676,34 +676,34 @@ fails == 374927-1.html 374927-1-ref.html # Was broken by patch for bug 368600; f == 376375-1.html 376375-1-ref.html == 376484-1.html 376484-1-ref.html == 376532-1.html 376532-1-ref.html -skip-if(B2G) fails-if(Android) != 376532-2.html 376532-2-ref.html -skip-if(B2G) fails-if(Android) != 376532-3.html 376532-3-ref.html +skip-if(B2G||Mulet) fails-if(Android) != 376532-2.html 376532-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) != 376532-3.html 376532-3-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 377603-1.html 377603-1-ref.html == 377918.html 377918-ref.html == 378535-1.html 378535-1-ref.html -skip-if(B2G) == 378933-1.html 378933-1-ref.html -skip-if(B2G) == 378935-1.html 378935-1-ref.html -skip-if(B2G) == 378937-1.html 378937-1-ref.html +skip-if(B2G||Mulet) == 378933-1.html 378933-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 378935-1.html 378935-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 378937-1.html 378937-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 379178-xhtml.xhtml 379178-xhtml-ref.xhtml == 379178-html.html 379178-html-ref.html == 379178-svg.svg 379178-svg-ref.svg == 379316-1.html 379316-1-ref.html -skip-if(B2G) fails-if(Android) random-if(cocoaWidget) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,170) fuzzy-if(gtk2Widget,1,191) == 379316-2.html 379316-2-ref.html # bug 379786 +skip-if(B2G||Mulet) fails-if(Android) random-if(cocoaWidget) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy-if(/^Windows\x20NT\x206\.2/.test(http.oscpu),1,170) fuzzy-if(gtk2Widget,1,191) == 379316-2.html 379316-2-ref.html # bug 379786 # Initial mulet triage: parity with B2G/B2G Desktop == 379328-1.html 379328-1-ref.html == 379349-1a.xhtml 379349-1-ref.xhtml == 379349-1b.xhtml 379349-1-ref.xhtml == 379349-1c.xhtml 379349-1-ref.xhtml == 379349-2a.xhtml 379349-2-ref.xhtml == 379349-2b.xhtml 379349-2-ref.xhtml -skip-if(B2G) == 379349-3a.xhtml 379349-3-ref.xhtml -skip-if(B2G) == 379349-3b.xhtml 379349-3-ref.xhtml +skip-if(B2G||Mulet) == 379349-3a.xhtml 379349-3-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 379349-3b.xhtml 379349-3-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop == 379361-1.html 379361-1-ref.html == 379361-2.html 379361-2-ref.html == 379361-3.html 379361-3-ref.html == 379461-1.xhtml 379461-1.html == 379461-2.xhtml 379461-2.html -skip-if(B2G) == 379461-3-container-xhtml.html 379461-3-container-html.html -skip-if(B2G) fails-if(Android) != 379461-3-container-xhtml.html 379461-3-container-blank.html # there is a scrollbar +skip-if(B2G||Mulet) == 379461-3-container-xhtml.html 379461-3-container-html.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) != 379461-3-container-xhtml.html 379461-3-container-blank.html # there is a scrollbar # Initial mulet triage: parity with B2G/B2G Desktop == 380004-1.html 380004-1-ref.html == 380227-1.html 380227-1-ref.html == 380825-1.html 380825-1-ref.html @@ -742,8 +742,8 @@ fails == 385823-2b.html 385823-2-ref.html == 386014-1c.html 386014-1-ref.html == 386065-1.html 386065-1-ref.html == 386065-2.html about:blank -test-pref(layout.float-fragments-inside-column.enabled,false) skip-if(B2G) fails == 386147-1.html 386147-1-ref.html -test-pref(layout.float-fragments-inside-column.enabled,true) skip-if(B2G) == 386147-1.html 386147-1-ref.html +test-pref(layout.float-fragments-inside-column.enabled,false) skip-if(B2G||Mulet) fails == 386147-1.html 386147-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +test-pref(layout.float-fragments-inside-column.enabled,true) skip-if(B2G||Mulet) == 386147-1.html 386147-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 386310-1a.html 386310-1-ref.html == 386310-1b.html 386310-1-ref.html == 386310-1c.html 386310-1-ref.html @@ -769,9 +769,9 @@ fails == 387344-1.html 387344-1-ref.html # scrolling rowgroups were removed in b == 389074-1.html 389074-1-ref.html == 389224-1.html 389224-1-ref.html == 389224-2.html about:blank -skip-if(B2G) == 389468-1.html 389468-1-ref.html +skip-if(B2G||Mulet) == 389468-1.html 389468-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 389623-1.html 389623-1-ref.html -skip-if(B2G&&browserIsRemote) == 389636-1.html about:blank # assertion test # bug 975911 +skip-if((B2G&&browserIsRemote)||Mulet) == 389636-1.html about:blank # assertion test # bug 975911 # Initial mulet triage: parity with B2G/B2G Desktop == 389924-1a.html 389924-1-ref.html == 389924-1b.html 389924-1-ref.html != 389924-1a.html about:blank @@ -792,7 +792,7 @@ skip-if(Android) == 391979.html 391979-ref.html == 392435-1.html 392435-1-ref.html == 393330-1.html 393330-1-ref.html == 393490-1.html 393490-1-ref.html -skip-if(B2G&&browserIsRemote) == 393517-1.xhtml about:blank # crash test # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 393517-1.xhtml about:blank # crash test # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 393649-1.html 393649-1-ref.html == 393655-1.html 393655-1-ref.html == 393655-2.html 393655-2-ref.html @@ -806,7 +806,7 @@ skip-if(B2G&&browserIsRemote) == 393517-1.xhtml about:blank # crash test # bug == 393760-2.xml 393760-2-ref.xml == 394111-1.html about:blank # Really an assertion test rather than a rendering test == 394534-1.html 394534-1-ref.html -skip-if(B2G&&browserIsRemote) == 394676-1.xhtml 394676-1-ref.xhtml # bug 975911 +skip-if((B2G&&browserIsRemote)||Mulet) == 394676-1.xhtml 394676-1-ref.xhtml # bug 975911 # Initial mulet triage: parity with B2G/B2G Desktop == 395107-1.html 395107-1-ref.html == 395107-2.html 395107-2-ref.html == 395107-3.html 395107-3-ref.html @@ -814,7 +814,7 @@ skip-if(B2G&&browserIsRemote) == 394676-1.xhtml 394676-1-ref.xhtml # bug 975911 == 395107-5.html 395107-5-ref.html == 395130-1.html 395130-1-ref.html == 395130-2.html 395130-2-ref.html -skip-if(B2G&&browserIsRemote) == 395331-1.xml 395331-1-ref.xml # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 395331-1.xml 395331-1-ref.xml # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 395390-1.html 395390-1-ref.html == 396286-1.html about:blank # crash test == 397428-1.html 397428-1-ref.html @@ -847,16 +847,16 @@ fails-if(winWidget) fails-if(cocoaWidget) random-if(!cocoaWidget&&!winWidget) != == 400421-1.html 400421-1-ref.html == 400813-1.html 400813-1-ref.html == 400826-1.html 400826-1-ref.html -skip-if(B2G&&browserIsRemote) == 401946-1.xul about:blank # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 401946-1.xul about:blank # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 402338-1.html 402338-1-ref.html == 402567-1.html 402567-1-ref.html == 402567-2.html 402567-2-ref.html == 402567-3.html 402567-3-ref.html -skip-if(B2G) fuzzy-if(gtk2Widget,2,40) == 402567-4.html 402567-4-ref.html +skip-if(B2G||Mulet) fuzzy-if(gtk2Widget,2,40) == 402567-4.html 402567-4-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 402629-1.html 402629-1-ref.html == 402629-2.html 402629-2-ref.html == 402629-3.html 402629-3-ref.html -skip-if(B2G) == 402807-1.html 402807-1-ref.html +skip-if(B2G||Mulet) == 402807-1.html 402807-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 402940-1.html 402940-1-ref.html == 402940-1b.html 402940-1-ref.html != 402940-2.html 402940-2-notref.html @@ -867,7 +867,7 @@ skip-if(B2G) == 402807-1.html 402807-1-ref.html == 403129-3.html 403129-3-ref.html == 403129-4.html 403129-4-ref.html random == 403134-1.html 403134-1-ref.html # bug 405377 -skip-if(B2G) == 403181-1.xml 403181-1-ref.xml +skip-if(B2G||Mulet) == 403181-1.xml 403181-1-ref.xml # Initial mulet triage: parity with B2G/B2G Desktop == 403249-1a.html 403249-1-ref.html == 403249-1b.html 403249-1-ref.html == 403249-2a.html 403249-2-ref.html @@ -875,7 +875,7 @@ skip-if(B2G) == 403181-1.xml 403181-1-ref.xml == 403328-1.html 403328-1-ref.html == 403426-1.html 403426-1-ref.html == 403455-1.html 403455-1-ref.html -skip-if(B2G&&browserIsRemote) == 403505-1.xml 403505-1-ref.xul # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 403505-1.xml 403505-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop #== 403519-1.html 403519-1-ref.html # Fails on Mac, see also discussion in bug == 403519-2.html 403519-2-ref.html == 403656-1.html 403656-1-ref.html @@ -893,7 +893,7 @@ skip-if(B2G&&browserIsRemote) == 403505-1.xml 403505-1-ref.xul # bug 974780 == 404123-2.html 404123-2-ref.html != 404123-3.html 404123-3-ref.html # may fail "randomly" on OS X, doesn't seem to be rendering usefully anyhow - bug 602469 -random-if(cocoaWidget) skip-if(B2G&&browserIsRemote) HTTP(..) == 404149-1.xul 404149-1-ref.xul # HTTP for fonts directory access # bug 974780 +random-if(cocoaWidget) skip-if((B2G&&browserIsRemote)||Mulet) HTTP(..) == 404149-1.xul 404149-1-ref.xul # HTTP for fonts directory access # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 404180-1.html 404180-1-ref.html == 404301-1.html 404301-1-ref.html == 404309-1a.html 404309-1-ref.html @@ -947,15 +947,15 @@ fuzzy-if(winWidget,123,1900) == 409659-1d.html 409659-1-ref.html # Bug 1128229 == 411367-3.html 411367-3-ref.html == 411585-1.html 411585-1-ref.html == 411585-2.html 411585-2-ref.html -fails-if(!B2G) == 411585-3.html 411585-3-ref.html # bug 426909 +fails-if(!B2G&&!Mulet) == 411585-3.html 411585-3-ref.html # bug 426909 # Initial mulet triage: parity with B2G/B2G Desktop == 411792-1.html 411792-1-ref.html == 412093-1.html 412093-1-ref.html == 412352-1.html 412352-1-ref.html == 412352-2.html 412352-2-ref.html == 412607-1a.html 412607-1-ref.html == 412607-1b.html 412607-1-ref.html -skip-if(B2G) random-if(Android) == 412679-1.html 412679-1-ref.html -skip-if(B2G) == 412679-2.html 412679-2-ref.html +skip-if(B2G||Mulet) random-if(Android) == 412679-1.html 412679-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 412679-2.html 412679-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 413027-1.html 413027-1-ref.html fails == 413027-2.html 413027-2-ref.html fails == 413027-3.html 413027-3-ref.html @@ -971,7 +971,7 @@ fails == 413027-3.html 413027-3-ref.html == 413286-5.html 413286-5-ref.html == 413286-6.html 413286-6-ref.html skip-if(cocoaWidget) == 413292-1.html 413292-1-ref.html # disabling due to failure loading on some mac tinderboxes. See bug 432954 -fuzzy-if(B2G||Android,11,17) == 413361-1.html 413361-1-ref.html # bug 1128229 +fuzzy-if(B2G||Mulet||Android,11,17) == 413361-1.html 413361-1-ref.html # bug 1128229 # Initial mulet triage: parity with B2G/B2G Desktop == 413840-background-unchanged.html 413840-background-unchanged-ref.html == 413840-ltr-offsets.html 413840-ltr-offsets-ref.html == 413840-rtl-offsets.html 413840-rtl-offsets-ref.html @@ -985,7 +985,7 @@ fuzzy-if(B2G||Android,11,17) == 413361-1.html 413361-1-ref.html # bug 1128229 == 416752-1.html 416752-1-ref.html == 417178-1.html 417178-1-ref.html == 417246-1.html 417246-1-ref.html -skip-if(B2G) == 417676.html 417676-ref.html +skip-if(B2G||Mulet) == 417676.html 417676-ref.html # Initial mulet triage: parity with B2G/B2G Desktop asserts(1) == 418574-1.html 418574-1-ref.html # bug 478135 asserts(1) == 418574-2.html 418574-2-ref.html # bug 478135 == 418766-1a.html 418766-1-ref.html @@ -996,17 +996,17 @@ asserts(1) == 418574-2.html 418574-2-ref.html # bug 478135 == 420069-1.html 420069-1-ref.html == 420069-2.html 420069-2-ref.html == 420351-1.html 420351-1-ref.html -skip-if(B2G&&browserIsRemote) == 420790-1.xhtml 420790-1-ref.xhtml +skip-if((B2G&&browserIsRemote)||Mulet) == 420790-1.xhtml 420790-1-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop == 421069.html 421069-ref.html == 421069.html 421069-ref2.html == 421069-ref.html 421069-ref2.html -skip-if(B2G&&browserIsRemote) == 421203-1.xul 421203-1-ref.html # bug 974780 -skip-if(B2G&&browserIsRemote) == 421203-2.xul 421203-1-ref.html # bug 974780 -skip-if(B2G&&browserIsRemote) == 421203-3.xul 321402-3-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == 421203-4.xul 321402-4-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == 421203-5.xul 321402-5-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == 421203-6.xul 321402-6-ref.xul # bug 974780 -skip-if(B2G) == 421234-1.html 421234-1-ref.html +skip-if((B2G&&browserIsRemote)||Mulet) == 421203-1.xul 421203-1-ref.html # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 421203-2.xul 421203-1-ref.html # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 421203-3.xul 321402-3-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 421203-4.xul 321402-4-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 421203-5.xul 321402-5-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 421203-6.xul 321402-6-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 421234-1.html 421234-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 421239-1.html 421239-1-ref.html == 421239-2.html 421239-2-ref.html == 421419-1.html 421419-1-ref.html @@ -1014,9 +1014,9 @@ skip-if(B2G) == 421234-1.html 421234-1-ref.html == 421436-1b.html 421436-1-ref.html == 421632-1.html 421632-1-ref.html != 421710-1.html about:blank -skip-if(B2G) fails-if(Android) == 421885-1.xml 421885-1-ref.xml +skip-if(B2G||Mulet) fails-if(Android) == 421885-1.xml 421885-1-ref.xml # Initial mulet triage: parity with B2G/B2G Desktop == 421955-1.html 421955-1-ref.html -skip-if(B2G) == 422249-1.html 422249-1-ref.html +skip-if(B2G||Mulet) == 422249-1.html 422249-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 422394-1.html 422394-1-ref.html == 422678-1.html 422678-1-ref.html == 423130-1.html 423130-1-ref.html @@ -1024,9 +1024,9 @@ skip-if(B2G) == 422249-1.html 422249-1-ref.html == 423599-1.html 423599-1-ref.html == 423676-1.html 423676-1-ref.html fails == 423823-1.html 423823-1-ref.html # scrolling rowgroups were removed in bug 28800 -skip-if(B2G) == 424074-1.xul 424074-1-ref.xul -skip-if(B2G) fails-if(Android) != 424074-1.xul 424074-1-ref2.xul -random-if(gtk2Widget) skip-if(B2G&&browserIsRemote) == 424074-1-ref2.xul 424074-1-ref3.xul # bug 974780 +skip-if(B2G||Mulet) == 424074-1.xul 424074-1-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) != 424074-1.xul 424074-1-ref2.xul # Initial mulet triage: parity with B2G/B2G Desktop +random-if(gtk2Widget) skip-if((B2G&&browserIsRemote)||Mulet) == 424074-1-ref2.xul 424074-1-ref3.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 424236-1.html 424236-1-ref.html == 424236-2.html 424236-2-ref.html == 424236-3.html 424236-3-ref.html @@ -1042,7 +1042,7 @@ random-if(gtk2Widget) skip-if(B2G&&browserIsRemote) == 424074-1-ref2.xul 424074- == 424465-1.html 424465-1-ref.html == 424631-1.html 424631-1-ref.html == 424710-1.html 424710-1-ref.html -skip-if(B2G) == 424766-1.html 424766-1-ref.html +skip-if(B2G||Mulet) == 424766-1.html 424766-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 425972-1.html 425972-1-ref.html == 425972-2.html 425972-2-ref.html != 425972-1.html 425972-2.html @@ -1126,7 +1126,7 @@ fails == 428810-3e-rtl-insets.html 428810-empty-rtl-insets-ref.html # bug 179596 == 428810-3f-rtl-insets.html 428810-empty-rtl-insets-ref.html != 428810-3-rtl-insets-ref.html about:blank != 428810-3-rtl-insets-ref.html 428810-3-ltr-insets-ref.html -skip-if(B2G) == 430412-1.html 430412-1-ref.html +skip-if(B2G||Mulet) == 430412-1.html 430412-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 430813-1.html 430813-1-ref.html == 430813-2.html 430813-2-ref.html == 430813-3.html 430813-3-ref.html @@ -1165,14 +1165,14 @@ random == 445004-1.html 445004-1-ref.html # bug 472268 == 445142-2a.html 445142-2-ref.html == 445142-2b.html 445142-2-ref.html == 446100-1a.html about:blank -skip-if(B2G) fails-if(Android) == 446100-1b.html about:blank -skip-if(B2G) fails-if(Android) == 446100-1c.html about:blank +skip-if(B2G||Mulet) fails-if(Android) == 446100-1b.html about:blank # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) == 446100-1c.html about:blank # Initial mulet triage: parity with B2G/B2G Desktop == 446100-1d.html about:blank == 446100-1e.html about:blank == 446100-1f.html about:blank -skip-if(B2G) fails-if(Android) == 446100-1g.html about:blank +skip-if(B2G||Mulet) fails-if(Android) == 446100-1g.html about:blank # Initial mulet triage: parity with B2G/B2G Desktop == 446100-1h.html about:blank -skip-if(B2G) == 447749-1.html 447749-1-ref.html +skip-if(B2G||Mulet) == 447749-1.html 447749-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop fuzzy(127,2) == 448193.html 448193-ref.html != 449149-1a.html about:blank != 449149-1b.html about:blank @@ -1194,8 +1194,8 @@ test-pref(dom.use_xbl_scopes_for_remote_xul,true) != 449149-1b.html about:blank == 455105-2.html 455105-ref.html == 455171-5.html 455171-5-ref.html == 455280-1.xhtml 455280-1-ref.xhtml -skip-if(B2G) == 455826-1.html 455826-1-ref.html -skip-if(B2G) fails-if(cocoaWidget) fails-if(Android) == 456147.xul 456147-ref.html # bug 458047 +skip-if(B2G||Mulet) == 455826-1.html 455826-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(cocoaWidget) fails-if(Android) == 456147.xul 456147-ref.html # bug 458047 # Initial mulet triage: parity with B2G/B2G Desktop # The next three tests are fuzzy due to bug 1128229. fuzzy-if(Android||B2G,11,41) fuzzy-if(d2d&&/^Windows\x20NT\x206\.2/.test(http.oscpu),1,69) == 456219-1a.html 456219-1-ref.html # bug 853273 fuzzy-if(Android||B2G,11,41) fuzzy-if(d2d&&/^Windows\x20NT\x206\.2/.test(http.oscpu),1,69) == 456219-1b.html 456219-1-ref.html # bug 853273 @@ -1205,10 +1205,10 @@ fuzzy-if(Android||B2G,11,41) fuzzy-if(d2d&&/^Windows\x20NT\x206\.2/.test(http.os == 456484-1.html 456484-1-ref.html == 457398-1.html 457398-1-ref.html == 457398-2.html 457398-2-ref.html -skip-if(B2G) == 458296-1a.html 458296-1a-ref.html -skip-if(B2G) == 458296-1b.html 458296-1-ref.html -skip-if(B2G) == 458296-1c.html 458296-1-ref.html -skip-if(B2G) == 458296-1d.html 458296-1-ref.html +skip-if(B2G||Mulet) == 458296-1a.html 458296-1a-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 458296-1b.html 458296-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 458296-1c.html 458296-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 458296-1d.html 458296-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 458487-1a.html 458487-1-ref.html == 458487-1b.html 458487-1-ref.html == 458487-1c.html 458487-1-ref.html @@ -1234,8 +1234,8 @@ skip-if(B2G) == 458296-1d.html 458296-1-ref.html == 462844-3.html 462844-ref.html == 462844-4.html 462844-ref.html == 463204-1.html 463204-1-ref.html -skip-if(B2G&&browserIsRemote) == 463217-1.xul 463217-1-ref.xul # bug 974780 -skip-if(B2G) == 463952-1.html 463952-1-ref.html +skip-if((B2G&&browserIsRemote)||Mulet) == 463217-1.xul 463217-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 463952-1.html 463952-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 464811-1.html 464811-1-ref.html fails == 465574-1.html 465574-1-ref.html # bug 421436 == 466258-1.html 466258-1-ref.html @@ -1245,21 +1245,21 @@ fails == 465574-1.html 465574-1-ref.html # bug 421436 == 467084-2.html 467084-2-ref.html == 467444-1.html 467444-1-ref.html == 467460-1.html 467460-1-ref.html -skip-if(B2G&&browserIsRemote) == 468473-1.xul 468473-1-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == 468546-1.xhtml 468546-1-ref.xhtml +skip-if((B2G&&browserIsRemote)||Mulet) == 468473-1.xul 468473-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 468546-1.xhtml 468546-1-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop == 471356-1.html 471356-1-ref.html -skip-if(B2G&&browserIsRemote) == 471594-1.xhtml 471594-1-ref.html -fuzzy(255,15) skip-if(B2G&&browserIsRemote) == 472020-1a.xul 472020-1-ref.xul # bug 974780 -fails skip-if(B2G&&browserIsRemote) == 472020-1b.xul 472020-1-ref.xul # bug 974780 -fails skip-if(B2G&&browserIsRemote) == 472020-2.xul 472020-2-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == 472500-1.xul 472500-1-ref.xul # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 471594-1.xhtml 471594-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fuzzy(255,15) skip-if((B2G&&browserIsRemote)||Mulet) == 472020-1a.xul 472020-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +fails skip-if((B2G&&browserIsRemote)||Mulet) == 472020-1b.xul 472020-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +fails skip-if((B2G&&browserIsRemote)||Mulet) == 472020-2.xul 472020-2-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 472500-1.xul 472500-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 472769-1a.html 472769-1-ref.html == 472769-1b.html 472769-1-ref.html == 472769-2.html 472769-2-ref.html == 472769-3.html 472769-3-ref.html -skip-if(B2G&&browserIsRemote) == 473847-1.xul 473847-1-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == 474336-1.xul 474336-1-ref.xul # bug 974780 -skip-if(B2G) == 474417-1.html 474417-1-ref.html +skip-if((B2G&&browserIsRemote)||Mulet) == 473847-1.xul 473847-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 474336-1.xul 474336-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 474417-1.html 474417-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 474472-1.html 474472-1-ref.html == 475986-1a.html 475986-1-ref.html == 475986-1b.html 475986-1-ref.html @@ -1279,10 +1279,10 @@ skip-if(B2G) == 474417-1.html 474417-1-ref.html != 475986-1-ref.html 475986-2-ref.html != 475986-1-ref.html 475986-3-ref.html != 475986-2-ref.html 475986-3-ref.html -skip-if(B2G) == 476063-1.html 476063-1-ref.html -skip-if(B2G) == 476063-2.html 476063-2-ref.html -skip-if(B2G) != 476063-3.html 476063-3-ref.html -skip-if(B2G) == 476063-4.xhtml 476063-4-ref.xhtml +skip-if(B2G||Mulet) == 476063-1.html 476063-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 476063-2.html 476063-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) != 476063-3.html 476063-3-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 476063-4.xhtml 476063-4-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop == 476357-1.html 476357-1-ref.html == 476598-1a.html 476598-1-ref.html == 476598-1a.html 476598-1-ref2.html @@ -1290,7 +1290,7 @@ skip-if(B2G) == 476063-4.xhtml 476063-4-ref.xhtml == 476598-1b.html 476598-1-ref2.html != 476598-1-ref.html about:blank == 476856-1.html 476856-1-ref.html -random-if(d2d) skip-if(B2G&&browserIsRemote) == 478377-1.xul 478377-1-ref.xul # bug 974780 +random-if(d2d) skip-if((B2G&&browserIsRemote)||Mulet) == 478377-1.xul 478377-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 478614-1.html 478614-1-ref.html == 478614-2.html 478614-1-ref.html == 478614-3.html 478614-3-ref.html @@ -1298,7 +1298,7 @@ random-if(d2d) skip-if(B2G&&browserIsRemote) == 478377-1.xul 478377-1-ref.xul # == 478614-5.html 478614-5-ref.html == 478614-6.html 478614-6-ref.html == 478614-7.html 478614-7-ref.html -skip-if(B2G) == 478811-1.html 478811-1-ref.html +skip-if(B2G||Mulet) == 478811-1.html 478811-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 478811-2.html 478811-2-ref.html == 478811-3.html 478811-3-ref.html == 478811-4.html 478811-4-ref.html @@ -1313,22 +1313,22 @@ skip-if(B2G) == 478811-1.html 478811-1-ref.html == 480880-2a.html about:blank == 480880-2b.html about:blank == 480880-2c.html about:blank -skip-if(B2G) fails-if(Android) == 481024-1a.html 481024-1-ref.html -skip-if(B2G) fails-if(Android) == 481024-1b.html 481024-1-ref.html -skip-if(B2G) fails-if(Android) == 481024-1c.html 481024-1-ref.html +skip-if(B2G||Mulet) fails-if(Android) == 481024-1a.html 481024-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) == 481024-1b.html 481024-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) == 481024-1c.html 481024-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 481024-1d.html 481024-1-ref.html == 481024-1e.html 481024-1-ref.html != 481948-1.html 481948-1-ref.html != 481948-2.html 481948-2-ref.html -skip-if(B2G) fails-if(Android) random-if(winWidget) fails-if(gtk2Widget) == 481948-3.html 481948-3-ref.html # questionable test, see bug 488364 +skip-if(B2G||Mulet) fails-if(Android) random-if(winWidget) fails-if(gtk2Widget) == 481948-3.html 481948-3-ref.html # questionable test, see bug 488364 # Initial mulet triage: parity with B2G/B2G Desktop == 482398-1.html 482398-1-ref.html -random-if(d2d) skip-if(B2G&&browserIsRemote) == 482592-1a.xhtml 482592-1-ref.html # bug 586771 -random-if(d2d) skip-if(B2G&&browserIsRemote) == 482592-1b.xhtml 482592-1-ref.html # bug 586771 +random-if(d2d) skip-if((B2G&&browserIsRemote)||Mulet) == 482592-1a.xhtml 482592-1-ref.html # bug 586771 # Initial mulet triage: parity with B2G/B2G Desktop +random-if(d2d) skip-if((B2G&&browserIsRemote)||Mulet) == 482592-1b.xhtml 482592-1-ref.html # bug 586771 # Initial mulet triage: parity with B2G/B2G Desktop random-if(winWidget) == 482659-1a.html 482659-1-ref.html == 482659-1b.html 482659-1-ref.html == 482659-1c.html 482659-1-ref.html == 482659-1d.html 482659-1-ref.html -skip-if(B2G&&browserIsRemote) == 483565.xul 483565-ref.xul # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 483565.xul 483565-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 484256-1.html 484256-1-ref.html == 484256-2.html 484256-1-ref.html == 485012-1.html 485012-1-ref.html @@ -1343,7 +1343,7 @@ skip-if(B2G&&browserIsRemote) == 483565.xul 483565-ref.xul # bug 974780 == 486052-2f.html 486052-2-ref.html == 486052-2g.html 486052-2-ref.html == 486065-1.html 486065-1-ref.html -skip-if(B2G&&browserIsRemote) == 486848-1.xul 486848-1-ref.xul # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 486848-1.xul 486848-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 487539-1.html about:blank == 488390-1.html 488390-1-ref.html == 488649-1.html 488649-1-ref.html @@ -1358,15 +1358,15 @@ skip-if(B2G&&browserIsRemote) == 486848-1.xul 486848-1-ref.xul # bug 974780 == 490182-1b.html 490182-1-ref.html pref(browser.display.focus_ring_width,1) == 491180-1.html 491180-1-ref.html pref(browser.display.focus_ring_width,1) == 491180-2.html 491180-2-ref.html -skip-if(B2G&&browserIsRemote) == 491323-1.xul 491323-1-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == 492239-1.xul 492239-1-ref.xul # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 491323-1.xul 491323-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 492239-1.xul 492239-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 492661-1.html 492661-1-ref.html == 493968-1.html 493968-1-ref.html == 494667-1.html 494667-1-ref.html == 494667-2.html 494667-2-ref.html == 495274-1.html 495274-1-ref.html -skip-if(B2G&&browserIsRemote) == 495354-1a.xhtml 495354-1-ref.xhtml # bug 974780 -skip-if(B2G&&browserIsRemote) == 495354-1b.xhtml 495354-1-ref.xhtml # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 495354-1a.xhtml 495354-1-ref.xhtml # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 495354-1b.xhtml 495354-1-ref.xhtml # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 495385-1a.html 495385-1-ref.html == 495385-1b.html 495385-1-ref.html == 495385-1c.html 495385-1-ref.html @@ -1378,7 +1378,7 @@ skip-if(B2G&&browserIsRemote) == 495354-1b.xhtml 495354-1-ref.xhtml # bug 974780 == 495385-2c.html 495385-2-ref.html == 495385-2d.html 495385-2-ref.html == 495385-2e.html 495385-2-ref.html -pref(dom.use_xbl_scopes_for_remote_xul,true) skip-if(B2G&&browserIsRemote) == 495385-2f.xhtml 495385-2-ref.html +pref(dom.use_xbl_scopes_for_remote_xul,true) skip-if((B2G&&browserIsRemote)||Mulet) == 495385-2f.xhtml 495385-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 495385-2g.html 495385-2-ref.html == 495385-2h.html 495385-2-ref.html == 495385-2i.html 495385-2-ref.html @@ -1387,14 +1387,14 @@ pref(dom.use_xbl_scopes_for_remote_xul,true) skip-if(B2G&&browserIsRemote) == 49 == 495385-5.html 495385-5-ref.html == 496032-1.html 496032-1-ref.html == 496840-1.html 496840-1-ref.html -skip-if(B2G&&browserIsRemote) == 498228-1.xul 498228-1-ref.xul # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 498228-1.xul 498228-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 501037.html 501037-ref.html == 501257-1a.html 501257-1-ref.html == 501257-1b.html 501257-1-ref.html == 501257-1.xhtml 501257-1-ref.xhtml == 501627-1.html 501627-1-ref.html == 502288-1.html 502288-1-ref.html -skip-if(B2G) == 502447-1.html 502447-1-ref.html +skip-if(B2G||Mulet) == 502447-1.html 502447-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 502795-1.html 502795-1-ref.html == 502942-1.html 502942-1-ref.html == 503364-1a.html 503364-1-ref.html @@ -1404,7 +1404,7 @@ skip-if(B2G) == 502447-1.html 502447-1-ref.html needs-focus fails == 503531-1.html 503531-1-ref.html == 504032-1.html 504032-1-ref.html == 505743-1.html about:blank -skip-if(B2G) == 506481-1.html 506481-1-ref.html +skip-if(B2G||Mulet) == 506481-1.html 506481-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 507187-1.html 507187-1-ref.html == 507487-1.html 507487-1-ref.html == 507487-2.xhtml 507487-2-ref.xhtml @@ -1412,19 +1412,19 @@ skip-if(B2G) == 506481-1.html 506481-1-ref.html == 507762-2.html 507762-2-ref.html == 507762-3.html 507762-1-ref.html == 507762-4.html 507762-2-ref.html -skip-if(B2G) random-if(cocoaWidget) == 508816-1.xul 508816-1-ref.xul # Bug 631982 -skip-if(B2G) == 508816-2.html 508816-2-ref.html -skip-if(B2G&&browserIsRemote) == 508908-1.xul 508908-1-ref.xul # bug 974780 +skip-if(B2G||Mulet) random-if(cocoaWidget) == 508816-1.xul 508816-1-ref.xul # Bug 631982 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 508816-2.html 508816-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 508908-1.xul 508908-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 508919-1.xhtml 508919-1-ref.xhtml == 509155-1.xhtml 509155-1-ref.xhtml -skip-if(B2G) == 512410.html 512410-ref.html +skip-if(B2G||Mulet) == 512410.html 512410-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 512631-1.html 512631-1-ref.html == 513153-1a.html 513153-1-ref.html == 513153-1b.html 513153-1-ref.html == 513153-2a.html 513153-2-ref.html == 513153-2b.html 513153-2-ref.html -skip-if(B2G&&browserIsRemote) == 513318-1.xul 513318-1-ref.xul # bug 974780 -skip-if(B2G) fails-if(Android) != 513318-2.xul 513318-2-ref.xul +skip-if((B2G&&browserIsRemote)||Mulet) == 513318-1.xul 513318-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) != 513318-2.xul 513318-2-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop == 514917-1.html 514917-1-ref.html HTTP(..) == 518172-1a.html 518172-a-ref.html HTTP(..) == 518172-1b.html 518172-b-ref.html @@ -1464,8 +1464,8 @@ random-if(d2d) == 523468-1.html 523468-1-ref.html fails-if(OSX==1007) == 534919-1.html 534919-1-ref.html # Bug 705044 random == 536061.html 536061-ref.html # fixedpoint division in blur code makes this fail == 537471-1.html 537471-1-ref.html -skip-if(B2G&&browserIsRemote) == 537507-1.xul 537507-1-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == 537507-2.html 537507-2-ref.html # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 537507-1.xul 537507-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 537507-2.html 537507-2-ref.html # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 538909-1.html 538909-1-ref.html == 538935-1.html 538935-1-ref.html == 539226-1.html about:blank @@ -1474,14 +1474,14 @@ skip-if(B2G&&browserIsRemote) == 537507-2.html 537507-2-ref.html # bug 974780 == 539323-3.html 539323-3-ref.html == 539880-1.html 539880-1-ref.html == 539880-1-dynamic.html 539880-1-ref.html -skip-if(B2G) fuzzy-if(Android&&AndroidVersion>=15,12,1000) == 539949-1.html#test2 539949-1-ref.html#test2 +skip-if(B2G||Mulet) fuzzy-if(Android&&AndroidVersion>=15,12,1000) == 539949-1.html#test2 539949-1-ref.html#test2 # Initial mulet triage: parity with B2G/B2G Desktop == 541382-1.html 541382-1-ref.html random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)||!haveTestPlugin) == 541406-1.html 541406-1-ref.html needs-focus != 542116-1.html 542116-1-ref.html needs-focus != 542116-2.html 542116-2-ref.html needs-focus != 542116-3.html 542116-3-ref.html == 542317-1.html 542317-1-ref.html -fuzzy-if(Android,17,2) skip-if(B2G&&browserIsRemote) == 542605-hidden-unscrollable.xul 542605-hidden-unscrollable-ref.xul # bug 974780 +fuzzy-if(Android,17,2) skip-if((B2G&&browserIsRemote)||Mulet) == 542605-hidden-unscrollable.xul 542605-hidden-unscrollable-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 542620-1.html 542620-1-ref.html == 545049-1.html 545049-1-ref.html == 546033-1.html 546033-1-ref.html @@ -1491,7 +1491,7 @@ random-if(!haveTestPlugin) == 546071-1.html 546071-1-ref.html == 550325-2.html 550325-1-ref.html == 550325-3.html 550325-1-ref.html == 550716-1.html 550716-1-ref.html -skip-if(B2G) fuzzy-if(Android&&AndroidVersion>=15,12,300) == 551463-1.html 551463-1-ref.html +skip-if(B2G||Mulet) fuzzy-if(Android&&AndroidVersion>=15,12,300) == 551463-1.html 551463-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 551699-1.html 551699-1-ref.html == 552334-1.html 552334-1-ref.html # Bug 553571 was specific to MS Indic shaping behavior and Win7 font support; @@ -1503,12 +1503,12 @@ skip-if(B2G) fuzzy-if(Android&&AndroidVersion>=15,12,300) == 551463-1.html 55146 random != 553571-1.html 553571-1-notref.html # expect dotted circle in test, not in ref: "fails" under harfbuzz, which doesn't consider the sequence invalid fuzzy-if(!contentSameGfxBackendAsCanvas,128,91) random-if(d2d) skip-if(azureSkiaGL) == 555388-1.html 555388-1-ref.html == 556661-1.html 556661-1-ref.html -skip-if(B2G) fails-if(Android) == 557087-1.html 557087-ref.html -skip-if(B2G) fails-if(Android) == 557087-2.html 557087-ref.html +skip-if(B2G||Mulet) fails-if(Android) == 557087-1.html 557087-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) == 557087-2.html 557087-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 557736-1.html 557736-1-ref.html -skip-if(B2G&&browserIsRemote) != 558011-1.xul 558011-1-ref.xul # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) != 558011-1.xul 558011-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 559284-1.html 559284-1-ref.html -skip-if(B2G) fails-if(Android) == 560455-1.xul 560455-1-ref.xul +skip-if(B2G||Mulet) fails-if(Android) == 560455-1.xul 560455-1-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop == 561981-1.html 561981-1-ref.html == 561981-2.html 561981-2-ref.html == 561981-3.html 561981-3-ref.html @@ -1519,22 +1519,22 @@ skip-if(B2G) fails-if(Android) == 560455-1.xul 560455-1-ref.xul == 561981-8.html 561981-8-ref.html == 562835-1.html 562835-ref.html == 562835-2.html 562835-ref.html -skip-if(B2G) == 563584-1.html 563584-1-ref.html -skip-if(B2G) == 563584-2.html 563584-2-ref.html -skip-if(B2G) == 563584-3.html 563584-3-ref.html -skip-if(B2G) == 563584-4.html 563584-4-ref.html +skip-if(B2G||Mulet) == 563584-1.html 563584-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 563584-2.html 563584-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 563584-3.html 563584-3-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 563584-4.html 563584-4-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 563584-5.html 563584-5-ref.html test-pref(layout.float-fragments-inside-column.enabled,false) == 563584-6-columns.html 563584-6-columns-ref.html test-pref(layout.float-fragments-inside-column.enabled,true) == 563584-6-columns.html 563584-6-columns-ref-enabled.html -skip-if(B2G) == 563584-6-printing.html 563584-6-printing-ref.html -skip-if(B2G) == 563584-7.html 563584-7-ref.html +skip-if(B2G||Mulet) == 563584-6-printing.html 563584-6-printing-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 563584-7.html 563584-7-ref.html # Initial mulet triage: parity with B2G/B2G Desktop # FIXME: It would be nice to have variants of these -8 tests for the # table narrowing quirk causing a change to mIsTopOfPage (though I'm not # entirely sure our behavior is the right one, either). -skip-if(B2G) == 563584-8a.html 563584-8a-ref.html -skip-if(B2G) == 563584-8b.html 563584-8b-ref.html -skip-if(B2G) == 563584-8c.html 563584-8c-ref.html -skip-if(B2G) == 563584-8d.html 563584-8d-ref.html +skip-if(B2G||Mulet) == 563584-8a.html 563584-8a-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 563584-8b.html 563584-8b-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 563584-8c.html 563584-8c-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 563584-8d.html 563584-8d-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 563584-9a.html 563584-9a-ref.html == 563584-9b.html 563584-9b-ref.html == 563584-9c.html 563584-9cd-ref.html @@ -1545,11 +1545,11 @@ skip-if(B2G) == 563584-8d.html 563584-8d-ref.html == 563884-1.html 563884-1-ref.html == 564002-1.html 564002-1-ref.html == 564054-1.html 564054-1-ref.html -skip-if(B2G) fails-if(Android) random-if(layersGPUAccelerated) == 564991-1.html 564991-1-ref.html +skip-if(B2G||Mulet) fails-if(Android) random-if(layersGPUAccelerated) == 564991-1.html 564991-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 565819-1.html 565819-ref.html == 565819-2.html 565819-ref.html needs-focus == 568441.html 568441-ref.html -skip-if(B2G) == 569006-1.html 569006-1-ref.html +skip-if(B2G||Mulet) == 569006-1.html 569006-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 571281-1a.html 571281-1-ref.html == 571281-1b.html 571281-1-ref.html == 571281-1c.html 571281-1-ref.html @@ -1572,23 +1572,23 @@ random-if(!winWidget) fails-if(winWidget&&!d2d) random-if(winWidget&&d2d) != 574 == 579323-1.html 579323-1-ref.html == 579349-1.html 579349-1-ref.html == 579655-1.html 579655-1-ref.html -skip-if(!haveTestPlugin) skip-if(B2G) fails-if(Android) == 579808-1.html 579808-1-ref.html -skip-if(B2G) fails-if(Android) random-if(layersGPUAccelerated) == 579985-1.html 579985-1-ref.html # bug 623452 for WinXP; this bug was only for a regression in BasicLayers anyway -skip-if(B2G) skip-if(Android) == 580160-1.html 580160-1-ref.html # bug 920927 for Android; issues without the test-plugin +skip-if(!haveTestPlugin) skip-if(B2G||Mulet) fails-if(Android) == 579808-1.html 579808-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) random-if(layersGPUAccelerated) == 579985-1.html 579985-1-ref.html # bug 623452 for WinXP; this bug was only for a regression in BasicLayers anyway # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) skip-if(Android) == 580160-1.html 580160-1-ref.html # bug 920927 for Android; issues without the test-plugin # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == 580863-1.html 580863-1-ref.html -skip-if(B2G) fails-if(Android) random-if(layersGPUAccelerated) == 581317-1.html 581317-1-ref.html +skip-if(B2G||Mulet) fails-if(Android) random-if(layersGPUAccelerated) == 581317-1.html 581317-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 581579-1.html 581579-1-ref.html == 582037-1a.html 582037-1-ref.html == 582037-1b.html 582037-1-ref.html -skip-if(B2G) == 582037-2a.html 582037-2-ref.html -skip-if(B2G) == 582037-2b.html 582037-2-ref.html +skip-if(B2G||Mulet) == 582037-2a.html 582037-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 582037-2b.html 582037-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop asserts(1-2) == 582146-1.html about:blank -skip-if(B2G) == 582476-1.svg 582476-1-ref.svg +skip-if(B2G||Mulet) == 582476-1.svg 582476-1-ref.svg # Initial mulet triage: parity with B2G/B2G Desktop == 584400-dash-length.svg 584400-dash-length-ref.svg == 584699-1.html 584699-1-ref.html == 585598-2.xhtml 585598-2-ref.xhtml == 586400-1.html 586400-1-ref.html -skip-if(B2G) fuzzy-if(d2d,52,1051) fuzzy-if(OSX==1008,129,1068) == 586683-1.html 586683-1-ref.html +skip-if(B2G||Mulet) fuzzy-if(d2d,52,1051) fuzzy-if(OSX==1008,129,1068) == 586683-1.html 586683-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 589615-1a.xhtml 589615-1-ref.html == 589615-1b.html 589615-1-ref.html == 589672-1.html 589672-1-ref.html @@ -1607,7 +1607,7 @@ fails-if(!haveTestPlugin) == 599476.html 599476-ref.html == 599882-1b.html 599882-1-ref.html == 599882-2.html 599882-2-ref.html == 600045-1.html 600045-1-ref.html -skip-if(B2G) == 600803-1.html 600803-1-ref.html +skip-if(B2G||Mulet) == 600803-1.html 600803-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 600974-1.html 600974-1-ref.html == 600974-2.html 600974-1-ref.html == 600974-3.html 600974-1-ref.html @@ -1645,29 +1645,29 @@ skip-if(Android) HTTP(..) == 621253-1-externalFilter.html 621253-1-ref.html skip-if(Android) == 621253-1-internalFilter.html 621253-1-ref.html HTTP(..) == 621253-2-externalFilter.html 621253-2-ref.html == 621253-2-internalFilter.html 621253-2-ref.html -skip-if(B2G) random-if(winWidget) fuzzy-if(OSX==1008,19,17) == 621918-1.svg 621918-1-ref.svg # 1-pixel diacritic positioning discrepancy in rotated text (may depend on platform fonts) +skip-if(B2G||Mulet) random-if(winWidget) fuzzy-if(OSX==1008,19,17) == 621918-1.svg 621918-1-ref.svg # 1-pixel diacritic positioning discrepancy in rotated text (may depend on platform fonts) # Initial mulet triage: parity with B2G/B2G Desktop random-if(winWidget) HTTP(..) == 621918-2.svg 621918-2-ref.svg # same 1px issue as above, and HTTP(..) for filters.svg, used to mask antialiasing issues where glyphs touch fuzzy-if(d2d,5,1) == 622585-1.html 622585-1-ref.html # bug 789402 fuzzy-if(Android&&AndroidVersion>=15,8,300) == 625409-1.html 625409-1-ref.html == 627393-1.html about:blank == 630835-1.html about:blank == 631352-1.html 631352-1-ref.html -skip-if(!haveTestPlugin) skip-if(B2G) fails-if(Android) fuzzy-if(winWidget&&!layersGPUAccelerated,102,535) == 632423-1.html 632423-1-ref.html -skip-if(Android||B2G) random-if(winWidget) == 632781-verybig.html 632781-ref.html +skip-if(!haveTestPlugin) skip-if(B2G||Mulet) fails-if(Android) fuzzy-if(winWidget&&!layersGPUAccelerated,102,535) == 632423-1.html 632423-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) random-if(winWidget) == 632781-verybig.html 632781-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 632781-normalsize.html 632781-ref.html fuzzy-if(d2d&&/^Windows\x20NT\x206\.2/.test(http.oscpu),1,559) == 633344-1.html 633344-1-ref.html # bug 1103623 == 634232-1.html 634232-1-ref.html fails-if(Android&&AndroidVersion<17&&AndroidVersion!=10) == 635302-1.html 635302-1-ref.html -fuzzy(1,68) skip-if(B2G) fails-if(Android) == 635373-1.html 635373-1-ref.html -skip-if(B2G) random-if(d2d) fails-if(Android) fuzzy-if(winWidget&&!d2d,1,61) == 635373-2.html 635373-2-ref.html -skip-if(B2G) random-if(d2d) fails-if(Android) fuzzy-if(winWidget&&!d2d,1,60) == 635373-3.html 635373-3-ref.html +fuzzy(1,68) skip-if(B2G||Mulet) fails-if(Android) == 635373-1.html 635373-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) random-if(d2d) fails-if(Android) fuzzy-if(winWidget&&!d2d,1,61) == 635373-2.html 635373-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) random-if(d2d) fails-if(Android) fuzzy-if(winWidget&&!d2d,1,60) == 635373-3.html 635373-3-ref.html # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == 635639-1.html 635639-1-ref.html HTTP(..) == 635639-2.html 635639-2-ref.html random == 637597-1.html 637597-1-ref.html # bug 637597 was never really fixed! fuzzy-if(Android&&AndroidVersion>=15,8,500) == 637852-1.html 637852-1-ref.html fuzzy-if(Android&&AndroidVersion>=15,8,500) == 637852-2.html 637852-2-ref.html fuzzy-if(Android&&AndroidVersion>=15,8,500) == 637852-3.html 637852-3-ref.html -skip-if(B2G) == 641770-1.html 641770-1-ref.html +skip-if(B2G||Mulet) == 641770-1.html 641770-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 641856-1.html 641856-1-ref.html == 645491-1.html 645491-1-ref.html == 645768-1.html 645768-1-ref.html @@ -1683,11 +1683,11 @@ fails-if(layersGPUAccelerated&&cocoaWidget) fails-if(Android&&AndroidVersion!=17 != 656875.html about:blank == 658952.html 658952-ref.html == 660682-1.html 660682-1-ref.html -skip-if(B2G&&browserIsRemote) skip-if(Android) == 664127-1.xul 664127-1-ref.xul # B2G: bug 974780. Android: Intermittent failures - bug 1019131 -skip-if(B2G) == 665597-1.html 665597-1-ref.html -skip-if(B2G) == 665597-2.html 665597-2-ref.html -skip-if(B2G&&browserIsRemote) == 668319-1.xul about:blank # bug 974780 -skip-if(B2G&&browserIsRemote) != 669015-1.xul 669015-1-notref.xul # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) skip-if(Android) == 664127-1.xul 664127-1-ref.xul # B2G: bug 974780. Android: Intermittent failures - bug 1019131 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 665597-1.html 665597-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 665597-2.html 665597-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == 668319-1.xul about:blank # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != 669015-1.xul 669015-1-notref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop skip-if(azureSkiaGL) == 670442-1.html 670442-1-ref.html == 670467-1.html 670467-1-ref.html == 670467-2.html 670467-2-ref.html @@ -1708,23 +1708,23 @@ needs-focus != 703186-1.html 703186-2.html == 714519-1-q.html 714519-1-ref.html == 714519-2-as.html 714519-2-ref.html == 714519-2-q.html 714519-2-ref.html -skip-if(B2G) fuzzy-if(true,1,21) fuzzy-if(cocoaWidget,1,170) fuzzy-if(Android&&browserIsRemote,7,157) fails-if(Android&&!browserIsRemote&&AndroidVersion!=17&&AndroidVersion!=10) == 718521.html 718521-ref.html # bug 760270 # bug 773482 +skip-if(B2G||Mulet) fuzzy-if(true,1,21) fuzzy-if(cocoaWidget,1,170) fuzzy-if(Android&&browserIsRemote,7,157) fails-if(Android&&!browserIsRemote&&AndroidVersion!=17&&AndroidVersion!=10) == 718521.html 718521-ref.html # bug 760270 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == 720987.html 720987-ref.html == 722888-1.html 722888-1-ref.html == 722923-1.html 722923-1-ref.html == 723484-1.html 723484-1-ref.html -random-if(Android||(B2G&&browserIsRemote)) == 728983-1.html 728983-1-ref.html -skip-if(B2G) == 729143-1.html 729143-1-ref.html +random-if(Android||(B2G&&browserIsRemote)||Mulet) == 728983-1.html 728983-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 729143-1.html 729143-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 731521-1.html 731521-1-ref.html needs-focus == 731726-1.html 731726-1-ref.html == 735481-1.html 735481-1-ref.html == 745934-1.html 745934-1-ref.html == 748692-1a.html 748692-1-ref.html == 748692-1b.html 748692-1-ref.html -skip-if(B2G) == 748803-1.html 748803-1-ref.html +skip-if(B2G||Mulet) == 748803-1.html 748803-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 750551-1.html 750551-1-ref.html -skip-if(B2G) == 751012-1a.html 751012-1-ref.html -skip-if(B2G) == 751012-1b.html 751012-1-ref.html +skip-if(B2G||Mulet) == 751012-1a.html 751012-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 751012-1b.html 751012-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop random-if(Android) == 753329-1.html about:blank == 758561-1.html 758561-1-ref.html fuzzy-if(true,1,90) random-if(Android&&AndroidVersion<15) == 759036-1.html 759036-1-ref.html @@ -1749,13 +1749,13 @@ fuzzy(40,850) fuzzy-if(azureQuartz,68,586) == 797797-2.html 797797-2-ref.html # fuzzy-if(Android,8,608) == 811301-1.html 811301-1-ref.html == 812824-1.html 812824-1-ref.html == 814677.html 814677-ref.html -skip-if(B2G) == 814952-1.html 814952-1-ref.html -skip-if(B2G) fuzzy-if(Android,4,400) == 815593-1.html 815593-1-ref.html +skip-if(B2G||Mulet) == 814952-1.html 814952-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fuzzy-if(Android,4,400) == 815593-1.html 815593-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 816359-1.html 816359-1-ref.html == 816458-1.html 816458-1-ref.html == 816948-1.html 816948-1-ref.html == 817019-1.html about:blank -skip-if(B2G) == 818276-1.html 818276-1-ref.html +skip-if(B2G||Mulet) == 818276-1.html 818276-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 825999.html 825999-ref.html == 827577-1a.html 827577-1-ref.html == 827577-1b.html 827577-1-ref.html @@ -1767,9 +1767,9 @@ skip-if(B2G) == 818276-1.html 818276-1-ref.html fuzzy-if(OSX,1,364) == 846144-1.html 846144-1-ref.html == 847850-1.html 847850-1-ref.html == 848421-1.html 848421-1-ref.html -random-if(B2G) == 849407-1.html 849407-1-ref.html +random-if(B2G||Mulet) == 849407-1.html 849407-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 849996-1.html 849996-1-ref.html -skip-if(B2G&&browserIsRemote) == 858803-1.html 858803-1-ref.html # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == 858803-1.html 858803-1-ref.html # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == 860242-1.html 860242-1-ref.html != 860370.html 860370-notref.html == 871338-1.html 871338-1-ref.html @@ -1792,7 +1792,7 @@ fuzzy-if(cocoaWidget,1,40) == 928607-1.html 928607-1-ref.html == 931464-1.html 931464-1-ref.html == 931853.html 931853-ref.html == 931853-quirks.html 931853-quirks-ref.html -fuzzy-if(OSX==1006,2,30) skip-if(B2G&&browserIsRemote) == 933264-1.html 933264-1-ref.html +fuzzy-if(OSX==1006,2,30) skip-if((B2G&&browserIsRemote)||Mulet) == 933264-1.html 933264-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 936670-1.svg 936670-1-ref.svg == 941940-1.html 941940-1-ref.html fails == 942017.html 942017-ref.html # bug 942017 @@ -1846,8 +1846,8 @@ test-pref(layout.css.grid.enabled,true) == 1053035-1-grid.html 1053035-1-ref.htm == 1059498-1.html 1059498-1-ref.html == 1059498-2.html 1059498-1-ref.html == 1059498-3.html 1059498-1-ref.html -== 1062108-1.html 1062108-1-ref.html -fails-if(Android) == 1062792-1.html 1062792-1-ref.html +skip-if(Mulet) == 1062108-1.html 1062108-1-ref.html # Bug 1139893: font rounding failure, tracked in bug 1141535 +fuzzy-if(Mulet,1,5) == 1062792-1.html 1062792-1-ref.html == 1062963-floatmanager-reflow.html 1062963-floatmanager-reflow-ref.html test-pref(dom.webcomponents.enabled,true) == 1066554-1.html 1066554-1-ref.html == 1069716-1.html 1069716-1-ref.html diff --git a/layout/reftests/canvas/reftest.list b/layout/reftests/canvas/reftest.list index 25c830a344..69cb322fc7 100644 --- a/layout/reftests/canvas/reftest.list +++ b/layout/reftests/canvas/reftest.list @@ -1,12 +1,12 @@ == default-size.html default-size-ref.html -skip-if(B2G) fuzzy-if(Android&&AndroidVersion>=15,8,1000) == size-1.html size-1-ref.html +skip-if(B2G||Mulet) fuzzy-if(Android&&AndroidVersion>=15,8,1000) == size-1.html size-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == empty-transaction-1.html empty-transaction-1-ref.html == image-rendering-test.html image-rendering-ref.html == image-shadow.html image-shadow-ref.html -skip-if(B2G) asserts-if(cocoaWidget,0-2) == size-change-1.html size-change-1-ref.html +skip-if(B2G||Mulet) asserts-if(cocoaWidget,0-2) == size-change-1.html size-change-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop random-if(cocoaWidget) == subpixel-1.html about:blank @@ -27,8 +27,8 @@ random-if(cocoaWidget) == subpixel-1.html about:blank == text-ltr-alignment-test.html text-ltr-alignment-ref.html == text-rtl-alignment-test.html text-rtl-alignment-ref.html -fuzzy-if(B2G&&azureSkiaGL,1,256) == text-horzline-with-bottom.html text-horzline.html -fuzzy-if(B2G&&azureSkiaGL,1,256) == text-horzline-with-top.html text-horzline.html +fuzzy-if((B2G||Mulet)&&azureSkiaGL,1,256) == text-horzline-with-bottom.html text-horzline.html # Initial mulet triage: parity with B2G/B2G Desktop +fuzzy-if((B2G||Mulet)&&azureSkiaGL,1,256) == text-horzline-with-top.html text-horzline.html # Initial mulet triage: parity with B2G/B2G Desktop != text-big-stroke.html text-blank.html != text-big-stroke.html text-big-fill.html @@ -45,7 +45,7 @@ fuzzy-if(azureSkiaGL,10,400) == text-not-in-doc-test.html text-not-in-doc-ref.ht != text-bidi-ltr-test.html text-bidi-ltr-notref.html # for bug 698185 == text-bidi-rtl-test.html text-bidi-rtl-ref.html -skip-if(B2G) != text-font-lang.html text-font-lang-notref.html +skip-if(B2G||Mulet) != text-font-lang.html text-font-lang-notref.html # Initial mulet triage: parity with B2G/B2G Desktop == text-measure.html text-measure-ref.html == text-small-caps-1.html text-small-caps-1-ref.html diff --git a/layout/reftests/columns/reftest.list b/layout/reftests/columns/reftest.list index 5bbfc0cae3..767230308b 100644 --- a/layout/reftests/columns/reftest.list +++ b/layout/reftests/columns/reftest.list @@ -22,11 +22,11 @@ HTTP(..) == columnfill-balance.html columnfill-balance-ref.html HTTP(..) == columnfill-auto.html columnfill-auto-ref.html HTTP(..) == columnfill-auto-2.html columnfill-auto-2-ref.html HTTP(..) == columnfill-auto-3.html columnfill-auto-2-ref.html -skip-if(B2G) == columnrule-basic.html columnrule-basic-ref.html # bug 773482 -skip-if(B2G) == columnrule-complex.html columnrule-complex-ref.html # bug 773482 +skip-if(B2G||Mulet) == columnrule-basic.html columnrule-basic-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == columnrule-complex.html columnrule-complex-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != columnrule-linestyles.html columnrule-linestyles-notref.html == columnrule-padding.html columnrule-padding-ref.html -skip-if(B2G) == columnfill-overflow.html columnfill-overflow-ref.html # bug 773482 +skip-if(B2G||Mulet) == columnfill-overflow.html columnfill-overflow-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == margin-collapsing-bug616722-1.html margin-collapsing-bug616722-1-ref.html == margin-collapsing-bug616722-2.html margin-collapsing-bug616722-2-ref.html == column-balancing-nested-000.html column-balancing-nested-000-ref.html diff --git a/layout/reftests/counter-style/reftest.list b/layout/reftests/counter-style/reftest.list index 5aad57b218..4382f51d74 100644 --- a/layout/reftests/counter-style/reftest.list +++ b/layout/reftests/counter-style/reftest.list @@ -14,7 +14,7 @@ == system-extends-invalid.html system-extends-invalid-ref.html == descriptor-negative.html descriptor-negative-ref.html == descriptor-prefix.html descriptor-prefix-ref.html -fails-if(B2G) == descriptor-suffix.html descriptor-suffix-ref.html # B2G kerning +fails-if(B2G||Mulet) == descriptor-suffix.html descriptor-suffix-ref.html # B2G kerning # Initial mulet triage: parity with B2G/B2G Desktop == descriptor-range.html descriptor-range-ref.html == descriptor-pad.html descriptor-pad-ref.html == descriptor-fallback.html descriptor-fallback-ref.html diff --git a/layout/reftests/css-disabled/button/reftest.list b/layout/reftests/css-disabled/button/reftest.list index b797b63e40..4729ce4ed0 100644 --- a/layout/reftests/css-disabled/button/reftest.list +++ b/layout/reftests/css-disabled/button/reftest.list @@ -1,9 +1,9 @@ == button-fieldset-1.html button-fieldset-ref.html -fails-if(Android||B2G) == button-fieldset-2.html button-fieldset-ref.html -fails-if(Android||B2G) == button-fieldset-3.html button-fieldset-ref.html +fails-if(Android||B2G||Mulet) == button-fieldset-2.html button-fieldset-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) == button-fieldset-3.html button-fieldset-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == button-fieldset-4.html button-fieldset-ref.html == button-fieldset-legend-1.html button-fieldset-legend-ref-1.html -fails-if(Android||B2G) == button-fieldset-legend-2.html button-fieldset-legend-ref-2.html -fails-if(Android||B2G) == button-fieldset-legend-3.html button-fieldset-legend-ref-3.html +fails-if(Android||B2G||Mulet) == button-fieldset-legend-2.html button-fieldset-legend-ref-2.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) == button-fieldset-legend-3.html button-fieldset-legend-ref-3.html # Initial mulet triage: parity with B2G/B2G Desktop == button-fieldset-legend-4.html button-fieldset-legend-ref-4.html == button-fieldset-legend-5.html button-fieldset-legend-ref-5.html diff --git a/layout/reftests/css-disabled/select/reftest.list b/layout/reftests/css-disabled/select/reftest.list index 42fcd36df3..25fb00a545 100644 --- a/layout/reftests/css-disabled/select/reftest.list +++ b/layout/reftests/css-disabled/select/reftest.list @@ -1,9 +1,9 @@ == select-fieldset-1.html select-fieldset-ref.html -fails-if(Android||B2G) == select-fieldset-2.html select-fieldset-ref-disabled.html -fails-if(Android||B2G) == select-fieldset-3.html select-fieldset-ref-disabled.html +fails-if(Android||B2G||Mulet) == select-fieldset-2.html select-fieldset-ref-disabled.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) == select-fieldset-3.html select-fieldset-ref-disabled.html # Initial mulet triage: parity with B2G/B2G Desktop == select-fieldset-4.html select-fieldset-ref.html == select-fieldset-legend-1.html select-fieldset-legend-ref-1.html -fails-if(Android||B2G) == select-fieldset-legend-2.html select-fieldset-legend-ref-2.html -fails-if(Android||B2G) == select-fieldset-legend-3.html select-fieldset-legend-ref-3.html +fails-if(Android||B2G||Mulet) == select-fieldset-legend-2.html select-fieldset-legend-ref-2.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) == select-fieldset-legend-3.html select-fieldset-legend-ref-3.html # Initial mulet triage: parity with B2G/B2G Desktop == select-fieldset-legend-4.html select-fieldset-legend-ref-4.html == select-fieldset-legend-5.html select-fieldset-legend-ref-5.html diff --git a/layout/reftests/css-enabled/button/reftest.list b/layout/reftests/css-enabled/button/reftest.list index b797b63e40..4729ce4ed0 100644 --- a/layout/reftests/css-enabled/button/reftest.list +++ b/layout/reftests/css-enabled/button/reftest.list @@ -1,9 +1,9 @@ == button-fieldset-1.html button-fieldset-ref.html -fails-if(Android||B2G) == button-fieldset-2.html button-fieldset-ref.html -fails-if(Android||B2G) == button-fieldset-3.html button-fieldset-ref.html +fails-if(Android||B2G||Mulet) == button-fieldset-2.html button-fieldset-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) == button-fieldset-3.html button-fieldset-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == button-fieldset-4.html button-fieldset-ref.html == button-fieldset-legend-1.html button-fieldset-legend-ref-1.html -fails-if(Android||B2G) == button-fieldset-legend-2.html button-fieldset-legend-ref-2.html -fails-if(Android||B2G) == button-fieldset-legend-3.html button-fieldset-legend-ref-3.html +fails-if(Android||B2G||Mulet) == button-fieldset-legend-2.html button-fieldset-legend-ref-2.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) == button-fieldset-legend-3.html button-fieldset-legend-ref-3.html # Initial mulet triage: parity with B2G/B2G Desktop == button-fieldset-legend-4.html button-fieldset-legend-ref-4.html == button-fieldset-legend-5.html button-fieldset-legend-ref-5.html diff --git a/layout/reftests/css-enabled/select/reftest.list b/layout/reftests/css-enabled/select/reftest.list index 970c89fe6c..c351b166ab 100644 --- a/layout/reftests/css-enabled/select/reftest.list +++ b/layout/reftests/css-enabled/select/reftest.list @@ -1,9 +1,9 @@ == select-fieldset-1.html select-fieldset-ref.html -fails-if(B2G) == select-fieldset-2.html select-fieldset-ref-disabled.html -fails-if(B2G) == select-fieldset-3.html select-fieldset-ref-disabled.html +fails-if(B2G||Mulet) == select-fieldset-2.html select-fieldset-ref-disabled.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(B2G||Mulet) == select-fieldset-3.html select-fieldset-ref-disabled.html # Initial mulet triage: parity with B2G/B2G Desktop == select-fieldset-4.html select-fieldset-ref.html == select-fieldset-legend-1.html select-fieldset-legend-ref-1.html -fails-if(B2G) == select-fieldset-legend-2.html select-fieldset-legend-ref-2.html -fails-if(B2G) == select-fieldset-legend-3.html select-fieldset-legend-ref-3.html +fails-if(B2G||Mulet) == select-fieldset-legend-2.html select-fieldset-legend-ref-2.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(B2G||Mulet) == select-fieldset-legend-3.html select-fieldset-legend-ref-3.html # Initial mulet triage: parity with B2G/B2G Desktop == select-fieldset-legend-4.html select-fieldset-legend-ref-4.html == select-fieldset-legend-5.html select-fieldset-legend-ref-5.html diff --git a/layout/reftests/css-gradients/reftest.list b/layout/reftests/css-gradients/reftest.list index 432e033252..436ab5ca59 100644 --- a/layout/reftests/css-gradients/reftest.list +++ b/layout/reftests/css-gradients/reftest.list @@ -130,9 +130,9 @@ fuzzy-if(!contentSameGfxBackendAsCanvas,2,20000) fuzzy-if(azureSkiaGL,8,20000) f fuzzy-if(!contentSameGfxBackendAsCanvas,2,20000) fuzzy-if(azureSkiaGL,8,20000) fuzzy-if(azureQuartz&&OSX==1006,2,7878) == aja-linear-5a.html aja-linear-5-ref.html fuzzy-if(!contentSameGfxBackendAsCanvas,2,16477) fuzzy-if(azureSkiaGL,8,20000) fuzzy-if(azureQuartz,2,10163) == aja-linear-6a.html aja-linear-6-ref.html # bug 526708 fails == aja-linear-6b.html aja-linear-6-ref.html # bug 522607 -skip-if(B2G) == height-dependence-1.html height-dependence-1-ref.html -skip-if(B2G) fuzzy-if(cocoaWidget,1,40000) == height-dependence-2.html height-dependence-2-ref.html -skip-if(B2G) == height-dependence-3.html height-dependence-3-ref.html +skip-if(B2G||Mulet) == height-dependence-1.html height-dependence-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fuzzy-if(cocoaWidget,1,40000) == height-dependence-2.html height-dependence-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == height-dependence-3.html height-dependence-3-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == linear-onestopposition-1.html linear-onestopposition-1-ref.html fuzzy-if(d2d,47,400) == linear-onestopposition-1.html linear-onestopposition-1-ref2.html # d2d interpolates the hard stop diff --git a/layout/reftests/css-import/reftest.list b/layout/reftests/css-import/reftest.list index 1451570567..ff05918f5f 100644 --- a/layout/reftests/css-import/reftest.list +++ b/layout/reftests/css-import/reftest.list @@ -1,4 +1,4 @@ -skip-if(B2G) == 290018-1.html 290018-ref.html +skip-if(B2G||Mulet) == 290018-1.html 290018-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 436261-1.html 436261-ref.html == 436261-2.html 436261-ref.html == 436261-3.html 436261-ref.html @@ -6,5 +6,5 @@ skip-if(B2G) == 290018-1.html 290018-ref.html == 444723-2.html 444723-ref.html == 445415-1a.xhtml 445415-1-ref.xhtml == 445415-1b.xhtml 445415-1-ref.xhtml -skip-if(B2G) == 445415-2a.xhtml 445415-2-ref.xhtml # bug 773482 -skip-if(B2G) == 445415-2b.xhtml 445415-2-ref.xhtml # bug 773482 +skip-if(B2G||Mulet) == 445415-2a.xhtml 445415-2-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == 445415-2b.xhtml 445415-2-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop diff --git a/layout/reftests/css-invalid/input/reftest.list b/layout/reftests/css-invalid/input/reftest.list index 14d8f60ce4..4a247f3d42 100644 --- a/layout/reftests/css-invalid/input/reftest.list +++ b/layout/reftests/css-invalid/input/reftest.list @@ -1,7 +1,7 @@ == input-valid.html input-ref.html fuzzy(11,4) == input-customerror.html input-ref.html -skip-if(B2G) == input-disabled.html input-ref.html -skip-if(B2G) == input-dyn-disabled.html input-ref.html +skip-if(B2G||Mulet) == input-disabled.html input-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == input-dyn-disabled.html input-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == input-dyn-not-disabled.html input-ref.html == input-readonly.html input-ref.html == input-dyn-readonly.html input-ref.html diff --git a/layout/reftests/css-invalid/select/reftest.list b/layout/reftests/css-invalid/select/reftest.list index dde6adc9e3..079234e865 100644 --- a/layout/reftests/css-invalid/select/reftest.list +++ b/layout/reftests/css-invalid/select/reftest.list @@ -1,12 +1,12 @@ needs-focus == select-valid.html select-ref.html needs-focus == select-invalid.html select-ref.html needs-focus == select-disabled.html select-disabled-ref.html -skip-if(B2G) needs-focus == select-dyn-disabled.html select-disabled-ref.html +skip-if(B2G||Mulet) needs-focus == select-dyn-disabled.html select-disabled-ref.html # Initial mulet triage: parity with B2G/B2G Desktop needs-focus == select-dyn-not-disabled.html select-ref.html needs-focus == select-required-invalid.html select-required-ref.html needs-focus == select-required-valid.html select-required-ref.html needs-focus == select-required-multiple-invalid.html select-required-multiple-ref.html needs-focus == select-required-multiple-valid.html select-required-multiple-ref.html -skip-if(B2G) fails-if(Android) needs-focus == select-disabled-fieldset-1.html select-fieldset-ref.html -skip-if(B2G) fails-if(Android) needs-focus == select-disabled-fieldset-2.html select-fieldset-ref.html +skip-if(B2G||Mulet) fails-if(Android) needs-focus == select-disabled-fieldset-1.html select-fieldset-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) needs-focus == select-disabled-fieldset-2.html select-fieldset-ref.html # Initial mulet triage: parity with B2G/B2G Desktop needs-focus == select-fieldset-legend.html select-fieldset-legend-ref.html diff --git a/layout/reftests/css-invalid/textarea/reftest.list b/layout/reftests/css-invalid/textarea/reftest.list index c005f16ce9..8fbedd96c7 100644 --- a/layout/reftests/css-invalid/textarea/reftest.list +++ b/layout/reftests/css-invalid/textarea/reftest.list @@ -1,7 +1,7 @@ == textarea-valid.html textarea-ref.html == textarea-customerror.html textarea-ref.html -fails-if(B2G) == textarea-disabled.html textarea-ref.html -fails-if(B2G) == textarea-dyn-disabled.html textarea-ref.html +fails-if(B2G||Mulet) == textarea-disabled.html textarea-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(B2G||Mulet) == textarea-dyn-disabled.html textarea-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == textarea-dyn-not-disabled.html textarea-ref.html == textarea-readonly.html textarea-ref.html == textarea-dyn-readonly.html textarea-ref.html diff --git a/layout/reftests/css-mediaqueries/reftest.list b/layout/reftests/css-mediaqueries/reftest.list index d0cbe814b0..f1ecf3affb 100644 --- a/layout/reftests/css-mediaqueries/reftest.list +++ b/layout/reftests/css-mediaqueries/reftest.list @@ -1,19 +1,19 @@ -skip-if(B2G) == mq_print_height.xhtml mq_print-ref.xhtml # bug 773482 -skip-if(B2G) == mq_print_deviceheight.xhtml mq_print-ref.xhtml # bug 773482 -skip-if(B2G) == mq_print_width.xhtml mq_print-ref.xhtml # bug 773482 -skip-if(B2G) == mq_print_minwidth.xhtml mq_print-ref.xhtml # bug 773482 -skip-if(B2G) == mq_print_minheight.xhtml mq_print-ref.xhtml # bug 773482 -skip-if(B2G) == mq_print_aspectratio.xhtml mq_print-ref.xhtml # bug 773482 -skip-if(B2G) == mq_print_deviceaspectratio.xhtml mq_print-ref.xhtml # bug 773482 -skip-if(B2G) == mq_print_devicewidth.xhtml mq_print-ref.xhtml # bug 773482 -skip-if(B2G) == mq_print_orientation.xhtml mq_print_orientation-ref.xhtml # bug 773482 -skip-if(B2G) == mq_print_maxheight.xhtml mq_print-ref.xhtml # bug 773482 -skip-if(B2G) == mq_print_maxwidth.xhtml mq_print-ref.xhtml # bug 773482 +skip-if(B2G||Mulet) == mq_print_height.xhtml mq_print-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == mq_print_deviceheight.xhtml mq_print-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == mq_print_width.xhtml mq_print-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == mq_print_minwidth.xhtml mq_print-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == mq_print_minheight.xhtml mq_print-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == mq_print_aspectratio.xhtml mq_print-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == mq_print_deviceaspectratio.xhtml mq_print-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == mq_print_devicewidth.xhtml mq_print-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == mq_print_orientation.xhtml mq_print_orientation-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == mq_print_maxheight.xhtml mq_print-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == mq_print_maxwidth.xhtml mq_print-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop -skip-if(B2G) == mq_print_maxwidth_updown.xhtml mq_print-ref.xhtml # bug 773482 -skip-if(B2G) == mq_print_maxheight_updown.xhtml mq_print-ref.xhtml # bug 773482 -skip-if(B2G) == mq_print_minheight_updown.xhtml mq_print-ref.xhtml # bug 773482 -skip-if(B2G) == mq_print_minwidth_updown.xhtml mq_print-ref.xhtml # bug 773482 +skip-if(B2G||Mulet) == mq_print_maxwidth_updown.xhtml mq_print-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == mq_print_maxheight_updown.xhtml mq_print-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == mq_print_minheight_updown.xhtml mq_print-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == mq_print_minwidth_updown.xhtml mq_print-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == scoped-mq-update.html scoped-mq-update-ref.html == system-metrics-1.html system-metrics-1-ref.html diff --git a/layout/reftests/css-selectors/reftest.list b/layout/reftests/css-selectors/reftest.list index 5a1dec6b66..564e1bf17f 100644 --- a/layout/reftests/css-selectors/reftest.list +++ b/layout/reftests/css-selectors/reftest.list @@ -1,6 +1,6 @@ == state-dependent-in-any.html state-dependent-in-any-ref.html == attr-case-insensitive-1.html attr-case-insensitive-1-ref.html -skip-if(B2G&&browserIsRemote) == sibling-combinators-on-anon-content-1.xhtml sibling-combinators-on-anon-content-ref.xhtml -skip-if(B2G&&browserIsRemote) == sibling-combinators-on-anon-content-2.xhtml sibling-combinators-on-anon-content-ref.xhtml +skip-if((B2G&&browserIsRemote)||Mulet) == sibling-combinators-on-anon-content-1.xhtml sibling-combinators-on-anon-content-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == sibling-combinators-on-anon-content-2.xhtml sibling-combinators-on-anon-content-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop +== nth-child-1.html nth-child-ref.html +== nth-child-2.html nth-child-ref.html diff --git a/layout/reftests/css-submit-invalid/input-image/reftest.list b/layout/reftests/css-submit-invalid/input-image/reftest.list index 979c253797..72648ff609 100644 --- a/layout/reftests/css-submit-invalid/input-image/reftest.list +++ b/layout/reftests/css-submit-invalid/input-image/reftest.list @@ -1,7 +1,7 @@ == static-valid.html valid-ref.html == dynamic-valid.html valid-ref.html == static-invalid.html invalid-ref.html -skip-if(B2G) == dynamic-invalid.html invalid-ref.html +skip-if(B2G||Mulet) == dynamic-invalid.html invalid-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == dynamic-invalid-barred.html invalid-barred-ref.html == dynamic-invalid-barred-2.html invalid-barred-ref.html == dynamic-invalid-not-barred.html invalid-ref.html diff --git a/layout/reftests/css-submit-invalid/input-submit/reftest.list b/layout/reftests/css-submit-invalid/input-submit/reftest.list index 979c253797..72648ff609 100644 --- a/layout/reftests/css-submit-invalid/input-submit/reftest.list +++ b/layout/reftests/css-submit-invalid/input-submit/reftest.list @@ -1,7 +1,7 @@ == static-valid.html valid-ref.html == dynamic-valid.html valid-ref.html == static-invalid.html invalid-ref.html -skip-if(B2G) == dynamic-invalid.html invalid-ref.html +skip-if(B2G||Mulet) == dynamic-invalid.html invalid-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == dynamic-invalid-barred.html invalid-barred-ref.html == dynamic-invalid-barred-2.html invalid-barred-ref.html == dynamic-invalid-not-barred.html invalid-ref.html diff --git a/layout/reftests/css-ui-invalid/input/reftest.list b/layout/reftests/css-ui-invalid/input/reftest.list index 65f4843196..88437c45c6 100644 --- a/layout/reftests/css-ui-invalid/input/reftest.list +++ b/layout/reftests/css-ui-invalid/input/reftest.list @@ -1,7 +1,7 @@ == input-valid.html input-ref.html fuzzy(64,4) == input-customerror.html input-ref.html -skip-if(B2G) == input-disabled.html input-ref.html -skip-if(B2G) == input-dyn-disabled.html input-ref.html +skip-if(B2G||Mulet) == input-disabled.html input-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == input-dyn-disabled.html input-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == input-dyn-not-disabled.html input-ref.html == input-readonly.html input-ref.html == input-dyn-readonly.html input-ref.html diff --git a/layout/reftests/css-ui-invalid/select/reftest.list b/layout/reftests/css-ui-invalid/select/reftest.list index 3fed04b0a4..b7cb284bd7 100644 --- a/layout/reftests/css-ui-invalid/select/reftest.list +++ b/layout/reftests/css-ui-invalid/select/reftest.list @@ -2,7 +2,7 @@ needs-focus == select-valid.html select-ref.html needs-focus == select-invalid.html select-ref.html needs-focus == select-invalid-reset.html select-required-ref.html needs-focus == select-disabled.html select-disabled-ref.html -skip-if(B2G) needs-focus == select-dyn-disabled.html select-disabled-ref.html +skip-if(B2G||Mulet) needs-focus == select-dyn-disabled.html select-disabled-ref.html # Initial mulet triage: parity with B2G/B2G Desktop needs-focus == select-dyn-not-disabled.html select-ref.html needs-focus == select-required-invalid-1.html select-required-ref.html needs-focus == select-required-invalid-2.html select-required-ref.html @@ -12,7 +12,7 @@ needs-focus == select-required-valid.html select-required-ref.html needs-focus == select-required-multiple-invalid.html select-required-multiple-ref.html needs-focus == select-required-multiple-invalid-changed.html select-required-multiple-ref.html needs-focus == select-required-multiple-valid.html select-required-multiple-ref.html -skip-if(B2G) fails-if(Android) needs-focus == select-disabled-fieldset-1.html select-fieldset-ref.html -skip-if(B2G) fails-if(Android) needs-focus == select-disabled-fieldset-2.html select-fieldset-ref.html +skip-if(B2G||Mulet) fails-if(Android) needs-focus == select-disabled-fieldset-1.html select-fieldset-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) needs-focus == select-disabled-fieldset-2.html select-fieldset-ref.html # Initial mulet triage: parity with B2G/B2G Desktop needs-focus == select-fieldset-legend.html select-fieldset-legend-ref.html needs-focus == select-novalidate.html select-required-ref.html diff --git a/layout/reftests/css-ui-invalid/textarea/reftest.list b/layout/reftests/css-ui-invalid/textarea/reftest.list index 77998ed9e2..8f87e22457 100644 --- a/layout/reftests/css-ui-invalid/textarea/reftest.list +++ b/layout/reftests/css-ui-invalid/textarea/reftest.list @@ -1,7 +1,7 @@ == textarea-valid.html textarea-ref.html == textarea-customerror.html textarea-ref.html -skip-if(B2G) == textarea-disabled.html textarea-ref.html -fails-if(B2G) == textarea-dyn-disabled.html textarea-ref.html +skip-if(B2G||Mulet) == textarea-disabled.html textarea-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(B2G||Mulet) == textarea-dyn-disabled.html textarea-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == textarea-dyn-not-disabled.html textarea-ref.html == textarea-readonly.html textarea-ref.html == textarea-dyn-readonly.html textarea-ref.html diff --git a/layout/reftests/css-ui-valid/input/reftest.list b/layout/reftests/css-ui-valid/input/reftest.list index e2c4cc6080..8ed3cfe37d 100644 --- a/layout/reftests/css-ui-valid/input/reftest.list +++ b/layout/reftests/css-ui-valid/input/reftest.list @@ -1,7 +1,7 @@ == input-valid.html input-ref.html fuzzy(11,4) == input-customerror.html input-ref.html -fails-if(B2G) == input-disabled.html input-ref.html -fails-if(B2G) == input-dyn-disabled.html input-ref.html +fails-if(B2G||Mulet) == input-disabled.html input-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(B2G||Mulet) == input-dyn-disabled.html input-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == input-dyn-not-disabled.html input-ref.html == input-dyn-not-disabled-changed.html input-ref.html == input-readonly.html input-ref.html diff --git a/layout/reftests/css-ui-valid/select/reftest.list b/layout/reftests/css-ui-valid/select/reftest.list index 67f3d58285..afa457e52b 100644 --- a/layout/reftests/css-ui-valid/select/reftest.list +++ b/layout/reftests/css-ui-valid/select/reftest.list @@ -12,7 +12,7 @@ needs-focus == select-required-valid-changed-2.html select-required-ref.html needs-focus == select-required-multiple-invalid.html select-required-multiple-ref.html needs-focus == select-required-multiple-valid.html select-required-multiple-ref.html fuzzy(64,4) needs-focus == select-required-multiple-valid-changed.html select-required-multiple-ref.html -fails-if(Android||B2G) needs-focus == select-disabled-fieldset-1.html select-fieldset-ref.html -fails-if(Android||B2G) needs-focus == select-disabled-fieldset-2.html select-fieldset-ref.html +fails-if(Android||B2G||Mulet) needs-focus == select-disabled-fieldset-1.html select-fieldset-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) needs-focus == select-disabled-fieldset-2.html select-fieldset-ref.html # Initial mulet triage: parity with B2G/B2G Desktop needs-focus == select-fieldset-legend.html select-fieldset-legend-ref.html needs-focus == select-novalidate.html select-required-ref.html diff --git a/layout/reftests/css-ui-valid/textarea/reftest.list b/layout/reftests/css-ui-valid/textarea/reftest.list index d1fe0c93e3..33df21f536 100644 --- a/layout/reftests/css-ui-valid/textarea/reftest.list +++ b/layout/reftests/css-ui-valid/textarea/reftest.list @@ -1,7 +1,7 @@ == textarea-valid.html textarea-ref.html == textarea-customerror.html textarea-ref.html -fails-if(B2G) == textarea-disabled.html textarea-ref.html -random-if(B2G) == textarea-dyn-disabled.html textarea-ref.html +fails-if(B2G||Mulet) == textarea-disabled.html textarea-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +random-if(B2G||Mulet) == textarea-dyn-disabled.html textarea-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == textarea-dyn-not-disabled.html textarea-ref.html == textarea-dyn-not-disabled-changed.html textarea-ref.html == textarea-readonly.html textarea-ref.html diff --git a/layout/reftests/css-valid/input/reftest.list b/layout/reftests/css-valid/input/reftest.list index ad2a4afe68..7e25f63805 100644 --- a/layout/reftests/css-valid/input/reftest.list +++ b/layout/reftests/css-valid/input/reftest.list @@ -1,7 +1,7 @@ == input-valid.html input-ref.html fuzzy(64,4) == input-customerror.html input-ref.html -fails-if(B2G) == input-disabled.html input-ref.html -fails-if(B2G) == input-dyn-disabled.html input-ref.html +fails-if(B2G||Mulet) == input-disabled.html input-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(B2G||Mulet) == input-dyn-disabled.html input-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == input-dyn-not-disabled.html input-ref.html == input-readonly.html input-ref.html == input-dyn-readonly.html input-ref.html diff --git a/layout/reftests/css-valid/select/reftest.list b/layout/reftests/css-valid/select/reftest.list index 5264cb631a..4b061acc7d 100644 --- a/layout/reftests/css-valid/select/reftest.list +++ b/layout/reftests/css-valid/select/reftest.list @@ -7,6 +7,6 @@ needs-focus == select-required-invalid.html select-required-ref.html needs-focus == select-required-valid.html select-required-ref.html needs-focus == select-required-multiple-invalid.html select-required-multiple-ref.html needs-focus == select-required-multiple-valid.html select-required-multiple-ref.html -fails-if(Android||B2G) needs-focus == select-disabled-fieldset-1.html select-fieldset-ref.html -fails-if(Android||B2G) needs-focus == select-disabled-fieldset-2.html select-fieldset-ref.html +fails-if(Android||B2G||Mulet) needs-focus == select-disabled-fieldset-1.html select-fieldset-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) needs-focus == select-disabled-fieldset-2.html select-fieldset-ref.html # Initial mulet triage: parity with B2G/B2G Desktop needs-focus == select-fieldset-legend.html select-fieldset-legend-ref.html diff --git a/layout/reftests/css-valid/textarea/reftest.list b/layout/reftests/css-valid/textarea/reftest.list index c005f16ce9..8fbedd96c7 100644 --- a/layout/reftests/css-valid/textarea/reftest.list +++ b/layout/reftests/css-valid/textarea/reftest.list @@ -1,7 +1,7 @@ == textarea-valid.html textarea-ref.html == textarea-customerror.html textarea-ref.html -fails-if(B2G) == textarea-disabled.html textarea-ref.html -fails-if(B2G) == textarea-dyn-disabled.html textarea-ref.html +fails-if(B2G||Mulet) == textarea-disabled.html textarea-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(B2G||Mulet) == textarea-dyn-disabled.html textarea-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == textarea-dyn-not-disabled.html textarea-ref.html == textarea-readonly.html textarea-ref.html == textarea-dyn-readonly.html textarea-ref.html diff --git a/layout/reftests/css-valuesandunits/reftest.list b/layout/reftests/css-valuesandunits/reftest.list index 158e59183f..44c3684a2c 100644 --- a/layout/reftests/css-valuesandunits/reftest.list +++ b/layout/reftests/css-valuesandunits/reftest.list @@ -1,7 +1,7 @@ == unit-rem-div-fontsize.html unit-rem-ref.html == unit-rem-div-width-inner.html unit-rem-ref.html == unit-rem-div-width-outer.html unit-rem-ref.html -skip-if(B2G) == unit-rem-iframe.html unit-rem-ref-iframe.html # bug 773482 +skip-if(B2G||Mulet) == unit-rem-iframe.html unit-rem-ref-iframe.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == unit-rem-root-fontsize.html unit-rem-ref-root-fontsize.html == unit-rem-root-fontsize.html unit-rem-ref2-root-fontsize.html == unit-rem-root-width.html unit-rem-ref-root-width.html @@ -12,4 +12,4 @@ skip-if(B2G) == unit-rem-iframe.html unit-rem-ref-iframe.html # bug 773482 == unit-vh-vw-overflow-scroll.html unit-vh-vw-overflow-scroll-ref.html == unit-vh-vw-overflow-scroll-x.html unit-vh-vw-overflow-scroll-x-ref.html == unit-vh-vw-overflow-scroll-y.html unit-vh-vw-overflow-scroll-y-ref.html -skip-if(B2G) skip-if(Android) != unit-vh-vw-overflow-auto.html unit-vh-vw-overflow-scroll.html +skip-if(B2G||Mulet) skip-if(Android) != unit-vh-vw-overflow-auto.html unit-vh-vw-overflow-scroll.html # Initial mulet triage: parity with B2G/B2G Desktop diff --git a/layout/reftests/cssom/reftest.list b/layout/reftests/cssom/reftest.list index e8c1ba8d4b..7d1f928975 100644 --- a/layout/reftests/cssom/reftest.list +++ b/layout/reftests/cssom/reftest.list @@ -1,2 +1,2 @@ -skip-if(B2G) == computed-style-cross-window.html computed-style-cross-window-ref.html # bug 773482 +skip-if(B2G||Mulet) == computed-style-cross-window.html computed-style-cross-window-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == inline-style-null.html inline-style-null-ref.html diff --git a/layout/reftests/dom/reftest.list b/layout/reftests/dom/reftest.list index edda509ed0..07429d5115 100644 --- a/layout/reftests/dom/reftest.list +++ b/layout/reftests/dom/reftest.list @@ -32,25 +32,25 @@ # testing bindings that have multiple insertion points # skip XBL test case on B2G -skip-if(B2G) == multipleinsertionpoints-ref2.xhtml multipleinsertionpoints-ref.xhtml +skip-if(B2G||Mulet) == multipleinsertionpoints-ref2.xhtml multipleinsertionpoints-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop # append a single element -skip-if(B2G) == multipleinsertionpoints-appendsingle-1.xhtml multipleinsertionpoints-ref.xhtml # bug 773482 -skip-if(B2G) == multipleinsertionpoints-appendsingle-2.xhtml multipleinsertionpoints-ref.xhtml # bug 773482 +skip-if(B2G||Mulet) == multipleinsertionpoints-appendsingle-1.xhtml multipleinsertionpoints-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == multipleinsertionpoints-appendsingle-2.xhtml multipleinsertionpoints-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop # append several elements -skip-if(B2G) == multipleinsertionpoints-appendmultiple.xhtml multipleinsertionpoints-ref.xhtml # bug 773482 +skip-if(B2G||Mulet) == multipleinsertionpoints-appendmultiple.xhtml multipleinsertionpoints-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop # insert a single element -skip-if(B2G) == multipleinsertionpoints-insertsingle-1.xhtml multipleinsertionpoints-ref.xhtml # bug 773482 -skip-if(B2G) == multipleinsertionpoints-insertsingle-2.xhtml multipleinsertionpoints-ref.xhtml # bug 773482 +skip-if(B2G||Mulet) == multipleinsertionpoints-insertsingle-1.xhtml multipleinsertionpoints-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == multipleinsertionpoints-insertsingle-2.xhtml multipleinsertionpoints-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop # insert several elements -skip-if(B2G) == multipleinsertionpoints-insertmultiple.xhtml multipleinsertionpoints-ref.xhtml # bug 773482 +skip-if(B2G||Mulet) == multipleinsertionpoints-insertmultiple.xhtml multipleinsertionpoints-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop # test appending some nodes whose frame construction should be done lazily # followed by appending a node that might not be done lazily -skip-if(B2G&&browserIsRemote) == multipleappendwithxul.xhtml multipleappendwithxul-ref.xhtml # Bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) == multipleappendwithxul.xhtml multipleappendwithxul-ref.xhtml # Bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop == multipleappendwithinput.xhtml multipleappendwithinput-ref.xhtml == multipleappendwitheditable.xhtml multipleappendwitheditable-ref.xhtml -skip-if(B2G) == xbl-children-1.xhtml xbl-children-1-ref.xhtml -skip-if(B2G) == xbl-children-2.xhtml about:blank -skip-if(B2G) == xbl-children-3.xhtml xbl-children-3-ref.html -skip-if(B2G) == xbl-children-4.xhtml xbl-children-4-ref.html +skip-if(B2G||Mulet) == xbl-children-1.xhtml xbl-children-1-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == xbl-children-2.xhtml about:blank # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == xbl-children-3.xhtml xbl-children-3-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == xbl-children-4.xhtml xbl-children-4-ref.html # Initial mulet triage: parity with B2G/B2G Desktop diff --git a/layout/reftests/first-letter/reftest.list b/layout/reftests/first-letter/reftest.list index 62247aaa89..1f6652f830 100644 --- a/layout/reftests/first-letter/reftest.list +++ b/layout/reftests/first-letter/reftest.list @@ -64,7 +64,7 @@ fails-if(winWidget||cocoaWidget) == 617869-1.html 617869-1-ref.html == 922550-1.html 922550-1-ref.html == 958249.html 958249-ref.html == font-text-styles.html font-text-styles-ref.html -fails-if(gtk2Widget) random-if(winWidget&&!d2d) == font-text-styles-floater.html font-text-styles-floater-ref.html # bug 992846 +fails-if(gtk2Widget&&!Mulet) random-if(winWidget&&!d2d) == font-text-styles-floater.html font-text-styles-floater-ref.html # bug 992846 # Initial mulet triage: parity with B2G/B2G Desktop == inline-height-empty.html inline-height-empty-ref.html HTTP(..) == indic-clusters-1.html indic-clusters-1-ref.html == overflow-float-nooverflow.html overflow-float-nooverflow-ref.html diff --git a/layout/reftests/flexbox/reftest.list b/layout/reftests/flexbox/reftest.list index f6081301c1..aad437afd4 100644 --- a/layout/reftests/flexbox/reftest.list +++ b/layout/reftests/flexbox/reftest.list @@ -101,7 +101,7 @@ fails == flexbox-inlinecontent-horiz-1b.xhtml flexbox-inlinecontent-horiz-1-ref. == flexbox-invalidation-1.html flexbox-invalidation-1-ref.html # Tests for flexbox in an iframe that gets resized. -skip-if(B2G) == flexbox-resizeviewport-1.xhtml flexbox-resizeviewport-1-ref.xhtml +skip-if(B2G||Mulet) == flexbox-resizeviewport-1.xhtml flexbox-resizeviewport-1-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop # Tests for flexbox styling on things that don't support it == flexbox-styling-on-svg-1.svg flexbox-styling-on-svg-1-ref.svg diff --git a/layout/reftests/font-face/reftest.list b/layout/reftests/font-face/reftest.list index 81f6249146..3573d9d1d9 100644 --- a/layout/reftests/font-face/reftest.list +++ b/layout/reftests/font-face/reftest.list @@ -18,18 +18,18 @@ HTTP(..) != multiple-descriptor-1.html multiple-descriptor-1-notref.html HTTP(..) == src-list-1.html src-list-1-ref.html HTTP(..) == src-list-2.html src-list-2-ref.html random-if(winWidget) HTTP(..) == src-list-2-big-otf.html src-list-2-big-ref.html # bug 470713 -skip-if(B2G) HTTP(..) == src-list-format-1.html src-list-format-1-ref.html # bug 773482 +skip-if(B2G||Mulet) HTTP(..) == src-list-format-1.html src-list-format-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == src-list-format-2.html src-list-format-2-ref.html HTTP(..) == src-list-format-3.html src-list-format-3-ref.html HTTP(..) == src-list-format-4.html src-list-format-1-ref.html HTTP(..) == src-list-format-5.html src-list-format-2-ref.html HTTP(..) == src-list-format-6.html src-list-format-3-ref.html # assumes AAT fonts are only supported on MacOS -skip-if(B2G) random-if(cocoaWidget) HTTP(..) == src-list-format-7.html src-list-format-2-ref.html -skip-if(B2G) random-if(!cocoaWidget) HTTP(..) == src-list-format-7.html src-list-format-3-ref.html +skip-if(B2G||Mulet) random-if(cocoaWidget) HTTP(..) == src-list-format-7.html src-list-format-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) random-if(!cocoaWidget) HTTP(..) == src-list-format-7.html src-list-format-3-ref.html # Initial mulet triage: parity with B2G/B2G Desktop fails-if(Android||B2G) == src-list-local-full.html src-list-local-full-ref.html # bug 773482 fails-if(Android||B2G) == src-list-local-full-quotes.html src-list-local-full-ref.html # bug 773482 -skip-if(B2G) HTTP(..) == src-list-local-fallback.html src-list-local-fallback-ref.html +skip-if(B2G||Mulet) HTTP(..) == src-list-local-fallback.html src-list-local-fallback-ref.html # Initial mulet triage: parity with B2G/B2G Desktop # data url tests (these don't need the HTTP server) == src-list-data-1.html src-list-data-ref.html @@ -58,7 +58,7 @@ HTTP(..) != multiple-in-family-1.html multiple-in-family-1-notref.html HTTP(..) == prop-order-over-rule-order-1a.html prop-order-over-rule-order-2a.html HTTP(..) == prop-order-over-rule-order-1b.html prop-order-over-rule-order-2b.html HTTP(..) != prop-order-over-rule-order-1a.html prop-order-over-rule-order-1b.html -skip-if(B2G) HTTP(..) == cross-iframe-1.html cross-iframe-1-ref.html # bug 773482 +skip-if(B2G||Mulet) HTTP(..) == cross-iframe-1.html cross-iframe-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop # unicode-range pref(layout.css.unicode-range.enabled,true) HTTP(..) == unicoderange-1.html unicoderange-1-ref.html @@ -75,17 +75,17 @@ HTTP(..) == enable-sheet-4.html enable-sheet-4-ref.html HTTP(..) == enable-sheet-5.html enable-sheet-4-ref.html skip HTTP(..) == enable-sheet-6.html multiple-in-family-1-ref.html skip HTTP(..) == enable-sheet-7.html multiple-in-family-1-ref.html -skip-if(B2G) HTTP(..) == disable-sheet-1.html disable-sheet-1-ref.html # bug 773482 +skip-if(B2G||Mulet) HTTP(..) == disable-sheet-1.html disable-sheet-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop # We're missing disable-sheet-{2,3,6,7} (analogs to # enable-sheet{2,3,6,7}) because I don't know how to detect test # completion for those cases. HTTP(..) == disable-sheet-4.html disable-sheet-4-ref.html HTTP(..) == disable-sheet-5.html disable-sheet-4-ref.html -skip-if(B2G) HTTP(..) == sheet-set-base-1.html sheet-set-base-1-ref.html # bug 773482 +skip-if(B2G||Mulet) HTTP(..) == sheet-set-base-1.html sheet-set-base-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop random-if(cocoaWidget) HTTP(..) == sheet-set-switch-1.html sheet-set-switch-1-ref.html # bug 468217 HTTP(..) == insert-rule-1a.html insert-rule-1-ref.html HTTP(..) == insert-rule-1b.html insert-rule-1-ref.html -skip-if(B2G) HTTP(..) == delete-rule-1.html delete-rule-1-ref.html # bug 773482 +skip-if(B2G||Mulet) HTTP(..) == delete-rule-1.html delete-rule-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == media-query-add-1.html media-query-add-1-ref.html HTTP(..) == media-query-remove-1.html media-query-remove-1-ref.html HTTP(..) != media-query-add-1-ref.html media-query-remove-1-ref.html @@ -100,8 +100,8 @@ HTTP(..) == ex-unit-1-dynamic.html ex-unit-1-ref.html == local-1.html local-1-ref.html == local-styled-1.html local-styled-1-ref.html -skip-if(B2G) HTTP(..) == synthetic-weight-style.html synthetic-weight-style-ref.html # bug 773482 -skip-if(B2G) HTTP(..) == synthetic-variations.html synthetic-variations-ref.html +skip-if(B2G||Mulet) HTTP(..) == synthetic-weight-style.html synthetic-weight-style-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) HTTP(..) == synthetic-variations.html synthetic-variations-ref.html # Initial mulet triage: parity with B2G/B2G Desktop # Leak test HTTP(..) load 486974-1.html @@ -110,8 +110,8 @@ HTTP(..) load 486974-1.html HTTP(..) == load-badchecksum.html load-badchecksum-ref.html # @font-face names take precedence over names of platform fonts (bug 494360) -skip-if(B2G) HTTP(..) == name-collision.html name-collision-ref.html # bug 773482 -skip-if(B2G) HTTP(..) == name-collision-bad-url.html name-collision-bad-url-ref.html # bug 773482 +skip-if(B2G||Mulet) HTTP(..) == name-collision.html name-collision-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) HTTP(..) == name-collision-bad-url.html name-collision-bad-url-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == name-collision-with-prefs-font.html name-collision-with-prefs-font-ref.html # bug 668758 HTTP(..) == load-badfullname.html load-badfullname-ref.html @@ -129,7 +129,7 @@ HTTP(..) == 507960-1-bad-checksums-woff.html 507960-1-ref.html # try versions that should NOT load (bad offsets, signatures, hint) HTTP(..) != 507960-1-bad-sfnt-version-ttf.html 507960-1-ref.html HTTP(..) != 507960-1-bad-sfnt-version-woff.html 507960-1-ref.html -skip-if(B2G) HTTP(..) != 507960-1-bad-woff-sig.html 507960-1-ref.html +skip-if(B2G||Mulet) HTTP(..) != 507960-1-bad-woff-sig.html 507960-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) != 507960-1-bad-offset-woff.html 507960-1-ref.html HTTP(..) != 507960-1-woff-bad-hint.html 507960-1-ref.html @@ -145,15 +145,15 @@ HTTP(..) == bug533251.html bug533251-ref.html HTTP(..) == font-familiy-whitespace-1.html font-familiy-whitespace-1-ref.html HTTP(..) != font-familiy-whitespace-1.html font-familiy-whitespace-1-notref.html -skip-if(B2G) HTTP(..) == ivs-1.html ivs-1-ref.html # bug 773482 -skip-if(B2G) HTTP(..) == cjkcisvs-1.html cjkcisvs-1-ref.html +skip-if(B2G||Mulet) HTTP(..) == ivs-1.html ivs-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) HTTP(..) == cjkcisvs-1.html cjkcisvs-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop -skip-if(B2G) HTTP(..) == missing-names.html missing-names-ref.html # bug 773482 +skip-if(B2G||Mulet) HTTP(..) == missing-names.html missing-names-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop # Tests for bug 670900 - handling of 404 (not found) error in @font-face URL # (using Chunkfive font data returned from a .sjs file) HTTP(..) == font-error-404-1.html font-error-404-1-ref.html # HTTP status 404, don't load -skip-if(B2G) HTTP(..) == font-error-404-2.html font-error-404-2-ref.html # HTTP status 200, load # bug 773482 +skip-if(B2G||Mulet) HTTP(..) == font-error-404-2.html font-error-404-2-ref.html # HTTP status 200, load # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) != font-error-404-1.html font-error-404-2.html # sanity-check that the results differ # Font load redirection diff --git a/layout/reftests/font-features/reftest.list b/layout/reftests/font-features/reftest.list index 2c20857bea..a67de6da3f 100644 --- a/layout/reftests/font-features/reftest.list +++ b/layout/reftests/font-features/reftest.list @@ -5,7 +5,7 @@ # check that Turkish language causes a change in rendering (no fi ligature) # (also works via Pango) -skip-if(B2G) HTTP(..) != font-features-turkish.html font-features-ref.html # bug 773482 +skip-if(B2G||Mulet) HTTP(..) != font-features-turkish.html font-features-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop # check that disabling ligatures causes a change HTTP(..) != font-features-noliga.html font-features-ref.html @@ -30,16 +30,16 @@ HTTP(..) != font-features-hlig-5.html font-features-hlig.html HTTP(..) == font-features-ligatures-none.html font-features-noliga.html # check that feature in style rule overrides @font-face -skip-if(B2G) HTTP(..) == font-features-hlig-3.html font-features-noliga.html # bug 773482 +skip-if(B2G||Mulet) HTTP(..) == font-features-hlig-3.html font-features-noliga.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop # compare font-language-override rendering to lang-tagged rendering -skip-if(B2G) HTTP(..) == font-features-turkish-override-1.html font-features-turkish.html # bug 773482 +skip-if(B2G||Mulet) HTTP(..) == font-features-turkish-override-1.html font-features-turkish.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == font-features-turkish-override-2.html font-features-turkish.html # check use of font-language-override to override explicit lang tag HTTP(..) == font-features-turkish-override-3.html font-features-ref.html HTTP(..) == font-features-turkish-override-4.html font-features-ref.html -skip-if(B2G) HTTP(..) == font-features-turkish-override-5.html font-features-turkish.html # bug 773482 +skip-if(B2G||Mulet) HTTP(..) == font-features-turkish-override-5.html font-features-turkish.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop # check that last value wins if a feature is repeated HTTP(..) == font-features-order-1.html font-features-ref.html diff --git a/layout/reftests/font-inflation/reftest.list b/layout/reftests/font-inflation/reftest.list index 32b18ef7a7..a1da16a01a 100644 --- a/layout/reftests/font-inflation/reftest.list +++ b/layout/reftests/font-inflation/reftest.list @@ -37,21 +37,21 @@ test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceE test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == textarea-3.html textarea-3-ref.html test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == css-transform-1.html css-transform-1-ref.html test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == css-transform-2.html css-transform-2-ref.html -skip-if(B2G) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == container-with-clamping.html container-with-clamping-ref.html +skip-if(B2G||Mulet) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == container-with-clamping.html container-with-clamping-ref.html # Initial mulet triage: parity with B2G/B2G Desktop test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) load video-1.html test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-min-1.html intrinsic-min-1-ref.html -skip-if(B2G) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-max-1.html intrinsic-max-1-ref.html -skip-if(B2G) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-fit-1a.html intrinsic-fit-1a-ref.html -skip-if(B2G) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-fit-1b.html intrinsic-fit-1b-ref.html +skip-if(B2G||Mulet) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-max-1.html intrinsic-max-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-fit-1a.html intrinsic-fit-1a-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-fit-1b.html intrinsic-fit-1b-ref.html # Initial mulet triage: parity with B2G/B2G Desktop test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-fit-1c.html intrinsic-fit-1c-ref.html test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-fit-2a.html intrinsic-fit-1a-ref.html -skip-if(B2G) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-fit-2b.html intrinsic-fit-1b-ref.html -skip-if(B2G) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-fit-2c.html intrinsic-fit-1c-ref.html +skip-if(B2G||Mulet) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-fit-2b.html intrinsic-fit-1b-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) HTTP(..) == intrinsic-fit-2c.html intrinsic-fit-1c-ref.html # Initial mulet triage: parity with B2G/B2G Desktop test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == select-listbox-1.html select-listbox-1-ref.html test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) != select-listbox-1.html select-listbox-1.html test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == select-combobox-1.html select-combobox-1-ref.html test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) != select-combobox-1.html select-combobox-1.html -skip-if(B2G) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == select-listbox-2.html select-listbox-2-ref.html +skip-if(B2G||Mulet) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == select-listbox-2.html select-listbox-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) != select-listbox-2.html select-listbox-2.html test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) == select-combobox-2.html select-combobox-2-ref.html test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,0) != select-combobox-2.html select-combobox-2.html @@ -84,9 +84,9 @@ test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceE test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,100) == threshold-scope-cell-3.html threshold-scope-cell-3-ref.html fuzzy-if(gtk2Widget,1,10) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,100) == threshold-textarea-contents-under-1.html threshold-textarea-contents-under-1.html -skip-if(B2G) fuzzy-if(gtk2Widget,1,10) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,100) == threshold-textarea-contents-under-2.html threshold-textarea-contents-under-2.html +skip-if(B2G||Mulet) fuzzy-if(gtk2Widget,1,10) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,100) == threshold-textarea-contents-under-2.html threshold-textarea-contents-under-2.html # Initial mulet triage: parity with B2G/B2G Desktop fuzzy-if(gtk2Widget,1,10) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,100) == threshold-textarea-contents-at-1.html threshold-textarea-contents-at-1-ref.html -skip-if(B2G) fuzzy-if(gtk2Widget,1,10) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,100) == threshold-textarea-contents-at-2.html threshold-textarea-contents-at-2-ref.html +skip-if(B2G||Mulet) fuzzy-if(gtk2Widget,1,10) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,100) == threshold-textarea-contents-at-2.html threshold-textarea-contents-at-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop fuzzy-if(gtk2Widget,1,10) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,100) == threshold-input-text-contents-under-1.html threshold-input-text-contents-under-1.html fuzzy-if(gtk2Widget,1,10) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,100) == threshold-input-text-contents-under-2.html threshold-input-text-contents-under-2.html fuzzy-if(gtk2Widget,1,10) test-pref(font.size.inflation.emPerLine,15) test-pref(font.size.inflation.forceEnabled,true) test-pref(font.size.inflation.lineThreshold,100) == threshold-input-text-contents-at-1.html threshold-input-text-contents-at-1-ref.html diff --git a/layout/reftests/font-matching/reftest.list b/layout/reftests/font-matching/reftest.list index d03606ed89..3b2327cbfb 100644 --- a/layout/reftests/font-matching/reftest.list +++ b/layout/reftests/font-matching/reftest.list @@ -53,8 +53,8 @@ random-if(cocoaWidget) != impact-bold.html impact.html # bug 539418 == familyname-escapedidents.html familyname-escapedidents-ref.html # weight mapping tests -skip-if(B2G) HTTP(..) == normalmedium.html normalmedium-ref.html # bug 773482 -skip-if(B2G) HTTP(..) != normalmedium.html normalmedium-notref.html # bug 773482 +skip-if(B2G||Mulet) HTTP(..) == normalmedium.html normalmedium-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) HTTP(..) != normalmedium.html normalmedium-notref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop # Linux fails due to bug 604815 HTTP(..) == weightmapping-12.html weightmapping-12-ref.html @@ -65,13 +65,13 @@ HTTP(..) == weightmapping-478.html weightmapping-478-ref.html HTTP(..) == weightmapping-7.html weightmapping-7-ref.html HTTP(..) == weightmapping-12579.html weightmapping-12579-ref.html -skip-if(B2G) HTTP(..) == stretchmapping-all.html stretchmapping-all-ref.html # bug 773482 -skip-if(B2G) HTTP(..) == stretchmapping-reverse.html stretchmapping-reverse-ref.html +skip-if(B2G||Mulet) HTTP(..) == stretchmapping-all.html stretchmapping-all-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) HTTP(..) == stretchmapping-reverse.html stretchmapping-reverse-ref.html # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == stretchmapping-35.html stretchmapping-35-ref.html HTTP(..) == stretchmapping-137.html stretchmapping-137-ref.html # test for font-stretch using @font-face -skip-if(B2G) skip-if(Android&&AndroidVersion>15) HTTP(..) == font-stretch-1.html font-stretch-1-ref.html # bugs 773482, 927602 +skip-if(B2G||Mulet) skip-if(Android&&AndroidVersion>15) HTTP(..) == font-stretch-1.html font-stretch-1-ref.html # bugs 773482, 927602 # Initial mulet triage: parity with B2G/B2G Desktop # bug 724231 - applying synthetic styles to a single @font-face font # should apply artificial obliquing, not switch to a true styled face diff --git a/layout/reftests/forms/button/reftest.list b/layout/reftests/forms/button/reftest.list index b6daa6646d..ff540a2ed7 100644 --- a/layout/reftests/forms/button/reftest.list +++ b/layout/reftests/forms/button/reftest.list @@ -6,10 +6,10 @@ # The buttons in these tests have some fancy shading applied to their corners # on B2G, despite their "-moz-appearance: none; background: gray", so they # don't quite match the reference case's normal
. That's why they're fuzzy. -fuzzy-if(B2G||Android,125,20) == percent-height-child-1.html percent-height-child-1-ref.html -pref(browser.display.focus_ring_width,1) fuzzy-if(B2G||Android,125,80) == percent-height-child-2.html percent-height-child-2-ref.html -fuzzy-if(B2G||Android,125,20) == percent-width-child-1.html percent-width-child-1-ref.html -pref(browser.display.focus_ring_width,1) fuzzy-if(B2G||Android,125,80) == percent-width-child-2.html percent-width-child-2-ref.html +fuzzy-if(B2G||Mulet||Android,125,20) == percent-height-child-1.html percent-height-child-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +pref(browser.display.focus_ring_width,1) fuzzy-if(B2G||Mulet||Android,125,80) == percent-height-child-2.html percent-height-child-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fuzzy-if(B2G||Mulet||Android,125,20) == percent-width-child-1.html percent-width-child-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +pref(browser.display.focus_ring_width,1) fuzzy-if(B2G||Mulet||Android,125,80) == percent-width-child-2.html percent-width-child-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == vertical-centering.html vertical-centering-ref.html @@ -20,7 +20,7 @@ pref(browser.display.focus_ring_width,1) fuzzy-if(B2G||Android,125,80) == percen # Looks like Android and B2G change the text color, but to something slightly # different from ColorGray -fails-if(Android||B2G) == disabled-1.html disabled-1-ref.html +fails-if(Android||B2G||Mulet) == disabled-1.html disabled-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == disabled-2.html disabled-2-ref.html != disabled-3.html disabled-3-notref.html diff --git a/layout/reftests/forms/fieldset/reftest.list b/layout/reftests/forms/fieldset/reftest.list index eb2b9ade10..030dd8c7b6 100644 --- a/layout/reftests/forms/fieldset/reftest.list +++ b/layout/reftests/forms/fieldset/reftest.list @@ -4,11 +4,11 @@ == fieldset-percentage-padding-1.html fieldset-percentage-padding-1-ref.html == fieldset-scroll-1.html fieldset-scroll-1-ref.html == fieldset-scrolled-1.html fieldset-scrolled-1-ref.html -random-if(B2G) == fieldset-overflow-auto-1.html fieldset-overflow-auto-1-ref.html +random-if(B2G||Mulet) == fieldset-overflow-auto-1.html fieldset-overflow-auto-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop fuzzy-if(winWidget&&!layersGPUAccelerated,102,205) == positioned-container-1.html positioned-container-1-ref.html == relpos-legend-1.html relpos-legend-1-ref.html == relpos-legend-2.html relpos-legend-2-ref.html -test-pref(layout.css.sticky.enabled,true) skip-if(B2G&&browserIsRemote) == sticky-legend-1.html sticky-legend-1-ref.html +test-pref(layout.css.sticky.enabled,true) skip-if((B2G&&browserIsRemote)||Mulet) == sticky-legend-1.html sticky-legend-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == abs-pos-child-sizing.html abs-pos-child-sizing-ref.html == overflow-hidden.html overflow-hidden-ref.html == legend-rtl.html legend-rtl-ref.html diff --git a/layout/reftests/forms/input/checkbox/reftest.list b/layout/reftests/forms/input/checkbox/reftest.list index 058f1b01fd..26ff115a2f 100644 --- a/layout/reftests/forms/input/checkbox/reftest.list +++ b/layout/reftests/forms/input/checkbox/reftest.list @@ -1,5 +1,5 @@ == label-dynamic.html label-dynamic-ref.html -skip-if(B2G) fails-if(Android) == radio-stretched.html radio-stretched-ref.html # test for bug 464589 +skip-if(B2G||Mulet) fails-if(Android) == radio-stretched.html radio-stretched-ref.html # test for bug 464589 # Initial mulet triage: parity with B2G/B2G Desktop != checked.html checked-notref.html != checked-native.html checked-native-notref.html != checked.html about:blank diff --git a/layout/reftests/forms/input/file/reftest.list b/layout/reftests/forms/input/file/reftest.list index b40a270f59..157909b4ed 100644 --- a/layout/reftests/forms/input/file/reftest.list +++ b/layout/reftests/forms/input/file/reftest.list @@ -1,8 +1,8 @@ # B2G failures: bug 855352. -fails-if(B2G||Android) fuzzy-if(OSX==1006,8,128) skip-if(B2G&&browserIsRemote) == simple.html simple-ref.xul # bug 974780 -fails-if(B2G||Android) fuzzy-if(OSX==1006,8,64) skip-if(B2G&&browserIsRemote) == rtl.html rtl-ref.xul # bug 974780 -fails-if(B2G||Android) fuzzy-if(OSX==1006,8,128) skip-if(B2G&&browserIsRemote) == size.html simple-ref.xul # bug 974780 -fails-if(B2G||Android) fuzzy-if(OSX==1006,8,64) skip-if(B2G&&browserIsRemote) == background.html background-ref.xul # bug 974780 -fails-if(B2G||Android) skip-if(B2G&&browserIsRemote) == style.html style-ref.xul # bug 974780 +fails-if(B2G||Mulet||Android) fuzzy-if(OSX==1006,8,128) skip-if((B2G&&browserIsRemote)||Mulet) == simple.html simple-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(B2G||Mulet||Android) fuzzy-if(OSX==1006,8,64) skip-if((B2G&&browserIsRemote)||Mulet) == rtl.html rtl-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(B2G||Mulet||Android) fuzzy-if(OSX==1006,8,128) skip-if((B2G&&browserIsRemote)||Mulet) == size.html simple-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(B2G||Mulet||Android) fuzzy-if(OSX==1006,8,64) skip-if((B2G&&browserIsRemote)||Mulet) == background.html background-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(B2G||Mulet||Android) skip-if((B2G&&browserIsRemote)||Mulet) == style.html style-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop != width-clip.html width-clip-ref.html -fails-if(B2G||Android) == color-inherit.html color-inherit-ref.html +fails-if(B2G||Mulet||Android) == color-inherit.html color-inherit-ref.html # Initial mulet triage: parity with B2G/B2G Desktop diff --git a/layout/reftests/forms/input/number/reftest.list b/layout/reftests/forms/input/number/reftest.list index c64fce2e38..bbf6fa9fb0 100644 --- a/layout/reftests/forms/input/number/reftest.list +++ b/layout/reftests/forms/input/number/reftest.list @@ -2,10 +2,10 @@ default-preferences pref(dom.forms.number,true) # sanity checks: # not valid on Android/B2G where type=number looks like type=text -skip-if(Android||B2G) != not-other-type-unthemed-1.html not-other-type-unthemed-1a-notref.html -skip-if(Android||B2G) != not-other-type-unthemed-1.html not-other-type-unthemed-1b-notref.html +skip-if(Android||B2G||Mulet) != not-other-type-unthemed-1.html not-other-type-unthemed-1a-notref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) != not-other-type-unthemed-1.html not-other-type-unthemed-1b-notref.html # Initial mulet triage: parity with B2G/B2G Desktop # only valid on Android/B2G where type=number looks the same as type=text -skip-if(!Android&&!B2G) == number-same-as-text-unthemed.html number-same-as-text-unthemed-ref.html +skip-if(!Android&&!B2G&&!Mulet) == number-same-as-text-unthemed.html number-same-as-text-unthemed-ref.html # Initial mulet triage: parity with B2G/B2G Desktop # should look the same as type=text, except for the spin box == number-similar-to-text-unthemed.html number-similar-to-text-unthemed-ref.html @@ -24,10 +24,10 @@ fuzzy-if(/^Windows\x20NT\x205\.1/.test(http.oscpu),64,4) fuzzy-if(cocoaWidget,63 == number-auto-width-1.html number-auto-width-1-ref.html # min-height/max-height tests: -skip-if(B2G||Android) == number-min-height-1.html number-min-height-1-ref.html -skip-if(B2G||Android) == number-min-height-2.html number-min-height-2-ref.html -skip-if(B2G||Android) == number-max-height-1.html number-max-height-1-ref.html -skip-if(B2G||Android) == number-max-height-2.html number-max-height-2-ref.html +skip-if(B2G||Mulet||Android) == number-min-height-1.html number-min-height-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet||Android) == number-min-height-2.html number-min-height-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet||Android) == number-max-height-1.html number-max-height-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet||Android) == number-max-height-2.html number-max-height-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop # number of significant fractional digits: == number-significant-fractional-digits.html number-significant-fractional-digits-ref.html @@ -35,7 +35,7 @@ skip-if(B2G||Android) == number-max-height-2.html number-max-height-2-ref.html # focus # autofocus is disabled on B2G # https://bugzilla.mozilla.org/show_bug.cgi?id=965763 -skip-if(B2G) needs-focus == focus-handling.html focus-handling-ref.html +skip-if(B2G||Mulet) needs-focus == focus-handling.html focus-handling-ref.html # Initial mulet triage: parity with B2G/B2G Desktop # select == number-selected.html number-selected-ref.html diff --git a/layout/reftests/forms/input/range/reftest.list b/layout/reftests/forms/input/range/reftest.list index aad9716568..95763fc98f 100644 --- a/layout/reftests/forms/input/range/reftest.list +++ b/layout/reftests/forms/input/range/reftest.list @@ -28,6 +28,6 @@ fuzzy-if(B2G,1,1) == max-prop.html 100pct-common-ref.html == direction-unthemed-1.html direction-unthemed-1-ref.html # ::-moz-range-progress pseudo-element: -fails-if(B2G||Android) == moz-range-progress-1.html moz-range-progress-1-ref.html +fails-if(B2G||Mulet||Android) == moz-range-progress-1.html moz-range-progress-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == moz-range-progress-2.html moz-range-progress-2-ref.html == moz-range-progress-3.html moz-range-progress-3-ref.html diff --git a/layout/reftests/forms/input/text/reftest.list b/layout/reftests/forms/input/text/reftest.list index 7b9e7f0072..70d8a5d0cd 100644 --- a/layout/reftests/forms/input/text/reftest.list +++ b/layout/reftests/forms/input/text/reftest.list @@ -1,9 +1,9 @@ == bounds-1.html bounds-1-ref.html == size-1.html size-1-ref.html -skip-if(B2G) == size-2.html size-2-ref.html +skip-if(B2G||Mulet) == size-2.html size-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == baseline-1.html baseline-1-ref.html -skip-if(B2G&&browserIsRemote) HTTP(..) == centering-1.xul centering-1-ref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == dynamic-height-1.xul dynamic-height-1-ref.xul # bug 974780 +skip-if((B2G&&browserIsRemote)||Mulet) HTTP(..) == centering-1.xul centering-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == dynamic-height-1.xul dynamic-height-1-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop needs-focus == select.html select-ref.html == intrinsic-size.html intrinsic-size-ref.html == line-height-0.5.html line-height-1.0.html diff --git a/layout/reftests/forms/legend/reftest.list b/layout/reftests/forms/legend/reftest.list index 4c57e22b5e..40e7287c21 100644 --- a/layout/reftests/forms/legend/reftest.list +++ b/layout/reftests/forms/legend/reftest.list @@ -1,2 +1,2 @@ -skip-if(B2G) == legend.html legend-ref.html +skip-if(B2G||Mulet) == legend.html legend-ref.html # Initial mulet triage: parity with B2G/B2G Desktop pref(dom.webcomponents.enabled,true) == shadow-dom.html shadow-dom-ref.html diff --git a/layout/reftests/forms/meter/reftest.list b/layout/reftests/forms/meter/reftest.list index 17a4a8aa81..b51b6f6e2a 100644 --- a/layout/reftests/forms/meter/reftest.list +++ b/layout/reftests/forms/meter/reftest.list @@ -2,7 +2,7 @@ fuzzy-if(Android,128,16) == values.html values-ref.html == values-rtl.html values-rtl-ref.html == margin-padding.html margin-padding-ref.html == margin-padding-rtl.html margin-padding-rtl-ref.html -skip-if(B2G) == bar-pseudo-element.html bar-pseudo-element-ref.html +skip-if(B2G||Mulet) == bar-pseudo-element.html bar-pseudo-element-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == bar-pseudo-element-rtl.html bar-pseudo-element-rtl-ref.html # vertical tests @@ -10,7 +10,7 @@ skip-if(B2G) == bar-pseudo-element.html bar-pseudo-element-ref.html == values-vertical-rtl.html values-vertical-rtl-ref.html == margin-padding-vertical.html margin-padding-vertical-ref.html == margin-padding-vertical-rtl.html margin-padding-vertical-rtl-ref.html -skip-if(B2G) == bar-pseudo-element-vertical.html bar-pseudo-element-vertical-ref.html +skip-if(B2G||Mulet) == bar-pseudo-element-vertical.html bar-pseudo-element-vertical-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == bar-pseudo-element-vertical-rtl.html bar-pseudo-element-vertical-rtl-ref.html # The following test is disabled but kept in the repository because the diff --git a/layout/reftests/forms/placeholder/reftest.list b/layout/reftests/forms/placeholder/reftest.list index 7510069609..ffe7019a5c 100644 --- a/layout/reftests/forms/placeholder/reftest.list +++ b/layout/reftests/forms/placeholder/reftest.list @@ -17,7 +17,7 @@ == placeholder-4.html placeholder-overridden-ref.html == placeholder-5.html placeholder-visible-ref.html fuzzy-if(winWidget,160,6) == placeholder-6.html placeholder-overflow-ref.html -skip-if(B2G) == placeholder-6-textarea.html placeholder-overflow-textarea-ref.html +skip-if(B2G||Mulet) == placeholder-6-textarea.html placeholder-overflow-textarea-ref.html # Initial mulet triage: parity with B2G/B2G Desktop # needs-focus == placeholder-7.html placeholder-focus-ref.html # needs-focus == placeholder-8.html placeholder-focus-ref.html # needs-focus == placeholder-9.html placeholder-focus-ref.html @@ -27,7 +27,7 @@ needs-focus == placeholder-10.html placeholder-visible-ref.html == placeholder-13.html placeholder-visible-ref.html == placeholder-14.html placeholder-visible-ref.html == placeholder-18.html placeholder-overridden-ref.html -random-if(winWidget) skip-if(B2G&&browserIsRemote) == placeholder-19.xul placeholder-overridden-ref.xul # bug 974780 +random-if(winWidget) skip-if((B2G&&browserIsRemote)||Mulet) == placeholder-19.xul placeholder-overridden-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop # needs-focus == placeholder-20.html placeholder-focus-ref.html needs-focus == placeholder-21.html placeholder-blank-ref.html needs-focus == placeholder-22.html placeholder-blank-ref.html diff --git a/layout/reftests/forms/progress/reftest.list b/layout/reftests/forms/progress/reftest.list index 29788cd9e8..8f9cb8d105 100644 --- a/layout/reftests/forms/progress/reftest.list +++ b/layout/reftests/forms/progress/reftest.list @@ -2,7 +2,7 @@ == values-rtl.html values-rtl-ref.html == margin-padding.html margin-padding-ref.html == margin-padding-rtl.html margin-padding-rtl-ref.html -skip-if(B2G) == bar-pseudo-element.html bar-pseudo-element-ref.html +skip-if(B2G||Mulet) == bar-pseudo-element.html bar-pseudo-element-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == bar-pseudo-element-rtl.html bar-pseudo-element-rtl-ref.html == indeterminate-style-width.html indeterminate-style-width-ref.html @@ -11,7 +11,7 @@ skip-if(B2G) == bar-pseudo-element.html bar-pseudo-element-ref.html == values-vertical-rtl.html values-vertical-rtl-ref.html == margin-padding-vertical.html margin-padding-vertical-ref.html == margin-padding-vertical-rtl.html margin-padding-vertical-rtl-ref.html -skip-if(B2G) == bar-pseudo-element-vertical.html bar-pseudo-element-vertical-ref.html +skip-if(B2G||Mulet) == bar-pseudo-element-vertical.html bar-pseudo-element-vertical-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == bar-pseudo-element-vertical-rtl.html bar-pseudo-element-vertical-rtl-ref.html == indeterminate-style-height.html indeterminate-style-height-ref.html diff --git a/layout/reftests/forms/reftest.list b/layout/reftests/forms/reftest.list index 30cccbd079..ea9dc3f286 100644 --- a/layout/reftests/forms/reftest.list +++ b/layout/reftests/forms/reftest.list @@ -1,4 +1,4 @@ -skip-if(B2G) HTTP(..) == text-control-baseline-1.html text-control-baseline-1-ref.html +skip-if(B2G||Mulet) HTTP(..) == text-control-baseline-1.html text-control-baseline-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop # button element include button/reftest.list diff --git a/layout/reftests/forms/select/reftest.list b/layout/reftests/forms/select/reftest.list index a427220285..1f4897ffd3 100644 --- a/layout/reftests/forms/select/reftest.list +++ b/layout/reftests/forms/select/reftest.list @@ -1,5 +1,5 @@ -skip-if(B2G) == out-of-bounds-selectedindex.html out-of-bounds-selectedindex-ref.html # test for bug 471741 -skip-if(B2G) == multiple.html multiple-ref.html +skip-if(B2G||Mulet) == out-of-bounds-selectedindex.html out-of-bounds-selectedindex-ref.html # test for bug 471741 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == multiple.html multiple-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == boguskids.html boguskids-ref.html == dynamic-boguskids.html boguskids-ref.html == option-children.html option-children-ref.html diff --git a/layout/reftests/forms/textarea/reftest.list b/layout/reftests/forms/textarea/reftest.list index c68e066430..4bf945578f 100644 --- a/layout/reftests/forms/textarea/reftest.list +++ b/layout/reftests/forms/textarea/reftest.list @@ -1,11 +1,11 @@ -skip-if(B2G) fails-if(Android) == resize.html resize-ref.html +skip-if(B2G||Mulet) fails-if(Android) == resize.html resize-ref.html # Initial mulet triage: parity with B2G/B2G Desktop # an offset seems to apply to the native resizer on windows so skip this test for now -skip-if(B2G) fails-if(Android) skip-if(winWidget) fuzzy-if(cocoaWidget,1,33) == resize-background.html resize-background-ref.html -skip-if(B2G) fails-if(Android) != ltr.html rtl.html -skip-if(B2G) fails-if(Android) != ltr-scrollbar.html rtl-scrollbar.html -skip-if(B2G) fails-if(Android) != in-ltr-doc-scrollbar.html in-rtl-doc-scrollbar.html -skip-if(B2G) fails-if(Android) != ltr.html no-resize.html -skip-if(B2G) fails-if(Android) fails-if(gtk2Widget) != rtl.html no-resize.html # bug 834724 +skip-if(B2G||Mulet) fails-if(Android) skip-if(winWidget) fuzzy-if(cocoaWidget,1,33) == resize-background.html resize-background-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) != ltr.html rtl.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) != ltr-scrollbar.html rtl-scrollbar.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) != in-ltr-doc-scrollbar.html in-rtl-doc-scrollbar.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) != ltr.html no-resize.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android) fails-if(gtk2Widget) != rtl.html no-resize.html # bug 834724 # Initial mulet triage: parity with B2G/B2G Desktop == rtl.html rtl-dynamic-attr.html == rtl.html rtl-dynamic-style.html == rtl.html in-dynamic-rtl-doc.html diff --git a/layout/reftests/forms/textbox/reftest.list b/layout/reftests/forms/textbox/reftest.list index d1e274cd52..a63bbb434e 100644 --- a/layout/reftests/forms/textbox/reftest.list +++ b/layout/reftests/forms/textbox/reftest.list @@ -1,10 +1,10 @@ # access-key tests are no use on OS X because access keys are not indicated visually -skip-if(cocoaWidget||(B2G&&browserIsRemote)) != accesskey-1.xul accesskey-1-notref.xul # bug 974780 -skip-if(cocoaWidget||(B2G&&browserIsRemote)) == accesskey-2.xul accesskey-2-ref.xul # bug 974780 +skip-if(cocoaWidget||((B2G&&browserIsRemote)||Mulet)) != accesskey-1.xul accesskey-1-notref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(cocoaWidget||((B2G&&browserIsRemote)||Mulet)) == accesskey-2.xul accesskey-2-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop # accesskey-3 fails because of defects in XUL bidi support -fails-if(!cocoaWidget) skip-if(cocoaWidget||(B2G&&browserIsRemote)) == accesskey-3.xul accesskey-3-ref.xul # bug 974780 -skip-if(cocoaWidget||(B2G&&browserIsRemote)) != accesskey-3.xul accesskey-3-notref.xul # bug 974780 -skip-if(cocoaWidget||(B2G&&browserIsRemote)) == accesskey-4.xul accesskey-4-ref.xul # bug 974780 -skip-if(cocoaWidget||(B2G&&browserIsRemote)) != accesskey-4.xul accesskey-4-notref.xul # bug 974780 -skip-if(B2G&&browserIsRemote) == align-baseline-1.xul align-baseline-1-ref.xul # test for bug 494901 -fails-if(Android) skip-if(B2G) == setsize.xul setsize-ref.xul # bug 974780 +fails-if(!cocoaWidget) skip-if(cocoaWidget||((B2G&&browserIsRemote)||Mulet)) == accesskey-3.xul accesskey-3-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(cocoaWidget||((B2G&&browserIsRemote)||Mulet)) != accesskey-3.xul accesskey-3-notref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(cocoaWidget||((B2G&&browserIsRemote)||Mulet)) == accesskey-4.xul accesskey-4-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(cocoaWidget||((B2G&&browserIsRemote)||Mulet)) != accesskey-4.xul accesskey-4-notref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == align-baseline-1.xul align-baseline-1-ref.xul # test for bug 494901 # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android) skip-if(B2G||Mulet) == setsize.xul setsize-ref.xul # bug 974780 # Initial mulet triage: parity with B2G/B2G Desktop diff --git a/layout/reftests/generated-content/reftest.list b/layout/reftests/generated-content/reftest.list index e36ae8e1d1..81c7a7caea 100644 --- a/layout/reftests/generated-content/reftest.list +++ b/layout/reftests/generated-content/reftest.list @@ -1,4 +1,4 @@ -skip-if(B2G) == display-types-01.html display-types-01-ref.html # bug 773482 +skip-if(B2G||Mulet) == display-types-01.html display-types-01-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == dynamic-attr-01.html dynamic-attr-01-ref.html == dynamic-button-01a.html dynamic-button-01-ref.html == dynamic-button-01b.html dynamic-button-01-ref.html diff --git a/layout/reftests/image-element/reftest.list b/layout/reftests/image-element/reftest.list index 58d5c00d1e..dc488e211e 100644 --- a/layout/reftests/image-element/reftest.list +++ b/layout/reftests/image-element/reftest.list @@ -2,15 +2,15 @@ == bug-463204.html bug-463204-ref.html fails-if(Android&&AndroidVersion<15&&AndroidVersion!=10) == canvas-outside-document.html canvas-inside-document.html == mozsetimageelement-01.html mozsetimageelement-01-ref.html -skip-if(B2G) == mozsetimageelement-02.html about:blank # bug 773482 -skip-if(B2G) == image-outside-document-invalidate.html about:blank # bug 773482 -skip-if(B2G) == canvas-outside-document-invalidate-01.html about:blank # bug 773482 -skip-if(B2G) fails-if(azureSkia) fails-if(cocoaWidget) == canvas-outside-document-invalidate-02.html about:blank # See bug 666800 # bug 773482 +skip-if(B2G||Mulet) == mozsetimageelement-02.html about:blank # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == image-outside-document-invalidate.html about:blank # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == canvas-outside-document-invalidate-01.html about:blank # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(azureSkia) fails-if(cocoaWidget) == canvas-outside-document-invalidate-02.html about:blank # See bug 666800 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop #fails with Skia due to Skia bug http://code.google.com/p/skia/issues/detail?id=568 == element-paint-simple.html element-paint-simple-ref.html == element-paint-repeated.html element-paint-repeated-ref.html == element-paint-recursion.html element-paint-recursion-ref.html -skip-if(B2G) HTTP(..) == element-paint-continuation.html element-paint-continuation-ref.html +skip-if(B2G||Mulet) HTTP(..) == element-paint-continuation.html element-paint-continuation-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == element-paint-transform-01.html element-paint-transform-01-ref.html random-if(d2d) == element-paint-transform-02.html element-paint-transform-02-ref.html # bug 587133 fuzzy-if(d2d&&/^Windows\x20NT\x206\.1/.test(http.oscpu),16,90) == element-paint-background-size-01.html element-paint-background-size-01-ref.html @@ -28,8 +28,8 @@ fuzzy-if(B2G,11,4) == element-paint-sharpness-02b.html element-paint-sharpness-0 == element-paint-paintserversize-rounding-01.html element-paint-paintserversize-rounding-01-ref.html == element-paint-paintserversize-rounding-02.html element-paint-paintserversize-rounding-02-ref.html == element-paint-multiple-backgrounds-01a.html element-paint-multiple-backgrounds-01-ref.html -skip-if(B2G) == element-paint-multiple-backgrounds-01b.html element-paint-multiple-backgrounds-01-ref.html # bug 773482 -skip-if(B2G) == element-paint-multiple-backgrounds-01c.html element-paint-multiple-backgrounds-01-ref.html # bug 773482 +skip-if(B2G||Mulet) == element-paint-multiple-backgrounds-01b.html element-paint-multiple-backgrounds-01-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == element-paint-multiple-backgrounds-01c.html element-paint-multiple-backgrounds-01-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == gradient-html-01.html gradient-html-01-ref.svg == gradient-html-02.html gradient-html-02-ref.svg random-if(!cocoaWidget) == gradient-html-03.html gradient-html-03-ref.svg @@ -45,4 +45,4 @@ HTTP == invalidate-1.html invalidate-1-ref.html == pattern-html-01.html pattern-html-01-ref.svg == pattern-html-02.html pattern-html-02-ref.svg # skip XBL test case on B2G -skip-if(B2G) == referenced-from-binding-01.html referenced-from-binding-01-ref.html +skip-if(B2G||Mulet) == referenced-from-binding-01.html referenced-from-binding-01-ref.html # Initial mulet triage: parity with B2G/B2G Desktop diff --git a/layout/reftests/image-rect/reftest.list b/layout/reftests/image-rect/reftest.list index a9de1062c4..20263c67be 100644 --- a/layout/reftests/image-rect/reftest.list +++ b/layout/reftests/image-rect/reftest.list @@ -1,4 +1,4 @@ -skip-if(B2G) == background-common-usage-floating-point.html background-common-usage-ref.html # bug 773482 +skip-if(B2G||Mulet) == background-common-usage-floating-point.html background-common-usage-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == background-common-usage-percent.html background-common-usage-ref.html == background-common-usage-pixel.html background-common-usage-ref.html == background-draw-nothing-empty-rect.html background-draw-nothing-ref.html diff --git a/layout/reftests/image-region/reftest.list b/layout/reftests/image-region/reftest.list index d28c80942e..28a05ccb12 100644 --- a/layout/reftests/image-region/reftest.list +++ b/layout/reftests/image-region/reftest.list @@ -1 +1 @@ -skip-if(B2G&&browserIsRemote) == image-region.xul image-region-ref.xul +skip-if((B2G&&browserIsRemote)||Mulet) == image-region.xul image-region-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop diff --git a/layout/reftests/image/reftest.list b/layout/reftests/image/reftest.list index 4e58605809..f568cd424a 100644 --- a/layout/reftests/image/reftest.list +++ b/layout/reftests/image/reftest.list @@ -3,8 +3,8 @@ fuzzy-if(Android,8,30) == background-image-zoom-1.html background-image-zoom-1-r == image-seam-1a.html image-seam-1-ref.html == image-seam-1b.html image-seam-1-ref.html fuzzy-if(Android,255,154) == image-seam-2.html image-seam-2-ref.html # Bug 1128229 -skip-if(B2G&&browserIsRemote) == image-zoom-1.html image-zoom-1-ref.html -skip-if(B2G&&browserIsRemote) == image-zoom-2.html image-zoom-1-ref.html +skip-if((B2G&&browserIsRemote)||Mulet) == image-zoom-1.html image-zoom-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == image-zoom-2.html image-zoom-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == invalid-url-image-1.html invalid-url-image-1-ref.html random-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) == sync-image-switch-1a.html sync-image-switch-1-ref.html # bug 855050 for WinXP random-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) == sync-image-switch-1b.html sync-image-switch-1-ref.html # bug 855050 for WinXP diff --git a/layout/reftests/indic-shaping/reftest.list b/layout/reftests/indic-shaping/reftest.list index 679b393cf8..ff2d934e5a 100644 --- a/layout/reftests/indic-shaping/reftest.list +++ b/layout/reftests/indic-shaping/reftest.list @@ -1,4 +1,4 @@ -skip-if(B2G) HTTP(..) == devanagari-1a.html devanagari-1-ref.html +skip-if(B2G||Mulet) HTTP(..) == devanagari-1a.html devanagari-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) != devanagari-1b.html devanagari-1-ref.html HTTP(..) == devanagari-2.html devanagari-2-ref.html HTTP(..) != devanagari-3a.html devanagari-3-ref.html @@ -9,14 +9,14 @@ HTTP(..) == gujarati-1a.html gujarati-1-ref.html HTTP(..) != gujarati-1b.html gujarati-1-ref.html HTTP(..) == gujarati-2.html gujarati-2-ref.html HTTP(..) != gujarati-3a.html gujarati-3-ref.html -skip-if(B2G) HTTP(..) == gujarati-3b.html gujarati-3-ref.html +skip-if(B2G||Mulet) HTTP(..) == gujarati-3b.html gujarati-3-ref.html # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) != gujarati-4.html gujarati-4-notref.html -skip-if(B2G) HTTP(..) == bengali-1a.html bengali-1-ref.html +skip-if(B2G||Mulet) HTTP(..) == bengali-1a.html bengali-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) != bengali-1b.html bengali-1-ref.html HTTP(..) != bengali-2a.html bengali-2-ref.html HTTP(..) != bengali-2b.html bengali-2-ref.html -skip-if(B2G) HTTP(..) == bengali-3a.html bengali-3-ref.html +skip-if(B2G||Mulet) HTTP(..) == bengali-3a.html bengali-3-ref.html # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) != bengali-3b.html bengali-3-ref.html HTTP(..) != bengali-3c.html bengali-3-ref.html HTTP(..) != bengali-3c.html bengali-3b.html diff --git a/layout/reftests/line-breaking/reftest.list b/layout/reftests/line-breaking/reftest.list index 4ef68d2ba6..e531cf05f4 100644 --- a/layout/reftests/line-breaking/reftest.list +++ b/layout/reftests/line-breaking/reftest.list @@ -25,7 +25,7 @@ random-if(cocoaWidget) == ja-3.html ja-3-ref.html == quotationmarks-1.html quotationmarks-1-ref.html # The following is currently disabled on Linux because of a rendering issue with missing-glyph # representations on the test boxes. See bug #450088 for discussion. -skip-if(B2G) skip-if(gtk2Widget) == quotationmarks-cjk-1.html quotationmarks-cjk-1-ref.html # bug 773482 +skip-if(B2G||Mulet) skip-if(gtk2Widget) == quotationmarks-cjk-1.html quotationmarks-cjk-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == smileys-1.html smileys-1-ref.html == smileys-2.html smileys-2-ref.html == url-1.html url-1-ref.html diff --git a/layout/reftests/margin-collapsing/reftest.list b/layout/reftests/margin-collapsing/reftest.list index 4e953a92c4..9e6bf432ed 100644 --- a/layout/reftests/margin-collapsing/reftest.list +++ b/layout/reftests/margin-collapsing/reftest.list @@ -13,9 +13,9 @@ != inline-horizontal-1.html inline-horizontal-1-noref.html == inline-horizontal-2.html inline-horizontal-2-ref.html != inline-horizontal-2.html inline-horizontal-2-noref.html -skip-if(B2G) == inline-horizontal-1-dyn.html inline-horizontal-1-ref.html # bug 773482 +skip-if(B2G||Mulet) == inline-horizontal-1-dyn.html inline-horizontal-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != inline-horizontal-1-dyn.html inline-horizontal-1-noref.html -skip-if(B2G) == inline-horizontal-2-dyn.html inline-horizontal-2-ref.html # bug 773482 +skip-if(B2G||Mulet) == inline-horizontal-2-dyn.html inline-horizontal-2-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != inline-horizontal-2-dyn.html inline-horizontal-2-noref.html # Horizontal margins of block boxes do not collapse. # These block boxes are actually floats - in CSS 2.1 there is no other @@ -28,27 +28,27 @@ skip-if(B2G) == inline-horizontal-2-dyn.html inline-horizontal-2-ref.html # bug != block-horizontal-3.html block-horizontal-3-noref.html == block-horizontal-4.html block-horizontal-4-ref.html != block-horizontal-4.html block-horizontal-4-noref.html -skip-if(B2G) == block-horizontal-1-dyn.html block-horizontal-1-ref.html # bug 773482 +skip-if(B2G||Mulet) == block-horizontal-1-dyn.html block-horizontal-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != block-horizontal-1-dyn.html block-horizontal-1-noref.html -skip-if(B2G) == block-horizontal-2-dyn.html block-horizontal-2-ref.html # bug 773482 +skip-if(B2G||Mulet) == block-horizontal-2-dyn.html block-horizontal-2-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != block-horizontal-2-dyn.html block-horizontal-2-noref.html -skip-if(B2G) == block-horizontal-3-dyn.html block-horizontal-3-ref.html # bug 773482 +skip-if(B2G||Mulet) == block-horizontal-3-dyn.html block-horizontal-3-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != block-horizontal-3-dyn.html block-horizontal-3-noref.html -skip-if(B2G) == block-horizontal-4-dyn.html block-horizontal-4-ref.html # bug 773482 +skip-if(B2G||Mulet) == block-horizontal-4-dyn.html block-horizontal-4-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != block-horizontal-4-dyn.html block-horizontal-4-noref.html # Horizontal margins of inline-block boxes do not collapse. == inline-block-horizontal-1.html inline-block-horizontal-1-ref.html != inline-block-horizontal-1.html inline-block-horizontal-1-noref.html == inline-block-horizontal-2.html inline-block-horizontal-2-ref.html != inline-block-horizontal-2.html inline-block-horizontal-2-noref.html -skip-if(B2G) == inline-block-horizontal-1-dyn.html inline-block-horizontal-1-ref.html # bug 773482 +skip-if(B2G||Mulet) == inline-block-horizontal-1-dyn.html inline-block-horizontal-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != inline-block-horizontal-1-dyn.html inline-block-horizontal-1-noref.html -skip-if(B2G) == inline-block-horizontal-2-dyn.html inline-block-horizontal-2-ref.html # bug 773482 +skip-if(B2G||Mulet) == inline-block-horizontal-2-dyn.html inline-block-horizontal-2-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != inline-block-horizontal-2-dyn.html inline-block-horizontal-2-noref.html # Horizontal margins of inline-tables do not collapse. == inline-table-horizontal-1.html inline-table-horizontal-1-ref.html != inline-table-horizontal-1.html inline-table-horizontal-1-noref.html -skip-if(B2G) == inline-table-horizontal-1-dyn.html inline-table-horizontal-1-ref.html # bug 773482 +skip-if(B2G||Mulet) == inline-table-horizontal-1-dyn.html inline-table-horizontal-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != inline-table-horizontal-1-dyn.html inline-table-horizontal-1-noref.html # "In CSS, the adjoining margins of two or more boxes # (which might or might not be siblings) can combine to form a single margin. @@ -87,7 +87,7 @@ skip-if(B2G) == inline-table-horizontal-1-dyn.html inline-table-horizontal-1-ref == block-sibling-1c-dyn.html block-sibling-1-ref.html == block-sibling-1c-dyn.html block-sibling-1-ref2.html != block-sibling-1c-dyn.html block-sibling-1-noref2.html -skip-if(B2G) == block-sibling-2-dyn.html block-sibling-2-ref.html # bug 773482 +skip-if(B2G||Mulet) == block-sibling-2-dyn.html block-sibling-2-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == block-sibling-2-dyn.html block-sibling-2-ref2.html != block-sibling-2-dyn.html block-sibling-2-noref.html == block-sibling-3-dyn.html block-sibling-1-ref.html @@ -575,10 +575,10 @@ fails == block-max-height-last-child-9a-dyn.html block-max-height-last-child-9-r == block-overflow-1.html block-overflow-1-ref2.html == block-overflow-2.html block-overflow-2-ref.html == block-overflow-2.html block-overflow-2-ref2.html -skip-if(B2G) == block-overflow-3.html block-overflow-3-ref.html # bug 773482 -skip-if(B2G) == block-overflow-3.html block-overflow-3-ref2.html -skip-if(B2G) == block-overflow-4.html block-overflow-4-ref.html -skip-if(B2G) == block-overflow-4.html block-overflow-4-ref2.html +skip-if(B2G||Mulet) == block-overflow-3.html block-overflow-3-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == block-overflow-3.html block-overflow-3-ref2.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == block-overflow-4.html block-overflow-4-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == block-overflow-4.html block-overflow-4-ref2.html # Initial mulet triage: parity with B2G/B2G Desktop == block-overflow-5a.html block-overflow-5-ref.html == block-overflow-5a.html block-overflow-5-ref2.html == block-overflow-5b.html block-overflow-5-ref.html @@ -589,8 +589,8 @@ skip-if(B2G) == block-overflow-4.html block-overflow-4-ref2.html == block-overflow-5d.html block-overflow-5-ref2.html == block-overflow-1-dyn.html block-overflow-1-ref2.html == block-overflow-2-dyn.html block-overflow-2-ref2.html -skip-if(B2G) == block-overflow-3-dyn.html block-overflow-3-ref2.html # bug 773482 -skip-if(B2G) == block-overflow-4-dyn.html block-overflow-4-ref2.html +skip-if(B2G||Mulet) == block-overflow-3-dyn.html block-overflow-3-ref2.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == block-overflow-4-dyn.html block-overflow-4-ref2.html # Initial mulet triage: parity with B2G/B2G Desktop == block-overflow-5a-dyn.html block-overflow-5-ref2.html == block-overflow-5b-dyn.html block-overflow-5-ref2.html == block-overflow-5c-dyn.html block-overflow-5c-ref2.html @@ -630,19 +630,19 @@ skip-if(B2G) == block-overflow-4-dyn.html block-overflow-4-ref2.html != table-sibling-2b.html table-sibling-2-noref.html == table-sibling-2c.html table-sibling-2-ref.html != table-sibling-2c.html table-sibling-2-noref2.html -skip-if(B2G) == table-sibling-1a-dyn.html table-sibling-1-ref.html # bug 773482 +skip-if(B2G||Mulet) == table-sibling-1a-dyn.html table-sibling-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != table-sibling-1a-dyn.html table-sibling-1-noref.html -skip-if(B2G) == table-sibling-1b-dyn.html table-sibling-1-ref.html # bug 773482 +skip-if(B2G||Mulet) == table-sibling-1b-dyn.html table-sibling-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != table-sibling-1b-dyn.html table-sibling-1-noref.html -skip-if(B2G) == table-sibling-1c-dyn.html table-sibling-1-ref.html # bug 773482 +skip-if(B2G||Mulet) == table-sibling-1c-dyn.html table-sibling-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != table-sibling-1c-dyn.html table-sibling-1-noref2.html -skip-if(B2G) == table-sibling-2a-dyn.html table-sibling-2-ref.html # bug 773482 +skip-if(B2G||Mulet) == table-sibling-2a-dyn.html table-sibling-2-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != table-sibling-2a-dyn.html table-sibling-2-noref.html -skip-if(B2G) == table-sibling-2b-dyn.html table-sibling-2-ref.html # bug 773482 +skip-if(B2G||Mulet) == table-sibling-2b-dyn.html table-sibling-2-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != table-sibling-2b-dyn.html table-sibling-2-noref.html -skip-if(B2G) == table-sibling-2c-dyn.html table-sibling-2-ref.html # bug 773482 +skip-if(B2G||Mulet) == table-sibling-2c-dyn.html table-sibling-2-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != table-sibling-2c-dyn.html table-sibling-2-noref2.html -skip-if(B2G) == table-sibling-3-dyn.html table-sibling-3-ref.html # bug 773482 +skip-if(B2G||Mulet) == table-sibling-3-dyn.html table-sibling-3-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != table-sibling-3-dyn.html table-sibling-3-noref.html # * table-caption boxes, per CSS 2.1 §9.4.1 (Block formatting contexts): # "[...] block containers (such as [...] table-captions) [...] diff --git a/layout/reftests/marquee/reftest.list b/layout/reftests/marquee/reftest.list index 47e0cc4b62..da1d2f118b 100644 --- a/layout/reftests/marquee/reftest.list +++ b/layout/reftests/marquee/reftest.list @@ -1,4 +1,4 @@ -random-if(B2G&&browserIsRemote) == 166591-dynamic-1.html 166591-dynamic-1-ref.html +random-if((B2G&&browserIsRemote)||Mulet) == 166591-dynamic-1.html 166591-dynamic-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop fuzzy-if(Android&&AndroidVersion>=15,8,50) == 336736-1a.html 336736-1-ref.html fuzzy-if(Android&&AndroidVersion>=15,8,50) == 336736-1b.html 336736-1-ref.html == 406073-1.html 406073-1-ref.html diff --git a/layout/reftests/mathml/reftest.list b/layout/reftests/mathml/reftest.list index 6dd27d3591..2fb30c50ab 100644 --- a/layout/reftests/mathml/reftest.list +++ b/layout/reftests/mathml/reftest.list @@ -9,12 +9,12 @@ fails == dir-8.html dir-8-ref.html fails == dir-9.html dir-9-ref.html # Bug 787215 == dir-10.html dir-10-ref.html -random-if(B2G&&browserIsRemote) == dir-11.html dir-11-ref.html +random-if((B2G&&browserIsRemote)||Mulet) == dir-11.html dir-11-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == displaystyle-1.html displaystyle-1-ref.html == displaystyle-2.html displaystyle-2-ref.html == displaystyle-3.html displaystyle-3-ref.html -random-if(B2G&&browserIsRemote) == displaystyle-4.html displaystyle-4-ref.html -skip-if(B2G&&browserIsRemote) random-if(smallScreen&&Android) fuzzy(255,200) == mirror-op-1.html mirror-op-1-ref.html +random-if((B2G&&browserIsRemote)||Mulet) == displaystyle-4.html displaystyle-4-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) random-if(smallScreen&&Android) fuzzy(255,200) == mirror-op-1.html mirror-op-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop != mirror-op-2.html mirror-op-2-ref.html != mirror-op-3.html mirror-op-3-ref.html != mirror-op-4.html mirror-op-4-ref.html @@ -46,7 +46,7 @@ fails-if(winWidget&&d2d) == mfenced-11.html mfenced-11-ref.html != mi-mathvariant-3.html mi-mathvariant-3-ref.html != non-spacing-accent-1.xhtml non-spacing-accent-1-ref.xhtml == overbar-width-1.xhtml overbar-width-1-ref.xhtml -skip-if(B2G) == quotes-1.xhtml quotes-1-ref.xhtml +skip-if(B2G||Mulet) == quotes-1.xhtml quotes-1-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop != stretchy-underbar-1.xhtml stretchy-underbar-1-ref.xhtml != stretchy-munderover-1a.html stretchy-munderover-1-ref.html == stretchy-munderover-1b.html stretchy-munderover-1-ref.html @@ -178,7 +178,7 @@ fails-if(B2G) == mpadded-9.html mpadded-9-ref.html # B2G: slight character width == mtable-columnalign-multi-mtable-dynamic.html mtable-columnalign-multi-ref.html == maction-selection.html maction-selection-ref.html == maction-dynamic-embellished-op.html maction-dynamic-embellished-op-ref.html -skip-if(B2G) == maction-dynamic-1.html maction-dynamic-1-ref.html # bug 773482 +skip-if(B2G||Mulet) == maction-dynamic-1.html maction-dynamic-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == maction-dynamic-2.html maction-dynamic-2-ref.html == mo-lspace-rspace.html mo-lspace-rspace-ref.html == mo-lspace-rspace-2.html mo-lspace-rspace-2-ref.html @@ -186,7 +186,7 @@ skip-if(B2G) == maction-dynamic-1.html maction-dynamic-1-ref.html # bug 773482 == mo-lspace-rspace-4.html mo-lspace-rspace-4-ref.html == mo-invisibleoperators.html mo-invisibleoperators-ref.html == mo-invisibleoperators-2.html mo-invisibleoperators-2-ref.html -skip-if(B2G) == maction-dynamic-3.html maction-dynamic-3-ref.html # bug 773482 +skip-if(B2G||Mulet) == maction-dynamic-3.html maction-dynamic-3-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == whitespace-trim-1.html whitespace-trim-1-ref.html == whitespace-trim-2.html whitespace-trim-2-ref.html == whitespace-trim-3.html whitespace-trim-3-ref.html @@ -197,7 +197,7 @@ random-if(winWidget&&!d2d) == opentype-stretchy.html opentype-stretchy-ref.html == operator-1.xhtml operator-1-ref.xhtml == scriptshift-1.xhtml scriptshift-1-ref.xhtml == number-size-1.xhtml number-size-1-ref.xhtml -random-if(B2G&&browserIsRemote) == multiscripts-1.html multiscripts-1-ref.html # B2G - slight height variation from font metrics +random-if((B2G&&browserIsRemote)||Mulet) == multiscripts-1.html multiscripts-1-ref.html # B2G - slight height variation from font metrics # Initial mulet triage: parity with B2G/B2G Desktop == mathml-mmultiscript-base.html mathml-mmultiscript-base-ref.html == mathml-mmultiscript-mprescript.html mathml-mmultiscript-mprescript-ref.html != menclose-1a.html menclose-1-ref.html diff --git a/layout/reftests/object/reftest.list b/layout/reftests/object/reftest.list index c5243643f5..62ec41dd28 100644 --- a/layout/reftests/object/reftest.list +++ b/layout/reftests/object/reftest.list @@ -6,7 +6,7 @@ HTTP == 404-data-with-type.html 404-data-with-type-ref.html == connection-refused.html connection-refused-ref.html == image.html image-ref.html == image-with-type.html image-with-type-ref.html -skip-if(B2G) fails-if(Android) == image-no-useful-extension-typesniff.html image-no-useful-extension-typesniff-ref.html # bug 773482 +skip-if(B2G||Mulet) fails-if(Android) == image-no-useful-extension-typesniff.html image-no-useful-extension-typesniff-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == image-no-useful-extension-with-type.html image-no-useful-extension-with-type-ref.html # # This test must be run on an HTTP server because it relies on the HTTP diff --git a/layout/reftests/ogg-video/reftest.list b/layout/reftests/ogg-video/reftest.list index 943d3050af..e12cccae19 100644 --- a/layout/reftests/ogg-video/reftest.list +++ b/layout/reftests/ogg-video/reftest.list @@ -1,34 +1,34 @@ # NOTE: bug 1084564 covers "fails"/"skip" annotations for b2g/android below: -fails-if(Android||B2G) HTTP(..) == aspect-ratio-1a.xhtml aspect-ratio-1-ref.html -fails-if(Android||B2G) HTTP(..) == aspect-ratio-1b.xhtml aspect-ratio-1-ref.html -fails-if(Android||B2G) skip-if(gtk2Widget) HTTP(..) == aspect-ratio-2a.xhtml aspect-ratio-2-ref.html -fails-if(Android||B2G) skip-if(gtk2Widget) HTTP(..) == aspect-ratio-2b.xhtml aspect-ratio-2-ref.html +fails-if(Android||B2G||Mulet) HTTP(..) == aspect-ratio-1a.xhtml aspect-ratio-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) HTTP(..) == aspect-ratio-1b.xhtml aspect-ratio-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) skip-if(gtk2Widget) HTTP(..) == aspect-ratio-2a.xhtml aspect-ratio-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) skip-if(gtk2Widget) HTTP(..) == aspect-ratio-2b.xhtml aspect-ratio-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == aspect-ratio-3a.xhtml aspect-ratio-3-ref.xhtml HTTP(..) == aspect-ratio-3b.xhtml aspect-ratio-3-ref.xhtml -fails-if(Android||B2G) random-if(layersGPUAccelerated) fails-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) == encoded-aspect-ratio-1.html encoded-aspect-ratio-1-ref.html # bug 623460 for WinXP -fails-if(Android||B2G) HTTP(..) == basic-1.xhtml basic-1-ref.html -skip-if(Android||B2G) HTTP(..) == canvas-1a.xhtml basic-1-ref.html -fails-if(Android||B2G) HTTP(..) == canvas-1b.xhtml basic-1-ref.html +fails-if(Android||B2G||Mulet) random-if(layersGPUAccelerated) fails-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) == encoded-aspect-ratio-1.html encoded-aspect-ratio-1-ref.html # bug 623460 for WinXP # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) HTTP(..) == basic-1.xhtml basic-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) HTTP(..) == canvas-1a.xhtml basic-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) HTTP(..) == canvas-1b.xhtml basic-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == clipping-1a.html clipping-1-ref.html == empty-1a.html empty-1-ref.html == empty-1b.html empty-1-ref.html #these is skipped because we hang on the htmlparser tests when this is ran -random skip-if(Android||B2G) HTTP(..) == object-aspect-ratio-1a.xhtml aspect-ratio-1-ref.html -random skip-if(Android||B2G) HTTP(..) == object-aspect-ratio-1b.xhtml aspect-ratio-1-ref.html -skip-if(Android||B2G) HTTP(..) == offset-1.xhtml offset-1-ref.html -random skip-if(Android||B2G) HTTP(..) == object-aspect-ratio-2a.xhtml aspect-ratio-2-ref.html -random skip-if(Android||B2G) HTTP(..) == object-aspect-ratio-2b.xhtml aspect-ratio-2-ref.html -skip-if(Android||B2G) skip-if(gtk2Widget) fuzzy-if(winWidget,1,56000) fuzzy-if(cocoaWidget,1,56000) HTTP(..) == zoomed-1.xhtml zoomed-1-ref.html # bug 778995 for fuzzy -skip-if(Android||B2G) == poster-1.html poster-ref-blue250x200.html -skip-if(Android||B2G) == poster-2.html poster-ref-black140x100.html -skip-if(Android||B2G) == poster-3.html poster-ref-black140x100.html -skip-if(Android||B2G) == poster-4.html poster-ref-black140x100.html -skip-if(Android||B2G) == poster-5.html poster-ref-black140x100.html -skip-if(Android||B2G) == poster-6.html poster-ref-black140x100.html -skip-if(Android||B2G) == poster-7.html poster-ref-red140x100.html -skip-if(Android||B2G) == poster-8.html poster-ref-black140x100.html -random skip-if(Android||B2G) == poster-10.html poster-ref-blue125x100.html -random skip-if(Android||B2G) == poster-11.html poster-ref-blue140x100.html -random skip-if(Android||B2G) == poster-12.html poster-ref-blue140x100.html -skip-if(Android||B2G) == poster-13.html poster-ref-blue400x300.html -skip-if(Android||B2G) == poster-15.html poster-ref-green70x30.html +random skip-if(Android||B2G||Mulet) HTTP(..) == object-aspect-ratio-1a.xhtml aspect-ratio-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +random skip-if(Android||B2G||Mulet) HTTP(..) == object-aspect-ratio-1b.xhtml aspect-ratio-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) HTTP(..) == offset-1.xhtml offset-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +random skip-if(Android||B2G||Mulet) HTTP(..) == object-aspect-ratio-2a.xhtml aspect-ratio-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +random skip-if(Android||B2G||Mulet) HTTP(..) == object-aspect-ratio-2b.xhtml aspect-ratio-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) skip-if(gtk2Widget) fuzzy-if(winWidget,1,56000) fuzzy-if(cocoaWidget,1,56000) HTTP(..) == zoomed-1.xhtml zoomed-1-ref.html # bug 778995 for fuzzy # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-1.html poster-ref-blue250x200.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-2.html poster-ref-black140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-3.html poster-ref-black140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-4.html poster-ref-black140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-5.html poster-ref-black140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-6.html poster-ref-black140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-7.html poster-ref-red140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-8.html poster-ref-black140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +random skip-if(Android||B2G||Mulet) == poster-10.html poster-ref-blue125x100.html # Initial mulet triage: parity with B2G/B2G Desktop +random skip-if(Android||B2G||Mulet) == poster-11.html poster-ref-blue140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +random skip-if(Android||B2G||Mulet) == poster-12.html poster-ref-blue140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-13.html poster-ref-blue400x300.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-15.html poster-ref-green70x30.html # Initial mulet triage: parity with B2G/B2G Desktop diff --git a/layout/reftests/pagination/reftest.list b/layout/reftests/pagination/reftest.list index f3f5e91ea3..768d082365 100644 --- a/layout/reftests/pagination/reftest.list +++ b/layout/reftests/pagination/reftest.list @@ -9,9 +9,9 @@ == abspos-breaking-005.html abspos-breaking-005-ref.html == abspos-breaking-006.html abspos-breaking-006-ref.html pref(layout.css.box-decoration-break.enabled,true) == abspos-breaking-007.html abspos-breaking-007-ref.html -skip-if(B2G) pref(layout.css.box-decoration-break.enabled,true) == abspos-breaking-008.html abspos-breaking-008-ref.html -skip-if(B2G) pref(layout.css.box-decoration-break.enabled,true) == abspos-breaking-009.html abspos-breaking-009-ref.html -skip-if(B2G) pref(layout.css.box-decoration-break.enabled,true) == abspos-breaking-010.html abspos-breaking-010-ref.html +skip-if(B2G||Mulet) pref(layout.css.box-decoration-break.enabled,true) == abspos-breaking-008.html abspos-breaking-008-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) pref(layout.css.box-decoration-break.enabled,true) == abspos-breaking-009.html abspos-breaking-009-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) pref(layout.css.box-decoration-break.enabled,true) == abspos-breaking-010.html abspos-breaking-010-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == abspos-breaking-011.html abspos-breaking-011-ref.html == abspos-overflow-01.xhtml abspos-overflow-01.ref.xhtml == abspos-overflow-01-cols.xhtml abspos-overflow-01-cols.ref.xhtml @@ -52,23 +52,23 @@ fails == float-continuations-000.html float-continuations-000.ref.html == table-page-break-after-always-1.html table-page-break-before-auto-2-ref.html == table-page-break-after-left-1.html table-page-break-before-auto-2-ref.html == table-page-break-after-right-1.html table-page-break-before-auto-2-ref.html -skip-if(B2G) == rowgroup-page-break-after-always-1.html table-page-break-before-auto-2-ref.html # bug 773482 -skip-if(B2G) == row-page-break-after-always-1.html table-page-break-before-auto-2-ref.html # bug 773482 -skip-if(B2G) == row-page-break-after-always-2.html table-page-break-before-auto-2-ref.html # bug 773482 -skip-if(B2G) == rowgroup-thead-page-break-after-always-1.html table-page-break-before-auto-3-ref.html # bug 773482 -skip-if(B2G) == rowgroup-tfoot-page-break-after-always-1.html table-page-break-before-auto-3-ref.html # bug 773482 -skip-if(B2G) == table-tfoot-thead-1.html table-tfoot-thead-1-ref.html # bug 773482 +skip-if(B2G||Mulet) == rowgroup-page-break-after-always-1.html table-page-break-before-auto-2-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == row-page-break-after-always-1.html table-page-break-before-auto-2-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == row-page-break-after-always-2.html table-page-break-before-auto-2-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == rowgroup-thead-page-break-after-always-1.html table-page-break-before-auto-3-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == rowgroup-tfoot-page-break-after-always-1.html table-page-break-before-auto-3-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == table-tfoot-thead-1.html table-tfoot-thead-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == table-caption-splitrowgroup-1.html table-caption-splitrowgroup-1-ref.html == table-caption-splitaftercaption-1.html table-caption-splitaftercaption-1-ref.html -skip-if(B2G) == table-caption-splitaftercaption-2.html table-caption-splitaftercaption-2-ref.html # bug 773482 -skip-if(B2G) == table-caption-splitaftercaption-3.html table-caption-splitaftercaption-3-ref.html # bug 773482 -skip-if(B2G) == table-caption-splitaftercaption-4.html table-caption-splitaftercaption-4-ref.html # bug 773482 -skip-if(B2G) == table-caption-splitaftercaption-5.html table-caption-splitaftercaption-5-ref.html # bug 773482 -skip-if(B2G) == table-caption-splitaftercaption-6.html table-caption-splitaftercaption-6-ref.html # bug 773482 -skip-if(B2G) == table-caption-splitaftercaption-7.html table-caption-splitaftercaption-7-ref.html # bug 773482 +skip-if(B2G||Mulet) == table-caption-splitaftercaption-2.html table-caption-splitaftercaption-2-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == table-caption-splitaftercaption-3.html table-caption-splitaftercaption-3-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == table-caption-splitaftercaption-4.html table-caption-splitaftercaption-4-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == table-caption-splitaftercaption-5.html table-caption-splitaftercaption-5-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == table-caption-splitaftercaption-6.html table-caption-splitaftercaption-6-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == table-caption-splitaftercaption-7.html table-caption-splitaftercaption-7-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop # == table-caption-splitaftercaption-8.html blank.html # bug 672654 # == table-caption-splitaftercaption-9.html blank.html # bug 672654 # == table-caption-splitaftercaption-10.html blank.html # bug 672654 # == table-caption-splitaftercaption-11.html blank.html # bug 672654 == column-balancing-break-inside-avoid-2.html column-balancing-break-inside-avoid-2-ref.html -fails-if(B2G) == combobox-page-break-inside.html combobox-page-break-inside-ref.html # reftest-print doesn't work on B2G +fails-if(B2G||Mulet) == combobox-page-break-inside.html combobox-page-break-inside-ref.html # reftest-print doesn't work on B2G # Initial mulet triage: parity with B2G/B2G Desktop diff --git a/layout/reftests/percent-overflow-sizing/reftest.list b/layout/reftests/percent-overflow-sizing/reftest.list index 25fe07045e..28cb42c9f0 100644 --- a/layout/reftests/percent-overflow-sizing/reftest.list +++ b/layout/reftests/percent-overflow-sizing/reftest.list @@ -1,24 +1,24 @@ == simpleHeight100.html greenbox.html == simpleAbsHeight.html greenbox.html -skip-if(B2G) fails-if(Android&&browserIsRemote) == hScrollSimpleHeight.html greenboxhbar.html # bug 650591, 732565 # bug 773482 -skip-if(B2G) fails-if(Android&&browserIsRemote) == hScrollSimpleHeightQuirks-1.html greenboxhbar.html # bug 650591, 732565 # bug 773482 -skip-if(B2G) fails-if(Android&&browserIsRemote) == hScrollSimpleHeightQuirks-2.html greenboxhbar.html # bug 650591, 732565 # bug 773482 -skip-if(B2G) fails-if(Android&&browserIsRemote) == hScrollSimpleHeightQuirks-3.html greenboxhbar.html # bug 650591, 732565 # bug 773482 -skip-if(B2G) fails-if(Android&&browserIsRemote) == hScrollAbsHeight.html greenboxhbar.html # bug 650591, 732565 # bug 773482 -skip-if(B2G) fails-if(Android&&browserIsRemote) == hScrollAbsHeightQuirks.html greenboxhbar.html # bug 650591, 732565 # bug 773482 +skip-if(B2G||Mulet) fails-if(Android&&browserIsRemote) == hScrollSimpleHeight.html greenboxhbar.html # bug 650591, 732565 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android&&browserIsRemote) == hScrollSimpleHeightQuirks-1.html greenboxhbar.html # bug 650591, 732565 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android&&browserIsRemote) == hScrollSimpleHeightQuirks-2.html greenboxhbar.html # bug 650591, 732565 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android&&browserIsRemote) == hScrollSimpleHeightQuirks-3.html greenboxhbar.html # bug 650591, 732565 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android&&browserIsRemote) == hScrollAbsHeight.html greenboxhbar.html # bug 650591, 732565 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android&&browserIsRemote) == hScrollAbsHeightQuirks.html greenboxhbar.html # bug 650591, 732565 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == simpleHeight100D.html greenbox.html == simpleAbsHeightD.html greenbox.html -skip-if(B2G) fails-if(Android&&browserIsRemote) == hScrollSimpleHeightD.html greenboxhbar.html # bug 650591, 732565 # bug 773482 -skip-if(B2G) fails-if(Android&&browserIsRemote) == hScrollSimpleHeightQuirks-1D.html greenboxhbar.html # bug 650591, 732565 # bug 773482 -skip-if(B2G) fails-if(Android&&browserIsRemote) == hScrollSimpleHeightQuirks-2D.html greenboxhbar.html # bug 650591, 732565 # bug 773482 +skip-if(B2G||Mulet) fails-if(Android&&browserIsRemote) == hScrollSimpleHeightD.html greenboxhbar.html # bug 650591, 732565 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android&&browserIsRemote) == hScrollSimpleHeightQuirks-1D.html greenboxhbar.html # bug 650591, 732565 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android&&browserIsRemote) == hScrollSimpleHeightQuirks-2D.html greenboxhbar.html # bug 650591, 732565 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop fuzzy-if(B2G,1,11) fails-if(Android&&browserIsRemote) == hScrollSimpleHeightQuirks-3D.html greenboxhbar.html # bug 650591, 732565, 1136304 -skip-if(B2G) fails-if(Android&&browserIsRemote) == hScrollAbsHeightD.html greenboxhbar.html # bug 650591, 732565 # bug 773482 -skip-if(B2G) fails-if(Android&&browserIsRemote) == hScrollAbsHeightQuirksD.html greenboxhbar.html # bug 650591, 732565 # bug 773482 +skip-if(B2G||Mulet) fails-if(Android&&browserIsRemote) == hScrollAbsHeightD.html greenboxhbar.html # bug 650591, 732565 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android&&browserIsRemote) == hScrollAbsHeightQuirksD.html greenboxhbar.html # bug 650591, 732565 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == simpleMinHeight100D.html greenbox.html == simpleAbsMinHeightD.html greenbox.html -skip-if(B2G) fails-if(Android&&browserIsRemote) == hScrollSimpleMinHeightD.html greenboxhbar.html # bug 650591, 732565 # bug 773482 -skip-if(B2G) fails-if(Android&&browserIsRemote) == hScrollSimpleMinHeightQuirks-1D.html greenboxhbar.html # bug 650591, 732565 # bug 773482 -skip-if(B2G) fails-if(Android&&browserIsRemote) == hScrollSimpleMinHeightQuirks-3D.html greenboxhbar.html # bug 650591, 732565 # bug 773482 -skip-if(B2G) fails-if(Android&&browserIsRemote) == hScrollAbsMinHeightD.html greenboxhbar.html # bug 650591, 732565 # bug 773482 -skip-if(B2G) fails-if(Android&&browserIsRemote) == hScrollAbsMinHeightQuirksD.html greenboxhbar.html # bug 650591, 732565 # bug 773482 +skip-if(B2G||Mulet) fails-if(Android&&browserIsRemote) == hScrollSimpleMinHeightD.html greenboxhbar.html # bug 650591, 732565 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android&&browserIsRemote) == hScrollSimpleMinHeightQuirks-1D.html greenboxhbar.html # bug 650591, 732565 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android&&browserIsRemote) == hScrollSimpleMinHeightQuirks-3D.html greenboxhbar.html # bug 650591, 732565 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android&&browserIsRemote) == hScrollAbsMinHeightD.html greenboxhbar.html # bug 650591, 732565 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fails-if(Android&&browserIsRemote) == hScrollAbsMinHeightQuirksD.html greenboxhbar.html # bug 650591, 732565 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == dynamicHeight100.html dynamicHeight100-ref.html diff --git a/layout/reftests/pixel-rounding/reftest.list b/layout/reftests/pixel-rounding/reftest.list index 9e91a83a94..5a775b4157 100644 --- a/layout/reftests/pixel-rounding/reftest.list +++ b/layout/reftests/pixel-rounding/reftest.list @@ -167,11 +167,11 @@ fails == collapsed-border-top-6.html border-top-10-ref.html == rounded-background-color-width-left-5.html rounded-background-color-width-5.html == rounded-background-color-width-left-6.html rounded-background-color-width-6.html -skip-if(B2G) == background-image-tiling.html background-image-tiling-ref.html # bug 773482 +skip-if(B2G||Mulet) == background-image-tiling.html background-image-tiling-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != border-image-width-0.html border-image-width-10.html -skip-if(B2G) random-if(Android) == border-image-width-4.html border-image-width-0.html # bug 661996 # bug 773482 -skip-if(B2G) random-if(Android) == border-image-width-9.html border-image-width-0.html # bug 661996 # bug 773482 +skip-if(B2G||Mulet) random-if(Android) == border-image-width-4.html border-image-width-0.html # bug 661996 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) random-if(Android) == border-image-width-9.html border-image-width-0.html # bug 661996 # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == iframe-1.html iframe-1-ref.html diff --git a/layout/reftests/position-dynamic-changes/vertical/reftest_border_abspos.list b/layout/reftests/position-dynamic-changes/vertical/reftest_border_abspos.list index e2ae03dbb5..c44516cfa5 100644 --- a/layout/reftests/position-dynamic-changes/vertical/reftest_border_abspos.list +++ b/layout/reftests/position-dynamic-changes/vertical/reftest_border_abspos.list @@ -13,7 +13,7 @@ == toauto-topA-heightN-bottomN.html?border_abspos toauto-topA-heightN-bottomN-ref.html?border_abspos == toauto-topA-heightA-bottomN.html?border_abspos toauto-topA-heightA-bottomN-ref.html?border_abspos == fromauto-topN-heightA-bottomA.html?border_abspos topN-heightA-bottomA-ref.html?border_abspos -skip-if(B2G) == fromauto-topN-heightA-bottomN.html?border_abspos topN-heightA-bottomN-ref.html?border_abspos +skip-if(B2G||Mulet) == fromauto-topN-heightA-bottomN.html?border_abspos topN-heightA-bottomN-ref.html?border_abspos # Initial mulet triage: parity with B2G/B2G Desktop == fromauto-topA-heightN-bottomA.html?border_abspos topA-heightN-bottomA-ref.html?border_abspos == fromauto-topN-heightN-bottomA.html?border_abspos topN-heightN-bottomA-ref.html?border_abspos == fromauto-topA-heightN-bottomN.html?border_abspos topA-heightN-bottomN-ref.html?border_abspos diff --git a/layout/reftests/position-sticky/reftest.list b/layout/reftests/position-sticky/reftest.list index facbe91bbd..29e0be019c 100644 --- a/layout/reftests/position-sticky/reftest.list +++ b/layout/reftests/position-sticky/reftest.list @@ -23,7 +23,7 @@ fuzzy-if(Android,2,4) == right-3.html right-3-ref.html == margin-1.html margin-1-ref.html == padding-1.html padding-1-ref.html == padding-2.html padding-2-ref.html -random-if(B2G) == padding-3.html padding-3-ref.html +random-if(B2G||Mulet) == padding-3.html padding-3-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == overcontain-1.html overcontain-1-ref.html == initial-1.html initial-1-ref.html == initial-scroll-1.html initial-scroll-1-ref.html @@ -48,7 +48,7 @@ fails == column-contain-1a.html column-contain-1-ref.html == column-contain-1b.html column-contain-1-ref.html == column-contain-2.html column-contain-2-ref.html == block-in-inline-1.html block-in-inline-1-ref.html -fuzzy-if(winWidget&&!layersGPUAccelerated,102,440) fuzzy-if(Android,8,1533) skip-if(B2G&&browserIsRemote) fuzzy-if(azureQuartz,1,1) == block-in-inline-2.html block-in-inline-2-ref.html -fuzzy-if(winWidget&&!layersGPUAccelerated,102,320) fuzzy-if(Android,8,630) fuzzy-if(OSX>=1008,1,11) skip-if(B2G&&browserIsRemote) == block-in-inline-3.html block-in-inline-3-ref.html +fuzzy-if(winWidget&&!layersGPUAccelerated,102,440) fuzzy-if(Android,8,1533) skip-if((B2G&&browserIsRemote)||Mulet) fuzzy-if(azureQuartz,1,1) == block-in-inline-2.html block-in-inline-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fuzzy-if(winWidget&&!layersGPUAccelerated,102,320) fuzzy-if(Android,8,630) fuzzy-if(OSX>=1008,1,11) skip-if((B2G&&browserIsRemote)||Mulet) == block-in-inline-3.html block-in-inline-3-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == block-in-inline-continuations.html block-in-inline-continuations-ref.html fuzzy-if(winWidget&&!layersGPUAccelerated,102,111) == inner-table-1.html inner-table-1-ref.html diff --git a/layout/reftests/printing/reftest.list b/layout/reftests/printing/reftest.list index e1b03563fe..ed61b95065 100644 --- a/layout/reftests/printing/reftest.list +++ b/layout/reftests/printing/reftest.list @@ -5,13 +5,13 @@ == 272830-1.html 272830-1-ref.html == 318022-1.html 318022-1-ref.html == 403669-1.html 403669-1-ref.html -random-if(B2G&&browserIsRemote) == 381497-n.html 381497-f.html # reftest-print doesn't work on B2G (scrollbar difference only) +random-if((B2G&&browserIsRemote)||Mulet) == 381497-n.html 381497-f.html # reftest-print doesn't work on B2G (scrollbar difference only) # Initial mulet triage: parity with B2G/B2G Desktop == test-async-print.html 272830-1-ref.html -fails-if(B2G) == 129941-1a.html 129941-1-ref.html # reftest-print doesn't work on B2G +fails-if(B2G||Mulet) == 129941-1a.html 129941-1-ref.html # reftest-print doesn't work on B2G # Initial mulet triage: parity with B2G/B2G Desktop == 129941-1b.html 129941-1-ref.html == 609227-1.html 609227-1-ref.html -fails-if(B2G) == 609227-2a.html 609227-2-ref.html # reftest-print doesn't work on B2G -fails-if(B2G) == 609227-2b.html 609227-2-ref.html # reftest-print doesn't work on B2G +fails-if(B2G||Mulet) == 609227-2a.html 609227-2-ref.html # reftest-print doesn't work on B2G # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(B2G||Mulet) == 609227-2b.html 609227-2-ref.html # reftest-print doesn't work on B2G # Initial mulet triage: parity with B2G/B2G Desktop == 577450-1.html 577450-1-ref.html == 626395-1a.html 626395-1-ref.html == 626395-1b.html 626395-1-ref.html diff --git a/layout/reftests/reftest-sanity/async-zoom-1-ref.html b/layout/reftests/reftest-sanity/async-zoom-1-ref.html new file mode 100644 index 0000000000..734bce16da --- /dev/null +++ b/layout/reftests/reftest-sanity/async-zoom-1-ref.html @@ -0,0 +1,6 @@ + + + +This is some content. + + diff --git a/layout/reftests/reftest-sanity/async-zoom-1.html b/layout/reftests/reftest-sanity/async-zoom-1.html new file mode 100644 index 0000000000..7f4d2244d1 --- /dev/null +++ b/layout/reftests/reftest-sanity/async-zoom-1.html @@ -0,0 +1,6 @@ + + + +This is some content. + + diff --git a/layout/reftests/reftest-sanity/async-zoom-2-ref.html b/layout/reftests/reftest-sanity/async-zoom-2-ref.html new file mode 100644 index 0000000000..939f62579f --- /dev/null +++ b/layout/reftests/reftest-sanity/async-zoom-2-ref.html @@ -0,0 +1,6 @@ + + + +
+ + diff --git a/layout/reftests/reftest-sanity/async-zoom-2.html b/layout/reftests/reftest-sanity/async-zoom-2.html new file mode 100644 index 0000000000..6ca8836788 --- /dev/null +++ b/layout/reftests/reftest-sanity/async-zoom-2.html @@ -0,0 +1,6 @@ + + + +
+ + diff --git a/layout/reftests/reftest-sanity/reftest.list b/layout/reftests/reftest-sanity/reftest.list index 3802f0e651..2f3c3e60d8 100644 --- a/layout/reftests/reftest-sanity/reftest.list +++ b/layout/reftests/reftest-sanity/reftest.list @@ -3,8 +3,8 @@ != data:text/plain,HELLO about:blank # these tests make sure async reftests work: -skip-if(B2G) == test-async.xul test-async-ref.xul # bug 785074 -skip-if(B2G) == test-async.html test-async-ref.html # bug 785074 +skip-if(B2G||Mulet) == test-async.xul test-async-ref.xul # bug 785074 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == test-async.html test-async-ref.html # bug 785074 # Initial mulet triage: parity with B2G/B2G Desktop # test that zoom works (and really zooms, not just scales) == test-zoom.html test-zoom-ref.html @@ -36,15 +36,15 @@ HTTP == data:text/html,
Text
default.html != blank.html default.html HTTP != blank.html default.html -skip-if(B2G) HTTP(..) == filter-1.xhtml filter-1-ref.xhtml -skip-if(B2G) HTTP(..) == filter-2.xhtml filter-2-ref.xhtml # bug 773482 +skip-if(B2G||Mulet) HTTP(..) == filter-1.xhtml filter-1-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) HTTP(..) == filter-2.xhtml filter-2-ref.xhtml # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop # test that the MozReftestInvalidate event fires == invalidation.html about:blank == zoom-invalidation.html zoom-invalidation-ref.html # bug 773482 # test that xulRuntime.OS works -skip-if(B2G||B2GDT) fails-if(xulRuntime.OS!="Linux"&&!Android) == data:text/html,Linux data:text/html, +skip-if(B2G||B2GDT||Mulet) fails-if(xulRuntime.OS!="Linux"&&!Android) == data:text/html,Linux data:text/html, # Initial mulet triage: parity with B2G/B2G Desktop fails-if(xulRuntime.OS!="WINNT") == data:text/html,Win data:text/html, fails-if(xulRuntime.OS!="Darwin") == data:text/html,Mac data:text/html, @@ -76,9 +76,9 @@ include default-preferences-tests.list # Test that the harness gives the correct page dimensions. != page-width-3.9in.html page-width-4in.html -skip-if(B2G||B2GDT) == page-width-4.1in.html page-width-4in.html # bug 774396 -skip-if(B2G||B2GDT) == page-width-auto.html page-width-4in.html # bug 774396 -skip-if(B2G||B2GDT) != page-height-2in.html page-height-2.1in.html # bug 774396 +skip-if(B2G||B2GDT||Mulet) == page-width-4.1in.html page-width-4in.html # bug 774396 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||B2GDT||Mulet) == page-width-auto.html page-width-4in.html # bug 774396 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||B2GDT||Mulet) != page-height-2in.html page-height-2.1in.html # bug 774396 # Initial mulet triage: parity with B2G/B2G Desktop == page-height-2in.html page-height-nobreak.html == page-height-2.1in.html page-height-forcebreak.html @@ -91,8 +91,8 @@ needs-focus == data:text/plain, about:blank # Sanity check of viewport+displayport overrides skip-if(!browserIsRemote) != test-displayport-2.html test-displayport-ref.html # bug 593168 -skip-if(!browserIsRemote) fails-if(OSX&&layersGPUAccelerated) fuzzy-if(layersOMTC,1,1390) random-if(Android&&AndroidVersion<15) random-if(B2G||B2GDT) == 647192-1.html 647192-1-ref.html -skip-if(!browserIsRemote||(B2G&&browserIsRemote)) == 656041-1.html 656041-1-ref.html +skip-if(!browserIsRemote) fails-if(OSX&&layersGPUAccelerated) fuzzy-if(layersOMTC,1,1390) random-if(Android&&AndroidVersion<15) random-if(B2G||B2GDT||Mulet) == 647192-1.html 647192-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(!browserIsRemote||((B2G&&browserIsRemote)||Mulet)) == 656041-1.html 656041-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop skip-if(!browserIsRemote||layersOMTC) == test-displayport-bg.html test-displayport-ref.html # bug 694706 # IPC Position-fixed frames/layers test @@ -166,6 +166,9 @@ default-preferences pref(layers.low-precision-buffer,false) skip-if(!asyncPanZoom||!browserIsRemote) != async-scroll-1b.html async-scroll-1-ref.html default-preferences +skip-if(!asyncPanZoom) != async-zoom-1.html async-zoom-1-ref.html +fuzzy(112,1197) skip-if(!asyncPanZoom) == async-zoom-2.html async-zoom-2-ref.html + # reftest-opaque-layer == reftest-opaque-layer-pass.html reftest-opaque-layer-pass.html != reftest-opaque-layer-pass.html about:blank diff --git a/layout/reftests/reftest.list b/layout/reftests/reftest.list index 9b95409ac7..1a26bcfe1f 100644 --- a/layout/reftests/reftest.list +++ b/layout/reftests/reftest.list @@ -188,7 +188,7 @@ include font-face/reftest.list include font-features/reftest.list # mobile font size inflation -skip-if(B2G&&browserIsRemote) include font-inflation/reftest.list # Bug 972697 +skip-if((B2G&&browserIsRemote)||Mulet) include font-inflation/reftest.list # Bug 972697 # Initial mulet triage: parity with B2G/B2G Desktop # CSS Font Loading API include font-loading-api/reftest.list @@ -246,7 +246,7 @@ include marquee/reftest.list # native-theme/ # skipping for B2G since something around radio-nonnative.html makes the whole suite hang -skip-if(B2G) include native-theme/reftest.list +skip-if(B2G||Mulet) include native-theme/reftest.list # Initial mulet triage: parity with B2G/B2G Desktop # netwerk/ include ../../netwerk/test/reftest/reftest.list diff --git a/layout/reftests/scrolling/reftest.list b/layout/reftests/scrolling/reftest.list index fe4a3d8d97..065e740d7f 100644 --- a/layout/reftests/scrolling/reftest.list +++ b/layout/reftests/scrolling/reftest.list @@ -18,19 +18,19 @@ skip-if(Android) pref(layout.css.scroll-behavior.enabled,true) pref(layout.css.s skip-if(Android) pref(layout.css.scroll-behavior.enabled,true) pref(layout.css.scroll-behavior.property-enabled,true) == scroll-behavior-7.html scroll-behavior-7.html?ref # see bug 1041833 skip-if(Android) pref(layout.css.scroll-behavior.enabled,true) pref(layout.css.scroll-behavior.property-enabled,true) == scroll-behavior-8.html scroll-behavior-8.html?ref # see bug 1041833 skip-if(Android) pref(layout.css.scroll-behavior.enabled,true) pref(layout.css.scroll-behavior.property-enabled,true) == scroll-behavior-9.html scroll-behavior-9.html?ref # see bug 1041833 -skip-if(B2G&&browserIsRemote) HTTP == simple-1.html simple-1.html?ref -skip-if(B2G) HTTP == subpixel-1.html#d subpixel-1-ref.html#d +skip-if((B2G&&browserIsRemote)||Mulet) HTTP == simple-1.html simple-1.html?ref # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) HTTP == subpixel-1.html#d subpixel-1-ref.html#d # Initial mulet triage: parity with B2G/B2G Desktop fuzzy-if(Android,4,120) HTTP == text-1.html text-1.html?ref fuzzy-if(Android,4,120) HTTP == text-2.html?up text-2.html?ref -skip-if(B2G) fuzzy-if(Android&&AndroidVersion<15,251,722) fuzzy-if(d2d,1,4) HTTP == transformed-1.html transformed-1.html?ref +skip-if(B2G||Mulet) fuzzy-if(Android&&AndroidVersion<15,251,722) fuzzy-if(d2d,1,4) HTTP == transformed-1.html transformed-1.html?ref # Initial mulet triage: parity with B2G/B2G Desktop HTTP == transformed-1.html?up transformed-1.html?ref fuzzy-if(Android,5,20000) == uncovering-1.html uncovering-1-ref.html fuzzy-if(Android,5,20000) == uncovering-2.html uncovering-2-ref.html -skip-if(B2G) == less-than-scrollbar-height.html less-than-scrollbar-height-ref.html -skip-if(B2G) == huge-horizontal-overflow.html huge-horizontal-overflow-ref.html -skip-if(B2G) == huge-vertical-overflow.html huge-vertical-overflow-ref.html +skip-if(B2G||Mulet) == less-than-scrollbar-height.html less-than-scrollbar-height-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == huge-horizontal-overflow.html huge-horizontal-overflow-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == huge-vertical-overflow.html huge-vertical-overflow-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == iframe-scrolling-attr-1.html iframe-scrolling-attr-ref.html -skip-if(B2G&&browserIsRemote) == iframe-scrolling-attr-2.html iframe-scrolling-attr-ref.html +skip-if((B2G&&browserIsRemote)||Mulet) == iframe-scrolling-attr-2.html iframe-scrolling-attr-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == frame-scrolling-attr-1.html frame-scrolling-attr-ref.html == frame-scrolling-attr-2.html frame-scrolling-attr-ref.html == move-item.html move-item-ref.html # bug 1125750 diff --git a/layout/reftests/selection/reftest.list b/layout/reftests/selection/reftest.list index 5b3427b855..436d1038a3 100644 --- a/layout/reftests/selection/reftest.list +++ b/layout/reftests/selection/reftest.list @@ -25,10 +25,10 @@ == extend-4a.html extend-4-ref.html == extend-4b.html extend-4-ref.html # these 3 random-if(Android) are a difference of Native & Xul, see bug 739714 -random-if(Android||B2G) needs-focus != pseudo-element-of-native-anonymous.html pseudo-element-of-native-anonymous-ref.html # bug 676641 +random-if(Android||B2G||Mulet) needs-focus != pseudo-element-of-native-anonymous.html pseudo-element-of-native-anonymous-ref.html # bug 676641 # Initial mulet triage: parity with B2G/B2G Desktop # These tests uses Highlight and HighlightText color keywords, they are not same as text selection color on Mac. -random-if(Android||B2G) fails-if(cocoaWidget) needs-focus == non-themed-widget.html non-themed-widget-ref.html # bug 773482 -random-if(Android||B2G) fails-if(cocoaWidget) needs-focus == themed-widget.html themed-widget-ref.html +random-if(Android||B2G||Mulet) fails-if(cocoaWidget) needs-focus == non-themed-widget.html non-themed-widget-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +random-if(Android||B2G||Mulet) fails-if(cocoaWidget) needs-focus == themed-widget.html themed-widget-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == addrange-1.html addrange-ref.html == addrange-2.html addrange-ref.html == splitText-normalize.html splitText-normalize-ref.html diff --git a/layout/reftests/svg/as-image/reftest.list b/layout/reftests/svg/as-image/reftest.list index 504298d9bc..8b4260de39 100644 --- a/layout/reftests/svg/as-image/reftest.list +++ b/layout/reftests/svg/as-image/reftest.list @@ -5,7 +5,7 @@ include zoom/reftest.list # Background-image tests == background-display-none-1.html about:blank -skip-if(B2G) == background-simple-1.html lime100x100-ref.html # bug 773482 +skip-if(B2G||Mulet) == background-simple-1.html lime100x100-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == background-simple-2.html lime100x100-ref.html # Sightly trickier background-image test @@ -25,7 +25,7 @@ skip-if(B2G) == background-simple-1.html lime100x100-ref.html # bug 773482 == background-scale-with-viewbox-1.html background-scale-with-viewbox-1-ref.html # Tests with -moz-image-rect() -skip-if(B2G) == background-image-rect-1svg.html lime100x100-ref.html # bug 773482 +skip-if(B2G||Mulet) == background-image-rect-1svg.html lime100x100-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == background-image-rect-1png.html lime100x100-ref.html == background-image-rect-2.html lime100x100-ref.html @@ -37,9 +37,9 @@ skip-if(B2G) == background-image-rect-1svg.html lime100x100-ref.html # bug 7734 == canvas-drawImage-simple-1a.html lime100x100-ref.html == canvas-drawImage-simple-1b.html lime100x100-ref.html -skip-if(B2G) == canvas-drawImage-scale-1a.html lime100x100-ref.html -skip-if(B2G) == canvas-drawImage-scale-1b.html lime100x100-ref.html -skip-if(B2G) == canvas-drawImage-scale-1c.html lime100x100-ref.html +skip-if(B2G||Mulet) == canvas-drawImage-scale-1a.html lime100x100-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == canvas-drawImage-scale-1b.html lime100x100-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == canvas-drawImage-scale-1c.html lime100x100-ref.html # Initial mulet triage: parity with B2G/B2G Desktop # Fails on Android versions where we apply a zoom by default, because the # resolution of a canvas element is fixed regardless of zoom level. @@ -50,7 +50,7 @@ fuzzy-if(winWidget&&!d2d,1,10000) fuzzy-if(Android||B2G,1,10000) == canvas-drawI #Same as scale-2a but with globalAlpha: fuzzy(1,2) fuzzy-if(winWidget&&!d2d,1,40000) fuzzy-if(Android||B2G,1,40000) fails-if(Android&&AndroidVersion<15&&AndroidVersion!=10) == canvas-drawImage-alpha-2.html canvas-drawImage-alpha-2-ref.html -skip-if(B2G) == canvas-drawImage-slice-1a.html lime100x100-ref.html +skip-if(B2G||Mulet) == canvas-drawImage-slice-1a.html lime100x100-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == canvas-drawImage-slice-1b.html lime100x100-ref.html == canvas-drawImage-origin-clean-1.html lime100x100-ref.html @@ -62,7 +62,7 @@ skip-if(B2G) == canvas-drawImage-slice-1a.html lime100x100-ref.html == img-simple-3.html img-simple-3-ref.html == img-simple-4.html lime100x100-ref.html == img-simple-5.html img-simple-5-ref.html -skip-if(B2G) == img-simple-6.html lime100x100-ref.html # bug 773482 +skip-if(B2G||Mulet) == img-simple-6.html lime100x100-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == img-simple-7.html img-simple-7-ref.html # Test with mix of and referring to the same images, @@ -120,12 +120,12 @@ fuzzy-if(d2d,16,10) == img-content-outside-viewBox-1.html img-content-outside-vi == img-novb-width-slice-1.html img-novb-width-all-1-ref.html # with with a fragmentIdentifier viewBox -skip-if(B2G) == img-fragment-1a.html img-fragment-1-ref.html # bug 773482 -skip-if(B2G) == img-fragment-1b.html img-fragment-1-ref.html # bug 773482 -skip-if(B2G) == img-fragment-1c.html img-fragment-1-ref.html # bug 773482 -skip-if(B2G) == img-fragment-2a.html img-fragment-2-ref.html # bug 773482 -skip-if(B2G) == img-fragment-2b.html img-fragment-2-ref.html # bug 773482 -skip-if(B2G) == img-fragment-2c.html img-fragment-2-ref.html # bug 773482 +skip-if(B2G||Mulet) == img-fragment-1a.html img-fragment-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == img-fragment-1b.html img-fragment-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == img-fragment-1c.html img-fragment-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == img-fragment-2a.html img-fragment-2-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == img-fragment-2b.html img-fragment-2-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == img-fragment-2c.html img-fragment-2-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop fuzzy-if(B2G,68,4) random == list-simple-1.html list-simple-1-ref.html @@ -140,7 +140,7 @@ fuzzy-if(B2G,68,4) random == list-simple-1.html list-simple-1-ref.html == svg-image-recursive-2b.html svg-image-recursive-2-ref.svg # test that scripting feature is not supported in images or referenced documents -skip-if(B2G) == svg-image-script-1.svg lime100x100.svg # bug 773482 +skip-if(B2G||Mulet) == svg-image-script-1.svg lime100x100.svg # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == svg-image-script-2.svg lime100x100.svg # tests for external resources vs. data URIs in SVG as an image @@ -168,7 +168,7 @@ HTTP == svg-stylesheet-external-1.html blue100x100.svg # XXXseth: The underlying problems also apply to media fragments, # but the test case would be much simpler. This should be switched # over to use media fragments once bug 790640 lands. -skip-if(B2G) fuzzy(2,1) == svg-border-image-repaint-1.html svg-border-image-repaint-1-ref.html +skip-if(B2G||Mulet) fuzzy(2,1) == svg-border-image-repaint-1.html svg-border-image-repaint-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop # Tests for image-orientation with a viewbox and an intrinsic size: == image-orientation-viewbox-and-size.html?0 image-orientation-ref.html?0 diff --git a/layout/reftests/svg/moz-only/reftest.list b/layout/reftests/svg/moz-only/reftest.list index 11ecc1bb30..1dafda4873 100644 --- a/layout/reftests/svg/moz-only/reftest.list +++ b/layout/reftests/svg/moz-only/reftest.list @@ -1,22 +1,22 @@ # XBL tests -skip-if(B2G&&browserIsRemote) == xbl-basic-01.svg pass.svg -skip-if(B2G&&browserIsRemote) == xbl-basic-02.svg pass.svg -skip-if(B2G) == xbl-basic-03.svg pass.svg # bug 773482 -skip-if(B2G) == xbl-grad-ref--grad-in-binding-01.svg pass.svg -skip-if(B2G&&browserIsRemote) == xbl-grad-ref--grad-in-binding-02.svg pass.svg -skip-if(B2G&&browserIsRemote) == xbl-grad-ref--grad-in-bound-01.svg pass.svg +skip-if((B2G&&browserIsRemote)||Mulet) == xbl-basic-01.svg pass.svg # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == xbl-basic-02.svg pass.svg # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == xbl-basic-03.svg pass.svg # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == xbl-grad-ref--grad-in-binding-01.svg pass.svg # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == xbl-grad-ref--grad-in-binding-02.svg pass.svg # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == xbl-grad-ref--grad-in-bound-01.svg pass.svg # Initial mulet triage: parity with B2G/B2G Desktop fails == xbl-grad-ref--grad-in-bound-02.svg pass-black.svg fails == xbl-grad-ref--grad-in-resources-01.svg pass.svg fails == xbl-grad-ref--grad-in-resources-02.svg pass.svg -skip-if(B2G&&browserIsRemote) == xbl-grad-ref--grad-in-binding-03.svg pass.svg -skip-if(B2G&&browserIsRemote) == xbl-grad-ref--grad-in-bound-03.svg pass.svg -skip-if(B2G&&browserIsRemote) == xbl-grad-ref--grad-in-binding-04.svg pass.svg -skip-if(B2G&&browserIsRemote) == xbl-grad-ref--grad-in-bound-04.svg pass.svg +skip-if((B2G&&browserIsRemote)||Mulet) == xbl-grad-ref--grad-in-binding-03.svg pass.svg # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == xbl-grad-ref--grad-in-bound-03.svg pass.svg # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == xbl-grad-ref--grad-in-binding-04.svg pass.svg # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == xbl-grad-ref--grad-in-bound-04.svg pass.svg # Initial mulet triage: parity with B2G/B2G Desktop # Tests for zooming with the full page zoom UI -skip-if(B2G) random-if(d2d) == feImage-zoom-01a.svg feImage-zoom-01-ref.svg -skip-if(B2G) random-if(d2d) == feImage-zoom-01b.svg feImage-zoom-01-ref.svg -skip-if(B2G) == foreignObject-zoom-01.svg pass.svg -skip-if(B2G) == zoom-invalidation-01.svg pass.svg +skip-if(B2G||Mulet) random-if(d2d) == feImage-zoom-01a.svg feImage-zoom-01-ref.svg # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) random-if(d2d) == feImage-zoom-01b.svg feImage-zoom-01-ref.svg # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == foreignObject-zoom-01.svg pass.svg # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == zoom-invalidation-01.svg pass.svg # Initial mulet triage: parity with B2G/B2G Desktop fuzzy-if(winWidget,12,7) == zoomed-svg-with-viewBox-01.svg zoomed-svg-with-viewBox-01-ref.svg diff --git a/layout/reftests/svg/reftest.list b/layout/reftests/svg/reftest.list index 7fc08f1541..c680c184f5 100644 --- a/layout/reftests/svg/reftest.list +++ b/layout/reftests/svg/reftest.list @@ -180,10 +180,10 @@ fuzzy-if(Android,18,600) == foreignObject-fixedpos-01.html foreignObject-dynamic == foreignObject-dynamic-fixedpos-01.html foreignObject-dynamic-abspos-01-ref.html == g-transform-01.svg pass.svg == getElementById-a-element-01.svg pass.svg -fuzzy-if(Android||B2G,9,980) == gradient-live-01a.svg gradient-live-01-ref.svg -fuzzy-if(Android||B2G,9,980) == gradient-live-01b.svg gradient-live-01-ref.svg -fuzzy-if(Android||B2G,9,980) == gradient-live-01c.svg gradient-live-01-ref.svg -fuzzy-if(Android||B2G,9,980) == gradient-live-01d.svg gradient-live-01-ref.svg +fuzzy-if(Android||B2G,9,980||Mulet,9,980) == gradient-live-01a.svg gradient-live-01-ref.svg # Initial mulet triage: parity with B2G/B2G Desktop +fuzzy-if(Android||B2G,9,980||Mulet,9,980) == gradient-live-01b.svg gradient-live-01-ref.svg # Initial mulet triage: parity with B2G/B2G Desktop +fuzzy-if(Android||B2G,9,980||Mulet,9,980) == gradient-live-01c.svg gradient-live-01-ref.svg # Initial mulet triage: parity with B2G/B2G Desktop +fuzzy-if(Android||B2G,9,980||Mulet,9,980) == gradient-live-01d.svg gradient-live-01-ref.svg # Initial mulet triage: parity with B2G/B2G Desktop == gradient-transform-01.svg pass.svg == import-svg-01.html pass.svg == invalid-text-01.svg pass.svg @@ -235,7 +235,7 @@ random-if(gtk2Widget) == objectBoundingBox-and-fePointLight-02.svg objectBoundin skip-if(d2d) fuzzy-if(azureQuartz,1,99974) == opacity-and-gradient-02.svg opacity-and-gradient-02-ref.svg == opacity-and-pattern-01.svg pass.svg == opacity-and-transform-01.svg opacity-and-transform-01-ref.svg -fuzzy-if(Android&&AndroidVersion>=15,8,200) random-if(B2G&&browserIsRemote) == outer-svg-border-and-padding-01.svg outer-svg-border-and-padding-01-ref.svg +fuzzy-if(Android&&AndroidVersion>=15,8,200) random-if((B2G&&browserIsRemote)||Mulet) == outer-svg-border-and-padding-01.svg outer-svg-border-and-padding-01-ref.svg # Initial mulet triage: parity with B2G/B2G Desktop == overflow-on-outer-svg-01.svg overflow-on-outer-svg-01-ref.svg == overflow-on-outer-svg-02a.xhtml overflow-on-outer-svg-02-ref.xhtml == overflow-on-outer-svg-02b.xhtml overflow-on-outer-svg-02-ref.xhtml @@ -318,8 +318,8 @@ HTTP(..) == text-gradient-04.svg text-gradient-04-ref.svg == text-in-link-02.svg text-in-link-02-ref.svg == text-in-link-03.svg text-in-link-03-ref.svg # Tests for bug 546813: sanity-check using HTML text, then test SVG behavior. -skip-if(B2G) != text-language-00.xhtml text-language-00-ref.xhtml -skip-if(B2G) random-if(gtk2Widget) != text-language-01.xhtml text-language-01-ref.xhtml # Fails on Linux tryserver due to lack of CJK fonts. +skip-if(B2G||Mulet) != text-language-00.xhtml text-language-00-ref.xhtml # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) random-if(gtk2Widget) != text-language-01.xhtml text-language-01-ref.xhtml # Fails on Linux tryserver due to lack of CJK fonts. # Initial mulet triage: parity with B2G/B2G Desktop fuzzy-if(OSX==1007,6,2) fuzzy-if(OSX==1008,46,26) == text-layout-01.svg text-layout-01-ref.svg == text-layout-02.svg text-layout-02-ref.svg == text-layout-03.svg text-layout-03-ref.svg @@ -410,7 +410,7 @@ skip-if(Android) pref(layout.css.mix-blend-mode.enabled,true) == blend-layer-mas skip-if(Android) pref(layout.css.mix-blend-mode.enabled,true) == blend-layer-opacity.svg blend-layer-opacity-ref.svg skip-if(Android) pref(layout.css.mix-blend-mode.enabled,true) == blend-lighten.svg blend-lighten-ref.svg # pref(layout.css.mix-blend-mode.enabled,true) == blend-luminosity.svg blend-luminosity-ref.svg -#skip-if(B2G||Android) pref(layout.css.mix-blend-mode.enabled,true) == blend-multiply-alpha.svg blend-multiply-alpha-ref.svg +#skip-if(B2G||Mulet||Android) pref(layout.css.mix-blend-mode.enabled,true) == blend-multiply-alpha.svg blend-multiply-alpha-ref.svg # Initial mulet triage: parity with B2G/B2G Desktop skip-if(Android) pref(layout.css.mix-blend-mode.enabled,true) == blend-multiply.svg blend-multiply-ref.svg pref(layout.css.mix-blend-mode.enabled,true) == blend-normal.svg blend-normal-ref.svg #skip-if(Android) pref(layout.css.mix-blend-mode.enabled,true) == blend-overlay.svg blend-overlay-ref.svg diff --git a/layout/reftests/svg/sizing/reftest.list b/layout/reftests/svg/sizing/reftest.list index fdc8a520fc..4c7e197308 100644 --- a/layout/reftests/svg/sizing/reftest.list +++ b/layout/reftests/svg/sizing/reftest.list @@ -11,8 +11,8 @@ # http://www.w3.org/TR/SVGMobile12/coords.html#IntrinsicSizing # http://www.w3.org/TR/CSS21/visudet.html -skip-if(B2G) fails-if(smallScreen&&Android) != scrollbars-01.svg scrollbars-01-anti-ref.svg -skip-if(B2G) != scrollbars-02.svg scrollbars-01-anti-ref.svg +skip-if(B2G||Mulet||Android) != scrollbars-01.svg scrollbars-01-anti-ref.svg # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet||Android) != scrollbars-02.svg scrollbars-01-anti-ref.svg # Initial mulet triage: parity with B2G/B2G Desktop # Standalone tests # diff --git a/layout/reftests/svg/svg-integration/reftest.list b/layout/reftests/svg/svg-integration/reftest.list index 3ce32dcb5b..93b3dde86b 100644 --- a/layout/reftests/svg/svg-integration/reftest.list +++ b/layout/reftests/svg/svg-integration/reftest.list @@ -22,14 +22,14 @@ fuzzy-if(true,140,70) == clipPath-html-05-extref.xhtml clipPath-html-05-ref.xhtm == dynamic-conditions-outer-svg-03.xhtml ../pass.svg == dynamic-conditions-outer-svg-04.xhtml ../pass.svg == filter-html-01.xhtml filter-html-01-ref.svg -random-if(B2G) == filter-html-01-extref.xhtml filter-html-01-ref.svg # Bug 1063987 +random-if(B2G||Mulet) == filter-html-01-extref.xhtml filter-html-01-ref.svg # Bug 1063987 # Initial mulet triage: parity with B2G/B2G Desktop == filter-html-zoomed-01.xhtml filter-html-01-ref.svg == mask-html-01.xhtml mask-html-01-ref.svg == mask-html-01-extref-01.xhtml mask-html-01-ref.svg random == mask-html-01-extref-02.xhtml mask-html-01-ref.svg # random due to bug 877661 fuzzy-if(B2G&&browserIsRemote,1,2300) == mask-html-zoomed-01.xhtml mask-html-01-ref.svg # Skil XBL test case on B2G -skip-if(B2G) == mask-html-xbl-bound-01.html mask-html-01-ref.svg +skip-if(B2G||Mulet) == mask-html-xbl-bound-01.html mask-html-01-ref.svg # Initial mulet triage: parity with B2G/B2G Desktop == mask-transformed-html-01.xhtml ../pass.svg == mask-transformed-html-02.xhtml ../pass.svg == patterned-svg-under-transformed-html-01.xhtml ../pass.svg diff --git a/layout/reftests/table-background/reftest.list b/layout/reftests/table-background/reftest.list index 8b64f5135f..a4f9067484 100644 --- a/layout/reftests/table-background/reftest.list +++ b/layout/reftests/table-background/reftest.list @@ -28,30 +28,30 @@ asserts-if(gtk2Widget,0-6) != backgr_border-table-quirks.html empty.html # would also be good to test table-header-group and table-footer-group # (and rows and row groups in the presence of their reordering) # Also need to test different values of background-origin and background-clip. -skip-if(B2G) == border-separate-table-cell.html border-separate-table-cell-ref.html # bug 773482 -skip-if(B2G) == border-separate-table-column-group.html border-separate-table-column-group-ref.html # bug 773482 -skip-if(B2G) == border-separate-table-column.html border-separate-table-column-ref.html # bug 773482 -skip-if(B2G) == border-separate-table-row-group.html border-separate-table-row-group-ref.html # bug 773482 +skip-if(B2G||Mulet) == border-separate-table-cell.html border-separate-table-cell-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == border-separate-table-column-group.html border-separate-table-column-group-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == border-separate-table-column.html border-separate-table-column-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == border-separate-table-row-group.html border-separate-table-row-group-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == border-separate-table-row.html border-separate-table-row-ref.html -skip-if(B2G) == border-separate-table.html border-separate-table-ref.html # bug 773482 -skip-if(B2G) == border-collapse-table-cell.html border-collapse-table-cell-ref.html # bug 773482 -skip-if(B2G) == border-collapse-table-column-group.html border-collapse-table-column-group-ref.html # bug 773482 -skip-if(B2G) == border-collapse-table-column.html border-collapse-table-column-ref.html # bug 773482 -skip-if(B2G) == border-collapse-table-row-group.html border-collapse-table-row-group-ref.html # bug 773482 +skip-if(B2G||Mulet) == border-separate-table.html border-separate-table-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == border-collapse-table-cell.html border-collapse-table-cell-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == border-collapse-table-column-group.html border-collapse-table-column-group-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == border-collapse-table-column.html border-collapse-table-column-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == border-collapse-table-row-group.html border-collapse-table-row-group-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == border-collapse-table-row.html border-collapse-table-row-ref.html == border-collapse-table.html border-collapse-table-ref.html -skip-if(B2G) == border-collapse-opacity-table-cell.html border-collapse-opacity-table-cell-ref.html # bug 773482 +skip-if(B2G||Mulet) == border-collapse-opacity-table-cell.html border-collapse-opacity-table-cell-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop fails == border-collapse-opacity-table-column-group.html border-collapse-opacity-table-column-group-ref.html # bug 424274 fails == border-collapse-opacity-table-column.html border-collapse-opacity-table-column-ref.html # bug 424274 -skip-if(B2G) == border-collapse-opacity-table-row-group.html border-collapse-opacity-table-row-group-ref.html # bug 773482 -skip-if(B2G) == border-collapse-opacity-table-row.html border-collapse-opacity-table-row-ref.html # bug 773482 -skip-if(B2G) == border-collapse-opacity-table.html border-collapse-opacity-table-ref.html # bug 773482 -skip-if(B2G) == border-separate-opacity-table-cell.html border-separate-opacity-table-cell-ref.html # bug 773482 +skip-if(B2G||Mulet) == border-collapse-opacity-table-row-group.html border-collapse-opacity-table-row-group-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == border-collapse-opacity-table-row.html border-collapse-opacity-table-row-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == border-collapse-opacity-table.html border-collapse-opacity-table-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == border-separate-opacity-table-cell.html border-separate-opacity-table-cell-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop fails == border-separate-opacity-table-column-group.html border-separate-opacity-table-column-group-ref.html # bug 424274 fails == border-separate-opacity-table-column.html border-separate-opacity-table-column-ref.html # bug 424274 == border-separate-opacity-table-row-group.html border-separate-opacity-table-row-group-ref.html -skip-if(B2G) == border-separate-opacity-table-row.html border-separate-opacity-table-row-ref.html # bug 773482 -skip-if(B2G) == border-separate-opacity-table.html border-separate-opacity-table-ref.html # bug 773482 +skip-if(B2G||Mulet) == border-separate-opacity-table-row.html border-separate-opacity-table-row-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == border-separate-opacity-table.html border-separate-opacity-table-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop != scrollable-rowgroup-collapse-background.html scrollable-rowgroup-collapse-notref.html != scrollable-rowgroup-collapse-border.html scrollable-rowgroup-collapse-notref.html != scrollable-rowgroup-separate-background.html scrollable-rowgroup-separate-notref.html diff --git a/layout/reftests/table-width/reftest.list b/layout/reftests/table-width/reftest.list index c90150b00d..3ef67c0c86 100644 --- a/layout/reftests/table-width/reftest.list +++ b/layout/reftests/table-width/reftest.list @@ -35,7 +35,7 @@ fuzzy-if(B2G,9,1) == conflicting-widths-8.html conflicting-widths-8-ref.html # c == percent-truncation-1.html percent-truncation-1-ref.html == percent-truncation-2.html percent-truncation-2-ref.html == percent-truncation-3.html percent-truncation-3-ref.html -skip-if(B2G) == balancing-1.html balancing-1-ref.html # bug 773482 +skip-if(B2G||Mulet) == balancing-1.html balancing-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == balancing-2.html balancing-2-ref.html == cellpadding.html cellpadding-ref.html == cellspacing.html cellspacing-ref.html diff --git a/layout/reftests/text-decoration/reftest.list b/layout/reftests/text-decoration/reftest.list index 04e7060338..ed2daf8d88 100644 --- a/layout/reftests/text-decoration/reftest.list +++ b/layout/reftests/text-decoration/reftest.list @@ -1,5 +1,5 @@ -skip-if(B2G) == complex-decoration-style-quirks.html complex-decoration-style-quirks-ref.html # bug 773482 -skip-if(B2G) == complex-decoration-style-standards.html complex-decoration-style-standards-ref.html # bug 773482 +skip-if(B2G||Mulet) == complex-decoration-style-quirks.html complex-decoration-style-quirks-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == complex-decoration-style-standards.html complex-decoration-style-standards-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == decoration-color-quirks.html decoration-color-quirks-ref.html == decoration-color-standards.html decoration-color-standards-ref.html == decoration-style-quirks.html decoration-style-quirks-ref.html @@ -94,7 +94,7 @@ fuzzy-if(B2G,255,1) == dynamic-underline-vertical-align-standards-2.html dynamic == table-quirk-2.html table-quirk-2-ref.html == text-decoration-propagation-1-quirks.html text-decoration-propagation-1-quirks-ref.html == text-decoration-propagation-1-standards.html text-decoration-propagation-1-standards-ref.html -skip-if(B2G) == 641444-1.html 641444-1-ref.html # bug 773482 +skip-if(B2G||Mulet) == 641444-1.html 641444-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == decoration-css21.html decoration-css21-ref.html == decoration-color-override-quirks.html decoration-color-override-quirks-ref.html == decoration-color-override-standards.html decoration-color-override-standards-ref.html diff --git a/layout/reftests/text-overflow/reftest.list b/layout/reftests/text-overflow/reftest.list index 2b520d2744..71f0cd1c28 100644 --- a/layout/reftests/text-overflow/reftest.list +++ b/layout/reftests/text-overflow/reftest.list @@ -1,26 +1,26 @@ -skip-if(B2G) == ellipsis-font-fallback.html ellipsis-font-fallback-ref.html +skip-if(B2G||Mulet) == ellipsis-font-fallback.html ellipsis-font-fallback-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == line-clipping.html line-clipping-ref.html -fuzzy-if(Android,16,244) skip-if(B2G) HTTP(..) == marker-basic.html marker-basic-ref.html # Bug 1128229 -skip-if(B2G) HTTP(..) == marker-string.html marker-string-ref.html +fuzzy-if(Android,16,244) skip-if(B2G||Mulet) HTTP(..) == marker-basic.html marker-basic-ref.html # Bug 1128229 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) HTTP(..) == marker-string.html marker-string-ref.html # Initial mulet triage: parity with B2G/B2G Desktop skip-if(Android||B2G) HTTP(..) == bidi-simple.html bidi-simple-ref.html # Fails on Android due to anti-aliasing skip-if(!gtk2Widget) fuzzy-if(gtk2Widget,1,104) HTTP(..) == bidi-simple-scrolled.html bidi-simple-scrolled-ref.html # Fails on Windows and OSX due to anti-aliasing -skip-if(B2G) fuzzy-if(Android&&AndroidVersion<15,9,2545) fuzzy-if(Android&&AndroidVersion>=15,24,4000) fuzzy-if(cocoaWidget,1,40) HTTP(..) == scroll-rounding.html scroll-rounding-ref.html # bug 760264 +skip-if(B2G||Mulet) fuzzy-if(Android&&AndroidVersion<15,9,2545) fuzzy-if(Android&&AndroidVersion>=15,24,4000) fuzzy-if(cocoaWidget,1,40) HTTP(..) == scroll-rounding.html scroll-rounding-ref.html # bug 760264 # Initial mulet triage: parity with B2G/B2G Desktop fuzzy-if(OSX==1008,1,1) HTTP(..) == anonymous-block.html anonymous-block-ref.html -skip-if(B2G) HTTP(..) == false-marker-overlap.html false-marker-overlap-ref.html +skip-if(B2G||Mulet) HTTP(..) == false-marker-overlap.html false-marker-overlap-ref.html # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == visibility-hidden.html visibility-hidden-ref.html -skip-if(B2G) HTTP(..) == block-padding.html block-padding-ref.html +skip-if(B2G||Mulet) HTTP(..) == block-padding.html block-padding-ref.html # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == quirks-decorations.html quirks-decorations-ref.html HTTP(..) == quirks-line-height.html quirks-line-height-ref.html HTTP(..) == standards-decorations.html standards-decorations-ref.html HTTP(..) == standards-line-height.html standards-line-height-ref.html -skip-if(B2G) random-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) HTTP(..) == selection.html selection-ref.html # bug 668849 +skip-if(B2G||Mulet) random-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) HTTP(..) == selection.html selection-ref.html # bug 668849 # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == marker-shadow.html marker-shadow-ref.html == aligned-baseline.html aligned-baseline-ref.html skip-if(Android||B2G) == clipped-elements.html clipped-elements-ref.html HTTP(..) == theme-overflow.html theme-overflow-ref.html -skip-if(B2G) HTTP(..) == table-cell.html table-cell-ref.html +skip-if(B2G||Mulet) HTTP(..) == table-cell.html table-cell-ref.html # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == two-value-syntax.html two-value-syntax-ref.html -skip-if(B2G) HTTP(..) == single-value.html single-value-ref.html -skip-if(B2G) HTTP(..) == atomic-under-marker.html atomic-under-marker-ref.html -fuzzy(1,702) skip-if(Android||B2G) HTTP(..) == xulscroll.html xulscroll-ref.html +skip-if(B2G||Mulet) HTTP(..) == single-value.html single-value-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) HTTP(..) == atomic-under-marker.html atomic-under-marker-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fuzzy(1,702) skip-if(Android||B2G||Mulet) HTTP(..) == xulscroll.html xulscroll-ref.html # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == combobox-zoom.html combobox-zoom-ref.html diff --git a/layout/reftests/text-shadow/reftest.list b/layout/reftests/text-shadow/reftest.list index a03139c9c6..48f4481200 100644 --- a/layout/reftests/text-shadow/reftest.list +++ b/layout/reftests/text-shadow/reftest.list @@ -1,10 +1,10 @@ == 723669.html 723669-ref.html -skip-if(B2G&&browserIsRemote) == basic.xul basic-ref.xul -random-if(Android) skip-if(B2G&&browserIsRemote) == basic-negcoord.xul basic-negcoord-ref.xul -skip-if(B2G&&browserIsRemote) != blur.xul blur-notref.xul -skip-if(B2G&&browserIsRemote) == color-inherit.xul color-inherit-ref.xul -skip-if(B2G&&browserIsRemote) == multiple-noblur.xul multiple-noblur-ref.xul +skip-if((B2G&&browserIsRemote)||Mulet) == basic.xul basic-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop +random-if(Android) skip-if((B2G&&browserIsRemote)||Mulet) == basic-negcoord.xul basic-negcoord-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) != blur.xul blur-notref.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == color-inherit.xul color-inherit-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop +skip-if((B2G&&browserIsRemote)||Mulet) == multiple-noblur.xul multiple-noblur-ref.xul # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == blur-opacity.html blur-opacity-ref.html == basic.html basic-ref.html diff --git a/layout/reftests/text-transform/reftest.list b/layout/reftests/text-transform/reftest.list index 9bee33d5c1..fd824abc55 100644 --- a/layout/reftests/text-transform/reftest.list +++ b/layout/reftests/text-transform/reftest.list @@ -8,7 +8,7 @@ == capitalize-7a.html capitalize-7-ref.html == lowercase-1.html lowercase-ref.html == lowercase-sigma-1.html lowercase-sigma-1-ref.html -fails-if(B2G) random-if(winWidget) == small-caps-1.html small-caps-1-ref.html # fails if default font supports 'smcp' +fails-if(B2G||Mulet) random-if(winWidget) == small-caps-1.html small-caps-1-ref.html # fails if default font supports 'smcp' # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == fake-small-caps-1.html fake-small-caps-1-ref.html HTTP(..) == opentype-small-caps-1.html opentype-small-caps-1-ref.html HTTP(..) != opentype-small-caps-1.html opentype-small-caps-1-notref.html @@ -17,9 +17,9 @@ HTTP(..) != graphite-small-caps-1.html graphite-small-caps-1-notref.html == uppercase-1.html uppercase-ref.html == uppercase-szlig-1.html uppercase-szlig-ref.html # these use DejaVu Sans via @font-face for consistency of results -skip-if(B2G) fuzzy-if(cocoaWidget,250,15) HTTP(..) == all-upper.html all-upper-ref.html # bug 773482, 1140292 -skip-if(B2G) fuzzy-if(cocoaWidget,250,15) HTTP(..) == all-lower.html all-lower-ref.html # bug 773482, 1140292 -skip-if(B2G) HTTP(..) == all-title.html all-title-ref.html # bug 773482 +skip-if(B2G||Mulet) fuzzy-if(cocoaWidget,250,15) HTTP(..) == all-upper.html all-upper-ref.html # bug 773482, 1140292 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) fuzzy-if(cocoaWidget,250,15) HTTP(..) == all-lower.html all-lower-ref.html # bug 773482, 1140292 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) HTTP(..) == all-title.html all-title-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == smtp-upper.html smtp-upper-ref.html == smtp-lower.html smtp-lower-ref.html == smtp-title.html smtp-title-ref.html diff --git a/layout/reftests/text/reftest.list b/layout/reftests/text/reftest.list index 23577cabf9..66811dce58 100644 --- a/layout/reftests/text/reftest.list +++ b/layout/reftests/text/reftest.list @@ -1,7 +1,7 @@ fails-if(Android||B2G) == fallback-01.xhtml fallback-01-ref.xhtml == font-selection-by-lang-01.html font-selection-by-lang-01-ref.html -skip-if(B2G) HTTP(..) == font-selection-fallback-1.html font-selection-fallback-1-ref.html -skip-if(B2G) HTTP(..) == font-selection-generic-1.html font-selection-generic-1-ref.html # bug 773482 +skip-if(B2G||Mulet) HTTP(..) == font-selection-fallback-1.html font-selection-fallback-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) HTTP(..) == font-selection-generic-1.html font-selection-generic-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop fails-if(Android||B2G) != font-size-adjust-01.html font-size-adjust-01-ref.html # The following test passes consistently only on Mac OS X; # both Windows and Linux give results that vary depending on the font size/zoom factor used, @@ -26,7 +26,7 @@ HTTP(..) load ligature-with-space-1.html == line-editing-1e.html line-editing-1-ref.html fails-if(cocoaWidget||winWidget) HTTP(..) == lineheight-metrics-1.html lineheight-metrics-1-ref.html # bug 657864 == lineheight-percentage-1.html lineheight-percentage-1-ref.html -skip-if(B2G) == long-1.html long-ref.html +skip-if(B2G||Mulet) == long-1.html long-ref.html # Initial mulet triage: parity with B2G/B2G Desktop fuzzy-if(Android,255,42) == pre-line-1.html pre-line-1-ref.html == pre-line-2.html pre-line-2-ref.html == pre-line-3.html pre-line-3-ref.html @@ -52,7 +52,7 @@ fails-if(Android) skip-if(d2d||cocoaWidget) == subpixel-glyphs-x-1a.html subpixe # subpixel. # D2D/DirectWrite results depend on the rendering mode chosen, so considering this as random for now. skip-if(!(d2d||cocoaWidget)) random-if(d2d) != subpixel-glyphs-x-2a.html subpixel-glyphs-x-2b.html -skip-if(B2G) HTTP(..) == subpixel-glyphs-x-3a.html subpixel-glyphs-x-3b.html +skip-if(B2G||Mulet) HTTP(..) == subpixel-glyphs-x-3a.html subpixel-glyphs-x-3b.html # Initial mulet triage: parity with B2G/B2G Desktop # No platforms do subpixel positioning vertically fuzzy-if(Android,19,2) == subpixel-glyphs-y-1a.html subpixel-glyphs-y-1b.html fuzzy-if((Android||B2G),231,653) == subpixel-lineheight-1a.html subpixel-lineheight-1b.html @@ -115,21 +115,21 @@ skip-if((Android&&(AndroidVersion==10||AndroidVersion==17))||(B2G&&browserIsRemo == wordbreak-4b.html wordbreak-4b-ref.html == wordbreak-5.html wordbreak-5-ref.html == wordbreak-6.html wordbreak-6-ref.html -skip-if(B2G) HTTP(..) == wordbreak-7a.html wordbreak-7a-ref.html +skip-if(B2G||Mulet) HTTP(..) == wordbreak-7a.html wordbreak-7a-ref.html # Initial mulet triage: parity with B2G/B2G Desktop fails HTTP(..) == wordbreak-7b.html wordbreak-7b-ref.html # bug 479829 == wordbreak-8.html wordbreak-8-ref.html pref(gfx.font_rendering.graphite.enabled,true) HTTP(..) == wordbreak-9.html wordbreak-9-ref.html == wordwrap-01.html wordwrap-01-ref.html HTTP(..) == wordwrap-02.html wordwrap-02-ref.html -skip-if(B2G) HTTP(..) == wordwrap-03.html wordwrap-03-ref.html +skip-if(B2G||Mulet) HTTP(..) == wordwrap-03.html wordwrap-03-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == wordwrap-04.html wordwrap-04-ref.html == wordwrap-05.html wordwrap-05-ref.html == wordwrap-06.html wordwrap-06-ref.html == wordwrap-07.html wordwrap-07-ref.html -skip-if(B2G) != wordwrap-08.html wordwrap-01-ref.html -skip-if(B2G) == wordwrap-08.html wordwrap-08-ref.html -skip-if(B2G) != wordwrap-09.html wordwrap-01-ref.html -skip-if(B2G) == wordwrap-09.html wordwrap-09-ref.html +skip-if(B2G||Mulet) != wordwrap-08.html wordwrap-01-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == wordwrap-08.html wordwrap-08-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) != wordwrap-09.html wordwrap-01-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == wordwrap-09.html wordwrap-09-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == wordwrap-10.html wordwrap-10-ref.html # bug 752459 == word-spacing-01.html word-spacing-01-ref.html # the following will fail when rendering with Core Text (see bug 389074) due to what appears to be @@ -142,8 +142,8 @@ HTTP(..) == zwnj-02.xhtml zwnj-02-ref.xhtml # HTTP(..) for ../filters.svg == 444656.html 444656-ref.html == 449555-1.html 449555-1-ref.html == 467722.html 467722-ref.html -skip-if(B2G) HTTP(..) == 475092-sub.html 475092-ref.html -fails-if(!winWidget&&!gtk2Widget) skip-if(B2G) HTTP(..) == 475092-pos.html 475092-sub.html # bug 482596 +skip-if(B2G||Mulet) HTTP(..) == 475092-sub.html 475092-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(!winWidget&&!gtk2Widget) skip-if(B2G||Mulet) HTTP(..) == 475092-pos.html 475092-sub.html # bug 482596 # Initial mulet triage: parity with B2G/B2G Desktop == 476378-soft-hyphen-fallback.html 476378-soft-hyphen-fallback-ref.html # Test for bug 484954 == rgba-text.html rgba-text-ref.html @@ -158,7 +158,7 @@ random-if(!winWidget) == arial-bold-lam-alef-1.html arial-bold-lam-alef-1-ref.ht # Fallback (presentation-forms) shaping with a font that lacks GSUB/GPOS # These tests are not valid with Mac or FT2 font backends because our masking of complex-script ranges # in the 'cmap' will prevent the test font (without GSUB) being used. -skip-if(B2G) fails-if(cocoaWidget||Android) HTTP(..) == arabic-fallback-1.html arabic-fallback-1-ref.html +skip-if(B2G||Mulet) fails-if(cocoaWidget||Android) HTTP(..) == arabic-fallback-1.html arabic-fallback-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop fails-if(cocoaWidget||Android||B2G) HTTP(..) == arabic-fallback-2.html arabic-fallback-2-ref.html fails-if(cocoaWidget||Android||B2G) HTTP(..) == arabic-fallback-3.html arabic-fallback-3-ref.html fails-if(!cocoaWidget&&!Android&&!B2G) HTTP(..) != arabic-fallback-4.html arabic-fallback-4-notref.html @@ -168,7 +168,7 @@ HTTP(..) != fallback-mark-stacking-1.html fallback-mark-stacking-1-notref.html == 726392-1.html 726392-1-ref.html == 726392-2.html 726392-2-ref.html -skip-if(B2G) == 726392-3.html 726392-3-ref.html +skip-if(B2G||Mulet) == 726392-3.html 726392-3-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == 745555-1.html 745555-1-ref.html == 745555-2.html 745555-2-ref.html == 820255.html 820255-ref.html diff --git a/layout/reftests/transform-3d/reftest.list b/layout/reftests/transform-3d/reftest.list index f1491735ee..c86b441861 100644 --- a/layout/reftests/transform-3d/reftest.list +++ b/layout/reftests/transform-3d/reftest.list @@ -19,7 +19,7 @@ == preserve3d-2c.html preserve3d-2-ref.html == preserve3d-2d.html preserve3d-2-ref.html == preserve3d-3a.html preserve3d-3-ref.html -skip-if(B2G) == preserve3d-4a.html green-rect.html +skip-if(B2G||Mulet) == preserve3d-4a.html green-rect.html # Initial mulet triage: parity with B2G/B2G Desktop fuzzy-if(Android&&AndroidVersion>=15,4,300) == preserve3d-5a.html preserve3d-5-ref.html == scale3d-z.html scalez-1-ref.html fuzzy-if(winWidget,102,580) fuzzy-if(d2d,143,681) fuzzy-if(OSX>=1008,224,924) == scale3d-all.html scale3d-1-ref.html # subpixel AA diff --git a/layout/reftests/transform/reftest.list b/layout/reftests/transform/reftest.list index 810dbd103e..baec017bcb 100644 --- a/layout/reftests/transform/reftest.list +++ b/layout/reftests/transform/reftest.list @@ -10,12 +10,12 @@ == dynamic-addremove-1b.html dynamic-addremove-1-ref.html == dynamic-addremove-1c.html dynamic-addremove-1-ref.html # translatex should act like position: relative -skip-if(B2G) == translatex-1a.html translatex-1-ref.html # bug 773482 -skip-if(B2G) == translatex-1b.html translatex-1-ref.html -skip-if(B2G) == translatex-1c.html translatex-1-ref.html -skip-if(B2G) == translatex-1d.html translatex-1-ref.html # bug 773482 -skip-if(B2G) == translatex-1e.html translatex-1-ref.html -skip-if(B2G) == translatex-1a.html translatex-1-ref-2.html +skip-if(B2G||Mulet) == translatex-1a.html translatex-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == translatex-1b.html translatex-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == translatex-1c.html translatex-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == translatex-1d.html translatex-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == translatex-1e.html translatex-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == translatex-1a.html translatex-1-ref-2.html # Initial mulet triage: parity with B2G/B2G Desktop # translatey should act like position: relative == translatey-1a.html translatey-1-ref.html == translatey-1b.html translatey-1-ref.html @@ -23,15 +23,15 @@ skip-if(B2G) == translatex-1a.html translatex-1-ref-2.html == translatey-1d.html translatey-1-ref.html == translatey-1e.html translatey-1-ref.html # matrices defined to be translations should act like position: relative -skip-if(B2G) == translatex-2.html translatex-1-ref.html # bug 773482 +skip-if(B2G||Mulet) == translatex-2.html translatex-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop == translatey-2.html translatey-1-ref.html # translate should act like position: relative -skip-if(B2G) != translate-1a.html translate-1-ref.html -skip-if(B2G) == translate-1b.html translate-1-ref.html -skip-if(B2G) == translate-1c.html translate-1-ref.html # bug 773482 -skip-if(B2G) == translate-1d.html translate-1-ref.html # bug 773482 -skip-if(B2G) == translate-1e.html translate-1-ref.html -skip-if(B2G) == translate-2a.html translate-2-ref.html +skip-if(B2G||Mulet) != translate-1a.html translate-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == translate-1b.html translate-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == translate-1c.html translate-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == translate-1d.html translate-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == translate-1e.html translate-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(B2G||Mulet) == translate-2a.html translate-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop # rotate: Several rotations of the same object should be idempotent. These # tests are currently disabled because of subpixel (< 0.00001 gfx units) # rounding errors. @@ -100,7 +100,7 @@ random == rotate-1f.html rotate-1-ref.html # ensure matrix 3d does not break us - should do nothing == matrix3d-1.html matrix3d-1-ref.html # Test that complex transform can be reversed -skip-if(B2G) == stresstest-1.html stresstest-1-ref.html # bug 773482 +skip-if(B2G||Mulet) == stresstest-1.html stresstest-1-ref.html # bug 773482 # Initial mulet triage: parity with B2G/B2G Desktop # Test scale transforms == scalex-1.html scalex-1-ref.html == scaley-1.html scaley-1-ref.html diff --git a/layout/reftests/w3c-css/submitted/css21/pagination/reftest.list b/layout/reftests/w3c-css/submitted/css21/pagination/reftest.list index 0cc3d95d7a..0d069f947e 100644 --- a/layout/reftests/w3c-css/submitted/css21/pagination/reftest.list +++ b/layout/reftests/w3c-css/submitted/css21/pagination/reftest.list @@ -22,13 +22,13 @@ == moz-css21-table-page-break-inside-avoid-7.html moz-css21-table-page-break-inside-avoid-7-ref.html == moz-css21-table-page-break-inside-avoid-8.html moz-css21-table-page-break-inside-avoid-6-ref.html == moz-css21-float-page-break-inside-avoid-1.html moz-css21-table-page-break-inside-avoid-ref.html -fails-if(B2G) == moz-css21-float-page-break-inside-avoid-2.html moz-css21-float-page-break-inside-avoid-2-ref.html +fails-if(B2G||Mulet) == moz-css21-float-page-break-inside-avoid-2.html moz-css21-float-page-break-inside-avoid-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == moz-css21-float-page-break-inside-avoid-3.html moz-css21-block-page-break-inside-avoid-ref.html == moz-css21-float-page-break-inside-avoid-4.html moz-css21-block-page-break-inside-avoid-ref.html == moz-css21-float-page-break-inside-avoid-5.html moz-css21-float-page-break-inside-avoid-5-ref.html == moz-css21-float-page-break-inside-avoid-6.html moz-css21-float-page-break-inside-avoid-6-ref.html == moz-css21-float-page-break-inside-avoid-7.html moz-css21-float-page-break-inside-avoid-7-ref.html -fails-if(B2G) == moz-css21-float-page-break-inside-avoid-8.html moz-css21-float-page-break-inside-avoid-8-ref.html +fails-if(B2G||Mulet) == moz-css21-float-page-break-inside-avoid-8.html moz-css21-float-page-break-inside-avoid-8-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == moz-css21-float-page-break-inside-avoid-9.html moz-css21-float-page-break-inside-avoid-9-ref.html == moz-css21-rowgroup-page-break-inside-avoid-1.html moz-css21-table-page-break-inside-avoid-ref.html == moz-css21-rowgroup-page-break-inside-avoid-2.html moz-css21-table-page-break-inside-avoid-ref.html diff --git a/layout/reftests/w3c-css/submitted/values3/reftest.list b/layout/reftests/w3c-css/submitted/values3/reftest.list index 9acf866e42..3ed7a33651 100644 --- a/layout/reftests/w3c-css/submitted/values3/reftest.list +++ b/layout/reftests/w3c-css/submitted/values3/reftest.list @@ -4,7 +4,7 @@ == calc-background-size-1.html calc-background-size-1-ref.html == calc-border-radius-1.html calc-border-radius-1-ref.html == calc-height-block-1.html calc-height-block-1-ref.html -skip-if(B2G) == calc-height-table-1.html calc-height-table-1-ref.html +skip-if(B2G||Mulet) == calc-height-table-1.html calc-height-table-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == calc-margin-block-1.html calc-margin-block-1-ref.html == calc-max-height-block-1.html calc-max-height-block-1-ref.html == calc-max-width-block-1.html calc-width-block-1-ref.html diff --git a/layout/reftests/webcomponents/reftest.list b/layout/reftests/webcomponents/reftest.list index 223fd3e9eb..a622d473eb 100644 --- a/layout/reftests/webcomponents/reftest.list +++ b/layout/reftests/webcomponents/reftest.list @@ -13,7 +13,7 @@ pref(dom.webcomponents.enabled,true) == nested-insertion-point-1.html nested-ins pref(dom.webcomponents.enabled,true) == basic-shadow-element-1.html basic-shadow-element-1-ref.html pref(dom.webcomponents.enabled,true) == nested-shadow-element-1.html nested-shadow-element-1-ref.html pref(dom.webcomponents.enabled,true) == update-dist-node-descendants-1.html update-dist-node-descendants-1-ref.html -pref(dom.webcomponents.enabled,true) random-if(B2G&&browserIsRemote) == input-transition-1.html input-transition-1-ref.html # Failure on B2G emulator due to Bug 1018381 +pref(dom.webcomponents.enabled,true) random-if((B2G&&browserIsRemote)||Mulet) == input-transition-1.html input-transition-1-ref.html # Failure on B2G emulator due to Bug 1018381 # Initial mulet triage: parity with B2G/B2G Desktop pref(dom.webcomponents.enabled,true) == dynamic-insertion-point-distribution-1.html dynamic-insertion-point-distribution-1-ref.html pref(dom.webcomponents.enabled,true) == dynamic-insertion-point-distribution-2.html dynamic-insertion-point-distribution-2-ref.html pref(dom.webcomponents.enabled,true) == remove-append-shadow-host-1.html remove-append-shadow-host-1-ref.html diff --git a/layout/reftests/webm-video/reftest.list b/layout/reftests/webm-video/reftest.list index b55f55d853..7ae409ee1d 100644 --- a/layout/reftests/webm-video/reftest.list +++ b/layout/reftests/webm-video/reftest.list @@ -1,38 +1,38 @@ # NOTE: bug 1084564 covers "fails"/"skip" annotations for b2g/android below: -fails-if(Android||B2G) HTTP(..) == aspect-ratio-1a.xhtml aspect-ratio-1-ref.html -fails-if(Android||B2G) HTTP(..) == aspect-ratio-1b.xhtml aspect-ratio-1-ref.html -fails-if(Android||B2G) skip-if(gtk2Widget) HTTP(..) == aspect-ratio-2a.xhtml aspect-ratio-2-ref.html -fails-if(Android||B2G) skip-if(gtk2Widget) HTTP(..) == aspect-ratio-2b.xhtml aspect-ratio-2-ref.html +fails-if(Android||B2G||Mulet) HTTP(..) == aspect-ratio-1a.xhtml aspect-ratio-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) HTTP(..) == aspect-ratio-1b.xhtml aspect-ratio-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) skip-if(gtk2Widget) HTTP(..) == aspect-ratio-2a.xhtml aspect-ratio-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) skip-if(gtk2Widget) HTTP(..) == aspect-ratio-2b.xhtml aspect-ratio-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop HTTP(..) == aspect-ratio-3a.xhtml aspect-ratio-3-ref.xhtml HTTP(..) == aspect-ratio-3b.xhtml aspect-ratio-3-ref.xhtml -fails-if(Android||B2G) random-if(layersGPUAccelerated) fails-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) == encoded-aspect-ratio-1.html encoded-aspect-ratio-1-ref.html # bug 623460 for WinXP -fails-if(Android||B2G) HTTP(..) == basic-1.xhtml basic-1-ref.html -skip-if(Android||B2G) HTTP(..) == canvas-1a.xhtml basic-1-ref.html -fails-if(Android||B2G) HTTP(..) == canvas-1b.xhtml basic-1-ref.html +fails-if(Android||B2G||Mulet) random-if(layersGPUAccelerated) fails-if(/^Windows\x20NT\x205\.1/.test(http.oscpu)) == encoded-aspect-ratio-1.html encoded-aspect-ratio-1-ref.html # bug 623460 for WinXP # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) HTTP(..) == basic-1.xhtml basic-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) HTTP(..) == canvas-1a.xhtml basic-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +fails-if(Android||B2G||Mulet) HTTP(..) == canvas-1b.xhtml basic-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop == clipping-1a.html clipping-1-ref.html == empty-1a.html empty-1-ref.html == empty-1b.html empty-1-ref.html #these is skipped because we hang on the htmlparser tests when this is ran -random skip-if(Android||B2G) HTTP(..) == object-aspect-ratio-1a.xhtml aspect-ratio-1-ref.html -random skip-if(Android||B2G) HTTP(..) == object-aspect-ratio-1b.xhtml aspect-ratio-1-ref.html -skip-if(Android||B2G) HTTP(..) == offset-1.xhtml offset-1-ref.html -random skip-if(Android||B2G) HTTP(..) == object-aspect-ratio-2a.xhtml aspect-ratio-2-ref.html -random skip-if(Android||B2G) HTTP(..) == object-aspect-ratio-2b.xhtml aspect-ratio-2-ref.html -skip-if(Android||B2G) skip-if(gtk2Widget) fuzzy-if(winWidget,1,56000) fuzzy-if(cocoaWidget,1,56000) HTTP(..) == zoomed-1.xhtml zoomed-1-ref.html # bug 778995 for fuzzy -skip-if(Android||B2G) == poster-1.html poster-ref-blue250x200.html -skip-if(Android||B2G) == poster-2.html poster-ref-black140x100.html -skip-if(Android||B2G) == poster-3.html poster-ref-black140x100.html -skip-if(Android||B2G) == poster-4.html poster-ref-black140x100.html -skip-if(Android||B2G) == poster-5.html poster-ref-black140x100.html -skip-if(Android||B2G) == poster-6.html poster-ref-black140x100.html -skip-if(Android||B2G) == poster-7.html poster-ref-red140x100.html -skip-if(Android||B2G) == poster-8.html poster-ref-black140x100.html -random skip-if(Android||B2G) == poster-10.html poster-ref-blue125x100.html -random skip-if(Android||B2G) == poster-11.html poster-ref-blue140x100.html -random skip-if(Android||B2G) == poster-12.html poster-ref-blue140x100.html -skip-if(Android||B2G) == poster-13.html poster-ref-blue400x300.html -skip-if(Android||B2G) == poster-15.html poster-ref-green70x30.html -random-if(winWidget) random-if(cocoaWidget) skip-if(Android||B2G) == bug686957.html bug686957-ref.html # bug 922951 for OS X +random skip-if(Android||B2G||Mulet) HTTP(..) == object-aspect-ratio-1a.xhtml aspect-ratio-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +random skip-if(Android||B2G||Mulet) HTTP(..) == object-aspect-ratio-1b.xhtml aspect-ratio-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) HTTP(..) == offset-1.xhtml offset-1-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +random skip-if(Android||B2G||Mulet) HTTP(..) == object-aspect-ratio-2a.xhtml aspect-ratio-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +random skip-if(Android||B2G||Mulet) HTTP(..) == object-aspect-ratio-2b.xhtml aspect-ratio-2-ref.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) skip-if(gtk2Widget) fuzzy-if(winWidget,1,56000) fuzzy-if(cocoaWidget,1,56000) HTTP(..) == zoomed-1.xhtml zoomed-1-ref.html # bug 778995 for fuzzy # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-1.html poster-ref-blue250x200.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-2.html poster-ref-black140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-3.html poster-ref-black140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-4.html poster-ref-black140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-5.html poster-ref-black140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-6.html poster-ref-black140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-7.html poster-ref-red140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-8.html poster-ref-black140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +random skip-if(Android||B2G||Mulet) == poster-10.html poster-ref-blue125x100.html # Initial mulet triage: parity with B2G/B2G Desktop +random skip-if(Android||B2G||Mulet) == poster-11.html poster-ref-blue140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +random skip-if(Android||B2G||Mulet) == poster-12.html poster-ref-blue140x100.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-13.html poster-ref-blue400x300.html # Initial mulet triage: parity with B2G/B2G Desktop +skip-if(Android||B2G||Mulet) == poster-15.html poster-ref-green70x30.html # Initial mulet triage: parity with B2G/B2G Desktop +random-if(winWidget) random-if(cocoaWidget) skip-if(Android||B2G||Mulet) == bug686957.html bug686957-ref.html # bug 922951 for OS X # Initial mulet triage: parity with B2G/B2G Desktop # Tests for