New issue
Advanced search Search tips

Issue 678285 link

Starred by 5 users

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: 2017-02-25
OS: All
Pri: 2
Type: Bug


Show other hotlists

Hotlists containing this issue:
style-dev-current


Sign in to add a comment

Deprecate and Remove "-internal" media controls CSS pseudo elements expose to web content

Project Member Reported by mlamouri@chromium.org, Jan 4 2017

Issue description

Based on https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/css/CSSSelector.cpp?rcl=0&l=288 we seem to have:

Cast related:
-internal-media-controls-cast-button
-internal-media-controls-overlay-cast-button

Text track related:
-internal-media-controls-text-track-list
-internal-media-controls-text-track-list-item
-internal-media-controls-text-track-list-item-input
-internal-media-controls-text-track-list-kind-captions
-internal-media-controls-text-track-list-kind-subtitles

The Cast ones are fairly old and already tracked by:
- https://www.chromestatus.com/metrics/feature/popularity#CSSSelectorInternalMediaControlsOverlayCastButton
- https://www.chromestatus.com/metrics/feature/popularity#CSSSelectorInternalMediaControlsCastButton

The other ones are not tracked but fairly new.
 
Labels: Hotlist-Interop
Labels: -Pri-3 M-59 Pri-1
Status: Started (was: Assigned)
Summary: Deprecate and Remove "-internal" media controls CSS pseudo elements expose to web content (was: Deprecate "-internal" media controls CSS pseudo elements expose to web content)
CL is read. Intent to Deprecate and Remove drafts are ready. We are targetting deprecation in M57 and removal in M59.
Project Member

Comment 3 by bugdroid1@chromium.org, Jan 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/37af6af68b5ef43dc3b2d588ea7a2a56a678b351

commit 37af6af68b5ef43dc3b2d588ea7a2a56a678b351
Author: mlamouri <mlamouri@chromium.org>
Date: Wed Jan 18 13:54:05 2017

Deprecate all -internal-media-controls-* currently expose to web contents.

Exhaustive list is:
-internal-media-controls-cast-button
-internal-media-controls-overlay-cast-button
-internal-media-controls-text-track-list
-internal-media-controls-text-track-list-item
-internal-media-controls-text-track-list-item-input
-internal-media-controls-text-track-list-kind-captions
-internal-media-controls-text-track-list-kind-subtitles

Chrome Status entries are:
- https://www.chromestatus.com/feature/5734009183141888
- https://www.chromestatus.com/feature/5714245488476160
- https://www.chromestatus.com/feature/5661431349379072

BUG=678285
R=foolip@chromium.org, isherman@chromium.org

Review-Url: https://codereview.chromium.org/2628923006
Cr-Commit-Position: refs/heads/master@{#444346}

[add] https://crrev.com/37af6af68b5ef43dc3b2d588ea7a2a56a678b351/third_party/WebKit/LayoutTests/media/deprecated-css-selectors-expected.txt
[add] https://crrev.com/37af6af68b5ef43dc3b2d588ea7a2a56a678b351/third_party/WebKit/LayoutTests/media/deprecated-css-selectors.html
[modify] https://crrev.com/37af6af68b5ef43dc3b2d588ea7a2a56a678b351/third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp
[modify] https://crrev.com/37af6af68b5ef43dc3b2d588ea7a2a56a678b351/third_party/WebKit/Source/core/css/parser/CSSSelectorParser.h
[modify] https://crrev.com/37af6af68b5ef43dc3b2d588ea7a2a56a678b351/third_party/WebKit/Source/core/frame/Deprecation.cpp
[modify] https://crrev.com/37af6af68b5ef43dc3b2d588ea7a2a56a678b351/third_party/WebKit/Source/core/frame/UseCounter.h
[modify] https://crrev.com/37af6af68b5ef43dc3b2d588ea7a2a56a678b351/tools/metrics/histograms/histograms.xml

NextAction: 2017-02-25
Deprecation has landed. We should remove the selectors in M59. Adding a next action in a bit more than a month to check the metrics.
Labels: Update-Monthly

Comment 8 by suzyh@chromium.org, Mar 29 2017

Components: -Blink>Media>Controls
Project Member

Comment 9 by bugdroid1@chromium.org, Apr 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/25800fa49e1e6176b11bac60f20e031363e1bd97

commit 25800fa49e1e6176b11bac60f20e031363e1bd97
Author: mlamouri <mlamouri@chromium.org>
Date: Tue Apr 18 21:49:29 2017

Move cast overlay CSS selector deprecation deadline to 61.

Unfortunately, the usage increased since the deprecation started,
making the deprecation a bit more involved.

BUG=678285
R=foolip@chromium.org

Review-Url: https://codereview.chromium.org/2827583003
Cr-Commit-Position: refs/heads/master@{#465387}

[modify] https://crrev.com/25800fa49e1e6176b11bac60f20e031363e1bd97/third_party/WebKit/LayoutTests/media/deprecated-css-selectors-expected.txt
[modify] https://crrev.com/25800fa49e1e6176b11bac60f20e031363e1bd97/third_party/WebKit/Source/core/frame/Deprecation.cpp

Project Member

Comment 10 by bugdroid1@chromium.org, May 26 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/ff8ac992b2d0476ee7806728fcbf003600807efd

commit ff8ac992b2d0476ee7806728fcbf003600807efd
Author: Rune Lillesveen <rune@opera.com>
Date: Fri May 26 12:42:34 2017

Drop author ::-internal-* pseudo at parse time.

The SelectorChecker already always failed, but the selector should be
invalid and the whole rule dropped. There is a single pseudo
::-internal-media-controls-overlay-cast-button which is still web-
facing. That is tracked by issue 678285.

Moved the update pseudo page in @page into a separate method.

BUG= 725480 ,678285

Change-Id: Ifca8a0e593c4d11720b0b0822e4c753ff45fb52b
Reviewed-on: https://chromium-review.googlesource.com/512827
Commit-Queue: Rune Lillesveen <rune@opera.com>
Reviewed-by: Mounir Lamouri <mlamouri@chromium.org>
Cr-Commit-Position: refs/heads/master@{#474987}
[modify] https://crrev.com/ff8ac992b2d0476ee7806728fcbf003600807efd/third_party/WebKit/LayoutTests/FlagExpectations/enable-blink-features=LayoutNG
[delete] https://crrev.com/3e04e43e54065fb3b758200e23efb25697ead7e9/third_party/WebKit/LayoutTests/fast/css/invalidation/spatial-navigation-focus-pseudo-expected.txt
[delete] https://crrev.com/3e04e43e54065fb3b758200e23efb25697ead7e9/third_party/WebKit/LayoutTests/fast/css/invalidation/spatial-navigation-focus-pseudo.html
[modify] https://crrev.com/ff8ac992b2d0476ee7806728fcbf003600807efd/third_party/WebKit/LayoutTests/media/deprecated-css-selectors.html
[modify] https://crrev.com/ff8ac992b2d0476ee7806728fcbf003600807efd/third_party/WebKit/Source/core/css/CSSSelector.cpp
[modify] https://crrev.com/ff8ac992b2d0476ee7806728fcbf003600807efd/third_party/WebKit/Source/core/css/CSSSelector.h
[modify] https://crrev.com/ff8ac992b2d0476ee7806728fcbf003600807efd/third_party/WebKit/Source/core/css/SelectorChecker.cpp
[modify] https://crrev.com/ff8ac992b2d0476ee7806728fcbf003600807efd/third_party/WebKit/Source/core/css/parser/CSSParserImpl.cpp
[modify] https://crrev.com/ff8ac992b2d0476ee7806728fcbf003600807efd/third_party/WebKit/Source/core/css/parser/CSSParserSelector.h
[modify] https://crrev.com/ff8ac992b2d0476ee7806728fcbf003600807efd/third_party/WebKit/Source/core/css/parser/CSSSelectorParser.cpp
[modify] https://crrev.com/ff8ac992b2d0476ee7806728fcbf003600807efd/third_party/WebKit/Source/core/css/parser/CSSSelectorParserTest.cpp
[modify] https://crrev.com/ff8ac992b2d0476ee7806728fcbf003600807efd/third_party/WebKit/Source/core/html/HTMLVideoElementPersistentTest.cpp

Comment 11 by meade@chromium.org, Jul 12 2017

Cc: meade@chromium.org
Hey mlamouri, is this done? If so, could you please mark as fixed?
All of the internal selectors are no longer web exposed except for:
-internal-media-controls-overlay-cast-button

We are looking into alternative solutions.

Comment 13 by meade@chromium.org, Jul 13 2017

Cool ok, so there's one remaining. Is this still P1 though?
Labels: -Pri-1 -M-59 M-62 Pri-2
P-2 is fine :)

Comment 15 by meade@chromium.org, Jul 14 2017

Thank you!
Labels: -Update-Monthly
Use count for -internal-media-controls-overlay-cast-button is 0.4%
https://www.chromestatus.com/metrics/feature/timeline/popularity/1064
The overwhelming majority of -internal-media-controls-overlay-cast-button usage is Walmart.

https://corporate.walmart.com
video::-internal-media-controls-overlay-cast-button {
  display: none;
}

Cc: -meade@chromium.org
Any progress here?

It would be unfortunate if we had a repeat of
https://github.com/w3c/csswg-drafts/issues/3051
and -internal-media-controls-overlay-cast-button
was added to web standards.

We might want to remove despite the usage.

Cc: emilio@chromium.org
Yes please. WebKit had a very similar thing with ::x- pseudo-elements. I'm removing those in https://bugs.webkit.org/show_bug.cgi?id=189089.

If for some reason you can't remove it, could you please make it a ::-webkit- pseudo at least?

Though removing is of course preferable...
The usage of this pseudo-element is above 1% of page visits on Chrome Android. We may want to use UKM UseCounters to have a better idea of which websites are using it and how broken they would be without.

Renaming doesn't seem like an option as it would still break websites.

Sign in to add a comment