summaryrefslogtreecommitdiffstats
path: root/chrome/test/data/npapi
diff options
context:
space:
mode:
authorwez@chromium.org <wez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-06 17:48:25 +0000
committerwez@chromium.org <wez@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-06 17:48:25 +0000
commit0c2a2f543db364b6575a58ce7f3b9da1ad38c7ac (patch)
treefe4f0b725ddd687c168f9d01ad80f2d4987eb344 /chrome/test/data/npapi
parente4939783eecea0c43eed8b46b8347dcaf9bd03a2 (diff)
downloadchromium_src-0c2a2f543db364b6575a58ce7f3b9da1ad38c7ac.zip
chromium_src-0c2a2f543db364b6575a58ce7f3b9da1ad38c7ac.tar.gz
chromium_src-0c2a2f543db364b6575a58ce7f3b9da1ad38c7ac.tar.bz2
Add DeletePluginInDeallocate UI test.
BUG=94179 TEST= Review URL: http://codereview.chromium.org/7806020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@99762 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/test/data/npapi')
-rw-r--r--chrome/test/data/npapi/plugin_delete_in_deallocate.html55
1 files changed, 55 insertions, 0 deletions
diff --git a/chrome/test/data/npapi/plugin_delete_in_deallocate.html b/chrome/test/data/npapi/plugin_delete_in_deallocate.html
new file mode 100644
index 0000000..4904469
--- /dev/null
+++ b/chrome/test/data/npapi/plugin_delete_in_deallocate.html
@@ -0,0 +1,55 @@
+<html>
+<head>
+<script src="npapi.js"></script>
+<script>
+function setTestObject(object) {
+ window.testObject = object;
+ setTimeout("deleteTestObject()", 0);
+ var statusPanel = document.getElementById("statusPanel");
+ statusPanel.innerText = "Received test object...";
+}
+
+function deleteTestObject() {
+ window.testObject = null;
+ var statusPanel = document.getElementById("statusPanel");
+ statusPanel.innerText = "Deleted test object...";
+ gc();
+}
+
+function deletePlugin() {
+ var statusPanel = document.getElementById("statusPanel");
+ statusPanel.innerText = "Deleting plugin...";
+ var plugin = document.getElementById("delete_plugin_in_deallocate_test");
+ if (plugin.parentNode && plugin.parentNode.removeChild) {
+ plugin.parentNode.removeChild(plugin);
+ }
+}
+</script>
+</head>
+
+<body>
+<div id="statusPanel" style="border: 1px solid red; width: 100%">
+Test running....
+</div>
+
+NPObject Delete in Deallocate<p>
+
+Tests the case where deallocation of an NPObject belonging to the plugin
+triggers scripting which causes the whole plugin to be torn down, and verifies
+that the object being deallocated is not deallocated a second time.
+
+
+<embed type="application/vnd.npapi-test"
+ src="foo"
+ name="delete_plugin_in_deallocate_test"
+ id="signaller"
+ mode="np_embed">
+
+<embed type="application/vnd.npapi-test"
+ src="foo"
+ name="delete_plugin_in_deallocate_test"
+ id="delete_plugin_in_deallocate_test"
+ mode="np_embed">
+
+</body>
+</html>