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

Unified Diff: third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp

Issue 1812763002: Pseudo and non pseudo elements should return correct computed content value (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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/css/resolver/StyleBuilderCustom.cpp
diff --git a/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp b/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
index 845a3f092c3c62ef4647eb9c56f39931f049ea20..7d3bc5f51f0631c747a958fd3b67afd5552bda43 100644
--- a/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
+++ b/third_party/WebKit/Source/core/css/resolver/StyleBuilderCustom.cpp
@@ -657,9 +657,14 @@ void StyleBuilderFunctions::applyInheritCSSPropertyContent(StyleResolverState&)
void StyleBuilderFunctions::applyValueCSSPropertyContent(StyleResolverState& state, CSSValue* value)
{
+ bool didSet = false;
+ if (state.style()->hasPseudoElementStyle()) {
+ state.style()->setContent(ContentDataNormal, didSet);
+ return;
+ }
+
// list of string, uri, counter, attr, i
- bool didSet = false;
for (auto& item : toCSSValueList(*value)) {
if (item->isImageGeneratorValue()) {
state.style()->setContent(StyleGeneratedImage::create(toCSSImageGeneratorValue(*item)), didSet);
@@ -724,8 +729,16 @@ void StyleBuilderFunctions::applyValueCSSPropertyContent(StyleResolverState& sta
state.style()->setContent(NO_CLOSE_QUOTE, didSet);
didSet = true;
break;
+ case CSSValueNormal:
+ if (state.style()->styleType() == PseudoIdBefore || state.style()->styleType() == PseudoIdAfter) {
+ state.style()->setContent(ContentDataNone, didSet);
+ didSet = true;
+ } else {
+ didSet = false;
+ }
+ break;
default:
- // normal and none do not have any effect.
+ // none does not have any effect.
{ }
}
}

Powered by Google App Engine
This is Rietveld 408576698