| 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 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 57 #include "core/rendering/RenderCounter.h" | 57 #include "core/rendering/RenderCounter.h" |
| 58 #include "core/rendering/RenderEmbeddedObject.h" | 58 #include "core/rendering/RenderEmbeddedObject.h" |
| 59 #include "core/rendering/RenderLayer.h" | 59 #include "core/rendering/RenderLayer.h" |
| 60 #include "core/rendering/RenderListBox.h" | 60 #include "core/rendering/RenderListBox.h" |
| 61 #include "core/rendering/RenderPart.h" | 61 #include "core/rendering/RenderPart.h" |
| 62 #include "core/rendering/RenderScrollbar.h" | 62 #include "core/rendering/RenderScrollbar.h" |
| 63 #include "core/rendering/RenderScrollbarPart.h" | 63 #include "core/rendering/RenderScrollbarPart.h" |
| 64 #include "core/rendering/RenderTheme.h" | 64 #include "core/rendering/RenderTheme.h" |
| 65 #include "core/rendering/RenderView.h" | 65 #include "core/rendering/RenderView.h" |
| 66 #include "core/rendering/RenderWidget.h" | 66 #include "core/rendering/RenderWidget.h" |
| 67 #include "core/rendering/TextAutosizer.h" | |
| 68 #include "core/rendering/compositing/CompositedLayerMapping.h" | 67 #include "core/rendering/compositing/CompositedLayerMapping.h" |
| 69 #include "core/rendering/compositing/RenderLayerCompositor.h" | 68 #include "core/rendering/compositing/RenderLayerCompositor.h" |
| 70 #include "core/rendering/style/RenderStyle.h" | 69 #include "core/rendering/style/RenderStyle.h" |
| 71 #include "core/rendering/svg/RenderSVGRoot.h" | 70 #include "core/rendering/svg/RenderSVGRoot.h" |
| 72 #include "core/svg/SVGDocumentExtensions.h" | 71 #include "core/svg/SVGDocumentExtensions.h" |
| 73 #include "core/svg/SVGSVGElement.h" | 72 #include "core/svg/SVGSVGElement.h" |
| 74 #include "platform/RuntimeEnabledFeatures.h" | 73 #include "platform/RuntimeEnabledFeatures.h" |
| 75 #include "platform/ScriptForbiddenScope.h" | 74 #include "platform/ScriptForbiddenScope.h" |
| 76 #include "platform/TraceEvent.h" | 75 #include "platform/TraceEvent.h" |
| 77 #include "platform/fonts/FontCache.h" | 76 #include "platform/fonts/FontCache.h" |
| (...skipping 262 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 340 } | 339 } |
| 341 | 340 |
| 342 void FrameView::setFrameRect(const IntRect& newRect) | 341 void FrameView::setFrameRect(const IntRect& newRect) |
| 343 { | 342 { |
| 344 IntRect oldRect = frameRect(); | 343 IntRect oldRect = frameRect(); |
| 345 if (newRect == oldRect) | 344 if (newRect == oldRect) |
| 346 return; | 345 return; |
| 347 | 346 |
| 348 // Autosized font sizes depend on the width of the viewing area. | 347 // Autosized font sizes depend on the width of the viewing area. |
| 349 bool autosizerNeedsUpdating = false; | 348 bool autosizerNeedsUpdating = false; |
| 350 if (newRect.width() != oldRect.width()) { | 349 if (newRect.width() != oldRect.width() && m_frame->isMainFrame() && m_frame-
>settings()->textAutosizingEnabled()) |
| 351 if (m_frame->isMainFrame() && m_frame->settings()->textAutosizingEnabled
()) { | 350 autosizerNeedsUpdating = true; |
| 352 autosizerNeedsUpdating = true; | |
| 353 for (Frame* frame = m_frame.get(); frame; frame = frame->tree().trav
erseNext()) { | |
| 354 if (!frame->isLocalFrame()) | |
| 355 continue; | |
| 356 if (TextAutosizer* textAutosizer = toLocalFrame(frame)->document
()->textAutosizer()) | |
| 357 textAutosizer->recalculateMultipliers(); | |
| 358 } | |
| 359 } | |
| 360 } | |
| 361 | 351 |
| 362 ScrollView::setFrameRect(newRect); | 352 ScrollView::setFrameRect(newRect); |
| 363 | 353 |
| 364 updateScrollableAreaSet(); | 354 updateScrollableAreaSet(); |
| 365 | 355 |
| 366 if (autosizerNeedsUpdating) { | 356 if (autosizerNeedsUpdating) { |
| 367 // This needs to be after the call to ScrollView::setFrameRect, because
it reads the new width. | 357 // This needs to be after the call to ScrollView::setFrameRect, because
it reads the new width. |
| 368 if (FastTextAutosizer* textAutosizer = m_frame->document()->fastTextAuto
sizer()) | 358 if (FastTextAutosizer* textAutosizer = m_frame->document()->fastTextAuto
sizer()) |
| 369 textAutosizer->updatePageInfoInAllFrames(); | 359 textAutosizer->updatePageInfoInAllFrames(); |
| 370 } | 360 } |
| (...skipping 414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 785 LayoutState layoutState(*rootForThisLayout); | 775 LayoutState layoutState(*rootForThisLayout); |
| 786 | 776 |
| 787 forceLayoutParentViewIfNeeded(); | 777 forceLayoutParentViewIfNeeded(); |
| 788 | 778 |
| 789 // FIXME (crbug.com/256657): Do not do two layouts for text autosizing. | 779 // FIXME (crbug.com/256657): Do not do two layouts for text autosizing. |
| 790 rootForThisLayout->layout(); | 780 rootForThisLayout->layout(); |
| 791 gatherDebugLayoutRects(rootForThisLayout); | 781 gatherDebugLayoutRects(rootForThisLayout); |
| 792 | 782 |
| 793 ResourceLoadPriorityOptimizer::resourceLoadPriorityOptimizer()->updateAllIma
geResourcePriorities(); | 783 ResourceLoadPriorityOptimizer::resourceLoadPriorityOptimizer()->updateAllIma
geResourcePriorities(); |
| 794 | 784 |
| 795 TextAutosizer* textAutosizer = frame().document()->textAutosizer(); | |
| 796 bool autosized; | |
| 797 { | |
| 798 AllowPaintInvalidationScope paintInvalidationAllowed(this); | |
| 799 autosized = textAutosizer && textAutosizer->processSubtree(rootForThisLa
yout); | |
| 800 } | |
| 801 | |
| 802 if (autosized && rootForThisLayout->needsLayout()) { | |
| 803 TRACE_EVENT0("blink", "2nd layout due to Text Autosizing"); | |
| 804 UseCounter::count(*frame().document(), UseCounter::TextAutosizingLayout)
; | |
| 805 rootForThisLayout->layout(); | |
| 806 gatherDebugLayoutRects(rootForThisLayout); | |
| 807 } | |
| 808 | |
| 809 lifecycle().advanceTo(DocumentLifecycle::AfterPerformLayout); | 785 lifecycle().advanceTo(DocumentLifecycle::AfterPerformLayout); |
| 810 } | 786 } |
| 811 | 787 |
| 812 void FrameView::scheduleOrPerformPostLayoutTasks() | 788 void FrameView::scheduleOrPerformPostLayoutTasks() |
| 813 { | 789 { |
| 814 if (m_postLayoutTasksTimer.isActive()) | 790 if (m_postLayoutTasksTimer.isActive()) |
| 815 return; | 791 return; |
| 816 | 792 |
| 817 if (!m_inSynchronousPostLayout) { | 793 if (!m_inSynchronousPostLayout) { |
| 818 m_inSynchronousPostLayout = true; | 794 m_inSynchronousPostLayout = true; |
| (...skipping 2469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3288 void FrameView::willRemoveScrollbar(Scrollbar* scrollbar, ScrollbarOrientation o
rientation) | 3264 void FrameView::willRemoveScrollbar(Scrollbar* scrollbar, ScrollbarOrientation o
rientation) |
| 3289 { | 3265 { |
| 3290 ScrollableArea::willRemoveScrollbar(scrollbar, orientation); | 3266 ScrollableArea::willRemoveScrollbar(scrollbar, orientation); |
| 3291 if (AXObjectCache* cache = axObjectCache()) { | 3267 if (AXObjectCache* cache = axObjectCache()) { |
| 3292 cache->remove(scrollbar); | 3268 cache->remove(scrollbar); |
| 3293 cache->handleScrollbarUpdate(this); | 3269 cache->handleScrollbarUpdate(this); |
| 3294 } | 3270 } |
| 3295 } | 3271 } |
| 3296 | 3272 |
| 3297 } // namespace blink | 3273 } // namespace blink |
| OLD | NEW |