| 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 1481 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1492 if (isContextLost()) | 1492 if (isContextLost()) |
| 1493 return false; | 1493 return false; |
| 1494 | 1494 |
| 1495 bool must_clear_now = ClearIfComposited() != kSkipped; | 1495 bool must_clear_now = ClearIfComposited() != kSkipped; |
| 1496 if (!marked_canvas_dirty_ && !must_clear_now) | 1496 if (!marked_canvas_dirty_ && !must_clear_now) |
| 1497 return false; | 1497 return false; |
| 1498 | 1498 |
| 1499 canvas()->ClearCopiedImage(); | 1499 canvas()->ClearCopiedImage(); |
| 1500 marked_canvas_dirty_ = false; | 1500 marked_canvas_dirty_ = false; |
| 1501 | 1501 |
| 1502 if (!canvas()->Buffer()) | 1502 if (!canvas()->GetImageBuffer()) |
| 1503 return false; | 1503 return false; |
| 1504 | 1504 |
| 1505 ScopedTexture2DRestorer restorer(this); | 1505 ScopedTexture2DRestorer restorer(this); |
| 1506 ScopedFramebufferRestorer fbo_restorer(this); | 1506 ScopedFramebufferRestorer fbo_restorer(this); |
| 1507 | 1507 |
| 1508 GetDrawingBuffer()->ResolveAndBindForReadAndDraw(); | 1508 GetDrawingBuffer()->ResolveAndBindForReadAndDraw(); |
| 1509 if (!canvas()->Buffer()->CopyRenderingResultsFromDrawingBuffer( | 1509 if (!canvas()->GetImageBuffer()->CopyRenderingResultsFromDrawingBuffer( |
| 1510 GetDrawingBuffer(), source_buffer)) { | 1510 GetDrawingBuffer(), source_buffer)) { |
| 1511 // Currently, copyRenderingResultsFromDrawingBuffer is expected to always | 1511 // Currently, copyRenderingResultsFromDrawingBuffer is expected to always |
| 1512 // succeed because cases where canvas()-buffer() is not accelerated are | 1512 // succeed because cases where canvas()-buffer() is not accelerated are |
| 1513 // handle before reaching this point. If that assumption ever stops holding | 1513 // handle before reaching this point. If that assumption ever stops holding |
| 1514 // true, we may need to implement a fallback right here. | 1514 // true, we may need to implement a fallback right here. |
| 1515 NOTREACHED(); | 1515 NOTREACHED(); |
| 1516 return false; | 1516 return false; |
| 1517 } | 1517 } |
| 1518 | 1518 |
| 1519 return true; | 1519 return true; |
| (...skipping 3437 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4957 | 4957 |
| 4958 void WebGLRenderingContextBase::TexImageCanvasByGPU( | 4958 void WebGLRenderingContextBase::TexImageCanvasByGPU( |
| 4959 TexImageFunctionID function_id, | 4959 TexImageFunctionID function_id, |
| 4960 HTMLCanvasElement* canvas, | 4960 HTMLCanvasElement* canvas, |
| 4961 GLenum target, | 4961 GLenum target, |
| 4962 GLuint target_texture, | 4962 GLuint target_texture, |
| 4963 GLint xoffset, | 4963 GLint xoffset, |
| 4964 GLint yoffset, | 4964 GLint yoffset, |
| 4965 const IntRect& source_sub_rectangle) { | 4965 const IntRect& source_sub_rectangle) { |
| 4966 if (!canvas->Is3d()) { | 4966 if (!canvas->Is3d()) { |
| 4967 ImageBuffer* buffer = canvas->Buffer(); | 4967 ImageBuffer* buffer = canvas->GetImageBuffer(); |
| 4968 if (buffer && | 4968 if (buffer && |
| 4969 !buffer->CopyToPlatformTexture( | 4969 !buffer->CopyToPlatformTexture( |
| 4970 FunctionIDToSnapshotReason(function_id), ContextGL(), target, | 4970 FunctionIDToSnapshotReason(function_id), ContextGL(), target, |
| 4971 target_texture, unpack_premultiply_alpha_, unpack_flip_y_, | 4971 target_texture, unpack_premultiply_alpha_, unpack_flip_y_, |
| 4972 IntPoint(xoffset, yoffset), source_sub_rectangle)) { | 4972 IntPoint(xoffset, yoffset), source_sub_rectangle)) { |
| 4973 NOTREACHED(); | 4973 NOTREACHED(); |
| 4974 } | 4974 } |
| 4975 } else { | 4975 } else { |
| 4976 WebGLRenderingContextBase* gl = | 4976 WebGLRenderingContextBase* gl = |
| 4977 ToWebGLRenderingContextBase(canvas->RenderingContext()); | 4977 ToWebGLRenderingContextBase(canvas->RenderingContext()); |
| (...skipping 2845 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7823 void WebGLRenderingContextBase::getHTMLOrOffscreenCanvas( | 7823 void WebGLRenderingContextBase::getHTMLOrOffscreenCanvas( |
| 7824 HTMLCanvasElementOrOffscreenCanvas& result) const { | 7824 HTMLCanvasElementOrOffscreenCanvas& result) const { |
| 7825 if (canvas()) { | 7825 if (canvas()) { |
| 7826 result.setHTMLCanvasElement(static_cast<HTMLCanvasElement*>(host())); | 7826 result.setHTMLCanvasElement(static_cast<HTMLCanvasElement*>(host())); |
| 7827 } else { | 7827 } else { |
| 7828 result.setOffscreenCanvas(static_cast<OffscreenCanvas*>(host())); | 7828 result.setOffscreenCanvas(static_cast<OffscreenCanvas*>(host())); |
| 7829 } | 7829 } |
| 7830 } | 7830 } |
| 7831 | 7831 |
| 7832 } // namespace blink | 7832 } // namespace blink |
| OLD | NEW |