New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 776802 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Task

Blocking:
issue 776800



Sign in to add a comment

HTMLCanvasElement to use Canvas2DLayerBridge directly

Project Member Reported by xlai@chromium.org, Oct 20 2017

Issue description

HTMLCanvasElement to use Canvas2DLayerBridge for all rendering modes, even printing.  Always rasterize via compositing layer except for printing.
 

Comment 1 by xlai@chromium.org, Oct 20 2017

Blocking: 776800

Comment 2 by xlai@chromium.org, Oct 20 2017

Labels: -Type-Bug Type-Task
Project Member

Comment 3 by bugdroid1@chromium.org, Dec 15 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6c3982b4874886a8e83338f419ea8956319a3d78

commit 6c3982b4874886a8e83338f419ea8956319a3d78
Author: xlai <xlai@chromium.org>
Date: Fri Dec 15 23:26:06 2017

Remove ImageBuffer from HTMLCanvas and its rendering contexts

This CL lets HTMLCanvasElement directly access Canvas2DLayerBridge. As a result, the ImageBuffer
and ImageBufferSurface classes are trimmed down drastically:
1. Functions that serve to re-route calls in between canvas and its rendering contexts and
   Canvas2DLayerBridge become redundant and are all removed.
2. ImageBuffer::CopyRenderingResultsFromDrawingBuffer, which is used by webgl only, now becomes
   a function in WebGLRenderingContextBase.
3. Functions that are used by canvas 2d only, such as ImageBuffer::PutByteArray,
   ImageBuffer::WritePixels, etc, have all became functions in BaseRenderingContext2D.
4. ImageBuffer::CanCreateImageBuffer becomes SkiaUtils::IsValidImageSize.
5. ImageBuffer::CopyToPlatformTexture becomes StaticBitmapImage::CopyImageToPlatformTexture.
6. Some small functions that are called once are dissolved into other classes.

Bug:  776806 , 776802 
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel;master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2;master.tryserver.chromium.linux:linux_optional_gpu_tests_rel;master.tryserver.chromium.mac:mac_optional_gpu_tests_rel;master.tryserver.chromium.win:win_optional_gpu_tests_rel
Change-Id: I4fb6ba344ac7b23761631985e61d65906f6225ed
Reviewed-on: https://chromium-review.googlesource.com/824437
Commit-Queue: Olivia Lai <xlai@chromium.org>
Reviewed-by: Kenneth Russell <kbr@chromium.org>
Reviewed-by: Justin Novosad <junov@chromium.org>
Cr-Commit-Position: refs/heads/master@{#524515}
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/core/html/HTMLCanvasElement.h
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContextHost.h
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.cpp
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/core/offscreencanvas/OffscreenCanvas.h
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/modules/canvas/canvas2d/BaseRenderingContext2D.cpp
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/modules/canvas/canvas2d/BaseRenderingContext2D.h
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/modules/canvas/canvas2d/CanvasRenderingContext2D.cpp
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/modules/canvas/canvas2d/CanvasRenderingContext2D.h
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/modules/canvas/canvas2d/CanvasRenderingContext2DTest.cpp
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/modules/canvas/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/modules/canvas/offscreencanvas2d/OffscreenCanvasRenderingContext2D.h
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/modules/csspaint/PaintRenderingContext2D.h
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.h
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/platform/graphics/ImageBuffer.cpp
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/platform/graphics/ImageBuffer.h
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/platform/graphics/ImageBufferSurface.cpp
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/platform/graphics/ImageBufferSurface.h
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/platform/graphics/StaticBitmapImage.cpp
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/platform/graphics/StaticBitmapImage.h
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/platform/graphics/gpu/AcceleratedImageBufferSurface.h
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/platform/graphics/skia/SkiaUtils.cpp
[modify] https://crrev.com/6c3982b4874886a8e83338f419ea8956319a3d78/third_party/WebKit/Source/platform/graphics/skia/SkiaUtils.h

Comment 4 by xlai@chromium.org, Dec 20 2017

Status: Fixed (was: Assigned)

Sign in to add a comment