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}
2 files changed