Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(804)

Unified Diff: third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp

Issue 2903053002: Removing canvas rendering mode switching feature (Closed)
Patch Set: fix test failure Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
diff --git a/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp b/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
index e4eb44c451bdef0585060483c9cc7557a025dd56..2647b5046d9e6054f03db6c191ec9837e6625205 100644
--- a/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
+++ b/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
@@ -67,8 +67,8 @@
#include "platform/Histogram.h"
#include "platform/RuntimeEnabledFeatures.h"
#include "platform/graphics/Canvas2DImageBufferSurface.h"
+#include "platform/graphics/CanvasHeuristicParameters.h"
#include "platform/graphics/CanvasMetrics.h"
-#include "platform/graphics/ExpensiveCanvasHeuristicParameters.h"
#include "platform/graphics/ImageBuffer.h"
#include "platform/graphics/RecordingImageBufferSurface.h"
#include "platform/graphics/StaticBitmapImage.h"
@@ -142,9 +142,7 @@ inline HTMLCanvasElement::HTMLCanvasElement(Document& document)
externally_allocated_memory_(0),
origin_clean_(true),
did_fail_to_create_image_buffer_(false),
- image_buffer_is_clear_(false),
- num_frames_since_last_rendering_mode_switch_(0),
- pending_rendering_mode_switch_(false) {
+ image_buffer_is_clear_(false) {
CanvasMetrics::CountCanvasContextUsage(CanvasMetrics::kCanvasCreated);
UseCounter::Count(document, UseCounter::kHTMLCanvasElement);
}
@@ -429,37 +427,6 @@ void HTMLCanvasElement::DoDeferredPaintInvalidation() {
}
dirty_rect_ = FloatRect();
- num_frames_since_last_rendering_mode_switch_++;
- if (RuntimeEnabledFeatures::
- enableCanvas2dDynamicRenderingModeSwitchingEnabled() &&
- !RuntimeEnabledFeatures::canvas2dFixedRenderingModeEnabled()) {
- if (Is2d() && GetImageBuffer() && GetImageBuffer()->IsAccelerated() &&
- num_frames_since_last_rendering_mode_switch_ >=
- ExpensiveCanvasHeuristicParameters::kMinFramesBeforeSwitch &&
- !pending_rendering_mode_switch_) {
- if (!context_->IsAccelerationOptimalForCanvasContent()) {
- // The switch must be done asynchronously in order to avoid switching
- // during the paint invalidation step.
- Platform::Current()->CurrentThread()->GetWebTaskRunner()->PostTask(
- BLINK_FROM_HERE,
- WTF::Bind(
- [](WeakPtr<ImageBuffer> buffer) {
- if (buffer) {
- buffer->DisableAcceleration();
- }
- },
- image_buffer_->weak_ptr_factory_.CreateWeakPtr()));
- num_frames_since_last_rendering_mode_switch_ = 0;
- pending_rendering_mode_switch_ = true;
- }
- }
- }
-
- if (pending_rendering_mode_switch_ && GetOrCreateImageBuffer() &&
- !GetOrCreateImageBuffer()->IsAccelerated()) {
- pending_rendering_mode_switch_ = false;
- }
-
DCHECK(dirty_rect_.IsEmpty());
}
@@ -858,8 +825,8 @@ bool HTMLCanvasElement::ShouldAccelerate(AccelerationCriteria criteria) const {
return false;
#endif
// If the GPU resources would be very expensive, prefer a display list.
- if (canvas_pixel_count > ExpensiveCanvasHeuristicParameters::
- kPreferDisplayListOverGpuSizeThreshold)
+ if (canvas_pixel_count >
+ CanvasHeuristicParameters::kPreferDisplayListOverGpuSizeThreshold)
return false;
}
@@ -1225,7 +1192,7 @@ void HTMLCanvasElement::DidMoveToNewDocument(Document& old_document) {
}
void HTMLCanvasElement::WillDrawImageTo2DContext(CanvasImageSource* source) {
- if (ExpensiveCanvasHeuristicParameters::kEnableAccelerationToAvoidReadbacks &&
+ if (CanvasHeuristicParameters::kEnableAccelerationToAvoidReadbacks &&
SharedGpuContext::AllowSoftwareToAcceleratedCanvasUpgrade() &&
source->IsAccelerated() && !GetOrCreateImageBuffer()->IsAccelerated() &&
ShouldAccelerate(kIgnoreResourceLimitCriteria)) {
@@ -1287,8 +1254,7 @@ PassRefPtr<Image> HTMLCanvasElement::GetSourceImageForCanvas(
sk_image = CreateTransparentSkImage(Size());
}
} else {
- if (ExpensiveCanvasHeuristicParameters::
- kDisableAccelerationToAvoidReadbacks &&
+ if (CanvasHeuristicParameters::kDisableAccelerationToAvoidReadbacks &&
!RuntimeEnabledFeatures::canvas2dFixedRenderingModeEnabled() &&
hint == kPreferNoAcceleration && GetImageBuffer() &&
GetImageBuffer()->IsAccelerated()) {

Powered by Google App Engine
This is Rietveld 408576698