OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
4 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) | 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) |
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv
ed. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv
ed. |
7 * Copyright (C) 2009 Google Inc. All rights reserved. | 7 * Copyright (C) 2009 Google Inc. All rights reserved. |
8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
9 * | 9 * |
10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
(...skipping 1380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1391 return repaintContainer; | 1391 return repaintContainer; |
1392 } | 1392 } |
1393 | 1393 |
1394 void RenderObject::repaintUsingContainer(const RenderLayerModelObject* repaintCo
ntainer, const IntRect& r) const | 1394 void RenderObject::repaintUsingContainer(const RenderLayerModelObject* repaintCo
ntainer, const IntRect& r) const |
1395 { | 1395 { |
1396 if (!repaintContainer) { | 1396 if (!repaintContainer) { |
1397 view()->repaintViewRectangle(r); | 1397 view()->repaintViewRectangle(r); |
1398 return; | 1398 return; |
1399 } | 1399 } |
1400 | 1400 |
| 1401 if (repaintContainer->compositingState() == PaintsIntoGroupedBacking) { |
| 1402 // FIXME: this if-statement may not catch the repaint invalidation that
comes from a descendant that contributes to this squashed subtree. |
| 1403 |
| 1404 ASSERT(repaintContainer->groupedMapping()); |
| 1405 |
| 1406 // Not clean, but if squashing layer does not yet exist here (e.g. repai
nt invalidation coming from within recomputing compositing requirements) |
| 1407 // then it's ok to just exit here, since the squashing layer will get re
painted when it is newly created. |
| 1408 if (!repaintContainer->groupedMapping()->squashingLayer()) |
| 1409 return; |
| 1410 |
| 1411 IntRect offsetRect(r); |
| 1412 offsetRect.move(-repaintContainer->layer()->offsetFromSquashingLayerOrig
in()); |
| 1413 repaintContainer->groupedMapping()->squashingLayer()->setNeedsDisplayInR
ect(offsetRect); |
| 1414 return; |
| 1415 } |
| 1416 |
1401 if (repaintContainer->isRenderFlowThread()) { | 1417 if (repaintContainer->isRenderFlowThread()) { |
1402 toRenderFlowThread(repaintContainer)->repaintRectangleInRegions(r); | 1418 toRenderFlowThread(repaintContainer)->repaintRectangleInRegions(r); |
1403 return; | 1419 return; |
1404 } | 1420 } |
1405 | 1421 |
1406 if (repaintContainer->hasFilter() && repaintContainer->layer()->requiresFull
LayerImageForFilters()) { | 1422 if (repaintContainer->hasFilter() && repaintContainer->layer()->requiresFull
LayerImageForFilters()) { |
1407 repaintContainer->layer()->repainter().setFilterBackendNeedsRepaintingIn
Rect(r); | 1423 repaintContainer->layer()->repainter().setFilterBackendNeedsRepaintingIn
Rect(r); |
1408 return; | 1424 return; |
1409 } | 1425 } |
1410 | 1426 |
(...skipping 1960 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3371 { | 3387 { |
3372 if (object1) { | 3388 if (object1) { |
3373 const WebCore::RenderObject* root = object1; | 3389 const WebCore::RenderObject* root = object1; |
3374 while (root->parent()) | 3390 while (root->parent()) |
3375 root = root->parent(); | 3391 root = root->parent(); |
3376 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); | 3392 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); |
3377 } | 3393 } |
3378 } | 3394 } |
3379 | 3395 |
3380 #endif | 3396 #endif |
OLD | NEW |