| Index: Source/core/html/canvas/WebGLRenderingContext.cpp
|
| diff --git a/Source/core/html/canvas/WebGLRenderingContext.cpp b/Source/core/html/canvas/WebGLRenderingContext.cpp
|
| index c071fad626e342033d7202fdd3c7c7bc805585f5..200dabb94acd0ea0fa82263972e808c8aee9ab6c 100644
|
| --- a/Source/core/html/canvas/WebGLRenderingContext.cpp
|
| +++ b/Source/core/html/canvas/WebGLRenderingContext.cpp
|
| @@ -29,6 +29,7 @@
|
| #include "core/frame/LocalFrame.h"
|
| #include "core/html/canvas/ANGLEInstancedArrays.h"
|
| #include "core/html/canvas/CHROMIUMSubscribeUniform.h"
|
| +#include "core/html/canvas/ContextAttributeHelpers.h"
|
| #include "core/html/canvas/EXTBlendMinMax.h"
|
| #include "core/html/canvas/EXTFragDepth.h"
|
| #include "core/html/canvas/EXTShaderTextureLOD.h"
|
| @@ -45,7 +46,6 @@
|
| #include "core/html/canvas/WebGLCompressedTextureETC1.h"
|
| #include "core/html/canvas/WebGLCompressedTexturePVRTC.h"
|
| #include "core/html/canvas/WebGLCompressedTextureS3TC.h"
|
| -#include "core/html/canvas/WebGLContextAttributes.h"
|
| #include "core/html/canvas/WebGLContextEvent.h"
|
| #include "core/html/canvas/WebGLDebugRendererInfo.h"
|
| #include "core/html/canvas/WebGLDebugShaders.h"
|
| @@ -64,7 +64,7 @@ namespace blink {
|
|
|
| static bool shouldFailContextCreationForTesting = false;
|
|
|
| -PassOwnPtrWillBeRawPtr<WebGLRenderingContext> WebGLRenderingContext::create(HTMLCanvasElement* canvas, WebGLContextAttributes* attrs)
|
| +PassOwnPtrWillBeRawPtr<WebGLRenderingContext> WebGLRenderingContext::create(HTMLCanvasElement* canvas, const CanvasContextCreationAttributes& attrs)
|
| {
|
| Document& document = canvas->document();
|
| LocalFrame* frame = document.frame();
|
| @@ -81,15 +81,10 @@ PassOwnPtrWillBeRawPtr<WebGLRenderingContext> WebGLRenderingContext::create(HTML
|
| return nullptr;
|
| }
|
|
|
| - // The only situation that attrs is null is through Document::getCSSCanvasContext().
|
| - RefPtrWillBeRawPtr<WebGLContextAttributes> defaultAttrs = nullptr;
|
| - if (!attrs) {
|
| - defaultAttrs = WebGLContextAttributes::create();
|
| - attrs = defaultAttrs.get();
|
| - }
|
| - blink::WebGraphicsContext3D::Attributes attributes = attrs->attributes(document.topDocument().url().string(), settings, 1);
|
| + WebGLContextAttributes attributes = toWebGLContextAttributes(attrs);
|
| + blink::WebGraphicsContext3D::Attributes wgc3dAttributes = toWebGraphicsContext3DAttributes(attributes, document.topDocument().url().string(), settings, 1);
|
| blink::WebGLInfo glInfo;
|
| - OwnPtr<blink::WebGraphicsContext3D> context = adoptPtr(blink::Platform::current()->createOffscreenGraphicsContext3D(attributes, 0, &glInfo));
|
| + OwnPtr<blink::WebGraphicsContext3D> context = adoptPtr(blink::Platform::current()->createOffscreenGraphicsContext3D(wgc3dAttributes, 0, &glInfo));
|
| if (!context || shouldFailContextCreationForTesting) {
|
| shouldFailContextCreationForTesting = false;
|
| String statusMessage("Could not create a WebGL context for VendorInfo = ");
|
| @@ -109,7 +104,7 @@ PassOwnPtrWillBeRawPtr<WebGLRenderingContext> WebGLRenderingContext::create(HTML
|
| if (extensionsUtil->supportsExtension("GL_EXT_debug_marker"))
|
| context->pushGroupMarkerEXT("WebGLRenderingContext");
|
|
|
| - OwnPtrWillBeRawPtr<WebGLRenderingContext> renderingContext = adoptPtrWillBeNoop(new WebGLRenderingContext(canvas, context.release(), attrs));
|
| + OwnPtrWillBeRawPtr<WebGLRenderingContext> renderingContext = adoptPtrWillBeNoop(new WebGLRenderingContext(canvas, context.release(), attributes));
|
| renderingContext->registerContextExtensions();
|
| renderingContext->suspendIfNeeded();
|
|
|
| @@ -121,7 +116,7 @@ PassOwnPtrWillBeRawPtr<WebGLRenderingContext> WebGLRenderingContext::create(HTML
|
| return renderingContext.release();
|
| }
|
|
|
| -WebGLRenderingContext::WebGLRenderingContext(HTMLCanvasElement* passedCanvas, PassOwnPtr<blink::WebGraphicsContext3D> context, WebGLContextAttributes* requestedAttributes)
|
| +WebGLRenderingContext::WebGLRenderingContext(HTMLCanvasElement* passedCanvas, PassOwnPtr<blink::WebGraphicsContext3D> context, const WebGLContextAttributes& requestedAttributes)
|
| : WebGLRenderingContextBase(passedCanvas, context, requestedAttributes)
|
| {
|
| }
|
|
|