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

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

Issue 1414553002: Fix out-of-memory crashes related to ArrayBuffer allocation Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase+more tweaks Created 5 years, 1 month 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 "config.h" 5 #include "config.h"
6 #include "modules/canvas2d/CanvasRenderingContext2D.h" 6 #include "modules/canvas2d/CanvasRenderingContext2D.h"
7 7
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 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
134 void CanvasRenderingContext2DTest::SetUp() 134 void CanvasRenderingContext2DTest::SetUp()
135 { 135 {
136 Page::PageClients pageClients; 136 Page::PageClients pageClients;
137 fillWithEmptyClients(pageClients); 137 fillWithEmptyClients(pageClients);
138 m_dummyPageHolder = DummyPageHolder::create(IntSize(800, 600), &pageClients) ; 138 m_dummyPageHolder = DummyPageHolder::create(IntSize(800, 600), &pageClients) ;
139 m_document = toHTMLDocument(&m_dummyPageHolder->document()); 139 m_document = toHTMLDocument(&m_dummyPageHolder->document());
140 m_document->documentElement()->setInnerHTML("<body><canvas id='c'></canvas>< /body>", ASSERT_NO_EXCEPTION); 140 m_document->documentElement()->setInnerHTML("<body><canvas id='c'></canvas>< /body>", ASSERT_NO_EXCEPTION);
141 m_document->view()->updateAllLifecyclePhases(); 141 m_document->view()->updateAllLifecyclePhases();
142 m_canvasElement = toHTMLCanvasElement(m_document->getElementById("c")); 142 m_canvasElement = toHTMLCanvasElement(m_document->getElementById("c"));
143 143
144 m_fullImageData = ImageData::create(IntSize(10, 10)); 144 NonThrowableExceptionState exceptionState;
145 m_partialImageData = ImageData::create(IntSize(2, 2)); 145 m_fullImageData = ImageData::create(IntSize(10, 10), exceptionState);
146 EXPECT_FALSE(exceptionState.hadException());
147 m_partialImageData = ImageData::create(IntSize(2, 2), exceptionState);
148 EXPECT_FALSE(exceptionState.hadException());
146 149
147 NonThrowableExceptionState exceptionState;
148 CanvasGradient* opaqueGradient = CanvasGradient::create(FloatPoint(0, 0), Fl oatPoint(10, 0)); 150 CanvasGradient* opaqueGradient = CanvasGradient::create(FloatPoint(0, 0), Fl oatPoint(10, 0));
149 opaqueGradient->addColorStop(0, String("green"), exceptionState); 151 opaqueGradient->addColorStop(0, String("green"), exceptionState);
150 EXPECT_FALSE(exceptionState.hadException()); 152 EXPECT_FALSE(exceptionState.hadException());
151 opaqueGradient->addColorStop(1, String("blue"), exceptionState); 153 opaqueGradient->addColorStop(1, String("blue"), exceptionState);
152 EXPECT_FALSE(exceptionState.hadException()); 154 EXPECT_FALSE(exceptionState.hadException());
153 this->opaqueGradient().setCanvasGradient(opaqueGradient); 155 this->opaqueGradient().setCanvasGradient(opaqueGradient);
154 156
155 CanvasGradient* alphaGradient = CanvasGradient::create(FloatPoint(0, 0), Flo atPoint(10, 0)); 157 CanvasGradient* alphaGradient = CanvasGradient::create(FloatPoint(0, 0), Flo atPoint(10, 0));
156 alphaGradient->addColorStop(0, String("green"), exceptionState); 158 alphaGradient->addColorStop(0, String("green"), exceptionState);
157 EXPECT_FALSE(exceptionState.hadException()); 159 EXPECT_FALSE(exceptionState.hadException());
(...skipping 427 matching lines...) Expand 10 before | Expand all | Expand 10 after
585 587
586 context2d()->fillRect(0, 0, 1, 1); // To have a non-empty dirty rect 588 context2d()->fillRect(0, 0, 1, 1); // To have a non-empty dirty rect
587 for (int i = 0; i < ExpensiveCanvasHeuristicParameters::ExpensiveRecordingSt ackDepth; ++i) { 589 for (int i = 0; i < ExpensiveCanvasHeuristicParameters::ExpensiveRecordingSt ackDepth; ++i) {
588 context2d()->save(); 590 context2d()->save();
589 context2d()->translate(1.0f, 0.0f); 591 context2d()->translate(1.0f, 0.0f);
590 } 592 }
591 canvasElement().doDeferredPaintInvalidation(); // To close the current frame 593 canvasElement().doDeferredPaintInvalidation(); // To close the current frame
592 } 594 }
593 595
594 } // namespace blink 596 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698