Closed
Bug 1192633
Opened 11 years ago
Closed 11 years ago
Overlay scrollbars on OS X no longer fade out with an animation, they just disappear
Categories
(Core :: CSS Parsing and Computation, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 1192192
| Tracking | Status | |
|---|---|---|
| firefox42 | --- | affected |
People
(Reporter: mstange, Unassigned)
References
Details
(Keywords: regression)
STR:
1. Be on Mac OS 10.7+ and set your system scrollbars pref to "show when scrolling".
2. On a scrollable page in Firefox, scroll slightly and then stop.
Expected results:
The scrollbars should fade out smoothly.
Actual results:
They just disappear after a short delay without any animation.
The fade-out animation is implemented in ScrollbarActivity.cpp with a refresh driver observer that animates the opacity property by setting inline styles on the respective <scrollbar> element (which is native anonymous content of the scroll frame), like this:
static void
SetOpacityOnElement(nsIContent* aContent, double aOpacity)
{
nsCOMPtr<nsIDOMElementCSSInlineStyle> inlineStyleContent =
do_QueryInterface(aContent);
if (inlineStyleContent) {
nsCOMPtr<nsIDOMCSSStyleDeclaration> decl;
inlineStyleContent->GetStyle(getter_AddRefs(decl));
if (decl) {
nsAutoString str;
str.AppendFloat(aOpacity);
decl->SetProperty(NS_LITERAL_STRING("opacity"), str, EmptyString());
}
}
}
mozregression gave me this range and unfortunately couldn't find any inbound builds for it:
https://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=f3b757156f69&tochange=2fad09a0540d
Bug 1180118 is in this range, so I'm assuming it is to blame. I haven't confirmed this.
| Reporter | ||
Comment 1•11 years ago
|
||
[Tracking Requested - why for this release]: very visible regression
tracking-firefox42:
--- → ?
Comment 2•11 years ago
|
||
Pretty plausible bug 1180118 is responsible. It's probably the same as bug 1192302, not traversing into anonymous content (I think?) properly.
Comment 3•11 years ago
|
||
We probably need to traverse the frame tree to find the elements that we convert eRestyle_SomeDescendants into eRestyle_Self for, rather than traversing the DOM itself. This would need to look at the undisplayed content, like ElementRestyler::RestyleChildren does, but would also need to do a DOM traversal to the descendants of the display:none child.
Comment 4•11 years ago
|
||
I bisected further and found that it's actually bug 1186236.
Jerry, can you look into this?
Comment 5•11 years ago
|
||
I think bug 1192192 could fix the problem.
Hey Cameron,
Does bug 1192192 fix this?
Comment 7•11 years ago
|
||
Since this is a duplicate of bug 1192192, and that bug fixes the issue, I'll clear the tracking requested flag.
tracking-firefox42:
? → ---
Updated•11 years ago
|
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•