Commit dae1b747 authored by tzik's avatar tzik Committed by Commit Bot

Disallow DOMWrapperMap copy explicitly

v8::PersistentValueMapBase<> is an old style non-copyable type. It has
private declaration-only copy ctor and assignment. That is inherited
to v8::GlobalValueMap<>, and brought to DOMWrapperMap<>.

That implies, DOMWrapperMap is a non-copyable type, but detected as
copyable type by a defaulted copy constructor. That confuses
std::optional and causes a build error on C++17 mode of Chromium.

This mark DOMWrapperMap as non-copyable explicitly to fix the build
error.

Bug: 752720
Change-Id: Iff22df3cd108475ece9ba0c7cc4878a30d3bcb43
Reviewed-on: https://chromium-review.googlesource.com/1214908Reviewed-by: default avatarYuki Shiino <yukishiino@chromium.org>
Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Commit-Queue: Taiju Tsuiki <tzik@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589883}
parent 1340b54c
...@@ -172,6 +172,8 @@ class DOMWrapperMap { ...@@ -172,6 +172,8 @@ class DOMWrapperMap {
v8::Isolate* isolate_; v8::Isolate* isolate_;
typename PersistentValueMapTraits::MapType map_; typename PersistentValueMapTraits::MapType map_;
DISALLOW_COPY_AND_ASSIGN(DOMWrapperMap);
}; };
} // namespace blink } // namespace blink
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment