1066 aFrame->IsTransformed()) { |
1066 aFrame->IsTransformed()) { |
1067 // Note: All the transform-like properties should map to the same |
1067 // Note: All the transform-like properties should map to the same |
1068 // layer activity index, so does the restyle count. Therefore, using |
1068 // layer activity index, so does the restyle count. Therefore, using |
1069 // eCSSProperty_transform should be fine. |
1069 // eCSSProperty_transform should be fine. |
1070 ActiveLayerTracker::NotifyRestyle(aFrame, eCSSProperty_transform); |
1070 ActiveLayerTracker::NotifyRestyle(aFrame, eCSSProperty_transform); |
1071 // If we're not already going to do an invalidating paint, see |
1071 needInvalidatingPaint = true; |
1072 // if we can get away with only updating the transform on a |
|
1073 // layer for this frame, and not scheduling an invalidating |
|
1074 // paint. |
|
1075 if (!needInvalidatingPaint) { |
|
1076 nsDisplayItem::Layer* layer; |
|
1077 needInvalidatingPaint |= !aFrame->TryUpdateTransformOnly(&layer); |
|
1078 |
|
1079 if (!needInvalidatingPaint) { |
|
1080 // Since we're not going to paint, we need to resend animation |
|
1081 // data to the layer. |
|
1082 MOZ_ASSERT(layer, "this can't happen if there's no layer"); |
|
1083 nsDisplayListBuilder::AddAnimationsAndTransitionsToLayer( |
|
1084 layer, nullptr, nullptr, aFrame, DisplayItemType::TYPE_TRANSFORM); |
|
1085 } |
|
1086 } |
|
1087 } |
1072 } |
1088 if (aChange & nsChangeHint_ChildrenOnlyTransform) { |
1073 if (aChange & nsChangeHint_ChildrenOnlyTransform) { |
1089 needInvalidatingPaint = true; |
1074 needInvalidatingPaint = true; |
1090 nsIFrame* childFrame = GetFrameForChildrenOnlyTransformHint(aFrame) |
1075 nsIFrame* childFrame = GetFrameForChildrenOnlyTransformHint(aFrame) |
1091 ->PrincipalChildList() |
1076 ->PrincipalChildList() |