Closed
Bug 83159
Opened 24 years ago
Closed 23 years ago
HTML Embed region is not painted correctly
Categories
(Core Graveyard :: Plug-ins, defect, P3)
Core Graveyard
Plug-ins
Tracking
(Not tracked)
VERIFIED
FIXED
mozilla0.9.6
People
(Reporter: chrispetersen, Assigned: peterlubczynski-bugs)
References
()
Details
(Keywords: topembed)
Attachments
(2 files, 6 obsolete files)
739 bytes,
text/html
|
Details | |
2.16 KB,
patch
|
serhunt
:
review+
sfraser_bugs
:
superreview+
|
Details | Diff | Splinter Review |
Build: 2001052904
Platform: Windows and Mac 9(QT plugin not avaiable for Linux)
Expected Results: Embed area should be painted with the bgcolor of the page.
What I got: The Embed area (outside of the QT movie) is displayed as grey
Steps to reproduce:
1) Install QT plugin
2) Go to Apple's url
3) Embed region is displayed grey.
Reporter | ||
Updated•24 years ago
|
Summary: Embed region is not painted correctly → HTML Embed region is not painted correctly
Reporter | ||
Comment 1•24 years ago
|
||
Assignee | ||
Comment 4•24 years ago
|
||
This is probably in the Paint() method. Over to Chris Karnaze....
Assignee: peterlubczynski → karnaze
Priority: -- → P3
Target Milestone: --- → mozilla0.9.2
Comment 5•24 years ago
|
||
Moving to m0.9.3
Status: NEW → ASSIGNED
Target Milestone: mozilla0.9.2 → mozilla0.9.3
Updated•23 years ago
|
Target Milestone: mozilla0.9.4 → mozilla0.9.5
Assignee | ||
Comment 9•23 years ago
|
||
my bug
Assignee | ||
Comment 10•23 years ago
|
||
Assignee | ||
Comment 11•23 years ago
|
||
Comment 12•23 years ago
|
||
Peter, do you this problem on windows?
Comment 13•23 years ago
|
||
Comment 14•23 years ago
|
||
Comment on attachment 56192 [details] [diff] [review]
windows fix
This patch does not fix it for me on Windows.
GetStyleData rerurns 0xffffff for the color which I beleive is white.
Assignee | ||
Comment 15•23 years ago
|
||
Okay, I think I know what's going on. There are several problems here. Andrei
shows that we are not mapping background style color correctly in content. I see
where I think I can fix this in nsHTMLObjectElement.cpp and
nsHTMLAppletElement.cpp, but what about the EMBED tag? cc:ing Jonny as I recall
it was removed recently in bug 107453.
On Mac, RGBBackColor() does do the trick and needs to be called with the
background color from style. It needs to be called before a paint update. For
some reason, it doesn't always work on the first update so I thought it wasn't
working at all :-/ This could be because of the above background mapping
problem, I wasn't calling it on the right port, or maybe Quicktime also expects
it to be set in NPP_SetWindow() where we also pass the port.
Status: NEW → ASSIGNED
Comment 16•23 years ago
|
||
The code for <embed> now lives in nsHTMLSharedLeafElement.cpp, check that
mNodeInfo->Equals(nsHTMLAtoms::embed) before doing embed specific things.
Assignee | ||
Updated•23 years ago
|
Attachment #56192 -
Attachment is obsolete: true
Assignee | ||
Comment 17•23 years ago
|
||
Assignee | ||
Comment 18•23 years ago
|
||
I found one more problem: turns out that since the body background color doesn't
get inherited up to the OBJECT tag, I have to walk up the frame tree to find the
first non-transparent parent and use his background color.
That last patch should fix this problem on all platforms that use child windows.
Since Mac doesn't....I still need to fix it up.
Comment 19•23 years ago
|
||
Can scx->GetStyleData fail or return null |color|? If it can there should be
some sort of check for the condition. Also, in such a case it would be better to
have |ResolveBackgroundColor()| return nsresult and pass the actual color via an
argument.
Comment 20•23 years ago
|
||
The changes to nsHTMLSharedLeafElement.cpp should be specific to embed, no? If
so then, again, you need to check that mNodeInfo->Equals(nsHTMLAtoms::embed)
before doing embed specific things.
Assignee | ||
Updated•23 years ago
|
Attachment #56635 -
Attachment description: complete window fix → window fix
Attachment #56635 -
Attachment is obsolete: true
Assignee | ||
Comment 21•23 years ago
|
||
Assignee | ||
Comment 22•23 years ago
|
||
It turns out the XP code does correctly set the background color of the widget
on Mac! That last patch works well, please review.
Sticking points:
* Changes in nsHTMLSharedLeafElement.cpp are isolated to embed tags. The mapping
in |EmbedMapAttributesIntoRule()| should only be called by embed tags. The
impact check is also inside a |mNodeInfo->Equals(nsHTMLAtoms::embed|.
* I couldn't find any code that checks the return of |GetStyleData| before using
it and I don't feel like starting a trend.
Comment 23•23 years ago
|
||
Comment on attachment 56720 [details] [diff] [review]
better patch
This patch works neatly. r=av
Attachment #56720 -
Flags: review+
Comment 24•23 years ago
|
||
Hmm, after thinking about this some more, why do we need the changes in the
content code? The attributes "background" and "bgcolor" mean nothing on embed,
applet or object, at least not according to the spec. Are those changes for
compatibility issues?
Assignee | ||
Comment 25•23 years ago
|
||
Jonny is right. The spec doesn't say anything about bgcolor or background
attributes on these tags even if some authors use them. New patch without
mappings coming up...
Assignee | ||
Comment 26•23 years ago
|
||
Comment 27•23 years ago
|
||
Someone more familiar with layout-land should sr this one, for what it's woth,
it looks good to me.
Comment 28•23 years ago
|
||
Comment on attachment 56790 [details] [diff] [review]
new patch
fix the indentation on the 'else' and 'break' and sr=attinasi
Attachment #56790 -
Flags: superreview+
Comment 29•23 years ago
|
||
Comment on attachment 56790 [details] [diff] [review]
new patch
Tested on Windows, r=av
Attachment #56790 -
Flags: review+
Assignee | ||
Comment 30•23 years ago
|
||
patch checked in, marking FIXED.
Comment 31•23 years ago
|
||
Tested using 11_07_09 trunk build on Win2000 - verified fixed. Will verify cross
platform tomorrow and mark bug.
Comment 32•23 years ago
|
||
Tested on:
MacOS9: 11_08_04_trunk
MacOS10: 11_08_08_trunk
This bug is not fixed on MacOS9 or MacOS10. At initial painting, you still get
the original gray background. If you resize the page, then the background color
is white. Reload again and the color is back to its initial gray.
Assignee | ||
Comment 33•23 years ago
|
||
Ok, still doesn't work on the Mac. fix on it's way.....
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Comment 34•23 years ago
|
||
Can I get some reviews on this new patch? Thanks.
Attachment #56191 -
Attachment is obsolete: true
Attachment #56196 -
Attachment is obsolete: true
Attachment #56720 -
Attachment is obsolete: true
Attachment #56790 -
Attachment is obsolete: true
Comment 35•23 years ago
|
||
Comment on attachment 57122 [details] [diff] [review]
mac patch
Fix the confusing comments:
+ // return (color8 == 0xFF ? 0xFFFF : (color8 << 8));
+ return (color8 << 8) | color8; /* (color8 * 257) == (color8 * 0x0101)
*/
and sr=sfraser
Attachment #57122 -
Flags: superreview+
Comment 37•23 years ago
|
||
Comment on attachment 57122 [details] [diff] [review]
mac patch
r=av
Attachment #57122 -
Flags: review+
Assignee | ||
Comment 38•23 years ago
|
||
Patch should be in today's builds. Marking FIXED.
Status: REOPENED → RESOLVED
Closed: 23 years ago → 23 years ago
Resolution: --- → FIXED
Reporter | ||
Comment 39•23 years ago
|
||
Verifying this problem has been resolved in OS 9 and OS X trunk builds
(2001-11-09-08).
Comment 41•23 years ago
|
||
Did this get checked into the 0.9.6 branch?
Reporter | ||
Comment 42•23 years ago
|
||
Confirming issue is resolved in the 2001-11-14-11 0.9.6 build. Tested under
Windows ME.
Comment 43•23 years ago
|
||
minusing. thanks for raising the issue.
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
•