| 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 652 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 663 { | 663 { |
| 664 document().updateLayoutIgnorePendingStylesheetsForNode(this); | 664 document().updateLayoutIgnorePendingStylesheetsForNode(this); |
| 665 | 665 |
| 666 if (LayoutBox* layoutObject = layoutBox()) | 666 if (LayoutBox* layoutObject = layoutBox()) |
| 667 return adjustLayoutUnitForAbsoluteZoom(layoutObject->clientTop(), layout
Object->styleRef()).round(); | 667 return adjustLayoutUnitForAbsoluteZoom(layoutObject->clientTop(), layout
Object->styleRef()).round(); |
| 668 return 0; | 668 return 0; |
| 669 } | 669 } |
| 670 | 670 |
| 671 int Element::clientWidth() | 671 int Element::clientWidth() |
| 672 { | 672 { |
| 673 document().updateLayoutIgnorePendingStylesheetsForNode(this); | |
| 674 | |
| 675 // When in strict mode, clientWidth for the document element should return t
he width of the containing frame. | 673 // When in strict mode, clientWidth for the document element should return t
he width of the containing frame. |
| 676 // When in quirks mode, clientWidth for the body element should return the w
idth of the containing frame. | 674 // When in quirks mode, clientWidth for the body element should return the w
idth of the containing frame. |
| 677 bool inQuirksMode = document().inQuirksMode(); | 675 bool inQuirksMode = document().inQuirksMode(); |
| 678 if ((!inQuirksMode && document().documentElement() == this) | 676 if ((!inQuirksMode && document().documentElement() == this) |
| 679 || (inQuirksMode && isHTMLElement() && document().body() == this)) { | 677 || (inQuirksMode && isHTMLElement() && document().body() == this)) { |
| 680 if (LayoutViewItem layoutView = LayoutViewItem(document().layoutView()))
{ | 678 if (LayoutViewItem layoutView = LayoutViewItem(document().layoutView()))
{ |
| 679 if (!RuntimeEnabledFeatures::overlayScrollbarsEnabled()) |
| 680 document().updateLayoutIgnorePendingStylesheetsForNode(this); |
| 681 if (document().page()->settings().forceZeroLayoutHeight()) | 681 if (document().page()->settings().forceZeroLayoutHeight()) |
| 682 return adjustLayoutUnitForAbsoluteZoom(layoutView.overflowClipRe
ct(LayoutPoint()).width(), layoutView.styleRef()).round(); | 682 return adjustLayoutUnitForAbsoluteZoom(layoutView.overflowClipRe
ct(LayoutPoint()).width(), layoutView.styleRef()).round(); |
| 683 return adjustLayoutUnitForAbsoluteZoom(LayoutUnit(layoutView.layoutS
ize().width()), layoutView.styleRef()).round(); | 683 return adjustLayoutUnitForAbsoluteZoom(LayoutUnit(layoutView.layoutS
ize().width()), layoutView.styleRef()).round(); |
| 684 } | 684 } |
| 685 } | 685 } |
| 686 | 686 |
| 687 document().updateLayoutIgnorePendingStylesheetsForNode(this); |
| 688 |
| 687 if (LayoutBox* layoutObject = layoutBox()) | 689 if (LayoutBox* layoutObject = layoutBox()) |
| 688 return adjustLayoutUnitForAbsoluteZoom(LayoutUnit(layoutObject->pixelSna
ppedClientWidth()), layoutObject->styleRef()).round(); | 690 return adjustLayoutUnitForAbsoluteZoom(LayoutUnit(layoutObject->pixelSna
ppedClientWidth()), layoutObject->styleRef()).round(); |
| 689 return 0; | 691 return 0; |
| 690 } | 692 } |
| 691 | 693 |
| 692 int Element::clientHeight() | 694 int Element::clientHeight() |
| 693 { | 695 { |
| 694 document().updateLayoutIgnorePendingStylesheetsForNode(this); | |
| 695 | |
| 696 // When in strict mode, clientHeight for the document element should return
the height of the containing frame. | 696 // When in strict mode, clientHeight for the document element should return
the height of the containing frame. |
| 697 // When in quirks mode, clientHeight for the body element should return the
height of the containing frame. | 697 // When in quirks mode, clientHeight for the body element should return the
height of the containing frame. |
| 698 bool inQuirksMode = document().inQuirksMode(); | 698 bool inQuirksMode = document().inQuirksMode(); |
| 699 | 699 |
| 700 if ((!inQuirksMode && document().documentElement() == this) | 700 if ((!inQuirksMode && document().documentElement() == this) |
| 701 || (inQuirksMode && isHTMLElement() && document().body() == this)) { | 701 || (inQuirksMode && isHTMLElement() && document().body() == this)) { |
| 702 if (LayoutViewItem layoutView = LayoutViewItem(document().layoutView()))
{ | 702 if (LayoutViewItem layoutView = LayoutViewItem(document().layoutView()))
{ |
| 703 if (!RuntimeEnabledFeatures::overlayScrollbarsEnabled()) |
| 704 document().updateLayoutIgnorePendingStylesheetsForNode(this); |
| 703 if (document().page()->settings().forceZeroLayoutHeight()) | 705 if (document().page()->settings().forceZeroLayoutHeight()) |
| 704 return adjustLayoutUnitForAbsoluteZoom(layoutView.overflowClipRe
ct(LayoutPoint()).height(), layoutView.styleRef()).round(); | 706 return adjustLayoutUnitForAbsoluteZoom(layoutView.overflowClipRe
ct(LayoutPoint()).height(), layoutView.styleRef()).round(); |
| 705 return adjustLayoutUnitForAbsoluteZoom(LayoutUnit(layoutView.layoutS
ize().height()), layoutView.styleRef()).round(); | 707 return adjustLayoutUnitForAbsoluteZoom(LayoutUnit(layoutView.layoutS
ize().height()), layoutView.styleRef()).round(); |
| 706 } | 708 } |
| 707 } | 709 } |
| 708 | 710 |
| 711 document().updateLayoutIgnorePendingStylesheetsForNode(this); |
| 712 |
| 709 if (LayoutBox* layoutObject = layoutBox()) | 713 if (LayoutBox* layoutObject = layoutBox()) |
| 710 return adjustLayoutUnitForAbsoluteZoom(LayoutUnit(layoutObject->pixelSna
ppedClientHeight()), layoutObject->styleRef()).round(); | 714 return adjustLayoutUnitForAbsoluteZoom(LayoutUnit(layoutObject->pixelSna
ppedClientHeight()), layoutObject->styleRef()).round(); |
| 711 return 0; | 715 return 0; |
| 712 } | 716 } |
| 713 | 717 |
| 714 double Element::scrollLeft() | 718 double Element::scrollLeft() |
| 715 { | 719 { |
| 716 document().updateLayoutIgnorePendingStylesheetsForNode(this); | 720 document().updateLayoutIgnorePendingStylesheetsForNode(this); |
| 717 | 721 |
| 718 if (document().scrollingElement() == this) { | 722 if (document().scrollingElement() == this) { |
| (...skipping 2976 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3695 | 3699 |
| 3696 DEFINE_TRACE(Element) | 3700 DEFINE_TRACE(Element) |
| 3697 { | 3701 { |
| 3698 if (hasRareData()) | 3702 if (hasRareData()) |
| 3699 visitor->trace(elementRareData()); | 3703 visitor->trace(elementRareData()); |
| 3700 visitor->trace(m_elementData); | 3704 visitor->trace(m_elementData); |
| 3701 ContainerNode::trace(visitor); | 3705 ContainerNode::trace(visitor); |
| 3702 } | 3706 } |
| 3703 | 3707 |
| 3704 } // namespace blink | 3708 } // namespace blink |
| OLD | NEW |