|
|
Created:
3 years, 10 months ago by tfarina Modified:
3 years, 9 months ago CC:
chromium-reviews, dbeam+watch-options_chromium.org, cbentzel+watch_chromium.org, michaelpg+watch-options_chromium.org, michaelpg+watch-md-settings_chromium.org, net-reviews_chromium.org, bnc+watch_chromium.org, dbeam+watch-settings_chromium.org, stevenjb+watch-md-settings_chromium.org, eroman Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
Descriptionnet: remove CryptoModuleList typedef
Fixes ListModules() TODO in net/cert/nss_cert_database.h.
BUG=488586
TEST=net_unittests
R=mattm@chromium.org
Review-Url: https://codereview.chromium.org/2711113002
Cr-Commit-Position: refs/heads/master@{#453571}
Committed: https://chromium.googlesource.com/chromium/src/+/a55b26897fcad47e5d9d7353f24f5cb1f130df65
Patch Set 1 #Patch Set 2 : fixes - chrome compiles #
Total comments: 4
Patch Set 3 : fix chromeos build? #Patch Set 4 : one more fix for chromeos #
Total comments: 3
Patch Set 5 : more std::moves #Messages
Total messages: 43 (26 generated)
Description was changed from ========== net: remove CryptoModuleList typedef BUG= TEST=net_unittests R=mattm@chromium.org ========== to ========== net: remove CryptoModuleList typedef BUG=488586 TEST=net_unittests R=mattm@chromium.org ==========
The CQ bit was checked by tfarina@chromium.org to run a CQ dry run
Description was changed from ========== net: remove CryptoModuleList typedef BUG=488586 TEST=net_unittests R=mattm@chromium.org ========== to ========== net: remove CryptoModuleList typedef Fixes ListModules() TODO in net/cert/nss_cert_database.h. BUG=488586 TEST=net_unittests R=mattm@chromium.org ==========
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/2711113002/diff/20001/chrome/browser/ui/crypt... File chrome/browser/ui/crypto_module_password_dialog_nss.cc (right): https://codereview.chromium.org/2711113002/diff/20001/chrome/browser/ui/crypt... chrome/browser/ui/crypto_module_password_dialog_nss.cc:63: for (const auto& slot : modules) { It was not possible to do modules_(std::move(modules)).
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: chromeos_amd64-generic_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-...)
The CQ bit was checked by tfarina@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: chromeos_daisy_chromium_compile_only_ng on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_daisy_...)
The CQ bit was checked by tfarina@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.
https://codereview.chromium.org/2711113002/diff/20001/chrome/browser/ui/crypt... File chrome/browser/ui/crypto_module_password_dialog_nss.cc (right): https://codereview.chromium.org/2711113002/diff/20001/chrome/browser/ui/crypt... chrome/browser/ui/crypto_module_password_dialog_nss.cc:63: for (const auto& slot : modules) { On 2017/02/24 14:30:49, tfarina wrote: > It was not possible to do modules_(std::move(modules)). Hm, it should work. Did you change the parameter type to not be a const-ref? https://codereview.chromium.org/2711113002/diff/60001/chrome/browser/ui/crypt... File chrome/browser/ui/crypto_module_password_dialog_nss.cc (right): https://codereview.chromium.org/2711113002/diff/60001/chrome/browser/ui/crypt... chrome/browser/ui/crypto_module_password_dialog_nss.cc:64: modules_.push_back(crypto::ScopedPK11Slot(PK11_ReferenceSlot(slot.get()))); hm
bnc@chromium.org changed reviewers: + bnc@chromium.org
https://codereview.chromium.org/2711113002/diff/60001/chrome/browser/ui/crypt... File chrome/browser/ui/crypto_module_password_dialog_nss.cc (right): https://codereview.chromium.org/2711113002/diff/60001/chrome/browser/ui/crypt... chrome/browser/ui/crypto_module_password_dialog_nss.cc:64: modules_.push_back(crypto::ScopedPK11Slot(PK11_ReferenceSlot(slot.get()))); On 2017/02/24 21:03:39, mattm wrote: > hm I was also looking at this code. ScopedPK11Slot is a unique_ptr<PK11SlotInfo> typedef, so it is not copyable, therefore it could not be passed by value to this constructor. But PK11_ReferenceSlot does not copy the PK11SlotInfo object, it just increases its |RefCount| member. After this line, the same PK11SlotInfo instance will be owned by two unique_ptrs: one owned by the caller, one owned by SlotUnlocker! What am I missing?
https://codereview.chromium.org/2711113002/diff/60001/chrome/browser/ui/crypt... File chrome/browser/ui/crypto_module_password_dialog_nss.cc (right): https://codereview.chromium.org/2711113002/diff/60001/chrome/browser/ui/crypt... chrome/browser/ui/crypto_module_password_dialog_nss.cc:64: modules_.push_back(crypto::ScopedPK11Slot(PK11_ReferenceSlot(slot.get()))); On 2017/02/24 22:43:20, Bence wrote: > On 2017/02/24 21:03:39, mattm wrote: > > hm > > I was also looking at this code. ScopedPK11Slot is a unique_ptr<PK11SlotInfo> > typedef, so it is not copyable, therefore it could not be passed by value to > this constructor. But PK11_ReferenceSlot does not copy the PK11SlotInfo object, > it just increases its |RefCount| member. After this line, the same PK11SlotInfo > instance will be owned by two unique_ptrs: one owned by the caller, one owned by > SlotUnlocker! What am I missing? Oh, that's actually okay. (I meant to delete that comment before I sent the review.) ScopedPK11Slot's Deleter is PK11_FreeSlot which decrements the refcount, so it's not actually deleted unless there are no more references. ScopedPK11Slot is just using unique_ptr to own references to the object.
On 2017/02/24 22:51:26, mattm wrote: > https://codereview.chromium.org/2711113002/diff/60001/chrome/browser/ui/crypt... > File chrome/browser/ui/crypto_module_password_dialog_nss.cc (right): > > https://codereview.chromium.org/2711113002/diff/60001/chrome/browser/ui/crypt... > chrome/browser/ui/crypto_module_password_dialog_nss.cc:64: > modules_.push_back(crypto::ScopedPK11Slot(PK11_ReferenceSlot(slot.get()))); > On 2017/02/24 22:43:20, Bence wrote: > > On 2017/02/24 21:03:39, mattm wrote: > > > hm > > > > I was also looking at this code. ScopedPK11Slot is a unique_ptr<PK11SlotInfo> > > typedef, so it is not copyable, therefore it could not be passed by value to > > this constructor. But PK11_ReferenceSlot does not copy the PK11SlotInfo > object, > > it just increases its |RefCount| member. After this line, the same > PK11SlotInfo > > instance will be owned by two unique_ptrs: one owned by the caller, one owned > by > > SlotUnlocker! What am I missing? > > Oh, that's actually okay. (I meant to delete that comment before I sent the > review.) > > ScopedPK11Slot's Deleter is PK11_FreeSlot which decrements the refcount, so it's > not actually deleted unless there are no more references. ScopedPK11Slot is just > using unique_ptr to own references to the object. Oh that explains it, thanks.
C++ Templates gives pretty nice error messages! :( https://codereview.chromium.org/2711113002/diff/20001/chrome/browser/ui/crypt... File chrome/browser/ui/crypto_module_password_dialog_nss.cc (right): https://codereview.chromium.org/2711113002/diff/20001/chrome/browser/ui/crypt... chrome/browser/ui/crypto_module_password_dialog_nss.cc:63: for (const auto& slot : modules) { On 2017/02/24 21:03:39, mattm wrote: > On 2017/02/24 14:30:49, tfarina wrote: > > It was not possible to do modules_(std::move(modules)). > > Hm, it should work. Did you change the parameter type to not be a const-ref? When it is non const-ref I get this: ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_construct.h:76:38: error: call to deleted constructor of 'std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >' { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); } ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_uninitialized.h:77:8: note: in instantiation of function template specialization 'std::_Construct<std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, const std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > &>' requested here std::_Construct(std::__addressof(*__cur), *__first); ^ ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_uninitialized.h:119:2: note: in instantiation of function template specialization 'std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<const std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > *, std::__cxx1998::vector<std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, std::allocator<std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > > > >, std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > *>' requested here __uninit_copy(__first, __last, __result); ^ ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_uninitialized.h:259:19: note: in instantiation of function template specialization 'std::uninitialized_copy<__gnu_cxx::__normal_iterator<const std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > *, std::__cxx1998::vector<std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, std::allocator<std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > > > >, std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > *>' requested here { return std::uninitialized_copy(__first, __last, __result); } ^ When it is const-ref and I use std::move, I get this: ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_construct.h:76:38: error: call to deleted constructor of 'std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >' { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); } ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_uninitialized.h:77:8: note: in instantiation of function template specialization 'std::_Construct<std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, const std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > &>' requested here std::_Construct(std::__addressof(*__cur), *__first); ^ ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_uninitialized.h:119:2: note: in instantiation of function template specialization 'std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<const std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > *, std::__cxx1998::vector<std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, std::allocator<std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > > > >, std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > *>' requested here __uninit_copy(__first, __last, __result); ^ ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_uninitialized.h:259:19: note: in instantiation of function template specialization 'std::uninitialized_copy<__gnu_cxx::__normal_iterator<const std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > *, std::__cxx1998::vector<std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, std::allocator<std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > > > >, std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > *>' requested here { return std::uninitialized_copy(__first, __last, __result); } ^ ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_vector.h:281:9: note: in instantiation of function template specialization 'std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<const std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > *, std::__cxx1998::vector<std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, std::allocator<std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > > > >, std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > *, std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > >' requested here std::__uninitialized_copy_a(__x.begin(), __x.end(), ^ ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/debug/vector:105:9: note: in instantiation of member function 'std::__cxx1998::vector<std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, std::allocator<std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > > >::vector' requested here : _Base(__x), _Safe_base(), _M_guaranteed_capacity(__x.size()) { } ^ ../../chrome/browser/ui/crypto_module_password_dialog_nss.cc:57:7: note: in instantiation of member function 'std::__debug::vector<std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, std::allocator<std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > > >::vector' requested here modules_(std::move(modules)), ^ ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/unique_ptr.h:256:7: note: 'unique_ptr' has been explicitly marked deleted here unique_ptr(const unique_ptr&) = delete; ^
https://codereview.chromium.org/2711113002/diff/20001/chrome/browser/ui/crypt... File chrome/browser/ui/crypto_module_password_dialog_nss.cc (right): https://codereview.chromium.org/2711113002/diff/20001/chrome/browser/ui/crypt... chrome/browser/ui/crypto_module_password_dialog_nss.cc:63: for (const auto& slot : modules) { On 2017/02/25 02:04:42, tfarina wrote: > On 2017/02/24 21:03:39, mattm wrote: > > On 2017/02/24 14:30:49, tfarina wrote: > > > It was not possible to do modules_(std::move(modules)). > > > > Hm, it should work. Did you change the parameter type to not be a const-ref? > > When it is non const-ref I get this: > > ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_construct.h:76:38: > error: call to deleted constructor of 'std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >' > { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); } > ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_uninitialized.h:77:8: > note: in instantiation of function template specialization > 'std::_Construct<std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, const > std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, > &PK11_FreeSlot> > &>' requested here > std::_Construct(std::__addressof(*__cur), *__first); > ^ > ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_uninitialized.h:119:2: > note: in instantiation of function template specialization > 'std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<const > std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, > &PK11_FreeSlot> > *, std::__cxx1998::vector<std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, > std::allocator<std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > > > >, > std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, > &PK11_FreeSlot> > *>' requested here > __uninit_copy(__first, __last, __result); > ^ > ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_uninitialized.h:259:19: > note: in instantiation of function template specialization > 'std::uninitialized_copy<__gnu_cxx::__normal_iterator<const > std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, > &PK11_FreeSlot> > *, std::__cxx1998::vector<std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, > std::allocator<std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > > > >, > std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, > &PK11_FreeSlot> > *>' requested here > { return std::uninitialized_copy(__first, __last, __result); } > ^ > > When it is const-ref and I use std::move, I get this: > > ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_construct.h:76:38: > error: call to deleted constructor of 'std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >' > { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); } > ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~ > ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_uninitialized.h:77:8: > note: in instantiation of function template specialization > 'std::_Construct<std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, const > std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, > &PK11_FreeSlot> > &>' requested here > std::_Construct(std::__addressof(*__cur), *__first); > ^ > ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_uninitialized.h:119:2: > note: in instantiation of function template specialization > 'std::__uninitialized_copy<false>::__uninit_copy<__gnu_cxx::__normal_iterator<const > std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, > &PK11_FreeSlot> > *, std::__cxx1998::vector<std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, > std::allocator<std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > > > >, > std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, > &PK11_FreeSlot> > *>' requested here > __uninit_copy(__first, __last, __result); > ^ > ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_uninitialized.h:259:19: > note: in instantiation of function template specialization > 'std::uninitialized_copy<__gnu_cxx::__normal_iterator<const > std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, > &PK11_FreeSlot> > *, std::__cxx1998::vector<std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, > std::allocator<std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > > > >, > std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, > &PK11_FreeSlot> > *>' requested here > { return std::uninitialized_copy(__first, __last, __result); } > ^ > ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/stl_vector.h:281:9: > note: in instantiation of function template specialization > 'std::__uninitialized_copy_a<__gnu_cxx::__normal_iterator<const > std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, > &PK11_FreeSlot> > *, std::__cxx1998::vector<std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, > std::allocator<std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > > > >, > std::unique_ptr<PK11SlotInfoStr, crypto::NSSDestroyer<PK11SlotInfoStr, > &PK11_FreeSlot> > *, std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > >' requested here > std::__uninitialized_copy_a(__x.begin(), __x.end(), > ^ > ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/debug/vector:105:9: > note: in instantiation of member function > 'std::__cxx1998::vector<std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, > std::allocator<std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > > >::vector' requested > here > : _Base(__x), _Safe_base(), _M_guaranteed_capacity(__x.size()) { } > ^ > ../../chrome/browser/ui/crypto_module_password_dialog_nss.cc:57:7: note: in > instantiation of member function > 'std::__debug::vector<std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> >, > std::allocator<std::unique_ptr<PK11SlotInfoStr, > crypto::NSSDestroyer<PK11SlotInfoStr, &PK11_FreeSlot> > > >::vector' requested > here > modules_(std::move(modules)), > ^ > ../../build/linux/debian_wheezy_amd64-sysroot/usr/lib/gcc/x86_64-linux-gnu/4.6/../../../../include/c++/4.6/bits/unique_ptr.h:256:7: > note: 'unique_ptr' has been explicitly marked deleted here > unique_ptr(const unique_ptr&) = delete; > ^ Yeah, those are some nice error messages :) I think you just didn't propagate the moves through all the steps. I took a stab at it and was able to make it work: https://codereview.chromium.org/2715063002/
The CQ bit was checked by tfarina@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...
On 2017/02/25 02:45:01, mattm wrote: > I think you just didn't propagate the moves through all the steps. That was it! Thanks! Done. PTAL.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Looks like CryptoModule class is now unused. Would you like to do a followup CL to remove the remnants of that? lgtm
tfarina@chromium.org changed reviewers: + sky@chromium.org
+Scott for chrome/ OWNER. On 2017/02/27 22:16:51, mattm wrote: > Looks like CryptoModule class is now unused. Would you like to do a followup CL > to remove the remnants of that? > Yes, I would love to do that!
LGTM
The CQ bit was checked by tfarina@chromium.org
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: chromium_presubmit on master.tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presub...)
tfarina@chromium.org changed reviewers: + dbeam@chromium.org
+Dan for chrome/browser/ui/webui/options/certificate_manager_handler.cc, OWNER.
rs lgtm
The CQ bit was checked by tfarina@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": 80001, "attempt_start_ts": 1488282201781020, "parent_rev": "7df786793ee25b50c681e7e7093c5e11f990a681", "commit_rev": "a55b26897fcad47e5d9d7353f24f5cb1f130df65"}
Message was sent while issue was closed.
Description was changed from ========== net: remove CryptoModuleList typedef Fixes ListModules() TODO in net/cert/nss_cert_database.h. BUG=488586 TEST=net_unittests R=mattm@chromium.org ========== to ========== net: remove CryptoModuleList typedef Fixes ListModules() TODO in net/cert/nss_cert_database.h. BUG=488586 TEST=net_unittests R=mattm@chromium.org Review-Url: https://codereview.chromium.org/2711113002 Cr-Commit-Position: refs/heads/master@{#453571} Committed: https://chromium.googlesource.com/chromium/src/+/a55b26897fcad47e5d9d7353f24f... ==========
Message was sent while issue was closed.
Committed patchset #5 (id:80001) as https://chromium.googlesource.com/chromium/src/+/a55b26897fcad47e5d9d7353f24f... |