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 1379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1390 return repaintContainer; | 1390 return repaintContainer; |
1391 } | 1391 } |
1392 | 1392 |
1393 void RenderObject::repaintUsingContainer(const RenderLayerModelObject* repaintCo
ntainer, const IntRect& r) const | 1393 void RenderObject::repaintUsingContainer(const RenderLayerModelObject* repaintCo
ntainer, const IntRect& r) const |
1394 { | 1394 { |
1395 if (!repaintContainer) { | 1395 if (!repaintContainer) { |
1396 view()->repaintViewRectangle(r); | 1396 view()->repaintViewRectangle(r); |
1397 return; | 1397 return; |
1398 } | 1398 } |
1399 | 1399 |
| 1400 if (repaintContainer->compositingState() == PaintsIntoGroupedBacking) { |
| 1401 // FIXME: this if-statement may not catch the repaint invalidation that
comes from a descendant that contributes to this squashed subtree. |
| 1402 |
| 1403 ASSERT(repaintContainer->groupedMapping()); |
| 1404 |
| 1405 // Not clean, but if squashing layer does not yet exist here (e.g. repai
nt invalidation coming from within recomputing compositing requirements) |
| 1406 // then it's ok to just exit here, since the squashing layer will get re
painted when it is newly created. |
| 1407 if (!repaintContainer->groupedMapping()->squashingLayer()) |
| 1408 return; |
| 1409 |
| 1410 IntRect offsetRect(r); |
| 1411 offsetRect.move(-repaintContainer->layer()->offsetFromSquashingLayerOrig
in()); |
| 1412 repaintContainer->groupedMapping()->squashingLayer()->setNeedsDisplayInR
ect(offsetRect); |
| 1413 return; |
| 1414 } |
| 1415 |
1400 if (repaintContainer->isRenderFlowThread()) { | 1416 if (repaintContainer->isRenderFlowThread()) { |
1401 toRenderFlowThread(repaintContainer)->repaintRectangleInRegions(r); | 1417 toRenderFlowThread(repaintContainer)->repaintRectangleInRegions(r); |
1402 return; | 1418 return; |
1403 } | 1419 } |
1404 | 1420 |
1405 if (repaintContainer->hasFilter() && repaintContainer->layer()->requiresFull
LayerImageForFilters()) { | 1421 if (repaintContainer->hasFilter() && repaintContainer->layer()->requiresFull
LayerImageForFilters()) { |
1406 repaintContainer->layer()->repainter().setFilterBackendNeedsRepaintingIn
Rect(r); | 1422 repaintContainer->layer()->repainter().setFilterBackendNeedsRepaintingIn
Rect(r); |
1407 return; | 1423 return; |
1408 } | 1424 } |
1409 | 1425 |
(...skipping 1946 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3356 { | 3372 { |
3357 if (object1) { | 3373 if (object1) { |
3358 const WebCore::RenderObject* root = object1; | 3374 const WebCore::RenderObject* root = object1; |
3359 while (root->parent()) | 3375 while (root->parent()) |
3360 root = root->parent(); | 3376 root = root->parent(); |
3361 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); | 3377 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); |
3362 } | 3378 } |
3363 } | 3379 } |
3364 | 3380 |
3365 #endif | 3381 #endif |
OLD | NEW |