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

Side by Side Diff: Source/core/html/canvas/WebGLProgram.h

Issue 131973002: Update HTML canvas classes to use OVERRIDE / FINAL when needed (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 11 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 16 matching lines...) Expand all
27 #define WebGLProgram_h 27 #define WebGLProgram_h
28 28
29 #include "bindings/v8/ScriptWrappable.h" 29 #include "bindings/v8/ScriptWrappable.h"
30 #include "core/html/canvas/WebGLSharedObject.h" 30 #include "core/html/canvas/WebGLSharedObject.h"
31 #include "core/html/canvas/WebGLShader.h" 31 #include "core/html/canvas/WebGLShader.h"
32 #include "wtf/PassRefPtr.h" 32 #include "wtf/PassRefPtr.h"
33 #include "wtf/Vector.h" 33 #include "wtf/Vector.h"
34 34
35 namespace WebCore { 35 namespace WebCore {
36 36
37 class WebGLProgram : public WebGLSharedObject, public ScriptWrappable { 37 class WebGLProgram FINAL : public WebGLSharedObject, public ScriptWrappable {
38 public: 38 public:
39 virtual ~WebGLProgram(); 39 virtual ~WebGLProgram();
40 40
41 static PassRefPtr<WebGLProgram> create(WebGLRenderingContext*); 41 static PassRefPtr<WebGLProgram> create(WebGLRenderingContext*);
42 42
43 unsigned numActiveAttribLocations(); 43 unsigned numActiveAttribLocations();
44 GLint getActiveAttribLocation(GLuint index); 44 GLint getActiveAttribLocation(GLuint index);
45 45
46 bool isUsingVertexAttrib0(); 46 bool isUsingVertexAttrib0();
47 47
48 bool linkStatus(); 48 bool linkStatus();
49 void setLinkStatus(bool); 49 void setLinkStatus(bool);
50 50
51 unsigned linkCount() const { return m_linkCount; } 51 unsigned linkCount() const { return m_linkCount; }
52 52
53 // This is to be called everytime after the program is successfully linked. 53 // This is to be called everytime after the program is successfully linked.
54 // We don't deal with integer overflow here, assuming in reality a program 54 // We don't deal with integer overflow here, assuming in reality a program
55 // will never be linked so many times. 55 // will never be linked so many times.
56 // Also, we invalidate the cached program info. 56 // Also, we invalidate the cached program info.
57 void increaseLinkCount(); 57 void increaseLinkCount();
58 58
59 WebGLShader* getAttachedShader(GLenum); 59 WebGLShader* getAttachedShader(GLenum);
60 bool attachShader(WebGLShader*); 60 bool attachShader(WebGLShader*);
61 bool detachShader(WebGLShader*); 61 bool detachShader(WebGLShader*);
62 62
63 protected: 63 protected:
64 WebGLProgram(WebGLRenderingContext*); 64 WebGLProgram(WebGLRenderingContext*);
65 65
66 virtual void deleteObjectImpl(GraphicsContext3D*, Platform3DObject); 66 virtual void deleteObjectImpl(GraphicsContext3D*, Platform3DObject) OVERRIDE ;
67 67
68 private: 68 private:
69 virtual bool isProgram() const { return true; } 69 virtual bool isProgram() const OVERRIDE { return true; }
70 70
71 void cacheActiveAttribLocations(GraphicsContext3D*); 71 void cacheActiveAttribLocations(GraphicsContext3D*);
72 void cacheInfoIfNeeded(); 72 void cacheInfoIfNeeded();
73 73
74 Vector<GLint> m_activeAttribLocations; 74 Vector<GLint> m_activeAttribLocations;
75 75
76 GLint m_linkStatus; 76 GLint m_linkStatus;
77 77
78 // This is used to track whether a WebGLUniformLocation belongs to this 78 // This is used to track whether a WebGLUniformLocation belongs to this
79 // program or not. 79 // program or not.
80 unsigned m_linkCount; 80 unsigned m_linkCount;
81 81
82 RefPtr<WebGLShader> m_vertexShader; 82 RefPtr<WebGLShader> m_vertexShader;
83 RefPtr<WebGLShader> m_fragmentShader; 83 RefPtr<WebGLShader> m_fragmentShader;
84 84
85 bool m_infoValid; 85 bool m_infoValid;
86 }; 86 };
87 87
88 } // namespace WebCore 88 } // namespace WebCore
89 89
90 #endif // WebGLProgram_h 90 #endif // WebGLProgram_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698