зеркало из https://github.com/mozilla/gecko-dev.git
44 строки
1.7 KiB
JavaScript
44 строки
1.7 KiB
JavaScript
var theTab;
|
|
var theBrowser;
|
|
|
|
function listener(evt) {
|
|
if (evt.target == theBrowser.contentDocument) {
|
|
doTest();
|
|
}
|
|
}
|
|
|
|
function test() {
|
|
waitForExplicitFinish();
|
|
var testURL = getRootDirectory(gTestPath) + "newtab_share_rule_processors.html";
|
|
theTab = BrowserTestUtils.addTab(gBrowser, testURL);
|
|
theBrowser = gBrowser.getBrowserForTab(theTab);
|
|
theBrowser.addEventListener("load", listener, true);
|
|
}
|
|
|
|
function doTest() {
|
|
theBrowser.removeEventListener("load", listener, true);
|
|
var winUtils = theBrowser.contentWindow
|
|
.QueryInterface(Ci.nsIInterfaceRequestor)
|
|
.getInterface(Ci.nsIDOMWindowUtils);
|
|
if (winUtils.isStyledByServo) {
|
|
todo(false, "should update this test to check that Servo is also " +
|
|
"correctly sharing CascadeData");
|
|
} else {
|
|
// The initial set of agent-level sheets should have a rule processor that's
|
|
// also being used by another document.
|
|
ok(winUtils.hasRuleProcessorUsedByMultipleStyleSets(Ci.nsIStyleSheetService.AGENT_SHEET),
|
|
"agent sheet rule processor is used by multiple style sets");
|
|
// Document-level sheets currently never get shared rule processors.
|
|
ok(!winUtils.hasRuleProcessorUsedByMultipleStyleSets(Ci.nsIStyleSheetService.AUTHOR_SHEET),
|
|
"author sheet rule processor is not used by multiple style sets");
|
|
// Adding a unique style sheet to the agent level will cause it to have a
|
|
// rule processor that is unique.
|
|
theBrowser.contentWindow.wrappedJSObject.addAgentSheet();
|
|
ok(!winUtils.hasRuleProcessorUsedByMultipleStyleSets(Ci.nsIStyleSheetService.AGENT_SHEET),
|
|
"agent sheet rule processor is not used by multiple style sets after " +
|
|
"having a unique sheet added to it");
|
|
}
|
|
gBrowser.removeTab(theTab);
|
|
finish();
|
|
}
|