OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> | 2 * Copyright (C) 1998, 1999 Torben Weis <weis@kde.org> |
3 * 1999 Lars Knoll <knoll@kde.org> | 3 * 1999 Lars Knoll <knoll@kde.org> |
4 * 1999 Antti Koivisto <koivisto@kde.org> | 4 * 1999 Antti Koivisto <koivisto@kde.org> |
5 * 2000 Dirk Mueller <mueller@kde.org> | 5 * 2000 Dirk Mueller <mueller@kde.org> |
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) | 7 * (C) 2006 Graham Dennis (graham.dennis@gmail.com) |
8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 8 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
9 * Copyright (C) 2009 Google Inc. All rights reserved. | 9 * Copyright (C) 2009 Google Inc. All rights reserved. |
10 * | 10 * |
(...skipping 3474 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3485 | 3485 |
3486 ScrollView::frameRectsChanged(); | 3486 ScrollView::frameRectsChanged(); |
3487 } | 3487 } |
3488 | 3488 |
3489 void FrameView::setLayoutSizeInternal(const IntSize& size) | 3489 void FrameView::setLayoutSizeInternal(const IntSize& size) |
3490 { | 3490 { |
3491 if (m_layoutSize == size) | 3491 if (m_layoutSize == size) |
3492 return; | 3492 return; |
3493 | 3493 |
3494 m_layoutSize = size; | 3494 m_layoutSize = size; |
3495 contentsResized(); | 3495 |
| 3496 // Update scrollbars. Not calling this->contentsResized() to avoid setNeedsL
ayout. |
| 3497 ScrollView::contentsResized(); |
| 3498 |
| 3499 if (RenderView* renderView = this->renderView()) { |
| 3500 renderView->viewResized(); |
| 3501 // If selfNeedsLayout, resize event will be sent if needed during the ne
xt layout; |
| 3502 // otherwise we need to send the resize event now if needed. |
| 3503 if (!renderView->selfNeedsLayout()) { |
| 3504 // Call scheduleOrPerformPostLayoutTasks() instead of synchronized s
endResizeEventIfNeeded() |
| 3505 // to avoid hang with resize events in seamless frames. |
| 3506 scheduleOrPerformPostLayoutTasks(); |
| 3507 } |
| 3508 } |
3496 } | 3509 } |
3497 | 3510 |
3498 void FrameView::didAddScrollbar(Scrollbar* scrollbar, ScrollbarOrientation orien
tation) | 3511 void FrameView::didAddScrollbar(Scrollbar* scrollbar, ScrollbarOrientation orien
tation) |
3499 { | 3512 { |
3500 ScrollableArea::didAddScrollbar(scrollbar, orientation); | 3513 ScrollableArea::didAddScrollbar(scrollbar, orientation); |
3501 if (AXObjectCache* cache = axObjectCache()) | 3514 if (AXObjectCache* cache = axObjectCache()) |
3502 cache->handleScrollbarUpdate(this); | 3515 cache->handleScrollbarUpdate(this); |
3503 } | 3516 } |
3504 | 3517 |
3505 void FrameView::willRemoveScrollbar(Scrollbar* scrollbar, ScrollbarOrientation o
rientation) | 3518 void FrameView::willRemoveScrollbar(Scrollbar* scrollbar, ScrollbarOrientation o
rientation) |
3506 { | 3519 { |
3507 ScrollableArea::willRemoveScrollbar(scrollbar, orientation); | 3520 ScrollableArea::willRemoveScrollbar(scrollbar, orientation); |
3508 if (AXObjectCache* cache = axObjectCache()) { | 3521 if (AXObjectCache* cache = axObjectCache()) { |
3509 cache->remove(scrollbar); | 3522 cache->remove(scrollbar); |
3510 cache->handleScrollbarUpdate(this); | 3523 cache->handleScrollbarUpdate(this); |
3511 } | 3524 } |
3512 } | 3525 } |
3513 | 3526 |
3514 } // namespace WebCore | 3527 } // namespace WebCore |
OLD | NEW |