Until recently, copying a sessions::TabRestoreService::Tab incremented its id, causing breakage (585564, 622752). Even though that's no longer the case, Tabs still have special logic to allow for copying (PlatformSpecificTabData::Clone), and code that deals with sessions::TabRestoreService::Entry in general does a lot of manual memory management.
Making Entry, Window, and Tab non-copyable, and using |unique_ptr|s for collections of them, should simplify things and inspire fewer bugs.
Comment 1 by bugdroid1@chromium.org
, Aug 2 2016