Reviewed by Hyatt.
Test case for <rdar://problem/
4068375> Flash inserted via innerHTML Fails to Show when
CSS Display Style is Toggled via Javascript
* plugins/inner-html-display-none.html: Added.
* plugins/inner-html-display-none-expected.txt: Added.
WebCore:
Reviewed by Hyatt.
<rdar://problem/
4068375> Flash inserted via innerHTML Fails to Show when CSS Display
Style is Toggled via Javascript
* html/html_objectimpl.cpp:
(WebCore::HTMLObjectElement::setComplete):
Set needWidgetUpdate when finished parsing, even if the object element is not in
a document. That way, when the element attaches to a document, it will update its
widget (creating the plug-in view if necessary). This is important when the object
is being inserted via setInnerHTML, since the parsed nodes are not added to the
document until the whole HTML string is parsed.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@14082
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2006-04-25 Tim Omernick <timo@apple.com>
+
+ Reviewed by Hyatt.
+
+ Test case for <rdar://problem/4068375> Flash inserted via innerHTML Fails to Show when
+ CSS Display Style is Toggled via Javascript
+
+ * plugins/inner-html-display-none.html: Added.
+ * plugins/inner-html-display-none-expected.txt: Added.
+
2006-04-26 Justin Garcia <justin.garcia@apple.com>
Reviewed by hyatt
--- /dev/null
+ALERT:
+function testCallback() {
+ [native code]
+}
+
+
--- /dev/null
+<html>
+<head>
+<script>
+ if (window.layoutTestController) {
+ layoutTestController.dumpAsText();
+ layoutTestController.waitUntilDone();
+ }
+
+ function printResults()
+ {
+ alert(document.getElementById("plugin").testCallback);
+
+ if (window.layoutTestController)
+ layoutTestController.notifyDone();
+ }
+
+ function setPlugin()
+ {
+ var pluginDiv = document.getElementById("pluginDiv");
+ pluginDiv.style.display = 'inline';
+ pluginDiv.innerHTML = '<object id="plugin" width="300" height="300" type="application/x-webkit-test-netscape"/>';
+ setTimeout("printResults()", 1);
+ }
+</script>
+</head>
+<body onload="setPlugin();">
+ <div id="pluginDiv" style="display: none;"></div>
+</body>
+</html>
+2006-04-26 Tim Omernick <timo@apple.com>
+
+ Reviewed by Hyatt.
+
+ <rdar://problem/4068375> Flash inserted via innerHTML Fails to Show when CSS Display
+ Style is Toggled via Javascript
+
+ * html/html_objectimpl.cpp:
+ (WebCore::HTMLObjectElement::setComplete):
+ Set needWidgetUpdate when finished parsing, even if the object element is not in
+ a document. That way, when the element attaches to a document, it will update its
+ widget (creating the plug-in view if necessary). This is important when the object
+ is being inserted via setInnerHTML, since the parsed nodes are not added to the
+ document until the whole HTML string is parsed.
+
2006-04-26 Geoffrey Garen <ggaren@apple.com>
Reviewed by Hyatt.
{
if (complete != m_complete) {
m_complete = complete;
- if (complete && inDocument() && !m_useFallbackContent) {
+ if (complete && !m_useFallbackContent) {
needWidgetUpdate = true;
- setChanged();
+ if (inDocument())
+ setChanged();
}
}
}