author Brian Birtles <birtles@gmail.com>
Tue, 27 Jun 2017 10:55:03 -0700
changeset 367173 9d0c157be7670fa138de10829d30239db7abaabd
parent 274867 e03b93cbb64d4996a9f170d76a69801b9a708d84
permissions -rw-r--r--
Bug 1365472 - Use animated class names when doing selector matching in Servo; r=heycam Using SVG SMIL it is possible to animate the class attribute of an element using markup such as the following: <style> .red { fill: red; } </style> <svg> <circle cx="50" cy="50" r="30" fill="blue"> <set attributeName="class" to="red" begin="1s"/> </circle> </svg> In Gecko, Element::GetClasses handles this case by looking for an animated class string when the element in question is an SVG element. This patch causes our Servo bindings to use GetClasses when querying attribute values for selector matching. Note that animating the class attribute is *not* expected to affect attribute selectors such as `circle[class="red"]`. It does in Chrome, but that is due to a Blink bug where animating attributes using SMIL affects the result of getAttribute: https://bugs.chromium.org/p/chromium/issues/detail?id=735820 This patch adjusts the behavior for both the GeckoElement case and the ServoElementSnapshot case. MozReview-Commit-ID: DAFWHSH1aYB

# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.

# This file is necessary to "bootstrap" the test case for the test_build
# test, because of the requirement of the top-level directory containing
# config/*.mk.
DIRS += [