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

Side by Side Diff: third_party/WebKit/Source/core/html/canvas/CanvasContextCreationAttributes.idl

Issue 2656623002: Add rec-2020 and p3 color spaces to canvas (Closed)
Patch Set: Minor corrections Created 3 years, 10 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
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 // The spec for HTMLCanvasElement.getContext() defines the context 5 // The spec for HTMLCanvasElement.getContext() defines the context
6 // creation attributes as type "any". In order to eliminate custom 6 // creation attributes as type "any". In order to eliminate custom
7 // bindings for getContext(), we define a dictionary that contains the 7 // bindings for getContext(), we define a dictionary that contains the
8 // union of all of the context types' attributes. Note that it is not 8 // union of all of the context types' attributes. Note that it is not
9 // possible to use a union type for this purpose because two dictionary 9 // possible to use a union type for this purpose because two dictionary
10 // types are not distinguishable. 10 // types are not distinguishable.
11 // 11 //
12 // Fortunately, there aren't any context creation attributes which are 12 // Fortunately, there aren't any context creation attributes which are
13 // defined with different default values in different context 13 // defined with different default values in different context
14 // specifications. (The "alpha" value, in particular, has a default 14 // specifications. (The "alpha" value, in particular, has a default
15 // value of true for both the Canvas2D and WebGL specifications.) 15 // value of true for both the Canvas2D and WebGL specifications.)
16 // 16 //
17 // The PermissiveDictionaryConversion extended attribute ignores 17 // The PermissiveDictionaryConversion extended attribute ignores
18 // non-object types (like 'true' and 'false') passed to getContext() for 18 // non-object types (like 'true' and 'false') passed to getContext() for
19 // the attributes instead of raising TypeError, following the behavior 19 // the attributes instead of raising TypeError, following the behavior
20 // of the previous custom binding. 20 // of the previous custom binding.
21 // 21 //
22 // N.B.: Web IDL doesn't support multiple inheritance of dictionaries. 22 // N.B.: Web IDL doesn't support multiple inheritance of dictionaries.
23 23
24
25 enum CanvasColorSpace { "legacy-srgb", "srgb", "linear-rgb", "linear-rec-2020", "linear-p3"};
Justin Novosad 2017/01/26 19:12:42 We should match the strings used by the color-gamu
zakerinasab1 2017/01/26 20:42:34 Done.
26
24 [PermissiveDictionaryConversion] 27 [PermissiveDictionaryConversion]
25 dictionary CanvasContextCreationAttributes { 28 dictionary CanvasContextCreationAttributes {
26 // Canvas 2D attributes 29 // Canvas 2D attributes
27 boolean alpha = true; // Also used for WebGL. 30 boolean alpha = true; // Also used for WebGL.
28 [RuntimeEnabled=ExperimentalCanvasFeatures] DOMString colorSpace = "legacy-s rgb"; 31 [RuntimeEnabled=ExperimentalCanvasFeatures] CanvasColorSpace colorSpace = "l egacy-srgb";
29 32
30 // WebGL attributes 33 // WebGL attributes
31 boolean depth = true; 34 boolean depth = true;
32 boolean stencil = false; 35 boolean stencil = false;
33 boolean antialias = true; 36 boolean antialias = true;
34 boolean premultipliedAlpha = true; 37 boolean premultipliedAlpha = true;
35 boolean preserveDrawingBuffer = false; 38 boolean preserveDrawingBuffer = false;
36 boolean failIfMajorPerformanceCaveat = false; 39 boolean failIfMajorPerformanceCaveat = false;
37 }; 40 };
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698