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

Side by Side Diff: third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp

Issue 2653933003: Make stream captures work on canvases that are not in the DOM. (Closed)
Patch Set: Created 3 years, 11 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "modules/canvas2d/CanvasRenderingContext2D.h" 5 #include "modules/canvas2d/CanvasRenderingContext2D.h"
6 6
7 #include "core/dom/Document.h" 7 #include "core/dom/Document.h"
8 #include "core/fetch/MemoryCache.h" 8 #include "core/fetch/MemoryCache.h"
9 #include "core/frame/FrameView.h" 9 #include "core/frame/FrameView.h"
10 #include "core/frame/ImageBitmap.h" 10 #include "core/frame/ImageBitmap.h"
(...skipping 795 matching lines...) Expand 10 before | Expand all | Expand 10 after
806 NonOpaque, nullptr)); 806 NonOpaque, nullptr));
807 canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface)); 807 canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
808 808
809 context2d()->fillRect(0, 0, 1, 1); // To have a non-empty dirty rect 809 context2d()->fillRect(0, 0, 1, 1); // To have a non-empty dirty rect
810 for (int i = 0; 810 for (int i = 0;
811 i < ExpensiveCanvasHeuristicParameters::ExpensiveRecordingStackDepth - 1; 811 i < ExpensiveCanvasHeuristicParameters::ExpensiveRecordingStackDepth - 1;
812 ++i) { 812 ++i) {
813 context2d()->save(); 813 context2d()->save();
814 context2d()->translate(1.0f, 0.0f); 814 context2d()->translate(1.0f, 0.0f);
815 } 815 }
816 canvasElement().doDeferredPaintInvalidation(); // To close the current frame 816 canvasElement().finalizeFrame(); // To close the current frame
817 } 817 }
818 818
819 TEST_F(CanvasRenderingContext2DTest, FallbackWithLargeState) { 819 TEST_F(CanvasRenderingContext2DTest, FallbackWithLargeState) {
820 createContext(NonOpaque); 820 createContext(NonOpaque);
821 std::unique_ptr<RecordingImageBufferSurface> surface = 821 std::unique_ptr<RecordingImageBufferSurface> surface =
822 WTF::wrapUnique(new RecordingImageBufferSurface( 822 WTF::wrapUnique(new RecordingImageBufferSurface(
823 IntSize(10, 10), 823 IntSize(10, 10),
824 MockSurfaceFactory::create(MockSurfaceFactory::ExpectFallback), 824 MockSurfaceFactory::create(MockSurfaceFactory::ExpectFallback),
825 NonOpaque, nullptr)); 825 NonOpaque, nullptr));
826 canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface)); 826 canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
827 827
828 context2d()->fillRect(0, 0, 1, 1); // To have a non-empty dirty rect 828 context2d()->fillRect(0, 0, 1, 1); // To have a non-empty dirty rect
829 for (int i = 0; 829 for (int i = 0;
830 i < ExpensiveCanvasHeuristicParameters::ExpensiveRecordingStackDepth; 830 i < ExpensiveCanvasHeuristicParameters::ExpensiveRecordingStackDepth;
831 ++i) { 831 ++i) {
832 context2d()->save(); 832 context2d()->save();
833 context2d()->translate(1.0f, 0.0f); 833 context2d()->translate(1.0f, 0.0f);
834 } 834 }
835 canvasElement().doDeferredPaintInvalidation(); // To close the current frame 835 canvasElement().finalizeFrame(); // To close the current frame
836 } 836 }
837 837
838 TEST_F(CanvasRenderingContext2DTest, OpaqueDisplayListFallsBackForText) { 838 TEST_F(CanvasRenderingContext2DTest, OpaqueDisplayListFallsBackForText) {
839 // Verify that drawing text to an opaque canvas, which is expected to 839 // Verify that drawing text to an opaque canvas, which is expected to
840 // render with subpixel text anti-aliasing, results in falling out 840 // render with subpixel text anti-aliasing, results in falling out
841 // of display list mode because the current diplay list implementation 841 // of display list mode because the current diplay list implementation
842 // does not support pixel geometry settings. 842 // does not support pixel geometry settings.
843 // See: crbug.com/583809 843 // See: crbug.com/583809
844 createContext(Opaque); 844 createContext(Opaque);
845 std::unique_ptr<RecordingImageBufferSurface> surface = 845 std::unique_ptr<RecordingImageBufferSurface> surface =
(...skipping 519 matching lines...) Expand 10 before | Expand all | Expand 10 after
1365 1365
1366 RuntimeEnabledFeatures::setExperimentalCanvasFeaturesEnabled( 1366 RuntimeEnabledFeatures::setExperimentalCanvasFeaturesEnabled(
1367 experimentalCanvasFeaturesRuntimeFlag); 1367 experimentalCanvasFeaturesRuntimeFlag);
1368 RuntimeEnabledFeatures::setColorCorrectRenderingEnabled( 1368 RuntimeEnabledFeatures::setColorCorrectRenderingEnabled(
1369 colorCorrectRenderingRuntimeFlag); 1369 colorCorrectRenderingRuntimeFlag);
1370 RuntimeEnabledFeatures::setColorCorrectRenderingDefaultModeEnabled( 1370 RuntimeEnabledFeatures::setColorCorrectRenderingDefaultModeEnabled(
1371 colorCorrectRenderingDefaultModeRuntimeFlag); 1371 colorCorrectRenderingDefaultModeRuntimeFlag);
1372 } 1372 }
1373 1373
1374 } // namespace blink 1374 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698