| 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 #include "modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.h" | 5 #include "modules/offscreencanvas2d/OffscreenCanvasRenderingContext2D.h" |
| 6 | 6 |
| 7 #include "bindings/modules/v8/OffscreenCanvasRenderingContext2DOrWebGLRenderingC
ontextOrWebGL2RenderingContext.h" | 7 #include "bindings/modules/v8/OffscreenCanvasRenderingContext2DOrWebGLRenderingC
ontextOrWebGL2RenderingContext.h" |
| 8 #include "core/frame/ImageBitmap.h" | 8 #include "core/frame/ImageBitmap.h" |
| 9 #include "core/frame/Settings.h" | 9 #include "core/frame/Settings.h" |
| 10 #include "core/workers/WorkerGlobalScope.h" | 10 #include "core/workers/WorkerGlobalScope.h" |
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 151 AccelerationHint hint, | 151 AccelerationHint hint, |
| 152 SnapshotReason reason) const { | 152 SnapshotReason reason) const { |
| 153 if (!imageBuffer()) | 153 if (!imageBuffer()) |
| 154 return nullptr; | 154 return nullptr; |
| 155 sk_sp<SkImage> skImage = m_imageBuffer->newSkImageSnapshot(hint, reason); | 155 sk_sp<SkImage> skImage = m_imageBuffer->newSkImageSnapshot(hint, reason); |
| 156 RefPtr<StaticBitmapImage> image = | 156 RefPtr<StaticBitmapImage> image = |
| 157 StaticBitmapImage::create(std::move(skImage)); | 157 StaticBitmapImage::create(std::move(skImage)); |
| 158 return image; | 158 return image; |
| 159 } | 159 } |
| 160 | 160 |
| 161 ImageData* OffscreenCanvasRenderingContext2D::toImageData( |
| 162 SnapshotReason reason) const { |
| 163 if (!imageBuffer()) |
| 164 return nullptr; |
| 165 sk_sp<SkImage> snapshot = |
| 166 m_imageBuffer->newSkImageSnapshot(PreferNoAcceleration, reason); |
| 167 ImageData* imageData = nullptr; |
| 168 if (snapshot) { |
| 169 imageData = ImageData::create(this->getOffscreenCanvas()->size()); |
| 170 SkImageInfo imageInfo = |
| 171 SkImageInfo::Make(this->width(), this->height(), kRGBA_8888_SkColorType, |
| 172 kUnpremul_SkAlphaType); |
| 173 snapshot->readPixels(imageInfo, imageData->data()->data(), |
| 174 imageInfo.minRowBytes(), 0, 0); |
| 175 } |
| 176 return imageData; |
| 177 } |
| 178 |
| 161 void OffscreenCanvasRenderingContext2D::setOffscreenCanvasGetContextResult( | 179 void OffscreenCanvasRenderingContext2D::setOffscreenCanvasGetContextResult( |
| 162 OffscreenRenderingContext& result) { | 180 OffscreenRenderingContext& result) { |
| 163 result.setOffscreenCanvasRenderingContext2D(this); | 181 result.setOffscreenCanvasRenderingContext2D(this); |
| 164 } | 182 } |
| 165 | 183 |
| 166 bool OffscreenCanvasRenderingContext2D::parseColorOrCurrentColor( | 184 bool OffscreenCanvasRenderingContext2D::parseColorOrCurrentColor( |
| 167 Color& color, | 185 Color& color, |
| 168 const String& colorString) const { | 186 const String& colorString) const { |
| 169 return ::blink::parseColorOrCurrentColor(color, colorString, nullptr); | 187 return ::blink::parseColorOrCurrentColor(color, colorString, nullptr); |
| 170 } | 188 } |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 217 } | 235 } |
| 218 | 236 |
| 219 bool OffscreenCanvasRenderingContext2D::isContextLost() const { | 237 bool OffscreenCanvasRenderingContext2D::isContextLost() const { |
| 220 return false; | 238 return false; |
| 221 } | 239 } |
| 222 | 240 |
| 223 bool OffscreenCanvasRenderingContext2D::isPaintable() const { | 241 bool OffscreenCanvasRenderingContext2D::isPaintable() const { |
| 224 return this->imageBuffer(); | 242 return this->imageBuffer(); |
| 225 } | 243 } |
| 226 } | 244 } |
| OLD | NEW |