New issue
Advanced search Search tips
Starred by 1 user

Issue metadata

Status: Started
Owner:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 1
Type: Task


Sign in to add a comment
link

Issue 911943: Remove Web Components v0 features externally.

Reported by yoichio@chromium.org, Dec 5 Project Member

Issue description

Goal: Shipping a patch that
"Remove Shadow DOM V0, Custom Element V0 and HTML Imports" in json5.
https://chromium-review.googlesource.com/c/chromium/src/+/1420637

Not goal: Remove features usage internally(WebUI, PDF extensions keep using
the APIs)
 
Here is each tracking issue:
Remove Shadow DOM v0: crbug.com/671907
Remove Custom Elements V0: crbug.com/660759
Remove HTML imports: crbug.com/766694
 

Comment 1 by yoichio@chromium.org, Dec 5

Blockedon: 671907 660759 766694

Comment 2 by yoichio@chromium.org, Dec 5

Description: Show this description

Comment 3 by yoichio@chromium.org, Dec 5

Description: Show this description

Comment 4 by yoichio@chromium.org, Dec 5

Description: Show this description

Comment 5 by phistuck@chromium.org, Dec 5

Labels: Hotlist-Interop

Comment 6 by bugdroid1@chromium.org, Jan 11

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

commit e525bec76439fd878b24688760c9c01b04708ad0
Author: Yoichi Osato <yoichio@chromium.org>
Date: Fri Jan 11 02:10:54 2019

Force enable HTML Imports for HeadlessProtocolBrowserTest temporally.

This patch is a preparation for Shadow DOM V0, Custom Element V0 (CEv0) and HTML Imports removal.
Since we soon make these APIs only available for test by turning the json5 feature flag
from status: "stable" to status: "test", this patch is a part of it.
(you can see exact flag turning in my WIP patch:
 https://chromium-review.googlesource.com/c/chromium/src/+/1399774)

We should remove/migration the tests using the old APIs.

Bug: 911943
Change-Id: I188c08951c43b7ce0168df17a26ab1805c69ddb8
Reviewed-on: https://chromium-review.googlesource.com/c/1404767
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#621868}
[modify] https://crrev.com/e525bec76439fd878b24688760c9c01b04708ad0/headless/test/headless_protocol_browsertest.cc

Comment 7 by bugdroid1@chromium.org, Jan 12

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

commit bf2b59d669e365f6996833cb6daf4a195643142e
Author: Yoichi Osato <yoichio@chromium.org>
Date: Sat Jan 12 03:13:16 2019

Force enable Shadow DOM v0 for chrome driver.

This patch is a preparation for Shadow DOM V0, Custom Element V0 (CEv0) and HTML Imports removal.
Intent to Deprecate and Remove: http://bit.ly/2RGHe3x
Though we soon make these APIs only available for test by turning the json5 feature flag
from status: "stable" to status: "test", there is browser tests/chrome internal components that
use them.

ChromeDriverTest is a one of them and this patch reenable Shadow DOM v0 for it.
We should migration it using new APIs.

Bug: 911943
Change-Id: I0d97f4414aa5d17ddd611a38f34c34238880e27e
Reviewed-on: https://chromium-review.googlesource.com/c/1405958
Reviewed-by: John Chen <johnchen@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622281}
[modify] https://crrev.com/bf2b59d669e365f6996833cb6daf4a195643142e/chrome/test/chromedriver/chrome_launcher.cc

Comment 8 by bugdroid1@chromium.org, Jan 15

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/1ecb14d871457f4f7023ff805a02da88d3c47365

commit 1ecb14d871457f4f7023ff805a02da88d3c47365
Author: Yoichi Osato <yoichio@chromium.org>
Date: Tue Jan 15 08:02:08 2019

Move a web test using Shadow DOM v0 out of virtual-stable

This patch is a preparation for Shadow DOM V0, Custom Element V0 (CEv0) and HTML Imports removal.
Intent to Deprecate and Remove: http://bit.ly/2RGHe3x
Though we soon make these APIs only available for test by turning the json5 feature flag
from status: "stable" to status: "test", there is browser tests/chrome internal components that
use them.

Since web_tests/compositing/* is virtual-tested turned on "--stable-release-mode" flag
 (https://cs.chromium.org/chromium/src/third_party/blink/web_tests/VirtualTestSuites?rcl=a8d05eee4d9d3d8e519c9edd2e0e2a6ca1d5173b&l=117)
and web_tests/compositing/gestures/gesture-tapHighlight-shadow-tree.html uses Shadow DOM v0,
removing the feature fails the virtual test.
This patch moves the test to fast/dom to avoid the stable-virtual-test.
(I tried to v1nize the test but "-webkit-tap-highlight-color" didn't style a slottee element.
We should fix it.)

Bug: 911943
Change-Id: I14b6ce5d70d98e8f4c02cb9d96170657fec5ecb6
Reviewed-on: https://chromium-review.googlesource.com/c/1405126
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622774}
[delete] https://crrev.com/5352fffab93606897b6b8c336fc849d9248b2091/third_party/blink/web_tests/compositing/gestures/gesture-tapHighlight-shadow-tree-expected.html
[add] https://crrev.com/1ecb14d871457f4f7023ff805a02da88d3c47365/third_party/blink/web_tests/fast/dom/shadow/gesture-tapHighlight-shadow-tree-expected.html
[rename] https://crrev.com/1ecb14d871457f4f7023ff805a02da88d3c47365/third_party/blink/web_tests/fast/dom/shadow/gesture-tapHighlight-shadow-tree-expected.txt
[rename] https://crrev.com/1ecb14d871457f4f7023ff805a02da88d3c47365/third_party/blink/web_tests/fast/dom/shadow/gesture-tapHighlight-shadow-tree.html

Comment 9 by bugdroid1@chromium.org, Jan 15

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/81d6f421dde9633e7c10b6ebe75f7e32b4b0e505

commit 81d6f421dde9633e7c10b6ebe75f7e32b4b0e505
Author: Yoichi Osato <yoichio@chromium.org>
Date: Tue Jan 15 08:47:08 2019

Force enable HTML Imports for CrossSiteDocumentBlockingTest.

This patch is a preparation for Shadow DOM V0, Custom Element V0 (CEv0) and HTML Imports removal.
Since we soon make these APIs only available for test by turning the json5 feature flag
from status: "stable" to status: "test", this patch is a part of it.
(you can see exact flag turning in my WIP patch:
 https://chromium-review.googlesource.com/c/chromium/src/+/1399774)

We should remove/migration the tests using the old APIs.

Bug: 911943
Change-Id: Ieeb6e907aacf86dab153fa49ff4c9ea33fe7da74
Reviewed-on: https://chromium-review.googlesource.com/c/1404765
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Łukasz Anforowicz <lukasza@chromium.org>
Reviewed-by: Hayato Ito <hayato@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#622783}
[modify] https://crrev.com/81d6f421dde9633e7c10b6ebe75f7e32b4b0e505/content/browser/loader/cross_site_document_blocking_browsertest.cc

Comment 10 by bugdroid1@chromium.org, Jan 16

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/0fc26efa6c0573b348d1b9c4226e8336010e0fa5

commit 0fc26efa6c0573b348d1b9c4226e8336010e0fa5
Author: Yoichi Osato <yoichio@chromium.org>
Date: Wed Jan 16 06:13:34 2019

Guarantee DevTools and WebUI use Web Components V0.

This patch is a preparation for Shadow DOM V0, Custom Element V0 (CEv0) and HTML Imports removal.
Intent to Deprecate and Remove: http://bit.ly/2RGHe3x
Though we soon make these APIs only available for test by turning the json5 feature flag
from status: "stable" to status: "test", there is browser tests/chrome internal components that
use them.

This patch keeps DevTools and WebUI use the V0 APIs regardless of the json5 runtime flag so that
web author tests their migration on
“chrome --disable-blink-features=ShadowDOMV0,CustomElementsV0,HTMLImports”
or chrome after M73 disabled the features default while using devtools.

Though DevTools is migrating to Shadow DOM V1 and Custom Element V1, we need
the "url.Protocol() == "chrome-devtools" condition to test WebUI or other components.
We can safely remove the condition when the migration finishes.

This patch doesn't fully cover WebUI but mostly does. I will investigate remaining issues
after this.

Bug: 911943
Change-Id: I1a47f3e49df6c62cec76656625208b63785b0a2d
Reviewed-on: https://chromium-review.googlesource.com/c/1362713
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623131}
[modify] https://crrev.com/0fc26efa6c0573b348d1b9c4226e8336010e0fa5/third_party/blink/renderer/core/loader/document_loader.cc

Comment 11 by bugdroid1@chromium.org, Jan 16

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/03b8128c05d75be011128177bb18c615b655c164

commit 03b8128c05d75be011128177bb18c615b655c164
Author: Yoichi Osato <yoichio@chromium.org>
Date: Wed Jan 16 08:58:34 2019

Force enable HTML Imports and Shadow DOM V0 for WebUIResourceBrowserTest.

This patch is a preparation for Shadow DOM V0, Custom Element V0 (CEv0) and HTML Imports removal.
Intent to Deprecate and Remove: http://bit.ly/2RGHe3x
Though we soon make these APIs only available for test by turning the json5 feature flag
from status: "stable" to status: "test" (crrev.com/c/1399776), there is browser tests/chrome internal components that
use them.

This patch enables the V0 APIs for WebUIResourceBrowserTestV0.I18nProcessTest using them.
We should migrate the test.

crrev.com/c/1399776.

Bug: 911943
TEST: ./browser_tests.exe --gtest_filter=WebUIResourceBrowserTestV0.I18nProcessTest on the patch
Change-Id: I6a276a6f07175c8b46299bac02316dae97912d4e
Reviewed-on: https://chromium-review.googlesource.com/c/1404771
Reviewed-by: Yoichi Osato <yoichio@chromium.org>
Reviewed-by: Demetrios Papadopoulos <dpapad@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623162}
[modify] https://crrev.com/03b8128c05d75be011128177bb18c615b655c164/chrome/test/data/webui/webui_resource_browsertest.cc

Comment 12 by bugdroid1@chromium.org, Jan 17

Project Member
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/8a30e45f04f9515fd67eccb65e6c0f3c4c35abdb

commit 8a30e45f04f9515fd67eccb65e6c0f3c4c35abdb
Author: Yoichi Osato <yoichio@chromium.org>
Date: Thu Jan 17 01:04:46 2019

Enable Web Components V0 APIs for perf youtube test.

This patch is a preparation for Shadow DOM V0, Custom Element V0 (CEv0) and HTML Imports removal.
Intent to Deprecate and Remove: http://bit.ly/2RGHe3x
Though we soon make these APIs only available for test by turning the json5 feature flag
from status: "stable" to status: "test" (crrev.com/c/1399776), there is browser tests/chrome internal components that
use them.

This patch keeps perf tests loading YouTube use the V0 APIs regardless of the json5 runtime flag
When YouTube finishes migration to V1 APIs, we can remove this temporary flag.

Bug: 911943
TEST: python ../../tools/perf/run_tests --jobs=1 --test-filter=benchmarks.system_health_smoke_test.SystemHealthBenchmarkSmokeTest.system_health.memory_desktop/browse:media:youtube:2018::benchmarks.system_health_smoke_test.SystemHealthBenchmarkSmokeTest.system_health.memory_desktop/browse_accessibility:media:youtube
Change-Id: I6f93b803aa64a813321dc6476cc13e79ab3e1f34
Reviewed-on: https://chromium-review.googlesource.com/c/1414391
Reviewed-by: Caleb Rouleau <crouleau@chromium.org>
Commit-Queue: Yoichi Osato <yoichio@chromium.org>
Cr-Commit-Position: refs/heads/master@{#623486}
[modify] https://crrev.com/8a30e45f04f9515fd67eccb65e6c0f3c4c35abdb/tools/perf/page_sets/system_health/accessibility_stories.py
[modify] https://crrev.com/8a30e45f04f9515fd67eccb65e6c0f3c4c35abdb/tools/perf/page_sets/system_health/browsing_stories.py

Comment 13 by yoichio@chromium.org, Jan 22

Labels: M-74

Comment 14 by yoichio@chromium.org, Feb 14 (3 days ago)

Blockedon: 931981

Comment 15 by yoichio@chromium.org, Feb 14 (3 days ago)

Summary: Remove Web Components v0 features externally. (was: Remove Web Components v0 features.)

Comment 16 by yoichio@chromium.org, Feb 14 (3 days ago)

Description: Show this description

Comment 17 by phistuck@gmail.com, Feb 14 (3 days ago)

My two cents - not removing internal usage sends a bad message to web authors. If the browser itself cannot get rid of v0 due to time or resource constraints, why does it expect web authors to get rid of it?

Comment 18 by yoichio@chromium.org, Feb 14 (3 days ago)

Removing them at all is still goal but it has not been and won't be tracked here.

Sign in to add a comment