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

Side by Side Diff: Source/core/html/canvas/CanvasRenderingContext2DTest.cpp

Issue 1093673002: Removing the dependency on GraphicsContext for drawing images in 2D canvas (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: rebase Created 5 years, 6 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 | Annotate | Revision Log
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 "config.h" 5 #include "config.h"
6 6
7 #include "core/html/canvas/CanvasRenderingContext2D.h" 7 #include "core/html/canvas/CanvasRenderingContext2D.h"
8 8
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 550 matching lines...) Expand 10 before | Expand all | Expand 10 after
561 EXPECT_FALSE(canvasElement().shouldBeDirectComposited()); 561 EXPECT_FALSE(canvasElement().shouldBeDirectComposited());
562 } 562 }
563 563
564 TEST_F(CanvasRenderingContext2DTest, NoFallbackWithSmallState) 564 TEST_F(CanvasRenderingContext2DTest, NoFallbackWithSmallState)
565 { 565 {
566 createContext(NonOpaque); 566 createContext(NonOpaque);
567 OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBuf ferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::Expec tNoFallback), NonOpaque)); 567 OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBuf ferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::Expec tNoFallback), NonOpaque));
568 canvasElement().createImageBufferUsingSurfaceForTesting(surface.release()); 568 canvasElement().createImageBufferUsingSurfaceForTesting(surface.release());
569 569
570 context2d()->fillRect(0, 0, 1, 1); // To have a non-empty dirty rect 570 context2d()->fillRect(0, 0, 1, 1); // To have a non-empty dirty rect
571 for (int i = 0; i < ExpensiveCanvasHeuristicParameters::ExpensiveRecordingSt ackDepth - 2; ++i) { 571 for (int i = 0; i < ExpensiveCanvasHeuristicParameters::ExpensiveRecordingSt ackDepth - 1; ++i) {
572 context2d()->save(); 572 context2d()->save();
573 context2d()->translate(1.0f, 0.0f); 573 context2d()->translate(1.0f, 0.0f);
574 } 574 }
575 canvasElement().doDeferredPaintInvalidation(); // To close the current frame 575 canvasElement().doDeferredPaintInvalidation(); // To close the current frame
576 } 576 }
577 577
578 TEST_F(CanvasRenderingContext2DTest, FallbackWithLargeState) 578 TEST_F(CanvasRenderingContext2DTest, FallbackWithLargeState)
579 { 579 {
580 createContext(NonOpaque); 580 createContext(NonOpaque);
581 OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBuf ferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::Expec tFallback), NonOpaque)); 581 OwnPtr<RecordingImageBufferSurface> surface = adoptPtr(new RecordingImageBuf ferSurface(IntSize(10, 10), MockSurfaceFactory::create(MockSurfaceFactory::Expec tFallback), NonOpaque));
582 canvasElement().createImageBufferUsingSurfaceForTesting(surface.release()); 582 canvasElement().createImageBufferUsingSurfaceForTesting(surface.release());
583 583
584 context2d()->fillRect(0, 0, 1, 1); // To have a non-empty dirty rect 584 context2d()->fillRect(0, 0, 1, 1); // To have a non-empty dirty rect
585 for (int i = 0; i < ExpensiveCanvasHeuristicParameters::ExpensiveRecordingSt ackDepth - 1; ++i) { 585 for (int i = 0; i < ExpensiveCanvasHeuristicParameters::ExpensiveRecordingSt ackDepth; ++i) {
586 context2d()->save(); 586 context2d()->save();
587 context2d()->translate(1.0f, 0.0f); 587 context2d()->translate(1.0f, 0.0f);
588 } 588 }
589 canvasElement().doDeferredPaintInvalidation(); // To close the current frame 589 canvasElement().doDeferredPaintInvalidation(); // To close the current frame
590 } 590 }
591 591
592 TEST_F(CanvasRenderingContext2DTest, CanvasObserver) 592 TEST_F(CanvasRenderingContext2DTest, CanvasObserver)
593 { 593 {
594 createContext(NonOpaque); 594 createContext(NonOpaque);
595 OwnPtrWillBeRawPtr<MockCanvasObserver> observer = MockCanvasObserver::create (); 595 OwnPtrWillBeRawPtr<MockCanvasObserver> observer = MockCanvasObserver::create ();
596 canvasElement().addObserver(observer.get()); 596 canvasElement().addObserver(observer.get());
597 597
598 // The canvasChanged notification must be immediate, and not deferred until paint time 598 // The canvasChanged notification must be immediate, and not deferred until paint time
599 // because offscreen canvases, which are not painted, also need to emit noti fications. 599 // because offscreen canvases, which are not painted, also need to emit noti fications.
600 EXPECT_CALL(*observer, canvasChanged(&canvasElement(), FloatRect(0, 0, 1, 1) )).Times(1); 600 EXPECT_CALL(*observer, canvasChanged(&canvasElement(), FloatRect(0, 0, 1, 1) )).Times(1);
601 context2d()->fillRect(0, 0, 1, 1); 601 context2d()->fillRect(0, 0, 1, 1);
602 Mock::VerifyAndClearExpectations(observer.get()); 602 Mock::VerifyAndClearExpectations(observer.get());
603 603
604 canvasElement().removeObserver(observer.get()); 604 canvasElement().removeObserver(observer.get());
605 } 605 }
606 606
607 } // unnamed namespace 607 } // unnamed namespace
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698