Closed
Bug 181490
Opened 22 years ago
Closed 16 years ago
[Patch] background-color:transparent; doesn't apply to form elements (input, select, textarea) under windows XP
Categories
(Core Graveyard :: GFX: Win32, defect)
Tracking
(Not tracked)
RESOLVED
WORKSFORME
People
(Reporter: poncha, Unassigned)
References
()
Details
(Keywords: regression, testcase)
Attachments
(2 files, 3 obsolete files)
930 bytes,
text/html
|
Details | |
2.84 KB,
patch
|
bzbarsky
:
superreview+
bzbarsky
:
approval1.7b+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.2b) Gecko/20021016
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.2b) Gecko/20021016
CSS attribute "background-color: transparent;" is not handled correctly
[inconsistent with other platforms/OSes];
Reproducible: Always
Steps to Reproduce:
1. create input/select/textarea element in the document
2. give the created element property style="background-color: transparent;"
3. test it in browser...
Actual Results:
element background turns white [probably other color - depending on system
setting of default window background color]
Expected Results:
element background should become transparent [meaning that the appearing
background-color/background-mage should be derived from parent element]
The testcase was run on several windows OSes and appeared to have problems (work
wrong) only on Windows XP. Linux mozilla does not have this bug as well.
Reporter | ||
Comment 1•22 years ago
|
||
Theming should probably get turned off if there's a transparent background.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Comment 4•22 years ago
|
||
*** Bug 184555 has been marked as a duplicate of this bug. ***
Updated•22 years ago
|
Keywords: regression
I changed my Windows color scheme so that textboxes had a blue background.
Oddly, this seemed to make the Transparent work for everything except the SELECT.
This is despite my userContent.css containing the following:
input,
textarea,
select {
color: black;
background-color: white;
}
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
color: black !important;
background-color: rgb(212,208,200) !imprtant;
}
(I've already filed a bug about form elements and userContent).
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.3a) Gecko/20021207 Phoenix/0.5
Comment 7•22 years ago
|
||
Bug 184359 has been fixed, but this bug is not fixed yet on Windows XP,
2003013108.
Reason:
The select box in the testcase is still white. According to bug report, it is
supposed to be red. Is that correct? Notice on IE, the same thing happened...
I don't have any faith in IE having the correct behavior, though.
I gave you a filter string for email=bazookacarryingmonkeys
Reporter | ||
Comment 8•22 years ago
|
||
The selectbox really has to get red background , too...
and it does not work in 2003013108 ...
The only thing I see white is the dropdown box
WFM Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.5b) Gecko/20030911
Firebird/0.6.1+
Comment 10•21 years ago
|
||
The select is still not showing transparently on this.
As a side note, there also seems to be a problem with listboxes (select with a
size > 1) as well on xp. background-color doesn't seem to work at all on them
and only shows the default color, though the foreground color works correctly.
I don't know if this should be added as a new bug, or simply expanding the scope
of this bug to include listbox background color.
Comment 11•21 years ago
|
||
As you can see from this testcase, setting the background-color of a listbox
(select with size > 1) only shows the default color. Setting the
background-color on the option does work for the option, but that leaves the
rest of the listbox unstyled. Oddly enough, background-color works find on the
dropdown list (size = 1) although transparent does not work in either.
Comment 12•21 years ago
|
||
Adding myself to the cc, sorry about the extra message
Updated•21 years ago
|
Summary: form elements (input, select, textarea) in mozilla 1.2b under windows XP never get transparency [CSS property background-color:transparent;] → background-color:transparent; doesn't apply to form elements (input, select, textarea) under windows XP
Comment 13•21 years ago
|
||
For LISTBOX, do the same thing done with TEXTFIELD in bug 184359.
Comment 14•21 years ago
|
||
*** Bug 231713 has been marked as a duplicate of this bug. ***
Comment 15•21 years ago
|
||
Comment on attachment 137058 [details]
Testcase for listboxes
This has to do with bug 224974
Attachment #137058 -
Attachment is obsolete: true
Updated•21 years ago
|
Attachment #138657 -
Flags: review?(bryner)
Comment 16•21 years ago
|
||
Comment on attachment 138657 [details] [diff] [review]
patch for <select> listbox
>Index: nsNativeThemeWin.cpp
>===================================================================
>RCS file: /cvsroot/mozilla/gfx/src/windows/nsNativeThemeWin.cpp,v
>retrieving revision 3.31
>diff -p -w -u -r3.31 nsNativeThemeWin.cpp
>--- nsNativeThemeWin.cpp 21 Dec 2003 05:36:22 -0000 3.31
>+++ nsNativeThemeWin.cpp 8 Jan 2004 22:18:51 -0000
>@@ -1094,7 +1095,8 @@ PRBool nsNativeThemeWin::IsWidgetStyled(
> }
> break;
> }
>- case NS_THEME_TEXTFIELD: {
>+ case NS_THEME_TEXTFIELD:
>+ case NS_THEME_LISTBOX: {
> defaultBorderStyle = NS_STYLE_BORDER_STYLE_INSET;
> defaultBorderSize = NSIntPixelsToTwips(TEXTFIELD_BORDER_SIZE, p2t);
> lookAndFeel->GetColor(nsILookAndFeel::eColor_threedface, defaultBorderColor);
I assume you've checked that TEXTFIELD_BORDER_SIZE is indeed the right border
for a listbox? (maybe it's worth a separate #define, for clarity)
r=bryner
Attachment #138657 -
Flags: review?(bryner) → review+
Comment 17•21 years ago
|
||
This is Isaac's patch updated to take account of bryner's comments. It fixes
bug 224974, but it still doesn't fix background:transparent.
Attachment #138657 -
Attachment is obsolete: true
Updated•21 years ago
|
Attachment #139753 -
Flags: superreview?(bz-vacation)
Attachment #139753 -
Flags: review?(bryner)
Comment 18•21 years ago
|
||
Why is it OK not to make the corresponding changes to nsNativeTheme.cpp?
Comment 19•21 years ago
|
||
Thanks for Malcolm's updated patch. I was off-line due to national holiday.
(In reply to comment #15)
> This has to do with bug 224974
The bug was unconfirmed when I attached the patch, and has a dependency on this bug.
(In reply to comment #18)
> Why is it OK not to make the corresponding changes to nsNativeTheme.cpp?
Because nsNativeThemeWin is not a subclass of nsNativeTheme (I don't know why)
and this bug is Win32-specific -- all dups of bug 224974 were filed on Win32.
There are similar code in nsNativeTheme::IsWidgetStyled(), but lxr shows the
code is only executed on Mac.
(In reply to comment #16)
> I assume you've checked that TEXTFIELD_BORDER_SIZE is indeed the right border
> for a listbox? (maybe it's worth a separate #define, for clarity)
I have found CSS border: on SELECT is not honored by layout (see bug 150176), so
removing border checking code for LISTBOX seems to be good.
(In reply to comment #17)
> It fixes bug 224974, but it still doesn't fix background:transparent.
This can be partially fixed by adding an additional case for NS_THEME_DROPDOWN
to the patch, but I can't figure out how the _dropdown subwindow_ is rendered
(its background is always dark gray, when 'background: transparent' is applied
on SELECT like this bug's original testcase).
I'll update the patch soon.
Comment 20•21 years ago
|
||
- Added a case for DROPDOWN
- Removed CSS border checking for LISTBOX and DROPDOWN
Attachment #139753 -
Attachment is obsolete: true
Comment 21•21 years ago
|
||
> lxr shows the code is only executed on Mac.
Yep. And this bug does not show on Mac? I'd be happier if both codepaths were
fixed (I don't quite understand why they are even separate...)
> I have found CSS border: on SELECT is not honored by layout
Please don't introduce _more_ dependancies on ua.css into this code. We should
be moving toward having no such dependencies instead -- ua.css is subject to
change without notice.
Comment 22•21 years ago
|
||
Comment on attachment 139753 [details] [diff] [review]
Updated version of Isaac's patch
Clearing obsolete review requests.
I did wonder whether we should make Windows' nsNativeThemeWin inherit from
nsNativeTheme, just like the Mac version (but not the GTK version) - then at
least we could get rid of the Windows-specific version of IsWidgetStyled, and
use the shared one (and presumably also create a virtual method or methods to
retrieve the 'default settings' from the implementation classes, rather than
leave the [Mac-specific?] constants in nsNativeTheme).
I haven't got a Mac, so I can't test whether this bug is also a problem there.
> Please don't introduce _more_ dependancies on ua.css into this code.
Agreed. Is there any way we can fetch the style rules directly from ua.css,
rather than have to duplicate them here?
Attachment #139753 -
Flags: superreview?(bz-vacation)
Attachment #139753 -
Flags: review?(bryner)
Comment 23•21 years ago
|
||
> I did wonder whether we should make Windows' nsNativeThemeWin inherit from
> nsNativeTheme, just like the Mac version (but not the GTK version)
I filed bug 232175.
Comment 24•21 years ago
|
||
Will this code have any impact on bug 227399?
Please dup/depend as necessary, thanks.
Comment 25•21 years ago
|
||
We could maybe introduce a new style resolution method that would resolve style
using only sheets from the UA level?
Comment 26•21 years ago
|
||
> We could maybe introduce a new style resolution method that would resolve style
> using only sheets from the UA level?
I wondered whether we could get nsNativeTheme to cache the results of
getComputedStyle() on an otherwise unadorned <textarea>, <input type="select">,
etc, for the properties we're interested in. That would remove the dependency on
ua.css, and the only difference should be whether userContent.css is involved.
Updated•21 years ago
|
Assignee: hyatt → win32
Component: Layout: Form Controls → GFX: Win32
QA Contact: tpreston → ian
Comment 27•21 years ago
|
||
Comment on attachment 139882 [details] [diff] [review]
Updated patch
sr=bzbarsky. I think we should try to get this in for beta. This is a pretty
high-visibility problem in form control rendering...
Attachment #139882 -
Flags: superreview+
Attachment #139882 -
Flags: approval1.7b?
Comment 28•21 years ago
|
||
Comment on attachment 139882 [details] [diff] [review]
Updated patch
a=chofmann for 1.7b
Comment 29•21 years ago
|
||
Comment on attachment 139882 [details] [diff] [review]
Updated patch
I assume chofmann meant to set the flag too...
Attachment #139882 -
Flags: approval1.7b? → approval1.7b+
Comment 30•21 years ago
|
||
Checked that patch in. Leaving open for the remaining combobox issues...
Comment 31•21 years ago
|
||
Hey, did this fix bug 227399 too? If so, can someone comment to that effect?
Comment 32•21 years ago
|
||
oops. yes, thanks for setting the flag borris
Comment 33•21 years ago
|
||
And did this fix bug 237138 too? If so, can someone comment to that effect?
Comment 34•21 years ago
|
||
Neil, this certainly would not have fixed bug 237138
Comment 35•21 years ago
|
||
bz, well, I'm finding it difficult to debug since the colours set in forms.css
seem to be overriding anything else...
Comment 36•21 years ago
|
||
Eh? They are? You mean we're not using native theming for those controls?
Comment 37•21 years ago
|
||
Sorry, must be an oddity in my build...
Comment 38•20 years ago
|
||
Asking for blocking 1.8a4
testcase still shows the bug, and there is a patch having approval and
superreview for nearly half a year. Was approved for 1.7b, and still not checked
in to Mozilla 1.7.4.
Flags: blocking1.8a4?
Summary: background-color:transparent; doesn't apply to form elements (input, select, textarea) under windows XP → [Patch] background-color:transparent; doesn't apply to form elements (input, select, textarea) under windows XP
Comment 39•20 years ago
|
||
> still not checked in to Mozilla 1.7.4.
are you sure about that? comment 30 said:
> Checked that patch in.
Comment 40•20 years ago
|
||
(In reply to comment #39)
> > still not checked in to Mozilla 1.7.4.
>
> are you sure about that? comment 30 said:
> > Checked that patch in.
No, I´m not sure.
I saw a testcase, tested, and saw the bug.
I saw a patch, looked at bug activity, when it was approved, and that was march.
( same time as comment 30 ;-)
So I assume you are correct that this patch got checked in, and the bug is open
for the remaining issues, the select with grey background.
It´s the small field between the password box and the textarea input.
Flags: blocking1.8a4?
Updated•16 years ago
|
Product: Core → Core Graveyard
Comment 41•16 years ago
|
||
Last testcase WFM: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8
Is this bug still valid?
Comment 42•16 years ago
|
||
WFM using testcase
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b4pre) Gecko/20090409 SeaMonkey/2.0b1pre
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.10pre) Gecko/2009041006 GranParadiso/3.0.10pre
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2a1pre) Gecko/20090409 Minefield/3.6a1pre
Bug (background grey in open select as seen in my comment 40) still seen in
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.20) Gecko/20081217 Firefox/2.0.0.20
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•