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

Unified Diff: third_party/WebKit/Source/core/style/CachedUAStyle.h

Issue 2869043002: Store border-*-color on SurroundData in ComputedStyle not BorderColorAndStyle (Closed)
Patch Set: BorderColorVisuallyEquals calls BorderColorEquals Created 3 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/style/CachedUAStyle.h
diff --git a/third_party/WebKit/Source/core/style/CachedUAStyle.h b/third_party/WebKit/Source/core/style/CachedUAStyle.h
index 1f8c095009d76c16c33091637b6d60ed53dbdc9e..07504a6d6fa642bb1b8d6deab5dda4bf897b6c77 100644
--- a/third_party/WebKit/Source/core/style/CachedUAStyle.h
+++ b/third_party/WebKit/Source/core/style/CachedUAStyle.h
@@ -25,6 +25,7 @@
#include <memory>
#include "core/style/ComputedStyle.h"
+#include "platform/graphics/Color.h"
#include "platform/wtf/Allocator.h"
#include "platform/wtf/Noncopyable.h"
#include "platform/wtf/PtrUtil.h"
@@ -38,17 +39,41 @@ namespace blink {
class CachedUAStyle {
USING_FAST_MALLOC(CachedUAStyle);
WTF_MAKE_NONCOPYABLE(CachedUAStyle);
+ friend class ComputedStyle;
public:
static std::unique_ptr<CachedUAStyle> Create(const ComputedStyle* style) {
return WTF::WrapUnique(new CachedUAStyle(style));
}
+ bool BorderColorEquals(const ComputedStyle& other) const {
+ return (border_left_color == other.BorderLeftColorInternal() &&
+ border_right_color == other.BorderRightColorInternal() &&
+ border_top_color == other.BorderTopColorInternal() &&
+ border_bottom_color == other.BorderBottomColorInternal()) &&
+ (border_left_color_is_current_color ==
+ other.BorderLeftColorIsCurrentColor() &&
+ border_right_color_is_current_color ==
+ other.BorderRightColorIsCurrentColor() &&
+ border_top_color_is_current_color ==
+ other.BorderTopColorIsCurrentColor() &&
+ border_bottom_color_is_current_color ==
+ other.BorderBottomColorIsCurrentColor());
+ }
+
BorderData border;
LengthSize top_left_;
LengthSize top_right_;
LengthSize bottom_left_;
LengthSize bottom_right_;
+ Color border_left_color;
+ Color border_right_color;
+ Color border_top_color;
+ Color border_bottom_color;
+ bool border_left_color_is_current_color;
+ bool border_right_color_is_current_color;
+ bool border_top_color_is_current_color;
+ bool border_bottom_color_is_current_color;
float border_left_width;
float border_right_width;
float border_top_width;
@@ -63,6 +88,18 @@ class CachedUAStyle {
top_right_(style->BorderTopRightRadius()),
bottom_left_(style->BorderBottomLeftRadius()),
bottom_right_(style->BorderBottomRightRadius()),
+ border_left_color(style->BorderLeftColorInternal()),
+ border_right_color(style->BorderRightColorInternal()),
+ border_top_color(style->BorderTopColorInternal()),
+ border_bottom_color(style->BorderBottomColorInternal()),
+ border_left_color_is_current_color(
+ style->BorderLeftColorIsCurrentColor()),
+ border_right_color_is_current_color(
+ style->BorderRightColorIsCurrentColor()),
+ border_top_color_is_current_color(
+ style->BorderTopColorIsCurrentColor()),
+ border_bottom_color_is_current_color(
+ style->BorderBottomColorIsCurrentColor()),
border_left_width(style->BorderLeftWidth()),
border_right_width(style->BorderRightWidth()),
border_top_width(style->BorderTopWidth()),
« no previous file with comments | « third_party/WebKit/Source/core/style/BorderValue.h ('k') | third_party/WebKit/Source/core/style/ComputedStyle.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698