Tim, Could you take a look at this? Rune, For the "cssText" layout test I ...
4 years, 11 months ago
(2016-01-13 07:48:31 UTC)
#3
Tim,
Could you take a look at this?
Rune,
For the "cssText" layout test I reflected your comments
in the previous review.
rune
https://codereview.chromium.org/1565263003/diff/40001/third_party/WebKit/Source/core/css/CSSSelector.cpp File third_party/WebKit/Source/core/css/CSSSelector.cpp (right): https://codereview.chromium.org/1565263003/diff/40001/third_party/WebKit/Source/core/css/CSSSelector.cpp#newcode486 third_party/WebKit/Source/core/css/CSSSelector.cpp:486: case PseudoSlotted: The selectors are web-facing in the sense ...
4 years, 11 months ago
(2016-01-13 09:59:09 UTC)
#4
I tried removing ShadowSlot implicit combinator, but so far the change will be no simpler ...
4 years, 11 months ago
(2016-01-19 07:25:56 UTC)
#7
I tried removing ShadowSlot implicit combinator, but
so far the change will be no simpler than using the
combinator, so I'd like to go with the current way,
using ShadowSlot implicit combinator.
The idea was to convert .slot::slotted(div) to
::slotted(div) - (relation:subselector) -> .slot
but it made the PseudoSlotted matching code more
complex for preparing the next SelectorMatchingContext
and satisfy scopeContaisLastMatchedElement() for all
use cases (e.g. "::slotted(div)", "slot::slotted(div)",
"span ::slotted(div)") at the same time.
https://codereview.chromium.org/1565263003/diff/100001/third_party/WebKit/Lay...
File
third_party/WebKit/LayoutTests/fast/dom/shadow/slotted-pseudo-element-css-text.html
(right):
https://codereview.chromium.org/1565263003/diff/100001/third_party/WebKit/Lay...
third_party/WebKit/LayoutTests/fast/dom/shadow/slotted-pseudo-element-css-text.html:43:
"*::slotted(*) { display: block; }",
On 2016/01/15 11:01:16, rune wrote:
> I thought the '*' should be dropped from this one? If it passes it's probably
in
> line with other explicit universal selectors.
This one has an explicit '*' on the left (see line 8), so it's expected, right?
Shall we drop '*' even when it is explicitly specified?
It doesn't improve any performance at matching, because we add an implicit
'*' if it's omitted.
https://codereview.chromium.org/1565263003/diff/100001/third_party/WebKit/Lay...
third_party/WebKit/LayoutTests/fast/dom/shadow/slotted-pseudo-element-css-text.html:58:
"::slotted(span)::slotted(span) { color: red; }"
This case is now invalid and removed from this expectation list.
https://codereview.chromium.org/1565263003/diff/100001/third_party/WebKit/Sou...
File third_party/WebKit/Source/core/css/CSSSelector.cpp (right):
https://codereview.chromium.org/1565263003/diff/100001/third_party/WebKit/Sou...
third_party/WebKit/Source/core/css/CSSSelector.cpp:802: case
CSSSelector::PseudoSlotted:
On 2016/01/15 11:01:16, rune wrote:
> This method is used for validating selectors in <content select="...">. I
doubt
> PseudoSlotted should be allowed there?
Good catch.
It seems I mistakenly added this line.
This function should have returned false for pseudo elements
in another switch-case above
(case CSSSelector::PseudoElement: return false) already.
Removed this line.
kochi
Tim, could you also take a look?
4 years, 11 months ago
(2016-01-19 07:33:15 UTC)
#8
Tim, could you also take a look?
rune
On 2016/01/19 07:25:56, kochi wrote: > I tried removing ShadowSlot implicit combinator, but > so ...
4 years, 11 months ago
(2016-01-19 09:08:28 UTC)
#9
On 2016/01/19 07:25:56, kochi wrote:
> I tried removing ShadowSlot implicit combinator, but
> so far the change will be no simpler than using the
> combinator, so I'd like to go with the current way,
> using ShadowSlot implicit combinator.
Ack.
4 years, 11 months ago
(2016-01-19 09:16:09 UTC)
#10
lgtm
https://codereview.chromium.org/1565263003/diff/100001/third_party/WebKit/Lay...
File
third_party/WebKit/LayoutTests/fast/dom/shadow/slotted-pseudo-element-css-text.html
(right):
https://codereview.chromium.org/1565263003/diff/100001/third_party/WebKit/Lay...
third_party/WebKit/LayoutTests/fast/dom/shadow/slotted-pseudo-element-css-text.html:43:
"*::slotted(*) { display: block; }",
On 2016/01/19 07:25:56, kochi wrote:
> On 2016/01/15 11:01:16, rune wrote:
> > I thought the '*' should be dropped from this one? If it passes it's
probably
> in
> > line with other explicit universal selectors.
>
> This one has an explicit '*' on the left (see line 8), so it's expected,
right?
> Shall we drop '*' even when it is explicitly specified?
> It doesn't improve any performance at matching, because we add an implicit
> '*' if it's omitted.
It's not expected as "*::before" is serialized as "::before", but I see that we
add unnecessary universal selectors in the serialization for "*::cue(i)" and
"*::-webkit-media-slider-container" as well, and ::slotted just follows that
pattern. No need to fix that here.
https://codereview.chromium.org/1565263003/diff/100001/third_party/WebKit/Lay...
third_party/WebKit/LayoutTests/fast/dom/shadow/slotted-pseudo-element-css-text.html:58:
"::slotted(span)::slotted(span) { color: red; }"
On 2016/01/19 07:25:56, kochi wrote:
> This case is now invalid and removed from this expectation list.
Acknowledged.
https://codereview.chromium.org/1565263003/diff/160001/third_party/WebKit/Sou...
File third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp (right):
https://codereview.chromium.org/1565263003/diff/160001/third_party/WebKit/Sou...
third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp:733: while
(splitAfter->tagHistory() &&
!splitAfter->tagHistory()->needsImplicitShadowCrossingCombinatorForMatching() &&
splitAfter->tagHistory()->pseudoType() != CSSSelector::PseudoSlotted)
You may move the PseudoSlotted into
needsImplicitShadowCrossingCombinatorForMatching() (and possibly drop "Crossing"
from the name, which might yield a better common name).
4 years, 11 months ago
(2016-01-19 11:09:12 UTC)
#11
https://codereview.chromium.org/1565263003/diff/100001/third_party/WebKit/Lay...
File
third_party/WebKit/LayoutTests/fast/dom/shadow/slotted-pseudo-element-css-text.html
(right):
https://codereview.chromium.org/1565263003/diff/100001/third_party/WebKit/Lay...
third_party/WebKit/LayoutTests/fast/dom/shadow/slotted-pseudo-element-css-text.html:58:
"::slotted(span)::slotted(span) { color: red; }"
On 2016/01/19 09:16:09, rune wrote:
> On 2016/01/19 07:25:56, kochi wrote:
> > This case is now invalid and removed from this expectation list.
>
> Acknowledged.
Thanks to your change!
https://codereview.chromium.org/1565263003/diff/160001/third_party/WebKit/Sou...
File third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp (right):
https://codereview.chromium.org/1565263003/diff/160001/third_party/WebKit/Sou...
third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp:733: while
(splitAfter->tagHistory() &&
!splitAfter->tagHistory()->needsImplicitShadowCrossingCombinatorForMatching() &&
splitAfter->tagHistory()->pseudoType() != CSSSelector::PseudoSlotted)
On 2016/01/19 09:16:09, rune wrote:
> You may move the PseudoSlotted into
> needsImplicitShadowCrossingCombinatorForMatching() (and possibly drop
"Crossing"
> from the name, which might yield a better common name).
Done.
rune
On 2016/01/19 09:16:09, rune wrote: > It's not expected as "*::before" is serialized as "::before", ...
4 years, 11 months ago
(2016-01-19 14:14:39 UTC)
#12
On 2016/01/19 09:16:09, rune wrote:
> It's not expected as "*::before" is serialized as "::before", but I see that
we
> add unnecessary universal selectors in the serialization for "*::cue(i)" and
> "*::-webkit-media-slider-container" as well, and ::slotted just follows that
> pattern. No need to fix that here.
FYI, I have a fix for that here: https://codereview.chromium.org/1607873002/
Timothy Loh
lgtm
4 years, 11 months ago
(2016-01-20 00:02:52 UTC)
#13
lgtm
kochi
The CQ bit was checked by kochi@chromium.org
4 years, 11 months ago
(2016-01-20 02:11:05 UTC)
#14
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1565263003/180001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1565263003/180001
4 years, 11 months ago
(2016-01-20 02:13:42 UTC)
#16
Try jobs failed on following builders: linux_chromium_chromeos_compile_dbg_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_chromeos_compile_dbg_ng/builds/145061) linux_chromium_gn_chromeos_rel on tryserver.chromium.linux (JOB_FAILED, ...
4 years, 11 months ago
(2016-01-20 02:45:47 UTC)
#18
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1565263003/200001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1565263003/200001
4 years, 11 months ago
(2016-01-20 08:22:47 UTC)
#23
Description was changed from ========== Implement CSS parser part for ::slotted pseudo element This CL ...
4 years, 11 months ago
(2016-01-20 10:13:58 UTC)
#24
Message was sent while issue was closed.
Description was changed from
==========
Implement CSS parser part for ::slotted pseudo element
This CL is split off of
https://codereview.chromium.org/1523843004/
Implements ::slotted() pseudo element, whose spec is discussed at
https://github.com/w3c/webcomponents/issues/331
for Shadow DOM v1.
BUG=531990
TEST=fast/dom/shadow/slotted-pseudo-element-css-text.html
==========
to
==========
Implement CSS parser part for ::slotted pseudo element
This CL is split off of
https://codereview.chromium.org/1523843004/
Implements ::slotted() pseudo element, whose spec is discussed at
https://github.com/w3c/webcomponents/issues/331
for Shadow DOM v1.
BUG=531990
TEST=fast/dom/shadow/slotted-pseudo-element-css-text.html
==========
commit-bot: I haz the power
Committed patchset #11 (id:200001)
4 years, 11 months ago
(2016-01-20 10:13:59 UTC)
#25
Message was sent while issue was closed.
Committed patchset #11 (id:200001)
commit-bot: I haz the power
Description was changed from ========== Implement CSS parser part for ::slotted pseudo element This CL ...
4 years, 11 months ago
(2016-01-20 10:15:39 UTC)
#26
Issue 1565263003: Implement CSS parser part for ::slotted pseudo element
(Closed)
Created 4 years, 11 months ago by kochi
Modified 4 years, 11 months ago
Reviewers: rune, Timothy Loh
Base URL: https://chromium.googlesource.com/chromium/src.git@master
Comments: 20