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

Side by Side Diff: third_party/WebKit/Source/core/frame/ImageBitmap.cpp

Issue 1899403002: MediaStream Image Capture (2): Platform::ImageCaptureFrameGrabber and grabFrame() (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. LayoutTests: Replace assert_array_equals with an for-each: assert_aprox_equals 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 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "core/frame/ImageBitmap.h" 5 #include "core/frame/ImageBitmap.h"
6 6
7 #include "core/html/HTMLCanvasElement.h" 7 #include "core/html/HTMLCanvasElement.h"
8 #include "core/html/HTMLVideoElement.h" 8 #include "core/html/HTMLVideoElement.h"
9 #include "core/html/ImageData.h" 9 #include "core/html/ImageData.h"
10 #include "platform/graphics/skia/SkiaUtils.h"
10 #include "platform/image-decoders/ImageDecoder.h" 11 #include "platform/image-decoders/ImageDecoder.h"
11 #include "third_party/skia/include/core/SkSurface.h" 12 #include "third_party/skia/include/core/SkSurface.h"
12 #include "wtf/RefPtr.h" 13 #include "wtf/RefPtr.h"
13 14
14 namespace blink { 15 namespace blink {
15 16
16 static const char* imageOrientationFlipY = "flipY"; 17 static const char* imageOrientationFlipY = "flipY";
17 static const char* imageBitmapOptionNone = "none"; 18 static const char* imageBitmapOptionNone = "none";
18 19
19 // The following two functions are helpers used in cropImage 20 // The following two functions are helpers used in cropImage
(...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 } 396 }
396 397
397 void ImageBitmap::close() 398 void ImageBitmap::close()
398 { 399 {
399 if (!m_image || m_isNeutered) 400 if (!m_image || m_isNeutered)
400 return; 401 return;
401 m_image.clear(); 402 m_image.clear();
402 m_isNeutered = true; 403 m_isNeutered = true;
403 } 404 }
404 405
406 // static
407 ImageBitmap* ImageBitmap::take(ScriptPromiseResolver*, sk_sp<SkImage> image)
408 {
409 return ImageBitmap::create(StaticBitmapImage::create(fromSkSp(image)));
410 }
411
405 PassOwnPtr<uint8_t[]> ImageBitmap::copyBitmapData(AlphaDisposition alphaOp) 412 PassOwnPtr<uint8_t[]> ImageBitmap::copyBitmapData(AlphaDisposition alphaOp)
406 { 413 {
407 SkImageInfo info = SkImageInfo::Make(width(), height(), kRGBA_8888_SkColorTy pe, (alphaOp == PremultiplyAlpha) ? kPremul_SkAlphaType : kUnpremul_SkAlphaType) ; 414 SkImageInfo info = SkImageInfo::Make(width(), height(), kRGBA_8888_SkColorTy pe, (alphaOp == PremultiplyAlpha) ? kPremul_SkAlphaType : kUnpremul_SkAlphaType) ;
408 OwnPtr<uint8_t[]> dstPixels = copySkImageData(m_image->imageForCurrentFrame( ).get(), info); 415 OwnPtr<uint8_t[]> dstPixels = copySkImageData(m_image->imageForCurrentFrame( ).get(), info);
409 return dstPixels.release(); 416 return dstPixels.release();
410 } 417 }
411 418
412 unsigned long ImageBitmap::width() const 419 unsigned long ImageBitmap::width() const
413 { 420 {
414 if (!m_image) 421 if (!m_image)
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
471 FloatSize ImageBitmap::elementSize(const FloatSize&) const 478 FloatSize ImageBitmap::elementSize(const FloatSize&) const
472 { 479 {
473 return FloatSize(width(), height()); 480 return FloatSize(width(), height());
474 } 481 }
475 482
476 DEFINE_TRACE(ImageBitmap) 483 DEFINE_TRACE(ImageBitmap)
477 { 484 {
478 } 485 }
479 486
480 } // namespace blink 487 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698