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

Side by Side Diff: third_party/WebKit/Source/platform/scroll/ScrollableAreaTest.cpp

Issue 1477023003: Refactor the Heap into ThreadHeap to prepare for per thread heaps Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "platform/scroll/ScrollableArea.h" 5 #include "platform/scroll/ScrollableArea.h"
6 6
7 #include "platform/graphics/Color.h" 7 #include "platform/graphics/Color.h"
8 #include "platform/graphics/GraphicsLayer.h" 8 #include "platform/graphics/GraphicsLayer.h"
9 #include "platform/scroll/ScrollbarTheme.h" 9 #include "platform/scroll/ScrollbarTheme.h"
10 #include "platform/scroll/ScrollbarThemeMock.h" 10 #include "platform/scroll/ScrollbarThemeMock.h"
(...skipping 125 matching lines...) Expand 10 before | Expand all | Expand 10 after
136 EXPECT_CALL(theme, shouldRepaintAllPartsOnInvalidation()).WillRepeatedly(Ret urn(false)); 136 EXPECT_CALL(theme, shouldRepaintAllPartsOnInvalidation()).WillRepeatedly(Ret urn(false));
137 scrollbar->clearTrackNeedsRepaint(); 137 scrollbar->clearTrackNeedsRepaint();
138 scrollbar->clearThumbNeedsRepaint(); 138 scrollbar->clearThumbNeedsRepaint();
139 EXPECT_FALSE(scrollbar->trackNeedsRepaint()); 139 EXPECT_FALSE(scrollbar->trackNeedsRepaint());
140 EXPECT_FALSE(scrollbar->thumbNeedsRepaint()); 140 EXPECT_FALSE(scrollbar->thumbNeedsRepaint());
141 scrollbar->setNeedsPaintInvalidation(ThumbPart); 141 scrollbar->setNeedsPaintInvalidation(ThumbPart);
142 EXPECT_FALSE(scrollbar->trackNeedsRepaint()); 142 EXPECT_FALSE(scrollbar->trackNeedsRepaint());
143 EXPECT_TRUE(scrollbar->thumbNeedsRepaint()); 143 EXPECT_TRUE(scrollbar->thumbNeedsRepaint());
144 144
145 // Forced GC in order to finalize objects depending on the mock object. 145 // Forced GC in order to finalize objects depending on the mock object.
146 Heap::collectAllGarbage(); 146 ThreadHeap::collectAllGarbage();
147 } 147 }
148 148
149 class MockGraphicsLayerClient : public GraphicsLayerClient { 149 class MockGraphicsLayerClient : public GraphicsLayerClient {
150 public: 150 public:
151 IntRect computeInterestRect(const GraphicsLayer*, const IntRect&) const { re turn IntRect(); } 151 IntRect computeInterestRect(const GraphicsLayer*, const IntRect&) const { re turn IntRect(); }
152 void paintContents(const GraphicsLayer*, GraphicsContext&, GraphicsLayerPain tingPhase, const IntRect&) const override { } 152 void paintContents(const GraphicsLayer*, GraphicsContext&, GraphicsLayerPain tingPhase, const IntRect&) const override { }
153 String debugName(const GraphicsLayer*) const override { return String(); } 153 String debugName(const GraphicsLayer*) const override { return String(); }
154 bool isTrackingPaintInvalidations() const override { return true; } 154 bool isTrackingPaintInvalidations() const override { return true; }
155 }; 155 };
156 156
(...skipping 12 matching lines...) Expand all
169 graphicsLayer.setSize(FloatSize(111, 222)); 169 graphicsLayer.setSize(FloatSize(111, 222));
170 170
171 EXPECT_CALL(*scrollableArea, layerForHorizontalScrollbar()).WillRepeatedly(R eturn(&graphicsLayer)); 171 EXPECT_CALL(*scrollableArea, layerForHorizontalScrollbar()).WillRepeatedly(R eturn(&graphicsLayer));
172 172
173 RefPtrWillBeRawPtr<Scrollbar> scrollbar = Scrollbar::create(scrollableArea.g et(), HorizontalScrollbar, RegularScrollbar, nullptr); 173 RefPtrWillBeRawPtr<Scrollbar> scrollbar = Scrollbar::create(scrollableArea.g et(), HorizontalScrollbar, RegularScrollbar, nullptr);
174 graphicsLayer.resetTrackedPaintInvalidations(); 174 graphicsLayer.resetTrackedPaintInvalidations();
175 scrollbar->setNeedsPaintInvalidation(NoPart); 175 scrollbar->setNeedsPaintInvalidation(NoPart);
176 EXPECT_TRUE(graphicsLayer.hasTrackedPaintInvalidations()); 176 EXPECT_TRUE(graphicsLayer.hasTrackedPaintInvalidations());
177 177
178 // Forced GC in order to finalize objects depending on the mock object. 178 // Forced GC in order to finalize objects depending on the mock object.
179 Heap::collectAllGarbage(); 179 ThreadHeap::collectAllGarbage();
180 } 180 }
181 181
182 TEST_F(ScrollableAreaTest, InvalidatesNonCompositedScrollbarsWhenThumbMoves) 182 TEST_F(ScrollableAreaTest, InvalidatesNonCompositedScrollbarsWhenThumbMoves)
183 { 183 {
184 ScrollbarThemeWithMockInvalidation theme; 184 ScrollbarThemeWithMockInvalidation theme;
185 OwnPtrWillBeRawPtr<MockScrollableArea> scrollableArea = MockScrollableArea:: create(IntPoint(100, 100)); 185 OwnPtrWillBeRawPtr<MockScrollableArea> scrollableArea = MockScrollableArea:: create(IntPoint(100, 100));
186 RefPtrWillBeRawPtr<Scrollbar> horizontalScrollbar = Scrollbar::createForTest ing(scrollableArea.get(), HorizontalScrollbar, RegularScrollbar, &theme); 186 RefPtrWillBeRawPtr<Scrollbar> horizontalScrollbar = Scrollbar::createForTest ing(scrollableArea.get(), HorizontalScrollbar, RegularScrollbar, &theme);
187 RefPtrWillBeRawPtr<Scrollbar> verticalScrollbar = Scrollbar::createForTestin g(scrollableArea.get(), VerticalScrollbar, RegularScrollbar, &theme); 187 RefPtrWillBeRawPtr<Scrollbar> verticalScrollbar = Scrollbar::createForTestin g(scrollableArea.get(), VerticalScrollbar, RegularScrollbar, &theme);
188 EXPECT_CALL(*scrollableArea, horizontalScrollbar()).WillRepeatedly(Return(ho rizontalScrollbar.get())); 188 EXPECT_CALL(*scrollableArea, horizontalScrollbar()).WillRepeatedly(Return(ho rizontalScrollbar.get()));
189 EXPECT_CALL(*scrollableArea, verticalScrollbar()).WillRepeatedly(Return(vert icalScrollbar.get())); 189 EXPECT_CALL(*scrollableArea, verticalScrollbar()).WillRepeatedly(Return(vert icalScrollbar.get()));
(...skipping 11 matching lines...) Expand all
201 scrollableArea->setScrollPosition(DoublePoint(0, 50), ProgrammaticScroll); 201 scrollableArea->setScrollPosition(DoublePoint(0, 50), ProgrammaticScroll);
202 EXPECT_FALSE(scrollableArea->horizontalScrollbarNeedsPaintInvalidation()); 202 EXPECT_FALSE(scrollableArea->horizontalScrollbarNeedsPaintInvalidation());
203 EXPECT_TRUE(scrollableArea->verticalScrollbarNeedsPaintInvalidation()); 203 EXPECT_TRUE(scrollableArea->verticalScrollbarNeedsPaintInvalidation());
204 scrollableArea->clearNeedsPaintInvalidationForScrollControls(); 204 scrollableArea->clearNeedsPaintInvalidationForScrollControls();
205 scrollableArea->setScrollPosition(DoublePoint(50, 50), ProgrammaticScroll); 205 scrollableArea->setScrollPosition(DoublePoint(50, 50), ProgrammaticScroll);
206 EXPECT_TRUE(scrollableArea->horizontalScrollbarNeedsPaintInvalidation()); 206 EXPECT_TRUE(scrollableArea->horizontalScrollbarNeedsPaintInvalidation());
207 EXPECT_FALSE(scrollableArea->verticalScrollbarNeedsPaintInvalidation()); 207 EXPECT_FALSE(scrollableArea->verticalScrollbarNeedsPaintInvalidation());
208 scrollableArea->clearNeedsPaintInvalidationForScrollControls(); 208 scrollableArea->clearNeedsPaintInvalidationForScrollControls();
209 209
210 // Forced GC in order to finalize objects depending on the mock object. 210 // Forced GC in order to finalize objects depending on the mock object.
211 Heap::collectAllGarbage(); 211 ThreadHeap::collectAllGarbage();
212 } 212 }
213 213
214 TEST_F(ScrollableAreaTest, InvalidatesCompositedScrollbarsIfPartsNeedRepaint) 214 TEST_F(ScrollableAreaTest, InvalidatesCompositedScrollbarsIfPartsNeedRepaint)
215 { 215 {
216 ScrollbarThemeWithMockInvalidation theme; 216 ScrollbarThemeWithMockInvalidation theme;
217 OwnPtrWillBeRawPtr<MockScrollableArea> scrollableArea = MockScrollableArea:: create(IntPoint(100, 100)); 217 OwnPtrWillBeRawPtr<MockScrollableArea> scrollableArea = MockScrollableArea:: create(IntPoint(100, 100));
218 RefPtrWillBeRawPtr<Scrollbar> horizontalScrollbar = Scrollbar::createForTest ing(scrollableArea.get(), HorizontalScrollbar, RegularScrollbar, &theme); 218 RefPtrWillBeRawPtr<Scrollbar> horizontalScrollbar = Scrollbar::createForTest ing(scrollableArea.get(), HorizontalScrollbar, RegularScrollbar, &theme);
219 horizontalScrollbar->clearTrackNeedsRepaint(); 219 horizontalScrollbar->clearTrackNeedsRepaint();
220 horizontalScrollbar->clearThumbNeedsRepaint(); 220 horizontalScrollbar->clearThumbNeedsRepaint();
221 RefPtrWillBeRawPtr<Scrollbar> verticalScrollbar = Scrollbar::createForTestin g(scrollableArea.get(), VerticalScrollbar, RegularScrollbar, &theme); 221 RefPtrWillBeRawPtr<Scrollbar> verticalScrollbar = Scrollbar::createForTestin g(scrollableArea.get(), VerticalScrollbar, RegularScrollbar, &theme);
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 EXPECT_CALL(theme, invalidateOnThumbPositionChange(_, _, _)).Times(2).WillRe peatedly(Return(NoPart)); 267 EXPECT_CALL(theme, invalidateOnThumbPositionChange(_, _, _)).Times(2).WillRe peatedly(Return(NoPart));
268 scrollableArea->setScrollPosition(DoublePoint(70, 70), ProgrammaticScroll); 268 scrollableArea->setScrollPosition(DoublePoint(70, 70), ProgrammaticScroll);
269 EXPECT_TRUE(layerForHorizontalScrollbar.hasTrackedPaintInvalidations()); 269 EXPECT_TRUE(layerForHorizontalScrollbar.hasTrackedPaintInvalidations());
270 EXPECT_TRUE(layerForVerticalScrollbar.hasTrackedPaintInvalidations()); 270 EXPECT_TRUE(layerForVerticalScrollbar.hasTrackedPaintInvalidations());
271 EXPECT_FALSE(horizontalScrollbar->trackNeedsRepaint()); 271 EXPECT_FALSE(horizontalScrollbar->trackNeedsRepaint());
272 EXPECT_FALSE(horizontalScrollbar->thumbNeedsRepaint()); 272 EXPECT_FALSE(horizontalScrollbar->thumbNeedsRepaint());
273 EXPECT_FALSE(verticalScrollbar->trackNeedsRepaint()); 273 EXPECT_FALSE(verticalScrollbar->trackNeedsRepaint());
274 EXPECT_FALSE(verticalScrollbar->thumbNeedsRepaint()); 274 EXPECT_FALSE(verticalScrollbar->thumbNeedsRepaint());
275 275
276 // Forced GC in order to finalize objects depending on the mock object. 276 // Forced GC in order to finalize objects depending on the mock object.
277 Heap::collectAllGarbage(); 277 ThreadHeap::collectAllGarbage();
278 } 278 }
279 279
280 TEST_F(ScrollableAreaTest, RecalculatesScrollbarOverlayIfBackgroundChanges) 280 TEST_F(ScrollableAreaTest, RecalculatesScrollbarOverlayIfBackgroundChanges)
281 { 281 {
282 OwnPtrWillBeRawPtr<MockScrollableArea> scrollableArea = MockScrollableArea:: create(IntPoint(0, 100)); 282 OwnPtrWillBeRawPtr<MockScrollableArea> scrollableArea = MockScrollableArea:: create(IntPoint(0, 100));
283 283
284 EXPECT_EQ(ScrollbarOverlayStyleDefault, scrollableArea->getScrollbarOverlayS tyle()); 284 EXPECT_EQ(ScrollbarOverlayStyleDefault, scrollableArea->getScrollbarOverlayS tyle());
285 scrollableArea->recalculateScrollbarOverlayStyle(Color(34, 85, 51)); 285 scrollableArea->recalculateScrollbarOverlayStyle(Color(34, 85, 51));
286 EXPECT_EQ(ScrollbarOverlayStyleLight, scrollableArea->getScrollbarOverlaySty le()); 286 EXPECT_EQ(ScrollbarOverlayStyleLight, scrollableArea->getScrollbarOverlaySty le());
287 scrollableArea->recalculateScrollbarOverlayStyle(Color(236, 143, 185)); 287 scrollableArea->recalculateScrollbarOverlayStyle(Color(236, 143, 185));
288 EXPECT_EQ(ScrollbarOverlayStyleDefault, scrollableArea->getScrollbarOverlayS tyle()); 288 EXPECT_EQ(ScrollbarOverlayStyleDefault, scrollableArea->getScrollbarOverlayS tyle());
289 } 289 }
290 290
291 } // namespace blink 291 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/platform/heap/Visitor.h ('k') | third_party/WebKit/Source/platform/testing/RunAllTests.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698