|
Implementation of 2D canvas context lost/restored events
This change adds the APIs specified in the feature proposal found here:
http://wiki.whatwg.org/wiki/Canvas_Context_Loss_and_Restoration
The API changes are hidden behind the experimental canvas features flag.
This change does not implement any elective canvas evictions. Those will
be added in a future change. Only pre-existing context loss use cases
are handled, such as failure to allocate a backing store, and gpu
failures.
The strategy for recovering from a GPU context lost was modified
substantially in order to accomodate synchronization issues with the
context restored event. Context restoration is now attempted proactively
through a scheduled event. Prior to this change, restoration happened
lazily when trying to use the canvas.
BUG= 322335
R=senorblanco@chromium.org
Committed: https://src.chromium.org/viewvc/blink?view=rev&revision=170572
Total comments: 4
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+483 lines, -335 lines) |
Patch |
 |
D |
LayoutTests/fast/canvas/canvas-extremely-large-dimensions.html
|
View
|
|
1 chunk |
+0 lines, -9 lines |
0 comments
|
Download
|
 |
D |
LayoutTests/fast/canvas/canvas-extremely-large-dimensions-expected.txt
|
View
|
|
1 chunk |
+0 lines, -33 lines |
0 comments
|
Download
|
 |
A + |
LayoutTests/fast/canvas/canvas-lose-restore-googol-size.html
|
View
|
1
2
|
1 chunk |
+52 lines, -17 lines |
0 comments
|
Download
|
 |
A + |
LayoutTests/fast/canvas/canvas-lose-restore-googol-size-expected.txt
|
View
|
1
|
1 chunk |
+15 lines, -4 lines |
0 comments
|
Download
|
 |
A + |
LayoutTests/fast/canvas/canvas-lose-restore-max-int-size.html
|
View
|
1
|
1 chunk |
+58 lines, -72 lines |
0 comments
|
Download
|
 |
A + |
LayoutTests/fast/canvas/canvas-lose-restore-max-int-size-expected.txt
|
View
|
1
|
1 chunk |
+15 lines, -4 lines |
0 comments
|
Download
|
 |
D |
LayoutTests/fast/canvas/script-tests/canvas-extremely-large-dimensions.js
|
View
|
|
1 chunk |
+0 lines, -85 lines |
0 comments
|
Download
|
 |
M |
LayoutTests/fast/canvas/script-tests/canvas-lost-gpu-context.js
|
View
|
|
1 chunk |
+42 lines, -43 lines |
0 comments
|
Download
|
 |
M |
LayoutTests/inspector/profiler/canvas2d/canvas2d-api-changes-expected.txt
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
LayoutTests/virtual/gpu/fast/canvas/canvas-lost-gpu-context-expected.txt
|
View
|
|
1 chunk |
+10 lines, -9 lines |
0 comments
|
Download
|
 |
M |
Source/core/events/EventTypeNames.in
|
View
|
1
2
|
1 chunk |
+2 lines, -0 lines |
0 comments
|
Download
|
 |
M |
Source/core/html/HTMLCanvasElement.h
|
View
|
1
2
3
4
|
5 chunks |
+9 lines, -3 lines |
0 comments
|
Download
|
 |
M |
Source/core/html/HTMLCanvasElement.cpp
|
View
|
1
2
3
4
|
6 chunks |
+30 lines, -0 lines |
0 comments
|
Download
|
 |
M |
Source/core/html/canvas/Canvas2DContextAttributes.h
|
View
|
|
2 chunks |
+10 lines, -0 lines |
0 comments
|
Download
|
 |
M |
Source/core/html/canvas/Canvas2DContextAttributes.cpp
|
View
|
|
2 chunks |
+21 lines, -0 lines |
0 comments
|
Download
|
 |
M |
Source/core/html/canvas/Canvas2DContextAttributes.idl
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
 |
M |
Source/core/html/canvas/CanvasRenderingContext2D.h
|
View
|
1
2
3
4
|
4 chunks |
+16 lines, -0 lines |
0 comments
|
Download
|
 |
M |
Source/core/html/canvas/CanvasRenderingContext2D.cpp
|
View
|
1
2
3
4
|
4 chunks |
+102 lines, -1 line |
0 comments
|
Download
|
 |
M |
Source/core/html/canvas/CanvasRenderingContext2D.idl
|
View
|
1
2
3
4
|
1 chunk |
+4 lines, -0 lines |
0 comments
|
Download
|
 |
M |
Source/platform/blink_platform.gypi
|
View
|
1
2
|
1 chunk |
+3 lines, -2 lines |
0 comments
|
Download
|
 |
M |
Source/platform/graphics/Canvas2DImageBufferSurface.h
|
View
|
1
2
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
 |
M |
Source/platform/graphics/Canvas2DLayerBridge.h
|
View
|
1
2
|
3 chunks |
+7 lines, -3 lines |
0 comments
|
Download
|
 |
M |
Source/platform/graphics/Canvas2DLayerBridge.cpp
|
View
|
1
2
3
4
|
8 chunks |
+24 lines, -23 lines |
0 comments
|
Download
|
 |
M |
Source/platform/graphics/ImageBuffer.h
|
View
|
|
4 chunks |
+8 lines, -1 line |
0 comments
|
Download
|
 |
M |
Source/platform/graphics/ImageBuffer.cpp
|
View
|
|
11 chunks |
+27 lines, -11 lines |
0 comments
|
Download
|
 |
A + |
Source/platform/graphics/ImageBufferClient.h
|
View
|
1
|
2 chunks |
+9 lines, -7 lines |
0 comments
|
Download
|
 |
M |
Source/platform/graphics/ImageBufferSurface.h
|
View
|
|
3 chunks |
+6 lines, -7 lines |
0 comments
|
Download
|
 |
M |
Source/platform/graphics/ImageBufferSurface.cpp
|
View
|
|
1 chunk |
+8 lines, -0 lines |
0 comments
|
Download
|
Total messages: 19 (0 generated)
|