| 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 2546 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2557 CompositingState LayoutObject::compositingState() const | 2557 CompositingState LayoutObject::compositingState() const |
| 2558 { | 2558 { |
| 2559 return hasLayer() ? toLayoutBoxModelObject(this)->layer()->compositingState(
) : NotComposited; | 2559 return hasLayer() ? toLayoutBoxModelObject(this)->layer()->compositingState(
) : NotComposited; |
| 2560 } | 2560 } |
| 2561 | 2561 |
| 2562 CompositingReasons LayoutObject::additionalCompositingReasons() const | 2562 CompositingReasons LayoutObject::additionalCompositingReasons() const |
| 2563 { | 2563 { |
| 2564 return CompositingReasonNone; | 2564 return CompositingReasonNone; |
| 2565 } | 2565 } |
| 2566 | 2566 |
| 2567 bool LayoutObject::hitTest(const HitTestRequest& request, HitTestResult& result,
const HitTestLocation& locationInContainer, const LayoutPoint& accumulatedOffse
t, HitTestFilter hitTestFilter) | 2567 bool LayoutObject::hitTest(HitTestResult& result, const HitTestLocation& locatio
nInContainer, const LayoutPoint& accumulatedOffset, HitTestFilter hitTestFilter) |
| 2568 { | 2568 { |
| 2569 bool inside = false; | 2569 bool inside = false; |
| 2570 if (hitTestFilter != HitTestSelf) { | 2570 if (hitTestFilter != HitTestSelf) { |
| 2571 // First test the foreground layer (lines and inlines). | 2571 // First test the foreground layer (lines and inlines). |
| 2572 inside = nodeAtPoint(request, result, locationInContainer, accumulatedOf
fset, HitTestForeground); | 2572 inside = nodeAtPoint(result, locationInContainer, accumulatedOffset, Hit
TestForeground); |
| 2573 | 2573 |
| 2574 // Test floats next. | 2574 // Test floats next. |
| 2575 if (!inside) | 2575 if (!inside) |
| 2576 inside = nodeAtPoint(request, result, locationInContainer, accumulat
edOffset, HitTestFloat); | 2576 inside = nodeAtPoint(result, locationInContainer, accumulatedOffset,
HitTestFloat); |
| 2577 | 2577 |
| 2578 // Finally test to see if the mouse is in the background (within a child
block's background). | 2578 // Finally test to see if the mouse is in the background (within a child
block's background). |
| 2579 if (!inside) | 2579 if (!inside) |
| 2580 inside = nodeAtPoint(request, result, locationInContainer, accumulat
edOffset, HitTestChildBlockBackgrounds); | 2580 inside = nodeAtPoint(result, locationInContainer, accumulatedOffset,
HitTestChildBlockBackgrounds); |
| 2581 } | 2581 } |
| 2582 | 2582 |
| 2583 // See if the mouse is inside us but not any of our descendants | 2583 // See if the mouse is inside us but not any of our descendants |
| 2584 if (hitTestFilter != HitTestDescendants && !inside) | 2584 if (hitTestFilter != HitTestDescendants && !inside) |
| 2585 inside = nodeAtPoint(request, result, locationInContainer, accumulatedOf
fset, HitTestBlockBackground); | 2585 inside = nodeAtPoint(result, locationInContainer, accumulatedOffset, Hit
TestBlockBackground); |
| 2586 | 2586 |
| 2587 return inside; | 2587 return inside; |
| 2588 } | 2588 } |
| 2589 | 2589 |
| 2590 void LayoutObject::updateHitTestResult(HitTestResult& result, const LayoutPoint&
point) | 2590 void LayoutObject::updateHitTestResult(HitTestResult& result, const LayoutPoint&
point) |
| 2591 { | 2591 { |
| 2592 if (result.innerNode()) | 2592 if (result.innerNode()) |
| 2593 return; | 2593 return; |
| 2594 | 2594 |
| 2595 Node* node = this->node(); | 2595 Node* node = this->node(); |
| 2596 | 2596 |
| 2597 // If we hit the anonymous renderers inside generated content we should | 2597 // If we hit the anonymous renderers inside generated content we should |
| 2598 // actually hit the generated content so walk up to the PseudoElement. | 2598 // actually hit the generated content so walk up to the PseudoElement. |
| 2599 if (!node && parent() && parent()->isBeforeOrAfterContent()) { | 2599 if (!node && parent() && parent()->isBeforeOrAfterContent()) { |
| 2600 for (LayoutObject* renderer = parent(); renderer && !node; renderer = re
nderer->parent()) | 2600 for (LayoutObject* renderer = parent(); renderer && !node; renderer = re
nderer->parent()) |
| 2601 node = renderer->node(); | 2601 node = renderer->node(); |
| 2602 } | 2602 } |
| 2603 | 2603 |
| 2604 if (node) { | 2604 if (node) { |
| 2605 result.setInnerNode(node); | 2605 result.setInnerNode(node); |
| 2606 if (!result.innerNonSharedNode()) | 2606 if (!result.innerNonSharedNode()) |
| 2607 result.setInnerNonSharedNode(node); | 2607 result.setInnerNonSharedNode(node); |
| 2608 result.setLocalPoint(point); | 2608 result.setLocalPoint(point); |
| 2609 } | 2609 } |
| 2610 } | 2610 } |
| 2611 | 2611 |
| 2612 bool LayoutObject::nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitT
estLocation& /*locationInContainer*/, const LayoutPoint& /*accumulatedOffset*/,
HitTestAction) | 2612 bool LayoutObject::nodeAtPoint(HitTestResult&, const HitTestLocation& /*location
InContainer*/, const LayoutPoint& /*accumulatedOffset*/, HitTestAction) |
| 2613 { | 2613 { |
| 2614 return false; | 2614 return false; |
| 2615 } | 2615 } |
| 2616 | 2616 |
| 2617 void LayoutObject::scheduleRelayout() | 2617 void LayoutObject::scheduleRelayout() |
| 2618 { | 2618 { |
| 2619 if (isLayoutView()) { | 2619 if (isLayoutView()) { |
| 2620 FrameView* view = toLayoutView(this)->frameView(); | 2620 FrameView* view = toLayoutView(this)->frameView(); |
| 2621 if (view) | 2621 if (view) |
| 2622 view->scheduleRelayout(); | 2622 view->scheduleRelayout(); |
| (...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3072 static const AffineTransform identity; | 3072 static const AffineTransform identity; |
| 3073 return identity; | 3073 return identity; |
| 3074 } | 3074 } |
| 3075 | 3075 |
| 3076 const AffineTransform& LayoutObject::localToParentTransform() const | 3076 const AffineTransform& LayoutObject::localToParentTransform() const |
| 3077 { | 3077 { |
| 3078 static const AffineTransform identity; | 3078 static const AffineTransform identity; |
| 3079 return identity; | 3079 return identity; |
| 3080 } | 3080 } |
| 3081 | 3081 |
| 3082 bool LayoutObject::nodeAtFloatPoint(const HitTestRequest&, HitTestResult&, const
FloatPoint&, HitTestAction) | 3082 bool LayoutObject::nodeAtFloatPoint(HitTestResult&, const FloatPoint&, HitTestAc
tion) |
| 3083 { | 3083 { |
| 3084 ASSERT_NOT_REACHED(); | 3084 ASSERT_NOT_REACHED(); |
| 3085 return false; | 3085 return false; |
| 3086 } | 3086 } |
| 3087 | 3087 |
| 3088 bool LayoutObject::isRelayoutBoundaryForInspector() const | 3088 bool LayoutObject::isRelayoutBoundaryForInspector() const |
| 3089 { | 3089 { |
| 3090 return objectIsRelayoutBoundary(this); | 3090 return objectIsRelayoutBoundary(this); |
| 3091 } | 3091 } |
| 3092 | 3092 |
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3226 { | 3226 { |
| 3227 if (object1) { | 3227 if (object1) { |
| 3228 const blink::LayoutObject* root = object1; | 3228 const blink::LayoutObject* root = object1; |
| 3229 while (root->parent()) | 3229 while (root->parent()) |
| 3230 root = root->parent(); | 3230 root = root->parent(); |
| 3231 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); | 3231 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); |
| 3232 } | 3232 } |
| 3233 } | 3233 } |
| 3234 | 3234 |
| 3235 #endif | 3235 #endif |
| OLD | NEW |