| Index: Source/core/paint/FilterPainter.cpp
|
| diff --git a/Source/core/paint/FilterPainter.cpp b/Source/core/paint/FilterPainter.cpp
|
| index 3ef7321b7d501cab974dfcbe821b4e43aef8b0a6..2a6014281db9a95c13c17b17a9e007448cd4b729 100644
|
| --- a/Source/core/paint/FilterPainter.cpp
|
| +++ b/Source/core/paint/FilterPainter.cpp
|
| @@ -63,14 +63,12 @@ FilterPainter::FilterPainter(DeprecatedPaintLayer& layer, GraphicsContext* conte
|
| FilterOperations filterOperations(layer.computeFilterOperations(m_layoutObject->styleRef()));
|
| OwnPtr<WebFilterOperations> webFilterOperations = adoptPtr(Platform::current()->compositorSupport()->createFilterOperations());
|
| builder.buildFilterOperations(filterOperations, webFilterOperations.get());
|
| - OwnPtr<BeginFilterDisplayItem> filterDisplayItem = BeginFilterDisplayItem::create(*m_layoutObject, imageFilter, rootRelativeBounds, webFilterOperations.release());
|
|
|
| - context->displayItemList()->add(filterDisplayItem.release());
|
| + context->displayItemList()->createAndAppendIfNeeded<BeginFilterDisplayItem>(*m_layoutObject, imageFilter, rootRelativeBounds, webFilterOperations.release());
|
| }
|
| } else {
|
| - OwnPtr<BeginFilterDisplayItem> filterDisplayItem = BeginFilterDisplayItem::create(*m_layoutObject, imageFilter, rootRelativeBounds);
|
| -
|
| - filterDisplayItem->replay(*context);
|
| + BeginFilterDisplayItem filterDisplayItem(*m_layoutObject, imageFilter, rootRelativeBounds);
|
| + filterDisplayItem.replay(*context);
|
| }
|
|
|
| m_filterInProgress = true;
|
| @@ -81,14 +79,13 @@ FilterPainter::~FilterPainter()
|
| if (!m_filterInProgress)
|
| return;
|
|
|
| - OwnPtr<EndFilterDisplayItem> endFilterDisplayItem = EndFilterDisplayItem::create(*m_layoutObject);
|
| if (RuntimeEnabledFeatures::slimmingPaintEnabled()) {
|
| ASSERT(m_context->displayItemList());
|
| - if (m_context->displayItemList()->displayItemConstructionIsDisabled())
|
| - return;
|
| - m_context->displayItemList()->add(endFilterDisplayItem.release());
|
| + if (!m_context->displayItemList()->displayItemConstructionIsDisabled())
|
| + m_context->displayItemList()->createAndAppendIfNeeded<EndFilterDisplayItem>(*m_layoutObject);
|
| } else {
|
| - endFilterDisplayItem->replay(*m_context);
|
| + EndFilterDisplayItem endFilterDisplayItem(*m_layoutObject);
|
| + endFilterDisplayItem.replay(*m_context);
|
| }
|
| }
|
|
|
|
|