Index: Source/core/html/canvas/ContextAttributeHelpers.cpp |
diff --git a/Source/core/html/canvas/ContextAttributeHelpers.cpp b/Source/core/html/canvas/ContextAttributeHelpers.cpp |
new file mode 100644 |
index 0000000000000000000000000000000000000000..fecf09afc0e9c04ac62d31cba2e8a1dc5d23f9d9 |
--- /dev/null |
+++ b/Source/core/html/canvas/ContextAttributeHelpers.cpp |
@@ -0,0 +1,57 @@ |
+// Copyright 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "config.h" |
+#include "core/html/canvas/ContextAttributeHelpers.h" |
+ |
+#include "core/frame/Settings.h" |
+ |
+namespace blink { |
+ |
+Canvas2DContextAttributes to2DContextAttributes(const CanvasContextCreationAttributes& attrs) |
+{ |
+ Canvas2DContextAttributes result; |
+ result.setAlpha(attrs.alpha()); |
+ return result; |
+} |
+ |
+WebGLContextAttributes toWebGLContextAttributes(const CanvasContextCreationAttributes& attrs) |
+{ |
+ WebGLContextAttributes result; |
+ result.setAlpha(attrs.alpha()); |
+ result.setDepth(attrs.depth()); |
+ result.setStencil(attrs.stencil()); |
+ result.setAntialias(attrs.antialias()); |
+ result.setPremultipliedAlpha(attrs.premultipliedAlpha()); |
+ result.setPreserveDrawingBuffer(attrs.preserveDrawingBuffer()); |
+ result.setFailIfMajorPerformanceCaveat(attrs.failIfMajorPerformanceCaveat()); |
+ return result; |
+} |
+ |
+WebGraphicsContext3D::Attributes toWebGraphicsContext3DAttributes(const WebGLContextAttributes& attrs, const blink::WebString& topDocumentURL, Settings* settings, unsigned webGLVersion) |
+{ |
+ blink::WebGraphicsContext3D::Attributes result; |
+ result.alpha = attrs.alpha(); |
+ result.depth = attrs.depth(); |
+ result.stencil = attrs.stencil(); |
+ result.antialias = attrs.antialias(); |
+ if (attrs.antialias()) { |
+ if (settings && !settings->openGLMultisamplingEnabled()) |
+ result.antialias = false; |
+ } |
+ result.premultipliedAlpha = attrs.premultipliedAlpha(); |
+ result.failIfMajorPerformanceCaveat = attrs.failIfMajorPerformanceCaveat(); |
+ |
+ result.noExtensions = true; |
+ result.shareResources = false; |
+ result.preferDiscreteGPU = true; |
+ |
+ result.topDocumentURL = topDocumentURL; |
+ |
+ result.webGL = true; |
+ result.webGLVersion = webGLVersion; |
+ return result; |
+} |
+ |
+} // namespace blink |