Chromium Code Reviews| 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 706 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 717 } | 717 } |
| 718 | 718 |
| 719 if (RenderBox* rend = renderBox()) | 719 if (RenderBox* rend = renderBox()) |
| 720 return adjustForAbsoluteZoom(rend->scrollTop(), rend); | 720 return adjustForAbsoluteZoom(rend->scrollTop(), rend); |
| 721 return 0; | 721 return 0; |
| 722 } | 722 } |
| 723 | 723 |
| 724 void Element::setScrollLeft(int newLeft) | 724 void Element::setScrollLeft(int newLeft) |
| 725 { | 725 { |
| 726 document().updateLayoutIgnorePendingStylesheets(); | 726 document().updateLayoutIgnorePendingStylesheets(); |
| 727 | |
| 728 if (document().documentElement() == this) { | |
| 729 if (document().inQuirksMode()) | |
| 730 return; | |
| 731 | |
| 732 Frame* frame = document().frame(); | |
| 733 if (!frame) | |
| 734 return; | |
| 735 FrameView* view = frame->view(); | |
| 736 if (!view) | |
| 737 return; | |
| 738 view->setScrollPosition(IntPoint(static_cast<int>(newLeft * frame->pageZ oomFactor()), view->scrollY())); | |
|
Julien - ping for review
2013/10/05 01:05:46
The specification is weird and seem to imply that
| |
| 739 } | |
| 740 | |
| 727 if (RenderBox* rend = renderBox()) | 741 if (RenderBox* rend = renderBox()) |
| 728 rend->setScrollLeft(static_cast<int>(newLeft * rend->style()->effectiveZ oom())); | 742 rend->setScrollLeft(static_cast<int>(newLeft * rend->style()->effectiveZ oom())); |
| 729 } | 743 } |
| 730 | 744 |
| 731 void Element::setScrollTop(int newTop) | 745 void Element::setScrollTop(int newTop) |
| 732 { | 746 { |
| 733 document().updateLayoutIgnorePendingStylesheets(); | 747 document().updateLayoutIgnorePendingStylesheets(); |
| 748 | |
| 749 if (document().documentElement() == this) { | |
| 750 if (document().inQuirksMode()) | |
| 751 return; | |
| 752 | |
| 753 Frame* frame = document().frame(); | |
| 754 if (!frame) | |
| 755 return; | |
| 756 FrameView* view = frame->view(); | |
| 757 if (!view) | |
| 758 return; | |
| 759 view->setScrollPosition(IntPoint(view->scrollX(), static_cast<int>(newTo p * frame->pageZoomFactor()))); | |
| 760 } | |
| 761 | |
| 734 if (RenderBox* rend = renderBox()) | 762 if (RenderBox* rend = renderBox()) |
| 735 rend->setScrollTop(static_cast<int>(newTop * rend->style()->effectiveZoo m())); | 763 rend->setScrollTop(static_cast<int>(newTop * rend->style()->effectiveZoo m())); |
| 736 } | 764 } |
| 737 | 765 |
| 738 int Element::scrollWidth() | 766 int Element::scrollWidth() |
| 739 { | 767 { |
| 740 document().updateLayoutIgnorePendingStylesheets(); | 768 document().updateLayoutIgnorePendingStylesheets(); |
| 741 if (RenderBox* rend = renderBox()) | 769 if (RenderBox* rend = renderBox()) |
| 742 return adjustForAbsoluteZoom(rend->scrollWidth(), rend); | 770 return adjustForAbsoluteZoom(rend->scrollWidth(), rend); |
| 743 return 0; | 771 return 0; |
| (...skipping 2952 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3696 return 0; | 3724 return 0; |
| 3697 } | 3725 } |
| 3698 | 3726 |
| 3699 Attribute* UniqueElementData::attributeItem(unsigned index) | 3727 Attribute* UniqueElementData::attributeItem(unsigned index) |
| 3700 { | 3728 { |
| 3701 ASSERT_WITH_SECURITY_IMPLICATION(index < length()); | 3729 ASSERT_WITH_SECURITY_IMPLICATION(index < length()); |
| 3702 return &m_attributeVector.at(index); | 3730 return &m_attributeVector.at(index); |
| 3703 } | 3731 } |
| 3704 | 3732 |
| 3705 } // namespace WebCore | 3733 } // namespace WebCore |
| OLD | NEW |