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

Side by Side Diff: Source/core/rendering/RenderLayerScrollableArea.cpp

Issue 629143005: Remove RenderObject::isMarquee() (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 2 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 reserved. 2 * Copyright (C) 2006, 2007, 2008, 2009, 2010, 2011, 2012 Apple Inc. All rights reserved.
3 * 3 *
4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
5 * 5 *
6 * Other contributors: 6 * Other contributors:
7 * Robert O'Callahan <roc+@cs.cmu.edu> 7 * Robert O'Callahan <roc+@cs.cmu.edu>
8 * David Baron <dbaron@fas.harvard.edu> 8 * David Baron <dbaron@fas.harvard.edu>
9 * Christian Biesinger <cbiesinger@web.de> 9 * Christian Biesinger <cbiesinger@web.de>
10 * Randall Jesup <rjesup@wgate.com> 10 * Randall Jesup <rjesup@wgate.com>
(...skipping 326 matching lines...) Expand 10 before | Expand all | Expand 10 after
337 } 337 }
338 338
339 int RenderLayerScrollableArea::scrollSize(ScrollbarOrientation orientation) cons t 339 int RenderLayerScrollableArea::scrollSize(ScrollbarOrientation orientation) cons t
340 { 340 {
341 IntSize scrollDimensions = maximumScrollPosition() - minimumScrollPosition() ; 341 IntSize scrollDimensions = maximumScrollPosition() - minimumScrollPosition() ;
342 return (orientation == HorizontalScrollbar) ? scrollDimensions.width() : scr ollDimensions.height(); 342 return (orientation == HorizontalScrollbar) ? scrollDimensions.width() : scr ollDimensions.height();
343 } 343 }
344 344
345 void RenderLayerScrollableArea::setScrollOffset(const IntPoint& newScrollOffset) 345 void RenderLayerScrollableArea::setScrollOffset(const IntPoint& newScrollOffset)
346 { 346 {
347 if (!box().isMarquee()) { 347 // Ensure that the dimensions will be computed if they need to be (for overf low:hidden blocks).
348 // Ensure that the dimensions will be computed if they need to be (for o verflow:hidden blocks). 348 if (m_scrollDimensionsDirty)
349 if (m_scrollDimensionsDirty) 349 computeScrollDimensions();
350 computeScrollDimensions();
351 }
352 350
353 if (scrollOffset() == toIntSize(newScrollOffset)) 351 if (scrollOffset() == toIntSize(newScrollOffset))
354 return; 352 return;
355 353
356 m_scrollOffset = toIntSize(newScrollOffset); 354 m_scrollOffset = toIntSize(newScrollOffset);
357 355
358 LocalFrame* frame = box().frame(); 356 LocalFrame* frame = box().frame();
359 ASSERT(frame); 357 ASSERT(frame);
360 358
361 RefPtr<FrameView> frameView = box().frameView(); 359 RefPtr<FrameView> frameView = box().frameView();
(...skipping 19 matching lines...) Expand all
381 // The caret rect needs to be invalidated after scrolling 379 // The caret rect needs to be invalidated after scrolling
382 frame->selection().setCaretRectNeedsUpdate(); 380 frame->selection().setCaretRectNeedsUpdate();
383 381
384 FloatQuad quadForFakeMouseMoveEvent = FloatQuad(layer()->renderer()->previou sPaintInvalidationRect()); 382 FloatQuad quadForFakeMouseMoveEvent = FloatQuad(layer()->renderer()->previou sPaintInvalidationRect());
385 383
386 quadForFakeMouseMoveEvent = paintInvalidationContainer->localToAbsoluteQuad( quadForFakeMouseMoveEvent); 384 quadForFakeMouseMoveEvent = paintInvalidationContainer->localToAbsoluteQuad( quadForFakeMouseMoveEvent);
387 frame->eventHandler().dispatchFakeMouseMoveEventSoonInQuad(quadForFakeMouseM oveEvent); 385 frame->eventHandler().dispatchFakeMouseMoveEventSoonInQuad(quadForFakeMouseM oveEvent);
388 386
389 bool requiresPaintInvalidation = true; 387 bool requiresPaintInvalidation = true;
390 388
391 if (!box().isMarquee() && box().view()->compositor()->inCompositingMode()) { 389 if (box().view()->compositor()->inCompositingMode()) {
392 // Hits in virtual/gpu/fast/canvas/canvas-scroll-path-into-view.html. 390 // Hits in virtual/gpu/fast/canvas/canvas-scroll-path-into-view.html.
393 DisableCompositingQueryAsserts disabler; 391 DisableCompositingQueryAsserts disabler;
394 bool onlyScrolledCompositedLayers = scrollsOverflow() 392 bool onlyScrolledCompositedLayers = scrollsOverflow()
395 && !layer()->hasVisibleNonLayerContent() 393 && !layer()->hasVisibleNonLayerContent()
396 && !layer()->hasNonCompositedChild() 394 && !layer()->hasNonCompositedChild()
397 && !layer()->hasBlockSelectionGapBounds() 395 && !layer()->hasBlockSelectionGapBounds()
398 && box().style()->backgroundLayers().attachment() != LocalBackground Attachment; 396 && box().style()->backgroundLayers().attachment() != LocalBackground Attachment;
399 397
400 if (usesCompositedScrolling() || onlyScrolledCompositedLayers) 398 if (usesCompositedScrolling() || onlyScrolledCompositedLayers)
401 requiresPaintInvalidation = false; 399 requiresPaintInvalidation = false;
(...skipping 167 matching lines...) Expand 10 before | Expand all | Expand 10 after
569 scrollToOffsetWithoutAnimation(-scrollOrigin() + newScrollOffset); 567 scrollToOffsetWithoutAnimation(-scrollOrigin() + newScrollOffset);
570 } 568 }
571 569
572 void RenderLayerScrollableArea::updateAfterLayout() 570 void RenderLayerScrollableArea::updateAfterLayout()
573 { 571 {
574 m_scrollDimensionsDirty = true; 572 m_scrollDimensionsDirty = true;
575 IntSize originalScrollOffset = adjustedScrollOffset(); 573 IntSize originalScrollOffset = adjustedScrollOffset();
576 574
577 computeScrollDimensions(); 575 computeScrollDimensions();
578 576
579 if (!box().isMarquee()) { 577 // Layout may cause us to be at an invalid scroll position. In this case we need
580 // Layout may cause us to be at an invalid scroll position. In this case we need 578 // to pull our scroll offsets back to the max (or push them up to the min).
581 // to pull our scroll offsets back to the max (or push them up to the mi n). 579 IntSize clampedScrollOffset = clampScrollOffset(adjustedScrollOffset());
582 IntSize clampedScrollOffset = clampScrollOffset(adjustedScrollOffset()); 580 if (clampedScrollOffset != adjustedScrollOffset())
583 if (clampedScrollOffset != adjustedScrollOffset()) 581 scrollToOffset(clampedScrollOffset);
584 scrollToOffset(clampedScrollOffset);
585 }
586 582
587 if (originalScrollOffset != adjustedScrollOffset()) 583 if (originalScrollOffset != adjustedScrollOffset())
588 scrollToOffsetWithoutAnimation(-scrollOrigin() + adjustedScrollOffset()) ; 584 scrollToOffsetWithoutAnimation(-scrollOrigin() + adjustedScrollOffset()) ;
589 585
590 bool hasHorizontalOverflow = this->hasHorizontalOverflow(); 586 bool hasHorizontalOverflow = this->hasHorizontalOverflow();
591 bool hasVerticalOverflow = this->hasVerticalOverflow(); 587 bool hasVerticalOverflow = this->hasVerticalOverflow();
592 588
593 { 589 {
594 // Hits in compositing/overflow/automatically-opt-into-composited-scroll ing-after-style-change.html. 590 // Hits in compositing/overflow/automatically-opt-into-composited-scroll ing-after-style-change.html.
595 DisableCompositingQueryAsserts disabler; 591 DisableCompositingQueryAsserts disabler;
(...skipping 874 matching lines...) Expand 10 before | Expand all | Expand 10 after
1470 void RenderLayerScrollableArea::setTopmostScrollChild(RenderLayer* scrollChild) 1466 void RenderLayerScrollableArea::setTopmostScrollChild(RenderLayer* scrollChild)
1471 { 1467 {
1472 // We only want to track the topmost scroll child for scrollable areas with 1468 // We only want to track the topmost scroll child for scrollable areas with
1473 // overlay scrollbars. 1469 // overlay scrollbars.
1474 if (!hasOverlayScrollbars()) 1470 if (!hasOverlayScrollbars())
1475 return; 1471 return;
1476 m_nextTopmostScrollChild = scrollChild; 1472 m_nextTopmostScrollChild = scrollChild;
1477 } 1473 }
1478 1474
1479 } // namespace blink 1475 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698