| OLD | NEW |
| 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@web.de> | 10 * Christian Biesinger <cbiesinger@web.de> |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 72 static void applyClipRects(const ClipRectsContext& context, | 72 static void applyClipRects(const ClipRectsContext& context, |
| 73 const LayoutBoxModelObject& layoutObject, | 73 const LayoutBoxModelObject& layoutObject, |
| 74 LayoutPoint offset, | 74 LayoutPoint offset, |
| 75 ClipRects& clipRects) { | 75 ClipRects& clipRects) { |
| 76 DCHECK(layoutObject.hasClipRelatedProperty() || | 76 DCHECK(layoutObject.hasClipRelatedProperty() || |
| 77 (layoutObject.isSVGRoot() && | 77 (layoutObject.isSVGRoot() && |
| 78 toLayoutSVGRoot(&layoutObject)->shouldApplyViewportClip())); | 78 toLayoutSVGRoot(&layoutObject)->shouldApplyViewportClip())); |
| 79 LayoutView* view = layoutObject.view(); | 79 LayoutView* view = layoutObject.view(); |
| 80 DCHECK(view); | 80 DCHECK(view); |
| 81 if (clipRects.fixed() && context.rootLayer->layoutObject() == view) | 81 if (clipRects.fixed() && context.rootLayer->layoutObject() == view) |
| 82 offset -= toIntSize(view->frameView()->scrollPosition()); | 82 offset -= LayoutSize(view->frameView()->scrollOffset()); |
| 83 if (layoutObject.hasOverflowClip() || | 83 if (layoutObject.hasOverflowClip() || |
| 84 (layoutObject.isSVGRoot() && | 84 (layoutObject.isSVGRoot() && |
| 85 toLayoutSVGRoot(&layoutObject)->shouldApplyViewportClip()) || | 85 toLayoutSVGRoot(&layoutObject)->shouldApplyViewportClip()) || |
| 86 (layoutObject.styleRef().containsPaint() && layoutObject.isBox())) { | 86 (layoutObject.styleRef().containsPaint() && layoutObject.isBox())) { |
| 87 ClipRect newOverflowClip = | 87 ClipRect newOverflowClip = |
| 88 toLayoutBox(layoutObject) | 88 toLayoutBox(layoutObject) |
| 89 .overflowClipRect(offset, context.overlayScrollbarClipBehavior); | 89 .overflowClipRect(offset, context.overlayScrollbarClipBehavior); |
| 90 newOverflowClip.setHasRadius(layoutObject.styleRef().hasBorderRadius()); | 90 newOverflowClip.setHasRadius(layoutObject.styleRef().hasBorderRadius()); |
| 91 clipRects.setOverflowClipRect( | 91 clipRects.setOverflowClipRect( |
| 92 intersection(newOverflowClip, clipRects.overflowClipRect())); | 92 intersection(newOverflowClip, clipRects.overflowClipRect())); |
| (...skipping 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 341 *parentClipRects); | 341 *parentClipRects); |
| 342 | 342 |
| 343 ClipRect result = backgroundClipRectForPosition( | 343 ClipRect result = backgroundClipRectForPosition( |
| 344 *parentClipRects, m_layer.layoutObject()->styleRef().position()); | 344 *parentClipRects, m_layer.layoutObject()->styleRef().position()); |
| 345 | 345 |
| 346 // Note: infinite clipRects should not be scrolled here, otherwise they will | 346 // Note: infinite clipRects should not be scrolled here, otherwise they will |
| 347 // accidentally no longer be considered infinite. | 347 // accidentally no longer be considered infinite. |
| 348 if (parentClipRects->fixed() && | 348 if (parentClipRects->fixed() && |
| 349 context.rootLayer->layoutObject() == layoutView && | 349 context.rootLayer->layoutObject() == layoutView && |
| 350 result != LayoutRect(LayoutRect::infiniteIntRect())) | 350 result != LayoutRect(LayoutRect::infiniteIntRect())) |
| 351 result.move(toIntSize(layoutView->frameView()->scrollPosition())); | 351 result.move(LayoutSize(layoutView->frameView()->scrollOffset())); |
| 352 | 352 |
| 353 return result; | 353 return result; |
| 354 } | 354 } |
| 355 | 355 |
| 356 void PaintLayerClipper::getOrCalculateClipRects(const ClipRectsContext& context, | 356 void PaintLayerClipper::getOrCalculateClipRects(const ClipRectsContext& context, |
| 357 ClipRects& clipRects) const { | 357 ClipRects& clipRects) const { |
| 358 if (context.usesCache()) | 358 if (context.usesCache()) |
| 359 clipRects = getClipRects(context); | 359 clipRects = getClipRects(context); |
| 360 else | 360 else |
| 361 calculateClipRects(context, clipRects); | 361 calculateClipRects(context, clipRects); |
| (...skipping 19 matching lines...) Expand all Loading... |
| 381 ShouldRespectOverflowClipType respectOverflowClip, | 381 ShouldRespectOverflowClipType respectOverflowClip, |
| 382 const LayoutSize& subpixelAccumulation) const { | 382 const LayoutSize& subpixelAccumulation) const { |
| 383 ClipRectsContext context(rootLayer, PaintingClipRects, | 383 ClipRectsContext context(rootLayer, PaintingClipRects, |
| 384 IgnoreOverlayScrollbarSize, subpixelAccumulation); | 384 IgnoreOverlayScrollbarSize, subpixelAccumulation); |
| 385 if (respectOverflowClip == IgnoreOverflowClip) | 385 if (respectOverflowClip == IgnoreOverflowClip) |
| 386 context.setIgnoreOverflowClip(); | 386 context.setIgnoreOverflowClip(); |
| 387 return getClipRects(context); | 387 return getClipRects(context); |
| 388 } | 388 } |
| 389 | 389 |
| 390 } // namespace blink | 390 } // namespace blink |
| OLD | NEW |