| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2008, Google Inc. All rights reserved. | 2 * Copyright (c) 2008, Google Inc. All rights reserved. |
| 3 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> | 3 * Copyright (C) 2009 Dirk Schulze <krit@webkit.org> |
| 4 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. | 4 * Copyright (C) 2010 Torch Mobile (Beijing) Co. Ltd. All rights reserved. |
| 5 * | 5 * |
| 6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
| 7 * modification, are permitted provided that the following conditions are | 7 * modification, are permitted provided that the following conditions are |
| 8 * met: | 8 * met: |
| 9 * | 9 * |
| 10 * * Redistributions of source code must retain the above copyright | 10 * * Redistributions of source code must retain the above copyright |
| (...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 153 if (!isSurfaceValid()) | 153 if (!isSurfaceValid()) |
| 154 return nullptr; | 154 return nullptr; |
| 155 return m_surface->newImageSnapshot(hint); | 155 return m_surface->newImageSnapshot(hint); |
| 156 } | 156 } |
| 157 | 157 |
| 158 PassRefPtr<Image> ImageBuffer::newImageSnapshot(AccelerationHint hint) const | 158 PassRefPtr<Image> ImageBuffer::newImageSnapshot(AccelerationHint hint) const |
| 159 { | 159 { |
| 160 RefPtr<SkImage> snapshot = newSkImageSnapshot(hint); | 160 RefPtr<SkImage> snapshot = newSkImageSnapshot(hint); |
| 161 if (!snapshot) | 161 if (!snapshot) |
| 162 return nullptr; | 162 return nullptr; |
| 163 return StaticBitmapImage::create(snapshot); | 163 return StaticBitmapImage::create(snapshot, hasSingleSecurityOrigin() ? HasSi
ngleSecurityOrigin : NoSingleSecurityOrigin); |
| 164 } | 164 } |
| 165 | 165 |
| 166 void ImageBuffer::didDraw(const FloatRect& rect) const | 166 void ImageBuffer::didDraw(const FloatRect& rect) const |
| 167 { | 167 { |
| 168 if (m_snapshotState == DidAcquireSnapshot) | 168 if (m_snapshotState == DidAcquireSnapshot) |
| 169 m_snapshotState = DrawnToAfterSnapshot; | 169 m_snapshotState = DrawnToAfterSnapshot; |
| 170 m_surface->didDraw(rect); | 170 m_surface->didDraw(rect); |
| 171 } | 171 } |
| 172 | 172 |
| 173 bool ImageBuffer::hasSingleSecurityOrigin() const |
| 174 { |
| 175 return m_client->hasSingleSecurityOrigin(); |
| 176 } |
| 177 |
| 173 WebLayer* ImageBuffer::platformLayer() const | 178 WebLayer* ImageBuffer::platformLayer() const |
| 174 { | 179 { |
| 175 return m_surface->layer(); | 180 return m_surface->layer(); |
| 176 } | 181 } |
| 177 | 182 |
| 178 bool ImageBuffer::copyToPlatformTexture(WebGraphicsContext3D* context, Platform3
DObject texture, GLenum internalFormat, GLenum destType, GLint level, bool premu
ltiplyAlpha, bool flipY) | 183 bool ImageBuffer::copyToPlatformTexture(WebGraphicsContext3D* context, Platform3
DObject texture, GLenum internalFormat, GLenum destType, GLint level, bool premu
ltiplyAlpha, bool flipY) |
| 179 { | 184 { |
| 180 if (!Extensions3DUtil::canUseCopyTextureCHROMIUM(GL_TEXTURE_2D, internalForm
at, destType, level)) | 185 if (!Extensions3DUtil::canUseCopyTextureCHROMIUM(GL_TEXTURE_2D, internalForm
at, destType, level)) |
| 181 return false; | 186 return false; |
| 182 | 187 |
| (...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 397 ASSERT(MIMETypeRegistry::isSupportedImageMIMETypeForEncoding(mimeType)); | 402 ASSERT(MIMETypeRegistry::isSupportedImageMIMETypeForEncoding(mimeType)); |
| 398 | 403 |
| 399 Vector<unsigned char> result; | 404 Vector<unsigned char> result; |
| 400 if (!encodeImage(mimeType, quality, &result)) | 405 if (!encodeImage(mimeType, quality, &result)) |
| 401 return "data:,"; | 406 return "data:,"; |
| 402 | 407 |
| 403 return "data:" + mimeType + ";base64," + base64Encode(result); | 408 return "data:" + mimeType + ";base64," + base64Encode(result); |
| 404 } | 409 } |
| 405 | 410 |
| 406 } // namespace blink | 411 } // namespace blink |
| OLD | NEW |