changeset 9818:63aba849eecf jdk-9+121

Merge
author ddhill
date Fri, 27 May 2016 18:46:51 -0400
parents 5b2e9f575fce fad6dc657325
children 0094ca8537fe da4fc65525ca
files .idea/deploy.iml .idea/designTime.iml .idea/rt-closed.iml
diffstat 24 files changed, 374 insertions(+), 363 deletions(-) [+]
line wrap: on
line diff
--- a/.idea/Ensemble8.iml	Thu May 26 09:55:55 2016 -0700
+++ b/.idea/Ensemble8.iml	Fri May 27 18:46:51 2016 -0400
@@ -49,7 +49,7 @@
     <orderEntry type="module-library">
       <library>
         <CLASSES>
-          <root url="jar://$MODULE_DIR$/../caches/sdk/lib/jfxrt.jar!/" />
+          <root url="jar://$MODULE_DIR$/build/sdk/lib/jfxrt.jar!/" />
         </CLASSES>
         <JAVADOC />
         <SOURCES />
--- a/.idea/compiler.xml	Thu May 26 09:55:55 2016 -0700
+++ b/.idea/compiler.xml	Fri May 27 18:46:51 2016 -0400
@@ -3,8 +3,6 @@
   <component name="CompilerConfiguration">
     <option name="DEFAULT_COMPILER" value="Javac" />
     <excludeFromCompile>
-      <file url="file://$PROJECT_DIR$/../../deploy/javafx-deploy-samples/src/helloworld/HelloFullscreen.java" />
-      <file url="file://$PROJECT_DIR$/../../deploy/javafx-deploy-samples/src/helloworld/HelloFullscreenToggle.java" />
     </excludeFromCompile>
     <resourceExtensions />
     <wildcardResourcePatterns>
--- a/.idea/deploy.iml	Thu May 26 09:55:55 2016 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4">
-  <component name="EclipseModuleManager">
-    <libelement value="jar://$MODULE_DIR$/../deploy/cache/plugin.jar!/" />
-    <libelement value="jar://$MODULE_DIR$/../deploy/cache/deploy.jar!/" />
-    <src_description expected_position="0">
-      <src_folder value="file://$MODULE_DIR$/../deploy/lib" expected_position="0" />
-      <src_folder value="file://$MODULE_DIR$/../deploy/javafx-deploy/src" expected_position="1" />
-      <src_folder value="file://$MODULE_DIR$/../deploy/javafx-deploy-samples/src" expected_position="2" />
-      <src_folder value="file://$MODULE_DIR$/../deploy/javafx-launcher-demoapp/src" expected_position="3" />
-    </src_description>
-  </component>
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
-    <exclude-output />
-    <content url="file://$MODULE_DIR$/../deploy">
-      <sourceFolder url="file://$MODULE_DIR$/../deploy/lib" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../deploy/javafx-deploy/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../deploy/javafx-deploy-samples/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../deploy/javafx-launcher-demoapp/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../deploy/javafx-deploy/test" isTestSource="true" />
-    </content>
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="module" module-name="rt" />
-    <orderEntry type="module-library">
-      <library name="plugin.jar">
-        <CLASSES>
-          <root url="jar://$MODULE_DIR$/../deploy/cache/plugin.jar!/" />
-        </CLASSES>
-        <JAVADOC />
-        <SOURCES />
-      </library>
-    </orderEntry>
-    <orderEntry type="module-library">
-      <library name="deploy.jar">
-        <CLASSES>
-          <root url="jar://$MODULE_DIR$/../deploy/cache/deploy.jar!/" />
-        </CLASSES>
-        <JAVADOC />
-        <SOURCES />
-      </library>
-    </orderEntry>
-    <orderEntry type="inheritedJdk" />
-  </component>
-</module>
-
--- a/.idea/designTime.iml	Thu May 26 09:55:55 2016 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4">
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
-    <exclude-output />
-    <content url="file://$MODULE_DIR$/modules/designTime">
-      <sourceFolder url="file://$MODULE_DIR$/modules/designTime/src/main/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/modules/designTime/src/test/java" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/modules/designTime/src/test/resources" isTestSource="false" />
-      <excludeFolder url="file://$MODULE_DIR$/modules/designTime/build" />
-    </content>
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="module" module-name="graphics" exported="" />
-    <orderEntry type="inheritedJdk" />
-  </component>
-</module>
-
--- a/.idea/modules.xml	Thu May 26 09:55:55 2016 -0700
+++ b/.idea/modules.xml	Fri May 27 18:46:51 2016 -0400
@@ -24,14 +24,11 @@
       <module fileurl="file://$PROJECT_DIR$/.idea/base.iml" filepath="$PROJECT_DIR$/.idea/base.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/buildSrc.iml" filepath="$PROJECT_DIR$/.idea/buildSrc.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/controls.iml" filepath="$PROJECT_DIR$/.idea/controls.iml" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/deploy.iml" filepath="$PROJECT_DIR$/.idea/deploy.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/fxml.iml" filepath="$PROJECT_DIR$/.idea/fxml.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/fxpackager.iml" filepath="$PROJECT_DIR$/.idea/fxpackager.iml" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/fxpackagerServices.iml" filepath="$PROJECT_DIR$/.idea/fxpackagerServices.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/graphics.iml" filepath="$PROJECT_DIR$/.idea/graphics.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/media.iml" filepath="$PROJECT_DIR$/.idea/media.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/rt.iml" filepath="$PROJECT_DIR$/.idea/rt.iml" />
-      <module fileurl="file://$PROJECT_DIR$/.idea/rt-closed.iml" filepath="$PROJECT_DIR$/.idea/rt-closed.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/swing.iml" filepath="$PROJECT_DIR$/.idea/swing.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/swt.iml" filepath="$PROJECT_DIR$/.idea/swt.iml" />
       <module fileurl="file://$PROJECT_DIR$/.idea/tests.iml" filepath="$PROJECT_DIR$/.idea/tests.iml" />
--- a/.idea/rt-closed.iml	Thu May 26 09:55:55 2016 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,186 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<module type="JAVA_MODULE" version="4">
-  <component name="EclipseModuleManager">
-    <libelement value="jar://$MODULE_DIR$/../import/benchmarks-2.1.1/benchmarks-2.1.1.jar!/" />
-    <src_description expected_position="0">
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/glass/glass-test/test" expected_position="0" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/glass/UseCases/src" expected_position="1" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/javafx-font-t2k/src" expected_position="2" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/BenchShapes/src" expected_position="3" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/Charts/src" expected_position="4" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/ColorfulShapes/src" expected_position="5" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/Controls/src" expected_position="6" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/DirtyArea/src" expected_position="7" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/embedded/ui-performance/src" expected_position="8" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/Fire/src" expected_position="9" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/FXBenchmark/src" expected_position="10" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/FXTester/src" expected_position="11" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/GUIMark2/src" expected_position="12" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/GUIMark2-SE/src" expected_position="13" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/GUIMark3/src" expected_position="14" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/LayoutTest/src" expected_position="15" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/ListView/src" expected_position="16" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/MediaSystemTest/src" expected_position="17" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/MouseResponseTest/src" expected_position="18" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/NodeMemory/src" expected_position="19" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/SDKSizeAnalyzer/src" expected_position="20" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/SpiralText/src" expected_position="21" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/Surface/src" expected_position="22" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/performance/WebNodeTestSuite/src" expected_position="23" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/porting/src" expected_position="24" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/prism-bench/src" expected_position="25" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/prism-bench/options" expected_position="26" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/DragOverTest/src" expected_position="27" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/ES2NativeTest/test" expected_position="28" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/EvilFXApplet/src" expected_position="29" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/FullScreen/FullScreenHelper/src" expected_position="30" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/FullScreen/FullScreenRunner/src" expected_position="31" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/FullScreen/FullScreenTest/src" expected_position="32" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/FXMLDefaultClassLoader/test" expected_position="33" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/GetWindowsTest/test" expected_position="34" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/LoaderDisposeTest/test" expected_position="35" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/MediaFuzzing/src" expected_position="36" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/MediaFuzzing/test" expected_position="37" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/MediaFuzzing/mediafiles" expected_position="38" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/NativeHandleTest/test" expected_position="39" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/PulseCallbackHelper/src" expected_position="40" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/PulseCallbackTest/test" expected_position="41" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/SandboxedClipboardTest/test" expected_position="42" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/ServiceHelper/src" expected_position="43" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/ServiceTest/test" expected_position="44" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/TestUtils/src" expected_position="45" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/tests/security/TransparentWindowsTest/test" expected_position="46" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/a11y/src" expected_position="47" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/BlendTest/src" expected_position="48" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/CameraTests/src" expected_position="49" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/CanvasTest/src" expected_position="50" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/ColorCube/src" expected_position="51" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/CursorFXTest/src" expected_position="52" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/DirectoryBrowser/src" expected_position="53" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/DragDropColor/src" expected_position="54" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/DragDropText/src" expected_position="55" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/DragDropWithControls/src" expected_position="56" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/EarthCubeFX2/src" expected_position="57" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/EmbeddedSwing/src" expected_position="58" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/FX8-3DAPI/src" expected_position="59" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/GlassRobotTest/src" expected_position="60" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/Gradients/src" expected_position="61" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/GridExamples/src" expected_position="62" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/HelloBenchmark/perf" expected_position="63" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/HelloFXCanvas/src" expected_position="64" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/HelloWorld/src" expected_position="65" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/NodeBlendTests/src" expected_position="66" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/PickTest3D/src" expected_position="67" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/SceneLeak/src" expected_position="68" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/ShapeT3DTest/src" expected_position="69" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/SwingBalls/src" expected_position="70" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/SwingBalls/css" expected_position="71" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/SwingNodeMark/src" expected_position="72" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/TextTest/src" expected_position="73" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/TouchSuite/src" expected_position="74" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/VideoCube/src" expected_position="75" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/Visual3DTest/src" expected_position="76" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/WebLauncher/src" expected_position="77" />
-      <src_folder value="file://$MODULE_DIR$/../rt-closed/toys/ZBufferTest/src" expected_position="78" />
-    </src_description>
-  </component>
-  <component name="NewModuleRootManager" inherit-compiler-output="true">
-    <exclude-output />
-    <content url="file://$MODULE_DIR$/../rt-closed">
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/glass/UseCases/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/javafx-font-t2k/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/BenchShapes/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/Charts/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/ColorfulShapes/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/Controls/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/DirtyArea/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/embedded/ui-performance/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/Fire/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/FXBenchmark/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/FXTester/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/GUIMark2/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/GUIMark2-SE/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/GUIMark3/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/LayoutTest/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/ListView/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/MediaSystemTest/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/MouseResponseTest/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/NodeMemory/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/SDKSizeAnalyzer/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/SpiralText/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/Surface/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/performance/WebNodeTestSuite/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/porting/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/prism-bench/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/prism-bench/options" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/DragOverTest/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/ES2NativeTest/test" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/EvilFXApplet/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/FullScreen/FullScreenHelper/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/FullScreen/FullScreenRunner/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/FullScreen/FullScreenTest/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/FXMLDefaultClassLoader/test" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/GetWindowsTest/test" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/LoaderDisposeTest/test" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/MediaFuzzing/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/MediaFuzzing/test" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/MediaFuzzing/mediafiles" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/NativeHandleTest/test" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/PulseCallbackHelper/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/PulseCallbackTest/test" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/SandboxedClipboardTest/test" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/ServiceHelper/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/ServiceTest/test" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/TestUtils/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/tests/security/TransparentWindowsTest/test" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/a11y/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/BlendTest/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/CameraTests/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/CanvasTest/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/ColorCube/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/CursorFXTest/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/DirectoryBrowser/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/DragDropColor/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/DragDropText/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/DragDropWithControls/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/EarthCubeFX2/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/EmbeddedSwing/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/FX8-3DAPI/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/GlassRobotTest/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/Gradients/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/GridExamples/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/HelloBenchmark/perf" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/HelloFXCanvas/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/HelloWorld/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/NodeBlendTests/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/PickTest3D/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/SceneLeak/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/ShapeT3DTest/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/SwingBalls/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/SwingBalls/css" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/SwingNodeMark/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/TextTest/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/TouchSuite/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/VideoCube/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/Visual3DTest/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/WebLauncher/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/toys/ZBufferTest/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/../rt-closed/glass/glass-test/test" isTestSource="false" />
-      <excludeFolder url="file://$MODULE_DIR$/../rt-closed/toys/a11y" />
-    </content>
-    <orderEntry type="sourceFolder" forTests="false" />
-    <orderEntry type="module" module-name="rt" exported="" />
-    <orderEntry type="module-library">
-      <library name="benchmarks-2.1.1.jar">
-        <CLASSES>
-          <root url="jar://$MODULE_DIR$/../import/benchmarks-2.1.1/benchmarks-2.1.1.jar!/" />
-        </CLASSES>
-        <JAVADOC />
-        <SOURCES />
-      </library>
-    </orderEntry>
-    <orderEntry type="inheritedJdk" />
-    <orderEntry type="library" name="junit4" level="application" />
-    <orderEntry type="library" name="swt" level="application" />
-  </component>
-</module>
\ No newline at end of file
--- a/.idea/vcs.xml	Thu May 26 09:55:55 2016 -0700
+++ b/.idea/vcs.xml	Fri May 27 18:46:51 2016 -0400
@@ -1,8 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="VcsDirectoryMappings">
-    <mapping directory="$PROJECT_DIR$/../deploy" vcs="hg4idea" />
     <mapping directory="$PROJECT_DIR$" vcs="hg4idea" />
-    <mapping directory="$PROJECT_DIR$/../rt-closed" vcs="hg4idea" />
   </component>
-</project>
\ No newline at end of file
+</project>
--- a/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/XYDataVisualizer.java	Thu May 26 09:55:55 2016 -0700
+++ b/apps/samples/Ensemble8/src/app/java/ensemble/samplepage/XYDataVisualizer.java	Fri May 27 18:46:51 2016 -0400
@@ -238,19 +238,12 @@
         insertSeriesMenuitem.setOnAction((ActionEvent t) -> {
             TreeItem<XYChartItem<X, Y>> selectedItem = getSelectionModel().getSelectedItem();
             if (selectedItem == null) {
+                insertSeries(-1, chart.getData());
                 return;
             }
             Object value = selectedItem.getValue().getValue();
-            if (value instanceof ObservableList) {
-                ObservableList parentList = (ObservableList) value;
-                insertSeries(parentList.size(), parentList);
-            } else {
-                Object parentValue = selectedItem.getParent().getValue().getValue();
-                if (parentValue instanceof ObservableList) {
-                    ObservableList parentList = (ObservableList) parentValue;
-
-                    insertSeries(parentList.indexOf(value), parentList);
-                }
+            if (value instanceof Series) {
+                insertSeries(chart.getData().indexOf(value), chart.getData());
             }
         });
 
--- a/build.gradle	Thu May 26 09:55:55 2016 -0700
+++ b/build.gradle	Fri May 27 18:46:51 2016 -0400
@@ -1819,6 +1819,10 @@
     tasks.all {
         if (!COMPILE_SWT) it.enabled = false
     }
+
+    // javafx.swt is an automatic module
+    project.ext.buildModule = false
+
     dependencies {
         compile BUILD_SRC, project(":base"), project(":graphics")
         compile name: SWT_FILE_NAME
@@ -1860,7 +1864,7 @@
 
     dependencies {
         compile BUILD_SRC, project(":base"), project(":graphics"),
-                project(":controls"), project(":swt"), project(":swing")
+                project(":controls")
         testCompile project(":graphics").sourceSets.test.output
     }
     test {
@@ -3180,29 +3184,27 @@
     }
     jfxrt.dependsOn(jfxrtIndexTask)
 
-    // FIXME: JIGSAW -- update this for modules
-    def jfxswtTask = task("jfxswt$t.capital", type: Jar) {
+    def javafxSwtTask = task("javafxSwt$t.capital", type: Jar) {
         enabled = COMPILE_SWT
         group = "Basic"
-        description = "Creates the jfxswt.jar for the $t.name target"
-        archiveName = "build/${sdkDirName}/lib/jfxswt.jar";
+        description = "Creates the javafx-swt.jar for the $t.name target"
+        archiveName = "modules/swt/build/libs/javafx-swt.jar";
         includeEmptyDirs = false
         from("modules/swt/build/classes/main");
         include("**/javafx/embed/swt/**")
-        exclude("**/*.java");  // Builder java files are in build/classes and should be excluded
 
         dependsOn(subprojects.collect { project -> project.getTasksByName("assemble", true)});
     }
 
-    def jfxswtIndexTask = task("jfxswtIndex$t.capital") {
+    def javafxSwtIndexTask = task("javafxSwtIndex$t.capital") {
         //the following is a workaround for the lack of indexing in gradle 1.4 through 1.7
-        dependsOn(jfxswtTask)
+        dependsOn(javafxSwtTask)
 
         doLast() {
-            ant.jar (update: true, index: true, destfile: jfxswtTask.archiveName)
+            ant.jar (update: true, index: true, destfile: javafxSwtTask.archiveName)
         }
     }
-    jfxrt.dependsOn(jfxswtIndexTask)
+    jfxrt.dependsOn(javafxSwtIndexTask)
 
     def jmxTask = task ("jmx${t.capital}", type: Jar) {
         group = "Basic"
@@ -3264,7 +3266,7 @@
         }
         dependsOn(jmxTask);
         dependsOn(jfxrtIndexTask)
-        dependsOn(jfxswtIndexTask)
+        dependsOn(javafxSwtIndexTask)
         dependsOn(javadoc)
         dependsOn(src)
     }
@@ -3624,6 +3626,12 @@
         def webProject = project(":web");
         dependsOn(webProject.assemble)
 
+        def swtProject = project(":swt");
+        if (COMPILE_SWT) {
+            def javafxSwtIndexTask = tasks.getByName("javafxSwtIndex${t.capital}");
+            dependsOn(javafxSwtIndexTask)
+        }
+
         def packagerProject = project(":fxpackager");
         //dependsOn(packagerProject.assemble)
         dependsOn(packagerProject.jar)
@@ -3743,6 +3751,16 @@
                 }
             }
 
+            // FIXME: the following is a hack to workaround the fact that there
+            // is no way to deliver javafx-swt.jar other than in one of the
+            // existing runtime modules.
+            if (COMPILE_SWT) {
+                // Copy javafx-swt.jar to the javafx-graphics module lib dir
+                copy {
+                    from "${swtProject.buildDir}/libs/javafx-swt.jar"
+                    into "${graphicsProject.buildDir}/${platformPrefix}module-lib"
+                }
+            }
 
             // javafx.packager libraries and executable
 
--- a/modules/base/src/main/module-info/module-info.java	Thu May 26 09:55:55 2016 -0700
+++ b/modules/base/src/main/module-info/module-info.java	Fri May 27 18:46:51 2016 -0400
@@ -41,6 +41,7 @@
     exports com.sun.javafx to
         javafx.controls,
         javafx.graphics,
+        javafx.fxml,
         javafx.swing;
     exports com.sun.javafx.beans to
         javafx.controls,
--- a/modules/controls/src/main/java/com/sun/javafx/scene/control/ContextMenuContent.java	Thu May 26 09:55:55 2016 -0700
+++ b/modules/controls/src/main/java/com/sun/javafx/scene/control/ContextMenuContent.java	Fri May 27 18:46:51 2016 -0400
@@ -692,14 +692,14 @@
     private int findNext(int from) {
         for (int i = from; i < itemsContainer.getChildren().size(); i++) {
             Node n = itemsContainer.getChildren().get(i);
-            if (n instanceof MenuItemContainer) {
+            if (n instanceof MenuItemContainer && n.isVisible()) {
                 return i;
             }
         }
         // find from top
         for (int i = 0; i < from; i++) {
             Node n = itemsContainer.getChildren().get(i);
-            if (n instanceof MenuItemContainer) {
+            if (n instanceof MenuItemContainer && n.isVisible()) {
                 return i;
             }
         }
@@ -731,13 +731,13 @@
     private int findPrevious(int from) {
         for (int i = from; i >= 0; i--) {
             Node n = itemsContainer.getChildren().get(i);
-            if (n instanceof MenuItemContainer) {
+            if (n instanceof MenuItemContainer && n.isVisible()) {
                 return(i);
             }
         }
         for (int i = itemsContainer.getChildren().size() - 1 ; i > from; i--) {
             Node n = itemsContainer.getChildren().get(i);
-            if (n instanceof MenuItemContainer) {
+            if (n instanceof MenuItemContainer && n.isVisible()) {
                 return(i);
             }
         }
--- a/modules/controls/src/test/java/test/javafx/scene/control/ContextMenuTest.java	Thu May 26 09:55:55 2016 -0700
+++ b/modules/controls/src/test/java/test/javafx/scene/control/ContextMenuTest.java	Fri May 27 18:46:51 2016 -0400
@@ -118,10 +118,10 @@
 
     @Before public void setup() {
         // earlier test items
-        menuItem0 = new MenuItem();
-        menuItem1 = new MenuItem();
-        menuItem2 = new MenuItem();
-        menuItem3 = new MenuItem();
+        menuItem0 = new MenuItem("0");
+        menuItem1 = new MenuItem("1");
+        menuItem2 = new MenuItem("2");
+        menuItem3 = new MenuItem("3");
 
         contextMenu = new ContextMenu();
         contextMenuWithOneItem = new ContextMenu(menuItem0);
@@ -550,4 +550,29 @@
         assertEquals(subMenu, getShowingSubMenu(cm));
         assertEquals(subMenuItem1, getCurrentFocusedItem(cm));
     }
+
+    @Test public void test_navigateMenu_withInvisibleItems_rt40689() {
+        ContextMenu cm = contextMenuWithManyItems;
+        cm.show(anchorBtn, Side.RIGHT, 0, 0);
+
+        menuItem2.setVisible(false);
+
+        assertNotNull(getShowingMenuContent(cm));
+        assertEquals(-1, getCurrentFocusedIndex(cm));
+
+        // press down once to go to menuItem
+        pressDownKey(cm);
+        MenuItem focusedItem = getCurrentFocusedItem(cm);
+        assertEquals("Expected " + menuItem1.getText() + ", found " + focusedItem.getText(), menuItem1, focusedItem);
+
+        // press down again should skip invisible menuItem2 and proceed to menuItem3
+        pressDownKey(cm);
+        focusedItem = getCurrentFocusedItem(cm);
+        assertEquals("Expected " + menuItem3.getText() + ", found " + focusedItem.getText(), menuItem3, focusedItem);
+
+        // press up should skip invisible menuItem2 and proceed to menuItem1
+        pressUpKey(cm);
+        focusedItem = getCurrentFocusedItem(cm);
+        assertEquals("Expected " + menuItem1.getText() + ", found " + focusedItem.getText(), menuItem1, focusedItem);
+    }
 }
--- a/modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java	Thu May 26 09:55:55 2016 -0700
+++ b/modules/graphics/src/main/java/com/sun/javafx/application/PlatformImpl.java	Fri May 27 18:46:51 2016 -0400
@@ -25,34 +25,38 @@
 
 package com.sun.javafx.application;
 
+import static com.sun.javafx.FXPermissions.CREATE_TRANSPARENT_WINDOW_PERMISSION;
 import com.sun.javafx.PlatformUtil;
 import com.sun.javafx.css.StyleManager;
 import com.sun.javafx.runtime.SystemProperties;
-import static com.sun.javafx.FXPermissions.CREATE_TRANSPARENT_WINDOW_PERMISSION;
+import com.sun.javafx.tk.TKListener;
+import com.sun.javafx.tk.TKStage;
+import com.sun.javafx.tk.Toolkit;
+import com.sun.javafx.util.ModuleHelper;
 
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.security.AccessControlContext;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.CopyOnWriteArraySet;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
+import java.util.function.Predicate;
 
 import javafx.application.Application;
 import javafx.application.ConditionalFeature;
-
-import com.sun.javafx.tk.TKListener;
-import com.sun.javafx.tk.TKStage;
-import com.sun.javafx.tk.Toolkit;
 import javafx.beans.property.BooleanProperty;
 import javafx.beans.property.SimpleBooleanProperty;
 import javafx.scene.Scene;
-
-import java.security.AccessController;
-import java.security.PrivilegedAction;
+import javafx.util.FXPermission;
 
 public class PlatformImpl {
 
@@ -86,8 +90,17 @@
     private static Boolean hasMultiTouch;
     private static Boolean hasPointer;
     private static boolean isThreadMerged = false;
+    private static String applicationType = "";
     private static BooleanProperty accessibilityActive = new SimpleBooleanProperty();
 
+    private static final boolean DEBUG
+            = AccessController.doPrivileged((PrivilegedAction<Boolean>) ()
+                    -> Boolean.getBoolean("com.sun.javafx.application.debug"));
+
+    // Internal permission used by FXCanvas (SWT interop)
+    private static final FXPermission FXCANVAS_PERMISSION =
+            new FXPermission("accessFXCanvasInternals");
+
     /**
      * Set a flag indicating whether this application should show up in the
      * task bar. The default value is true.
@@ -171,6 +184,9 @@
         }
 
         AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+            applicationType = System.getProperty("com.sun.javafx.application.type");
+            if (applicationType == null) applicationType = "";
+
             contextual2DNavigation = Boolean.getBoolean(
                     "com.sun.javafx.isContextual2DNavigation");
             String s = System.getProperty("com.sun.javafx.twoLevelFocus");
@@ -206,6 +222,14 @@
             return null;
         });
 
+        if (DEBUG) {
+            System.err.println("PlatformImpl::startup : applicationType = "
+                    + applicationType);
+        }
+        if ("FXCanvas".equals(applicationType)) {
+            initFXCanvas();
+        }
+
         if (!taskbarApplication) {
             AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
                 System.setProperty("glass.taskbarApplication", "false");
@@ -239,6 +263,88 @@
         }
     }
 
+    // Pass certain system properties to glass via the device details Map
+    private static void initDeviceDetailsFXCanvas() {
+        // Read the javafx.embed.eventProc system property and store
+        // it in an entry in the glass Application device details map
+        final String eventProcProperty = "javafx.embed.eventProc";
+        final long eventProc = AccessController.doPrivileged((PrivilegedAction<Long>) () ->
+                Long.getLong(eventProcProperty, 0));
+        if (eventProc != 0L) {
+            // Set the value for the javafx.embed.eventProc
+            // key in the glass Application map
+            Map map = com.sun.glass.ui.Application.getDeviceDetails();
+            if (map == null) {
+                map = new HashMap();
+                com.sun.glass.ui.Application.setDeviceDetails(map);
+            }
+            if (map.get(eventProcProperty) == null) {
+                map.put(eventProcProperty, eventProc);
+            }
+        }
+    }
+
+    // Add the necessary qualified exports to the calling module
+    private static void addExportsToFXCanvas(Class<?> fxCanvasClass) {
+        final String[] swtNeededPackages = {
+            "com.sun.glass.ui",
+            "com.sun.javafx.cursor",
+            "com.sun.javafx.embed",
+            "com.sun.javafx.stage"
+        };
+
+        if (DEBUG) {
+            System.err.println("addExportsToFXCanvas: class = " + fxCanvasClass);
+        }
+        Object thisModule = ModuleHelper.getModule(PlatformImpl.class);
+        Object javafxSwtModule = ModuleHelper.getModule(fxCanvasClass);
+        for (String pkg : swtNeededPackages) {
+            if (DEBUG) {
+                System.err.println("add export of " + pkg + " from "
+                        + thisModule + " to " + javafxSwtModule);
+            }
+            ModuleHelper.addExports(thisModule, pkg, javafxSwtModule);
+        }
+    }
+
+    // FXCanvas-specific initialization
+    private static void initFXCanvas() {
+        // Verify that we have the appropriate permission
+        final SecurityManager sm = System.getSecurityManager();
+        if (sm != null) {
+            try {
+                sm.checkPermission(FXCANVAS_PERMISSION);
+            } catch (SecurityException ex) {
+                System.err.println("FXCanvas: no permission to access JavaFX internals");
+                ex.printStackTrace();
+                return;
+            }
+        }
+
+        // Find the calling class, ignoring any stack frames from FX application classes
+        Predicate<StackWalker.StackFrame> classFilter = f ->
+                !f.getClassName().startsWith("javafx.application.")
+                        && !f.getClassName().startsWith("com.sun.javafx.application.");
+
+        final StackWalker walker = AccessController.doPrivileged((PrivilegedAction<StackWalker>) () ->
+                StackWalker.getInstance(StackWalker.Option.RETAIN_CLASS_REFERENCE));
+        Optional<StackWalker.StackFrame> frame = walker.walk(
+                s -> s.filter(classFilter).findFirst());
+
+        if (frame.isPresent()) {
+            Class<?> caller = frame.get().getDeclaringClass();
+            if (DEBUG) {
+                System.err.println("callerClassName = " + caller);
+            }
+
+            // Verify that the caller is javafx.embed.swt.FXCanvas
+            if ("javafx.embed.swt.FXCanvas".equals(caller.getName())) {
+                initDeviceDetailsFXCanvas();
+                addExportsToFXCanvas(caller);
+            }
+        }
+    }
+
     private static void installFwEventQueue() {
         invokeSwingFXUtilsMethod("installFwEventQueue");
     }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/modules/graphics/src/main/java/com/sun/javafx/util/ModuleHelper.java	Fri May 27 18:46:51 2016 -0400
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2016, 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.util;
+
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
+public class ModuleHelper {
+    private static final Method getModuleMethod;
+    private static final Method addReadsMethod;
+    private static final Method addExportsMethod;
+
+    private static final boolean verbose;
+
+    static {
+        verbose = AccessController.doPrivileged((PrivilegedAction<Boolean>) () ->
+                Boolean.getBoolean("javafx.verbose"));
+
+        if (verbose) {
+            System.err.println("" + ModuleHelper.class.getName() + " : <clinit>");
+        }
+        Method mGetModule = null;
+        Method mAddReads = null;
+        Method mAddExports = null;
+        try {
+            mGetModule = Class.class.getMethod("getModule");
+            Class<?> moduleClass = mGetModule.getReturnType();
+            mAddReads = moduleClass.getMethod("addReads", moduleClass);
+            mAddExports = moduleClass.getMethod("addExports", String.class, moduleClass);
+        } catch (NoSuchMethodException e) {
+            // ignore
+        }
+        getModuleMethod = mGetModule;
+        addReadsMethod = mAddReads;
+        addExportsMethod = mAddExports;
+        if (verbose) {
+            System.err.println("getModuleMethod = " + getModuleMethod);
+            System.err.println("addReadsMethod = " + addReadsMethod);
+            System.err.println("addExportsMethod = " + addExportsMethod);
+        }
+    }
+
+    public static Object getModule(Class clazz) {
+        if (getModuleMethod != null) {
+            try {
+                return getModuleMethod.invoke(clazz);
+            } catch (IllegalAccessException | InvocationTargetException ex) {
+                throw new RuntimeException(ex);
+            }
+        }
+        return null;
+    }
+
+    public static void addReads(Object thisModule, Object targetModule) {
+        if (addReadsMethod != null) {
+            try {
+                addReadsMethod.invoke(thisModule, targetModule);
+            } catch (IllegalAccessException | InvocationTargetException ex) {
+                throw new RuntimeException(ex);
+            }
+        }
+    }
+
+    public static void addExports(Object thisModule, String packageName, Object targetModule) {
+        if (addExportsMethod != null) {
+            try {
+                addExportsMethod.invoke(thisModule, packageName, targetModule);
+            } catch (IllegalAccessException | InvocationTargetException ex) {
+                throw new RuntimeException(ex);
+            }
+        }
+    }
+
+}
--- a/modules/swt/src/main/java/javafx/embed/swt/FXCanvas.java	Thu May 26 09:55:55 2016 -0700
+++ b/modules/swt/src/main/java/javafx/embed/swt/FXCanvas.java	Fri May 27 18:46:51 2016 -0400
@@ -25,39 +25,37 @@
 
 package javafx.embed.swt;
 
+import com.sun.glass.ui.Application;
+import com.sun.glass.ui.Pixels;
+import com.sun.javafx.cursor.CursorFrame;
+import com.sun.javafx.cursor.CursorType;
+import com.sun.javafx.embed.AbstractEvents;
+import com.sun.javafx.embed.EmbeddedSceneDSInterface;
+import com.sun.javafx.embed.EmbeddedSceneDTInterface;
+import com.sun.javafx.embed.EmbeddedSceneInterface;
+import com.sun.javafx.embed.EmbeddedStageInterface;
+import com.sun.javafx.embed.HostInterface;
+import com.sun.javafx.stage.EmbeddedWindow;
+
 import java.lang.reflect.Field;
+import java.lang.reflect.Method;
 import java.nio.ByteBuffer;
 import java.nio.IntBuffer;
 import java.security.AccessController;
 import java.security.PrivilegedAction;
 import java.util.ArrayList;
 import java.util.Arrays;
-import java.util.HashMap;
 import java.util.HashSet;
-import java.util.Map;
 import java.util.Set;
+import java.util.concurrent.CountDownLatch;
 
-import com.sun.glass.ui.Application;
-import com.sun.glass.ui.Pixels;
-import com.sun.javafx.cursor.CursorFrame;
-import com.sun.javafx.cursor.CursorType;
-
-import com.sun.javafx.embed.EmbeddedSceneDSInterface;
-import com.sun.javafx.embed.HostDragStartListener;
 import javafx.application.Platform;
 import javafx.beans.NamedArg;
 import javafx.scene.Scene;
 import javafx.scene.input.TransferMode;
+import javafx.util.FXPermission;
 
-import com.sun.javafx.application.PlatformImpl;
-import com.sun.javafx.embed.AbstractEvents;
-import com.sun.javafx.embed.EmbeddedSceneDTInterface;
-import com.sun.javafx.embed.EmbeddedSceneInterface;
-import com.sun.javafx.embed.EmbeddedStageInterface;
-import com.sun.javafx.embed.HostInterface;
-import com.sun.javafx.stage.EmbeddedWindow;
-import java.lang.reflect.Method;
-
+import org.eclipse.swt.SWT;
 import org.eclipse.swt.dnd.DND;
 import org.eclipse.swt.dnd.DragSource;
 import org.eclipse.swt.dnd.DragSourceListener;
@@ -73,38 +71,30 @@
 import org.eclipse.swt.dnd.TransferData;
 import org.eclipse.swt.dnd.URLTransfer;
 import org.eclipse.swt.events.ControlEvent;
+import org.eclipse.swt.events.ControlListener;
 import org.eclipse.swt.events.DisposeEvent;
 import org.eclipse.swt.events.DisposeListener;
 import org.eclipse.swt.events.FocusEvent;
+import org.eclipse.swt.events.FocusListener;
 import org.eclipse.swt.events.KeyEvent;
 import org.eclipse.swt.events.KeyListener;
 import org.eclipse.swt.events.MenuDetectEvent;
-import org.eclipse.swt.events.MenuDetectListener;
 import org.eclipse.swt.events.MouseEvent;
 import org.eclipse.swt.events.MouseListener;
-import org.eclipse.swt.events.MouseMoveListener;
+import org.eclipse.swt.events.MouseTrackListener;
 import org.eclipse.swt.events.PaintEvent;
-import org.eclipse.swt.events.PaintListener;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.graphics.ImageData;
+import org.eclipse.swt.graphics.PaletteData;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.swt.graphics.RGB;
+import org.eclipse.swt.graphics.Rectangle;
 import org.eclipse.swt.widgets.Canvas;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Event;
 import org.eclipse.swt.widgets.Listener;
 import org.eclipse.swt.widgets.Shell;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.ImageData;
-import org.eclipse.swt.graphics.PaletteData;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.graphics.Rectangle;
-import org.eclipse.swt.graphics.GCData;
-import org.eclipse.swt.graphics.GC;
-import org.eclipse.swt.graphics.RGB;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.ControlListener;
-import org.eclipse.swt.events.FocusListener;
-import org.eclipse.swt.events.MouseTrackListener;
-import org.eclipse.swt.events.MouseWheelListener;
 
 /**
  * {@code FXCanvas} is a component to embed JavaFX content into
@@ -146,6 +136,10 @@
  */
 public class FXCanvas extends Canvas {
 
+    // Internal permission used by FXCanvas (SWT interop)
+    private static final FXPermission FXCANVAS_PERMISSION =
+            new FXPermission("accessFXCanvasInternals");
+
     private HostContainer hostContainer;
     private volatile EmbeddedWindow stage;
     private volatile Scene scene;
@@ -249,6 +243,7 @@
                 //Fail silently.  If we can't get the methods, then the current version of SWT has no retina support
             }
         }
+        initFx();
     }
 
     /**
@@ -256,7 +251,7 @@
      */
     public FXCanvas(@NamedArg("parent") Composite parent, @NamedArg("style") int style) {
         super(parent, style | SWT.NO_BACKGROUND);
-        initFx();
+        setApplicationName(Display.getAppName());
         hostContainer = new HostContainer();
         registerEventListeners();
         Display display = parent.getDisplay();
@@ -264,37 +259,51 @@
     }
 
     private static void initFx() {
+        // NOTE: no internal "com.sun.*" packages can be accessed until after
+        // the JavaFX platform is initialized. The list of needed internal
+        // packages is kept in the PlatformImpl class.
+        long eventProc = 0;
+        try {
+            Field field = Display.class.getDeclaredField("eventProc");
+            field.setAccessible(true);
+            if (field.getType() == int.class) {
+                eventProc = field.getInt(Display.getDefault());
+            } else {
+                if (field.getType() == long.class) {
+                    eventProc = field.getLong(Display.getDefault());
+                }
+            }
+        } catch (Throwable th) {
+            //Fail silently
+        }
+        final String eventProcStr = String.valueOf(eventProc);
+
         AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+            System.setProperty("com.sun.javafx.application.type", "FXCanvas");
             System.setProperty("javafx.embed.isEventThread", "true");
             System.setProperty("glass.win.uiScale", "100%");
             System.setProperty("glass.win.renderScale", "100%");
+            System.setProperty("javafx.embed.eventProc", eventProcStr);
             return null;
         });
-        Map map = Application.getDeviceDetails();
-        if (map == null) {
-            Application.setDeviceDetails(map = new HashMap());
+
+        final CountDownLatch startupLatch = new CountDownLatch(1);
+        AccessController.doPrivileged((PrivilegedAction<Void>) () -> {
+            Platform.startup(() -> {
+                startupLatch.countDown();
+            });
+            return null;
+        }, null, FXCANVAS_PERMISSION);
+
+        try {
+            startupLatch.await();
+        } catch (InterruptedException ex) {
+            throw new RuntimeException(ex);
         }
-        if (map.get("javafx.embed.eventProc") == null) {
-            long eventProc = 0;
-            try {
-                Field field = Display.class.getDeclaredField("eventProc");
-                field.setAccessible(true);
-                if (field.getType() == int.class) {
-                    eventProc = field.getLong(Display.getDefault());
-                } else {
-                    if (field.getType() == long.class) {
-                        eventProc = field.getLong(Display.getDefault());
-                    }
-                }
-            } catch (Throwable th) {
-                //Fail silently
-            }
-            map.put("javafx.embed.eventProc", eventProc);
-        }
-        // Note that calling PlatformImpl.startup more than once is OK
-        PlatformImpl.startup(() -> {
-            Application.GetApplication().setName(Display.getAppName());
-        });
+    }
+
+    private void setApplicationName(String name) {
+        Platform.runLater(()-> Application.GetApplication().setName(name));
     }
 
     static ArrayList<DropTarget> targets = new ArrayList<>();
--- a/modules/web/src/main/java/com/sun/javafx/fxml/builder/web/NodeBuilder.java	Thu May 26 09:55:55 2016 -0700
+++ b/modules/web/src/main/java/com/sun/javafx/fxml/builder/web/NodeBuilder.java	Fri May 27 18:46:51 2016 -0400
@@ -33,7 +33,6 @@
 @deprecated This class is deprecated and will be removed in the next version
 * @since JavaFX 2.0
 */
-@javax.annotation.Generated("Generated by javafx.builder.processor.BuilderProcessor")
 @Deprecated
 public abstract class NodeBuilder<B extends NodeBuilder<B>> {
     protected NodeBuilder() {
--- a/modules/web/src/main/java/com/sun/javafx/fxml/builder/web/ParentBuilder.java	Thu May 26 09:55:55 2016 -0700
+++ b/modules/web/src/main/java/com/sun/javafx/fxml/builder/web/ParentBuilder.java	Fri May 27 18:46:51 2016 -0400
@@ -33,7 +33,6 @@
 @deprecated This class is deprecated and will be removed in the next version
 * @since JavaFX 2.0
 */
-@javax.annotation.Generated("Generated by javafx.builder.processor.BuilderProcessor")
 @Deprecated
 public abstract class ParentBuilder<B extends ParentBuilder<B>> extends NodeBuilder<B> {
     protected ParentBuilder() {
--- a/modules/web/src/main/java/com/sun/javafx/webkit/prism/WCFontImpl.java	Thu May 26 09:55:55 2016 -0700
+++ b/modules/web/src/main/java/com/sun/javafx/webkit/prism/WCFontImpl.java	Fri May 27 18:46:51 2016 -0400
@@ -215,4 +215,8 @@
     public Object getPlatformFont() {
         return font;
     }
+
+    @Override public float getCapHeight() {
+        return getFontStrike().getMetrics().getCapHeight();
+    }
 }
--- a/modules/web/src/main/java/com/sun/webkit/graphics/WCFont.java	Thu May 26 09:55:55 2016 -0700
+++ b/modules/web/src/main/java/com/sun/webkit/graphics/WCFont.java	Fri May 27 18:46:51 2016 -0400
@@ -89,4 +89,6 @@
     public abstract float getLineGap();
 
     public abstract boolean hasUniformLineMetrics();
+
+    public abstract float getCapHeight();
 }
--- a/modules/web/src/main/java/com/sun/webkit/perf/WCFontPerfLogger.java	Thu May 26 09:55:55 2016 -0700
+++ b/modules/web/src/main/java/com/sun/webkit/perf/WCFontPerfLogger.java	Fri May 27 18:46:51 2016 -0400
@@ -155,4 +155,11 @@
         logger.suspendCount("HASUNIFORMLINEMETRICS");
         return res;
     }
+
+    public float getCapHeight() {
+        logger.resumeCount("GETCAPHEIGHT");
+        float res = fnt.getCapHeight();
+        logger.suspendCount("GETCAPHEIGHT");
+        return res;
+    }
 }
--- a/modules/web/src/main/native/Source/JavaScriptCore/runtime/JSGlobalObject.cpp	Thu May 26 09:55:55 2016 -0700
+++ b/modules/web/src/main/native/Source/JavaScriptCore/runtime/JSGlobalObject.cpp	Fri May 27 18:46:51 2016 -0400
@@ -395,9 +395,7 @@
     m_syntaxErrorConstructor.set(vm, this, NativeErrorConstructor::create(vm, this, nativeErrorStructure, nativeErrorPrototypeStructure, ASCIILiteral("SyntaxError")));
     m_typeErrorConstructor.set(vm, this, NativeErrorConstructor::create(vm, this, nativeErrorStructure, nativeErrorPrototypeStructure, ASCIILiteral("TypeError")));
     m_URIErrorConstructor.set(vm, this, NativeErrorConstructor::create(vm, this, nativeErrorStructure, nativeErrorPrototypeStructure, ASCIILiteral("URIError")));
-#if PLATFORM(JAVA) && ENABLE(PROMISES) // tav todo
     m_promiseConstructor.set(vm, this, JSPromiseConstructor::create(vm, JSPromiseConstructor::createStructure(vm, this, m_functionPrototype.get()), m_promisePrototype.get()));
-#endif
 
     m_objectPrototype->putDirectWithoutTransition(vm, vm.propertyNames->constructor, objectConstructor, DontEnum);
     m_functionPrototype->putDirectWithoutTransition(vm, vm.propertyNames->constructor, functionConstructor, DontEnum);
@@ -415,9 +413,7 @@
     putDirectWithoutTransition(vm, vm.propertyNames->SyntaxError, m_syntaxErrorConstructor.get(), DontEnum);
     putDirectWithoutTransition(vm, vm.propertyNames->TypeError, m_typeErrorConstructor.get(), DontEnum);
     putDirectWithoutTransition(vm, vm.propertyNames->URIError, m_URIErrorConstructor.get(), DontEnum);
-#if PLATFORM(JAVA) && ENABLE(PROMISES) // tav todo
     putDirectWithoutTransition(vm, vm.propertyNames->Promise, m_promiseConstructor.get(), DontEnum);
-#endif
 
 
 #define PUT_CONSTRUCTOR_FOR_SIMPLE_TYPE(capitalName, lowerName, properName, instanceType, jsName) \
@@ -751,9 +747,7 @@
     visitor.append(&thisObject->m_typeErrorConstructor);
     visitor.append(&thisObject->m_URIErrorConstructor);
     visitor.append(&thisObject->m_objectConstructor);
-#if PLATFORM(JAVA) && ENABLE(PROMISES) // tav todo
     visitor.append(&thisObject->m_promiseConstructor);
-#endif
 
     visitor.append(&thisObject->m_nullGetterFunction);
     visitor.append(&thisObject->m_nullSetterFunction);
--- a/modules/web/src/main/native/Source/WebCore/platform/graphics/java/FontDataJava.cpp	Thu May 26 09:55:55 2016 -0700
+++ b/modules/web/src/main/native/Source/WebCore/platform/graphics/java/FontDataJava.cpp	Fri May 27 18:46:51 2016 -0400
@@ -31,6 +31,12 @@
     m_fontMetrics.setXHeight(env->CallFloatMethod(*jFont, getXHeight_mID));
     CheckAndClearException(env);
 
+    static jmethodID getCapHeight_mID = env->GetMethodID(PG_GetFontClass(env),
+        "getCapHeight", "()F");
+    ASSERT(getCapHeight_mID);
+    m_fontMetrics.setCapHeight(env->CallFloatMethod(*jFont, getCapHeight_mID));
+    CheckAndClearException(env);
+
     static jmethodID getAscent_mID = env->GetMethodID(PG_GetFontClass(env),
         "getAscent", "()F");
     ASSERT(getAscent_mID);
--- a/modules/web/src/main/native/Source/WebCore/platform/java/WebPage.cpp	Thu May 26 09:55:55 2016 -0700
+++ b/modules/web/src/main/native/Source/WebCore/platform/java/WebPage.cpp	Fri May 27 18:46:51 2016 -0400
@@ -862,7 +862,7 @@
     pc.dragClient = new DragClientJava(jlself);
     pc.inspectorClient = new InspectorClientJava(jlself);
     pc.databaseProvider = &WebDatabaseProvider::singleton();
-    pc.storageNamespaceProvider = new WebStorageNamespaceProviderJava();
+    pc.storageNamespaceProvider = adoptRef(new WebStorageNamespaceProviderJava());
     pc.visitedLinkStore = VisitedLinkStoreJava::create();
 
     FrameLoaderClientJava* flc = new FrameLoaderClientJava(jlself);
--- a/modules/web/src/main/native/Source/cmake/OptionsJava.cmake	Thu May 26 09:55:55 2016 -0700
+++ b/modules/web/src/main/native/Source/cmake/OptionsJava.cmake	Fri May 27 18:46:51 2016 -0400
@@ -87,6 +87,7 @@
     #### Sqlite3-END ####
     find_package(LibXml2 2.8.0 REQUIRED)
     find_package(LibXslt 1.1.7 REQUIRED)
+    set(CMAKE_SKIP_RPATH TRUE)
 elseif (UNIX)
     #### ICU ####
     set(ICU_FOUND TRUE)
@@ -104,6 +105,7 @@
 
     find_package(LibXml2 2.7.0 REQUIRED)
     find_package(LibXslt 1.1.7 REQUIRED)
+    set(CMAKE_SKIP_RPATH TRUE)
 else ()
     message(FATAL_ERROR "Set thirdparty lib, inc paths")
 endif ()
@@ -144,7 +146,7 @@
     endif ()
 elseif(APPLE)
 else()
-    set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--export-dynamic")
+    set(CMAKE_SHARED_LINKER_FLAGS "-Wl,--export-dynamic -static-libstdc++")
 endif()
 
 WEBKIT_OPTION_BEGIN()