New issue
Advanced search Search tips

Issue 816677 link

Starred by 5 users

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2018
Cc:
Components:
EstimatedDays: ----
NextAction: 2018-04-20
OS: Linux , Windows , Chrome , Mac
Pri: 2
Type: Bug

Blocked on:
issue 816679
issue 831909



Sign in to add a comment

Remove support for manifest v1 extensions

Project Member Reported by rdevlin....@chromium.org, Feb 26 2018

Issue description

Manifest Version 2 launched several years ago, and we've removed all manifest v1 extensions from the webstore.  There are still a few places in the code that have special manifest v1 cases.  We should remove all logic related to manifest v1, and only support manifest v2 and higher.
 
Blockedon: 816679
Project Member

Comment 2 by bugdroid1@chromium.org, Mar 12 2018

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

commit d42648dd9f14c535b1e98a93e85d5a99bc9b0599
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Mon Mar 12 20:55:47 2018

[Extensions] Remove manifest v1 support for page actions

In manifest v1, page actions had support for different keys, including
a list of icons (instead of a single icon), "popup"
(vs "default_popup"), "name" (vs "default_title"), "type" (deprecated),
and "id" (deprecated).

Remove parsing support for the deprecated keys. Update unit tests
to manifest v2 where applicable, and remove manifest v1-specific
tests.

Bug:  816677 ,  816679 
Change-Id: Id4db2558e0f5b9006c89a0f3ef89aed230a7b359
Reviewed-on: https://chromium-review.googlesource.com/953179
Reviewed-by: Karan Bhatia <karandeepb@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#542590}
[modify] https://crrev.com/d42648dd9f14c535b1e98a93e85d5a99bc9b0599/chrome/browser/extensions/extension_action.cc
[modify] https://crrev.com/d42648dd9f14c535b1e98a93e85d5a99bc9b0599/chrome/browser/extensions/extension_action.h
[modify] https://crrev.com/d42648dd9f14c535b1e98a93e85d5a99bc9b0599/chrome/common/extensions/api/extension_action/action_info.cc
[modify] https://crrev.com/d42648dd9f14c535b1e98a93e85d5a99bc9b0599/chrome/common/extensions/api/extension_action/action_info.h
[modify] https://crrev.com/d42648dd9f14c535b1e98a93e85d5a99bc9b0599/chrome/common/extensions/api/extension_action/page_action_manifest_unittest.cc
[modify] https://crrev.com/d42648dd9f14c535b1e98a93e85d5a99bc9b0599/chrome/test/data/extensions/page_action/page_action.json
[delete] https://crrev.com/659dd8c260e08eb9bcda193b7787a2b47d31e315/chrome/test/data/extensions/page_action/page_action_empty_popup.json
[delete] https://crrev.com/659dd8c260e08eb9bcda193b7787a2b47d31e315/chrome/test/data/extensions/page_action/page_action_invalid_name.json
[delete] https://crrev.com/659dd8c260e08eb9bcda193b7787a2b47d31e315/chrome/test/data/extensions/page_action/page_action_invalid_name_no_title.json
[modify] https://crrev.com/d42648dd9f14c535b1e98a93e85d5a99bc9b0599/chrome/test/data/extensions/page_action/page_action_invalid_title.json
[delete] https://crrev.com/659dd8c260e08eb9bcda193b7787a2b47d31e315/chrome/test/data/extensions/page_action/page_action_new_format.json
[delete] https://crrev.com/659dd8c260e08eb9bcda193b7787a2b47d31e315/chrome/test/data/extensions/page_action/page_action_no_icon.json
[delete] https://crrev.com/659dd8c260e08eb9bcda193b7787a2b47d31e315/chrome/test/data/extensions/page_action/page_action_no_id.json
[delete] https://crrev.com/659dd8c260e08eb9bcda193b7787a2b47d31e315/chrome/test/data/extensions/page_action/page_action_no_name.json
[delete] https://crrev.com/659dd8c260e08eb9bcda193b7787a2b47d31e315/chrome/test/data/extensions/page_action/page_action_popup.json
[delete] https://crrev.com/659dd8c260e08eb9bcda193b7787a2b47d31e315/chrome/test/data/extensions/page_action/page_action_popup_and_default_popup.json
[delete] https://crrev.com/659dd8c260e08eb9bcda193b7787a2b47d31e315/chrome/test/data/extensions/page_action/page_action_type.json
[modify] https://crrev.com/d42648dd9f14c535b1e98a93e85d5a99bc9b0599/extensions/common/manifest_constants.cc
[modify] https://crrev.com/d42648dd9f14c535b1e98a93e85d5a99bc9b0599/extensions/common/manifest_constants.h

Project Member

Comment 3 by bugdroid1@chromium.org, Mar 21 2018

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

commit 0832751d354f1ed576ee729d9a2a133c1f047dbf
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Wed Mar 21 03:54:03 2018

[Extensions] Remove manifest v1 handling in CSP

Manifest v1 extensions did not have any forced CSP, whereas
manifest v2 extensions do. Remove the special handling for manifest v1
extensions, so that all loaded extensions are given a CSP.

Update a number of tests that needed to be changed because of inline
JS (pulling the script out the a separate JS file). In the case of
chrome/test/data/extensions/autoupdate and
chrome/test/data/extensions/install, also remove the .crx versions
where they were simply packed versions of the others, and instead
pack th extension in the test to make future changes easier. Leave
autoupdate/v3.crx, which is (deliberately) packaged incorrectly (to
test error handling). Also remove unneeded "toolstrip.html" file
references from these tests.

Bug:  816677 
Change-Id: I3ee9930007d6674b0cdf31999fd7a1612ef3cfee
Reviewed-on: https://chromium-review.googlesource.com/953175
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544634}
[modify] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/browser/extensions/api/management/management_browsertest.cc
[modify] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/browser/extensions/api/runtime/chrome_runtime_api_delegate_unittest.cc
[modify] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/browser/extensions/extension_resource_request_policy_apitest.cc
[modify] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/api_test/extension_resource_request_policy/extension/manifest.json
[modify] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/api_test/extension_resource_request_policy/extension2/audio.html
[add] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/api_test/extension_resource_request_policy/extension2/audio.js
[modify] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/api_test/extension_resource_request_policy/extension2/can_load_icons_from_hosted_apps.html
[add] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/api_test/extension_resource_request_policy/extension2/can_load_icons_from_hosted_apps.js
[modify] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/api_test/extension_resource_request_policy/extension2/index.html
[add] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/api_test/extension_resource_request_policy/extension2/index.js
[modify] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/api_test/extension_resource_request_policy/extension2/manifest.json
[modify] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/api_test/extension_resource_request_policy/extension2/video.html
[add] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/api_test/extension_resource_request_policy/extension2/video.js
[modify] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/api_test/extension_resource_request_policy/hosted_app/manifest.json
[delete] https://crrev.com/93efc46a524a9c12e1c75ae10066ea9da1b1e0c0/chrome/test/data/extensions/autoupdate/v1.crx
[add] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/autoupdate/v1/background.js
[modify] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/autoupdate/v1/manifest.json
[delete] https://crrev.com/93efc46a524a9c12e1c75ae10066ea9da1b1e0c0/chrome/test/data/extensions/autoupdate/v1/toolstrip.html
[delete] https://crrev.com/93efc46a524a9c12e1c75ae10066ea9da1b1e0c0/chrome/test/data/extensions/autoupdate/v2.crx
[add] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/autoupdate/v2/background.js
[modify] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/autoupdate/v2/manifest.json
[delete] https://crrev.com/93efc46a524a9c12e1c75ae10066ea9da1b1e0c0/chrome/test/data/extensions/autoupdate/v2/toolstrip.html
[delete] https://crrev.com/93efc46a524a9c12e1c75ae10066ea9da1b1e0c0/chrome/test/data/extensions/autoupdate/v3/toolstrip.html
[delete] https://crrev.com/93efc46a524a9c12e1c75ae10066ea9da1b1e0c0/chrome/test/data/extensions/install/install.crx
[delete] https://crrev.com/93efc46a524a9c12e1c75ae10066ea9da1b1e0c0/chrome/test/data/extensions/install/install/bg.html
[modify] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/install/install/manifest.json
[delete] https://crrev.com/93efc46a524a9c12e1c75ae10066ea9da1b1e0c0/chrome/test/data/extensions/install/install_older_version.crx
[delete] https://crrev.com/93efc46a524a9c12e1c75ae10066ea9da1b1e0c0/chrome/test/data/extensions/install/install_older_version/bg.html
[add] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/install/install_older_version/bg.js
[modify] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/install/install_older_version/manifest.json
[delete] https://crrev.com/93efc46a524a9c12e1c75ae10066ea9da1b1e0c0/chrome/test/data/extensions/install/install_same_version.crx
[delete] https://crrev.com/93efc46a524a9c12e1c75ae10066ea9da1b1e0c0/chrome/test/data/extensions/install/install_same_version/bg.html
[add] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/install/install_same_version/bg.js
[modify] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/install/install_same_version/manifest.json
[delete] https://crrev.com/93efc46a524a9c12e1c75ae10066ea9da1b1e0c0/chrome/test/data/extensions/install/install_v2.crx
[delete] https://crrev.com/93efc46a524a9c12e1c75ae10066ea9da1b1e0c0/chrome/test/data/extensions/install/install_v2/bg.html
[add] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/install/install_v2/bg.js
[modify] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/chrome/test/data/extensions/install/install_v2/manifest.json
[modify] https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf/extensions/common/manifest_handlers/csp_info.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Mar 23 2018

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

commit 21b9dfa740b4c4788c07185e88a6dac0d0a22646
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Fri Mar 23 23:36:30 2018

[Extensions] Remove inIncognitoTab handling for manifest v1

Manifest v1 had an "inIncognitoTab" on the chrome.extension API object
property instead of the new "inIncognitoContext". Remove support for
this fully (and update a stale reference).

Bug:  816677 

Change-Id: I4cefe0359ff3c4cae0df06b467c5628f6cd27fc6
Reviewed-on: https://chromium-review.googlesource.com/973542
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545627}
[modify] https://crrev.com/21b9dfa740b4c4788c07185e88a6dac0d0a22646/chrome/test/data/extensions/api_test/incognito/apis/background.js
[modify] https://crrev.com/21b9dfa740b4c4788c07185e88a6dac0d0a22646/extensions/renderer/resources/extension_custom_bindings.js

Project Member

Comment 5 by bugdroid1@chromium.org, Mar 27 2018

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

commit 7a1b3bb0f7aa68093639da976f3b4ecedd4585d8
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Tue Mar 27 00:25:49 2018

[Extensions] Remove manifest v1 support for accessible resources

In manifest version 1, all extension resources were considered
accessible by the web (i.e., could be embedded within or
requested by a web page). In manifest v2, only resources
explicitly specified in the web_accessible_resources key are
accessible. Remove support for manifest v1, and always check
the web accessible resources.

Update unit tests to migrate relevant tests and remove tests for
manifest v1-specific behavior.

Bug:  816677 ,  816679 
Change-Id: Id0dd3ef75cd5d49e3f87e45ac3a8b19a00391146
Reviewed-on: https://chromium-review.googlesource.com/953177
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Karan Bhatia <karandeepb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#545898}
[modify] https://crrev.com/7a1b3bb0f7aa68093639da976f3b4ecedd4585d8/chrome/browser/extensions/extension_protocols_unittest.cc
[modify] https://crrev.com/7a1b3bb0f7aa68093639da976f3b4ecedd4585d8/chrome/common/extensions/manifest_tests/extension_manifests_web_accessible_resources_unittest.cc
[modify] https://crrev.com/7a1b3bb0f7aa68093639da976f3b4ecedd4585d8/chrome/renderer/extensions/resource_request_policy.cc
[delete] https://crrev.com/811d1a139265b7d8c94fc1690184de2351d9230f/chrome/test/data/extensions/manifest_tests/web_accessible_resources_3.json
[delete] https://crrev.com/811d1a139265b7d8c94fc1690184de2351d9230f/chrome/test/data/extensions/manifest_tests/web_accessible_resources_4.json
[rename] https://crrev.com/7a1b3bb0f7aa68093639da976f3b4ecedd4585d8/chrome/test/data/extensions/manifest_tests/web_accessible_resources_none.json
[rename] https://crrev.com/7a1b3bb0f7aa68093639da976f3b4ecedd4585d8/chrome/test/data/extensions/manifest_tests/web_accessible_resources_pattern.json
[rename] https://crrev.com/7a1b3bb0f7aa68093639da976f3b4ecedd4585d8/chrome/test/data/extensions/manifest_tests/web_accessible_resources_single.json
[rename] https://crrev.com/7a1b3bb0f7aa68093639da976f3b4ecedd4585d8/chrome/test/data/extensions/manifest_tests/web_accessible_resources_wildcard.json
[modify] https://crrev.com/7a1b3bb0f7aa68093639da976f3b4ecedd4585d8/extensions/browser/extension_protocols.cc
[modify] https://crrev.com/7a1b3bb0f7aa68093639da976f3b4ecedd4585d8/extensions/browser/url_request_util.cc
[modify] https://crrev.com/7a1b3bb0f7aa68093639da976f3b4ecedd4585d8/extensions/common/manifest_handlers/web_accessible_resources_info.cc

Project Member

Comment 6 by bugdroid1@chromium.org, Mar 27 2018

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

commit 60c784b759508ed36a644304b541f0f10e61f1dd
Author: Ben Wells <benwells@chromium.org>
Date: Tue Mar 27 04:34:58 2018

Revert "[Extensions] Remove manifest v1 support for accessible resources"

This reverts commit 7a1b3bb0f7aa68093639da976f3b4ecedd4585d8.

Reason for revert: Seems to have caused memory failures. Sample failure:
https://ci.chromium.org/buildbot/chromium.memory/Linux%20MSan%20Tests/8760
with this in the stack
views::WidgetDelegate::GetAccessibleWindowTitle

Original change's description:
> [Extensions] Remove manifest v1 support for accessible resources
> 
> In manifest version 1, all extension resources were considered
> accessible by the web (i.e., could be embedded within or
> requested by a web page). In manifest v2, only resources
> explicitly specified in the web_accessible_resources key are
> accessible. Remove support for manifest v1, and always check
> the web accessible resources.
> 
> Update unit tests to migrate relevant tests and remove tests for
> manifest v1-specific behavior.
> 
> Bug:  816677 ,  816679 
> Change-Id: Id0dd3ef75cd5d49e3f87e45ac3a8b19a00391146
> Reviewed-on: https://chromium-review.googlesource.com/953177
> Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
> Reviewed-by: Karan Bhatia <karandeepb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#545898}

TBR=rdevlin.cronin@chromium.org,karandeepb@chromium.org

Change-Id: Ifae57fc0f5cb2b738d48527af5e20c19eac5b0a9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  816677 ,  816679 
Reviewed-on: https://chromium-review.googlesource.com/981336
Reviewed-by: Ben Wells <benwells@chromium.org>
Commit-Queue: Ben Wells <benwells@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546010}
[modify] https://crrev.com/60c784b759508ed36a644304b541f0f10e61f1dd/chrome/browser/extensions/extension_protocols_unittest.cc
[modify] https://crrev.com/60c784b759508ed36a644304b541f0f10e61f1dd/chrome/common/extensions/manifest_tests/extension_manifests_web_accessible_resources_unittest.cc
[modify] https://crrev.com/60c784b759508ed36a644304b541f0f10e61f1dd/chrome/renderer/extensions/resource_request_policy.cc
[rename] https://crrev.com/60c784b759508ed36a644304b541f0f10e61f1dd/chrome/test/data/extensions/manifest_tests/web_accessible_resources_1.json
[rename] https://crrev.com/60c784b759508ed36a644304b541f0f10e61f1dd/chrome/test/data/extensions/manifest_tests/web_accessible_resources_2.json
[copy] https://crrev.com/60c784b759508ed36a644304b541f0f10e61f1dd/chrome/test/data/extensions/manifest_tests/web_accessible_resources_3.json
[add] https://crrev.com/60c784b759508ed36a644304b541f0f10e61f1dd/chrome/test/data/extensions/manifest_tests/web_accessible_resources_4.json
[rename] https://crrev.com/60c784b759508ed36a644304b541f0f10e61f1dd/chrome/test/data/extensions/manifest_tests/web_accessible_resources_5.json
[rename] https://crrev.com/60c784b759508ed36a644304b541f0f10e61f1dd/chrome/test/data/extensions/manifest_tests/web_accessible_resources_6.json
[modify] https://crrev.com/60c784b759508ed36a644304b541f0f10e61f1dd/extensions/browser/extension_protocols.cc
[modify] https://crrev.com/60c784b759508ed36a644304b541f0f10e61f1dd/extensions/browser/url_request_util.cc
[modify] https://crrev.com/60c784b759508ed36a644304b541f0f10e61f1dd/extensions/common/manifest_handlers/web_accessible_resources_info.cc

Project Member

Comment 7 by bugdroid1@chromium.org, Mar 27 2018

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

commit f43c33174eff48032a5c6e88fd0e872c27478245
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Tue Mar 27 19:54:17 2018

Reland "[Extensions] Remove manifest v1 support for accessible resources"

This is a reland of 7a1b3bb0f7aa68093639da976f3b4ecedd4585d8

TBR=karandeepb@chromium.org (reland with no changes)

Original change's description:
> [Extensions] Remove manifest v1 support for accessible resources
>
> In manifest version 1, all extension resources were considered
> accessible by the web (i.e., could be embedded within or
> requested by a web page). In manifest v2, only resources
> explicitly specified in the web_accessible_resources key are
> accessible. Remove support for manifest v1, and always check
> the web accessible resources.
>
> Update unit tests to migrate relevant tests and remove tests for
> manifest v1-specific behavior.
>
> Bug:  816677 ,  816679 
> Change-Id: Id0dd3ef75cd5d49e3f87e45ac3a8b19a00391146
> Reviewed-on: https://chromium-review.googlesource.com/953177
> Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
> Reviewed-by: Karan Bhatia <karandeepb@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#545898}

Bug:  816677 ,  816679 
Change-Id: Ic26fb161878df83c40e92e2fa19dd3f698b4d62c
Reviewed-on: https://chromium-review.googlesource.com/981090
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Karan Bhatia <karandeepb@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#546215}
[modify] https://crrev.com/f43c33174eff48032a5c6e88fd0e872c27478245/chrome/browser/extensions/extension_protocols_unittest.cc
[modify] https://crrev.com/f43c33174eff48032a5c6e88fd0e872c27478245/chrome/common/extensions/manifest_tests/extension_manifests_web_accessible_resources_unittest.cc
[modify] https://crrev.com/f43c33174eff48032a5c6e88fd0e872c27478245/chrome/renderer/extensions/resource_request_policy.cc
[delete] https://crrev.com/5122b0ecf9510e1ce4794f6ef408c54c68c3ba28/chrome/test/data/extensions/manifest_tests/web_accessible_resources_3.json
[delete] https://crrev.com/5122b0ecf9510e1ce4794f6ef408c54c68c3ba28/chrome/test/data/extensions/manifest_tests/web_accessible_resources_4.json
[rename] https://crrev.com/f43c33174eff48032a5c6e88fd0e872c27478245/chrome/test/data/extensions/manifest_tests/web_accessible_resources_none.json
[rename] https://crrev.com/f43c33174eff48032a5c6e88fd0e872c27478245/chrome/test/data/extensions/manifest_tests/web_accessible_resources_pattern.json
[rename] https://crrev.com/f43c33174eff48032a5c6e88fd0e872c27478245/chrome/test/data/extensions/manifest_tests/web_accessible_resources_single.json
[rename] https://crrev.com/f43c33174eff48032a5c6e88fd0e872c27478245/chrome/test/data/extensions/manifest_tests/web_accessible_resources_wildcard.json
[modify] https://crrev.com/f43c33174eff48032a5c6e88fd0e872c27478245/extensions/browser/extension_protocols.cc
[modify] https://crrev.com/f43c33174eff48032a5c6e88fd0e872c27478245/extensions/browser/url_request_util.cc
[modify] https://crrev.com/f43c33174eff48032a5c6e88fd0e872c27478245/extensions/common/manifest_handlers/web_accessible_resources_info.cc

I just opened a duplicate as there are still v1 manifests in the store.....here is an example of one that's been around for years that just broke with 67.0.3381.1 DEV:

tabs2end (fdnmndmjohfdibaimhghhlblfnijdkac)

Not a huge deal, but just wanted to point out that the statement & assumption above about v1's being removed might not (yet) be quite there.

Comment 9 by ajha@chromium.org, Mar 30 2018

 Issue 827428  has been merged into this issue.
Cc: jawag@chromium.org
Thanks for pointing this out, Collin!

jawag@, I thought we confirmed that there were no more manifest v1 extensions in the store - looks like some of these slipped through.  Can we re-check?  Likely, we'll still want to remove support (it's been a loooong time deprecated - years and years), but we should make sure we're aware of what will break.
Project Member

Comment 11 by bugdroid1@chromium.org, Mar 30 2018

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

commit 2ae7902675b313bf00bbbff28f1b8bf4d02bb81e
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Fri Mar 30 23:45:53 2018

[Extensions] Remove manifest v1-restricted features

Features can be restricted to a maximum manifest version. Remove all
features restricted to manifest v1. In practice, this only includes
the "background_page" manifest feature.

Bug:  816677 
Change-Id: I6ecea6c04f3afffc8c01848dc892683c0b63d29e
Reviewed-on: https://chromium-review.googlesource.com/953174
Reviewed-by: Karan Bhatia <karandeepb@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547323}
[modify] https://crrev.com/2ae7902675b313bf00bbbff28f1b8bf4d02bb81e/chrome/browser/chromeos/extensions/device_local_account_management_policy_provider.cc
[modify] https://crrev.com/2ae7902675b313bf00bbbff28f1b8bf4d02bb81e/chrome/common/extensions/manifest_tests/extension_manifests_background_unittest.cc
[modify] https://crrev.com/2ae7902675b313bf00bbbff28f1b8bf4d02bb81e/chrome/common/extensions/manifest_unittest.cc
[delete] https://crrev.com/37fe03acd79555bce361981999dfc0570d5a07ad/chrome/test/data/extensions/manifest_tests/background_page_legacy.json
[modify] https://crrev.com/2ae7902675b313bf00bbbff28f1b8bf4d02bb81e/extensions/common/api/_manifest_features.json
[modify] https://crrev.com/2ae7902675b313bf00bbbff28f1b8bf4d02bb81e/extensions/common/manifest_constants.cc
[modify] https://crrev.com/2ae7902675b313bf00bbbff28f1b8bf4d02bb81e/extensions/common/manifest_constants.h
[modify] https://crrev.com/2ae7902675b313bf00bbbff28f1b8bf4d02bb81e/extensions/common/manifest_handlers/background_info.cc

Project Member

Comment 12 by bugdroid1@chromium.org, Apr 5 2018

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

commit 7170a6c565f99bf283767fc9b8a65aa0f8b30f05
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Thu Apr 05 04:26:55 2018

[Extensions] Remove more CSP handling for manifest V1 extensions

https://crrev.com/0832751d354f1ed576ee729d9a2a133c1f047dbf missed a bit.

Bug:  816677 

Change-Id: I61216e400e1e5973ab9d8683c662269b84b9928f
Reviewed-on: https://chromium-review.googlesource.com/996386
Reviewed-by: Istiaque Ahmed <lazyboy@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#548322}
[modify] https://crrev.com/7170a6c565f99bf283767fc9b8a65aa0f8b30f05/extensions/common/manifest_handlers/csp_info.cc

Comment 13 by woxxom@gmail.com, Apr 9 2018

The manifest overview page in the docs still contains "background_page".
Might make sense to add a comment about it being invalid or maybe [re]move it altogether.
https://developer.chrome.com/extensions/manifest

Project Member

Comment 14 by bugdroid1@chromium.org, Apr 9 2018

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

commit 024713b6601f0967b3d40b541fe8f27ad3698663
Author: Devlin Cronin <rdevlin.cronin@chromium.org>
Date: Mon Apr 09 20:07:02 2018

[Chrome Driver] Remove support for legacy background page key

The "background_page" key in an extension's manifest is restricted
to manifest v1 extensions, which we are removing support for. Remove
the check in ChromeDriver that looks for this.

Bug:  816677 
Change-Id: I6835fecc261a4dbf8d2dafec47e3e32acddf107c
Reviewed-on: https://chromium-review.googlesource.com/988135
Reviewed-by: Jonathon Kereliuk <kereliuk@chromium.org>
Commit-Queue: Devlin <rdevlin.cronin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#549251}
[modify] https://crrev.com/024713b6601f0967b3d40b541fe8f27ad3698663/chrome/test/chromedriver/chrome_launcher.cc

Blockedon: 831909
Hey Devlin, while running a CrOS local build, I got this:

[30773:30773:0419/195727.627975:WARNING:extension.cc(761)] Failed to load extension.  Manifest JSON: {"default_locale":"en","description":"Chrome OS Mobile Activation Resources","incognito":"split","key":"MIGdMA0GCSqGSIb3DQEBAQUAA4GLADCBhwKBgQDITTAJ8zmgRjcmCRIAUbzlrSSzoWPBRY/kaBP3mxZ8nlCMljhQLDDKClnyGK6+krYq8/LayF4r0PR7g0Q27lwvw+asg1BFN+AL+suJqe4jJzxBK3GaMBRsBCCcwpAQw4F82zI9Hk0e6EqfrDq4ePNgv+PsI2MDbOuk3b1vS5oBjQIBIw==","name":"Mobile Activation","permissions":[],"version":"1.0"}

[30773:30773:0419/195727.628009:ERROR:component_loader.cc(256)] The 'manifest_version' key must be present and set to 2 (without quotes). See developer.chrome.com/extensions/manifestVersion.html for details.


You might want to take a look.
NextAction: 2018-04-20
@woxxom: thanks for the pointer; I'll make sure to update that tomorrow (and sorry for the delay!).

@karandeepb: Thanks for the heads-up.  I'll investigate tomorrow morning.  (I've never seen that extension, but apparently it's included in the source...)
The NextAction date has arrived: 2018-04-20
Following up:
- Documentation background_page entry filed as  issue 835451  (the server should be auto-updating that, but it's not).
- The "Mobile Activation" extension issue filed as  issue 835392 .
Status: Fixed (was: Started)
All tests are updated, and all v1-specific support is removed.   Issue 835451  is tracking the documentation issue.

Closing this out.

Comment 21 by woxxom@gmail.com, Apr 26 2018

PTAL at  issue 836993  - v1 extensions fail to install with a generic and thus obscure "invalid manifest" error.
Is it possible to display an explanation why this happens and how extension authors may fix it?
Also, can you run a DB query on CWS to find how many extensions are affected?

@21 I agree the "invalid manifest" error is rather unhelpful.  I think we should be able to update that to be more specific (displaying the error that would be seen from trying to load the unpacked extension).  One concern is whether that information is useful to an end user, which I'll leave to the webstore team to decide.  I've filed issue 837237 about that error.

Regarding looking at how many extensions are affected, jawag@ has looked into it and is handling next steps.  Unfortunately, the information about webstore contents isn't fully public, so I can't post stats here.

Sign in to add a comment