Bug 1594986 - Reset subdocument intrinsic size in UnloadObject. r=emilio
Differential Revision: https://phabricator.services.mozilla.com/D163071
This commit is contained in:
@@ -2023,6 +2023,9 @@ void nsObjectLoadingContent::UnloadObject(bool aResetState) {
|
||||
|
||||
// This call should be last as it may re-enter
|
||||
StopPluginInstance();
|
||||
|
||||
mSubdocumentIntrinsicSize.reset();
|
||||
mSubdocumentIntrinsicRatio.reset();
|
||||
}
|
||||
|
||||
void nsObjectLoadingContent::NotifyStateChanged(ObjectType aOldType,
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
<!doctype html>
|
||||
<meta charset=utf-8>
|
||||
<title>Intrinsic sizing of SVG embedded via <embed> should disappear on navigation</title>
|
||||
<script src=/resources/testharness.js></script>
|
||||
<script src=/resources/testharnessreport.js></script>
|
||||
<embed id="element" name="embed" src='data:image/svg+xml,
|
||||
<svg xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
viewBox="0 0 1000 1000"
|
||||
width="400"
|
||||
height="400"
|
||||
font-size="100">
|
||||
</svg>'></embed>
|
||||
<script>
|
||||
promise_test(async () => {
|
||||
await new Promise(resolve => {
|
||||
onload = resolve;
|
||||
});
|
||||
|
||||
assert_equals(element.scrollWidth, 400, "The width should be determined by the embedded SVG");
|
||||
assert_equals(element.scrollHeight, 400, "The height should be determined by the embedded SVG");
|
||||
|
||||
await new Promise(resolve => {
|
||||
element.onload = resolve;
|
||||
element.src = "about:blank";
|
||||
});
|
||||
|
||||
assert_equals(element.scrollWidth, 300, "The width should be the default");
|
||||
assert_equals(element.scrollHeight, 150, "The height should be the default");
|
||||
});
|
||||
</script>
|
||||
Reference in New Issue
Block a user