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

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: rebase Created 3 years, 10 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/frame/FrameView.h" 8 #include "core/frame/FrameView.h"
9 #include "core/frame/ImageBitmap.h" 9 #include "core/frame/ImageBitmap.h"
10 #include "core/html/HTMLCanvasElement.h" 10 #include "core/html/HTMLCanvasElement.h"
(...skipping 804 matching lines...) Expand 10 before | Expand all | Expand 10 after
815 NonOpaque, nullptr)); 815 NonOpaque, nullptr));
816 canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface)); 816 canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
817 817
818 context2d()->fillRect(0, 0, 1, 1); // To have a non-empty dirty rect 818 context2d()->fillRect(0, 0, 1, 1); // To have a non-empty dirty rect
819 for (int i = 0; 819 for (int i = 0;
820 i < ExpensiveCanvasHeuristicParameters::ExpensiveRecordingStackDepth - 1; 820 i < ExpensiveCanvasHeuristicParameters::ExpensiveRecordingStackDepth - 1;
821 ++i) { 821 ++i) {
822 context2d()->save(); 822 context2d()->save();
823 context2d()->translate(1.0f, 0.0f); 823 context2d()->translate(1.0f, 0.0f);
824 } 824 }
825 canvasElement().doDeferredPaintInvalidation(); // To close the current frame 825 canvasElement().finalizeFrame(); // To close the current frame
826 } 826 }
827 827
828 TEST_F(CanvasRenderingContext2DTest, FallbackWithLargeState) { 828 TEST_F(CanvasRenderingContext2DTest, FallbackWithLargeState) {
829 createContext(NonOpaque); 829 createContext(NonOpaque);
830 std::unique_ptr<RecordingImageBufferSurface> surface = 830 std::unique_ptr<RecordingImageBufferSurface> surface =
831 WTF::wrapUnique(new RecordingImageBufferSurface( 831 WTF::wrapUnique(new RecordingImageBufferSurface(
832 IntSize(10, 10), 832 IntSize(10, 10),
833 MockSurfaceFactory::create(MockSurfaceFactory::ExpectFallback), 833 MockSurfaceFactory::create(MockSurfaceFactory::ExpectFallback),
834 NonOpaque, nullptr)); 834 NonOpaque, nullptr));
835 canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface)); 835 canvasElement().createImageBufferUsingSurfaceForTesting(std::move(surface));
836 836
837 context2d()->fillRect(0, 0, 1, 1); // To have a non-empty dirty rect 837 context2d()->fillRect(0, 0, 1, 1); // To have a non-empty dirty rect
838 for (int i = 0; 838 for (int i = 0;
839 i < ExpensiveCanvasHeuristicParameters::ExpensiveRecordingStackDepth; 839 i < ExpensiveCanvasHeuristicParameters::ExpensiveRecordingStackDepth;
840 ++i) { 840 ++i) {
841 context2d()->save(); 841 context2d()->save();
842 context2d()->translate(1.0f, 0.0f); 842 context2d()->translate(1.0f, 0.0f);
843 } 843 }
844 canvasElement().doDeferredPaintInvalidation(); // To close the current frame 844 canvasElement().finalizeFrame(); // To close the current frame
845 } 845 }
846 846
847 TEST_F(CanvasRenderingContext2DTest, OpaqueDisplayListFallsBackForText) { 847 TEST_F(CanvasRenderingContext2DTest, OpaqueDisplayListFallsBackForText) {
848 // Verify that drawing text to an opaque canvas, which is expected to 848 // Verify that drawing text to an opaque canvas, which is expected to
849 // render with subpixel text anti-aliasing, results in falling out 849 // render with subpixel text anti-aliasing, results in falling out
850 // of display list mode because the current diplay list implementation 850 // of display list mode because the current diplay list implementation
851 // does not support pixel geometry settings. 851 // does not support pixel geometry settings.
852 // See: crbug.com/583809 852 // See: crbug.com/583809
853 createContext(Opaque); 853 createContext(Opaque);
854 std::unique_ptr<RecordingImageBufferSurface> surface = 854 std::unique_ptr<RecordingImageBufferSurface> surface =
(...skipping 505 matching lines...) Expand 10 before | Expand all | Expand 10 after
1360 1360
1361 RuntimeEnabledFeatures::setExperimentalCanvasFeaturesEnabled( 1361 RuntimeEnabledFeatures::setExperimentalCanvasFeaturesEnabled(
1362 experimentalCanvasFeaturesRuntimeFlag); 1362 experimentalCanvasFeaturesRuntimeFlag);
1363 RuntimeEnabledFeatures::setColorCorrectRenderingEnabled( 1363 RuntimeEnabledFeatures::setColorCorrectRenderingEnabled(
1364 colorCorrectRenderingRuntimeFlag); 1364 colorCorrectRenderingRuntimeFlag);
1365 RuntimeEnabledFeatures::setColorCorrectRenderingDefaultModeEnabled( 1365 RuntimeEnabledFeatures::setColorCorrectRenderingDefaultModeEnabled(
1366 colorCorrectRenderingDefaultModeRuntimeFlag); 1366 colorCorrectRenderingDefaultModeRuntimeFlag);
1367 } 1367 }
1368 1368
1369 } // namespace blink 1369 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698