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

Issue 634542 link

Starred by 15 users

Issue metadata

Status: Assigned
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 3
Type: Feature

Blocked on: View detail
issue 732904
issue 740163
issue 768855
issue 822751
issue 840371
issue 845482
issue 847513
issue 889526
issue 895873
issue 898631
issue 898640
issue 637288
issue 637381
issue 657946
issue 659251
issue 665919
issue 667411
issue 667420
issue 668546
issue 668547
issue 669135
issue 669536
issue 670703
issue 670712
issue 670715
issue 671048
issue 671356
issue 678364
issue 678629
issue 683154
issue 683307
issue 695964
issue 702578
issue 702982
issue 704155
issue 706850
issue 707898
issue 711886
issue 712270
issue 712377
issue 713632
issue 713867
issue 714266
issue 714349
issue 714649
issue 714663
issue 715239
issue 715264
issue 717549
issue 728137
issue 733274
issue 734588
issue 735976
issue 736374
issue 737165
issue 737625
issue 740197
issue 743300
issue 744698
issue 744771
issue 751150
issue 751152
issue 751156
issue 754713
issue 755668
issue 756129
issue 758669
issue 761424
issue 762558
issue 763042
issue 763495
issue 763605
issue 763933
issue 765948
issue 766018
issue 767275
issue 768844
issue 768896
issue 769847
issue 770330
issue 770760
issue 771714
issue 772093
issue 773247
issue 774484
issue 774520
issue 779570
issue 780358
issue 780925
issue 781908
issue 782278
issue 782323
issue 782383
issue 785389
issue 787039
issue 792797
issue 792798
issue 796226
issue 796582
issue 809650
issue 811303
issue 811318
issue 813079
issue 818240
issue 822724
issue 824212
issue 831254
issue 839034
issue 840372
issue 841318
issue 841325
issue 842688
issue 844145
issue 845556
issue 846441
issue 847436
issue 847527
issue 848252
issue 849297
issue 884788
issue 886999
issue 887015
issue 889055
issue 890342
issue 892281
issue 894516
issue 894546
issue 898500
issue 898846

Blocking:
issue 674593


Show other hotlists

Hotlists containing this issue:
Non-Standard-IDL


Sign in to add a comment

Implement canvas color spaces for 2D canvas and WebGL

Project Member Reported by junov@chromium.org, Aug 4 2016

Issue description

Implement the feature described by this spec proposal:
https://github.com/junov/CanvasColorSpace/blob/master/CanvasColorSpaceProposal.md
 
Project Member

Comment 1 by bugdroid1@chromium.org, Aug 24 2016

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

commit d5e03be7f3be92a1940c19aab0664ca02ce1011f
Author: junov <junov@chromium.org>
Date: Wed Aug 24 18:22:13 2016

Add some plumbing for the color management of canvases

This change adds an experimental canvas feature for specifying a
color space at context creation time. This change also adds the
necessary plumbing to propagate the color space information to the
SkSurface objects that back the canvas, as well as the mailboxes and
compositor resources that transport the canvas contents

BUG=634542
TBR=danakj
NOTRY=true
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_precise_blink_rel

Review-Url: https://codereview.chromium.org/2212163002
Cr-Commit-Position: refs/heads/master@{#414108}

[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/cc/resources/resource_provider.cc
[add] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/LayoutTests/fast/canvas/canvas-colorSpace-attribute.html
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/core/html/HTMLCanvasElement.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/core/html/canvas/CanvasContextCreationAttributes.idl
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/core/paint/HTMLCanvasPainterTest.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/canvas2d/Canvas2DContextAttributes.idl
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp
[delete] https://crrev.com/7a5d260eaadd7efcc073564b94c5c91e1856110d/third_party/WebKit/Source/modules/canvas2d/ContextAttributeHelpers.cpp
[delete] https://crrev.com/7a5d260eaadd7efcc073564b94c5c91e1856110d/third_party/WebKit/Source/modules/canvas2d/ContextAttributeHelpers.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/imagebitmap/ImageBitmapRenderingContext.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/imagebitmap/ImageBitmapRenderingContext.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/modules.gypi
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContext.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContext.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/webgl/WebGL2RenderingContextBase.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/webgl/WebGLContextAttributeHelpers.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/webgl/WebGLContextAttributeHelpers.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/webgl/WebGLRenderingContext.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/webgl/WebGLRenderingContext.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/platform/graphics/Canvas2DImageBufferSurface.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/platform/graphics/ImageBuffer.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/platform/graphics/ImageBuffer.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/platform/graphics/ImageBufferSurface.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/platform/graphics/ImageBufferSurface.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurfaceTest.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/platform/graphics/gpu/AcceleratedImageBufferSurface.cpp
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/Source/platform/graphics/gpu/AcceleratedImageBufferSurface.h
[modify] https://crrev.com/d5e03be7f3be92a1940c19aab0664ca02ce1011f/third_party/WebKit/public/platform/WebExternalBitmap.h

Project Member

Comment 2 by bugdroid1@chromium.org, Oct 20 2016

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

commit 75885ebb694faeabc19dd751561a82a582703793
Author: junov <junov@chromium.org>
Date: Thu Oct 20 19:17:54 2016

Fix the linear-rgb canvas color space so that it renders

This change fixes colorSpace:"linear-rgb" for 2D canvas so that
the skia rendering pipeline actually renders correctly into its
backing.  The results still do not propagate to the display,
but they are inspectable via getImageData.

The main issue was that skia only support linear transfer curves
when the color type is 16-bit float. Also, getImage data had to
work around some output format limitations in skia

BUG=634542
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://chromiumcodereview.appspot.com/2425113002
Cr-Commit-Position: refs/heads/master@{#426558}

[add] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/LayoutTests/fast/canvas/canvas-getImageData-linear-rgb.html
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/core/html/HTMLCanvasElement.cpp
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/core/html/HTMLCanvasElement.h
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.cpp
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/core/paint/HTMLCanvasPainterTest.cpp
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/platform/graphics/Canvas2DImageBufferSurface.h
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.cpp
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridge.h
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/platform/graphics/Canvas2DLayerBridgeTest.cpp
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/platform/graphics/ImageBuffer.cpp
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/platform/graphics/ImageBufferSurface.cpp
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/platform/graphics/ImageBufferSurface.h
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.cpp
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurface.h
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/platform/graphics/RecordingImageBufferSurfaceTest.cpp
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.cpp
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/platform/graphics/UnacceleratedImageBufferSurface.h
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/platform/graphics/gpu/AcceleratedImageBufferSurface.cpp
[modify] https://crrev.com/75885ebb694faeabc19dd751561a82a582703793/third_party/WebKit/Source/platform/graphics/gpu/AcceleratedImageBufferSurface.h

Blockedon: 657946 667411 667420 665919
Blockedon: 670712

Comment 5 by junov@chromium.org, Dec 13 2016

Cc: kbr@chromium.org ccameron@chromium.org qiankun....@intel.com junov@chromium.org
 Issue 672299  has been merged into this issue.
Project Member

Comment 6 by bugdroid1@chromium.org, Dec 14 2016

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

commit 50c83740c5e9efd2ffe380b0f0181e843908172b
Author: junov <junov@chromium.org>
Date: Wed Dec 14 15:18:05 2016

Add ColorBehavior plumbing for 2D canvas drawImage

BUG=634542

Review-Url: https://codereview.chromium.org/2572873002
Cr-Commit-Position: refs/heads/master@{#438519}

[modify] https://crrev.com/50c83740c5e9efd2ffe380b0f0181e843908172b/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.cpp
[modify] https://crrev.com/50c83740c5e9efd2ffe380b0f0181e843908172b/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h
[modify] https://crrev.com/50c83740c5e9efd2ffe380b0f0181e843908172b/third_party/WebKit/Source/modules/canvas2d/BaseRenderingContext2D.cpp
[modify] https://crrev.com/50c83740c5e9efd2ffe380b0f0181e843908172b/third_party/WebKit/Source/modules/canvas2d/BaseRenderingContext2D.h
[modify] https://crrev.com/50c83740c5e9efd2ffe380b0f0181e843908172b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
[modify] https://crrev.com/50c83740c5e9efd2ffe380b0f0181e843908172b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.h
[modify] https://crrev.com/50c83740c5e9efd2ffe380b0f0181e843908172b/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp
[modify] https://crrev.com/50c83740c5e9efd2ffe380b0f0181e843908172b/third_party/WebKit/Source/modules/csspaint/PaintRenderingContext2D.cpp
[modify] https://crrev.com/50c83740c5e9efd2ffe380b0f0181e843908172b/third_party/WebKit/Source/modules/csspaint/PaintRenderingContext2D.h
[modify] https://crrev.com/50c83740c5e9efd2ffe380b0f0181e843908172b/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.cpp
[modify] https://crrev.com/50c83740c5e9efd2ffe380b0f0181e843908172b/third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.h
[modify] https://crrev.com/50c83740c5e9efd2ffe380b0f0181e843908172b/third_party/WebKit/Source/platform/graphics/ColorBehavior.cpp
[modify] https://crrev.com/50c83740c5e9efd2ffe380b0f0181e843908172b/third_party/WebKit/Source/platform/graphics/ColorBehavior.h

Project Member

Comment 7 by bugdroid1@chromium.org, Jan 27 2017

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

commit 95e575c95dbae022874c992ac7c87cde406d38a3
Author: zakerinasab <zakerinasab@chromium.org>
Date: Fri Jan 27 20:31:00 2017

Add rec-2020 and p3 color spaces to canvas

This change adds two new color spaces to canvas: linear-rec-2020 and
linear-p3. It also adds two layout tests that examines if the Skia
rendering pipeline correctly renders the canvases with these color
space tags.

We still do not have end-to-end layout tests for these color spaces
(and also linear-rgb). This issue will be addressed later.

This change also inherits this issue from the previous CL:
"getImage data had to work around some output format limitations in skia."

BUG=634542
CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_layout_tests_slimming_paint_v2

Review-Url: https://codereview.chromium.org/2656623002
Cr-Commit-Position: refs/heads/master@{#446751}

[add] https://crrev.com/95e575c95dbae022874c992ac7c87cde406d38a3/third_party/WebKit/LayoutTests/fast/canvas/canvas-getImageData-p3.html
[add] https://crrev.com/95e575c95dbae022874c992ac7c87cde406d38a3/third_party/WebKit/LayoutTests/fast/canvas/canvas-getImageData-rec-2020.html
[modify] https://crrev.com/95e575c95dbae022874c992ac7c87cde406d38a3/third_party/WebKit/LayoutTests/virtual/color_space/fast/canvas/color-space/canvas-colorSpace-attribute.html
[modify] https://crrev.com/95e575c95dbae022874c992ac7c87cde406d38a3/third_party/WebKit/Source/core/html/canvas/CanvasContextCreationAttributes.idl
[modify] https://crrev.com/95e575c95dbae022874c992ac7c87cde406d38a3/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.cpp
[modify] https://crrev.com/95e575c95dbae022874c992ac7c87cde406d38a3/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h
[modify] https://crrev.com/95e575c95dbae022874c992ac7c87cde406d38a3/third_party/WebKit/Source/core/imagebitmap/ImageBitmapOptions.idl
[modify] https://crrev.com/95e575c95dbae022874c992ac7c87cde406d38a3/third_party/WebKit/Source/modules/canvas2d/Canvas2DContextAttributes.idl

Blocking: 695964
Project Member

Comment 9 by bugdroid1@chromium.org, Feb 25 2017

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

commit d0b25b0a993e6623ddf9deb789cbd6f9ae35435d
Author: zakerinasab <zakerinasab@chromium.org>
Date: Sat Feb 25 02:46:22 2017

Implement canvas color space IDL format for 2D canvas

This patch updates the previous implementation of the canvas color space
to match the latest changes of the proposal in
https://github.com/WICG/canvas-color-space/blob/master/CanvasColorSpaceProposal.md

BUG=634542

Review-Url: https://codereview.chromium.org/2708403003
Cr-Commit-Position: refs/heads/master@{#453052}

[modify] https://crrev.com/d0b25b0a993e6623ddf9deb789cbd6f9ae35435d/content/test/data/gpu/pixel_canvas_display_linear-rgb.html
[modify] https://crrev.com/d0b25b0a993e6623ddf9deb789cbd6f9ae35435d/third_party/WebKit/LayoutTests/fast/canvas/canvas-getImageData-linear-rgb.html
[rename] https://crrev.com/d0b25b0a993e6623ddf9deb789cbd6f9ae35435d/third_party/WebKit/LayoutTests/fast/canvas/canvas-getImageData-rec2020.html
[modify] https://crrev.com/d0b25b0a993e6623ddf9deb789cbd6f9ae35435d/third_party/WebKit/LayoutTests/fast/canvas/color-space/display_linear-rgb.html
[delete] https://crrev.com/3fffa417af5b70accf1fe290b60de87c419be5df/third_party/WebKit/LayoutTests/virtual/color_space/fast/canvas/color-space/canvas-colorSpace-attribute.html
[add] https://crrev.com/d0b25b0a993e6623ddf9deb789cbd6f9ae35435d/third_party/WebKit/LayoutTests/virtual/color_space/fast/canvas/color-space/canvas-colorspace-arguments.html
[modify] https://crrev.com/d0b25b0a993e6623ddf9deb789cbd6f9ae35435d/third_party/WebKit/Source/core/html/canvas/CanvasContextCreationAttributes.idl
[modify] https://crrev.com/d0b25b0a993e6623ddf9deb789cbd6f9ae35435d/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.cpp
[modify] https://crrev.com/d0b25b0a993e6623ddf9deb789cbd6f9ae35435d/third_party/WebKit/Source/core/html/canvas/CanvasRenderingContext.h
[delete] https://crrev.com/3fffa417af5b70accf1fe290b60de87c419be5df/third_party/WebKit/Source/modules/canvas2d/Canvas2DContextAttributes.idl
[modify] https://crrev.com/d0b25b0a993e6623ddf9deb789cbd6f9ae35435d/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.cpp
[modify] https://crrev.com/d0b25b0a993e6623ddf9deb789cbd6f9ae35435d/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.h
[modify] https://crrev.com/d0b25b0a993e6623ddf9deb789cbd6f9ae35435d/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2D.idl
[add] https://crrev.com/d0b25b0a993e6623ddf9deb789cbd6f9ae35435d/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DSettings.idl
[modify] https://crrev.com/d0b25b0a993e6623ddf9deb789cbd6f9ae35435d/third_party/WebKit/Source/modules/canvas2d/CanvasRenderingContext2DTest.cpp
[modify] https://crrev.com/d0b25b0a993e6623ddf9deb789cbd6f9ae35435d/third_party/WebKit/Source/modules/modules_idl_files.gni

Blocking: 674593
Do we have any plan to standardize CanvasContextCreationAttributes?

Comment 11 by kbr@chromium.org, Mar 15 2017

They should be standardized. Right now the algorithm described in https://html.spec.whatwg.org/multipage/scripting.html#2dcontext:canvasrenderingcontext2dsettings for "coercing" the incoming dictionary to CanvasRenderingContext2DSettings doesn't really work.

Some time ago the custom binding code for Canvas.getContext was deleted from Blink, and in the process, it was discovered that all of the dictionaries for all of the canvas context types basically have to be compatible. The spec shouldn't define a per-context type for the second argument to getContext.

This may cause some scalability problems during spec development, since a central document will have to be updated each time one of the canvas context specs adds a new attribute. https://wiki.whatwg.org/wiki/CanvasContexts used to be that central place, but it's now obsolete.

Cc: foolip@chromium.org
Blockedon: 713867
Blockedon: 792797
Blockedon: 792798
Blockedon: 796226
Blockedon: 796582
Blocking: -695964
Blockedon: 809650
Blockedon: 811303
Blockedon: 811318
Blockedon: 813079
Blockedon: 818240
Blockedon: 663569
Blockedon: 822724
Blockedon: 822751
Blockedon: 824212
Blockedon: 839034
Blockedon: 840372
Blockedon: 841318
Blockedon: 841325
Blockedon: 842688
Blockedon: 844145
Blockedon: 845482
Blockedon: 845556
Blockedon: 846441
Blockedon: 847436
Blockedon: 847513
Blockedon: 847527
Blockedon: 848252
Blockedon: 849297
Cc: -junov@chromium.org
Owner: ----
Status: Available (was: Assigned)

Comment 45 Deleted

Blockedon: 884788
Blockedon: 886999
Blockedon: 887015
Blockedon: 889055
Blockedon: 831254
Blockedon: 840371
Blockedon: 889526
Blockedon: 890342
Blockedon: 892281
Blockedon: 894516
Blockedon: 894546
Blockedon: 895873
Blockedon: 898500
Blockedon: 711886
Owner: zakerinasab@chromium.org
Cc: zakerinasab@chromium.org
 Issue 678629  has been merged into this issue.
Blockedon: -663569
Blockedon: 898631
Blockedon: 898640
Owner: fs...@chromium.org
Status: Assigned (was: Available)
Blockedon: 898846

Sign in to add a comment