mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
4dab17b9d9
--HG-- rename : modules/plugin/test/Makefile.in => dom/plugins/test/Makefile.in rename : modules/plugin/test/crashtests/110650-1.html => dom/plugins/test/crashtests/110650-1.html rename : modules/plugin/test/crashtests/41276-1.html => dom/plugins/test/crashtests/41276-1.html rename : modules/plugin/test/crashtests/48856-1.html => dom/plugins/test/crashtests/48856-1.html rename : modules/plugin/test/crashtests/539897-1.html => dom/plugins/test/crashtests/539897-1.html rename : modules/plugin/test/crashtests/540114-1.html => dom/plugins/test/crashtests/540114-1.html rename : modules/plugin/test/crashtests/570884.html => dom/plugins/test/crashtests/570884.html rename : modules/plugin/test/crashtests/598862.html => dom/plugins/test/crashtests/598862.html rename : modules/plugin/test/crashtests/626602-1.html => dom/plugins/test/crashtests/626602-1.html rename : modules/plugin/test/crashtests/crashtests.list => dom/plugins/test/crashtests/crashtests.list rename : modules/plugin/test/mochitest/307-xo-redirect.sjs => dom/plugins/test/mochitest/307-xo-redirect.sjs rename : modules/plugin/test/mochitest/Makefile.in => dom/plugins/test/mochitest/Makefile.in rename : modules/plugin/test/mochitest/cocoa_focus.html => dom/plugins/test/mochitest/cocoa_focus.html rename : modules/plugin/test/mochitest/cocoa_window_focus.html => dom/plugins/test/mochitest/cocoa_window_focus.html rename : modules/plugin/test/mochitest/crashing_subpage.html => dom/plugins/test/mochitest/crashing_subpage.html rename : modules/plugin/test/mochitest/large-pic.jpg => dom/plugins/test/mochitest/large-pic.jpg rename : modules/plugin/test/mochitest/loremipsum.txt => dom/plugins/test/mochitest/loremipsum.txt rename : modules/plugin/test/mochitest/loremipsum.xtest => dom/plugins/test/mochitest/loremipsum.xtest rename : modules/plugin/test/mochitest/loremipsum.xtest^headers^ => dom/plugins/test/mochitest/loremipsum.xtest^headers^ rename : modules/plugin/test/mochitest/loremipsum_file.txt => dom/plugins/test/mochitest/loremipsum_file.txt rename : modules/plugin/test/mochitest/loremipsum_nocache.txt => dom/plugins/test/mochitest/loremipsum_nocache.txt rename : modules/plugin/test/mochitest/loremipsum_nocache.txt^headers^ => dom/plugins/test/mochitest/loremipsum_nocache.txt^headers^ rename : modules/plugin/test/mochitest/neverending.sjs => dom/plugins/test/mochitest/neverending.sjs rename : modules/plugin/test/mochitest/plugin_visibility_loader.html => dom/plugins/test/mochitest/plugin_visibility_loader.html rename : modules/plugin/test/mochitest/plugin_window.html => dom/plugins/test/mochitest/plugin_window.html rename : modules/plugin/test/mochitest/pluginstream.js => dom/plugins/test/mochitest/pluginstream.js rename : modules/plugin/test/mochitest/post.sjs => dom/plugins/test/mochitest/post.sjs rename : modules/plugin/test/mochitest/test_GCrace.html => dom/plugins/test/mochitest/test_GCrace.html rename : modules/plugin/test/mochitest/test_bug479979.xul => dom/plugins/test/mochitest/test_bug479979.xul rename : modules/plugin/test/mochitest/test_bug532208.html => dom/plugins/test/mochitest/test_bug532208.html rename : modules/plugin/test/mochitest/test_bug539565-1.html => dom/plugins/test/mochitest/test_bug539565-1.html rename : modules/plugin/test/mochitest/test_bug539565-2.html => dom/plugins/test/mochitest/test_bug539565-2.html rename : modules/plugin/test/mochitest/test_clear_site_data.html => dom/plugins/test/mochitest/test_clear_site_data.html rename : modules/plugin/test/mochitest/test_cocoa_focus.html => dom/plugins/test/mochitest/test_cocoa_focus.html rename : modules/plugin/test/mochitest/test_cocoa_window_focus.html => dom/plugins/test/mochitest/test_cocoa_window_focus.html rename : modules/plugin/test/mochitest/test_convertpoint.xul => dom/plugins/test/mochitest/test_convertpoint.xul rename : modules/plugin/test/mochitest/test_cookies.html => dom/plugins/test/mochitest/test_cookies.html rename : modules/plugin/test/mochitest/test_copyText.html => dom/plugins/test/mochitest/test_copyText.html rename : modules/plugin/test/mochitest/test_crash_nested_loop.html => dom/plugins/test/mochitest/test_crash_nested_loop.html rename : modules/plugin/test/mochitest/test_crash_notify.xul => dom/plugins/test/mochitest/test_crash_notify.xul rename : modules/plugin/test/mochitest/test_crash_notify_no_report.xul => dom/plugins/test/mochitest/test_crash_notify_no_report.xul rename : modules/plugin/test/mochitest/test_crash_submit.xul => dom/plugins/test/mochitest/test_crash_submit.xul rename : modules/plugin/test/mochitest/test_crashing.html => dom/plugins/test/mochitest/test_crashing.html rename : modules/plugin/test/mochitest/test_crashing2.html => dom/plugins/test/mochitest/test_crashing2.html rename : modules/plugin/test/mochitest/test_enumerate.html => dom/plugins/test/mochitest/test_enumerate.html rename : modules/plugin/test/mochitest/test_fullpage.html => dom/plugins/test/mochitest/test_fullpage.html rename : modules/plugin/test/mochitest/test_getauthenticationinfo.html => dom/plugins/test/mochitest/test_getauthenticationinfo.html rename : modules/plugin/test/mochitest/test_hanging.html => dom/plugins/test/mochitest/test_hanging.html rename : modules/plugin/test/mochitest/test_instantiation.html => dom/plugins/test/mochitest/test_instantiation.html rename : modules/plugin/test/mochitest/test_multipleinstanceobjects.html => dom/plugins/test/mochitest/test_multipleinstanceobjects.html rename : modules/plugin/test/mochitest/test_newstreamondestroy.html => dom/plugins/test/mochitest/test_newstreamondestroy.html rename : modules/plugin/test/mochitest/test_npn_asynccall.html => dom/plugins/test/mochitest/test_npn_asynccall.html rename : modules/plugin/test/mochitest/test_npn_timers.html => dom/plugins/test/mochitest/test_npn_timers.html rename : modules/plugin/test/mochitest/test_npobject_getters.html => dom/plugins/test/mochitest/test_npobject_getters.html rename : modules/plugin/test/mochitest/test_npruntime.xul => dom/plugins/test/mochitest/test_npruntime.xul rename : modules/plugin/test/mochitest/test_npruntime_construct.html => dom/plugins/test/mochitest/test_npruntime_construct.html rename : modules/plugin/test/mochitest/test_npruntime_identifiers.html => dom/plugins/test/mochitest/test_npruntime_identifiers.html rename : modules/plugin/test/mochitest/test_npruntime_npnevaluate.html => dom/plugins/test/mochitest/test_npruntime_npnevaluate.html rename : modules/plugin/test/mochitest/test_npruntime_npninvoke.html => dom/plugins/test/mochitest/test_npruntime_npninvoke.html rename : modules/plugin/test/mochitest/test_npruntime_npninvokedefault.html => dom/plugins/test/mochitest/test_npruntime_npninvokedefault.html rename : modules/plugin/test/mochitest/test_npruntime_npnsetexception.html => dom/plugins/test/mochitest/test_npruntime_npnsetexception.html rename : modules/plugin/test/mochitest/test_painting.html => dom/plugins/test/mochitest/test_painting.html rename : modules/plugin/test/mochitest/test_plugin_scroll_painting.html => dom/plugins/test/mochitest/test_plugin_scroll_painting.html rename : modules/plugin/test/mochitest/test_pluginstream_asfile.html => dom/plugins/test/mochitest/test_pluginstream_asfile.html rename : modules/plugin/test/mochitest/test_pluginstream_asfileonly.html => dom/plugins/test/mochitest/test_pluginstream_asfileonly.html rename : modules/plugin/test/mochitest/test_pluginstream_err.html => dom/plugins/test/mochitest/test_pluginstream_err.html rename : modules/plugin/test/mochitest/test_pluginstream_geturl.html => dom/plugins/test/mochitest/test_pluginstream_geturl.html rename : modules/plugin/test/mochitest/test_pluginstream_geturlnotify.html => dom/plugins/test/mochitest/test_pluginstream_geturlnotify.html rename : modules/plugin/test/mochitest/test_pluginstream_newstream.html => dom/plugins/test/mochitest/test_pluginstream_newstream.html rename : modules/plugin/test/mochitest/test_pluginstream_post.html => dom/plugins/test/mochitest/test_pluginstream_post.html rename : modules/plugin/test/mochitest/test_pluginstream_poststream.html => dom/plugins/test/mochitest/test_pluginstream_poststream.html rename : modules/plugin/test/mochitest/test_pluginstream_seek.html => dom/plugins/test/mochitest/test_pluginstream_seek.html rename : modules/plugin/test/mochitest/test_pluginstream_seek_close.html => dom/plugins/test/mochitest/test_pluginstream_seek_close.html rename : modules/plugin/test/mochitest/test_pluginstream_src.html => dom/plugins/test/mochitest/test_pluginstream_src.html rename : modules/plugin/test/mochitest/test_positioning.html => dom/plugins/test/mochitest/test_positioning.html rename : modules/plugin/test/mochitest/test_privatemode.xul => dom/plugins/test/mochitest/test_privatemode.xul rename : modules/plugin/test/mochitest/test_propertyAndMethod.html => dom/plugins/test/mochitest/test_propertyAndMethod.html rename : modules/plugin/test/mochitest/test_redirect_handling.html => dom/plugins/test/mochitest/test_redirect_handling.html rename : modules/plugin/test/mochitest/test_streamNotify.html => dom/plugins/test/mochitest/test_streamNotify.html rename : modules/plugin/test/mochitest/test_streamatclose.html => dom/plugins/test/mochitest/test_streamatclose.html rename : modules/plugin/test/mochitest/test_twostreams.html => dom/plugins/test/mochitest/test_twostreams.html rename : modules/plugin/test/mochitest/test_visibility.html => dom/plugins/test/mochitest/test_visibility.html rename : modules/plugin/test/mochitest/test_windowed_invalidate.html => dom/plugins/test/mochitest/test_windowed_invalidate.html rename : modules/plugin/test/mochitest/test_wmode.xul => dom/plugins/test/mochitest/test_wmode.xul rename : modules/plugin/test/mochitest/test_xulbrowser_plugin_visibility.xul => dom/plugins/test/mochitest/test_xulbrowser_plugin_visibility.xul rename : modules/plugin/test/mochitest/test_zero_opacity.html => dom/plugins/test/mochitest/test_zero_opacity.html rename : modules/plugin/test/mochitest/utils.js => dom/plugins/test/mochitest/utils.js rename : modules/plugin/test/mochitest/xulbrowser_plugin_visibility.xul => dom/plugins/test/mochitest/xulbrowser_plugin_visibility.xul rename : modules/plugin/test/reftest/border-padding-1-ref.html => dom/plugins/test/reftest/border-padding-1-ref.html rename : modules/plugin/test/reftest/border-padding-1.html => dom/plugins/test/reftest/border-padding-1.html rename : modules/plugin/test/reftest/border-padding-2-ref.html => dom/plugins/test/reftest/border-padding-2-ref.html rename : modules/plugin/test/reftest/border-padding-2.html => dom/plugins/test/reftest/border-padding-2.html rename : modules/plugin/test/reftest/border-padding-3-ref.html => dom/plugins/test/reftest/border-padding-3-ref.html rename : modules/plugin/test/reftest/border-padding-3.html => dom/plugins/test/reftest/border-padding-3.html rename : modules/plugin/test/reftest/div-alpha-opacity.html => dom/plugins/test/reftest/div-alpha-opacity.html rename : modules/plugin/test/reftest/div-alpha-zindex.html => dom/plugins/test/reftest/div-alpha-zindex.html rename : modules/plugin/test/reftest/div-sanity.html => dom/plugins/test/reftest/div-sanity.html rename : modules/plugin/test/reftest/plugin-alpha-opacity.html => dom/plugins/test/reftest/plugin-alpha-opacity.html rename : modules/plugin/test/reftest/plugin-alpha-zindex.html => dom/plugins/test/reftest/plugin-alpha-zindex.html rename : modules/plugin/test/reftest/plugin-background-1-step.html => dom/plugins/test/reftest/plugin-background-1-step.html rename : modules/plugin/test/reftest/plugin-background-10-step.html => dom/plugins/test/reftest/plugin-background-10-step.html rename : modules/plugin/test/reftest/plugin-background-2-step.html => dom/plugins/test/reftest/plugin-background-2-step.html rename : modules/plugin/test/reftest/plugin-background-5-step.html => dom/plugins/test/reftest/plugin-background-5-step.html rename : modules/plugin/test/reftest/plugin-background-ref.html => dom/plugins/test/reftest/plugin-background-ref.html rename : modules/plugin/test/reftest/plugin-background.css => dom/plugins/test/reftest/plugin-background.css rename : modules/plugin/test/reftest/plugin-background.html => dom/plugins/test/reftest/plugin-background.html rename : modules/plugin/test/reftest/plugin-background.js => dom/plugins/test/reftest/plugin-background.js rename : modules/plugin/test/reftest/plugin-busy-alpha-zindex.html => dom/plugins/test/reftest/plugin-busy-alpha-zindex.html rename : modules/plugin/test/reftest/plugin-canvas-alpha-zindex.html => dom/plugins/test/reftest/plugin-canvas-alpha-zindex.html rename : modules/plugin/test/reftest/plugin-sanity.html => dom/plugins/test/reftest/plugin-sanity.html rename : modules/plugin/test/reftest/plugin-transform-1-ref.html => dom/plugins/test/reftest/plugin-transform-1-ref.html rename : modules/plugin/test/reftest/plugin-transform-1.html => dom/plugins/test/reftest/plugin-transform-1.html rename : modules/plugin/test/reftest/plugin-transform-2-ref.html => dom/plugins/test/reftest/plugin-transform-2-ref.html rename : modules/plugin/test/reftest/plugin-transform-2.html => dom/plugins/test/reftest/plugin-transform-2.html rename : modules/plugin/test/reftest/plugin-transform-alpha-zindex.html => dom/plugins/test/reftest/plugin-transform-alpha-zindex.html rename : modules/plugin/test/reftest/pluginproblemui-direction-1-ref.html => dom/plugins/test/reftest/pluginproblemui-direction-1-ref.html rename : modules/plugin/test/reftest/pluginproblemui-direction-1.html => dom/plugins/test/reftest/pluginproblemui-direction-1.html rename : modules/plugin/test/reftest/pluginproblemui-direction-2-ref.html => dom/plugins/test/reftest/pluginproblemui-direction-2-ref.html rename : modules/plugin/test/reftest/pluginproblemui-direction-2.html => dom/plugins/test/reftest/pluginproblemui-direction-2.html rename : modules/plugin/test/reftest/reftest.list => dom/plugins/test/reftest/reftest.list rename : modules/plugin/test/reftest/windowless-clipping-1-ref.html => dom/plugins/test/reftest/windowless-clipping-1-ref.html rename : modules/plugin/test/reftest/windowless-clipping-1.html => dom/plugins/test/reftest/windowless-clipping-1.html rename : modules/plugin/test/testplugin/Info.plist => dom/plugins/test/testplugin/Info.plist rename : modules/plugin/test/testplugin/Makefile.in => dom/plugins/test/testplugin/Makefile.in rename : modules/plugin/test/testplugin/README => dom/plugins/test/testplugin/README rename : modules/plugin/test/testplugin/nptest.cpp => dom/plugins/test/testplugin/nptest.cpp rename : modules/plugin/test/testplugin/nptest.def => dom/plugins/test/testplugin/nptest.def rename : modules/plugin/test/testplugin/nptest.h => dom/plugins/test/testplugin/nptest.h rename : modules/plugin/test/testplugin/nptest.rc => dom/plugins/test/testplugin/nptest.rc rename : modules/plugin/test/testplugin/nptest_droid.cpp => dom/plugins/test/testplugin/nptest_droid.cpp rename : modules/plugin/test/testplugin/nptest_gtk2.cpp => dom/plugins/test/testplugin/nptest_gtk2.cpp rename : modules/plugin/test/testplugin/nptest_macosx.mm => dom/plugins/test/testplugin/nptest_macosx.mm rename : modules/plugin/test/testplugin/nptest_os2.cpp => dom/plugins/test/testplugin/nptest_os2.cpp rename : modules/plugin/test/testplugin/nptest_platform.h => dom/plugins/test/testplugin/nptest_platform.h rename : modules/plugin/test/testplugin/nptest_qt.cpp => dom/plugins/test/testplugin/nptest_qt.cpp rename : modules/plugin/test/testplugin/nptest_utils.cpp => dom/plugins/test/testplugin/nptest_utils.cpp rename : modules/plugin/test/testplugin/nptest_utils.h => dom/plugins/test/testplugin/nptest_utils.h rename : modules/plugin/test/testplugin/nptest_windows.cpp => dom/plugins/test/testplugin/nptest_windows.cpp rename : modules/plugin/test/unit/head_plugins.js => dom/plugins/test/unit/head_plugins.js rename : modules/plugin/test/unit/test_bug455213.js => dom/plugins/test/unit/test_bug455213.js rename : modules/plugin/test/unit/test_bug471245.js => dom/plugins/test/unit/test_bug471245.js
204 lines
7.9 KiB
HTML
204 lines
7.9 KiB
HTML
<html>
|
|
<head>
|
|
<title>NPAPI ClearSiteData/GetSitesWithData Functionality</title>
|
|
<script type="application/javascript" src="/MochiKit/packed.js"></script>
|
|
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
<script type="application/javascript" src="/tests/SimpleTest/PluginUtils.js"></script>
|
|
</head>
|
|
<body>
|
|
<embed id="plugin1" type="application/x-test" width="200" height="200"></embed>
|
|
|
|
<script class="testbody" type="application/javascript">
|
|
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
const pluginHostIface = Components.interfaces.nsIPluginHost;
|
|
var pluginHost = Components.classes["@mozilla.org/plugin/host;1"].
|
|
getService(pluginHostIface);
|
|
const FLAG_CLEAR_ALL = pluginHostIface.FLAG_CLEAR_ALL;
|
|
const FLAG_CLEAR_CACHE = pluginHostIface.FLAG_CLEAR_CACHE;
|
|
|
|
// Make sure clearing by timerange is supported.
|
|
var p = document.getElementById("plugin1");
|
|
p.setSitesWithDataCapabilities(true);
|
|
|
|
ok(PluginUtils.withTestPlugin(runTest), "Test plugin found");
|
|
|
|
function stored(needles) {
|
|
var something = pluginHost.siteHasData(this.pluginTag, null);
|
|
if (!needles)
|
|
return something;
|
|
|
|
if (!something)
|
|
return false;
|
|
|
|
for (var i = 0; i < needles.length; ++i) {
|
|
if (!pluginHost.siteHasData(this.pluginTag, needles[i]))
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
|
|
function checkThrows(fn, result) {
|
|
try {
|
|
fn();
|
|
throw new Error("bad exception");
|
|
} catch (e) {
|
|
is(e.result, result, "Correct exception thrown");
|
|
}
|
|
}
|
|
|
|
function runTest(pluginTag) {
|
|
netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');
|
|
|
|
this.pluginTag = pluginTag;
|
|
|
|
p.setSitesWithData(
|
|
"foo.com:0:5," +
|
|
"foo.com:0:7," +
|
|
"bar.com:0:10," +
|
|
"baz.com:0:10," +
|
|
"foo.com:1:7," +
|
|
"qux.com:1:5," +
|
|
"quz.com:1:8"
|
|
);
|
|
|
|
ok(stored(["foo.com","bar.com","baz.com","qux.com","quz.com"]),
|
|
"Data stored for sites");
|
|
|
|
// Clear nothing.
|
|
pluginHost.clearSiteData(pluginTag, null, FLAG_CLEAR_ALL, 4);
|
|
ok(stored(["foo.com","bar.com","baz.com","qux.com","quz.com"]),
|
|
"Data stored for sites");
|
|
|
|
pluginHost.clearSiteData(pluginTag, null, FLAG_CLEAR_CACHE, 4);
|
|
ok(stored(["foo.com","bar.com","baz.com","qux.com","quz.com"]),
|
|
"Data stored for sites");
|
|
|
|
// Clear cache data 5 seconds or older.
|
|
pluginHost.clearSiteData(pluginTag, null, FLAG_CLEAR_CACHE, 5);
|
|
ok(stored(["foo.com","bar.com","baz.com","quz.com"]),
|
|
"Data stored for sites");
|
|
ok(!stored(["qux.com"]), "Data cleared for qux.com");
|
|
|
|
// Clear cache data for foo.com, but leave non-cache data.
|
|
pluginHost.clearSiteData(pluginTag, "foo.com", FLAG_CLEAR_CACHE, 20);
|
|
ok(stored(["foo.com","bar.com","baz.com","quz.com"]),
|
|
"Data stored for sites");
|
|
|
|
// Clear all data 7 seconds or older.
|
|
pluginHost.clearSiteData(pluginTag, null, FLAG_CLEAR_ALL, 7);
|
|
ok(stored(["bar.com","baz.com","quz.com"]), "Data stored for sites");
|
|
ok(!stored(["foo.com"]), "Data cleared for foo.com");
|
|
ok(!stored(["qux.com"]), "Data cleared for qux.com");
|
|
|
|
// Clear all cache data.
|
|
pluginHost.clearSiteData(pluginTag, null, FLAG_CLEAR_CACHE, 20);
|
|
ok(stored(["bar.com","baz.com"]), "Data stored for sites");
|
|
ok(!stored(["quz.com"]), "Data cleared for quz.com");
|
|
|
|
// Clear all data for bar.com.
|
|
pluginHost.clearSiteData(pluginTag, "bar.com", FLAG_CLEAR_ALL, 20);
|
|
ok(stored(["baz.com"]), "Data stored for baz.com");
|
|
ok(!stored(["bar.com"]), "Data cleared for bar.com");
|
|
|
|
// Disable clearing by age.
|
|
p.setSitesWithDataCapabilities(false);
|
|
|
|
// Attempt to clear data by age.
|
|
checkThrows(function() {
|
|
pluginHost.clearSiteData(pluginTag, null, FLAG_CLEAR_ALL, 20);
|
|
}, Components.results.NS_ERROR_PLUGIN_TIME_RANGE_NOT_SUPPORTED);
|
|
|
|
checkThrows(function() {
|
|
pluginHost.clearSiteData(pluginTag, null, FLAG_CLEAR_CACHE, 20);
|
|
}, Components.results.NS_ERROR_PLUGIN_TIME_RANGE_NOT_SUPPORTED);
|
|
|
|
checkThrows(function() {
|
|
pluginHost.clearSiteData(pluginTag, "baz.com", FLAG_CLEAR_ALL, 20);
|
|
}, Components.results.NS_ERROR_PLUGIN_TIME_RANGE_NOT_SUPPORTED);
|
|
|
|
checkThrows(function() {
|
|
pluginHost.clearSiteData(pluginTag, "baz.com", FLAG_CLEAR_CACHE, 20);
|
|
}, Components.results.NS_ERROR_PLUGIN_TIME_RANGE_NOT_SUPPORTED);
|
|
|
|
// Clear cache for baz.com and globally for all ages.
|
|
pluginHost.clearSiteData(pluginTag, "baz.com", FLAG_CLEAR_CACHE, -1);
|
|
pluginHost.clearSiteData(pluginTag, null, FLAG_CLEAR_CACHE, -1);
|
|
|
|
// Check that all of the above were no-ops.
|
|
ok(stored(["baz.com"]), "Data stored for baz.com");
|
|
|
|
// Clear everything for baz.com.
|
|
pluginHost.clearSiteData(pluginTag, "baz.com", FLAG_CLEAR_ALL, -1);
|
|
ok(!stored(["baz.com"]), "Data cleared for baz.com");
|
|
ok(!stored(null), "All data cleared");
|
|
|
|
// Set data to test subdomains, IP literals, and 'localhost'-like hosts.
|
|
p.setSitesWithData(
|
|
"foo.com:0:0," +
|
|
"bar.foo.com:0:0," +
|
|
"baz.foo.com:0:0," +
|
|
"bar.com:0:0," +
|
|
"[192.168.1.1]:0:0," +
|
|
"localhost:0:0"
|
|
);
|
|
|
|
ok(stored(["foo.com","nonexistent.foo.com","bar.com","192.168.1.1","localhost"]),
|
|
"Data stored for sites");
|
|
|
|
// Clear data for "foo.com" and its subdomains.
|
|
pluginHost.clearSiteData(pluginTag, "foo.com", FLAG_CLEAR_ALL, -1);
|
|
ok(stored(["bar.com","192.168.1.1","localhost"]), "Data stored for sites");
|
|
ok(!stored(["foo.com"]), "Data cleared for foo.com");
|
|
ok(!stored(["bar.foo.com"]), "Data cleared for subdomains of foo.com");
|
|
|
|
// Clear data for "bar.com" using a subdomain.
|
|
pluginHost.clearSiteData(pluginTag, "foo.bar.com", FLAG_CLEAR_ALL, -1);
|
|
ok(!stored(["bar.com"]), "Data cleared for bar.com");
|
|
|
|
// Clear data for "192.168.1.1".
|
|
pluginHost.clearSiteData(pluginTag, "192.168.1.1", FLAG_CLEAR_ALL, -1);
|
|
ok(!stored(["192.168.1.1"]), "Data cleared for 192.168.1.1");
|
|
|
|
// Clear data for "localhost".
|
|
pluginHost.clearSiteData(pluginTag, "localhost", FLAG_CLEAR_ALL, -1);
|
|
ok(!stored(null), "All data cleared");
|
|
|
|
// Set data to test international domains.
|
|
p.setSitesWithData(
|
|
"b\u00FCcher.es:0:0," +
|
|
"b\u00FCcher.uk:0:0," +
|
|
"xn--bcher-kva.NZ:0:0"
|
|
);
|
|
|
|
// Check that both the ACE and UTF-8 representations register.
|
|
ok(stored(["b\u00FCcher.es","xn--bcher-kva.es","b\u00FCcher.uk","xn--bcher-kva.uk"]),
|
|
"Data stored for sites");
|
|
|
|
// Clear data for the UTF-8 version.
|
|
pluginHost.clearSiteData(pluginTag, "b\u00FCcher.es", FLAG_CLEAR_ALL, -1);
|
|
ok(!stored(["b\u00FCcher.es"]), "Data cleared for UTF-8 representation");
|
|
ok(!stored(["xn--bcher-kva.es"]), "Data cleared for ACE representation");
|
|
|
|
// Clear data for the ACE version.
|
|
pluginHost.clearSiteData(pluginTag, "xn--bcher-kva.uk", FLAG_CLEAR_ALL, -1);
|
|
ok(!stored(["b\u00FCcher.uk"]), "Data cleared for UTF-8 representation");
|
|
ok(!stored(["xn--bcher-kva.uk"]), "Data cleared for ACE representation");
|
|
|
|
// The NPAPI spec requires that the plugin report sites in normalized
|
|
// UTF-8. We do happen to normalize the result anyway, so while that's not
|
|
// strictly required, we test it here.
|
|
ok(stored(["b\u00FCcher.nz","xn--bcher-kva.nz"]),
|
|
"Data stored for sites");
|
|
pluginHost.clearSiteData(pluginTag, "b\u00FCcher.nz", FLAG_CLEAR_ALL, -1);
|
|
ok(!stored(["b\u00FCcher.nz"]), "Data cleared for UTF-8 representation");
|
|
ok(!stored(["xn--bcher-kva.nz"]), "Data cleared for ACE representation");
|
|
ok(!stored(null), "All data cleared");
|
|
|
|
SimpleTest.finish();
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|