DevTools: Get back profiles panel for workers

Review URL: https://codereview.chromium.org/54303008

git-svn-id: svn://svn.chromium.org/blink/trunk@161192 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Manual rebaselines for r161115.

TBR=esprehn@chromium.org

Review URL: https://codereview.chromium.org/56393002

git-svn-id: svn://svn.chromium.org/blink/trunk@161193 bbb929c8-8fbe-4397-9dbb-9b2b20218538
DevTools: introduce offset while emulating device metrics.

BUG=314072

Review URL: https://codereview.chromium.org/49963003

git-svn-id: svn://svn.chromium.org/blink/trunk@161194 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Fix the insert/remove lifecycle of PseudoElement

PseudoElement was not correctly managing it's lifecycle inside the Document
leaving inDocument() not correctly set and not getting insertedInto() and
removedFrom() called at the right times. This led to manual management of
things like top layer in <dialog> (for the ::backdrop pseudo element). The
manual management resulted in a bug where we'd detach() the PseudoElement in
ElementRareData::releasePseudoElement and then the call to removeFromTopLayer()
would reattach it again.

This bug was the result of r160790 where I removed the
confusingAndOftenMisusedAttached() call from inside lazyReattach when I merged
it with lazyReattachIfNeeded and replaced it with an inActiveDocument() check.
Then since the PseudoElement never cleared the inDocument but when we called
into removeFromTopLayer after the detach we'd just go and lazyReattach it all
over again.

This patch simplifies the system and fixes the bug by making PseudoElement go
through the normal insertedInto() and removedFrom() calls. This also lets
add the ASSERT to ContainerNode::removeDetachedChildren and remove a super old
FIXME.

Review URL: https://codereview.chromium.org/55343002

git-svn-id: svn://svn.chromium.org/blink/trunk@161195 bbb929c8-8fbe-4397-9dbb-9b2b20218538