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

Side by Side Diff: Source/core/rendering/RenderObject.cpp

Issue 16240007: Fix hit testing to be aware of inert inlines. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: de-dupe visibleToHitTesting Created 7 years, 6 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
OLDNEW
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 2938 matching lines...) Expand 10 before | Expand all | Expand 10 after
2949 } 2949 }
2950 2950
2951 rect.inflate(outlineSize); 2951 rect.inflate(outlineSize);
2952 } 2952 }
2953 2953
2954 AnimationController* RenderObject::animation() const 2954 AnimationController* RenderObject::animation() const
2955 { 2955 {
2956 return frame()->animation(); 2956 return frame()->animation();
2957 } 2957 }
2958 2958
2959 bool RenderObject::isInert() const
2960 {
2961 const RenderObject* renderer = this;
2962 while (!renderer->node())
2963 renderer = renderer->parent();
2964 const Node* parentNode = renderer->node();
2965 while (parentNode && !parentNode->isElementNode())
2966 parentNode = parentNode->parentNode();
2967 return parentNode && toElement(parentNode)->isInert();
2968 }
2969
2959 void RenderObject::imageChanged(CachedImage* image, const IntRect* rect) 2970 void RenderObject::imageChanged(CachedImage* image, const IntRect* rect)
2960 { 2971 {
2961 imageChanged(static_cast<WrappedImagePtr>(image), rect); 2972 imageChanged(static_cast<WrappedImagePtr>(image), rect);
2962 } 2973 }
2963 2974
2964 Element* RenderObject::offsetParent() const 2975 Element* RenderObject::offsetParent() const
2965 { 2976 {
2966 if (isRoot() || isBody()) 2977 if (isRoot() || isBody())
2967 return 0; 2978 return 0;
2968 2979
(...skipping 213 matching lines...) Expand 10 before | Expand all | Expand 10 after
3182 { 3193 {
3183 if (object1) { 3194 if (object1) {
3184 const WebCore::RenderObject* root = object1; 3195 const WebCore::RenderObject* root = object1;
3185 while (root->parent()) 3196 while (root->parent())
3186 root = root->parent(); 3197 root = root->parent();
3187 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); 3198 root->showRenderTreeAndMark(object1, "*", object2, "-", 0);
3188 } 3199 }
3189 } 3200 }
3190 3201
3191 #endif 3202 #endif
OLDNEW
« Source/core/rendering/InlineBox.h ('K') | « Source/core/rendering/RenderObject.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698