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

Side by Side Diff: third_party/WebKit/Source/modules/webgl/WebGLRenderingContextBase.h

Issue 1387743002: Fixed expando-loss.html test. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Cache ScriptState and use it to wrap m_defaultVertexArrayObject. Created 5 years, 2 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 /* 1 /*
2 * Copyright (C) 2009 Apple Inc. All rights reserved. 2 * Copyright (C) 2009 Apple Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 163
164 static unsigned getWebGLVersion(const CanvasRenderingContext*); 164 static unsigned getWebGLVersion(const CanvasRenderingContext*);
165 165
166 static PassOwnPtr<WebGraphicsContext3D> createWebGraphicsContext3D(HTMLCanva sElement*, WebGLContextAttributes, unsigned webGLVersion); 166 static PassOwnPtr<WebGraphicsContext3D> createWebGraphicsContext3D(HTMLCanva sElement*, WebGLContextAttributes, unsigned webGLVersion);
167 static void forceNextWebGLContextCreationToFail(); 167 static void forceNextWebGLContextCreationToFail();
168 168
169 int drawingBufferWidth() const; 169 int drawingBufferWidth() const;
170 int drawingBufferHeight() const; 170 int drawingBufferHeight() const;
171 171
172 void activeTexture(GLenum texture); 172 void activeTexture(GLenum texture);
173 void attachShader(WebGLProgram*, WebGLShader*); 173 void attachShader(ScriptState*, WebGLProgram*, WebGLShader*);
174 void bindAttribLocation(WebGLProgram*, GLuint index, const String& name); 174 void bindAttribLocation(WebGLProgram*, GLuint index, const String& name);
175 void bindBuffer(GLenum target, WebGLBuffer*); 175 void bindBuffer(ScriptState*, GLenum target, WebGLBuffer*);
176 virtual void bindFramebuffer(GLenum target, WebGLFramebuffer*); 176 virtual void bindFramebuffer(ScriptState*, GLenum target, WebGLFramebuffer*) ;
177 void bindRenderbuffer(GLenum target, WebGLRenderbuffer*); 177 void bindRenderbuffer(ScriptState*, GLenum target, WebGLRenderbuffer*);
178 void bindTexture(GLenum target, WebGLTexture*); 178 void bindTexture(ScriptState*, GLenum target, WebGLTexture*);
179 void blendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); 179 void blendColor(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
180 void blendEquation(GLenum mode); 180 void blendEquation(GLenum mode);
181 void blendEquationSeparate(GLenum modeRGB, GLenum modeAlpha); 181 void blendEquationSeparate(GLenum modeRGB, GLenum modeAlpha);
182 void blendFunc(GLenum sfactor, GLenum dfactor); 182 void blendFunc(GLenum sfactor, GLenum dfactor);
183 void blendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); 183 void blendFuncSeparate(GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha);
184 184
185 void bufferData(GLenum target, long long size, GLenum usage); 185 void bufferData(GLenum target, long long size, GLenum usage);
186 void bufferData(GLenum target, DOMArrayBuffer* data, GLenum usage); 186 void bufferData(GLenum target, DOMArrayBuffer* data, GLenum usage);
187 void bufferData(GLenum target, DOMArrayBufferView* data, GLenum usage); 187 void bufferData(GLenum target, DOMArrayBufferView* data, GLenum usage);
188 void bufferSubData(GLenum target, long long offset, DOMArrayBuffer* data); 188 void bufferSubData(GLenum target, long long offset, DOMArrayBuffer* data);
(...skipping 25 matching lines...) Expand all
214 void deleteBuffer(WebGLBuffer*); 214 void deleteBuffer(WebGLBuffer*);
215 virtual void deleteFramebuffer(WebGLFramebuffer*); 215 virtual void deleteFramebuffer(WebGLFramebuffer*);
216 void deleteProgram(WebGLProgram*); 216 void deleteProgram(WebGLProgram*);
217 void deleteRenderbuffer(WebGLRenderbuffer*); 217 void deleteRenderbuffer(WebGLRenderbuffer*);
218 void deleteShader(WebGLShader*); 218 void deleteShader(WebGLShader*);
219 void deleteTexture(WebGLTexture*); 219 void deleteTexture(WebGLTexture*);
220 220
221 void depthFunc(GLenum); 221 void depthFunc(GLenum);
222 void depthMask(GLboolean); 222 void depthMask(GLboolean);
223 void depthRange(GLfloat zNear, GLfloat zFar); 223 void depthRange(GLfloat zNear, GLfloat zFar);
224 void detachShader(WebGLProgram*, WebGLShader*); 224 void detachShader(ScriptState*, WebGLProgram*, WebGLShader*);
225 void disable(GLenum cap); 225 void disable(GLenum cap);
226 void disableVertexAttribArray(GLuint index); 226 void disableVertexAttribArray(GLuint index);
227 void drawArrays(GLenum mode, GLint first, GLsizei count); 227 void drawArrays(GLenum mode, GLint first, GLsizei count);
228 void drawElements(GLenum mode, GLsizei count, GLenum type, long long offset) ; 228 void drawElements(GLenum mode, GLsizei count, GLenum type, long long offset) ;
229 229
230 void drawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsiz ei primcount); 230 void drawArraysInstancedANGLE(GLenum mode, GLint first, GLsizei count, GLsiz ei primcount);
231 void drawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, lon g long offset, GLsizei primcount); 231 void drawElementsInstancedANGLE(GLenum mode, GLsizei count, GLenum type, lon g long offset, GLsizei primcount);
232 232
233 void enable(GLenum cap); 233 void enable(GLenum cap);
234 void enableVertexAttribArray(GLuint index); 234 void enableVertexAttribArray(GLuint index);
235 void finish(); 235 void finish();
236 void flush(); 236 void flush();
237 void framebufferRenderbuffer(GLenum target, GLenum attachment, GLenum render buffertarget, WebGLRenderbuffer*); 237 void framebufferRenderbuffer(ScriptState*, GLenum target, GLenum attachment, GLenum renderbuffertarget, WebGLRenderbuffer*);
238 void framebufferTexture2D(GLenum target, GLenum attachment, GLenum textarget , WebGLTexture*, GLint level); 238 void framebufferTexture2D(ScriptState*, GLenum target, GLenum attachment, GL enum textarget, WebGLTexture*, GLint level);
239 void frontFace(GLenum mode); 239 void frontFace(GLenum mode);
240 void generateMipmap(GLenum target); 240 void generateMipmap(GLenum target);
241 241
242 WebGLActiveInfo* getActiveAttrib(WebGLProgram*, GLuint index); 242 WebGLActiveInfo* getActiveAttrib(WebGLProgram*, GLuint index);
243 WebGLActiveInfo* getActiveUniform(WebGLProgram*, GLuint index); 243 WebGLActiveInfo* getActiveUniform(WebGLProgram*, GLuint index);
244 bool getAttachedShaders(WebGLProgram*, HeapVector<Member<WebGLShader>>&); 244 bool getAttachedShaders(WebGLProgram*, HeapVector<Member<WebGLShader>>&);
245 Nullable<HeapVector<Member<WebGLShader>>> getAttachedShaders(WebGLProgram*); 245 Nullable<HeapVector<Member<WebGLShader>>> getAttachedShaders(WebGLProgram*);
246 GLint getAttribLocation(WebGLProgram*, const String& name); 246 GLint getAttribLocation(WebGLProgram*, const String& name);
247 ScriptValue getBufferParameter(ScriptState*, GLenum target, GLenum pname); 247 ScriptValue getBufferParameter(ScriptState*, GLenum target, GLenum pname);
248 void getContextAttributes(Nullable<WebGLContextAttributes>&); 248 void getContextAttributes(Nullable<WebGLContextAttributes>&);
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after
341 void uniform4i(const WebGLUniformLocation*, GLint x, GLint y, GLint z, GLint w); 341 void uniform4i(const WebGLUniformLocation*, GLint x, GLint y, GLint z, GLint w);
342 void uniform4iv(const WebGLUniformLocation*, const FlexibleInt32ArrayView&); 342 void uniform4iv(const WebGLUniformLocation*, const FlexibleInt32ArrayView&);
343 void uniform4iv(const WebGLUniformLocation*, Vector<GLint>&); 343 void uniform4iv(const WebGLUniformLocation*, Vector<GLint>&);
344 void uniformMatrix2fv(const WebGLUniformLocation*, GLboolean transpose, DOMF loat32Array* value); 344 void uniformMatrix2fv(const WebGLUniformLocation*, GLboolean transpose, DOMF loat32Array* value);
345 void uniformMatrix2fv(const WebGLUniformLocation*, GLboolean transpose, Vect or<GLfloat>& value); 345 void uniformMatrix2fv(const WebGLUniformLocation*, GLboolean transpose, Vect or<GLfloat>& value);
346 void uniformMatrix3fv(const WebGLUniformLocation*, GLboolean transpose, DOMF loat32Array* value); 346 void uniformMatrix3fv(const WebGLUniformLocation*, GLboolean transpose, DOMF loat32Array* value);
347 void uniformMatrix3fv(const WebGLUniformLocation*, GLboolean transpose, Vect or<GLfloat>& value); 347 void uniformMatrix3fv(const WebGLUniformLocation*, GLboolean transpose, Vect or<GLfloat>& value);
348 void uniformMatrix4fv(const WebGLUniformLocation*, GLboolean transpose, DOMF loat32Array* value); 348 void uniformMatrix4fv(const WebGLUniformLocation*, GLboolean transpose, DOMF loat32Array* value);
349 void uniformMatrix4fv(const WebGLUniformLocation*, GLboolean transpose, Vect or<GLfloat>& value); 349 void uniformMatrix4fv(const WebGLUniformLocation*, GLboolean transpose, Vect or<GLfloat>& value);
350 350
351 void useProgram(WebGLProgram*); 351 void useProgram(ScriptState*, WebGLProgram*);
352 void validateProgram(WebGLProgram*); 352 void validateProgram(WebGLProgram*);
353 353
354 void vertexAttrib1f(GLuint index, GLfloat x); 354 void vertexAttrib1f(GLuint index, GLfloat x);
355 void vertexAttrib1fv(GLuint index, const DOMFloat32Array* values); 355 void vertexAttrib1fv(GLuint index, const DOMFloat32Array* values);
356 void vertexAttrib1fv(GLuint index, const Vector<GLfloat>& values); 356 void vertexAttrib1fv(GLuint index, const Vector<GLfloat>& values);
357 void vertexAttrib2f(GLuint index, GLfloat x, GLfloat y); 357 void vertexAttrib2f(GLuint index, GLfloat x, GLfloat y);
358 void vertexAttrib2fv(GLuint index, const DOMFloat32Array* values); 358 void vertexAttrib2fv(GLuint index, const DOMFloat32Array* values);
359 void vertexAttrib2fv(GLuint index, const Vector<GLfloat>& values); 359 void vertexAttrib2fv(GLuint index, const Vector<GLfloat>& values);
360 void vertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z); 360 void vertexAttrib3f(GLuint index, GLfloat x, GLfloat y, GLfloat z);
361 void vertexAttrib3fv(GLuint index, const DOMFloat32Array* values); 361 void vertexAttrib3fv(GLuint index, const DOMFloat32Array* values);
362 void vertexAttrib3fv(GLuint index, const Vector<GLfloat>& values); 362 void vertexAttrib3fv(GLuint index, const Vector<GLfloat>& values);
363 void vertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w ); 363 void vertexAttrib4f(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w );
364 void vertexAttrib4fv(GLuint index, const DOMFloat32Array* values); 364 void vertexAttrib4fv(GLuint index, const DOMFloat32Array* values);
365 void vertexAttrib4fv(GLuint index, const Vector<GLfloat>& values); 365 void vertexAttrib4fv(GLuint index, const Vector<GLfloat>& values);
366 void vertexAttribPointer(GLuint index, GLint size, GLenum type, GLboolean no rmalized, 366 void vertexAttribPointer(ScriptState*, GLuint index, GLint size, GLenum type , GLboolean normalized,
367 GLsizei stride, long long offset); 367 GLsizei stride, long long offset);
368 368
369 void vertexAttribDivisorANGLE(GLuint index, GLuint divisor); 369 void vertexAttribDivisorANGLE(GLuint index, GLuint divisor);
370 370
371 void viewport(GLint x, GLint y, GLsizei width, GLsizei height); 371 void viewport(GLint x, GLint y, GLsizei width, GLsizei height);
372 372
373 // WEBGL_lose_context support 373 // WEBGL_lose_context support
374 enum AutoRecoveryMethod { 374 enum AutoRecoveryMethod {
375 // Don't restore automatically. 375 // Don't restore automatically.
376 Manual, 376 Manual,
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 friend class WebGLCompressedTextureASTC; 443 friend class WebGLCompressedTextureASTC;
444 friend class WebGLCompressedTextureATC; 444 friend class WebGLCompressedTextureATC;
445 friend class WebGLCompressedTextureETC1; 445 friend class WebGLCompressedTextureETC1;
446 friend class WebGLCompressedTexturePVRTC; 446 friend class WebGLCompressedTexturePVRTC;
447 friend class WebGLCompressedTextureS3TC; 447 friend class WebGLCompressedTextureS3TC;
448 friend class WebGLRenderingContextErrorMessageCallback; 448 friend class WebGLRenderingContextErrorMessageCallback;
449 friend class WebGLVertexArrayObjectBase; 449 friend class WebGLVertexArrayObjectBase;
450 friend class ScopedTexture2DRestorer; 450 friend class ScopedTexture2DRestorer;
451 friend class ScopedFramebufferRestorer; 451 friend class ScopedFramebufferRestorer;
452 452
453 WebGLRenderingContextBase(HTMLCanvasElement*, PassOwnPtr<WebGraphicsContext3 D>, const WebGLContextAttributes&); 453 WebGLRenderingContextBase(HTMLCanvasElement*, ScriptState*, PassOwnPtr<WebGr aphicsContext3D>, const WebGLContextAttributes&);
454 PassRefPtr<DrawingBuffer> createDrawingBuffer(PassOwnPtr<WebGraphicsContext3 D>); 454 PassRefPtr<DrawingBuffer> createDrawingBuffer(PassOwnPtr<WebGraphicsContext3 D>);
455 void setupFlags(); 455 void setupFlags();
456 456
457 // CanvasRenderingContext implementation. 457 // CanvasRenderingContext implementation.
458 bool is3d() const override { return true; } 458 bool is3d() const override { return true; }
459 bool isAccelerated() const override { return true; } 459 bool isAccelerated() const override { return true; }
460 void setIsHidden(bool) override; 460 void setIsHidden(bool) override;
461 bool paintRenderingResultsToCanvas(SourceDrawingBuffer) override; 461 bool paintRenderingResultsToCanvas(SourceDrawingBuffer) override;
462 WebLayer* platformLayer() const override; 462 WebLayer* platformLayer() const override;
463 void stop() override; 463 void stop() override;
(...skipping 22 matching lines...) Expand all
486 // Adds a compressed texture format. 486 // Adds a compressed texture format.
487 void addCompressedTextureFormat(GLenum); 487 void addCompressedTextureFormat(GLenum);
488 void removeAllCompressedTextureFormats(); 488 void removeAllCompressedTextureFormats();
489 489
490 PassRefPtr<Image> drawImageIntoBuffer(PassRefPtr<Image>, int width, int heig ht, const char* functionName); 490 PassRefPtr<Image> drawImageIntoBuffer(PassRefPtr<Image>, int width, int heig ht, const char* functionName);
491 491
492 PassRefPtr<Image> videoFrameToImage(HTMLVideoElement*); 492 PassRefPtr<Image> videoFrameToImage(HTMLVideoElement*);
493 493
494 WebGLRenderbuffer* ensureEmulatedStencilBuffer(GLenum target, WebGLRenderbuf fer*); 494 WebGLRenderbuffer* ensureEmulatedStencilBuffer(GLenum target, WebGLRenderbuf fer*);
495 495
496 // ScriptState at the time the context was created.
497 RefPtr<ScriptState> m_scriptState;
498
496 // Structure for rendering to a DrawingBuffer, instead of directly 499 // Structure for rendering to a DrawingBuffer, instead of directly
497 // to the back-buffer of m_context. 500 // to the back-buffer of m_context.
498 RefPtr<DrawingBuffer> m_drawingBuffer; 501 RefPtr<DrawingBuffer> m_drawingBuffer;
499 DrawingBuffer* drawingBuffer() const; 502 DrawingBuffer* drawingBuffer() const;
500 503
501 RefPtr<WebGLContextGroup> m_contextGroup; 504 RefPtr<WebGLContextGroup> m_contextGroup;
502 505
503 LostContextMode m_contextLostMode; 506 LostContextMode m_contextLostMode;
504 AutoRecoveryMethod m_autoRecoveryMethod; 507 AutoRecoveryMethod m_autoRecoveryMethod;
505 // Dispatches a context lost event once it is determined that one is needed. 508 // Dispatches a context lost event once it is determined that one is needed.
(...skipping 18 matching lines...) Expand all
524 #endif 527 #endif
525 528
526 PersistentWillBeMember<WebGLRenderingContextLostCallback> m_contextLostCallb ackAdapter; 529 PersistentWillBeMember<WebGLRenderingContextLostCallback> m_contextLostCallb ackAdapter;
527 PersistentWillBeMember<WebGLRenderingContextErrorMessageCallback> m_errorMes sageCallbackAdapter; 530 PersistentWillBeMember<WebGLRenderingContextErrorMessageCallback> m_errorMes sageCallbackAdapter;
528 531
529 // List of bound VBO's. Used to maintain info about sizes for ARRAY_BUFFER a nd stored values for ELEMENT_ARRAY_BUFFER 532 // List of bound VBO's. Used to maintain info about sizes for ARRAY_BUFFER a nd stored values for ELEMENT_ARRAY_BUFFER
530 PersistentWillBeMember<WebGLBuffer> m_boundArrayBuffer; 533 PersistentWillBeMember<WebGLBuffer> m_boundArrayBuffer;
531 534
532 PersistentWillBeMember<WebGLVertexArrayObjectBase> m_defaultVertexArrayObjec t; 535 PersistentWillBeMember<WebGLVertexArrayObjectBase> m_defaultVertexArrayObjec t;
533 PersistentWillBeMember<WebGLVertexArrayObjectBase> m_boundVertexArrayObject; 536 PersistentWillBeMember<WebGLVertexArrayObjectBase> m_boundVertexArrayObject;
534 void setBoundVertexArrayObject(WebGLVertexArrayObjectBase* arrayObject) 537 void setBoundVertexArrayObject(ScriptState*, WebGLVertexArrayObjectBase*);
535 {
536 if (arrayObject)
537 m_boundVertexArrayObject = arrayObject;
538 else
539 m_boundVertexArrayObject = m_defaultVertexArrayObject;
540 }
541 538
542 enum VertexAttribValueType { 539 enum VertexAttribValueType {
543 Float32ArrayType, 540 Float32ArrayType,
544 Int32ArrayType, 541 Int32ArrayType,
545 Uint32ArrayType, 542 Uint32ArrayType,
546 }; 543 };
547 544
548 class VertexAttribValue { 545 class VertexAttribValue {
549 public: 546 public:
550 VertexAttribValue() 547 VertexAttribValue()
(...skipping 546 matching lines...) Expand 10 before | Expand all | Expand 10 after
1097 1094
1098 virtual void restoreCurrentFramebuffer(); 1095 virtual void restoreCurrentFramebuffer();
1099 void restoreCurrentTexture2D(); 1096 void restoreCurrentTexture2D();
1100 1097
1101 void multisamplingChanged(bool) override; 1098 void multisamplingChanged(bool) override;
1102 1099
1103 void findNewMaxNonDefaultTextureUnit(); 1100 void findNewMaxNonDefaultTextureUnit();
1104 1101
1105 virtual void renderbufferStorageImpl(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, const char* functionName); 1102 virtual void renderbufferStorageImpl(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, const char* functionName);
1106 1103
1104 // Ensures that the JavaScript wrappers for objects that are
1105 // latched into the context's state, or which are implicitly
1106 // linked together (like programs and their attached shaders), are
1107 // not garbage collected before they should be.
1108 static void preserveObjectWrapper(ScriptState*, ScriptWrappable* sourceObjec t, const char* baseName, unsigned long index, ScriptWrappable* targetObject);
1109 void maybePreserveDefaultVAOObjectWrapper(ScriptState*);
1110
1107 friend class WebGLStateRestorer; 1111 friend class WebGLStateRestorer;
1108 friend class WebGLRenderingContextEvictionManager; 1112 friend class WebGLRenderingContextEvictionManager;
1109 1113
1110 static Vector<WebGLRenderingContextBase*>& activeContexts(); 1114 static Vector<WebGLRenderingContextBase*>& activeContexts();
1111 static Vector<WebGLRenderingContextBase*>& forciblyEvictedContexts(); 1115 static Vector<WebGLRenderingContextBase*>& forciblyEvictedContexts();
1112 1116
1113 static void activateContext(WebGLRenderingContextBase*); 1117 static void activateContext(WebGLRenderingContextBase*);
1114 static void deactivateContext(WebGLRenderingContextBase*); 1118 static void deactivateContext(WebGLRenderingContextBase*);
1115 static void addToEvictedList(WebGLRenderingContextBase*); 1119 static void addToEvictedList(WebGLRenderingContextBase*);
1116 static void removeFromEvictedList(WebGLRenderingContextBase*); 1120 static void removeFromEvictedList(WebGLRenderingContextBase*);
1117 static void willDestroyContext(WebGLRenderingContextBase*); 1121 static void willDestroyContext(WebGLRenderingContextBase*);
1118 static void forciblyLoseOldestContext(const String& reason); 1122 static void forciblyLoseOldestContext(const String& reason);
1119 // Return the least recently used context's position in the active context v ector. 1123 // Return the least recently used context's position in the active context v ector.
1120 // If the vector is empty, return the maximum allowed active context number. 1124 // If the vector is empty, return the maximum allowed active context number.
1121 static size_t oldestContextIndex(); 1125 static size_t oldestContextIndex();
1122 static IntSize oldestContextSize(); 1126 static IntSize oldestContextSize();
1123 }; 1127 };
1124 1128
1125 DEFINE_TYPE_CASTS(WebGLRenderingContextBase, CanvasRenderingContext, context, co ntext->is3d(), context.is3d()); 1129 DEFINE_TYPE_CASTS(WebGLRenderingContextBase, CanvasRenderingContext, context, co ntext->is3d(), context.is3d());
1126 1130
1127 } // namespace blink 1131 } // namespace blink
1128 1132
1129 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(blink::WebGLRenderingContextB ase::TextureUnitState); 1133 WTF_ALLOW_MOVE_INIT_AND_COMPARE_WITH_MEM_FUNCTIONS(blink::WebGLRenderingContextB ase::TextureUnitState);
1130 1134
1131 #endif // WebGLRenderingContextBase_h 1135 #endif // WebGLRenderingContextBase_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698