--- old/modules/web/src/main/java/com/sun/java/scene/web/WebViewHelper.java 2016-06-03 11:04:54.553423020 -0700 +++ new/modules/web/src/main/java/com/sun/java/scene/web/WebViewHelper.java 2016-06-03 11:04:54.397423022 -0700 @@ -25,7 +25,11 @@ package com.sun.java.scene.web; +import com.sun.javafx.geom.BaseBounds; +import com.sun.javafx.geom.PickRay; +import com.sun.javafx.geom.transform.BaseTransform; import com.sun.javafx.scene.ParentHelper; +import com.sun.javafx.scene.input.PickResultChooser; import com.sun.javafx.sg.prism.NGNode; import com.sun.javafx.util.Utils; import javafx.scene.web.WebView; @@ -63,6 +67,28 @@ webViewAccessor.doUpdatePeer(node); } + protected void transformsChangedImpl(Node node) { + super.transformsChangedImpl(node); + webViewAccessor.doTransformsChanged(node); + } + + @Override + protected BaseBounds computeGeomBoundsImpl(Node node, BaseBounds bounds, + BaseTransform tx) { + return webViewAccessor.doComputeGeomBounds(node, bounds, tx); + } + + @Override + protected boolean computeContainsImpl(Node node, double localX, double localY) { + return webViewAccessor.doComputeContains(node, localX, localY); + } + + @Override + protected void pickNodeLocalImpl(Node node, PickRay localPickRay, + PickResultChooser result) { + webViewAccessor.doPickNodeLocal(node, localPickRay, result); + } + public static void setWebViewAccessor(final WebViewAccessor newAccessor) { if (webViewAccessor != null) { throw new IllegalStateException(); @@ -74,6 +100,10 @@ public interface WebViewAccessor { NGNode doCreatePeer(Node node); void doUpdatePeer(Node node); + void doTransformsChanged(Node node); + BaseBounds doComputeGeomBounds(Node node, BaseBounds bounds, BaseTransform tx); + boolean doComputeContains(Node node, double localX, double localY); + void doPickNodeLocal(Node node, PickRay localPickRay, PickResultChooser result); } }