TL;DR View.markAsRoot should never be invoked on attached view. This will cause CSS loading problems after "show". Let view A be inner view of C. A and B share the same CSS. C.show -> A loads CSS, counter = 1 B.show -> counter = 2 C.detach -> causes A.processWasHidden; counter = 1 A.markAsRoot A.show causes A.detach; A was marked as root, so it thinks that it is visible and calls A.processWasHidden -> counter = 0; after that we get A.processWillShow -> counter = 1 A.detach -> counter = 0 -> unload CSS But B is still shown. Epic fail.
Created attachment 189087 [details] Patch
Comment on attachment 189087 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=189087&action=review > Source/WebCore/inspector/front-end/Drawer.js:89 > + this._view.detach(); Please add a test.
Comment on attachment 189087 [details] Patch Clearing flags on attachment: 189087 Committed r143437: <http://trac.webkit.org/changeset/143437>
All reviewed patches have been landed. Closing bug.