| Index: Source/core/html/HTMLCanvasElement.cpp
|
| diff --git a/Source/core/html/HTMLCanvasElement.cpp b/Source/core/html/HTMLCanvasElement.cpp
|
| index 9cecdc45291136d9fab1fc1e9739d9b22dd1018c..1974da85e131469f196f7f118e7ac0baa78a5320 100644
|
| --- a/Source/core/html/HTMLCanvasElement.cpp
|
| +++ b/Source/core/html/HTMLCanvasElement.cpp
|
| @@ -87,6 +87,7 @@ inline HTMLCanvasElement::HTMLCanvasElement(Document& document)
|
| , m_didFailToCreateImageBuffer(false)
|
| , m_didClearImageBuffer(false)
|
| {
|
| + setHasCustomStyleCallbacks();
|
| }
|
|
|
| DEFINE_NODE_FACTORY(HTMLCanvasElement)
|
| @@ -120,6 +121,15 @@ RenderObject* HTMLCanvasElement::createRenderer(RenderStyle* style)
|
| return HTMLElement::createRenderer(style);
|
| }
|
|
|
| +void HTMLCanvasElement::didRecalcStyle(StyleRecalcChange)
|
| +{
|
| + //printf("HTMLCanvasElement::didRecalcStyle\n");
|
| + if (!hasImageBuffer())
|
| + return;
|
| + //printf("HTMLCanvasElement::didRecalcStyle hasImageBuffer\n");
|
| + m_imageBuffer->setFilterLevel(computedStyle()->imageRendering() == ImageRenderingPixelated ? SkPaint::kNone_FilterLevel : SkPaint::kLow_FilterLevel);
|
| +}
|
| +
|
| Node::InsertionNotificationRequest HTMLCanvasElement::insertedInto(ContainerNode* node)
|
| {
|
| setIsInCanvasSubtree(true);
|
| @@ -534,7 +544,7 @@ PassOwnPtr<ImageBufferSurface> HTMLCanvasElement::createImageBufferSurface(const
|
|
|
| OwnPtr<RecordingImageBufferFallbackSurfaceFactory> surfaceFactory = createSurfaceFactory(deviceSize, msaaSampleCount);
|
|
|
| - if (RuntimeEnabledFeatures::displayList2dCanvasEnabled()) {
|
| + if (RuntimeEnabledFeatures::displayList2dCanvasEnabled() && false) {
|
| OwnPtr<ImageBufferSurface> surface = adoptPtr(new RecordingImageBufferSurface(deviceSize, surfaceFactory.release(), opacityMode));
|
| if (surface->isValid())
|
| return surface.release();
|
| @@ -577,6 +587,8 @@ void HTMLCanvasElement::createImageBufferInternal()
|
| m_imageBuffer = ImageBuffer::create(surface.release());
|
| m_imageBuffer->setClient(this);
|
|
|
| + m_imageBuffer->setFilterLevel(computedStyle()->imageRendering() == ImageRenderingPixelated ? SkPaint::kNone_FilterLevel : SkPaint::kLow_FilterLevel);
|
| +
|
| m_didFailToCreateImageBuffer = false;
|
|
|
| updateExternallyAllocatedMemory();
|
|
|