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

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

Issue 2797213002: Fix BaseRenderingContext2D create/put/get-ImageData() for color managed canvas (Closed)
Patch Set: Rebaseline Created 3 years, 8 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"
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
84 84
85 void ValidateStateStack() const final; 85 void ValidateStateStack() const final;
86 86
87 bool HasAlpha() const final { return CreationAttributes().alpha(); } 87 bool HasAlpha() const final { return CreationAttributes().alpha(); }
88 bool isContextLost() const override; 88 bool isContextLost() const override;
89 89
90 ImageBitmap* TransferToImageBitmap(ScriptState*) final; 90 ImageBitmap* TransferToImageBitmap(ScriptState*) final;
91 91
92 ColorBehavior DrawImageColorBehavior() const final; 92 ColorBehavior DrawImageColorBehavior() const final;
93 93
94 ImageData* createImageData(ImageData*, ExceptionState&) const;
95 ImageData* createImageData(int, int, ExceptionState&) const;
96 ImageData* createImageData(unsigned,
97 unsigned,
98 ImageDataColorSettings&,
99 ExceptionState&) const;
100 ImageData* createImageData(ImageDataArray&,
101 unsigned,
102 unsigned,
103 ImageDataColorSettings&,
104 ExceptionState&) const;
105
94 protected: 106 protected:
95 OffscreenCanvasRenderingContext2D( 107 OffscreenCanvasRenderingContext2D(
96 ScriptState*, 108 ScriptState*,
97 OffscreenCanvas*, 109 OffscreenCanvas*,
98 const CanvasContextCreationAttributes& attrs); 110 const CanvasContextCreationAttributes& attrs);
99 DECLARE_VIRTUAL_TRACE(); 111 DECLARE_VIRTUAL_TRACE();
100 112
101 virtual void NeedsFinalizeFrame() { 113 virtual void NeedsFinalizeFrame() {
102 CanvasRenderingContext::NeedsFinalizeFrame(); 114 CanvasRenderingContext::NeedsFinalizeFrame();
103 } 115 }
104 116
105 private: 117 private:
106 bool needs_matrix_clip_restore_ = false; 118 bool needs_matrix_clip_restore_ = false;
107 std::unique_ptr<ImageBuffer> image_buffer_; 119 std::unique_ptr<ImageBuffer> image_buffer_;
108 120
109 bool IsPaintable() const final; 121 bool IsPaintable() const final;
110 122
111 RefPtr<StaticBitmapImage> TransferToStaticBitmapImage(); 123 RefPtr<StaticBitmapImage> TransferToStaticBitmapImage();
124
125 CanvasColorSpace ColorSpace() const override;
126 String ColorSpaceAsString() const override;
127 CanvasPixelFormat PixelFormat() const override;
112 }; 128 };
113 129
114 DEFINE_TYPE_CASTS(OffscreenCanvasRenderingContext2D, 130 DEFINE_TYPE_CASTS(OffscreenCanvasRenderingContext2D,
115 CanvasRenderingContext, 131 CanvasRenderingContext,
116 context, 132 context,
117 context->Is2d() && context->offscreenCanvas(), 133 context->Is2d() && context->offscreenCanvas(),
118 context.Is2d() && context.offscreenCanvas()); 134 context.Is2d() && context.offscreenCanvas());
119 135
120 } // namespace blink 136 } // namespace blink
121 137
122 #endif // OffscreenCanvasRenderingContext2D_h 138 #endif // OffscreenCanvasRenderingContext2D_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698