mirror of
https://github.com/servo/servo.git
synced 2025-08-01 11:40:30 +01:00
style: Only no-op visited <-> unvisited changes.
Other changes should really be (and are) indistinguishable. Differential Revision: https://phabricator.services.mozilla.com/D4847
This commit is contained in:
parent
cf6215c85f
commit
3e0250ae61
1 changed files with 4 additions and 15 deletions
|
@ -155,22 +155,11 @@ where
|
|||
return false;
|
||||
}
|
||||
|
||||
// If we are sensitive to visitedness and the visited state changed, we
|
||||
// force a restyle here. Matching doesn't depend on the actual visited
|
||||
// state at all, so we can't look at matching results to decide what to
|
||||
// do for this case.
|
||||
if state_changes.intersects(ElementState::IN_VISITED_OR_UNVISITED_STATE) &&
|
||||
self.shared_context.visited_styles_enabled
|
||||
{
|
||||
// If we the visited state changed, we force a restyle here. Matching
|
||||
// doesn't depend on the actual visited state at all, so we can't look
|
||||
// at matching results to decide what to do for this case.
|
||||
if state_changes.intersects(ElementState::IN_VISITED_OR_UNVISITED_STATE) {
|
||||
trace!(" > visitedness change, force subtree restyle");
|
||||
// We shouldn't get here with visited links disabled, but it's hard
|
||||
// to assert in cases where you record a visitedness change and
|
||||
// afterwards you change some of the stuff (like the pref) that
|
||||
// changes whether visited styles are enabled.
|
||||
//
|
||||
// So just avoid the restyle here, because it kind of would kill the
|
||||
// point of disabling visited links.
|
||||
//
|
||||
// We can't just return here because there may also be attribute
|
||||
// changes as well that imply additional hints for siblings.
|
||||
self.data.hint.insert(RestyleHint::restyle_subtree());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue