OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2006, 2007, 2008, 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2006, 2007, 2008, 2011 Apple Inc. All rights reserved. |
3 * 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 3 * 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
4 * | 4 * |
5 * Redistribution and use in source and binary forms, with or without | 5 * Redistribution and use in source and binary forms, with or without |
6 * modification, are permitted provided that the following conditions | 6 * modification, are permitted provided that the following conditions |
7 * are met: | 7 * are met: |
8 * | 8 * |
9 * 1. Redistributions of source code must retain the above copyright | 9 * 1. Redistributions of source code must retain the above copyright |
10 * notice, this list of conditions and the following disclaimer. | 10 * notice, this list of conditions and the following disclaimer. |
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
168 m_optionsChanged = false; | 168 m_optionsChanged = false; |
169 | 169 |
170 setHasVerticalScrollbar(true); | 170 setHasVerticalScrollbar(true); |
171 | 171 |
172 setNeedsLayoutAndPrefWidthsRecalcAndFullRepaint(); | 172 setNeedsLayoutAndPrefWidthsRecalcAndFullRepaint(); |
173 } | 173 } |
174 } | 174 } |
175 | 175 |
176 void RenderListBox::selectionChanged() | 176 void RenderListBox::selectionChanged() |
177 { | 177 { |
178 repaint(); | 178 paintInvalidationForWholeRenderer(); |
179 if (!m_inAutoscroll) { | 179 if (!m_inAutoscroll) { |
180 if (m_optionsChanged || needsLayout()) | 180 if (m_optionsChanged || needsLayout()) |
181 m_scrollToRevealSelectionAfterLayout = true; | 181 m_scrollToRevealSelectionAfterLayout = true; |
182 else | 182 else |
183 scrollToRevealSelection(); | 183 scrollToRevealSelection(); |
184 } | 184 } |
185 | 185 |
186 if (AXObjectCache* cache = document().existingAXObjectCache()) | 186 if (AXObjectCache* cache = document().existingAXObjectCache()) |
187 cache->selectedChildrenChanged(this); | 187 cache->selectedChildrenChanged(this); |
188 } | 188 } |
(...skipping 484 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
673 void RenderListBox::scrollTo(int newOffset) | 673 void RenderListBox::scrollTo(int newOffset) |
674 { | 674 { |
675 if (newOffset == m_indexOffset) | 675 if (newOffset == m_indexOffset) |
676 return; | 676 return; |
677 | 677 |
678 m_indexOffset = newOffset; | 678 m_indexOffset = newOffset; |
679 | 679 |
680 if (RuntimeEnabledFeatures::repaintAfterLayoutEnabled() && frameView()->isIn
PerformLayout()) | 680 if (RuntimeEnabledFeatures::repaintAfterLayoutEnabled() && frameView()->isIn
PerformLayout()) |
681 setShouldDoFullPaintInvalidationAfterLayout(true); | 681 setShouldDoFullPaintInvalidationAfterLayout(true); |
682 else | 682 else |
683 repaint(); | 683 paintInvalidationForWholeRenderer(); |
684 | 684 |
685 node()->document().enqueueScrollEventForNode(node()); | 685 node()->document().enqueueScrollEventForNode(node()); |
686 } | 686 } |
687 | 687 |
688 LayoutUnit RenderListBox::itemHeight() const | 688 LayoutUnit RenderListBox::itemHeight() const |
689 { | 689 { |
690 return style()->fontMetrics().height() + rowSpacing; | 690 return style()->fontMetrics().height() + rowSpacing; |
691 } | 691 } |
692 | 692 |
693 int RenderListBox::verticalScrollbarWidth() const | 693 int RenderListBox::verticalScrollbarWidth() const |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
776 IntRect scrollRect = rect; | 776 IntRect scrollRect = rect; |
777 if (style()->shouldPlaceBlockDirectionScrollbarOnLogicalLeft()) | 777 if (style()->shouldPlaceBlockDirectionScrollbarOnLogicalLeft()) |
778 scrollRect.move(borderLeft(), borderTop()); | 778 scrollRect.move(borderLeft(), borderTop()); |
779 else | 779 else |
780 scrollRect.move(width() - borderRight() - scrollbar->width(), borderTop(
)); | 780 scrollRect.move(width() - borderRight() - scrollbar->width(), borderTop(
)); |
781 | 781 |
782 if (RuntimeEnabledFeatures::repaintAfterLayoutEnabled() && frameView()->isIn
PerformLayout()) { | 782 if (RuntimeEnabledFeatures::repaintAfterLayoutEnabled() && frameView()->isIn
PerformLayout()) { |
783 m_verticalBarDamage = scrollRect; | 783 m_verticalBarDamage = scrollRect; |
784 m_hasVerticalBarDamage = true; | 784 m_hasVerticalBarDamage = true; |
785 } else { | 785 } else { |
786 repaintRectangle(scrollRect); | 786 invalidatePaintRectangle(scrollRect); |
787 } | 787 } |
788 } | 788 } |
789 | 789 |
790 void RenderListBox::repaintScrollbarIfNeeded() | 790 void RenderListBox::repaintScrollbarIfNeeded() |
791 { | 791 { |
792 if (!hasVerticalBarDamage()) | 792 if (!hasVerticalBarDamage()) |
793 return; | 793 return; |
794 repaintRectangle(verticalBarDamage()); | 794 invalidatePaintRectangle(verticalBarDamage()); |
795 | 795 |
796 resetScrollbarDamage(); | 796 resetScrollbarDamage(); |
797 } | 797 } |
798 | 798 |
799 IntRect RenderListBox::convertFromScrollbarToContainingView(const Scrollbar* scr
ollbar, const IntRect& scrollbarRect) const | 799 IntRect RenderListBox::convertFromScrollbarToContainingView(const Scrollbar* scr
ollbar, const IntRect& scrollbarRect) const |
800 { | 800 { |
801 RenderView* view = this->view(); | 801 RenderView* view = this->view(); |
802 if (!view) | 802 if (!view) |
803 return scrollbarRect; | 803 return scrollbarRect; |
804 | 804 |
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1022 { | 1022 { |
1023 return itemBoundingBoxRectInternal(point, listIndexToRenderListBoxIndex(inde
x)); | 1023 return itemBoundingBoxRectInternal(point, listIndexToRenderListBoxIndex(inde
x)); |
1024 } | 1024 } |
1025 | 1025 |
1026 bool RenderListBox::scrollToRevealElementAtListIndex(int index) | 1026 bool RenderListBox::scrollToRevealElementAtListIndex(int index) |
1027 { | 1027 { |
1028 return scrollToRevealElementAtListIndexInternal(listIndexToRenderListBoxInde
x(index)); | 1028 return scrollToRevealElementAtListIndexInternal(listIndexToRenderListBoxInde
x(index)); |
1029 } | 1029 } |
1030 | 1030 |
1031 } // namespace WebCore | 1031 } // namespace WebCore |
OLD | NEW |