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

Side by Side Diff: Source/core/html/HTMLCanvasElement.cpp

Issue 926193003: Move rendering/RenderBox to layout/LayoutBox. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/html/HTMLBodyElement.cpp ('k') | Source/core/html/HTMLFormControlElement.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 287
288 void HTMLCanvasElement::didFinalizeFrame() 288 void HTMLCanvasElement::didFinalizeFrame()
289 { 289 {
290 if (m_dirtyRect.isEmpty()) 290 if (m_dirtyRect.isEmpty())
291 return; 291 return;
292 292
293 // Propagate the m_dirtyRect accumulated so far to the compositor 293 // Propagate the m_dirtyRect accumulated so far to the compositor
294 // before restarting with a blank dirty rect. 294 // before restarting with a blank dirty rect.
295 FloatRect srcRect(0, 0, size().width(), size().height()); 295 FloatRect srcRect(0, 0, size().width(), size().height());
296 m_dirtyRect.intersect(srcRect); 296 m_dirtyRect.intersect(srcRect);
297 if (RenderBox* ro = renderBox()) { 297 if (LayoutBox* ro = layoutBox()) {
298 FloatRect mappedDirtyRect = mapRect(m_dirtyRect, srcRect, ro->contentBox Rect()); 298 FloatRect mappedDirtyRect = mapRect(m_dirtyRect, srcRect, ro->contentBox Rect());
299 // For querying Layer::compositingState() 299 // For querying Layer::compositingState()
300 // FIXME: is this invalidation using the correct compositing state? 300 // FIXME: is this invalidation using the correct compositing state?
301 DisableCompositingQueryAsserts disabler; 301 DisableCompositingQueryAsserts disabler;
302 ro->invalidatePaintRectangle(enclosingIntRect(mappedDirtyRect)); 302 ro->invalidatePaintRectangle(enclosingIntRect(mappedDirtyRect));
303 } 303 }
304 notifyObserversCanvasChanged(m_dirtyRect); 304 notifyObserversCanvasChanged(m_dirtyRect);
305 m_dirtyRect = FloatRect(); 305 m_dirtyRect = FloatRect();
306 } 306 }
307 307
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
372 372
373 setSurfaceSize(newSize); 373 setSurfaceSize(newSize);
374 374
375 if (m_context && m_context->is3d() && oldSize != size()) 375 if (m_context && m_context->is3d() && oldSize != size())
376 toWebGLRenderingContext(m_context.get())->reshape(width(), height()); 376 toWebGLRenderingContext(m_context.get())->reshape(width(), height());
377 377
378 if (LayoutObject* renderer = this->renderer()) { 378 if (LayoutObject* renderer = this->renderer()) {
379 if (renderer->isCanvas()) { 379 if (renderer->isCanvas()) {
380 if (oldSize != size()) { 380 if (oldSize != size()) {
381 toLayoutHTMLCanvas(renderer)->canvasSizeChanged(); 381 toLayoutHTMLCanvas(renderer)->canvasSizeChanged();
382 if (renderBox() && renderBox()->hasAcceleratedCompositing()) 382 if (layoutBox() && layoutBox()->hasAcceleratedCompositing())
383 renderBox()->contentChanged(CanvasChanged); 383 layoutBox()->contentChanged(CanvasChanged);
384 } 384 }
385 if (hadImageBuffer) 385 if (hadImageBuffer)
386 renderer->setShouldDoFullPaintInvalidation(); 386 renderer->setShouldDoFullPaintInvalidation();
387 } 387 }
388 } 388 }
389 389
390 for (CanvasObserver* canvasObserver : m_observers) 390 for (CanvasObserver* canvasObserver : m_observers)
391 canvasObserver->canvasResized(this); 391 canvasObserver->canvasResized(this);
392 } 392 }
393 393
394 bool HTMLCanvasElement::paintsIntoCanvasBuffer() const 394 bool HTMLCanvasElement::paintsIntoCanvasBuffer() const
395 { 395 {
396 ASSERT(m_context); 396 ASSERT(m_context);
397 397
398 if (!m_context->isAccelerated()) 398 if (!m_context->isAccelerated())
399 return true; 399 return true;
400 400
401 if (renderBox() && renderBox()->hasAcceleratedCompositing()) 401 if (layoutBox() && layoutBox()->hasAcceleratedCompositing())
402 return false; 402 return false;
403 403
404 return true; 404 return true;
405 } 405 }
406 406
407 407
408 void HTMLCanvasElement::paint(GraphicsContext* context, const LayoutRect& r) 408 void HTMLCanvasElement::paint(GraphicsContext* context, const LayoutRect& r)
409 { 409 {
410 // FIXME: crbug.com/438240; there is a bug with the new CSS blending and com positing feature. 410 // FIXME: crbug.com/438240; there is a bug with the new CSS blending and com positing feature.
411 if (!m_context) 411 if (!m_context)
(...skipping 481 matching lines...) Expand 10 before | Expand all | Expand 10 after
893 { 893 {
894 return FloatSize(width(), height()); 894 return FloatSize(width(), height());
895 } 895 }
896 896
897 bool HTMLCanvasElement::isOpaque() const 897 bool HTMLCanvasElement::isOpaque() const
898 { 898 {
899 return m_context && !m_context->hasAlpha(); 899 return m_context && !m_context->hasAlpha();
900 } 900 }
901 901
902 } // blink 902 } // blink
OLDNEW
« no previous file with comments | « Source/core/html/HTMLBodyElement.cpp ('k') | Source/core/html/HTMLFormControlElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698