| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 876 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 887 if (!isContextLost()) | 887 if (!isContextLost()) |
| 888 drawingBuffer()->setBufferClearNeeded(true); | 888 drawingBuffer()->setBufferClearNeeded(true); |
| 889 } | 889 } |
| 890 | 890 |
| 891 void WebGLRenderingContextBase::setIsHidden(bool hidden) | 891 void WebGLRenderingContextBase::setIsHidden(bool hidden) |
| 892 { | 892 { |
| 893 if (drawingBuffer()) | 893 if (drawingBuffer()) |
| 894 drawingBuffer()->setIsHidden(hidden); | 894 drawingBuffer()->setIsHidden(hidden); |
| 895 } | 895 } |
| 896 | 896 |
| 897 void WebGLRenderingContextBase::paintRenderingResultsToCanvas(SourceDrawingBuffe
r sourceBuffer) | 897 bool WebGLRenderingContextBase::paintRenderingResultsToCanvas(SourceDrawingBuffe
r sourceBuffer) |
| 898 { | 898 { |
| 899 if (isContextLost()) | 899 if (isContextLost()) |
| 900 return; | 900 return false; |
| 901 | 901 |
| 902 bool mustClearNow = clearIfComposited() != Skipped; | 902 bool mustClearNow = clearIfComposited() != Skipped; |
| 903 if (!m_markedCanvasDirty && !mustClearNow) | 903 if (!m_markedCanvasDirty && !mustClearNow) |
| 904 return; | 904 return false; |
| 905 | 905 |
| 906 canvas()->clearCopiedImage(); | 906 canvas()->clearCopiedImage(); |
| 907 m_markedCanvasDirty = false; | 907 m_markedCanvasDirty = false; |
| 908 | 908 |
| 909 ScopedTexture2DRestorer restorer(this); | 909 ScopedTexture2DRestorer restorer(this); |
| 910 | 910 |
| 911 drawingBuffer()->commit(); | 911 drawingBuffer()->commit(); |
| 912 if (!canvas()->buffer()->copyRenderingResultsFromDrawingBuffer(drawingBuffer
(), sourceBuffer)) { | 912 if (!canvas()->buffer()->copyRenderingResultsFromDrawingBuffer(drawingBuffer
(), sourceBuffer)) { |
| 913 canvas()->ensureUnacceleratedImageBuffer(); | 913 canvas()->ensureUnacceleratedImageBuffer(); |
| 914 if (canvas()->hasImageBuffer()) | 914 if (canvas()->hasImageBuffer()) |
| 915 drawingBuffer()->paintRenderingResultsToCanvas(canvas()->buffer()); | 915 drawingBuffer()->paintRenderingResultsToCanvas(canvas()->buffer()); |
| 916 } | 916 } |
| 917 | 917 |
| 918 if (m_framebufferBinding) | 918 restoreCurrentFramebuffer(); |
| 919 webContext()->bindFramebuffer(GL_FRAMEBUFFER, objectOrZero(m_framebuffer
Binding.get())); | 919 return true; |
| 920 else | |
| 921 drawingBuffer()->bind(); | |
| 922 } | 920 } |
| 923 | 921 |
| 924 PassRefPtrWillBeRawPtr<ImageData> WebGLRenderingContextBase::paintRenderingResul
tsToImageData(SourceDrawingBuffer sourceBuffer) | 922 PassRefPtrWillBeRawPtr<ImageData> WebGLRenderingContextBase::paintRenderingResul
tsToImageData(SourceDrawingBuffer sourceBuffer) |
| 925 { | 923 { |
| 926 if (isContextLost()) | 924 if (isContextLost()) |
| 927 return nullptr; | 925 return nullptr; |
| 928 | 926 |
| 929 clearIfComposited(); | 927 clearIfComposited(); |
| 930 drawingBuffer()->commit(); | 928 drawingBuffer()->commit(); |
| 931 int width, height; | 929 int width, height; |
| (...skipping 4931 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5863 return m_sharedWebGraphicsContext3D ? m_sharedWebGraphicsContext3D->drawingB
uffer() : 0; | 5861 return m_sharedWebGraphicsContext3D ? m_sharedWebGraphicsContext3D->drawingB
uffer() : 0; |
| 5864 } | 5862 } |
| 5865 #else | 5863 #else |
| 5866 DrawingBuffer* WebGLRenderingContextBase::drawingBuffer() const | 5864 DrawingBuffer* WebGLRenderingContextBase::drawingBuffer() const |
| 5867 { | 5865 { |
| 5868 return m_drawingBuffer.get(); | 5866 return m_drawingBuffer.get(); |
| 5869 } | 5867 } |
| 5870 #endif | 5868 #endif |
| 5871 | 5869 |
| 5872 } // namespace blink | 5870 } // namespace blink |
| OLD | NEW |