Commit 11a4669a authored by Chris Harrelson's avatar Chris Harrelson Committed by Commit Bot

Move self-painting trigger code for accelerated embedded content into LayerTypeRequired.

Cq-Include-Trybots: luci.chromium.try:linux_layout_tests_slimming_paint_v2;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I2c8e14fae22b1fe5d8aec77cf7e203f839972100
Reviewed-on: https://chromium-review.googlesource.com/1135705Reviewed-by: default avatarvmpstr <vmpstr@chromium.org>
Commit-Queue: Chris Harrelson <chrishtr@chromium.org>
Cr-Commit-Position: refs/heads/master@{#574993}
parent 2b34fe4f
......@@ -112,6 +112,9 @@ EmbeddedContentView* LayoutEmbeddedContent::GetEmbeddedContentView() const {
}
PaintLayerType LayoutEmbeddedContent::LayerTypeRequired() const {
if (RequiresAcceleratedCompositing())
return kNormalPaintLayer;
PaintLayerType type = LayoutReplaced::LayerTypeRequired();
if (type != kNoPaintLayer)
return type;
......
......@@ -49,17 +49,6 @@ LayoutEmbeddedObject::LayoutEmbeddedObject(Element* element)
LayoutEmbeddedObject::~LayoutEmbeddedObject() = default;
PaintLayerType LayoutEmbeddedObject::LayerTypeRequired() const {
// This can't just use LayoutEmbeddedContent::layerTypeRequired, because
// PaintLayerCompositor doesn't loop through LayoutEmbeddedObjects the way it
// does frames in order to update the self painting bit on their Layer.
// Also, unlike iframes, embeds don't used the usesCompositing bit on
// LayoutView in requiresAcceleratedCompositing.
if (RequiresAcceleratedCompositing())
return kNormalPaintLayer;
return LayoutEmbeddedContent::LayerTypeRequired();
}
static String LocalizedUnavailablePluginReplacementText(
Node* node,
LayoutEmbeddedObject::PluginAvailability availability) {
......
......@@ -67,8 +67,6 @@ class LayoutEmbeddedObject final : public LayoutEmbeddedContent {
void ComputeIntrinsicSizingInfo(IntrinsicSizingInfo&) const override;
bool NeedsPreferredWidthsRecalculation() const override;
PaintLayerType LayerTypeRequired() const final;
CompositingReasons AdditionalCompositingReasons() const override;
PluginAvailability plugin_availability_ = kPluginAvailable;
......
......@@ -2917,11 +2917,6 @@ bool PaintLayer::ChildBackgroundIsKnownToBeOpaqueInRect(
}
bool PaintLayer::ShouldBeSelfPaintingLayer() const {
if (GetLayoutObject().IsLayoutEmbeddedContent() &&
ToLayoutEmbeddedContent(GetLayoutObject())
.RequiresAcceleratedCompositing())
return true;
// TODO(crbug.com/839341): Remove ScrollTimeline check once we support
// main-thread AnimationWorklet and don't need to promote the scroll-source.
return GetLayoutObject().LayerTypeRequired() == kNormalPaintLayer ||
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment