Chromium Code Reviews| OLD | NEW |
|---|---|
| 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" |
| (...skipping 21 matching lines...) Expand all Loading... | |
| 32 return CanvasRenderingContext::Context2d; | 32 return CanvasRenderingContext::Context2d; |
| 33 } | 33 } |
| 34 }; | 34 }; |
| 35 | 35 |
| 36 void commit(ExceptionState&); | 36 void commit(ExceptionState&); |
| 37 | 37 |
| 38 // CanvasRenderingContext implementation | 38 // CanvasRenderingContext implementation |
| 39 ~OffscreenCanvasRenderingContext2D() override; | 39 ~OffscreenCanvasRenderingContext2D() override; |
| 40 ContextType getContextType() const override { return Context2d; } | 40 ContextType getContextType() const override { return Context2d; } |
| 41 bool is2d() const override { return true; } | 41 bool is2d() const override { return true; } |
| 42 bool isAccelerated() const override; | |
| 42 void setOffscreenCanvasGetContextResult(OffscreenRenderingContext&) final; | 43 void setOffscreenCanvasGetContextResult(OffscreenRenderingContext&) final; |
| 43 void setIsHidden(bool) final { ASSERT_NOT_REACHED(); } | 44 void setIsHidden(bool) final { ASSERT_NOT_REACHED(); } |
| 44 void stop() final { ASSERT_NOT_REACHED(); } | 45 void stop() final { ASSERT_NOT_REACHED(); } |
| 45 void setCanvasGetContextResult(RenderingContext&) final {} | 46 void setCanvasGetContextResult(RenderingContext&) final {} |
| 46 void clearRect(double x, double y, double width, double height) override { B aseRenderingContext2D::clearRect(x, y, width, height); } | 47 void clearRect(double x, double y, double width, double height) override { B aseRenderingContext2D::clearRect(x, y, width, height); } |
| 47 PassRefPtr<Image> getImage(AccelerationHint, SnapshotReason) const final; | 48 PassRefPtr<Image> getImage(AccelerationHint, SnapshotReason) const final; |
| 48 | 49 |
| 49 // BaseRenderingContext2D implementation | 50 // BaseRenderingContext2D implementation |
| 50 bool originClean() const final; | 51 bool originClean() const final; |
| 51 void setOriginTainted() final; | 52 void setOriginTainted() final; |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 79 | 80 |
| 80 protected: | 81 protected: |
| 81 OffscreenCanvasRenderingContext2D(ScriptState*, OffscreenCanvas*, const Canv asContextCreationAttributes& attrs); | 82 OffscreenCanvasRenderingContext2D(ScriptState*, OffscreenCanvas*, const Canv asContextCreationAttributes& attrs); |
| 82 DECLARE_VIRTUAL_TRACE(); | 83 DECLARE_VIRTUAL_TRACE(); |
| 83 | 84 |
| 84 private: | 85 private: |
| 85 bool m_needsMatrixClipRestore = false; | 86 bool m_needsMatrixClipRestore = false; |
| 86 std::unique_ptr<ImageBuffer> m_imageBuffer; | 87 std::unique_ptr<ImageBuffer> m_imageBuffer; |
| 87 | 88 |
| 88 bool isPaintable() const final; | 89 bool isPaintable() const final; |
| 90 | |
| 91 PassRefPtr<StaticBitmapImage> transferToStaticBitmapImage(); | |
|
xidachen
2016/09/22 19:05:55
Please change this to RefPtr<> instead of PassRefP
xlai (Olivia)
2016/09/22 19:36:18
Done.
| |
| 89 }; | 92 }; |
| 90 | 93 |
| 91 DEFINE_TYPE_CASTS(OffscreenCanvasRenderingContext2D, CanvasRenderingContext, con text, | 94 DEFINE_TYPE_CASTS(OffscreenCanvasRenderingContext2D, CanvasRenderingContext, con text, |
| 92 context->is2d() && context->getOffscreenCanvas(), | 95 context->is2d() && context->getOffscreenCanvas(), |
| 93 context.is2d() && context.getOffscreenCanvas()); | 96 context.is2d() && context.getOffscreenCanvas()); |
| 94 | 97 |
| 95 } // namespace blink | 98 } // namespace blink |
| 96 | 99 |
| 97 #endif // OffscreenCanvasRenderingContext2D_h | 100 #endif // OffscreenCanvasRenderingContext2D_h |
| OLD | NEW |