|
|
Created:
3 years, 10 months ago by Noel Gordon Modified:
3 years, 8 months ago CC:
Aaron Boodman, abarth-chromium, catmullings, chromium-apps-reviews_chromium.org, chromium-reviews, darin (slow to review), darin-cc_chromium.org, extensions-reviews_chromium.org, jam, qsr+mojo_chromium.org, Devlin, viettrungluu+watch_chromium.org, yzshen+watch_chromium.org Target Ref:
refs/heads/master Project:
chromium Visibility:
Public. |
DescriptionConvert utility process extension ParseUpdate IPC to mojo
Add ManifestParser mojo, used to parse an extensions update XML
manifest document, and expose it to the browser via the utility
process policy file. Change the caller to use a utility process
mojo client. Add mojo structure traits to handle the API return
values UpdateManifest::{Results,Result}. Remove the IPC message
file: no longer needed or used.
Covered by tests: ExtensionManagementTest.ExternalUrlUpdate and
ExtensionManagementTest.AutoUpdate and others. Refer to [1] for
a complete list.
[1] https://codereview.chromium.org/2761763002
BUG=691410
Review-Url: https://codereview.chromium.org/2699663003
Cr-Commit-Position: refs/heads/master@{#460280}
Committed: https://chromium.googlesource.com/chromium/src/+/825202ab2ec8a1d8eba2a08f481773e07641dda3
Patch Set 1 #Patch Set 2 : Mojo Traits: Add an out-of-line UpdateManifest::Results copy constructor. #Patch Set 3 : Rename updater to parser. #Patch Set 4 : Workaround bot patch apply issue. #ifdef 0 the code to be git rm-ed. #Patch Set 5 #Patch Set 6 : Sync to ToT, see if git apply issue and try jobs are happy. #Patch Set 7 : Sync up with dependent patch set. #Patch Set 8 : Dependent patch http://crrev.com/2697463002 landed: sync up. #
Total comments: 8
Patch Set 9 : Add Results operator=, move static helpers into a namespace. #
Total comments: 2
Patch Set 10 : Add comment about Results* being null on failure. #Patch Set 11 : Another change landed in this area, sync up to ToT. #
Total comments: 8
Patch Set 12 : Extensions review comments. #Messages
Total messages: 136 (113 generated)
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Convert utility process extension ParseUpdate IPC to mojo BUG=691410 patch from issue 2697463002 at patchset 80001 (http://crrev.com/2697463002#ps80001) ========== to ========== Convert utility process extension ParseUpdate IPC to mojo Depends on http://crrev.com/2697463002 BUG=691410 patch from issue 2697463002 at patchset 80001 (http://crrev.com/2697463002#ps80001) ==========
Description was changed from ========== Convert utility process extension ParseUpdate IPC to mojo Depends on http://crrev.com/2697463002 BUG=691410 patch from issue 2697463002 at patchset 80001 (http://crrev.com/2697463002#ps80001) ========== to ========== Convert utility process extension ParseUpdate IPC to mojo Depends on http://crrev.com/2697463002 BUG=691410 patch from issue 2697463002 at patchset ps120001 (https://codereview.chromium.org/2697463002/#ps120001) ==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...)
On 2017/02/16 01:53:40, commit-bot: I haz the power wrote: > Dry run: Try jobs failed on following builders: > mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, > http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...) Mojo struct traits: UpdateManifest::Results has an inline copy constructor. Clang compilers do not like it, nor does Chromium style. Fix: define the copy constructor in the .h, and provide an out-of-line impl in the .cc
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Convert utility process extension ParseUpdate IPC to mojo Depends on http://crrev.com/2697463002 BUG=691410 patch from issue 2697463002 at patchset ps120001 (https://codereview.chromium.org/2697463002/#ps120001) ========== to ========== Convert utility process extension ParseUpdate IPC to mojo Depends on http://crrev.com/2697463002 BUG=691410 ==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_clang_dbg_recipe on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_clan...) android_compile_dbg on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_comp...) ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bui...) ios-simulator-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator-xco...) mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...) mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds...) ios-device-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device-xcode-...) ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bui...)
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_tsan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bui...)
The CQ bit was checked by noel@chromium.org to run a CQ dry run
The CQ bit was unchecked by noel@chromium.org
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_asan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) linux_chromium_tsan_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...) ios-device-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device-xcode-...) ios-simulator-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator-xco...) mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...) mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
Patchset #4 (id:60001) has been deleted
Patchset #4 (id:80001) has been deleted
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds...) ios-device-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device-xcode-...) ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bui...) ios-simulator-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator-xco...) mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds...) ios-device-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device-xcode-...) ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bui...) ios-simulator-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator-xco...) mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...) mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: android_arm64_dbg_recipe on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/android_arm6...) ios-device on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-device/builds...) ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bui...) ios-simulator-xcode-clang on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator-xco...) mac_chromium_compile_dbg_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_comp...) mac_chromium_rel_ng on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/mac_chromium_rel_...)
The CQ bit was unchecked by noel@chromium.org
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Patchset #5 (id:120001) has been deleted
Patchset #5 (id:140001) has been deleted
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_chromium_rel_ng on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_chromium_rel_...)
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: win_clang on master.tryserver.chromium.win (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.win/builders/win_clang/builds/...)
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: linux_chromium_chromeos_ozone_rel_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_chromium_...)
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Patchset #3 (id:40001) has been deleted
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
noel@chromium.org changed reviewers: + mbarbella@chromium.org, sammc@chromium.org, tibell@chromium.org
+ sammc, tibell for mojo, +martin for IPC security
https://codereview.chromium.org/2699663003/diff/240001/extensions/common/upda... File extensions/common/update_manifest.h (right): https://codereview.chromium.org/2699663003/diff/240001/extensions/common/upda... extensions/common/update_manifest.h:67: Results(const Results& other); Why? https://codereview.chromium.org/2699663003/diff/240001/extensions/utility/uti... File extensions/utility/utility_handler.h (right): https://codereview.chromium.org/2699663003/diff/240001/extensions/utility/uti... extensions/utility/utility_handler.h:16: static void UtilityThreadStarted(); These should be functions.
https://codereview.chromium.org/2699663003/diff/240001/extensions/common/upda... File extensions/common/update_manifest.h (right): https://codereview.chromium.org/2699663003/diff/240001/extensions/common/upda... extensions/common/update_manifest.h:67: Results(const Results& other); On 2017/03/20 04:22:06, Sam McNally wrote: > Why? So the Results in the utility process can be passed directly into the mojo callback. https://codereview.chromium.org/2699663003/diff/240001/extensions/utility/uti... File extensions/utility/utility_handler.h (right): https://codereview.chromium.org/2699663003/diff/240001/extensions/utility/uti... extensions/utility/utility_handler.h:16: static void UtilityThreadStarted(); On 2017/03/20 04:22:06, Sam McNally wrote: > These should be functions. They are functions, so perhaps you're asking about something else.
https://codereview.chromium.org/2699663003/diff/240001/extensions/common/upda... File extensions/common/update_manifest.h (right): https://codereview.chromium.org/2699663003/diff/240001/extensions/common/upda... extensions/common/update_manifest.h:67: Results(const Results& other); On 2017/03/20 05:53:57, noel gordon wrote: > On 2017/03/20 04:22:06, Sam McNally wrote: > > Why? > > So the Results in the utility process can be passed directly into the mojo > callback. Add an assignment operator too. https://codereview.chromium.org/2699663003/diff/240001/extensions/utility/uti... File extensions/utility/utility_handler.h (right): https://codereview.chromium.org/2699663003/diff/240001/extensions/utility/uti... extensions/utility/utility_handler.h:16: static void UtilityThreadStarted(); On 2017/03/20 05:53:57, noel gordon wrote: > On 2017/03/20 04:22:06, Sam McNally wrote: > > These should be functions. > > They are functions, so perhaps you're asking about something else. https://google.github.io/styleguide/cppguide.html#Nonmember,_Static_Member,_a...
https://codereview.chromium.org/2699663003/diff/240001/extensions/common/upda... File extensions/common/update_manifest.h (right): https://codereview.chromium.org/2699663003/diff/240001/extensions/common/upda... extensions/common/update_manifest.h:67: Results(const Results& other); On 2017/03/20 05:56:26, Sam McNally wrote: > On 2017/03/20 05:53:57, noel gordon wrote: > > On 2017/03/20 04:22:06, Sam McNally wrote: > > > Why? > > > > So the Results in the utility process can be passed directly into the mojo > > callback. > > Add an assignment operator too. Ok, added Results operator=(). https://codereview.chromium.org/2699663003/diff/240001/extensions/utility/uti... File extensions/utility/utility_handler.h (right): https://codereview.chromium.org/2699663003/diff/240001/extensions/utility/uti... extensions/utility/utility_handler.h:16: static void UtilityThreadStarted(); On 2017/03/20 05:56:26, Sam McNally wrote: > On 2017/03/20 05:53:57, noel gordon wrote: > > On 2017/03/20 04:22:06, Sam McNally wrote: > > > These should be functions. > > > > They are functions, so perhaps you're asking about something else. > > https://google.github.io/styleguide/cppguide.html#Nonmember,_Static_Member,_a... Done, moved these helpers into namespace utility_handler.
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Convert utility process extension ParseUpdate IPC to mojo Depends on http://crrev.com/2697463002 BUG=691410 ========== to ========== Convert utility process extension ParseUpdate IPC to mojo BUG=691410 ==========
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
lgtm https://codereview.chromium.org/2699663003/diff/260001/extensions/browser/upd... File extensions/browser/updater/safe_manifest_parser.h (right): https://codereview.chromium.org/2699663003/diff/260001/extensions/browser/upd... extensions/browser/updater/safe_manifest_parser.h:16: // |callback| with the results. Runs on the UI thread. Perhaps add: The results will be null on failure.
The CQ bit was checked by noel@chromium.org to run a CQ dry run
https://codereview.chromium.org/2699663003/diff/260001/extensions/browser/upd... File extensions/browser/updater/safe_manifest_parser.h (right): https://codereview.chromium.org/2699663003/diff/260001/extensions/browser/upd... extensions/browser/updater/safe_manifest_parser.h:16: // |callback| with the results. Runs on the UI thread. On 2017/03/20 22:55:36, tibell wrote: > Perhaps add: The results will be null on failure. Done.
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
security lgtm
lgtm
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
noel@chromium.org changed reviewers: + rdevlin.cronin@chromium.org
+devlin for extensions.
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios-simulator on master.tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios-simulator/bui...)
lgtm https://codereview.chromium.org/2699663003/diff/300001/extensions/browser/upd... File extensions/browser/updater/safe_manifest_parser.cc (right): https://codereview.chromium.org/2699663003/diff/300001/extensions/browser/upd... extensions/browser/updater/safe_manifest_parser.cc:22: using ResultCallback = base::Callback<void(const UpdateManifest::Results*)>; Can we move this into the .h to use it in the function declaration as well? https://codereview.chromium.org/2699663003/diff/300001/extensions/common/mani... File extensions/common/manifest_parser.typemap (right): https://codereview.chromium.org/2699663003/diff/300001/extensions/common/mani... extensions/common/manifest_parser.typemap:16: "extensions.mojom.UpdateManifestResults=::UpdateManifest::Results", I wonder if it would make sense to just use the mojo types instead of UpdateManifest::Results? It would save on conversion/copies, and they're just data structs... maybe add a TODO somewhere? (In UpdateManifest?) https://codereview.chromium.org/2699663003/diff/300001/extensions/utility/uti... File extensions/utility/utility_handler.h (right): https://codereview.chromium.org/2699663003/diff/300001/extensions/utility/uti... extensions/utility/utility_handler.h:14: namespace utility_handler { nit: \n https://codereview.chromium.org/2699663003/diff/300001/extensions/utility/uti... extensions/utility/utility_handler.h:18: bool running_elevated); nit: \n
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
https://codereview.chromium.org/2699663003/diff/300001/extensions/browser/upd... File extensions/browser/updater/safe_manifest_parser.cc (right): https://codereview.chromium.org/2699663003/diff/300001/extensions/browser/upd... extensions/browser/updater/safe_manifest_parser.cc:22: using ResultCallback = base::Callback<void(const UpdateManifest::Results*)>; On 2017/03/21 23:51:16, Devlin wrote: > Can we move this into the .h to use it in the function declaration as well? This is a convenience using (alias), local to the .cc of course. If it was moved into the .h, we'd expose its type ResultCallback in the extensions namespace. Feeling was that that type was maybe too general to be exposed at extensions namespace level. https://codereview.chromium.org/2699663003/diff/300001/extensions/common/mani... File extensions/common/manifest_parser.typemap (right): https://codereview.chromium.org/2699663003/diff/300001/extensions/common/mani... extensions/common/manifest_parser.typemap:16: "extensions.mojom.UpdateManifestResults=::UpdateManifest::Results", On 2017/03/21 23:51:16, Devlin wrote: > I wonder if it would make sense to just use the mojo types instead of > UpdateManifest::Results? You might recall the recent enum Manifest::location change we did. We did think about re-writing callers in terms of the mojo enum type (didn't mention it as option in review), but there were many call-sites in extensions that would'a needed updating to do that (too many for that particular patch set). But "just use the mojo types instead" is always good thing to consider, given ... > It would save on conversion/copies, and they're just > data structs... and, furthermore, saves you having to decide upon using [Native] traits, or else building mojo struct traits, etc, etc. So indeed, lots of benefits and, assuming callers / call-sites can be easily updated to use the mojo type(s), it's a good way to go ... > maybe add a TODO somewhere? (In UpdateManifest?) ... or consider: TODO done. https://codereview.chromium.org/2699663003/diff/300001/extensions/utility/uti... File extensions/utility/utility_handler.h (right): https://codereview.chromium.org/2699663003/diff/300001/extensions/utility/uti... extensions/utility/utility_handler.h:14: namespace utility_handler { On 2017/03/21 23:51:17, Devlin wrote: > nit: \n Done. https://codereview.chromium.org/2699663003/diff/300001/extensions/utility/uti... extensions/utility/utility_handler.h:18: bool running_elevated); On 2017/03/21 23:51:17, Devlin wrote: > nit: \n Done.
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: ios-simulator on master.tryserver.chromium.mac (JOB_TIMED_OUT, build hasn't started yet, builder probably lacks capacity) ios-simulator-xcode-clang on master.tryserver.chromium.mac (JOB_TIMED_OUT, build hasn't started yet, builder probably lacks capacity)
+ jochen for OWNERS What's test cover this change, a shed-load it seems [1]. [1] https://codereview.chromium.org/2761763002
On 2017/03/22 04:04:57, noel gordon wrote: > + jochen for OWNERS > > What's test cover this change, a shed-load it seems [1]. > > [1] https://codereview.chromium.org/2761763002 "What tests cover this change?" /even.
The CQ bit was checked by noel@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
noel@chromium.org changed reviewers: + jochen@chromium.org
lgtm
Description was changed from ========== Convert utility process extension ParseUpdate IPC to mojo BUG=691410 ========== to ========== Convert utility process extension ParseUpdate IPC to mojo Add ManifestParser mojo, used to parse an extensions update XML manifest document, and expose it to the browser via the utility process policy file. Change the caller to use a utility process mojo client. Add mojo structure traits to handle the API return values UpdateManifest::{Results,Result}. Remove the IPC message file (it's no longer needed or used). Covered by tests: ExtensionManagementTest.ExternalUrlUpdate and ExtensionManagementTest.AutoUpdate and others. Refer to [1] for a complete list. [1] https://codereview.chromium.org/2761763002 BUG=691410 ==========
The CQ bit was checked by noel@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from tibell@chromium.org, sammc@chromium.org, mbarbella@chromium.org, rdevlin.cronin@chromium.org Link to the patchset: https://codereview.chromium.org/2699663003/#ps320001 (title: "Extensions review comments.")
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_android_rel_ng on master.tryserver.chromium.android (JOB_FAILED, https://build.chromium.org/p/tryserver.chromium.android/builders/linux_androi...)
The CQ bit was checked by noel@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== Convert utility process extension ParseUpdate IPC to mojo Add ManifestParser mojo, used to parse an extensions update XML manifest document, and expose it to the browser via the utility process policy file. Change the caller to use a utility process mojo client. Add mojo structure traits to handle the API return values UpdateManifest::{Results,Result}. Remove the IPC message file (it's no longer needed or used). Covered by tests: ExtensionManagementTest.ExternalUrlUpdate and ExtensionManagementTest.AutoUpdate and others. Refer to [1] for a complete list. [1] https://codereview.chromium.org/2761763002 BUG=691410 ========== to ========== Convert utility process extension ParseUpdate IPC to mojo Add ManifestParser mojo, used to parse an extensions update XML manifest document, and expose it to the browser via the utility process policy file. Change the caller to use a utility process mojo client. Add mojo structure traits to handle the API return values UpdateManifest::{Results,Result}. Remove the IPC message file: no longer needed or used. Covered by tests: ExtensionManagementTest.ExternalUrlUpdate and ExtensionManagementTest.AutoUpdate and others. Refer to [1] for a complete list. [1] https://codereview.chromium.org/2761763002 BUG=691410 ==========
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: ios-simulator on master.tryserver.chromium.mac (JOB_TIMED_OUT, build hasn't started yet, builder probably lacks capacity)
The CQ bit was checked by noel@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
CQ is committing da patch. Bot data: {"patchset_id": 320001, "attempt_start_ts": 1490756181901580, "parent_rev": "ce3ccb9d8093a1eb542098f2e68fd51c90fa989d", "commit_rev": "825202ab2ec8a1d8eba2a08f481773e07641dda3"}
Message was sent while issue was closed.
Description was changed from ========== Convert utility process extension ParseUpdate IPC to mojo Add ManifestParser mojo, used to parse an extensions update XML manifest document, and expose it to the browser via the utility process policy file. Change the caller to use a utility process mojo client. Add mojo structure traits to handle the API return values UpdateManifest::{Results,Result}. Remove the IPC message file: no longer needed or used. Covered by tests: ExtensionManagementTest.ExternalUrlUpdate and ExtensionManagementTest.AutoUpdate and others. Refer to [1] for a complete list. [1] https://codereview.chromium.org/2761763002 BUG=691410 ========== to ========== Convert utility process extension ParseUpdate IPC to mojo Add ManifestParser mojo, used to parse an extensions update XML manifest document, and expose it to the browser via the utility process policy file. Change the caller to use a utility process mojo client. Add mojo structure traits to handle the API return values UpdateManifest::{Results,Result}. Remove the IPC message file: no longer needed or used. Covered by tests: ExtensionManagementTest.ExternalUrlUpdate and ExtensionManagementTest.AutoUpdate and others. Refer to [1] for a complete list. [1] https://codereview.chromium.org/2761763002 BUG=691410 Review-Url: https://codereview.chromium.org/2699663003 Cr-Commit-Position: refs/heads/master@{#460280} Committed: https://chromium.googlesource.com/chromium/src/+/825202ab2ec8a1d8eba2a08f4817... ==========
Message was sent while issue was closed.
Committed patchset #12 (id:320001) as https://chromium.googlesource.com/chromium/src/+/825202ab2ec8a1d8eba2a08f4817... |