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

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLImageElement.cpp

Issue 2026803002: Avoid GPU readback in tex(Sub)Image2D(ImageBitmap) (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: address kbr@'s comments Created 4 years, 5 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 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Apple Inc. All rights reserv ed. 4 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2010 Apple Inc. All rights reserv ed.
5 * Copyright (C) 2010 Google Inc. All rights reserved. 5 * Copyright (C) 2010 Google Inc. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
(...skipping 788 matching lines...) Expand 10 before | Expand all | Expand 10 after
799 EventDispatchForbiddenScope::AllowUserAgentEvents allowEvents; 799 EventDispatchForbiddenScope::AllowUserAgentEvents allowEvents;
800 ensureUserAgentShadowRoot(); 800 ensureUserAgentShadowRoot();
801 } 801 }
802 802
803 bool HTMLImageElement::isOpaque() const 803 bool HTMLImageElement::isOpaque() const
804 { 804 {
805 Image* image = const_cast<HTMLImageElement*>(this)->imageContents(); 805 Image* image = const_cast<HTMLImageElement*>(this)->imageContents();
806 return image && image->currentFrameKnownToBeOpaque(); 806 return image && image->currentFrameKnownToBeOpaque();
807 } 807 }
808 808
809 int HTMLImageElement::sourceWidth()
810 {
811 SourceImageStatus status;
812 FloatSize defaultObjectSize(width(), height());
813 RefPtr<Image> image = getSourceImageForCanvas(&status, PreferNoAcceleration, SnapshotReasonCopyToWebGLTexture, defaultObjectSize);
814 return image->width();
815 }
816
817 int HTMLImageElement::sourceHeight()
818 {
819 SourceImageStatus status;
820 FloatSize defaultObjectSize(width(), height());
821 RefPtr<Image> image = getSourceImageForCanvas(&status, PreferNoAcceleration, SnapshotReasonCopyToWebGLTexture, defaultObjectSize);
822 return image->height();
823 }
824
809 IntSize HTMLImageElement::bitmapSourceSize() const 825 IntSize HTMLImageElement::bitmapSourceSize() const
810 { 826 {
811 ImageResource* image = cachedImage(); 827 ImageResource* image = cachedImage();
812 if (!image) 828 if (!image)
813 return IntSize(); 829 return IntSize();
814 LayoutSize lSize = image->imageSize(LayoutObject::shouldRespectImageOrientat ion(layoutObject()), 1.0f); 830 LayoutSize lSize = image->imageSize(LayoutObject::shouldRespectImageOrientat ion(layoutObject()), 1.0f);
815 ASSERT(lSize.fraction().isZero()); 831 ASSERT(lSize.fraction().isZero());
816 return IntSize(lSize.width(), lSize.height()); 832 return IntSize(lSize.width(), lSize.height());
817 } 833 }
818 834
819 } // namespace blink 835 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/html/HTMLImageElement.h ('k') | third_party/WebKit/Source/core/html/HTMLVideoElement.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698