Very similar to https://github.com/openjdk/jfx/pull/1829, this PR removes the
questionable behavior that the `MouseEventFirer` may create a temporary `Stage`
for your `Node`.
Take the following test code:
Button button = new Button("Button");
MouseEventFirer mouse = new MouseEventFirer(button);
mouse.fireMousePressAndRelease();
mouse.fireMousePressAndRelease();
mouse.dispose()
What it does is to create a `Stage` in the first method. The second method does
not. This is not immediately clear.
That is also the reason why the dispose method exists. To MAY clean it up. Or
forget to call it.
This does not test a realistic scenario and the chance is quite high that
developers used that methods without even knowing that it contains such logic.
So the idea is to remove the StageLoader code from MouseEventFirer and rather
use it in the Test code before calling the Util methods.
For the example above, this would result in:
Button button = new Button("Button");
stageLoader = new StageLoader(button );
MouseEventFirer mouse = new MouseEventFirer(button);
mouse.fireMousePressAndRelease();
mouse.fireMousePressAndRelease();
There were only two real tests that did not have a `Stage` yet. So most of the
tests already had a good setup and this could never run.
-------------
Commit messages:
- MouseEventFirer should not create a temporary stage
Changes: https://git.openjdk.org/jfx/pull/2124/files
Webrev: https://webrevs.openjdk.org/?repo=jfx&pr=2124&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8380574
Stats: 126 lines in 13 files changed: 17 ins; 94 del; 15 mod
Patch: https://git.openjdk.org/jfx/pull/2124.diff
Fetch: git fetch https://git.openjdk.org/jfx.git pull/2124/head:pull/2124
PR: https://git.openjdk.org/jfx/pull/2124