changeset 3759:c75bd11d9865

Automated merge with ssh://jfxsrc.us.oracle.com//javafx/8.0/MASTER/jfx/rt
author jgodinez
date Wed, 29 May 2013 13:35:01 -0700
parents 9fe6d5754733 167bc510ce34
children eb0ca6ba0558
files javafx-builders/test/unit/com/sun/javafx/test/PropertiesTestBase.java javafx-builders/test/unit/com/sun/javafx/test/PropertyReference.java javafx-builders/test/unit/com/sun/javafx/test/binding/ReflectionHelper.java javafx-builders/test/unit/javafx/scene/Node_properties_Test.java javafx-builders/test/unit/javafx/scene/Scene_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/Blend_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/Bloom_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/BoxBlur_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/ColorAdjust_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/ColorInput_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/DisplacementMap_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/DistantLight_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/DropShadow_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/FloatMap_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/GaussianBlur_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/Glow_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/ImageInput_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/InnerShadow_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/Lighting_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/MotionBlur_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/PerspectiveTransform_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/PointLight_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/Reflection_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/SepiaTone_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/Shadow_properties_Test.java javafx-builders/test/unit/javafx/scene/effect/SpotLight_properties_Test.java javafx-builders/test/unit/javafx/scene/shape/ArcTo_properties_Test.java javafx-builders/test/unit/javafx/scene/shape/Arc_properties_Test.java javafx-builders/test/unit/javafx/scene/shape/Circle_properties_Test.java javafx-builders/test/unit/javafx/scene/shape/CubicCurveTo_properties_Test.java javafx-builders/test/unit/javafx/scene/shape/CubicCurve_properties_Test.java javafx-builders/test/unit/javafx/scene/shape/Ellipse_properties_Test.java javafx-builders/test/unit/javafx/scene/shape/HLineTo_properties_Test.java javafx-builders/test/unit/javafx/scene/shape/LineTo_properties_Test.java javafx-builders/test/unit/javafx/scene/shape/Line_properties_Test.java javafx-builders/test/unit/javafx/scene/shape/MoveTo_properties_Test.java javafx-builders/test/unit/javafx/scene/shape/Path_properties_Test.java javafx-builders/test/unit/javafx/scene/shape/QuadCurveTo_properties_Test.java javafx-builders/test/unit/javafx/scene/shape/QuadCurve_properties_Test.java javafx-builders/test/unit/javafx/scene/shape/Rectangle_properties_Test.java javafx-builders/test/unit/javafx/scene/shape/SVGPath_properties_Test.java javafx-builders/test/unit/javafx/scene/shape/Shape_properties_Test.java javafx-builders/test/unit/javafx/scene/shape/VLineTo_properties_Test.java javafx-builders/test/unit/javafx/scene/transform/Transform_properties_Test.java
diffstat 72 files changed, 817 insertions(+), 4868 deletions(-) [+]
line wrap: on
line diff
--- a/.classpath	Wed May 29 12:45:55 2013 -0400
+++ b/.classpath	Wed May 29 13:35:01 2013 -0700
@@ -1,188 +1,198 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-    <classpathentry kind="src" path="apps/experiments/3DViewer/src/main/java"/>
-    <classpathentry kind="src" path="apps/experiments/3DViewer/src/test/java"/>
-    <classpathentry kind="src" path="apps/experiments/3DViewer/src/test/resources"/>
-    <!--
-    <classpathentry kind="src" path="apps/experiments/ConferenceScheduleApp/src"/>
-    <classpathentry kind="src" path="apps/experiments/ModenaTest/test"/>
-    <classpathentry kind="src" path="apps/experiments/Modena/src"/>
-    -->
-    <classpathentry kind="src" path="apps/samples/Ensemble8/src/app"/>
-    <classpathentry kind="src" path="apps/samples/Ensemble8/src/compiletime"/>
-    <classpathentry kind="src" path="apps/samples/Ensemble8/src/generated"/>
-    <classpathentry kind="src" path="apps/samples/Ensemble8/src/samples"/>
-    <classpathentry kind="lib" path="apps/samples/Ensemble8/lib/lucene-core-3.2.0.jar"/>
-    <classpathentry kind="lib" path="apps/samples/Ensemble8/lib/lucene-grouping-3.2.0.jar"/>
-
-    <classpathentry kind="src" path="decora-compiler/build/gensrc"/>
-    <classpathentry kind="src" path="decora-compiler/src"/>
-    <classpathentry kind="src" path="decora-d3d/src"/>
-    <classpathentry kind="src" path="decora-d3d/build/gensrc"/>
-    <classpathentry kind="src" path="decora-es2/src"/>
-    <classpathentry kind="src" path="decora-es2/build/gensrc"/>
-    <classpathentry kind="src" path="decora-jsw/build/gensrc"/>
-    <classpathentry kind="src" path="decora-jsw/src"/>
-    <classpathentry kind="src" path="decora-prism-ps/build/gensrc"/>
-    <classpathentry kind="src" path="decora-prism-ps/src"/>
-    <classpathentry kind="src" path="decora-prism-sw/src"/>
-    <classpathentry kind="src" path="decora-prism/src"/>
-    <classpathentry kind="src" path="decora-runtime/src"/>
-    <classpathentry kind="src" path="decora-runtime/generator"/>
-    <classpathentry kind="src" path="decora-runtime/test"/>
-    <classpathentry kind="src" path="decora-sse/src"/>
-    <classpathentry kind="src" path="decora-sse/build/gensrc"/>
-
-    <classpathentry kind="src" path="deploy/javafx-deploy/src"/>
-    <classpathentry kind="src" path="deploy/javafx-launcher/src"/>
-    <classpathentry kind="src" path="deploy/packager/src"/>
-    <classpathentry kind="src" path="deploy/packager/test"/>
-
-    <classpathentry kind="src" path="glass/glass/src"/>
-
-    <classpathentry kind="src" path="javafx-anim/src"/>
-    <classpathentry kind="src" path="javafx-anim/test/unit"/>
-    <!--
-    <classpathentry kind="src" path="javafx-annotation-processor/src"/>
-    -->
-    <classpathentry kind="src" path="javafx-beans/src"/>
-    <classpathentry kind="src" path="javafx-beans/test"/>
-    <classpathentry kind="src" path="javafx-beans-dt/src"/>
-    <classpathentry kind="src" path="javafx-beans-dt/test"/>
-
-    <!--
-    <classpathentry kind="src" path="javafx-builders/test/unit"/>
-    <classpathentry kind="src" path="javafx-builders/src"/>
-    -->
-    <classpathentry kind="lib" exported="true" path="javafx-builders/dist/javafx-builders.jar">
-        <attributes>
-            <attribute name="optional" value="true"/>
-        </attributes>
-    </classpathentry>
-    
-    <classpathentry kind="src" path="javafx-concurrent/src"/>
-    <classpathentry kind="src" path="javafx-concurrent/test"/>
-    <classpathentry kind="src" path="javafx-common/test/unit"/>
-    <classpathentry kind="src" path="javafx-common/build/gensrc/classes"/>
-    <classpathentry kind="src" path="javafx-common/src"/>
-    <classpathentry kind="src" path="javafx-designtime/src"/>
-    <!--
-    <classpathentry kind="src" path="javafx-designtime/test"/>
-    -->
-    <!-- Temporarily excluding SwingNode as it requires Java 8 -->
-    <!--
-    <classpathentry kind="src" excluding="javafx/embed/swing/SwingNode.java" path="javafx-embed-swing/src"/>
-    -->
-    <classpathentry kind="src" path="javafx-embed-swing/src"/>
-    <classpathentry kind="src" path="javafx-embed-swt/src"/>
-    <classpathentry kind="src" path="javafx-fxml/src"/>
-    <classpathentry kind="src" path="javafx-fxml/test"/>
-    <classpathentry kind="src" path="javafx-geom/src"/>
-    <classpathentry kind="src" path="javafx-geom/test"/>	
-    <classpathentry kind="src" path="javafx-iio/src"/>
-    <classpathentry kind="src" path="javafx-iio/test"/>
-    <classpathentry kind="src" path="javafx-logging/src"/>
-    <classpathentry kind="src" path="javafx-sg-common/src"/>
-    <classpathentry kind="src" path="javafx-sg-common/test"/>
-    <classpathentry kind="src" path="javafx-sg-prism/src"/>
-    <classpathentry kind="src" path="javafx-sg-prism/test"/>
-    <classpathentry kind="src" path="javafx-ui-charts/src"/>
-    <classpathentry kind="src" path="javafx-ui-charts/test"/>
-    <classpathentry kind="src" path="javafx-ui-common/src"/>
-    <!--
-    <classpathentry kind="src" path="javafx-ui-common/test/unit"/>
-    -->
-    <classpathentry kind="src" path="javafx-ui-controls/src"/>
-    <classpathentry kind="src" path="javafx-ui-controls/test"/>
-    <classpathentry kind="src" path="javafx-ui-quantum/src"/>
-    <classpathentry kind="src" path="javafx-util-converter/src"/>
-    <classpathentry kind="src" path="javafx-util-converter/test"/>
-
-    <classpathentry kind="src" path="pisces/src"/>
-
-    <classpathentry kind="src" path="prism-common/src"/>
-    <classpathentry kind="src" path="prism-common/test"/>
-	<classpathentry kind="src" path="prism-d3d/src"/>
-	<classpathentry kind="src" path="prism-d3d/build/gensrc">
-		<attributes>
-			<attribute name="optional" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="src" path="prism-es2/src"/>
-	<classpathentry kind="src" path="prism-es2-eglfb/src"/>
-	<classpathentry kind="src" path="prism-es2-eglx11/src"/>
-	<!--
-	<classpathentry kind="src" path="prism-es2-ios/src"/>
-	-->
-	<classpathentry kind="src" path="prism-es2-mac/src"/>
-	<classpathentry kind="src" path="prism-es2-win/src"/>
-	<classpathentry kind="src" path="prism-es2-x11/src"/>
-	<classpathentry kind="src" path="prism-es2/build/gensrc">
-		<attributes>
-			<attribute name="optional" value="true"/>
-		</attributes>
-	</classpathentry>
-    <classpathentry kind="src" path="prism-j2d/src"/>
-    <classpathentry kind="src" path="prism-sw/src"/>
-    <classpathentry kind="src" path="prism-null/src"/>
-    <classpathentry kind="src" path="prism-ps/src"/>
-    <classpathentry kind="src" path="prism-ps/build/gensrc"/>
-	<classpathentry kind="src" path="prism-ps/test"/>
-	<!--
-	<classpathentry kind="src" path="prism-ps/shadergen"/>
-	-->
-    <classpathentry kind="src" path="prism-util/src"/>
-
-    <classpathentry kind="src" path="test-stub-toolkit/src"/>
-	<classpathentry kind="src" path="tests/app-lifecycle/ClassLoaderApp/src"/>
-	<classpathentry kind="src" path="tests/app-lifecycle/ClassLoaderTest/test"/>
-	<classpathentry kind="src" path="tests/app-lifecycle/LauncherTests/test"/>
-	<classpathentry kind="src" path="tests/app-lifecycle/LifeCycleTests/test"/>
-	<classpathentry kind="src" path="tests/glass/ExceptionHandler/test"/>
-	<classpathentry kind="src" path="tests/graphics/MaterialTests/test"/>
-	<classpathentry kind="src" path="tests/graphics/SnapshotTests/test"/>
-	<classpathentry kind="src" path="tests/graphics/SwingInterop/test"/>
-	<classpathentry kind="src" path="tests/manual/printing"/>
-	<classpathentry kind="src" path="tests/quantum/CloseWindow/test"/>
-	<classpathentry kind="src" path="tests/quantum/WindowSceneInitDispose/test"/>
-
-	<classpathentry kind="src" path="webview/src"/>
-	<!--
-	<classpathentry kind="src" path="webview/test"/>
-	-->
-	<classpathentry combineaccessrules="false" kind="src" path="webview/native/WebKitBuild/Release/WebCore/generated/java">
-        <attributes>
-            <attribute name="optional" value="true"/>
-        </attributes>
-    </classpathentry>
-    <classpathentry kind="lib" path="../caches/sdk/build/lib/desktop/webview.jar">
-        <attributes>
-            <attribute name="optional" value="true"/>
-        </attributes>
-    </classpathentry>
-
-    <classpathentry kind="src" path="/rt-closed"/>
-	<classpathentry combineaccessrules="false" kind="src" path="/media">
-		<attributes>
-			<attribute name="optional" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="lib" path="../caches/sdk/build/lib/desktop/jfxmedia.jar">
-		<attributes>
-			<attribute name="optional" value="true"/>
-		</attributes>
-	</classpathentry>
-
-    <classpathentry kind="src" path="/org.eclipse.swt">
-        <attributes>
-            <attribute name="optional" value="true"/>
-        </attributes>
-    </classpathentry>
-    <classpathentry kind="lib" path="../import/swt-3.7.1/swt-debug.jar"/>
-    <classpathentry kind="output" path="bin"/>
-    
-    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-    <classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
-    <classpathentry kind="lib" path="../import/antlr-3.1.3/antlr-3.1.3/lib/antlr-3.1.3.jar"/>
-    <classpathentry kind="lib" path="../import/findbugs-2.0.1/findbugs-2.0.1/lib/ant.jar"/>
-</classpath>
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="apps/experiments/3DViewer/src/main/java"/>
+	<classpathentry kind="src" path="apps/experiments/3DViewer/src/test/java"/>
+	<classpathentry kind="src" path="apps/experiments/3DViewer/src/test/resources"/>
+	<!--
+	<classpathentry kind="src" path="apps/experiments/ConferenceScheduleApp/src"/>
+	<classpathentry kind="src" path="apps/experiments/ModenaTest/test"/>
+	<classpathentry kind="src" path="apps/experiments/Modena/src"/>
+	-->
+	<classpathentry kind="src" path="apps/samples/Ensemble8/src/app"/>
+	<classpathentry kind="src" path="apps/samples/Ensemble8/src/compiletime"/>
+	<classpathentry kind="src" path="apps/samples/Ensemble8/src/generated"/>
+	<classpathentry kind="src" path="apps/samples/Ensemble8/src/samples"/>
+	<classpathentry kind="lib" path="apps/samples/Ensemble8/lib/lucene-core-3.2.0.jar"/>
+	<classpathentry kind="lib" path="apps/samples/Ensemble8/lib/lucene-grouping-3.2.0.jar"/>
+
+	<classpathentry kind="src" path="decora-compiler/build/gensrc"/>
+	<classpathentry kind="src" path="decora-compiler/src"/>
+	<classpathentry kind="src" path="decora-d3d/src"/>
+	<classpathentry kind="src" path="decora-d3d/build/gensrc"/>
+	<classpathentry kind="src" path="decora-es2/src"/>
+	<classpathentry kind="src" path="decora-es2/build/gensrc"/>
+	<classpathentry kind="src" path="decora-jsw/build/gensrc"/>
+	<classpathentry kind="src" path="decora-jsw/src"/>
+	<classpathentry kind="src" path="decora-prism-ps/build/gensrc"/>
+	<classpathentry kind="src" path="decora-prism-ps/src"/>
+	<classpathentry kind="src" path="decora-prism-sw/src"/>
+	<classpathentry kind="src" path="decora-prism/src"/>
+	<classpathentry kind="src" path="decora-runtime/src"/>
+	<classpathentry kind="src" path="decora-runtime/generator"/>
+	<classpathentry kind="src" path="decora-runtime/test"/>
+	<classpathentry kind="src" path="decora-sse/src"/>
+	<classpathentry kind="src" path="decora-sse/build/gensrc"/>
+
+	<classpathentry kind="src" path="deploy/javafx-deploy/src"/>
+	<classpathentry kind="src" path="deploy/javafx-launcher/src"/>
+	<classpathentry kind="src" path="deploy/packager/src"/>
+	<classpathentry kind="src" path="deploy/packager/test"/>
+
+	<classpathentry kind="src" path="glass/glass/src"/>
+
+	<classpathentry kind="src" path="javafx-anim/src"/>
+	<classpathentry kind="src" path="javafx-anim/test/unit"/>
+	<!--
+	<classpathentry kind="src" path="javafx-annotation-processor/src"/>
+	-->
+	<classpathentry kind="src" path="javafx-beans/src"/>
+	<classpathentry kind="src" path="javafx-beans/test"/>
+	<classpathentry kind="src" path="javafx-beans-dt/src"/>
+	<classpathentry kind="src" path="javafx-beans-dt/test"/>
+
+	<!-- 
+	Builders are deprecated and do notbuild clean on new versions of JDK.
+	Using the library instead of the source. 
+	-->
+	<!--
+	<classpathentry kind="src" path="javafx-builders/test/unit"/>
+	<classpathentry kind="src" path="javafx-builders/src"/>
+	-->
+	<classpathentry kind="lib" exported="true" path="javafx-builders/dist/javafx-builders.jar" sourcepath="javafx-builders/src">
+		<attributes>
+			<attribute name="optional" value="true"/>
+		</attributes>
+	</classpathentry>
+
+	<classpathentry kind="src" path="javafx-concurrent/src"/>
+	<classpathentry kind="src" path="javafx-concurrent/test"/>
+	<classpathentry kind="src" path="javafx-common/test/unit"/>
+	<classpathentry kind="src" path="javafx-common/build/gensrc/classes"/>
+	<classpathentry kind="src" path="javafx-common/src"/>
+	<classpathentry kind="src" path="javafx-designtime/src"/>
+	<!--
+	<classpathentry kind="src" path="javafx-designtime/test"/>
+	-->
+	<!-- Temporarily excluding SwingNode as it requires Java 8 -->
+	<!--
+	<classpathentry kind="src" excluding="javafx/embed/swing/SwingNode.java" path="javafx-embed-swing/src"/>
+	-->
+	<classpathentry kind="src" path="javafx-embed-swing/src"/>
+	<classpathentry kind="src" path="javafx-embed-swt/src"/>
+	<classpathentry kind="src" path="javafx-fxml/src"/>
+	<classpathentry kind="src" path="javafx-fxml/test"/>
+	<classpathentry kind="src" path="javafx-geom/src"/>
+	<classpathentry kind="src" path="javafx-geom/test"/>	
+	<classpathentry kind="src" path="javafx-iio/src"/>
+	<classpathentry kind="src" path="javafx-iio/test"/>
+	<classpathentry kind="src" path="javafx-logging/src"/>
+	<classpathentry kind="src" path="javafx-sg-common/src"/>
+	<classpathentry kind="src" path="javafx-sg-common/test"/>
+	<classpathentry kind="src" path="javafx-sg-prism/src"/>
+	<classpathentry kind="src" path="javafx-sg-prism/test"/>
+	<classpathentry kind="src" path="javafx-ui-charts/src"/>
+	<classpathentry kind="src" path="javafx-ui-charts/test"/>
+	<classpathentry kind="src" path="javafx-ui-common/src"/>
+	<!--
+	<classpathentry kind="src" path="javafx-ui-common/test/unit"/>
+	-->
+	<classpathentry kind="src" path="javafx-ui-controls/src"/>
+	<classpathentry kind="src" path="javafx-ui-controls/test"/>
+	<classpathentry kind="src" path="javafx-ui-quantum/src"/>
+	<classpathentry kind="src" path="javafx-util-converter/src"/>
+	<classpathentry kind="src" path="javafx-util-converter/test"/>
+
+	<classpathentry kind="src" path="pisces/src"/>
+
+	<classpathentry kind="src" path="prism-common/src"/>
+	<classpathentry kind="src" path="prism-common/test"/>
+	<classpathentry kind="src" path="prism-d3d/src"/>
+	<classpathentry kind="src" path="prism-d3d/build/gensrc">
+		<attributes>
+			<attribute name="optional" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" path="prism-es2/src"/>
+	<classpathentry kind="src" path="prism-es2-eglfb/src"/>
+	<classpathentry kind="src" path="prism-es2-eglx11/src"/>
+	<!--
+	<classpathentry kind="src" path="prism-es2-ios/src"/>
+	-->
+	<classpathentry kind="src" path="prism-es2-mac/src"/>
+	<classpathentry kind="src" path="prism-es2-win/src"/>
+	<classpathentry kind="src" path="prism-es2-x11/src"/>
+	<classpathentry kind="src" path="prism-es2/build/gensrc">
+		<attributes>
+			<attribute name="optional" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="src" path="prism-j2d/src"/>
+	<classpathentry kind="src" path="prism-sw/src"/>
+	<classpathentry kind="src" path="prism-null/src"/>
+	<classpathentry kind="src" path="prism-ps/src"/>
+	<classpathentry kind="src" path="prism-ps/build/gensrc"/>
+	<classpathentry kind="src" path="prism-ps/test"/>
+	<!--
+	<classpathentry kind="src" path="prism-ps/shadergen"/>
+	-->
+	<classpathentry kind="src" path="prism-util/src"/>
+
+	<classpathentry kind="src" path="test-stub-toolkit/src"/>
+	<classpathentry kind="src" path="tests/app-lifecycle/ClassLoaderApp/src"/>
+	<classpathentry kind="src" path="tests/app-lifecycle/ClassLoaderTest/test"/>
+	<classpathentry kind="src" path="tests/app-lifecycle/LauncherTests/test"/>
+	<classpathentry kind="src" path="tests/app-lifecycle/LifeCycleTests/test"/>
+	<classpathentry kind="src" path="tests/glass/ExceptionHandler/test"/>
+	<classpathentry kind="src" path="tests/graphics/MaterialTests/test"/>
+	<classpathentry kind="src" path="tests/graphics/SnapshotTests/test"/>
+	<classpathentry kind="src" path="tests/graphics/SwingInterop/test"/>
+	<classpathentry kind="src" path="tests/manual/printing"/>
+	<classpathentry kind="src" path="tests/quantum/CloseWindow/test"/>
+	<classpathentry kind="src" path="tests/quantum/WindowSceneInitDispose/test"/>
+
+	<!-- Use webview/src (instead of ../caches/sdk/build/lib/desktop/jfxwebview.jar) -->
+	<classpathentry kind="src" path="webview/src"/>
+	<!--
+	<classpathentry kind="src" path="webview/test"/>
+	-->
+	<!-- 
+	The "webview/native/WebKitBuild/Release/WebCore/generated/java" folder is only
+	available when webkit is built. Instead of forcing webkit to be build we 
+	include "../caches/sdk/build/lib/desktop/jfxwebkit.jar" as fallback.
+	-->
+	<classpathentry combineaccessrules="false" kind="src" path="webview/native/WebKitBuild/Release/WebCore/generated/java">
+		<attributes>
+			<attribute name="optional" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="../caches/sdk/build/lib/desktop/jfxwebkit.jar">
+		<attributes>
+			<attribute name="optional" value="true"/>
+		</attributes>
+	</classpathentry>
+
+	<classpathentry kind="src" path="/rt-closed"/>
+	<classpathentry combineaccessrules="false" kind="src" path="/media">
+		<attributes>
+			<attribute name="optional" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="../caches/sdk/build/lib/desktop/jfxmedia.jar">
+		<attributes>
+			<attribute name="optional" value="true"/>
+		</attributes>
+	</classpathentry>
+
+	<classpathentry kind="src" path="/org.eclipse.swt">
+		<attributes>
+			<attribute name="optional" value="true"/>
+		</attributes>
+	</classpathentry>
+	<classpathentry kind="lib" path="../import/swt-3.7.1/swt-debug.jar"/>
+	<classpathentry kind="output" path="bin"/>
+
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
+	<classpathentry kind="lib" path="../import/antlr-3.1.3/antlr-3.1.3/lib/antlr-3.1.3.jar"/>
+	<classpathentry kind="lib" path="../import/findbugs-2.0.1/findbugs-2.0.1/lib/ant.jar"/>
+</classpath>
--- a/apps/experiments/3DViewer/3D Viewer.iml	Wed May 29 12:45:55 2013 -0400
+++ b/apps/experiments/3DViewer/3D Viewer.iml	Wed May 29 13:35:01 2013 -0700
@@ -58,7 +58,9 @@
     <orderEntry type="module" module-name="prism-sw" />
     <orderEntry type="module" module-name="prism-util" />
     <orderEntry type="module" module-name="test-stub-toolkit" />
-    <orderEntry type="module" module-name="webkit" />
+    <orderEntry type="module" module-name="webview" />
+    <orderEntry type="module" module-name="javafx-builders" />
+    <orderEntry type="module" module-name="javafx-font-t2k" />
   </component>
 </module>
 
--- a/apps/experiments/3DViewer/src/main/java/com/javafx/experiments/jfx3dviewer/SimpleViewerApp.java	Wed May 29 12:45:55 2013 -0400
+++ b/apps/experiments/3DViewer/src/main/java/com/javafx/experiments/jfx3dviewer/SimpleViewerApp.java	Wed May 29 13:35:01 2013 -0700
@@ -67,7 +67,7 @@
 
     @Override public void start(Stage stage) throws Exception {
         List<String> args = getParameters().getRaw();
-        Scene scene = new Scene(root3D,1920,1080,true,false);
+        final Scene scene = new Scene(root3D,1920,1080,true,false);
         scene.setFill(Color.ALICEBLUE);
 
         // CAMERA
--- a/apps/experiments/Modena/Modena.iml	Wed May 29 12:45:55 2013 -0400
+++ b/apps/experiments/Modena/Modena.iml	Wed May 29 13:35:01 2013 -0700
@@ -53,9 +53,12 @@
     <orderEntry type="module" module-name="prism-ps" />
     <orderEntry type="module" module-name="prism-util" />
     <orderEntry type="module" module-name="test-stub-toolkit" />
-    <orderEntry type="module" module-name="webkit" />
+    <orderEntry type="module" module-name="webview" />
     <orderEntry type="inheritedJdk" />
     <orderEntry type="library" name="webkit-impl" level="project" />
+    <orderEntry type="module" module-name="javafx-builders" />
+    <orderEntry type="module" module-name="javafx-font-t2k" />
+    <orderEntry type="module" module-name="prism-sw" />
   </component>
 </module>
 
--- a/apps/experiments/Modena/src/modena/SamplePage.java	Wed May 29 12:45:55 2013 -0400
+++ b/apps/experiments/Modena/src/modena/SamplePage.java	Wed May 29 13:35:01 2013 -0700
@@ -79,7 +79,7 @@
 import javafx.scene.control.ToggleGroup;
 import javafx.scene.control.Tooltip;
 import javafx.scene.control.TooltipBuilder;
-import javafx.scene.control.TreeTableViewBuilder;
+import javafx.scene.control.TreeTableView;
 import javafx.scene.control.TreeViewBuilder;
 import javafx.scene.layout.GridPane;
 import javafx.scene.layout.HBox;
@@ -88,13 +88,13 @@
 import javafx.scene.layout.VBox;
 import javafx.scene.layout.VBoxBuilder;
 import javafx.scene.paint.Color;
-import javafx.scene.web.HTMLEditorBuilder;
+import javafx.scene.web.HTMLEditor;
 
 import static modena.SamplePageChartHelper.*;
 import static modena.SamplePageHelpers.*;
 import static modena.SamplePageTableHelper.*;
-import static modena.SamplePageTreeHelper.*;
-import static modena.SamplePageTreeTableHelper.*;
+import static modena.SamplePageTreeHelper.createTreeView;
+import static modena.SamplePageTreeTableHelper.createTreeTableView;
 
 /**
  * Page showing every control in every state.
@@ -302,32 +302,32 @@
         choiceBoxLongList.add(100, "Long List");
         newSection(
                 "ChoiceBox:",
-                ChoiceBoxBuilder.create(String.class).items(sampleItems()).value("Item A").build(),
-                ChoiceBoxBuilder.create(String.class).items(choiceBoxLongList).value("Long List").build(),
-                withState(ChoiceBoxBuilder.create(String.class).items(sampleItems()).value("Item B").build(), "hover"),
-                withState(ChoiceBoxBuilder.create(String.class).items(sampleItems()).value("Item B").build(), "showing"),
-                withState(ChoiceBoxBuilder.create(String.class).items(sampleItems()).value("Item B").build(), "focused"),
-                ChoiceBoxBuilder.create(String.class).items(sampleItems()).value("Item C").disable(true).build()
+                ChoiceBoxBuilder.<String>create().items(sampleItems()).value("Item A").build(),
+                ChoiceBoxBuilder.<String>create().items(choiceBoxLongList).value("Long List").build(),
+                withState(ChoiceBoxBuilder.<String>create().items(sampleItems()).value("Item B").build(), "hover"),
+                withState(ChoiceBoxBuilder.<String>create().items(sampleItems()).value("Item B").build(), "showing"),
+                withState(ChoiceBoxBuilder.<String>create().items(sampleItems()).value("Item B").build(), "focused"),
+                ChoiceBoxBuilder.<String>create().items(sampleItems()).value("Item C").disable(true).build()
         );
         newSection(
                 "ComboBox:",
-                ComboBoxBuilder.create(String.class).items(sampleItems()).value("Item A").build(),
-                ComboBoxBuilder.create(String.class).items(choiceBoxLongList).value("Long List").build(),
-                withState(ComboBoxBuilder.create(String.class).items(sampleItems()).value("Item B").build(), "hover"),
-                withState(ComboBoxBuilder.create(String.class).items(sampleItems()).value("Item B").build(), "showing"),
-                withState(ComboBoxBuilder.create(String.class).items(sampleItems()).value("Item B").build(), "focused"),
-                ComboBoxBuilder.create(String.class).items(sampleItems()).value("Item C").disable(true).build()
+                ComboBoxBuilder.<String>create().items(sampleItems()).value("Item A").build(),
+                ComboBoxBuilder.<String>create().items(choiceBoxLongList).value("Long List").build(),
+                withState(ComboBoxBuilder.<String>create().items(sampleItems()).value("Item B").build(), "hover"),
+                withState(ComboBoxBuilder.<String>create().items(sampleItems()).value("Item B").build(), "showing"),
+                withState(ComboBoxBuilder.<String>create().items(sampleItems()).value("Item B").build(), "focused"),
+                ComboBoxBuilder.<String>create().items(sampleItems()).value("Item C").disable(true).build()
                 );
         newSection(
                 "ComboBox\nEditable:",
-                ComboBoxBuilder.create(String.class).items(sampleItems()).value("Item A").editable(true).build(),
-                withState(ComboBoxBuilder.create(String.class).items(sampleItems()).value("Item B").editable(true).build(), "editable", ".arrow-button", "hover"),
-                withState(ComboBoxBuilder.create(String.class).items(sampleItems()).value("Item B").editable(true).build(), "editable", ".arrow-button", "pressed")
+                ComboBoxBuilder.<String>create().items(sampleItems()).value("Item A").editable(true).build(),
+                withState(ComboBoxBuilder.<String>create().items(sampleItems()).value("Item B").editable(true).build(), "editable", ".arrow-button", "hover"),
+                withState(ComboBoxBuilder.<String>create().items(sampleItems()).value("Item B").editable(true).build(), "editable", ".arrow-button", "pressed")
                 );
         newSection(
                 "ComboBox\nEditable\n(More):",
-                withState(ComboBoxBuilder.create(String.class).items(sampleItems()).value("Item B").editable(true).build(), "editable,contains-focus", ".text-field", "focused"),
-                ComboBoxBuilder.create(String.class).items(sampleItems()).value("Item C").editable(true).disable(true).build()
+                withState(ComboBoxBuilder.<String>create().items(sampleItems()).value("Item B").editable(true).build(), "editable,contains-focus", ".text-field", "focused"),
+                ComboBoxBuilder.<String>create().items(sampleItems()).value("Item C").editable(true).disable(true).build()
                 );
         newSection(
                 "Color Picker:",
@@ -465,11 +465,16 @@
         );
         newSection(
                 "HTMLEditor:",
-                HTMLEditorBuilder.create().htmlText("Hello <b>Bold</b> Text").prefWidth(650).prefHeight(120).build()
-                );
+                new HTMLEditor() {{
+                    setHtmlText("Hello <b>Bold</b> Text");
+                    setPrefSize(650, 120);
+                }});
         newSection(
                 "HTMLEditor\nFocused:",
-                withState(HTMLEditorBuilder.create().htmlText("<i>Focused</i>").prefWidth(650).prefHeight(120).build(), "focused")
+                withState(new HTMLEditor() {{
+                    setHtmlText("<i>Focused</i>");
+                    setPrefSize(650, 120);
+                }}, "focused")
                 );
         newDetailedSection(
                 new String[] { "ToolBar (H|TOP):", "normal", "overflow", "disabled" },
@@ -640,10 +645,12 @@
                 );
         newDetailedSection(
                 new String[] {"Empty:", "ListView", "TableView", "TreeView", "TreeTableView"},
-                ListViewBuilder.create(String.class).prefWidth(150).prefHeight(100).build(),
-                TableViewBuilder.create(Object.class).prefWidth(150).prefHeight(100).build(),
-                TreeViewBuilder.create(Object.class).prefWidth(150).prefHeight(100).build(),
-                TreeTableViewBuilder.create(Object.class).prefWidth(150).prefHeight(100).build()
+                ListViewBuilder.<String>create().prefWidth(150).prefHeight(100).build(),
+                TableViewBuilder.create().prefWidth(150).prefHeight(100).build(),
+                TreeViewBuilder.create().prefWidth(150).prefHeight(100).build(),
+                new TreeTableView() {{
+                    setPrefSize(150, 100);
+                }}
                 );
         newDetailedSection(
                 new String[] {"ToolTip:","inline","inline + graphic", "popup"},
--- a/apps/samples/Ensemble8/Ensemble8.iml	Wed May 29 12:45:55 2013 -0400
+++ b/apps/samples/Ensemble8/Ensemble8.iml	Wed May 29 13:35:01 2013 -0700
@@ -58,8 +58,11 @@
     <orderEntry type="module" module-name="prism-ps" />
     <orderEntry type="module" module-name="prism-util" />
     <orderEntry type="module" module-name="test-stub-toolkit" />
-    <orderEntry type="module" module-name="webkit" />
+    <orderEntry type="module" module-name="webview" />
     <orderEntry type="library" name="webkit-impl" level="project" />
+    <orderEntry type="module" module-name="javafx-builders" />
+    <orderEntry type="module" module-name="javafx-font-t2k" />
+    <orderEntry type="module" module-name="prism-sw" />
   </component>
 </module>
 
--- a/javafx-builders/test/unit/com/sun/javafx/test/BuilderProxy.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-builders/test/unit/com/sun/javafx/test/BuilderProxy.java	Wed May 29 13:35:01 2013 -0700
@@ -25,8 +25,8 @@
 
 package com.sun.javafx.test;
 
+import java.lang.reflect.Method;
 import com.sun.javafx.test.binding.ReflectionHelper;
-import java.lang.reflect.Method;
 
 public final class BuilderProxy {
     private final Class<?> builderClass;
@@ -48,9 +48,9 @@
     public PropertyReference createPropertyReference(
             final String propertyName,
             final Class<?> propertyValueType) {
-        return PropertyReference.createForBuilder(builderClass,
-                                                  propertyName,
-                                                  propertyValueType);
+        return createForBuilder(builderClass,
+                                propertyName,
+                                propertyValueType);
     }
 
     public void applyTo(final Object builder, final Object bean) {
@@ -75,4 +75,27 @@
                                                       "applyTo",
                                                       beanClass));
     }
+
+    public static PropertyReference createForBuilder(
+            final Class<?> builderClass,
+            final String propertyName,
+            final Class<?> propertyValueType) {
+        try {
+            final Method propertySetterMethod =
+                    ReflectionHelper.getMethod(
+                            builderClass,
+                            propertyName,
+                            propertyValueType);
+
+            return new PropertyReference(
+                               propertyName,
+                               propertyValueType,
+                               null,
+                               propertySetterMethod);
+        } catch (final RuntimeException e) {
+            throw new RuntimeException("Failed to obtain setter for "
+                                           + propertyName + "!");
+        }
+    }
+
 }
--- a/javafx-builders/test/unit/com/sun/javafx/test/PropertiesTestBase.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,344 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.test;
-
-import javafx.beans.property.ReadOnlyProperty;
-import javafx.beans.InvalidationListener;
-import javafx.beans.Observable;
-import javafx.beans.value.ObservableValue;
-
-import org.junit.Assert;
-import org.junit.Test;
-
-public abstract class PropertiesTestBase {
-
-    private final Configuration configuration;
-
-    public PropertiesTestBase(final Configuration configuration) {
-        this.configuration = configuration;
-    }
-
-    @Test
-    public void testBuilder() {
-        configuration.builderTest();
-    }
-
-    /**
-     * Single bean, single property configuration.
-     */
-    public static Object[] config(final Object bean,
-                                  final String propertyName,
-                                  final Object propertyValue1,
-                                  final Object propertyValue2) {
-        return config(new Configuration(bean,
-                                        propertyName,
-                                        propertyValue1,
-                                        propertyValue2));
-    }
-
-    /**
-     * Single bean, single property configuration with custom value comparator.
-     */
-    public static Object[] config(final Object bean,
-                                  final String propertyName,
-                                  final Object propertyValue1,
-                                  final Object propertyValue2,
-                                  final ValueComparator comparator) {
-        return config(new Configuration(bean,
-                                        propertyName,
-                                        propertyValue1,
-                                        propertyValue2,
-                                        comparator));
-    }
-
-    /**
-     * Single bean, propertyA (source) and propertyB (dependent) property
-     * configuration.
-     */
-    public static Object[] config(final Object beanA,
-                                  final String propertyAName,
-                                  final Object propertyAValue1,
-                                  final Object propertyAValue2,
-                                  final String propertyBName,
-                                  final Object propertyBValue1,
-                                  final Object propertyBValue2) {
-        return config(new Configuration(beanA,
-                                        propertyAName,
-                                        propertyAValue1,
-                                        propertyAValue2,
-                                        propertyBName,
-                                        propertyBValue1,
-                                        propertyBValue2));
-    }
-
-    /**
-     * BeanA with propertyA (source) and BeanB with propertyB (dependent)
-     * configuration.
-     */
-    public static Object[] config(final Object beanA,
-                                  final String propertyAName,
-                                  final Object propertyAValue1,
-                                  final Object propertyAValue2,
-                                  final Object beanB,
-                                  final String propertyBName,
-                                  final Object propertyBValue1,
-                                  final Object propertyBValue2) {
-        return config(new Configuration(beanA,
-                                        propertyAName,
-                                        propertyAValue1,
-                                        propertyAValue2,
-                                        beanB,
-                                        propertyBName,
-                                        propertyBValue1,
-                                        propertyBValue2));
-    }
-
-    /**
-     * BeanA with propertyA (source) and BeanB with propertyB (dependent)
-     * with custom value comparator configuration.
-     */
-    public static Object[] config(final Object beanA,
-                                  final String propertyAName,
-                                  final Object propertyAValue1,
-                                  final Object propertyAValue2,
-                                  final Object beanB,
-                                  final String propertyBName,
-                                  final Object propertyBValue1,
-                                  final Object propertyBValue2,
-                                  final ValueComparator propertyBComparator) {
-        return config(new Configuration(beanA,
-                                        propertyAName,
-                                        propertyAValue1,
-                                        propertyAValue2,
-                                        beanB,
-                                        propertyBName,
-                                        propertyBValue1,
-                                        propertyBValue2,
-                                        propertyBComparator));
-    }
-
-    public static Object[] config(final Configuration configuration) {
-        return new Object[] { configuration };
-    }
-
-    public static class Configuration {
-        private final Object beanA;
-
-        private final PropertyReference propertyAReference;
-
-        private final Object propertyAValue1;
-
-        private final Object propertyAValue2;
-
-        private final Object beanB;
-
-        private final PropertyReference propertyBReference;
-
-        private final Object propertyBValue1;
-
-        private final Object propertyBValue2;
-
-        private final ValueComparator propertyBComparator;
-
-        private boolean allowMultipleNotifications;
-
-        public Configuration(final Object bean,
-                             final String propertyName,
-                             final Object propertyValue1,
-                             final Object propertyValue2) {
-            this(bean, propertyName, propertyValue1, propertyValue2,
-                 bean, propertyName, propertyValue1, propertyValue2,
-                 ValueComparator.DEFAULT);
-        }
-
-        public Configuration(final Object bean,
-                             final String propertyName,
-                             final Object propertyValue1,
-                             final Object propertyValue2,
-                             final ValueComparator valueComparator) {
-            this(bean, propertyName, propertyValue1, propertyValue2,
-                 bean, propertyName, propertyValue1, propertyValue2,
-                 valueComparator);
-        }
-
-        public Configuration(final Object bean,
-                             final String propertyAName,
-                             final Object propertyAValue1,
-                             final Object propertyAValue2,
-                             final String propertyBName,
-                             final Object propertyBValue1,
-                             final Object propertyBValue2) {
-            this(bean, propertyAName, propertyAValue1, propertyAValue2,
-                 bean, propertyBName, propertyBValue1, propertyBValue2,
-                 ValueComparator.DEFAULT);
-        }
-
-        public Configuration(final Object beanA,
-                             final String propertyAName,
-                             final Object propertyAValue1,
-                             final Object propertyAValue2,
-                             final Object beanB,
-                             final String propertyBName,
-                             final Object propertyBValue1,
-                             final Object propertyBValue2) {
-            this(beanA, propertyAName, propertyAValue1, propertyAValue2,
-                 beanB, propertyBName, propertyBValue1, propertyBValue2,
-                 ValueComparator.DEFAULT);
-        }
-        
-        public Configuration(final Object beanA,
-                             final String propertyAName,
-                             final Object propertyAValue1,
-                             final Object propertyAValue2,
-                             final Object beanB,
-                             final String propertyBName,
-                             final Object propertyBValue1,
-                             final Object propertyBValue2,
-                             final ValueComparator propertyBComparator) {
-            this.beanA = beanA;
-            this.propertyAReference = PropertyReference.createForBean(
-                                              beanA.getClass(),
-                                              propertyAName);
-            this.propertyAValue1 = propertyAValue1;
-            this.propertyAValue2 = propertyAValue2;
-            this.beanB = beanB;
-            this.propertyBReference = PropertyReference.createForBean(
-                                              beanB.getClass(),
-                                              propertyBName);
-            this.propertyBValue1 = propertyBValue1;
-            this.propertyBValue2 = propertyBValue2;
-            this.propertyBComparator = propertyBComparator;
-        }
-
-        public void setAllowMultipleNotifications(
-                final boolean allowMultipleNotifications) {
-            this.allowMultipleNotifications = allowMultipleNotifications;
-        }
-
-        public void builderTest() {
-            final BuilderProxy builderProxy =
-                    BuilderProxy.createForBean(beanA.getClass());
-
-            if (builderProxy == null) {
-                // no builder, no test
-                return;
-            }
-
-            final Object builder = builderProxy.createBuilder();
-            final PropertyReference builderPropRefA =
-                    builderProxy.createPropertyReference(
-                            propertyAReference.getPropertyName(),
-                            propertyAReference.getValueType());
-
-            // set to first value and verify dependet value
-            builderPropRefA.setValue(builder, propertyAValue1);
-            builderProxy.applyTo(builder, beanA);
-            propertyBComparator.assertEquals(
-                    propertyBValue1,
-                    propertyBReference.getValue(beanB));
-
-            final ValueInvalidationListener valueInvalidationListener =
-                    new ValueInvalidationListener(allowMultipleNotifications);
-            final ObservableValue observableValueB =
-                    (ObservableValue) BindingHelper.getPropertyModel(
-                                                  beanB, propertyBReference);
-
-            // register listener
-            observableValueB.addListener(valueInvalidationListener);
-
-            // set to second value
-            builderPropRefA.setValue(builder, propertyAValue2);
-            builderProxy.applyTo(builder, beanA);
-
-            // verify that the listener has been called
-            valueInvalidationListener.assertCalled();
-            valueInvalidationListener.reset();
-
-            // test whether the second dependent value is set
-            propertyBComparator.assertEquals(
-                    propertyBValue2,
-                    propertyBReference.getValue(beanB));
-
-            // set to the second value again
-            builderProxy.applyTo(builder, beanA);
-
-            // verify that the listener has not been called
-            valueInvalidationListener.assertNotCalled();
-
-            // unregister listener
-            observableValueB.removeListener(valueInvalidationListener);
-
-            // set to the first value again and test
-            builderPropRefA.setValue(builder, propertyAValue1);
-            builderProxy.applyTo(builder, beanA);
-            propertyBComparator.assertEquals(
-                    propertyBValue1,
-                    propertyBReference.getValue(beanB));
-
-            // verify that the listener has not been called
-            valueInvalidationListener.assertNotCalled();
-        }
-    }
-
-    private static final class ValueInvalidationListener
-            implements InvalidationListener {
-        private final boolean allowMultipleNotifications;
-
-        private int counter;
-
-        public ValueInvalidationListener(
-                final boolean allowMultipleNotifications) {
-            this.allowMultipleNotifications = allowMultipleNotifications;
-        }
-
-        public void reset() {
-            counter = 0;
-        }
-
-        public void assertCalled() {
-            if (counter == 0) {
-                Assert.fail("Listener has not been called!");
-                return;
-            }
-
-            if (!allowMultipleNotifications && (counter > 1)) {
-                Assert.fail("Listener called multiple times!");
-            }
-        }
-
-        public void assertNotCalled() {
-            if (counter != 0) {
-                Assert.fail("Listener has been called!");
-                return;
-            }
-        }
-
-        @Override
-        public void invalidated(final Observable valueModel) {
-            ++counter;
-        }
-    }
-}
--- a/javafx-builders/test/unit/com/sun/javafx/test/PropertyReference.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.test;
-
-import java.lang.reflect.Method;
-
-import com.sun.javafx.test.binding.ReflectionHelper;
-
-public final class PropertyReference {
-    private final String propertyName;
-    private final Class<?> valueType;
-    private final Method getterMethod;
-    private final Method setterMethod;
-
-    public PropertyReference(final String propertyName,
-                             final Class<?> valueType,
-                             final Method getterMethod,
-                             final Method setterMethod) {
-        this.propertyName = propertyName;
-        this.valueType = valueType;
-        this.getterMethod = getterMethod;
-        this.setterMethod = setterMethod;
-    }
-
-    public String getPropertyName() {
-        return propertyName;
-    }
-
-    public Class<?> getValueType() {
-        return valueType;
-    }
-
-    public Object getValue(final Object object) {
-        if (getterMethod == null) {
-            throw new RuntimeException("No getter associated with "
-                                           + propertyName + "!");
-        }
-
-        return ReflectionHelper.invokeMethod(object, getterMethod);
-    }
-
-    public void setValue(final Object object, final Object value) {
-        if (setterMethod == null) {
-            throw new RuntimeException("No setter associated with "
-                                           + propertyName + "!");
-        }
-
-        ReflectionHelper.invokeMethod(object, setterMethod, value);
-    }
-
-    public static PropertyReference createForBean(final Class<?> beanClass,
-                                                  final String propertyName) {
-        final String capitalizedPropertyName = capitalizeName(propertyName);
-
-        Method propertyGetterMethod;
-        try {
-            propertyGetterMethod = ReflectionHelper.getMethod(
-                                           beanClass,
-                                           "get" + capitalizedPropertyName);
-        } catch (final RuntimeException eget) {
-            // second try with is
-            try {
-                propertyGetterMethod = ReflectionHelper.getMethod(
-                                               beanClass,
-                                               "is" + capitalizedPropertyName);
-            } catch (final RuntimeException eis) {
-                throw new RuntimeException("Failed to obtain getter for "
-                                               + propertyName + "!");
-            }
-        }
-
-        final Class<?> propertyValueType = propertyGetterMethod.getReturnType();
-
-        Method propertySetterMethod;
-        try {
-            propertySetterMethod = ReflectionHelper.getMethod(
-                                           beanClass,
-                                           "set" + capitalizedPropertyName,
-                                           propertyValueType);
-        } catch (final RuntimeException e) {
-            // no setter
-            propertySetterMethod = null;
-        }
-
-        return new PropertyReference(
-                           propertyName,
-                           propertyValueType,
-                           propertyGetterMethod,
-                           propertySetterMethod);
-    }
-
-    public static PropertyReference createForBuilder(
-            final Class<?> builderClass,
-            final String propertyName,
-            final Class<?> propertyValueType) {
-        try {
-            final Method propertySetterMethod =
-                    ReflectionHelper.getMethod(
-                            builderClass,
-                            propertyName,
-                            propertyValueType);
-
-            return new PropertyReference(
-                               propertyName,
-                               propertyValueType,
-                               null,
-                               propertySetterMethod);
-        } catch (final RuntimeException e) {
-            throw new RuntimeException("Failed to obtain setter for "
-                                           + propertyName + "!");
-        }
-    }
-
-    private static String capitalizeName(final String input) {
-        return !input.isEmpty() 
-                ? Character.toUpperCase(input.charAt(0)) + input.substring(1)
-                : input;
-    }
-}
--- a/javafx-builders/test/unit/com/sun/javafx/test/binding/ReflectionHelper.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package com.sun.javafx.test.binding;
-
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-public final class ReflectionHelper {
-    private ReflectionHelper() {
-    }
-
-    public static Class<?> classForName(final String className) {
-        try {
-            return Class.forName(className);
-        } catch (final ClassNotFoundException e) {
-            throw convertToRuntimeException(e);
-        }
-    }
-
-    public static Object newInstance(final Class<?> cls) {
-        try {
-            return cls.newInstance();
-        } catch (final InstantiationException e) {
-            throw convertToRuntimeException(e);
-        } catch (final IllegalAccessException e) {
-            throw convertToRuntimeException(e);
-        }
-    }
-
-    public static Method getMethod(final Class<?> cls,
-                                   final String methodName,
-                                   final Class<?>... parameterTypes) {
-        try {
-            return cls.getMethod(methodName, parameterTypes);
-        } catch (final NoSuchMethodException e) {
-            throw convertToRuntimeException(e);
-        } catch (final SecurityException e) {
-            throw convertToRuntimeException(e);
-        }
-    }
-
-    public static Object invokeMethod(final Object object,
-                                      final Method method,
-                                      final Object... args) {
-        try {
-            return method.invoke(object, args);
-        } catch (final IllegalAccessException e) {
-            throw convertToRuntimeException(e);
-        } catch (final IllegalArgumentException e) {
-            throw convertToRuntimeException(e);
-        } catch (final InvocationTargetException e) {
-            throw convertToRuntimeException(e);
-        }
-    }
-
-    private static RuntimeException convertToRuntimeException(
-            final Exception e) {
-        return new RuntimeException(e);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/Node_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,163 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import javafx.event.Event;
-import javafx.event.EventHandler;
-import javafx.geometry.Point2D;
-import javafx.scene.effect.BlendMode;
-import javafx.scene.effect.Glow;
-import javafx.scene.input.InputMethodRequests;
-import javafx.scene.shape.Rectangle;
-import javafx.scene.transform.Rotate;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.event.EventHandlerManager;
-import com.sun.javafx.test.PropertiesTestBase;
-import javafx.geometry.NodeOrientation;
-
-@RunWith(Parameterized.class)
-public final class Node_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final Group testParent = new Group();
-        final Node testNode = new Rectangle();
-        testParent.getChildren().add(testNode);
-        
-        final EventHandler testEventHandler =
-                new EventHandler<Event>() {
-                    @Override
-                    public void handle(Event event) {
-                    }
-                };
-
-        return Arrays.asList(new Object[] {
-//            config(testNode, "parent", , ),
-//            config(testNode, "scene", , ),
-            config(testNode, "id", "rect_1", "rect_2"),
-            config(testNode, "style", "style_1", "style_2"),
-            config(testNode, "visible", true, false),
-            config(testNode, "cursor", Cursor.DEFAULT, Cursor.CROSSHAIR),
-            config(testNode, "opacity", 1.0, 0.5),
-            config(testNode, "blendMode",
-                   BlendMode.SRC_OVER, BlendMode.SRC_ATOP),
-            config(testNode, "clip", null, new Rectangle(0, 0, 100, 100)),
-            config(testNode, "cache", false, true),
-            config(testNode, "cacheHint", CacheHint.QUALITY, CacheHint.SPEED),
-            config(testNode, "effect", null, new Glow()),
-            config(testNode, "depthTest", DepthTest.DISABLE, DepthTest.ENABLE),
-            config(testNode, "disable", false, true),
-            config(testNode, "pickOnBounds", false, true),
-            config(testParent, "disable", false, true,
-                   testNode, "disabled", false, true),
-            config(testNode, "onDragEntered", null, testEventHandler),
-            config(testNode, "onDragExited", null, testEventHandler),
-            config(testNode, "onDragOver", null, testEventHandler),
-            config(testNode, "onDragDropped", null, testEventHandler),
-            config(testNode, "onDragDone", null, testEventHandler),
-            config(testNode, "managed", false, true),
-            config(testNode, "layoutX", 0.0, 100.0),
-            config(testNode, "layoutY", 0.0, 100.0),
-//            config(testNode, "boundsInParent", , ),
-//            config(testNode, "boundsInLocal", , ),
-//            config(testNode, "layoutBounds", , ),
-//            config(testNode, "transforms", , ),
-            config(testNode, "translateX", 0.0, 100.0),
-            config(testNode, "translateY", 0.0, 100.0),
-            config(testNode, "translateZ", 0.0, 100.0),
-            config(testNode, "scaleX", 1.0, 0.5),
-            config(testNode, "scaleY", 1.0, 0.5),
-            config(testNode, "scaleZ", 1.0, 0.5),
-            config(testNode, "rotate", 0.0, 45.0),
-            config(testNode, "rotationAxis", Rotate.Z_AXIS, Rotate.X_AXIS),
-            config(testNode, "mouseTransparent", false, true),
-//            config(testNode, "hover", , ),
-//            config(testNode, "pressed", , ),
-            config(testNode, "onMouseClicked", null, testEventHandler),
-            config(testNode, "onMouseDragged", null, testEventHandler),
-            config(testNode, "onMouseEntered", null, testEventHandler),
-            config(testNode, "onMouseExited", null, testEventHandler),
-            config(testNode, "onMouseMoved", null, testEventHandler),
-            config(testNode, "onMousePressed", null, testEventHandler),
-            config(testNode, "onMouseReleased", null, testEventHandler),
-            config(testNode, "onDragDetected", null, testEventHandler),
-            config(testNode, "onKeyPressed", null, testEventHandler),
-            config(testNode, "onKeyReleased", null, testEventHandler),
-            config(testNode, "onKeyTyped", null, testEventHandler),
-            config(testNode, "onInputMethodTextChanged",
-                   null, testEventHandler),
-            config(testNode, "inputMethodRequests",
-                   null,
-                   new InputMethodRequests() {
-                       @Override
-                       public Point2D getTextLocation(final int offset) {
-                           return new Point2D(0, 0);
-                       }
-
-                       @Override
-                       public int getLocationOffset(final int x, final int y) {
-                           return 0;
-                       }
-
-                       @Override
-                       public void cancelLatestCommittedText() {
-                       }
-
-                       @Override
-                       public String getSelectedText() {
-                           return "";
-                       }
-                   }),
-//            config(testNode, "focused", , ),
-            config(testNode, "focusTraversable", false, true),
-//            config(testNode, "treeVisible", , ),
-            config(testNode, "eventDispatcher", 
-                   null,
-                   new EventHandlerManager(null)),
-            config(testNode,
-                   "nodeOrientation", NodeOrientation.INHERIT,
-                                      NodeOrientation.RIGHT_TO_LEFT,
-                   "effectiveNodeOrientation", NodeOrientation.LEFT_TO_RIGHT,
-                                               NodeOrientation.RIGHT_TO_LEFT),
-            config(testParent, "nodeOrientation",
-                       NodeOrientation.LEFT_TO_RIGHT,
-                       NodeOrientation.RIGHT_TO_LEFT,
-                   testNode, "effectiveNodeOrientation",
-                       NodeOrientation.LEFT_TO_RIGHT,
-                       NodeOrientation.RIGHT_TO_LEFT)
-        });
-    }
-
-    public Node_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/Scene_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene;
-
-import com.sun.javafx.cursor.CursorFrame;
-import com.sun.javafx.event.EventHandlerManager;
-import java.util.Arrays;
-import java.util.Collection;
-import javafx.event.Event;
-import javafx.event.EventHandler;
-import javafx.geometry.NodeOrientation;
-import javafx.scene.paint.Color;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-import com.sun.javafx.test.objects.TestScene;
-import com.sun.javafx.test.objects.TestStage;
-import javafx.scene.layout.Pane;
-
-@RunWith(Parameterized.class)
-public final class Scene_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final TestScene testScene = new TestScene(new Group());
-
-        final TestStage testStage1 = new TestStage("STAGE_1");
-        final TestStage testStage2 = new TestStage("STAGE_2");
-        
-        final EventHandler testEventHandler =
-                new EventHandler<Event>() {
-                    @Override
-                    public void handle(Event event) {
-                    }
-                };
-        
-        return Arrays.asList(new Object[] {
-            config(testScene,
-                   "_window", testStage1, testStage2,
-                   "window", testStage1, testStage2),
-//            config(testScene, "x", , ),
-//            config(testScene, "y", , ),
-//            config(testScene, "width", , ),
-//            config(testScene, "height", , ),
-            config(testScene, "camera", null, new ParallelCamera()),
-            config(testScene, "fill", Color.WHITE, Color.BLACK),
-            config(testScene, "fill", null, Color.TRANSPARENT),
-            config(testScene, "root", new Group(), new Pane()),
-            config(testScene, "cursor", null, new Cursor("TestCursor") {
-                @Override public CursorFrame getCurrentFrame() {
-                    throw new UnsupportedOperationException("Not supported yet.");
-                }
-            }),
-            config(testScene, "cursor", Cursor.DEFAULT, Cursor.CROSSHAIR),
-            config(testScene, "eventDispatcher",
-                   null,
-                   new EventHandlerManager(null)),
-            config(testScene, "camera", null, new PerspectiveCamera()),
-            config(testScene, "onMouseClicked", null, testEventHandler),
-            config(testScene, "onMouseDragged", null, testEventHandler),
-            config(testScene, "onMouseEntered", null, testEventHandler),
-            config(testScene, "onMouseExited", null, testEventHandler),
-            config(testScene, "onMouseMoved", null, testEventHandler),
-            config(testScene, "onMousePressed", null, testEventHandler),
-            config(testScene, "onMouseReleased", null, testEventHandler),
-            config(testScene, "onDragDetected", null, testEventHandler),
-            config(testScene, "onDragEntered", null, testEventHandler),
-            config(testScene, "onDragExited", null, testEventHandler),
-            config(testScene, "onDragOver", null, testEventHandler),
-            config(testScene, "onDragDropped", null, testEventHandler),
-            config(testScene, "onDragDone", null, testEventHandler),
-            config(testScene, "onKeyPressed", null, testEventHandler),
-            config(testScene, "onKeyReleased", null, testEventHandler),
-            config(testScene, "onKeyTyped", null, testEventHandler),
-            config(testScene, "onContextMenuRequested", null, testEventHandler),
-            config(testScene, "onDragDetected", null, testEventHandler),
-            config(testScene, "onDragDone", null, testEventHandler),
-            config(testScene, "onDragDropped", null, testEventHandler),
-            config(testScene, "onDragEntered", null, testEventHandler),
-            config(testScene, "onDragExited", null, testEventHandler),
-            config(testScene, "onDragOver", null, testEventHandler),
-            config(testScene, "onMouseDragEntered", null, testEventHandler),
-            config(testScene, "onMouseDragExited", null, testEventHandler),
-            config(testScene, "onMouseDragOver", null, testEventHandler),
-            config(testScene, "onMouseDragReleased", null, testEventHandler),
-            config(testScene, "onRotate", null, testEventHandler),
-            config(testScene, "onRotationStarted", null, testEventHandler),
-            config(testScene, "onRotationFinished", null, testEventHandler),
-            config(testScene, "onZoom", null, testEventHandler),
-            config(testScene, "onZoomStarted", null, testEventHandler),
-            config(testScene, "onZoomFinished", null, testEventHandler),
-            config(testScene, "onScroll", null, testEventHandler),
-            config(testScene, "onScrollStarted", null, testEventHandler),
-            config(testScene, "onScrollFinished", null, testEventHandler),
-            config(testScene, "onSwipeLeft", null, testEventHandler),
-            config(testScene, "onSwipeRight", null, testEventHandler),
-            config(testScene, "onSwipeUp", null, testEventHandler),
-            config(testScene, "onSwipeDown", null, testEventHandler),
-            config(testScene, "onTouchPressed", null, testEventHandler),
-            config(testScene, "onTouchReleased", null, testEventHandler),
-            config(testScene, "onTouchMoved", null, testEventHandler),
-            config(testScene, "onTouchStationary", null, testEventHandler),
-            config(testScene, "onInputMethodTextChanged",
-                   null, testEventHandler),
-            config(testScene,
-                   "nodeOrientation", NodeOrientation.INHERIT,
-                                      NodeOrientation.RIGHT_TO_LEFT,
-                   "effectiveNodeOrientation", NodeOrientation.LEFT_TO_RIGHT,
-                                               NodeOrientation.RIGHT_TO_LEFT)
-        });
-    }
-
-    public Scene_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/Blend_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class Blend_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final Blend testBlend = new Blend();
-
-        return Arrays.asList(new Object[] {
-            config(testBlend, "mode", BlendMode.SRC_OVER, BlendMode.SRC_ATOP),
-            config(testBlend, "opacity", 1.0, 0.5),
-            config(testBlend, "bottomInput", null, new BoxBlur()),
-            config(testBlend, "topInput", null, new BoxBlur())
-        });
-    }
-
-    public Blend_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/Bloom_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class Bloom_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final Bloom testBloom = new Bloom();
-
-        return Arrays.asList(new Object[] {
-            config(testBloom, "input", null, new BoxBlur()),
-            config(testBloom, "threshold", 0.3, 0.6)
-        });
-    }
-
-    public Bloom_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/BoxBlur_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import static com.sun.javafx.test.TestHelper.box;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import javafx.scene.Node;
-import javafx.scene.shape.Rectangle;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.BBoxComparator;
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class BoxBlur_properties_Test extends PropertiesTestBase {
-
-    @Parameters
-    public static Collection data() {
-        ArrayList array = new ArrayList();
-
-        // simple property tests
-        final BoxBlur testBoxBlur = new BoxBlur();
-
-        array.add(config(testBoxBlur, "input", null, new BoxBlur()));
-        array.add(config(testBoxBlur, "width", 100.0, 200.0));
-        array.add(config(testBoxBlur, "height", 100.0, 200.0));
-        array.add(config(testBoxBlur, "iterations", 1, 3));
-
-        // bounding box calculation tests
-
-        // BoxBlur set directly on node
-        Node testNode = createTestNode();
-
-        array.add(config(testNode.getEffect(),
-                "iterations", 1, 2,
-                testNode,
-                "boundsInLocal",
-                box(-2.0, -2.0, 104.0, 104.0),
-                box(-4.0, -4.0, 108.0, 108.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "width", 5.0, 100.0,
-                testNode,
-                "boundsInLocal",
-                box(-2.0, -2.0, 104.0, 104.0),
-                box(-50.0, -2.0, 200.0, 104.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "height", 5.0, 100.0,
-                testNode,
-                "boundsInLocal",
-                box(-2.0, -2.0, 104.0, 104.0),
-                box(-2.0, -50.0, 104.0, 200.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "input", null, new BoxBlur(),
-                testNode,
-                "boundsInLocal",
-                box(-2.0, -2.0, 104.0, 104.0),
-                box(-4.0, -4.0, 108.0, 108.0),
-                new BBoxComparator(0.01)));
-
-        // BoxBlur chained to another effect
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "iterations", 1, 2,
-                testNode,
-                "boundsInLocal",
-                box(-2.0, -2.0, 104.0, 104.0),
-                box(-4.0, -4.0, 108.0, 108.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "width", 5.0, 100.0,
-                testNode,
-                "boundsInLocal",
-                box(-2.0, -2.0, 104.0, 104.0),
-                box(-50.0, -2.0, 200.0, 104.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "height", 5.0, 100.0,
-                testNode,
-                "boundsInLocal",
-                box(-2.0, -2.0, 104.0, 104.0),
-                box(-2.0, -50.0, 104.0, 200.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "input", null, new BoxBlur(),
-                testNode,
-                "boundsInLocal",
-                box(-2.0, -2.0, 104.0, 104.0),
-                box(-4.0, -4.0, 108.0, 108.0),
-                new BBoxComparator(0.01)));
-
-        return array;
-    }
-
-    public BoxBlur_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-
-    private static Rectangle createTestNode() {
-        Rectangle r = new Rectangle(100, 100);
-        r.setEffect(new BoxBlur());
-        return r;
-    }
-
-    private static Rectangle createTestNodeWithChainedEffect() {
-        Rectangle r = new Rectangle(100, 100);
-        ColorAdjust ca = new ColorAdjust();
-        ca.setInput(new BoxBlur());
-        r.setEffect(ca);
-        return r;
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/ColorAdjust_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class ColorAdjust_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final ColorAdjust testColorAdjust = new ColorAdjust();
-
-        return Arrays.asList(new Object[] {
-            config(testColorAdjust, "input", null, new BoxBlur()),
-            config(testColorAdjust, "hue", 0.0, 0.5),
-            config(testColorAdjust, "saturation", 0.0, 0.5),
-            config(testColorAdjust, "brightness", 0.0, 0.5),
-            config(testColorAdjust, "contrast", 0.0, 0.5)
-        });
-    }
-
-    public ColorAdjust_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/ColorInput_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import static com.sun.javafx.test.TestHelper.box;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import javafx.scene.Node;
-import javafx.scene.paint.Color;
-import javafx.scene.shape.Rectangle;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.BBoxComparator;
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class ColorInput_properties_Test extends PropertiesTestBase {
-
-    @Parameters
-    public static Collection data() {
-        ArrayList array = new ArrayList();
-
-        // simple property tests
-        final ColorInput testColorInput = new ColorInput();
-
-        array.add(config(testColorInput, "paint", Color.RED, Color.BLUE));
-        array.add(config(testColorInput, "x", 0.0, 100.0));
-        array.add(config(testColorInput, "y", 0.0, 100.0));
-        array.add(config(testColorInput, "width", 50.0, 150.0));
-        array.add(config(testColorInput, "height", 50.0, 150.0));
-
-        // bounding box calculation tests
-
-        Node testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "width", 0.0, 50.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 0.0, 50.0),
-                box(0.0, 0.0, 50.0, 50.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "height", 0.0, 50.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 50.0, 0.0),
-                box(0.0, 0.0, 50.0, 50.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "x", 0.0, 50.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 50.0, 50.0),
-                box(50.0, 0.0, 50.0, 50.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "y", 0.0, 50.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 50.0, 50.0),
-                box(0.0, 50.0, 50.0, 50.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "width", 0.0, 50.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 0.0, 50.0),
-                box(0.0, 0.0, 50.0, 50.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "height", 0.0, 50.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 50.0, 0.0),
-                box(0.0, 0.0, 50.0, 50.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "x", 0.0, 50.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 50.0, 50.0),
-                box(50.0, 0.0, 50.0, 50.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "y", 0.0, 50.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 50.0, 50.0),
-                box(0.0, 50.0, 50.0, 50.0),
-                new BBoxComparator(0.01)));
-
-        return array;
-    }
-
-    public ColorInput_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-
-    private static Rectangle createTestNode() {
-        Rectangle r = new Rectangle(100, 100);
-        ColorInput flood = new ColorInput();
-        flood.setHeight(50);
-        flood.setWidth(50);
-        r.setEffect(flood);
-        return r;
-    }
-
-    private static Rectangle createTestNodeWithChainedEffect() {
-        Rectangle r = new Rectangle(100, 100);
-        ColorInput flood = new ColorInput();
-        flood.setHeight(50);
-        flood.setWidth(50);
-
-        ColorAdjust c = new ColorAdjust();
-        c.setInput(flood);
-        r.setEffect(c);
-        return r;
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/DisplacementMap_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class DisplacementMap_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final DisplacementMap testDisplacementMap = new DisplacementMap();
-
-        return Arrays.asList(new Object[] {
-            config(testDisplacementMap, "input", null, new BoxBlur()),
-            config(testDisplacementMap, "mapData", null, new FloatMap()),
-            config(testDisplacementMap, "scaleX", 1.0, 0.5),
-            config(testDisplacementMap, "scaleY", 1.0, 0.5),
-            config(testDisplacementMap, "offsetX", 0.0, 10.0),
-            config(testDisplacementMap, "offsetY", 0.0, 10.0),
-            config(testDisplacementMap, "wrap", false, true)
-        });
-    }
-
-    public DisplacementMap_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/DistantLight_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class DistantLight_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final Light.Distant testDistantLight = new Light.Distant();
-
-        return Arrays.asList(new Object[] {
-            config(testDistantLight, "azimuth", 45.0, -135.0),
-            config(testDistantLight, "elevation", 45.0, 30.0)
-        });
-    }
-
-    public DistantLight_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/DropShadow_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,232 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import static com.sun.javafx.test.TestHelper.box;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import javafx.scene.Node;
-import javafx.scene.paint.Color;
-import javafx.scene.shape.Rectangle;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.BBoxComparator;
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class DropShadow_properties_Test extends PropertiesTestBase {
-
-    @Parameters
-    public static Collection data() {
-        ArrayList array = new ArrayList();
-
-        // simple property tests
-        final DropShadow testDropShadow = new DropShadow();
-
-        array.add(config(testDropShadow, "input", null, new BoxBlur()));
-        array.add(config(testDropShadow, "radius", 50.0, 100.0));
-        array.add(config(testDropShadow, "width", 100.0, 200.0));
-        array.add(config(testDropShadow, "height", 100.0, 200.0));
-        array.add(config(testDropShadow, "blurType",
-                  BlurType.GAUSSIAN, BlurType.THREE_PASS_BOX));
-        array.add(config(testDropShadow, "spread", 0.0, 0.5));
-        array.add(config(testDropShadow, "color", Color.BLACK, Color.RED));
-        array.add(config(testDropShadow, "offsetX", 0.0, 50.0));
-        array.add(config(testDropShadow, "offsetY", 0.0, 50.0));
-
-        // bounding box calculation tests
-
-        Node testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "radius", 10.0, 21.0,
-                testNode,
-                "boundsInLocal",
-                box(-9.0, -9.0, 118.0, 118.0),
-                box(-20.0, -20.0, 140.0, 140.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "width", 10.0, 21.0,
-                testNode,
-                "boundsInLocal",
-                box(-3.0, -9.0, 106.0, 118.0),
-                box(-9.0, -9.0, 118.0, 118.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "height", 10.0, 21.0,
-                testNode,
-                "boundsInLocal",
-                box(-9.0, -3.0, 118.0, 106.0),
-                box(-9.0, -9.0, 118.0, 118.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "offsetX", 10.0, 21.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, -9.0, 119.0, 118.0),
-                box(0.0, -9.0, 130.0, 118.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "offsetY", 10.0, 21.0,
-                testNode,
-                "boundsInLocal",
-                box(-9.0, 0.0, 118.0, 119.0),
-                box(-9.0, 0.0, 118.0, 130.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "blurType", BlurType.ONE_PASS_BOX, BlurType.THREE_PASS_BOX,
-                testNode,
-                "boundsInLocal",
-                box(-3.0, -3.0, 106.0, 106.0),
-                box(-9.0, -9.0, 118.0, 118.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "blurType", BlurType.TWO_PASS_BOX, BlurType.GAUSSIAN,
-                testNode,
-                "boundsInLocal",
-                box(-6.0, -6.0, 112.0, 112.0),
-                box(-10.0, -10.0, 120.0, 120.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "input", null, new BoxBlur(),
-                testNode,
-                "boundsInLocal",
-                box(-9.0, -9.0, 118.0, 118.0),
-                box(-11.0, -11.0, 122.0, 122.0),
-                new BBoxComparator(0.01)));
-
-        // DropShadow chained to another effect
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "radius", 10.0, 21.0,
-                testNode,
-                "boundsInLocal",
-                box(-9.0, -9.0, 118.0, 118.0),
-                box(-20.0, -20.0, 140.0, 140.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "width", 10.0, 21.0,
-                testNode,
-                "boundsInLocal",
-                box(-3.0, -9.0, 106.0, 118.0),
-                box(-9.0, -9.0, 118.0, 118.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "height", 10.0, 21.0,
-                testNode,
-                "boundsInLocal",
-                box(-9.0, -3.0, 118.0, 106.0),
-                box(-9.0, -9.0, 118.0, 118.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "offsetX", 10.0, 21.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, -9.0, 119.0, 118.0),
-                box(0.0, -9.0, 130.0, 118.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "offsetY", 10.0, 21.0,
-                testNode,
-                "boundsInLocal",
-                box(-9.0, 0.0, 118.0, 119.0),
-                box(-9.0, 0.0, 118.0, 130.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "blurType", BlurType.ONE_PASS_BOX, BlurType.THREE_PASS_BOX,
-                testNode,
-                "boundsInLocal",
-                box(-3.0, -3.0, 106.0, 106.0),
-                box(-9.0, -9.0, 118.0, 118.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "blurType", BlurType.TWO_PASS_BOX, BlurType.GAUSSIAN,
-                testNode,
-                "boundsInLocal",
-                box(-6.0, -6.0, 112.0, 112.0),
-                box(-10.0, -10.0, 120.0, 120.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "input", null, new BoxBlur(),
-                testNode,
-                "boundsInLocal",
-                box(-9.0, -9.0, 118.0, 118.0),
-                box(-11.0, -11.0, 122.0, 122.0),
-                new BBoxComparator(0.01)));
-
-        return array;
-    }
-
-    public DropShadow_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-
-    private static Rectangle createTestNode() {
-        Rectangle r = new Rectangle(100, 100);
-        r.setEffect(new DropShadow());
-        return r;
-    }
-
-    private static Rectangle createTestNodeWithChainedEffect() {
-        Rectangle r = new Rectangle(100, 100);
-        ColorAdjust c = new ColorAdjust();
-        c.setInput(new DropShadow());
-        r.setEffect(c);
-        return r;
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/FloatMap_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class FloatMap_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final FloatMap testFloatMap = new FloatMap();
-
-        return Arrays.asList(new Object[] {
-            config(testFloatMap, "width", 64, 128),
-            config(testFloatMap, "height", 64, 128)
-        });
-    }
-
-    public FloatMap_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/GaussianBlur_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import static com.sun.javafx.test.TestHelper.box;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import javafx.scene.Node;
-import javafx.scene.shape.Rectangle;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.BBoxComparator;
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class GaussianBlur_properties_Test extends PropertiesTestBase {
-
-    @Parameters
-    public static Collection data() {
-        ArrayList array = new ArrayList();
-
-        // simple property tests
-        final GaussianBlur testGaussianBlur = new GaussianBlur();
-
-        array.add(config(testGaussianBlur, "input", null, new BoxBlur()));
-        array.add(config(testGaussianBlur, "radius", 20.0, 40.0));
-
-        // bounding box calculation tests
-
-        Node testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "radius", 0.0, 10.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 100.0, 100.0),
-                box(-10.0, -10.0, 120.0, 120.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "input", null, new BoxBlur(),
-                testNode,
-                "boundsInLocal",
-                box(-10.0, -10.0, 120.0, 120.0),
-                box(-12.0, -12.0, 124.0, 124.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((Glow)testNode.getEffect()).getInput(),
-                "radius", 0.0, 10.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 100.0, 100.0),
-                box(-10.0, -10.0, 120.0, 120.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((Glow)testNode.getEffect()).getInput(),
-                "input", null, new BoxBlur(),
-                testNode,
-                "boundsInLocal",
-                box(-10.0, -10.0, 120.0, 120.0),
-                box(-12.0, -12.0, 124.0, 124.0),
-                new BBoxComparator(0.01)));
-
-        return array;
-    }
-
-    public GaussianBlur_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-
-    private static Rectangle createTestNode() {
-        Rectangle r = new Rectangle(100, 100);
-        r.setEffect(new GaussianBlur());
-        return r;
-    }
-
-    private static Rectangle createTestNodeWithChainedEffect() {
-        Rectangle r = new Rectangle(100, 100);
-        Glow g = new Glow();
-        g.setInput(new GaussianBlur());
-        r.setEffect(g);
-        return r;
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/Glow_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class Glow_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final Glow testGlow = new Glow();
-
-        return Arrays.asList(new Object[] {
-            config(testGlow, "input", null, new BoxBlur()),
-            config(testGlow, "level", 0.3, 0.6)
-        });
-    }
-
-    public Glow_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/ImageInput_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import static com.sun.javafx.test.TestHelper.box;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import javafx.scene.Node;
-import javafx.scene.image.TestImages;
-import javafx.scene.shape.Rectangle;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.BBoxComparator;
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class ImageInput_properties_Test extends PropertiesTestBase {
-
-    @Parameters
-    public static Collection data() {
-        ArrayList array = new ArrayList();
-
-        // simple property tests
-        final ImageInput testImageInput = new ImageInput();
-
-        array.add(config(testImageInput, "source",
-                         null, TestImages.TEST_IMAGE_100x200));
-        array.add(config(testImageInput, "x", 0.0, 20.0));
-        array.add(config(testImageInput, "y", 0.0, 20.0));
-
-        // bounding box calculation tests
-
-        Node testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "source", TestImages.TEST_IMAGE_32x32, TestImages.TEST_IMAGE_64x64,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 32.0, 32.0),
-                box(0.0, 0.0, 64.0, 64.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        ((ImageInput) testNode.getEffect()).setSource(TestImages.TEST_IMAGE_32x32);
-        array.add(config(testNode.getEffect(),
-                "x", 0.0, 50.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 32.0, 32.0),
-                box(50.0, 0.0, 32.0, 32.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        ((ImageInput) testNode.getEffect()).setSource(TestImages.TEST_IMAGE_32x32);
-        array.add(config(testNode.getEffect(),
-                "y", 0.0, 50.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 32.0, 32.0),
-                box(0.0, 50.0, 32.0, 32.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "source", TestImages.TEST_IMAGE_32x32, TestImages.TEST_IMAGE_64x64,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 32.0, 32.0),
-                box(0.0, 0.0, 64.0, 64.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        ImageInput imageInput = (ImageInput)((ColorAdjust)testNode.getEffect()).getInput();
-        imageInput.setSource(TestImages.TEST_IMAGE_32x32);
-        array.add(config(imageInput,
-                "x", 0.0, 50.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 32.0, 32.0),
-                box(50.0, 0.0, 32.0, 32.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        imageInput = (ImageInput)((ColorAdjust)testNode.getEffect()).getInput();
-        imageInput.setSource(TestImages.TEST_IMAGE_32x32);
-        array.add(config(imageInput,
-                "y", 0.0, 50.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 32.0, 32.0),
-                box(0.0, 50.0, 32.0, 32.0),
-                new BBoxComparator(0.01)));
-
-        return array;
-    }
-
-    public ImageInput_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-
-    private static Rectangle createTestNode() {
-        Rectangle r = new Rectangle(100, 100);
-        r.setEffect(new ImageInput());
-        return r;
-    }
-
-    private static Rectangle createTestNodeWithChainedEffect() {
-        Rectangle r = new Rectangle(100, 100);
-        ColorAdjust c = new ColorAdjust();
-        c.setInput(new ImageInput());
-        r.setEffect(c);
-        return r;
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/InnerShadow_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import java.util.Arrays;
-import java.util.Collection;
-import javafx.scene.paint.Color;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class InnerShadow_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final InnerShadow testInnerShadow = new InnerShadow();
-
-        return Arrays.asList(new Object[] {
-            config(testInnerShadow, "input", null, new BoxBlur()),
-            config(testInnerShadow, "radius", 20.0, 40.0),
-            config(testInnerShadow, "width", 100.0, 200.0),
-            config(testInnerShadow, "height", 100.0, 200.0),
-            config(testInnerShadow, "blurType",
-                   BlurType.GAUSSIAN, BlurType.THREE_PASS_BOX),
-            config(testInnerShadow, "choke", 0.0, 0.5),
-            config(testInnerShadow, "color", Color.BLACK, Color.RED),
-            config(testInnerShadow, "offsetX", 0.0, 50.0),
-            config(testInnerShadow, "offsetY", 0.0, 50.0)
-        });
-    }
-
-    public InnerShadow_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/Lighting_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class Lighting_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final Lighting testLighting = new Lighting();
-
-        return Arrays.asList(new Object[] {
-            config(testLighting, "light", 
-                   new Light.Distant(),
-                   new Light.Point()),
-            config(testLighting, "bumpInput", null, new BoxBlur()),
-            config(testLighting, "contentInput", null, new BoxBlur()),
-            config(testLighting, "diffuseConstant", 1.0, 1.5),
-            config(testLighting, "specularConstant", 0.3, 0.6),
-            config(testLighting, "specularExponent", 20.0, 30.0),
-            config(testLighting, "surfaceScale", 1.5, 0.5)
-        });
-    }
-
-    public Lighting_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/MotionBlur_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import static com.sun.javafx.test.TestHelper.box;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import javafx.scene.Node;
-import javafx.scene.shape.Rectangle;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.BBoxComparator;
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class MotionBlur_properties_Test extends PropertiesTestBase {
-
-    @Parameters
-    public static Collection data() {
-        ArrayList array = new ArrayList();
-
-        // simple property tests
-        final MotionBlur testMotionBlur = new MotionBlur();
-
-        array.add(config(testMotionBlur, "input", null, new BoxBlur()));
-        array.add(config(testMotionBlur, "radius", 20.0, 40.0));
-        array.add(config(testMotionBlur, "angle", 0.0, 45.0));
-
-        // bounding box calculation tests
-
-        Node testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "radius", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(-10.0, 0.0, 120.0, 100.0),
-                box(-20.0, 0.0, 140.0, 100.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "angle", 0.0, 45.0,
-                testNode,
-                "boundsInLocal",
-                box(-10.0, 0.0, 120.0, 100.0),
-                box(-8.0, -8.0, 116.0, 116.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "input", null, new BoxBlur(),
-                testNode,
-                "boundsInLocal",
-                box(-10.0, -0.0, 120.0, 100.0),
-                box(-12.0, -2.0, 124.0, 104.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "radius", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(-10.0, 0.0, 120.0, 100.0),
-                box(-20.0, 0.0, 140.0, 100.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "angle", 0.0, 45.0,
-                testNode,
-                "boundsInLocal",
-                box(-10.0, 0.0, 120.0, 100.0),
-                box(-8.0, -8.0, 116.0, 116.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "input", null, new BoxBlur(),
-                testNode,
-                "boundsInLocal",
-                box(-10.0, -0.0, 120.0, 100.0),
-                box(-12.0, -2.0, 124.0, 104.0),
-                new BBoxComparator(0.01)));
-
-        return array;
-    }
-
-    public MotionBlur_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-
-    private static Rectangle createTestNode() {
-        Rectangle r = new Rectangle(100, 100);
-        r.setEffect(new MotionBlur());
-        return r;
-    }
-
-    private static Rectangle createTestNodeWithChainedEffect() {
-        Rectangle r = new Rectangle(100, 100);
-        ColorAdjust c = new ColorAdjust();
-        c.setInput(new MotionBlur());
-        r.setEffect(c);
-        return r;
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/PerspectiveTransform_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,259 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import static com.sun.javafx.test.TestHelper.box;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import javafx.scene.Node;
-import javafx.scene.shape.Rectangle;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.BBoxComparator;
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class PerspectiveTransform_properties_Test extends PropertiesTestBase {
-
-    @Parameters
-    public static Collection data() {
-        ArrayList array = new ArrayList();
-
-        // simple property tests
-        final PerspectiveTransform testPerspectiveTransform =
-                new PerspectiveTransform();
-
-        array.add(config(testPerspectiveTransform, "input",
-                         null, new BoxBlur()));
-        array.add(config(testPerspectiveTransform, "ulx", 0.0, 10.0));
-        array.add(config(testPerspectiveTransform, "uly", 0.0, 10.0));
-        array.add(config(testPerspectiveTransform, "urx", 0.0, 310.0));
-        array.add(config(testPerspectiveTransform, "ury", 0.0, 40.0));
-        array.add(config(testPerspectiveTransform, "lrx", 0.0, 310.0));
-        array.add(config(testPerspectiveTransform, "lry", 0.0, 60.0));
-        array.add(config(testPerspectiveTransform, "llx", 0.0, 10.0));
-        array.add(config(testPerspectiveTransform, "lly", 0.0, 90.0));
-
-        // bounding box calculation tests
-
-        Node testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "llx", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 10.0, 0.0),
-                box(0.0, 0.0, 20.0, 0.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "lly", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 0.0, 10.0),
-                box(0.0, 0.0, 0.0, 20.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "lrx", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 10.0, 0.0),
-                box(0.0, 0.0, 20.0, 0.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "lry", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 0.0, 10.0),
-                box(0.0, 0.0, 0.0, 20.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "ulx", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 10.0, 0.0),
-                box(0.0, 0.0, 20.0, 0.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "uly", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 0.0, 10.0),
-                box(0.0, 0.0, 0.0, 20.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "urx", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 10.0, 0.0),
-                box(0.0, 0.0, 20.0, 0.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "ury", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 0.0, 10.0),
-                box(0.0, 0.0, 0.0, 20.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        PerspectiveTransform pt = (PerspectiveTransform)testNode.getEffect();
-        pt.setLlx(0); pt.setLly(0);
-        pt.setLrx(100); pt.setLly(0);
-        pt.setUlx(0); pt.setUly(100);
-        pt.setUrx(100); pt.setUly(100);
-        array.add(config(testNode.getEffect(),
-                "input", null, new BoxBlur(),
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 100.0, 100.0),
-                box(0.0, 0.0, 100.0, 100.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "llx", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 10.0, 0.0),
-                box(0.0, 0.0, 20.0, 0.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "lly", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 0.0, 10.0),
-                box(0.0, 0.0, 0.0, 20.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "lrx", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 10.0, 0.0),
-                box(0.0, 0.0, 20.0, 0.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "lry", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 0.0, 10.0),
-                box(0.0, 0.0, 0.0, 20.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "ulx", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 10.0, 0.0),
-                box(0.0, 0.0, 20.0, 0.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "uly", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 0.0, 10.0),
-                box(0.0, 0.0, 0.0, 20.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "urx", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 10.0, 0.0),
-                box(0.0, 0.0, 20.0, 0.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((ColorAdjust)testNode.getEffect()).getInput(),
-                "ury", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 0.0, 10.0),
-                box(0.0, 0.0, 0.0, 20.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        pt = (PerspectiveTransform)(((ColorAdjust)testNode.getEffect()).getInput());
-        pt.setLlx(0); pt.setLly(0);
-        pt.setLrx(100); pt.setLly(0);
-        pt.setUlx(0); pt.setUly(100);
-        pt.setUrx(100); pt.setUly(100);
-        array.add(config(pt,
-                "input", null, new BoxBlur(),
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 100.0, 100.0),
-                box(0.0, 0.0, 100.0, 100.0),
-                new BBoxComparator(0.01)));
-        return array;
-    }
-
-    public PerspectiveTransform_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-
-    private static Rectangle createTestNode() {
-        Rectangle r = new Rectangle(100, 100);
-        r.setEffect(new PerspectiveTransform());
-        return r;
-    }
-
-
-    private static Rectangle createTestNodeWithChainedEffect() {
-        Rectangle r = new Rectangle(100, 100);
-        ColorAdjust c = new ColorAdjust();
-        c.setInput(new PerspectiveTransform());
-        r.setEffect(c);
-        return r;
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/PointLight_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class PointLight_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final Light.Point testPointLight = new Light.Point();
-
-        return Arrays.asList(new Object[] {
-            config(testPointLight, "x", 0.0, -100.0),
-            config(testPointLight, "y", 0.0, -100.0),
-            config(testPointLight, "z", 0.0, 50.0)
-        });
-    }
-
-    public PointLight_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/Reflection_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import static com.sun.javafx.test.TestHelper.box;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import javafx.scene.Node;
-import javafx.scene.shape.Rectangle;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.BBoxComparator;
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class Reflection_properties_Test extends PropertiesTestBase {
-
-    @Parameters
-    public static Collection data() {
-        ArrayList array = new ArrayList();
-
-        // simple property tests
-        final Reflection testReflection = new Reflection();
-
-        array.add(config(testReflection, "input", null, new BoxBlur()));
-        array.add(config(testReflection, "topOffset", 0.0, 50.0));
-        array.add(config(testReflection, "topOpacity", 0.5, 0.0));
-        array.add(config(testReflection, "bottomOpacity", 1.0, 0.8));
-        array.add(config(testReflection, "fraction", 0.75, 0.5));
-
-        // bounding box calculation tests
-
-        Node testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "topOffset", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 100.0, 185.0),
-                box(0.0, 0.0, 100.0, 195.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "fraction", 0.0, 1.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 100.0, 100.0),
-                box(0.0, 0.0, 100.0, 200.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "input", null, new BoxBlur(),
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 100.0, 175.0),
-                box(-2.0, -2.0, 104.0, 182.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((Glow)testNode.getEffect()).getInput(),
-                "topOffset", 10.0, 20.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 100.0, 185.0),
-                box(0.0, 0.0, 100.0, 195.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((Glow)testNode.getEffect()).getInput(),
-                "fraction", 0.0, 1.0,
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 100.0, 100.0),
-                box(0.0, 0.0, 100.0, 200.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((Glow)testNode.getEffect()).getInput(),
-                "input", null, new BoxBlur(),
-                testNode,
-                "boundsInLocal",
-                box(0.0, 0.0, 100.0, 175.0),
-                box(-2.0, -2.0, 104.0, 182.0),
-                new BBoxComparator(0.01)));
-
-        return array;
-    }
-
-    public Reflection_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-
-    private static Rectangle createTestNode() {
-        Rectangle r = new Rectangle(100, 100);
-        r.setEffect(new Reflection());
-        return r;
-    }
-
-    private static Rectangle createTestNodeWithChainedEffect() {
-        Rectangle r = new Rectangle(100, 100);
-        Glow g = new Glow();
-        g.setInput(new Reflection());
-        r.setEffect(g);
-        return r;
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/SepiaTone_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class SepiaTone_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final SepiaTone testSepiaTone = new SepiaTone();
-
-        return Arrays.asList(new Object[] {
-            config(testSepiaTone, "input", null, new BoxBlur()),
-            config(testSepiaTone, "level", 0.3, 0.6)
-        });
-    }
-
-    public SepiaTone_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/Shadow_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,192 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import static com.sun.javafx.test.TestHelper.box;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import javafx.scene.Node;
-import javafx.scene.paint.Color;
-import javafx.scene.shape.Rectangle;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.BBoxComparator;
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class Shadow_properties_Test extends PropertiesTestBase {
-
-    @Parameters
-    public static Collection data() {
-        ArrayList array = new ArrayList();
-
-        // simple property tests
-        final Shadow testShadow = new Shadow();
-
-        array.add(config(testShadow, "input", null, new BoxBlur()));
-        array.add(config(testShadow, "radius", 20.0, 40.0));
-        array.add(config(testShadow, "width", 100.0, 200.0));
-        array.add(config(testShadow, "height", 100.0, 200.0));
-        array.add(config(testShadow, "blurType",
-                         BlurType.GAUSSIAN, BlurType.THREE_PASS_BOX));
-        array.add(config(testShadow, "color", Color.BLACK, Color.RED));
-
-        // bounding box calculation tests
-
-        Node testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "radius", 10.0, 21.0,
-                testNode,
-                "boundsInLocal",
-                box(-9.0, -9.0, 118.0, 118.0),
-                box(-20.0, -20.0, 140.0, 140.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "width", 10.0, 21.0,
-                testNode,
-                "boundsInLocal",
-                box(-3.0, -9.0, 106.0, 118.0),
-                box(-9.0, -9.0, 118.0, 118.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "height", 10.0, 21.0,
-                testNode,
-                "boundsInLocal",
-                box(-9.0, -3.0, 118.0, 106.0),
-                box(-9.0, -9.0, 118.0, 118.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "blurType", BlurType.ONE_PASS_BOX, BlurType.THREE_PASS_BOX,
-                testNode,
-                "boundsInLocal",
-                box(-3.0, -3.0, 106.0, 106.0),
-                box(-9.0, -9.0, 118.0, 118.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "blurType", BlurType.TWO_PASS_BOX, BlurType.GAUSSIAN,
-                testNode,
-                "boundsInLocal",
-                box(-6.0, -6.0, 112.0, 112.0),
-                box(-10.0, -10.0, 120.0, 120.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNode();
-        array.add(config(testNode.getEffect(),
-                "input", null, new BoxBlur(),
-                testNode,
-                "boundsInLocal",
-                box(-9.0, -9.0, 118.0, 118.0),
-                box(-11.0, -11.0, 122.0, 122.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((Glow)testNode.getEffect()).getInput(),
-                "radius", 10.0, 21.0,
-                testNode,
-                "boundsInLocal",
-                box(-9.0, -9.0, 118.0, 118.0),
-                box(-20.0, -20.0, 140.0, 140.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((Glow)testNode.getEffect()).getInput(),
-                "width", 10.0, 21.0,
-                testNode,
-                "boundsInLocal",
-                box(-3.0, -9.0, 106.0, 118.0),
-                box(-9.0, -9.0, 118.0, 118.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((Glow)testNode.getEffect()).getInput(),
-                "height", 10.0, 21.0,
-                testNode,
-                "boundsInLocal",
-                box(-9.0, -3.0, 118.0, 106.0),
-                box(-9.0, -9.0, 118.0, 118.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((Glow)testNode.getEffect()).getInput(),
-                "blurType", BlurType.ONE_PASS_BOX, BlurType.THREE_PASS_BOX,
-                testNode,
-                "boundsInLocal",
-                box(-3.0, -3.0, 106.0, 106.0),
-                box(-9.0, -9.0, 118.0, 118.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((Glow)testNode.getEffect()).getInput(),
-                "blurType", BlurType.TWO_PASS_BOX, BlurType.GAUSSIAN,
-                testNode,
-                "boundsInLocal",
-                box(-6.0, -6.0, 112.0, 112.0),
-                box(-10.0, -10.0, 120.0, 120.0),
-                new BBoxComparator(0.01)));
-
-        testNode = createTestNodeWithChainedEffect();
-        array.add(config(((Glow)testNode.getEffect()).getInput(),
-                "input", null, new BoxBlur(),
-                testNode,
-                "boundsInLocal",
-                box(-9.0, -9.0, 118.0, 118.0),
-                box(-11.0, -11.0, 122.0, 122.0),
-                new BBoxComparator(0.01)));
-
-        return array;
-    }
-
-    public Shadow_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-
-    private static Rectangle createTestNode() {
-        Rectangle r = new Rectangle(100, 100);
-        r.setEffect(new Shadow());
-        return r;
-    }
-
-    private static Rectangle createTestNodeWithChainedEffect() {
-        Rectangle r = new Rectangle(100, 100);
-        Glow g = new Glow();
-        g.setInput(new Shadow());
-        r.setEffect(g);
-        return r;
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/effect/SpotLight_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.effect;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class SpotLight_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final Light.Spot testSpotLight = new Light.Spot();
-
-        return Arrays.asList(new Object[] {
-            config(testSpotLight, "pointsAtX", 0.0, 100.0),
-            config(testSpotLight, "pointsAtY", 0.0, 100.0),
-            config(testSpotLight, "pointsAtZ", 0.0, 100.0),
-            config(testSpotLight, "specularExponent", 1.0, 3.0)
-        });
-    }
-
-    public SpotLight_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/shape/ArcTo_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.shape;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class ArcTo_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final ArcTo testArcTo = new ArcTo();
-
-        return Arrays.asList(new Object[] {
-            config(testArcTo, "radiusX", 50.0, 150.0),
-            config(testArcTo, "radiusY", 50.0, 150.0),
-            // temporarily disabled, because there is ArcToBuilder.XAxisRotation
-            // instead of ArcToBuilder.xAxisRotation
-            // config(testArcTo, "xAxisRotation", 0.0, 45.0),
-            config(testArcTo, "largeArcFlag", false, true),
-            config(testArcTo, "sweepFlag", false, true),
-            config(testArcTo, "x", 0.0, 100.0),
-            config(testArcTo, "y", 0.0, 100.0)
-        });
-    }
-
-    public ArcTo_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/shape/Arc_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.shape;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class Arc_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final Arc testArc = new Arc();
-
-        return Arrays.asList(new Object[] {
-            config(testArc, "centerX", 0.0, 100.0),
-            config(testArc, "centerY", 0.0, 100.0),
-            config(testArc, "radiusX", 50.0, 150.0),
-            config(testArc, "radiusY", 50.0, 150.0),
-            config(testArc, "startAngle", 0.0, 50.0),
-            config(testArc, "length", 40.0, 80.0),
-            config(testArc, "type", ArcType.OPEN, ArcType.ROUND)
-        });
-    }
-
-    public Arc_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/shape/Circle_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.shape;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class Circle_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final Circle testCircle = new Circle();
-
-        return Arrays.asList(new Object[] {
-            config(testCircle, "centerX", 0.0, 100.0),
-            config(testCircle, "centerY", 0.0, 100.0),
-            config(testCircle, "radius", 50.0, 150.0)
-        });
-    }
-
-    public Circle_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/shape/CubicCurveTo_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.shape;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class CubicCurveTo_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final CubicCurveTo testCubicCurveTo = new CubicCurveTo();
-
-        return Arrays.asList(new Object[] {
-            config(testCubicCurveTo, "controlX1", 20.0, 120.0),
-            config(testCubicCurveTo, "controlY1", 40.0, 140.0),
-            config(testCubicCurveTo, "controlX2", 40.0, 140.0),
-            config(testCubicCurveTo, "controlY2", 20.0, 120.0),
-            config(testCubicCurveTo, "x", 0.0, 100.0),
-            config(testCubicCurveTo, "y", 0.0, 100.0)
-        });
-    }
-
-    public CubicCurveTo_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/shape/CubicCurve_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.shape;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class CubicCurve_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final CubicCurve testCubicCurve = new CubicCurve();
-
-        return Arrays.asList(new Object[] {
-            config(testCubicCurve, "startX", 0.0, 100.0),
-            config(testCubicCurve, "startY", 0.0, 100.0),
-            config(testCubicCurve, "controlX1", 20.0, 120.0),
-            config(testCubicCurve, "controlY1", 40.0, 140.0),
-            config(testCubicCurve, "controlX2", 40.0, 140.0),
-            config(testCubicCurve, "controlY2", 20.0, 120.0),
-            config(testCubicCurve, "endX", 100.0, 200.0),
-            config(testCubicCurve, "endY", 100.0, 200.0)
-        });
-    }
-
-    public CubicCurve_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/shape/Ellipse_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.shape;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class Ellipse_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final Ellipse testEllipse = new Ellipse();
-
-        return Arrays.asList(new Object[] {
-            config(testEllipse, "centerX", 0.0, 100.0),
-            config(testEllipse, "centerY", 0.0, 100.0),
-            config(testEllipse, "radiusX", 50.0, 150.0),
-            config(testEllipse, "radiusY", 50.0, 150.0)
-        });
-    }
-
-    public Ellipse_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/shape/HLineTo_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.shape;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class HLineTo_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final HLineTo testHLineTo = new HLineTo();
-
-        return Arrays.asList(new Object[] {
-            config(testHLineTo, "x", 50.0, 100.0)
-        });
-    }
-
-    public HLineTo_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/shape/LineTo_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.shape;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class LineTo_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final LineTo testLineTo = new LineTo();
-
-        return Arrays.asList(new Object[] {
-            config(testLineTo, "x", 50.0, 100.0),
-            config(testLineTo, "y", 50.0, 100.0)
-        });
-    }
-
-    public LineTo_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/shape/Line_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.shape;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class Line_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final Line testLine = new Line();
-
-        return Arrays.asList(new Object[] {
-            config(testLine, "startX", 0.0, 100.0),
-            config(testLine, "startY", 0.0, 100.0),
-            config(testLine, "endX", 100.0, 0.0),
-            config(testLine, "endY", 100.0, 0.0),
-        });
-    }
-
-    public Line_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/shape/MoveTo_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.shape;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class MoveTo_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final MoveTo testMoveTo = new MoveTo();
-
-        return Arrays.asList(new Object[] {
-            config(testMoveTo, "x", 50.0, 100.0),
-            config(testMoveTo, "y", 50.0, 100.0)
-        });
-    }
-
-    public MoveTo_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/shape/Path_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.shape;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class Path_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final Path testPath = new Path();
-
-        return Arrays.asList(new Object[] {
-            config(testPath, "fillRule", FillRule.NON_ZERO, FillRule.EVEN_ODD)
-        });
-    }
-
-    public Path_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/shape/QuadCurveTo_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.shape;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class QuadCurveTo_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final QuadCurveTo testQuadCurveTo = new QuadCurveTo();
-
-        return Arrays.asList(new Object[] {
-            config(testQuadCurveTo, "controlX", 80.0, 180.0),
-            config(testQuadCurveTo, "controlY", 20.0, 120.0),
-            config(testQuadCurveTo, "x", 100.0, 200.0),
-            config(testQuadCurveTo, "y", 100.0, 200.0)
-        });
-    }
-
-    public QuadCurveTo_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/shape/QuadCurve_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.shape;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class QuadCurve_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final QuadCurve testQuadCurve = new QuadCurve();
-
-        return Arrays.asList(new Object[] {
-            config(testQuadCurve, "startX", 0.0, 100.0),
-            config(testQuadCurve, "startY", 0.0, 100.0),
-            config(testQuadCurve, "controlX", 80.0, 180.0),
-            config(testQuadCurve, "controlY", 20.0, 120.0),
-            config(testQuadCurve, "endX", 100.0, 200.0),
-            config(testQuadCurve, "endY", 100.0, 200.0)
-        });
-    }
-
-    public QuadCurve_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/shape/Rectangle_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.shape;
-
-import static com.sun.javafx.test.TestHelper.box;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class Rectangle_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final Rectangle testRectangle = createTestRectangle();
-        
-        return Arrays.asList(new Object[] {
-            config(testRectangle, "x", 0.0, 100.0),
-            config(testRectangle, "y", 0.0, 200.0),
-            config(testRectangle, "width", 50.0, 200.0),
-            config(testRectangle, "height", 50.0, 200.0),
-            config(testRectangle, "arcWidth", 10.0, 20.0),
-            config(testRectangle, "arcHeight", 10.0, 20.0),
-
-            config(createTestRectangle(),
-                   "x", 0.0, 100.0,
-                   "boundsInLocal",
-                   box(0, 0, 100, 100), box(100, 0, 100, 100)),
-            config(createTestRectangle(),
-                   "y", 0.0, 100.0,
-                   "boundsInLocal",
-                   box(0, 0, 100, 100), box(0, 100, 100, 100)),
-            config(createTestRectangle(),
-                   "width", 50.0, 200.0,
-                   "boundsInLocal",
-                   box(0, 0, 50, 100), box(0, 0, 200, 100)),
-            config(createTestRectangle(),
-                   "height", 50.0, 200.0,
-                   "boundsInLocal",
-                   box(0, 0, 100, 50), box(0, 0, 100, 200)),
-            config(createTestRectangle(),
-                   "x", 0.0, 100.0,
-                   "layoutBounds",
-                   box(0, 0, 100, 100), box(100, 0, 100, 100)),
-            config(createTestRectangle(),
-                   "y", 0.0, 100.0,
-                   "layoutBounds",
-                   box(0, 0, 100, 100), box(0, 100, 100, 100)),
-            config(createTestRectangle(),
-                   "width", 50.0, 200.0,
-                   "layoutBounds",
-                   box(0, 0, 50, 100), box(0, 0, 200, 100)),
-            config(createTestRectangle(),
-                   "height", 50.0, 200.0,
-                   "layoutBounds",
-                   box(0, 0, 100, 50), box(0, 0, 100, 200)),
-            config(createTestRectangle(),
-                   "translateX", 0.0, 100.0,
-                   "boundsInParent", 
-                   box(0, 0, 100, 100), box(100, 0, 100, 100)),
-            config(createTestRectangle(),
-                   "translateY", 0.0, 100.0,
-                   "boundsInParent",
-                   box(0, 0, 100, 100), box(0, 100, 100, 100))
-        });
-    }
-
-    public Rectangle_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-
-    private static Rectangle createTestRectangle() {
-        return new Rectangle(100, 100);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/shape/SVGPath_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.shape;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class SVGPath_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final SVGPath testSvgPath = new SVGPath();
-
-        return Arrays.asList(new Object[] {
-            config(testSvgPath, "fillRule",
-                   FillRule.NON_ZERO, FillRule.EVEN_ODD),
-            config(testSvgPath, "content", "", "M40,60 C42,48 44,30 25,32")
-        });
-    }
-
-    public SVGPath_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/shape/Shape_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.shape;
-
-import static com.sun.javafx.test.TestHelper.box;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import javafx.scene.paint.Color;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.BBoxComparator;
-import com.sun.javafx.test.PropertiesTestBase;
-import javafx.collections.ListChangeListener;
-import javafx.collections.ListChangeListener.Change;
-import javafx.collections.ObservableList;
-
-@RunWith(Parameterized.class)
-public final class Shape_properties_Test extends PropertiesTestBase {
-
-    @Parameters
-    public static Collection data() {
-        ArrayList array = new ArrayList();        
-
-        // simple property tests
-        Shape testShape = createTestRectangle();
-
-        array.add(config(testShape, "strokeType",
-                  StrokeType.CENTERED, StrokeType.INSIDE));
-        array.add(config(testShape, "strokeWidth", 1.0, 2.0));
-        array.add(config(testShape, "strokeLineJoin",
-                  StrokeLineJoin.MITER, StrokeLineJoin.BEVEL));
-        array.add(config(testShape, "strokeLineCap",
-                  StrokeLineCap.ROUND,  StrokeLineCap.SQUARE));
-        array.add(config(testShape, "strokeMiterLimit", 0.0, 10.0));
-        array.add(config(testShape, "strokeDashOffset", 0.0, 3.0));
-        array.add(config(testShape, "fill", Color.BLACK, null));
-        array.add(config(testShape, "stroke", null, Color.BLACK));
-        array.add(config(testShape, "smooth", true, false));
-
-        // bounding box calculation tests
-        array.add(config(createTestRectangle(),
-                    "strokeWidth", 0.0, 20.0,
-                    "boundsInLocal",
-                    box(0, 0, 100, 100), box(-10, -10, 120, 120)));
-
-        testShape = createTestTriangle();
-        array.add(config(testShape,
-                    "strokeLineJoin", StrokeLineJoin.MITER, StrokeLineJoin.BEVEL,
-                    testShape,
-                    "boundsInLocal",
-                    box(192.562, 33.68, 114.874, 171.811), 
-                    box(194.756, 47.918, 110.486, 157.581),
-                    new BBoxComparator(0.01)));
-
-        testShape = createTestTriangle();
-        array.add(config(testShape,
-                    "strokeMiterLimit", 100.0, 0.0,
-                    testShape,
-                    "boundsInLocal",
-                    box(192.562, 33.68, 114.874, 171.811),
-                    box(194.756, 47.918, 110.486, 157.581),
-                    new BBoxComparator(0.01)));
-
-        testShape = createTestTriangle();
-        array.add(config(testShape,
-                    "strokeType", StrokeType.INSIDE, StrokeType.OUTSIDE,
-                    testShape,
-                    "boundsInLocal",
-                    box(200, 50, 100, 150),
-                    box(185.625, 17.877, 128.748, 192.622),
-                    new BBoxComparator(0.01)));
-
-        testShape = createTestLine();
-        array.add(config(testShape,
-                    "strokeLineCap", StrokeLineCap.BUTT, StrokeLineCap.SQUARE,
-                    testShape,
-                    "boundsInLocal",
-                    box(195, 100, 10, 100),
-                    box(195, 95, 10, 110),
-                    new BBoxComparator(0.001)));
-
-        return array;
-    }
-
-    public Shape_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-
-    private static Rectangle createTestRectangle() {
-        Rectangle r = new Rectangle(100, 100);
-        r.setStroke(Color.BLACK);
-        return r;
-    }
-
-    private static Polygon createTestTriangle() {
-        Polygon p = new Polygon(new double[]{200, 200, 250, 50, 300, 200});
-        p.setStroke(Color.BLACK);
-        p.setStrokeWidth(10);
-        p.setStrokeMiterLimit(100);
-        return p;
-    }
-
-    private static Line createTestLine() {
-        Line l = new Line(200, 100, 200, 200);
-        l.setStroke(Color.BLACK);
-        l.setStrokeWidth(10);
-        return l;
-    }
-    
-}
--- a/javafx-builders/test/unit/javafx/scene/shape/VLineTo_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.shape;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-
-@RunWith(Parameterized.class)
-public final class VLineTo_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final VLineTo testVLineTo = new VLineTo();
-
-        return Arrays.asList(new Object[] {
-            config(testVLineTo, "y", 50.0, 100.0)
-        });
-    }
-
-    public VLineTo_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-builders/test/unit/javafx/scene/transform/Transform_properties_Test.java	Wed May 29 12:45:55 2013 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
- * Copyright (c) 2010, 2013, Oracle and/or its affiliates. All rights reserved.
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * This code is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 only, as
- * published by the Free Software Foundation.  Oracle designates this
- * particular file as subject to the "Classpath" exception as provided
- * by Oracle in the LICENSE file that accompanied this code.
- *
- * This code is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
- * version 2 for more details (a copy is included in the LICENSE file that
- * accompanied this code).
- *
- * You should have received a copy of the GNU General Public License version
- * 2 along with this work; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
- * or visit www.oracle.com if you need additional information or have any
- * questions.
- */
-
-package javafx.scene.transform;
-
-import java.util.Arrays;
-import java.util.Collection;
-
-import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
-import org.junit.runners.Parameterized.Parameters;
-
-import com.sun.javafx.test.PropertiesTestBase;
-import javafx.geometry.Point3D;
-
-@RunWith(Parameterized.class)
-public class Transform_properties_Test extends PropertiesTestBase {
-    @Parameters
-    public static Collection data() {
-        final Affine a = new Affine(
-                1,  2,  3,  4,
-                5,  6,  7,  8,
-                9, 10, 11, 12);
-
-        final Rotate r = new Rotate();
-        final Shear s = new Shear();
-        final Translate t = new Translate();
-        final Scale c = new Scale();
-
-        return Arrays.asList(new Object[] {
-            config(a, "mxx", 10.0, 20.0),
-            config(a, "mxy", 10.0, 20.0),
-            config(a, "mxz", 10.0, 20.0),
-            config(a, "tx", 10.0, 20.0),
-            config(a, "myx", 10.0, 20.0),
-            config(a, "myy", 10.0, 20.0),
-            config(a, "myz", 10.0, 20.0),
-            config(a, "ty", 10.0, 20.0),
-            config(a, "mzx", 10.0, 20.0),
-            config(a, "mzy", 10.0, 20.0),
-            config(a, "mzz", 10.0, 20.0),
-            config(a, "tz", 10.0, 20.0),
-            config(r, "angle", 10.0, 20.0),
-            config(r, "axis", new Point3D(10, 20, 30), new Point3D(30, 20, 10)),
-            config(r, "pivotX", 10.0, 20.0),
-            config(r, "pivotY", 10.0, 20.0),
-            config(r, "pivotZ", 10.0, 20.0),
-            config(s, "x", 10.0, 20.0),
-            config(s, "y", 10.0, 20.0),
-            config(s, "pivotX", 10.0, 20.0),
-            config(s, "pivotY", 10.0, 20.0),
-            config(t, "x", 10.0, 20.0),
-            config(t, "y", 10.0, 20.0),
-            config(t, "z", 10.0, 20.0),
-            config(c, "x", 10.0, 20.0),
-            config(c, "y", 10.0, 20.0),
-            config(c, "z", 10.0, 20.0),
-            config(c, "pivotX", 10.0, 20.0),
-            config(c, "pivotY", 10.0, 20.0),
-            config(c, "pivotZ", 10.0, 20.0),
-        });
-    }
-
-    public Transform_properties_Test(final Configuration configuration) {
-        super(configuration);
-    }
-}
--- a/javafx-geom/src/com/sun/javafx/geom/RectBounds.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-geom/src/com/sun/javafx/geom/RectBounds.java	Wed May 29 13:35:01 2013 -0700
@@ -439,7 +439,8 @@
     }
 
     public boolean isEmpty() {
-        return maxX < minX || maxY < minY;
+        // NaN values will cause the comparisons to fail and return "empty"
+        return !(maxX >= minX && maxY >= minY);
     }
     
     /**
--- a/javafx-ui-common/src/javafx/scene/ParallelCamera.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-common/src/javafx/scene/ParallelCamera.java	Wed May 29 13:35:01 2013 -0700
@@ -88,7 +88,7 @@
     }
 
     @Override
-    protected void computeViewTransform(Affine3D view) {
+    void computeViewTransform(Affine3D view) {
         view.setToIdentity();
     }
 
--- a/javafx-ui-common/src/javafx/scene/PerspectiveCamera.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-common/src/javafx/scene/PerspectiveCamera.java	Wed May 29 13:35:01 2013 -0700
@@ -263,7 +263,7 @@
     }
 
     @Override
-    protected void computeViewTransform(Affine3D view) {
+    void computeViewTransform(Affine3D view) {
 
         // In the case of fixedEyeAtCameraZero the camera position is (0,0,0) in
         // local coord. of the camera node. In non-fixed eye case, the camera
--- a/javafx-ui-common/src/javafx/scene/layout/FlowPane.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-common/src/javafx/scene/layout/FlowPane.java	Wed May 29 13:35:01 2013 -0700
@@ -46,6 +46,7 @@
 import javafx.css.Styleable;
 
 import static javafx.geometry.Orientation.*;
+import javafx.util.Callback;
 
 /**
  * FlowPane lays out its children in a flow that wraps at the flowpane's boundary.
@@ -79,7 +80,7 @@
  *
  *<p>
  * Example of a vertical flowpane:
- * <pre><code>     FlowPane flow = new FlowPane(Orientation.VERTICAL); 
+ * <pre><code>     FlowPane flow = new FlowPane(Orientation.VERTICAL);
  *     flow.setColumnHalignment(HPos.LEFT); // align labels on left
  *     flow.setPrefWrapLength(200); // preferred height = 200
  *     for (int i = 0; i < titles.size(); i++) {
@@ -171,6 +172,12 @@
         return (Insets)getConstraint(child, MARGIN_CONSTRAINT);
     }
 
+    private static final Callback<Node, Insets> marginAccessor = new Callback<Node, Insets>() {
+        public Insets call(Node n) {
+            return getMargin(n);
+        }
+    };
+
     /**
      * Removes all flowpane constraints from the child node.
      * @param child the child node
@@ -285,7 +292,7 @@
                 public void invalidated() {
                     requestLayout();
                 }
-                
+
                 @Override
                 public CssMetaData<FlowPane, Orientation> getCssMetaData() {
                     return StyleableProperties.ORIENTATION;
@@ -304,7 +311,7 @@
         }
         return orientation;
     }
-    
+
     private ObjectProperty<Orientation> orientation;
     public final void setOrientation(Orientation value) { orientationProperty().set(value); }
     public final Orientation getOrientation() { return orientation == null ? HORIZONTAL : orientation.get();  }
@@ -321,7 +328,7 @@
                 public void invalidated() {
                     requestLayout();
                 }
-                
+
                 @Override
                 public CssMetaData<FlowPane, Number> getCssMetaData() {
                     return StyleableProperties.HGAP;
@@ -340,7 +347,7 @@
         }
         return hgap;
     }
-    
+
     private DoubleProperty hgap;
     public final void setHgap(double value) { hgapProperty().set(value); }
     public final double getHgap() { return hgap == null ? 0 : hgap.get(); }
@@ -375,7 +382,7 @@
         }
         return vgap;
     }
-    
+
     private DoubleProperty vgap;
     public final void setVgap(double value) { vgapProperty().set(value); }
     public final double getVgap() { return vgap == null ? 0 : vgap.get(); }
@@ -436,7 +443,7 @@
                 public void invalidated() {
                     requestLayout();
                 }
-                
+
                 @Override
                 public CssMetaData<FlowPane, Pos> getCssMetaData() {
                     return StyleableProperties.ALIGNMENT;
@@ -455,7 +462,7 @@
         }
         return alignment;
     }
-    
+
     private ObjectProperty<Pos> alignment;
     public final void setAlignment(Pos value) { alignmentProperty().set(value); }
     public final Pos getAlignment() { return alignment == null ? Pos.TOP_LEFT : alignment.get(); }
@@ -476,7 +483,7 @@
                 public void invalidated() {
                     requestLayout();
                 }
-                
+
                 @Override
                 public CssMetaData<FlowPane, HPos> getCssMetaData() {
                     return StyleableProperties.COLUMN_HALIGNMENT;
@@ -495,7 +502,7 @@
         }
         return columnHalignment;
     }
-    
+
     private ObjectProperty<HPos> columnHalignment;
     public final void setColumnHalignment(HPos value) { columnHalignmentProperty().set(value); }
     public final HPos getColumnHalignment() { return columnHalignment == null ? HPos.LEFT : columnHalignment.get(); }
@@ -519,11 +526,11 @@
                     requestLayout();
                 }
 
-                @Override 
+                @Override
                 public CssMetaData<FlowPane, VPos> getCssMetaData() {
                     return StyleableProperties.ROW_VALIGNMENT;
                 }
-                
+
                 @Override
                 public Object getBean() {
                     return FlowPane.this;
@@ -537,7 +544,7 @@
         }
         return rowValignment;
     }
-    
+
     private ObjectProperty<VPos> rowValignment;
     public final void setRowValignment(VPos value) { rowValignmentProperty().set(value); }
     public final VPos getRowValignment() { return rowValignment == null ? VPos.CENTER : rowValignment.get(); }
@@ -587,9 +594,9 @@
         if (getOrientation() == HORIZONTAL) {
             // horizontal
             double maxRunWidth = getPrefWrapLength();
-            List<Run> hruns = getRuns(maxRunWidth);            
+            List<Run> hruns = getRuns(maxRunWidth);
             double w = computeContentWidth(hruns);
-            w = getPrefWrapLength() > w ? getPrefWrapLength() : w;            
+            w = getPrefWrapLength() > w ? getPrefWrapLength() : w;
             return insets.getLeft() + snapSize(w) + insets.getRight();
         } else {
             // vertical
@@ -613,7 +620,7 @@
             double maxRunHeight = getPrefWrapLength();
             List<Run> vruns = getRuns(maxRunHeight);
             double h = computeContentHeight(vruns);
-            h = getPrefWrapLength() > h ? getPrefWrapLength() : h;            
+            h = getPrefWrapLength() > h ? getPrefWrapLength() : h;
             return insets.getTop() + snapSize(h) + insets.getBottom();
         }
     }
@@ -690,16 +697,14 @@
             // horizontal
             ArrayList<Node> rownodes = new ArrayList();
             run.width = (run.rects.size()-1)*snapSpace(getHgap());
-            Insets margins[] = new Insets[run.rects.size()];
             for (int i=0, max=run.rects.size(); i<max; i++) {
                 LayoutRect lrect = run.rects.get(i);
-                margins[i] = getMargin(lrect.node);
                 rownodes.add(lrect.node);
                 run.width += lrect.width;
                 lrect.y = runOffset;
             }
-            run.height = computeMaxPrefAreaHeight(rownodes, margins, getRowValignment());
-            run.baselineOffset = getRowValignment() == VPos.BASELINE? getMaxAreaBaselineOffset(rownodes, margins) : run.height;
+            run.height = computeMaxPrefAreaHeight(rownodes, marginAccessor, getRowValignment());
+            run.baselineOffset = getRowValignment() == VPos.BASELINE? getMaxAreaBaselineOffset(rownodes, marginAccessor) : run.height;
 
         } else {
             // vertical
@@ -797,7 +802,7 @@
       */
      private static class StyleableProperties {
 
-         private static final CssMetaData<FlowPane,Pos> ALIGNMENT = 
+         private static final CssMetaData<FlowPane,Pos> ALIGNMENT =
              new CssMetaData<FlowPane,Pos>("-fx-alignment",
                  new EnumConverter<Pos>(Pos.class), Pos.TOP_LEFT) {
 
@@ -810,10 +815,10 @@
             public StyleableProperty<Pos> getStyleableProperty(FlowPane node) {
                 return (StyleableProperty<Pos>)node.alignmentProperty();
             }
-                 
+
          };
 
-         private static final CssMetaData<FlowPane,HPos> COLUMN_HALIGNMENT = 
+         private static final CssMetaData<FlowPane,HPos> COLUMN_HALIGNMENT =
              new CssMetaData<FlowPane,HPos>("-fx-column-halignment",
                  new EnumConverter<HPos>(HPos.class), HPos.LEFT) {
 
@@ -826,10 +831,10 @@
             public StyleableProperty<HPos> getStyleableProperty(FlowPane node) {
                 return (StyleableProperty<HPos>)node.columnHalignmentProperty();
             }
-                     
+
          };
-         
-         private static final CssMetaData<FlowPane,Number> HGAP = 
+
+         private static final CssMetaData<FlowPane,Number> HGAP =
              new CssMetaData<FlowPane,Number>("-fx-hgap",
                  SizeConverter.getInstance(), 0.0){
 
@@ -842,10 +847,10 @@
             public StyleableProperty<Number> getStyleableProperty(FlowPane node) {
                 return (StyleableProperty<Number>)node.hgapProperty();
             }
-                     
+
          };
-         
-         private static final CssMetaData<FlowPane,VPos> ROW_VALIGNMENT = 
+
+         private static final CssMetaData<FlowPane,VPos> ROW_VALIGNMENT =
              new CssMetaData<FlowPane,VPos>("-fx-row-valignment",
                  new EnumConverter<VPos>(VPos.class), VPos.CENTER) {
 
@@ -858,20 +863,20 @@
             public StyleableProperty<VPos> getStyleableProperty(FlowPane node) {
                 return (StyleableProperty<VPos>)node.rowValignmentProperty();
             }
-                     
-         }; 
 
-         private static final CssMetaData<FlowPane,Orientation> ORIENTATION = 
+         };
+
+         private static final CssMetaData<FlowPane,Orientation> ORIENTATION =
              new CssMetaData<FlowPane,Orientation>("-fx-orientation",
-                 new EnumConverter<Orientation>(Orientation.class), 
+                 new EnumConverter<Orientation>(Orientation.class),
                  Orientation.HORIZONTAL) {
-                
+
             @Override
             public Orientation getInitialValue(FlowPane node) {
-                // A vertical flow pane should remain vertical 
+                // A vertical flow pane should remain vertical
                 return node.getOrientation();
             }
-                     
+
             @Override
             public boolean isSettable(FlowPane node) {
                 return node.orientation == null || !node.orientation.isBound();
@@ -881,10 +886,10 @@
             public StyleableProperty<Orientation> getStyleableProperty(FlowPane node) {
                 return (StyleableProperty<Orientation>)node.orientationProperty();
             }
-                     
-         };  
-         
-         private static final CssMetaData<FlowPane,Number> VGAP = 
+
+         };
+
+         private static final CssMetaData<FlowPane,Number> VGAP =
              new CssMetaData<FlowPane,Number>("-fx-vgap",
                  SizeConverter.getInstance(), 0.0){
 
@@ -897,8 +902,8 @@
             public StyleableProperty<Number> getStyleableProperty(FlowPane node) {
                 return (StyleableProperty<Number>)node.vgapProperty();
             }
-                     
-         }; 
+
+         };
 
          private static final List<CssMetaData<? extends Styleable, ?>> STYLEABLES;
          static {
@@ -929,8 +934,8 @@
      * {@inheritDoc}
      *
      */
-    
-    
+
+
     @Override
     public List<CssMetaData<? extends Styleable, ?>> getCssMetaData() {
         return getClassCssMetaData();
--- a/javafx-ui-common/src/javafx/scene/layout/GridPane.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-common/src/javafx/scene/layout/GridPane.java	Wed May 29 13:35:01 2013 -0700
@@ -67,6 +67,7 @@
 import static javafx.scene.layout.Region.USE_COMPUTED_SIZE;
 import static javafx.scene.layout.Region.boundedSize;
 import static javafx.scene.layout.Region.getMaxAreaBaselineOffset;
+import javafx.util.Callback;
 
 
 
@@ -400,6 +401,12 @@
         return (Insets)getConstraint(child, MARGIN_CONSTRAINT);
     }
 
+    private static final Callback<Node, Insets> marginAccessor = new Callback<Node, Insets>() {
+        public Insets call(Node n) {
+            return getMargin(n);
+        }
+    };
+
     /**
      * Sets the horizontal alignment for the child when contained by a gridpane.
      * If set, will override the gridpane's default horizontal alignment.
@@ -905,7 +912,7 @@
      * Returns list of row constraints. Row constraints can be added to
      * explicitly control individual row sizing and layout behavior.
      * If not set, row sizing and layout behavior is computed based on content.
-     * 
+     *
      * Index in the ObservableList denotes the row number, so the row constraint for the first row
      * is at the position of 0.
      */
@@ -938,7 +945,7 @@
      * Returns list of column constraints. Column constraints can be added to
      * explicitly control individual column sizing and layout behavior.
      * If not set, column sizing and layout behavior is computed based on content.
-     * 
+     *
      * Index in the ObservableList denotes the column number, so the column constraint for the first column
      * is at the position of 0.
      */
@@ -1096,16 +1103,14 @@
                     rowGrow[i] = vGrow;
 
                 VPos rowVPos = getRowValignment(i);
-                List<Insets> margins = new ArrayList<>(numColumns);
                 List<Node> baselineNodes = new ArrayList<>(numColumns);
                 for (int j = 0, size = children.size(); j < size; j++) {
                     Node n = children.get(j);
                     if (getNodeRowIndex(n) == i && (rowVPos == VPos.BASELINE || getValignment(n) == VPos.BASELINE)) {
                         baselineNodes.add(n);
-                        margins.add(getMargin(n));
                     }
                 }
-                rowBaseline[i] = getMaxAreaBaselineOffset(baselineNodes, margins.toArray(new Insets[margins.size()]));
+                rowBaseline[i] = getMaxAreaBaselineOffset(baselineNodes, marginAccessor);
                 baselineNodes.clear();
 
             }
--- a/javafx-ui-common/src/javafx/scene/layout/HBox.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-common/src/javafx/scene/layout/HBox.java	Wed May 29 13:35:01 2013 -0700
@@ -46,6 +46,7 @@
 import com.sun.javafx.css.converters.SizeConverter;
 import javafx.css.Styleable;
 import javafx.geometry.HPos;
+import javafx.util.Callback;
 
 
 
@@ -149,6 +150,7 @@
     private boolean biasDirty = true;
     private boolean performingLayout = false;
     private Orientation bias;
+    private double[][] tempArray;
 
     /********************************************************************
      *  BEGIN static methods
@@ -200,6 +202,12 @@
     public static Insets getMargin(Node child) {
         return (Insets)getConstraint(child, MARGIN_CONSTRAINT);
     }
+    
+        private static final Callback<Node, Insets> marginAccessor = new Callback<Node, Insets>() {
+        public Insets call(Node n) {
+            return getMargin(n);
+        }
+    };
 
     /**
      * Removes all hbox constraints from the child node.
@@ -388,7 +396,7 @@
     @Override protected double computeMinWidth(double height) {
         Insets insets = getInsets();
         return snapSpace(insets.getLeft()) +
-               computeContentWidth(getAreaWidths(getManagedChildren(), height, true)) +
+               computeContentWidth(getManagedChildren(), height, true) +
                snapSpace(insets.getRight());
     }
 
@@ -396,14 +404,12 @@
         Insets insets = getInsets();
         List<Node>managed = getManagedChildren();
         double contentHeight = 0;
-        if (getContentBias() == Orientation.HORIZONTAL) {
-            // if width is different than preferred, then child widths may grow or shrink,
-            // altering the height of any child with a horizontal contentBias.
-            double prefWidths[] = getAreaWidths(managed, -1, false);
+        if (width != -1 && getContentBias() != null) {
+            double prefWidths[][] = getAreaWidths(managed, -1, false);
             adjustAreaWidths(managed, prefWidths, width, -1);
-            contentHeight = computeMaxMinAreaHeight(managed, getMargins(managed), prefWidths, getAlignmentInternal().getVpos());
+            contentHeight = computeMaxMinAreaHeight(managed, marginAccessor, prefWidths[0], getAlignmentInternal().getVpos());
         } else {
-            contentHeight = computeMaxMinAreaHeight(managed, getMargins(managed), getAlignmentInternal().getVpos());
+            contentHeight = computeMaxMinAreaHeight(managed, marginAccessor, getAlignmentInternal().getVpos());
         }
         return snapSpace(insets.getTop()) +
                contentHeight +
@@ -411,133 +417,134 @@
     }
 
     @Override protected double computePrefWidth(double height) {
-         Insets insets = getInsets();
-         return snapSpace(insets.getLeft()) +
-                computeContentWidth(getAreaWidths(getManagedChildren(), height, false)) +
-                snapSpace(insets.getRight());
+        Insets insets = getInsets();
+        return snapSpace(insets.getLeft()) +
+               computeContentWidth(getManagedChildren(), height, false) +
+               snapSpace(insets.getRight());
     }
 
     @Override protected double computePrefHeight(double width) {
         Insets insets = getInsets();
         List<Node>managed = getManagedChildren();
         double contentHeight = 0;
-        if (getContentBias() == Orientation.HORIZONTAL) {
-            // if width is different than preferred, then child widths may grow or shrink,
-            // altering the height of any child with a horizontal contentBias.
-            double prefWidths[] = getAreaWidths(managed, -1, false);
+        if (width != -1 && getContentBias() != null) {
+            double prefWidths[][] = getAreaWidths(managed, -1, false);
             adjustAreaWidths(managed, prefWidths, width, -1);
-            contentHeight = computeMaxPrefAreaHeight(managed, getMargins(managed), prefWidths, getAlignmentInternal().getVpos());
+            contentHeight = computeMaxPrefAreaHeight(managed, marginAccessor, prefWidths[0], getAlignmentInternal().getVpos());
         } else {
-            contentHeight = computeMaxPrefAreaHeight(managed, getMargins(managed), getAlignmentInternal().getVpos());
+            contentHeight = computeMaxPrefAreaHeight(managed, marginAccessor, getAlignmentInternal().getVpos());
         }
         return snapSpace(insets.getTop()) +
                contentHeight +
                snapSpace(insets.getBottom());
     }
 
-    private Insets[] getMargins(List<Node>managed) {
-        Insets margins[] = new Insets[managed.size()];
-        for(int i = 0; i < margins.length; i++) {
-            margins[i] = getMargin(managed.get(i));
-        }
-        return margins;
-    }
-
-    private double[] getAreaWidths(List<Node>managed, double height, boolean minimum) {
+    private double[][] getAreaWidths(List<Node>managed, double height, boolean minimum) {
         // height could be -1
-        double[] prefAreaWidths = new double [managed.size()];
+        double[][] temp = getTempArray(managed.size());
         final double insideHeight = height == -1? -1 : height -
                                      snapSpace(getInsets().getTop()) - snapSpace(getInsets().getBottom());
+        final boolean shouldFillHeight = shouldFillHeight();
         for (int i = 0, size = managed.size(); i < size; i++) {
             Node child = managed.get(i);
             Insets margin = getMargin(child);
-            prefAreaWidths[i] = minimum?
-                               computeChildMinAreaWidth(child, margin,
-                                   shouldFillHeight()? insideHeight : child.minHeight(-1)) :
-                                   computeChildPrefAreaWidth(child, margin,
-                                       shouldFillHeight()? insideHeight : child.prefHeight(-1));
+            if (minimum) {
+                if (insideHeight != -1 && shouldFillHeight) {
+                    temp[0][i] = computeChildMinAreaWidth(child, margin, insideHeight);
+                } else {
+                    temp[0][i] = computeChildMinAreaWidth(child, margin, -1);
+                }
+            } else {
+                if (insideHeight != -1 && shouldFillHeight) {
+                    temp[0][i] = computeChildPrefAreaWidth(child, margin, insideHeight);
+                } else {
+                    temp[0][i] = computeChildPrefAreaWidth(child, margin, -1);
+                }
+            }
         }
-        return prefAreaWidths;
+        return temp;
     }
 
-    private double adjustAreaWidths(List<Node>managed, double areaWidths[], double width, double height) {
+    private double adjustAreaWidths(List<Node>managed, double areaWidths[][], double width, double height) {
         Insets insets = getInsets();
         double top = snapSpace(insets.getTop());
         double bottom = snapSpace(insets.getBottom());
 
-        double contentWidth = computeContentWidth(areaWidths);
-        double extraWidth = (width == -1? prefWidth(-1) : width) -
+        double contentWidth = sum(areaWidths[0], managed.size()) + (managed.size()-1)*snapSpace(getSpacing());
+        double extraWidth = width -
                 snapSpace(insets.getLeft()) - snapSpace(insets.getRight()) - contentWidth;
 
         if (extraWidth != 0) {
-            double remaining = growOrShrinkAreaWidths(managed, areaWidths, Priority.ALWAYS, extraWidth,
-                    shouldFillHeight() && height != -1? height - top - bottom : -1);
-            remaining = growOrShrinkAreaWidths(managed, areaWidths, Priority.SOMETIMES, remaining,
-                    shouldFillHeight() && height != -1? height - top - bottom : -1);
+            final double refHeight = shouldFillHeight() && height != -1? height - top - bottom : -1;
+            double remaining = growOrShrinkAreaWidths(managed, areaWidths, Priority.ALWAYS, extraWidth, refHeight);
+            remaining = growOrShrinkAreaWidths(managed, areaWidths, Priority.SOMETIMES, remaining, refHeight);
             contentWidth += (extraWidth - remaining);
         }
         return contentWidth;
     }
 
-    private double growOrShrinkAreaWidths(List<Node>managed, double areaWidths[], Priority priority, double extraWidth, double height) {
+    private double growOrShrinkAreaWidths(List<Node>managed, double areaWidths[][], Priority priority, double extraWidth, double height) {
         final boolean shrinking = extraWidth < 0;
-        List<Node> adjustList = new ArrayList<Node>();
-        List<Node> adjusting = new ArrayList<Node>();
+        int adjustingNumber = 0;
 
-        for (int i = 0, size = managed.size(); i < size; i++) {
+        double[] usedWidths = areaWidths[0];
+        double[] temp = areaWidths[1];
+
+        if (shrinking) {
+            adjustingNumber = managed.size();
+            for (int i = 0, size = managed.size(); i < size; i++) {
+                final Node child = managed.get(i);
+                temp[i] = computeChildMinAreaWidth(child, getMargin(child), height);
+            }
+        } else {
+            for (int i = 0, size = managed.size(); i < size; i++) {
             final Node child = managed.get(i);
-            if (shrinking || getHgrow(child) == priority) {
-                adjustList.add(child);
-                adjusting.add(child);
+            if (getHgrow(child) == priority) {
+                temp[i] = computeChildMaxAreaWidth(child, getMargin(child), height);
+                adjustingNumber++;
+            } else {
+                temp[i] = -1;
+            }
+        }
+        }
+
+        double available = extraWidth; // will be negative in shrinking case
+        while (Math.abs(available) > 1 && adjustingNumber > 0) {
+            final double portion = snapPortion(available / adjustingNumber); // negative in shrinking case
+            for (int i = 0, size = managed.size(); i < size; i++) {
+                if (temp[i] == -1) {
+                    continue;
+                }
+                final double limit = temp[i] - usedWidths[i]; // negative in shrinking case
+                final double change = Math.abs(limit) <= Math.abs(portion)? limit : portion;
+                usedWidths[i] += change;
+                available -= change;
+                if (available == 0) {
+                    break;
+                }
+                if (Math.abs(change) < Math.abs(portion)) {
+                    temp[i] = -1;
+                    adjustingNumber--;
+                }
             }
         }
 
-        double[] areaLimitWidths = new double[adjustList.size()];
-        for (int i = 0, size = adjustList.size(); i < size; i++) {
-            final Node child = adjustList.get(i);
-            final Insets margin = getMargin(child);
-            areaLimitWidths[i] = shrinking?
-                computeChildMinAreaWidth(child, margin, height) : computeChildMaxAreaWidth(child, margin, height);
-        }
-
-        double available = extraWidth; // will be negative in shrinking case
-        while (Math.abs(available) > 1.0 && adjusting.size() > 0) {
-            Node[] adjusted = new Node[adjustList.size()];
-            final double portion = available / adjusting.size(); // negative in shrinking case
-            for (int i = 0, size = adjusting.size(); i < size; i++) {
-                final Node child = adjusting.get(i);
-                final int childIndex = managed.indexOf(child);
-                final double limit = areaLimitWidths[adjustList.indexOf(child)] - areaWidths[childIndex]; // negative in shrinking case
-                final double change = Math.abs(limit) <= Math.abs(portion)? limit : portion;
-                areaWidths[childIndex] += change;
-                //if (node.id.startsWith("debug.")) println("{if (shrinking) "shrink" else "grow"}: {node.id} portion({portion})=available({available})/({sizeof adjusting}) change={change}");
-                available -= change;
-                if (Math.abs(change) < Math.abs(portion)) {
-                    adjusted[i] = child;
-                }
-            }
-            for (int i = 0; i < adjusted.length; i++) {
-                Node node = adjusted[i];
-                if (node != null) {
-                    adjusting.remove(node);
-                }
-            }
-        }
-        for (int i = 0; i < areaWidths.length; i++) {
-            areaWidths[i] = snapSpace(areaWidths[i]);
-        }
         return available; // might be negative in shrinking case
     }
 
-    private double computeContentWidth(double[] widths) {
-        double total = 0;
-        for (double w : widths) {
-            total += w;
-        }
-        return total + (widths.length-1)*snapSpace(getSpacing());
+    private double computeContentWidth(List<Node> managedChildren, double height, boolean minimum) {
+        return sum(getAreaWidths(managedChildren, height, minimum)[0], managedChildren.size())
+                + (managedChildren.size()-1)*snapSpace(getSpacing());
     }
 
-    private double[] actualAreaWidths;
+    private static double sum(double[] array, int size) {
+        int i = 0;
+        double res = 0;
+        while (i != size) {
+            res += array[i++];
+        }
+        return res;
+    }
 
     @Override public void requestLayout() {
         if (performingLayout) {
@@ -564,7 +571,7 @@
         double space = snapSpace(getSpacing());
         boolean shouldFillHeight = shouldFillHeight();
 
-        actualAreaWidths = getAreaWidths(managed, height, false);
+        double[][] actualAreaWidths = getAreaWidths(managed, height, false);
         double contentWidth = adjustAreaWidths(managed, actualAreaWidths, width, height);
         double contentHeight = height - top - bottom;
 
@@ -576,14 +583,23 @@
         for (int i = 0, size = managed.size(); i < size; i++) {
             Node child = managed.get(i);
             Insets margin = getMargin(child);
-            layoutInArea(child, x, y, actualAreaWidths[i], contentHeight,
+            layoutInArea(child, x, y, actualAreaWidths[0][i], contentHeight,
                     baselineOffset, margin, true, shouldFillHeight,
                     alignHpos, alignVpos);
-            x += actualAreaWidths[i] + space;
+            x += actualAreaWidths[0][i] + space;
         }
         performingLayout = false;
     }
 
+    private double[][] getTempArray(int size) {
+        if (tempArray == null) {
+            tempArray = new double[2][size]; // First array for the result, second for temporary computations
+        } else if (tempArray[0].length < size) {
+            tempArray = new double[2][Math.max(tempArray.length * 3, size)];
+        }
+        return tempArray;
+
+    }
 
     /***************************************************************************
      *                                                                         *
--- a/javafx-ui-common/src/javafx/scene/layout/Region.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-common/src/javafx/scene/layout/Region.java	Wed May 29 13:35:01 2013 -0700
@@ -72,6 +72,7 @@
 import javafx.css.StyleOrigin;
 import javafx.css.Styleable;
 import javafx.css.StyleableDoubleProperty;
+import javafx.util.Callback;
 import sun.util.logging.PlatformLogger;
 
 /**
@@ -251,11 +252,19 @@
         return snapToPixel ? Math.round(value) : value;
     }
 
-    static double getMaxAreaBaselineOffset(List<Node> content, Insets margins[]) {
+    private static double snapPortion(double value, boolean snapToPixel) {
+        if (snapToPixel) {
+            return (value > 0 ? Math.max(1, Math.floor(value)) : Math.min(-1, Math.ceil(value)));
+        }
+        return value;
+    }
+
+    static double getMaxAreaBaselineOffset(List<Node> content, Callback<Node, Insets> margins) {
         double max = 0;
         for (int i = 0, maxPos = content.size(); i < maxPos; i++) {
             final Node node = content.get(i);
-            final double topMargin = margins[i] != null ? margins[i].getTop() : 0;
+            final Insets margin = margins.call(node);
+            final double topMargin = margin != null ? margin.getTop() : 0;
             final double position = topMargin + node.getBaselineOffset();
             max = max >= position ? max : position; // Math.max
         }
@@ -531,7 +540,7 @@
      * within the content area. The insets are computed based on the Border which has been specified,
      * if any, and also the padding.
      */
-    private InsetsProperty insets = new InsetsProperty();
+    private final InsetsProperty insets = new InsetsProperty();
     public final Insets getInsets() { return insets.get(); }
     public final ReadOnlyObjectProperty<Insets> insetsProperty() { return insets; }
     private final class InsetsProperty extends ReadOnlyObjectProperty<Insets> {
@@ -1382,6 +1391,10 @@
         return snapPosition(value, isSnapToPixel());
     }
 
+    double snapPortion(double value) {
+        return snapPortion(value, isSnapToPixel());
+    }
+
 
     /**
      * Utility method to get the top inset which includes padding and border
@@ -1537,57 +1550,57 @@
 
     /* Max of children's minimum area widths */
 
-    double computeMaxMinAreaWidth(List<Node> children, Insets margins[], HPos halignment /* ignored for now */) {
+    double computeMaxMinAreaWidth(List<Node> children, Callback<Node, Insets> margins, HPos halignment /* ignored for now */) {
         return getMaxAreaWidth(children, margins, new double[] { -1 }, true);
     }
 
-    double computeMaxMinAreaWidth(List<Node> children, Insets margins[], HPos halignment /* ignored for now */, double height) {
+    double computeMaxMinAreaWidth(List<Node> children, Callback<Node, Insets> margins, HPos halignment /* ignored for now */, double height) {
         return getMaxAreaWidth(children, margins, new double[] { height }, true);
     }
 
-    double computeMaxMinAreaWidth(List<Node> children, Insets childMargins[], double childHeights[], HPos halignment /* ignored for now */) {
+    double computeMaxMinAreaWidth(List<Node> children, Callback<Node, Insets> childMargins, double childHeights[], HPos halignment /* ignored for now */) {
         return getMaxAreaWidth(children, childMargins, childHeights, true);
     }
 
     /* Max of children's minimum area heights */
 
-    double computeMaxMinAreaHeight(List<Node>children, Insets margins[], VPos valignment) {
-        return getMaxAreaHeight(children, margins, new double[] { -1 }, valignment, true);
+    double computeMaxMinAreaHeight(List<Node>children, Callback<Node, Insets> margins, VPos valignment) {
+        return getMaxAreaHeight(children, margins, null, valignment, true);
     }
 
-    double computeMaxMinAreaHeight(List<Node>children, Insets margins[], VPos valignment, double width) {
+    double computeMaxMinAreaHeight(List<Node>children, Callback<Node, Insets> margins, VPos valignment, double width) {
         return getMaxAreaHeight(children, margins, new double[] { width }, valignment, true);
     }
 
-    double computeMaxMinAreaHeight(List<Node>children, Insets childMargins[], double childWidths[], VPos valignment) {
+    double computeMaxMinAreaHeight(List<Node>children, Callback<Node, Insets> childMargins, double childWidths[], VPos valignment) {
         return getMaxAreaHeight(children, childMargins, childWidths, valignment, true);
     }
 
     /* Max of children's pref area widths */
 
-    double computeMaxPrefAreaWidth(List<Node>children, Insets margins[], HPos halignment /* ignored for now */) {
+    double computeMaxPrefAreaWidth(List<Node>children, Callback<Node, Insets> margins, HPos halignment /* ignored for now */) {
         return getMaxAreaWidth(children, margins, new double[] { -1 }, false);
     }
 
-    double computeMaxPrefAreaWidth(List<Node>children, Insets margins[], double height, HPos halignment /* ignored for now */) {
+    double computeMaxPrefAreaWidth(List<Node>children, Callback<Node, Insets> margins, double height, HPos halignment /* ignored for now */) {
         return getMaxAreaWidth(children, margins, new double[] { height }, false);
     }
 
-    double computeMaxPrefAreaWidth(List<Node>children, Insets childMargins[], double childHeights[], HPos halignment /* ignored for now */) {
+    double computeMaxPrefAreaWidth(List<Node>children, Callback<Node, Insets> childMargins, double childHeights[], HPos halignment /* ignored for now */) {
         return getMaxAreaWidth(children, childMargins, childHeights, false);
     }
 
     /* Max of children's pref area heights */
 
-    double computeMaxPrefAreaHeight(List<Node>children, Insets margins[], VPos valignment) {
-        return getMaxAreaHeight(children, margins, createDoubleArray(children.size(), -1), valignment, false);
+    double computeMaxPrefAreaHeight(List<Node>children, Callback<Node, Insets> margins, VPos valignment) {
+        return getMaxAreaHeight(children, margins, null, valignment, false);
     }
 
-    double computeMaxPrefAreaHeight(List<Node>children, Insets margins[], double width, VPos valignment) {
-        return getMaxAreaHeight(children, margins, createDoubleArray(children.size(), width), valignment, false);
+    double computeMaxPrefAreaHeight(List<Node>children, Callback<Node, Insets> margins, double width, VPos valignment) {
+        return getMaxAreaHeight(children, margins, new double[] { width }, valignment, false);
     }
 
-    double computeMaxPrefAreaHeight(List<Node>children, Insets childMargins[], double childWidths[], VPos valignment) {
+    double computeMaxPrefAreaHeight(List<Node>children, Callback<Node, Insets> childMargins, double childWidths[], VPos valignment) {
         return getMaxAreaHeight(children, childMargins, childWidths, valignment, false);
     }
 
@@ -1650,17 +1663,18 @@
     }
 
     /* utility method for computing the max of children's min or pref heights, taking into account baseline alignment */
-    private double getMaxAreaHeight(List<Node> children, Insets childMargins[],  double childWidths[], VPos valignment, boolean minimum) {
-        final double lastChildWidth = childWidths.length > 0 ? childWidths[childWidths.length - 1] : 0;
+    private double getMaxAreaHeight(List<Node> children, Callback<Node,Insets> childMargins,  double childWidths[], VPos valignment, boolean minimum) {
+        final double singleChildWidth = childWidths == null ? -1 : childWidths.length == 1 ? childWidths[0] : Double.NaN;
         if (valignment == VPos.BASELINE) {
             double maxAbove = 0;
             double maxBelow = 0;
             for (int i = 0, maxPos = children.size(); i < maxPos; i++) {
                 final Node child = children.get(i);
                 final double baseline = child.getBaselineOffset();
-                final double top = childMargins[i] != null? snapSpace(childMargins[i].getTop()) : 0;
-                final double bottom = childMargins[i] != null? snapSpace(childMargins[i].getBottom()) : 0;
-                final double childWidth = i < childWidths.length ? childWidths[i] : lastChildWidth;
+                Insets margin = childMargins.call(child);
+                final double top = margin != null? snapSpace(margin.getTop()) : 0;
+                final double bottom = margin != null? snapSpace(margin.getBottom()) : 0;
+                final double childWidth = Double.isNaN(singleChildWidth) ? childWidths[i] : singleChildWidth;
                 maxAbove = Math.max(maxAbove, baseline + top);
                 maxBelow = Math.max(maxBelow,
                         snapSpace(minimum?snapSize(child.minHeight(childWidth)) : snapSize(child.prefHeight(childWidth))) -
@@ -1671,25 +1685,27 @@
             double max = 0;
             for (int i = 0, maxPos = children.size(); i < maxPos; i++) {
                 final Node child = children.get(i);
-                final double childWidth = i < childWidths.length ? childWidths[i] : lastChildWidth;
+                Insets margin = childMargins.call(child);
+                final double childWidth = Double.isNaN(singleChildWidth) ? childWidths[i] : singleChildWidth;
                 max = Math.max(max, minimum?
-                    computeChildMinAreaHeight(child, childMargins[i], childWidth) :
-                        computeChildPrefAreaHeight(child, childMargins[i], childWidth));
+                    computeChildMinAreaHeight(child, margin, childWidth) :
+                        computeChildPrefAreaHeight(child, margin, childWidth));
             }
             return max;
         }
     }
 
     /* utility method for computing the max of children's min or pref width, horizontal alignment is ignored for now */
-    private double getMaxAreaWidth(List<javafx.scene.Node> children, Insets childMargins[], double childHeights[], boolean minimum) {
+    private double getMaxAreaWidth(List<javafx.scene.Node> children, Callback<Node, Insets> childMargins, double childHeights[], boolean minimum) {
         final double lastChildHeight = childHeights.length > 0 ? childHeights[childHeights.length - 1] : 0;
         double max = 0;
         for (int i = 0, maxPos = children.size(); i < maxPos; i++) {
             final Node child = children.get(i);
+            final Insets margin = childMargins.call(child);
             final double childHeight = i < childHeights.length ? childHeights[i] : lastChildHeight;
             max = Math.max(max, minimum?
-                computeChildMinAreaWidth(children.get(i), childMargins[i], childHeight) :
-                    computeChildPrefAreaWidth(child, childMargins[i], childHeight));
+                computeChildMinAreaWidth(children.get(i), margin, childHeight) :
+                    computeChildPrefAreaWidth(child, margin, childHeight));
         }
         return max;
     }
--- a/javafx-ui-common/src/javafx/scene/layout/StackPane.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-common/src/javafx/scene/layout/StackPane.java	Wed May 29 13:35:01 2013 -0700
@@ -40,6 +40,7 @@
 import com.sun.javafx.css.converters.EnumConverter;
 import javafx.css.Styleable;
 import javafx.geometry.HPos;
+import javafx.util.Callback;
 
 /**
  *
@@ -179,6 +180,12 @@
         return (Insets)getConstraint(child, MARGIN_CONSTRAINT);
     }
 
+    private static final Callback<Node, Insets> marginAccessor = new Callback<Node, Insets>() {
+        public Insets call(Node n) {
+            return getMargin(n);
+        }
+    };
+
     /**
      * Removes all stackpane constraints from the child node.
      * @param child the child node
@@ -270,20 +277,19 @@
     @Override protected double computeMinWidth(double height) {
         List<Node>managed = getManagedChildren();
         return getInsets().getLeft() +
-               computeMaxMinAreaWidth(managed, getMargins(managed), getAlignmentInternal().getHpos(), height) +
+               computeMaxMinAreaWidth(managed, marginAccessor, getAlignmentInternal().getHpos(), height) +
                getInsets().getRight();
     }
 
     @Override protected double computeMinHeight(double width) {
         List<Node>managed = getManagedChildren();
         return getInsets().getTop() +
-               computeMaxMinAreaHeight(managed, getMargins(managed), getAlignmentInternal().getVpos(), width) +
+               computeMaxMinAreaHeight(managed, marginAccessor, getAlignmentInternal().getVpos(), width) +
                getInsets().getBottom();
     }
 
     @Override protected double computePrefWidth(double height) {
         List<Node>managed = getManagedChildren();
-        Insets[] margins = getMargins(managed);
 //        double h = -1;
 //        boolean vertBias = false;
 //        for (Node child: managed) {
@@ -298,7 +304,7 @@
 //        }
         Insets padding = getInsets();
         return padding.getLeft() +
-               computeMaxPrefAreaWidth(managed, margins,
+               computeMaxPrefAreaWidth(managed, marginAccessor,
                                        (height == -1) ? -1 : (height - padding.getTop() - padding.getBottom()),
                                        getAlignmentInternal().getHpos()) +
                padding.getRight();
@@ -306,7 +312,6 @@
 
     @Override protected double computePrefHeight(double width) {
         List<Node>managed = getManagedChildren();
-        Insets[] margins = getMargins(managed);
 //        double w = -1;
 //        boolean horizBias = false;
 //        for (Node child: managed) {
@@ -321,19 +326,12 @@
 //        }
         Insets padding = getInsets();
         return padding.getTop() +
-               computeMaxPrefAreaHeight(managed, margins,
+               computeMaxPrefAreaHeight(managed, marginAccessor,
                                         (width == -1) ? -1 : (width - padding.getLeft() - padding.getRight()),
                                         getAlignmentInternal().getVpos()) +
                padding.getBottom();
     }
 
-    private Insets[] getMargins(List<Node>managed) {
-        Insets margins[] = new Insets[managed.size()];
-        for(int i = 0; i < margins.length; i++) {
-            margins[i] = getMargin(managed.get(i));
-        }
-        return margins;
-    }
 
     @Override public void requestLayout() {
         if (performingLayout) {
@@ -421,8 +419,8 @@
      * {@inheritDoc}
      *
      */
-    
-    
+
+
     @Override
     public List<CssMetaData<? extends Styleable, ?>> getCssMetaData() {
         return getClassCssMetaData();
--- a/javafx-ui-common/src/javafx/scene/layout/TilePane.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-common/src/javafx/scene/layout/TilePane.java	Wed May 29 13:35:01 2013 -0700
@@ -34,7 +34,6 @@
 import javafx.beans.property.ReadOnlyDoubleProperty;
 import javafx.beans.property.ReadOnlyDoubleWrapper;
 import javafx.css.CssMetaData;
-import javafx.css.StyleOrigin;
 import javafx.css.StyleableDoubleProperty;
 import javafx.css.StyleableIntegerProperty;
 import javafx.css.StyleableObjectProperty;
@@ -50,6 +49,7 @@
 import javafx.css.Styleable;
 
 import static javafx.geometry.Orientation.*;
+import javafx.util.Callback;
 
 
 /**
@@ -57,7 +57,7 @@
  * <p>
  * A horizontal tilepane (the default) will tile nodes in rows, wrapping at the
  * tilepane's width.  A vertical tilepane will tile nodes in columns,
- * wrapping at the tilepane's height.  
+ * wrapping at the tilepane's height.
  * <p>
  * The size of each "tile" defaults to the size needed to encompass the largest
  * preferred width and height of the tilepane's children and the tilepane
@@ -169,7 +169,7 @@
  *     TilePane tilepane = new TilePane();
  *     for (int i = 0; i < 20; i++) {
  *        Label title = new Label(imageTitle[i]):
- *        Imageview imageview = new ImageView(new Image(imageName[i])); 
+ *        Imageview imageview = new ImageView(new Image(imageName[i]));
  *        TilePane.setAlignment(label, Pos.BOTTOM_RIGHT);
  *        tilepane.getChildren().addAll(title, imageview);
  *     }
@@ -225,6 +225,12 @@
         return (Insets)getConstraint(node, MARGIN_CONSTRAINT);
     }
 
+    private static final Callback<Node, Insets> marginAccessor = new Callback<Node, Insets>() {
+        public Insets call(Node n) {
+            return getMargin(n);
+        }
+    };
+
     /**
      * Removes all tilepane constraints from the child node.
      * @param child the child node
@@ -349,8 +355,8 @@
                 public void invalidated() {
                     requestLayout();
                 }
-                
-                @Override 
+
+                @Override
                 public CssMetaData<TilePane, Orientation> getCssMetaData() {
                     return StyleableProperties.ORIENTATION;
                 }
@@ -368,7 +374,7 @@
         }
         return orientation;
     }
-    
+
     private ObjectProperty<Orientation> orientation;
     public final void setOrientation(Orientation value) { orientationProperty().set(value); }
     public final Orientation getOrientation() { return orientation == null ? HORIZONTAL : orientation.get();  }
@@ -391,7 +397,7 @@
                 public void invalidated() {
                     requestLayout();
                 }
-                
+
                 @Override
                 public CssMetaData<TilePane, Number> getCssMetaData() {
                     return StyleableProperties.PREF_ROWS;
@@ -410,7 +416,7 @@
         }
         return prefRows;
     }
-    
+
     private IntegerProperty prefRows;
     public final void setPrefRows(int value) { prefRowsProperty().set(value); }
     public final int getPrefRows() { return prefRows == null ? 5 : prefRows.get(); }
@@ -432,7 +438,7 @@
                 public void invalidated() {
                     requestLayout();
                 }
-                
+
                 @Override
                 public CssMetaData<TilePane, Number> getCssMetaData() {
                     return StyleableProperties.PREF_COLUMNS;
@@ -451,7 +457,7 @@
         }
         return prefColumns;
     }
-    
+
     private IntegerProperty prefColumns;
     public final void setPrefColumns(int value) { prefColumnsProperty().set(value); }
     public final int getPrefColumns() { return prefColumns == null ? 5 : prefColumns.get(); }
@@ -472,7 +478,7 @@
                 public void invalidated() {
                     requestLayout();
                 }
-                
+
                 @Override
                 public CssMetaData<TilePane, Number> getCssMetaData() {
                     return StyleableProperties.PREF_TILE_WIDTH;
@@ -513,8 +519,8 @@
                 public void invalidated() {
                     requestLayout();
                 }
-                
-                @Override 
+
+                @Override
                 public CssMetaData<TilePane, Number> getCssMetaData() {
                     return StyleableProperties.PREF_TILE_HEIGHT;
                 }
@@ -580,8 +586,8 @@
                 public void invalidated() {
                     requestLayout();
                 }
-                
-                @Override 
+
+                @Override
                 public CssMetaData<TilePane, Number> getCssMetaData() {
                     return StyleableProperties.HGAP;
                 }
@@ -599,11 +605,11 @@
         }
         return hgap;
     }
-    
+
     private DoubleProperty hgap;
     public final void setHgap(double value) { hgapProperty().set(value); }
     public final double getHgap() { return hgap == null ? 0 : hgap.get(); }
-    
+
     /**
      * The amount of vertical space between each tile in a column.
      */
@@ -614,8 +620,8 @@
                 public void invalidated() {
                     requestLayout();
                 }
-                
-                @Override 
+
+                @Override
                 public CssMetaData<TilePane, Number> getCssMetaData() {
                     return StyleableProperties.VGAP;
                 }
@@ -633,7 +639,7 @@
         }
         return vgap;
     }
-    
+
     private DoubleProperty vgap;
     public final void setVgap(double value) { vgapProperty().set(value); }
     public final double getVgap() { return vgap == null ? 0 : vgap.get(); }
@@ -646,7 +652,7 @@
      * <p>For a vertical tilepane, each column will be aligned within the tilepane's height
      * using the alignment's vpos value, and the columns will be aligned within the
      * tilepane's width using the alignment's hpos value.
-     * 
+     *
      */
     public final ObjectProperty<Pos> alignmentProperty() {
         if (alignment == null) {
@@ -655,8 +661,8 @@
                 public void invalidated() {
                     requestLayout();
                 }
-                
-                @Override 
+
+                @Override
                 public CssMetaData<TilePane, Pos> getCssMetaData() {
                     return StyleableProperties.ALIGNMENT;
                 }
@@ -695,7 +701,7 @@
                 public void invalidated() {
                     requestLayout();
                 }
-                
+
                 @Override
                 public CssMetaData<TilePane, Pos> getCssMetaData() {
                     return StyleableProperties.TILE_ALIGNMENT;
@@ -714,7 +720,7 @@
         }
         return tileAlignment;
     }
-    
+
     private ObjectProperty<Pos> tileAlignment;
     public final void setTileAlignment(Pos value) { tileAlignmentProperty().set(value); }
     public final Pos getTileAlignment() { return tileAlignment == null ? Pos.CENTER : tileAlignment.get(); }
@@ -785,19 +791,11 @@
                snapSpace(insets.getBottom());
     }
 
-    private Insets[] getMargins(List<Node>managed) {
-        Insets margins[] = new Insets[managed.size()];
-        for(int i = 0; i < margins.length; i++) {
-            margins[i] = getMargin(managed.get(i));
-        }
-        return margins;
-    }
 
     private double computeTileWidth(List<Node>managed) {
         double preftilewidth = getPrefTileWidth();
         if (preftilewidth == USE_COMPUTED_SIZE) {
             if (computedTileWidth == -1) {
-                Insets[] margins = getMargins(managed);
                 double h = -1;
                 boolean vertBias = false;
                 for (int i = 0, size = managed.size(); i < size; i++) {
@@ -809,9 +807,9 @@
                 }
                 if (vertBias) {
                     // widest may depend on height of tile
-                    h = computeMaxPrefAreaHeight(managed, margins, -1, getTileAlignmentInternal().getVpos());
+                    h = computeMaxPrefAreaHeight(managed, marginAccessor, -1, getTileAlignmentInternal().getVpos());
                 }
-                computedTileWidth = computeMaxPrefAreaWidth(managed, margins, h, getTileAlignmentInternal().getHpos());
+                computedTileWidth = computeMaxPrefAreaWidth(managed, marginAccessor, h, getTileAlignmentInternal().getHpos());
             }
             return snapSize(computedTileWidth);
         }
@@ -822,7 +820,6 @@
         double preftileheight = getPrefTileHeight();
         if (preftileheight == USE_COMPUTED_SIZE) {
             if (computedTileHeight == -1) {
-                Insets[] margins = getMargins(managed);
                 double w = -1;
                 boolean horizBias = false;
                 for (int i = 0, size = managed.size(); i < size; i++) {
@@ -834,9 +831,9 @@
                 }
                 if (horizBias) {
                     // tallest may depend on width of tile
-                    w = computeMaxPrefAreaWidth(managed, margins, -1, getTileAlignmentInternal().getHpos());
+                    w = computeMaxPrefAreaWidth(managed, marginAccessor, -1, getTileAlignmentInternal().getHpos());
                 }
-                computedTileHeight = computeMaxPrefAreaHeight(managed, getMargins(managed), w, getTileAlignmentInternal().getVpos());
+                computedTileHeight = computeMaxPrefAreaHeight(managed, marginAccessor, w, getTileAlignmentInternal().getVpos());
             }
             return snapSize(computedTileHeight);
         }
@@ -926,7 +923,7 @@
             double tileY = yoffset + (r * (getTileHeight() + vgap));
 
             Pos childAlignment = getAlignment(child);
-            
+
             layoutInArea(child, tileX, tileY, getTileWidth(), getTileHeight(), baselineOffset,
                     getMargin(child),
                     childAlignment != null? childAlignment.getHpos() : getTileAlignmentInternal().getHpos(),
@@ -963,9 +960,9 @@
       */
      private static class StyleableProperties {
 
-         private static final CssMetaData<TilePane,Pos> ALIGNMENT = 
+         private static final CssMetaData<TilePane,Pos> ALIGNMENT =
              new CssMetaData<TilePane,Pos>("-fx-alignment",
-                 new EnumConverter<Pos>(Pos.class), 
+                 new EnumConverter<Pos>(Pos.class),
                  Pos.TOP_LEFT) {
 
             @Override
@@ -978,8 +975,8 @@
                 return (StyleableProperty<Pos>)node.alignmentProperty();
             }
         };
-         
-         private static final CssMetaData<TilePane,Number> PREF_COLUMNS = 
+
+         private static final CssMetaData<TilePane,Number> PREF_COLUMNS =
              new CssMetaData<TilePane,Number>("-fx-pref-columns",
                  SizeConverter.getInstance(), 5.0) {
 
@@ -994,8 +991,8 @@
                 return (StyleableProperty<Number>)node.prefColumnsProperty();
             }
         };
-                 
-         private static final CssMetaData<TilePane,Number> HGAP = 
+
+         private static final CssMetaData<TilePane,Number> HGAP =
              new CssMetaData<TilePane,Number>("-fx-hgap",
                  SizeConverter.getInstance(), 0.0) {
 
@@ -1010,8 +1007,8 @@
                 return (StyleableProperty<Number>)node.hgapProperty();
             }
         };
-         
-         private static final CssMetaData<TilePane,Number> PREF_ROWS = 
+
+         private static final CssMetaData<TilePane,Number> PREF_ROWS =
              new CssMetaData<TilePane,Number>("-fx-pref-rows",
                  SizeConverter.getInstance(), 5.0) {
 
@@ -1027,9 +1024,9 @@
             }
         };
 
-         private static final CssMetaData<TilePane,Pos> TILE_ALIGNMENT = 
+         private static final CssMetaData<TilePane,Pos> TILE_ALIGNMENT =
              new CssMetaData<TilePane,Pos>("-fx-tile-alignment",
-                 new EnumConverter<Pos>(Pos.class), 
+                 new EnumConverter<Pos>(Pos.class),
                  Pos.CENTER) {
 
             @Override
@@ -1043,8 +1040,8 @@
                 return (StyleableProperty<Pos>)node.tileAlignmentProperty();
             }
          };
-         
-         private static final CssMetaData<TilePane,Number> PREF_TILE_WIDTH = 
+
+         private static final CssMetaData<TilePane,Number> PREF_TILE_WIDTH =
              new CssMetaData<TilePane,Number>("-fx-pref-tile-width",
                  SizeConverter.getInstance(), USE_COMPUTED_SIZE) {
 
@@ -1060,7 +1057,7 @@
             }
         };
 
-         private static final CssMetaData<TilePane,Number> PREF_TILE_HEIGHT = 
+         private static final CssMetaData<TilePane,Number> PREF_TILE_HEIGHT =
              new CssMetaData<TilePane,Number>("-fx-pref-tile-height",
                  SizeConverter.getInstance(), USE_COMPUTED_SIZE) {
 
@@ -1076,17 +1073,17 @@
             }
          };
 
-         private static final CssMetaData<TilePane,Orientation> ORIENTATION = 
+         private static final CssMetaData<TilePane,Orientation> ORIENTATION =
              new CssMetaData<TilePane,Orientation>("-fx-orientation",
-                 new EnumConverter<Orientation>(Orientation.class), 
+                 new EnumConverter<Orientation>(Orientation.class),
                  Orientation.HORIZONTAL) {
 
                 @Override
                 public Orientation getInitialValue(TilePane node) {
-                    // A vertical TilePane should remain vertical 
+                    // A vertical TilePane should remain vertical
                     return node.getOrientation();
                 }
-                                          
+
                 @Override
                 public boolean isSettable(TilePane node) {
                     return node.orientation == null ||
@@ -1098,8 +1095,8 @@
                     return (StyleableProperty<Orientation>)node.orientationProperty();
                 }
          };
-         
-         private static final CssMetaData<TilePane,Number> VGAP = 
+
+         private static final CssMetaData<TilePane,Number> VGAP =
              new CssMetaData<TilePane,Number>("-fx-vgap",
                  SizeConverter.getInstance(), 0.0) {
 
@@ -1117,7 +1114,7 @@
 
          private static final List<CssMetaData<? extends Styleable, ?>> STYLEABLES;
          static {
-            final List<CssMetaData<? extends Styleable, ?>> styleables = 
+            final List<CssMetaData<? extends Styleable, ?>> styleables =
                 new ArrayList<CssMetaData<? extends Styleable, ?>>(Region.getClassCssMetaData());
             styleables.add(ALIGNMENT);
             styleables.add(HGAP);
@@ -1144,8 +1141,8 @@
      * {@inheritDoc}
      *
      */
-    
-    
+
+
     @Override
     public List<CssMetaData<? extends Styleable, ?>> getCssMetaData() {
         return getClassCssMetaData();
--- a/javafx-ui-common/src/javafx/scene/layout/VBox.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-common/src/javafx/scene/layout/VBox.java	Wed May 29 13:35:01 2013 -0700
@@ -46,6 +46,7 @@
 import com.sun.javafx.css.converters.EnumConverter;
 import com.sun.javafx.css.converters.SizeConverter;
 import javafx.css.Styleable;
+import javafx.util.Callback;
 
 /**
  * VBox lays out its children in a single vertical column.
@@ -190,6 +191,12 @@
         return (Insets)getConstraint(child, MARGIN_CONSTRAINT);
     }
 
+    private static final Callback<Node, Insets> marginAccessor = new Callback<Node, Insets>() {
+        public Insets call(Node n) {
+            return getMargin(n);
+        }
+    };
+
     /**
      * Removes all vbox constraints from the child node.
      * @param child the child node
@@ -373,9 +380,9 @@
         if (getContentBias() == Orientation.VERTICAL) {
             double prefHeights[] = getAreaHeights(managed, -1, false);
             adjustAreaHeights(managed, prefHeights, height, -1);
-            contentWidth = computeMaxMinAreaWidth(managed, getMargins(managed), prefHeights, getAlignmentInternal().getHpos());
+            contentWidth = computeMaxMinAreaWidth(managed, marginAccessor, prefHeights, getAlignmentInternal().getHpos());
         } else {
-            contentWidth = computeMaxMinAreaWidth(managed, getMargins(managed), getAlignmentInternal().getHpos());
+            contentWidth = computeMaxMinAreaWidth(managed, marginAccessor, getAlignmentInternal().getHpos());
         }
         return snapSpace(insets.getLeft()) + contentWidth + snapSpace(insets.getRight());
     }
@@ -394,9 +401,9 @@
         if (getContentBias() == Orientation.VERTICAL) {
             double prefHeights[] = getAreaHeights(managed, -1, false);
             adjustAreaHeights(managed, prefHeights, height, -1);
-            contentWidth = computeMaxPrefAreaWidth(managed, getMargins(managed), prefHeights, getAlignmentInternal().getHpos());
+            contentWidth = computeMaxPrefAreaWidth(managed, marginAccessor, prefHeights, getAlignmentInternal().getHpos());
         } else {
-            contentWidth = computeMaxPrefAreaWidth(managed, getMargins(managed), getAlignmentInternal().getHpos());
+            contentWidth = computeMaxPrefAreaWidth(managed, marginAccessor, getAlignmentInternal().getHpos());
         }
         return snapSpace(insets.getLeft()) + contentWidth + snapSpace(insets.getRight());
     }
@@ -409,13 +416,6 @@
         return d;
     }
 
-    private Insets[] getMargins(List<Node>managed) {
-        Insets margins[] = new Insets[managed.size()];
-        for(int i = 0; i < margins.length; i++) {
-            margins[i] = getMargin(managed.get(i));
-        }
-        return margins;
-    }
 
     private double[] getAreaHeights(List<Node>managed, double width, boolean minimum) {
         double[] prefAreaHeights = new double [managed.size()];
--- a/javafx-ui-common/src/javafx/scene/shape/Arc.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-common/src/javafx/scene/shape/Arc.java	Wed May 29 13:35:01 2013 -0700
@@ -190,7 +190,7 @@
      *
      * @defaultValue 0.0
      */
-    private DoubleProperty radiusX = new DoublePropertyBase() {
+    private final DoubleProperty radiusX = new DoublePropertyBase() {
 
         @Override
         public void invalidated() {
@@ -227,7 +227,7 @@
      *
      * @defaultValue 0.0
      */
-    private DoubleProperty radiusY = new DoublePropertyBase() {
+    private final DoubleProperty radiusY = new DoublePropertyBase() {
 
         @Override
         public void invalidated() {
@@ -304,7 +304,7 @@
      *
      * @defaultValue 0.0
      */
-    private DoubleProperty length = new DoublePropertyBase() {
+    private final DoubleProperty length = new DoublePropertyBase() {
 
         @Override
         public void invalidated() {
--- a/javafx-ui-common/src/javafx/scene/shape/Circle.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-common/src/javafx/scene/shape/Circle.java	Wed May 29 13:35:01 2013 -0700
@@ -202,7 +202,7 @@
      *
      * @defaultValue 0.0
      */
-    private DoubleProperty radius = new DoublePropertyBase() {
+    private final DoubleProperty radius = new DoublePropertyBase() {
 
         @Override
         public void invalidated() {
--- a/javafx-ui-common/src/javafx/scene/shape/Ellipse.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-common/src/javafx/scene/shape/Ellipse.java	Wed May 29 13:35:01 2013 -0700
@@ -180,7 +180,7 @@
      *
      * @defaultValue 0.0
      */
-    private DoubleProperty radiusX = new DoublePropertyBase() {
+    private final DoubleProperty radiusX = new DoublePropertyBase() {
 
         @Override
         public void invalidated() {
@@ -216,7 +216,7 @@
      *
      * @defaultValue 0.0
      */
-    private DoubleProperty radiusY = new DoublePropertyBase() {
+    private final DoubleProperty radiusY = new DoublePropertyBase() {
 
         @Override
         public void invalidated() {
--- a/javafx-ui-common/src/javafx/scene/shape/Line.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-common/src/javafx/scene/shape/Line.java	Wed May 29 13:35:01 2013 -0700
@@ -99,22 +99,7 @@
      *
      * @defaultValue 0.0
      */
-    private DoubleProperty startX;
-
-
-    public final void setStartX(double value) {
-        if (startX != null || value != 0.0) {
-            startXProperty().set(value);
-        }
-    }
-
-    public final double getStartX() {
-        return startX == null ? 0.0 : startX.get();
-    }
-
-    public final DoubleProperty startXProperty() {
-        if (startX == null) {
-            startX = new DoublePropertyBase() {
+    private final DoubleProperty startX = new DoublePropertyBase() {
 
                 @Override
                 public void invalidated() {
@@ -132,7 +117,17 @@
                     return "startX";
                 }
             };
-        }
+
+
+    public final void setStartX(double value) {
+        startX.set(value);
+    }
+
+    public final double getStartX() {
+        return startX.get();
+    }
+
+    public final DoubleProperty startXProperty() {
         return startX;
     }
 
@@ -141,23 +136,7 @@
      *
      * @defaultValue 0.0
      */
-    private DoubleProperty startY;
-
-
-
-    public final void setStartY(double value) {
-        if (startY != null || value != 0.0) {
-            startYProperty().set(value);
-        }
-    }
-
-    public final double getStartY() {
-        return startY == null ? 0.0 : startY.get();
-    }
-
-    public final DoubleProperty startYProperty() {
-        if (startY == null) {
-            startY = new DoublePropertyBase() {
+    private final DoubleProperty startY = new DoublePropertyBase() {
 
                 @Override
                 public void invalidated() {
@@ -175,7 +154,17 @@
                     return "startY";
                 }
             };
-        }
+
+
+    public final void setStartY(double value) {
+        startY.set(value);
+    }
+
+    public final double getStartY() {
+        return startY.get();
+    }
+
+    public final DoubleProperty startYProperty() {
         return startY;
     }
 
@@ -184,23 +173,7 @@
      *
      * @defaultValue 0.0
      */
-    private DoubleProperty endX;
-
-
-
-    public final void setEndX(double value) {
-        if (endX != null || value != 0.0) {
-            endXProperty().set(value);
-        }
-    }
-
-    public final double getEndX() {
-        return endX == null ? 0.0 : endX.get();
-    }
-
-    public final DoubleProperty endXProperty() {
-        if (endX == null) {
-            endX = new DoublePropertyBase() {
+    private final DoubleProperty endX = new DoublePropertyBase() {
 
         @Override
         public void invalidated() {
@@ -218,7 +191,18 @@
             return "endX";
         }
     };
+
+
+
+    public final void setEndX(double value) {
+        endX.set(value);
     }
+
+    public final double getEndX() {
+        return endX.get();
+    }
+
+    public final DoubleProperty endXProperty() {
         return endX;
     }
 
@@ -227,21 +211,7 @@
      *
      * @defaultValue 0.0
      */
-    private DoubleProperty endY;
-
-    public final void setEndY(double value) {
-        if (endY != null || value != 0.0) {
-            endYProperty().set(value);
-        }
-    }
-
-    public final double getEndY() {
-        return endY == null ? 0.0 : endY.get();
-    }
-
-    public final DoubleProperty endYProperty() {
-        if (endY == null) {
-            endY = new DoublePropertyBase() {
+    private final DoubleProperty endY = new DoublePropertyBase() {
 
         @Override
         public void invalidated() {
@@ -259,7 +229,16 @@
             return "endY";
         }
     };
+
+    public final void setEndY(double value) {
+        endY.set(value);
     }
+
+    public final double getEndY() {
+        return endY.get();
+    }
+
+    public final DoubleProperty endYProperty() {
         return endY;
     }
 
--- a/javafx-ui-common/src/javafx/scene/shape/Rectangle.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-common/src/javafx/scene/shape/Rectangle.java	Wed May 29 13:35:01 2013 -0700
@@ -210,7 +210,7 @@
      *
      * @defaultValue 0.0
      */
-    private DoubleProperty width = new DoublePropertyBase() {
+    private final DoubleProperty width = new DoublePropertyBase() {
 
         @Override
         public void invalidated() {
@@ -246,7 +246,7 @@
      *
      * @defaultValue 0.0
      */
-    private DoubleProperty height = new DoublePropertyBase() {
+    private final DoubleProperty height = new DoublePropertyBase() {
 
         @Override
         public void invalidated() {
--- a/javafx-ui-common/test/unit/javafx/scene/layout/HBoxTest.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-common/test/unit/javafx/scene/layout/HBoxTest.java	Wed May 29 13:35:01 2013 -0700
@@ -734,7 +734,7 @@
         assertEquals(300, hbox.prefWidth(-1), 1e-100);
         assertEquals(200, hbox.prefHeight(-1), 1e-100);
         assertEquals(20, hbox.minWidth(-1), 1e-100); //MockBias minWidth == 10
-        assertEquals(200, hbox.minHeight(-1), 1e-100);
+        assertEquals(1, hbox.minHeight(-1), 1e-100); // If both have max width, min height can be indeed 1
         assertEquals(Math.ceil(Math.max(100 * 100 / 50.0, 200 * 200 / 150.0)), hbox.minHeight(200), 1e-100);
         System.out.println("************************************");
 
--- a/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/FXVKSkin.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-controls/src/com/sun/javafx/scene/control/skin/FXVKSkin.java	Wed May 29 13:35:01 2013 -0700
@@ -25,16 +25,20 @@
 
 package com.sun.javafx.scene.control.skin;
 
+import java.io.BufferedReader;
+import java.io.InputStream;
+import java.io.InputStreamReader;
 import java.lang.reflect.Field;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
-
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import javafx.animation.Animation;
 import javafx.animation.Interpolator;
 import javafx.animation.KeyFrame;
 import javafx.animation.KeyValue;
 import javafx.animation.Timeline;
-import javafx.animation.Animation;
-import javafx.animation.Animation.Status;
 import javafx.application.Platform;
 import javafx.beans.InvalidationListener;
 import javafx.beans.Observable;
@@ -44,42 +48,29 @@
 import javafx.event.EventHandler;
 import javafx.event.EventTarget;
 import javafx.event.EventType;
+import javafx.geometry.HPos;
+import javafx.geometry.Point2D;
 import javafx.geometry.Rectangle2D;
 import javafx.geometry.VPos;
-
-import javafx.geometry.HPos;
-import javafx.geometry.Insets;
-import javafx.geometry.Point2D;
-import javafx.geometry.Pos;
 import javafx.scene.Node;
 import javafx.scene.Scene;
+import javafx.scene.input.InputEvent;
 import javafx.scene.input.KeyCode;
 import javafx.scene.input.KeyEvent;
 import javafx.scene.input.MouseEvent;
-import javafx.scene.input.TouchEvent;
-import javafx.scene.input.InputEvent;
-import static javafx.scene.input.TouchEvent.*;
-import static javafx.scene.input.MouseEvent.*;
-import static javafx.scene.input.KeyEvent.*;
-import javafx.stage.*;
+import javafx.scene.layout.Region;
+import javafx.scene.text.Text;
+import javafx.stage.Popup;
 import javafx.util.Duration;
-
+import com.sun.javafx.css.StyleManager;
 import com.sun.javafx.robot.impl.FXRobotHelper;
 import com.sun.javafx.robot.impl.FXRobotHelper.FXRobotInputAccessor;
 import com.sun.javafx.scene.control.behavior.BehaviorBase;
 
+import static javafx.scene.input.MouseEvent.*;
+import static javafx.scene.input.TouchEvent.*;
 import static javafx.scene.layout.Region.*;
 
-import java.io.BufferedReader;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import javafx.scene.layout.Region;
-import javafx.scene.text.Text;
-import com.sun.javafx.css.StyleManager;
-
 
 public class FXVKSkin extends BehaviorSkinBase<FXVK, BehaviorBase<FXVK>> {
 
@@ -234,6 +225,51 @@
 
     EventHandler<InputEvent> unHideEventHandler;
 
+    private boolean isVKHidden = false;
+    
+    private void registerUnhideHandler(final Node node) {
+        if (unHideEventHandler == null) {
+            unHideEventHandler = new EventHandler<InputEvent> () {
+                public void handle(InputEvent event) {
+                    if (node != null && isVKHidden) {
+                        double screenHeight = com.sun.javafx.Utils.getScreen(node).getBounds().getHeight();
+                        if (fxvk.getHeight() > 0 && (vkPopup.getY() > screenHeight - fxvk.getHeight())) {
+                            if (slideInTimeline.getStatus() != Animation.Status.RUNNING) {
+                                startSlideIn();
+                            }
+                        }
+                    }
+                    isVKHidden = false;
+                }                    
+            };
+        }
+        attachedNode.addEventHandler(TOUCH_PRESSED, unHideEventHandler);
+        attachedNode.addEventHandler(MOUSE_PRESSED, unHideEventHandler);
+    }
+
+    private void unRegisterUnhideHandler(Node node) {
+        if (unHideEventHandler != null) {
+            node.removeEventHandler(TOUCH_PRESSED, unHideEventHandler);
+            node.removeEventHandler(MOUSE_PRESSED, unHideEventHandler);
+        }
+    }
+
+    private void updateKeyboardType() {
+        String oldType = vkType;
+        int typeIndex = 0;
+        Object typeValue = attachedNode.getProperties().get(FXVK.VK_TYPE_PROP_KEY);
+        String typeStr = null;
+        if (typeValue instanceof String) {
+            typeStr = ((String)typeValue).toLowerCase();
+        }
+        vkType = (typeStr != null ? typeStr : "text");
+        
+        //VK type changed, rebuild
+        if ( oldType == null || !vkType.equals(oldType) ) {
+            rebuild();
+        }
+    }
+
     public FXVKSkin(final FXVK fxvk) {
         super(fxvk, new BehaviorBase<FXVK>(fxvk));
         this.fxvk = fxvk;
@@ -242,11 +278,27 @@
 
         fxvk.setFocusTraversable(false);
 
+        if (fxvk != secondaryVK) {
+            //init secondary VK delay animation
+            if (secondaryVKDelay == null) {
+                secondaryVKDelay = new Timeline();
+            }
+            KeyFrame kf = new KeyFrame(Duration.millis(500), new EventHandler<ActionEvent>() {
+                @Override public void handle(ActionEvent event) {
+                    if (secondaryVKKey != null) {
+                        showSecondaryVK(secondaryVKKey);
+                    }
+                }
+            });
+            secondaryVKDelay.getKeyFrames().setAll(kf);
+        }
+
+
         fxvk.attachedNodeProperty().addListener(new InvalidationListener() {
             @Override public void invalidated(Observable valueModel) {
                 Node oldNode = attachedNode;
                 attachedNode = fxvk.getAttachedNode();
-
+                isVKHidden = false;
                 if (fxvk != FXVK.vk) {
                     // This is not the current vk, so nothing more to do
                     return;
@@ -255,54 +307,23 @@
                     return;
                 }
                 
+                //close secondary VK if open
+                if (secondaryVK != null) {
+                    secondaryVK.setAttachedNode(null);
+                    secondaryPopup.hide();
+                }
+                
                 if (attachedNode != null) {
-                    if (unHideEventHandler == null) {
-                        unHideEventHandler = new EventHandler<InputEvent> (){
-                            public void handle(InputEvent event) {
-                                if (attachedNode != null) {
-                                    double screenHeight = com.sun.javafx.Utils.getScreen(attachedNode).getBounds().getHeight();
-                                    if (fxvk.getHeight() > 0 && (vkPopup.getY() > screenHeight - fxvk.getHeight())) {
-                                        if (slideInTimeline.getStatus() != Animation.Status.RUNNING) {
-                                            startSlideIn();
-                                        }
-                                    }
-                                }
-                            }                    
-                        };
+                    if (oldNode != null) {
+                        unRegisterUnhideHandler(oldNode);
                     }
-                    attachedNode.addEventHandler(TOUCH_PRESSED, unHideEventHandler);
-                    attachedNode.addEventHandler(MOUSE_PRESSED, unHideEventHandler);
-                    attachedNode.addEventHandler(KEY_PRESSED, unHideEventHandler);                    
-                    String oldType = vkType;
-                    int typeIndex = 0;
-
-                    Object typeValue = attachedNode.getProperties().get(FXVK.VK_TYPE_PROP_KEY);
-                    String typeStr = null;
-                    if (typeValue instanceof String) {
-                        typeStr = ((String)typeValue).toLowerCase();
-                    }
-                    vkType = (typeStr != null ? typeStr : "text");
+                    registerUnhideHandler(attachedNode);
+                    updateKeyboardType();
                     
-                    if ( oldType == null || !vkType.equals(oldType) ) {
-                        rebuild();
-                    }
-
-                    final Scene scene = attachedNode.getScene();
                     fxvk.setVisible(true);
 
                     if (fxvk != secondaryVK) {
-                        if (secondaryVKDelay == null) {
-                            secondaryVKDelay = new Timeline();
-                        }
-                        KeyFrame kf = new KeyFrame(Duration.millis(500), new EventHandler<ActionEvent>() {
-                            @Override public void handle(ActionEvent event) {
-                                if (secondaryVKKey != null) {
-                                    showSecondaryVK(secondaryVKKey);
-                                }
-                            }
-                        });
-                        secondaryVKDelay.getKeyFrames().setAll(kf);
-                        
+                        // init popup window and slide animations
                         if (vkPopup == null) {
                             vkPopup = new Popup();
                             vkPopup.setAutoFix(false);
@@ -325,14 +346,20 @@
 
                         vkPopup.getContent().setAll(fxvk);
 
+                        //owner window has changed so hide VK and show with new owner
+                        if (oldNode == null || oldNode.getScene() == null || oldNode.getScene().getWindow() != attachedNode.getScene().getWindow()) {
+                            if (vkPopup.isShowing()) {
+                                vkPopup.hide();
+                            }
+                        }
+                        
                         if (!vkPopup.isShowing()) {
                             Platform.runLater(new Runnable() {
                                 public void run() {
                                     Rectangle2D screenBounds =
                                         com.sun.javafx.Utils.getScreen(attachedNode).getBounds();
 
-                                        
-                                    vkPopup.show(attachedNode,
+                                    vkPopup.show(attachedNode.getScene().getWindow(),
                                                  (screenBounds.getWidth() - fxvk.prefWidth(-1)) / 2,
                                                  screenBounds.getHeight() - fxvk.prefHeight(-1));
                                 }
@@ -350,16 +377,14 @@
                         }
 
                         if (fxvk.getHeight() > 0 &&
-                                (fxvk.getLayoutY() == 0 || fxvk.getLayoutY() > scene.getHeight() - fxvk.getHeight())) {
+                                (fxvk.getLayoutY() == 0 || fxvk.getLayoutY() > attachedNode.getScene().getHeight() - fxvk.getHeight())) {
                             startSlideIn();
                         }
                     }
                 } else {
                     if (fxvk != secondaryVK) {
-                        if (oldNode != null && unHideEventHandler != null) {
-                            oldNode.removeEventHandler(TOUCH_PRESSED, unHideEventHandler);
-                            oldNode.removeEventHandler(MOUSE_PRESSED, unHideEventHandler);
-                            oldNode.removeEventHandler(KEY_PRESSED, unHideEventHandler);
+                        if (oldNode != null) {
+                            unRegisterUnhideHandler(oldNode);
                         }
                         startSlideOut();
                     }
@@ -953,6 +978,7 @@
                             } else if ("$hide".equals(chars)) {
                                 key = new KeyboardStateKey("Hide", null) {
                                     @Override protected void release() {
+                                        isVKHidden = true;
                                         startSlideOut();
                                     }
                                 };
--- a/javafx-ui-quantum/src/com/sun/javafx/tk/quantum/PresentingPainter.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-quantum/src/com/sun/javafx/tk/quantum/PresentingPainter.java	Wed May 29 13:35:01 2013 -0700
@@ -26,6 +26,7 @@
 package com.sun.javafx.tk.quantum;
 
 import com.sun.prism.Graphics;
+import com.sun.prism.GraphicsPipeline;
 import com.sun.prism.impl.Disposer;
 import com.sun.prism.impl.ManagedResource;
 import com.sun.prism.impl.PrismSettings;
@@ -60,6 +61,13 @@
              */
             sceneState.lock();
             locked = true;
+            
+            if (factory == null) {
+                factory = GraphicsPipeline.getDefaultResourceFactory();
+                if (factory == null || !factory.isDeviceReady()) {
+                    return;
+                }
+            }
 
             boolean needsReset = (presentable == null) ||
                                  (penWidth != viewWidth) || (penHeight != viewHeight);
--- a/javafx-ui-quantum/src/com/sun/javafx/tk/quantum/ViewPainter.java	Wed May 29 12:45:55 2013 -0400
+++ b/javafx-ui-quantum/src/com/sun/javafx/tk/quantum/ViewPainter.java	Wed May 29 13:35:01 2013 -0700
@@ -28,7 +28,6 @@
 import com.sun.javafx.sg.NodePath;
 import com.sun.javafx.sg.prism.NGNode;
 import com.sun.prism.Graphics;
-import com.sun.prism.GraphicsPipeline;
 import com.sun.prism.impl.PrismSettings;
 import com.sun.prism.paint.Color;
 import com.sun.prism.paint.Paint;
@@ -70,24 +69,7 @@
 
         setPaintBounds(viewWidth, viewHeight);
 
-        if (factory == null) {
-            // the factory really should not be null as
-            // we really want all that factory work on the event thread
-            try {
-                sceneState.lock();
-                factory = GraphicsPipeline.getDefaultResourceFactory();
-            } finally {
-                /*
-                 * Don't flush to the screen if there was a failure
-                 * creating the graphics factory
-                 */
-                sceneState.unlock();
-            }
-            return ((factory != null) && factory.isDeviceReady());
-        }
-        return sceneState.isWindowVisible() &&
-               !sceneState.isWindowMinimized() &&
-               factory.isDeviceReady();
+        return sceneState.isWindowVisible() && !sceneState.isWindowMinimized();
     }
     
     @Override protected void doPaint(Graphics g, NodePath<NGNode> renderRootPath) {
--- a/prism-common/src/com/sun/prism/Image.java	Wed May 29 12:45:55 2013 -0400
+++ b/prism-common/src/com/sun/prism/Image.java	Wed May 29 13:35:01 2013 -0700
@@ -593,14 +593,18 @@
             switch (getPixelFormat()) {
                 case BYTE_ALPHA:
                 case BYTE_APPLE_422:
-                case BYTE_GRAY:
                 case FLOAT_XYZW:
                 case MULTI_YCbCr_420:
                 default:
                     pixelaccessor = new UnsupportedAccess();
                     break;
+                case BYTE_GRAY:
+                    pixelaccessor = new ByteAccess(getGrayFXPixelFormat(),
+                                                   ByteGray.getter, null,
+                                                   (ByteBuffer) pixelBuffer, 1);
+                    break;
                 case BYTE_RGB:
-                    pixelaccessor = new ByteRgbAccess();
+                    pixelaccessor = new ByteRgbAccess((ByteBuffer) pixelBuffer);
                     break;
                 case BYTE_BGRA_PRE:
                     pixelaccessor = new ByteAccess(FX_ByteBgraPre_FORMAT,
@@ -884,6 +888,15 @@
         }
     }
 
+    static <I extends Buffer> PixelSetter<I>
+        getSetterIfWritable(javafx.scene.image.PixelFormat<I> theFormat)
+    {
+        if (theFormat instanceof WritablePixelFormat) {
+            return PixelUtils.getSetter((WritablePixelFormat) theFormat);
+        }
+        return null;
+    }
+
     abstract class BaseAccessor<I extends Buffer> extends Accessor<I> {
         javafx.scene.image.PixelFormat<I> theFormat;
         PixelGetter<I> theGetter;
@@ -894,11 +907,17 @@
         int offsetElems;
 
         BaseAccessor(javafx.scene.image.PixelFormat<I> theFormat, I buffer, int pixelStride) {
+            this(theFormat, PixelUtils.getGetter(theFormat), getSetterIfWritable(theFormat),
+                 buffer, pixelStride);
+        }
+
+        BaseAccessor(javafx.scene.image.PixelFormat<I> theFormat,
+                     PixelGetter<I> getter, PixelSetter<I> setter,
+                     I buffer, int pixelStride)
+        {
             this.theFormat = theFormat;
-            this.theGetter = PixelUtils.getGetter(theFormat);
-            if (theFormat instanceof WritablePixelFormat) {
-                this.theSetter = PixelUtils.getSetter((WritablePixelFormat) theFormat);
-            }
+            this.theGetter = getter;
+            this.theSetter = setter;
             this.theBuffer = buffer;
             this.pixelElems = pixelStride;
             this.scanlineElems = scanlineStride / pixelFormat.getDataType().getSizeInBytes();
@@ -988,6 +1007,13 @@
 
     class ByteAccess extends BaseAccessor<ByteBuffer> {
         ByteAccess(javafx.scene.image.PixelFormat<ByteBuffer> fmt,
+                   PixelGetter<ByteBuffer> getter, PixelSetter<ByteBuffer> setter,
+                   ByteBuffer buffer, int numbytes)
+        {
+            super(fmt, getter, setter, buffer, numbytes);
+        }
+
+        ByteAccess(javafx.scene.image.PixelFormat<ByteBuffer> fmt,
                    ByteBuffer buffer, int numbytes)
         {
             super(fmt, buffer, numbytes);
@@ -1124,15 +1150,30 @@
         }
     }
 
+    static javafx.scene.image.PixelFormat FX_ByteGray_FORMAT;
+    static javafx.scene.image.PixelFormat getGrayFXPixelFormat() {
+        if (FX_ByteGray_FORMAT == null) {
+            int grays[] = new int[256];
+            int gray = 0xff000000;
+            for (int i = 0; i < 256; i++) {
+                grays[i] = gray;
+                gray += 0x00010101;
+            }
+            FX_ByteGray_FORMAT =
+                javafx.scene.image.PixelFormat.createByteIndexedPremultipliedInstance(grays);
+        }
+        return FX_ByteGray_FORMAT;
+    }
+
     class UnsupportedAccess extends ByteAccess {
         private UnsupportedAccess() {
-            super(null, null, 0);
+            super(null, null, null, null, 0);
         }
     }
 
     class ByteRgbAccess extends ByteAccess {
-        public ByteRgbAccess() {
-            super(FX_ByteRgb_FORMAT, (ByteBuffer) pixelBuffer, 3);
+        public ByteRgbAccess(ByteBuffer buffer) {
+            super(FX_ByteRgb_FORMAT, buffer, 3);
         }
 
         @Override
--- a/webview/src/com/sun/javafx/webkit/theme/ScrollBarThemeImpl.java	Wed May 29 12:45:55 2013 -0400
+++ b/webview/src/com/sun/javafx/webkit/theme/ScrollBarThemeImpl.java	Wed May 29 13:35:01 2013 -0700
@@ -8,6 +8,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import com.sun.javafx.Utils;
 import javafx.beans.Observable;
 import javafx.geometry.Orientation;
 import javafx.scene.Node;
@@ -27,7 +28,7 @@
 public final class ScrollBarThemeImpl extends ScrollBarTheme {
 
     private final static Logger log = Logger.getLogger(ScrollBarThemeImpl.class.getName());
-       
+
     private WeakReference<ScrollBar> testSBRef = // used for hit testing
             new WeakReference<ScrollBar>(null);
 
@@ -215,12 +216,12 @@
         if (orientation == VERTICAL_SCROLLBAR) {
             trackX = incBtnX = thumbX = x;
             trackY = y - (int)decButton.getLayoutBounds().getHeight();
-            thumbY = trackY - (int)thumb.getTranslateY();
+            thumbY = trackY - thumbPosition();
             incBtnY = trackY - (int)track.getLayoutBounds().getHeight();
         } else {
             trackY = incBtnY = thumbY = y;
             trackX = x - (int)decButton.getLayoutBounds().getWidth();
-            thumbX = trackX - (int)thumb.getTranslateX();
+            thumbX = trackX - thumbPosition();
             incBtnX = trackX - (int)track.getLayoutBounds().getWidth();
         }
 
@@ -230,14 +231,14 @@
 
         } else if (track.contains(trackX, trackY)) {
 
-            if ((orientation == VERTICAL_SCROLLBAR && thumb.getTranslateY() >= trackY) ||
-                (orientation == HORIZONTAL_SCROLLBAR && thumb.getTranslateX() >= trackX))
+            if ((orientation == VERTICAL_SCROLLBAR && thumbPosition() >= trackY) ||
+                (orientation == HORIZONTAL_SCROLLBAR && thumbPosition() >= trackX))
             {
                 log.finer("back track");
                 return BACK_TRACK_PART;
 
-            } else if ((orientation == VERTICAL_SCROLLBAR && thumb.getTranslateY() < trackY) ||
-                       (orientation == HORIZONTAL_SCROLLBAR && thumb.getTranslateX() < trackX))
+            } else if ((orientation == VERTICAL_SCROLLBAR && thumbPosition() < trackY) ||
+                       (orientation == HORIZONTAL_SCROLLBAR && thumbPosition() < trackX))
             {
                 log.finer("forward track");
                 return FORWARD_TRACK_PART;
@@ -255,6 +256,29 @@
         return NO_PART;
     }
 
+    private int thumbPosition() {
+        ScrollBar testSB = testSBRef.get();
+        if (testSB == null) {
+            return 0;
+        }
+        // position calculated after ScrollBarSkin.positionThumb()
+        Node thumb = getThumb(testSB);
+        double thumbLength = testSB.getOrientation() == Orientation.VERTICAL
+                             ? thumb.getLayoutBounds().getHeight()
+                             : thumb.getLayoutBounds().getWidth();
+
+        Node track = getTrack(testSB);
+        double trackLength = testSB.getOrientation() == Orientation.VERTICAL
+                             ? track.getLayoutBounds().getHeight()
+                             : track.getLayoutBounds().getWidth();
+
+        double clampedValue = Utils.clamp(testSB.getMin(), testSB.getValue(), testSB.getMax());
+        double range = testSB.getMax() - testSB.getMin();
+        return (int) Math.round((range > 0)
+                               ? ((trackLength - thumbLength) * (clampedValue - testSB.getMin()) / range)
+                               : 0);
+    }
+
     @Override protected int getThumbLength(int w, int h, int orientation,
                                            int value,
                                            int visibleSize, int totalSize)
@@ -323,18 +347,11 @@
         if (testSB == null) {
             return 0;
         }
-        Node thumb = getThumb(testSB);
-
         adjustScrollBar(testSB, w, h, orientation, value, visibleSize, totalSize);
 
-        double pos = 0;
-        if (orientation == VERTICAL_SCROLLBAR) {
-            pos = thumb.getTranslateY();
-        } else {
-            pos = thumb.getTranslateX();
-        }
+        int pos = thumbPosition();
         log.log(Level.FINEST, "thumb position: {0}", pos);
-        return (int)pos;
+        return pos;
     }
 
     private void initializeThickness() {