Closed
Bug 347639
Opened 18 years ago
Closed 17 years ago
Dynamically created flash with application/octet-stream show up as plugin placeholder
Categories
(Core Graveyard :: Plug-ins, defect)
Core Graveyard
Plug-ins
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: martijn.martijn, Assigned: Biesinger)
References
()
Details
(Keywords: regression, testcase)
Attachments
(3 files, 1 obsolete file)
(deleted),
application/octet-stream
|
Details | |
(deleted),
text/html
|
Details | |
(deleted),
patch
|
Details | Diff | Splinter Review |
See url, you see plugin placeholders where you should see some flash text.
I'll attach a testcase to this bug that shows the bug.
Reporter | ||
Comment 1•18 years ago
|
||
Reporter | ||
Comment 2•18 years ago
|
||
Two embeds in the testcase, one directly in the page, one dynamically created.
The dynamically created one gives the plugin placeholder, that should not happen.
This works fine on current branch builds.
Reporter | ||
Updated•18 years ago
|
Flags: blocking1.9?
Biesi: This sounds likely related to your rewrite.
Assignee: nobody → cbiesinger
Flags: blocking1.9? → blocking1.9+
Assignee | ||
Comment 4•17 years ago
|
||
hmm. this is an interesting one. We start loading the object when you the src attribute is set, and find out that we can't handle application/octet-stream.
We ignore changes to the type attribute after we started loading the object.
Unfortunately I can't reproduce this on the original site, but bug 347736's patch may significantly reduce the impact of this.
Is there any point in starting the load before we're in the document? I know we do for images, but that is partially web-compat to allow pages to preload images.
Assignee | ||
Comment 6•17 years ago
|
||
why wait until we're inserted into the doc?
Can we deal with all types of chages, such as to the type attribute, if we've already started loading? There's also the issue that we could get a different baseURI when inserted into a parent.
Assignee | ||
Comment 8•17 years ago
|
||
we handle the base URI change correctly, we do check for a changed URI when the plugin is inserted into the doc. we could extend that to types I suppose...
Assignee | ||
Comment 9•17 years ago
|
||
jonas convinced me to only start loads once we get inserted into a document.
note that if we start the load before that, and it is a plugin, then we will not really be able to use that data because we don't have a frame yet, so we'd have to start the load again. waiting until we get inserted avoids that problem.
Attachment #272908 -
Flags: superreview?(bzbarsky)
Attachment #272908 -
Flags: review?(bzbarsky)
Assignee | ||
Updated•17 years ago
|
OS: Windows XP → All
Hardware: PC → All
Comment 10•17 years ago
|
||
Comment on attachment 272908 [details] [diff] [review]
patch
Hmmm. Yeah, I guess this makes sense...
If you wanted to, you could also add a check for whether DoneAddingChildren() got called here. Might not matter, though.
Attachment #272908 -
Flags: superreview?(bzbarsky)
Attachment #272908 -
Flags: superreview+
Attachment #272908 -
Flags: review?(bzbarsky)
Attachment #272908 -
Flags: review+
Assignee | ||
Comment 11•17 years ago
|
||
hm... is it really possible that aNotify is true, mDoneAddingChildren false, and SetAttr is being called?
Comment 12•17 years ago
|
||
Yes, of course. Consider an <object> with a <script> child which sets attributes on that <object>. Pretty stupid thing to do, but certainly possible. ;)
Assignee | ||
Comment 13•17 years ago
|
||
OK, check mIsDoneAddingChildren
Attachment #272908 -
Attachment is obsolete: true
Assignee | ||
Comment 14•17 years ago
|
||
Checking in content/html/content//src/nsHTMLObjectElement.cpp;
/cvsroot/mozilla/content/html/content/src/nsHTMLObjectElement.cpp,v <-- nsHTMLObjectElement.cpp
new revision: 1.104; previous revision: 1.103
done
Checking in content/html/content//src/nsHTMLSharedObjectElement.cpp;
/cvsroot/mozilla/content/html/content/src/nsHTMLSharedObjectElement.cpp,v <-- nsHTMLSharedObjectElement.cpp
new revision: 1.87; previous revision: 1.86
done
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Updated•3 years ago
|
Product: Core → Core Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•