| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2011 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2013 Google Inc. All rights reserved. | 3 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
| 6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
| 7 * are met: | 7 * are met: |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 366 // Get the zoom factor to scale the filterSourceRect input | 366 // Get the zoom factor to scale the filterSourceRect input |
| 367 const RenderLayerModelObject* renderer = renderLayer->renderer(); | 367 const RenderLayerModelObject* renderer = renderLayer->renderer(); |
| 368 const RenderStyle* style = renderer ? renderer->style() : 0; | 368 const RenderStyle* style = renderer ? renderer->style() : 0; |
| 369 float zoom = style ? style->effectiveZoom() : 1.0f; | 369 float zoom = style ? style->effectiveZoom() : 1.0f; |
| 370 | 370 |
| 371 AffineTransform absoluteTransform; | 371 AffineTransform absoluteTransform; |
| 372 absoluteTransform.translate(filterBoxRect.x(), filterBoxRect.y()); | 372 absoluteTransform.translate(filterBoxRect.x(), filterBoxRect.y()); |
| 373 filter->setAbsoluteTransform(absoluteTransform); | 373 filter->setAbsoluteTransform(absoluteTransform); |
| 374 filter->setAbsoluteFilterRegion(AffineTransform().scale(zoom).mapRect(filter
SourceRect)); | 374 filter->setAbsoluteFilterRegion(AffineTransform().scale(zoom).mapRect(filter
SourceRect)); |
| 375 filter->setFilterRegion(absoluteTransform.inverse().mapRect(filterSourceRect
)); | 375 filter->setFilterRegion(absoluteTransform.inverse().mapRect(filterSourceRect
)); |
| 376 filter->lastEffect()->determineFilterPrimitiveSubregion(); | 376 filter->lastEffect()->determineFilterPrimitiveSubregion(MapRectForward); |
| 377 | 377 |
| 378 bool hasUpdatedBackingStore = filter->updateBackingStoreRect(filterSourceRec
t); | 378 bool hasUpdatedBackingStore = filter->updateBackingStoreRect(filterSourceRec
t); |
| 379 if (filter->hasFilterThatMovesPixels()) { | 379 if (filter->hasFilterThatMovesPixels()) { |
| 380 if (hasUpdatedBackingStore) | 380 if (hasUpdatedBackingStore) |
| 381 m_repaintRect = filterSourceRect; | 381 m_repaintRect = filterSourceRect; |
| 382 else { | 382 else { |
| 383 m_repaintRect.unite(layerRepaintRect); | 383 m_repaintRect.unite(layerRepaintRect); |
| 384 m_repaintRect.intersect(filterSourceRect); | 384 m_repaintRect.intersect(filterSourceRect); |
| 385 } | 385 } |
| 386 } | 386 } |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 426 // Get the filtered output and draw it in place. | 426 // Get the filtered output and draw it in place. |
| 427 m_savedGraphicsContext->drawImageBuffer(filter->output(), filter->outputRect
(), CompositeSourceOver); | 427 m_savedGraphicsContext->drawImageBuffer(filter->output(), filter->outputRect
(), CompositeSourceOver); |
| 428 | 428 |
| 429 filter->clearIntermediateResults(); | 429 filter->clearIntermediateResults(); |
| 430 | 430 |
| 431 return m_savedGraphicsContext; | 431 return m_savedGraphicsContext; |
| 432 } | 432 } |
| 433 | 433 |
| 434 } // namespace WebCore | 434 } // namespace WebCore |
| 435 | 435 |
| OLD | NEW |