[Webkit-unassigned] [Bug 223889] Some WPT are failing because of colors being in the wrong format

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Mar 29 13:19:28 PDT 2021


https://bugs.webkit.org/show_bug.cgi?id=223889

--- Comment #3 from Sam Weinig <sam at webkit.org> ---
I haven't dropped into the debugger yet, but I am pretty sure this happening in ComputedStyleExtractor::valueForPropertyInStyle():

        case CSSPropertyBackgroundImage:
        case CSSPropertyWebkitMaskImage: {
            auto& layers = propertyID == CSSPropertyWebkitMaskImage ? style.maskLayers() : style.backgroundLayers();
            if (!layers.next()) {
                if (layers.image())
                    return layers.image()->cssValue();
                return cssValuePool.createIdentifierValue(CSSValueNone);
            }
            auto list = CSSValueList::createCommaSeparated();
            for (auto* currLayer = &layers; currLayer; currLayer = currLayer->next()) {
                if (currLayer->image())
                    list->append(currLayer->image()->cssValue());
                else
                    list->append(cssValuePool.createIdentifierValue(CSSValueNone));
            }
            return list;
        }


When the `layers.image()->cssValue()` call happens, the `image()`, which is of type CSSGradientValue, has not had its color styles resolved. You can see in the lines above it what a call with color resolving looks like:

        case CSSPropertyBackgroundColor:
            return m_allowVisitedStyle ? cssValuePool.createColorValue(style.visitedDependentColor(CSSPropertyBackgroundColor)) : currentColorOrValidColor(&style, style.backgroundColor());


So, somehow, we need to resolve those colors.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20210329/2ec85762/attachment.htm>


More information about the webkit-unassigned mailing list