Chromium Code Reviews| Index: Source/core/rendering/RenderObject.cpp |
| diff --git a/Source/core/rendering/RenderObject.cpp b/Source/core/rendering/RenderObject.cpp |
| index fb211b88f2b49934cfb7581e51e6c98702595bdd..8a2cf8bd704916ac0e0edfd388b877a3b29a4468 100644 |
| --- a/Source/core/rendering/RenderObject.cpp |
| +++ b/Source/core/rendering/RenderObject.cpp |
| @@ -2956,6 +2956,17 @@ AnimationController* RenderObject::animation() const |
| return frame()->animation(); |
| } |
| +bool RenderObject::isInert() const |
|
Hajime Morrita
2013/06/03 03:28:35
Having these kind of loops here smells wrong, espe
falken
2013/06/03 03:47:55
Right, I had thought about a fast path like that b
falken
2013/06/04 04:33:26
Through some quick benchmarking, I don't think isI
|
| +{ |
| + const RenderObject* renderer = this; |
| + while (!renderer->node()) |
| + renderer = renderer->parent(); |
| + const Node* parentNode = renderer->node(); |
| + while (parentNode && !parentNode->isElementNode()) |
| + parentNode = parentNode->parentNode(); |
| + return parentNode && toElement(parentNode)->isInert(); |
| +} |
| + |
| void RenderObject::imageChanged(CachedImage* image, const IntRect* rect) |
| { |
| imageChanged(static_cast<WrappedImagePtr>(image), rect); |