+2006-09-20 Timothy Hatcher <timothy@apple.com>
+
+ Reviewed by Hyatt.
+
+ Bug 10917: REGRESSION (r16027): iFrame transparency broken
+ http://bugzilla.opendarwin.org/show_bug.cgi?id=10917
+
+ Don't paint the base background color if we transparent.
+
+ * rendering/RenderBox.cpp:
+ (WebCore::RenderBox::paintBackgroundExtended):
+
2006-09-20 Adam Roben <aroben@apple.com>
Reviewed by andersca.
// Only fill with a base color (e.g., white) if we're the root document, since iframes/frames with
// no background in the child document should show the parent's background.
+ bool isTransparent = false;
if (!bgLayer->next() && isRoot() && !(bgColor.isValid() && bgColor.alpha() > 0) && view()->frameView()) {
- bool isTransparent;
Node* elt = document()->ownerElement();
if (elt) {
if (elt->hasTagName(frameTag))
if (!bgLayer->next()) {
IntRect rect(_tx, clipy, w, cliph);
// If we have an alpha and we are painting the root element, go ahead and blend with the base background color.
- if (isRoot() && (!bgColor.isValid() || bgColor.alpha() < 0xFF) && !view()->frameView()->isTransparent()) {
+ if (isRoot() && (!bgColor.isValid() || bgColor.alpha() < 0xFF) && !isTransparent) {
Color baseColor = view()->frameView()->baseBackgroundColor();
if (baseColor.alpha() > 0) {
p->save();