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

Issue 10689097: Enforce the 'requirements' field in manifests. (Closed)

Created:
8 years, 5 months ago by eaugusti
Modified:
8 years, 3 months ago
CC:
chromium-reviews, Aaron Boodman, mihaip-chromium-reviews_chromium.org
Base URL:
http://git.chromium.org/chromium/src.git@master
Visibility:
Public.

Description

Enforce the 'requirements' field in manifests. Implemented for the "plugins" and "3d" options. BUG=133027, 130405 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=155861

Patch Set 1 #

Total comments: 3

Patch Set 2 : All New! (Removed sync tracing code) #

Total comments: 4

Patch Set 3 : Conforming to the doc #

Total comments: 16

Patch Set 4 : #

Total comments: 71

Patch Set 5 : #

Total comments: 12

Patch Set 6 : No install warnings #

Patch Set 7 : Multiple Disable Reasons! #

Total comments: 1

Patch Set 8 : Changed plugins requirement schema #

Total comments: 15

Patch Set 9 : So Many Tests! #

Patch Set 10 : recheck on enable #

Total comments: 2

Patch Set 11 : #

Patch Set 12 : Merged with newer revision #

Patch Set 13 : #

Patch Set 14 : #

Patch Set 15 : Fixed UnpackedInstller issue #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1072 lines, -84 lines) Patch
M chrome/app/generated_resources.grd View 1 chunk +9 lines, -0 lines 0 comments Download
M chrome/browser/chromeos/extensions/file_manager_util.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/download/download_crx_util.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/extensions/app_process_apitest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/extensions/crx_installer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +20 lines, -0 lines 0 comments Download
M chrome/browser/extensions/crx_installer.cc View 1 2 3 4 5 6 7 8 9 10 11 5 chunks +36 lines, -6 lines 0 comments Download
M chrome/browser/extensions/extension_service.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/extensions/extension_service.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +16 lines, -1 line 0 comments Download
M chrome/browser/extensions/extension_service_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +118 lines, -1 line 0 comments Download
M chrome/browser/extensions/extension_system.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1 chunk +2 lines, -3 lines 0 comments Download
A chrome/browser/extensions/requirements_checker.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +58 lines, -0 lines 0 comments Download
A chrome/browser/extensions/requirements_checker.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +98 lines, -0 lines 0 comments Download
A chrome/browser/extensions/requirements_checker_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +205 lines, -0 lines 0 comments Download
M chrome/browser/extensions/unpacked_installer.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5 chunks +17 lines, -2 lines 0 comments Download
M chrome/browser/extensions/unpacked_installer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 9 chunks +46 lines, -19 lines 0 comments Download
M chrome/browser/sync/test/integration/sync_extension_helper.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -1 line 0 comments Download
M chrome/browser/ui/panels/base_panel_browser_test.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +3 lines, -1 line 0 comments Download
M chrome/browser/ui/panels/old_base_panel_browser_test.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +3 lines, -1 line 0 comments Download
M chrome/browser/ui/webui/extensions/extension_settings_handler.h View 1 2 3 4 5 6 7 8 9 10 4 chunks +17 lines, -5 lines 0 comments Download
M chrome/browser/ui/webui/extensions/extension_settings_handler.cc View 1 2 3 4 5 6 7 8 9 10 4 chunks +27 lines, -0 lines 0 comments Download
M chrome/browser/ui/webui/extensions/install_extension_handler.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/ui/webui/ntp/app_launcher_handler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +1 line, -0 lines 0 comments Download
M chrome/chrome_browser_extensions.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/chrome_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/common/extensions/extension.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 6 chunks +17 lines, -1 line 0 comments Download
M chrome/common/extensions/extension.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +85 lines, -25 lines 0 comments Download
M chrome/common/extensions/manifest_tests/extension_manifests_initvalue_unittest.cc View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -2 lines 0 comments Download
A chrome/common/extensions/manifest_tests/extension_manifests_requirements_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +80 lines, -0 lines 0 comments Download
D chrome/test/data/extensions/manifest_tests/init_invalid_requirements_1.json View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -5 lines 0 comments Download
D chrome/test/data/extensions/manifest_tests/init_invalid_requirements_2.json View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -7 lines 0 comments Download
M chrome/test/data/extensions/manifest_tests/init_valid_app_requirements.json View 1 2 3 4 5 6 7 8 1 chunk +2 lines, -2 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/requirements_invalid_3d.json View 1 2 3 4 5 6 7 8 1 chunk +8 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/requirements_invalid_3d_features.json View 1 2 3 4 5 6 7 8 1 chunk +10 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/requirements_invalid_3d_features_value.json View 1 2 3 4 5 6 7 8 1 chunk +10 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/requirements_invalid_3d_no_features.json View 1 2 3 4 5 6 7 8 1 chunk +10 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/requirements_invalid_keys.json View 1 2 3 4 5 6 7 8 1 chunk +10 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/requirements_invalid_plugins.json View 1 2 3 4 5 6 7 8 1 chunk +8 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/requirements_invalid_plugins_key.json View 1 2 3 4 5 6 7 8 1 chunk +10 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/requirements_invalid_plugins_value.json View 1 2 3 4 5 6 7 8 1 chunk +10 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/requirements_invalid_requirements.json View 1 2 3 4 5 6 7 8 1 chunk +6 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/requirements_npapi.json View 1 2 3 4 5 6 7 8 1 chunk +13 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/requirements_npapi_empty.json View 1 2 3 4 5 6 7 8 1 chunk +8 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/requirements_valid_empty.json View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/requirements_valid_full.json View 1 2 3 4 5 6 7 8 1 chunk +13 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/requirements/v1_good.pem View 1 2 3 4 5 6 7 8 1 chunk +16 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/requirements/v1_good/manifest.json View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/requirements/v2_bad_requirements/manifest.json View 1 2 3 4 5 6 7 8 1 chunk +10 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/requirements/v2_bad_requirements_and_permissions/manifest.json View 1 2 3 4 5 6 7 8 1 chunk +11 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/requirements/v3_bad_permissions/manifest.json View 1 2 3 4 5 6 7 8 1 chunk +6 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/requirements/v3_good/manifest.json View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download
A chrome/test/data/requirements_checker/no_requirements/manifest.json View 1 2 3 4 5 6 7 8 1 chunk +5 lines, -0 lines 0 comments Download
A chrome/test/data/requirements_checker/require_3d/manifest.json View 1 2 3 4 5 6 7 8 1 chunk +10 lines, -0 lines 0 comments Download
A chrome/test/data/requirements_checker/require_npapi/manifest.json View 1 2 3 4 5 6 7 8 1 chunk +10 lines, -0 lines 0 comments Download

Messages

Total messages: 28 (0 generated)
Aaron Boodman
http://codereview.chromium.org/10689097/diff/1/chrome/browser/extensions/extension_service.cc File chrome/browser/extensions/extension_service.cc (right): http://codereview.chromium.org/10689097/diff/1/chrome/browser/extensions/extension_service.cc#newcode1936 chrome/browser/extensions/extension_service.cc:1936: if (!requirements_provider_->Supports(*extension->manifest(), &error)) { Didn't it look like some ...
8 years, 5 months ago (2012-07-16 21:16:12 UTC) #1
eaugusti
Any suggestions on testing it?
8 years, 5 months ago (2012-07-20 00:37:30 UTC) #2
eaugusti
Also, the "plugins" requirements option is kind of weird. The "3d" states that it wants ...
8 years, 5 months ago (2012-07-20 00:39:43 UTC) #3
Mihai Parparita -not on Chrome
On Thu, Jul 19, 2012 at 5:39 PM, <eaugusti@chromium.org> wrote: > Also, the "plugins" requirements ...
8 years, 5 months ago (2012-07-20 00:46:08 UTC) #4
Aaron Boodman
Since this feature has turned out to be a lot more complicated than I thought, ...
8 years, 5 months ago (2012-07-22 17:46:25 UTC) #5
eaugusti
https://chromiumcodereview.appspot.com/10689097/diff/14001/chrome/browser/extensions/crx_installer.cc File chrome/browser/extensions/crx_installer.cc (right): https://chromiumcodereview.appspot.com/10689097/diff/14001/chrome/browser/extensions/crx_installer.cc#newcode405 chrome/browser/extensions/crx_installer.cc:405: UTF8ToUTF16(JoinString(errors, ' ')))); Errors should probably be joined and ...
8 years, 4 months ago (2012-07-26 23:24:13 UTC) #6
Aaron Boodman
Was this meant for me to review. GPUFeatureChecker is not included in this CL. http://codereview.chromium.org/10689097/diff/14001/chrome/browser/extensions/requirements_checker.cc ...
8 years, 4 months ago (2012-07-30 12:15:11 UTC) #7
eaugusti
Back to you. GPUFeatureChecker was already added in crrev.com/145058 https://chromiumcodereview.appspot.com/10689097/diff/14001/chrome/browser/extensions/requirements_checker.cc File chrome/browser/extensions/requirements_checker.cc (right): https://chromiumcodereview.appspot.com/10689097/diff/14001/chrome/browser/extensions/requirements_checker.cc#newcode55 chrome/browser/extensions/requirements_checker.cc:55: ...
8 years, 4 months ago (2012-07-30 20:03:17 UTC) #8
Aaron Boodman
Argh, I meant to finish this before you left PST time. Sorry for the high ...
8 years, 4 months ago (2012-08-01 03:58:54 UTC) #9
Aaron Boodman
http://codereview.chromium.org/10689097/diff/13021/chrome/browser/extensions/crx_installer.cc File chrome/browser/extensions/crx_installer.cc (right): http://codereview.chromium.org/10689097/diff/13021/chrome/browser/extensions/crx_installer.cc#newcode559 chrome/browser/extensions/crx_installer.cc:559: const_cast<Extension*>(extension_.get())->AddInstallWarnings( On 2012/08/01 03:58:54, Aaron Boodman wrote: > None ...
8 years, 4 months ago (2012-08-01 04:03:57 UTC) #10
Yoyo Zhou
http://codereview.chromium.org/10689097/diff/13021/chrome/browser/extensions/crx_installer.h File chrome/browser/extensions/crx_installer.h (right): http://codereview.chromium.org/10689097/diff/13021/chrome/browser/extensions/crx_installer.h#newcode207 chrome/browser/extensions/crx_installer.h:207: void RunRequirementsChecker(); On 2012/08/01 03:58:54, Aaron Boodman wrote: > ...
8 years, 4 months ago (2012-08-02 22:23:30 UTC) #11
eaugusti
https://chromiumcodereview.appspot.com/10689097/diff/13021/chrome/browser/extensions/crx_installer.cc File chrome/browser/extensions/crx_installer.cc (right): https://chromiumcodereview.appspot.com/10689097/diff/13021/chrome/browser/extensions/crx_installer.cc#newcode398 chrome/browser/extensions/crx_installer.cc:398: base::Bind(&CrxInstaller::RequirementsChecked, On 2012/08/01 03:58:54, Aaron Boodman wrote: > Why ...
8 years, 4 months ago (2012-08-03 01:06:25 UTC) #12
Aaron Boodman
nice http://codereview.chromium.org/10689097/diff/13021/chrome/browser/extensions/unpacked_installer.h File chrome/browser/extensions/unpacked_installer.h (right): http://codereview.chromium.org/10689097/diff/13021/chrome/browser/extensions/unpacked_installer.h#newcode54 chrome/browser/extensions/unpacked_installer.h:54: void RunRequirementsChecker(); On 2012/08/02 22:23:30, Yoyo Zhou wrote: ...
8 years, 4 months ago (2012-08-06 20:36:06 UTC) #13
eaugusti
I'm pretty sure I addressed all the issues over the last two patch sets, but ...
8 years, 4 months ago (2012-08-17 23:25:01 UTC) #14
Aaron Boodman
http://codereview.chromium.org/10689097/diff/17008/chrome/app/generated_resources.grd File chrome/app/generated_resources.grd (right): http://codereview.chromium.org/10689097/diff/17008/chrome/app/generated_resources.grd#newcode4562 chrome/app/generated_resources.grd:4562: + Cannot enable, not all requirements are met. It ...
8 years, 4 months ago (2012-08-21 23:04:21 UTC) #15
eaugusti
http://codereview.chromium.org/10689097/diff/17008/chrome/app/generated_resources.grd File chrome/app/generated_resources.grd (right): http://codereview.chromium.org/10689097/diff/17008/chrome/app/generated_resources.grd#newcode4562 chrome/app/generated_resources.grd:4562: + Cannot enable, not all requirements are met. On ...
8 years, 4 months ago (2012-08-24 19:30:52 UTC) #16
eaugusti
Now recheck the requirements before enabling. Also, I removed the extra crx files.
8 years, 3 months ago (2012-08-31 00:47:49 UTC) #17
Aaron Boodman
LGTM - land it already http://codereview.chromium.org/10689097/diff/56001/chrome/browser/ui/webui/extensions/extension_settings_handler.cc File chrome/browser/ui/webui/extensions/extension_settings_handler.cc (right): http://codereview.chromium.org/10689097/diff/56001/chrome/browser/ui/webui/extensions/extension_settings_handler.cc#newcode81 chrome/browser/ui/webui/extensions/extension_settings_handler.cc:81: requirements_checker_(new extensions::RequirementsChecker()) { Nit: ...
8 years, 3 months ago (2012-09-04 21:48:57 UTC) #18
eaugusti
jhawkins - Can you look over the c/b/ui (only real change is in extension_settings_handler). http://codereview.chromium.org/10689097/diff/56001/chrome/browser/ui/webui/extensions/extension_settings_handler.cc ...
8 years, 3 months ago (2012-09-04 23:52:15 UTC) #19
James Hawkins
c/b/ui LGTM
8 years, 3 months ago (2012-09-05 00:01:51 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/eaugusti@chromium.org/10689097/59001
8 years, 3 months ago (2012-09-05 03:50:33 UTC) #21
commit-bot: I haz the power
Failed to apply patch for chrome/browser/extensions/unpacked_installer.cc: While running patch -p1 --forward --force; patching file chrome/browser/extensions/unpacked_installer.cc ...
8 years, 3 months ago (2012-09-05 03:50:49 UTC) #22
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/eaugusti@chromium.org/10689097/49006
8 years, 3 months ago (2012-09-05 18:44:56 UTC) #23
commit-bot: I haz the power
Try job failure for 10689097-49006 (retry) on linux_rel for step "browser_tests". It's a second try, ...
8 years, 3 months ago (2012-09-05 21:35:55 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/eaugusti@chromium.org/10689097/51004
8 years, 3 months ago (2012-09-07 16:55:43 UTC) #25
commit-bot: I haz the power
Failed to apply patch for chrome/browser/extensions/app_process_apitest.cc: While running patch -p1 --forward --force; patching file chrome/browser/extensions/app_process_apitest.cc ...
8 years, 3 months ago (2012-09-07 16:55:53 UTC) #26
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/eaugusti@chromium.org/10689097/55065
8 years, 3 months ago (2012-09-07 21:33:36 UTC) #27
commit-bot: I haz the power
8 years, 3 months ago (2012-09-07 23:02:58 UTC) #28
Try job failure for 10689097-55065 (retry) on linux_rel for step
"browser_tests".
It's a second try, previously, step "browser_tests" failed.
http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=linux_rel&...

Powered by Google App Engine
This is Rietveld 408576698