| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Antti Koivisto (koivisto@kde.org) | 2 * Copyright (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights | 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights |
| 4 * reserved. | 4 * reserved. |
| 5 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. | 5 * Copyright (C) 2011 Adobe Systems Incorporated. All rights reserved. |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 991 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1002 *other.rare_non_inherited_data_.Get())) | 1002 *other.rare_non_inherited_data_.Get())) |
| 1003 diff.SetFilterChanged(); | 1003 diff.SetFilterChanged(); |
| 1004 } | 1004 } |
| 1005 | 1005 |
| 1006 if (rare_non_inherited_data_.Get() != other.rare_non_inherited_data_.Get()) { | 1006 if (rare_non_inherited_data_.Get() != other.rare_non_inherited_data_.Get()) { |
| 1007 if (!rare_non_inherited_data_->outline_.VisuallyEqual( | 1007 if (!rare_non_inherited_data_->outline_.VisuallyEqual( |
| 1008 other.rare_non_inherited_data_->outline_)) | 1008 other.rare_non_inherited_data_->outline_)) |
| 1009 diff.SetNeedsRecomputeOverflow(); | 1009 diff.SetNeedsRecomputeOverflow(); |
| 1010 } | 1010 } |
| 1011 | 1011 |
| 1012 if (!Border().VisualOverflowEqual(other.Border())) | 1012 if (!BorderVisualOverflowEqual(other)) |
| 1013 diff.SetNeedsRecomputeOverflow(); | 1013 diff.SetNeedsRecomputeOverflow(); |
| 1014 | 1014 |
| 1015 if (!diff.NeedsFullPaintInvalidation()) { | 1015 if (!diff.NeedsFullPaintInvalidation()) { |
| 1016 if (inherited_data_->color_ != other.inherited_data_->color_ || | 1016 if (inherited_data_->color_ != other.inherited_data_->color_ || |
| 1017 inherited_data_->visited_link_color_ != | 1017 inherited_data_->visited_link_color_ != |
| 1018 other.inherited_data_->visited_link_color_ || | 1018 other.inherited_data_->visited_link_color_ || |
| 1019 HasSimpleUnderlineInternal() != other.HasSimpleUnderlineInternal() || | 1019 HasSimpleUnderlineInternal() != other.HasSimpleUnderlineInternal() || |
| 1020 visual_data_->text_decoration_ != | 1020 visual_data_->text_decoration_ != |
| 1021 other.visual_data_->text_decoration_) { | 1021 other.visual_data_->text_decoration_) { |
| 1022 diff.SetTextDecorationOrColorChanged(); | 1022 diff.SetTextDecorationOrColorChanged(); |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1371 } | 1371 } |
| 1372 | 1372 |
| 1373 bool ComputedStyle::TextShadowDataEquivalent(const ComputedStyle& other) const { | 1373 bool ComputedStyle::TextShadowDataEquivalent(const ComputedStyle& other) const { |
| 1374 return DataEquivalent(TextShadow(), other.TextShadow()); | 1374 return DataEquivalent(TextShadow(), other.TextShadow()); |
| 1375 } | 1375 } |
| 1376 | 1376 |
| 1377 void ComputedStyle::SetBoxShadow(RefPtr<ShadowList> s) { | 1377 void ComputedStyle::SetBoxShadow(RefPtr<ShadowList> s) { |
| 1378 rare_non_inherited_data_.Access()->box_shadow_ = std::move(s); | 1378 rare_non_inherited_data_.Access()->box_shadow_ = std::move(s); |
| 1379 } | 1379 } |
| 1380 | 1380 |
| 1381 static FloatRoundedRect::Radii CalcRadiiFor(const BorderData& border, | 1381 static FloatRoundedRect::Radii CalcRadiiFor(const LengthSize& top_left, |
| 1382 const LengthSize& top_left, | |
| 1383 const LengthSize& top_right, | 1382 const LengthSize& top_right, |
| 1384 const LengthSize& bottom_left, | 1383 const LengthSize& bottom_left, |
| 1385 const LengthSize& bottom_right, | 1384 const LengthSize& bottom_right, |
| 1386 LayoutSize size) { | 1385 LayoutSize size) { |
| 1387 return FloatRoundedRect::Radii( | 1386 return FloatRoundedRect::Radii( |
| 1388 FloatSize( | 1387 FloatSize( |
| 1389 FloatValueForLength(top_left.Width(), size.Width().ToFloat()), | 1388 FloatValueForLength(top_left.Width(), size.Width().ToFloat()), |
| 1390 FloatValueForLength(top_left.Height(), size.Height().ToFloat())), | 1389 FloatValueForLength(top_left.Height(), size.Height().ToFloat())), |
| 1391 FloatSize( | 1390 FloatSize( |
| 1392 FloatValueForLength(top_right.Width(), size.Width().ToFloat()), | 1391 FloatValueForLength(top_right.Width(), size.Width().ToFloat()), |
| (...skipping 20 matching lines...) Expand all Loading... |
| 1413 void ComputedStyle::SetColor(const Color& v) { | 1412 void ComputedStyle::SetColor(const Color& v) { |
| 1414 SET_VAR(inherited_data_, color_, v); | 1413 SET_VAR(inherited_data_, color_, v); |
| 1415 } | 1414 } |
| 1416 | 1415 |
| 1417 FloatRoundedRect ComputedStyle::GetRoundedBorderFor( | 1416 FloatRoundedRect ComputedStyle::GetRoundedBorderFor( |
| 1418 const LayoutRect& border_rect, | 1417 const LayoutRect& border_rect, |
| 1419 bool include_logical_left_edge, | 1418 bool include_logical_left_edge, |
| 1420 bool include_logical_right_edge) const { | 1419 bool include_logical_right_edge) const { |
| 1421 FloatRoundedRect rounded_rect(PixelSnappedIntRect(border_rect)); | 1420 FloatRoundedRect rounded_rect(PixelSnappedIntRect(border_rect)); |
| 1422 if (HasBorderRadius()) { | 1421 if (HasBorderRadius()) { |
| 1423 FloatRoundedRect::Radii radii = | 1422 FloatRoundedRect::Radii radii = CalcRadiiFor( |
| 1424 CalcRadiiFor(Border(), BorderTopLeftRadius(), BorderTopRightRadius(), | 1423 BorderTopLeftRadius(), BorderTopRightRadius(), BorderBottomLeftRadius(), |
| 1425 BorderBottomLeftRadius(), BorderBottomRightRadius(), | 1424 BorderBottomRightRadius(), border_rect.Size()); |
| 1426 border_rect.Size()); | |
| 1427 rounded_rect.IncludeLogicalEdges(radii, IsHorizontalWritingMode(), | 1425 rounded_rect.IncludeLogicalEdges(radii, IsHorizontalWritingMode(), |
| 1428 include_logical_left_edge, | 1426 include_logical_left_edge, |
| 1429 include_logical_right_edge); | 1427 include_logical_right_edge); |
| 1430 rounded_rect.ConstrainRadii(); | 1428 rounded_rect.ConstrainRadii(); |
| 1431 } | 1429 } |
| 1432 return rounded_rect; | 1430 return rounded_rect; |
| 1433 } | 1431 } |
| 1434 | 1432 |
| 1435 FloatRoundedRect ComputedStyle::GetRoundedInnerBorderFor( | 1433 FloatRoundedRect ComputedStyle::GetRoundedInnerBorderFor( |
| 1436 const LayoutRect& border_rect, | 1434 const LayoutRect& border_rect, |
| (...skipping 925 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2362 const NinePieceImage& image) const { | 2360 const NinePieceImage& image) const { |
| 2363 return LayoutRectOutsets( | 2361 return LayoutRectOutsets( |
| 2364 NinePieceImage::ComputeOutset(image.Outset().Top(), BorderTopWidth()), | 2362 NinePieceImage::ComputeOutset(image.Outset().Top(), BorderTopWidth()), |
| 2365 NinePieceImage::ComputeOutset(image.Outset().Right(), BorderRightWidth()), | 2363 NinePieceImage::ComputeOutset(image.Outset().Right(), BorderRightWidth()), |
| 2366 NinePieceImage::ComputeOutset(image.Outset().Bottom(), | 2364 NinePieceImage::ComputeOutset(image.Outset().Bottom(), |
| 2367 BorderBottomWidth()), | 2365 BorderBottomWidth()), |
| 2368 NinePieceImage::ComputeOutset(image.Outset().Left(), BorderLeftWidth())); | 2366 NinePieceImage::ComputeOutset(image.Outset().Left(), BorderLeftWidth())); |
| 2369 } | 2367 } |
| 2370 | 2368 |
| 2371 void ComputedStyle::SetBorderImageSource(StyleImage* image) { | 2369 void ComputedStyle::SetBorderImageSource(StyleImage* image) { |
| 2372 if (Border().image_.GetImage() == image) | 2370 if (BorderImage().GetImage() == image) |
| 2373 return; | 2371 return; |
| 2374 surround_data_.Access()->border_.image_.SetImage(image); | 2372 MutableBorderImageInternal().SetImage(image); |
| 2375 } | 2373 } |
| 2376 | 2374 |
| 2377 void ComputedStyle::SetBorderImageSlices(const LengthBox& slices) { | 2375 void ComputedStyle::SetBorderImageSlices(const LengthBox& slices) { |
| 2378 if (Border().image_.ImageSlices() == slices) | 2376 if (BorderImage().ImageSlices() == slices) |
| 2379 return; | 2377 return; |
| 2380 surround_data_.Access()->border_.image_.SetImageSlices(slices); | 2378 MutableBorderImageInternal().SetImageSlices(slices); |
| 2381 } | 2379 } |
| 2382 | 2380 |
| 2383 void ComputedStyle::SetBorderImageSlicesFill(bool fill) { | 2381 void ComputedStyle::SetBorderImageSlicesFill(bool fill) { |
| 2384 if (Border().image_.Fill() == fill) | 2382 if (BorderImage().Fill() == fill) |
| 2385 return; | 2383 return; |
| 2386 surround_data_.Access()->border_.image_.SetFill(fill); | 2384 MutableBorderImageInternal().SetFill(fill); |
| 2387 } | 2385 } |
| 2388 | 2386 |
| 2389 void ComputedStyle::SetBorderImageWidth(const BorderImageLengthBox& slices) { | 2387 void ComputedStyle::SetBorderImageWidth(const BorderImageLengthBox& slices) { |
| 2390 if (Border().image_.BorderSlices() == slices) | 2388 if (BorderImage().BorderSlices() == slices) |
| 2391 return; | 2389 return; |
| 2392 surround_data_.Access()->border_.image_.SetBorderSlices(slices); | 2390 MutableBorderImageInternal().SetBorderSlices(slices); |
| 2393 } | 2391 } |
| 2394 | 2392 |
| 2395 void ComputedStyle::SetBorderImageOutset(const BorderImageLengthBox& outset) { | 2393 void ComputedStyle::SetBorderImageOutset(const BorderImageLengthBox& outset) { |
| 2396 if (Border().image_.Outset() == outset) | 2394 if (BorderImage().Outset() == outset) |
| 2397 return; | 2395 return; |
| 2398 surround_data_.Access()->border_.image_.SetOutset(outset); | 2396 MutableBorderImageInternal().SetOutset(outset); |
| 2399 } | 2397 } |
| 2400 | 2398 |
| 2401 bool ComputedStyle::BorderObscuresBackground() const { | 2399 bool ComputedStyle::BorderObscuresBackground() const { |
| 2402 if (!HasBorder()) | 2400 if (!HasBorder()) |
| 2403 return false; | 2401 return false; |
| 2404 | 2402 |
| 2405 // Bail if we have any border-image for now. We could look at the image alpha | 2403 // Bail if we have any border-image for now. We could look at the image alpha |
| 2406 // to improve this. | 2404 // to improve this. |
| 2407 if (BorderImage().GetImage()) | 2405 if (BorderImage().GetImage()) |
| 2408 return false; | 2406 return false; |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2482 if (value < 0) | 2480 if (value < 0) |
| 2483 fvalue -= 0.5f; | 2481 fvalue -= 0.5f; |
| 2484 else | 2482 else |
| 2485 fvalue += 0.5f; | 2483 fvalue += 0.5f; |
| 2486 } | 2484 } |
| 2487 | 2485 |
| 2488 return RoundForImpreciseConversion<int>(fvalue / zoom_factor); | 2486 return RoundForImpreciseConversion<int>(fvalue / zoom_factor); |
| 2489 } | 2487 } |
| 2490 | 2488 |
| 2491 } // namespace blink | 2489 } // namespace blink |
| OLD | NEW |