WebKit Bugzilla
Attachment 369933 Details for
Bug 197908
: resize-observer/element-leak.html fails on Windows platform
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Test case
gc-002.diff (text/plain), 3.10 KB, created by
cathiechen
on 2019-05-15 00:35:15 PDT
(
hide
)
Description:
Test case
Filename:
MIME Type:
Creator:
cathiechen
Created:
2019-05-15 00:35:15 PDT
Size:
3.10 KB
patch
obsolete
>diff --git a/LayoutTests/resize-observer/element-leak-002-expected.txt b/LayoutTests/resize-observer/element-leak-002-expected.txt >new file mode 100644 >index 00000000000..e5b31109db6 >--- /dev/null >+++ b/LayoutTests/resize-observer/element-leak-002-expected.txt >@@ -0,0 +1,3 @@ >+ >+PASS test0: Test elements leak >+ >diff --git a/LayoutTests/resize-observer/element-leak-002.html b/LayoutTests/resize-observer/element-leak-002.html >new file mode 100644 >index 00000000000..65fb62a22ac >--- /dev/null >+++ b/LayoutTests/resize-observer/element-leak-002.html >@@ -0,0 +1,64 @@ >+<!DOCTYPE html> >+<html> >+<meta name="timeout" content="long"> >+<head> >+<script src="../resources/testharness.js"></script> >+<script src="../resources/testharnessreport.js"></script> >+<script src="../resources/gc.js"></script> >+</head> >+<body> >+<div id="mylog"></div> >+<iframe id="testFrame" src="resources/element-leak-frame-2.html"></iframe> >+<script> >+if (window.testRunner) >+ testRunner.dumpAsText(); >+ >+var testresult; >+ >+function documentShouldDie(documentIdentifier) >+{ >+ return new Promise(function(resolve, reject) { >+ handle = setInterval(function() { >+ gc(); >+ if (internals && !internals.isDocumentAlive(documentIdentifier)) { >+ clearInterval(handle); >+ resolve(); >+ testresult = true; >+ } >+ }, 10); >+ }); >+} >+ >+function test0() { >+ let test = async_test('test0: Test elements leak'); >+ window.addEventListener('message', event => { >+ switch(event.data) { >+ case 'Notified': >+ test.step( () => { >+ var testFrame = document.getElementById("testFrame"); >+ let frameDocumentIdentifier = internals.documentIdentifier(testFrame.contentDocument); >+ testFrame.remove(); >+ documentShouldDie(frameDocumentIdentifier).then(function() { >+ assert_true(testresult, 'element leaking'); >+ test.done(); >+ }); >+ >+ }); >+ break; >+ } >+ }, false); >+ >+ test.step_timeout(() => { >+ testresult = false; >+ assert_true(testresult, 'element leaking, with live node: ' + `${internals.numberOfLiveNodes()}`); >+ log('timeout: '); >+ test.done(); >+ }, 5000); >+} >+ >+ >+test0(); >+ >+</script> >+</body> >+</html> >diff --git a/LayoutTests/resize-observer/resources/element-leak-frame-2.html b/LayoutTests/resize-observer/resources/element-leak-frame-2.html >new file mode 100644 >index 00000000000..b17bb7b9ce0 >--- /dev/null >+++ b/LayoutTests/resize-observer/resources/element-leak-frame-2.html >@@ -0,0 +1,22 @@ >+<body></body> >+<script src="../../resources/gc.js"></script> >+ >+<script type="text/javascript"> >+ >+const targetCount = 1000; >+for (let i = 0; i < targetCount; ++i) { >+ var target = document.createElement('div'); >+ document.body.appendChild(target); >+} >+ >+function removeElement() { >+ document.querySelectorAll('div').forEach(target => { >+ target.remove(); >+ }); >+ gc(); >+ parent.postMessage('Notified', '*') >+} >+ >+setTimeout('removeElement()', 10); >+ >+</script> >\ No newline at end of file
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 197908
:
369932
|
369933
|
369948
|
369954
|
370042
|
370045
|
371578
|
371595
|
371597
|
371645
|
371650