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

Side by Side Diff: third_party/WebKit/Source/modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.h

Issue 1881563003: Implement OffscreenCanvas.getContext('webgl') (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase and remove static_cast Created 4 years, 7 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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 #ifndef OffscreenCanvasRenderingContext2D_h 5 #ifndef OffscreenCanvasRenderingContext2D_h
6 #define OffscreenCanvasRenderingContext2D_h 6 #define OffscreenCanvasRenderingContext2D_h
7 7
8 #include "core/html/canvas/CanvasContextCreationAttributes.h" 8 #include "core/html/canvas/CanvasContextCreationAttributes.h"
9 #include "core/html/canvas/CanvasRenderingContext.h" 9 #include "core/html/canvas/CanvasRenderingContext.h"
10 #include "core/html/canvas/CanvasRenderingContextFactory.h" 10 #include "core/html/canvas/CanvasRenderingContextFactory.h"
11 #include "modules/canvas2d/BaseRenderingContext2D.h" 11 #include "modules/canvas2d/BaseRenderingContext2D.h"
12 12
13 namespace blink { 13 namespace blink {
14 14
15 class HTMLCanvasElement;
16
17 class MODULES_EXPORT OffscreenCanvasRenderingContext2D final : public CanvasRend eringContext, public BaseRenderingContext2D { 15 class MODULES_EXPORT OffscreenCanvasRenderingContext2D final : public CanvasRend eringContext, public BaseRenderingContext2D {
18 DEFINE_WRAPPERTYPEINFO(); 16 DEFINE_WRAPPERTYPEINFO();
19 USING_GARBAGE_COLLECTED_MIXIN(OffscreenCanvasRenderingContext2D); 17 USING_GARBAGE_COLLECTED_MIXIN(OffscreenCanvasRenderingContext2D);
20 public: 18 public:
21 class Factory : public CanvasRenderingContextFactory { 19 class Factory : public CanvasRenderingContextFactory {
22 public: 20 public:
23 Factory() {} 21 Factory() {}
24 ~Factory() override {} 22 ~Factory() override {}
25 23
26 CanvasRenderingContext* create(OffscreenCanvas* canvas, const CanvasCont extCreationAttributes& attrs) override 24 CanvasRenderingContext* create(ScriptState* scriptState, OffscreenCanvas * canvas, const CanvasContextCreationAttributes& attrs) override
27 { 25 {
28 return new OffscreenCanvasRenderingContext2D(canvas, attrs); 26 return new OffscreenCanvasRenderingContext2D(canvas, attrs);
29 } 27 }
30 28
31 CanvasRenderingContext::ContextType getContextType() const override 29 CanvasRenderingContext::ContextType getContextType() const override
32 { 30 {
33 return CanvasRenderingContext::Context2d; 31 return CanvasRenderingContext::Context2d;
34 } 32 }
35 }; 33 };
36 34
37 // CanvasRenderingContext implementation 35 // CanvasRenderingContext implementation
38 ~OffscreenCanvasRenderingContext2D() override; 36 ~OffscreenCanvasRenderingContext2D() override;
39 ContextType getContextType() const override { return Context2d; } 37 ContextType getContextType() const override { return Context2d; }
40 bool is2d() const override { return true; } 38 bool is2d() const override { return true; }
39 void setOffscreenCanvasGetContextResult(OffscreenRenderingContext&) final;
41 void setIsHidden(bool) final { ASSERT_NOT_REACHED(); } 40 void setIsHidden(bool) final { ASSERT_NOT_REACHED(); }
42 void stop() final { ASSERT_NOT_REACHED(); } 41 void stop() final { ASSERT_NOT_REACHED(); }
43 void setCanvasGetContextResult(RenderingContext&) final {} 42 void setCanvasGetContextResult(RenderingContext&) final {}
44 void clearRect(double x, double y, double width, double height) override { B aseRenderingContext2D::clearRect(x, y, width, height); } 43 void clearRect(double x, double y, double width, double height) override { B aseRenderingContext2D::clearRect(x, y, width, height); }
45 44
46 // BaseRenderingContext2D implementation 45 // BaseRenderingContext2D implementation
47 bool originClean() const final; 46 bool originClean() const final;
48 void setOriginTainted() final; 47 void setOriginTainted() final;
49 bool wouldTaintOrigin(CanvasImageSource*, ScriptState*) final; 48 bool wouldTaintOrigin(CanvasImageSource*, ScriptState*) final;
50 49
(...skipping 29 matching lines...) Expand all
80 79
81 private: 80 private:
82 bool m_hasAlpha; 81 bool m_hasAlpha;
83 bool m_originClean = true; 82 bool m_originClean = true;
84 OwnPtr<ImageBuffer> m_imageBuffer; 83 OwnPtr<ImageBuffer> m_imageBuffer;
85 }; 84 };
86 85
87 } // namespace blink 86 } // namespace blink
88 87
89 #endif // OffscreenCanvasRenderingContext2D_h 88 #endif // OffscreenCanvasRenderingContext2D_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698