| 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 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
| 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All |
| 7 * rights reserved. | 7 * rights reserved. |
| 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. | 8 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. |
| 9 * (http://www.torchmobile.com/) | 9 * (http://www.torchmobile.com/) |
| 10 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. | 10 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. |
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 197 #include "core/loader/PrerendererClient.h" | 197 #include "core/loader/PrerendererClient.h" |
| 198 #include "core/loader/TextResourceDecoderBuilder.h" | 198 #include "core/loader/TextResourceDecoderBuilder.h" |
| 199 #include "core/loader/appcache/ApplicationCacheHost.h" | 199 #include "core/loader/appcache/ApplicationCacheHost.h" |
| 200 #include "core/origin_trials/OriginTrials.h" | 200 #include "core/origin_trials/OriginTrials.h" |
| 201 #include "core/page/ChromeClient.h" | 201 #include "core/page/ChromeClient.h" |
| 202 #include "core/page/EventWithHitTestResults.h" | 202 #include "core/page/EventWithHitTestResults.h" |
| 203 #include "core/page/FocusController.h" | 203 #include "core/page/FocusController.h" |
| 204 #include "core/page/FrameTree.h" | 204 #include "core/page/FrameTree.h" |
| 205 #include "core/page/Page.h" | 205 #include "core/page/Page.h" |
| 206 #include "core/page/PointerLockController.h" | 206 #include "core/page/PointerLockController.h" |
| 207 #include "core/page/scrolling/OverscrollController.h" |
| 207 #include "core/page/scrolling/RootScrollerController.h" | 208 #include "core/page/scrolling/RootScrollerController.h" |
| 208 #include "core/page/scrolling/ScrollStateCallback.h" | 209 #include "core/page/scrolling/ScrollStateCallback.h" |
| 209 #include "core/page/scrolling/ScrollingCoordinator.h" | 210 #include "core/page/scrolling/ScrollingCoordinator.h" |
| 210 #include "core/page/scrolling/SnapCoordinator.h" | 211 #include "core/page/scrolling/SnapCoordinator.h" |
| 211 #include "core/page/scrolling/TopDocumentRootScrollerController.h" | 212 #include "core/page/scrolling/TopDocumentRootScrollerController.h" |
| 212 #include "core/paint/compositing/PaintLayerCompositor.h" | 213 #include "core/paint/compositing/PaintLayerCompositor.h" |
| 213 #include "core/probe/CoreProbes.h" | 214 #include "core/probe/CoreProbes.h" |
| 214 #include "core/resize_observer/ResizeObserverController.h" | 215 #include "core/resize_observer/ResizeObserverController.h" |
| 215 #include "core/svg/SVGDocumentExtensions.h" | 216 #include "core/svg/SVGDocumentExtensions.h" |
| 216 #include "core/svg/SVGScriptElement.h" | 217 #include "core/svg/SVGScriptElement.h" |
| (...skipping 1771 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1988 // Column-gap is (ab)used by the current paged overflow implementation (in | 1989 // Column-gap is (ab)used by the current paged overflow implementation (in |
| 1989 // lack of other ways to specify gaps between pages), so we have to | 1990 // lack of other ways to specify gaps between pages), so we have to |
| 1990 // propagate it too. | 1991 // propagate it too. |
| 1991 if (!overflow_style->HasNormalColumnGap()) { | 1992 if (!overflow_style->HasNormalColumnGap()) { |
| 1992 column_gap_normal = false; | 1993 column_gap_normal = false; |
| 1993 column_gap = overflow_style->ColumnGap(); | 1994 column_gap = overflow_style->ColumnGap(); |
| 1994 } | 1995 } |
| 1995 } | 1996 } |
| 1996 | 1997 |
| 1997 ScrollSnapType snap_type = overflow_style->GetScrollSnapType(); | 1998 ScrollSnapType snap_type = overflow_style->GetScrollSnapType(); |
| 1999 EScrollBoundaryBehavior scroll_boundary_behavior_x = |
| 2000 overflow_style->ScrollBoundaryBehaviorX(); |
| 2001 EScrollBoundaryBehavior scroll_boundary_behavior_y = |
| 2002 overflow_style->ScrollBoundaryBehaviorY(); |
| 2003 using ScrollBoundaryBehaviorType = |
| 2004 WebScrollBoundaryBehavior::ScrollBoundaryBehaviorType; |
| 2005 if (RuntimeEnabledFeatures::CSSScrollBoundaryBehaviorEnabled() && |
| 2006 IsInMainFrame()) { |
| 2007 GetPage()->GetOverscrollController().SetScrollBoundaryBehavior( |
| 2008 WebScrollBoundaryBehavior( |
| 2009 static_cast<ScrollBoundaryBehaviorType>(scroll_boundary_behavior_x), |
| 2010 static_cast<ScrollBoundaryBehaviorType>( |
| 2011 scroll_boundary_behavior_y))); |
| 2012 } |
| 1998 | 2013 |
| 1999 RefPtr<ComputedStyle> viewport_style; | 2014 RefPtr<ComputedStyle> viewport_style; |
| 2000 if (change == kForce || !GetLayoutViewItem().Style()) { | 2015 if (change == kForce || !GetLayoutViewItem().Style()) { |
| 2001 viewport_style = StyleResolver::StyleForViewport(*this); | 2016 viewport_style = StyleResolver::StyleForViewport(*this); |
| 2002 } else { | 2017 } else { |
| 2003 const ComputedStyle& old_style = GetLayoutViewItem().StyleRef(); | 2018 const ComputedStyle& old_style = GetLayoutViewItem().StyleRef(); |
| 2004 if (old_style.GetWritingMode() == root_writing_mode && | 2019 if (old_style.GetWritingMode() == root_writing_mode && |
| 2005 old_style.Direction() == root_direction && | 2020 old_style.Direction() == root_direction && |
| 2006 old_style.VisitedDependentColor(CSSPropertyBackgroundColor) == | 2021 old_style.VisitedDependentColor(CSSPropertyBackgroundColor) == |
| 2007 background_color && | 2022 background_color && |
| 2008 old_style.BackgroundLayers() == background_layers && | 2023 old_style.BackgroundLayers() == background_layers && |
| 2009 old_style.ImageRendering() == image_rendering && | 2024 old_style.ImageRendering() == image_rendering && |
| 2010 old_style.OverflowAnchor() == overflow_anchor && | 2025 old_style.OverflowAnchor() == overflow_anchor && |
| 2011 old_style.OverflowX() == overflow_x && | 2026 old_style.OverflowX() == overflow_x && |
| 2012 old_style.OverflowY() == overflow_y && | 2027 old_style.OverflowY() == overflow_y && |
| 2013 old_style.HasNormalColumnGap() == column_gap_normal && | 2028 old_style.HasNormalColumnGap() == column_gap_normal && |
| 2014 old_style.ColumnGap() == column_gap && | 2029 old_style.ColumnGap() == column_gap && |
| 2015 old_style.GetScrollSnapType() == snap_type) { | 2030 old_style.GetScrollSnapType() == snap_type && |
| 2031 old_style.ScrollBoundaryBehaviorX() == scroll_boundary_behavior_x && |
| 2032 old_style.ScrollBoundaryBehaviorY() == scroll_boundary_behavior_y) { |
| 2016 return; | 2033 return; |
| 2017 } | 2034 } |
| 2018 viewport_style = ComputedStyle::Clone(old_style); | 2035 viewport_style = ComputedStyle::Clone(old_style); |
| 2019 } | 2036 } |
| 2020 viewport_style->SetWritingMode(root_writing_mode); | 2037 viewport_style->SetWritingMode(root_writing_mode); |
| 2021 viewport_style->SetDirection(root_direction); | 2038 viewport_style->SetDirection(root_direction); |
| 2022 viewport_style->SetBackgroundColor(background_color); | 2039 viewport_style->SetBackgroundColor(background_color); |
| 2023 viewport_style->AccessBackgroundLayers() = background_layers; | 2040 viewport_style->AccessBackgroundLayers() = background_layers; |
| 2024 viewport_style->SetImageRendering(image_rendering); | 2041 viewport_style->SetImageRendering(image_rendering); |
| 2025 viewport_style->SetOverflowAnchor(overflow_anchor); | 2042 viewport_style->SetOverflowAnchor(overflow_anchor); |
| 2026 viewport_style->SetOverflowX(overflow_x); | 2043 viewport_style->SetOverflowX(overflow_x); |
| 2027 viewport_style->SetOverflowY(overflow_y); | 2044 viewport_style->SetOverflowY(overflow_y); |
| 2028 if (column_gap_normal) | 2045 if (column_gap_normal) |
| 2029 viewport_style->SetHasNormalColumnGap(); | 2046 viewport_style->SetHasNormalColumnGap(); |
| 2030 else | 2047 else |
| 2031 viewport_style->SetColumnGap(column_gap); | 2048 viewport_style->SetColumnGap(column_gap); |
| 2032 viewport_style->SetScrollSnapType(snap_type); | 2049 viewport_style->SetScrollSnapType(snap_type); |
| 2050 viewport_style->SetScrollBoundaryBehaviorX(scroll_boundary_behavior_x); |
| 2051 viewport_style->SetScrollBoundaryBehaviorY(scroll_boundary_behavior_y); |
| 2033 GetLayoutViewItem().SetStyle(viewport_style); | 2052 GetLayoutViewItem().SetStyle(viewport_style); |
| 2034 SetupFontBuilder(*viewport_style); | 2053 SetupFontBuilder(*viewport_style); |
| 2035 } | 2054 } |
| 2036 | 2055 |
| 2037 #if DCHECK_IS_ON() | 2056 #if DCHECK_IS_ON() |
| 2038 static void AssertLayoutTreeUpdated(Node& root) { | 2057 static void AssertLayoutTreeUpdated(Node& root) { |
| 2039 for (Node& node : NodeTraversal::InclusiveDescendantsOf(root)) { | 2058 for (Node& node : NodeTraversal::InclusiveDescendantsOf(root)) { |
| 2040 // We leave some nodes with dirty bits in the tree because they don't | 2059 // We leave some nodes with dirty bits in the tree because they don't |
| 2041 // matter like Comment and ProcessingInstruction nodes. | 2060 // matter like Comment and ProcessingInstruction nodes. |
| 2042 // TODO(esprehn): Don't even mark those nodes as needing recalcs in the | 2061 // TODO(esprehn): Don't even mark those nodes as needing recalcs in the |
| (...skipping 4979 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7022 } | 7041 } |
| 7023 | 7042 |
| 7024 void showLiveDocumentInstances() { | 7043 void showLiveDocumentInstances() { |
| 7025 WeakDocumentSet& set = liveDocumentSet(); | 7044 WeakDocumentSet& set = liveDocumentSet(); |
| 7026 fprintf(stderr, "There are %u documents currently alive:\n", set.size()); | 7045 fprintf(stderr, "There are %u documents currently alive:\n", set.size()); |
| 7027 for (blink::Document* document : set) | 7046 for (blink::Document* document : set) |
| 7028 fprintf(stderr, "- Document %p URL: %s\n", document, | 7047 fprintf(stderr, "- Document %p URL: %s\n", document, |
| 7029 document->Url().GetString().Utf8().data()); | 7048 document->Url().GetString().Utf8().data()); |
| 7030 } | 7049 } |
| 7031 #endif | 7050 #endif |
| OLD | NEW |