commit | 2763df947d592ac42cc7e565b6ee7467c0d06cd3 | [log] [tgz] |
---|---|---|
author | Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> | Wed Nov 28 08:17:04 2018 |
committer | Commit Bot <commit-bot@chromium.org> | Wed Nov 28 08:17:04 2018 |
tree | c2fbfabb6686a63b0de46ed960ad19da6189d79b | |
parent | 301fbdd29de4736ff76f95f8639d1e67e720b247 [diff] |
WebIDBKey: Stop inlining ReleaseIdbKey()'s implementation This fixes the libstdc++ build after 86293fce ("IndexedDB: Move content/renderer/indexed_db/ to Blink, take 2"): In file included from /usr/include/c++/8/memory:80, from ../../third_party/googletest/src/googlemock/include/gmock/gmock-actions.h:45, from ../../third_party/googletest/src/googlemock/include/gmock/gmock.h:59, from ../../testing/gmock/include/gmock/gmock.h:10, from ../../third_party/blink/renderer/modules/indexeddb/mock_web_idb_callbacks.h:9, from ../../third_party/blink/renderer/modules/indexeddb/mock_web_idb_callbacks.cc:5: /usr/include/c++/8/bits/unique_ptr.h: In instantiation of ‘void std::default_delete<_Tp>::operator()(_Tp*) const [with _Tp = blink::IDBKey]’: /usr/include/c++/8/bits/unique_ptr.h:274:17: required from ‘std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = blink::IDBKey; _Dp = std::default_delete<blink::IDBKey>]’ ../../third_party/blink/public/platform/modules/indexeddb/web_idb_key.h:165:30: required from here /usr/include/c++/8/bits/unique_ptr.h:79:16: error: invalid application of ‘sizeof’ to incomplete type ‘blink::IDBKey’ static_assert(sizeof(_Tp)>0, ^~~~~~~~~~~ libstdc++'s std::unique_ptr implementation has a few static_asserts in the destructor, one of which requires that the type passed to unique_ptr is fully declared at the time. mock_web_idb_callbacks.cc is now in Blink, and it ends up indirectly including web_idb_key.h, and now WebIDBKey::ReleaseIdbKey()'s call to std::move() triggers that assert. Move the implementation to the web_idb_key.cc to fix the issue. Bug: 819294 Change-Id: Ia02ed14d4b53b3e75cad46ef8dadba8017c64d02 Reviewed-on: https://chromium-review.googlesource.com/c/1352184 Reviewed-by: Chase Phillips <cmp@chromium.org> Reviewed-by: Kinuko Yasuda <kinuko@chromium.org> Commit-Queue: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> Cr-Commit-Position: refs/heads/master@{#611596}
Chromium is an open-source browser project that aims to build a safer, faster, and more stable way for all users to experience the web.
The project's web site is https://www.chromium.org.
Documentation in the source is rooted in docs/README.md.
Learn how to Get Around the Chromium Source Code Directory Structure .