mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-15 14:25:52 +00:00
Bug 888864 - Changing a stylesheet ProcessingInstruction's data no longer applies immediately. r=bz
This commit is contained in:
parent
3f1e30d22d
commit
9579813b7a
@ -46,6 +46,7 @@ public:
|
|||||||
|
|
||||||
// nsIDOMCharacterData
|
// nsIDOMCharacterData
|
||||||
NS_FORWARD_NSIDOMCHARACTERDATA(nsGenericDOMDataNode::)
|
NS_FORWARD_NSIDOMCHARACTERDATA(nsGenericDOMDataNode::)
|
||||||
|
using nsGenericDOMDataNode::SetData; // Prevent hiding overloaded virtual function.
|
||||||
|
|
||||||
// nsIDOMComment
|
// nsIDOMComment
|
||||||
// Empty interface
|
// Empty interface
|
||||||
|
@ -169,7 +169,7 @@ public:
|
|||||||
|
|
||||||
// WebIDL API
|
// WebIDL API
|
||||||
// Our XPCOM GetData is just fine for WebIDL
|
// Our XPCOM GetData is just fine for WebIDL
|
||||||
void SetData(const nsAString& aData, mozilla::ErrorResult& rv)
|
virtual void SetData(const nsAString& aData, mozilla::ErrorResult& rv)
|
||||||
{
|
{
|
||||||
rv = SetData(aData);
|
rv = SetData(aData);
|
||||||
}
|
}
|
||||||
|
@ -53,6 +53,7 @@ public:
|
|||||||
|
|
||||||
// nsIDOMCharacterData
|
// nsIDOMCharacterData
|
||||||
NS_FORWARD_NSIDOMCHARACTERDATA(nsGenericDOMDataNode::)
|
NS_FORWARD_NSIDOMCHARACTERDATA(nsGenericDOMDataNode::)
|
||||||
|
using nsGenericDOMDataNode::SetData; // Prevent hiding overloaded virtual function.
|
||||||
|
|
||||||
// nsIDOMText
|
// nsIDOMText
|
||||||
NS_FORWARD_NSIDOMTEXT(nsGenericDOMDataNode::)
|
NS_FORWARD_NSIDOMTEXT(nsGenericDOMDataNode::)
|
||||||
|
@ -638,6 +638,7 @@ MOCHITEST_FILES_C= \
|
|||||||
test_bug890580.html \
|
test_bug890580.html \
|
||||||
test_declare_stylesheet_obsolete.html \
|
test_declare_stylesheet_obsolete.html \
|
||||||
variable_style_sheet.sjs \
|
variable_style_sheet.sjs \
|
||||||
|
test_processing_instruction_update_stylesheet.xhtml \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
# OOP tests don't work on Windows (bug 763081) or native-fennec
|
# OOP tests don't work on Windows (bug 763081) or native-fennec
|
||||||
|
@ -0,0 +1,46 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<?xml-stylesheet href="data:text/css;charset=UTF-8,p{color:red}" type="text/css"?>
|
||||||
|
<!DOCTYPE html
|
||||||
|
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||||
|
"DTD/xhtml1-strict.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
||||||
|
<!--
|
||||||
|
https://bugzilla.mozilla.org/show_bug.cgi?id=888864
|
||||||
|
-->
|
||||||
|
<head>
|
||||||
|
<title>Test for Bug 888864</title>
|
||||||
|
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
||||||
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
||||||
|
<script type="application/javascript">
|
||||||
|
<![CDATA[
|
||||||
|
|
||||||
|
/** Test for Bug 888864 **/
|
||||||
|
SimpleTest.waitForExplicitFinish();
|
||||||
|
|
||||||
|
function changeColorAndRun(callback) {
|
||||||
|
var piNode = document.firstChild;
|
||||||
|
piNode.data = 'href="data:text/css;charset=UTF-8,p{color:green}" type="text/css"';
|
||||||
|
piNode.addEventListener("load", callback);
|
||||||
|
}
|
||||||
|
|
||||||
|
function runTest() {
|
||||||
|
var previousColor = window.getComputedStyle(document.getElementById("display")).
|
||||||
|
getPropertyValue("color");
|
||||||
|
changeColorAndRun(function() {
|
||||||
|
var afterChange = window.getComputedStyle(document.getElementById("display")).
|
||||||
|
getPropertyValue("color");
|
||||||
|
isnot(previousColor, afterChange,
|
||||||
|
"Color of the p element should change.");
|
||||||
|
SimpleTest.finish();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
]]>
|
||||||
|
</script>
|
||||||
|
</head>
|
||||||
|
<body onload="runTest();">
|
||||||
|
<p id="display">This changes color</p>
|
||||||
|
<a target="_blank" href="https://bugzilla.mozilla.org/show_bug.cgi?id=888864">Mozilla Bug 888864</a>
|
||||||
|
<pre id="test">
|
||||||
|
</pre>
|
||||||
|
</body>
|
||||||
|
</html>
|
@ -48,6 +48,7 @@ public:
|
|||||||
|
|
||||||
// nsIDOMCharacterData
|
// nsIDOMCharacterData
|
||||||
NS_FORWARD_NSIDOMCHARACTERDATA(nsGenericDOMDataNode::)
|
NS_FORWARD_NSIDOMCHARACTERDATA(nsGenericDOMDataNode::)
|
||||||
|
using nsGenericDOMDataNode::SetData; // Prevent hiding overloaded virtual function.
|
||||||
|
|
||||||
// nsIDOMText
|
// nsIDOMText
|
||||||
NS_FORWARD_NSIDOMTEXT(nsGenericDOMDataNode::)
|
NS_FORWARD_NSIDOMTEXT(nsGenericDOMDataNode::)
|
||||||
|
@ -30,6 +30,7 @@ public:
|
|||||||
|
|
||||||
// nsIDOMCharacterData
|
// nsIDOMCharacterData
|
||||||
NS_FORWARD_NSIDOMCHARACTERDATA(nsGenericDOMDataNode::)
|
NS_FORWARD_NSIDOMCHARACTERDATA(nsGenericDOMDataNode::)
|
||||||
|
using nsGenericDOMDataNode::SetData; // Prevent hiding overloaded virtual function.
|
||||||
|
|
||||||
// nsIDOMProcessingInstruction
|
// nsIDOMProcessingInstruction
|
||||||
NS_DECL_NSIDOMPROCESSINGINSTRUCTION
|
NS_DECL_NSIDOMPROCESSINGINSTRUCTION
|
||||||
|
@ -63,6 +63,17 @@ public:
|
|||||||
// nsStyleLinkElement
|
// nsStyleLinkElement
|
||||||
NS_IMETHOD GetCharset(nsAString& aCharset) MOZ_OVERRIDE;
|
NS_IMETHOD GetCharset(nsAString& aCharset) MOZ_OVERRIDE;
|
||||||
|
|
||||||
|
virtual void SetData(const nsAString& aData, mozilla::ErrorResult& rv) MOZ_OVERRIDE
|
||||||
|
{
|
||||||
|
nsGenericDOMDataNode::SetData(aData, rv);
|
||||||
|
if (rv.Failed()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
UpdateStyleSheetInternal(nullptr, true);
|
||||||
|
}
|
||||||
|
using nsGenericDOMDataNode::SetData; // Prevent hiding overloaded virtual function.
|
||||||
|
using ProcessingInstruction::SetData;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
nsCOMPtr<nsIURI> mOverriddenBaseURI;
|
nsCOMPtr<nsIURI> mOverriddenBaseURI;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user