blob: 4ca29ca30afd3f0db3567da6bffbb28956cec221 [file] [edit]
<!DOCTYPE html> <!-- webkit-test-runner [ SpatialPortalEnabled=true ModelElementEnabled=true ModelProcessEnabled=true allowTestOnlyIPC=true ] -->
<html>
<head>
<script src="../resources/testharness.js"></script>
<script src="../resources/testharnessreport.js"></script>
<script src="../resources/ui-helper.js"></script>
<style>
/* `spatial: portal` needs a box to establish a portal. These do not have one. */
#inline-portal { spatial: portal; }
#contents-portal { spatial: portal; display: contents; }
</style>
<body>
<span id="inline-portal">
<model id="inline-model"><source src="../model-element/resources/cube.usdz"></model>
</span>
<div id="contents-portal">
<model id="contents-model"><source src="../model-element/resources/cube.usdz"></model>
</div>
<script>
'use strict';
window.internals?.disableModelLoadDelaysForTesting();
for (const [portalID, modelID, description] of [
["inline-portal", "inline-model", "an inline"],
["contents-portal", "contents-model", "a display: contents"],
]) {
promise_test(async t => {
const portal = document.getElementById(portalID);
const model = document.getElementById(modelID);
await model.ready;
await UIHelper.ensureStablePresentationUpdate();
assert_false(internals.establishesSpatialPortal(portal), "the element establishes no portal");
assert_equals(internals.numberOfHostedModelsInSpatialPortal(portal), 0, "no model is delegated to it");
assert_greater_than(model.getBoundingClientRect().width, 0, "the <model> renders standalone");
}, `A <model> inside ${description} spatial: portal renders standalone`);
}
</script>
</body>
</html>