Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(169)

Side by Side Diff: third_party/WebKit/Source/core/paint/PaintLayerScrollableArea.cpp

Issue 2855523002: Deleted Widget/FrameViewBase (Closed)
Patch Set: Add back FrameView::paint_scrollbars_ to hold PaintLayer scrollbars Created 3 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights
3 * reserved. 3 * reserved.
4 * 4 *
5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
6 * 6 *
7 * Other contributors: 7 * Other contributors:
8 * Robert O'Callahan <roc+@cs.cmu.edu> 8 * Robert O'Callahan <roc+@cs.cmu.edu>
9 * David Baron <dbaron@fas.harvard.edu> 9 * David Baron <dbaron@fas.harvard.edu>
10 * Christian Biesinger <cbiesinger@gmail.com> 10 * Christian Biesinger <cbiesinger@gmail.com>
(...skipping 338 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 if (!view) 349 if (!view)
350 return parent_point; 350 return parent_point;
351 351
352 IntPoint point = view->GetFrameView()->ConvertToLayoutItem( 352 IntPoint point = view->GetFrameView()->ConvertToLayoutItem(
353 LayoutBoxItem(&Box()), parent_point); 353 LayoutBoxItem(&Box()), parent_point);
354 354
355 point.Move(-ScrollbarOffset(scrollbar)); 355 point.Move(-ScrollbarOffset(scrollbar));
356 return point; 356 return point;
357 } 357 }
358 358
359 IntPoint PaintLayerScrollableArea::ConvertFromRootFrame(
360 const IntPoint& point_in_root_frame) const {
361 LayoutView* view = Box().View();
362 if (!view)
363 return point_in_root_frame;
364
365 return view->GetFrameView()->ConvertFromRootFrame(point_in_root_frame);
366 }
367
359 int PaintLayerScrollableArea::ScrollSize( 368 int PaintLayerScrollableArea::ScrollSize(
360 ScrollbarOrientation orientation) const { 369 ScrollbarOrientation orientation) const {
361 IntSize scroll_dimensions = 370 IntSize scroll_dimensions =
362 MaximumScrollOffsetInt() - MinimumScrollOffsetInt(); 371 MaximumScrollOffsetInt() - MinimumScrollOffsetInt();
363 return (orientation == kHorizontalScrollbar) ? scroll_dimensions.Width() 372 return (orientation == kHorizontalScrollbar) ? scroll_dimensions.Width()
364 : scroll_dimensions.Height(); 373 : scroll_dimensions.Height();
365 } 374 }
366 375
367 void PaintLayerScrollableArea::UpdateScrollOffset( 376 void PaintLayerScrollableArea::UpdateScrollOffset(
368 const ScrollOffset& new_offset, 377 const ScrollOffset& new_offset,
(...skipping 1666 matching lines...) Expand 10 before | Expand all | Expand 10 after
2035 } else { 2044 } else {
2036 ScrollbarControlSize scrollbar_size = kRegularScrollbar; 2045 ScrollbarControlSize scrollbar_size = kRegularScrollbar;
2037 if (style_source.StyleRef().HasAppearance()) { 2046 if (style_source.StyleRef().HasAppearance()) {
2038 scrollbar_size = LayoutTheme::GetTheme().ScrollbarControlSizeForPart( 2047 scrollbar_size = LayoutTheme::GetTheme().ScrollbarControlSizeForPart(
2039 style_source.StyleRef().Appearance()); 2048 style_source.StyleRef().Appearance());
2040 } 2049 }
2041 scrollbar = Scrollbar::Create( 2050 scrollbar = Scrollbar::Create(
2042 ScrollableArea(), orientation, scrollbar_size, 2051 ScrollableArea(), orientation, scrollbar_size,
2043 &ScrollableArea()->Box().GetFrame()->GetPage()->GetChromeClient()); 2052 &ScrollableArea()->Box().GetFrame()->GetPage()->GetChromeClient());
2044 } 2053 }
2045 ScrollableArea()->Box().GetDocument().View()->AddScrollbar(scrollbar); 2054 ScrollableArea()->Box().GetDocument().View()->AddPaintScrollbar(scrollbar);
2046 return scrollbar; 2055 return scrollbar;
2047 } 2056 }
2048 2057
2049 void PaintLayerScrollableArea::ScrollbarManager::DestroyScrollbar( 2058 void PaintLayerScrollableArea::ScrollbarManager::DestroyScrollbar(
2050 ScrollbarOrientation orientation) { 2059 ScrollbarOrientation orientation) {
2051 Member<Scrollbar>& scrollbar = 2060 Member<Scrollbar>& scrollbar =
2052 orientation == kHorizontalScrollbar ? h_bar_ : v_bar_; 2061 orientation == kHorizontalScrollbar ? h_bar_ : v_bar_;
2053 DCHECK(orientation == kHorizontalScrollbar ? !h_bar_is_attached_ 2062 DCHECK(orientation == kHorizontalScrollbar ? !h_bar_is_attached_
2054 : !v_bar_is_attached_); 2063 : !v_bar_is_attached_);
2055 if (!scrollbar) 2064 if (!scrollbar)
2056 return; 2065 return;
2057 2066
2058 ScrollableArea()->SetScrollbarNeedsPaintInvalidation(orientation); 2067 ScrollableArea()->SetScrollbarNeedsPaintInvalidation(orientation);
2059 if (orientation == kHorizontalScrollbar) 2068 if (orientation == kHorizontalScrollbar)
2060 ScrollableArea()->rebuild_horizontal_scrollbar_layer_ = true; 2069 ScrollableArea()->rebuild_horizontal_scrollbar_layer_ = true;
2061 else 2070 else
2062 ScrollableArea()->rebuild_vertical_scrollbar_layer_ = true; 2071 ScrollableArea()->rebuild_vertical_scrollbar_layer_ = true;
2063 2072
2064 if (!scrollbar->IsCustomScrollbar()) 2073 if (!scrollbar->IsCustomScrollbar())
2065 ScrollableArea()->WillRemoveScrollbar(*scrollbar, orientation); 2074 ScrollableArea()->WillRemoveScrollbar(*scrollbar, orientation);
2066 2075
2067 ScrollableArea()->Box().GetDocument().View()->RemoveScrollbar(scrollbar); 2076 ScrollableArea()->Box().GetDocument().View()->RemovePaintScrollbar(scrollbar);
2068 scrollbar->DisconnectFromScrollableArea(); 2077 scrollbar->DisconnectFromScrollableArea();
2069 scrollbar = nullptr; 2078 scrollbar = nullptr;
2070 } 2079 }
2071 2080
2072 uint64_t PaintLayerScrollableArea::Id() const { 2081 uint64_t PaintLayerScrollableArea::Id() const {
2073 return DOMNodeIds::IdForNode(Box().GetNode()); 2082 return DOMNodeIds::IdForNode(Box().GetNode());
2074 } 2083 }
2075 2084
2076 int PaintLayerScrollableArea::PreventRelayoutScope::count_ = 0; 2085 int PaintLayerScrollableArea::PreventRelayoutScope::count_ = 0;
2077 SubtreeLayoutScope* 2086 SubtreeLayoutScope*
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
2175 2184
2176 void PaintLayerScrollableArea::DelayScrollOffsetClampScope:: 2185 void PaintLayerScrollableArea::DelayScrollOffsetClampScope::
2177 ClampScrollableAreas() { 2186 ClampScrollableAreas() {
2178 for (auto& scrollable_area : *needs_clamp_) 2187 for (auto& scrollable_area : *needs_clamp_)
2179 scrollable_area->ClampScrollOffsetAfterOverflowChange(); 2188 scrollable_area->ClampScrollOffsetAfterOverflowChange();
2180 delete needs_clamp_; 2189 delete needs_clamp_;
2181 needs_clamp_ = nullptr; 2190 needs_clamp_ = nullptr;
2182 } 2191 }
2183 2192
2184 } // namespace blink 2193 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698