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

Issue 13971005: Basic multi-module support (Closed)

Created:
7 years, 8 months ago by elijahtaylor1
Modified:
7 years, 7 months ago
CC:
chromium-reviews, Aaron Boodman, chromium-apps-reviews_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Visibility:
Public.

Description

Basic multi-module support Allows resource export from one extension that can be imported into another extension's namespace. BUG=236044 TEST=browser_tests ExtensionApiTest.SharedModule TEST=unit_tests SharedModuleManifestTest.* Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=197201

Patch Set 1 #

Total comments: 2

Patch Set 2 : check imports on install, add shared_module type #

Patch Set 3 : Factor out shared module into its own handler #

Total comments: 7

Patch Set 4 : add unit tests for manifest handler #

Patch Set 5 : add browser test #

Total comments: 2

Patch Set 6 : rebase #

Patch Set 7 : simplify browser test #

Patch Set 8 : fix tests #

Patch Set 9 : fix windows build #

Patch Set 10 : fix windows build again #

Patch Set 11 : Fix copyright for presubmit #

Unified diffs Side-by-side diffs Delta from patch set Stats (+801 lines, -29 lines) Patch
M chrome/app/generated_resources.grd View 1 chunk +6 lines, -0 lines 0 comments Download
M chrome/browser/extensions/admin_policy.cc View 1 1 chunk +1 line, -0 lines 0 comments Download
M chrome/browser/extensions/chrome_manifest_parser.cc View 1 2 2 chunks +2 lines, -0 lines 0 comments Download
M chrome/browser/extensions/crx_installer.h View 1 1 chunk +1 line, -1 line 0 comments Download
M chrome/browser/extensions/crx_installer.cc View 1 2 3 4 chunks +33 lines, -3 lines 0 comments Download
M chrome/browser/extensions/extension_protocols.cc View 1 2 3 4 5 6 7 8 9 6 chunks +50 lines, -4 lines 0 comments Download
A chrome/browser/extensions/shared_module_apitest.cc View 1 2 3 4 5 6 1 chunk +26 lines, -0 lines 0 comments Download
M chrome/browser/renderer_host/chrome_render_view_host_observer.cc View 1 1 chunk +1 line, -0 lines 0 comments Download
M chrome/chrome_common.gypi View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M chrome/chrome_tests.gypi View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M chrome/chrome_tests_unit.gypi View 1 2 3 4 5 1 chunk +1 line, -0 lines 0 comments Download
M chrome/common/extensions/api/_manifest_features.json View 1 2 3 4 5 7 chunks +28 lines, -16 lines 0 comments Download
M chrome/common/extensions/extension_constants.h View 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/common/extensions/extension_constants.cc View 1 chunk +3 lines, -0 lines 0 comments Download
M chrome/common/extensions/extension_manifest_constants.h View 1 2 3 4 5 6 chunks +12 lines, -0 lines 0 comments Download
M chrome/common/extensions/extension_manifest_constants.cc View 1 2 3 4 5 6 chunks +20 lines, -0 lines 0 comments Download
M chrome/common/extensions/features/base_feature_provider_unittest.cc View 1 2 3 4 5 6 7 2 chunks +3 lines, -1 line 0 comments Download
M chrome/common/extensions/features/simple_feature.cc View 1 2 chunks +3 lines, -0 lines 0 comments Download
M chrome/common/extensions/features/simple_feature_unittest.cc View 1 2 3 4 5 6 7 1 chunk +3 lines, -1 line 0 comments Download
M chrome/common/extensions/manifest.h View 1 2 chunks +3 lines, -1 line 0 comments Download
M chrome/common/extensions/manifest.cc View 1 1 chunk +2 lines, -0 lines 0 comments Download
A chrome/common/extensions/manifest_handlers/shared_module_info.h View 1 2 3 1 chunk +71 lines, -0 lines 0 comments Download
A chrome/common/extensions/manifest_handlers/shared_module_info.cc View 1 2 3 4 1 chunk +229 lines, -0 lines 0 comments Download
A chrome/common/extensions/manifest_handlers/shared_module_manifest_unittest.cc View 1 2 3 4 1 chunk +117 lines, -0 lines 0 comments Download
M chrome/common/extensions/manifest_unittest.cc View 1 2 chunks +9 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/api_test/shared_module/import_non_existent/manifest.json View 1 2 3 4 1 chunk +9 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/api_test/shared_module/import_pass/check.js View 1 2 3 4 5 6 7 8 9 10 1 chunk +11 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/api_test/shared_module/import_pass/main.html View 1 2 3 4 1 chunk +5 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/api_test/shared_module/import_pass/manifest.json View 1 2 3 4 1 chunk +14 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/api_test/shared_module/import_wrong_version/manifest.json View 1 2 3 4 1 chunk +10 lines, -0 lines 0 comments Download
A + chrome/test/data/extensions/api_test/shared_module/shared/fail.js View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
A chrome/test/data/extensions/api_test/shared_module/shared/manifest.json View 1 2 3 4 1 chunk +11 lines, -0 lines 0 comments Download
A + chrome/test/data/extensions/api_test/shared_module/shared/pass.js View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
A chrome/test/data/extensions/manifest_tests/shared_module_export.json View 1 2 3 1 chunk +11 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/shared_module_export_and_import.json View 1 2 3 1 chunk +14 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/shared_module_export_foo.json View 1 2 3 1 chunk +11 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/shared_module_export_not_dict.json View 1 2 3 1 chunk +9 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/shared_module_export_resource_not_string.json View 1 2 3 1 chunk +12 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/shared_module_export_resources_not_list.json View 1 2 3 1 chunk +9 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/shared_module_import.json View 1 2 3 1 chunk +14 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/shared_module_import_invalid_id.json View 1 2 3 1 chunk +10 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/shared_module_import_invalid_version.json View 1 2 3 1 chunk +11 lines, -0 lines 0 comments Download
A chrome/test/data/extensions/manifest_tests/shared_module_import_not_list.json View 1 2 3 1 chunk +8 lines, -0 lines 0 comments Download

Messages

Total messages: 19 (0 generated)
elijahtaylor1
There are a few things missing from this CL so far, but I would like ...
7 years, 8 months ago (2013-04-24 01:03:46 UTC) #1
Matt Perry
The code itself looks good. I think it should live outside the Extension class, though. ...
7 years, 8 months ago (2013-04-24 21:22:11 UTC) #2
elijahtaylor1
Thanks for the feedback, I've updated to move the code like you suggested. I also ...
7 years, 8 months ago (2013-04-25 19:42:57 UTC) #3
Matt Perry
https://codereview.chromium.org/13971005/diff/8001/chrome/browser/extensions/crx_installer.cc File chrome/browser/extensions/crx_installer.cc (right): https://codereview.chromium.org/13971005/diff/8001/chrome/browser/extensions/crx_installer.cc#newcode414 chrome/browser/extensions/crx_installer.cc:414: if (SharedModuleInfo::ImportsModules(extension_)) { What if you uninstall a shared ...
7 years, 8 months ago (2013-04-25 20:16:31 UTC) #4
elijahtaylor1
https://codereview.chromium.org/13971005/diff/8001/chrome/browser/extensions/crx_installer.cc File chrome/browser/extensions/crx_installer.cc (right): https://codereview.chromium.org/13971005/diff/8001/chrome/browser/extensions/crx_installer.cc#newcode414 chrome/browser/extensions/crx_installer.cc:414: if (SharedModuleInfo::ImportsModules(extension_)) { On 2013/04/25 20:16:31, Matt Perry wrote: ...
7 years, 8 months ago (2013-04-25 21:01:28 UTC) #5
Matt Perry
lgtm https://codereview.chromium.org/13971005/diff/8001/chrome/browser/extensions/crx_installer.cc File chrome/browser/extensions/crx_installer.cc (right): https://codereview.chromium.org/13971005/diff/8001/chrome/browser/extensions/crx_installer.cc#newcode414 chrome/browser/extensions/crx_installer.cc:414: if (SharedModuleInfo::ImportsModules(extension_)) { On 2013/04/25 21:01:28, elijahtaylor1 wrote: ...
7 years, 8 months ago (2013-04-25 21:07:23 UTC) #6
elijahtaylor1
https://codereview.chromium.org/13971005/diff/8001/chrome/common/extensions/manifest.h File chrome/common/extensions/manifest.h (right): https://codereview.chromium.org/13971005/diff/8001/chrome/common/extensions/manifest.h#newcode59 chrome/common/extensions/manifest.h:59: TYPE_SHARED_MODULE On 2013/04/25 21:07:23, Matt Perry wrote: > Does ...
7 years, 8 months ago (2013-04-25 21:26:24 UTC) #7
Matt Perry
On 2013/04/25 21:26:24, elijahtaylor1 wrote: > https://codereview.chromium.org/13971005/diff/8001/chrome/common/extensions/manifest.h > File chrome/common/extensions/manifest.h (right): > > https://codereview.chromium.org/13971005/diff/8001/chrome/common/extensions/manifest.h#newcode59 > ...
7 years, 8 months ago (2013-04-25 22:25:53 UTC) #8
asargent_no_longer_on_chrome
lgtm CL description nit: this is a big enough feature that it probably warrants having ...
7 years, 8 months ago (2013-04-26 21:10:40 UTC) #9
elijahtaylor1
On 2013/04/26 21:10:40, Antony Sargent wrote: > lgtm > > CL description nit: this is ...
7 years, 8 months ago (2013-04-26 23:20:47 UTC) #10
Matt Perry
Good tests! LGTM
7 years, 8 months ago (2013-04-26 23:43:34 UTC) #11
asargent_no_longer_on_chrome
https://codereview.chromium.org/13971005/diff/25001/chrome/browser/extensions/shared_module_apitest.cc File chrome/browser/extensions/shared_module_apitest.cc (right): https://codereview.chromium.org/13971005/diff/25001/chrome/browser/extensions/shared_module_apitest.cc#newcode22 chrome/browser/extensions/shared_module_apitest.cc:22: EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); I think you might be able ...
7 years, 8 months ago (2013-04-27 00:13:50 UTC) #12
elijahtaylor1
https://codereview.chromium.org/13971005/diff/25001/chrome/browser/extensions/shared_module_apitest.cc File chrome/browser/extensions/shared_module_apitest.cc (right): https://codereview.chromium.org/13971005/diff/25001/chrome/browser/extensions/shared_module_apitest.cc#newcode22 chrome/browser/extensions/shared_module_apitest.cc:22: EXPECT_TRUE(catcher.GetNextResult()) << catcher.message(); Good call, Done
7 years, 8 months ago (2013-04-27 00:26:09 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/elijahtaylor@chromium.org/13971005/51001
7 years, 7 months ago (2013-04-29 16:58:03 UTC) #14
commit-bot: I haz the power
Retried try job too often on chromium_presubmit for step(s) presubmit http://build.chromium.org/p/tryserver.chromium/buildstatus?builder=chromium_presubmit&number=177
7 years, 7 months ago (2013-04-29 17:07:08 UTC) #15
elijahtaylor1
@thakis: PTAL for OWNERS approval for chrome/browser/renderer_host/chrome_render_view_host_observer.cc
7 years, 7 months ago (2013-04-29 17:33:53 UTC) #16
Nico
lgtm
7 years, 7 months ago (2013-04-29 17:46:32 UTC) #17
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-status.appspot.com/cq/elijahtaylor@chromium.org/13971005/69002
7 years, 7 months ago (2013-04-29 19:09:26 UTC) #18
commit-bot: I haz the power
7 years, 7 months ago (2013-04-30 01:04:38 UTC) #19
Message was sent while issue was closed.
Change committed as 197201

Powered by Google App Engine
This is Rietveld 408576698