Reland of ExtensionFunction: don't pass ownership of base::Value by raw pointer. (patchset #1 id:1 of https://codereview.chromium.org/2038613003/ )

Reason for revert:
As expected, didn't stop the crashes =)

Original issue's description:
> Revert of ExtensionFunction: don't pass ownership of base::Value by raw pointer. (patchset #1 id:1 of https://codereview.chromium.org/2025103003/ )
>
> Reason for revert:
> Speculatively reverting to fix release-blocking crash.
>
> Original issue's description:
> > ExtensionFunction: don't pass ownership of base::Value by raw pointer.
> >
> > BUG=581865
> > R=rockot@chromium.org
> > TBR=rdevlin.cronin@chromium.org
> >
> > Committed: https://crrev.com/5a01060d89daad34fa1cd8a20a0e4fdb48976a79
> > Cr-Commit-Position: refs/heads/master@{#397284}
>
> TBR=rdevlin.cronin@chromium.org,rockot@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=581865
>
> Committed: https://crrev.com/34661418ac5f137f1dcb72194e76c117308b6c7f
> Cr-Commit-Position: refs/heads/master@{#397533}

TBR=rdevlin.cronin@chromium.org,rockot@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=581865

Review-Url: https://codereview.chromium.org/2038083004
Cr-Commit-Position: refs/heads/master@{#397802}
26 files changed