Re-land "Make CompositingState Explicit"

The most recent version of this patch landed in 159118, but was
speculatively reverted in 159473. Now we know this patch was not
at fault, so it can land again.

BUG=261605, 306096
TBR=vollick@chromium.org, jchaffraix@chromium.org
NOTRY=true

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

git-svn-id: svn://svn.chromium.org/blink/trunk@159907 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Vector stores Predicate object as OwnPtr instead of raw pointer in XPath.

Vector can handle OwnPtr, so we don't have to delete an element in Vector
manually.

BUG=307055

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

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