Cherry-pick "Export WebCore::forgetV8ObjectForNPObject"

Bug: 14582835

Original CL description:

    Export WebCore::forgetV8ObjectForNPObject

    This is required for de-associating an NPObject from an existing V8 wrapper,
    so we don't pull any of the wrapper's custom properties into the context of
    a new page when navigating to it.

    BUG=372914

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

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

Change-Id: I7e3587dc166391679f17b233f98748bd6e9000a7
Fix Java Bridge wrapper properties cleanup for multi-frame pages

Java Bridge implementation was supposing to use a single JavaScript interface
object across different contexts (e.g. iframes).  But in fact, it is preferred
to have a JS interface wrapper per context, otherwise ads, for example, could
see the properties set on the wrapper by the main page.  The patch called
"Recycle old V8 wrapper objects on navigations" has already started fixing
this, but when cleaning up a wrapper for one frame it was invalidating a
backwards connection to NPObject from a wrapper living in another frame.

Bug: 15572824
Change-Id: Ia33845b45b50ff5bfcb88887c6a3f4f7c6c8703e
Merge tag 'android-4.4.4_r1' of https://android.googlesource.com/platform/external/chromium_org/third_party/WebKit into kitkat

Android 4.4.4 Release 1