OLD | NEW |
---|---|
1 /* | 1 /* |
2 * Copyright (C) 2004, 2006, 2007 Apple Inc. All rights reserved. | 2 * Copyright (C) 2004, 2006, 2007 Apple Inc. All rights reserved. |
3 * Copyright (C) 2007 Alp Toker <alp@atoker.com> | 3 * Copyright (C) 2007 Alp Toker <alp@atoker.com> |
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 | 7 * modification, are permitted provided that the following conditions |
8 * are met: | 8 * are met: |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
112 } | 112 } |
113 | 113 |
114 RenderObject* HTMLCanvasElement::createRenderer(RenderStyle* style) | 114 RenderObject* HTMLCanvasElement::createRenderer(RenderStyle* style) |
115 { | 115 { |
116 LocalFrame* frame = document().frame(); | 116 LocalFrame* frame = document().frame(); |
117 if (frame && frame->script().canExecuteScripts(NotAboutToExecuteScript)) | 117 if (frame && frame->script().canExecuteScripts(NotAboutToExecuteScript)) |
118 return new RenderHTMLCanvas(this); | 118 return new RenderHTMLCanvas(this); |
119 return HTMLElement::createRenderer(style); | 119 return HTMLElement::createRenderer(style); |
120 } | 120 } |
121 | 121 |
122 void HTMLCanvasElement::didRecalcStyle(StyleRecalcChange) | |
123 { | |
124 m_imageBuffer->setNearestNeighbor(computedStyle()->imageRendering() == Image RenderingPixelated); | |
125 } | |
126 | |
122 Node::InsertionNotificationRequest HTMLCanvasElement::insertedInto(ContainerNode * node) | 127 Node::InsertionNotificationRequest HTMLCanvasElement::insertedInto(ContainerNode * node) |
123 { | 128 { |
124 setIsInCanvasSubtree(true); | 129 setIsInCanvasSubtree(true); |
125 return HTMLElement::insertedInto(node); | 130 return HTMLElement::insertedInto(node); |
126 } | 131 } |
127 | 132 |
128 void HTMLCanvasElement::addObserver(CanvasObserver* observer) | 133 void HTMLCanvasElement::addObserver(CanvasObserver* observer) |
129 { | 134 { |
130 m_observers.add(observer); | 135 m_observers.add(observer); |
131 } | 136 } |
(...skipping 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
322 if (!m_context->isAccelerated()) | 327 if (!m_context->isAccelerated()) |
323 return true; | 328 return true; |
324 | 329 |
325 if (renderBox() && renderBox()->hasAcceleratedCompositing()) | 330 if (renderBox() && renderBox()->hasAcceleratedCompositing()) |
326 return false; | 331 return false; |
327 | 332 |
328 return true; | 333 return true; |
329 } | 334 } |
330 | 335 |
331 | 336 |
332 void HTMLCanvasElement::paint(GraphicsContext* context, const LayoutRect& r) | 337 void HTMLCanvasElement::paint(GraphicsContext* context, const LayoutRect& r) |
Justin Novosad
2014/09/10 14:28:31
You have to make changes to this function to make
jackhou1
2014/09/11 08:26:31
This should already work, the logic is in RenderHT
| |
333 { | 338 { |
334 if (m_context) { | 339 if (m_context) { |
335 if (!paintsIntoCanvasBuffer() && !document().printing()) | 340 if (!paintsIntoCanvasBuffer() && !document().printing()) |
336 return; | 341 return; |
337 m_context->paintRenderingResultsToCanvas(); | 342 m_context->paintRenderingResultsToCanvas(); |
338 } | 343 } |
339 | 344 |
340 if (hasImageBuffer()) { | 345 if (hasImageBuffer()) { |
341 ImageBuffer* imageBuffer = buffer(); | 346 ImageBuffer* imageBuffer = buffer(); |
342 if (imageBuffer) { | 347 if (imageBuffer) { |
(...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
740 { | 745 { |
741 return !originClean(); | 746 return !originClean(); |
742 } | 747 } |
743 | 748 |
744 FloatSize HTMLCanvasElement::sourceSize() const | 749 FloatSize HTMLCanvasElement::sourceSize() const |
745 { | 750 { |
746 return FloatSize(width(), height()); | 751 return FloatSize(width(), height()); |
747 } | 752 } |
748 | 753 |
749 } | 754 } |
OLD | NEW |