Index: third_party/WebKit/Source/core/paint/BoxBorderPainter.cpp |
diff --git a/third_party/WebKit/Source/core/paint/BoxBorderPainter.cpp b/third_party/WebKit/Source/core/paint/BoxBorderPainter.cpp |
index d5b98c13cb75e2580d273624f42c2ebae39ab0dd..13952d5c53513e6f4fd3f0e8c557a6950f89a5ec 100644 |
--- a/third_party/WebKit/Source/core/paint/BoxBorderPainter.cpp |
+++ b/third_party/WebKit/Source/core/paint/BoxBorderPainter.cpp |
@@ -45,21 +45,21 @@ inline bool IncludesAdjacentEdges(BorderEdgeFlags flags) { |
inline bool StyleRequiresClipPolygon(EBorderStyle style) { |
// These are drawn with a stroke, so we have to clip to get corner miters. |
- return style == kBorderStyleDotted || style == kBorderStyleDashed; |
+ return style == EBorderStyle::kDotted || style == EBorderStyle::kDashed; |
} |
inline bool BorderStyleFillsBorderArea(EBorderStyle style) { |
- return !(style == kBorderStyleDotted || style == kBorderStyleDashed || |
- style == kBorderStyleDouble); |
+ return !(style == EBorderStyle::kDotted || style == EBorderStyle::kDashed || |
+ style == EBorderStyle::kDouble); |
} |
inline bool BorderStyleHasInnerDetail(EBorderStyle style) { |
- return style == kBorderStyleGroove || style == kBorderStyleRidge || |
- style == kBorderStyleDouble; |
+ return style == EBorderStyle::kGroove || style == EBorderStyle::kRidge || |
+ style == EBorderStyle::kDouble; |
} |
inline bool BorderStyleIsDottedOrDashed(EBorderStyle style) { |
- return style == kBorderStyleDotted || style == kBorderStyleDashed; |
+ return style == EBorderStyle::kDotted || style == EBorderStyle::kDashed; |
} |
// BorderStyleOutset darkens the bottom and right (and maybe lightens the top |
@@ -69,8 +69,8 @@ inline bool BorderStyleHasUnmatchedColorsAtCorner(EBorderStyle style, |
BoxSide side, |
BoxSide adjacent_side) { |
// These styles match at the top/left and bottom/right. |
- if (style == kBorderStyleInset || style == kBorderStyleGroove || |
- style == kBorderStyleRidge || style == kBorderStyleOutset) { |
+ if (style == EBorderStyle::kInset || style == EBorderStyle::kGroove || |
+ style == EBorderStyle::kRidge || style == EBorderStyle::kOutset) { |
const BorderEdgeFlags top_right_flags = |
EdgeFlagForSide(kBSTop) | EdgeFlagForSide(kBSRight); |
const BorderEdgeFlags bottom_left_flags = |
@@ -118,9 +118,10 @@ inline bool BorderStylesRequireMiter(BoxSide side, |
BoxSide adjacent_side, |
EBorderStyle style, |
EBorderStyle adjacent_style) { |
- if (style == kBorderStyleDouble || adjacent_style == kBorderStyleDouble || |
- adjacent_style == kBorderStyleGroove || |
- adjacent_style == kBorderStyleRidge) |
+ if (style == EBorderStyle::kDouble || |
+ adjacent_style == EBorderStyle::kDouble || |
+ adjacent_style == EBorderStyle::kGroove || |
+ adjacent_style == EBorderStyle::kRidge) |
return true; |
if (BorderStyleIsDottedOrDashed(style) != |
@@ -335,16 +336,26 @@ void DrawBleedAdjustedDRRect(GraphicsContext& context, |
} |
// The LUTs below assume specific enum values. |
-static_assert(kBorderStyleNone == 0, "unexpected EBorderStyle value"); |
-static_assert(kBorderStyleHidden == 1, "unexpected EBorderStyle value"); |
-static_assert(kBorderStyleInset == 2, "unexpected EBorderStyle value"); |
-static_assert(kBorderStyleGroove == 3, "unexpected EBorderStyle value"); |
-static_assert(kBorderStyleOutset == 4, "unexpected EBorderStyle value"); |
-static_assert(kBorderStyleRidge == 5, "unexpected EBorderStyle value"); |
-static_assert(kBorderStyleDotted == 6, "unexpected EBorderStyle value"); |
-static_assert(kBorderStyleDashed == 7, "unexpected EBorderStyle value"); |
-static_assert(kBorderStyleSolid == 8, "unexpected EBorderStyle value"); |
-static_assert(kBorderStyleDouble == 9, "unexpected EBorderStyle value"); |
+static_assert(EBorderStyle::kNone == static_cast<EBorderStyle>(0), |
+ "unexpected EBorderStyle value"); |
+static_assert(EBorderStyle::kHidden == static_cast<EBorderStyle>(1), |
+ "unexpected EBorderStyle value"); |
+static_assert(EBorderStyle::kInset == static_cast<EBorderStyle>(2), |
+ "unexpected EBorderStyle value"); |
+static_assert(EBorderStyle::kGroove == static_cast<EBorderStyle>(3), |
+ "unexpected EBorderStyle value"); |
+static_assert(EBorderStyle::kOutset == static_cast<EBorderStyle>(4), |
+ "unexpected EBorderStyle value"); |
+static_assert(EBorderStyle::kRidge == static_cast<EBorderStyle>(5), |
+ "unexpected EBorderStyle value"); |
+static_assert(EBorderStyle::kDotted == static_cast<EBorderStyle>(6), |
+ "unexpected EBorderStyle value"); |
+static_assert(EBorderStyle::kDashed == static_cast<EBorderStyle>(7), |
+ "unexpected EBorderStyle value"); |
+static_assert(EBorderStyle::kSolid == static_cast<EBorderStyle>(8), |
+ "unexpected EBorderStyle value"); |
+static_assert(EBorderStyle::kDouble == static_cast<EBorderStyle>(9), |
+ "unexpected EBorderStyle value"); |
static_assert(kBSTop == 0, "unexpected BoxSide value"); |
static_assert(kBSRight == 1, "unexpected BoxSide value"); |
@@ -423,9 +434,9 @@ struct BoxBorderPainter::ComplexBorderInfo { |
return alpha_a < alpha_b; |
const unsigned style_priority_a = |
- kStylePriority[edge_a.BorderStyle()]; |
+ kStylePriority[static_cast<unsigned>(edge_a.BorderStyle())]; |
const unsigned style_priority_b = |
- kStylePriority[edge_b.BorderStyle()]; |
+ kStylePriority[static_cast<unsigned>(edge_b.BorderStyle())]; |
if (style_priority_a != style_priority_b) |
return style_priority_a < style_priority_b; |
@@ -475,7 +486,7 @@ void BoxBorderPainter::DrawDoubleBorder(GraphicsContext& context, |
const LayoutRect& border_rect) const { |
DCHECK(is_uniform_color_); |
DCHECK(is_uniform_style_); |
- DCHECK(FirstEdge().BorderStyle() == kBorderStyleDouble); |
+ DCHECK(FirstEdge().BorderStyle() == EBorderStyle::kDouble); |
DCHECK(visible_edge_set_ == kAllBorderEdges); |
const Color color = FirstEdge().color; |
@@ -504,12 +515,12 @@ bool BoxBorderPainter::PaintBorderFastPath( |
if (!is_uniform_color_ || !is_uniform_style_ || !inner_.IsRenderable()) |
return false; |
- if (FirstEdge().BorderStyle() != kBorderStyleSolid && |
- FirstEdge().BorderStyle() != kBorderStyleDouble) |
+ if (FirstEdge().BorderStyle() != EBorderStyle::kSolid && |
+ FirstEdge().BorderStyle() != EBorderStyle::kDouble) |
return false; |
if (visible_edge_set_ == kAllBorderEdges) { |
- if (FirstEdge().BorderStyle() == kBorderStyleSolid) { |
+ if (FirstEdge().BorderStyle() == EBorderStyle::kSolid) { |
if (is_uniform_width_ && !outer_.IsRounded()) { |
// 4-side, solid, uniform-width, rectangular border => one drawRect() |
DrawSolidBorderRect(context, outer_.Rect(), FirstEdge().Width(), |
@@ -521,7 +532,7 @@ bool BoxBorderPainter::PaintBorderFastPath( |
} |
} else { |
// 4-side, double border => 2x drawDRRect() |
- DCHECK(FirstEdge().BorderStyle() == kBorderStyleDouble); |
+ DCHECK(FirstEdge().BorderStyle() == EBorderStyle::kDouble); |
DrawDoubleBorder(context, border_rect); |
} |
@@ -530,8 +541,8 @@ bool BoxBorderPainter::PaintBorderFastPath( |
// This is faster than the normal complex border path only if it avoids |
// creating transparency layers (when the border is translucent). |
- if (FirstEdge().BorderStyle() == kBorderStyleSolid && !outer_.IsRounded() && |
- has_alpha_) { |
+ if (FirstEdge().BorderStyle() == EBorderStyle::kSolid && |
+ !outer_.IsRounded() && has_alpha_) { |
DCHECK(visible_edge_set_ != kAllBorderEdges); |
// solid, rectangular border => one drawPath() |
Path path; |
@@ -965,36 +976,36 @@ void BoxBorderPainter::DrawBoxSideFromPath(GraphicsContext& graphics_context, |
if (thickness <= 0) |
return; |
- if (border_style == kBorderStyleDouble && thickness < 3) |
- border_style = kBorderStyleSolid; |
+ if (border_style == EBorderStyle::kDouble && thickness < 3) |
+ border_style = EBorderStyle::kSolid; |
switch (border_style) { |
- case kBorderStyleNone: |
- case kBorderStyleHidden: |
+ case EBorderStyle::kNone: |
+ case EBorderStyle::kHidden: |
return; |
- case kBorderStyleDotted: |
- case kBorderStyleDashed: { |
+ case EBorderStyle::kDotted: |
+ case EBorderStyle::kDashed: { |
DrawDashedDottedBoxSideFromPath(graphics_context, border_rect, thickness, |
draw_thickness, color, border_style); |
return; |
} |
- case kBorderStyleDouble: { |
+ case EBorderStyle::kDouble: { |
DrawDoubleBoxSideFromPath(graphics_context, border_rect, border_path, |
thickness, draw_thickness, side, color); |
return; |
} |
- case kBorderStyleRidge: |
- case kBorderStyleGroove: { |
+ case EBorderStyle::kRidge: |
+ case EBorderStyle::kGroove: { |
DrawRidgeGrooveBoxSideFromPath(graphics_context, border_rect, border_path, |
thickness, draw_thickness, side, color, |
border_style); |
return; |
} |
- case kBorderStyleInset: |
+ case EBorderStyle::kInset: |
if (side == kBSTop || side == kBSLeft) |
color = color.Dark(); |
break; |
- case kBorderStyleOutset: |
+ case EBorderStyle::kOutset: |
if (side == kBSBottom || side == kBSRight) |
color = color.Dark(); |
break; |
@@ -1025,9 +1036,9 @@ void BoxBorderPainter::DrawDashedDottedBoxSideFromPath( |
graphics_context.SetStrokeColor(color); |
- if (!StrokeData::StrokeIsDashed(thickness, border_style == kBorderStyleDashed |
- ? kDashedStroke |
- : kDottedStroke)) { |
+ if (!StrokeData::StrokeIsDashed( |
+ thickness, border_style == EBorderStyle::kDashed ? kDashedStroke |
+ : kDottedStroke)) { |
DrawWideDottedBoxSideFromPath(graphics_context, centerline_path, thickness); |
return; |
} |
@@ -1036,7 +1047,7 @@ void BoxBorderPainter::DrawDashedDottedBoxSideFromPath( |
// the edges to prevent jaggies. |
graphics_context.SetStrokeThickness(draw_thickness * 1.1f); |
graphics_context.SetStrokeStyle( |
- border_style == kBorderStyleDashed ? kDashedStroke : kDottedStroke); |
+ border_style == EBorderStyle::kDashed ? kDashedStroke : kDottedStroke); |
// TODO(schenney): This code for setting up the dash effect is trying to |
// do the same thing as StrokeData::setupPaintDashPathEffect and should be |
@@ -1044,7 +1055,7 @@ void BoxBorderPainter::DrawDashedDottedBoxSideFromPath( |
// GraphicsContext::strokePath to take a length parameter. |
float dash_length = draw_thickness; |
float gap_length = dash_length; |
- if (border_style == kBorderStyleDashed) { |
+ if (border_style == EBorderStyle::kDashed) { |
dash_length *= StrokeData::DashLengthRatio(draw_thickness); |
gap_length *= StrokeData::DashGapRatio(draw_thickness); |
} |
@@ -1053,7 +1064,7 @@ void BoxBorderPainter::DrawDashedDottedBoxSideFromPath( |
// TODO(schenney): should do this test per side. |
if (path_length >= 2 * dash_length + gap_length) { |
float gap = gap_length; |
- if (border_style == kBorderStyleDashed) |
+ if (border_style == EBorderStyle::kDashed) |
gap = StrokeData::SelectBestDashGap(path_length, dash_length, gap_length); |
DashArray line_dash; |
line_dash.push_back(dash_length); |
@@ -1131,7 +1142,7 @@ void BoxBorderPainter::DrawDoubleBoxSideFromPath( |
graphics_context.ClipRoundedRect(inner_clip); |
DrawBoxSideFromPath(graphics_context, border_rect, border_path, thickness, |
- draw_thickness, side, color, kBorderStyleSolid); |
+ draw_thickness, side, color, EBorderStyle::kSolid); |
} |
// Draw outer border line |
@@ -1154,7 +1165,7 @@ void BoxBorderPainter::DrawDoubleBoxSideFromPath( |
include_logical_right_edge_); |
graphics_context.ClipOutRoundedRect(outer_clip); |
DrawBoxSideFromPath(graphics_context, border_rect, border_path, thickness, |
- draw_thickness, side, color, kBorderStyleSolid); |
+ draw_thickness, side, color, EBorderStyle::kSolid); |
} |
} |
@@ -1169,12 +1180,12 @@ void BoxBorderPainter::DrawRidgeGrooveBoxSideFromPath( |
EBorderStyle border_style) const { |
EBorderStyle s1; |
EBorderStyle s2; |
- if (border_style == kBorderStyleGroove) { |
- s1 = kBorderStyleInset; |
- s2 = kBorderStyleOutset; |
+ if (border_style == EBorderStyle::kGroove) { |
+ s1 = EBorderStyle::kInset; |
+ s2 = EBorderStyle::kOutset; |
} else { |
- s1 = kBorderStyleOutset; |
- s2 = kBorderStyleInset; |
+ s1 = EBorderStyle::kOutset; |
+ s2 = EBorderStyle::kInset; |
} |
// Paint full border |