Make MediaKeySession an ActiveDOMObject.

Since MediaKeySession handles events, it needs to be an ActiveDOMObject in order to properly maintain it's lifetime.

BUG=341567
TEST=EME content tests pass

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

git-svn-id: svn://svn.chromium.org/blink/trunk@166756 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Force relayout instead of using cache for orthogonal flex items when in full layout

To avoid unnecessary extra layouts, a cache was added of the logical height of
flex items with orthogonal flow. However, when when in full layout
(relayoutChildren == true), we continued using the cached value. This patch pipes
relayoutChildren down into preferredMainAxisContentExtentForChild and forces
layout and re-seeds the cache for orthogonal children when true.

To avoid doing an unnecessary layout, this patch also tweaks the logic in
layoutAndPlaceChildren to not force child layout for orthogonally flowing children,
which is messy. It would be possible to assert that forcing a layout of these
children wouldn't change their logical height, but I didn't ope for that in this
version of the patch.

BUG=336127

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

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