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

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

Issue 2701993002: DO NOT COMMIT: Results of running new (proposed) clang-format on Blink (Closed)
Patch Set: Created 3 years, 10 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "core/paint/BackgroundImageGeometry.h" 5 #include "core/paint/BackgroundImageGeometry.h"
6 6
7 #include "core/frame/FrameView.h" 7 #include "core/frame/FrameView.h"
8 #include "core/layout/LayoutBox.h" 8 #include "core/layout/LayoutBox.h"
9 #include "core/layout/LayoutBoxModelObject.h" 9 #include "core/layout/LayoutBoxModelObject.h"
10 #include "core/layout/LayoutTableCell.h" 10 #include "core/layout/LayoutTableCell.h"
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 if (!imageIntrinsicSize.isEmpty()) 115 if (!imageIntrinsicSize.isEmpty())
116 return imageIntrinsicSize; 116 return imageIntrinsicSize;
117 117
118 // If the image has neither an intrinsic width nor an intrinsic height, 118 // If the image has neither an intrinsic width nor an intrinsic height,
119 // its size is determined as for 'contain'. 119 // its size is determined as for 'contain'.
120 type = Contain; 120 type = Contain;
121 } 121 }
122 case Contain: 122 case Contain:
123 case Cover: { 123 case Cover: {
124 float horizontalScaleFactor = 124 float horizontalScaleFactor =
125 imageIntrinsicSize.width() 125 imageIntrinsicSize.width() ? positioningAreaSize.width().toFloat() /
126 ? positioningAreaSize.width().toFloat() / 126 imageIntrinsicSize.width()
127 imageIntrinsicSize.width() 127 : 1.0f;
128 : 1.0f;
129 float verticalScaleFactor = imageIntrinsicSize.height() 128 float verticalScaleFactor = imageIntrinsicSize.height()
130 ? positioningAreaSize.height().toFloat() / 129 ? positioningAreaSize.height().toFloat() /
131 imageIntrinsicSize.height() 130 imageIntrinsicSize.height()
132 : 1.0f; 131 : 1.0f;
133 // Force the dimension that determines the size to exactly match the 132 // Force the dimension that determines the size to exactly match the
134 // positioningAreaSize in that dimension, so that rounding of floating 133 // positioningAreaSize in that dimension, so that rounding of floating
135 // point approximation to LayoutUnit do not shrink the image to smaller 134 // point approximation to LayoutUnit do not shrink the image to smaller
136 // than the positioningAreaSize. 135 // than the positioningAreaSize.
137 if (type == Contain) { 136 if (type == Contain) {
138 if (horizontalScaleFactor < verticalScaleFactor) 137 if (horizontalScaleFactor < verticalScaleFactor)
139 return LayoutSize( 138 return LayoutSize(
140 positioningAreaSize.width(), 139 positioningAreaSize.width(),
141 LayoutUnit(std::max( 140 LayoutUnit(std::max(
142 1.0f, imageIntrinsicSize.height() * horizontalScaleFactor))); 141 1.0f, imageIntrinsicSize.height() * horizontalScaleFactor)));
143 return LayoutSize(LayoutUnit(std::max(1.0f, imageIntrinsicSize.width() * 142 return LayoutSize(
144 verticalScaleFactor)), 143 LayoutUnit(std::max(
145 positioningAreaSize.height()); 144 1.0f, imageIntrinsicSize.width() * verticalScaleFactor)),
145 positioningAreaSize.height());
146 } 146 }
147 if (horizontalScaleFactor > verticalScaleFactor) 147 if (horizontalScaleFactor > verticalScaleFactor)
148 return LayoutSize( 148 return LayoutSize(
149 positioningAreaSize.width(), 149 positioningAreaSize.width(),
150 LayoutUnit(std::max( 150 LayoutUnit(std::max(
151 1.0f, imageIntrinsicSize.height() * horizontalScaleFactor))); 151 1.0f, imageIntrinsicSize.height() * horizontalScaleFactor)));
152 return LayoutSize(LayoutUnit(std::max(1.0f, imageIntrinsicSize.width() * 152 return LayoutSize(
153 verticalScaleFactor)), 153 LayoutUnit(
154 positioningAreaSize.height()); 154 std::max(1.0f, imageIntrinsicSize.width() * verticalScaleFactor)),
155 positioningAreaSize.height());
155 } 156 }
156 } 157 }
157 158
158 NOTREACHED(); 159 NOTREACHED();
159 return LayoutSize(); 160 return LayoutSize();
160 } 161 }
161 162
162 IntPoint accumulatedScrollOffsetForFixedBackground( 163 IntPoint accumulatedScrollOffsetForFixedBackground(
163 const LayoutBoxModelObject& object, 164 const LayoutBoxModelObject& object,
164 const LayoutBoxModelObject* container) { 165 const LayoutBoxModelObject* container) {
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
351 return cell.location() - borderSpacing; 352 return cell.location() - borderSpacing;
352 if (positioningBox.isTableRow()) { 353 if (positioningBox.isTableRow()) {
353 return LayoutPoint(cell.location().x(), LayoutUnit()) - 354 return LayoutPoint(cell.location().x(), LayoutUnit()) -
354 LayoutSize(borderSpacing.width(), LayoutUnit()); 355 LayoutSize(borderSpacing.width(), LayoutUnit());
355 } 356 }
356 357
357 LayoutRect sectionsRect(LayoutPoint(), cell.table()->size()); 358 LayoutRect sectionsRect(LayoutPoint(), cell.table()->size());
358 cell.table()->subtractCaptionRect(sectionsRect); 359 cell.table()->subtractCaptionRect(sectionsRect);
359 LayoutUnit heightOfCaptions = 360 LayoutUnit heightOfCaptions =
360 cell.table()->size().height() - sectionsRect.height(); 361 cell.table()->size().height() - sectionsRect.height();
361 LayoutPoint offsetInBackground = LayoutPoint( 362 LayoutPoint offsetInBackground =
362 LayoutUnit(), (cell.section()->location().y() - 363 LayoutPoint(LayoutUnit(),
363 cell.table()->borderBefore() - heightOfCaptions) + 364 (cell.section()->location().y() -
364 cell.location().y()); 365 cell.table()->borderBefore() - heightOfCaptions) +
366 cell.location().y());
365 367
366 DCHECK(positioningBox.isLayoutTableCol()); 368 DCHECK(positioningBox.isLayoutTableCol());
367 if (toLayoutTableCol(positioningBox).isTableColumn()) { 369 if (toLayoutTableCol(positioningBox).isTableColumn()) {
368 return offsetInBackground - 370 return offsetInBackground -
369 LayoutSize(LayoutUnit(), borderSpacing.height()); 371 LayoutSize(LayoutUnit(), borderSpacing.height());
370 } 372 }
371 373
372 DCHECK(toLayoutTableCol(positioningBox).isTableColumnGroup()); 374 DCHECK(toLayoutTableCol(positioningBox).isTableColumnGroup());
373 LayoutUnit offset = offsetInBackground.x(); 375 LayoutUnit offset = offsetInBackground.x();
374 expandToTableColumnGroup(cell, toLayoutTableCol(positioningBox), offset, 376 expandToTableColumnGroup(cell, toLayoutTableCol(positioningBox), offset,
(...skipping 264 matching lines...) Expand 10 before | Expand all | Expand 10 after
639 useFixedAttachment(paintRect.location()); 641 useFixedAttachment(paintRect.location());
640 642
641 // Clip the final output rect to the paint rect 643 // Clip the final output rect to the paint rect
642 m_destRect.intersect(paintRect); 644 m_destRect.intersect(paintRect);
643 645
644 // Snap as-yet unsnapped values. 646 // Snap as-yet unsnapped values.
645 setDestRect(LayoutRect(pixelSnappedIntRect(m_destRect))); 647 setDestRect(LayoutRect(pixelSnappedIntRect(m_destRect)));
646 } 648 }
647 649
648 } // namespace blink 650 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698