Chromium Code Reviews| 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 19 matching lines...) Expand all Loading... | |
| 30 #include "HTMLNames.h" | 30 #include "HTMLNames.h" |
| 31 #include "RuntimeEnabledFeatures.h" | 31 #include "RuntimeEnabledFeatures.h" |
| 32 #include "core/accessibility/AXObjectCache.h" | 32 #include "core/accessibility/AXObjectCache.h" |
| 33 #include "core/animation/DocumentAnimations.h" | 33 #include "core/animation/DocumentAnimations.h" |
| 34 #include "core/css/FontFaceSet.h" | 34 #include "core/css/FontFaceSet.h" |
| 35 #include "core/css/resolver/StyleResolver.h" | 35 #include "core/css/resolver/StyleResolver.h" |
| 36 #include "core/dom/DocumentMarkerController.h" | 36 #include "core/dom/DocumentMarkerController.h" |
| 37 #include "core/editing/FrameSelection.h" | 37 #include "core/editing/FrameSelection.h" |
| 38 #include "core/events/OverflowEvent.h" | 38 #include "core/events/OverflowEvent.h" |
| 39 #include "core/fetch/ResourceFetcher.h" | 39 #include "core/fetch/ResourceFetcher.h" |
| 40 #include "core/fetch/ResourceLoadPriorityOptimizer.h" | |
| 40 #include "core/fetch/TextResourceDecoder.h" | 41 #include "core/fetch/TextResourceDecoder.h" |
| 41 #include "core/html/HTMLFrameElement.h" | 42 #include "core/html/HTMLFrameElement.h" |
| 42 #include "core/html/HTMLHtmlElement.h" | 43 #include "core/html/HTMLHtmlElement.h" |
| 43 #include "core/html/HTMLPlugInElement.h" | 44 #include "core/html/HTMLPlugInElement.h" |
| 44 #include "core/inspector/InspectorInstrumentation.h" | 45 #include "core/inspector/InspectorInstrumentation.h" |
| 45 #include "core/loader/FrameLoader.h" | 46 #include "core/loader/FrameLoader.h" |
| 46 #include "core/loader/FrameLoaderClient.h" | 47 #include "core/loader/FrameLoaderClient.h" |
| 47 #include "core/page/Chrome.h" | 48 #include "core/page/Chrome.h" |
| 48 #include "core/page/ChromeClient.h" | 49 #include "core/page/ChromeClient.h" |
| 49 #include "core/page/EventHandler.h" | 50 #include "core/page/EventHandler.h" |
| (...skipping 836 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 886 forceLayoutParentViewIfNeeded(); | 887 forceLayoutParentViewIfNeeded(); |
| 887 | 888 |
| 888 // Text Autosizing requires two-pass layout which is incompatible with p artial layout. | 889 // Text Autosizing requires two-pass layout which is incompatible with p artial layout. |
| 889 // If enabled, only do partial layout for the second layout. | 890 // If enabled, only do partial layout for the second layout. |
| 890 // FIXME (crbug.com/256657): Do not do two layouts for text autosizing. | 891 // FIXME (crbug.com/256657): Do not do two layouts for text autosizing. |
| 891 PartialLayoutDisabler partialLayoutDisabler(partialLayout(), m_frame->se ttings() && m_frame->settings()->textAutosizingEnabled()); | 892 PartialLayoutDisabler partialLayoutDisabler(partialLayout(), m_frame->se ttings() && m_frame->settings()->textAutosizingEnabled()); |
| 892 | 893 |
| 893 LayoutIndicator layoutIndicator; | 894 LayoutIndicator layoutIndicator; |
| 894 rootForThisLayout->layout(); | 895 rootForThisLayout->layout(); |
| 895 gatherDebugLayoutRects(rootForThisLayout); | 896 gatherDebugLayoutRects(rootForThisLayout); |
| 897 | |
| 898 ResourceLoadPriorityOptimizer modifier; | |
| 899 rootForThisLayout->didLayout(modifier); | |
| 896 } | 900 } |
| 897 | 901 |
| 898 TextAutosizer* textAutosizer = frame().document()->textAutosizer(); | 902 TextAutosizer* textAutosizer = frame().document()->textAutosizer(); |
| 899 bool autosized = textAutosizer && textAutosizer->processSubtree(rootForThisL ayout); | 903 bool autosized = textAutosizer && textAutosizer->processSubtree(rootForThisL ayout); |
| 900 if (autosized && rootForThisLayout->needsLayout()) { | 904 if (autosized && rootForThisLayout->needsLayout()) { |
| 901 TRACE_EVENT0("webkit", "2nd layout due to Text Autosizing"); | 905 TRACE_EVENT0("webkit", "2nd layout due to Text Autosizing"); |
| 902 LayoutIndicator layoutIndicator; | 906 LayoutIndicator layoutIndicator; |
| 903 rootForThisLayout->layout(); | 907 rootForThisLayout->layout(); |
| 904 gatherDebugLayoutRects(rootForThisLayout); | 908 gatherDebugLayoutRects(rootForThisLayout); |
| 909 | |
| 910 ResourceLoadPriorityOptimizer modifier; | |
| 911 rootForThisLayout->didLayout(modifier); | |
| 905 } | 912 } |
| 906 | 913 |
| 907 m_inLayout = false; | 914 m_inLayout = false; |
| 908 | 915 |
| 909 if (inSubtreeLayout) | 916 if (inSubtreeLayout) |
| 910 rootForThisLayout->view()->popLayoutState(rootForThisLayout); | 917 rootForThisLayout->view()->popLayoutState(rootForThisLayout); |
| 911 } | 918 } |
| 912 | 919 |
| 913 void FrameView::scheduleOrPerformPostLayoutTasks() | 920 void FrameView::scheduleOrPerformPostLayoutTasks() |
| 914 { | 921 { |
| (...skipping 748 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1663 | 1670 |
| 1664 void FrameView::scrollPositionChanged() | 1671 void FrameView::scrollPositionChanged() |
| 1665 { | 1672 { |
| 1666 m_frame->eventHandler().sendScrollEvent(); | 1673 m_frame->eventHandler().sendScrollEvent(); |
| 1667 m_frame->eventHandler().dispatchFakeMouseMoveEventSoon(); | 1674 m_frame->eventHandler().dispatchFakeMouseMoveEventSoon(); |
| 1668 | 1675 |
| 1669 if (RenderView* renderView = this->renderView()) { | 1676 if (RenderView* renderView = this->renderView()) { |
| 1670 if (renderView->usesCompositing()) | 1677 if (renderView->usesCompositing()) |
| 1671 renderView->compositor()->frameViewDidScroll(); | 1678 renderView->compositor()->frameViewDidScroll(); |
| 1672 } | 1679 } |
| 1680 | |
| 1681 if (m_frame->document() && m_frame->document()->renderer()) { | |
|
shatch
2013/12/07 03:16:15
There was a crash on mac on FrameView::scrollPosit
| |
| 1682 ResourceLoadPriorityOptimizer modifier; | |
| 1683 m_frame->document()->renderer()->didScroll(modifier); | |
| 1684 } | |
| 1673 } | 1685 } |
| 1674 | 1686 |
| 1675 void FrameView::repaintFixedElementsAfterScrolling() | 1687 void FrameView::repaintFixedElementsAfterScrolling() |
| 1676 { | 1688 { |
| 1677 // For fixed position elements, update widget positions and compositing laye rs after scrolling, | 1689 // For fixed position elements, update widget positions and compositing laye rs after scrolling, |
| 1678 // but only if we're not inside of layout. | 1690 // but only if we're not inside of layout. |
| 1679 if (!m_nestedLayoutCount && hasViewportConstrainedObjects()) { | 1691 if (!m_nestedLayoutCount && hasViewportConstrainedObjects()) { |
| 1680 if (RenderView* renderView = this->renderView()) { | 1692 if (RenderView* renderView = this->renderView()) { |
| 1681 renderView->updateWidgetPositions(); | 1693 renderView->updateWidgetPositions(); |
| 1682 renderView->layer()->updateLayerPositionsAfterDocumentScroll(); | 1694 renderView->layer()->updateLayerPositionsAfterDocumentScroll(); |
| (...skipping 1797 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3480 void FrameView::willRemoveScrollbar(Scrollbar* scrollbar, ScrollbarOrientation o rientation) | 3492 void FrameView::willRemoveScrollbar(Scrollbar* scrollbar, ScrollbarOrientation o rientation) |
| 3481 { | 3493 { |
| 3482 ScrollableArea::willRemoveScrollbar(scrollbar, orientation); | 3494 ScrollableArea::willRemoveScrollbar(scrollbar, orientation); |
| 3483 if (AXObjectCache* cache = axObjectCache()) { | 3495 if (AXObjectCache* cache = axObjectCache()) { |
| 3484 cache->remove(scrollbar); | 3496 cache->remove(scrollbar); |
| 3485 cache->handleScrollbarUpdate(this); | 3497 cache->handleScrollbarUpdate(this); |
| 3486 } | 3498 } |
| 3487 } | 3499 } |
| 3488 | 3500 |
| 3489 } // namespace WebCore | 3501 } // namespace WebCore |
| OLD | NEW |