| 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) 2001 Peter Kelly (pmk@post.com) | 4 * (C) 2001 Peter Kelly (pmk@post.com) |
| 5 * (C) 2001 Dirk Mueller (mueller@kde.org) | 5 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 6 * (C) 2007 David Smith (catfish.man@gmail.com) | 6 * (C) 2007 David Smith (catfish.man@gmail.com) |
| 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc.
All rights reserved. | 7 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2012, 2013 Apple Inc.
All rights reserved. |
| 8 * (C) 2007 Eric Seidel (eric@webkit.org) | 8 * (C) 2007 Eric Seidel (eric@webkit.org) |
| 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 599 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 610 if (!callback || disableCustomCallbacks) { | 610 if (!callback || disableCustomCallbacks) { |
| 611 nativeApplyScroll(scrollState); | 611 nativeApplyScroll(scrollState); |
| 612 return; | 612 return; |
| 613 } | 613 } |
| 614 if (callback->nativeScrollBehavior() != WebNativeScrollBehavior::PerformAfte
rNativeScroll) | 614 if (callback->nativeScrollBehavior() != WebNativeScrollBehavior::PerformAfte
rNativeScroll) |
| 615 callback->handleEvent(&scrollState); | 615 callback->handleEvent(&scrollState); |
| 616 if (callback->nativeScrollBehavior() != WebNativeScrollBehavior::DisableNati
veScroll) | 616 if (callback->nativeScrollBehavior() != WebNativeScrollBehavior::DisableNati
veScroll) |
| 617 nativeApplyScroll(scrollState); | 617 nativeApplyScroll(scrollState); |
| 618 if (callback->nativeScrollBehavior() == WebNativeScrollBehavior::PerformAfte
rNativeScroll) | 618 if (callback->nativeScrollBehavior() == WebNativeScrollBehavior::PerformAfte
rNativeScroll) |
| 619 callback->handleEvent(&scrollState); | 619 callback->handleEvent(&scrollState); |
| 620 }; | 620 } |
| 621 | 621 |
| 622 int Element::offsetLeft() | 622 int Element::offsetLeft() |
| 623 { | 623 { |
| 624 document().updateStyleAndLayoutIgnorePendingStylesheetsForNode(this); | 624 document().updateStyleAndLayoutIgnorePendingStylesheetsForNode(this); |
| 625 if (LayoutBoxModelObject* layoutObject = layoutBoxModelObject()) | 625 if (LayoutBoxModelObject* layoutObject = layoutBoxModelObject()) |
| 626 return adjustLayoutUnitForAbsoluteZoom(LayoutUnit(layoutObject->pixelSna
ppedOffsetLeft()), layoutObject->styleRef()).round(); | 626 return adjustLayoutUnitForAbsoluteZoom(LayoutUnit(layoutObject->pixelSna
ppedOffsetLeft(offsetParent())), layoutObject->styleRef()).round(); |
| 627 return 0; | 627 return 0; |
| 628 } | 628 } |
| 629 | 629 |
| 630 int Element::offsetTop() | 630 int Element::offsetTop() |
| 631 { | 631 { |
| 632 document().updateStyleAndLayoutIgnorePendingStylesheetsForNode(this); | 632 document().updateStyleAndLayoutIgnorePendingStylesheetsForNode(this); |
| 633 if (LayoutBoxModelObject* layoutObject = layoutBoxModelObject()) | 633 if (LayoutBoxModelObject* layoutObject = layoutBoxModelObject()) |
| 634 return adjustLayoutUnitForAbsoluteZoom(LayoutUnit(layoutObject->pixelSna
ppedOffsetTop()), layoutObject->styleRef()).round(); | 634 return adjustLayoutUnitForAbsoluteZoom(LayoutUnit(layoutObject->pixelSna
ppedOffsetTop(offsetParent())), layoutObject->styleRef()).round(); |
| 635 return 0; | 635 return 0; |
| 636 } | 636 } |
| 637 | 637 |
| 638 int Element::offsetWidth() | 638 int Element::offsetWidth() |
| 639 { | 639 { |
| 640 document().updateStyleAndLayoutIgnorePendingStylesheetsForNode(this); | 640 document().updateStyleAndLayoutIgnorePendingStylesheetsForNode(this); |
| 641 if (LayoutBoxModelObject* layoutObject = layoutBoxModelObject()) | 641 if (LayoutBoxModelObject* layoutObject = layoutBoxModelObject()) |
| 642 return adjustLayoutUnitForAbsoluteZoom(LayoutUnit(layoutObject->pixelSna
ppedOffsetWidth()), layoutObject->styleRef()).round(); | 642 return adjustLayoutUnitForAbsoluteZoom(LayoutUnit(layoutObject->pixelSna
ppedOffsetWidth(offsetParent())), layoutObject->styleRef()).round(); |
| 643 return 0; | 643 return 0; |
| 644 } | 644 } |
| 645 | 645 |
| 646 int Element::offsetHeight() | 646 int Element::offsetHeight() |
| 647 { | 647 { |
| 648 document().updateStyleAndLayoutIgnorePendingStylesheetsForNode(this); | 648 document().updateStyleAndLayoutIgnorePendingStylesheetsForNode(this); |
| 649 if (LayoutBoxModelObject* layoutObject = layoutBoxModelObject()) | 649 if (LayoutBoxModelObject* layoutObject = layoutBoxModelObject()) |
| 650 return adjustLayoutUnitForAbsoluteZoom(LayoutUnit(layoutObject->pixelSna
ppedOffsetHeight()), layoutObject->styleRef()).round(); | 650 return adjustLayoutUnitForAbsoluteZoom(LayoutUnit(layoutObject->pixelSna
ppedOffsetHeight(offsetParent())), layoutObject->styleRef()).round(); |
| 651 return 0; | 651 return 0; |
| 652 } | 652 } |
| 653 | 653 |
| 654 Element* Element::offsetParent() | 654 Element* Element::offsetParent() |
| 655 { | 655 { |
| 656 document().updateStyleAndLayoutIgnorePendingStylesheetsForNode(this); | 656 document().updateStyleAndLayoutIgnorePendingStylesheetsForNode(this); |
| 657 | 657 |
| 658 LayoutObject* layoutObject = this->layoutObject(); | 658 LayoutObject* layoutObject = this->layoutObject(); |
| 659 if (!layoutObject) | 659 return layoutObject ? layoutObject->offsetParent() : nullptr; |
| 660 return nullptr; | |
| 661 | |
| 662 Element* element = layoutObject->offsetParent(); | |
| 663 if (!element) | |
| 664 return nullptr; | |
| 665 | |
| 666 if (element->isInShadowTree() && !element->containingShadowRoot()->isOpenOrV
0()) | |
| 667 return nullptr; | |
| 668 | |
| 669 return element; | |
| 670 } | 660 } |
| 671 | 661 |
| 672 int Element::clientLeft() | 662 int Element::clientLeft() |
| 673 { | 663 { |
| 674 document().updateStyleAndLayoutIgnorePendingStylesheetsForNode(this); | 664 document().updateStyleAndLayoutIgnorePendingStylesheetsForNode(this); |
| 675 | 665 |
| 676 if (LayoutBox* layoutObject = layoutBox()) | 666 if (LayoutBox* layoutObject = layoutBox()) |
| 677 return adjustLayoutUnitForAbsoluteZoom(layoutObject->clientLeft(), layou
tObject->styleRef()).round(); | 667 return adjustLayoutUnitForAbsoluteZoom(layoutObject->clientLeft(), layou
tObject->styleRef()).round(); |
| 678 return 0; | 668 return 0; |
| 679 } | 669 } |
| (...skipping 3058 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3738 | 3728 |
| 3739 DEFINE_TRACE_WRAPPERS(Element) | 3729 DEFINE_TRACE_WRAPPERS(Element) |
| 3740 { | 3730 { |
| 3741 if (hasRareData()) { | 3731 if (hasRareData()) { |
| 3742 visitor->traceWrappers(elementRareData()); | 3732 visitor->traceWrappers(elementRareData()); |
| 3743 } | 3733 } |
| 3744 ContainerNode::traceWrappers(visitor); | 3734 ContainerNode::traceWrappers(visitor); |
| 3745 } | 3735 } |
| 3746 | 3736 |
| 3747 } // namespace blink | 3737 } // namespace blink |
| OLD | NEW |